diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..24989d3e --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +reagraph.dev diff --git a/assets/Api-af41c602.js b/assets/Api-af41c602.js new file mode 100644 index 00000000..4ae12fe0 --- /dev/null +++ b/assets/Api-af41c602.js @@ -0,0 +1,4 @@ +import{j as r}from"./jsx-runtime-5926aa06.js";import{M as e,A as i}from"./index-96a2bc4b.js";import{G as m}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{u as s}from"./index-bda0bad7.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";import"./index-6279214a.esm-cc44dd6d.js";import"./client-180092d5.js";function D(t={}){const{wrapper:o}=Object.assign({},s(),t.components);return o?r.jsx(o,Object.assign({},t,{children:r.jsx(n,{})})):n();function n(){const a=Object.assign({h1:"h1",a:"a"},s(),t.components);return r.jsxs(r.Fragment,{children:[r.jsx(e,{title:"Docs/API/GraphCanvas"}),` +`,r.jsx(a.h1,{id:"graphcanvas",children:r.jsx(a.a,{href:"https://github.com/reaviz/reagraph/blob/master/src/GraphCanvas.tsx",target:"_blank",rel:"nofollow noopener noreferrer",children:"GraphCanvas"})}),` +`,r.jsx(i,{of:m})]})}}export{D as default}; +//# sourceMappingURL=Api-af41c602.js.map diff --git a/assets/Api-af41c602.js.map b/assets/Api-af41c602.js.map new file mode 100644 index 00000000..396e2d2c --- /dev/null +++ b/assets/Api-af41c602.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Api-af41c602.js","sources":["../../docs/Api.mdx"],"sourcesContent":["import { Meta, Story, ArgsTable } from '@storybook/blocks';\nimport { GraphCanvas } from '../src';\n\n\n\n# [GraphCanvas](https://github.com/reaviz/reagraph/blob/master/src/GraphCanvas.tsx)\n\n"],"names":["MDXContent","props","MDXLayout","_provideComponents","_jsx","_createMdxContent","_components","_jsxs","_Fragment","Meta","ArgsTable","GraphCanvas"],"mappings":"qgBAKA,SAASA,EAAWC,EAAQ,GAAI,CAC9B,KAAM,CAAC,QAASC,CAAS,EAAI,OAAO,OAAO,CAAE,EAAEC,EAAoB,EAAEF,EAAM,UAAU,EACrF,OAAOC,EAAYE,EAAAA,IAAKF,EAAW,OAAO,OAAO,CAAE,EAAED,EAAO,CAC1D,SAAUG,EAAAA,IAAKC,EAAmB,EAAE,CACxC,CAAG,CAAC,EAAIA,IACN,SAASA,GAAoB,CAC3B,MAAMC,EAAc,OAAO,OAAO,CAChC,GAAI,KACJ,EAAG,GACJ,EAAEH,EAAoB,EAAEF,EAAM,UAAU,EACzC,OAAOM,EAAAA,KAAMC,EAAAA,SAAW,CACtB,SAAU,CAACJ,EAAI,IAACK,EAAM,CACpB,MAAO,sBACR,CAAA,EAAG;AAAA,EAAML,MAAKE,EAAY,GAAI,CAC7B,GAAI,cACJ,SAAUF,EAAAA,IAAKE,EAAY,EAAG,CAC5B,KAAM,qEACN,OAAQ,SACR,IAAK,+BACL,SAAU,aACpB,CAAS,CACT,CAAO,EAAG;AAAA,EAAMF,EAAI,IAACM,EAAW,CACxB,GAAIC,CACZ,CAAO,CAAC,CACR,CAAK,CACF,CACH"} \ No newline at end of file diff --git a/assets/Basic.story-1140d1ef.js b/assets/Basic.story-1140d1ef.js new file mode 100644 index 00000000..54880e80 --- /dev/null +++ b/assets/Basic.story-1140d1ef.js @@ -0,0 +1,74 @@ +import{j as e}from"./jsx-runtime-5926aa06.js";import{r as h}from"./index-ebeaab24.js";import{G as n,l as I}from"./RadialMenu-93524eec.js";import{s as d,a as r,r as L,b as y}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const P={title:"Demos/Basic",component:n},M=s=>e.jsx(n,{...s}),o=M.bind({});o.args={nodes:d,edges:r,cameraMode:"pan",theme:I,layoutType:"forceDirected2d",sizingType:"none",labelType:"auto"};const t=()=>e.jsx(n,{nodes:[{id:"1",label:"1"},{id:"2",label:"2"}],edges:[{source:"1",target:"2",id:"1-2",label:"1-2"},{source:"2",target:"1",id:"2-1",label:"2-1"}]}),i=()=>e.jsx(n,{nodes:d,edges:r,disabled:!0}),l=()=>e.jsx("div",{style:{display:"flex",flexWrap:"wrap"},children:L(10).map(s=>e.jsx("div",{style:{border:"solid 1px red",height:350,width:350,margin:15,position:"relative"},children:e.jsx(n,{disabled:!0,nodes:d,edges:r,animated:!1})},s))}),p=()=>{var u;const[s,m]=h.useState(d),[g,B]=h.useState(r);return e.jsxs("div",{children:[e.jsxs("div",{style:{zIndex:9,position:"absolute",top:15,right:15,background:"rgba(0, 0, 0, .5)",padding:1,color:"white"},children:[e.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{const a=y(0,1e3);m([...s,{id:`n-${a}`,label:`Node ${a}`}]),y(0,2)!==2&&B([...g,{id:`e-${a}`,source:s[s.length-1].id,target:`n-${a}`}])},children:"Add Node"}),e.jsxs("button",{style:{display:"block",width:"100%"},onClick:()=>{m(s.filter(a=>{var b;return a.id!==((b=s[0])==null?void 0:b.id)}))},children:["Remove Node ",(u=s[0])==null?void 0:u.id]})]}),e.jsx(n,{nodes:s,edges:g})]})},c=()=>e.jsx(n,{animated:!1,nodes:d,edges:r});var v,x,f;o.parameters={...o.parameters,docs:{...(v=o.parameters)==null?void 0:v.docs,source:{originalSource:"args => ",...(f=(x=o.parameters)==null?void 0:x.docs)==null?void 0:f.source}}};var N,j,S;t.parameters={...t.parameters,docs:{...(N=t.parameters)==null?void 0:N.docs,source:{originalSource:`() => `,...(S=(j=t.parameters)==null?void 0:j.docs)==null?void 0:S.source}}};var k,w,C;i.parameters={...i.parameters,docs:{...(k=i.parameters)==null?void 0:k.docs,source:{originalSource:"() => ",...(C=(w=i.parameters)==null?void 0:w.docs)==null?void 0:C.source}}};var E,G,$;l.parameters={...l.parameters,docs:{...(E=l.parameters)==null?void 0:E.docs,source:{originalSource:`() =>
+ {range(10).map(i =>
+ +
)} +
`,...($=(G=l.parameters)==null?void 0:G.docs)==null?void 0:$.source}}};var T,z,A;p.parameters={...p.parameters,docs:{...(T=p.parameters)==null?void 0:T.docs,source:{originalSource:`() => { + const [nodes, setNodes] = useState(simpleNodes); + const [edges, setEdges] = useState(simpleEdges); + return
+
+ + +
+ +
; +}`,...(A=(z=p.parameters)==null?void 0:z.docs)==null?void 0:A.source}}};var D,R,W;c.parameters={...c.parameters,docs:{...(D=c.parameters)==null?void 0:D.docs,source:{originalSource:"() => ",...(W=(R=c.parameters)==null?void 0:R.docs)==null?void 0:W.source}}};export{i as Disabled,p as LiveUpdates,l as Many,c as NoAnimation,o as Simple,t as TwoWayLink,P as default}; +//# sourceMappingURL=Basic.story-1140d1ef.js.map diff --git a/assets/Basic.story-1140d1ef.js.map b/assets/Basic.story-1140d1ef.js.map new file mode 100644 index 00000000..6aaf0229 --- /dev/null +++ b/assets/Basic.story-1140d1ef.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Basic.story-1140d1ef.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/Basics-d783c91e.js b/assets/Basics-d783c91e.js new file mode 100644 index 00000000..be662921 --- /dev/null +++ b/assets/Basics-d783c91e.js @@ -0,0 +1,49 @@ +import{j as e}from"./jsx-runtime-5926aa06.js";import{M as i,b as a}from"./index-96a2bc4b.js";import{u as o}from"./index-bda0bad7.js";import"./index-ebeaab24.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";function f(s={}){const{wrapper:r}=Object.assign({},o(),s.components);return r?e.jsx(r,Object.assign({},s,{children:e.jsx(t,{})})):t();function t(){const n=Object.assign({h1:"h1",h2:"h2",p:"p",code:"code",pre:"pre"},o(),s.components);return e.jsxs(e.Fragment,{children:[e.jsx(i,{title:"Docs/Getting Started/Basics"}),` +`,e.jsx(n.h1,{id:"basics",children:"Basics"}),` +`,e.jsx(n.h2,{id:"graph",children:"Graph"}),` +`,e.jsxs(n.p,{children:["Let's build our first graph by defining some ",e.jsx(n.code,{children:"nodes"})," and ",e.jsx(n.code,{children:"edges"}),`. +Nodes are the blocks and edges are the relationships between the blocks.`]}),` +`,e.jsxs(n.p,{children:["The data shapes require one property of ",e.jsx(n.code,{children:"id"})," but you can pass ",e.jsx(n.code,{children:"label"}),` +or `,e.jsx(n.code,{children:"icon"})," to them to show some sort of indication what it represents."]}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-js",children:`const nodes = [ +{ + id: '1', + label: '1' + }, + { + id: '2', + label: '2' + } +]; + +const edges = [ + { + source: '1', + target: '2', + id: '1-2', + label: '1-2' + }, + { + source: '2', + target: '1', + id: '2-1', + label: '2-1' + } +]; +`})}),` +`,e.jsxs(n.p,{children:["These shapes above will create two elements ",e.jsx(n.code,{children:"1"})," and ",e.jsx(n.code,{children:"2"}),` and create +a relationship between them. Once we have this defined, we can simply +pass these properties to the `,e.jsx(n.code,{children:"Canvas"})," and it will do the rest!"]}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-jsx",children:`import React from 'react'; +import { GraphCanvas } from 'reagraph'; + +export const MyDiagram = () => ( + +); +`})}),` +`,e.jsx(n.p,{children:"This will render a graph like this:"}),` +`,e.jsx("div",{style:{height:500,width:"100%",position:"relative",margin:"0 auto",background:"white",borderRadius:4,border:"1px solid rgba(0,0,0,.1)",boxShadow:"rgb(0 0 0 / 10%) 0 1px 3px 0",overflow:"hidden"},children:e.jsx(a,{id:"demos-basic--simple"})})]})}}export{f as default}; +//# sourceMappingURL=Basics-d783c91e.js.map diff --git a/assets/Basics-d783c91e.js.map b/assets/Basics-d783c91e.js.map new file mode 100644 index 00000000..fcda7006 --- /dev/null +++ b/assets/Basics-d783c91e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Basics-d783c91e.js","sources":["../../docs/Basics.mdx"],"sourcesContent":["import { Meta, Story } from '@storybook/blocks';\n\n\n\n# Basics\n\n## Graph\nLet's build our first graph by defining some `nodes` and `edges`.\nNodes are the blocks and edges are the relationships between the blocks.\n\nThe data shapes require one property of `id` but you can pass `label`\nor `icon` to them to show some sort of indication what it represents.\n\n```js\nconst nodes = [\n{\n id: '1',\n label: '1'\n },\n {\n id: '2',\n label: '2'\n }\n];\n\nconst edges = [\n {\n source: '1',\n target: '2',\n id: '1-2',\n label: '1-2'\n },\n {\n source: '2',\n target: '1',\n id: '2-1',\n label: '2-1'\n }\n];\n```\n\nThese shapes above will create two elements `1` and `2` and create\na relationship between them. Once we have this defined, we can simply\npass these properties to the `Canvas` and it will do the rest!\n\n```jsx\nimport React from 'react';\nimport { GraphCanvas } from 'reagraph';\n\nexport const MyDiagram = () => (\n \n);\n```\n\nThis will render a graph like this:\n\n
\n \n
\n"],"names":["MDXContent","props","MDXLayout","_provideComponents","_jsx","_createMdxContent","_components","_jsxs","_Fragment","Meta","Story"],"mappings":"kZAIA,SAASA,EAAWC,EAAQ,GAAI,CAC9B,KAAM,CAAC,QAASC,CAAS,EAAI,OAAO,OAAO,CAAE,EAAEC,EAAoB,EAAEF,EAAM,UAAU,EACrF,OAAOC,EAAYE,EAAAA,IAAKF,EAAW,OAAO,OAAO,CAAE,EAAED,EAAO,CAC1D,SAAUG,EAAAA,IAAKC,EAAmB,EAAE,CACxC,CAAG,CAAC,EAAIA,IACN,SAASA,GAAoB,CAC3B,MAAMC,EAAc,OAAO,OAAO,CAChC,GAAI,KACJ,GAAI,KACJ,EAAG,IACH,KAAM,OACN,IAAK,KACN,EAAEH,EAAoB,EAAEF,EAAM,UAAU,EACzC,OAAOM,EAAAA,KAAMC,EAAAA,SAAW,CACtB,SAAU,CAACJ,EAAI,IAACK,EAAM,CACpB,MAAO,6BACR,CAAA,EAAG;AAAA,EAAML,MAAKE,EAAY,GAAI,CAC7B,GAAI,SACJ,SAAU,QACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,GAAI,QACJ,SAAU,OACX,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC,gDAAiDF,MAAKE,EAAY,KAAM,CACjF,SAAU,OACX,CAAA,EAAG,QAASF,MAAKE,EAAY,KAAM,CAClC,SAAU,OACX,CAAA,EAAG;AAAA,yEAA6E,CAClF,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC,2CAA4CF,MAAKE,EAAY,KAAM,CAC5E,SAAU,IACX,CAAA,EAAG,qBAAsBF,MAAKE,EAAY,KAAM,CAC/C,SAAU,OACX,CAAA,EAAG;AAAA,KAASF,MAAKE,EAAY,KAAM,CAClC,SAAU,MACX,CAAA,EAAG,8DAA8D,CACnE,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,cACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACF,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC,+CAAgDF,MAAKE,EAAY,KAAM,CAChF,SAAU,GACX,CAAA,EAAG,QAASF,MAAKE,EAAY,KAAM,CAClC,SAAU,GACX,CAAA,EAAG;AAAA;AAAA,+BAAqHF,MAAKE,EAAY,KAAM,CAC9I,SAAU,QACX,CAAA,EAAG,2BAA2B,CAChC,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,eACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACF,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,EAAG,CAC5B,SAAU,qCAClB,CAAO,EAAG;AAAA,EAAMF,EAAI,IAAC,MAAO,CACpB,MAAO,CACL,OAAQ,IACR,MAAO,OACP,SAAU,WACV,OAAQ,SACR,WAAY,QACZ,aAAc,EACd,OAAQ,2BACR,UAAW,+BACX,SAAU,QACX,EACD,SAAUA,EAAI,IAACM,EAAO,CACpB,GAAI,qBACd,CAAS,CACT,CAAO,CAAC,CACR,CAAK,CACF,CACH"} \ No newline at end of file diff --git a/assets/ClickHighlightTypes.story-51cb544f.js b/assets/ClickHighlightTypes.story-51cb544f.js new file mode 100644 index 00000000..72e338c9 --- /dev/null +++ b/assets/ClickHighlightTypes.story-51cb544f.js @@ -0,0 +1,69 @@ +import{j as t}from"./jsx-runtime-5926aa06.js";import{r as i}from"./index-ebeaab24.js";import{G as r}from"./RadialMenu-93524eec.js";import{u as d}from"./useSelection-7210d826.js";import{c as s,d as n}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const B={title:"Demos/Highlight/Click",component:r},p=()=>{const e=i.useRef(null),{selections:o,onNodeClick:c,onCanvasClick:a}=d({ref:e,nodes:s,edges:n});return t.jsx(r,{ref:e,nodes:s,edges:n,selections:o,onNodeClick:c,onCanvasClick:a})},C=()=>{const e=i.useRef(null),{selections:o,onNodeClick:c,onCanvasClick:a}=d({ref:e,nodes:s,edges:n,focusOnSelect:!1});return t.jsx(r,{ref:e,nodes:s,edges:n,selections:o,onCanvasClick:a,onNodeClick:c})},f=()=>{const e=i.useRef(null),{selections:o,actives:c,onNodeClick:a,onCanvasClick:l}=d({ref:e,nodes:s,edges:n,pathSelectionType:"in"});return t.jsx(r,{ref:e,nodes:s,edges:n,selections:o,actives:c,onCanvasClick:l,onNodeClick:a})},u=()=>{const e=i.useRef(null),{selections:o,actives:c,onNodeClick:a,onCanvasClick:l}=d({ref:e,nodes:s,edges:n,pathSelectionType:"out"});return t.jsx(r,{ref:e,nodes:s,edges:n,selections:o,actives:c,onCanvasClick:l,onNodeClick:a})},g=()=>{const e=i.useRef(null),{selections:o,actives:c,onNodeClick:a,onCanvasClick:l}=d({ref:e,nodes:s,edges:n,pathSelectionType:"all"});return t.jsx(r,{ref:e,nodes:s,edges:n,selections:o,actives:c,onCanvasClick:l,onNodeClick:a})};var m,v,k;p.parameters={...p.parameters,docs:{...(m=p.parameters)==null?void 0:m.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + onNodeClick, + onCanvasClick + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges + }); + return ; +}`,...(k=(v=p.parameters)==null?void 0:v.docs)==null?void 0:k.source}}};var h,R,N;C.parameters={...C.parameters,docs:{...(h=C.parameters)==null?void 0:h.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + onNodeClick, + onCanvasClick + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + focusOnSelect: false + }); + return ; +}`,...(N=(R=C.parameters)==null?void 0:R.docs)==null?void 0:N.source}}};var x,S,E;f.parameters={...f.parameters,docs:{...(x=f.parameters)==null?void 0:x.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + actives, + onNodeClick, + onCanvasClick + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + pathSelectionType: 'in' + }); + return ; +}`,...(E=(S=f.parameters)==null?void 0:S.docs)==null?void 0:E.source}}};var G,y,j;u.parameters={...u.parameters,docs:{...(G=u.parameters)==null?void 0:G.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + actives, + onNodeClick, + onCanvasClick + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + pathSelectionType: 'out' + }); + return ; +}`,...(j=(y=u.parameters)==null?void 0:y.docs)==null?void 0:j.source}}};var T,O,w;g.parameters={...g.parameters,docs:{...(T=g.parameters)==null?void 0:T.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + actives, + onNodeClick, + onCanvasClick + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + pathSelectionType: 'all' + }); + return ; +}`,...(w=(O=g.parameters)==null?void 0:O.docs)==null?void 0:w.source}}};export{g as All,p as Direct,f as Inwards,C as NoFocus,u as Outwards,B as default}; +//# sourceMappingURL=ClickHighlightTypes.story-51cb544f.js.map diff --git a/assets/ClickHighlightTypes.story-51cb544f.js.map b/assets/ClickHighlightTypes.story-51cb544f.js.map new file mode 100644 index 00000000..fbad9143 --- /dev/null +++ b/assets/ClickHighlightTypes.story-51cb544f.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ClickHighlightTypes.story-51cb544f.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/Cluster.story-c7347a6a.js b/assets/Cluster.story-c7347a6a.js new file mode 100644 index 00000000..841b001f --- /dev/null +++ b/assets/Cluster.story-c7347a6a.js @@ -0,0 +1,2 @@ +import{j as a}from"./jsx-runtime-5926aa06.js";import{G as e}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{e as c,b as x,f as C}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const W={title:"Demos/Cluster",component:e},s=()=>a.jsx(e,{nodes:c,edges:[],clusterAttribute:"type"}),A=c.map(f=>({...f,size:x(0,50)})),r=()=>a.jsx(e,{nodes:A,edges:[],clusterAttribute:"type"}),t=()=>a.jsx(e,{nodes:c,edges:C,clusterAttribute:"type"}),o=()=>a.jsx(e,{nodes:A,edges:[],layoutType:"forceDirected3d",clusterAttribute:"type"});var p,d,u;s.parameters={...s.parameters,docs:{...(p=s.parameters)==null?void 0:p.docs,source:{originalSource:'() => ',...(u=(d=s.parameters)==null?void 0:d.docs)==null?void 0:u.source}}};var i,m,n;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:'() => ',...(n=(m=r.parameters)==null?void 0:m.docs)==null?void 0:n.source}}};var l,g,y;t.parameters={...t.parameters,docs:{...(l=t.parameters)==null?void 0:l.docs,source:{originalSource:'() => ',...(y=(g=t.parameters)==null?void 0:g.docs)==null?void 0:y.source}}};var b,h,S;o.parameters={...o.parameters,docs:{...(b=o.parameters)==null?void 0:b.docs,source:{originalSource:'() => ',...(S=(h=o.parameters)==null?void 0:h.docs)==null?void 0:S.source}}};export{t as Edges,s as Simple,r as Sizes,o as ThreeDimensions,W as default}; +//# sourceMappingURL=Cluster.story-c7347a6a.js.map diff --git a/assets/Cluster.story-c7347a6a.js.map b/assets/Cluster.story-c7347a6a.js.map new file mode 100644 index 00000000..45e3c27e --- /dev/null +++ b/assets/Cluster.story-c7347a6a.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Cluster.story-c7347a6a.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/Collapse-eebda050.js b/assets/Collapse-eebda050.js new file mode 100644 index 00000000..b078a49b --- /dev/null +++ b/assets/Collapse-eebda050.js @@ -0,0 +1,55 @@ +import{j as n}from"./jsx-runtime-5926aa06.js";import{M as a}from"./index-96a2bc4b.js";import"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{u as d}from"./index-bda0bad7.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";import"./index-6279214a.esm-cc44dd6d.js";import"./client-180092d5.js";function b(s={}){const{wrapper:o}=Object.assign({},d(),s.components);return o?n.jsx(o,Object.assign({},s,{children:n.jsx(t,{})})):t();function t(){const e=Object.assign({h1:"h1",p:"p",pre:"pre",code:"code"},d(),s.components);return n.jsxs(n.Fragment,{children:[n.jsx(a,{title:"Docs/Advanced/Collapse"}),` +`,n.jsx(e.h1,{id:"collapse",children:"Collapse"}),` +`,n.jsx(e.p,{children:`reagraph supports the ability to expand and collapse nodes and edges. +To collapse a node and its edges, simply pass a array of node ids to +the graph component like:`}),` +`,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-jsx",children:`const App = () => { + const nodes = []; + const edges = []; + + // List of node ids + const [collapsed, setCollapsed] = useState([]); + + return ( + + ); +}; +`})}),` +`,n.jsxs(e.p,{children:["For more complex scenarios, you expose a ",n.jsx(e.code,{children:"useCollapse"})," hook:"]}),` +`,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-jsx",children:` +const App = () => { + const nodes = []; + const edges = []; + const [collapsedNodeIds, setCollapsedNodeIds] = useState([]); + + // Helper hook + const { getExpandPathIds } = useCollapse({ + collapsedNodeIds, + nodes, + edges + }); + + function onExpandClick() { + // Use the helper method to determine the ids to expand + setCollapsedNodeIds(getExpandPathIds('some node id')) + } + + return ( + <> + + + + ); +}; +`})})]})}}export{b as default}; +//# sourceMappingURL=Collapse-eebda050.js.map diff --git a/assets/Collapse-eebda050.js.map b/assets/Collapse-eebda050.js.map new file mode 100644 index 00000000..1e577329 --- /dev/null +++ b/assets/Collapse-eebda050.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Collapse-eebda050.js","sources":["../../docs/Collapse.mdx"],"sourcesContent":["import { Meta, Story, ArgsTable } from '@storybook/blocks';\nimport { GraphCanvas } from '../src';\n\n\n\n# Collapse\nreagraph supports the ability to expand and collapse nodes and edges.\nTo collapse a node and its edges, simply pass a array of node ids to\nthe graph component like:\n\n```jsx\nconst App = () => {\n const nodes = [];\n const edges = [];\n\n // List of node ids\n const [collapsed, setCollapsed] = useState([]);\n\n return (\n \n );\n};\n```\n\nFor more complex scenarios, you expose a `useCollapse` hook:\n\n```jsx\n\nconst App = () => {\n const nodes = [];\n const edges = [];\n const [collapsedNodeIds, setCollapsedNodeIds] = useState([]);\n\n // Helper hook\n const { getExpandPathIds } = useCollapse({\n collapsedNodeIds,\n nodes,\n edges\n });\n\n function onExpandClick() {\n // Use the helper method to determine the ids to expand\n setCollapsedNodeIds(getExpandPathIds('some node id'))\n }\n\n return (\n <>\n \n \n \n );\n};\n```\n"],"names":["MDXContent","props","MDXLayout","_provideComponents","_jsx","_createMdxContent","_components","_jsxs","_Fragment","Meta"],"mappings":"kfAKA,SAASA,EAAWC,EAAQ,GAAI,CAC9B,KAAM,CAAC,QAASC,CAAS,EAAI,OAAO,OAAO,CAAE,EAAEC,EAAoB,EAAEF,EAAM,UAAU,EACrF,OAAOC,EAAYE,EAAAA,IAAKF,EAAW,OAAO,OAAO,CAAE,EAAED,EAAO,CAC1D,SAAUG,EAAAA,IAAKC,EAAmB,EAAE,CACxC,CAAG,CAAC,EAAIA,IACN,SAASA,GAAoB,CAC3B,MAAMC,EAAc,OAAO,OAAO,CAChC,GAAI,KACJ,EAAG,IACH,IAAK,MACL,KAAM,MACP,EAAEH,EAAoB,EAAEF,EAAM,UAAU,EACzC,OAAOM,EAAAA,KAAMC,EAAAA,SAAW,CACtB,SAAU,CAACJ,EAAI,IAACK,EAAM,CACpB,MAAO,wBACR,CAAA,EAAG;AAAA,EAAML,MAAKE,EAAY,GAAI,CAC7B,GAAI,WACJ,SAAU,UACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,EAAG,CAC5B,SAAU;AAAA;AAAA,0BACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,eACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACF,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC,4CAA6CF,MAAKE,EAAY,KAAM,CAC7E,SAAU,aACX,CAAA,EAAG,QAAQ,CACb,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,eACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACT,CAAO,CAAC,CACR,CAAK,CACF,CACH"} \ No newline at end of file diff --git a/assets/Collapsible.story-a3d4744a.js b/assets/Collapsible.story-a3d4744a.js new file mode 100644 index 00000000..8346a3ec --- /dev/null +++ b/assets/Collapsible.story-a3d4744a.js @@ -0,0 +1,174 @@ +import{j as e}from"./jsx-runtime-5926aa06.js";import{r as p}from"./index-ebeaab24.js";import{g as x,a as S,G as N,R as A}from"./RadialMenu-93524eec.js";import{p as u,g as h}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const R=({collapsedNodeIds:s=[],nodes:l=[],edges:n=[]})=>{const t=p.useCallback(a=>{const{visibleNodes:o}=x({nodes:l,edges:n,collapsedIds:s});return!o.map(r=>r.id).includes(a)},[s,n,l]),d=p.useCallback(a=>{const{visibleEdges:o}=x({nodes:l,edges:n,collapsedIds:s}),i=o.map(r=>r.id);return S({nodeId:a,edges:n,visibleEdgeIds:i})},[s,n,l]);return{getIsCollapsed:t,getExpandPathIds:d}},H={title:"Demos/Collapsible",component:N},b=()=>{const[s,l]=p.useState(null),[n,t]=p.useState(["n-2"]);return e.jsxs("div",{style:{position:"absolute",top:0,bottom:0,left:0,right:0},children:[e.jsxs("div",{style:{zIndex:9,position:"absolute",top:15,right:15,background:"rgba(0, 0, 0, .5)",padding:10,color:"white"},children:[e.jsx("h3",{children:"Node Actions"}),s?e.jsxs(e.Fragment,{children:["Selected: ",s.node.id,e.jsx("br",{}),e.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{n.includes(s.node.id)||t([...n,s.node.id])},children:"Collapse Node"}),e.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{n.includes(s.node.id)&&t(n.filter(d=>d!==s.node.id))},children:"Expand Node"})]}):e.jsx(e.Fragment,{children:"Click a node to see options"}),e.jsx("h3",{children:"Collapsed Nodes"}),e.jsx("code",{children:e.jsx("pre",{children:JSON.stringify(n,null,2)})})]}),e.jsx(N,{collapsedNodeIds:n,nodes:u,edges:h,onNodeClick:(d,a)=>l({node:d,props:a})})]})},C=()=>e.jsx(N,{nodes:u,edges:h,contextMenu:({data:s,canCollapse:l,isCollapsed:n,onCollapse:t,onClose:d})=>e.jsx(A,{onClose:d,items:[{label:"Add Node",onClick:()=>{alert("Add a node"),d()}},{label:"Remove",onClick:()=>{alert("Remove the node"),d()}},...l?[{label:n?"Expand":"Collapse",onClick:t}]:[]]})}),g=()=>{const[s,l]=p.useState(null),[n,t]=p.useState(["n-2"]),{getExpandPathIds:d}=R({collapsedNodeIds:n,nodes:u,edges:h}),a=p.useMemo(()=>{const{visibleNodes:o}=x({collapsedIds:n,nodes:u,edges:h}),i=o.map(c=>c.id);return u.filter(c=>!i.includes(c.id)).map(c=>c.id)},[n]);return e.jsxs("div",{style:{position:"absolute",top:0,bottom:0,left:0,right:0},children:[e.jsxs("div",{style:{zIndex:9,position:"absolute",top:15,right:15,background:"rgba(0, 0, 0, .5)",padding:10,color:"white"},children:[e.jsx("h3",{children:"Node Actions"}),s?e.jsxs(e.Fragment,{children:["Selected: ",s.node.id,e.jsx("br",{}),e.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{n.includes(s.node.id)||t([...n,s.node.id])},children:"Collapse Node"}),e.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{n.includes(s.node.id)&&t(n.filter(o=>o!==s.node.id))},children:"Expand Node"})]}):e.jsx(e.Fragment,{children:"Click a node to see options"}),e.jsx("h3",{children:"Collapsed Nodes"}),e.jsx("code",{children:e.jsx("pre",{children:JSON.stringify(n,null,2)})}),e.jsx("h3",{children:"Hidden Nodes"}),e.jsx("ul",{children:a.map(o=>e.jsxs("li",{children:[o,e.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{const i=d(o),r=n.filter(c=>!i.includes(c));t(r)},children:"View Node"})]},o))})]}),e.jsx(N,{collapsedNodeIds:n,nodes:u,edges:h,onNodeClick:(o,i)=>l({node:o,props:i})})]})};var v,m,k;b.parameters={...b.parameters,docs:{...(v=b.parameters)==null?void 0:v.docs,source:{originalSource:`() => { + const [active, setActive] = useState(null); + const [collapsed, setCollapsed] = useState(['n-2']); + return
+
+

Node Actions

+ {active ? <> + Selected: {active.node.id} +
+ + + : <> + Click a node to see options + } +

Collapsed Nodes

+ +
+          {JSON.stringify(collapsed, null, 2)}
+        
+
+
+ setActive({ + node, + props + })} /> +
; +}`,...(k=(m=b.parameters)==null?void 0:m.docs)==null?void 0:k.source}}};var y,j,f;C.parameters={...C.parameters,docs:{...(y=C.parameters)==null?void 0:y.docs,source:{originalSource:`() => { + alert('Add a node'); + onClose(); + } +}, { + label: 'Remove', + onClick: () => { + alert('Remove the node'); + onClose(); + } +}, ...(canCollapse ? [{ + label: isCollapsed ? 'Expand' : 'Collapse', + onClick: onCollapse +}] : [])]} />} />`,...(f=(j=C.parameters)==null?void 0:j.docs)==null?void 0:f.source}}};var I,E,w;g.parameters={...g.parameters,docs:{...(I=g.parameters)==null?void 0:I.docs,source:{originalSource:`() => { + const [active, setActive] = useState(null); + const [collapsed, setCollapsed] = useState(['n-2']); + const { + getExpandPathIds + } = useCollapse({ + collapsedNodeIds: collapsed, + nodes: parentNodes, + edges: parentEdges + }); + const hiddenNodeIds = useMemo(() => { + const { + visibleNodes + } = getVisibleEntities({ + collapsedIds: collapsed, + nodes: parentNodes, + edges: parentEdges + }); + const visibleNodeIds = visibleNodes.map(n => n.id); + const hiddenNodes = parentNodes.filter(n => !visibleNodeIds.includes(n.id)); + return hiddenNodes.map(n => n.id); + }, [collapsed]); + return
+
+

Node Actions

+ {active ? <> + Selected: {active.node.id} +
+ + + : <> + Click a node to see options + } +

Collapsed Nodes

+ +
+          {JSON.stringify(collapsed, null, 2)}
+        
+
+

Hidden Nodes

+
    + {hiddenNodeIds.map(id =>
  • + {id} + +
  • )} +
+
+ setActive({ + node, + props + })} /> +
; +}`,...(w=(E=g.parameters)==null?void 0:E.docs)==null?void 0:w.source}}};export{b as Basic,g as ExpandToHiddenNode,C as RadialContextMenu,H as default}; +//# sourceMappingURL=Collapsible.story-a3d4744a.js.map diff --git a/assets/Collapsible.story-a3d4744a.js.map b/assets/Collapsible.story-a3d4744a.js.map new file mode 100644 index 00000000..1d1abd12 --- /dev/null +++ b/assets/Collapsible.story-a3d4744a.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Collapsible.story-a3d4744a.js","sources":["../../src/collapse/useCollapse.ts"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { GraphEdge, GraphNode } from 'types';\nimport { getExpandPath, getVisibleEntities } from './utils';\n\nexport interface UseCollapseProps {\n /**\n * Current collapsed node ids.\n */\n collapsedNodeIds?: string[];\n\n /**\n * Node data.\n */\n nodes?: GraphNode[];\n\n /**\n * Edge data.\n */\n edges?: GraphEdge[];\n}\n\nexport interface CollpaseResult {\n /**\n * Determine if a node is currently collapsed\n */\n getIsCollapsed: (nodeId: string) => boolean;\n\n /**\n * Return a list of ids required to expand in order to view the provided node\n */\n getExpandPathIds: (nodeId: string) => string[];\n}\n\nexport const useCollapse = ({\n collapsedNodeIds = [],\n nodes = [],\n edges = []\n}: UseCollapseProps): CollpaseResult => {\n const getIsCollapsed = useCallback(\n (nodeId: string) => {\n const { visibleNodes } = getVisibleEntities({\n nodes,\n edges,\n collapsedIds: collapsedNodeIds\n });\n const visibleNodeIds = visibleNodes.map(n => n.id);\n\n return !visibleNodeIds.includes(nodeId);\n },\n [collapsedNodeIds, edges, nodes]\n );\n\n const getExpandPathIds = useCallback(\n (nodeId: string) => {\n const { visibleEdges } = getVisibleEntities({\n nodes,\n edges,\n collapsedIds: collapsedNodeIds\n });\n const visibleEdgeIds = visibleEdges.map(e => e.id);\n\n return getExpandPath({ nodeId, edges, visibleEdgeIds });\n },\n [collapsedNodeIds, edges, nodes]\n );\n\n return {\n getIsCollapsed,\n getExpandPathIds\n };\n};\n"],"names":["useCollapse","collapsedNodeIds","nodes","edges","getIsCollapsed","useCallback","nodeId","visibleNodes","getVisibleEntities","n","getExpandPathIds","visibleEdges","visibleEdgeIds","e","getExpandPath"],"mappings":"sUAiCO,MAAMA,EAAc,CAAC,CAC1B,iBAAAC,EAAmB,CAAC,EACpB,MAAAC,EAAQ,CAAC,EACT,MAAAC,EAAQ,CAAC,CACX,IAAwC,CACtC,MAAMC,EAAiBC,EAAA,YACpBC,GAAmB,CACZ,KAAA,CAAE,aAAAC,CAAa,EAAIC,EAAmB,CAC1C,MAAAN,EACA,MAAAC,EACA,aAAcF,CAAA,CACf,EAGM,MAAA,CAFgBM,EAAa,IAAIE,GAAKA,EAAE,EAAE,EAE1B,SAASH,CAAM,CACxC,EACA,CAACL,EAAkBE,EAAOD,CAAK,CAAA,EAG3BQ,EAAmBL,EAAA,YACtBC,GAAmB,CACZ,KAAA,CAAE,aAAAK,CAAa,EAAIH,EAAmB,CAC1C,MAAAN,EACA,MAAAC,EACA,aAAcF,CAAA,CACf,EACKW,EAAiBD,EAAa,IAAIE,GAAKA,EAAE,EAAE,EAEjD,OAAOC,EAAc,CAAE,OAAAR,EAAQ,MAAAH,EAAO,eAAAS,CAAgB,CAAA,CACxD,EACA,CAACX,EAAkBE,EAAOD,CAAK,CAAA,EAG1B,MAAA,CACL,eAAAE,EACA,iBAAAM,CAAA,CAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/Color-3YIJY6X7-91193310.js b/assets/Color-3YIJY6X7-91193310.js new file mode 100644 index 00000000..883f0eb8 --- /dev/null +++ b/assets/Color-3YIJY6X7-91193310.js @@ -0,0 +1,2 @@ +import{f as M,g as ue,T as Me,F as Ce,I as $e,h as Ne}from"./index-96a2bc4b.js";import{R as h,r as b,g as fe}from"./index-ebeaab24.js";import{i as J,a as Oe,_ as Ie}from"./index-84cea9da.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-356e4a49.js";var Se=/\s/;function Re(e){for(var t=e.length;t--&&Se.test(e.charAt(t)););return t}var Te=Re,je=Te,Fe=/^\s+/;function ze(e){return e&&e.slice(0,je(e)+1).replace(Fe,"")}var He=ze,Pe=He,ne=J,Le=Oe,re=0/0,qe=/^[-+]0x[0-9a-f]+$/i,Be=/^0b[01]+$/i,We=/^0o[0-7]+$/i,Xe=parseInt;function De(e){if(typeof e=="number")return e;if(Le(e))return re;if(ne(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=ne(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Pe(e);var n=Be.test(e);return n||We.test(e)?Xe(e.slice(2),n?2:8):qe.test(e)?re:+e}var Ke=De;function $(){return($=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function K(e){var t=b.useRef(e),n=b.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var S=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:p.buttons>0)&&o.current?a(oe(o.current,p,l.current)):_(!1)},N=function(){return _(!1)};function _(p){var m=i.current,x=V(o.current),C=p?x.addEventListener:x.removeEventListener;C(m?"touchmove":"mousemove",k),C(m?"touchend":"mouseup",N)}return[function(p){var m=p.nativeEvent,x=o.current;if(x&&(ae(m),!function(X,R){return R&&!j(X)}(m,i.current)&&x)){if(j(m)){i.current=!0;var C=m.changedTouches||[];C.length&&(l.current=C[0].identifier)}x.focus(),a(oe(x,m,l.current)),_(!0)}},function(p){var m=p.which||p.keyCode;m<37||m>40||(p.preventDefault(),s({left:m===39?.05:m===37?-.05:0,top:m===40?.05:m===38?-.05:0}))},_]},[s,a]),d=c[0],f=c[1],g=c[2];return b.useEffect(function(){return g},[g]),h.createElement("div",$({},r,{onTouchStart:d,onMouseDown:d,className:"react-colorful__interactive",ref:o,onKeyDown:f,tabIndex:0,role:"slider"}))}),z=function(e){return e.filter(Boolean).join(" ")},ee=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,a=z(["react-colorful__pointer",e.className]);return h.createElement("div",{className:a,style:{top:100*o+"%",left:100*n+"%"}},h.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},y=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},Ve={grad:.9,turn:360,rad:360/(2*Math.PI)},Ae=function(e){return ge(A(e))},A=function(e){return e[0]==="#"&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?y(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:e.length===8?y(parseInt(e.substring(6,8),16)/255,2):1}},Ge=function(e,t){return t===void 0&&(t="deg"),Number(e)*(Ve[t]||1)},Ue=function(e){var t=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return t?Ye({h:Ge(t[1],t[2]),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)}):{h:0,s:0,v:0,a:1}},Ye=function(e){var t=e.s,n=e.l;return{h:e.h,s:(t*=(n<50?n:100-n)/100)>0?2*t/(n+t)*100:0,v:n+t,a:e.a}},Je=function(e){return Ze(de(e))},he=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:y(e.h),s:y(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:y(o/2),a:y(r,2)}},G=function(e){var t=he(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},q=function(e){var t=he(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},de=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var a=Math.floor(t),s=r*(1-n),l=r*(1-(t-a)*n),i=r*(1-(1-t+a)*n),c=a%6;return{r:y(255*[r,l,s,s,i,r][c]),g:y(255*[i,r,r,l,s,s][c]),b:y(255*[s,s,i,r,r,l][c]),a:y(o,2)}},Qe=function(e){var t=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return t?ge({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):{h:0,s:0,v:0,a:1}},H=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},Ze=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,a=o<1?H(y(255*o)):"";return"#"+H(t)+H(n)+H(r)+a},ge=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,a=Math.max(t,n,r),s=a-Math.min(t,n,r),l=s?a===t?(n-r)/s:a===n?2+(r-t)/s:4+(t-n)/s:0;return{h:y(60*(l<0?l+6:l)),s:y(a?s/a*100:0),v:y(a/255*100),a:o}},me=h.memo(function(e){var t=e.hue,n=e.onChange,r=z(["react-colorful__hue",e.className]);return h.createElement("div",{className:r},h.createElement(Z,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:S(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":y(t),"aria-valuemax":"360","aria-valuemin":"0"},h.createElement(ee,{className:"react-colorful__hue-pointer",left:t/360,color:G({h:t,s:100,v:100,a:1})})))}),be=h.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:G({h:t.h,s:100,v:100,a:1})};return h.createElement("div",{className:"react-colorful__saturation",style:r},h.createElement(Z,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:S(t.s+100*o.left,0,100),v:S(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+y(t.s)+"%, Brightness "+y(t.v)+"%"},h.createElement(ee,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:G(t)})))}),ve=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0},pe=function(e,t){return e.replace(/\s/g,"")===t.replace(/\s/g,"")},et=function(e,t){return e.toLowerCase()===t.toLowerCase()||ve(A(e),A(t))};function ye(e,t,n){var r=K(n),o=b.useState(function(){return e.toHsva(t)}),a=o[0],s=o[1],l=b.useRef({color:t,hsva:a});b.useEffect(function(){if(!e.equal(t,l.current.color)){var c=e.toHsva(t);l.current={hsva:c,color:t},s(c)}},[t,e]),b.useEffect(function(){var c;ve(a,l.current.hsva)||e.equal(c=e.fromHsva(a),l.current.color)||(l.current={hsva:a,color:c},r(c))},[a,e,r]);var i=b.useCallback(function(c){s(function(d){return Object.assign({},d,c)})},[]);return[a,i]}var tt=typeof window<"u"?b.useLayoutEffect:b.useEffect,nt=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},se=new Map,xe=function(e){tt(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!se.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,se.set(t,n);var r=nt();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},rt=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,a=e.onChange,s=Q(e,["className","colorModel","color","onChange"]),l=b.useRef(null);xe(l);var i=ye(n,o,a),c=i[0],d=i[1],f=z(["react-colorful",t]);return h.createElement("div",$({},s,{ref:l,className:f}),h.createElement(be,{hsva:c,onChange:d}),h.createElement(me,{hue:c.h,onChange:d,className:"react-colorful__last-control"}))},ot={defaultColor:"000",toHsva:Ae,fromHsva:function(e){return Je({h:e.h,s:e.s,v:e.v,a:1})},equal:et},at=function(e){return h.createElement(rt,$({},e,{colorModel:ot}))},st=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+q(Object.assign({},n,{a:0}))+", "+q(Object.assign({},n,{a:1}))+")"},a=z(["react-colorful__alpha",t]),s=y(100*n.a);return h.createElement("div",{className:a},h.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),h.createElement(Z,{onMove:function(l){r({a:l.left})},onKey:function(l){r({a:S(n.a+l.left)})},"aria-label":"Alpha","aria-valuetext":s+"%","aria-valuenow":s,"aria-valuemin":"0","aria-valuemax":"100"},h.createElement(ee,{className:"react-colorful__alpha-pointer",left:n.a,color:q(n)})))},we=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,a=e.onChange,s=Q(e,["className","colorModel","color","onChange"]),l=b.useRef(null);xe(l);var i=ye(n,o,a),c=i[0],d=i[1],f=z(["react-colorful",t]);return h.createElement("div",$({},s,{ref:l,className:f}),h.createElement(be,{hsva:c,onChange:d}),h.createElement(me,{hue:c.h,onChange:d}),h.createElement(st,{hsva:c,onChange:d,className:"react-colorful__last-control"}))},lt={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:Ue,fromHsva:q,equal:pe},it=function(e){return h.createElement(we,$({},e,{colorModel:lt}))},ct={defaultColor:"rgba(0, 0, 0, 1)",toHsva:Qe,fromHsva:function(e){var t=de(e);return"rgba("+t.r+", "+t.g+", "+t.b+", "+t.a+")"},equal:pe},ut=function(e){return h.createElement(we,$({},e,{colorModel:ct}))},ft={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};const F=ft,ke={};for(const e of Object.keys(F))ke[F[e]]=e;const u={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};var _e=u;for(const e of Object.keys(u)){if(!("channels"in u[e]))throw new Error("missing channels property: "+e);if(!("labels"in u[e]))throw new Error("missing channel labels property: "+e);if(u[e].labels.length!==u[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:n}=u[e];delete u[e].channels,delete u[e].labels,Object.defineProperty(u[e],"channels",{value:t}),Object.defineProperty(u[e],"labels",{value:n})}u.rgb.hsl=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,o=Math.min(t,n,r),a=Math.max(t,n,r),s=a-o;let l,i;a===o?l=0:t===a?l=(n-r)/s:n===a?l=2+(r-t)/s:r===a&&(l=4+(t-n)/s),l=Math.min(l*60,360),l<0&&(l+=360);const c=(o+a)/2;return a===o?i=0:c<=.5?i=s/(a+o):i=s/(2-a-o),[l,i*100,c*100]};u.rgb.hsv=function(e){let t,n,r,o,a;const s=e[0]/255,l=e[1]/255,i=e[2]/255,c=Math.max(s,l,i),d=c-Math.min(s,l,i),f=function(g){return(c-g)/6/d+1/2};return d===0?(o=0,a=0):(a=d/c,t=f(s),n=f(l),r=f(i),s===c?o=r-n:l===c?o=1/3+t-r:i===c&&(o=2/3+n-t),o<0?o+=1:o>1&&(o-=1)),[o*360,a*100,c*100]};u.rgb.hwb=function(e){const t=e[0],n=e[1];let r=e[2];const o=u.rgb.hsl(e)[0],a=1/255*Math.min(t,Math.min(n,r));return r=1-1/255*Math.max(t,Math.max(n,r)),[o,a*100,r*100]};u.rgb.cmyk=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,o=Math.min(1-t,1-n,1-r),a=(1-t-o)/(1-o)||0,s=(1-n-o)/(1-o)||0,l=(1-r-o)/(1-o)||0;return[a*100,s*100,l*100,o*100]};function ht(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}u.rgb.keyword=function(e){const t=ke[e];if(t)return t;let n=1/0,r;for(const o of Object.keys(F)){const a=F[o],s=ht(e,a);s.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;const o=t*.4124+n*.3576+r*.1805,a=t*.2126+n*.7152+r*.0722,s=t*.0193+n*.1192+r*.9505;return[o*100,a*100,s*100]};u.rgb.lab=function(e){const t=u.rgb.xyz(e);let n=t[0],r=t[1],o=t[2];n/=95.047,r/=100,o/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;const a=116*r-16,s=500*(n-r),l=200*(r-o);return[a,s,l]};u.hsl.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;let o,a,s;if(n===0)return s=r*255,[s,s,s];r<.5?o=r*(1+n):o=r+n-r*n;const l=2*r-o,i=[0,0,0];for(let c=0;c<3;c++)a=t+1/3*-(c-1),a<0&&a++,a>1&&a--,6*a<1?s=l+(o-l)*6*a:2*a<1?s=o:3*a<2?s=l+(o-l)*(2/3-a)*6:s=l,i[c]=s*255;return i};u.hsl.hsv=function(e){const t=e[0];let n=e[1]/100,r=e[2]/100,o=n;const a=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,o*=a<=1?a:2-a;const s=(r+n)/2,l=r===0?2*o/(a+o):2*n/(r+n);return[t,l*100,s*100]};u.hsv.rgb=function(e){const t=e[0]/60,n=e[1]/100;let r=e[2]/100;const o=Math.floor(t)%6,a=t-Math.floor(t),s=255*r*(1-n),l=255*r*(1-n*a),i=255*r*(1-n*(1-a));switch(r*=255,o){case 0:return[r,i,s];case 1:return[l,r,s];case 2:return[s,r,i];case 3:return[s,l,r];case 4:return[i,s,r];case 5:return[r,s,l]}};u.hsv.hsl=function(e){const t=e[0],n=e[1]/100,r=e[2]/100,o=Math.max(r,.01);let a,s;s=(2-n)*r;const l=(2-n)*o;return a=n*o,a/=l<=1?l:2-l,a=a||0,s/=2,[t,a*100,s*100]};u.hwb.rgb=function(e){const t=e[0]/360;let n=e[1]/100,r=e[2]/100;const o=n+r;let a;o>1&&(n/=o,r/=o);const s=Math.floor(6*t),l=1-r;a=6*t-s,s&1&&(a=1-a);const i=n+a*(l-n);let c,d,f;switch(s){default:case 6:case 0:c=l,d=i,f=n;break;case 1:c=i,d=l,f=n;break;case 2:c=n,d=l,f=i;break;case 3:c=n,d=i,f=l;break;case 4:c=i,d=n,f=l;break;case 5:c=l,d=n,f=i;break}return[c*255,d*255,f*255]};u.cmyk.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100,o=e[3]/100,a=1-Math.min(1,t*(1-o)+o),s=1-Math.min(1,n*(1-o)+o),l=1-Math.min(1,r*(1-o)+o);return[a*255,s*255,l*255]};u.xyz.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100;let o,a,s;return o=t*3.2406+n*-1.5372+r*-.4986,a=t*-.9689+n*1.8758+r*.0415,s=t*.0557+n*-.204+r*1.057,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=Math.min(Math.max(0,o),1),a=Math.min(Math.max(0,a),1),s=Math.min(Math.max(0,s),1),[o*255,a*255,s*255]};u.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;const o=116*n-16,a=500*(t-n),s=200*(n-r);return[o,a,s]};u.lab.xyz=function(e){const t=e[0],n=e[1],r=e[2];let o,a,s;a=(t+16)/116,o=n/500+a,s=a-r/200;const l=a**3,i=o**3,c=s**3;return a=l>.008856?l:(a-16/116)/7.787,o=i>.008856?i:(o-16/116)/7.787,s=c>.008856?c:(s-16/116)/7.787,o*=95.047,a*=100,s*=108.883,[o,a,s]};u.lab.lch=function(e){const t=e[0],n=e[1],r=e[2];let o;o=Math.atan2(r,n)*360/2/Math.PI,o<0&&(o+=360);const s=Math.sqrt(n*n+r*r);return[t,s,o]};u.lch.lab=function(e){const t=e[0],n=e[1],o=e[2]/360*2*Math.PI,a=n*Math.cos(o),s=n*Math.sin(o);return[t,a,s]};u.rgb.ansi16=function(e,t=null){const[n,r,o]=e;let a=t===null?u.rgb.hsv(e)[2]:t;if(a=Math.round(a/50),a===0)return 30;let s=30+(Math.round(o/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return a===2&&(s+=60),s};u.hsv.ansi16=function(e){return u.rgb.ansi16(u.hsv.rgb(e),e[2])};u.rgb.ansi256=function(e){const t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)};u.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const n=(~~(e>50)+1)*.5,r=(t&1)*n*255,o=(t>>1&1)*n*255,a=(t>>2&1)*n*255;return[r,o,a]};u.ansi256.rgb=function(e){if(e>=232){const a=(e-232)*10+8;return[a,a,a]}e-=16;let t;const n=Math.floor(e/36)/5*255,r=Math.floor((t=e%36)/6)/5*255,o=t%6/5*255;return[n,r,o]};u.rgb.hex=function(e){const n=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(n.length)+n};u.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let n=t[0];t[0].length===3&&(n=n.split("").map(l=>l+l).join(""));const r=parseInt(n,16),o=r>>16&255,a=r>>8&255,s=r&255;return[o,a,s]};u.rgb.hcg=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,o=Math.max(Math.max(t,n),r),a=Math.min(Math.min(t,n),r),s=o-a;let l,i;return s<1?l=a/(1-s):l=0,s<=0?i=0:o===t?i=(n-r)/s%6:o===n?i=2+(r-t)/s:i=4+(t-n)/s,i/=6,i%=1,[i*360,s*100,l*100]};u.hsl.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n);let o=0;return r<1&&(o=(n-.5*r)/(1-r)),[e[0],r*100,o*100]};u.hsv.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=t*n;let o=0;return r<1&&(o=(n-r)/(1-r)),[e[0],r*100,o*100]};u.hcg.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;if(n===0)return[r*255,r*255,r*255];const o=[0,0,0],a=t%1*6,s=a%1,l=1-s;let i=0;switch(Math.floor(a)){case 0:o[0]=1,o[1]=s,o[2]=0;break;case 1:o[0]=l,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=s;break;case 3:o[0]=0,o[1]=l,o[2]=1;break;case 4:o[0]=s,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=l}return i=(1-n)*r,[(n*o[0]+i)*255,(n*o[1]+i)*255,(n*o[2]+i)*255]};u.hcg.hsv=function(e){const t=e[1]/100,n=e[2]/100,r=t+n*(1-t);let o=0;return r>0&&(o=t/r),[e[0],o*100,r*100]};u.hcg.hsl=function(e){const t=e[1]/100,r=e[2]/100*(1-t)+.5*t;let o=0;return r>0&&r<.5?o=t/(2*r):r>=.5&&r<1&&(o=t/(2*(1-r))),[e[0],o*100,r*100]};u.hcg.hwb=function(e){const t=e[1]/100,n=e[2]/100,r=t+n*(1-t);return[e[0],(r-t)*100,(1-r)*100]};u.hwb.hcg=function(e){const t=e[1]/100,r=1-e[2]/100,o=r-t;let a=0;return o<1&&(a=(r-o)/(1-o)),[e[0],o*100,a*100]};u.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};u.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};u.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};u.gray.hsl=function(e){return[0,0,e[0]]};u.gray.hsv=u.gray.hsl;u.gray.hwb=function(e){return[0,100,e[0]]};u.gray.cmyk=function(e){return[0,0,0,e[0]]};u.gray.lab=function(e){return[e[0],0,0]};u.gray.hex=function(e){const t=Math.round(e[0]/100*255)&255,r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(r.length)+r};u.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]};const B=_e;function dt(){const e={},t=Object.keys(B);for(let n=t.length,r=0;r1&&(n=r),e(n))};return"conversion"in e&&(t.conversion=e.conversion),t}function wt(e){const t=function(...n){const r=n[0];if(r==null)return r;r.length>1&&(n=r);const o=e(n);if(typeof o=="object")for(let a=o.length,s=0;s{O[e]={},Object.defineProperty(O[e],"channels",{value:U[e].channels}),Object.defineProperty(O[e],"labels",{value:U[e].labels});const t=pt(e);Object.keys(t).forEach(r=>{const o=t[r];O[e][r]=wt(o),O[e][r].raw=xt(o)})});var kt=O;const w=fe(kt);var _t=Ie,Et=function(){return _t.Date.now()},Mt=Et,Ct=J,D=Mt,le=Ke,$t="Expected a function",Nt=Math.max,Ot=Math.min;function It(e,t,n){var r,o,a,s,l,i,c=0,d=!1,f=!1,g=!0;if(typeof e!="function")throw new TypeError($t);t=le(t)||0,Ct(n)&&(d=!!n.leading,f="maxWait"in n,a=f?Nt(le(n.maxWait)||0,t):a,g="trailing"in n?!!n.trailing:g);function k(v){var E=r,T=o;return r=o=void 0,c=v,s=e.apply(T,E),s}function N(v){return c=v,l=setTimeout(m,t),d?k(v):s}function _(v){var E=v-i,T=v-c,te=t-E;return f?Ot(te,a-T):te}function p(v){var E=v-i,T=v-c;return i===void 0||E>=t||E<0||f&&T>=a}function m(){var v=D();if(p(v))return x(v);l=setTimeout(m,_(v))}function x(v){return l=void 0,g&&r?k(v):(r=o=void 0,s)}function C(){l!==void 0&&clearTimeout(l),c=0,r=i=o=l=void 0}function X(){return l===void 0?s:x(D())}function R(){var v=D(),E=p(v);if(r=arguments,o=this,i=v,E){if(l===void 0)return N(i);if(f)return clearTimeout(l),l=setTimeout(m,t),k(i)}return l===void 0&&(l=setTimeout(m,t)),s}return R.cancel=C,R.flush=X,R}var St=It,Rt=St,Tt=J,jt="Expected a function";function Ft(e,t,n){var r=!0,o=!0;if(typeof e!="function")throw new TypeError(jt);return Tt(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),Rt(e,t,{leading:r,maxWait:t,trailing:o})}var zt=Ft;const Ht=fe(zt);var Pt=M.div({position:"relative",maxWidth:250}),Lt=M(ue)({position:"absolute",zIndex:1,top:4,left:4}),qt=M.div({width:200,margin:5,".react-colorful__saturation":{borderRadius:"4px 4px 0 0"},".react-colorful__hue":{boxShadow:"inset 0 0 0 1px rgb(0 0 0 / 5%)"},".react-colorful__last-control":{borderRadius:"0 0 4px 4px"}}),Bt=M(Me)(({theme:e})=>({fontFamily:e.typography.fonts.base})),Wt=M.div({display:"grid",gridTemplateColumns:"repeat(9, 16px)",gap:6,padding:3,marginTop:5,width:200}),Xt=M.div(({theme:e,active:t})=>({width:16,height:16,boxShadow:t?`${e.appBorderColor} 0 0 0 1px inset, ${e.textMutedColor}50 0 0 0 4px`:`${e.appBorderColor} 0 0 0 1px inset`,borderRadius:e.appBorderRadius})),Dt=`url('data:image/svg+xml;charset=utf-8,')`,ie=({value:e,active:t,onClick:n,style:r,...o})=>{let a=`linear-gradient(${e}, ${e}), ${Dt}, linear-gradient(#fff, #fff)`;return h.createElement(Xt,{...o,active:t,onClick:n,style:{...r,backgroundImage:a}})},Kt=M(Ce.Input)(({theme:e})=>({width:"100%",paddingLeft:30,paddingRight:30,boxSizing:"border-box",fontFamily:e.typography.fonts.base})),Vt=M($e)(({theme:e})=>({position:"absolute",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:"border-box",cursor:"pointer",color:e.input.color})),Ee=(e=>(e.RGB="rgb",e.HSL="hsl",e.HEX="hex",e))(Ee||{}),P=Object.values(Ee),At=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,Gt=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,Ut=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,Y=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,Yt=/^\s*#?([0-9a-f]{3})\s*$/i,Jt={hex:at,rgb:ut,hsl:it},L={hex:"transparent",rgb:"rgba(0, 0, 0, 0)",hsl:"hsla(0, 0%, 0%, 0)"},ce=e=>{let t=e==null?void 0:e.match(At);if(!t)return[0,0,0,1];let[,n,r,o,a=1]=t;return[n,r,o,a].map(Number)},I=e=>{if(!e)return;let t=!0;if(Gt.test(e)){let[s,l,i,c]=ce(e),[d,f,g]=w.rgb.hsl([s,l,i])||[0,0,0];return{valid:t,value:e,keyword:w.rgb.keyword([s,l,i]),colorSpace:"rgb",rgb:e,hsl:`hsla(${d}, ${f}%, ${g}%, ${c})`,hex:`#${w.rgb.hex([s,l,i]).toLowerCase()}`}}if(Ut.test(e)){let[s,l,i,c]=ce(e),[d,f,g]=w.hsl.rgb([s,l,i])||[0,0,0];return{valid:t,value:e,keyword:w.hsl.keyword([s,l,i]),colorSpace:"hsl",rgb:`rgba(${d}, ${f}, ${g}, ${c})`,hsl:e,hex:`#${w.hsl.hex([s,l,i]).toLowerCase()}`}}let n=e.replace("#",""),r=w.keyword.rgb(n)||w.hex.rgb(n),o=w.rgb.hsl(r),a=e;if(/[^#a-f0-9]/i.test(e)?a=n:Y.test(e)&&(a=`#${n}`),a.startsWith("#"))t=Y.test(a);else try{w.keyword.hex(a)}catch{t=!1}return{valid:t,value:a,keyword:w.rgb.keyword(r),colorSpace:"hex",rgb:`rgba(${r[0]}, ${r[1]}, ${r[2]}, 1)`,hsl:`hsla(${o[0]}, ${o[1]}%, ${o[2]}%, 1)`,hex:a}},Qt=(e,t,n)=>{if(!e||!(t!=null&&t.valid))return L[n];if(n!=="hex")return(t==null?void 0:t[n])||L[n];if(!t.hex.startsWith("#"))try{return`#${w.keyword.hex(t.hex)}`}catch{return L.hex}let r=t.hex.match(Yt);if(!r)return Y.test(t.hex)?t.hex:L.hex;let[o,a,s]=r[1].split("");return`#${o}${o}${a}${a}${s}${s}`},Zt=(e,t)=>{let[n,r]=b.useState(e||""),[o,a]=b.useState(()=>I(n)),[s,l]=b.useState((o==null?void 0:o.colorSpace)||"hex");b.useEffect(()=>{let f=e||"",g=I(f);r(f),a(g),l((g==null?void 0:g.colorSpace)||"hex")},[e]);let i=b.useMemo(()=>Qt(n,o,s).toLowerCase(),[n,o,s]),c=b.useCallback(f=>{let g=I(f),k=(g==null?void 0:g.value)||f||"";r(k),k===""&&(a(void 0),t(void 0)),g&&(a(g),l(g.colorSpace),t(g.value))},[t]),d=b.useCallback(()=>{let f=P.indexOf(s)+1;f>=P.length&&(f=0),l(P[f]);let g=(o==null?void 0:o[P[f]])||"";r(g),t(g)},[o,s,t]);return{value:n,realValue:i,updateValue:c,color:o,colorSpace:s,cycleColorSpace:d}},W=e=>e.replace(/\s*/,"").toLowerCase(),en=(e,t,n)=>{let[r,o]=b.useState(t!=null&&t.valid?[t]:[]);b.useEffect(()=>{t===void 0&&o([])},[t]);let a=b.useMemo(()=>(e||[]).map(l=>typeof l=="string"?I(l):l.title?{...I(l.color),keyword:l.title}:I(l.color)).concat(r).filter(Boolean).slice(-27),[e,r]),s=b.useCallback(l=>{l!=null&&l.valid&&(a.some(i=>W(i[n])===W(l[n]))||o(i=>i.concat(l)))},[n,a]);return{presets:a,addPreset:s}},tn=({name:e,value:t,onChange:n,onFocus:r,onBlur:o,presetColors:a,startOpen:s=!1})=>{let l=b.useCallback(Ht(n,200),[n]),{value:i,realValue:c,updateValue:d,color:f,colorSpace:g,cycleColorSpace:k}=Zt(t,l),{presets:N,addPreset:_}=en(a,f,g),p=Jt[g];return h.createElement(Pt,null,h.createElement(Lt,{startOpen:s,closeOnOutsideClick:!0,onVisibleChange:()=>_(f),tooltip:h.createElement(qt,null,h.createElement(p,{color:c==="transparent"?"#000000":c,onChange:d,onFocus:r,onBlur:o}),N.length>0&&h.createElement(Wt,null,N.map((m,x)=>h.createElement(ue,{key:`${m.value}-${x}`,hasChrome:!1,tooltip:h.createElement(Bt,{note:m.keyword||m.value})},h.createElement(ie,{value:m[g],active:f&&W(m[g])===W(f[g]),onClick:()=>d(m.value)})))))},h.createElement(ie,{value:c,style:{margin:4}})),h.createElement(Kt,{id:Ne(e),value:i,onChange:m=>d(m.target.value),onFocus:m=>m.target.select(),placeholder:"Choose color..."}),i?h.createElement(Vt,{icon:"markup",onClick:k}):null)},dn=tn;export{tn as ColorControl,dn as default}; +//# sourceMappingURL=Color-3YIJY6X7-91193310.js.map diff --git a/assets/Color-3YIJY6X7-91193310.js.map b/assets/Color-3YIJY6X7-91193310.js.map new file mode 100644 index 00000000..98b42ccd --- /dev/null +++ b/assets/Color-3YIJY6X7-91193310.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Color-3YIJY6X7-91193310.js","sources":["../../node_modules/lodash/_trimmedEndIndex.js","../../node_modules/lodash/_baseTrim.js","../../node_modules/lodash/toNumber.js","../../node_modules/react-colorful/dist/index.mjs","../../node_modules/color-name/index.js","../../node_modules/color-convert/conversions.js","../../node_modules/color-convert/route.js","../../node_modules/color-convert/index.js","../../node_modules/lodash/now.js","../../node_modules/lodash/debounce.js","../../node_modules/lodash/throttle.js","../../node_modules/@storybook/blocks/dist/Color-3YIJY6X7.mjs"],"sourcesContent":["/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","import e,{useRef as r,useMemo as t,useEffect as n,useState as o,useCallback as a,useLayoutEffect as l}from\"react\";function u(){return(u=Object.assign||function(e){for(var r=1;r=0||(o[t]=e[t]);return o}function i(e){var t=r(e),n=r(function(e){t.current&&t.current(e)});return t.current=e,n.current}var s=function(e,r,t){return void 0===r&&(r=0),void 0===t&&(t=1),e>t?t:e0:e.buttons>0)&&m.current?g(d(m.current,e,b.current)):t(!1)},r=function(){return t(!1)};function t(t){var n=_.current,o=v(m.current),a=t?o.addEventListener:o.removeEventListener;a(n?\"touchmove\":\"mousemove\",e),a(n?\"touchend\":\"mouseup\",r)}return[function(e){var r=e.nativeEvent,n=m.current;if(n&&(h(r),!function(e,r){return r&&!f(e)}(r,_.current)&&n)){if(f(r)){_.current=!0;var o=r.changedTouches||[];o.length&&(b.current=o[0].identifier)}n.focus(),g(d(n,r,b.current)),t(!0)}},function(e){var r=e.which||e.keyCode;r<37||r>40||(e.preventDefault(),p({left:39===r?.05:37===r?-.05:0,top:40===r?.05:38===r?-.05:0}))},t]},[p,g]),C=x[0],E=x[1],H=x[2];return n(function(){return H},[H]),e.createElement(\"div\",u({},s,{onTouchStart:C,onMouseDown:C,className:\"react-colorful__interactive\",ref:m,onKeyDown:E,tabIndex:0,role:\"slider\"}))}),g=function(e){return e.filter(Boolean).join(\" \")},p=function(r){var t=r.color,n=r.left,o=r.top,a=void 0===o?.5:o,l=g([\"react-colorful__pointer\",r.className]);return e.createElement(\"div\",{className:l,style:{top:100*a+\"%\",left:100*n+\"%\"}},e.createElement(\"div\",{className:\"react-colorful__pointer-fill\",style:{backgroundColor:t}}))},b=function(e,r,t){return void 0===r&&(r=0),void 0===t&&(t=Math.pow(10,r)),Math.round(t*e)/t},_={grad:.9,turn:360,rad:360/(2*Math.PI)},x=function(e){return L(C(e))},C=function(e){return\"#\"===e[0]&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:4===e.length?b(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:8===e.length?b(parseInt(e.substring(6,8),16)/255,2):1}},E=function(e,r){return void 0===r&&(r=\"deg\"),Number(e)*(_[r]||1)},H=function(e){var r=/hsla?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i.exec(e);return r?N({h:E(r[1],r[2]),s:Number(r[3]),l:Number(r[4]),a:void 0===r[5]?1:Number(r[5])/(r[6]?100:1)}):{h:0,s:0,v:0,a:1}},M=H,N=function(e){var r=e.s,t=e.l;return{h:e.h,s:(r*=(t<50?t:100-t)/100)>0?2*r/(t+r)*100:0,v:t+r,a:e.a}},w=function(e){return K(I(e))},y=function(e){var r=e.s,t=e.v,n=e.a,o=(200-r)*t/100;return{h:b(e.h),s:b(o>0&&o<200?r*t/100/(o<=100?o:200-o)*100:0),l:b(o/2),a:b(n,2)}},q=function(e){var r=y(e);return\"hsl(\"+r.h+\", \"+r.s+\"%, \"+r.l+\"%)\"},k=function(e){var r=y(e);return\"hsla(\"+r.h+\", \"+r.s+\"%, \"+r.l+\"%, \"+r.a+\")\"},I=function(e){var r=e.h,t=e.s,n=e.v,o=e.a;r=r/360*6,t/=100,n/=100;var a=Math.floor(r),l=n*(1-t),u=n*(1-(r-a)*t),c=n*(1-(1-r+a)*t),i=a%6;return{r:b(255*[n,u,l,l,c,n][i]),g:b(255*[c,n,n,u,l,l][i]),b:b(255*[l,l,c,n,n,u][i]),a:b(o,2)}},O=function(e){var r=/hsva?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i.exec(e);return r?A({h:E(r[1],r[2]),s:Number(r[3]),v:Number(r[4]),a:void 0===r[5]?1:Number(r[5])/(r[6]?100:1)}):{h:0,s:0,v:0,a:1}},j=O,z=function(e){var r=/rgba?\\(?\\s*(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i.exec(e);return r?L({r:Number(r[1])/(r[2]?100/255:1),g:Number(r[3])/(r[4]?100/255:1),b:Number(r[5])/(r[6]?100/255:1),a:void 0===r[7]?1:Number(r[7])/(r[8]?100:1)}):{h:0,s:0,v:0,a:1}},B=z,D=function(e){var r=e.toString(16);return r.length<2?\"0\"+r:r},K=function(e){var r=e.r,t=e.g,n=e.b,o=e.a,a=o<1?D(b(255*o)):\"\";return\"#\"+D(r)+D(t)+D(n)+a},L=function(e){var r=e.r,t=e.g,n=e.b,o=e.a,a=Math.max(r,t,n),l=a-Math.min(r,t,n),u=l?a===r?(t-n)/l:a===t?2+(n-r)/l:4+(r-t)/l:0;return{h:b(60*(u<0?u+6:u)),s:b(a?l/a*100:0),v:b(a/255*100),a:o}},A=function(e){return{h:b(e.h),s:b(e.s),v:b(e.v),a:b(e.a,2)}},S=e.memo(function(r){var t=r.hue,n=r.onChange,o=g([\"react-colorful__hue\",r.className]);return e.createElement(\"div\",{className:o},e.createElement(m,{onMove:function(e){n({h:360*e.left})},onKey:function(e){n({h:s(t+360*e.left,0,360)})},\"aria-label\":\"Hue\",\"aria-valuenow\":b(t),\"aria-valuemax\":\"360\",\"aria-valuemin\":\"0\"},e.createElement(p,{className:\"react-colorful__hue-pointer\",left:t/360,color:q({h:t,s:100,v:100,a:1})})))}),T=e.memo(function(r){var t=r.hsva,n=r.onChange,o={backgroundColor:q({h:t.h,s:100,v:100,a:1})};return e.createElement(\"div\",{className:\"react-colorful__saturation\",style:o},e.createElement(m,{onMove:function(e){n({s:100*e.left,v:100-100*e.top})},onKey:function(e){n({s:s(t.s+100*e.left,0,100),v:s(t.v-100*e.top,0,100)})},\"aria-label\":\"Color\",\"aria-valuetext\":\"Saturation \"+b(t.s)+\"%, Brightness \"+b(t.v)+\"%\"},e.createElement(p,{className:\"react-colorful__saturation-pointer\",top:1-t.v/100,left:t.s/100,color:q(t)})))}),F=function(e,r){if(e===r)return!0;for(var t in e)if(e[t]!==r[t])return!1;return!0},P=function(e,r){return e.replace(/\\s/g,\"\")===r.replace(/\\s/g,\"\")},X=function(e,r){return e.toLowerCase()===r.toLowerCase()||F(C(e),C(r))};function Y(e,t,l){var u=i(l),c=o(function(){return e.toHsva(t)}),s=c[0],f=c[1],v=r({color:t,hsva:s});n(function(){if(!e.equal(t,v.current.color)){var r=e.toHsva(t);v.current={hsva:r,color:t},f(r)}},[t,e]),n(function(){var r;F(s,v.current.hsva)||e.equal(r=e.fromHsva(s),v.current.color)||(v.current={hsva:s,color:r},u(r))},[s,e,u]);var d=a(function(e){f(function(r){return Object.assign({},r,e)})},[]);return[s,d]}var R,V=\"undefined\"!=typeof window?l:n,$=function(){return R||(\"undefined\"!=typeof __webpack_nonce__?__webpack_nonce__:void 0)},G=function(e){R=e},J=new Map,Q=function(e){V(function(){var r=e.current?e.current.ownerDocument:document;if(void 0!==r&&!J.has(r)){var t=r.createElement(\"style\");t.innerHTML='.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:\"\";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url(\\'data:image/svg+xml;charset=utf-8,\\')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}',J.set(r,t);var n=$();n&&t.setAttribute(\"nonce\",n),r.head.appendChild(t)}},[])},U=function(t){var n=t.className,o=t.colorModel,a=t.color,l=void 0===a?o.defaultColor:a,i=t.onChange,s=c(t,[\"className\",\"colorModel\",\"color\",\"onChange\"]),f=r(null);Q(f);var v=Y(o,l,i),d=v[0],h=v[1],m=g([\"react-colorful\",n]);return e.createElement(\"div\",u({},s,{ref:f,className:m}),e.createElement(T,{hsva:d,onChange:h}),e.createElement(S,{hue:d.h,onChange:h,className:\"react-colorful__last-control\"}))},W={defaultColor:\"000\",toHsva:x,fromHsva:function(e){return w({h:e.h,s:e.s,v:e.v,a:1})},equal:X},Z=function(r){return e.createElement(U,u({},r,{colorModel:W}))},ee=function(r){var t=r.className,n=r.hsva,o=r.onChange,a={backgroundImage:\"linear-gradient(90deg, \"+k(Object.assign({},n,{a:0}))+\", \"+k(Object.assign({},n,{a:1}))+\")\"},l=g([\"react-colorful__alpha\",t]),u=b(100*n.a);return e.createElement(\"div\",{className:l},e.createElement(\"div\",{className:\"react-colorful__alpha-gradient\",style:a}),e.createElement(m,{onMove:function(e){o({a:e.left})},onKey:function(e){o({a:s(n.a+e.left)})},\"aria-label\":\"Alpha\",\"aria-valuetext\":u+\"%\",\"aria-valuenow\":u,\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"},e.createElement(p,{className:\"react-colorful__alpha-pointer\",left:n.a,color:k(n)})))},re=function(t){var n=t.className,o=t.colorModel,a=t.color,l=void 0===a?o.defaultColor:a,i=t.onChange,s=c(t,[\"className\",\"colorModel\",\"color\",\"onChange\"]),f=r(null);Q(f);var v=Y(o,l,i),d=v[0],h=v[1],m=g([\"react-colorful\",n]);return e.createElement(\"div\",u({},s,{ref:f,className:m}),e.createElement(T,{hsva:d,onChange:h}),e.createElement(S,{hue:d.h,onChange:h}),e.createElement(ee,{hsva:d,onChange:h,className:\"react-colorful__last-control\"}))},te={defaultColor:\"0001\",toHsva:x,fromHsva:w,equal:X},ne=function(r){return e.createElement(re,u({},r,{colorModel:te}))},oe={defaultColor:{h:0,s:0,l:0,a:1},toHsva:N,fromHsva:y,equal:F},ae=function(r){return e.createElement(re,u({},r,{colorModel:oe}))},le={defaultColor:\"hsla(0, 0%, 0%, 1)\",toHsva:H,fromHsva:k,equal:P},ue=function(r){return e.createElement(re,u({},r,{colorModel:le}))},ce={defaultColor:{h:0,s:0,l:0},toHsva:function(e){return N({h:e.h,s:e.s,l:e.l,a:1})},fromHsva:function(e){return{h:(r=y(e)).h,s:r.s,l:r.l};var r},equal:F},ie=function(r){return e.createElement(U,u({},r,{colorModel:ce}))},se={defaultColor:\"hsl(0, 0%, 0%)\",toHsva:M,fromHsva:q,equal:P},fe=function(r){return e.createElement(U,u({},r,{colorModel:se}))},ve={defaultColor:{h:0,s:0,v:0,a:1},toHsva:function(e){return e},fromHsva:A,equal:F},de=function(r){return e.createElement(re,u({},r,{colorModel:ve}))},he={defaultColor:\"hsva(0, 0%, 0%, 1)\",toHsva:O,fromHsva:function(e){var r=A(e);return\"hsva(\"+r.h+\", \"+r.s+\"%, \"+r.v+\"%, \"+r.a+\")\"},equal:P},me=function(r){return e.createElement(re,u({},r,{colorModel:he}))},ge={defaultColor:{h:0,s:0,v:0},toHsva:function(e){return{h:e.h,s:e.s,v:e.v,a:1}},fromHsva:function(e){var r=A(e);return{h:r.h,s:r.s,v:r.v}},equal:F},pe=function(r){return e.createElement(U,u({},r,{colorModel:ge}))},be={defaultColor:\"hsv(0, 0%, 0%)\",toHsva:j,fromHsva:function(e){var r=A(e);return\"hsv(\"+r.h+\", \"+r.s+\"%, \"+r.v+\"%)\"},equal:P},_e=function(r){return e.createElement(U,u({},r,{colorModel:be}))},xe={defaultColor:{r:0,g:0,b:0,a:1},toHsva:L,fromHsva:I,equal:F},Ce=function(r){return e.createElement(re,u({},r,{colorModel:xe}))},Ee={defaultColor:\"rgba(0, 0, 0, 1)\",toHsva:z,fromHsva:function(e){var r=I(e);return\"rgba(\"+r.r+\", \"+r.g+\", \"+r.b+\", \"+r.a+\")\"},equal:P},He=function(r){return e.createElement(re,u({},r,{colorModel:Ee}))},Me={defaultColor:{r:0,g:0,b:0},toHsva:function(e){return L({r:e.r,g:e.g,b:e.b,a:1})},fromHsva:function(e){return{r:(r=I(e)).r,g:r.g,b:r.b};var r},equal:F},Ne=function(r){return e.createElement(U,u({},r,{colorModel:Me}))},we={defaultColor:\"rgb(0, 0, 0)\",toHsva:B,fromHsva:function(e){var r=I(e);return\"rgb(\"+r.r+\", \"+r.g+\", \"+r.b+\")\"},equal:P},ye=function(r){return e.createElement(U,u({},r,{colorModel:we}))},qe=/^#?([0-9A-F]{3,8})$/i,ke=function(r){var t=r.color,l=void 0===t?\"\":t,s=r.onChange,f=r.onBlur,v=r.escape,d=r.validate,h=r.format,m=r.process,g=c(r,[\"color\",\"onChange\",\"onBlur\",\"escape\",\"validate\",\"format\",\"process\"]),p=o(function(){return v(l)}),b=p[0],_=p[1],x=i(s),C=i(f),E=a(function(e){var r=v(e.target.value);_(r),d(r)&&x(m?m(r):r)},[v,m,d,x]),H=a(function(e){d(e.target.value)||_(v(l)),C(e)},[l,v,d,C]);return n(function(){_(v(l))},[l,v]),e.createElement(\"input\",u({},g,{value:h?h(b):b,spellCheck:\"false\",onChange:E,onBlur:H}))},Ie=function(e){return\"#\"+e},Oe=function(r){var t=r.prefixed,n=r.alpha,o=c(r,[\"prefixed\",\"alpha\"]),l=a(function(e){return e.replace(/([^0-9A-F]+)/gi,\"\").substring(0,n?8:6)},[n]),i=a(function(e){return function(e,r){var t=qe.exec(e),n=t?t[1].length:0;return 3===n||6===n||!!r&&4===n||!!r&&8===n}(e,n)},[n]);return e.createElement(ke,u({},o,{escape:l,format:t?Ie:void 0,process:Ie,validate:i}))};export{ne as HexAlphaColorPicker,Oe as HexColorInput,Z as HexColorPicker,ie as HslColorPicker,fe as HslStringColorPicker,ae as HslaColorPicker,ue as HslaStringColorPicker,pe as HsvColorPicker,_e as HsvStringColorPicker,de as HsvaColorPicker,me as HsvaStringColorPicker,Ne as RgbColorPicker,ye as RgbStringColorPicker,Ce as RgbaColorPicker,He as RgbaStringColorPicker,G as setNonce};\n//# sourceMappingURL=index.module.js.map\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","import { getControlId } from './chunk-GWAJ4KRU.mjs';\nimport React, { useCallback, useState, useEffect, useMemo } from 'react';\nimport { HexColorPicker, RgbaStringColorPicker, HslaStringColorPicker } from 'react-colorful';\nimport convert from 'color-convert';\nimport throttle from 'lodash/throttle.js';\nimport { styled } from '@storybook/theming';\nimport { WithTooltip, TooltipNote, Form, Icons } from '@storybook/components';\n\nvar Wrapper=styled.div({position:\"relative\",maxWidth:250}),PickerTooltip=styled(WithTooltip)({position:\"absolute\",zIndex:1,top:4,left:4}),TooltipContent=styled.div({width:200,margin:5,\".react-colorful__saturation\":{borderRadius:\"4px 4px 0 0\"},\".react-colorful__hue\":{boxShadow:\"inset 0 0 0 1px rgb(0 0 0 / 5%)\"},\".react-colorful__last-control\":{borderRadius:\"0 0 4px 4px\"}}),Note=styled(TooltipNote)(({theme})=>({fontFamily:theme.typography.fonts.base})),Swatches=styled.div({display:\"grid\",gridTemplateColumns:\"repeat(9, 16px)\",gap:6,padding:3,marginTop:5,width:200}),SwatchColor=styled.div(({theme,active})=>({width:16,height:16,boxShadow:active?`${theme.appBorderColor} 0 0 0 1px inset, ${theme.textMutedColor}50 0 0 0 4px`:`${theme.appBorderColor} 0 0 0 1px inset`,borderRadius:theme.appBorderRadius})),swatchBackground=`url('data:image/svg+xml;charset=utf-8,')`,Swatch=({value,active,onClick,style,...props})=>{let backgroundImage=`linear-gradient(${value}, ${value}), ${swatchBackground}, linear-gradient(#fff, #fff)`;return React.createElement(SwatchColor,{...props,active,onClick,style:{...style,backgroundImage}})},Input=styled(Form.Input)(({theme})=>({width:\"100%\",paddingLeft:30,paddingRight:30,boxSizing:\"border-box\",fontFamily:theme.typography.fonts.base})),ToggleIcon=styled(Icons)(({theme})=>({position:\"absolute\",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:\"border-box\",cursor:\"pointer\",color:theme.input.color})),ColorSpace=(ColorSpace2=>(ColorSpace2.RGB=\"rgb\",ColorSpace2.HSL=\"hsl\",ColorSpace2.HEX=\"hex\",ColorSpace2))(ColorSpace||{}),COLOR_SPACES=Object.values(ColorSpace),COLOR_REGEXP=/\\(([0-9]+),\\s*([0-9]+)%?,\\s*([0-9]+)%?,?\\s*([0-9.]+)?\\)/,RGB_REGEXP=/^\\s*rgba?\\(([0-9]+),\\s*([0-9]+),\\s*([0-9]+),?\\s*([0-9.]+)?\\)\\s*$/i,HSL_REGEXP=/^\\s*hsla?\\(([0-9]+),\\s*([0-9]+)%,\\s*([0-9]+)%,?\\s*([0-9.]+)?\\)\\s*$/i,HEX_REGEXP=/^\\s*#?([0-9a-f]{3}|[0-9a-f]{6})\\s*$/i,SHORTHEX_REGEXP=/^\\s*#?([0-9a-f]{3})\\s*$/i,ColorPicker={[\"hex\"]:HexColorPicker,[\"rgb\"]:RgbaStringColorPicker,[\"hsl\"]:HslaStringColorPicker},fallbackColor={[\"hex\"]:\"transparent\",[\"rgb\"]:\"rgba(0, 0, 0, 0)\",[\"hsl\"]:\"hsla(0, 0%, 0%, 0)\"},stringToArgs=value=>{let match=value?.match(COLOR_REGEXP);if(!match)return [0,0,0,1];let[,x,y,z,a=1]=match;return [x,y,z,a].map(Number)},parseValue=value=>{if(!value)return;let valid=!0;if(RGB_REGEXP.test(value)){let[r,g,b,a]=stringToArgs(value),[h,s,l]=convert.rgb.hsl([r,g,b])||[0,0,0];return {valid,value,keyword:convert.rgb.keyword([r,g,b]),colorSpace:\"rgb\",[\"rgb\"]:value,[\"hsl\"]:`hsla(${h}, ${s}%, ${l}%, ${a})`,[\"hex\"]:`#${convert.rgb.hex([r,g,b]).toLowerCase()}`}}if(HSL_REGEXP.test(value)){let[h,s,l,a]=stringToArgs(value),[r,g,b]=convert.hsl.rgb([h,s,l])||[0,0,0];return {valid,value,keyword:convert.hsl.keyword([h,s,l]),colorSpace:\"hsl\",[\"rgb\"]:`rgba(${r}, ${g}, ${b}, ${a})`,[\"hsl\"]:value,[\"hex\"]:`#${convert.hsl.hex([h,s,l]).toLowerCase()}`}}let plain=value.replace(\"#\",\"\"),rgb=convert.keyword.rgb(plain)||convert.hex.rgb(plain),hsl=convert.rgb.hsl(rgb),mapped=value;if(/[^#a-f0-9]/i.test(value)?mapped=plain:HEX_REGEXP.test(value)&&(mapped=`#${plain}`),mapped.startsWith(\"#\"))valid=HEX_REGEXP.test(mapped);else try{convert.keyword.hex(mapped);}catch{valid=!1;}return {valid,value:mapped,keyword:convert.rgb.keyword(rgb),colorSpace:\"hex\",[\"rgb\"]:`rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, 1)`,[\"hsl\"]:`hsla(${hsl[0]}, ${hsl[1]}%, ${hsl[2]}%, 1)`,[\"hex\"]:mapped}},getRealValue=(value,color,colorSpace)=>{if(!value||!color?.valid)return fallbackColor[colorSpace];if(colorSpace!==\"hex\")return color?.[colorSpace]||fallbackColor[colorSpace];if(!color.hex.startsWith(\"#\"))try{return `#${convert.keyword.hex(color.hex)}`}catch{return fallbackColor.hex}let short=color.hex.match(SHORTHEX_REGEXP);if(!short)return HEX_REGEXP.test(color.hex)?color.hex:fallbackColor.hex;let[r,g,b]=short[1].split(\"\");return `#${r}${r}${g}${g}${b}${b}`},useColorInput=(initialValue,onChange)=>{let[value,setValue]=useState(initialValue||\"\"),[color,setColor]=useState(()=>parseValue(value)),[colorSpace,setColorSpace]=useState(color?.colorSpace||\"hex\");useEffect(()=>{let nextValue=initialValue||\"\",nextColor=parseValue(nextValue);setValue(nextValue),setColor(nextColor),setColorSpace(nextColor?.colorSpace||\"hex\");},[initialValue]);let realValue=useMemo(()=>getRealValue(value,color,colorSpace).toLowerCase(),[value,color,colorSpace]),updateValue=useCallback(update=>{let parsed=parseValue(update),v=parsed?.value||update||\"\";setValue(v),v===\"\"&&(setColor(void 0),onChange(void 0)),parsed&&(setColor(parsed),setColorSpace(parsed.colorSpace),onChange(parsed.value));},[onChange]),cycleColorSpace=useCallback(()=>{let next=COLOR_SPACES.indexOf(colorSpace)+1;next>=COLOR_SPACES.length&&(next=0),setColorSpace(COLOR_SPACES[next]);let update=color?.[COLOR_SPACES[next]]||\"\";setValue(update),onChange(update);},[color,colorSpace,onChange]);return {value,realValue,updateValue,color,colorSpace,cycleColorSpace}},id=value=>value.replace(/\\s*/,\"\").toLowerCase(),usePresets=(presetColors,currentColor,colorSpace)=>{let[selectedColors,setSelectedColors]=useState(currentColor?.valid?[currentColor]:[]);useEffect(()=>{currentColor===void 0&&setSelectedColors([]);},[currentColor]);let presets=useMemo(()=>(presetColors||[]).map(preset=>typeof preset==\"string\"?parseValue(preset):preset.title?{...parseValue(preset.color),keyword:preset.title}:parseValue(preset.color)).concat(selectedColors).filter(Boolean).slice(-27),[presetColors,selectedColors]),addPreset=useCallback(color=>{color?.valid&&(presets.some(preset=>id(preset[colorSpace])===id(color[colorSpace]))||setSelectedColors(arr=>arr.concat(color)));},[colorSpace,presets]);return {presets,addPreset}},ColorControl=({name,value:initialValue,onChange,onFocus,onBlur,presetColors,startOpen=!1})=>{let throttledOnChange=useCallback(throttle(onChange,200),[onChange]),{value,realValue,updateValue,color,colorSpace,cycleColorSpace}=useColorInput(initialValue,throttledOnChange),{presets,addPreset}=usePresets(presetColors,color,colorSpace),Picker=ColorPicker[colorSpace];return React.createElement(Wrapper,null,React.createElement(PickerTooltip,{startOpen,closeOnOutsideClick:!0,onVisibleChange:()=>addPreset(color),tooltip:React.createElement(TooltipContent,null,React.createElement(Picker,{color:realValue===\"transparent\"?\"#000000\":realValue,onChange:updateValue,onFocus,onBlur}),presets.length>0&&React.createElement(Swatches,null,presets.map((preset,index)=>React.createElement(WithTooltip,{key:`${preset.value}-${index}`,hasChrome:!1,tooltip:React.createElement(Note,{note:preset.keyword||preset.value})},React.createElement(Swatch,{value:preset[colorSpace],active:color&&id(preset[colorSpace])===id(color[colorSpace]),onClick:()=>updateValue(preset.value)})))))},React.createElement(Swatch,{value:realValue,style:{margin:4}})),React.createElement(Input,{id:getControlId(name),value,onChange:e=>updateValue(e.target.value),onFocus:e=>e.target.select(),placeholder:\"Choose color...\"}),value?React.createElement(ToggleIcon,{icon:\"markup\",onClick:cycleColorSpace}):null)},Color_default=ColorControl;\n\nexport { ColorControl, Color_default as default };\n"],"names":["reWhitespace","trimmedEndIndex","string","index","_trimmedEndIndex","require$$0","reTrimStart","baseTrim","_baseTrim","isObject","require$$1","isSymbol","require$$2","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","value","other","isBinary","toNumber_1","u","r","t","n","c","i","e","s","f","v","d","h","m","o","a","l","g","p","b","_","x","C","E","H","L","N","w","K","I","y","q","k","z","D","S","T","F","P","X","Y","V","$","J","Q","U","W","Z","ee","re","le","ue","Ee","He","colorName","cssKeywords","reverseKeywords","key","convert","conversions","model","channels","labels","rgb","min","max","delta","rdif","gdif","bdif","diff","diffc","comparativeDistance","reversed","currentClosestDistance","currentClosestKeyword","keyword","distance","xyz","hsl","t2","t3","val","t1","smin","lmin","sv","hsv","hi","vmin","sl","hwb","wh","bl","ratio","cmyk","lab","y2","x2","z2","lch","hr","args","saturation","ansi","color","mult","rem","match","colorString","char","integer","chroma","grayscale","hue","hcg","pure","mg","apple","gray","buildGraph","graph","models","len","deriveBFS","fromModel","queue","current","adjacents","adjacent","node","link","from","to","wrapConversion","toModel","path","fn","cur","route","conversion","wrapRaw","wrappedFn","arg0","wrapRounded","result","routes","colorConvert","root","now","now_1","FUNC_ERROR_TEXT","nativeMax","nativeMin","debounce","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","flush","debounced","isInvoking","debounce_1","throttle","throttle_1","Wrapper","styled","PickerTooltip","WithTooltip","TooltipContent","Note","TooltipNote","theme","Swatches","SwatchColor","active","swatchBackground","Swatch","onClick","style","props","backgroundImage","React","Input","Form","ToggleIcon","Icons","ColorSpace","ColorSpace2","COLOR_SPACES","COLOR_REGEXP","RGB_REGEXP","HSL_REGEXP","HEX_REGEXP","SHORTHEX_REGEXP","ColorPicker","HexColorPicker","RgbaStringColorPicker","HslaStringColorPicker","fallbackColor","stringToArgs","parseValue","valid","plain","mapped","getRealValue","colorSpace","short","useColorInput","initialValue","onChange","setValue","useState","setColor","setColorSpace","useEffect","nextValue","nextColor","realValue","useMemo","updateValue","useCallback","update","parsed","cycleColorSpace","next","id","usePresets","presetColors","currentColor","selectedColors","setSelectedColors","presets","preset","addPreset","arr","ColorControl","name","onFocus","onBlur","startOpen","throttledOnChange","Picker","getControlId","Color_default"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11]} \ No newline at end of file diff --git a/assets/ContextMenu-b06b8939.js b/assets/ContextMenu-b06b8939.js new file mode 100644 index 00000000..65367fcf --- /dev/null +++ b/assets/ContextMenu-b06b8939.js @@ -0,0 +1,81 @@ +import{j as n}from"./jsx-runtime-5926aa06.js";import{M as r}from"./index-96a2bc4b.js";import{u as s}from"./index-bda0bad7.js";import"./index-ebeaab24.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";function C(o={}){const{wrapper:a}=Object.assign({},s(),o.components);return a?n.jsx(a,Object.assign({},o,{children:n.jsx(t,{})})):t();function t(){const e=Object.assign({h1:"h1",p:"p",ul:"ul",li:"li",h2:"h2",code:"code",pre:"pre"},s(),o.components);return n.jsxs(n.Fragment,{children:[n.jsx(r,{title:"Docs/Advanced/Context Menu"}),` +`,n.jsx(e.h1,{id:"context-menu",children:"Context Menu"}),` +`,n.jsx(e.p,{children:`reagraph supports context menus on nodes and edges. Out of the box, reagraph +supports:`}),` +`,n.jsxs(e.ul,{children:[` +`,n.jsx(e.li,{children:"Radial Menu"}),` +`,n.jsx(e.li,{children:"Custom Menu"}),` +`]}),` +`,n.jsx(e.h2,{id:"radial-menu",children:"Radial Menu"}),` +`,n.jsxs(e.p,{children:["The setup the ",n.jsx(e.code,{children:"RadialMenu"}),` component, we need to setup the theme first. The +radial menu uses CSS variables to define colors. Here is an example +of how to define those colors:`]}),` +`,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-css",children:`body { + --radial-menu-background: #fff; + --radial-menu-color: #000; + --radial-menu-border: #AACBD2; + --radial-menu-active-color: #000; + --radial-menu-active-background: #D8E6EA; +} +`})}),` +`,n.jsxs(e.p,{children:["Once those are defined, we can use the ",n.jsx(e.code,{children:"contextMenu"}),` callback prop +to return a radial menu component. The callback provides the model (node/edge), +contextual information around a node's collapse state, and a callback to close the menu.`]}),` +`,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-tsx",children:`import { GraphCanvas, RadialMenu } from 'reagraph'; + +export const MyApp = () => ( + ( + { + alert('Add a node'); + onClose(); + } + }, + { + label: 'Remove Node', + onClick: () => { + alert('Remove the node'); + onClose(); + } + } + ]} + /> + )} + /> +); +`})}),` +`,n.jsx(e.h2,{id:"custom-menu",children:"Custom Menu"}),` +`,n.jsxs(e.p,{children:["The ",n.jsx(e.code,{children:"contextMenu"}),` callback prop can be used to return a custom menu. Below is +an example of how to setup a simple menu that displays the label of the node.`]}),` +`,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-tsx",children:`import { GraphCanvas } from 'reagraph'; + +export const Node = () => ( + ( +
+

{data.label}

+ +
+ )} + /> +); +`})})]})}}export{C as default}; +//# sourceMappingURL=ContextMenu-b06b8939.js.map diff --git a/assets/ContextMenu-b06b8939.js.map b/assets/ContextMenu-b06b8939.js.map new file mode 100644 index 00000000..d20f2a0c --- /dev/null +++ b/assets/ContextMenu-b06b8939.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ContextMenu-b06b8939.js","sources":["../../docs/ContextMenu.mdx"],"sourcesContent":["import { Meta, Story } from '@storybook/blocks';\n\n\n\n# Context Menu\nreagraph supports context menus on nodes and edges. Out of the box, reagraph\nsupports:\n\n- Radial Menu\n- Custom Menu\n\n## Radial Menu\nThe setup the `RadialMenu` component, we need to setup the theme first. The\nradial menu uses CSS variables to define colors. Here is an example\nof how to define those colors:\n\n```css\nbody {\n --radial-menu-background: #fff;\n --radial-menu-color: #000;\n --radial-menu-border: #AACBD2;\n --radial-menu-active-color: #000;\n --radial-menu-active-background: #D8E6EA;\n}\n```\n\nOnce those are defined, we can use the `contextMenu` callback prop\nto return a radial menu component. The callback provides the model (node/edge),\ncontextual information around a node's collapse state, and a callback to close the menu.\n\n```tsx\nimport { GraphCanvas, RadialMenu } from 'reagraph';\n\nexport const MyApp = () => (\n (\n {\n alert('Add a node');\n onClose();\n }\n },\n {\n label: 'Remove Node',\n onClick: () => {\n alert('Remove the node');\n onClose();\n }\n }\n ]}\n />\n )}\n />\n);\n```\n\n## Custom Menu\nThe `contextMenu` callback prop can be used to return a custom menu. Below is\nan example of how to setup a simple menu that displays the label of the node.\n\n```tsx\nimport { GraphCanvas } from 'reagraph';\n\nexport const Node = () => (\n (\n \n

{data.label}

\n \n \n )}\n />\n);\n```\n"],"names":["MDXContent","props","MDXLayout","_provideComponents","_jsx","_createMdxContent","_components","_jsxs","_Fragment","Meta"],"mappings":"2YAIA,SAASA,EAAWC,EAAQ,GAAI,CAC9B,KAAM,CAAC,QAASC,CAAS,EAAI,OAAO,OAAO,CAAE,EAAEC,EAAoB,EAAEF,EAAM,UAAU,EACrF,OAAOC,EAAYE,EAAAA,IAAKF,EAAW,OAAO,OAAO,CAAE,EAAED,EAAO,CAC1D,SAAUG,EAAAA,IAAKC,EAAmB,EAAE,CACxC,CAAG,CAAC,EAAIA,IACN,SAASA,GAAoB,CAC3B,MAAMC,EAAc,OAAO,OAAO,CAChC,GAAI,KACJ,EAAG,IACH,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,KAAM,OACN,IAAK,KACN,EAAEH,EAAoB,EAAEF,EAAM,UAAU,EACzC,OAAOM,EAAAA,KAAMC,EAAAA,SAAW,CACtB,SAAU,CAACJ,EAAI,IAACK,EAAM,CACpB,MAAO,4BACR,CAAA,EAAG;AAAA,EAAML,MAAKE,EAAY,GAAI,CAC7B,GAAI,eACJ,SAAU,cACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,EAAG,CAC5B,SAAU;AAAA,UACX,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,GAAI,CAC9B,SAAU,CAAC;AAAA,EAAMF,MAAKE,EAAY,GAAI,CACpC,SAAU,aACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,SAAU,aACX,CAAA,EAAG;AAAA,CAAI,CACT,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,GAAI,cACJ,SAAU,aACX,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC,iBAAkBF,MAAKE,EAAY,KAAM,CAClD,SAAU,YACX,CAAA,EAAG;AAAA;AAAA,+BAAwJ,CAC7J,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,eACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACF,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC,0CAA2CF,MAAKE,EAAY,KAAM,CAC3E,SAAU,aACX,CAAA,EAAG;AAAA;AAAA,yFAA2L,CAChM,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,eACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACF,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,GAAI,cACJ,SAAU,aACX,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC,OAAQF,MAAKE,EAAY,KAAM,CACxC,SAAU,aACX,CAAA,EAAG;AAAA,8EAA6I,CAClJ,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,eACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACT,CAAO,CAAC,CACR,CAAK,CACF,CACH"} \ No newline at end of file diff --git a/assets/ContextMenu.story-be40536e.js b/assets/ContextMenu.story-be40536e.js new file mode 100644 index 00000000..2dbe74fe --- /dev/null +++ b/assets/ContextMenu.story-be40536e.js @@ -0,0 +1,45 @@ +import{j as e}from"./jsx-runtime-5926aa06.js";import{G as r}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{s as C,a as g,p as M,g as v}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const S={title:"Demos/Context Menu",component:r},s=()=>e.jsx(r,{nodes:C,edges:g,contextMenu:({data:n,onClose:o})=>e.jsxs("div",{style:{background:"white",width:150,border:"solid 1px blue",borderRadius:2,padding:5,textAlign:"center"},children:[e.jsx("h1",{children:n.label}),e.jsx("button",{onClick:o,children:"Close Menu"})]})}),t=()=>e.jsx(r,{nodes:M,edges:v,contextMenu:({data:n,onCollapse:o,isCollapsed:m,canCollapse:j,onClose:k})=>e.jsxs("div",{style:{background:"white",width:150,border:"solid 1px blue",borderRadius:2,padding:5,textAlign:"center"},children:[e.jsx("h1",{children:n.label}),j&&e.jsx("button",{onClick:o,children:m?"Expand Node":"Collapse Node"}),e.jsx("button",{onClick:k,children:"Close Menu"})]})}),d=()=>e.jsx(r,{nodes:C,edges:g,contextMenu:({data:n,onClose:o})=>e.jsxs("div",{style:{background:"white",width:150,border:"solid 1px blue",borderRadius:2,padding:5,textAlign:"center"},children:[e.jsx("h1",{children:n.label}),e.jsx("button",{onClick:o,children:"Close Menu"})]})});var a,l,i;s.parameters={...s.parameters,docs:{...(a=s.parameters)==null?void 0:a.docs,source:{originalSource:`() =>
+

{data.label}

+ +
} />`,...(i=(l=s.parameters)==null?void 0:l.docs)==null?void 0:i.source}}};var c,p,u;t.parameters={...t.parameters,docs:{...(c=t.parameters)==null?void 0:c.docs,source:{originalSource:`() =>
+

{data.label}

+ {canCollapse && } + +
} />`,...(u=(p=t.parameters)==null?void 0:p.docs)==null?void 0:u.source}}};var b,x,h;d.parameters={...d.parameters,docs:{...(b=d.parameters)==null?void 0:b.docs,source:{originalSource:`() =>
+

{data.label}

+ +
} />`,...(h=(x=d.parameters)==null?void 0:x.docs)==null?void 0:h.source}}};export{t as Collapsible,d as Edge,s as Node,S as default}; +//# sourceMappingURL=ContextMenu.story-be40536e.js.map diff --git a/assets/ContextMenu.story-be40536e.js.map b/assets/ContextMenu.story-be40536e.js.map new file mode 100644 index 00000000..967000ba --- /dev/null +++ b/assets/ContextMenu.story-be40536e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ContextMenu.story-be40536e.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/Controls.story-b5a13b81.js b/assets/Controls.story-b5a13b81.js new file mode 100644 index 00000000..bf33b504 --- /dev/null +++ b/assets/Controls.story-b5a13b81.js @@ -0,0 +1,82 @@ +import{j as n}from"./jsx-runtime-5926aa06.js";import{r as g}from"./index-ebeaab24.js";import{G as l}from"./RadialMenu-93524eec.js";import{s as i,a}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const z={title:"Demos/Controls",component:l},o=()=>{const e=g.useRef(null);return n.jsxs("div",{style:{position:"absolute",top:0,bottom:0,left:0,right:0},children:[n.jsxs("div",{style:{zIndex:9,position:"absolute",top:15,right:15,background:"rgba(0, 0, 0, .5)",padding:1,color:"white"},children:[n.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{var t;return(t=e.current)==null?void 0:t.centerGraph()},children:"Center"}),n.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{var t;return(t=e.current)==null?void 0:t.centerGraph([i[2].id])},children:"Center Node 2"}),n.jsx("br",{}),n.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{var t;return(t=e.current)==null?void 0:t.zoomIn()},children:"Zoom In"}),n.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{var t;return(t=e.current)==null?void 0:t.zoomOut()},children:"Zoom Out"}),n.jsx("br",{}),n.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{var t;return(t=e.current)==null?void 0:t.panDown()},children:"Pan Down"}),n.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{var t;return(t=e.current)==null?void 0:t.panUp()},children:"Pan Up"}),n.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{var t;return(t=e.current)==null?void 0:t.panLeft()},children:"Pan Left"}),n.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>{var t;return(t=e.current)==null?void 0:t.panRight()},children:"Pan Right"})]}),n.jsx(l,{ref:e,nodes:i,edges:a})]})},r=()=>n.jsx(l,{cameraMode:"rotate",nodes:i,edges:a}),s=()=>{const[e,t]=g.useState("orbit");return n.jsxs("div",{style:{position:"absolute",top:0,bottom:0,left:0,right:0},children:[n.jsx("div",{style:{zIndex:9,position:"absolute",top:15,right:15,background:"rgba(0, 0, 0, .5)",padding:1,color:"white"},children:n.jsx("button",{style:{display:"block",width:"100%"},onClick:()=>t(e==="orbit"?"rotate":"orbit"),children:"Enable/Disable Orbit"})}),n.jsx(l,{cameraMode:e,nodes:i,edges:a})]})};var d,c,p;o.parameters={...o.parameters,docs:{...(d=o.parameters)==null?void 0:d.docs,source:{originalSource:`() => { + const ref = useRef(null); + return
+
+ + +
+ + +
+ + + + +
+ +
; +}`,...(p=(c=o.parameters)==null?void 0:c.docs)==null?void 0:p.source}}};var b,u,m;r.parameters={...r.parameters,docs:{...(b=r.parameters)==null?void 0:b.docs,source:{originalSource:'() => ',...(m=(u=r.parameters)==null?void 0:u.docs)==null?void 0:m.source}}};var h,y,k;s.parameters={...s.parameters,docs:{...(h=s.parameters)==null?void 0:h.docs,source:{originalSource:`() => { + const [mode, setMode] = useState('orbit'); + return
+
+ +
+ +
; +}`,...(k=(y=s.parameters)==null?void 0:y.docs)==null?void 0:k.source}}};export{o as All,s as Orbit,r as Rotate,z as default}; +//# sourceMappingURL=Controls.story-b5a13b81.js.map diff --git a/assets/Controls.story-b5a13b81.js.map b/assets/Controls.story-b5a13b81.js.map new file mode 100644 index 00000000..018c2682 --- /dev/null +++ b/assets/Controls.story-b5a13b81.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Controls.story-b5a13b81.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/CustomNodes-a77003aa.js b/assets/CustomNodes-a77003aa.js new file mode 100644 index 00000000..949f4267 --- /dev/null +++ b/assets/CustomNodes-a77003aa.js @@ -0,0 +1,66 @@ +import{j as e}from"./jsx-runtime-5926aa06.js";import{M as a}from"./index-96a2bc4b.js";import"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{u as s}from"./index-bda0bad7.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";import"./index-6279214a.esm-cc44dd6d.js";import"./client-180092d5.js";function C(o={}){const{wrapper:t}=Object.assign({},s(),o.components);return t?e.jsx(t,Object.assign({},o,{children:e.jsx(r,{})})):r();function r(){const n=Object.assign({h1:"h1",p:"p",code:"code",pre:"pre",a:"a"},s(),o.components);return e.jsxs(e.Fragment,{children:[e.jsx(a,{title:"Docs/Advanced/Custom Nodes"}),` +`,e.jsx(n.h1,{id:"custom-nodes",children:"Custom Nodes"}),` +`,e.jsx(n.p,{children:`reagraph supports the ability to override the Node shape and +pass your own custom node component.`}),` +`,e.jsxs(n.p,{children:["In the ",e.jsx(n.code,{children:"GraphCanvas"})," you can pass a callback to the ",e.jsx(n.code,{children:"renderNode"}),` function +which passes the following attributes:`]}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-ts",children:`export interface NodeRendererProps { + /** + * Color of the node. Handles selected/etc. + */ + color: ColorRepresentation; + + /** + * The internal node model. + */ + node: InternalGraphNode; + + /** + * Size of the node. + */ + size: number; + + /** + * Whether the node is active or not. + */ + active: boolean; + + /** + * Opacity of the node. Mainly used for selection. + */ + opacity: number; + + /** + * Animation of the node. + */ + animated: boolean; + + /** + * ID of the node. + */ + id: string; +} +`})}),` +`,e.jsxs(n.p,{children:["Using ",e.jsx(n.a,{href:"https://github.com/pmndrs/react-three-fiber",target:"_blank",rel:"nofollow noopener noreferrer",children:"react-three-fiber"}),` you can +use JSX to create your own WebGL custom node like:`]}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-tsx",children:`export const Custom3DNode = () => ( + ( + + + + + + + )} + /> +`})})]})}}export{C as default}; +//# sourceMappingURL=CustomNodes-a77003aa.js.map diff --git a/assets/CustomNodes-a77003aa.js.map b/assets/CustomNodes-a77003aa.js.map new file mode 100644 index 00000000..0d9be15c --- /dev/null +++ b/assets/CustomNodes-a77003aa.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CustomNodes-a77003aa.js","sources":["../../docs/CustomNodes.mdx"],"sourcesContent":["import { Meta, Story, ArgsTable } from '@storybook/blocks';\nimport { GraphCanvas } from '../src';\n\n\n\n# Custom Nodes\nreagraph supports the ability to override the Node shape and\npass your own custom node component.\n\nIn the `GraphCanvas` you can pass a callback to the `renderNode` function\nwhich passes the following attributes:\n\n```ts\nexport interface NodeRendererProps {\n /**\n * Color of the node. Handles selected/etc.\n */\n color: ColorRepresentation;\n\n /**\n * The internal node model.\n */\n node: InternalGraphNode;\n\n /**\n * Size of the node.\n */\n size: number;\n\n /**\n * Whether the node is active or not.\n */\n active: boolean;\n\n /**\n * Opacity of the node. Mainly used for selection.\n */\n opacity: number;\n\n /**\n * Animation of the node.\n */\n animated: boolean;\n\n /**\n * ID of the node.\n */\n id: string;\n}\n```\n\nUsing [react-three-fiber](https://github.com/pmndrs/react-three-fiber) you can\nuse JSX to create your own WebGL custom node like:\n\n```tsx\nexport const Custom3DNode = () => (\n (\n \n \n \n \n \n \n )}\n />\n```\n"],"names":["MDXContent","props","MDXLayout","_provideComponents","_jsx","_createMdxContent","_components","_jsxs","_Fragment","Meta"],"mappings":"kfAKA,SAASA,EAAWC,EAAQ,GAAI,CAC9B,KAAM,CAAC,QAASC,CAAS,EAAI,OAAO,OAAO,CAAE,EAAEC,EAAoB,EAAEF,EAAM,UAAU,EACrF,OAAOC,EAAYE,EAAAA,IAAKF,EAAW,OAAO,OAAO,CAAE,EAAED,EAAO,CAC1D,SAAUG,EAAAA,IAAKC,EAAmB,EAAE,CACxC,CAAG,CAAC,EAAIA,IACN,SAASA,GAAoB,CAC3B,MAAMC,EAAc,OAAO,OAAO,CAChC,GAAI,KACJ,EAAG,IACH,KAAM,OACN,IAAK,MACL,EAAG,GACJ,EAAEH,EAAoB,EAAEF,EAAM,UAAU,EACzC,OAAOM,EAAAA,KAAMC,EAAAA,SAAW,CACtB,SAAU,CAACJ,EAAI,IAACK,EAAM,CACpB,MAAO,4BACR,CAAA,EAAG;AAAA,EAAML,MAAKE,EAAY,GAAI,CAC7B,GAAI,eACJ,SAAU,cACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,EAAG,CAC5B,SAAU;AAAA,qCACX,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC,UAAWF,MAAKE,EAAY,KAAM,CAC3C,SAAU,aACX,CAAA,EAAG,mCAAoCF,MAAKE,EAAY,KAAM,CAC7D,SAAU,YACX,CAAA,EAAG;AAAA,uCAAmD,CACxD,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,cACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACF,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC,SAAUF,MAAKE,EAAY,EAAG,CACvC,KAAM,8CACN,OAAQ,SACR,IAAK,+BACL,SAAU,mBACX,CAAA,EAAG;AAAA,mDAA8D,CACnE,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,eACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACT,CAAO,CAAC,CACR,CAAK,CACF,CACH"} \ No newline at end of file diff --git a/assets/DataShapes-0a4253ca.js b/assets/DataShapes-0a4253ca.js new file mode 100644 index 00000000..fb798eb5 --- /dev/null +++ b/assets/DataShapes-0a4253ca.js @@ -0,0 +1,62 @@ +import{j as e}from"./jsx-runtime-5926aa06.js";import{M as i}from"./index-96a2bc4b.js";import{u as a}from"./index-bda0bad7.js";import"./index-ebeaab24.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";function f(t={}){const{wrapper:r}=Object.assign({},a(),t.components);return r?e.jsx(r,Object.assign({},t,{children:e.jsx(s,{})})):s();function s(){const n=Object.assign({h1:"h1",p:"p",ul:"ul",li:"li",code:"code",h2:"h2",pre:"pre"},a(),t.components);return e.jsxs(e.Fragment,{children:[e.jsx(i,{title:"Docs/API/Data Shapes"}),` +`,e.jsx(n.h1,{id:"data-shapes",children:"Data Shapes"}),` +`,e.jsx(n.p,{children:"The graph is made up of 2 basic data shape objects you can pass to the graph."}),` +`,e.jsxs(n.ul,{children:[` +`,e.jsxs(n.li,{children:[e.jsx(n.code,{children:"GraphNode"})," - The sphere element-like object that represents an entity in the graph"]}),` +`,e.jsxs(n.li,{children:[e.jsx(n.code,{children:"GraphEdge"})," - The link between Nodes"]}),` +`]}),` +`,e.jsx(n.h2,{id:"graphelementbaseattributes",children:"GraphElementBaseAttributes"}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-ts",children:`export interface GraphElementBaseAttributes { + /** + * ID of the element. + */ + id: string; + + /** + * Extra data associated with the element. + */ + data?: T; + + /** + * Label for the element. + */ + label?: string; + + /** + * Size of the element. + */ + size?: number; + + /** + * Force label visible or not. + */ + labelVisible?: boolean; +} +`})}),` +`,e.jsx(n.h2,{id:"graphnode",children:"GraphNode"}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-ts",children:`export interface GraphNode extends GraphElementBaseAttributes { + /** + * Icon URL for the node. + */ + icon?: string; + + /** + * Fill color for the node. + */ + fill?: string; +} +`})}),` +`,e.jsx(n.h2,{id:"graphedge",children:"GraphEdge"}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-ts",children:`export interface GraphEdge extends GraphElementBaseAttributes { + /** + * Source ID of the node. + */ + source: string; + + /** + * Target ID of the node. + */ + target: string; +} +`})})]})}}export{f as default}; +//# sourceMappingURL=DataShapes-0a4253ca.js.map diff --git a/assets/DataShapes-0a4253ca.js.map b/assets/DataShapes-0a4253ca.js.map new file mode 100644 index 00000000..269d27d7 --- /dev/null +++ b/assets/DataShapes-0a4253ca.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DataShapes-0a4253ca.js","sources":["../../docs/DataShapes.mdx"],"sourcesContent":["import { Meta, Story } from '@storybook/blocks';\n\n\n\n# Data Shapes\n\nThe graph is made up of 2 basic data shape objects you can pass to the graph.\n\n- `GraphNode` - The sphere element-like object that represents an entity in the graph\n- `GraphEdge` - The link between Nodes\n\n## GraphElementBaseAttributes\n```ts\nexport interface GraphElementBaseAttributes {\n /**\n * ID of the element.\n */\n id: string;\n\n /**\n * Extra data associated with the element.\n */\n data?: T;\n\n /**\n * Label for the element.\n */\n label?: string;\n\n /**\n * Size of the element.\n */\n size?: number;\n\n /**\n * Force label visible or not.\n */\n labelVisible?: boolean;\n}\n```\n\n## GraphNode\n```ts\nexport interface GraphNode extends GraphElementBaseAttributes {\n /**\n * Icon URL for the node.\n */\n icon?: string;\n\n /**\n * Fill color for the node.\n */\n fill?: string;\n}\n```\n\n## GraphEdge\n```ts\nexport interface GraphEdge extends GraphElementBaseAttributes {\n /**\n * Source ID of the node.\n */\n source: string;\n\n /**\n * Target ID of the node.\n */\n target: string;\n}\n```\n"],"names":["MDXContent","props","MDXLayout","_provideComponents","_jsx","_createMdxContent","_components","_jsxs","_Fragment","Meta"],"mappings":"2YAIA,SAASA,EAAWC,EAAQ,GAAI,CAC9B,KAAM,CAAC,QAASC,CAAS,EAAI,OAAO,OAAO,CAAE,EAAEC,EAAoB,EAAEF,EAAM,UAAU,EACrF,OAAOC,EAAYE,EAAAA,IAAKF,EAAW,OAAO,OAAO,CAAE,EAAED,EAAO,CAC1D,SAAUG,EAAAA,IAAKC,EAAmB,EAAE,CACxC,CAAG,CAAC,EAAIA,IACN,SAASA,GAAoB,CAC3B,MAAMC,EAAc,OAAO,OAAO,CAChC,GAAI,KACJ,EAAG,IACH,GAAI,KACJ,GAAI,KACJ,KAAM,OACN,GAAI,KACJ,IAAK,KACN,EAAEH,EAAoB,EAAEF,EAAM,UAAU,EACzC,OAAOM,EAAAA,KAAMC,EAAAA,SAAW,CACtB,SAAU,CAACJ,EAAI,IAACK,EAAM,CACpB,MAAO,sBACR,CAAA,EAAG;AAAA,EAAML,MAAKE,EAAY,GAAI,CAC7B,GAAI,cACJ,SAAU,aACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,EAAG,CAC5B,SAAU,+EACX,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,GAAI,CAC9B,SAAU,CAAC;AAAA,EAAMC,OAAMD,EAAY,GAAI,CACrC,SAAU,CAACF,EAAAA,IAAKE,EAAY,KAAM,CAChC,SAAU,WACX,CAAA,EAAG,0EAA0E,CAC/E,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,GAAI,CAC9B,SAAU,CAACF,EAAAA,IAAKE,EAAY,KAAM,CAChC,SAAU,WACX,CAAA,EAAG,2BAA2B,CAChC,CAAA,EAAG;AAAA,CAAI,CACT,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,GAAI,6BACJ,SAAU,4BACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,cACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACF,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,GAAI,YACJ,SAAU,WACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,cACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACF,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,GAAI,YACJ,SAAU,WACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,cACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACT,CAAO,CAAC,CACR,CAAK,CACF,CACH"} \ No newline at end of file diff --git a/assets/DocsRenderer-EYKKDMVH-10cc4b93.js b/assets/DocsRenderer-EYKKDMVH-10cc4b93.js new file mode 100644 index 00000000..6a561773 --- /dev/null +++ b/assets/DocsRenderer-EYKKDMVH-10cc4b93.js @@ -0,0 +1,2 @@ +import{_ as p}from"./iframe-608d8974.js";import{R as e,r as a}from"./index-ebeaab24.js";import{r as c,u}from"./react-18-c518c876.js";import{C as h,d as l,H as d,D as E}from"./index-96a2bc4b.js";import"../sb-preview/runtime.js";import"./client-180092d5.js";import"./index-9c09ad76.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";var x={code:h,a:l,...d},_=class extends a.Component{constructor(){super(...arguments),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){let{showException:r}=this.props;r(t)}render(){let{hasError:t}=this.state,{children:r}=this.props;return t?null:r}},S=class{constructor(){this.render=async(t,r,o)=>{let n={...x,...r==null?void 0:r.components};return new Promise((s,m)=>{p(()=>import("./index-a99a88c4.js"),["./index-a99a88c4.js","./index-bda0bad7.js","./index-ebeaab24.js"],import.meta.url).then(({MDXProvider:i})=>c(e.createElement(_,{showException:m,key:Math.random()},e.createElement(i,{components:n},e.createElement(E,{context:t,docsParameter:r}))),o)).then(s)})},this.unmount=t=>{u(t)}}};export{S as DocsRenderer,x as defaultComponents}; +//# sourceMappingURL=DocsRenderer-EYKKDMVH-10cc4b93.js.map diff --git a/assets/DocsRenderer-EYKKDMVH-10cc4b93.js.map b/assets/DocsRenderer-EYKKDMVH-10cc4b93.js.map new file mode 100644 index 00000000..6cf9c539 --- /dev/null +++ b/assets/DocsRenderer-EYKKDMVH-10cc4b93.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"mbAIG,IAACA,EAAkB,CAAC,KAAKC,EAAgB,EAAEC,EAAU,GAAGC,CAAU,EAAEC,EAAc,cAAcC,WAAS,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,MAAM,CAAC,SAAS,EAAE,CAAE,CAAC,OAAO,0BAA0B,CAAC,MAAO,CAAC,SAAS,EAAE,CAAC,CAAC,kBAAkBC,EAAI,CAAC,GAAG,CAAC,cAAAC,CAAa,EAAE,KAAK,MAAMA,EAAcD,CAAG,CAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAAE,CAAQ,EAAE,KAAK,MAAM,CAAC,SAAAC,CAAQ,EAAE,KAAK,MAAM,OAAOD,EAAS,KAAKC,CAAQ,CAAC,EAAEC,EAAa,KAAK,CAAC,aAAa,CAAC,KAAK,OAAO,MAAMC,EAAQC,EAAcC,IAAU,CAAC,IAAIC,EAAW,CAAC,GAAGd,EAAkB,GAAGY,GAAA,YAAAA,EAAe,UAAU,EAAE,OAAO,IAAI,QAAQ,CAACG,EAAQC,IAAS,CAAAC,EAAA,IAAC,OAAO,qBAAe,EAAC,qFAAC,KAAK,CAAC,CAAC,YAAAC,CAAW,IAAIC,EAAcC,EAAM,cAAchB,EAAc,CAAC,cAAcY,EAAO,IAAI,KAAK,OAAM,CAAE,EAAEI,EAAM,cAAcF,EAAY,CAAC,WAAAJ,CAAU,EAAEM,EAAM,cAAcC,EAAK,CAAC,QAAAV,EAAQ,cAAAC,CAAa,CAAC,CAAC,CAAC,EAAEC,CAAO,CAAC,EAAE,KAAKE,CAAO,CAAE,CAAC,CAAC,EAAE,KAAK,QAAQF,GAAS,CAACS,EAAeT,CAAO,CAAE,CAAE,CAAC","names":["defaultComponents","CodeOrSourceMdx","AnchorMdx","HeadersMdx","ErrorBoundary","Component","err","showException","hasError","children","DocsRenderer","context","docsParameter","element","components","resolve","reject","__vitePreload","MDXProvider","renderElement","React","Docs","unmountElement"],"sources":["../../node_modules/@storybook/addon-docs/dist/chunk-PCJTTTQV.mjs"],"sourcesContent":["import React, { Component } from 'react';\nimport { renderElement, unmountElement } from '@storybook/react-dom-shim';\nimport { CodeOrSourceMdx, AnchorMdx, HeadersMdx, Docs } from '@storybook/blocks';\n\nvar defaultComponents={code:CodeOrSourceMdx,a:AnchorMdx,...HeadersMdx},ErrorBoundary=class extends Component{constructor(){super(...arguments);this.state={hasError:!1};}static getDerivedStateFromError(){return {hasError:!0}}componentDidCatch(err){let{showException}=this.props;showException(err);}render(){let{hasError}=this.state,{children}=this.props;return hasError?null:children}},DocsRenderer=class{constructor(){this.render=async(context,docsParameter,element)=>{let components={...defaultComponents,...docsParameter?.components};return new Promise((resolve,reject)=>{import('@mdx-js/react').then(({MDXProvider})=>renderElement(React.createElement(ErrorBoundary,{showException:reject,key:Math.random()},React.createElement(MDXProvider,{components},React.createElement(Docs,{context,docsParameter}))),element)).then(resolve);})},this.unmount=element=>{unmountElement(element);};}};\n\nexport { DocsRenderer, defaultComponents };\n"],"file":"assets/DocsRenderer-EYKKDMVH-10cc4b93.js"} \ No newline at end of file diff --git a/assets/EdgeArrows.story-ae1e82a5.js b/assets/EdgeArrows.story-ae1e82a5.js new file mode 100644 index 00000000..ac57db5f --- /dev/null +++ b/assets/EdgeArrows.story-ae1e82a5.js @@ -0,0 +1,2 @@ +import{j as a}from"./jsx-runtime-5926aa06.js";import{G as r}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{s as d,a as i}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const h={title:"Demos/Edges/Arrows",component:r},e=()=>a.jsx(r,{edgeArrowPosition:"end",nodes:d,edges:i}),s=()=>a.jsx(r,{edgeArrowPosition:"mid",nodes:d,edges:i}),o=()=>a.jsx(r,{edgeArrowPosition:"none",nodes:d,edges:i});var t,m,p;e.parameters={...e.parameters,docs:{...(t=e.parameters)==null?void 0:t.docs,source:{originalSource:'() => ',...(p=(m=e.parameters)==null?void 0:m.docs)==null?void 0:p.source}}};var n,c,g;s.parameters={...s.parameters,docs:{...(n=s.parameters)==null?void 0:n.docs,source:{originalSource:'() => ',...(g=(c=s.parameters)==null?void 0:c.docs)==null?void 0:g.source}}};var l,u,w;o.parameters={...o.parameters,docs:{...(l=o.parameters)==null?void 0:l.docs,source:{originalSource:'() => ',...(w=(u=o.parameters)==null?void 0:u.docs)==null?void 0:w.source}}};export{e as End,s as Mid,o as None,h as default}; +//# sourceMappingURL=EdgeArrows.story-ae1e82a5.js.map diff --git a/assets/EdgeArrows.story-ae1e82a5.js.map b/assets/EdgeArrows.story-ae1e82a5.js.map new file mode 100644 index 00000000..1e509b1f --- /dev/null +++ b/assets/EdgeArrows.story-ae1e82a5.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EdgeArrows.story-ae1e82a5.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/EdgeCurved.story-1ca0aca1.js b/assets/EdgeCurved.story-1ca0aca1.js new file mode 100644 index 00000000..f958d925 --- /dev/null +++ b/assets/EdgeCurved.story-1ca0aca1.js @@ -0,0 +1,40 @@ +import{j as a}from"./jsx-runtime-5926aa06.js";import{G as e}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{s as i,a as t}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const f={title:"Demos/Edges/Curved",component:e},r=()=>a.jsx(e,{nodes:i,edges:t,edgeArrowPosition:"none",edgeInterpolation:"curved",onEdgeClick:A=>alert(`Edge ${A.id} clicked`)}),s=()=>a.jsx(e,{edgeArrowPosition:"end",edgeInterpolation:"curved",nodes:i,edges:t}),o=()=>a.jsx(e,{edgeArrowPosition:"mid",edgeInterpolation:"curved",nodes:i,edges:t}),d=()=>a.jsx(e,{edgeInterpolation:"curved",labelType:"all",nodes:[{id:"1",label:"1"},{id:"2",label:"2"},{id:"3",label:"3"},{id:"4",label:"4"},{id:"5",label:"5"}],edges:[{source:"1",target:"2",id:"1-2",label:"1-2"},{source:"2",target:"3",id:"2-3",label:"2-3",size:5},{source:"3",target:"4",id:"3-4",label:"3-4",size:3},{source:"4",target:"5",id:"4-5",label:"4-5",size:10}]});var l,n,c;r.parameters={...r.parameters,docs:{...(l=r.parameters)==null?void 0:l.docs,source:{originalSource:'() => alert(`Edge ${edge.id} clicked`)} />',...(c=(n=r.parameters)==null?void 0:n.docs)==null?void 0:c.source}}};var p,g,m;s.parameters={...s.parameters,docs:{...(p=s.parameters)==null?void 0:p.docs,source:{originalSource:'() => ',...(m=(g=s.parameters)==null?void 0:g.docs)==null?void 0:m.source}}};var u,b,v;o.parameters={...o.parameters,docs:{...(u=o.parameters)==null?void 0:u.docs,source:{originalSource:'() => ',...(v=(b=o.parameters)==null?void 0:b.docs)==null?void 0:v.source}}};var C,E,w;d.parameters={...d.parameters,docs:{...(C=d.parameters)==null?void 0:C.docs,source:{originalSource:`() => `,...(w=(E=d.parameters)==null?void 0:E.docs)==null?void 0:w.source}}};export{r as Curved,s as CurvedArrowsEnd,o as CurvedArrowsMid,d as CurvedSizes,f as default}; +//# sourceMappingURL=EdgeCurved.story-1ca0aca1.js.map diff --git a/assets/EdgeCurved.story-1ca0aca1.js.map b/assets/EdgeCurved.story-1ca0aca1.js.map new file mode 100644 index 00000000..7d88807c --- /dev/null +++ b/assets/EdgeCurved.story-1ca0aca1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EdgeCurved.story-1ca0aca1.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/EdgeLabels.story-558f53bb.js b/assets/EdgeLabels.story-558f53bb.js new file mode 100644 index 00000000..3fa93c0e --- /dev/null +++ b/assets/EdgeLabels.story-558f53bb.js @@ -0,0 +1,82 @@ +import{j as o}from"./jsx-runtime-5926aa06.js";import{G as e}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const h={title:"Demos/Edges/Labels",component:e},a=()=>o.jsx(e,{edgeLabelPosition:"above",labelType:"edges",nodes:[{id:"1",label:"1"},{id:"2",label:"2"},{id:"3",label:"3"}],edges:[{source:"1",target:"2",id:"1-2",label:"1-2"},{source:"2",target:"3",id:"2-3",label:"2-3",size:5}]}),l=()=>o.jsx(e,{edgeLabelPosition:"below",labelType:"edges",nodes:[{id:"1",label:"1"},{id:"2",label:"2"},{id:"3",label:"3"}],edges:[{source:"1",target:"2",id:"1-2",label:"1-2"},{source:"2",target:"3",id:"2-3",label:"2-3",size:5}]}),s=()=>o.jsx(e,{edgeLabelPosition:"inline",labelType:"edges",nodes:[{id:"1",label:"1"},{id:"2",label:"2"},{id:"3",label:"3"}],edges:[{source:"1",target:"2",id:"1-2",label:"1-2"},{source:"2",target:"3",id:"2-3",label:"2-3",size:5}]}),r=()=>o.jsx(e,{edgeLabelPosition:"natural",labelType:"edges",nodes:[{id:"1",label:"1"},{id:"2",label:"2"},{id:"3",label:"3"}],edges:[{source:"1",target:"2",id:"1-2",label:"1-2"},{source:"2",target:"3",id:"2-3",label:"2-3",size:5}]});var d,i,t;a.parameters={...a.parameters,docs:{...(d=a.parameters)==null?void 0:d.docs,source:{originalSource:`() => `,...(t=(i=a.parameters)==null?void 0:i.docs)==null?void 0:t.source}}};var b,c,g;l.parameters={...l.parameters,docs:{...(b=l.parameters)==null?void 0:b.docs,source:{originalSource:`() => `,...(g=(c=l.parameters)==null?void 0:c.docs)==null?void 0:g.source}}};var n,p,u;s.parameters={...s.parameters,docs:{...(n=s.parameters)==null?void 0:n.docs,source:{originalSource:`() => `,...(u=(p=s.parameters)==null?void 0:p.docs)==null?void 0:u.source}}};var m,L,y;r.parameters={...r.parameters,docs:{...(m=r.parameters)==null?void 0:m.docs,source:{originalSource:`() => `,...(y=(L=r.parameters)==null?void 0:L.docs)==null?void 0:y.source}}};export{a as Above,l as Below,s as Inline,r as Natural,h as default}; +//# sourceMappingURL=EdgeLabels.story-558f53bb.js.map diff --git a/assets/EdgeLabels.story-558f53bb.js.map b/assets/EdgeLabels.story-558f53bb.js.map new file mode 100644 index 00000000..17797c2c --- /dev/null +++ b/assets/EdgeLabels.story-558f53bb.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EdgeLabels.story-558f53bb.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/Edges.story-a41093c5.js b/assets/Edges.story-a41093c5.js new file mode 100644 index 00000000..f6605019 --- /dev/null +++ b/assets/Edges.story-a41093c5.js @@ -0,0 +1,40 @@ +import{j as c}from"./jsx-runtime-5926aa06.js";import{G as a}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{s as m,a as g}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const j={title:"Demos/Edges",component:a},e=()=>c.jsx(a,{labelType:"all",nodes:[{id:"1",label:"1"},{id:"2",label:"2"},{id:"3",label:"3"},{id:"4",label:"4"},{id:"5",label:"5"}],edges:[{source:"1",target:"2",id:"1-2",label:"1-2"},{source:"2",target:"3",id:"2-3",label:"2-3",size:5},{source:"3",target:"4",id:"3-4",label:"3-4",size:3},{source:"4",target:"5",id:"4-5",label:"4-5",size:10}]}),s=()=>c.jsx(a,{nodes:m,edges:g,onEdgeClick:p=>alert(`Edge ${p.id} clicked`)});var r,l,o;e.parameters={...e.parameters,docs:{...(r=e.parameters)==null?void 0:r.docs,source:{originalSource:`() => `,...(o=(l=e.parameters)==null?void 0:l.docs)==null?void 0:o.source}}};var d,i,t;s.parameters={...s.parameters,docs:{...(d=s.parameters)==null?void 0:d.docs,source:{originalSource:"() => alert(`Edge ${edge.id} clicked`)} />",...(t=(i=s.parameters)==null?void 0:i.docs)==null?void 0:t.source}}};export{s as Events,e as Sizes,j as default}; +//# sourceMappingURL=Edges.story-a41093c5.js.map diff --git a/assets/Edges.story-a41093c5.js.map b/assets/Edges.story-a41093c5.js.map new file mode 100644 index 00000000..0ca0f909 --- /dev/null +++ b/assets/Edges.story-a41093c5.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Edges.story-a41093c5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/FAQ-37efd196.js b/assets/FAQ-37efd196.js new file mode 100644 index 00000000..1cb47a1b --- /dev/null +++ b/assets/FAQ-37efd196.js @@ -0,0 +1,13 @@ +import{j as t}from"./jsx-runtime-5926aa06.js";import{M as i}from"./index-96a2bc4b.js";import{u as s}from"./index-bda0bad7.js";import"./index-ebeaab24.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";function b(e={}){const{wrapper:n}=Object.assign({},s(),e.components);return n?t.jsx(n,Object.assign({},e,{children:t.jsx(r,{})})):r();function r(){const o=Object.assign({h1:"h1",h2:"h2",p:"p",code:"code",ul:"ul",li:"li"},s(),e.components);return t.jsxs(t.Fragment,{children:[t.jsx(i,{title:"Docs/Getting Started/FAQ"}),` +`,t.jsx(o.h1,{id:"faq",children:"FAQ"}),` +`,t.jsx(o.h2,{id:"font-support",children:"Font Support"}),` +`,t.jsxs(o.p,{children:["By default, regraph uses ",t.jsx(o.code,{children:"troika-three-text"}),` which uses the Roboto font +loaded by Google Fonts CDN. You can override this by passing `,t.jsx(o.code,{children:"labelFontUrl"}),`. +The supported font formats are:`]}),` +`,t.jsxs(o.ul,{children:[` +`,t.jsx(o.li,{children:"ttf"}),` +`,t.jsx(o.li,{children:"otf"}),` +`,t.jsx(o.li,{children:"woff"}),` +`]}),` +`,t.jsxs(o.p,{children:["Note: ",t.jsx(o.code,{children:"woff2"})," is not supported."]})]})}}export{b as default}; +//# sourceMappingURL=FAQ-37efd196.js.map diff --git a/assets/FAQ-37efd196.js.map b/assets/FAQ-37efd196.js.map new file mode 100644 index 00000000..8b657b94 --- /dev/null +++ b/assets/FAQ-37efd196.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FAQ-37efd196.js","sources":["../../docs/FAQ.mdx"],"sourcesContent":["import { Meta } from '@storybook/blocks';\n\n\n\n# FAQ\n\n## Font Support\nBy default, regraph uses `troika-three-text` which uses the Roboto font\nloaded by Google Fonts CDN. You can override this by passing `labelFontUrl`.\nThe supported font formats are:\n\n- ttf\n- otf\n- woff\n\nNote: `woff2` is not supported.\n"],"names":["MDXContent","props","MDXLayout","_provideComponents","_jsx","_createMdxContent","_components","_jsxs","_Fragment","Meta"],"mappings":"2YAIA,SAASA,EAAWC,EAAQ,GAAI,CAC9B,KAAM,CAAC,QAASC,CAAS,EAAI,OAAO,OAAO,CAAE,EAAEC,EAAoB,EAAEF,EAAM,UAAU,EACrF,OAAOC,EAAYE,EAAAA,IAAKF,EAAW,OAAO,OAAO,CAAE,EAAED,EAAO,CAC1D,SAAUG,EAAAA,IAAKC,EAAmB,EAAE,CACxC,CAAG,CAAC,EAAIA,IACN,SAASA,GAAoB,CAC3B,MAAMC,EAAc,OAAO,OAAO,CAChC,GAAI,KACJ,GAAI,KACJ,EAAG,IACH,KAAM,OACN,GAAI,KACJ,GAAI,IACL,EAAEH,EAAoB,EAAEF,EAAM,UAAU,EACzC,OAAOM,EAAAA,KAAMC,EAAAA,SAAW,CACtB,SAAU,CAACJ,EAAI,IAACK,EAAM,CACpB,MAAO,0BACR,CAAA,EAAG;AAAA,EAAML,MAAKE,EAAY,GAAI,CAC7B,GAAI,MACJ,SAAU,KACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,GAAI,eACJ,SAAU,cACX,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC,4BAA6BF,MAAKE,EAAY,KAAM,CAC7D,SAAU,mBACX,CAAA,EAAG;AAAA,+DAA8FF,MAAKE,EAAY,KAAM,CACvH,SAAU,cACX,CAAA,EAAG;AAAA,gCAAoC,CACzC,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,GAAI,CAC9B,SAAU,CAAC;AAAA,EAAMF,MAAKE,EAAY,GAAI,CACpC,SAAU,KACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,SAAU,KACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,SAAU,MACX,CAAA,EAAG;AAAA,CAAI,CACT,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC,SAAUF,MAAKE,EAAY,KAAM,CAC1C,SAAU,OACX,CAAA,EAAG,oBAAoB,CAChC,CAAO,CAAC,CACR,CAAK,CACF,CACH"} \ No newline at end of file diff --git a/assets/GlobalScrollAreaStyles-XIHNDKUY-399e99ca.js b/assets/GlobalScrollAreaStyles-XIHNDKUY-399e99ca.js new file mode 100644 index 00000000..8bdda209 --- /dev/null +++ b/assets/GlobalScrollAreaStyles-XIHNDKUY-399e99ca.js @@ -0,0 +1,2 @@ +import{R as r}from"./index-ebeaab24.js";import{k as t,G as i}from"./index-96a2bc4b.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";var e=t`0%{z-index:0}to{z-index:-1}`,s=o=>({"html.os-html, html.os-html>.os-host":{display:"block",overflow:"hidden",boxSizing:"border-box",height:"100%!important",width:"100%!important",minWidth:"100%!important",minHeight:"100%!important",margin:"0!important",position:"absolute!important"},"html.os-html>.os-host>.os-padding":{position:"absolute"},"body.os-dragging, body.os-dragging *":{cursor:"default"},".os-host, .os-host-textarea":{position:"relative",overflow:"visible!important",flexDirection:"column",flexWrap:"nowrap",justifyContent:"flex-start",alignContent:"flex-start",alignItems:"flex-start"},".os-host-flexbox":{overflow:"hidden!important",display:"flex"},".os-host-flexbox>.os-size-auto-observer":{height:"inherit!important"},".os-host-flexbox>.os-content-glue":{flexGrow:1,flexShrink:0},".os-host-flexbox>.os-size-auto-observer, .os-host-flexbox>.os-content-glue":{minHeight:0,minWidth:0,flexGrow:0,flexShrink:1,flexBasis:"auto"},"#os-dummy-scrollbar-size":{position:"fixed",opacity:0,visibility:"hidden",overflow:"scroll",height:500,width:500},"#os-dummy-scrollbar-size>div":{width:"200%",height:"200%",margin:10},"#os-dummy-scrollbar-size, .os-viewport":{},".os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size, .os-viewport-native-scrollbars-invisible.os-viewport":{scrollbarWidth:"none!important"},".os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar, .os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar, .os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar-corner, .os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar-corner":{display:"none!important",width:"0!important",height:"0!important",visibility:"hidden!important",background:"0 0!important"},".os-content-glue":{boxSizing:"inherit",maxHeight:"100%",maxWidth:"100%",width:"100%",pointerEvents:"none"},".os-padding":{boxSizing:"inherit",direction:"inherit",position:"absolute",overflow:"visible",padding:0,margin:0,left:0,top:0,bottom:0,right:0,width:"auto!important",height:"auto!important",zIndex:1},".os-host-overflow>.os-padding":{overflow:"hidden"},".os-viewport":{direction:"inherit!important",boxSizing:"inherit!important",resize:"none!important",outline:"0!important",position:"absolute",overflow:"hidden",top:0,left:0,bottom:0,right:0,padding:0,margin:0},".os-content-arrange":{position:"absolute",zIndex:-1,minHeight:1,minWidth:1,pointerEvents:"none"},".os-content":{direction:"inherit",boxSizing:"border-box!important",position:"relative",display:"block",height:"100%",width:"100%",visibility:"visible"},".os-content:before, .os-content:after":{content:"''",display:"table",width:0,height:0,lineHeight:0,fontSize:0},".os-content>.os-textarea":{boxSizing:"border-box!important",direction:"inherit!important",background:"0 0!important",outline:"0 transparent!important",overflow:"hidden!important",position:"absolute!important",display:"block!important",top:"0!important",left:"0!important",margin:"0!important",borderRadius:"0!important",float:"none!important",filter:"none!important",border:"0!important",resize:"none!important",transform:"none!important",maxWidth:"none!important",maxHeight:"none!important",boxShadow:"none!important",perspective:"none!important",opacity:"1!important",zIndex:"1!important",clip:"auto!important",verticalAlign:"baseline!important",padding:0},".os-host-rtl>.os-padding>.os-viewport>.os-content>.os-textarea":{right:"0!important"},".os-content>.os-textarea-cover":{zIndex:-1,pointerEvents:"none"},".os-content>.os-textarea[wrap=off]":{whiteSpace:"pre!important",margin:"0!important"},".os-text-inherit":{fontFamily:"inherit",fontSize:"inherit",fontWeight:"inherit",fontStyle:"inherit",fontVariant:"inherit",textTransform:"inherit",textDecoration:"inherit",textIndent:"inherit",textAlign:"inherit",textShadow:"inherit",textOverflow:"inherit",letterSpacing:"inherit",wordSpacing:"inherit",lineHeight:"inherit",unicodeBidi:"inherit",direction:"inherit",color:"inherit",cursor:"text"},".os-resize-observer, .os-resize-observer-host":{boxSizing:"inherit",display:"block",opacity:0,position:"absolute",top:0,left:0,height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none",zIndex:-1},".os-resize-observer-host":{padding:"inherit",border:"inherit",borderColor:"transparent",borderStyle:"solid",boxSizing:"border-box"},".os-resize-observer-host:after":{content:"''"},".os-resize-observer-host>.os-resize-observer, .os-resize-observer-host:after":{height:"200%",width:"200%",padding:"inherit",border:"inherit",margin:0,display:"block",boxSizing:"content-box"},".os-resize-observer.observed, object.os-resize-observer":{boxSizing:"border-box!important"},".os-size-auto-observer":{boxSizing:"inherit!important",height:"100%",width:"inherit",maxWidth:1,position:"relative",float:"left",maxHeight:1,overflow:"hidden",zIndex:-1,padding:0,margin:0,pointerEvents:"none",flexGrow:"inherit",flexShrink:0,flexBasis:0},".os-size-auto-observer>.os-resize-observer":{width:"1000%",height:"1000%",minHeight:1,minWidth:1},".os-resize-observer-item":{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden",zIndex:-1,opacity:0,direction:"ltr!important",flex:"none!important"},".os-resize-observer-item-final":{position:"absolute",left:0,top:0,transition:"none!important",flex:"none!important"},".os-resize-observer":{animationDuration:".001s",animationName:`${e}`},".os-host-transition>.os-scrollbar, .os-host-transition>.os-scrollbar-corner":{transition:"opacity .3s,visibility .3s,top .3s,right .3s,bottom .3s,left .3s"},"html.os-html>.os-host>.os-scrollbar":{position:"absolute",zIndex:999999},".os-scrollbar, .os-scrollbar-corner":{position:"absolute",opacity:1,zIndex:1},".os-scrollbar-corner":{bottom:0,right:0,height:10,width:10,backgroundColor:"transparent"},".os-scrollbar":{pointerEvents:"none",padding:2,boxSizing:"border-box",background:0},".os-scrollbar-track":{pointerEvents:"auto",position:"relative",height:"100%",width:"100%",padding:"0!important",border:"0!important"},".os-scrollbar-handle":{pointerEvents:"auto",position:"absolute",width:"100%",height:"100%"},".os-scrollbar-handle-off, .os-scrollbar-track-off":{pointerEvents:"none"},".os-scrollbar.os-scrollbar-unusable, .os-scrollbar.os-scrollbar-unusable *":{pointerEvents:"none!important"},".os-scrollbar.os-scrollbar-unusable .os-scrollbar-handle":{opacity:"0!important"},".os-scrollbar-horizontal":{bottom:0,left:0,right:10,height:10},".os-scrollbar-vertical":{top:0,right:0,bottom:10,width:10},".os-host-rtl>.os-scrollbar-horizontal":{right:0},".os-host-rtl>.os-scrollbar-vertical":{right:"auto",left:0},".os-host-rtl>.os-scrollbar-corner":{right:"auto",left:0},".os-scrollbar-auto-hidden, .os-padding+.os-scrollbar-corner, .os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-corner, .os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal, .os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-corner, .os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical, .os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical+.os-scrollbar-corner, .os-scrollbar-horizontal+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner, .os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner":{opacity:0,visibility:"hidden",pointerEvents:"none"},".os-scrollbar-corner-resize-both":{cursor:"nwse-resize"},".os-host-rtl>.os-scrollbar-corner-resize-both":{cursor:"nesw-resize"},".os-scrollbar-corner-resize-horizontal":{cursor:"ew-resize"},".os-scrollbar-corner-resize-vertical":{cursor:"ns-resize"},".os-dragging .os-scrollbar-corner.os-scrollbar-corner-resize":{cursor:"default"},".os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-vertical":{top:0,bottom:0},".os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal, .os-host-rtl.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal":{right:0,left:0},".os-scrollbar:hover, .os-scrollbar-corner.os-scrollbar-corner-resize":{opacity:"1!important",visibility:"visible!important"},".os-scrollbar-corner.os-scrollbar-corner-resize":{backgroundImage:"linear-gradient(135deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.4) 100%)",backgroundRepeat:"no-repeat",backgroundPosition:"100% 100%",pointerEvents:"auto!important"},".os-host-rtl>.os-scrollbar-corner.os-scrollbar-corner-resize":{transform:"scale(-1,1)"},".os-host-overflow":{overflow:"hidden!important"},".os-theme-dark.os-host-rtl>.os-scrollbar-horizontal":{left:10,right:0},".os-scrollbar.os-scrollbar-unusable":{background:0},".os-scrollbar>.os-scrollbar-track":{background:0},".os-scrollbar-horizontal>.os-scrollbar-track>.os-scrollbar-handle":{minWidth:30},".os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle":{minHeight:30},".os-theme-dark.os-host-transition>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle":{transition:"background-color .3s"},".os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle, .os-scrollbar>.os-scrollbar-track":{borderRadius:10},".os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle":{background:o.textMutedColor,opacity:.5},".os-scrollbar:hover>.os-scrollbar-track>.os-scrollbar-handle":{opacity:.6},".os-scrollbar-horizontal .os-scrollbar-handle:before, .os-scrollbar-vertical .os-scrollbar-handle:before":{content:"''",position:"absolute",left:0,right:0,top:0,bottom:0,display:"block"},".os-theme-dark.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal .os-scrollbar-handle:before, .os-theme-dark.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical .os-scrollbar-handle:before":{display:"none"},".os-scrollbar-horizontal .os-scrollbar-handle:before":{top:-6,bottom:-2},".os-scrollbar-vertical .os-scrollbar-handle:before":{left:-6,right:-2},".os-host-rtl.os-scrollbar-vertical .os-scrollbar-handle:before":{right:-6,left:-2}}),l=()=>r.createElement(i,{styles:s}),f=l;export{f as default,s as getScrollAreaStyles}; +//# sourceMappingURL=GlobalScrollAreaStyles-XIHNDKUY-399e99ca.js.map diff --git a/assets/GlobalScrollAreaStyles-XIHNDKUY-399e99ca.js.map b/assets/GlobalScrollAreaStyles-XIHNDKUY-399e99ca.js.map new file mode 100644 index 00000000..73a94567 --- /dev/null +++ b/assets/GlobalScrollAreaStyles-XIHNDKUY-399e99ca.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GlobalScrollAreaStyles-XIHNDKUY-399e99ca.js","sources":["../../node_modules/@storybook/components/dist/GlobalScrollAreaStyles-XIHNDKUY.mjs"],"sourcesContent":["import './chunk-NNAAFZ4U.mjs';\nimport React from 'react';\nimport { keyframes, Global } from '@storybook/theming';\n\nvar hsResizeObserverDummyAnimation=keyframes`0%{z-index:0}to{z-index:-1}`,getScrollAreaStyles=theme=>({\"html.os-html, html.os-html>.os-host\":{display:\"block\",overflow:\"hidden\",boxSizing:\"border-box\",height:\"100%!important\",width:\"100%!important\",minWidth:\"100%!important\",minHeight:\"100%!important\",margin:\"0!important\",position:\"absolute!important\"},\"html.os-html>.os-host>.os-padding\":{position:\"absolute\"},\"body.os-dragging, body.os-dragging *\":{cursor:\"default\"},\".os-host, .os-host-textarea\":{position:\"relative\",overflow:\"visible!important\",flexDirection:\"column\",flexWrap:\"nowrap\",justifyContent:\"flex-start\",alignContent:\"flex-start\",alignItems:\"flex-start\"},\".os-host-flexbox\":{overflow:\"hidden!important\",display:\"flex\"},\".os-host-flexbox>.os-size-auto-observer\":{height:\"inherit!important\"},\".os-host-flexbox>.os-content-glue\":{flexGrow:1,flexShrink:0},\".os-host-flexbox>.os-size-auto-observer, .os-host-flexbox>.os-content-glue\":{minHeight:0,minWidth:0,flexGrow:0,flexShrink:1,flexBasis:\"auto\"},\"#os-dummy-scrollbar-size\":{position:\"fixed\",opacity:0,visibility:\"hidden\",overflow:\"scroll\",height:500,width:500},\"#os-dummy-scrollbar-size>div\":{width:\"200%\",height:\"200%\",margin:10},\"#os-dummy-scrollbar-size, .os-viewport\":{},\".os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size, .os-viewport-native-scrollbars-invisible.os-viewport\":{scrollbarWidth:\"none!important\"},\".os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar, .os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar, .os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar-corner, .os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar-corner\":{display:\"none!important\",width:\"0!important\",height:\"0!important\",visibility:\"hidden!important\",background:\"0 0!important\"},\".os-content-glue\":{boxSizing:\"inherit\",maxHeight:\"100%\",maxWidth:\"100%\",width:\"100%\",pointerEvents:\"none\"},\".os-padding\":{boxSizing:\"inherit\",direction:\"inherit\",position:\"absolute\",overflow:\"visible\",padding:0,margin:0,left:0,top:0,bottom:0,right:0,width:\"auto!important\",height:\"auto!important\",zIndex:1},\".os-host-overflow>.os-padding\":{overflow:\"hidden\"},\".os-viewport\":{direction:\"inherit!important\",boxSizing:\"inherit!important\",resize:\"none!important\",outline:\"0!important\",position:\"absolute\",overflow:\"hidden\",top:0,left:0,bottom:0,right:0,padding:0,margin:0},\".os-content-arrange\":{position:\"absolute\",zIndex:-1,minHeight:1,minWidth:1,pointerEvents:\"none\"},\".os-content\":{direction:\"inherit\",boxSizing:\"border-box!important\",position:\"relative\",display:\"block\",height:\"100%\",width:\"100%\",visibility:\"visible\"},\".os-content:before, .os-content:after\":{content:\"''\",display:\"table\",width:0,height:0,lineHeight:0,fontSize:0},\".os-content>.os-textarea\":{boxSizing:\"border-box!important\",direction:\"inherit!important\",background:\"0 0!important\",outline:\"0 transparent!important\",overflow:\"hidden!important\",position:\"absolute!important\",display:\"block!important\",top:\"0!important\",left:\"0!important\",margin:\"0!important\",borderRadius:\"0!important\",float:\"none!important\",filter:\"none!important\",border:\"0!important\",resize:\"none!important\",transform:\"none!important\",maxWidth:\"none!important\",maxHeight:\"none!important\",boxShadow:\"none!important\",perspective:\"none!important\",opacity:\"1!important\",zIndex:\"1!important\",clip:\"auto!important\",verticalAlign:\"baseline!important\",padding:0},\".os-host-rtl>.os-padding>.os-viewport>.os-content>.os-textarea\":{right:\"0!important\"},\".os-content>.os-textarea-cover\":{zIndex:-1,pointerEvents:\"none\"},\".os-content>.os-textarea[wrap=off]\":{whiteSpace:\"pre!important\",margin:\"0!important\"},\".os-text-inherit\":{fontFamily:\"inherit\",fontSize:\"inherit\",fontWeight:\"inherit\",fontStyle:\"inherit\",fontVariant:\"inherit\",textTransform:\"inherit\",textDecoration:\"inherit\",textIndent:\"inherit\",textAlign:\"inherit\",textShadow:\"inherit\",textOverflow:\"inherit\",letterSpacing:\"inherit\",wordSpacing:\"inherit\",lineHeight:\"inherit\",unicodeBidi:\"inherit\",direction:\"inherit\",color:\"inherit\",cursor:\"text\"},\".os-resize-observer, .os-resize-observer-host\":{boxSizing:\"inherit\",display:\"block\",opacity:0,position:\"absolute\",top:0,left:0,height:\"100%\",width:\"100%\",overflow:\"hidden\",pointerEvents:\"none\",zIndex:-1},\".os-resize-observer-host\":{padding:\"inherit\",border:\"inherit\",borderColor:\"transparent\",borderStyle:\"solid\",boxSizing:\"border-box\"},\".os-resize-observer-host:after\":{content:\"''\"},\".os-resize-observer-host>.os-resize-observer, .os-resize-observer-host:after\":{height:\"200%\",width:\"200%\",padding:\"inherit\",border:\"inherit\",margin:0,display:\"block\",boxSizing:\"content-box\"},\".os-resize-observer.observed, object.os-resize-observer\":{boxSizing:\"border-box!important\"},\".os-size-auto-observer\":{boxSizing:\"inherit!important\",height:\"100%\",width:\"inherit\",maxWidth:1,position:\"relative\",float:\"left\",maxHeight:1,overflow:\"hidden\",zIndex:-1,padding:0,margin:0,pointerEvents:\"none\",flexGrow:\"inherit\",flexShrink:0,flexBasis:0},\".os-size-auto-observer>.os-resize-observer\":{width:\"1000%\",height:\"1000%\",minHeight:1,minWidth:1},\".os-resize-observer-item\":{position:\"absolute\",top:0,right:0,bottom:0,left:0,overflow:\"hidden\",zIndex:-1,opacity:0,direction:\"ltr!important\",flex:\"none!important\"},\".os-resize-observer-item-final\":{position:\"absolute\",left:0,top:0,transition:\"none!important\",flex:\"none!important\"},\".os-resize-observer\":{animationDuration:\".001s\",animationName:`${hsResizeObserverDummyAnimation}`},\".os-host-transition>.os-scrollbar, .os-host-transition>.os-scrollbar-corner\":{transition:\"opacity .3s,visibility .3s,top .3s,right .3s,bottom .3s,left .3s\"},\"html.os-html>.os-host>.os-scrollbar\":{position:\"absolute\",zIndex:999999},\".os-scrollbar, .os-scrollbar-corner\":{position:\"absolute\",opacity:1,zIndex:1},\".os-scrollbar-corner\":{bottom:0,right:0,height:10,width:10,backgroundColor:\"transparent\"},\".os-scrollbar\":{pointerEvents:\"none\",padding:2,boxSizing:\"border-box\",background:0},\".os-scrollbar-track\":{pointerEvents:\"auto\",position:\"relative\",height:\"100%\",width:\"100%\",padding:\"0!important\",border:\"0!important\"},\".os-scrollbar-handle\":{pointerEvents:\"auto\",position:\"absolute\",width:\"100%\",height:\"100%\"},\".os-scrollbar-handle-off, .os-scrollbar-track-off\":{pointerEvents:\"none\"},\".os-scrollbar.os-scrollbar-unusable, .os-scrollbar.os-scrollbar-unusable *\":{pointerEvents:\"none!important\"},\".os-scrollbar.os-scrollbar-unusable .os-scrollbar-handle\":{opacity:\"0!important\"},\".os-scrollbar-horizontal\":{bottom:0,left:0,right:10,height:10},\".os-scrollbar-vertical\":{top:0,right:0,bottom:10,width:10},\".os-host-rtl>.os-scrollbar-horizontal\":{right:0},\".os-host-rtl>.os-scrollbar-vertical\":{right:\"auto\",left:0},\".os-host-rtl>.os-scrollbar-corner\":{right:\"auto\",left:0},\".os-scrollbar-auto-hidden, .os-padding+.os-scrollbar-corner, .os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-corner, .os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal, .os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-corner, .os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical, .os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical+.os-scrollbar-corner, .os-scrollbar-horizontal+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner, .os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner\":{opacity:0,visibility:\"hidden\",pointerEvents:\"none\"},\".os-scrollbar-corner-resize-both\":{cursor:\"nwse-resize\"},\".os-host-rtl>.os-scrollbar-corner-resize-both\":{cursor:\"nesw-resize\"},\".os-scrollbar-corner-resize-horizontal\":{cursor:\"ew-resize\"},\".os-scrollbar-corner-resize-vertical\":{cursor:\"ns-resize\"},\".os-dragging .os-scrollbar-corner.os-scrollbar-corner-resize\":{cursor:\"default\"},\".os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-vertical\":{top:0,bottom:0},\".os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal, .os-host-rtl.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal\":{right:0,left:0},\".os-scrollbar:hover, .os-scrollbar-corner.os-scrollbar-corner-resize\":{opacity:\"1!important\",visibility:\"visible!important\"},\".os-scrollbar-corner.os-scrollbar-corner-resize\":{backgroundImage:\"linear-gradient(135deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.4) 100%)\",backgroundRepeat:\"no-repeat\",backgroundPosition:\"100% 100%\",pointerEvents:\"auto!important\"},\".os-host-rtl>.os-scrollbar-corner.os-scrollbar-corner-resize\":{transform:\"scale(-1,1)\"},\".os-host-overflow\":{overflow:\"hidden!important\"},\".os-theme-dark.os-host-rtl>.os-scrollbar-horizontal\":{left:10,right:0},\".os-scrollbar.os-scrollbar-unusable\":{background:0},\".os-scrollbar>.os-scrollbar-track\":{background:0},\".os-scrollbar-horizontal>.os-scrollbar-track>.os-scrollbar-handle\":{minWidth:30},\".os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle\":{minHeight:30},\".os-theme-dark.os-host-transition>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle\":{transition:\"background-color .3s\"},\".os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle, .os-scrollbar>.os-scrollbar-track\":{borderRadius:10},\".os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle\":{background:theme.textMutedColor,opacity:.5},\".os-scrollbar:hover>.os-scrollbar-track>.os-scrollbar-handle\":{opacity:.6},\".os-scrollbar-horizontal .os-scrollbar-handle:before, .os-scrollbar-vertical .os-scrollbar-handle:before\":{content:\"''\",position:\"absolute\",left:0,right:0,top:0,bottom:0,display:\"block\"},\".os-theme-dark.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal .os-scrollbar-handle:before, .os-theme-dark.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical .os-scrollbar-handle:before\":{display:\"none\"},\".os-scrollbar-horizontal .os-scrollbar-handle:before\":{top:-6,bottom:-2},\".os-scrollbar-vertical .os-scrollbar-handle:before\":{left:-6,right:-2},\".os-host-rtl.os-scrollbar-vertical .os-scrollbar-handle:before\":{right:-6,left:-2}}),GlobalScrollAreaStyles=()=>React.createElement(Global,{styles:getScrollAreaStyles}),GlobalScrollAreaStyles_default=GlobalScrollAreaStyles;\n\nexport { GlobalScrollAreaStyles_default as default, getScrollAreaStyles };\n"],"names":["hsResizeObserverDummyAnimation","keyframes","getScrollAreaStyles","theme","GlobalScrollAreaStyles","React","Global","GlobalScrollAreaStyles_default"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/assets/Hotkeys-7c02e605.js b/assets/Hotkeys-7c02e605.js new file mode 100644 index 00000000..72845c28 --- /dev/null +++ b/assets/Hotkeys-7c02e605.js @@ -0,0 +1,2 @@ +import{j as t}from"./jsx-runtime-5926aa06.js";import{M as n}from"./index-96a2bc4b.js";import{u as i}from"./index-bda0bad7.js";import"./index-ebeaab24.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";function l(o={}){const{wrapper:r}=Object.assign({},i(),o.components);return r?t.jsx(r,Object.assign({},o,{children:t.jsx(e,{})})):e();function e(){return t.jsx(n,{title:"Docs/Advanced/Hotkeys"})}}export{l as default}; +//# sourceMappingURL=Hotkeys-7c02e605.js.map diff --git a/assets/Hotkeys-7c02e605.js.map b/assets/Hotkeys-7c02e605.js.map new file mode 100644 index 00000000..14029950 --- /dev/null +++ b/assets/Hotkeys-7c02e605.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Hotkeys-7c02e605.js","sources":["../../docs/Hotkeys.mdx"],"sourcesContent":["import { Meta } from '@storybook/blocks';\n\n\n\n"],"names":["MDXContent","props","MDXLayout","_provideComponents","_jsx","_createMdxContent","Meta"],"mappings":"2YAIA,SAASA,EAAWC,EAAQ,GAAI,CAC9B,KAAM,CAAC,QAASC,CAAS,EAAI,OAAO,OAAO,CAAE,EAAEC,EAAoB,EAAEF,EAAM,UAAU,EACrF,OAAOC,EAAYE,EAAAA,IAAKF,EAAW,OAAO,OAAO,CAAE,EAAED,EAAO,CAC1D,SAAUG,EAAAA,IAAKC,EAAmB,EAAE,CACxC,CAAG,CAAC,EAAIA,IACN,SAASA,GAAoB,CAC3B,OAAOD,EAAAA,IAAKE,EAAM,CAChB,MAAO,uBACb,CAAK,CACF,CACH"} \ No newline at end of file diff --git a/assets/HoverHighlightTypes.story-abfe7873.js b/assets/HoverHighlightTypes.story-abfe7873.js new file mode 100644 index 00000000..433732f0 --- /dev/null +++ b/assets/HoverHighlightTypes.story-abfe7873.js @@ -0,0 +1,65 @@ +import{j as C}from"./jsx-runtime-5926aa06.js";import{r as N}from"./index-ebeaab24.js";import{G as d}from"./RadialMenu-93524eec.js";import{u as m}from"./useSelection-7210d826.js";import{c as o,d as n}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const q={title:"Demos/Highlight/Hover",component:d},l=()=>{const e=N.useRef(null),{selections:s,onNodeClick:r,onCanvasClick:t,onNodePointerOver:a,onNodePointerOut:c}=m({ref:e,nodes:o,edges:n,pathHoverType:"direct"});return C.jsx(d,{ref:e,nodes:o,edges:n,selections:s,onNodePointerOver:a,onNodePointerOut:c,onNodeClick:r,onCanvasClick:t})},p=()=>{const e=N.useRef(null),{selections:s,actives:r,onNodeClick:t,onCanvasClick:a,onNodePointerOver:c,onNodePointerOut:i}=m({ref:e,nodes:o,edges:n,pathHoverType:"in"});return C.jsx(d,{ref:e,nodes:o,edges:n,selections:s,actives:r,onNodePointerOver:c,onNodePointerOut:i,onCanvasClick:a,onNodeClick:t})},u=()=>{const e=N.useRef(null),{selections:s,actives:r,onNodeClick:t,onCanvasClick:a,onNodePointerOver:c,onNodePointerOut:i}=m({ref:e,nodes:o,edges:n,pathHoverType:"out"});return C.jsx(d,{ref:e,nodes:o,edges:n,selections:s,actives:r,onNodePointerOver:c,onNodePointerOut:i,onCanvasClick:a,onNodeClick:t})},v=()=>{const e=N.useRef(null),{selections:s,actives:r,onNodeClick:t,onCanvasClick:a,onNodePointerOver:c,onNodePointerOut:i}=m({ref:e,nodes:o,edges:n,pathHoverType:"all"});return C.jsx(d,{ref:e,nodes:o,edges:n,selections:s,actives:r,onNodePointerOver:c,onNodePointerOut:i,onCanvasClick:a,onNodeClick:t})};var f,g,h;l.parameters={...l.parameters,docs:{...(f=l.parameters)==null?void 0:f.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + onNodeClick, + onCanvasClick, + onNodePointerOver, + onNodePointerOut + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + pathHoverType: 'direct' + }); + return ; +}`,...(h=(g=l.parameters)==null?void 0:g.docs)==null?void 0:h.source}}};var O,k,P;p.parameters={...p.parameters,docs:{...(O=p.parameters)==null?void 0:O.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + actives, + onNodeClick, + onCanvasClick, + onNodePointerOver, + onNodePointerOut + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + pathHoverType: 'in' + }); + return ; +}`,...(P=(k=p.parameters)==null?void 0:k.docs)==null?void 0:P.source}}};var R,x,H;u.parameters={...u.parameters,docs:{...(R=u.parameters)==null?void 0:R.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + actives, + onNodeClick, + onCanvasClick, + onNodePointerOver, + onNodePointerOut + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + pathHoverType: 'out' + }); + return ; +}`,...(H=(x=u.parameters)==null?void 0:x.docs)==null?void 0:H.source}}};var E,y,G;v.parameters={...v.parameters,docs:{...(E=v.parameters)==null?void 0:E.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + actives, + onNodeClick, + onCanvasClick, + onNodePointerOver, + onNodePointerOut + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + pathHoverType: 'all' + }); + return ; +}`,...(G=(y=v.parameters)==null?void 0:y.docs)==null?void 0:G.source}}};export{v as All,l as Direct,p as Inwards,u as Outwards,q as default}; +//# sourceMappingURL=HoverHighlightTypes.story-abfe7873.js.map diff --git a/assets/HoverHighlightTypes.story-abfe7873.js.map b/assets/HoverHighlightTypes.story-abfe7873.js.map new file mode 100644 index 00000000..5ee929ff --- /dev/null +++ b/assets/HoverHighlightTypes.story-abfe7873.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HoverHighlightTypes.story-abfe7873.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/Installing-f43d0dea.js b/assets/Installing-f43d0dea.js new file mode 100644 index 00000000..a2b22796 --- /dev/null +++ b/assets/Installing-f43d0dea.js @@ -0,0 +1,27 @@ +import{j as n}from"./jsx-runtime-5926aa06.js";import{M as s}from"./index-96a2bc4b.js";import{u as o}from"./index-bda0bad7.js";import"./index-ebeaab24.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";function b(t={}){const{wrapper:i}=Object.assign({},o(),t.components);return i?n.jsx(i,Object.assign({},t,{children:n.jsx(r,{})})):r();function r(){const e=Object.assign({h1:"h1",h2:"h2",p:"p",a:"a",ul:"ul",li:"li",code:"code"},o(),t.components);return n.jsxs(n.Fragment,{children:[n.jsx(s,{title:"Docs/Getting Started/Installing"}),` +`,n.jsx(e.h1,{id:"getting-started",children:"Getting Started"}),` +`,n.jsx(e.h2,{id:"installing",children:"Installing"}),` +`,n.jsxs(e.p,{children:["You can install reagraph with ",n.jsx(e.a,{href:"https://www.npmjs.com/package/reagraph",target:"_blank",rel:"nofollow noopener noreferrer",children:"NPM"})," or Yarn."]}),` +`,n.jsxs(e.ul,{children:[` +`,n.jsxs(e.li,{children:["NPM: ",n.jsx(e.code,{children:"npm install reagraph --save"})]}),` +`,n.jsxs(e.li,{children:["YARN: ",n.jsx(e.code,{children:"yarn add reagraph"})]}),` +`]}),` +`,n.jsx(e.h2,{id:"compatibility",children:"Compatibility"}),` +`,n.jsx(e.p,{children:"reagraph is compatible with React v16+ and works with ReactDOM. React Native is not supported at this time."}),` +`,n.jsx(e.h2,{id:"developing",children:"Developing"}),` +`,n.jsx(e.p,{children:"If you want to run the project locally, its really easy!"}),` +`,n.jsx(e.p,{children:`The project uses Storybook for its demos and development +environment. To run it locally:`}),` +`,n.jsxs(e.ul,{children:[` +`,n.jsx(e.li,{children:"Clone repo"}),` +`,n.jsx(e.li,{children:n.jsx(e.code,{children:"yarn install"})}),` +`,n.jsx(e.li,{children:n.jsx(e.code,{children:"yarn start"})}),` +`]}),` +`,n.jsx(e.p,{children:`Once started the browser will open to the storybook url. +From here you can tweak the charts and see them build +and reload in real time.`}),` +`,n.jsxs(e.p,{children:[`We use Rollup to build and package for distribution. +You can run this by doing `,n.jsx(e.code,{children:"yarn build"}),` and it will +create a `,n.jsx(e.code,{children:"dist"}),` folder with the type definitions, bundled +javascript and css files.`]})]})}}export{b as default}; +//# sourceMappingURL=Installing-f43d0dea.js.map diff --git a/assets/Installing-f43d0dea.js.map b/assets/Installing-f43d0dea.js.map new file mode 100644 index 00000000..6eb1117d --- /dev/null +++ b/assets/Installing-f43d0dea.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Installing-f43d0dea.js","sources":["../../docs/Installing.mdx"],"sourcesContent":["import { Meta } from '@storybook/blocks';\n\n\n\n# Getting Started\n\n## Installing\n\nYou can install reagraph with [NPM](https://www.npmjs.com/package/reagraph) or Yarn.\n\n- NPM: `npm install reagraph --save`\n- YARN: `yarn add reagraph`\n\n## Compatibility\n\nreagraph is compatible with React v16+ and works with ReactDOM. React Native is not supported at this time.\n\n## Developing\n\nIf you want to run the project locally, its really easy!\n\nThe project uses Storybook for its demos and development\nenvironment. To run it locally:\n\n- Clone repo\n- `yarn install`\n- `yarn start`\n\nOnce started the browser will open to the storybook url.\nFrom here you can tweak the charts and see them build\nand reload in real time.\n\nWe use Rollup to build and package for distribution.\nYou can run this by doing `yarn build` and it will\ncreate a `dist` folder with the type definitions, bundled\njavascript and css files.\n"],"names":["MDXContent","props","MDXLayout","_provideComponents","_jsx","_createMdxContent","_components","_jsxs","_Fragment","Meta"],"mappings":"2YAIA,SAASA,EAAWC,EAAQ,GAAI,CAC9B,KAAM,CAAC,QAASC,CAAS,EAAI,OAAO,OAAO,CAAE,EAAEC,EAAoB,EAAEF,EAAM,UAAU,EACrF,OAAOC,EAAYE,EAAAA,IAAKF,EAAW,OAAO,OAAO,CAAE,EAAED,EAAO,CAC1D,SAAUG,EAAAA,IAAKC,EAAmB,EAAE,CACxC,CAAG,CAAC,EAAIA,IACN,SAASA,GAAoB,CAC3B,MAAMC,EAAc,OAAO,OAAO,CAChC,GAAI,KACJ,GAAI,KACJ,EAAG,IACH,EAAG,IACH,GAAI,KACJ,GAAI,KACJ,KAAM,MACP,EAAEH,EAAoB,EAAEF,EAAM,UAAU,EACzC,OAAOM,EAAAA,KAAMC,EAAAA,SAAW,CACtB,SAAU,CAACJ,EAAI,IAACK,EAAM,CACpB,MAAO,iCACR,CAAA,EAAG;AAAA,EAAML,MAAKE,EAAY,GAAI,CAC7B,GAAI,kBACJ,SAAU,iBACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,GAAI,aACJ,SAAU,YACX,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC,iCAAkCF,MAAKE,EAAY,EAAG,CAC/D,KAAM,yCACN,OAAQ,SACR,IAAK,+BACL,SAAU,KACX,CAAA,EAAG,WAAW,CAChB,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,GAAI,CAC9B,SAAU,CAAC;AAAA,EAAMC,OAAMD,EAAY,GAAI,CACrC,SAAU,CAAC,QAASF,MAAKE,EAAY,KAAM,CACzC,SAAU,6BACtB,CAAW,CAAC,CACH,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,GAAI,CAC9B,SAAU,CAAC,SAAUF,MAAKE,EAAY,KAAM,CAC1C,SAAU,mBACtB,CAAW,CAAC,CACH,CAAA,EAAG;AAAA,CAAI,CACT,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,GAAI,gBACJ,SAAU,eACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,EAAG,CAC5B,SAAU,6GACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,GAAI,aACJ,SAAU,YACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,EAAG,CAC5B,SAAU,0DACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,EAAG,CAC5B,SAAU;AAAA,gCACX,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,GAAI,CAC9B,SAAU,CAAC;AAAA,EAAMF,MAAKE,EAAY,GAAI,CACpC,SAAU,YACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,SAAU,cACtB,CAAW,CACF,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,GAAI,CAC7B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,SAAU,YACtB,CAAW,CACF,CAAA,EAAG;AAAA,CAAI,CACT,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,EAAG,CAC5B,SAAU;AAAA;AAAA,yBACX,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC;AAAA,4BAAoFF,MAAKE,EAAY,KAAM,CACpH,SAAU,YACX,CAAA,EAAG;AAAA,WAA2BF,MAAKE,EAAY,KAAM,CACpD,SAAU,MACX,CAAA,EAAG;AAAA,0BAAuE,CACnF,CAAO,CAAC,CACR,CAAK,CACF,CACH"} \ No newline at end of file diff --git a/assets/Intro-f75e7fff.js b/assets/Intro-f75e7fff.js new file mode 100644 index 00000000..b295f014 --- /dev/null +++ b/assets/Intro-f75e7fff.js @@ -0,0 +1,3 @@ +import{j as t}from"./jsx-runtime-5926aa06.js";import{M as h}from"./index-96a2bc4b.js";import{u as i}from"./index-bda0bad7.js";import"./index-ebeaab24.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";function f(r={}){const{wrapper:e}=Object.assign({},i(),r.components);return e?t.jsx(e,Object.assign({},r,{children:t.jsx(a,{})})):a();function a(){const s=Object.assign({p:"p"},i(),r.components);return t.jsxs(t.Fragment,{children:[t.jsx(h,{title:"Docs/Intro"}),` +`,t.jsxs("div",{style:{margin:"0 auto",maxWidth:"600px",color:"white",textAlign:"center"},children:[t.jsx("img",{style:{width:"75%",margin:"0 auto 2em auto"},src:"https://github.com/reaviz/reagraph/raw/master/docs/assets/logo.png"}),t.jsx("br",{}),t.jsx("br",{}),t.jsx("a",{href:"https://github.com/reaviz/reagraph/workflows/build/",target:"_blank",children:t.jsx("img",{src:"https://github.com/reaviz/reagraph/workflows/build/badge.svg?branch=master"})}),t.jsx("a",{href:"https://npm.im/reagraph",target:"_blank",children:t.jsx("img",{src:"https://img.shields.io/npm/v/reagraph.svg"})}),t.jsx("a",{href:"https://npm.im/reagraph",target:"_blank",children:t.jsx("img",{src:"https://badgen.net/npm/dw/reagraph"})}),t.jsx("a",{href:"https://github.com/reaviz/reagraph/blob/master/LICENSE",target:"_blank",children:t.jsx("img",{src:"https://badgen.now.sh/badge/license/apache2"})}),t.jsx("a",{href:"https://bundlephobia.com/result?p=reagraph",target:"_blank",children:t.jsx("img",{src:"https://badgen.net/bundlephobia/minzip/reagraph"})}),t.jsx("a",{href:"https://github.com/reaviz/reagraph",target:"_blank",children:t.jsx("img",{alt:"GitHub stars",src:"https://img.shields.io/github/stars/reaviz/reagraph?style=social"})}),t.jsx("a",{href:"https://discord.gg/tt8wGExq35",target:"_blank",children:t.jsx("img",{src:"https://img.shields.io/discord/773948315037073409?label=discord"})}),t.jsx("hr",{}),t.jsx(s.p,{children:"Reagraph is a high-performance network graph visualization built in WebGL for React."}),t.jsxs(s.p,{children:["If you are looking for flow charts, checkout ",t.jsx("a",{href:"https://reaflow.dev",target:"_blank",children:"reaflow"}),"."]})]})]})}}export{f as default}; +//# sourceMappingURL=Intro-f75e7fff.js.map diff --git a/assets/Intro-f75e7fff.js.map b/assets/Intro-f75e7fff.js.map new file mode 100644 index 00000000..0ab7f539 --- /dev/null +++ b/assets/Intro-f75e7fff.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Intro-f75e7fff.js","sources":["../../docs/Intro.mdx"],"sourcesContent":["import { Meta } from '@storybook/blocks';\n\n\n\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \"GitHub\n \n \n \n \n\n
\n\n Reagraph is a high-performance network graph visualization built in WebGL for React.\n\n If you are looking for flow charts, checkout reaflow.\n
\n"],"names":["MDXContent","props","MDXLayout","_provideComponents","_jsx","_createMdxContent","_components","_jsxs","_Fragment","Meta"],"mappings":"2YAIA,SAASA,EAAWC,EAAQ,GAAI,CAC9B,KAAM,CAAC,QAASC,CAAS,EAAI,OAAO,OAAO,CAAE,EAAEC,EAAoB,EAAEF,EAAM,UAAU,EACrF,OAAOC,EAAYE,EAAAA,IAAKF,EAAW,OAAO,OAAO,CAAE,EAAED,EAAO,CAC1D,SAAUG,EAAAA,IAAKC,EAAmB,EAAE,CACxC,CAAG,CAAC,EAAIA,IACN,SAASA,GAAoB,CAC3B,MAAMC,EAAc,OAAO,OAAO,CAChC,EAAG,GACJ,EAAEH,EAAoB,EAAEF,EAAM,UAAU,EACzC,OAAOM,EAAAA,KAAMC,EAAAA,SAAW,CACtB,SAAU,CAACJ,EAAI,IAACK,EAAM,CACpB,MAAO,YACf,CAAO,EAAG;AAAA,EAAMF,EAAK,KAAC,MAAO,CACrB,MAAO,CACL,OAAQ,SACR,SAAU,QACV,MAAO,QACP,UAAW,QACZ,EACD,SAAU,CAACH,EAAI,IAAC,MAAO,CACrB,MAAO,CACL,MAAO,MACP,OAAQ,iBACT,EACD,IAAK,oEACf,CAAS,EAAGA,EAAAA,IAAK,KAAM,EAAE,EAAGA,MAAK,KAAM,CAAE,CAAA,EAAGA,EAAI,IAAC,IAAK,CAC5C,KAAM,sDACN,OAAQ,SACR,SAAUA,EAAI,IAAC,MAAO,CACpB,IAAK,4EACjB,CAAW,CACX,CAAS,EAAGA,EAAI,IAAC,IAAK,CACZ,KAAM,0BACN,OAAQ,SACR,SAAUA,EAAI,IAAC,MAAO,CACpB,IAAK,2CACjB,CAAW,CACX,CAAS,EAAGA,EAAI,IAAC,IAAK,CACZ,KAAM,0BACN,OAAQ,SACR,SAAUA,EAAI,IAAC,MAAO,CACpB,IAAK,oCACjB,CAAW,CACX,CAAS,EAAGA,EAAI,IAAC,IAAK,CACZ,KAAM,yDACN,OAAQ,SACR,SAAUA,EAAI,IAAC,MAAO,CACpB,IAAK,6CACjB,CAAW,CACX,CAAS,EAAGA,EAAI,IAAC,IAAK,CACZ,KAAM,6CACN,OAAQ,SACR,SAAUA,EAAI,IAAC,MAAO,CACpB,IAAK,iDACjB,CAAW,CACX,CAAS,EAAGA,EAAI,IAAC,IAAK,CACZ,KAAM,qCACN,OAAQ,SACR,SAAUA,EAAI,IAAC,MAAO,CACpB,IAAK,eACL,IAAK,kEACjB,CAAW,CACX,CAAS,EAAGA,EAAI,IAAC,IAAK,CACZ,KAAM,gCACN,OAAQ,SACR,SAAUA,EAAI,IAAC,MAAO,CACpB,IAAK,iEACjB,CAAW,CACX,CAAS,EAAGA,EAAI,IAAC,KAAM,CAAA,CAAE,EAAGA,EAAI,IAACE,EAAY,EAAG,CACtC,SAAU,sFACpB,CAAS,EAAGC,EAAAA,KAAMD,EAAY,EAAG,CACvB,SAAU,CAAC,gDAAiDF,EAAI,IAAC,IAAK,CACpE,KAAM,sBACN,OAAQ,SACR,SAAU,SACX,CAAA,EAAG,GAAG,CACjB,CAAS,CAAC,CACV,CAAO,CAAC,CACR,CAAK,CACF,CACH"} \ No newline at end of file diff --git a/assets/Labels.story-d82112cd.js b/assets/Labels.story-d82112cd.js new file mode 100644 index 00000000..5e9b8582 --- /dev/null +++ b/assets/Labels.story-d82112cd.js @@ -0,0 +1,13 @@ +import{j as s}from"./jsx-runtime-5926aa06.js";import{G as e}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{s as d,a as l}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const U={title:"Demos/Labels",component:e},a=()=>s.jsx(e,{labelType:"all",nodes:d,edges:l}),r=()=>s.jsx(e,{labelType:"all",nodes:[{id:"1",label:"Department of Defense Logistics and Operations"},{id:"2",label:"The Security Operations of the Cyber Defense System for the United States of America"}],edges:[{id:"1-2",source:"1",target:"2",label:"The Security Operations of the Cyber Defense System for the United States of America"}]}),o=()=>s.jsx(e,{labelType:"nodes",nodes:d,edges:l}),t=()=>s.jsx(e,{labelType:"edges",nodes:d,edges:l}),p=()=>s.jsx(e,{labelType:"auto",nodes:d,edges:l});var i,m,n;a.parameters={...a.parameters,docs:{...(i=a.parameters)==null?void 0:i.docs,source:{originalSource:'() => ',...(n=(m=a.parameters)==null?void 0:m.docs)==null?void 0:n.source}}};var c,g,u;r.parameters={...r.parameters,docs:{...(c=r.parameters)==null?void 0:c.docs,source:{originalSource:`() => `,...(u=(g=r.parameters)==null?void 0:g.docs)==null?void 0:u.source}}};var y,f,b;o.parameters={...o.parameters,docs:{...(y=o.parameters)==null?void 0:y.docs,source:{originalSource:'() => ',...(b=(f=o.parameters)==null?void 0:f.docs)==null?void 0:b.source}}};var h,S,T;t.parameters={...t.parameters,docs:{...(h=t.parameters)==null?void 0:h.docs,source:{originalSource:'() => ',...(T=(S=t.parameters)==null?void 0:S.docs)==null?void 0:T.source}}};var C,D,x;p.parameters={...p.parameters,docs:{...(C=p.parameters)==null?void 0:C.docs,source:{originalSource:'() => ',...(x=(D=p.parameters)==null?void 0:D.docs)==null?void 0:x.source}}};export{a as All,p as Automatic,t as EdgesOnly,r as LongLabels,o as NodesOnly,U as default}; +//# sourceMappingURL=Labels.story-d82112cd.js.map diff --git a/assets/Labels.story-d82112cd.js.map b/assets/Labels.story-d82112cd.js.map new file mode 100644 index 00000000..9f0d29f8 --- /dev/null +++ b/assets/Labels.story-d82112cd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Labels.story-d82112cd.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/Lasso.story-afb75428.js b/assets/Lasso.story-afb75428.js new file mode 100644 index 00000000..6983a5ca --- /dev/null +++ b/assets/Lasso.story-afb75428.js @@ -0,0 +1,126 @@ +import{j as e}from"./jsx-runtime-5926aa06.js";import{r as m}from"./index-ebeaab24.js";import{G as d}from"./RadialMenu-93524eec.js";import{u as f}from"./useSelection-7210d826.js";import{c as o,d as n}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const A={title:"Demos/Selection/Lasso",component:d},p=()=>{const s=m.useRef(null),{actives:a,selections:t,onNodeClick:r,onCanvasClick:l,onLasso:c,onLassoEnd:i}=f({ref:s,nodes:o,edges:n,type:"multi"});return e.jsxs(e.Fragment,{children:[e.jsx("div",{style:{zIndex:9,userSelect:"none",position:"absolute",top:0,right:0,background:"rgba(0, 0, 0, .5)",color:"white"},children:e.jsx("h3",{style:{margin:5},children:"Hold Shift and Drag to Lasso"})}),e.jsx(d,{ref:s,nodes:o,edges:n,selections:t,actives:a,onNodeClick:r,onCanvasClick:l,lassoType:"all",onLasso:c,onLassoEnd:i})]})},g=()=>{const s=m.useRef(null),{actives:a,selections:t,onNodeClick:r,onCanvasClick:l,onLasso:c,onLassoEnd:i}=f({ref:s,nodes:o,edges:n,type:"multi"});return e.jsxs(e.Fragment,{children:[e.jsx("div",{style:{zIndex:9,userSelect:"none",position:"absolute",top:0,right:0,background:"rgba(0, 0, 0, .5)",color:"white"},children:e.jsx("h3",{style:{margin:5},children:"Hold Shift and Drag to Lasso"})}),e.jsx(d,{ref:s,nodes:o,edges:n,selections:t,actives:a,onNodeClick:r,onCanvasClick:l,lassoType:"node",onLasso:c,onLassoEnd:i})]})},u=()=>{const s=m.useRef(null),{actives:a,selections:t,onNodeClick:r,onCanvasClick:l,onLasso:c,onLassoEnd:i}=f({ref:s,nodes:o,edges:n,type:"multi"});return e.jsxs(e.Fragment,{children:[e.jsx("div",{style:{zIndex:9,userSelect:"none",position:"absolute",top:0,right:0,background:"rgba(0, 0, 0, .5)",color:"white"},children:e.jsx("h3",{style:{margin:5},children:"Hold Shift and Drag to Lasso"})}),e.jsx(d,{ref:s,nodes:o,draggable:!0,edges:n,selections:t,actives:a,onNodeClick:r,onCanvasClick:l,lassoType:"node",onLasso:c,onLassoEnd:i})]})},h=()=>{const s=m.useRef(null),{actives:a,selections:t,onNodeClick:r,onCanvasClick:l,onLasso:c,onLassoEnd:i}=f({ref:s,nodes:o,edges:n,type:"multi"});return e.jsxs(e.Fragment,{children:[e.jsx("div",{style:{zIndex:9,userSelect:"none",position:"absolute",top:0,right:0,background:"rgba(0, 0, 0, .5)",color:"white"},children:e.jsx("h3",{style:{margin:5},children:"Hold Shift and Drag to Lasso"})}),e.jsx(d,{ref:s,nodes:o,edges:n,selections:t,actives:a,onNodeClick:r,onCanvasClick:l,lassoType:"edge",onLasso:c,onLassoEnd:i})]})};var C,v,x;p.parameters={...p.parameters,docs:{...(C=p.parameters)==null?void 0:C.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + actives, + selections, + onNodeClick, + onCanvasClick, + onLasso, + onLassoEnd + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + type: 'multi' + }); + return <> +
+

Hold Shift and Drag to Lasso

+
+ + ; +}`,...(x=(v=p.parameters)==null?void 0:v.docs)==null?void 0:x.source}}};var L,k,y;g.parameters={...g.parameters,docs:{...(L=g.parameters)==null?void 0:L.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + actives, + selections, + onNodeClick, + onCanvasClick, + onLasso, + onLassoEnd + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + type: 'multi' + }); + return <> +
+

Hold Shift and Drag to Lasso

+
+ + ; +}`,...(y=(k=g.parameters)==null?void 0:k.docs)==null?void 0:y.source}}};var E,R,N;u.parameters={...u.parameters,docs:{...(E=u.parameters)==null?void 0:E.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + actives, + selections, + onNodeClick, + onCanvasClick, + onLasso, + onLassoEnd + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + type: 'multi' + }); + return <> +
+

Hold Shift and Drag to Lasso

+
+ + ; +}`,...(N=(R=u.parameters)==null?void 0:R.docs)==null?void 0:N.source}}};var b,S,j;h.parameters={...h.parameters,docs:{...(b=h.parameters)==null?void 0:b.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + actives, + selections, + onNodeClick, + onCanvasClick, + onLasso, + onLassoEnd + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + type: 'multi' + }); + return <> +
+

Hold Shift and Drag to Lasso

+
+ + ; +}`,...(j=(S=h.parameters)==null?void 0:S.docs)==null?void 0:j.source}}};export{u as Dragging,h as EdgesOnly,p as NodesAndEdges,g as NodesOnly,A as default}; +//# sourceMappingURL=Lasso.story-afb75428.js.map diff --git a/assets/Lasso.story-afb75428.js.map b/assets/Lasso.story-afb75428.js.map new file mode 100644 index 00000000..53eb6f65 --- /dev/null +++ b/assets/Lasso.story-afb75428.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Lasso.story-afb75428.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/Layouts-561dba63.js b/assets/Layouts-561dba63.js new file mode 100644 index 00000000..2115d5c2 --- /dev/null +++ b/assets/Layouts-561dba63.js @@ -0,0 +1,76 @@ +import{j as e}from"./jsx-runtime-5926aa06.js";import{M as s,b as o}from"./index-96a2bc4b.js";import{u as t}from"./index-bda0bad7.js";import"./index-ebeaab24.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";function w(i={}){const{wrapper:d}=Object.assign({},t(),i.components);return d?e.jsx(d,Object.assign({},i,{children:e.jsx(n,{})})):n();function n(){const r=Object.assign({h1:"h1",p:"p",ul:"ul",li:"li",h2:"h2",code:"code",pre:"pre",h3:"h3",a:"a"},t(),i.components);return e.jsxs(e.Fragment,{children:[e.jsx(s,{title:"Docs/Getting Started/Layouts"}),` +`,e.jsx(r.h1,{id:"layouts",children:"Layouts"}),` +`,e.jsx(r.p,{children:"reagraph has the following layout types:"}),` +`,e.jsxs(r.ul,{children:[` +`,e.jsx(r.li,{children:"Force Directed 2D"}),` +`,e.jsx(r.li,{children:"Force Directed 3D"}),` +`,e.jsx(r.li,{children:"Circular 2D"}),` +`,e.jsx(r.li,{children:"Tree Top Down 2D"}),` +`,e.jsx(r.li,{children:"Tree Left Right 2D"}),` +`,e.jsx(r.li,{children:"Tree Top Down 3D"}),` +`,e.jsx(r.li,{children:"Tree Left Right 3D"}),` +`,e.jsx(r.li,{children:"Radial Out 2D"}),` +`,e.jsx(r.li,{children:"Radial Out 3D"}),` +`,e.jsx(r.li,{children:"Hierarchical Top Down 2D"}),` +`,e.jsx(r.li,{children:"Hierarchical Left Right 2D"}),` +`,e.jsx(r.li,{children:"No Overlap 2D"}),` +`,e.jsx(r.li,{children:"Force Atlas 2 2D"}),` +`]}),` +`,e.jsx(r.h2,{id:"layout-overrides",children:"Layout Overrides"}),` +`,e.jsxs(r.p,{children:[`You can override the default layout options for each respective layout using +the `,e.jsx(r.code,{children:"layoutOverrides"})," property on the ",e.jsx(r.code,{children:"GraphCanvas"}),` component. Below +are the respective interfaces for the different options.`]}),` +`,e.jsx(r.pre,{children:e.jsx(r.code,{className:"language-ts",children:`export interface ForceDirectedLayoutInputs { + linkDistance?: number; + nodeStrength?: number; + clusterPadding?: number; + clusterStrength?: number; +} + +export interface CircularLayoutInputs { + radius: number; +} +`})}),` +`,e.jsx(r.h2,{id:"layout-types",children:"Layout Types"}),` +`,e.jsx(r.p,{children:"Below are examples of each layout type and corresponding descriptions."}),` +`,e.jsx(r.h3,{id:"force-directed-2d",children:"Force Directed 2D"}),` +`,e.jsx("div",{style:{height:300,width:500,position:"relative",background:"white",borderRadius:4,border:"1px solid rgba(0,0,0,.1)",boxShadow:"rgb(0 0 0 / 10%) 0 1px 3px 0",overflow:"hidden"},children:e.jsx(o,{id:"demos-layouts-2d--force-directed"})}),` +`,e.jsxs(r.p,{children:["This is the standard force-directed layout which uses ",e.jsx(r.a,{href:"https://github.com/vasturiano/d3-force-3d",target:"_blank",rel:"nofollow noopener noreferrer",children:"d3-force-3d"}),`. +This is a modified version of the force directed library from d3 except adds support for three dimensional layouts.`]}),` +`,e.jsx(r.p,{children:`This is a one of the most common layouts used because of the simplicity and flexibility that the layout +can support.`}),` +`,e.jsx(r.h3,{id:"force-directed-3d",children:"Force Directed 3D"}),` +`,e.jsx("div",{style:{height:300,width:500,position:"relative",background:"white",borderRadius:4,border:"1px solid rgba(0,0,0,.1)",boxShadow:"rgb(0 0 0 / 10%) 0 1px 3px 0",overflow:"hidden"},children:e.jsx(o,{id:"demos-layouts-3d--force-directed"})}),` +`,e.jsxs(r.p,{children:[`The force directed 3d layout is similar to the 2D version except it adds another dimension. It uses +the same library as the 2D version ( `,e.jsx(r.a,{href:"https://github.com/vasturiano/d3-force-3d",target:"_blank",rel:"nofollow noopener noreferrer",children:"d3-force-3d"}),` ). +The 3D version is useful for very large graphs where many nodes would overlap each other.`]}),` +`,e.jsx(r.h3,{id:"circular-2d",children:"Circular 2d"}),` +`,e.jsx("div",{style:{height:300,width:500,position:"relative",background:"white",borderRadius:4,border:"1px solid rgba(0,0,0,.1)",boxShadow:"rgb(0 0 0 / 10%) 0 1px 3px 0",overflow:"hidden"},children:e.jsx(o,{id:"demos-layouts-2d--circular"})}),` +`,e.jsx(r.p,{children:`The circular layout arranges nodes in a circular fashion drawing relationships between the nodes +on the outside of the circle.`}),` +`,e.jsx(r.h3,{id:"tree-2d",children:"Tree 2D"}),` +`,e.jsx("div",{style:{height:300,width:500,position:"relative",background:"white",borderRadius:4,border:"1px solid rgba(0,0,0,.1)",boxShadow:"rgb(0 0 0 / 10%) 0 1px 3px 0",overflow:"hidden"},children:e.jsx(o,{id:"demos-layouts-2d--tree-top-down"})}),` +`,e.jsxs(r.p,{children:[`The tree layout is a good way to display a clear parent-child relationship between nodes. This layout uses +`,e.jsx(r.a,{href:"https://github.com/vasturiano/d3-force-3d",target:"_blank",rel:"nofollow noopener noreferrer",children:"d3-force-3d"}),"."]}),` +`,e.jsx(r.h3,{id:"tree-3d",children:"Tree 3D"}),` +`,e.jsx("div",{style:{height:300,width:500,position:"relative",background:"white",borderRadius:4,border:"1px solid rgba(0,0,0,.1)",boxShadow:"rgb(0 0 0 / 10%) 0 1px 3px 0",overflow:"hidden"},children:e.jsx(o,{id:"demos-layouts-3d--tree-top-down"})}),` +`,e.jsxs(r.p,{children:[`This layout is the same as the tree 2d except adds another dimension. It uses +`,e.jsx(r.a,{href:"https://github.com/vasturiano/d3-force-3d",target:"_blank",rel:"nofollow noopener noreferrer",children:"d3-force-3d"})," under the hood for the layout."]}),` +`,e.jsx(r.h3,{id:"radial-2d",children:"Radial 2D"}),` +`,e.jsx("div",{style:{height:300,width:500,position:"relative",background:"white",borderRadius:4,border:"1px solid rgba(0,0,0,.1)",boxShadow:"rgb(0 0 0 / 10%) 0 1px 3px 0",overflow:"hidden"},children:e.jsx(o,{id:"demos-layouts-2d--radial-out"})}),` +`,e.jsxs(r.p,{children:[`The radial layout arranges nodes in a circular fashion around the focus node in a radial tree. Each +relationship extends to another level in the tree to show a depedency tree. +This layout uses `,e.jsx(r.a,{href:"https://github.com/vasturiano/d3-force-3d",target:"_blank",rel:"nofollow noopener noreferrer",children:"d3-force-3d"}),"."]}),` +`,e.jsx(r.h3,{id:"radial-3d",children:"Radial 3D"}),` +`,e.jsx("div",{style:{height:300,width:500,position:"relative",background:"white",borderRadius:4,border:"1px solid rgba(0,0,0,.1)",boxShadow:"rgb(0 0 0 / 10%) 0 1px 3px 0",overflow:"hidden"},children:e.jsx(o,{id:"demos-layouts-3d--radial-out"})}),` +`,e.jsxs(r.p,{children:["Similar to the Radial 2D but adds another dimension. This layout uses ",e.jsx(r.a,{href:"https://github.com/vasturiano/d3-force-3d",target:"_blank",rel:"nofollow noopener noreferrer",children:"d3-force-3d"}),"."]}),` +`,e.jsx(r.h3,{id:"hierarchical-2d",children:"Hierarchical 2D"}),` +`,e.jsx("div",{style:{height:300,width:500,position:"relative",background:"white",borderRadius:4,border:"1px solid rgba(0,0,0,.1)",boxShadow:"rgb(0 0 0 / 10%) 0 1px 3px 0",overflow:"hidden"},children:e.jsx(o,{id:"demos-layouts-2d--hierarchical-top-down"})}),` +`,e.jsxs(r.p,{children:["This layout uses ",e.jsx(r.a,{href:"https://www.npmjs.com/package/d3-hierarchy",target:"_blank",rel:"nofollow noopener noreferrer",children:"d3-hierarchy"}),"."]}),` +`,e.jsx(r.h3,{id:"no-overlap",children:"No Overlap"}),` +`,e.jsx("div",{style:{height:300,width:500,position:"relative",background:"white",borderRadius:4,border:"1px solid rgba(0,0,0,.1)",boxShadow:"rgb(0 0 0 / 10%) 0 1px 3px 0",overflow:"hidden"},children:e.jsx(o,{id:"demos-layouts-2d--no-overlap"})}),` +`,e.jsxs(r.p,{children:["This layout uses ",e.jsx(r.a,{href:"https://graphology.github.io/standard-library/layout-noverlap.html",target:"_blank",rel:"nofollow noopener noreferrer",children:"graphology-layout-nooverlap"}),"."]}),` +`,e.jsx(r.h3,{id:"force-atlas-2",children:"Force Atlas 2"}),` +`,e.jsx("div",{style:{height:300,width:500,position:"relative",background:"white",borderRadius:4,border:"1px solid rgba(0,0,0,.1)",boxShadow:"rgb(0 0 0 / 10%) 0 1px 3px 0",overflow:"hidden"},children:e.jsx(o,{id:"demos-layouts-2d--force-atlas-2"})}),` +`,e.jsxs(r.p,{children:["This layout uses ",e.jsx(r.a,{href:"https://graphology.github.io/standard-library/layout-forceatlas2.html",target:"_blank",rel:"nofollow noopener noreferrer",children:"graphology-layout-forceatlas2"}),"."]})]})}}export{w as default}; +//# sourceMappingURL=Layouts-561dba63.js.map diff --git a/assets/Layouts-561dba63.js.map b/assets/Layouts-561dba63.js.map new file mode 100644 index 00000000..4d4b210c --- /dev/null +++ b/assets/Layouts-561dba63.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Layouts-561dba63.js","sources":["../../docs/Layouts.mdx"],"sourcesContent":["import { Meta, Story } from '@storybook/blocks';\n\n\n\n# Layouts\nreagraph has the following layout types:\n\n- Force Directed 2D\n- Force Directed 3D\n- Circular 2D\n- Tree Top Down 2D\n- Tree Left Right 2D\n- Tree Top Down 3D\n- Tree Left Right 3D\n- Radial Out 2D\n- Radial Out 3D\n- Hierarchical Top Down 2D\n- Hierarchical Left Right 2D\n- No Overlap 2D\n- Force Atlas 2 2D\n\n## Layout Overrides\nYou can override the default layout options for each respective layout using\nthe `layoutOverrides` property on the `GraphCanvas` component. Below\nare the respective interfaces for the different options.\n\n```ts\nexport interface ForceDirectedLayoutInputs {\n linkDistance?: number;\n nodeStrength?: number;\n clusterPadding?: number;\n clusterStrength?: number;\n}\n\nexport interface CircularLayoutInputs {\n radius: number;\n}\n```\n\n## Layout Types\nBelow are examples of each layout type and corresponding descriptions.\n\n### Force Directed 2D\n
\n \n
\n\nThis is the standard force-directed layout which uses [d3-force-3d](https://github.com/vasturiano/d3-force-3d).\nThis is a modified version of the force directed library from d3 except adds support for three dimensional layouts.\n\nThis is a one of the most common layouts used because of the simplicity and flexibility that the layout\ncan support.\n\n### Force Directed 3D\n
\n \n
\n\nThe force directed 3d layout is similar to the 2D version except it adds another dimension. It uses\nthe same library as the 2D version ( [d3-force-3d](https://github.com/vasturiano/d3-force-3d) ).\nThe 3D version is useful for very large graphs where many nodes would overlap each other.\n\n### Circular 2d\n
\n \n
\n\nThe circular layout arranges nodes in a circular fashion drawing relationships between the nodes\non the outside of the circle.\n\n### Tree 2D\n
\n \n
\n\nThe tree layout is a good way to display a clear parent-child relationship between nodes. This layout uses\n[d3-force-3d](https://github.com/vasturiano/d3-force-3d).\n\n### Tree 3D\n
\n \n
\n\nThis layout is the same as the tree 2d except adds another dimension. It uses\n[d3-force-3d](https://github.com/vasturiano/d3-force-3d) under the hood for the layout.\n\n### Radial 2D\n
\n \n
\n\nThe radial layout arranges nodes in a circular fashion around the focus node in a radial tree. Each\nrelationship extends to another level in the tree to show a depedency tree.\nThis layout uses [d3-force-3d](https://github.com/vasturiano/d3-force-3d).\n\n### Radial 3D\n
\n \n
\n\nSimilar to the Radial 2D but adds another dimension. This layout uses [d3-force-3d](https://github.com/vasturiano/d3-force-3d).\n\n### Hierarchical 2D\n
\n \n
\n\nThis layout uses [d3-hierarchy](https://www.npmjs.com/package/d3-hierarchy).\n\n### No Overlap\n
\n \n
\n\nThis layout uses [graphology-layout-nooverlap](https://graphology.github.io/standard-library/layout-noverlap.html).\n\n### Force Atlas 2\n
\n \n
\n\nThis layout uses [graphology-layout-forceatlas2](https://graphology.github.io/standard-library/layout-forceatlas2.html).\n"],"names":["MDXContent","props","MDXLayout","_provideComponents","_jsx","_createMdxContent","_components","_jsxs","_Fragment","Meta","Story"],"mappings":"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"} \ No newline at end of file diff --git a/assets/Layouts.story-6744064e.js b/assets/Layouts.story-6744064e.js new file mode 100644 index 00000000..ad3c22de --- /dev/null +++ b/assets/Layouts.story-6744064e.js @@ -0,0 +1,9 @@ +import{j as u}from"./jsx-runtime-5926aa06.js";import{d as x,G as a}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{c as t,d as s}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";function f(e,l){const{invalid:y}=x(e,l),g=e.length;return y?"forceDirected2d":g>100?"radialOut2d":"treeTd2d"}const C={title:"Demos/Layouts",component:a},o=()=>{const e=f(t,s);return u.jsx(a,{layoutType:e,nodes:t,edges:s})},r=()=>u.jsx(a,{layoutType:"forceDirected2d",layoutOverrides:{nodeStrength:-50,linkDistance:500},nodes:t,edges:s});var n,d,c;o.parameters={...o.parameters,docs:{...(n=o.parameters)==null?void 0:n.docs,source:{originalSource:`() => { + // TODO: Make this demo better + const layout = recommendLayout(complexNodes, complexEdges); + return ; +}`,...(c=(d=o.parameters)==null?void 0:d.docs)==null?void 0:c.source}}};var m,p,i;r.parameters={...r.parameters,docs:{...(m=r.parameters)==null?void 0:m.docs,source:{originalSource:`() => `,...(i=(p=r.parameters)==null?void 0:p.docs)==null?void 0:i.source}}};export{r as Overrides,o as Recommender,C as default}; +//# sourceMappingURL=Layouts.story-6744064e.js.map diff --git a/assets/Layouts.story-6744064e.js.map b/assets/Layouts.story-6744064e.js.map new file mode 100644 index 00000000..0073f236 --- /dev/null +++ b/assets/Layouts.story-6744064e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Layouts.story-6744064e.js","sources":["../../src/layout/recommender.ts"],"sourcesContent":["import { GraphEdge, GraphNode } from '../types';\nimport { getNodeDepth } from './depthUtils';\nimport { LayoutTypes } from './types';\n\n/**\n * Given a set of nodes and edges, determine the type of layout that\n * is most ideal. This is very beta.\n */\nexport function recommendLayout(\n nodes: GraphNode[],\n edges: GraphEdge[]\n): LayoutTypes {\n const { invalid } = getNodeDepth(nodes as any[], edges as any[]);\n const nodeCount = nodes.length;\n\n if (!invalid) {\n // Large tree layouts\n if (nodeCount > 100) {\n return 'radialOut2d';\n } else {\n // Smaller tree layouts\n return 'treeTd2d';\n }\n }\n\n // Circular layouts\n return 'forceDirected2d';\n}\n"],"names":["recommendLayout","nodes","edges","invalid","getNodeDepth","nodeCount"],"mappings":"4SAQgB,SAAAA,EACdC,EACAC,EACa,CACb,KAAM,CAAE,QAAAC,CAAY,EAAAC,EAAaH,EAAgBC,CAAc,EACzDG,EAAYJ,EAAM,OAExB,OAAKE,EAWE,kBATDE,EAAY,IACP,cAGA,UAMb;;;;;;;"} \ No newline at end of file diff --git a/assets/MultiSelection.story-d7499c58.js b/assets/MultiSelection.story-d7499c58.js new file mode 100644 index 00000000..38ec2f7a --- /dev/null +++ b/assets/MultiSelection.story-d7499c58.js @@ -0,0 +1,93 @@ +import{j as o}from"./jsx-runtime-5926aa06.js";import{r}from"./index-ebeaab24.js";import{G as a}from"./RadialMenu-93524eec.js";import{u as g}from"./useSelection-7210d826.js";import{c as e,d as s}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const L={title:"Demos/Selection/Multi",component:a},i=()=>{const n=r.useRef(null),{selections:t,onNodeClick:l,onCanvasClick:c}=g({ref:n,nodes:e,edges:s,type:"multi",selections:[e[0].id,e[1].id]});return o.jsx(a,{ref:n,nodes:e,edges:s,selections:t,onNodeClick:l,onCanvasClick:c})},d=()=>{const n=r.useRef(null),{selections:t,onNodeClick:l,onCanvasClick:c}=g({ref:n,nodes:e,edges:s,type:"multi"});return o.jsx(a,{draggable:!0,ref:n,nodes:e,edges:s,selections:t,onNodeClick:l,onCanvasClick:c})},p=()=>{const n=r.useRef(null),{selections:t,onNodeClick:l,onCanvasClick:c}=g({ref:n,nodes:e,edges:s,focusOnSelect:"singleOnly",type:"multiModifier"});return o.jsxs(o.Fragment,{children:[o.jsx("div",{style:{zIndex:9,position:"absolute",top:0,right:0,background:"rgba(0, 0, 0, .5)",color:"white"},children:o.jsx("h3",{style:{margin:5},children:"Hold Command/CTRL and Click to Select Multiples"})}),o.jsx(a,{ref:n,nodes:e,edges:s,selections:t,onNodeClick:l,onCanvasClick:c})]})},m=()=>{const n=r.useRef(null),{selections:t,actives:l,selectNodePaths:c,onNodeClick:G,onCanvasClick:M}=g({ref:n,nodes:e,edges:s,pathSelectionType:"direct",type:"multi"}),u=e[0].id,C=e[8].id;return o.jsxs(r.Fragment,{children:[o.jsx("div",{style:{zIndex:9,position:"absolute",top:15,right:15,background:"rgba(0, 0, 0, .5)",padding:1,color:"white"},children:o.jsxs("button",{style:{display:"block",width:"100%"},onClick:()=>c(u,C),children:["Select ",u," to ",C," Paths"]})}),o.jsx(a,{ref:n,actives:l,nodes:e,edges:s,selections:t,onCanvasClick:M,onNodeClick:G})]})};var f,h,k;i.parameters={...i.parameters,docs:{...(f=i.parameters)==null?void 0:f.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + onNodeClick, + onCanvasClick + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + type: 'multi', + selections: [complexNodes[0].id, complexNodes[1].id] + }); + return ; +}`,...(k=(h=i.parameters)==null?void 0:h.docs)==null?void 0:k.source}}};var x,v,N;d.parameters={...d.parameters,docs:{...(x=d.parameters)==null?void 0:x.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + onNodeClick, + onCanvasClick + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + type: 'multi' + }); + return ; +}`,...(N=(v=d.parameters)==null?void 0:v.docs)==null?void 0:N.source}}};var R,y,b;p.parameters={...p.parameters,docs:{...(R=p.parameters)==null?void 0:R.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + onNodeClick, + onCanvasClick + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + focusOnSelect: 'singleOnly', + type: 'multiModifier' + }); + return <> +
+

Hold Command/CTRL and Click to Select Multiples

+
+ + ; +}`,...(b=(y=p.parameters)==null?void 0:y.docs)==null?void 0:b.source}}};var S,j,E;m.parameters={...m.parameters,docs:{...(S=m.parameters)==null?void 0:S.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + actives, + selectNodePaths, + onNodeClick, + onCanvasClick + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + pathSelectionType: 'direct', + type: 'multi' + }); + const from = complexNodes[0].id; + const to = complexNodes[8].id; + return +
+ +
+ +
; +}`,...(E=(j=m.parameters)==null?void 0:j.docs)==null?void 0:E.source}}};export{i as Defaults,d as Dragging,p as ModifierKey,m as PathFinding,L as default}; +//# sourceMappingURL=MultiSelection.story-d7499c58.js.map diff --git a/assets/MultiSelection.story-d7499c58.js.map b/assets/MultiSelection.story-d7499c58.js.map new file mode 100644 index 00000000..1cea1efa --- /dev/null +++ b/assets/MultiSelection.story-d7499c58.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MultiSelection.story-d7499c58.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/Nodes.story-33162d6e.js b/assets/Nodes.story-33162d6e.js new file mode 100644 index 00000000..5fbb1618 --- /dev/null +++ b/assets/Nodes.story-33162d6e.js @@ -0,0 +1,41 @@ +import{j as e}from"./jsx-runtime-5926aa06.js";import{r as l}from"./index-ebeaab24.js";import{G as o,S as $}from"./RadialMenu-93524eec.js";import{m as R,i as M,a,s as k,h as T}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const H={title:"Demos/Nodes",component:o},n=()=>e.jsx(o,{nodes:R,edges:[]}),d=()=>e.jsx(o,{nodes:M,edges:a}),c=()=>e.jsx(o,{nodes:k,edges:a,cameraMode:"rotate",renderNode:({size:s,color:t,opacity:r})=>e.jsx("group",{children:e.jsxs("mesh",{children:[e.jsx("torusKnotGeometry",{attach:"geometry",args:[s,1.25,50,8]}),e.jsx("meshBasicMaterial",{attach:"material",color:t,opacity:r,transparent:!0})]})})}),i=()=>e.jsx(o,{nodes:M,edges:a,cameraMode:"rotate",renderNode:({node:s,...t})=>e.jsx($,{...t,node:s,image:s.icon||""})}),p=()=>e.jsx(o,{nodes:T,edges:a}),m=()=>{const[s,t]=l.useState("forceDirected2d"),[r,w]=l.useState(k);return e.jsxs("div",{children:[e.jsx("button",{style:{position:"absolute",top:15,right:15,zIndex:999,width:120},onClick:()=>w([...r,{id:`n-${r.length}`,label:`Node ${r.length}`}]),children:"Update Nodes"}),e.jsx("button",{style:{position:"absolute",top:40,right:15,zIndex:999,width:120},onClick:()=>t(s==="forceDirected2d"?"forceDirected3d":"forceDirected2d"),children:"Reset Layout"}),e.jsx(o,{nodes:r,edges:a,draggable:!0,layoutType:s})]})};var u,g,h;n.parameters={...n.parameters,docs:{...(u=n.parameters)==null?void 0:u.docs,source:{originalSource:"() => ",...(h=(g=n.parameters)==null?void 0:g.docs)==null?void 0:h.source}}};var y,N,x;d.parameters={...d.parameters,docs:{...(y=d.parameters)==null?void 0:y.docs,source:{originalSource:"() => ",...(x=(N=d.parameters)==null?void 0:N.docs)==null?void 0:x.source}}};var j,b,C;c.parameters={...c.parameters,docs:{...(j=c.parameters)==null?void 0:j.docs,source:{originalSource:`() => + + + + + } />`,...(C=(b=c.parameters)==null?void 0:b.docs)==null?void 0:C.source}}};var S,f,D;i.parameters={...i.parameters,docs:{...(S=i.parameters)==null?void 0:S.docs,source:{originalSource:`() => } />`,...(D=(f=i.parameters)==null?void 0:f.docs)==null?void 0:D.source}}};var v,G,E;p.parameters={...p.parameters,docs:{...(v=p.parameters)==null?void 0:v.docs,source:{originalSource:"() => ",...(E=(G=p.parameters)==null?void 0:G.docs)==null?void 0:E.source}}};var I,z,L;m.parameters={...m.parameters,docs:{...(I=m.parameters)==null?void 0:I.docs,source:{originalSource:`() => { + const [layout, setLayout] = useState('forceDirected2d'); + const [nodes, setNodes] = useState(simpleNodes); + return
+ + + +
; +}`,...(L=(z=m.parameters)==null?void 0:z.docs)==null?void 0:L.source}}};export{p as Colors,c as Custom3DNode,m as Draggable,d as Icons,n as NoEdges,i as SphereWithIconNode,H as default}; +//# sourceMappingURL=Nodes.story-33162d6e.js.map diff --git a/assets/Nodes.story-33162d6e.js.map b/assets/Nodes.story-33162d6e.js.map new file mode 100644 index 00000000..83b5e86c --- /dev/null +++ b/assets/Nodes.story-33162d6e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Nodes.story-33162d6e.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/OverlayScrollbars-VAV6LJAB-f81de3e5.js b/assets/OverlayScrollbars-VAV6LJAB-f81de3e5.js new file mode 100644 index 00000000..a01c5715 --- /dev/null +++ b/assets/OverlayScrollbars-VAV6LJAB-f81de3e5.js @@ -0,0 +1,7 @@ +import{_ as wi,e as Wi}from"./index-96a2bc4b.js";import{r as cs,R as lt}from"./index-ebeaab24.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";var zi=Wi({"../../node_modules/overlayscrollbars/js/OverlayScrollbars.js"(Ut,ue){(function(er,Pr){typeof define=="function"&&define.amd?define(function(){return Pr(er,er.document,void 0)}):typeof ue=="object"&&typeof ue.exports=="object"?ue.exports=Pr(er,er.document,void 0):Pr(er,er.document,void 0)})(typeof window<"u"?window:Ut,function(er,Pr,B){var Ie="OverlayScrollbars",v={o:"object",f:"function",a:"array",s:"string",b:"boolean",n:"number",u:"undefined",z:"null"},c={c:"class",s:"style",i:"id",l:"length",p:"prototype",ti:"tabindex",oH:"offsetHeight",cH:"clientHeight",sH:"scrollHeight",oW:"offsetWidth",cW:"clientWidth",sW:"scrollWidth",hOP:"hasOwnProperty",bCR:"getBoundingClientRect"},qn=function(){var T={},m={},n=["-webkit-","-moz-","-o-","-ms-"],p=["WebKit","Moz","O","MS"];function l(h){return h.charAt(0).toUpperCase()+h.slice(1)}return{_cssPrefixes:n,_jsPrefixes:p,_cssProperty:function(h){var I=m[h];if(m[c.hOP](h))return I;for(var or=l(h),ar=Pr.createElement("div")[c.s],M,Y=0,xr,K;Y0&&o-1 in e}function Z(e){var o=e.match(T)||[];return o.join(m)}function S(e,o){for(var s=(e.parentNode||Pr).querySelectorAll(o)||[],u=s[c.l];u--;)if(s[u]==e)return!0;return!1}function H(e,o,s){if(P.isA(s))for(var u=0;u0?(u=e.q[0],N(e.el,u.props,u.duration,u.easing,u.complete,!0)):(s=M(e,h),s>-1&&h.splice(s,1))}function Zr(e,o,s){o===p||o===l?e[o]=s:_r(e,o,s)}function N(e,o,s,u,y,O){var w=K(s),F={},G={},W=0,V,Xr,Ir,Rr,$r,Nr;for(w?(u=s.easing,s.start,Ir=s.progress,Rr=s.step,$r=s.specialEasing,y=s.complete,Nr=s.duration):Nr=s,$r=$r||{},Nr=Nr||400,u=u||"swing",O=O||!1;W0)zr=P.now(),xt=function(){An=P.now(),Tn=An-zr,Er=mr.stop||Tn>=Nr,vn=1-(A.max(0,zr+Nr-An)/Nr||0);for(V in G)bn=parseFloat(F[V]),Qn=parseFloat(G[V]),pr=(Qn-bn)*Cc[$r[V]||u](vn,vn*Nr,0,1,Nr)+bn,Zr(e,V,pr),Y(Rr)&&Rr(pr,{elem:e,prop:V,start:bn,now:pr,end:Qn,pos:vn,options:{easing:u,speacialEasing:$r,duration:Nr,complete:y,step:Rr},startTime:zr});Y(Ir)&&Ir({},vn,A.max(0,Nr-Tn)),Er?(X(Xr),Y(y)&&y()):mr.frame=P.rAF()(xt)},mr.frame=P.rAF()(xt);else{for(V in G)Zr(e,V,G[V]);X(Xr)}}}function vr(e,o,s){for(var u,y,O,w=0;w0){if(y=u.q[0],y.stop=!0,P.cAF()(y.frame),u.q.splice(0,1),s)for(O in y.props)Zr(e,O,y.props[O]);o?u.q=[]:X(u,!1)}break}}function dr(e){return!!(e[c.oW]||e[c.oH]||e.getClientRects()[c.l])}function C(e){if(arguments[c.l]===0)return this;var o=new C,s=e,u=0,y,O;if(I(e)==v.s)for(s=[],e.charAt(0)==="<"?(O=Pr.createElement("div"),O.innerHTML=e,y=O.children):y=Pr.querySelectorAll(e);u0;)y=y.childNodes[0];for(o=0;s[c.l]-o;y.firstChild===s[0]&&o++)y.appendChild(s[o]);var F=w?w.nextSibling:O.firstChild;return O.insertBefore(u,F),this},wrapInner:function(e){return this.each(function(){var o=C(this),s=o.contents();s[c.l]?s.wrapAll(e):o.append(e)})},wrap:function(e){return this.each(function(){C(this).wrapAll(e)})},css:function(e,o){var s,u,y,O=er.getComputedStyle;return I(e)==v.s?o===B?(s=this[0],y=O?O(s,null):s.currentStyle[e],O?y!=null?y.getPropertyValue(e):s[c.s][e]:y):this.each(function(){_r(this,e,o)}):this.each(function(){for(u in e)_r(this,u,e[u])})},hasClass:function(e){for(var o,s=0,u=m+e+m,y;o=this[s++];)if(y=o.classList,y&&y.contains(e)||o.nodeType===1&&(m+Z(o.className+n)+m).indexOf(u)>-1)return!0;return!1},addClass:function(e){var o,s,u,y,O,w,F,G,W=0,V=0;if(e){for(o=e.match(T)||[];s=this[W++];)if(G=s.classList,F===B&&(F=G!==B),F)for(;O=o[V++];)G.add(O);else if(y=s.className+n,u=s.nodeType===1&&m+Z(y)+m,u){for(;O=o[V++];)u.indexOf(m+O+m)<0&&(u+=O+m);w=Z(u),y!==w&&(s.className=w)}}return this},removeClass:function(e){var o,s,u,y,O,w,F,G,W=0,V=0;if(e){for(o=e.match(T)||[];s=this[W++];)if(G=s.classList,F===B&&(F=G!==B),F)for(;O=o[V++];)G.remove(O);else if(y=s.className+n,u=s.nodeType===1&&m+Z(y)+m,u){for(;O=o[V++];)for(;u.indexOf(m+O+m)>-1;)u=u.replace(m+O+m,m);w=Z(u),y!==w&&(s.className=w)}}return this},hide:function(){return this.each(function(){this[c.s].display="none"})},show:function(){return this.each(function(){this[c.s].display="block"})},attr:function(e,o){for(var s=0,u;u=this[s++];){if(o===B)return u.getAttribute(e);u.setAttribute(e,o)}return this},removeAttr:function(e){return this.each(function(){this.removeAttribute(e)})},offset:function(){var e=this[0],o=e[c.bCR](),s=er.pageXOffset||Pr.documentElement[p],u=er.pageYOffset||Pr.documentElement[l];return{top:o.top+u,left:o.left+s}},position:function(){var e=this[0];return{top:e.offsetTop,left:e.offsetLeft}},scrollLeft:function(e){for(var o=0,s;s=this[o++];){if(e===B)return s[p];s[p]=e}return this},scrollTop:function(e){for(var o=0,s;s=this[o++];){if(e===B)return s[l];s[l]=e}return this},val:function(e){var o=this[0];return e?(o.value=e,this):o.value},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){return C(this[e>=0?e:this[c.l]+e])},find:function(e){var o=[],s;return this.each(function(){var u=this,y=u.querySelectorAll(e);for(s=0;s-1)if(l>1)delete n[m],T.splice(h,1);else return T[h][m]}}}(),Ws=function(){var T,m,n,p=[],l=function(){var M=P.type,Y=[v.b,v.n,v.s,v.a,v.o,v.f,v.z],xr=" ",K=":",Wr=[v.z,v.s],k=v.n,Z=[v.z,v.b],S=[!0,v.b],H=[!1,v.b],_r=[null,[v.z,v.f]],Un=[["img"],[v.s,v.a,v.z]],X=[["style","class"],[v.s,v.a,v.z]],Zr="n:none b:both h:horizontal v:vertical",N="v-h:visible-hidden v-s:visible-scroll s:scroll h:hidden",vr="v:visible h:hidden a:auto",dr="n:never s:scroll l:leave m:move",C={className:["os-theme-dark",Wr],resize:["none",Zr],sizeAutoCapable:S,clipAlways:S,normalizeRTL:S,paddingAbsolute:H,autoUpdate:[null,Z],autoUpdateInterval:[33,k],updateOnLoad:Un,nativeScrollbarsOverlaid:{showNativeScrollbars:H,initialize:S},overflowBehavior:{x:["scroll",N],y:["scroll",N]},scrollbars:{visibility:["auto",vr],autoHide:["never",dr],autoHideDelay:[800,k],dragScrolling:S,clickScrolling:H,touchSupport:S,snapHandle:H},textarea:{dynWidth:H,dynHeight:H,inheritedAttrs:X},callbacks:{onInitialized:_r,onInitializationWithdrawn:_r,onDestroyed:_r,onScrollStart:_r,onScroll:_r,onScrollStop:_r,onOverflowChanged:_r,onOverflowAmountChanged:_r,onDirectionChanged:_r,onContentSizeChanged:_r,onHostSizeChanged:_r,onUpdated:_r}},e=function(o){var s=function(u){var y,O,w;for(y in u)u[c.hOP](y)&&(O=u[y],w=M(O),w==v.a?u[y]=O[o?1:0]:w==v.o&&(u[y]=s(O)));return u};return s(R.extend(!0,{},C))};return{_defaults:e(),_template:e(!0),_validate:function(o,s,u,y){var O={},w={},F=R.extend(!0,{},o),G=R.inArray,W=R.isEmptyObject,V=function(Xr,Ir,Rr,$r,Nr,An){for(var Er in Ir)if(Ir[c.hOP](Er)&&Xr[c.hOP](Er)){var vn=!1,bn=!1,Qn=Ir[Er],pr=M(Qn),zr=pr==v.o,xt=P.isA(Qn)?Qn:[Qn],Tn=Rr[Er],Ln=Xr[Er],mr=M(Ln),mt=An?An+".":"",Be='The option "'+mt+Er+`" wasn't set, because`,tn=[],dn=[],gn,qr,cn,Hn,hr,Nn,Rt,J;if(Tn=Tn===B?{}:Tn,zr&&mr==v.o)$r[Er]={},Nr[Er]={},V(Ln,Qn,Tn,$r[Er],Nr[Er],mt+Er),R.each([Xr,$r,Nr],function(Ur,Bn){W(Bn[Er])&&delete Bn[Er]});else if(!zr){for(Nn=0;Nn0?`\r +Valid strings are: [ `+dn.join(", ").split(K).join(", ")+" ].":"")),delete Xr[Er]}}};return V(F,s,y||{},O,w),!W(F)&&u&&console.warn(`The following options are discarded due to invalidity:\r +`+er.JSON.stringify(F,null,2)),{_default:O,_prepared:w}}}}();function h(){m||(m=new I(l._defaults)),n||(n=new or(m))}function I(M){var Y=this,xr="overflow",K="hidden",Wr="scroll",k=R("body"),Z=R('
'),S=Z[0],H=R(Z.children("div").eq(0));k.append(Z),Z.hide().show();var _r=Zr(S),Un={x:_r.x===0,y:_r.y===0},X=function(){var N=er.navigator.userAgent,vr="indexOf",dr="substring",C=N[vr]("MSIE "),e=N[vr]("Trident/"),o=N[vr]("Edge/"),s=N[vr]("rv:"),u,y=parseInt;return C>0?u=y(N[dr](C+5,N[vr](".",C)),10):e>0?u=y(N[dr](s+3,N[vr](".",s)),10):o>0&&(u=y(N[dr](o+5,N[vr](".",o)),10)),u}();R.extend(Y,{defaultOptions:M,msie:X,autoUpdateLoop:!1,autoUpdateRecommended:!P.mO(),nativeScrollbarSize:_r,nativeScrollbarIsOverlaid:Un,nativeScrollbarStyling:function(){var N=!1;Z.addClass("os-viewport-native-scrollbars-invisible");try{N=Z.css("scrollbar-width")==="none"&&(X>9||!X)||er.getComputedStyle(S,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return N}(),overlayScrollbarDummySize:{x:30,y:30},cssCalc:qn._cssPropertyValue("width","calc","(1px)")||null,restrictedMeasuring:function(){Z.css(xr,K);var N={w:S[c.sW],h:S[c.sH]};Z.css(xr,"visible");var vr={w:S[c.sW],h:S[c.sH]};return N.w-vr.w!==0||N.h-vr.h!==0}(),rtlScrollBehavior:function(){Z.css({"overflow-y":K,"overflow-x":Wr,direction:"rtl"}).scrollLeft(0);var N=Z.offset(),vr=H.offset();Z.scrollLeft(-999);var dr=H.offset();return{i:N.left===vr.left,n:vr.left!==dr.left}}(),supportTransform:!!qn._cssProperty("transform"),supportTransition:!!qn._cssProperty("transition"),supportPassiveEvents:function(){var N=!1;try{er.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){N=!0}}))}catch{}return N}(),supportResizeObserver:!!P.rO(),supportMutationObserver:!!P.mO()}),Z.removeAttr(c.s).remove(),function(){if(Un.x&&Un.y)return;var N=A.abs,vr=P.wW(),dr=P.wH(),C=s(),e=function(){if(Bt().length>0){var u=P.wW(),y=P.wH(),O=u-vr,w=y-dr;if(O===0&&w===0)return;var F=A.round(u/(vr/100)),G=A.round(y/(dr/100)),W=N(O),V=N(w),Xr=N(F),Ir=N(G),Rr=s(),$r=W>2&&V>2,Nr=!o(Xr,Ir),An=Rr!==C&&C>0,Er=$r&&Nr&&An,vn=Y.nativeScrollbarSize,bn;Er&&(k.append(Z),bn=Y.nativeScrollbarSize=Zr(Z[0]),Z.remove(),(vn.x!==bn.x||vn.y!==bn.y)&&R.each(Bt(),function(){Bt(this)&&Bt(this).update("zoom")})),vr=u,dr=y,C=Rr}};function o(u,y){var O=N(u),w=N(y);return!(O===w||O+1===w||O-1===w)}function s(){var u=er.screen.deviceXDPI||0,y=er.screen.logicalXDPI||1;return er.devicePixelRatio||u/y}R(er).on("resize",e)}();function Zr(N){return{x:N[c.oH]-N[c.cH],y:N[c.oW]-N[c.cW]}}}function or(M){var Y=this,xr=R.inArray,K=P.now,Wr="autoUpdate",k=Wr+"Interval",Z=c.l,S=[],H=[],_r=!1,Un=33,X=Un,Zr=K(),N,vr=function(){if(S[Z]>0&&_r){N=P.rAF()(function(){vr()});var dr=K(),C=dr-Zr,e,o,s,u,y,O;if(C>X){Zr=dr-C%X,e=Un;for(var w=0;wy&&(o.update("auto"),H[w]=new Date(O+=y)),e=A.max(1,A.min(e,y)));X=e}}else X=Un};Y.add=function(dr){xr(dr,S)===-1&&(S.push(dr),H.push(K()),S[Z]>0&&!_r&&(_r=!0,M.autoUpdateLoop=_r,vr()))},Y.remove=function(dr){var C=xr(dr,S);C>-1&&(H.splice(C,1),S.splice(C,1),S[Z]===0&&_r&&(_r=!1,M.autoUpdateLoop=_r,N!==B&&(P.cAF()(N),N=-1)))}}function ar(M,Y,xr,K,Wr){var k=P.type,Z=R.inArray,S=R.each,H=new T,_r=R[c.p];if(!Bc(M))return;if(Bt(M)){var Un=Bt(M);return Un.options(Y),Un}var X,Zr,N,vr,dr,C,e,o,s,u,y,O,w,F,G,W,V,Xr,Ir,Rr,$r,Nr,An,Er,vn,bn,Qn,pr,zr,xt={},Tn={},Ln={},mr={},mt={},Be="-hidden",tn="margin-",dn="padding-",gn="border-",qr="top",cn="right",Hn="bottom",hr="left",Nn="min-",Rt="max-",J="width",Ur="height",Bn="float",Q="",jr="auto",zs="sync",Kn="scroll",qt="100%",Re="x",qe="y",$n=".",on=" ",Us="scrollbar",Bs="-horizontal",Rs="-vertical",un=Kn+"Left",fn=Kn+"Top",Ee="mousedown touchstart",Ae="mouseup touchend touchcancel",Qe="mousemove touchmove",za="mouseenter",Ua="mouseleave",qs="keydown",As="keyup",ge="selectstart",Qs="transitionend webkitTransitionEnd oTransitionEnd",gs="__overlayScrollbarsRO__",kn="os-",Ba=kn+"html",Mn=kn+"host",os=Mn+"-foreign",Ks=Mn+"-textarea",Ra=Mn+"-"+Us+Bs+Be,qa=Mn+"-"+Us+Rs+Be,Aa=Mn+"-transition",Qa=Mn+"-rtl",$s=Mn+"-resize-disabled",us=Mn+"-scrolling",Ke=Mn+"-overflow",Ke=Mn+"-overflow",ga=Ke+"-x",Ka=Ke+"-y",fs=kn+"textarea",Gc=fs+"-cover",Ys=kn+"padding",ls=kn+"viewport",Fs=ls+"-native-scrollbars-invisible",$a=ls+"-native-scrollbars-overlaid",Js=kn+"content",jc=kn+"content-arrange",Sc=kn+"content-glue",ri=kn+"size-auto-observer",le=kn+"resize-observer",_s=kn+"resize-observer-item",Ya=_s+"-final",ps=kn+"text-inherit",At=kn+Us,Fa=At+"-track",Ja=Fa+"-off",Za=At+"-handle",Xa=Za+"-off",Va=At+"-unusable",$e=At+"-"+jr+Be,Zs=At+"-corner",Ye=Zs+"-resize",Ca=Ye+"-both",Ga=Ye+Bs,ja=Ye+Rs,ni=At+Bs,ti=At+Rs,_e=kn+"dragging",hs=kn+"theme-none",Xs=[Fs,$a,Ja,Xa,Va,$e,Ye,Ca,Ga,ja,_e].join(on),Vs=[],Cs=[c.ti],Sa,Fe,Sr,Qt={},ei="added removed on contract",rc,pe={},nc,tc=42,Gs="load",he=[],vs,bt,He,ve,cr,g,_t,pt,Gn,nr,Ar,gt,Pn,Kt,On,de,ds,Je,ye,ys,Ze,Xe,ke,jt,Yn,xs,ms,St,xe,jn,Ve,me,ec,Tt,Ce,Sn,re,sc,js,ac,cc,ic,oc,uc,fc,lc,Oe,De,Ss,ra,_c,pc,hc,vc,dc,yc,na,xc,$t,Ge,ta,bs,ea,mc,bc,Tc,ne,Lc={},Ts,Ls,sa,aa,Lt,Nc=["wrap","cols","rows"],ca=[c.i,c.c,c.s,"open"].concat(Cs),ia=[],oa,Mc,Pc,ua,fa,te,rt,be,la,ee,Ns,Ms,_a,pa;function Rn(r,t,a,i,f){var _=P.isA(t)&&P.isA(a),d=i?"removeEventListener":"addEventListener",b=i?"off":"on",x=_?!1:t.split(on),L=0,q=R.isPlainObject(f),D=y&&(q?f._passive:f)||!1,j=q&&(f._capture||!1),rr=y?{passive:D,capture:j}:j;if(_)for(;L9||!vr){r.prepend(Jn(le,Jn({c:_s,dir:"ltr"},Jn(_s,Jn(Ya))+Jn(_s,Jn({c:Ya,style:"width: 200%; height: 200%"})))));var L=r[0][f][0][f][0],q=R(L[f][1]),D=R(L[f][0]),j=R(D[0][f][0]),rr=L[c.oW],ir=L[c.oH],$,ur,tr,Hr,xn=2,Yr=K.nativeScrollbarSize,wn=function(){D[un](_)[fn](_),q[un](_)[fn](_)},en=function(){ur=0,$&&(rr=tr,ir=Hr,d())},rn=function(br){return tr=L[c.oW],Hr=L[c.oH],$=tr!=rr||Hr!=ir,br&&$&&!ur?(P.cAF()(ur),ur=P.rAF()(en)):br||en(),wn(),br&&(P.prvD(br),P.stpP(br)),!1},Cr={},Qr={};Te(Qr,Q,[-((Yr.y+1)*xn),Yr.x*-xn,Yr.y*-xn,-((Yr.x+1)*xn)]),R(L).css(Qr),D.on(Kn,rn),q.on(Kn,rn),r.on(i,function(){rn(!1)}),Cr[J]=_,Cr[Ur]=_,j.css(Cr),wn()}else{var nn=ke.attachEvent,dt=dr!==B;if(nn)r.prepend(Jn(le)),we(r,$n+le)[0].attachEvent("onresize",d);else{var gr=ke.createElement(v.o);gr.setAttribute(c.ti,"-1"),gr.setAttribute(c.c,le),gr.onload=function(){var br=this.contentDocument.defaultView;br.addEventListener("resize",d),br.document.documentElement.style.display="none"},gr.type="text/html",dt&&r.prepend(gr),gr.data="about:blank",dt||r.prepend(gr),r.on(i,d)}}if(r[0]===ms){var et=function(){var br=g.css("direction"),E={},kr=0,Or=!1;return br!==oc&&(br==="ltr"?(E[hr]=0,E[cn]=jr,kr=_):(E[hr]=jr,E[cn]=0,kr=N.n?-_:N.i?0:_),pt.children().eq(0).css(E),pt[un](kr)[fn](_),oc=br,Or=!0),Or};et(),ht(r,Kn,function(br){return et()&&Nt(),P.prvD(br),P.stpP(br),!1})}}else if(O){var b=r.contents()[0],Tr=b[gs];Tr&&(Tr.disconnect(),delete b[gs])}else Ft(r.children($n+le).eq(0))}}function si(){if(w){var r=11,t=P.mO(),a=P.now(),i,f,_,d,b,x,L,q,D,j;sa=function(rr){var ir=!1,$=!1,ur,tr=[];return F&&!zr&&(S(rr,function(){ur=this,i=ur.target,f=ur.attributeName,_=f===c.c,d=ur.oldValue,b=i.className,Ir&&_&&!$&&d.indexOf(os)>-1&&b.indexOf(os)<0&&(x=Uc(!0),Yn.className=b.split(on).concat(d.split(on).filter(function(Hr){return Hr.match(x)})).join(on),ir=$=!0),ir||(ir=_?Oc(d,b):f===c.s?d!==i[c.s].cssText:!0),tr.push(f)}),ya(tr),ir&&H.update($||jr)),ir},aa=function(rr){var ir=!1,$;return F&&!zr&&(S(rr,function(){return $=this,ir=ii($),!ir}),ir&&(q=P.now(),D=re||Sn,j=function(){G||(a=q,W&&xa(),D?Nt():H.update(jr))},clearTimeout(L),r<=0||q-a>r||!D?j():L=setTimeout(j,r))),ir},Ts=new t(sa),Ls=new t(aa)}}function Ic(){w&&!Lt&&(Ts.observe(Yn,{attributes:!0,attributeOldValue:!0,attributeFilter:ca}),Ls.observe(W?jt:jn,{attributes:!0,attributeOldValue:!0,subtree:!W,childList:!W,characterData:!W,attributeFilter:W?Nc:ca}),Lt=!0)}function ha(){w&&Lt&&(Ts.disconnect(),Ls.disconnect(),Lt=!1)}function ai(){if(!zr){var r,t={w:ms[c.sW],h:ms[c.sH]};r=Le(t,hc),hc=t,r&&Nt({_hostSizeChanged:!0})}}function Ec(){be&&Mt(!0)}function Hc(){be&&!ve.hasClass(_e)&&Mt(!1)}function ci(){rt&&(Mt(!0),clearTimeout(Pc),Pc=setTimeout(function(){rt&&!G&&Mt(!1)},100))}function je(r){return P.prvD(r),!1}function va(r){if(!G){var t=r.target,a=R(r.target),i=R.inArray(t,he);i>-1&&he.splice(i,1),qc(function(f,_){a.is(_)&&Nt({_contentSizeChanged:!0})})}}function da(r){r||da(!0),Rn(g,Qe.split(on)[0],ci,!rt||r,!0),Rn(g,[za,Ua],[Ec,Hc],!be||r,!0),!F&&!r&&g.one("mouseover",Ec)}function kc(){var r={};return V&>&&(r.w=Pt(gt.css(Nn+J)),r.h=Pt(gt.css(Nn+Ur)),r.c=Le(r,ne),r.f=!0),ne=r,!!r.c}function Oc(r,t){var a=typeof t==v.s?t.split(on):[],i=typeof r==v.s?r.split(on):[],f=hi(i,a),_=Z(hs,f),d,b;if(_>-1&&f.splice(_,1),f[c.l]>0){for(b=Uc(!0,!0),d=0;d0}}function fi(r){if(!F)return!0;var t="flex-grow",a="flex-shrink",i="flex-basis",f=[J,Nn+J,Rt+J,tn+hr,tn+cn,hr,cn,"font-weight","word-spacing",t,a,i],_=[dn+hr,dn+cn,gn+hr+J,gn+cn+J],d=[Ur,Nn+Ur,Rt+Ur,tn+qr,tn+Hn,qr,Hn,"line-height",t,a,i],b=[dn+qr,dn+Hn,gn+qr+J,gn+Hn+J],x="s",L="v-s",q=Oe.x===x||Oe.x===L,D=Oe.y===x||Oe.y===L,j=!1,rr=function(ir,$){for(var ur=0;ur-1){var i=cr.attr(a);k(i)==v.s?nr.attr(a,i):nr.removeAttr(a)}})}function xa(){if(!zr){var r=!bs,t=mr.w,a=mr.h,i={},f=Sn||r,_,d,b,x;return i[Nn+J]=Q,i[Nn+Ur]=Q,i[J]=jr,cr.css(i),_=jt[c.oW],d=f?A.max(_,jt[c.sW]-1):1,i[J]=Sn?jr:qt,i[Nn+J]=qt,i[Ur]=jr,cr.css(i),b=jt[c.oH],x=A.max(b,jt[c.sH]-1),i[J]=d,i[Ur]=x,Kt.css(i),i[Nn+J]=t,i[Nn+Ur]=a,cr.css(i),{_originalWidth:_,_originalHeight:b,_dynamicWidth:d,_dynamicHeight:x}}}function Nt(r){clearTimeout(nc),r=r||{},pe._hostSizeChanged|=r._hostSizeChanged,pe._contentSizeChanged|=r._contentSizeChanged,pe._force|=r._force;var t=P.now(),a=!!pe._hostSizeChanged,i=!!pe._contentSizeChanged,f=!!pe._force,_=r._changedOptions,d=F&&!G&&!f&&!_&&t-rc0?Yr:hs)),kr&&(E===!0||E===null&&vr?(ha(),Wr.add(H)):(Wr.remove(H),Ic())),et)if(gr)if(Pn?Pn.show():(Pn=R(Jn(Sc)),Gn.before(Pn)),$r)_t.show();else{_t=R(Jn(ri)),xs=_t[0],Pn.before(_t);var Et={w:-1,h:-1};Ps(_t,function(){var Ue={w:xs[c.oW],h:xs[c.oH]};Le(Ue,Et)&&(F&&re&&Ue.h>0||Sn&&Ue.w>0||F&&!re&&Ue.h===0||!Sn&&Ue.w===0)&&Nt(),Et=Ue}),$r=!0,e!==null&&_t.css(Ur,e+"(100% + 1px)")}else $r&&_t.hide(),Pn&&Pn.hide();f&&(pt.find("*").trigger(Kn),$r&&_t.find("*").trigger(Kn)),b=b===B?g.is(":hidden"):b;var Xn=W?cr.attr("wrap")!=="off":!1,rs=x(Xn,bs),Vn=g.css("direction"),In=x(Vn,ic),Zt=g.css("box-sizing"),Cn=x(Zt,sc),Br=Ma(dn),ln;try{ln=$r?xs[c.bCR]():null}catch{return}pr=Vn==="rtl",Rr=Zt==="border-box";var _n=pr?hr:cn,fr=pr?cn:hr,st=!1,se=$r&&g.css(Bn)!=="none"?A.round(ln.right-ln.left)===0&&(Cr?!0:Yn[c.cW]-Nr>0):!1;if(gr&&!se){var Me=Yn[c.oW],Xt=Pn.css(J);Pn.css(J,jr);var Ht=Yn[c.oW];Pn.css(J,Xt),st=Me!==Ht,st||(Pn.css(J,Me+1),Ht=Yn[c.oW],Pn.css(J,Xt),st=Me!==Ht)}var sr=(se||st)&&gr&&!b,pn=x(sr,Sn),Vt=!sr&&Sn,Mr=$r&&gr&&!b?A.round(ln.bottom-ln.top)===0:!1,hn=x(Mr,re),at=!Mr&&re,ns=sr&&Rr||!Rr,Is=Mr&&Rr||!Rr,ct=Ma(gn,"-"+J,!ns,!Is),kt=Ma(tn),z={},U={},Fr=function(){return{w:Yn[c.cW],h:Yn[c.cH]}},En=function(){return{w:St[c.oW]+A.max(0,jn[c.cW]-jn[c.sW]),h:St[c.oH]+A.max(0,jn[c.cH]-jn[c.sH])}},yr=Nr=Br.l+Br.r,it=An=Br.t+Br.b;if(yr*=Cr?1:0,it*=Cr?1:0,Br.c=x(Br,js),Er=ct.l+ct.r,vn=ct.t+ct.b,ct.c=x(ct,ac),bn=kt.l+kt.r,Qn=kt.t+kt.b,kt.c=x(kt,cc),bs=Xn,ic=Vn,sc=Zt,Sn=sr,re=Mr,js=Br,ac=ct,cc=kt,In&&$r&&_t.css(Bn,fr),Br.c||In||Qr||pn||hn||Cn||et){var Gr={},zn={},ae=[Br.t,Br.r,Br.b,Br.l];Te(U,tn,[-Br.t,-Br.r,-Br.b,-Br.l]),Cr?(Te(Gr,Q,ae),Te(W?zn:z,dn)):(Te(Gr,Q),Te(W?zn:z,dn,ae)),Gn.css(Gr),cr.css(zn)}mr=En();var Dr=W?xa():!1,ot=W&&x(Dr,mc),Ot=W&&Dr?{w:Jt?Dr._dynamicWidth:Dr._originalWidth,h:Wn?Dr._dynamicHeight:Dr._originalHeight}:{};if(mc=Dr,Mr&&(hn||Qr||Cn||Br.c||ct.c)?z[Ur]=jr:(hn||Qr)&&(z[Ur]=qt),sr&&(pn||Qr||Cn||Br.c||ct.c||In)?(z[J]=jr,U[Rt+J]=qt):(pn||Qr)&&(z[J]=qt,z[Bn]=Q,U[Rt+J]=Q),sr?(U[J]=jr,z[J]=qn._cssPropertyValue(J,"max-content intrinsic")||jr,z[Bn]=fr):U[J]=Q,Mr?U[Ur]=Ot.h||jn[c.cH]:U[Ur]=Q,gr&&Pn.css(U),Ar.css(z),z={},U={},a||i||ot||In||Cn||Qr||pn||sr||hn||Mr||br||Zn||dt||rn||rr||$||xn||tr||Ne||It||rs){var sn="overflow",Ct=sn+"-x",Dt=sn+"-y",ce="hidden",ut="visible";if(!C){var wt={},Ea=Tt.y&&Ce.ys&&!Tr?X.y?nr.css(_n):-o.y:0,xi=Tt.x&&Ce.xs&&!Tr?X.x?nr.css(Hn):-o.x:0;Te(wt,Q),nr.css(wt)}var ie=Rc(),ts={w:Ot.w||ie[c.cW],h:Ot.h||ie[c.cH]},Ac={w:ie[c.sW],h:ie[c.sH]};C||(wt[Hn]=at?Q:xi,wt[_n]=Vt?Q:Ea,nr.css(wt)),mr=En();var es=Fr(),Ha={w:es.w-bn-Er-(Rr?0:Nr),h:es.h-Qn-vn-(Rr?0:An)},We={w:A.max((sr?ts.w:Ac.w)+yr,Ha.w),h:A.max((Mr?ts.h:Ac.h)+it,Ha.h)};if(We.c=x(We,lc),lc=We,gr){(We.c||Mr||sr)&&(U[J]=We.w,U[Ur]=We.h,W||(ts={w:ie[c.cW],h:ie[c.cH]}));var Qc={},gc=function(Jr){var mn=nt(Jr),ft=mn._w_h,Kr=mn._width_height,lr=Jr?sr:Mr,yt=Jr?Er:vn,Pe=Jr?Nr:An,Wa=Jr?bn:Qn,ws=mr[ft]-yt-Wa-(Rr?0:Pe);(!lr||!lr&&ct.c)&&(U[Kr]=Ha[ft]-1),lr&&ts[ft]0&&(U[Kr]=A.max(1,U[Kr]))};gc(!0),gc(!1),W&&Kt.css(Qc),Pn.css(U)}sr&&(z[J]=qt),sr&&!Rr&&!Lt&&(z[Bn]="none"),Ar.css(z),z={};var oe={w:ie[c.sW],h:ie[c.sH]};oe.c=i=x(oe,me),me=oe,mr=En(),es=Fr(),a=x(es,Ve),Ve=es;var ka=W&&(mr.w===0||mr.h===0),Es=De,ze={},ss={},Kc={},Wt={},wr={},Lr={},as={},$c=St[c.bCR](),Yc=function(Jr){var mn=nt(Jr),ft=nt(!Jr),Kr=ft._x_y,lr=mn._x_y,yt=mn._w_h,Pe=mn._width_height,Wa=Kn+mn._Left_Top+"Max",ws=$c[Pe]?A.abs($c[Pe]-mr[yt]):0,Di=Es&&Es[lr]>0&&xe[Wa]===0;ze[lr]=Or[lr]==="v-s",ss[lr]=Or[lr]==="v-h",Kc[lr]=Or[lr]==="s",Wt[lr]=A.max(0,A.round((oe[yt]-mr[yt])*100)/100),Wt[lr]*=ka||Di&&ws>0&&ws<1?0:1,wr[lr]=Wt[lr]>0,Lr[lr]=ze[lr]||ss[lr]?wr[Kr]&&!ze[Kr]&&!ss[Kr]:wr[lr],Lr[lr+"s"]=Lr[lr]?Kc[lr]||ze[lr]:!1,as[lr]=wr[lr]&&Lr[lr+"s"]};if(Yc(!0),Yc(!1),Wt.c=x(Wt,De),De=Wt,wr.c=x(wr,Tt),Tt=wr,Lr.c=x(Lr,Ce),Ce=Lr,X.x||X.y){var mi="px solid transparent",Oa={},Gt={},Hs=f,Da;(wr.x||wr.y)&&(Gt.w=X.y&&wr.y?oe.w+Zr.y:Q,Gt.h=X.x&&wr.x?oe.h+Zr.x:Q,Hs=x(Gt,ec),ec=Gt),(wr.c||Lr.c||oe.c||In||pn||hn||sr||Mr||br)&&(z[tn+fr]=z[gn+fr]=Q,Da=function(Jr){var mn=nt(Jr),ft=nt(!Jr),Kr=mn._x_y,lr=Jr?Hn:_n,yt=Jr?Mr:sr;X[Kr]&&wr[Kr]&&Lr[Kr+"s"]?(z[tn+lr]=yt?Tr?Q:Zr[Kr]:Q,z[gn+lr]=(!Jr||!yt)&&!Tr?Zr[Kr]+mi:Q):(Gt[ft._w_h]=z[tn+lr]=z[gn+lr]=Q,Hs=!0)},C?tt(nr,Fs,!Tr):(Da(!0),Da(!1))),Tr&&(Gt.w=Gt.h=Q,Hs=!0),Hs&&!C&&(Oa[J]=Lr.y?Gt.w:Q,Oa[Ur]=Lr.x?Gt.h:Q,gt||(gt=R(Jn(jc)),nr.prepend(gt)),gt.css(Oa)),Ar.css(z)}var an={},Gr={},wa;if((a||wr.c||Lr.c||oe.c||Zn||Cn||br||In||dt||hn)&&(an[fr]=Q,wa=function(Jr){var mn=nt(Jr),ft=nt(!Jr),Kr=mn._x_y,lr=mn._X_Y,yt=Jr?Hn:_n,Pe=function(){an[yt]=Q,xt[ft._w_h]=0};wr[Kr]&&Lr[Kr+"s"]?(an[sn+lr]=Kn,Tr||C?Pe():(an[yt]=-(X[Kr]?Zr[Kr]:o[Kr]),xt[ft._w_h]=X[Kr]?Zr[ft._x_y]:0)):(an[sn+lr]=Q,Pe())},wa(!0),wa(!1),!C&&(mr.h=Ei&&oa,Os={x:!Xn&&Li===Pi&&Zc===Ni?De.x:-1,y:(Xn?Xc||Jc&&Es&&L.y===Es.y:(Xc||Jc)&&Zc===Mi)?De.y:-1};L.x=Os.x>-1?pr&&$t&&N.i?0:Os.x:L.x,L.y=Os.y>-1?Os.y:L.y}ea=zt}pr&&N.i&&X.y&&wr.x&&$t&&(L.x+=xt.w||0),sr&&g[un](0),Mr&&g[fn](0),nr[un](L.x)[fn](L.y);var Hi=j==="v",ki=j==="h",Oi=j==="a",Ds=function(Jr,mn){mn=mn===B?Jr:mn,Wc(!0,Jr,as.x),Wc(!1,mn,as.y)};tt(g,Ke,Lr.x||Lr.y),tt(g,ga,Lr.x),tt(g,Ka,Lr.y),In&&!V&&tt(g,Qa,pr),V&&Vr(g,$s),rn&&(tt(g,$s,Ns),tt(On,Ye,!Ns),tt(On,Ca,Ms),tt(On,Ga,_a),tt(On,ja,pa)),(rr||Zn||Lr.c||wr.c||br)&&(Tr?br&&(yn(g,us),Tr&&Ds(!1)):Oi?Ds(as.x,as.y):Hi?Ds(!0):ki&&Ds(!1)),($||br)&&(da(!be&&!rt),Mt(fa,!fa)),(a||Wt.c||hn||pn||rn||Cn||Qr||br||In)&&(La(!0),vt(!0),La(!1),vt(!1)),tr&&zc(!0,ur),xn&&zc(!1,Hr),Fn("onDirectionChanged",{isRTL:pr,dir:Vn},In),Fn("onHostSizeChanged",{width:Ve.w,height:Ve.h},a),Fn("onContentSizeChanged",{width:me.w,height:me.h},i),Fn("onOverflowChanged",{x:wr.x,y:wr.y,xScrollable:Lr.xs,yScrollable:Lr.ys,clipped:Lr.x||Lr.y},wr.c||Lr.c),Fn("onOverflowAmountChanged",{x:Wt.x,y:Wt.y},Wt.c)}V&&ne&&(Tt.c||ne.c)&&(ne.f||kc(),X.y&&Tt.x&&Ar.css(Nn+J,ne.w+Zr.y),X.x&&Tt.y&&Ar.css(Nn+Ur,ne.h+Zr.x),ne.c=!1),F&&_.updateOnLoad&&Dc(),Fn("onUpdated",{forced:f})}}function Dc(){W||qc(function(r,t){Ar.find(t).each(function(a,i){P.inA(i,he)<0&&(he.push(i),R(i).off(Gs,va).on(Gs,va))})})}function ma(r){var t=l._validate(r,l._template,!0,Fe);return Fe=Dn({},Fe,t._default),Sr=Dn({},Sr,t._prepared),t._prepared}function ba(r){var t="parent",a="os-resize-observer-host",i=fs+on+ps,f=W?on+ps:Q,_=Sr.textarea.inheritedAttrs,d={},b=function(){var q=r?cr:g;S(d,function(D,j){k(j)==v.s&&(D==c.c?q.addClass(j):q.attr(D,j))})},x=[Mn,os,Ks,$s,Qa,Ra,qa,Aa,us,Ke,ga,Ka,hs,fs,ps,Ge].join(on),L={};g=g||(W?Ir?cr[t]()[t]()[t]()[t]():R(Jn(Ks)):cr),Ar=Ar||Yt(Js+f),nr=nr||Yt(ls+f),Gn=Gn||Yt(Ys+f),pt=pt||Yt(a),Kt=Kt||(W?Yt(Gc):B),Ir&&Vr(g,os),r&&yn(g,x),_=k(_)==v.s?_.split(on):_,P.isA(_)&&W&&S(_,function(q,D){k(D)==v.s&&(d[D]=r?g.attr(D):cr.attr(D))}),r?(Ir&&F?(pt.children().remove(),S([Gn,nr,Ar,Kt],function(q,D){D&&yn(D.removeAttr(c.s),Xs)}),Vr(g,W?Ks:Mn)):(Ft(pt),Ar.contents().unwrap().unwrap().unwrap(),W&&(cr.unwrap(),Ft(g),Ft(Kt),b())),W&&cr.removeAttr(c.s),V&&yn(He,Ba)):(W&&(Sr.sizeAutoCapable||(L[J]=cr.css(J),L[Ur]=cr.css(Ur)),Ir||cr.addClass(ps).wrap(g),g=cr[t]().css(L)),Ir||(Vr(cr,W?i:Mn),g.wrapInner(Ar).wrapInner(nr).wrapInner(Gn).prepend(pt),Ar=we(g,$n+Js),nr=we(g,$n+ls),Gn=we(g,$n+Ys),W&&(Ar.prepend(Kt),b())),C&&Vr(nr,Fs),X.x&&X.y&&Vr(nr,$a),V&&Vr(He,Ba),ms=pt[0],Yn=g[0],St=Gn[0],xe=nr[0],jn=Ar[0],ya())}function li(){var r=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],t=[],a,i,f=175,_="focus";function d($){xa(),H.update(jr),$&&vr&&clearInterval(a)}function b($){return cr[un](N.i&&$t?9999999:0),cr[fn](0),P.prvD($),P.stpP($),!1}function x($){setTimeout(function(){G||d()},50)}function L(){oa=!0,Vr(g,_)}function q(){oa=!1,t=[],yn(g,_),d(!0)}function D($){var ur=$.keyCode;Z(ur,r)<0&&(t[c.l]||(d(),a=setInterval(d,1e3/60)),Z(ur,t)<0&&t.push(ur))}function j($){var ur=$.keyCode,tr=Z(ur,t);Z(ur,r)<0&&(tr>-1&&t.splice(tr,1),t[c.l]||d(!0))}function rr($){ra!==!0&&($=$.originalEvent||$,fi($.propertyName)&&H.update(jr))}function ir($){zr||(i!==B?clearTimeout(i):((te||rt)&&Mt(!0),Se()||Vr(g,us),Fn("onScrollStart",$)),ee||(vt(!0),vt(!1)),Fn("onScroll",$),i=setTimeout(function(){G||(clearTimeout(i),i=B,(te||rt)&&Mt(!1),Se()||yn(g,us),Fn("onScrollStop",$))},f))}W?(dr>9||!vr?ht(cr,"input",d):ht(cr,[qs,As],[D,j]),ht(cr,[Kn,"drop",_,_+"out"],[b,x,L,q])):ht(Ar,Qs,rr),ht(nr,Kn,ir,!0)}function Ta(r){var t=function(_){var d=_?ni:ti,b=Yt(At+on+d,!0),x=Yt(Fa,b),L=Yt(Za,b);return!Ir&&!r&&(b.append(x),x.append(L)),{_scrollbar:b,_track:x,_handle:L}};function a(_){var d=nt(_),b=d._scrollbar,x=d._track,L=d._handle;Ir&&F?S([b,x,L],function(q,D){yn(D.removeAttr(c.s),Xs)}):Ft(b||t(_)._scrollbar)}var i,f;r?(a(!0),a()):(i=t(!0),f=t(),de=i._scrollbar,ds=i._track,Je=i._handle,ye=f._scrollbar,ys=f._track,Ze=f._handle,Ir||(Gn.after(ye),Gn.after(de)))}function wc(r){var t=nt(r),a=t._info,i=Xe.top!==Xe,f=t._x_y,_=t._X_Y,d=Kn+t._Left_Top,b="active",x="snapHandle",L="click",q=1,D=[16,17],j,rr,ir,$;function ur(E){return dr&&i?E["screen"+_]:P.page(E)[f]}function tr(E){return Sr.scrollbars[E]}function Hr(){q=.5}function xn(){q=1}function Yr(E){P.stpP(E)}function wn(E){Z(E.keyCode,D)>-1&&Hr()}function en(E){Z(E.keyCode,D)>-1&&xn()}function rn(E){var kr=E.originalEvent||E,Or=kr.touches!==B;return zr||G||Se()||!na||Or&&!tr("touchSupport")?!1:P.mBtn(E)===1||Or}function Cr(E){if(rn(E)){var kr=a._trackLength,Or=a._handleLength,Zn=a._maxScroll,Jt=(ur(E)-ir)*$,Ne=Jt/(kr-Or),Wn=Zn*Ne;Wn=isFinite(Wn)?Wn:0,pr&&r&&!N.i&&(Wn*=-1),nr[d](A.round(rr+Wn)),ee&&vt(r,rr+Wn),y||P.prvD(E)}else Qr(E)}function Qr(E){if(E=E||E.originalEvent,Rn(bt,[Qe,Ae,qs,As,ge],[Cr,Qr,wn,en,je],!0),P.rAF()(function(){Rn(bt,L,Yr,!0,{_capture:!0})}),ee&&vt(r,!0),ee=!1,yn(ve,_e),yn(t._handle,b),yn(t._track,b),yn(t._scrollbar,b),rr=B,ir=B,$=1,xn(),j!==B&&(H.scrollStop(),clearTimeout(j),j=B),E){var kr=Yn[c.bCR](),Or=E.clientX>=kr.left&&E.clientX<=kr.right&&E.clientY>=kr.top&&E.clientY<=kr.bottom;Or||Hc(),(te||rt)&&Mt(!1)}}function nn(E){rn(E)&&dt(E)}function dt(E){rr=nr[d](),rr=isNaN(rr)?0:rr,(pr&&r&&!N.n||!pr)&&(rr=rr<0?0:rr),$=Pa()[f],ir=ur(E),ee=!tr(x),Vr(ve,_e),Vr(t._handle,b),Vr(t._scrollbar,b),Rn(bt,[Qe,Ae,ge],[Cr,Qr,je]),P.rAF()(function(){Rn(bt,L,Yr,!1,{_capture:!0})}),(dr||!Xr)&&P.prvD(E),P.stpP(E)}function gr(E){if(rn(E)){var kr=t._info._handleLength/Math.round(A.min(1,mr[t._w_h]/me[t._w_h])*t._info._trackLength),Or=A.round(mr[t._w_h]*kr),Zn=270*kr,Jt=400*kr,Ne=t._track.offset()[t._left_top],Wn=E.ctrlKey,It=E.shiftKey,Et=It&&Wn,Xn=!0,rs="linear",Vn,In,Zt=function(ln){ee&&vt(r,ln)},Cn=function(){Zt(),dt(E)},Br=function(){if(!G){var ln=(ir-Ne)*$,_n=a._handleOffset,fr=a._trackLength,st=a._handleLength,se=a._maxScroll,Me=a._currentScroll,Xt=Zn*q,Ht=Xn?A.max(Jt,Xt):Xt,sr=se*((ln-st/2)/(fr-st)),pn=pr&&r&&(!N.i&&!N.n||$t),Vt=pn?_nln,Mr={},hn={easing:rs,step:function(at){ee&&(nr[d](at),vt(r,at))}};sr=isFinite(sr)?sr:0,sr=pr&&r&&!N.i?se-sr:sr,It?(nr[d](sr),Et?(sr=nr[d](),nr[d](Me),sr=pn&&N.i?se-sr:sr,sr=pn&&N.n?-sr:sr,Mr[f]=sr,H.scroll(Mr,Dn(hn,{duration:130,complete:Cn}))):Cn()):(Vn=Xn?Vt:Vn,In=pn?Vn?_n+st>=ln:_n<=ln:Vn?_n<=ln:_n+st>=ln,In?(clearTimeout(j),H.scrollStop(),j=B,Zt(!0)):(j=setTimeout(Br,Ht),Mr[f]=(Vn?"-=":"+=")+Or,H.scroll(Mr,Dn(hn,{duration:Xt}))),Xn=!1)}};Wn&&Hr(),$=Pa()[f],ir=P.page(E)[f],ee=!tr(x),Vr(ve,_e),Vr(t._track,b),Vr(t._scrollbar,b),Rn(bt,[Ae,qs,As,ge],[Qr,wn,en,je]),Br(),P.prvD(E),P.stpP(E)}}function et(E){la=!0,(te||rt)&&Mt(!0)}function Tr(E){la=!1,(te||rt)&&Mt(!1)}function br(E){P.stpP(E)}ht(t._handle,Ee,nn),ht(t._track,[Ee,za,Ua],[gr,et,Tr]),ht(t._scrollbar,Ee,br),s&&ht(t._scrollbar,Qs,function(E){E.target===t._scrollbar[0]&&(La(r),vt(r))})}function Wc(r,t,a){var i=r?Ra:qa,f=r?de:ye;tt(g,i,!t),tt(f,Va,!a)}function Mt(r,t){if(clearTimeout(Mc),r)yn(de,$e),yn(ye,$e);else{var a,i="active",f=function(){!la&&!G&&(a=Je.hasClass(i)||Ze.hasClass(i),!a&&(te||rt||be)&&Vr(de,$e),!a&&(te||rt||be)&&Vr(ye,$e))};ua>0&&t!==!0?Mc=setTimeout(f,ua):f()}}function La(r){var t={},a=nt(r),i=a._info,f=1e6,_=A.min(1,mr[a._w_h]/me[a._w_h]);t[a._width_height]=A.floor(_*100*f)/f+"%",Se()||a._handle.css(t),i._handleLength=a._handle[0]["offset"+a._Width_Height],i._handleLengthRatio=_}function vt(r,t){var a=k(t)==v.b,i=250,f=pr&&r,_=nt(r),d=_._info,b="translate(",x=qn._cssProperty("transform"),L=qn._cssProperty("transition"),q=r?nr[un]():nr[fn](),D=t===B||a?q:t,j=d._handleLength,rr=_._track[0]["offset"+_._Width_Height],ir=rr-j,$={},ur,tr,Hr=(xe[Kn+_._Width_Height]-xe["client"+_._Width_Height])*(N.n&&f?-1:1),xn=function(Qr){return isNaN(Qr/Hr)?0:A.max(0,A.min(1,Qr/Hr))},Yr=function(Qr){var nn=ir*Qr;return nn=isNaN(nn)?0:nn,nn=f&&!N.i?rr-j-nn:nn,nn=A.max(0,nn),nn},wn=xn(q),en=xn(D),rn=Yr(en),Cr=Yr(wn);d._maxScroll=Hr,d._currentScroll=q,d._currentScrollRatio=wn,u?(ur=f?-(rr-j-rn):rn,tr=r?b+ur+"px, 0)":b+"0, "+ur+"px)",$[x]=tr,s&&($[L]=a&&A.abs(rn-d._handleOffset)>1?pi(_._handle)+", "+(x+on+i+"ms"):Q)):$[_._left_top]=rn,Se()||(_._handle.css($),u&&s&&a&&_._handle.one(Qs,function(){G||_._handle.css(L,Q)})),d._handleOffset=rn,d._snappedHandleOffset=Cr,d._trackLength=rr}function zc(r,t){var a=t?"removeClass":"addClass",i=r?ds:Je,f=r?ys:Ze,_=r?Ja:Xa;i[a](_),f[a](_)}function nt(r){return{_width_height:r?J:Ur,_Width_Height:r?"Width":"Height",_left_top:r?hr:qr,_Left_Top:r?"Left":"Top",_x_y:r?Re:qe,_X_Y:r?"X":"Y",_w_h:r?"w":"h",_l_t:r?"l":"t",_track:r?ds:ys,_handle:r?Je:Ze,_scrollbar:r?de:ye,_info:r?Tn:Ln}}function Na(r){On=On||Yt(Zs,!0),r?Ir&&F?yn(On.removeAttr(c.s),Xs):Ft(On):Ir||g.append(On)}function _i(){var r=Xe.top!==Xe,t={},a={},i={},f;function _(L){if(b(L)){var q=x(L),D={};(_a||Ms)&&(D[J]=a.w+(q.x-t.x)*i.x),(pa||Ms)&&(D[Ur]=a.h+(q.y-t.y)*i.y),g.css(D),P.stpP(L)}else d(L)}function d(L){var q=L!==B;Rn(bt,[ge,Qe,Ae],[je,_,d],!0),yn(ve,_e),On.releaseCapture&&On.releaseCapture(),q&&(f&&Ic(),H.update(jr)),f=!1}function b(L){var q=L.originalEvent||L,D=q.touches!==B;return zr||G?!1:P.mBtn(L)===1||D}function x(L){return dr&&r?{x:L.screenX,y:L.screenY}:P.page(L)}ht(On,Ee,function(L){b(L)&&!Ns&&(Lt&&(f=!0,ha()),t=x(L),a.w=Yn[c.oW]-(Rr?0:Nr),a.h=Yn[c.oH]-(Rr?0:An),i=Pa(),Rn(bt,[ge,Qe,Ae],[je,_,d]),Vr(ve,_e),On.setCapture&&On.setCapture(),P.prvD(L),P.stpP(L))})}function Fn(r,t,a){if(a!==!1)if(F){var i=Sr.callbacks[r],f=r,_;f.substr(0,2)==="on"&&(f=f.substr(2,1).toLowerCase()+f.substr(3)),k(i)==v.f&&i.call(H,t),S(Qt,function(){_=this,k(_.on)==v.f&&_.on(f,t)})}else G||Vs.push({n:r,a:t})}function Te(r,t,a){t=t||Q,a=a||[Q,Q,Q,Q],r[t+qr]=a[0],r[t+cn]=a[1],r[t+Hn]=a[2],r[t+hr]=a[3]}function Ma(r,t,a,i){return t=t||Q,r=r||Q,{t:i?0:Pt(g.css(r+qr+t)),r:a?0:Pt(g.css(r+cn+t)),b:i?0:Pt(g.css(r+Hn+t)),l:a?0:Pt(g.css(r+hr+t))}}function pi(r){var t=qn._cssProperty("transition"),a=r.css(t);if(a)return a;for(var i="\\s*(([^,(]+(\\(.+?\\))?)+)[\\s,]*",f=new RegExp(i),_=new RegExp("^("+i+")+$"),d="property duration timing-function delay".split(" "),b=[],x,L,q=0,D,j=function(rr){if(x=[],!rr.match(_))return rr;for(;rr.match(f);)x.push(RegExp.$1),rr=rr.replace(f,Q);return x};qb&&(d=D+1,b=q);return{_cursorRow:x,_cursorColumn:L,_rows:f,_columns:b,_widestRow:d,_cursorPosition:r,_cursorMax:a}}}function Se(){return Ss&&X.x&&X.y}function Rc(){return W?Kt[0]:jn}function Jn(r,t){return"
"+(t||Q)+"
"}function Yt(r,t){var a=k(t)==v.b,i=a?g:t||g;return Ir&&!i[c.l]?null:Ir?i[a?"children":"find"]($n+r.replace(/\s/g,$n)).eq(0):R(Jn(r))}function Ia(r,t){for(var a=t.split($n),i=0,f;i1)di(a,r,t),i=ma(a);else return Ia(Fe,r);else return Fe;else i=ma(r);R.isEmptyObject(i)||Nt({_changedOptions:i})},H.destroy=function(){if(!G){Wr.remove(H),ha(),Ps(pt),Ps(_t);for(var r in Qt)H.removeExt(r);for(;ia[c.l]>0;)ia.pop()();da(!0),Pn&&Ft(Pn),gt&&Ft(gt),$r&&Ft(_t),Ta(!0),Na(!0),ba(!0);for(var t=0;t2&&(Dt=U.substr(0,2),Z(Dt,ir)>-1&&(En=Dt)),U=En?U.substr(2):U,U=U[sn](/min/g,0)[sn](//g,(Ot?"-":Q)+qt)[sn](/px/g,Q)[sn](/%/g,ae+zn*(ot&&N.n?-1:1)/100)[sn](/vw/g,ae+mr.w)[sn](/vh/g,ae+mr.h),yr=Pt(isNaN(U)?Pt(Ct(U),!0).toFixed():U)):yr=U,yr!==B&&!isNaN(yr)&&k(yr)==v.n){var ce=D&&ot,ut=Gr*(ce&&N.n?-1:1),wt=ce&&N.i,Ea=ce&&N.n;switch(ut=wt?zn-ut:ut,En){case"+=":Dr=ut+yr;break;case"-=":Dr=ut-yr;break;case"*=":Dr=ut*yr;break;case"/=":Dr=ut/yr;break;default:Dr=yr;break}Dr=wt?zn-Dr:Dr,Dr*=Ea?-1:1,Dr=ot&&N.n?A.min(0,A.max(zn,Dr)):A.max(0,A.min(zn,Dr))}return Dr===Gr?B:Dr}function ln(z,U,Fr,En){var yr=[Fr,Fr],it=k(z),Gr,zn;if(it==U)z=[z,z];else if(it==v.a){if(Gr=z[Tr],Gr>2||Gr<1)z=yr;else for(Gr===1&&(z[1]=Fr),tr=0;tr0){Ht==v.n||Ht==v.b?fr=_n([fr,fr,fr,fr]):Ht==v.a?(sr=fr[Tr],sr===2?fr=_n([fr[0],fr[1],fr[0],fr[1]]):sr>=4?fr=_n(fr):fr=Xt):Ht==v.o?fr=_n([fr[qr],fr[cn],fr[Hn],fr[hr]]):fr=Xt,br=Zt(st,Jt)?st:"xy",E=ln(se,v.s,dt,Wn),kr=ln(Me,v.s,Cr,Ne),Or=fr;var pn={l:Tn._currentScroll,t:Ln._currentScroll},Vt=Gn.offset(),Mr=Zn.offset(),hn={x:E.x==gr||br==qe,y:E.y==gr||br==Re};Mr[qr]-=Or[0],Mr[hr]-=Or[3];var at={x:A.round(Mr[hr]-Vt[hr]+pn.l),y:A.round(Mr[qr]-Vt[qr]+pn.t)};if(pr&&(!N.n&&!N.i&&(at.x=A.round(Vt[hr]-Mr[hr]+pn.l)),N.n&&D&&(at.x*=-1),N.i&&D&&(at.x=A.round(Vt[hr]-Mr[hr]+(Tn._maxScroll-pn.l)))),kr.x!=Cr||kr.y!=Cr||E.x==et||E.y==et||pr){var ns=Zn[0],Is=u?ns[c.bCR]():{width:ns[c.oW],height:ns[c.oH]},ct={w:Is[J]+Or[3]+Or[1],h:Is[Ur]+Or[0]+Or[2]},kt=function(z){var U=nt(z),Fr=U._w_h,En=U._left_top,yr=U._x_y,it=kr[yr]==(z&&pr?Cr:rn),Gr=kr[yr]==Qr,zn=kr[yr]==nn,ae=E[yr]==gr,Dr=E[yr]==et,ot=mr[Fr],Ot=Vt[En],sn=ct[Fr],Ct=Mr[En],Dt=Gr?2:1,ce=Ct+sn/2,ut=Ot+ot/2,wt=sn<=ot&&Ct>=Ot&&Ct+sn<=Ot+ot;ae?hn[yr]=!0:hn[yr]||((zn||Dr)&&(hn[yr]=Dr?wt:!1,it=snut:ce0||$)?$?(t.complete=In,nr.animate(Hr,t)):(en={duration:t,complete:In},P.isA(a)||R.isPlainObject(a)?(xn[un]=a[0]||a.x,xn[fn]=a[1]||a.y,en.specialEasing=xn):en.easing=a,nr.animate(Hr,en)):(Yr&&nr[un](Hr[un]),wn&&nr[fn](Hr[fn]),Vn())},H.scrollStop=function(r,t,a){return nr.stop(r,t,a),H},H.getElements=function(r){var t={target:jt,host:Yn,padding:St,viewport:xe,content:jn,scrollbarHorizontal:{scrollbar:de[0],track:ds[0],handle:Je[0]},scrollbarVertical:{scrollbar:ye[0],track:ys[0],handle:Ze[0]},scrollbarCorner:On[0]};return k(r)==v.s?Ia(t,r):t},H.getState=function(r){function t(i){if(!R.isPlainObject(i))return i;var f=Dn({},i),_=function(d,b){f[c.hOP](d)&&(f[b]=f[d],delete f[d])};return _("w",J),_("h",Ur),delete f.c,f}var a={destroyed:!!t(G),sleeping:!!t(zr),autoUpdate:t(!Lt),widthAuto:t(Sn),heightAuto:t(re),padding:t(js),overflowAmount:t(De),hideOverflow:t(Ce),hasOverflow:t(Tt),contentScrollSize:t(me),viewportSize:t(mr),hostSize:t(Ve),documentMixed:t(Xr)};return k(r)==v.s?Ia(a,r):a},H.ext=function(r){var t,a=ei.split(" "),i=0;if(k(r)==v.s){if(Qt[c.hOP](r))for(t=Dn({},Qt[r]);i0&&(Wr?R.each(M,function(S,H){k=H,k!==B&&K.push(ar(k,Y,xr,m,n))}):R.each(M,function(S,H){k=Bt(H),(Y==="!"&&T.valid(k)||P.type(Y)==v.f&&Y(H,k)||Y===B)&&K.push(k)}),Z=K[c.l]===1?K[0]:K),Z):Wr||!Y?Z:K},T.globals=function(){h();var M=R.extend(!0,{},m);return delete M.msie,M},T.defaultOptions=function(M){h();var Y=m.defaultOptions;if(M===B)return R.extend(!0,{},Y);m.defaultOptions=R.extend(!0,{},Y,l._validate(M,l._template,!0,Y)._default)},T.valid=function(M){return M instanceof T&&!M.getState().destroyed},T.extension=function(M,Y,xr){var K=P.type(M)==v.s,Wr=arguments[c.l],k=0;if(Wr<1||!K)return R.extend(!0,{length:p[c.l]},p);if(K){if(P.type(Y)==v.f)p.push({name:M,extensionFactory:Y,defaultOptions:xr});else for(;k1)p.splice(k,1);else return R.extend(!0,{},p[k])}},T}();return fe&&fe.fn&&(fe.fn.overlayScrollbars=function(T,m){var n=this;return fe.isPlainObject(T)?(fe.each(n,function(){Ws(this,T,m)}),n):Ws(n,T)}),Ws})}}),is=wi(zi()),Ui=({options:Ut={},extensions:ue,className:er,children:Pr,...B})=>{let Ie=cs.useRef(),v=cs.useRef();return cs.useEffect(()=>(v.current=(0,is.default)(Ie.current,Ut,ue),Vc(v.current,er),()=>{is.default.valid(v.current)&&(v.current.destroy(),v.current=null)}),[]),cs.useEffect(()=>{is.default.valid(v.current)&&v.current.options(Ut)},[Ut]),cs.useEffect(()=>{is.default.valid(v.current)&&Vc(v.current,er)},[er]),lt.createElement("div",{className:"os-host",...B,ref:Ie},lt.createElement("div",{className:"os-resize-observer-host"}),lt.createElement("div",{className:"os-padding"},lt.createElement("div",{className:"os-viewport"},lt.createElement("div",{className:"os-content"},Pr))),lt.createElement("div",{className:"os-scrollbar os-scrollbar-horizontal "},lt.createElement("div",{className:"os-scrollbar-track"},lt.createElement("div",{className:"os-scrollbar-handle"}))),lt.createElement("div",{className:"os-scrollbar os-scrollbar-vertical"},lt.createElement("div",{className:"os-scrollbar-track"},lt.createElement("div",{className:"os-scrollbar-handle"}))),lt.createElement("div",{className:"os-scrollbar-corner"}))};function Vc(Ut,ue){if(is.default.valid(Ut)){let{host:er}=Ut.getElements(),Pr=new RegExp(`(^os-host([-_].+|)$)|${Ut.options().className.replace(/\s/g,"$|")}$`,"g"),B=er.className.split(" ").filter(Ie=>Ie.match(Pr)).join(" ");er.className=`${B} ${ue||""}`}}var Ji=Ui;export{Ui as OverlayScrollbarsComponent,Ji as default}; +//# sourceMappingURL=OverlayScrollbars-VAV6LJAB-f81de3e5.js.map diff --git a/assets/OverlayScrollbars-VAV6LJAB-f81de3e5.js.map b/assets/OverlayScrollbars-VAV6LJAB-f81de3e5.js.map new file mode 100644 index 00000000..058ff5ad --- /dev/null +++ b/assets/OverlayScrollbars-VAV6LJAB-f81de3e5.js.map @@ -0,0 +1 @@ +{"version":3,"file":"OverlayScrollbars-VAV6LJAB-f81de3e5.js","sources":["../../node_modules/@storybook/components/dist/OverlayScrollbars-VAV6LJAB.mjs"],"sourcesContent":["import { __commonJS, __toESM } from './chunk-NNAAFZ4U.mjs';\nimport React, { useRef, useEffect } from 'react';\n\nvar require_OverlayScrollbars=__commonJS({\"../../node_modules/overlayscrollbars/js/OverlayScrollbars.js\"(exports,module){(function(global,factory){typeof define==\"function\"&&define.amd?define(function(){return factory(global,global.document,void 0)}):typeof module==\"object\"&&typeof module.exports==\"object\"?module.exports=factory(global,global.document,void 0):factory(global,global.document,void 0);})(typeof window<\"u\"?window:exports,function(window2,document,undefined2){var PLUGINNAME=\"OverlayScrollbars\",TYPES={o:\"object\",f:\"function\",a:\"array\",s:\"string\",b:\"boolean\",n:\"number\",u:\"undefined\",z:\"null\"},LEXICON={c:\"class\",s:\"style\",i:\"id\",l:\"length\",p:\"prototype\",ti:\"tabindex\",oH:\"offsetHeight\",cH:\"clientHeight\",sH:\"scrollHeight\",oW:\"offsetWidth\",cW:\"clientWidth\",sW:\"scrollWidth\",hOP:\"hasOwnProperty\",bCR:\"getBoundingClientRect\"},VENDORS=function(){var jsCache={},cssCache={},cssPrefixes=[\"-webkit-\",\"-moz-\",\"-o-\",\"-ms-\"],jsPrefixes=[\"WebKit\",\"Moz\",\"O\",\"MS\"];function firstLetterToUpper(str){return str.charAt(0).toUpperCase()+str.slice(1)}return {_cssPrefixes:cssPrefixes,_jsPrefixes:jsPrefixes,_cssProperty:function(name){var result=cssCache[name];if(cssCache[LEXICON.hOP](name))return result;for(var uppercasedName=firstLetterToUpper(name),elmStyle=document.createElement(\"div\")[LEXICON.s],resultPossibilities,i=0,v,currVendorWithoutDashes;i0&&length2-1 in obj}function stripAndCollapse(value){var tokens=value.match(_rnothtmlwhite)||[];return tokens.join(_strSpace)}function matches(elem,selector){for(var nodeList=(elem.parentNode||document).querySelectorAll(selector)||[],i=nodeList[LEXICON.l];i--;)if(nodeList[i]==elem)return !0;return !1}function insertAdjacentElement(el,strategy,child){if(COMPATIBILITY.isA(child))for(var i=0;i0?(nextAnim=animObj.q[0],animate(animObj.el,nextAnim.props,nextAnim.duration,nextAnim.easing,nextAnim.complete,!0)):(index=inArray(animObj,_animations),index>-1&&_animations.splice(index,1));}function setAnimationValue(el,prop,value){prop===_strScrollLeft||prop===_strScrollTop?el[prop]=value:setCSSVal(el,prop,value);}function animate(el,props,options,easing,complete,guaranteedNext){var hasOptions=isPlainObject(options),from={},to={},i=0,key,animObj,progress,step,specialEasing,duration;for(hasOptions?(easing=options.easing,options.start,progress=options.progress,step=options.step,specialEasing=options.specialEasing,complete=options.complete,duration=options.duration):duration=options,specialEasing=specialEasing||{},duration=duration||400,easing=easing||\"swing\",guaranteedNext=guaranteedNext||!1;i<_animations[LEXICON.l];i++)if(_animations[i].el===el){animObj=_animations[i];break}animObj||(animObj={el,q:[]},_animations.push(animObj));for(key in props)key===_strScrollLeft||key===_strScrollTop?from[key]=el[key]:from[key]=FakejQuery(el).css(key);for(key in from)from[key]!==props[key]&&props[key]!==undefined2&&(to[key]=props[key]);if(isEmptyObject(to))guaranteedNext&&startNextAnimationInQ(animObj);else {var timeNow,end,percent,fromVal,toVal,easedVal,timeStart,frame,elapsed,qPos=guaranteedNext?0:inArray(qObj,animObj.q),qObj={props:to,duration:hasOptions?options:duration,easing,complete};if(qPos===-1&&(qPos=animObj.q[LEXICON.l],animObj.q.push(qObj)),qPos===0)if(duration>0)timeStart=COMPATIBILITY.now(),frame=function(){timeNow=COMPATIBILITY.now(),elapsed=timeNow-timeStart,end=qObj.stop||elapsed>=duration,percent=1-(MATH.max(0,timeStart+duration-timeNow)/duration||0);for(key in to)fromVal=parseFloat(from[key]),toVal=parseFloat(to[key]),easedVal=(toVal-fromVal)*EASING[specialEasing[key]||easing](percent,percent*duration,0,1,duration)+fromVal,setAnimationValue(el,key,easedVal),isFunction(step)&&step(easedVal,{elem:el,prop:key,start:fromVal,now:easedVal,end:toVal,pos:percent,options:{easing,speacialEasing:specialEasing,duration,complete,step},startTime:timeStart});isFunction(progress)&&progress({},percent,MATH.max(0,duration-elapsed)),end?(startNextAnimationInQ(animObj),isFunction(complete)&&complete()):qObj.frame=COMPATIBILITY.rAF()(frame);},qObj.frame=COMPATIBILITY.rAF()(frame);else {for(key in to)setAnimationValue(el,key,to[key]);startNextAnimationInQ(animObj);}}}function stop(el,clearQ,jumpToEnd){for(var animObj,qObj,key,i=0;i<_animations[LEXICON.l];i++)if(animObj=_animations[i],animObj.el===el){if(animObj.q[LEXICON.l]>0){if(qObj=animObj.q[0],qObj.stop=!0,COMPATIBILITY.cAF()(qObj.frame),animObj.q.splice(0,1),jumpToEnd)for(key in qObj.props)setAnimationValue(el,key,qObj.props[key]);clearQ?animObj.q=[]:startNextAnimationInQ(animObj,!1);}break}}function elementIsVisible(el){return !!(el[LEXICON.oW]||el[LEXICON.oH]||el.getClientRects()[LEXICON.l])}function FakejQuery(selector){if(arguments[LEXICON.l]===0)return this;var base=new FakejQuery,elements=selector,i=0,elms,el;if(_type(selector)==TYPES.s)for(elements=[],selector.charAt(0)===\"<\"?(el=document.createElement(\"div\"),el.innerHTML=selector,elms=el.children):elms=document.querySelectorAll(selector);i0;)deepest=deepest.childNodes[0];for(i=0;nodes[LEXICON.l]-i;deepest.firstChild===nodes[0]&&i++)deepest.appendChild(nodes[i]);var nextSibling=previousSibling?previousSibling.nextSibling:parent.firstChild;return parent.insertBefore(wrapper,nextSibling),this},wrapInner:function(wrapperHTML){return this.each(function(){var el=FakejQuery(this),contents=el.contents();contents[LEXICON.l]?contents.wrapAll(wrapperHTML):el.append(wrapperHTML);})},wrap:function(wrapperHTML){return this.each(function(){FakejQuery(this).wrapAll(wrapperHTML);})},css:function(styles,val){var el,key,cptStyle,getCptStyle=window2.getComputedStyle;return _type(styles)==TYPES.s?val===undefined2?(el=this[0],cptStyle=getCptStyle?getCptStyle(el,null):el.currentStyle[styles],getCptStyle?cptStyle!=null?cptStyle.getPropertyValue(styles):el[LEXICON.s][styles]:cptStyle):this.each(function(){setCSSVal(this,styles,val);}):this.each(function(){for(key in styles)setCSSVal(this,key,styles[key]);})},hasClass:function(className){for(var elem,i=0,classNamePrepared=_strSpace+className+_strSpace,classList;elem=this[i++];){if(classList=elem.classList,classList&&classList.contains(className))return !0;if(elem.nodeType===1&&(_strSpace+stripAndCollapse(elem.className+_strEmpty)+_strSpace).indexOf(classNamePrepared)>-1)return !0}return !1},addClass:function(className){var classes,elem,cur,curValue,clazz,finalValue,supportClassList,elmClassList,i=0,v=0;if(className){for(classes=className.match(_rnothtmlwhite)||[];elem=this[i++];)if(elmClassList=elem.classList,supportClassList===undefined2&&(supportClassList=elmClassList!==undefined2),supportClassList)for(;clazz=classes[v++];)elmClassList.add(clazz);else if(curValue=elem.className+_strEmpty,cur=elem.nodeType===1&&_strSpace+stripAndCollapse(curValue)+_strSpace,cur){for(;clazz=classes[v++];)cur.indexOf(_strSpace+clazz+_strSpace)<0&&(cur+=clazz+_strSpace);finalValue=stripAndCollapse(cur),curValue!==finalValue&&(elem.className=finalValue);}}return this},removeClass:function(className){var classes,elem,cur,curValue,clazz,finalValue,supportClassList,elmClassList,i=0,v=0;if(className){for(classes=className.match(_rnothtmlwhite)||[];elem=this[i++];)if(elmClassList=elem.classList,supportClassList===undefined2&&(supportClassList=elmClassList!==undefined2),supportClassList)for(;clazz=classes[v++];)elmClassList.remove(clazz);else if(curValue=elem.className+_strEmpty,cur=elem.nodeType===1&&_strSpace+stripAndCollapse(curValue)+_strSpace,cur){for(;clazz=classes[v++];)for(;cur.indexOf(_strSpace+clazz+_strSpace)>-1;)cur=cur.replace(_strSpace+clazz+_strSpace,_strSpace);finalValue=stripAndCollapse(cur),curValue!==finalValue&&(elem.className=finalValue);}}return this},hide:function(){return this.each(function(){this[LEXICON.s].display=\"none\";})},show:function(){return this.each(function(){this[LEXICON.s].display=\"block\";})},attr:function(attrName,value){for(var i=0,el;el=this[i++];){if(value===undefined2)return el.getAttribute(attrName);el.setAttribute(attrName,value);}return this},removeAttr:function(attrName){return this.each(function(){this.removeAttribute(attrName);})},offset:function(){var el=this[0],rect=el[LEXICON.bCR](),scrollLeft=window2.pageXOffset||document.documentElement[_strScrollLeft],scrollTop=window2.pageYOffset||document.documentElement[_strScrollTop];return {top:rect.top+scrollTop,left:rect.left+scrollLeft}},position:function(){var el=this[0];return {top:el.offsetTop,left:el.offsetLeft}},scrollLeft:function(value){for(var i=0,el;el=this[i++];){if(value===undefined2)return el[_strScrollLeft];el[_strScrollLeft]=value;}return this},scrollTop:function(value){for(var i=0,el;el=this[i++];){if(value===undefined2)return el[_strScrollTop];el[_strScrollTop]=value;}return this},val:function(value){var el=this[0];return value?(el.value=value,this):el.value},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(index){return FakejQuery(this[index>=0?index:this[LEXICON.l]+index])},find:function(selector){var children=[],i;return this.each(function(){var el=this,ch=el.querySelectorAll(selector);for(i=0;i-1)if(argLen>1)delete target[_instancePropertyString],_targets.splice(index,1);else return _targets[index][_instancePropertyString]}}}(),PLUGIN=function(){var _plugin,_pluginsGlobals,_pluginsAutoUpdateLoop,_pluginsExtensions=[],_pluginsOptions=function(){var type=COMPATIBILITY.type,possibleTemplateTypes=[TYPES.b,TYPES.n,TYPES.s,TYPES.a,TYPES.o,TYPES.f,TYPES.z],restrictedStringsSplit=\" \",restrictedStringsPossibilitiesSplit=\":\",classNameAllowedValues=[TYPES.z,TYPES.s],numberAllowedValues=TYPES.n,booleanNullAllowedValues=[TYPES.z,TYPES.b],booleanTrueTemplate=[!0,TYPES.b],booleanFalseTemplate=[!1,TYPES.b],callbackTemplate=[null,[TYPES.z,TYPES.f]],updateOnLoadTemplate=[[\"img\"],[TYPES.s,TYPES.a,TYPES.z]],inheritedAttrsTemplate=[[\"style\",\"class\"],[TYPES.s,TYPES.a,TYPES.z]],resizeAllowedValues=\"n:none b:both h:horizontal v:vertical\",overflowBehaviorAllowedValues=\"v-h:visible-hidden v-s:visible-scroll s:scroll h:hidden\",scrollbarsVisibilityAllowedValues=\"v:visible h:hidden a:auto\",scrollbarsAutoHideAllowedValues=\"n:never s:scroll l:leave m:move\",optionsDefaultsAndTemplate={className:[\"os-theme-dark\",classNameAllowedValues],resize:[\"none\",resizeAllowedValues],sizeAutoCapable:booleanTrueTemplate,clipAlways:booleanTrueTemplate,normalizeRTL:booleanTrueTemplate,paddingAbsolute:booleanFalseTemplate,autoUpdate:[null,booleanNullAllowedValues],autoUpdateInterval:[33,numberAllowedValues],updateOnLoad:updateOnLoadTemplate,nativeScrollbarsOverlaid:{showNativeScrollbars:booleanFalseTemplate,initialize:booleanTrueTemplate},overflowBehavior:{x:[\"scroll\",overflowBehaviorAllowedValues],y:[\"scroll\",overflowBehaviorAllowedValues]},scrollbars:{visibility:[\"auto\",scrollbarsVisibilityAllowedValues],autoHide:[\"never\",scrollbarsAutoHideAllowedValues],autoHideDelay:[800,numberAllowedValues],dragScrolling:booleanTrueTemplate,clickScrolling:booleanFalseTemplate,touchSupport:booleanTrueTemplate,snapHandle:booleanFalseTemplate},textarea:{dynWidth:booleanFalseTemplate,dynHeight:booleanFalseTemplate,inheritedAttrs:inheritedAttrsTemplate},callbacks:{onInitialized:callbackTemplate,onInitializationWithdrawn:callbackTemplate,onDestroyed:callbackTemplate,onScrollStart:callbackTemplate,onScroll:callbackTemplate,onScrollStop:callbackTemplate,onOverflowChanged:callbackTemplate,onOverflowAmountChanged:callbackTemplate,onDirectionChanged:callbackTemplate,onContentSizeChanged:callbackTemplate,onHostSizeChanged:callbackTemplate,onUpdated:callbackTemplate}},convert=function(template){var recursive=function(obj){var key,val,valType;for(key in obj)obj[LEXICON.hOP](key)&&(val=obj[key],valType=type(val),valType==TYPES.a?obj[key]=val[template?1:0]:valType==TYPES.o&&(obj[key]=recursive(val)));return obj};return recursive(FRAMEWORK.extend(!0,{},optionsDefaultsAndTemplate))};return {_defaults:convert(),_template:convert(!0),_validate:function(obj,template,writeErrors,diffObj){var validatedOptions={},validatedOptionsPrepared={},objectCopy=FRAMEWORK.extend(!0,{},obj),inArray=FRAMEWORK.inArray,isEmptyObj=FRAMEWORK.isEmptyObject,checkObjectProps=function(data,template2,diffData,validatedOptions2,validatedOptionsPrepared2,prevPropName){for(var prop in template2)if(template2[LEXICON.hOP](prop)&&data[LEXICON.hOP](prop)){var isValid=!1,isDiff=!1,templateValue=template2[prop],templateValueType=type(templateValue),templateIsComplex=templateValueType==TYPES.o,templateTypes=COMPATIBILITY.isA(templateValue)?templateValue:[templateValue],dataDiffValue=diffData[prop],dataValue=data[prop],dataValueType=type(dataValue),propPrefix=prevPropName?prevPropName+\".\":\"\",error='The option \"'+propPrefix+prop+`\" wasn't set, because`,errorPossibleTypes=[],errorRestrictedStrings=[],restrictedStringValuesSplit,restrictedStringValuesPossibilitiesSplit,isRestrictedValue,mainPossibility,currType,i,v,j;if(dataDiffValue=dataDiffValue===undefined2?{}:dataDiffValue,templateIsComplex&&dataValueType==TYPES.o)validatedOptions2[prop]={},validatedOptionsPrepared2[prop]={},checkObjectProps(dataValue,templateValue,dataDiffValue,validatedOptions2[prop],validatedOptionsPrepared2[prop],propPrefix+prop),FRAMEWORK.each([data,validatedOptions2,validatedOptionsPrepared2],function(index,value){isEmptyObj(value[prop])&&delete value[prop];});else if(!templateIsComplex){for(i=0;i0?`\\r\nValid strings are: [ `+errorRestrictedStrings.join(\", \").split(restrictedStringsPossibilitiesSplit).join(\", \")+\" ].\":\"\")),delete data[prop];}}};return checkObjectProps(objectCopy,template,diffObj||{},validatedOptions,validatedOptionsPrepared),!isEmptyObj(objectCopy)&&writeErrors&&console.warn(`The following options are discarded due to invalidity:\\r\n`+window2.JSON.stringify(objectCopy,null,2)),{_default:validatedOptions,_prepared:validatedOptionsPrepared}}}}();function initOverlayScrollbarsStatics(){_pluginsGlobals||(_pluginsGlobals=new OverlayScrollbarsGlobals(_pluginsOptions._defaults)),_pluginsAutoUpdateLoop||(_pluginsAutoUpdateLoop=new OverlayScrollbarsAutoUpdateLoop(_pluginsGlobals));}function OverlayScrollbarsGlobals(defaultOptions){var _base=this,strOverflow=\"overflow\",strHidden=\"hidden\",strScroll=\"scroll\",bodyElement=FRAMEWORK(\"body\"),scrollbarDummyElement=FRAMEWORK('
'),scrollbarDummyElement0=scrollbarDummyElement[0],dummyContainerChild=FRAMEWORK(scrollbarDummyElement.children(\"div\").eq(0));bodyElement.append(scrollbarDummyElement),scrollbarDummyElement.hide().show();var nativeScrollbarSize=calcNativeScrollbarSize(scrollbarDummyElement0),nativeScrollbarIsOverlaid={x:nativeScrollbarSize.x===0,y:nativeScrollbarSize.y===0},msie=function(){var ua=window2.navigator.userAgent,strIndexOf=\"indexOf\",strSubString=\"substring\",msie2=ua[strIndexOf](\"MSIE \"),trident=ua[strIndexOf](\"Trident/\"),edge=ua[strIndexOf](\"Edge/\"),rv=ua[strIndexOf](\"rv:\"),result,parseIntFunc=parseInt;return msie2>0?result=parseIntFunc(ua[strSubString](msie2+5,ua[strIndexOf](\".\",msie2)),10):trident>0?result=parseIntFunc(ua[strSubString](rv+3,ua[strIndexOf](\".\",rv)),10):edge>0&&(result=parseIntFunc(ua[strSubString](edge+5,ua[strIndexOf](\".\",edge)),10)),result}();FRAMEWORK.extend(_base,{defaultOptions,msie,autoUpdateLoop:!1,autoUpdateRecommended:!COMPATIBILITY.mO(),nativeScrollbarSize,nativeScrollbarIsOverlaid,nativeScrollbarStyling:function(){var result=!1;scrollbarDummyElement.addClass(\"os-viewport-native-scrollbars-invisible\");try{result=scrollbarDummyElement.css(\"scrollbar-width\")===\"none\"&&(msie>9||!msie)||window2.getComputedStyle(scrollbarDummyElement0,\"::-webkit-scrollbar\").getPropertyValue(\"display\")===\"none\";}catch{}return result}(),overlayScrollbarDummySize:{x:30,y:30},cssCalc:VENDORS._cssPropertyValue(\"width\",\"calc\",\"(1px)\")||null,restrictedMeasuring:function(){scrollbarDummyElement.css(strOverflow,strHidden);var scrollSize={w:scrollbarDummyElement0[LEXICON.sW],h:scrollbarDummyElement0[LEXICON.sH]};scrollbarDummyElement.css(strOverflow,\"visible\");var scrollSize2={w:scrollbarDummyElement0[LEXICON.sW],h:scrollbarDummyElement0[LEXICON.sH]};return scrollSize.w-scrollSize2.w!==0||scrollSize.h-scrollSize2.h!==0}(),rtlScrollBehavior:function(){scrollbarDummyElement.css({\"overflow-y\":strHidden,\"overflow-x\":strScroll,direction:\"rtl\"}).scrollLeft(0);var dummyContainerOffset=scrollbarDummyElement.offset(),dummyContainerChildOffset=dummyContainerChild.offset();scrollbarDummyElement.scrollLeft(-999);var dummyContainerChildOffsetAfterScroll=dummyContainerChild.offset();return {i:dummyContainerOffset.left===dummyContainerChildOffset.left,n:dummyContainerChildOffset.left!==dummyContainerChildOffsetAfterScroll.left}}(),supportTransform:!!VENDORS._cssProperty(\"transform\"),supportTransition:!!VENDORS._cssProperty(\"transition\"),supportPassiveEvents:function(){var supportsPassive=!1;try{window2.addEventListener(\"test\",null,Object.defineProperty({},\"passive\",{get:function(){supportsPassive=!0;}}));}catch{}return supportsPassive}(),supportResizeObserver:!!COMPATIBILITY.rO(),supportMutationObserver:!!COMPATIBILITY.mO()}),scrollbarDummyElement.removeAttr(LEXICON.s).remove(),function(){if(nativeScrollbarIsOverlaid.x&&nativeScrollbarIsOverlaid.y)return;var abs=MATH.abs,windowWidth=COMPATIBILITY.wW(),windowHeight=COMPATIBILITY.wH(),windowDpr=getWindowDPR(),onResize=function(){if(INSTANCES().length>0){var newW=COMPATIBILITY.wW(),newH=COMPATIBILITY.wH(),deltaW=newW-windowWidth,deltaH=newH-windowHeight;if(deltaW===0&&deltaH===0)return;var deltaWRatio=MATH.round(newW/(windowWidth/100)),deltaHRatio=MATH.round(newH/(windowHeight/100)),absDeltaW=abs(deltaW),absDeltaH=abs(deltaH),absDeltaWRatio=abs(deltaWRatio),absDeltaHRatio=abs(deltaHRatio),newDPR=getWindowDPR(),deltaIsBigger=absDeltaW>2&&absDeltaH>2,difference=!differenceIsBiggerThanOne(absDeltaWRatio,absDeltaHRatio),dprChanged=newDPR!==windowDpr&&windowDpr>0,isZoom=deltaIsBigger&&difference&&dprChanged,oldScrollbarSize=_base.nativeScrollbarSize,newScrollbarSize;isZoom&&(bodyElement.append(scrollbarDummyElement),newScrollbarSize=_base.nativeScrollbarSize=calcNativeScrollbarSize(scrollbarDummyElement[0]),scrollbarDummyElement.remove(),(oldScrollbarSize.x!==newScrollbarSize.x||oldScrollbarSize.y!==newScrollbarSize.y)&&FRAMEWORK.each(INSTANCES(),function(){INSTANCES(this)&&INSTANCES(this).update(\"zoom\");})),windowWidth=newW,windowHeight=newH,windowDpr=newDPR;}};function differenceIsBiggerThanOne(valOne,valTwo){var absValOne=abs(valOne),absValTwo=abs(valTwo);return !(absValOne===absValTwo||absValOne+1===absValTwo||absValOne-1===absValTwo)}function getWindowDPR(){var dDPI=window2.screen.deviceXDPI||0,sDPI=window2.screen.logicalXDPI||1;return window2.devicePixelRatio||dDPI/sDPI}FRAMEWORK(window2).on(\"resize\",onResize);}();function calcNativeScrollbarSize(measureElement){return {x:measureElement[LEXICON.oH]-measureElement[LEXICON.cH],y:measureElement[LEXICON.oW]-measureElement[LEXICON.cW]}}}function OverlayScrollbarsAutoUpdateLoop(globals){var _base=this,_inArray=FRAMEWORK.inArray,_getNow=COMPATIBILITY.now,_strAutoUpdate=\"autoUpdate\",_strAutoUpdateInterval=_strAutoUpdate+\"Interval\",_strLength=LEXICON.l,_loopingInstances=[],_loopingInstancesIntervalCache=[],_loopIsActive=!1,_loopIntervalDefault=33,_loopInterval=_loopIntervalDefault,_loopTimeOld=_getNow(),_loopID,loop=function(){if(_loopingInstances[_strLength]>0&&_loopIsActive){_loopID=COMPATIBILITY.rAF()(function(){loop();});var timeNew=_getNow(),timeDelta=timeNew-_loopTimeOld,lowestInterval,instance,instanceOptions,instanceAutoUpdateAllowed,instanceAutoUpdateInterval,now;if(timeDelta>_loopInterval){_loopTimeOld=timeNew-timeDelta%_loopInterval,lowestInterval=_loopIntervalDefault;for(var i=0;i<_loopingInstances[_strLength];i++)instance=_loopingInstances[i],instance!==undefined2&&(instanceOptions=instance.options(),instanceAutoUpdateAllowed=instanceOptions[_strAutoUpdate],instanceAutoUpdateInterval=MATH.max(1,instanceOptions[_strAutoUpdateInterval]),now=_getNow(),(instanceAutoUpdateAllowed===!0||instanceAutoUpdateAllowed===null)&&now-_loopingInstancesIntervalCache[i]>instanceAutoUpdateInterval&&(instance.update(\"auto\"),_loopingInstancesIntervalCache[i]=new Date(now+=instanceAutoUpdateInterval)),lowestInterval=MATH.max(1,MATH.min(lowestInterval,instanceAutoUpdateInterval)));_loopInterval=lowestInterval;}}else _loopInterval=_loopIntervalDefault;};_base.add=function(instance){_inArray(instance,_loopingInstances)===-1&&(_loopingInstances.push(instance),_loopingInstancesIntervalCache.push(_getNow()),_loopingInstances[_strLength]>0&&!_loopIsActive&&(_loopIsActive=!0,globals.autoUpdateLoop=_loopIsActive,loop()));},_base.remove=function(instance){var index=_inArray(instance,_loopingInstances);index>-1&&(_loopingInstancesIntervalCache.splice(index,1),_loopingInstances.splice(index,1),_loopingInstances[_strLength]===0&&_loopIsActive&&(_loopIsActive=!1,globals.autoUpdateLoop=_loopIsActive,_loopID!==undefined2&&(COMPATIBILITY.cAF()(_loopID),_loopID=-1)));};}function OverlayScrollbarsInstance(pluginTargetElement,options,extensions,globals,autoUpdateLoop){var type=COMPATIBILITY.type,inArray=FRAMEWORK.inArray,each=FRAMEWORK.each,_base=new _plugin,_frameworkProto=FRAMEWORK[LEXICON.p];if(!isHTMLElement(pluginTargetElement))return;if(INSTANCES(pluginTargetElement)){var inst=INSTANCES(pluginTargetElement);return inst.options(options),inst}var _nativeScrollbarIsOverlaid,_overlayScrollbarDummySize,_rtlScrollBehavior,_autoUpdateRecommended,_msieVersion,_nativeScrollbarStyling,_cssCalc,_nativeScrollbarSize,_supportTransition,_supportTransform,_supportPassiveEvents,_supportResizeObserver,_supportMutationObserver,_initialized,_destroyed,_isTextarea,_isBody,_documentMixed,_domExists,_isBorderBox,_sizeAutoObserverAdded,_paddingX,_paddingY,_borderX,_borderY,_marginX,_marginY,_isRTL,_sleeping,_contentBorderSize={},_scrollHorizontalInfo={},_scrollVerticalInfo={},_viewportSize={},_nativeScrollbarMinSize={},_strMinusHidden=\"-hidden\",_strMarginMinus=\"margin-\",_strPaddingMinus=\"padding-\",_strBorderMinus=\"border-\",_strTop=\"top\",_strRight=\"right\",_strBottom=\"bottom\",_strLeft=\"left\",_strMinMinus=\"min-\",_strMaxMinus=\"max-\",_strWidth=\"width\",_strHeight=\"height\",_strFloat=\"float\",_strEmpty=\"\",_strAuto=\"auto\",_strSync=\"sync\",_strScroll=\"scroll\",_strHundredPercent=\"100%\",_strX=\"x\",_strY=\"y\",_strDot=\".\",_strSpace=\" \",_strScrollbar=\"scrollbar\",_strMinusHorizontal=\"-horizontal\",_strMinusVertical=\"-vertical\",_strScrollLeft=_strScroll+\"Left\",_strScrollTop=_strScroll+\"Top\",_strMouseTouchDownEvent=\"mousedown touchstart\",_strMouseTouchUpEvent=\"mouseup touchend touchcancel\",_strMouseTouchMoveEvent=\"mousemove touchmove\",_strMouseEnter=\"mouseenter\",_strMouseLeave=\"mouseleave\",_strKeyDownEvent=\"keydown\",_strKeyUpEvent=\"keyup\",_strSelectStartEvent=\"selectstart\",_strTransitionEndEvent=\"transitionend webkitTransitionEnd oTransitionEnd\",_strResizeObserverProperty=\"__overlayScrollbarsRO__\",_cassNamesPrefix=\"os-\",_classNameHTMLElement=_cassNamesPrefix+\"html\",_classNameHostElement=_cassNamesPrefix+\"host\",_classNameHostElementForeign=_classNameHostElement+\"-foreign\",_classNameHostTextareaElement=_classNameHostElement+\"-textarea\",_classNameHostScrollbarHorizontalHidden=_classNameHostElement+\"-\"+_strScrollbar+_strMinusHorizontal+_strMinusHidden,_classNameHostScrollbarVerticalHidden=_classNameHostElement+\"-\"+_strScrollbar+_strMinusVertical+_strMinusHidden,_classNameHostTransition=_classNameHostElement+\"-transition\",_classNameHostRTL=_classNameHostElement+\"-rtl\",_classNameHostResizeDisabled=_classNameHostElement+\"-resize-disabled\",_classNameHostScrolling=_classNameHostElement+\"-scrolling\",_classNameHostOverflow=_classNameHostElement+\"-overflow\",_classNameHostOverflow=_classNameHostElement+\"-overflow\",_classNameHostOverflowX=_classNameHostOverflow+\"-x\",_classNameHostOverflowY=_classNameHostOverflow+\"-y\",_classNameTextareaElement=_cassNamesPrefix+\"textarea\",_classNameTextareaCoverElement=_classNameTextareaElement+\"-cover\",_classNamePaddingElement=_cassNamesPrefix+\"padding\",_classNameViewportElement=_cassNamesPrefix+\"viewport\",_classNameViewportNativeScrollbarsInvisible=_classNameViewportElement+\"-native-scrollbars-invisible\",_classNameViewportNativeScrollbarsOverlaid=_classNameViewportElement+\"-native-scrollbars-overlaid\",_classNameContentElement=_cassNamesPrefix+\"content\",_classNameContentArrangeElement=_cassNamesPrefix+\"content-arrange\",_classNameContentGlueElement=_cassNamesPrefix+\"content-glue\",_classNameSizeAutoObserverElement=_cassNamesPrefix+\"size-auto-observer\",_classNameResizeObserverElement=_cassNamesPrefix+\"resize-observer\",_classNameResizeObserverItemElement=_cassNamesPrefix+\"resize-observer-item\",_classNameResizeObserverItemFinalElement=_classNameResizeObserverItemElement+\"-final\",_classNameTextInherit=_cassNamesPrefix+\"text-inherit\",_classNameScrollbar=_cassNamesPrefix+_strScrollbar,_classNameScrollbarTrack=_classNameScrollbar+\"-track\",_classNameScrollbarTrackOff=_classNameScrollbarTrack+\"-off\",_classNameScrollbarHandle=_classNameScrollbar+\"-handle\",_classNameScrollbarHandleOff=_classNameScrollbarHandle+\"-off\",_classNameScrollbarUnusable=_classNameScrollbar+\"-unusable\",_classNameScrollbarAutoHidden=_classNameScrollbar+\"-\"+_strAuto+_strMinusHidden,_classNameScrollbarCorner=_classNameScrollbar+\"-corner\",_classNameScrollbarCornerResize=_classNameScrollbarCorner+\"-resize\",_classNameScrollbarCornerResizeB=_classNameScrollbarCornerResize+\"-both\",_classNameScrollbarCornerResizeH=_classNameScrollbarCornerResize+_strMinusHorizontal,_classNameScrollbarCornerResizeV=_classNameScrollbarCornerResize+_strMinusVertical,_classNameScrollbarHorizontal=_classNameScrollbar+_strMinusHorizontal,_classNameScrollbarVertical=_classNameScrollbar+_strMinusVertical,_classNameDragging=_cassNamesPrefix+\"dragging\",_classNameThemeNone=_cassNamesPrefix+\"theme-none\",_classNamesDynamicDestroy=[_classNameViewportNativeScrollbarsInvisible,_classNameViewportNativeScrollbarsOverlaid,_classNameScrollbarTrackOff,_classNameScrollbarHandleOff,_classNameScrollbarUnusable,_classNameScrollbarAutoHidden,_classNameScrollbarCornerResize,_classNameScrollbarCornerResizeB,_classNameScrollbarCornerResizeH,_classNameScrollbarCornerResizeV,_classNameDragging].join(_strSpace),_callbacksInitQeueue=[],_viewportAttrsFromTarget=[LEXICON.ti],_defaultOptions,_currentOptions,_currentPreparedOptions,_extensions={},_extensionsPrivateMethods=\"added removed on contract\",_lastUpdateTime,_swallowedUpdateHints={},_swallowedUpdateTimeout,_swallowUpdateLag=42,_updateOnLoadEventName=\"load\",_updateOnLoadElms=[],_windowElement,_documentElement,_htmlElement,_bodyElement,_targetElement,_hostElement,_sizeAutoObserverElement,_sizeObserverElement,_paddingElement,_viewportElement,_contentElement,_contentArrangeElement,_contentGlueElement,_textareaCoverElement,_scrollbarCornerElement,_scrollbarHorizontalElement,_scrollbarHorizontalTrackElement,_scrollbarHorizontalHandleElement,_scrollbarVerticalElement,_scrollbarVerticalTrackElement,_scrollbarVerticalHandleElement,_windowElementNative,_documentElementNative,_targetElementNative,_hostElementNative,_sizeAutoObserverElementNative,_sizeObserverElementNative,_paddingElementNative,_viewportElementNative,_contentElementNative,_hostSizeCache,_contentScrollSizeCache,_arrangeContentSizeCache,_hasOverflowCache,_hideOverflowCache,_widthAutoCache,_heightAutoCache,_cssBoxSizingCache,_cssPaddingCache,_cssBorderCache,_cssMarginCache,_cssDirectionCache,_cssDirectionDetectedCache,_paddingAbsoluteCache,_clipAlwaysCache,_contentGlueSizeCache,_overflowBehaviorCache,_overflowAmountCache,_ignoreOverlayScrollbarHidingCache,_autoUpdateCache,_sizeAutoCapableCache,_contentElementScrollSizeChangeDetectedCache,_hostElementSizeChangeDetectedCache,_scrollbarsVisibilityCache,_scrollbarsAutoHideCache,_scrollbarsClickScrollingCache,_scrollbarsDragScrollingCache,_resizeCache,_normalizeRTLCache,_classNameCache,_oldClassName,_textareaAutoWrappingCache,_textareaInfoCache,_textareaSizeCache,_textareaDynHeightCache,_textareaDynWidthCache,_bodyMinSizeCache,_updateAutoCache={},_mutationObserverHost,_mutationObserverContent,_mutationObserverHostCallback,_mutationObserverContentCallback,_mutationObserversConnected,_mutationObserverAttrsTextarea=[\"wrap\",\"cols\",\"rows\"],_mutationObserverAttrsHost=[LEXICON.i,LEXICON.c,LEXICON.s,\"open\"].concat(_viewportAttrsFromTarget),_destroyEvents=[],_textareaHasFocus,_scrollbarsAutoHideTimeoutId,_scrollbarsAutoHideMoveTimeoutId,_scrollbarsAutoHideDelay,_scrollbarsAutoHideNever,_scrollbarsAutoHideScroll,_scrollbarsAutoHideMove,_scrollbarsAutoHideLeave,_scrollbarsHandleHovered,_scrollbarsHandlesDefineScrollPos,_resizeNone,_resizeBoth,_resizeHorizontal,_resizeVertical;function setupResponsiveEventListener(element,eventNames,listener,remove2,passiveOrOptions){var collected=COMPATIBILITY.isA(eventNames)&&COMPATIBILITY.isA(listener),method=remove2?\"removeEventListener\":\"addEventListener\",onOff=remove2?\"off\":\"on\",events=collected?!1:eventNames.split(_strSpace),i=0,passiveOrOptionsIsObj=FRAMEWORK.isPlainObject(passiveOrOptions),passive=_supportPassiveEvents&&(passiveOrOptionsIsObj?passiveOrOptions._passive:passiveOrOptions)||!1,capture=passiveOrOptionsIsObj&&(passiveOrOptions._capture||!1),nativeParam=_supportPassiveEvents?{passive,capture}:capture;if(collected)for(;i9||!_autoUpdateRecommended){targetElement.prepend(generateDiv(_classNameResizeObserverElement,generateDiv({c:_classNameResizeObserverItemElement,dir:\"ltr\"},generateDiv(_classNameResizeObserverItemElement,generateDiv(_classNameResizeObserverItemFinalElement))+generateDiv(_classNameResizeObserverItemElement,generateDiv({c:_classNameResizeObserverItemFinalElement,style:\"width: 200%; height: 200%\"})))));var observerElement=targetElement[0][strChildNodes][0][strChildNodes][0],shrinkElement=FRAMEWORK(observerElement[strChildNodes][1]),expandElement=FRAMEWORK(observerElement[strChildNodes][0]),expandElementChild=FRAMEWORK(expandElement[0][strChildNodes][0]),widthCache=observerElement[LEXICON.oW],heightCache=observerElement[LEXICON.oH],isDirty,rAFId,currWidth,currHeight,factor=2,nativeScrollbarSize=globals.nativeScrollbarSize,reset=function(){expandElement[_strScrollLeft](constScroll)[_strScrollTop](constScroll),shrinkElement[_strScrollLeft](constScroll)[_strScrollTop](constScroll);},onResized=function(){rAFId=0,isDirty&&(widthCache=currWidth,heightCache=currHeight,callback());},onScroll=function(event){return currWidth=observerElement[LEXICON.oW],currHeight=observerElement[LEXICON.oH],isDirty=currWidth!=widthCache||currHeight!=heightCache,event&&isDirty&&!rAFId?(COMPATIBILITY.cAF()(rAFId),rAFId=COMPATIBILITY.rAF()(onResized)):event||onResized(),reset(),event&&(COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event)),!1},expandChildCSS={},observerElementCSS={};setTopRightBottomLeft(observerElementCSS,_strEmpty,[-((nativeScrollbarSize.y+1)*factor),nativeScrollbarSize.x*-factor,nativeScrollbarSize.y*-factor,-((nativeScrollbarSize.x+1)*factor)]),FRAMEWORK(observerElement).css(observerElementCSS),expandElement.on(_strScroll,onScroll),shrinkElement.on(_strScroll,onScroll),targetElement.on(strAnimationStartEvent,function(){onScroll(!1);}),expandChildCSS[_strWidth]=constScroll,expandChildCSS[_strHeight]=constScroll,expandElementChild.css(expandChildCSS),reset();}else {var attachEvent=_documentElementNative.attachEvent,isIE=_msieVersion!==undefined2;if(attachEvent)targetElement.prepend(generateDiv(_classNameResizeObserverElement)),findFirst(targetElement,_strDot+_classNameResizeObserverElement)[0].attachEvent(\"onresize\",callback);else {var obj=_documentElementNative.createElement(TYPES.o);obj.setAttribute(LEXICON.ti,\"-1\"),obj.setAttribute(LEXICON.c,_classNameResizeObserverElement),obj.onload=function(){var wnd=this.contentDocument.defaultView;wnd.addEventListener(\"resize\",callback),wnd.document.documentElement.style.display=\"none\";},obj.type=\"text/html\",isIE&&targetElement.prepend(obj),obj.data=\"about:blank\",isIE||targetElement.prepend(obj),targetElement.on(strAnimationStartEvent,callback);}}if(targetElement[0]===_sizeObserverElementNative){var directionChanged=function(){var dir=_hostElement.css(\"direction\"),css={},scrollLeftValue=0,result=!1;return dir!==_cssDirectionDetectedCache&&(dir===\"ltr\"?(css[_strLeft]=0,css[_strRight]=_strAuto,scrollLeftValue=constScroll):(css[_strLeft]=_strAuto,css[_strRight]=0,scrollLeftValue=_rtlScrollBehavior.n?-constScroll:_rtlScrollBehavior.i?0:constScroll),_sizeObserverElement.children().eq(0).css(css),_sizeObserverElement[_strScrollLeft](scrollLeftValue)[_strScrollTop](constScroll),_cssDirectionDetectedCache=dir,result=!0),result};directionChanged(),addDestroyEventListener(targetElement,_strScroll,function(event){return directionChanged()&&update(),COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event),!1});}}else if(_supportResizeObserver){var element=targetElement.contents()[0],resizeObserverObj=element[_strResizeObserverProperty];resizeObserverObj&&(resizeObserverObj.disconnect(),delete element[_strResizeObserverProperty]);}else remove(targetElement.children(_strDot+_classNameResizeObserverElement).eq(0));}}function createMutationObservers(){if(_supportMutationObserver){var mutationObserverContentLag=11,mutationObserver=COMPATIBILITY.mO(),contentLastUpdate=COMPATIBILITY.now(),mutationTarget,mutationAttrName,mutationIsClass,oldMutationVal,newClassVal,hostClassNameRegex,contentTimeout,now,sizeAuto,action;_mutationObserverHostCallback=function(mutations){var doUpdate=!1,doUpdateForce=!1,mutation,mutatedAttrs=[];return _initialized&&!_sleeping&&(each(mutations,function(){mutation=this,mutationTarget=mutation.target,mutationAttrName=mutation.attributeName,mutationIsClass=mutationAttrName===LEXICON.c,oldMutationVal=mutation.oldValue,newClassVal=mutationTarget.className,_domExists&&mutationIsClass&&!doUpdateForce&&oldMutationVal.indexOf(_classNameHostElementForeign)>-1&&newClassVal.indexOf(_classNameHostElementForeign)<0&&(hostClassNameRegex=createHostClassNameRegExp(!0),_hostElementNative.className=newClassVal.split(_strSpace).concat(oldMutationVal.split(_strSpace).filter(function(name){return name.match(hostClassNameRegex)})).join(_strSpace),doUpdate=doUpdateForce=!0),doUpdate||(doUpdate=mutationIsClass?hostClassNamesChanged(oldMutationVal,newClassVal):mutationAttrName===LEXICON.s?oldMutationVal!==mutationTarget[LEXICON.s].cssText:!0),mutatedAttrs.push(mutationAttrName);}),updateViewportAttrsFromTarget(mutatedAttrs),doUpdate&&_base.update(doUpdateForce||_strAuto)),doUpdate},_mutationObserverContentCallback=function(mutations){var doUpdate=!1,mutation;return _initialized&&!_sleeping&&(each(mutations,function(){return mutation=this,doUpdate=isUnknownMutation(mutation),!doUpdate}),doUpdate&&(now=COMPATIBILITY.now(),sizeAuto=_heightAutoCache||_widthAutoCache,action=function(){_destroyed||(contentLastUpdate=now,_isTextarea&&textareaUpdate(),sizeAuto?update():_base.update(_strAuto));},clearTimeout(contentTimeout),mutationObserverContentLag<=0||now-contentLastUpdate>mutationObserverContentLag||!sizeAuto?action():contentTimeout=setTimeout(action,mutationObserverContentLag))),doUpdate},_mutationObserverHost=new mutationObserver(_mutationObserverHostCallback),_mutationObserverContent=new mutationObserver(_mutationObserverContentCallback);}}function connectMutationObservers(){_supportMutationObserver&&!_mutationObserversConnected&&(_mutationObserverHost.observe(_hostElementNative,{attributes:!0,attributeOldValue:!0,attributeFilter:_mutationObserverAttrsHost}),_mutationObserverContent.observe(_isTextarea?_targetElementNative:_contentElementNative,{attributes:!0,attributeOldValue:!0,subtree:!_isTextarea,childList:!_isTextarea,characterData:!_isTextarea,attributeFilter:_isTextarea?_mutationObserverAttrsTextarea:_mutationObserverAttrsHost}),_mutationObserversConnected=!0);}function disconnectMutationObservers(){_supportMutationObserver&&_mutationObserversConnected&&(_mutationObserverHost.disconnect(),_mutationObserverContent.disconnect(),_mutationObserversConnected=!1);}function hostOnResized(){if(!_sleeping){var changed,hostSize={w:_sizeObserverElementNative[LEXICON.sW],h:_sizeObserverElementNative[LEXICON.sH]};changed=checkCache(hostSize,_hostElementSizeChangeDetectedCache),_hostElementSizeChangeDetectedCache=hostSize,changed&&update({_hostSizeChanged:!0});}}function hostOnMouseEnter(){_scrollbarsAutoHideLeave&&refreshScrollbarsAutoHide(!0);}function hostOnMouseLeave(){_scrollbarsAutoHideLeave&&!_bodyElement.hasClass(_classNameDragging)&&refreshScrollbarsAutoHide(!1);}function hostOnMouseMove(){_scrollbarsAutoHideMove&&(refreshScrollbarsAutoHide(!0),clearTimeout(_scrollbarsAutoHideMoveTimeoutId),_scrollbarsAutoHideMoveTimeoutId=setTimeout(function(){_scrollbarsAutoHideMove&&!_destroyed&&refreshScrollbarsAutoHide(!1);},100));}function documentOnSelectStart(event){return COMPATIBILITY.prvD(event),!1}function updateOnLoadCallback(event){if(!_destroyed){var target=event.target,elm=FRAMEWORK(event.target),index=FRAMEWORK.inArray(target,_updateOnLoadElms);index>-1&&_updateOnLoadElms.splice(index,1),eachUpdateOnLoad(function(i,updateOnLoadSelector){elm.is(updateOnLoadSelector)&&update({_contentSizeChanged:!0});});}}function setupHostMouseTouchEvents(destroy){destroy||setupHostMouseTouchEvents(!0),setupResponsiveEventListener(_hostElement,_strMouseTouchMoveEvent.split(_strSpace)[0],hostOnMouseMove,!_scrollbarsAutoHideMove||destroy,!0),setupResponsiveEventListener(_hostElement,[_strMouseEnter,_strMouseLeave],[hostOnMouseEnter,hostOnMouseLeave],!_scrollbarsAutoHideLeave||destroy,!0),!_initialized&&!destroy&&_hostElement.one(\"mouseover\",hostOnMouseEnter);}function bodyMinSizeChanged(){var bodyMinSize={};return _isBody&&_contentArrangeElement&&(bodyMinSize.w=parseToZeroOrNumber(_contentArrangeElement.css(_strMinMinus+_strWidth)),bodyMinSize.h=parseToZeroOrNumber(_contentArrangeElement.css(_strMinMinus+_strHeight)),bodyMinSize.c=checkCache(bodyMinSize,_bodyMinSizeCache),bodyMinSize.f=!0),_bodyMinSizeCache=bodyMinSize,!!bodyMinSize.c}function hostClassNamesChanged(oldClassNames,newClassNames){var currClasses=typeof newClassNames==TYPES.s?newClassNames.split(_strSpace):[],oldClasses=typeof oldClassNames==TYPES.s?oldClassNames.split(_strSpace):[],diff=getArrayDifferences(oldClasses,currClasses),idx=inArray(_classNameThemeNone,diff),i,regex;if(idx>-1&&diff.splice(idx,1),diff[LEXICON.l]>0){for(regex=createHostClassNameRegExp(!0,!0),i=0;i0}}function isSizeAffectingCSSProperty(propertyName){if(!_initialized)return !0;var flexGrow=\"flex-grow\",flexShrink=\"flex-shrink\",flexBasis=\"flex-basis\",affectingPropsX=[_strWidth,_strMinMinus+_strWidth,_strMaxMinus+_strWidth,_strMarginMinus+_strLeft,_strMarginMinus+_strRight,_strLeft,_strRight,\"font-weight\",\"word-spacing\",flexGrow,flexShrink,flexBasis],affectingPropsXContentBox=[_strPaddingMinus+_strLeft,_strPaddingMinus+_strRight,_strBorderMinus+_strLeft+_strWidth,_strBorderMinus+_strRight+_strWidth],affectingPropsY=[_strHeight,_strMinMinus+_strHeight,_strMaxMinus+_strHeight,_strMarginMinus+_strTop,_strMarginMinus+_strBottom,_strTop,_strBottom,\"line-height\",flexGrow,flexShrink,flexBasis],affectingPropsYContentBox=[_strPaddingMinus+_strTop,_strPaddingMinus+_strBottom,_strBorderMinus+_strTop+_strWidth,_strBorderMinus+_strBottom+_strWidth],_strS=\"s\",_strVS=\"v-s\",checkX=_overflowBehaviorCache.x===_strS||_overflowBehaviorCache.x===_strVS,checkY=_overflowBehaviorCache.y===_strS||_overflowBehaviorCache.y===_strVS,sizeIsAffected=!1,checkPropertyName=function(arr,name){for(var i=0;i-1){var targetAttr=_targetElement.attr(attr);type(targetAttr)==TYPES.s?_viewportElement.attr(attr,targetAttr):_viewportElement.removeAttr(attr);}});}function textareaUpdate(){if(!_sleeping){var wrapAttrOff=!_textareaAutoWrappingCache,minWidth=_viewportSize.w,minHeight=_viewportSize.h,css={},doMeasure=_widthAutoCache||wrapAttrOff,origWidth,width,origHeight,height;return css[_strMinMinus+_strWidth]=_strEmpty,css[_strMinMinus+_strHeight]=_strEmpty,css[_strWidth]=_strAuto,_targetElement.css(css),origWidth=_targetElementNative[LEXICON.oW],width=doMeasure?MATH.max(origWidth,_targetElementNative[LEXICON.sW]-1):1,css[_strWidth]=_widthAutoCache?_strAuto:_strHundredPercent,css[_strMinMinus+_strWidth]=_strHundredPercent,css[_strHeight]=_strAuto,_targetElement.css(css),origHeight=_targetElementNative[LEXICON.oH],height=MATH.max(origHeight,_targetElementNative[LEXICON.sH]-1),css[_strWidth]=width,css[_strHeight]=height,_textareaCoverElement.css(css),css[_strMinMinus+_strWidth]=minWidth,css[_strMinMinus+_strHeight]=minHeight,_targetElement.css(css),{_originalWidth:origWidth,_originalHeight:origHeight,_dynamicWidth:width,_dynamicHeight:height}}}function update(updateHints){clearTimeout(_swallowedUpdateTimeout),updateHints=updateHints||{},_swallowedUpdateHints._hostSizeChanged|=updateHints._hostSizeChanged,_swallowedUpdateHints._contentSizeChanged|=updateHints._contentSizeChanged,_swallowedUpdateHints._force|=updateHints._force;var now=COMPATIBILITY.now(),hostSizeChanged=!!_swallowedUpdateHints._hostSizeChanged,contentSizeChanged=!!_swallowedUpdateHints._contentSizeChanged,force=!!_swallowedUpdateHints._force,changedOptions=updateHints._changedOptions,swallow=_initialized&&!_destroyed&&!force&&!changedOptions&&now-_lastUpdateTime<_swallowUpdateLag&&!_heightAutoCache&&!_widthAutoCache,displayIsHidden;if(swallow&&(_swallowedUpdateTimeout=setTimeout(update,_swallowUpdateLag)),!(_destroyed||swallow||_sleeping&&!changedOptions||_initialized&&!force&&(displayIsHidden=_hostElement.is(\":hidden\"))||_hostElement.css(\"display\")===\"inline\")){_lastUpdateTime=now,_swallowedUpdateHints={},_nativeScrollbarStyling&&!(_nativeScrollbarIsOverlaid.x&&_nativeScrollbarIsOverlaid.y)?(_nativeScrollbarSize.x=0,_nativeScrollbarSize.y=0):_nativeScrollbarSize=extendDeep({},globals.nativeScrollbarSize),_nativeScrollbarMinSize={x:(_nativeScrollbarSize.x+(_nativeScrollbarIsOverlaid.x?0:3))*3,y:(_nativeScrollbarSize.y+(_nativeScrollbarIsOverlaid.y?0:3))*3},changedOptions=changedOptions||{};var checkCacheAutoForce=function(){return checkCache.apply(this,[].slice.call(arguments).concat([force]))},currScroll={x:_viewportElement[_strScrollLeft](),y:_viewportElement[_strScrollTop]()},currentPreparedOptionsScrollbars=_currentPreparedOptions.scrollbars,currentPreparedOptionsTextarea=_currentPreparedOptions.textarea,scrollbarsVisibility=currentPreparedOptionsScrollbars.visibility,scrollbarsVisibilityChanged=checkCacheAutoForce(scrollbarsVisibility,_scrollbarsVisibilityCache),scrollbarsAutoHide=currentPreparedOptionsScrollbars.autoHide,scrollbarsAutoHideChanged=checkCacheAutoForce(scrollbarsAutoHide,_scrollbarsAutoHideCache),scrollbarsClickScrolling=currentPreparedOptionsScrollbars.clickScrolling,scrollbarsClickScrollingChanged=checkCacheAutoForce(scrollbarsClickScrolling,_scrollbarsClickScrollingCache),scrollbarsDragScrolling=currentPreparedOptionsScrollbars.dragScrolling,scrollbarsDragScrollingChanged=checkCacheAutoForce(scrollbarsDragScrolling,_scrollbarsDragScrollingCache),className=_currentPreparedOptions.className,classNameChanged=checkCacheAutoForce(className,_classNameCache),resize=_currentPreparedOptions.resize,resizeChanged=checkCacheAutoForce(resize,_resizeCache)&&!_isBody,paddingAbsolute=_currentPreparedOptions.paddingAbsolute,paddingAbsoluteChanged=checkCacheAutoForce(paddingAbsolute,_paddingAbsoluteCache),clipAlways=_currentPreparedOptions.clipAlways,clipAlwaysChanged=checkCacheAutoForce(clipAlways,_clipAlwaysCache),sizeAutoCapable=_currentPreparedOptions.sizeAutoCapable&&!_isBody,sizeAutoCapableChanged=checkCacheAutoForce(sizeAutoCapable,_sizeAutoCapableCache),ignoreOverlayScrollbarHiding=_currentPreparedOptions.nativeScrollbarsOverlaid.showNativeScrollbars,ignoreOverlayScrollbarHidingChanged=checkCacheAutoForce(ignoreOverlayScrollbarHiding,_ignoreOverlayScrollbarHidingCache),autoUpdate=_currentPreparedOptions.autoUpdate,autoUpdateChanged=checkCacheAutoForce(autoUpdate,_autoUpdateCache),overflowBehavior=_currentPreparedOptions.overflowBehavior,overflowBehaviorChanged=checkCacheAutoForce(overflowBehavior,_overflowBehaviorCache,force),textareaDynWidth=currentPreparedOptionsTextarea.dynWidth,textareaDynWidthChanged=checkCacheAutoForce(_textareaDynWidthCache,textareaDynWidth),textareaDynHeight=currentPreparedOptionsTextarea.dynHeight,textareaDynHeightChanged=checkCacheAutoForce(_textareaDynHeightCache,textareaDynHeight);if(_scrollbarsAutoHideNever=scrollbarsAutoHide===\"n\",_scrollbarsAutoHideScroll=scrollbarsAutoHide===\"s\",_scrollbarsAutoHideMove=scrollbarsAutoHide===\"m\",_scrollbarsAutoHideLeave=scrollbarsAutoHide===\"l\",_scrollbarsAutoHideDelay=currentPreparedOptionsScrollbars.autoHideDelay,_oldClassName=_classNameCache,_resizeNone=resize===\"n\",_resizeBoth=resize===\"b\",_resizeHorizontal=resize===\"h\",_resizeVertical=resize===\"v\",_normalizeRTLCache=_currentPreparedOptions.normalizeRTL,ignoreOverlayScrollbarHiding=ignoreOverlayScrollbarHiding&&_nativeScrollbarIsOverlaid.x&&_nativeScrollbarIsOverlaid.y,_scrollbarsVisibilityCache=scrollbarsVisibility,_scrollbarsAutoHideCache=scrollbarsAutoHide,_scrollbarsClickScrollingCache=scrollbarsClickScrolling,_scrollbarsDragScrollingCache=scrollbarsDragScrolling,_classNameCache=className,_resizeCache=resize,_paddingAbsoluteCache=paddingAbsolute,_clipAlwaysCache=clipAlways,_sizeAutoCapableCache=sizeAutoCapable,_ignoreOverlayScrollbarHidingCache=ignoreOverlayScrollbarHiding,_autoUpdateCache=autoUpdate,_overflowBehaviorCache=extendDeep({},overflowBehavior),_textareaDynWidthCache=textareaDynWidth,_textareaDynHeightCache=textareaDynHeight,_hasOverflowCache=_hasOverflowCache||{x:!1,y:!1},classNameChanged&&(removeClass(_hostElement,_oldClassName+_strSpace+_classNameThemeNone),addClass(_hostElement,className!==undefined2&&className!==null&&className.length>0?className:_classNameThemeNone)),autoUpdateChanged&&(autoUpdate===!0||autoUpdate===null&&_autoUpdateRecommended?(disconnectMutationObservers(),autoUpdateLoop.add(_base)):(autoUpdateLoop.remove(_base),connectMutationObservers())),sizeAutoCapableChanged)if(sizeAutoCapable)if(_contentGlueElement?_contentGlueElement.show():(_contentGlueElement=FRAMEWORK(generateDiv(_classNameContentGlueElement)),_paddingElement.before(_contentGlueElement)),_sizeAutoObserverAdded)_sizeAutoObserverElement.show();else {_sizeAutoObserverElement=FRAMEWORK(generateDiv(_classNameSizeAutoObserverElement)),_sizeAutoObserverElementNative=_sizeAutoObserverElement[0],_contentGlueElement.before(_sizeAutoObserverElement);var oldSize={w:-1,h:-1};setupResizeObserver(_sizeAutoObserverElement,function(){var newSize={w:_sizeAutoObserverElementNative[LEXICON.oW],h:_sizeAutoObserverElementNative[LEXICON.oH]};checkCache(newSize,oldSize)&&(_initialized&&_heightAutoCache&&newSize.h>0||_widthAutoCache&&newSize.w>0||_initialized&&!_heightAutoCache&&newSize.h===0||!_widthAutoCache&&newSize.w===0)&&update(),oldSize=newSize;}),_sizeAutoObserverAdded=!0,_cssCalc!==null&&_sizeAutoObserverElement.css(_strHeight,_cssCalc+\"(100% + 1px)\");}else _sizeAutoObserverAdded&&_sizeAutoObserverElement.hide(),_contentGlueElement&&_contentGlueElement.hide();force&&(_sizeObserverElement.find(\"*\").trigger(_strScroll),_sizeAutoObserverAdded&&_sizeAutoObserverElement.find(\"*\").trigger(_strScroll)),displayIsHidden=displayIsHidden===undefined2?_hostElement.is(\":hidden\"):displayIsHidden;var textareaAutoWrapping=_isTextarea?_targetElement.attr(\"wrap\")!==\"off\":!1,textareaAutoWrappingChanged=checkCacheAutoForce(textareaAutoWrapping,_textareaAutoWrappingCache),cssDirection=_hostElement.css(\"direction\"),cssDirectionChanged=checkCacheAutoForce(cssDirection,_cssDirectionCache),boxSizing=_hostElement.css(\"box-sizing\"),boxSizingChanged=checkCacheAutoForce(boxSizing,_cssBoxSizingCache),padding=getTopRightBottomLeftHost(_strPaddingMinus),sizeAutoObserverElementBCRect;try{sizeAutoObserverElementBCRect=_sizeAutoObserverAdded?_sizeAutoObserverElementNative[LEXICON.bCR]():null;}catch{return}_isRTL=cssDirection===\"rtl\",_isBorderBox=boxSizing===\"border-box\";var isRTLLeft=_isRTL?_strLeft:_strRight,isRTLRight=_isRTL?_strRight:_strLeft,widthAutoResizeDetection=!1,widthAutoObserverDetection=_sizeAutoObserverAdded&&_hostElement.css(_strFloat)!==\"none\"?MATH.round(sizeAutoObserverElementBCRect.right-sizeAutoObserverElementBCRect.left)===0&&(paddingAbsolute?!0:_hostElementNative[LEXICON.cW]-_paddingX>0):!1;if(sizeAutoCapable&&!widthAutoObserverDetection){var tmpCurrHostWidth=_hostElementNative[LEXICON.oW],tmpCurrContentGlueWidth=_contentGlueElement.css(_strWidth);_contentGlueElement.css(_strWidth,_strAuto);var tmpNewHostWidth=_hostElementNative[LEXICON.oW];_contentGlueElement.css(_strWidth,tmpCurrContentGlueWidth),widthAutoResizeDetection=tmpCurrHostWidth!==tmpNewHostWidth,widthAutoResizeDetection||(_contentGlueElement.css(_strWidth,tmpCurrHostWidth+1),tmpNewHostWidth=_hostElementNative[LEXICON.oW],_contentGlueElement.css(_strWidth,tmpCurrContentGlueWidth),widthAutoResizeDetection=tmpCurrHostWidth!==tmpNewHostWidth);}var widthAuto=(widthAutoObserverDetection||widthAutoResizeDetection)&&sizeAutoCapable&&!displayIsHidden,widthAutoChanged=checkCacheAutoForce(widthAuto,_widthAutoCache),wasWidthAuto=!widthAuto&&_widthAutoCache,heightAuto=_sizeAutoObserverAdded&&sizeAutoCapable&&!displayIsHidden?MATH.round(sizeAutoObserverElementBCRect.bottom-sizeAutoObserverElementBCRect.top)===0:!1,heightAutoChanged=checkCacheAutoForce(heightAuto,_heightAutoCache),wasHeightAuto=!heightAuto&&_heightAutoCache,updateBorderX=widthAuto&&_isBorderBox||!_isBorderBox,updateBorderY=heightAuto&&_isBorderBox||!_isBorderBox,border=getTopRightBottomLeftHost(_strBorderMinus,\"-\"+_strWidth,!updateBorderX,!updateBorderY),margin=getTopRightBottomLeftHost(_strMarginMinus),contentElementCSS={},contentGlueElementCSS={},getHostSize=function(){return {w:_hostElementNative[LEXICON.cW],h:_hostElementNative[LEXICON.cH]}},getViewportSize=function(){return {w:_paddingElementNative[LEXICON.oW]+MATH.max(0,_contentElementNative[LEXICON.cW]-_contentElementNative[LEXICON.sW]),h:_paddingElementNative[LEXICON.oH]+MATH.max(0,_contentElementNative[LEXICON.cH]-_contentElementNative[LEXICON.sH])}},paddingAbsoluteX=_paddingX=padding.l+padding.r,paddingAbsoluteY=_paddingY=padding.t+padding.b;if(paddingAbsoluteX*=paddingAbsolute?1:0,paddingAbsoluteY*=paddingAbsolute?1:0,padding.c=checkCacheAutoForce(padding,_cssPaddingCache),_borderX=border.l+border.r,_borderY=border.t+border.b,border.c=checkCacheAutoForce(border,_cssBorderCache),_marginX=margin.l+margin.r,_marginY=margin.t+margin.b,margin.c=checkCacheAutoForce(margin,_cssMarginCache),_textareaAutoWrappingCache=textareaAutoWrapping,_cssDirectionCache=cssDirection,_cssBoxSizingCache=boxSizing,_widthAutoCache=widthAuto,_heightAutoCache=heightAuto,_cssPaddingCache=padding,_cssBorderCache=border,_cssMarginCache=margin,cssDirectionChanged&&_sizeAutoObserverAdded&&_sizeAutoObserverElement.css(_strFloat,isRTLRight),padding.c||cssDirectionChanged||paddingAbsoluteChanged||widthAutoChanged||heightAutoChanged||boxSizingChanged||sizeAutoCapableChanged){var paddingElementCSS={},textareaCSS={},paddingValues=[padding.t,padding.r,padding.b,padding.l];setTopRightBottomLeft(contentGlueElementCSS,_strMarginMinus,[-padding.t,-padding.r,-padding.b,-padding.l]),paddingAbsolute?(setTopRightBottomLeft(paddingElementCSS,_strEmpty,paddingValues),setTopRightBottomLeft(_isTextarea?textareaCSS:contentElementCSS,_strPaddingMinus)):(setTopRightBottomLeft(paddingElementCSS,_strEmpty),setTopRightBottomLeft(_isTextarea?textareaCSS:contentElementCSS,_strPaddingMinus,paddingValues)),_paddingElement.css(paddingElementCSS),_targetElement.css(textareaCSS);}_viewportSize=getViewportSize();var textareaSize=_isTextarea?textareaUpdate():!1,textareaSizeChanged=_isTextarea&&checkCacheAutoForce(textareaSize,_textareaSizeCache),textareaDynOrigSize=_isTextarea&&textareaSize?{w:textareaDynWidth?textareaSize._dynamicWidth:textareaSize._originalWidth,h:textareaDynHeight?textareaSize._dynamicHeight:textareaSize._originalHeight}:{};if(_textareaSizeCache=textareaSize,heightAuto&&(heightAutoChanged||paddingAbsoluteChanged||boxSizingChanged||padding.c||border.c)?contentElementCSS[_strHeight]=_strAuto:(heightAutoChanged||paddingAbsoluteChanged)&&(contentElementCSS[_strHeight]=_strHundredPercent),widthAuto&&(widthAutoChanged||paddingAbsoluteChanged||boxSizingChanged||padding.c||border.c||cssDirectionChanged)?(contentElementCSS[_strWidth]=_strAuto,contentGlueElementCSS[_strMaxMinus+_strWidth]=_strHundredPercent):(widthAutoChanged||paddingAbsoluteChanged)&&(contentElementCSS[_strWidth]=_strHundredPercent,contentElementCSS[_strFloat]=_strEmpty,contentGlueElementCSS[_strMaxMinus+_strWidth]=_strEmpty),widthAuto?(contentGlueElementCSS[_strWidth]=_strAuto,contentElementCSS[_strWidth]=VENDORS._cssPropertyValue(_strWidth,\"max-content intrinsic\")||_strAuto,contentElementCSS[_strFloat]=isRTLRight):contentGlueElementCSS[_strWidth]=_strEmpty,heightAuto?contentGlueElementCSS[_strHeight]=textareaDynOrigSize.h||_contentElementNative[LEXICON.cH]:contentGlueElementCSS[_strHeight]=_strEmpty,sizeAutoCapable&&_contentGlueElement.css(contentGlueElementCSS),_contentElement.css(contentElementCSS),contentElementCSS={},contentGlueElementCSS={},hostSizeChanged||contentSizeChanged||textareaSizeChanged||cssDirectionChanged||boxSizingChanged||paddingAbsoluteChanged||widthAutoChanged||widthAuto||heightAutoChanged||heightAuto||ignoreOverlayScrollbarHidingChanged||overflowBehaviorChanged||clipAlwaysChanged||resizeChanged||scrollbarsVisibilityChanged||scrollbarsAutoHideChanged||scrollbarsDragScrollingChanged||scrollbarsClickScrollingChanged||textareaDynWidthChanged||textareaDynHeightChanged||textareaAutoWrappingChanged){var strOverflow=\"overflow\",strOverflowX=strOverflow+\"-x\",strOverflowY=strOverflow+\"-y\",strHidden=\"hidden\",strVisible=\"visible\";if(!_nativeScrollbarStyling){var viewportElementResetCSS={},resetXTmp=_hasOverflowCache.y&&_hideOverflowCache.ys&&!ignoreOverlayScrollbarHiding?_nativeScrollbarIsOverlaid.y?_viewportElement.css(isRTLLeft):-_nativeScrollbarSize.y:0,resetBottomTmp=_hasOverflowCache.x&&_hideOverflowCache.xs&&!ignoreOverlayScrollbarHiding?_nativeScrollbarIsOverlaid.x?_viewportElement.css(_strBottom):-_nativeScrollbarSize.x:0;setTopRightBottomLeft(viewportElementResetCSS,_strEmpty),_viewportElement.css(viewportElementResetCSS);}var contentMeasureElement=getContentMeasureElement(),contentSize={w:textareaDynOrigSize.w||contentMeasureElement[LEXICON.cW],h:textareaDynOrigSize.h||contentMeasureElement[LEXICON.cH]},scrollSize={w:contentMeasureElement[LEXICON.sW],h:contentMeasureElement[LEXICON.sH]};_nativeScrollbarStyling||(viewportElementResetCSS[_strBottom]=wasHeightAuto?_strEmpty:resetBottomTmp,viewportElementResetCSS[isRTLLeft]=wasWidthAuto?_strEmpty:resetXTmp,_viewportElement.css(viewportElementResetCSS)),_viewportSize=getViewportSize();var hostSize=getHostSize(),hostAbsoluteRectSize={w:hostSize.w-_marginX-_borderX-(_isBorderBox?0:_paddingX),h:hostSize.h-_marginY-_borderY-(_isBorderBox?0:_paddingY)},contentGlueSize={w:MATH.max((widthAuto?contentSize.w:scrollSize.w)+paddingAbsoluteX,hostAbsoluteRectSize.w),h:MATH.max((heightAuto?contentSize.h:scrollSize.h)+paddingAbsoluteY,hostAbsoluteRectSize.h)};if(contentGlueSize.c=checkCacheAutoForce(contentGlueSize,_contentGlueSizeCache),_contentGlueSizeCache=contentGlueSize,sizeAutoCapable){(contentGlueSize.c||heightAuto||widthAuto)&&(contentGlueElementCSS[_strWidth]=contentGlueSize.w,contentGlueElementCSS[_strHeight]=contentGlueSize.h,_isTextarea||(contentSize={w:contentMeasureElement[LEXICON.cW],h:contentMeasureElement[LEXICON.cH]}));var textareaCoverCSS={},setContentGlueElementCSSfunction=function(horizontal){var scrollbarVars=getScrollbarVars(horizontal),wh=scrollbarVars._w_h,strWH=scrollbarVars._width_height,autoSize=horizontal?widthAuto:heightAuto,borderSize=horizontal?_borderX:_borderY,paddingSize=horizontal?_paddingX:_paddingY,marginSize=horizontal?_marginX:_marginY,viewportSize=_viewportSize[wh]-borderSize-marginSize-(_isBorderBox?0:paddingSize);(!autoSize||!autoSize&&border.c)&&(contentGlueElementCSS[strWH]=hostAbsoluteRectSize[wh]-1),autoSize&&contentSize[wh]0&&(contentGlueElementCSS[strWH]=MATH.max(1,contentGlueElementCSS[strWH]));};setContentGlueElementCSSfunction(!0),setContentGlueElementCSSfunction(!1),_isTextarea&&_textareaCoverElement.css(textareaCoverCSS),_contentGlueElement.css(contentGlueElementCSS);}widthAuto&&(contentElementCSS[_strWidth]=_strHundredPercent),widthAuto&&!_isBorderBox&&!_mutationObserversConnected&&(contentElementCSS[_strFloat]=\"none\"),_contentElement.css(contentElementCSS),contentElementCSS={};var contentScrollSize={w:contentMeasureElement[LEXICON.sW],h:contentMeasureElement[LEXICON.sH]};contentScrollSize.c=contentSizeChanged=checkCacheAutoForce(contentScrollSize,_contentScrollSizeCache),_contentScrollSizeCache=contentScrollSize,_viewportSize=getViewportSize(),hostSize=getHostSize(),hostSizeChanged=checkCacheAutoForce(hostSize,_hostSizeCache),_hostSizeCache=hostSize;var hideOverflowForceTextarea=_isTextarea&&(_viewportSize.w===0||_viewportSize.h===0),previousOverflowAmount=_overflowAmountCache,overflowBehaviorIsVS={},overflowBehaviorIsVH={},overflowBehaviorIsS={},overflowAmount={},hasOverflow={},hideOverflow={},canScroll={},viewportRect=_paddingElementNative[LEXICON.bCR](),setOverflowVariables=function(horizontal){var scrollbarVars=getScrollbarVars(horizontal),scrollbarVarsInverted=getScrollbarVars(!horizontal),xyI=scrollbarVarsInverted._x_y,xy=scrollbarVars._x_y,wh=scrollbarVars._w_h,widthHeight=scrollbarVars._width_height,scrollMax=_strScroll+scrollbarVars._Left_Top+\"Max\",fractionalOverflowAmount=viewportRect[widthHeight]?MATH.abs(viewportRect[widthHeight]-_viewportSize[wh]):0,checkFractionalOverflowAmount=previousOverflowAmount&&previousOverflowAmount[xy]>0&&_viewportElementNative[scrollMax]===0;overflowBehaviorIsVS[xy]=overflowBehavior[xy]===\"v-s\",overflowBehaviorIsVH[xy]=overflowBehavior[xy]===\"v-h\",overflowBehaviorIsS[xy]=overflowBehavior[xy]===\"s\",overflowAmount[xy]=MATH.max(0,MATH.round((contentScrollSize[wh]-_viewportSize[wh])*100)/100),overflowAmount[xy]*=hideOverflowForceTextarea||checkFractionalOverflowAmount&&fractionalOverflowAmount>0&&fractionalOverflowAmount<1?0:1,hasOverflow[xy]=overflowAmount[xy]>0,hideOverflow[xy]=overflowBehaviorIsVS[xy]||overflowBehaviorIsVH[xy]?hasOverflow[xyI]&&!overflowBehaviorIsVS[xyI]&&!overflowBehaviorIsVH[xyI]:hasOverflow[xy],hideOverflow[xy+\"s\"]=hideOverflow[xy]?overflowBehaviorIsS[xy]||overflowBehaviorIsVS[xy]:!1,canScroll[xy]=hasOverflow[xy]&&hideOverflow[xy+\"s\"];};if(setOverflowVariables(!0),setOverflowVariables(!1),overflowAmount.c=checkCacheAutoForce(overflowAmount,_overflowAmountCache),_overflowAmountCache=overflowAmount,hasOverflow.c=checkCacheAutoForce(hasOverflow,_hasOverflowCache),_hasOverflowCache=hasOverflow,hideOverflow.c=checkCacheAutoForce(hideOverflow,_hideOverflowCache),_hideOverflowCache=hideOverflow,_nativeScrollbarIsOverlaid.x||_nativeScrollbarIsOverlaid.y){var borderDesign=\"px solid transparent\",contentArrangeElementCSS={},arrangeContent={},arrangeChanged=force,setContentElementCSS;(hasOverflow.x||hasOverflow.y)&&(arrangeContent.w=_nativeScrollbarIsOverlaid.y&&hasOverflow.y?contentScrollSize.w+_overlayScrollbarDummySize.y:_strEmpty,arrangeContent.h=_nativeScrollbarIsOverlaid.x&&hasOverflow.x?contentScrollSize.h+_overlayScrollbarDummySize.x:_strEmpty,arrangeChanged=checkCacheAutoForce(arrangeContent,_arrangeContentSizeCache),_arrangeContentSizeCache=arrangeContent),(hasOverflow.c||hideOverflow.c||contentScrollSize.c||cssDirectionChanged||widthAutoChanged||heightAutoChanged||widthAuto||heightAuto||ignoreOverlayScrollbarHidingChanged)&&(contentElementCSS[_strMarginMinus+isRTLRight]=contentElementCSS[_strBorderMinus+isRTLRight]=_strEmpty,setContentElementCSS=function(horizontal){var scrollbarVars=getScrollbarVars(horizontal),scrollbarVarsInverted=getScrollbarVars(!horizontal),xy=scrollbarVars._x_y,strDirection=horizontal?_strBottom:isRTLLeft,invertedAutoSize=horizontal?heightAuto:widthAuto;_nativeScrollbarIsOverlaid[xy]&&hasOverflow[xy]&&hideOverflow[xy+\"s\"]?(contentElementCSS[_strMarginMinus+strDirection]=invertedAutoSize?ignoreOverlayScrollbarHiding?_strEmpty:_overlayScrollbarDummySize[xy]:_strEmpty,contentElementCSS[_strBorderMinus+strDirection]=(!horizontal||!invertedAutoSize)&&!ignoreOverlayScrollbarHiding?_overlayScrollbarDummySize[xy]+borderDesign:_strEmpty):(arrangeContent[scrollbarVarsInverted._w_h]=contentElementCSS[_strMarginMinus+strDirection]=contentElementCSS[_strBorderMinus+strDirection]=_strEmpty,arrangeChanged=!0);},_nativeScrollbarStyling?addRemoveClass(_viewportElement,_classNameViewportNativeScrollbarsInvisible,!ignoreOverlayScrollbarHiding):(setContentElementCSS(!0),setContentElementCSS(!1))),ignoreOverlayScrollbarHiding&&(arrangeContent.w=arrangeContent.h=_strEmpty,arrangeChanged=!0),arrangeChanged&&!_nativeScrollbarStyling&&(contentArrangeElementCSS[_strWidth]=hideOverflow.y?arrangeContent.w:_strEmpty,contentArrangeElementCSS[_strHeight]=hideOverflow.x?arrangeContent.h:_strEmpty,_contentArrangeElement||(_contentArrangeElement=FRAMEWORK(generateDiv(_classNameContentArrangeElement)),_viewportElement.prepend(_contentArrangeElement)),_contentArrangeElement.css(contentArrangeElementCSS)),_contentElement.css(contentElementCSS);}var viewportElementCSS={},paddingElementCSS={},setViewportCSS;if((hostSizeChanged||hasOverflow.c||hideOverflow.c||contentScrollSize.c||overflowBehaviorChanged||boxSizingChanged||ignoreOverlayScrollbarHidingChanged||cssDirectionChanged||clipAlwaysChanged||heightAutoChanged)&&(viewportElementCSS[isRTLRight]=_strEmpty,setViewportCSS=function(horizontal){var scrollbarVars=getScrollbarVars(horizontal),scrollbarVarsInverted=getScrollbarVars(!horizontal),xy=scrollbarVars._x_y,XY=scrollbarVars._X_Y,strDirection=horizontal?_strBottom:isRTLLeft,reset=function(){viewportElementCSS[strDirection]=_strEmpty,_contentBorderSize[scrollbarVarsInverted._w_h]=0;};hasOverflow[xy]&&hideOverflow[xy+\"s\"]?(viewportElementCSS[strOverflow+XY]=_strScroll,ignoreOverlayScrollbarHiding||_nativeScrollbarStyling?reset():(viewportElementCSS[strDirection]=-(_nativeScrollbarIsOverlaid[xy]?_overlayScrollbarDummySize[xy]:_nativeScrollbarSize[xy]),_contentBorderSize[scrollbarVarsInverted._w_h]=_nativeScrollbarIsOverlaid[xy]?_overlayScrollbarDummySize[scrollbarVarsInverted._x_y]:0)):(viewportElementCSS[strOverflow+XY]=_strEmpty,reset());},setViewportCSS(!0),setViewportCSS(!1),!_nativeScrollbarStyling&&(_viewportSize.h<_nativeScrollbarMinSize.x||_viewportSize.w<_nativeScrollbarMinSize.y)&&(hasOverflow.x&&hideOverflow.x&&!_nativeScrollbarIsOverlaid.x||hasOverflow.y&&hideOverflow.y&&!_nativeScrollbarIsOverlaid.y)?(viewportElementCSS[_strPaddingMinus+_strTop]=_nativeScrollbarMinSize.x,viewportElementCSS[_strMarginMinus+_strTop]=-_nativeScrollbarMinSize.x,viewportElementCSS[_strPaddingMinus+isRTLRight]=_nativeScrollbarMinSize.y,viewportElementCSS[_strMarginMinus+isRTLRight]=-_nativeScrollbarMinSize.y):viewportElementCSS[_strPaddingMinus+_strTop]=viewportElementCSS[_strMarginMinus+_strTop]=viewportElementCSS[_strPaddingMinus+isRTLRight]=viewportElementCSS[_strMarginMinus+isRTLRight]=_strEmpty,viewportElementCSS[_strPaddingMinus+isRTLLeft]=viewportElementCSS[_strMarginMinus+isRTLLeft]=_strEmpty,hasOverflow.x&&hideOverflow.x||hasOverflow.y&&hideOverflow.y||hideOverflowForceTextarea?_isTextarea&&hideOverflowForceTextarea&&(paddingElementCSS[strOverflowX]=paddingElementCSS[strOverflowY]=strHidden):(!clipAlways||overflowBehaviorIsVH.x||overflowBehaviorIsVS.x||overflowBehaviorIsVH.y||overflowBehaviorIsVS.y)&&(_isTextarea&&(paddingElementCSS[strOverflowX]=paddingElementCSS[strOverflowY]=_strEmpty),viewportElementCSS[strOverflowX]=viewportElementCSS[strOverflowY]=strVisible),_paddingElement.css(paddingElementCSS),_viewportElement.css(viewportElementCSS),viewportElementCSS={},(hasOverflow.c||boxSizingChanged||widthAutoChanged||heightAutoChanged)&&!(_nativeScrollbarIsOverlaid.x&&_nativeScrollbarIsOverlaid.y))){var elementStyle=_contentElementNative[LEXICON.s];elementStyle.webkitTransform=\"scale(1)\",elementStyle.display=\"run-in\",_contentElementNative[LEXICON.oH],elementStyle.display=_strEmpty,elementStyle.webkitTransform=_strEmpty;}if(contentElementCSS={},cssDirectionChanged||widthAutoChanged||heightAutoChanged)if(_isRTL&&widthAuto){var floatTmp=_contentElement.css(_strFloat),posLeftWithoutFloat=MATH.round(_contentElement.css(_strFloat,_strEmpty).css(_strLeft,_strEmpty).position().left);_contentElement.css(_strFloat,floatTmp);var posLeftWithFloat=MATH.round(_contentElement.position().left);posLeftWithoutFloat!==posLeftWithFloat&&(contentElementCSS[_strLeft]=posLeftWithoutFloat);}else contentElementCSS[_strLeft]=_strEmpty;if(_contentElement.css(contentElementCSS),_isTextarea&&contentSizeChanged){var textareaInfo=getTextareaInfo();if(textareaInfo){var textareaRowsChanged=_textareaInfoCache===undefined2?!0:textareaInfo._rows!==_textareaInfoCache._rows,cursorRow=textareaInfo._cursorRow,cursorCol=textareaInfo._cursorColumn,widestRow=textareaInfo._widestRow,lastRow=textareaInfo._rows,lastCol=textareaInfo._columns,cursorPos=textareaInfo._cursorPosition,cursorMax=textareaInfo._cursorMax,cursorIsLastPosition=cursorPos>=cursorMax&&_textareaHasFocus,textareaScrollAmount={x:!textareaAutoWrapping&&cursorCol===lastCol&&cursorRow===widestRow?_overflowAmountCache.x:-1,y:(textareaAutoWrapping?cursorIsLastPosition||textareaRowsChanged&&(previousOverflowAmount&&currScroll.y===previousOverflowAmount.y):(cursorIsLastPosition||textareaRowsChanged)&&cursorRow===lastRow)?_overflowAmountCache.y:-1};currScroll.x=textareaScrollAmount.x>-1?_isRTL&&_normalizeRTLCache&&_rtlScrollBehavior.i?0:textareaScrollAmount.x:currScroll.x,currScroll.y=textareaScrollAmount.y>-1?textareaScrollAmount.y:currScroll.y;}_textareaInfoCache=textareaInfo;}_isRTL&&_rtlScrollBehavior.i&&_nativeScrollbarIsOverlaid.y&&hasOverflow.x&&_normalizeRTLCache&&(currScroll.x+=_contentBorderSize.w||0),widthAuto&&_hostElement[_strScrollLeft](0),heightAuto&&_hostElement[_strScrollTop](0),_viewportElement[_strScrollLeft](currScroll.x)[_strScrollTop](currScroll.y);var scrollbarsVisibilityVisible=scrollbarsVisibility===\"v\",scrollbarsVisibilityHidden=scrollbarsVisibility===\"h\",scrollbarsVisibilityAuto=scrollbarsVisibility===\"a\",refreshScrollbarsVisibility=function(showX,showY){showY=showY===undefined2?showX:showY,refreshScrollbarAppearance(!0,showX,canScroll.x),refreshScrollbarAppearance(!1,showY,canScroll.y);};addRemoveClass(_hostElement,_classNameHostOverflow,hideOverflow.x||hideOverflow.y),addRemoveClass(_hostElement,_classNameHostOverflowX,hideOverflow.x),addRemoveClass(_hostElement,_classNameHostOverflowY,hideOverflow.y),cssDirectionChanged&&!_isBody&&addRemoveClass(_hostElement,_classNameHostRTL,_isRTL),_isBody&&addClass(_hostElement,_classNameHostResizeDisabled),resizeChanged&&(addRemoveClass(_hostElement,_classNameHostResizeDisabled,_resizeNone),addRemoveClass(_scrollbarCornerElement,_classNameScrollbarCornerResize,!_resizeNone),addRemoveClass(_scrollbarCornerElement,_classNameScrollbarCornerResizeB,_resizeBoth),addRemoveClass(_scrollbarCornerElement,_classNameScrollbarCornerResizeH,_resizeHorizontal),addRemoveClass(_scrollbarCornerElement,_classNameScrollbarCornerResizeV,_resizeVertical)),(scrollbarsVisibilityChanged||overflowBehaviorChanged||hideOverflow.c||hasOverflow.c||ignoreOverlayScrollbarHidingChanged)&&(ignoreOverlayScrollbarHiding?ignoreOverlayScrollbarHidingChanged&&(removeClass(_hostElement,_classNameHostScrolling),ignoreOverlayScrollbarHiding&&refreshScrollbarsVisibility(!1)):scrollbarsVisibilityAuto?refreshScrollbarsVisibility(canScroll.x,canScroll.y):scrollbarsVisibilityVisible?refreshScrollbarsVisibility(!0):scrollbarsVisibilityHidden&&refreshScrollbarsVisibility(!1)),(scrollbarsAutoHideChanged||ignoreOverlayScrollbarHidingChanged)&&(setupHostMouseTouchEvents(!_scrollbarsAutoHideLeave&&!_scrollbarsAutoHideMove),refreshScrollbarsAutoHide(_scrollbarsAutoHideNever,!_scrollbarsAutoHideNever)),(hostSizeChanged||overflowAmount.c||heightAutoChanged||widthAutoChanged||resizeChanged||boxSizingChanged||paddingAbsoluteChanged||ignoreOverlayScrollbarHidingChanged||cssDirectionChanged)&&(refreshScrollbarHandleLength(!0),refreshScrollbarHandleOffset(!0),refreshScrollbarHandleLength(!1),refreshScrollbarHandleOffset(!1)),scrollbarsClickScrollingChanged&&refreshScrollbarsInteractive(!0,scrollbarsClickScrolling),scrollbarsDragScrollingChanged&&refreshScrollbarsInteractive(!1,scrollbarsDragScrolling),dispatchCallback(\"onDirectionChanged\",{isRTL:_isRTL,dir:cssDirection},cssDirectionChanged),dispatchCallback(\"onHostSizeChanged\",{width:_hostSizeCache.w,height:_hostSizeCache.h},hostSizeChanged),dispatchCallback(\"onContentSizeChanged\",{width:_contentScrollSizeCache.w,height:_contentScrollSizeCache.h},contentSizeChanged),dispatchCallback(\"onOverflowChanged\",{x:hasOverflow.x,y:hasOverflow.y,xScrollable:hideOverflow.xs,yScrollable:hideOverflow.ys,clipped:hideOverflow.x||hideOverflow.y},hasOverflow.c||hideOverflow.c),dispatchCallback(\"onOverflowAmountChanged\",{x:overflowAmount.x,y:overflowAmount.y},overflowAmount.c);}_isBody&&_bodyMinSizeCache&&(_hasOverflowCache.c||_bodyMinSizeCache.c)&&(_bodyMinSizeCache.f||bodyMinSizeChanged(),_nativeScrollbarIsOverlaid.y&&_hasOverflowCache.x&&_contentElement.css(_strMinMinus+_strWidth,_bodyMinSizeCache.w+_overlayScrollbarDummySize.y),_nativeScrollbarIsOverlaid.x&&_hasOverflowCache.y&&_contentElement.css(_strMinMinus+_strHeight,_bodyMinSizeCache.h+_overlayScrollbarDummySize.x),_bodyMinSizeCache.c=!1),_initialized&&changedOptions.updateOnLoad&&updateElementsOnLoad(),dispatchCallback(\"onUpdated\",{forced:force});}}function updateElementsOnLoad(){_isTextarea||eachUpdateOnLoad(function(i,updateOnLoadSelector){_contentElement.find(updateOnLoadSelector).each(function(i2,el){COMPATIBILITY.inA(el,_updateOnLoadElms)<0&&(_updateOnLoadElms.push(el),FRAMEWORK(el).off(_updateOnLoadEventName,updateOnLoadCallback).on(_updateOnLoadEventName,updateOnLoadCallback));});});}function setOptions(newOptions){var validatedOpts=_pluginsOptions._validate(newOptions,_pluginsOptions._template,!0,_currentOptions);return _currentOptions=extendDeep({},_currentOptions,validatedOpts._default),_currentPreparedOptions=extendDeep({},_currentPreparedOptions,validatedOpts._prepared),validatedOpts._prepared}function setupStructureDOM(destroy){var strParent=\"parent\",classNameResizeObserverHost=\"os-resize-observer-host\",classNameTextareaElementFull=_classNameTextareaElement+_strSpace+_classNameTextInherit,textareaClass=_isTextarea?_strSpace+_classNameTextInherit:_strEmpty,adoptAttrs=_currentPreparedOptions.textarea.inheritedAttrs,adoptAttrsMap={},applyAdoptedAttrs=function(){var applyAdoptedAttrsElm=destroy?_targetElement:_hostElement;each(adoptAttrsMap,function(key,value){type(value)==TYPES.s&&(key==LEXICON.c?applyAdoptedAttrsElm.addClass(value):applyAdoptedAttrsElm.attr(key,value));});},hostElementClassNames=[_classNameHostElement,_classNameHostElementForeign,_classNameHostTextareaElement,_classNameHostResizeDisabled,_classNameHostRTL,_classNameHostScrollbarHorizontalHidden,_classNameHostScrollbarVerticalHidden,_classNameHostTransition,_classNameHostScrolling,_classNameHostOverflow,_classNameHostOverflowX,_classNameHostOverflowY,_classNameThemeNone,_classNameTextareaElement,_classNameTextInherit,_classNameCache].join(_strSpace),hostElementCSS={};_hostElement=_hostElement||(_isTextarea?_domExists?_targetElement[strParent]()[strParent]()[strParent]()[strParent]():FRAMEWORK(generateDiv(_classNameHostTextareaElement)):_targetElement),_contentElement=_contentElement||selectOrGenerateDivByClass(_classNameContentElement+textareaClass),_viewportElement=_viewportElement||selectOrGenerateDivByClass(_classNameViewportElement+textareaClass),_paddingElement=_paddingElement||selectOrGenerateDivByClass(_classNamePaddingElement+textareaClass),_sizeObserverElement=_sizeObserverElement||selectOrGenerateDivByClass(classNameResizeObserverHost),_textareaCoverElement=_textareaCoverElement||(_isTextarea?selectOrGenerateDivByClass(_classNameTextareaCoverElement):undefined2),_domExists&&addClass(_hostElement,_classNameHostElementForeign),destroy&&removeClass(_hostElement,hostElementClassNames),adoptAttrs=type(adoptAttrs)==TYPES.s?adoptAttrs.split(_strSpace):adoptAttrs,COMPATIBILITY.isA(adoptAttrs)&&_isTextarea&&each(adoptAttrs,function(i,v){type(v)==TYPES.s&&(adoptAttrsMap[v]=destroy?_hostElement.attr(v):_targetElement.attr(v));}),destroy?(_domExists&&_initialized?(_sizeObserverElement.children().remove(),each([_paddingElement,_viewportElement,_contentElement,_textareaCoverElement],function(i,elm){elm&&removeClass(elm.removeAttr(LEXICON.s),_classNamesDynamicDestroy);}),addClass(_hostElement,_isTextarea?_classNameHostTextareaElement:_classNameHostElement)):(remove(_sizeObserverElement),_contentElement.contents().unwrap().unwrap().unwrap(),_isTextarea&&(_targetElement.unwrap(),remove(_hostElement),remove(_textareaCoverElement),applyAdoptedAttrs())),_isTextarea&&_targetElement.removeAttr(LEXICON.s),_isBody&&removeClass(_htmlElement,_classNameHTMLElement)):(_isTextarea&&(_currentPreparedOptions.sizeAutoCapable||(hostElementCSS[_strWidth]=_targetElement.css(_strWidth),hostElementCSS[_strHeight]=_targetElement.css(_strHeight)),_domExists||_targetElement.addClass(_classNameTextInherit).wrap(_hostElement),_hostElement=_targetElement[strParent]().css(hostElementCSS)),_domExists||(addClass(_targetElement,_isTextarea?classNameTextareaElementFull:_classNameHostElement),_hostElement.wrapInner(_contentElement).wrapInner(_viewportElement).wrapInner(_paddingElement).prepend(_sizeObserverElement),_contentElement=findFirst(_hostElement,_strDot+_classNameContentElement),_viewportElement=findFirst(_hostElement,_strDot+_classNameViewportElement),_paddingElement=findFirst(_hostElement,_strDot+_classNamePaddingElement),_isTextarea&&(_contentElement.prepend(_textareaCoverElement),applyAdoptedAttrs())),_nativeScrollbarStyling&&addClass(_viewportElement,_classNameViewportNativeScrollbarsInvisible),_nativeScrollbarIsOverlaid.x&&_nativeScrollbarIsOverlaid.y&&addClass(_viewportElement,_classNameViewportNativeScrollbarsOverlaid),_isBody&&addClass(_htmlElement,_classNameHTMLElement),_sizeObserverElementNative=_sizeObserverElement[0],_hostElementNative=_hostElement[0],_paddingElementNative=_paddingElement[0],_viewportElementNative=_viewportElement[0],_contentElementNative=_contentElement[0],updateViewportAttrsFromTarget());}function setupStructureEvents(){var textareaKeyDownRestrictedKeyCodes=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],textareaKeyDownKeyCodesList=[],textareaUpdateIntervalID,scrollStopTimeoutId,scrollStopDelay=175,strFocus=\"focus\";function updateTextarea(doClearInterval){textareaUpdate(),_base.update(_strAuto),doClearInterval&&_autoUpdateRecommended&&clearInterval(textareaUpdateIntervalID);}function textareaOnScroll(event){return _targetElement[_strScrollLeft](_rtlScrollBehavior.i&&_normalizeRTLCache?9999999:0),_targetElement[_strScrollTop](0),COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event),!1}function textareaOnDrop(event){setTimeout(function(){_destroyed||updateTextarea();},50);}function textareaOnFocus(){_textareaHasFocus=!0,addClass(_hostElement,strFocus);}function textareaOnFocusout(){_textareaHasFocus=!1,textareaKeyDownKeyCodesList=[],removeClass(_hostElement,strFocus),updateTextarea(!0);}function textareaOnKeyDown(event){var keyCode=event.keyCode;inArray(keyCode,textareaKeyDownRestrictedKeyCodes)<0&&(textareaKeyDownKeyCodesList[LEXICON.l]||(updateTextarea(),textareaUpdateIntervalID=setInterval(updateTextarea,1e3/60)),inArray(keyCode,textareaKeyDownKeyCodesList)<0&&textareaKeyDownKeyCodesList.push(keyCode));}function textareaOnKeyUp(event){var keyCode=event.keyCode,index=inArray(keyCode,textareaKeyDownKeyCodesList);inArray(keyCode,textareaKeyDownRestrictedKeyCodes)<0&&(index>-1&&textareaKeyDownKeyCodesList.splice(index,1),textareaKeyDownKeyCodesList[LEXICON.l]||updateTextarea(!0));}function contentOnTransitionEnd(event){_autoUpdateCache!==!0&&(event=event.originalEvent||event,isSizeAffectingCSSProperty(event.propertyName)&&_base.update(_strAuto));}function viewportOnScroll(event){_sleeping||(scrollStopTimeoutId!==undefined2?clearTimeout(scrollStopTimeoutId):((_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!0),nativeOverlayScrollbarsAreActive()||addClass(_hostElement,_classNameHostScrolling),dispatchCallback(\"onScrollStart\",event)),_scrollbarsHandlesDefineScrollPos||(refreshScrollbarHandleOffset(!0),refreshScrollbarHandleOffset(!1)),dispatchCallback(\"onScroll\",event),scrollStopTimeoutId=setTimeout(function(){_destroyed||(clearTimeout(scrollStopTimeoutId),scrollStopTimeoutId=undefined2,(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!1),nativeOverlayScrollbarsAreActive()||removeClass(_hostElement,_classNameHostScrolling),dispatchCallback(\"onScrollStop\",event));},scrollStopDelay));}_isTextarea?(_msieVersion>9||!_autoUpdateRecommended?addDestroyEventListener(_targetElement,\"input\",updateTextarea):addDestroyEventListener(_targetElement,[_strKeyDownEvent,_strKeyUpEvent],[textareaOnKeyDown,textareaOnKeyUp]),addDestroyEventListener(_targetElement,[_strScroll,\"drop\",strFocus,strFocus+\"out\"],[textareaOnScroll,textareaOnDrop,textareaOnFocus,textareaOnFocusout])):addDestroyEventListener(_contentElement,_strTransitionEndEvent,contentOnTransitionEnd),addDestroyEventListener(_viewportElement,_strScroll,viewportOnScroll,!0);}function setupScrollbarsDOM(destroy){var selectOrGenerateScrollbarDOM=function(isHorizontal){var scrollbarClassName=isHorizontal?_classNameScrollbarHorizontal:_classNameScrollbarVertical,scrollbar=selectOrGenerateDivByClass(_classNameScrollbar+_strSpace+scrollbarClassName,!0),track=selectOrGenerateDivByClass(_classNameScrollbarTrack,scrollbar),handle=selectOrGenerateDivByClass(_classNameScrollbarHandle,scrollbar);return !_domExists&&!destroy&&(scrollbar.append(track),track.append(handle)),{_scrollbar:scrollbar,_track:track,_handle:handle}};function resetScrollbarDOM(isHorizontal){var scrollbarVars=getScrollbarVars(isHorizontal),scrollbar=scrollbarVars._scrollbar,track=scrollbarVars._track,handle=scrollbarVars._handle;_domExists&&_initialized?each([scrollbar,track,handle],function(i,elm){removeClass(elm.removeAttr(LEXICON.s),_classNamesDynamicDestroy);}):remove(scrollbar||selectOrGenerateScrollbarDOM(isHorizontal)._scrollbar);}var horizontalElements,verticalElements;destroy?(resetScrollbarDOM(!0),resetScrollbarDOM()):(horizontalElements=selectOrGenerateScrollbarDOM(!0),verticalElements=selectOrGenerateScrollbarDOM(),_scrollbarHorizontalElement=horizontalElements._scrollbar,_scrollbarHorizontalTrackElement=horizontalElements._track,_scrollbarHorizontalHandleElement=horizontalElements._handle,_scrollbarVerticalElement=verticalElements._scrollbar,_scrollbarVerticalTrackElement=verticalElements._track,_scrollbarVerticalHandleElement=verticalElements._handle,_domExists||(_paddingElement.after(_scrollbarVerticalElement),_paddingElement.after(_scrollbarHorizontalElement)));}function setupScrollbarEvents(isHorizontal){var scrollbarVars=getScrollbarVars(isHorizontal),scrollbarVarsInfo=scrollbarVars._info,insideIFrame=_windowElementNative.top!==_windowElementNative,xy=scrollbarVars._x_y,XY=scrollbarVars._X_Y,scroll=_strScroll+scrollbarVars._Left_Top,strActive=\"active\",strSnapHandle=\"snapHandle\",strClickEvent=\"click\",scrollDurationFactor=1,increaseDecreaseScrollAmountKeyCodes=[16,17],trackTimeout,mouseDownScroll,mouseDownOffset,mouseDownInvertedScale;function getPointerPosition(event){return _msieVersion&&insideIFrame?event[\"screen\"+XY]:COMPATIBILITY.page(event)[xy]}function getPreparedScrollbarsOption(name){return _currentPreparedOptions.scrollbars[name]}function increaseTrackScrollAmount(){scrollDurationFactor=.5;}function decreaseTrackScrollAmount(){scrollDurationFactor=1;}function stopClickEventPropagation(event){COMPATIBILITY.stpP(event);}function documentKeyDown(event){inArray(event.keyCode,increaseDecreaseScrollAmountKeyCodes)>-1&&increaseTrackScrollAmount();}function documentKeyUp(event){inArray(event.keyCode,increaseDecreaseScrollAmountKeyCodes)>-1&&decreaseTrackScrollAmount();}function onMouseTouchDownContinue(event){var originalEvent=event.originalEvent||event,isTouchEvent=originalEvent.touches!==undefined2;return _sleeping||_destroyed||nativeOverlayScrollbarsAreActive()||!_scrollbarsDragScrollingCache||isTouchEvent&&!getPreparedScrollbarsOption(\"touchSupport\")?!1:COMPATIBILITY.mBtn(event)===1||isTouchEvent}function documentDragMove(event){if(onMouseTouchDownContinue(event)){var trackLength=scrollbarVarsInfo._trackLength,handleLength=scrollbarVarsInfo._handleLength,scrollRange=scrollbarVarsInfo._maxScroll,scrollRaw=(getPointerPosition(event)-mouseDownOffset)*mouseDownInvertedScale,scrollDeltaPercent=scrollRaw/(trackLength-handleLength),scrollDelta=scrollRange*scrollDeltaPercent;scrollDelta=isFinite(scrollDelta)?scrollDelta:0,_isRTL&&isHorizontal&&!_rtlScrollBehavior.i&&(scrollDelta*=-1),_viewportElement[scroll](MATH.round(mouseDownScroll+scrollDelta)),_scrollbarsHandlesDefineScrollPos&&refreshScrollbarHandleOffset(isHorizontal,mouseDownScroll+scrollDelta),_supportPassiveEvents||COMPATIBILITY.prvD(event);}else documentMouseTouchUp(event);}function documentMouseTouchUp(event){if(event=event||event.originalEvent,setupResponsiveEventListener(_documentElement,[_strMouseTouchMoveEvent,_strMouseTouchUpEvent,_strKeyDownEvent,_strKeyUpEvent,_strSelectStartEvent],[documentDragMove,documentMouseTouchUp,documentKeyDown,documentKeyUp,documentOnSelectStart],!0),COMPATIBILITY.rAF()(function(){setupResponsiveEventListener(_documentElement,strClickEvent,stopClickEventPropagation,!0,{_capture:!0});}),_scrollbarsHandlesDefineScrollPos&&refreshScrollbarHandleOffset(isHorizontal,!0),_scrollbarsHandlesDefineScrollPos=!1,removeClass(_bodyElement,_classNameDragging),removeClass(scrollbarVars._handle,strActive),removeClass(scrollbarVars._track,strActive),removeClass(scrollbarVars._scrollbar,strActive),mouseDownScroll=undefined2,mouseDownOffset=undefined2,mouseDownInvertedScale=1,decreaseTrackScrollAmount(),trackTimeout!==undefined2&&(_base.scrollStop(),clearTimeout(trackTimeout),trackTimeout=undefined2),event){var rect=_hostElementNative[LEXICON.bCR](),mouseInsideHost=event.clientX>=rect.left&&event.clientX<=rect.right&&event.clientY>=rect.top&&event.clientY<=rect.bottom;mouseInsideHost||hostOnMouseLeave(),(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!1);}}function onHandleMouseTouchDown(event){onMouseTouchDownContinue(event)&&onHandleMouseTouchDownAction(event);}function onHandleMouseTouchDownAction(event){mouseDownScroll=_viewportElement[scroll](),mouseDownScroll=isNaN(mouseDownScroll)?0:mouseDownScroll,(_isRTL&&isHorizontal&&!_rtlScrollBehavior.n||!_isRTL)&&(mouseDownScroll=mouseDownScroll<0?0:mouseDownScroll),mouseDownInvertedScale=getHostElementInvertedScale()[xy],mouseDownOffset=getPointerPosition(event),_scrollbarsHandlesDefineScrollPos=!getPreparedScrollbarsOption(strSnapHandle),addClass(_bodyElement,_classNameDragging),addClass(scrollbarVars._handle,strActive),addClass(scrollbarVars._scrollbar,strActive),setupResponsiveEventListener(_documentElement,[_strMouseTouchMoveEvent,_strMouseTouchUpEvent,_strSelectStartEvent],[documentDragMove,documentMouseTouchUp,documentOnSelectStart]),COMPATIBILITY.rAF()(function(){setupResponsiveEventListener(_documentElement,strClickEvent,stopClickEventPropagation,!1,{_capture:!0});}),(_msieVersion||!_documentMixed)&&COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event);}function onTrackMouseTouchDown(event){if(onMouseTouchDownContinue(event)){var handleToViewportRatio=scrollbarVars._info._handleLength/Math.round(MATH.min(1,_viewportSize[scrollbarVars._w_h]/_contentScrollSizeCache[scrollbarVars._w_h])*scrollbarVars._info._trackLength),scrollDistance=MATH.round(_viewportSize[scrollbarVars._w_h]*handleToViewportRatio),scrollBaseDuration=270*handleToViewportRatio,scrollFirstIterationDelay=400*handleToViewportRatio,trackOffset=scrollbarVars._track.offset()[scrollbarVars._left_top],ctrlKey=event.ctrlKey,instantScroll=event.shiftKey,instantScrollTransition=instantScroll&&ctrlKey,isFirstIteration=!0,easing=\"linear\",decreaseScroll,finishedCondition,scrollActionFinsished=function(transition){_scrollbarsHandlesDefineScrollPos&&refreshScrollbarHandleOffset(isHorizontal,transition);},scrollActionInstantFinished=function(){scrollActionFinsished(),onHandleMouseTouchDownAction(event);},scrollAction=function(){if(!_destroyed){var mouseOffset=(mouseDownOffset-trackOffset)*mouseDownInvertedScale,handleOffset=scrollbarVarsInfo._handleOffset,trackLength=scrollbarVarsInfo._trackLength,handleLength=scrollbarVarsInfo._handleLength,scrollRange=scrollbarVarsInfo._maxScroll,currScroll=scrollbarVarsInfo._currentScroll,scrollDuration=scrollBaseDuration*scrollDurationFactor,timeoutDelay=isFirstIteration?MATH.max(scrollFirstIterationDelay,scrollDuration):scrollDuration,instantScrollPosition=scrollRange*((mouseOffset-handleLength/2)/(trackLength-handleLength)),rtlIsNormal=_isRTL&&isHorizontal&&(!_rtlScrollBehavior.i&&!_rtlScrollBehavior.n||_normalizeRTLCache),decreaseScrollCondition=rtlIsNormal?handleOffsetmouseOffset,scrollObj={},animationObj={easing,step:function(now){_scrollbarsHandlesDefineScrollPos&&(_viewportElement[scroll](now),refreshScrollbarHandleOffset(isHorizontal,now));}};instantScrollPosition=isFinite(instantScrollPosition)?instantScrollPosition:0,instantScrollPosition=_isRTL&&isHorizontal&&!_rtlScrollBehavior.i?scrollRange-instantScrollPosition:instantScrollPosition,instantScroll?(_viewportElement[scroll](instantScrollPosition),instantScrollTransition?(instantScrollPosition=_viewportElement[scroll](),_viewportElement[scroll](currScroll),instantScrollPosition=rtlIsNormal&&_rtlScrollBehavior.i?scrollRange-instantScrollPosition:instantScrollPosition,instantScrollPosition=rtlIsNormal&&_rtlScrollBehavior.n?-instantScrollPosition:instantScrollPosition,scrollObj[xy]=instantScrollPosition,_base.scroll(scrollObj,extendDeep(animationObj,{duration:130,complete:scrollActionInstantFinished}))):scrollActionInstantFinished()):(decreaseScroll=isFirstIteration?decreaseScrollCondition:decreaseScroll,finishedCondition=rtlIsNormal?decreaseScroll?handleOffset+handleLength>=mouseOffset:handleOffset<=mouseOffset:decreaseScroll?handleOffset<=mouseOffset:handleOffset+handleLength>=mouseOffset,finishedCondition?(clearTimeout(trackTimeout),_base.scrollStop(),trackTimeout=undefined2,scrollActionFinsished(!0)):(trackTimeout=setTimeout(scrollAction,timeoutDelay),scrollObj[xy]=(decreaseScroll?\"-=\":\"+=\")+scrollDistance,_base.scroll(scrollObj,extendDeep(animationObj,{duration:scrollDuration}))),isFirstIteration=!1);}};ctrlKey&&increaseTrackScrollAmount(),mouseDownInvertedScale=getHostElementInvertedScale()[xy],mouseDownOffset=COMPATIBILITY.page(event)[xy],_scrollbarsHandlesDefineScrollPos=!getPreparedScrollbarsOption(strSnapHandle),addClass(_bodyElement,_classNameDragging),addClass(scrollbarVars._track,strActive),addClass(scrollbarVars._scrollbar,strActive),setupResponsiveEventListener(_documentElement,[_strMouseTouchUpEvent,_strKeyDownEvent,_strKeyUpEvent,_strSelectStartEvent],[documentMouseTouchUp,documentKeyDown,documentKeyUp,documentOnSelectStart]),scrollAction(),COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event);}}function onTrackMouseTouchEnter(event){_scrollbarsHandleHovered=!0,(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!0);}function onTrackMouseTouchLeave(event){_scrollbarsHandleHovered=!1,(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!1);}function onScrollbarMouseTouchDown(event){COMPATIBILITY.stpP(event);}addDestroyEventListener(scrollbarVars._handle,_strMouseTouchDownEvent,onHandleMouseTouchDown),addDestroyEventListener(scrollbarVars._track,[_strMouseTouchDownEvent,_strMouseEnter,_strMouseLeave],[onTrackMouseTouchDown,onTrackMouseTouchEnter,onTrackMouseTouchLeave]),addDestroyEventListener(scrollbarVars._scrollbar,_strMouseTouchDownEvent,onScrollbarMouseTouchDown),_supportTransition&&addDestroyEventListener(scrollbarVars._scrollbar,_strTransitionEndEvent,function(event){event.target===scrollbarVars._scrollbar[0]&&(refreshScrollbarHandleLength(isHorizontal),refreshScrollbarHandleOffset(isHorizontal));});}function refreshScrollbarAppearance(isHorizontal,shallBeVisible,canScroll){var scrollbarHiddenClassName=isHorizontal?_classNameHostScrollbarHorizontalHidden:_classNameHostScrollbarVerticalHidden,scrollbarElement=isHorizontal?_scrollbarHorizontalElement:_scrollbarVerticalElement;addRemoveClass(_hostElement,scrollbarHiddenClassName,!shallBeVisible),addRemoveClass(scrollbarElement,_classNameScrollbarUnusable,!canScroll);}function refreshScrollbarsAutoHide(shallBeVisible,delayfree){if(clearTimeout(_scrollbarsAutoHideTimeoutId),shallBeVisible)removeClass(_scrollbarHorizontalElement,_classNameScrollbarAutoHidden),removeClass(_scrollbarVerticalElement,_classNameScrollbarAutoHidden);else {var anyActive,strActive=\"active\",hide=function(){!_scrollbarsHandleHovered&&!_destroyed&&(anyActive=_scrollbarHorizontalHandleElement.hasClass(strActive)||_scrollbarVerticalHandleElement.hasClass(strActive),!anyActive&&(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove||_scrollbarsAutoHideLeave)&&addClass(_scrollbarHorizontalElement,_classNameScrollbarAutoHidden),!anyActive&&(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove||_scrollbarsAutoHideLeave)&&addClass(_scrollbarVerticalElement,_classNameScrollbarAutoHidden));};_scrollbarsAutoHideDelay>0&&delayfree!==!0?_scrollbarsAutoHideTimeoutId=setTimeout(hide,_scrollbarsAutoHideDelay):hide();}}function refreshScrollbarHandleLength(isHorizontal){var handleCSS={},scrollbarVars=getScrollbarVars(isHorizontal),scrollbarVarsInfo=scrollbarVars._info,digit=1e6,handleRatio=MATH.min(1,_viewportSize[scrollbarVars._w_h]/_contentScrollSizeCache[scrollbarVars._w_h]);handleCSS[scrollbarVars._width_height]=MATH.floor(handleRatio*100*digit)/digit+\"%\",nativeOverlayScrollbarsAreActive()||scrollbarVars._handle.css(handleCSS),scrollbarVarsInfo._handleLength=scrollbarVars._handle[0][\"offset\"+scrollbarVars._Width_Height],scrollbarVarsInfo._handleLengthRatio=handleRatio;}function refreshScrollbarHandleOffset(isHorizontal,scrollOrTransition){var transition=type(scrollOrTransition)==TYPES.b,transitionDuration=250,isRTLisHorizontal=_isRTL&&isHorizontal,scrollbarVars=getScrollbarVars(isHorizontal),scrollbarVarsInfo=scrollbarVars._info,strTranslateBrace=\"translate(\",strTransform=VENDORS._cssProperty(\"transform\"),strTransition=VENDORS._cssProperty(\"transition\"),nativeScroll=isHorizontal?_viewportElement[_strScrollLeft]():_viewportElement[_strScrollTop](),currentScroll=scrollOrTransition===undefined2||transition?nativeScroll:scrollOrTransition,handleLength=scrollbarVarsInfo._handleLength,trackLength=scrollbarVars._track[0][\"offset\"+scrollbarVars._Width_Height],handleTrackDiff=trackLength-handleLength,handleCSS={},transformOffset,translateValue,maxScroll=(_viewportElementNative[_strScroll+scrollbarVars._Width_Height]-_viewportElementNative[\"client\"+scrollbarVars._Width_Height])*(_rtlScrollBehavior.n&&isRTLisHorizontal?-1:1),getScrollRatio=function(base){return isNaN(base/maxScroll)?0:MATH.max(0,MATH.min(1,base/maxScroll))},getHandleOffset=function(scrollRatio2){var offset=handleTrackDiff*scrollRatio2;return offset=isNaN(offset)?0:offset,offset=isRTLisHorizontal&&!_rtlScrollBehavior.i?trackLength-handleLength-offset:offset,offset=MATH.max(0,offset),offset},scrollRatio=getScrollRatio(nativeScroll),unsnappedScrollRatio=getScrollRatio(currentScroll),handleOffset=getHandleOffset(unsnappedScrollRatio),snappedHandleOffset=getHandleOffset(scrollRatio);scrollbarVarsInfo._maxScroll=maxScroll,scrollbarVarsInfo._currentScroll=nativeScroll,scrollbarVarsInfo._currentScrollRatio=scrollRatio,_supportTransform?(transformOffset=isRTLisHorizontal?-(trackLength-handleLength-handleOffset):handleOffset,translateValue=isHorizontal?strTranslateBrace+transformOffset+\"px, 0)\":strTranslateBrace+\"0, \"+transformOffset+\"px)\",handleCSS[strTransform]=translateValue,_supportTransition&&(handleCSS[strTransition]=transition&&MATH.abs(handleOffset-scrollbarVarsInfo._handleOffset)>1?getCSSTransitionString(scrollbarVars._handle)+\", \"+(strTransform+_strSpace+transitionDuration+\"ms\"):_strEmpty)):handleCSS[scrollbarVars._left_top]=handleOffset,nativeOverlayScrollbarsAreActive()||(scrollbarVars._handle.css(handleCSS),_supportTransform&&_supportTransition&&transition&&scrollbarVars._handle.one(_strTransitionEndEvent,function(){_destroyed||scrollbarVars._handle.css(strTransition,_strEmpty);})),scrollbarVarsInfo._handleOffset=handleOffset,scrollbarVarsInfo._snappedHandleOffset=snappedHandleOffset,scrollbarVarsInfo._trackLength=trackLength;}function refreshScrollbarsInteractive(isTrack,value){var action=value?\"removeClass\":\"addClass\",element1=isTrack?_scrollbarHorizontalTrackElement:_scrollbarHorizontalHandleElement,element2=isTrack?_scrollbarVerticalTrackElement:_scrollbarVerticalHandleElement,className=isTrack?_classNameScrollbarTrackOff:_classNameScrollbarHandleOff;element1[action](className),element2[action](className);}function getScrollbarVars(isHorizontal){return {_width_height:isHorizontal?_strWidth:_strHeight,_Width_Height:isHorizontal?\"Width\":\"Height\",_left_top:isHorizontal?_strLeft:_strTop,_Left_Top:isHorizontal?\"Left\":\"Top\",_x_y:isHorizontal?_strX:_strY,_X_Y:isHorizontal?\"X\":\"Y\",_w_h:isHorizontal?\"w\":\"h\",_l_t:isHorizontal?\"l\":\"t\",_track:isHorizontal?_scrollbarHorizontalTrackElement:_scrollbarVerticalTrackElement,_handle:isHorizontal?_scrollbarHorizontalHandleElement:_scrollbarVerticalHandleElement,_scrollbar:isHorizontal?_scrollbarHorizontalElement:_scrollbarVerticalElement,_info:isHorizontal?_scrollHorizontalInfo:_scrollVerticalInfo}}function setupScrollbarCornerDOM(destroy){_scrollbarCornerElement=_scrollbarCornerElement||selectOrGenerateDivByClass(_classNameScrollbarCorner,!0),destroy?_domExists&&_initialized?removeClass(_scrollbarCornerElement.removeAttr(LEXICON.s),_classNamesDynamicDestroy):remove(_scrollbarCornerElement):_domExists||_hostElement.append(_scrollbarCornerElement);}function setupScrollbarCornerEvents(){var insideIFrame=_windowElementNative.top!==_windowElementNative,mouseDownPosition={},mouseDownSize={},mouseDownInvertedScale={},reconnectMutationObserver;function documentDragMove(event){if(onMouseTouchDownContinue(event)){var pageOffset=getCoordinates(event),hostElementCSS={};(_resizeHorizontal||_resizeBoth)&&(hostElementCSS[_strWidth]=mouseDownSize.w+(pageOffset.x-mouseDownPosition.x)*mouseDownInvertedScale.x),(_resizeVertical||_resizeBoth)&&(hostElementCSS[_strHeight]=mouseDownSize.h+(pageOffset.y-mouseDownPosition.y)*mouseDownInvertedScale.y),_hostElement.css(hostElementCSS),COMPATIBILITY.stpP(event);}else documentMouseTouchUp(event);}function documentMouseTouchUp(event){var eventIsTrusted=event!==undefined2;setupResponsiveEventListener(_documentElement,[_strSelectStartEvent,_strMouseTouchMoveEvent,_strMouseTouchUpEvent],[documentOnSelectStart,documentDragMove,documentMouseTouchUp],!0),removeClass(_bodyElement,_classNameDragging),_scrollbarCornerElement.releaseCapture&&_scrollbarCornerElement.releaseCapture(),eventIsTrusted&&(reconnectMutationObserver&&connectMutationObservers(),_base.update(_strAuto)),reconnectMutationObserver=!1;}function onMouseTouchDownContinue(event){var originalEvent=event.originalEvent||event,isTouchEvent=originalEvent.touches!==undefined2;return _sleeping||_destroyed?!1:COMPATIBILITY.mBtn(event)===1||isTouchEvent}function getCoordinates(event){return _msieVersion&&insideIFrame?{x:event.screenX,y:event.screenY}:COMPATIBILITY.page(event)}addDestroyEventListener(_scrollbarCornerElement,_strMouseTouchDownEvent,function(event){onMouseTouchDownContinue(event)&&!_resizeNone&&(_mutationObserversConnected&&(reconnectMutationObserver=!0,disconnectMutationObservers()),mouseDownPosition=getCoordinates(event),mouseDownSize.w=_hostElementNative[LEXICON.oW]-(_isBorderBox?0:_paddingX),mouseDownSize.h=_hostElementNative[LEXICON.oH]-(_isBorderBox?0:_paddingY),mouseDownInvertedScale=getHostElementInvertedScale(),setupResponsiveEventListener(_documentElement,[_strSelectStartEvent,_strMouseTouchMoveEvent,_strMouseTouchUpEvent],[documentOnSelectStart,documentDragMove,documentMouseTouchUp]),addClass(_bodyElement,_classNameDragging),_scrollbarCornerElement.setCapture&&_scrollbarCornerElement.setCapture(),COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event));});}function dispatchCallback(name,args,dependent){if(dependent!==!1)if(_initialized){var callback=_currentPreparedOptions.callbacks[name],extensionOnName=name,ext;extensionOnName.substr(0,2)===\"on\"&&(extensionOnName=extensionOnName.substr(2,1).toLowerCase()+extensionOnName.substr(3)),type(callback)==TYPES.f&&callback.call(_base,args),each(_extensions,function(){ext=this,type(ext.on)==TYPES.f&&ext.on(extensionOnName,args);});}else _destroyed||_callbacksInitQeueue.push({n:name,a:args});}function setTopRightBottomLeft(targetCSSObject,prefix,values){prefix=prefix||_strEmpty,values=values||[_strEmpty,_strEmpty,_strEmpty,_strEmpty],targetCSSObject[prefix+_strTop]=values[0],targetCSSObject[prefix+_strRight]=values[1],targetCSSObject[prefix+_strBottom]=values[2],targetCSSObject[prefix+_strLeft]=values[3];}function getTopRightBottomLeftHost(prefix,suffix,zeroX,zeroY){return suffix=suffix||_strEmpty,prefix=prefix||_strEmpty,{t:zeroY?0:parseToZeroOrNumber(_hostElement.css(prefix+_strTop+suffix)),r:zeroX?0:parseToZeroOrNumber(_hostElement.css(prefix+_strRight+suffix)),b:zeroY?0:parseToZeroOrNumber(_hostElement.css(prefix+_strBottom+suffix)),l:zeroX?0:parseToZeroOrNumber(_hostElement.css(prefix+_strLeft+suffix))}}function getCSSTransitionString(element){var transitionStr=VENDORS._cssProperty(\"transition\"),assembledValue=element.css(transitionStr);if(assembledValue)return assembledValue;for(var regExpString=\"\\\\s*(([^,(]+(\\\\(.+?\\\\))?)+)[\\\\s,]*\",regExpMain=new RegExp(regExpString),regExpValidate=new RegExp(\"^(\"+regExpString+\")+$\"),properties=\"property duration timing-function delay\".split(\" \"),result=[],strResult,valueArray,i=0,j,splitCssStyleByComma=function(str){if(strResult=[],!str.match(regExpValidate))return str;for(;str.match(regExpMain);)strResult.push(RegExp.$1),str=str.replace(regExpMain,_strEmpty);return strResult};itextareaLastCol&&(widestRow=i+1,textareaLastCol=rowCols);return {_cursorRow:cursorRow,_cursorColumn:cursorCol,_rows:textareaLastRow,_columns:textareaLastCol,_widestRow:widestRow,_cursorPosition:textareaCursorPosition,_cursorMax:textareaLength}}}function nativeOverlayScrollbarsAreActive(){return _ignoreOverlayScrollbarHidingCache&&_nativeScrollbarIsOverlaid.x&&_nativeScrollbarIsOverlaid.y}function getContentMeasureElement(){return _isTextarea?_textareaCoverElement[0]:_contentElementNative}function generateDiv(classesOrAttrs,content){return \"
\"+(content||_strEmpty)+\"
\"}function selectOrGenerateDivByClass(className,selectParentOrOnlyChildren){var onlyChildren=type(selectParentOrOnlyChildren)==TYPES.b,selectParent=onlyChildren?_hostElement:selectParentOrOnlyChildren||_hostElement;return _domExists&&!selectParent[LEXICON.l]?null:_domExists?selectParent[onlyChildren?\"children\":\"find\"](_strDot+className.replace(/\\s/g,_strDot)).eq(0):FRAMEWORK(generateDiv(className))}function getObjectPropVal(obj,path){for(var splits=path.split(_strDot),i=0,val;i1)setObjectPropVal(option,newOptions,value),changedOps=setOptions(option);else return getObjectPropVal(_currentOptions,newOptions);else return _currentOptions;else changedOps=setOptions(newOptions);FRAMEWORK.isEmptyObject(changedOps)||update({_changedOptions:changedOps});},_base.destroy=function(){if(!_destroyed){autoUpdateLoop.remove(_base),disconnectMutationObservers(),setupResizeObserver(_sizeObserverElement),setupResizeObserver(_sizeAutoObserverElement);for(var extName in _extensions)_base.removeExt(extName);for(;_destroyEvents[LEXICON.l]>0;)_destroyEvents.pop()();setupHostMouseTouchEvents(!0),_contentGlueElement&&remove(_contentGlueElement),_contentArrangeElement&&remove(_contentArrangeElement),_sizeAutoObserverAdded&&remove(_sizeAutoObserverElement),setupScrollbarsDOM(!0),setupScrollbarCornerDOM(!0),setupStructureDOM(!0);for(var i=0;i<_updateOnLoadElms[LEXICON.l];i++)FRAMEWORK(_updateOnLoadElms[i]).off(_updateOnLoadEventName,updateOnLoadCallback);_updateOnLoadElms=undefined2,_destroyed=!0,_sleeping=!0,INSTANCES(pluginTargetElement,0),dispatchCallback(\"onDestroyed\");}},_base.scroll=function(coordinates,duration,easing,complete){if(arguments.length===0||coordinates===undefined2){var infoX=_scrollHorizontalInfo,infoY=_scrollVerticalInfo,normalizeInvert=_normalizeRTLCache&&_isRTL&&_rtlScrollBehavior.i,normalizeNegate=_normalizeRTLCache&&_isRTL&&_rtlScrollBehavior.n,scrollX=infoX._currentScroll,scrollXRatio=infoX._currentScrollRatio,maxScrollX=infoX._maxScroll;return scrollXRatio=normalizeInvert?1-scrollXRatio:scrollXRatio,scrollX=normalizeInvert?maxScrollX-scrollX:scrollX,scrollX*=normalizeNegate?-1:1,maxScrollX*=normalizeNegate?-1:1,{position:{x:scrollX,y:infoY._currentScroll},ratio:{x:scrollXRatio,y:infoY._currentScrollRatio},max:{x:maxScrollX,y:infoY._maxScroll},handleOffset:{x:infoX._handleOffset,y:infoY._handleOffset},handleLength:{x:infoX._handleLength,y:infoY._handleLength},handleLengthRatio:{x:infoX._handleLengthRatio,y:infoY._handleLengthRatio},trackLength:{x:infoX._trackLength,y:infoY._trackLength},snappedHandleOffset:{x:infoX._snappedHandleOffset,y:infoY._snappedHandleOffset},isRTL:_isRTL,isRTLNormalized:_normalizeRTLCache}}_base.update(_strSync);var normalizeRTL=_normalizeRTLCache,coordinatesXAxisProps=[_strX,_strLeft,\"l\"],coordinatesYAxisProps=[_strY,_strTop,\"t\"],coordinatesOperators=[\"+=\",\"-=\",\"*=\",\"/=\"],durationIsObject=type(duration)==TYPES.o,completeCallback=durationIsObject?duration.complete:complete,i,finalScroll={},specialEasing={},doScrollLeft,doScrollTop,animationOptions,strEnd=\"end\",strBegin=\"begin\",strCenter=\"center\",strNearest=\"nearest\",strAlways=\"always\",strNever=\"never\",strIfNeeded=\"ifneeded\",strLength=LEXICON.l,settingsAxis,settingsScroll,settingsBlock,settingsMargin,finalElement,elementObjSettingsAxisValues=[_strX,_strY,\"xy\",\"yx\"],elementObjSettingsBlockValues=[strBegin,strEnd,strCenter,strNearest],elementObjSettingsScrollValues=[strAlways,strNever,strIfNeeded],coordinatesIsElementObj=coordinates[LEXICON.hOP](\"el\"),possibleElement=coordinatesIsElementObj?coordinates.el:coordinates,possibleElementIsJQuery=possibleElement instanceof FRAMEWORK||JQUERY?possibleElement instanceof JQUERY:!1,possibleElementIsHTMLElement=possibleElementIsJQuery?!1:isHTMLElement(possibleElement),updateScrollbarInfos=function(){doScrollLeft&&refreshScrollbarHandleOffset(!0),doScrollTop&&refreshScrollbarHandleOffset(!1);},proxyCompleteCallback=type(completeCallback)!=TYPES.f?undefined2:function(){updateScrollbarInfos(),completeCallback();};function checkSettingsStringValue(currValue,allowedValues){for(i=0;i2&&(possibleOperator=rawScroll.substr(0,2),inArray(possibleOperator,coordinatesOperators)>-1&&(operator=possibleOperator)),rawScroll=operator?rawScroll.substr(2):rawScroll,rawScroll=rawScroll[strReplace](/min/g,0)[strReplace](//g,(normalizeShortcuts?\"-\":_strEmpty)+_strHundredPercent)[strReplace](/px/g,_strEmpty)[strReplace](/%/g,mult+maxScroll*(isRTLisX&&_rtlScrollBehavior.n?-1:1)/100)[strReplace](/vw/g,mult+_viewportSize.w)[strReplace](/vh/g,mult+_viewportSize.h),amount=parseToZeroOrNumber(isNaN(rawScroll)?parseToZeroOrNumber(evalFunc(rawScroll),!0).toFixed():rawScroll)):amount=rawScroll,amount!==undefined2&&!isNaN(amount)&&type(amount)==TYPES.n){var normalizeIsRTLisX=normalizeRTL&&isRTLisX,operatorCurrScroll=currScroll*(normalizeIsRTLisX&&_rtlScrollBehavior.n?-1:1),invert=normalizeIsRTLisX&&_rtlScrollBehavior.i,negate=normalizeIsRTLisX&&_rtlScrollBehavior.n;switch(operatorCurrScroll=invert?maxScroll-operatorCurrScroll:operatorCurrScroll,operator){case\"+=\":finalValue=operatorCurrScroll+amount;break;case\"-=\":finalValue=operatorCurrScroll-amount;break;case\"*=\":finalValue=operatorCurrScroll*amount;break;case\"/=\":finalValue=operatorCurrScroll/amount;break;default:finalValue=amount;break}finalValue=invert?maxScroll-finalValue:finalValue,finalValue*=negate?-1:1,finalValue=isRTLisX&&_rtlScrollBehavior.n?MATH.min(0,MATH.max(maxScroll,finalValue)):MATH.max(0,MATH.min(maxScroll,finalValue));}return finalValue===currScroll?undefined2:finalValue}function getPerAxisValue(value,valueInternalType,defaultValue,allowedValues){var resultDefault=[defaultValue,defaultValue],valueType=type(value),valueArrLength,valueArrItem;if(valueType==valueInternalType)value=[value,value];else if(valueType==TYPES.a){if(valueArrLength=value[strLength],valueArrLength>2||valueArrLength<1)value=resultDefault;else for(valueArrLength===1&&(value[1]=defaultValue),i=0;i0){marginType==TYPES.n||marginType==TYPES.b?margin=generateMargin([margin,margin,margin,margin]):marginType==TYPES.a?(marginLength=margin[strLength],marginLength===2?margin=generateMargin([margin[0],margin[1],margin[0],margin[1]]):marginLength>=4?margin=generateMargin(margin):margin=marginDefault):marginType==TYPES.o?margin=generateMargin([margin[_strTop],margin[_strRight],margin[_strBottom],margin[_strLeft]]):margin=marginDefault,settingsAxis=checkSettingsStringValue(axis,elementObjSettingsAxisValues)?axis:\"xy\",settingsScroll=getPerAxisValue(scroll,TYPES.s,strAlways,elementObjSettingsScrollValues),settingsBlock=getPerAxisValue(block,TYPES.s,strBegin,elementObjSettingsBlockValues),settingsMargin=margin;var viewportScroll={l:_scrollHorizontalInfo._currentScroll,t:_scrollVerticalInfo._currentScroll},viewportOffset=_paddingElement.offset(),elementOffset=finalElement.offset(),doNotScroll={x:settingsScroll.x==strNever||settingsAxis==_strY,y:settingsScroll.y==strNever||settingsAxis==_strX};elementOffset[_strTop]-=settingsMargin[0],elementOffset[_strLeft]-=settingsMargin[3];var elementScrollCoordinates={x:MATH.round(elementOffset[_strLeft]-viewportOffset[_strLeft]+viewportScroll.l),y:MATH.round(elementOffset[_strTop]-viewportOffset[_strTop]+viewportScroll.t)};if(_isRTL&&(!_rtlScrollBehavior.n&&!_rtlScrollBehavior.i&&(elementScrollCoordinates.x=MATH.round(viewportOffset[_strLeft]-elementOffset[_strLeft]+viewportScroll.l)),_rtlScrollBehavior.n&&normalizeRTL&&(elementScrollCoordinates.x*=-1),_rtlScrollBehavior.i&&normalizeRTL&&(elementScrollCoordinates.x=MATH.round(viewportOffset[_strLeft]-elementOffset[_strLeft]+(_scrollHorizontalInfo._maxScroll-viewportScroll.l)))),settingsBlock.x!=strBegin||settingsBlock.y!=strBegin||settingsScroll.x==strIfNeeded||settingsScroll.y==strIfNeeded||_isRTL){var measuringElm=finalElement[0],rawElementSize=_supportTransform?measuringElm[LEXICON.bCR]():{width:measuringElm[LEXICON.oW],height:measuringElm[LEXICON.oH]},elementSize={w:rawElementSize[_strWidth]+settingsMargin[3]+settingsMargin[1],h:rawElementSize[_strHeight]+settingsMargin[0]+settingsMargin[2]},finalizeBlock=function(isX){var vars=getScrollbarVars(isX),wh=vars._w_h,lt=vars._left_top,xy=vars._x_y,blockIsEnd=settingsBlock[xy]==(isX&&_isRTL?strBegin:strEnd),blockIsCenter=settingsBlock[xy]==strCenter,blockIsNearest=settingsBlock[xy]==strNearest,scrollNever=settingsScroll[xy]==strNever,scrollIfNeeded=settingsScroll[xy]==strIfNeeded,vpSize=_viewportSize[wh],vpOffset=viewportOffset[lt],elSize=elementSize[wh],elOffset=elementOffset[lt],divide=blockIsCenter?2:1,elementCenterOffset=elOffset+elSize/2,viewportCenterOffset=vpOffset+vpSize/2,isInView=elSize<=vpSize&&elOffset>=vpOffset&&elOffset+elSize<=vpOffset+vpSize;scrollNever?doNotScroll[xy]=!0:doNotScroll[xy]||((blockIsNearest||scrollIfNeeded)&&(doNotScroll[xy]=scrollIfNeeded?isInView:!1,blockIsEnd=elSizeviewportCenterOffset:elementCenterOffset0||durationIsObject)?durationIsObject?(duration.complete=proxyCompleteCallback,_viewportElement.animate(finalScroll,duration)):(animationOptions={duration,complete:proxyCompleteCallback},COMPATIBILITY.isA(easing)||FRAMEWORK.isPlainObject(easing)?(specialEasing[_strScrollLeft]=easing[0]||easing.x,specialEasing[_strScrollTop]=easing[1]||easing.y,animationOptions.specialEasing=specialEasing):animationOptions.easing=easing,_viewportElement.animate(finalScroll,animationOptions)):(doScrollLeft&&_viewportElement[_strScrollLeft](finalScroll[_strScrollLeft]),doScrollTop&&_viewportElement[_strScrollTop](finalScroll[_strScrollTop]),updateScrollbarInfos());},_base.scrollStop=function(param1,param2,param3){return _viewportElement.stop(param1,param2,param3),_base},_base.getElements=function(elementName){var obj={target:_targetElementNative,host:_hostElementNative,padding:_paddingElementNative,viewport:_viewportElementNative,content:_contentElementNative,scrollbarHorizontal:{scrollbar:_scrollbarHorizontalElement[0],track:_scrollbarHorizontalTrackElement[0],handle:_scrollbarHorizontalHandleElement[0]},scrollbarVertical:{scrollbar:_scrollbarVerticalElement[0],track:_scrollbarVerticalTrackElement[0],handle:_scrollbarVerticalHandleElement[0]},scrollbarCorner:_scrollbarCornerElement[0]};return type(elementName)==TYPES.s?getObjectPropVal(obj,elementName):obj},_base.getState=function(stateProperty){function prepare(obj2){if(!FRAMEWORK.isPlainObject(obj2))return obj2;var extended=extendDeep({},obj2),changePropertyName=function(from,to){extended[LEXICON.hOP](from)&&(extended[to]=extended[from],delete extended[from]);};return changePropertyName(\"w\",_strWidth),changePropertyName(\"h\",_strHeight),delete extended.c,extended}var obj={destroyed:!!prepare(_destroyed),sleeping:!!prepare(_sleeping),autoUpdate:prepare(!_mutationObserversConnected),widthAuto:prepare(_widthAutoCache),heightAuto:prepare(_heightAutoCache),padding:prepare(_cssPaddingCache),overflowAmount:prepare(_overflowAmountCache),hideOverflow:prepare(_hideOverflowCache),hasOverflow:prepare(_hasOverflowCache),contentScrollSize:prepare(_contentScrollSizeCache),viewportSize:prepare(_viewportSize),hostSize:prepare(_hostSizeCache),documentMixed:prepare(_documentMixed)};return type(stateProperty)==TYPES.s?getObjectPropVal(obj,stateProperty):obj},_base.ext=function(extName){var result,privateMethods=_extensionsPrivateMethods.split(\" \"),i=0;if(type(extName)==TYPES.s){if(_extensions[LEXICON.hOP](extName))for(result=extendDeep({},_extensions[extName]);i0&&(optsIsPlainObj?FRAMEWORK.each(pluginTargetElements,function(i,v){inst=v,inst!==undefined2&&arr.push(OverlayScrollbarsInstance(inst,options,extensions,_pluginsGlobals,_pluginsAutoUpdateLoop));}):FRAMEWORK.each(pluginTargetElements,function(i,v){inst=INSTANCES(v),(options===\"!\"&&_plugin.valid(inst)||COMPATIBILITY.type(options)==TYPES.f&&options(v,inst)||options===undefined2)&&arr.push(inst);}),result=arr[LEXICON.l]===1?arr[0]:arr),result):optsIsPlainObj||!options?result:arr},_plugin.globals=function(){initOverlayScrollbarsStatics();var globals=FRAMEWORK.extend(!0,{},_pluginsGlobals);return delete globals.msie,globals},_plugin.defaultOptions=function(newDefaultOptions){initOverlayScrollbarsStatics();var currDefaultOptions=_pluginsGlobals.defaultOptions;if(newDefaultOptions===undefined2)return FRAMEWORK.extend(!0,{},currDefaultOptions);_pluginsGlobals.defaultOptions=FRAMEWORK.extend(!0,{},currDefaultOptions,_pluginsOptions._validate(newDefaultOptions,_pluginsOptions._template,!0,currDefaultOptions)._default);},_plugin.valid=function(osInstance){return osInstance instanceof _plugin&&!osInstance.getState().destroyed},_plugin.extension=function(extensionName,extension,defaultOptions){var extNameTypeString=COMPATIBILITY.type(extensionName)==TYPES.s,argLen=arguments[LEXICON.l],i=0;if(argLen<1||!extNameTypeString)return FRAMEWORK.extend(!0,{length:_pluginsExtensions[LEXICON.l]},_pluginsExtensions);if(extNameTypeString){if(COMPATIBILITY.type(extension)==TYPES.f)_pluginsExtensions.push({name:extensionName,extensionFactory:extension,defaultOptions});else for(;i<_pluginsExtensions[LEXICON.l];i++)if(_pluginsExtensions[i].name===extensionName)if(argLen>1)_pluginsExtensions.splice(i,1);else return FRAMEWORK.extend(!0,{},_pluginsExtensions[i])}},_plugin}();return JQUERY&&JQUERY.fn&&(JQUERY.fn.overlayScrollbars=function(options,extensions){var _elements=this;return JQUERY.isPlainObject(options)?(JQUERY.each(_elements,function(){PLUGIN(this,options,extensions);}),_elements):PLUGIN(_elements,options)}),PLUGIN});}});var import_overlayscrollbars=__toESM(require_OverlayScrollbars());var OverlayScrollbarsComponent=({options={},extensions,className,children,...rest})=>{let osTargetRef=useRef(),osInstance=useRef();return useEffect(()=>(osInstance.current=(0, import_overlayscrollbars.default)(osTargetRef.current,options,extensions),mergeHostClassNames(osInstance.current,className),()=>{import_overlayscrollbars.default.valid(osInstance.current)&&(osInstance.current.destroy(),osInstance.current=null);}),[]),useEffect(()=>{import_overlayscrollbars.default.valid(osInstance.current)&&osInstance.current.options(options);},[options]),useEffect(()=>{import_overlayscrollbars.default.valid(osInstance.current)&&mergeHostClassNames(osInstance.current,className);},[className]),React.createElement(\"div\",{className:\"os-host\",...rest,ref:osTargetRef},React.createElement(\"div\",{className:\"os-resize-observer-host\"}),React.createElement(\"div\",{className:\"os-padding\"},React.createElement(\"div\",{className:\"os-viewport\"},React.createElement(\"div\",{className:\"os-content\"},children))),React.createElement(\"div\",{className:\"os-scrollbar os-scrollbar-horizontal \"},React.createElement(\"div\",{className:\"os-scrollbar-track\"},React.createElement(\"div\",{className:\"os-scrollbar-handle\"}))),React.createElement(\"div\",{className:\"os-scrollbar os-scrollbar-vertical\"},React.createElement(\"div\",{className:\"os-scrollbar-track\"},React.createElement(\"div\",{className:\"os-scrollbar-handle\"}))),React.createElement(\"div\",{className:\"os-scrollbar-corner\"}))};function mergeHostClassNames(osInstance,className){if(import_overlayscrollbars.default.valid(osInstance)){let{host}=osInstance.getElements(),regex=new RegExp(`(^os-host([-_].+|)$)|${osInstance.options().className.replace(/\\s/g,\"$|\")}$`,\"g\"),osClassNames=host.className.split(\" \").filter(name=>name.match(regex)).join(\" \");host.className=`${osClassNames} ${className||\"\"}`;}}var OverlayScrollbars_default=OverlayScrollbarsComponent;\n\nexport { OverlayScrollbarsComponent, OverlayScrollbars_default as default };\n"],"names":["require_OverlayScrollbars","__commonJS","exports","module","global","factory","window2","document","undefined2","PLUGINNAME","TYPES","LEXICON","VENDORS","jsCache","cssCache","cssPrefixes","jsPrefixes","firstLetterToUpper","str","name","result","uppercasedName","elmStyle","resultPossibilities","i","v","currVendorWithoutDashes","property","values","suffix","dummyStyle","possbleValues","preparedSuffix","prop","isInterface","fallback","COMPATIBILITY","windowSize","x","bind","func","thisObj","proto","aArgs","fNOP","fBound","id","event","strPage","strClient","strX","strY","target","eventDoc","doc","body","touch","button","item","arr","def","obj","MATH","JQUERY","EASING","_easingsMath","t","b","c","d","s","p","a","o","FRAMEWORK","_rnothtmlwhite","_strSpace","_strEmpty","_strScrollLeft","_strScrollTop","_animations","_type","_cssNumber","extend","src","copyIsArray","copy","options","clone","length2","deep","FakejQuery","isPlainObject","inArray","fromIndex","isFunction","isEmptyObject","key","hasOwnProperty","hasOwnConstructor","hasIsPrototypeOf","each","callback","isArrayLike","stripAndCollapse","value","tokens","matches","elem","selector","nodeList","insertAdjacentElement","el","strategy","child","setCSSVal","val","parseCSSVal","startNextAnimationInQ","animObj","removeFromQ","index","nextAnim","animate","setAnimationValue","props","easing","complete","guaranteedNext","hasOptions","from","to","progress","step","specialEasing","duration","timeNow","end","percent","fromVal","toVal","easedVal","timeStart","frame","elapsed","qPos","qObj","stop","clearQ","jumpToEnd","elementIsVisible","base","elements","elms","eventName","handler","eventNameLength","oneEventName","oneHandler","e","parentNode","parents","parent","wrapperHTML","nodes","wrapper","deepest","previousSibling","nextSibling","contents","styles","cptStyle","getCptStyle","className","classNamePrepared","classList","classes","cur","curValue","clazz","finalValue","supportClassList","elmClassList","attrName","rect","scrollLeft","scrollTop","children","ch","childs","jump","INSTANCES","_targets","_instancePropertyString","instance","argLen","PLUGIN","_plugin","_pluginsGlobals","_pluginsAutoUpdateLoop","_pluginsExtensions","_pluginsOptions","type","possibleTemplateTypes","restrictedStringsSplit","restrictedStringsPossibilitiesSplit","classNameAllowedValues","numberAllowedValues","booleanNullAllowedValues","booleanTrueTemplate","booleanFalseTemplate","callbackTemplate","updateOnLoadTemplate","inheritedAttrsTemplate","resizeAllowedValues","overflowBehaviorAllowedValues","scrollbarsVisibilityAllowedValues","scrollbarsAutoHideAllowedValues","optionsDefaultsAndTemplate","convert","template","recursive","valType","writeErrors","diffObj","validatedOptions","validatedOptionsPrepared","objectCopy","isEmptyObj","checkObjectProps","data","template2","diffData","validatedOptions2","validatedOptionsPrepared2","prevPropName","isValid","isDiff","templateValue","templateValueType","templateIsComplex","templateTypes","dataDiffValue","dataValue","dataValueType","propPrefix","error","errorPossibleTypes","errorRestrictedStrings","restrictedStringValuesSplit","restrictedStringValuesPossibilitiesSplit","isRestrictedValue","mainPossibility","currType","j","initOverlayScrollbarsStatics","OverlayScrollbarsGlobals","OverlayScrollbarsAutoUpdateLoop","defaultOptions","_base","strOverflow","strHidden","strScroll","bodyElement","scrollbarDummyElement","scrollbarDummyElement0","dummyContainerChild","nativeScrollbarSize","calcNativeScrollbarSize","nativeScrollbarIsOverlaid","msie","ua","strIndexOf","strSubString","msie2","trident","edge","rv","parseIntFunc","scrollSize","scrollSize2","dummyContainerOffset","dummyContainerChildOffset","dummyContainerChildOffsetAfterScroll","supportsPassive","abs","windowWidth","windowHeight","windowDpr","getWindowDPR","onResize","newW","newH","deltaW","deltaH","deltaWRatio","deltaHRatio","absDeltaW","absDeltaH","absDeltaWRatio","absDeltaHRatio","newDPR","deltaIsBigger","difference","differenceIsBiggerThanOne","dprChanged","isZoom","oldScrollbarSize","newScrollbarSize","valOne","valTwo","absValOne","absValTwo","dDPI","sDPI","measureElement","globals","_inArray","_getNow","_strAutoUpdate","_strAutoUpdateInterval","_strLength","_loopingInstances","_loopingInstancesIntervalCache","_loopIsActive","_loopIntervalDefault","_loopInterval","_loopTimeOld","_loopID","loop","timeNew","timeDelta","lowestInterval","instanceOptions","instanceAutoUpdateAllowed","instanceAutoUpdateInterval","now","OverlayScrollbarsInstance","pluginTargetElement","extensions","autoUpdateLoop","_frameworkProto","isHTMLElement","inst","_nativeScrollbarIsOverlaid","_overlayScrollbarDummySize","_rtlScrollBehavior","_autoUpdateRecommended","_msieVersion","_nativeScrollbarStyling","_cssCalc","_nativeScrollbarSize","_supportTransition","_supportTransform","_supportPassiveEvents","_supportResizeObserver","_supportMutationObserver","_initialized","_destroyed","_isTextarea","_isBody","_documentMixed","_domExists","_isBorderBox","_sizeAutoObserverAdded","_paddingX","_paddingY","_borderX","_borderY","_marginX","_marginY","_isRTL","_sleeping","_contentBorderSize","_scrollHorizontalInfo","_scrollVerticalInfo","_viewportSize","_nativeScrollbarMinSize","_strMinusHidden","_strMarginMinus","_strPaddingMinus","_strBorderMinus","_strTop","_strRight","_strBottom","_strLeft","_strMinMinus","_strMaxMinus","_strWidth","_strHeight","_strFloat","_strAuto","_strSync","_strScroll","_strHundredPercent","_strX","_strY","_strDot","_strScrollbar","_strMinusHorizontal","_strMinusVertical","_strMouseTouchDownEvent","_strMouseTouchUpEvent","_strMouseTouchMoveEvent","_strMouseEnter","_strMouseLeave","_strKeyDownEvent","_strKeyUpEvent","_strSelectStartEvent","_strTransitionEndEvent","_strResizeObserverProperty","_cassNamesPrefix","_classNameHTMLElement","_classNameHostElement","_classNameHostElementForeign","_classNameHostTextareaElement","_classNameHostScrollbarHorizontalHidden","_classNameHostScrollbarVerticalHidden","_classNameHostTransition","_classNameHostRTL","_classNameHostResizeDisabled","_classNameHostScrolling","_classNameHostOverflow","_classNameHostOverflowX","_classNameHostOverflowY","_classNameTextareaElement","_classNameTextareaCoverElement","_classNamePaddingElement","_classNameViewportElement","_classNameViewportNativeScrollbarsInvisible","_classNameViewportNativeScrollbarsOverlaid","_classNameContentElement","_classNameContentArrangeElement","_classNameContentGlueElement","_classNameSizeAutoObserverElement","_classNameResizeObserverElement","_classNameResizeObserverItemElement","_classNameResizeObserverItemFinalElement","_classNameTextInherit","_classNameScrollbar","_classNameScrollbarTrack","_classNameScrollbarTrackOff","_classNameScrollbarHandle","_classNameScrollbarHandleOff","_classNameScrollbarUnusable","_classNameScrollbarAutoHidden","_classNameScrollbarCorner","_classNameScrollbarCornerResize","_classNameScrollbarCornerResizeB","_classNameScrollbarCornerResizeH","_classNameScrollbarCornerResizeV","_classNameScrollbarHorizontal","_classNameScrollbarVertical","_classNameDragging","_classNameThemeNone","_classNamesDynamicDestroy","_callbacksInitQeueue","_viewportAttrsFromTarget","_defaultOptions","_currentOptions","_currentPreparedOptions","_extensions","_extensionsPrivateMethods","_lastUpdateTime","_swallowedUpdateHints","_swallowedUpdateTimeout","_swallowUpdateLag","_updateOnLoadEventName","_updateOnLoadElms","_windowElement","_documentElement","_htmlElement","_bodyElement","_targetElement","_hostElement","_sizeAutoObserverElement","_sizeObserverElement","_paddingElement","_viewportElement","_contentElement","_contentArrangeElement","_contentGlueElement","_textareaCoverElement","_scrollbarCornerElement","_scrollbarHorizontalElement","_scrollbarHorizontalTrackElement","_scrollbarHorizontalHandleElement","_scrollbarVerticalElement","_scrollbarVerticalTrackElement","_scrollbarVerticalHandleElement","_windowElementNative","_documentElementNative","_targetElementNative","_hostElementNative","_sizeAutoObserverElementNative","_sizeObserverElementNative","_paddingElementNative","_viewportElementNative","_contentElementNative","_hostSizeCache","_contentScrollSizeCache","_arrangeContentSizeCache","_hasOverflowCache","_hideOverflowCache","_widthAutoCache","_heightAutoCache","_cssBoxSizingCache","_cssPaddingCache","_cssBorderCache","_cssMarginCache","_cssDirectionCache","_cssDirectionDetectedCache","_paddingAbsoluteCache","_clipAlwaysCache","_contentGlueSizeCache","_overflowBehaviorCache","_overflowAmountCache","_ignoreOverlayScrollbarHidingCache","_autoUpdateCache","_sizeAutoCapableCache","_contentElementScrollSizeChangeDetectedCache","_hostElementSizeChangeDetectedCache","_scrollbarsVisibilityCache","_scrollbarsAutoHideCache","_scrollbarsClickScrollingCache","_scrollbarsDragScrollingCache","_resizeCache","_normalizeRTLCache","_classNameCache","_oldClassName","_textareaAutoWrappingCache","_textareaInfoCache","_textareaSizeCache","_textareaDynHeightCache","_textareaDynWidthCache","_bodyMinSizeCache","_updateAutoCache","_mutationObserverHost","_mutationObserverContent","_mutationObserverHostCallback","_mutationObserverContentCallback","_mutationObserversConnected","_mutationObserverAttrsTextarea","_mutationObserverAttrsHost","_destroyEvents","_textareaHasFocus","_scrollbarsAutoHideTimeoutId","_scrollbarsAutoHideMoveTimeoutId","_scrollbarsAutoHideDelay","_scrollbarsAutoHideNever","_scrollbarsAutoHideScroll","_scrollbarsAutoHideMove","_scrollbarsAutoHideLeave","_scrollbarsHandleHovered","_scrollbarsHandlesDefineScrollPos","_resizeNone","_resizeBoth","_resizeHorizontal","_resizeVertical","setupResponsiveEventListener","element","eventNames","listener","remove2","passiveOrOptions","collected","method","onOff","events","passiveOrOptionsIsObj","passive","capture","nativeParam","addDestroyEventListener","setupResizeObserver","targetElement","onElementResizedCallback","resizeObserver","strAnimationStartEvent","strChildNodes","constScroll","generateDiv","observer","observerElement","shrinkElement","expandElement","expandElementChild","widthCache","heightCache","isDirty","rAFId","currWidth","currHeight","factor","reset","onResized","onScroll","expandChildCSS","observerElementCSS","setTopRightBottomLeft","attachEvent","isIE","findFirst","wnd","directionChanged","dir","css","scrollLeftValue","update","resizeObserverObj","remove","createMutationObservers","mutationObserverContentLag","mutationObserver","contentLastUpdate","mutationTarget","mutationAttrName","mutationIsClass","oldMutationVal","newClassVal","hostClassNameRegex","contentTimeout","sizeAuto","action","mutations","doUpdate","doUpdateForce","mutation","mutatedAttrs","createHostClassNameRegExp","hostClassNamesChanged","updateViewportAttrsFromTarget","isUnknownMutation","textareaUpdate","connectMutationObservers","disconnectMutationObservers","hostOnResized","changed","hostSize","checkCache","hostOnMouseEnter","refreshScrollbarsAutoHide","hostOnMouseLeave","hostOnMouseMove","documentOnSelectStart","updateOnLoadCallback","elm","eachUpdateOnLoad","updateOnLoadSelector","setupHostMouseTouchEvents","destroy","bodyMinSizeChanged","bodyMinSize","parseToZeroOrNumber","oldClassNames","newClassNames","currClasses","oldClasses","diff","getArrayDifferences","idx","regex","attributeName","mutationType","strClosest","updateAutoContentSizeChanged","contentMeasureElement","getContentMeasureElement","textareaValueLength","setCSS","float","bodyMinSizeC","contentElementScrollSize","meaningfulAttrsChanged","curr","cache","changedAttrs","checks","check","index2","attr","isSizeAffectingCSSProperty","propertyName","flexGrow","flexShrink","flexBasis","affectingPropsX","affectingPropsXContentBox","affectingPropsY","affectingPropsYContentBox","_strS","_strVS","checkX","checkY","sizeIsAffected","checkPropertyName","attrs","targetAttr","wrapAttrOff","minWidth","minHeight","doMeasure","origWidth","width","origHeight","height","updateHints","hostSizeChanged","contentSizeChanged","force","changedOptions","swallow","displayIsHidden","extendDeep","checkCacheAutoForce","currScroll","currentPreparedOptionsScrollbars","currentPreparedOptionsTextarea","scrollbarsVisibility","scrollbarsVisibilityChanged","scrollbarsAutoHide","scrollbarsAutoHideChanged","scrollbarsClickScrolling","scrollbarsClickScrollingChanged","scrollbarsDragScrolling","scrollbarsDragScrollingChanged","classNameChanged","resize","resizeChanged","paddingAbsolute","paddingAbsoluteChanged","clipAlways","clipAlwaysChanged","sizeAutoCapable","sizeAutoCapableChanged","ignoreOverlayScrollbarHiding","ignoreOverlayScrollbarHidingChanged","autoUpdate","autoUpdateChanged","overflowBehavior","overflowBehaviorChanged","textareaDynWidth","textareaDynWidthChanged","textareaDynHeight","textareaDynHeightChanged","removeClass","addClass","oldSize","newSize","textareaAutoWrapping","textareaAutoWrappingChanged","cssDirection","cssDirectionChanged","boxSizing","boxSizingChanged","padding","getTopRightBottomLeftHost","sizeAutoObserverElementBCRect","isRTLLeft","isRTLRight","widthAutoResizeDetection","widthAutoObserverDetection","tmpCurrHostWidth","tmpCurrContentGlueWidth","tmpNewHostWidth","widthAuto","widthAutoChanged","wasWidthAuto","heightAuto","heightAutoChanged","wasHeightAuto","updateBorderX","updateBorderY","border","margin","contentElementCSS","contentGlueElementCSS","getHostSize","getViewportSize","paddingAbsoluteX","paddingAbsoluteY","paddingElementCSS","textareaCSS","paddingValues","textareaSize","textareaSizeChanged","textareaDynOrigSize","strOverflowX","strOverflowY","strVisible","viewportElementResetCSS","resetXTmp","resetBottomTmp","contentSize","hostAbsoluteRectSize","contentGlueSize","textareaCoverCSS","setContentGlueElementCSSfunction","horizontal","scrollbarVars","getScrollbarVars","wh","strWH","autoSize","borderSize","paddingSize","marginSize","viewportSize","contentScrollSize","hideOverflowForceTextarea","previousOverflowAmount","overflowBehaviorIsVS","overflowBehaviorIsVH","overflowBehaviorIsS","overflowAmount","hasOverflow","hideOverflow","canScroll","viewportRect","setOverflowVariables","scrollbarVarsInverted","xyI","xy","widthHeight","scrollMax","fractionalOverflowAmount","checkFractionalOverflowAmount","borderDesign","contentArrangeElementCSS","arrangeContent","arrangeChanged","setContentElementCSS","strDirection","invertedAutoSize","addRemoveClass","viewportElementCSS","setViewportCSS","XY","elementStyle","floatTmp","posLeftWithoutFloat","posLeftWithFloat","textareaInfo","getTextareaInfo","textareaRowsChanged","cursorRow","cursorCol","widestRow","lastRow","lastCol","cursorPos","cursorMax","cursorIsLastPosition","textareaScrollAmount","scrollbarsVisibilityVisible","scrollbarsVisibilityHidden","scrollbarsVisibilityAuto","refreshScrollbarsVisibility","showX","showY","refreshScrollbarAppearance","refreshScrollbarHandleLength","refreshScrollbarHandleOffset","refreshScrollbarsInteractive","dispatchCallback","updateElementsOnLoad","i2","setOptions","newOptions","validatedOpts","setupStructureDOM","strParent","classNameResizeObserverHost","classNameTextareaElementFull","textareaClass","adoptAttrs","adoptAttrsMap","applyAdoptedAttrs","applyAdoptedAttrsElm","hostElementClassNames","hostElementCSS","selectOrGenerateDivByClass","setupStructureEvents","textareaKeyDownRestrictedKeyCodes","textareaKeyDownKeyCodesList","textareaUpdateIntervalID","scrollStopTimeoutId","scrollStopDelay","strFocus","updateTextarea","doClearInterval","textareaOnScroll","textareaOnDrop","textareaOnFocus","textareaOnFocusout","textareaOnKeyDown","keyCode","textareaOnKeyUp","contentOnTransitionEnd","viewportOnScroll","nativeOverlayScrollbarsAreActive","setupScrollbarsDOM","selectOrGenerateScrollbarDOM","isHorizontal","scrollbarClassName","scrollbar","track","handle","resetScrollbarDOM","horizontalElements","verticalElements","setupScrollbarEvents","scrollbarVarsInfo","insideIFrame","scroll","strActive","strSnapHandle","strClickEvent","scrollDurationFactor","increaseDecreaseScrollAmountKeyCodes","trackTimeout","mouseDownScroll","mouseDownOffset","mouseDownInvertedScale","getPointerPosition","getPreparedScrollbarsOption","increaseTrackScrollAmount","decreaseTrackScrollAmount","stopClickEventPropagation","documentKeyDown","documentKeyUp","onMouseTouchDownContinue","originalEvent","isTouchEvent","documentDragMove","trackLength","handleLength","scrollRange","scrollRaw","scrollDeltaPercent","scrollDelta","documentMouseTouchUp","mouseInsideHost","onHandleMouseTouchDown","onHandleMouseTouchDownAction","getHostElementInvertedScale","onTrackMouseTouchDown","handleToViewportRatio","scrollDistance","scrollBaseDuration","scrollFirstIterationDelay","trackOffset","ctrlKey","instantScroll","instantScrollTransition","isFirstIteration","decreaseScroll","finishedCondition","scrollActionFinsished","transition","scrollActionInstantFinished","scrollAction","mouseOffset","handleOffset","scrollDuration","timeoutDelay","instantScrollPosition","rtlIsNormal","decreaseScrollCondition","scrollObj","animationObj","onTrackMouseTouchEnter","onTrackMouseTouchLeave","onScrollbarMouseTouchDown","shallBeVisible","scrollbarHiddenClassName","scrollbarElement","delayfree","anyActive","hide","handleCSS","digit","handleRatio","scrollOrTransition","transitionDuration","isRTLisHorizontal","strTranslateBrace","strTransform","strTransition","nativeScroll","currentScroll","handleTrackDiff","transformOffset","translateValue","maxScroll","getScrollRatio","getHandleOffset","scrollRatio2","offset","scrollRatio","unsnappedScrollRatio","snappedHandleOffset","getCSSTransitionString","isTrack","element1","element2","setupScrollbarCornerDOM","setupScrollbarCornerEvents","mouseDownPosition","mouseDownSize","reconnectMutationObserver","pageOffset","getCoordinates","eventIsTrusted","args","dependent","extensionOnName","ext","targetCSSObject","prefix","zeroX","zeroY","transitionStr","assembledValue","regExpString","regExpMain","regExpValidate","properties","strResult","valueArray","splitCssStyleByComma","withCurrClassNameOption","withOldClassNameOption","split","appendix","appendClasses","condition","strOwnerDocument","strHTMLElement","a1","a2","k","toFloat","num","textareaCursorPosition","textareaValue","textareaLength","textareaRowSplit","textareaLastRow","textareaCurrentCursorRowSplit","textareaLastCol","rowCols","classesOrAttrs","content","selectParentOrOnlyChildren","onlyChildren","selectParent","getObjectPropVal","path","splits","setObjectPropVal","splitsLength","extendObj","extendObjRoot","updateOnLoad","current","doAdd","attrsChanged","contentSizeC","isString","doUpdateAuto","mutHost","mutContent","option","changedOps","extName","coordinates","infoX","infoY","normalizeInvert","normalizeNegate","scrollX","scrollXRatio","maxScrollX","normalizeRTL","coordinatesXAxisProps","coordinatesYAxisProps","coordinatesOperators","durationIsObject","completeCallback","finalScroll","doScrollLeft","doScrollTop","animationOptions","strEnd","strBegin","strCenter","strNearest","strAlways","strNever","strIfNeeded","strLength","settingsAxis","settingsScroll","settingsBlock","settingsMargin","finalElement","elementObjSettingsAxisValues","elementObjSettingsBlockValues","elementObjSettingsScrollValues","coordinatesIsElementObj","possibleElement","possibleElementIsJQuery","possibleElementIsHTMLElement","updateScrollbarInfos","proxyCompleteCallback","checkSettingsStringValue","currValue","allowedValues","getRawScroll","isX","coordinates2","coordinateProps","getFinalScroll","rawScroll","operator","amount","scrollInfo","mult","isRTLisX","normalizeShortcuts","strReplace","evalFunc","possibleOperator","normalizeIsRTLisX","operatorCurrScroll","invert","negate","getPerAxisValue","valueInternalType","defaultValue","resultDefault","valueType","valueArrLength","valueArrItem","generateMargin","marginTopRightBottomLeftArray","currValueType","valueDirections","axis","block","marginDefault","marginType","marginLength","viewportScroll","viewportOffset","elementOffset","doNotScroll","elementScrollCoordinates","measuringElm","rawElementSize","elementSize","finalizeBlock","vars","lt","blockIsEnd","blockIsCenter","blockIsNearest","scrollNever","scrollIfNeeded","vpSize","vpOffset","elSize","elOffset","divide","elementCenterOffset","viewportCenterOffset","isInView","param1","param2","param3","elementName","stateProperty","prepare","obj2","extended","changePropertyName","privateMethods","extensionOptions","registeredExtensionObj","instanceAdded","instanceContract","contractResult","contractFulfilled","instanceRemoved","construct","options2","extensions2","initBodyScroll","bodyMouseTouchDownListener","pluginTargetElements","optsIsPlainObj","newDefaultOptions","currDefaultOptions","osInstance","extensionName","extension","extNameTypeString","_elements","import_overlayscrollbars","__toESM","OverlayScrollbarsComponent","rest","osTargetRef","useRef","useEffect","mergeHostClassNames","React","host","osClassNames","OverlayScrollbars_default"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/assets/RadialMenu-49c75318.css b/assets/RadialMenu-49c75318.css new file mode 100644 index 00000000..3d3a9935 --- /dev/null +++ b/assets/RadialMenu-49c75318.css @@ -0,0 +1 @@ +._canvas_670zp_1{position:absolute;top:0;left:0;right:0;bottom:0}._container_155l7_1{transform-origin:bottom right;overflow:hidden;position:absolute;border:solid 1px var(--radial-menu-border)}._container_155l7_1._disabled_155l7_7{opacity:.6}._container_155l7_1._disabled_155l7_7 ._contentContainer_155l7_10{cursor:not-allowed}._container_155l7_1:not(._disabled_155l7_7) ._contentContainer_155l7_10{cursor:pointer}._container_155l7_1:not(._disabled_155l7_7) ._contentContainer_155l7_10:hover{color:var(--radial-menu-active-color);background:var(--radial-menu-active-background)}._container_155l7_1 ._contentContainer_155l7_10{width:200%;height:200%;transform-origin:50% 50%;border-radius:50%;outline:none;transition:background .15s ease-in-out;color:var(--radial-menu-color)}._container_155l7_1 ._contentContainer_155l7_10 ._contentInner_155l7_35{position:absolute;width:100%;text-align:center}._container_155l7_1 ._contentContainer_155l7_10 ._contentInner_155l7_35 ._content_155l7_10{display:inline-block}._container_155l7_1 svg{margin:0 auto;fill:var(--radial-menu-active-color);height:25px;width:25px;display:block}._container_x9hyx_1{border-radius:50%;z-index:9;position:relative;height:175px;width:175px;border:solid 5px var(--radial-menu-border);overflow:hidden;background:var(--radial-menu-background)}._container_x9hyx_1:before{content:" ";background:var(--radial-menu-border);border-radius:50%;height:25px;width:25px;position:absolute;z-index:9;top:50%;left:50%;transform:translate(-50%,-50%)} diff --git a/assets/RadialMenu-93524eec.js b/assets/RadialMenu-93524eec.js new file mode 100644 index 00000000..e735892d --- /dev/null +++ b/assets/RadialMenu-93524eec.js @@ -0,0 +1,311 @@ +import{j as te}from"./jsx-runtime-5926aa06.js";import{g as It,r as C,R as Pl}from"./index-ebeaab24.js";import{e as Gf,T as zf,u as Mp,c as Pp,E as Lp,B as Rp,d as Fp,f as Gp,g as zp,V as Ee,Q as Np,L as Vp,h as at,i as va,O as Nf,P as Vf,j as Bf,k as $f,F as Bp,U as $p,M as jp,R as qp,l as Wp,S as Hp,m as Yp,D as un,n as jf,o as gr,p as Kp,C as _n,q as mn,r as Xp,s as Ps,t as Ls,v as Zp,w as Rs,I as Qp,x as qf,y as mu,z as Jp,A as eg,G as tg,a as ng,H as rg,J as ig,K as Wf,N as og,W as ag,X as Fs,Y as sg,Z as ug,_ as Gs,$ as Hf,a0 as lg,a1 as cg,a2 as fg}from"./index-6279214a.esm-cc44dd6d.js";import{_ as ya}from"./extends-98964cd2.js";import{a as dg}from"./client-180092d5.js";function hg(t,e,n=(r,i)=>r===i){if(t===e)return!0;if(!t||!e)return!1;const r=t.length;if(e.length!==r)return!1;for(let i=0;ii.response=o).then(()=>{r.lifespan&&r.lifespan>0&&setTimeout(()=>{const o=ho.indexOf(i);o!==-1&&ho.splice(o,1)},r.lifespan)}).catch(o=>i.error=o)};if(ho.push(i),!n)throw i.promise}const gg=(t,e,n)=>pg(t,e,!1,n);function zs(t,e,n){var r,i,o,a,s;e==null&&(e=100);function u(){var c=Date.now()-a;c=0?r=setTimeout(u,e-c):(r=null,n||(s=t.apply(o,i),o=i=null))}var l=function(){o=this,i=arguments,a=Date.now();var c=n&&!r;return r||(r=setTimeout(u,e)),c&&(s=t.apply(o,i),o=i=null),s};return l.clear=function(){r&&(clearTimeout(r),r=null)},l.flush=function(){r&&(s=t.apply(o,i),o=i=null,clearTimeout(r),r=null)},l}zs.debounce=zs;var mg=zs;const Ll=It(mg);function vg(t){let{debounce:e,scroll:n,polyfill:r,offsetSize:i}=t===void 0?{debounce:0,scroll:!1,offsetSize:!1}:t;const o=r||(typeof window>"u"?class{}:window.ResizeObserver);if(!o)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");const[a,s]=C.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),u=C.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:a}),l=e?typeof e=="number"?e:e.scroll:null,c=e?typeof e=="number"?e:e.resize:null,f=C.useRef(!1);C.useEffect(()=>(f.current=!0,()=>void(f.current=!1)));const[d,h,g]=C.useMemo(()=>{const p=()=>{if(!u.current.element)return;const{left:y,top:_,width:b,height:T,bottom:x,right:E,x:S,y:U}=u.current.element.getBoundingClientRect(),D={left:y,top:_,width:b,height:T,bottom:x,right:E,x:S,y:U};u.current.element instanceof HTMLElement&&i&&(D.height=u.current.element.offsetHeight,D.width=u.current.element.offsetWidth),Object.freeze(D),f.current&&!bg(u.current.lastBounds,D)&&s(u.current.lastBounds=D)};return[p,c?Ll(p,c):p,l?Ll(p,l):p]},[s,i,l,c]);function v(){u.current.scrollContainers&&(u.current.scrollContainers.forEach(p=>p.removeEventListener("scroll",g,!0)),u.current.scrollContainers=null),u.current.resizeObserver&&(u.current.resizeObserver.disconnect(),u.current.resizeObserver=null)}function w(){u.current.element&&(u.current.resizeObserver=new o(g),u.current.resizeObserver.observe(u.current.element),n&&u.current.scrollContainers&&u.current.scrollContainers.forEach(p=>p.addEventListener("scroll",g,{capture:!0,passive:!0})))}const m=p=>{!p||p===u.current.element||(v(),u.current.element=p,u.current.scrollContainers=Yf(p),w())};return _g(g,!!n),yg(h),C.useEffect(()=>{v(),w()},[n,g,h]),C.useEffect(()=>v,[]),[m,a,d]}function yg(t){C.useEffect(()=>{const e=t;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[t])}function _g(t,e){C.useEffect(()=>{if(e){const n=t;return window.addEventListener("scroll",n,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",n,!0)}},[t,e])}function Yf(t){const e=[];if(!t||t===document.body)return e;const{overflow:n,overflowX:r,overflowY:i}=window.getComputedStyle(t);return[n,r,i].some(o=>o==="auto"||o==="scroll")&&e.push(t),[...e,...Yf(t.parentElement)]}const wg=["x","y","top","bottom","left","right","width","height"],bg=(t,e)=>wg.every(n=>t[n]===e[n]),as={onClick:["click",!1],onContextMenu:["contextmenu",!1],onDoubleClick:["dblclick",!1],onWheel:["wheel",!0],onPointerDown:["pointerdown",!0],onPointerUp:["pointerup",!0],onPointerLeave:["pointerleave",!0],onPointerMove:["pointermove",!0],onPointerCancel:["pointercancel",!0],onLostPointerCapture:["lostpointercapture",!0]};function xg(t){const{handlePointer:e}=zp(t);return{priority:1,enabled:!0,compute(n,r,i){r.pointer.set(n.offsetX/r.size.width*2-1,-(n.offsetY/r.size.height)*2+1),r.raycaster.setFromCamera(r.pointer,r.camera)},connected:void 0,handlers:Object.keys(as).reduce((n,r)=>({...n,[r]:e(r)}),{}),connect:n=>{var r;const{set:i,events:o}=t.getState();o.disconnect==null||o.disconnect(),i(a=>({events:{...a.events,connected:n}})),Object.entries((r=o.handlers)!=null?r:[]).forEach(([a,s])=>{const[u,l]=as[a];n.addEventListener(u,s,{passive:l})})},disconnect:()=>{const{set:n,events:r}=t.getState();if(r.connected){var i;Object.entries((i=r.handlers)!=null?i:[]).forEach(([o,a])=>{if(r&&r.connected instanceof HTMLElement){const[s]=as[o];r.connected.removeEventListener(s,a)}}),n(o=>({events:{...o.events,connected:void 0}}))}}}}const Eg=C.forwardRef(function({children:e,fallback:n,resize:r,style:i,gl:o,events:a=xg,shadows:s,linear:u,flat:l,legacy:c,orthographic:f,frameloop:d,dpr:h,performance:g,raycaster:v,camera:w,onPointerMissed:m,onCreated:p,...y},_){C.useMemo(()=>Gf(zf),[]);const[b,T]=vg({scroll:!0,debounce:{scroll:50,resize:0},...r}),x=C.useRef(null),E=C.useRef(null),[S,U]=C.useState(null);C.useImperativeHandle(_,()=>x.current);const D=Mp(m),[O,k]=C.useState(!1),[M,N]=C.useState(!1);if(O)throw O;if(M)throw M;const B=C.useRef(null);return T.width>0&&T.height>0&&S&&(B.current||(B.current=Pp(S)),B.current.configure({gl:o,events:a,shadows:s,linear:u,flat:l,legacy:c,orthographic:f,frameloop:d,dpr:h,performance:g,raycaster:v,camera:w,size:T,onPointerMissed:(...W)=>D.current==null?void 0:D.current(...W),onCreated:W=>{W.events.connect==null||W.events.connect(E.current),p==null||p(W)}}),B.current.render(C.createElement(Lp,{set:N},C.createElement(C.Suspense,{fallback:C.createElement(Rp,{set:k})},e)))),Fp(()=>{U(x.current)},[]),C.useEffect(()=>{if(S)return()=>Gp(S)},[S]),C.createElement("div",ya({ref:E,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",...i}},y),C.createElement("div",{ref:b,style:{width:"100%",height:"100%"}},C.createElement("canvas",{ref:x,style:{display:"block"}},n)))});function Tg(t){const e=+this._x.call(null,t);return Kf(this.cover(e),e,t)}function Kf(t,e,n){if(isNaN(e))return t;var r,i=t._root,o={data:n},a=t._x0,s=t._x1,u,l,c,f,d;if(!i)return t._root=o,t;for(;i.length;)if((c=e>=(u=(a+s)/2))?a=u:s=u,r=i,!(i=i[f=+c]))return r[f]=o,t;if(l=+t._x.call(null,i.data),e===l)return o.next=i,r?r[f]=o:t._root=o,t;do r=r?r[f]=new Array(2):t._root=new Array(2),(c=e>=(u=(a+s)/2))?a=u:s=u;while((f=+c)==(d=+(l>=u)));return r[d]=i,r[f]=o,t}function Sg(t){Array.isArray(t)||(t=Array.from(t));const e=t.length,n=new Float64Array(e);let r=1/0,i=-1/0;for(let o=0,a;oi&&(i=a));if(r>i)return this;this.cover(r).cover(i);for(let o=0;ot||t>=n;)switch(a=+(ta||(o=l.x1)=f))&&(l=s[s.length-1],s[s.length-1]=s[s.length-1-c],s[s.length-1-c]=l)}else{var d=Math.abs(t-+this._x.call(null,u.data));d=(l=(a+s)/2))?a=l:s=l,e=n,!(n=n[f=+c]))return this;if(!n.length)break;e[f+1&1]&&(r=e,d=f)}for(;n.data!==t;)if(i=n,!(n=n.next))return this;return(o=n.next)&&delete n.next,i?(o?i.next=o:delete i.next,this):e?(o?e[f]=o:delete e[f],(n=e[0]||e[1])&&n===(e[1]||e[0])&&!n.length&&(r?r[d]=n:this._root=n),this):(this._root=o,this)}function Ug(t){for(var e=0,n=t.length;e=(f=(s+l)/2))?s=f:l=f,(w=n>=(d=(u+c)/2))?u=d:c=d,i=o,!(o=o[m=w<<1|v]))return i[m]=a,t;if(h=+t._x.call(null,o.data),g=+t._y.call(null,o.data),e===h&&n===g)return a.next=o,i?i[m]=a:t._root=a,t;do i=i?i[m]=new Array(4):t._root=new Array(4),(v=e>=(f=(s+l)/2))?s=f:l=f,(w=n>=(d=(u+c)/2))?u=d:c=d;while((m=w<<1|v)===(p=(g>=d)<<1|h>=f));return i[p]=o,i[m]=a,t}function zg(t){var e,n,r=t.length,i,o,a=new Array(r),s=new Array(r),u=1/0,l=1/0,c=-1/0,f=-1/0;for(n=0;nc&&(c=i),of&&(f=o));if(u>c||l>f)return this;for(this.cover(u,l).cover(c,f),n=0;nt||t>=i||r>e||e>=o;)switch(l=(ec||(s=g.y0)>f||(u=g.x1)=m)<<1|t>=w)&&(g=d[d.length-1],d[d.length-1]=d[d.length-1-v],d[d.length-1-v]=g)}else{var p=t-+this._x.call(null,h.data),y=e-+this._y.call(null,h.data),_=p*p+y*y;if(_=(d=(a+u)/2))?a=d:u=d,(v=f>=(h=(s+l)/2))?s=h:l=h,e=n,!(n=n[w=v<<1|g]))return this;if(!n.length)break;(e[w+1&3]||e[w+2&3]||e[w+3&3])&&(r=e,m=w)}for(;n.data!==t;)if(i=n,!(n=n.next))return this;return(o=n.next)&&delete n.next,i?(o?i.next=o:delete i.next,this):e?(o?e[w]=o:delete e[w],(n=e[0]||e[1]||e[2]||e[3])&&n===(e[3]||e[2]||e[1]||e[0])&&!n.length&&(r?r[m]=n:this._root=n),this):(this._root=o,this)}function qg(t){for(var e=0,n=t.length;e=(g=(u+f)/2))?u=g:f=g,(b=n>=(v=(l+d)/2))?l=v:d=v,(T=r>=(w=(c+h)/2))?c=w:h=w,o=a,!(a=a[x=T<<2|b<<1|_]))return o[x]=s,t;if(m=+t._x.call(null,a.data),p=+t._y.call(null,a.data),y=+t._z.call(null,a.data),e===m&&n===p&&r===y)return s.next=a,o?o[x]=s:t._root=s,t;do o=o?o[x]=new Array(8):t._root=new Array(8),(_=e>=(g=(u+f)/2))?u=g:f=g,(b=n>=(v=(l+d)/2))?l=v:d=v,(T=r>=(w=(c+h)/2))?c=w:h=w;while((x=T<<2|b<<1|_)===(E=(y>=w)<<2|(p>=v)<<1|m>=g));return o[E]=a,o[x]=s,t}function tm(t){Array.isArray(t)||(t=Array.from(t));const e=t.length,n=new Float64Array(e),r=new Float64Array(e),i=new Float64Array(e);let o=1/0,a=1/0,s=1/0,u=-1/0,l=-1/0,c=-1/0;for(let f=0,d,h,g,v;fu&&(u=h),gl&&(l=g),vc&&(c=v));if(o>u||a>l||s>c)return this;this.cover(o,a,s).cover(u,l,c);for(let f=0;ft||t>=a||i>e||e>=s||o>n||n>=u;)switch(d=(ng||(l=y.y0)>v||(c=y.z0)>w||(f=y.x1)=x)<<2|(e>=T)<<1|t>=b)&&(y=m[m.length-1],m[m.length-1]=m[m.length-1-_],m[m.length-1-_]=y)}else{var E=t-+this._x.call(null,p.data),S=e-+this._y.call(null,p.data),U=n-+this._z.call(null,p.data),D=E*E+S*S+U*U;if(D=(v=(a+l)/2))?a=v:l=v,(y=h>=(w=(s+c)/2))?s=w:c=w,(_=g>=(m=(u+f)/2))?u=m:f=m,e=n,!(n=n[b=_<<2|y<<1|p]))return this;if(!n.length)break;(e[b+1&7]||e[b+2&7]||e[b+3&7]||e[b+4&7]||e[b+5&7]||e[b+6&7]||e[b+7&7])&&(r=e,T=b)}for(;n.data!==t;)if(i=n,!(n=n.next))return this;return(o=n.next)&&delete n.next,i?(o?i.next=o:delete i.next,this):e?(o?e[b]=o:delete e[b],(n=e[0]||e[1]||e[2]||e[3]||e[4]||e[5]||e[6]||e[7])&&n===(e[7]||e[6]||e[5]||e[4]||e[3]||e[2]||e[1]||e[0])&&!n.length&&(r?r[T]=n:this._root=n),this):(this._root=o,this)}function sm(t){for(var e=0,n=t.length;e1&&(v=h.y+h.vy),n>2&&(w=h.z+h.vz),d.visit(_);function _(b,T,x,E,S,U,D){var O=[T,x,E,S,U,D],k=O[0],M=O[1],N=O[2],B=O[n],W=O[n+1],J=O[n+2],L=b.data,V=b.r,A=m+V;if(L){if(L.index>h.index){var I=g-L.x-L.vx,G=n>1?v-L.y-L.vy:0,F=n>2?w-L.z-L.vz:0,P=I*I+G*G+F*F;P1&&G===0&&(G=Ft(i),P+=G*G),n>2&&F===0&&(F=Ft(i),P+=F*F),P=(A-(P=Math.sqrt(P)))/P*o,h.vx+=(I*=P)*(A=(V*=V)/(p+V)),n>1&&(h.vy+=(G*=P)*A),n>2&&(h.vz+=(F*=P)*A),L.vx-=I*(A=1-A),n>1&&(L.vy-=G*A),n>2&&(L.vz-=F*A))}return}return k>g+A||B1&&(M>v+A||W2&&(N>w+A||Jc.r&&(c.r=c[f].r)}function l(){if(e){var c,f=e.length,d;for(r=new Array(f),c=0;ctypeof d=="function")||Math.random,n=f.find(d=>[1,2,3].includes(d))||2,l()},s.iterations=function(c){return arguments.length?(a=+c,s):a},s.strength=function(c){return arguments.length?(o=+c,s):o},s.radius=function(c){return arguments.length?(t=typeof c=="function"?c:Ze(+c),l(),s):t},s}function wm(t){return t.index}function Nl(t,e){var n=t.get(e);if(!n)throw new Error("node not found: "+e);return n}function bm(t){var e=wm,n=d,r,i=Ze(30),o,a,s,u,l,c,f=1;t==null&&(t=[]);function d(m){return 1/Math.min(u[m.source.index],u[m.target.index])}function h(m){for(var p=0,y=t.length;p1&&(S=x.y+x.vy-T.y-T.vy||Ft(c)),s>2&&(U=x.z+x.vz-T.z-T.vz||Ft(c)),D=Math.sqrt(E*E+S*S+U*U),D=(D-o[_])/D*m*r[_],E*=D,S*=D,U*=D,x.vx-=E*(O=l[_]),s>1&&(x.vy-=S*O),s>2&&(x.vz-=U*O),T.vx+=E*(O=1-O),s>1&&(T.vy+=S*O),s>2&&(T.vz+=U*O)}function g(){if(a){var m,p=a.length,y=t.length,_=new Map(a.map((T,x)=>[e(T,x,a),T])),b;for(m=0,u=new Array(p);mtypeof y=="function")||Math.random,s=p.find(y=>[1,2,3].includes(y))||2,g()},h.links=function(m){return arguments.length?(t=m,g(),h):t},h.id=function(m){return arguments.length?(e=m,h):e},h.iterations=function(m){return arguments.length?(f=+m,h):f},h.strength=function(m){return arguments.length?(n=typeof m=="function"?m:Ze(+m),v(),h):n},h.distance=function(m){return arguments.length?(i=typeof m=="function"?m:Ze(+m),w(),h):i},h}var xm={value:()=>{}};function Qf(){for(var t=0,e=arguments.length,n={},r;t=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Uo.prototype=Qf.prototype={constructor:Uo,on:function(t,e){var n=this._,r=Em(t+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&t._call.call(void 0,e),t=t._next;--wr}function Bl(){Kn=(zo=xi.now())+_a,wr=hi=0;try{Am()}finally{wr=0,Cm(),Kn=0}}function Om(){var t=xi.now(),e=t-zo;e>Jf&&(_a-=e,zo=t)}function Cm(){for(var t,e=Go,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Go=n);pi=t,Vs(r)}function Vs(t){if(!wr){hi&&(hi=clearTimeout(hi));var e=t-Kn;e>24?(t<1/0&&(hi=setTimeout(Bl,t-xi.now()-_a)),Xr&&(Xr=clearInterval(Xr))):(Xr||(zo=xi.now(),Xr=setInterval(Om,Jf)),wr=1,ed(Bl))}}const km=1664525,Dm=1013904223,$l=4294967296;function Um(){let t=1;return()=>(t=(km*t+Dm)%$l)/$l}var jl=3;function us(t){return t.x}function ql(t){return t.y}function Im(t){return t.z}var Mm=10,Pm=Math.PI*(3-Math.sqrt(5)),Lm=Math.PI*20/(9+Math.sqrt(221));function Rm(t,e){e=e||2;var n=Math.min(jl,Math.max(1,Math.round(e))),r,i=1,o=.001,a=1-Math.pow(o,1/300),s=0,u=.6,l=new Map,c=nd(h),f=Qf("tick","end"),d=Um();t==null&&(t=[]);function h(){g(),f.call("tick",r),i1&&(_.fy==null?_.y+=_.vy*=u:(_.y=_.fy,_.vy=0)),n>2&&(_.fz==null?_.z+=_.vz*=u:(_.z=_.fz,_.vz=0));return r}function v(){for(var m=0,p=t.length,y;m1&&isNaN(y.y)||n>2&&isNaN(y.z)){var _=Mm*(n>2?Math.cbrt(.5+m):n>1?Math.sqrt(.5+m):m),b=m*Pm,T=m*Lm;n===1?y.x=_:n===2?(y.x=_*Math.cos(b),y.y=_*Math.sin(b)):(y.x=_*Math.sin(b)*Math.cos(T),y.y=_*Math.cos(b),y.z=_*Math.sin(b)*Math.sin(T))}(isNaN(y.vx)||n>1&&isNaN(y.vy)||n>2&&isNaN(y.vz))&&(y.vx=0,n>1&&(y.vy=0),n>2&&(y.vz=0))}}function w(m){return m.initialize&&m.initialize(t,d,n),m}return v(),r={tick:g,restart:function(){return c.restart(h),r},stop:function(){return c.stop(),r},numDimensions:function(m){return arguments.length?(n=Math.min(jl,Math.max(1,Math.round(m))),l.forEach(w),r):n},nodes:function(m){return arguments.length?(t=m,v(),l.forEach(w),r):t},alpha:function(m){return arguments.length?(i=+m,r):i},alphaMin:function(m){return arguments.length?(o=+m,r):o},alphaDecay:function(m){return arguments.length?(a=+m,r):+a},alphaTarget:function(m){return arguments.length?(s=+m,r):s},velocityDecay:function(m){return arguments.length?(u=1-m,r):1-u},randomSource:function(m){return arguments.length?(d=m,l.forEach(w),r):d},force:function(m,p){return arguments.length>1?(p==null?l.delete(m):l.set(m,w(p)),r):l.get(m)},find:function(){var m=Array.prototype.slice.call(arguments),p=m.shift()||0,y=(n>1?m.shift():null)||0,_=(n>2?m.shift():null)||0,b=m.shift()||1/0,T=0,x=t.length,E,S,U,D,O,k;for(b*=b,T=0;T1?(f.on(m,p),r):f.on(m)}}}function Fm(){var t,e,n,r,i,o=Ze(-30),a,s=1,u=1/0,l=.81;function c(g){var v,w=t.length,m=(e===1?vu(t,us):e===2?_u(t,us,ql):e===3?bu(t,us,ql,Im):null).visitAfter(d);for(i=g,v=0;v1&&(g.y=_/p),e>2&&(g.z=b/p)}else{w=g,w.x=w.data.x,e>1&&(w.y=w.data.y),e>2&&(w.z=w.data.z);do v+=a[w.data.index];while(w=w.next)}g.value=v}function h(g,v,w,m,p){if(!g.value)return!0;var y=[w,m,p][e-1],_=g.x-n.x,b=e>1?g.y-n.y:0,T=e>2?g.z-n.z:0,x=y-v,E=_*_+b*b+T*T;if(x*x/l1&&b===0&&(b=Ft(r),E+=b*b),e>2&&T===0&&(T=Ft(r),E+=T*T),E1&&(n.vy+=b*g.value*i/E),e>2&&(n.vz+=T*g.value*i/E)),!0;if(g.length||E>=u)return;(g.data!==n||g.next)&&(_===0&&(_=Ft(r),E+=_*_),e>1&&b===0&&(b=Ft(r),E+=b*b),e>2&&T===0&&(T=Ft(r),E+=T*T),E1&&(n.vy+=b*x),e>2&&(n.vz+=T*x));while(g=g.next)}return c.initialize=function(g,...v){t=g,r=v.find(w=>typeof w=="function")||Math.random,e=v.find(w=>[1,2,3].includes(w))||2,f()},c.strength=function(g){return arguments.length?(o=typeof g=="function"?g:Ze(+g),f(),c):o},c.distanceMin=function(g){return arguments.length?(s=g*g,c):Math.sqrt(s)},c.distanceMax=function(g){return arguments.length?(u=g*g,c):Math.sqrt(u)},c.theta=function(g){return arguments.length?(l=g*g,c):Math.sqrt(l)},c}function Gm(t,e,n,r){var i,o,a=Ze(.1),s,u;typeof t!="function"&&(t=Ze(+t)),e==null&&(e=0),n==null&&(n=0),r==null&&(r=0);function l(f){for(var d=0,h=i.length;d1&&(g.vy+=w*y),o>2&&(g.vz+=m*y)}}function c(){if(i){var f,d=i.length;for(s=new Array(d),u=new Array(d),f=0;f[1,2,3].includes(h))||2,c()},l.strength=function(f){return arguments.length?(a=typeof f=="function"?f:Ze(+f),c(),l):a},l.radius=function(f){return arguments.length?(t=typeof f=="function"?f:Ze(+f),c(),l):t},l.x=function(f){return arguments.length?(e=+f,l):e},l.y=function(f){return arguments.length?(n=+f,l):n},l.z=function(f){return arguments.length?(r=+f,l):r},l}function zm(t){var e=Ze(.1),n,r,i;typeof t!="function"&&(t=Ze(t==null?0:+t));function o(s){for(var u=0,l=n.length,c;u-1){const o=[...e.slice(i),r].map(a=>a.data.id);throw new Error(`Invalid Graph: Circular node path detected: ${o.join(" -> ")}.`)}n>r.depth&&(r.depth=n,rd(r.out,[...e,r]))}}function id(t,e){let n=!1;const r=t.reduce((a,s)=>({...a,[s.id]:{data:s,out:[],depth:-1,ins:[]}}),{});try{for(const a of e){const s=a.source,u=a.target;if(!r.hasOwnProperty(s))throw new Error(`Missing source Node ${s}`);if(!r.hasOwnProperty(u))throw new Error(`Missing target Node ${u}`);const l=r[s],c=r[u];c.ins.push(l),l.out.push(c)}rd(Object.values(r))}catch{n=!0}const i=Object.keys(r).map(a=>r[a].depth),o=Math.max(...i);return{invalid:n,depths:r,maxDepth:o||1}}const Wl=["radialin","radialout"];function Bm({nodes:t,edges:e,mode:n="lr",nodeLevelRatio:r=2}){const{depths:i,maxDepth:o,invalid:a}=id(t,e);if(a)return null;const s=Wl.includes(n)?1:5,u=t.length/o*r*s;if(n){const l=(h,g)=>v=>h?(i[v.id].depth-o/2)*u*(g?-1:1):void 0,c=l(["lr","rl"].includes(n),n==="rl"),f=l(["td","bu"].includes(n),n==="td"),d=l(["zin","zout"].includes(n),n==="zout");t.forEach(h=>{h.fx=c(h),h.fy=f(h),h.fz=d(h)})}return Wl.includes(n)?Gm(l=>{const c=i[l.id];return(n==="radialin"?o-c.depth:c.depth)*u}).strength(1):null}function $m(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){return{x:0,y:0,z:0}},e,n,r=[],i=.1,o=0;function a(u){u*=i*u;var l,c,f,d,h,g;n.forEach(function(v,w){l=r[w],!(!l||l===v)&&(c=v.x-l.x,f=e>1?v.y-l.y:0,d=e>2?v.z-l.z:0,h=Math.sqrt(c*c+f*f+d*d),g=v.radius+(l.radius||0),h&&h!==g&&(h=(h-g)/h*u,v.x-=c*=h,l.x+=(1-o)*c,e>1&&(v.y-=f*=h,l.y+=(1-o)*f),e>2&&(v.z-=d*=h,l.z+=(1-o)*d)))})}function s(){r=(n||[]).map(t)}return a.initialize=function(u){n=u;for(var l=arguments.length,c=new Array(l>1?l-1:0),f=1;f{f.push({..._,id:y,radius:_.size||1})}),t.forEachEdge((y,_)=>{d.push({..._,id:y})});const g=r===2&&d.length>25?i*2:i,v=Rm().force("link",bm()).force("charge",Fm().strength(g)).force("x",zm()).force("y",Nm()).force("z",Vm()).force("collide",_m(y=>y.radius+a)).force("dagRadial",Bm({nodes:f,edges:d,mode:n,nodeLevelRatio:e})).stop(),m=v.numDimensions(r).nodes(f).force("cluster",$m().centers(y=>{var _;if(l){const b=(_=y==null?void 0:y.data)==null?void 0:_[l],T=c.get(b);if(!T){const x=f.reduce((E,S)=>{var U;return((U=S==null?void 0:S.data)==null?void 0:U[l])===b&&S.radius>E.radius?S:E},y);return c.set(b,x),x}return T}}).strength(s)).force("link");m&&m.id(y=>y.id).links(d).distance(o);const p=new Map(f.map(y=>[y.id,y]));return{step(){return v.tick(jm),!0},getNodePosition(y){var _;return((_=u==null?void 0:u[y])==null?void 0:_.position)||p.get(y)}}}function qm(t){return!t||typeof t!="object"||typeof t=="function"||Array.isArray(t)||t instanceof Set||t instanceof Map||t instanceof RegExp||t instanceof Date}function od(t,e){t=t||{};var n={};for(var r in e){var i=t[r],o=e[r];if(!qm(o)){n[r]=od(i,o);continue}i===void 0?n[r]=o:n[r]=i}return n}var Eu=od,Gn=function(e){return e!==null&&typeof e=="object"&&typeof e.addUndirectedEdgeWithKey=="function"&&typeof e.dropNode=="function"&&typeof e.multi=="boolean"},Wm=Eu,Hm=Gn,Ym={dimensions:["x","y"],center:.5,scale:1};function ad(t,e,n){if(!Hm(e))throw new Error("graphology-layout/random: the given graph is not a valid graphology instance.");n=Wm(n,Ym);var r=n.dimensions;if(!Array.isArray(r)||r.length!==2)throw new Error("graphology-layout/random: given dimensions are invalid.");var i=n.center,o=n.scale,a=Math.PI*2,s=(i-.5)*o,u=e.order,l=r[0],c=r[1];function f(g,v){return v[l]=o*Math.cos(g*a/u)+s,v[c]=o*Math.sin(g*a/u)+s,v}var d=0;if(!t){var h={};return e.forEachNode(function(g){h[g]=f(d++,{})}),h}e.updateEachNodeAttributes(function(g,v){return f(d++,v),v},{attributes:r})}var sd=ad.bind(null,!1);sd.assign=ad.bind(null,!0);var Km=sd;const Xm=It(Km);function Zm({graph:t,radius:e,drags:n}){const r=Xm(t,{scale:e});return{step(){return!0},getNodePosition(i){var o;return((o=n==null?void 0:n[i])==null?void 0:o.position)||(r==null?void 0:r[i])}}}function Qm(t){var e=0,n=t.children,r=n&&n.length;if(!r)e=1;else for(;--r>=0;)e+=n[r].value;t.value=e}function Jm(){return this.eachAfter(Qm)}function ev(t,e){let n=-1;for(const r of this)t.call(e,r,++n,this);return this}function tv(t,e){for(var n=this,r=[n],i,o,a=-1;n=r.pop();)if(t.call(e,n,++a,this),i=n.children)for(o=i.length-1;o>=0;--o)r.push(i[o]);return this}function nv(t,e){for(var n=this,r=[n],i=[],o,a,s,u=-1;n=r.pop();)if(i.push(n),o=n.children)for(a=0,s=o.length;a=0;)n+=r[i].value;e.value=n})}function ov(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function av(t){for(var e=this,n=sv(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r}function sv(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;for(t=n.pop(),e=r.pop();t===e;)i=t,t=n.pop(),e=r.pop();return i}function uv(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function lv(){return Array.from(this)}function cv(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function fv(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}function*dv(){var t=this,e,n=[t],r,i,o;do for(e=n.reverse(),n=[];t=e.pop();)if(yield t,r=t.children)for(i=0,o=r.length;i=0;--s)i.push(o=a[s]=new br(a[s])),o.parent=r,o.depth=r.depth+1;return n.eachBefore(ud)}function hv(){return Tu(this).eachBefore(mv)}function pv(t){return t.children}function gv(t){return Array.isArray(t)?t[1]:null}function mv(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function ud(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function br(t){this.data=t,this.depth=this.height=0,this.parent=null}br.prototype=Tu.prototype={constructor:br,count:Jm,each:ev,eachAfter:nv,eachBefore:tv,find:rv,sum:iv,sort:ov,path:av,ancestors:uv,descendants:lv,leaves:cv,links:fv,copy:hv,[Symbol.iterator]:dv};function ls(t){return t==null?null:vv(t)}function vv(t){if(typeof t!="function")throw new Error;return t}var yv={depth:-1},Hl={},cs={};function _v(t){return t.id}function wv(t){return t.parentId}function bv(){var t=_v,e=wv,n;function r(i){var o=Array.from(i),a=t,s=e,u,l,c,f,d,h,g,v,w=new Map;if(n!=null){const m=o.map((_,b)=>xv(n(_,b,i))),p=m.map(Yl),y=new Set(m).add("");for(const _ of p)y.has(_)||(y.add(_),m.push(_),p.push(Yl(_)),o.push(cs));a=(_,b)=>m[b],s=(_,b)=>p[b]}for(c=0,u=o.length;c=0&&(h=o[m],h.data===cs);--m)h.data=null}if(f.parent=yv,f.eachBefore(function(m){m.depth=m.parent.depth+1,--u}).eachBefore(ud),f.parent=null,u>0)throw new Error("cycle");return f}return r.id=function(i){return arguments.length?(t=ls(i),r):t},r.parentId=function(i){return arguments.length?(e=ls(i),r):e},r.path=function(i){return arguments.length?(n=ls(i),r):n},r}function xv(t){t=`${t}`;let e=t.length;return Bs(t,e-1)&&!Bs(t,e-2)&&(t=t.slice(0,-1)),t[0]==="/"?t:`/${t}`}function Yl(t){let e=t.length;if(e<2)return"";for(;--e>1&&!Bs(t,e););return t.slice(0,e)}function Bs(t,e){if(t[e]==="/"){let n=0;for(;e>0&&t[--e]==="\\";)++n;if(!(n&1))return!0}return!1}function Ev(t,e){return t.parent===e.parent?1:2}function fs(t){var e=t.children;return e?e[0]:t.t}function ds(t){var e=t.children;return e?e[e.length-1]:t.t}function Tv(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function Sv(t){for(var e=0,n=0,r=t.children,i=r.length,o;--i>=0;)o=r[i],o.z+=e,o.m+=e,e+=o.s+(n+=o.c)}function Av(t,e,n){return t.a.parent===e.parent?t.a:n}function Io(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}Io.prototype=Object.create(br.prototype);function Ov(t){for(var e=new Io(t,0),n,r=[e],i,o,a,s;n=r.pop();)if(o=n._.children)for(n.children=new Array(s=o.length),a=s-1;a>=0;--a)r.push(i=n.children[a]=new Io(o[a],a)),i.parent=n;return(e.parent=new Io(null,0)).children=[e],e}function Cv(){var t=Ev,e=1,n=1,r=null;function i(l){var c=Ov(l);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(a),r)l.eachBefore(u);else{var f=l,d=l,h=l;l.eachBefore(function(p){p.xd.x&&(d=p),p.depth>h.depth&&(h=p)});var g=f===d?1:t(f,d)/2,v=g-f.x,w=e/(d.x+g+v),m=n/(h.depth||1);l.eachBefore(function(p){p.x=(p.x+v)*w,p.y=p.depth*m})}return l}function o(l){var c=l.children,f=l.parent.children,d=l.i?f[l.i-1]:null;if(c){Sv(l);var h=(c[0].z+c[c.length-1].z)/2;d?(l.z=d.z+t(l._,d._),l.m=l.z-h):l.z=h}else d&&(l.z=d.z+t(l._,d._));l.parent.A=s(l,d,l.parent.A||f[0])}function a(l){l._.x=l.z+l.parent.m,l.m+=l.parent.m}function s(l,c,f){if(c){for(var d=l,h=l,g=c,v=d.parent.children[0],w=d.m,m=h.m,p=g.m,y=v.m,_;g=ds(g),d=fs(d),g&&d;)v=fs(v),h=ds(h),h.a=l,_=g.z+p-d.z-w+t(g._,d._),_>0&&(Tv(Av(g,l,f),l,_),w+=_,m+=_),p+=g.m,w+=d.m,y+=v.m,m+=h.m;g&&!ds(h)&&(h.t=g,h.m+=p-m),d&&!fs(v)&&(v.t=d,v.m+=w-y,f=l)}return f}function u(l){l.x*=e,l.y=l.depth*n}return i.separation=function(l){return arguments.length?(t=l,i):t},i.size=function(l){return arguments.length?(r=!1,e=+l[0],n=+l[1],i):r?null:[e,n]},i.nodeSize=function(l){return arguments.length?(r=!0,e=+l[0],n=+l[1],i):r?[e,n]:null},i}const kv={td:{x:"x",y:"y",factor:-1},lr:{x:"y",y:"x",factor:1}};function Kl({graph:t,drags:e,mode:n="td"}){const r=[],i=[];t.forEachNode((d,h)=>{r.push({...h,id:d})}),t.forEachEdge((d,h)=>{i.push({...h,id:d})});const{depths:o}=id(r,i),a=Object.keys(o).map(d=>o[d]),s=bv().id(d=>d.data.id).parentId(d=>{var h,g,v;return(v=(g=(h=d.ins)==null?void 0:h[0])==null?void 0:g.data)==null?void 0:v.id})(a),l=Cv().separation(()=>1).nodeSize([50,50])(Tu(s)).descendants(),c=kv[n],f=new Map(r.map(d=>{const{x:h,y:g}=l.find(v=>v.data.id===d.id);return[d.id,{...d,[c.x]:h*c.factor,[c.y]:g*c.factor,z:0}]}));return{step(){return!0},getNodePosition(d){var h;return((h=e==null?void 0:e[d])==null?void 0:h.position)||f.get(d)}}}var Zr=0,Qr=1,po=2,Jr=3;function Dv(t,e){return t+"§"+e}function Xl(){return .01*(.5-Math.random())}var Uv=function(e,n){var r=e.margin,i=e.ratio,o=e.expansion,a=e.gridSize,s=e.speed,u,l,c,f,d,h,g=!0,v=n.length,w=v/Jr|0,m=new Float32Array(w),p=new Float32Array(w),y=1/0,_=1/0,b=-1/0,T=-1/0;for(u=0;u1&&P.has(xe))&&(O>1&&P.add(xe),q=n[R+Zr],Q=n[R+Qr],Se=n[R+po],ee=q-z,le=Q-ie,ge=Math.sqrt(ee*ee+le*le),H=ge0?(m[R]+=ee/ge*(1+K),p[R]+=le/ge*(1+K)):(m[R]+=x*Xl(),p[R]+=E*Xl())));for(u=0,l=0;u({...u,x:u.x||0,y:u.y||0}),settings:{ratio:r,margin:e,gridSize:i}});return{step(){return!0},getNodePosition(s){var u;return((u=n==null?void 0:n[s])==null?void 0:u.position)||(a==null?void 0:a[s])}}}var kr={};function Nv(t){return typeof t!="number"||isNaN(t)?1:t}function Vv(t,e){var n={},r=function(a){return typeof a>"u"?e:a};typeof e=="function"&&(r=e);var i=function(a){return r(a[t])},o=function(){return r(void 0)};return typeof t=="string"?(n.fromAttributes=i,n.fromGraph=function(a,s){return i(a.getNodeAttributes(s))},n.fromEntry=function(a,s){return i(s)}):typeof t=="function"?(n.fromAttributes=function(){throw new Error("graphology-utils/getters/createNodeValueGetter: irrelevant usage.")},n.fromGraph=function(a,s){return r(t(s,a.getNodeAttributes(s)))},n.fromEntry=function(a,s){return r(t(a,s))}):(n.fromAttributes=o,n.fromGraph=o,n.fromEntry=o),n}function fd(t,e){var n={},r=function(a){return typeof a>"u"?e:a};typeof e=="function"&&(r=e);var i=function(a){return r(a[t])},o=function(){return r(void 0)};return typeof t=="string"?(n.fromAttributes=i,n.fromGraph=function(a,s){return i(a.getEdgeAttributes(s))},n.fromEntry=function(a,s){return i(s)},n.fromPartialEntry=n.fromEntry,n.fromMinimalEntry=n.fromEntry):typeof t=="function"?(n.fromAttributes=function(){throw new Error("graphology-utils/getters/createEdgeValueGetter: irrelevant usage.")},n.fromGraph=function(a,s){var u=a.extremities(s);return r(t(s,a.getEdgeAttributes(s),u[0],u[1],a.getNodeAttributes(u[0]),a.getNodeAttributes(u[1]),a.isUndirected(s)))},n.fromEntry=function(a,s,u,l,c,f,d){return r(t(a,s,u,l,c,f,d))},n.fromPartialEntry=function(a,s,u,l){return r(t(a,s,u,l))},n.fromMinimalEntry=function(a,s){return r(t(a,s))}):(n.fromAttributes=o,n.fromGraph=o,n.fromEntry=o,n.fromMinimalEntry=o),n}kr.createNodeValueGetter=Vv;kr.createEdgeValueGetter=fd;kr.createEdgeWeightGetter=function(t){return fd(t,Nv)};var rt=0,Ke=1,ke=2,De=3,hn=4,pn=5,Le=6,Zl=7,mo=8,Ql=9,Bv=0,$v=1,jv=2,ut=0,Mt=1,wt=2,Nn=3,Dn=4,et=5,Tt=6,tn=7,nn=8,Jl=3,Ht=10,qv=3,vt=9,hs=10,Wv=function(e,n,r){var i,o,a,s,u,l,c,f,d,h,g=n.length,v=r.length,w=e.adjustSizes,m=e.barnesHutTheta*e.barnesHutTheta,p,y,_,b,T,x,E,S=[];for(a=0;aJ?(O-=(W-J)/2,k=O+W):(U-=(J-W)/2,D=U+J),S[0+ut]=-1,S[0+Mt]=(U+D)/2,S[0+wt]=(O+k)/2,S[0+Nn]=Math.max(D-U,k-O),S[0+Dn]=-1,S[0+et]=-1,S[0+Tt]=0,S[0+tn]=0,S[0+nn]=0,i=1,a=0;a=0){n[a+rt]=0)if(x=Math.pow(n[a+rt]-S[o+tn],2)+Math.pow(n[a+Ke]-S[o+nn],2),h=S[o+Nn],4*h*h/x0?(E=y*n[a+Le]*S[o+Tt]/x,n[a+ke]+=_*E,n[a+De]+=b*E):x<0&&(E=-y*n[a+Le]*S[o+Tt]/Math.sqrt(x),n[a+ke]+=_*E,n[a+De]+=b*E):x>0&&(E=y*n[a+Le]*S[o+Tt]/x,n[a+ke]+=_*E,n[a+De]+=b*E),o=S[o+Dn],o<0)break;continue}else{o=S[o+et];continue}else{if(l=S[o+ut],l>=0&&l!==a&&(_=n[a+rt]-n[l+rt],b=n[a+Ke]-n[l+Ke],x=_*_+b*b,w===!0?x>0?(E=y*n[a+Le]*n[l+Le]/x,n[a+ke]+=_*E,n[a+De]+=b*E):x<0&&(E=-y*n[a+Le]*n[l+Le]/Math.sqrt(x),n[a+ke]+=_*E,n[a+De]+=b*E):x>0&&(E=y*n[a+Le]*n[l+Le]/x,n[a+ke]+=_*E,n[a+De]+=b*E)),o=S[o+Dn],o<0)break;continue}else for(y=e.scalingRatio,s=0;s0?(E=y*n[s+Le]*n[u+Le]/x/x,n[s+ke]+=_*E,n[s+De]+=b*E,n[u+ke]-=_*E,n[u+De]-=b*E):x<0&&(E=100*y*n[s+Le]*n[u+Le],n[s+ke]+=_*E,n[s+De]+=b*E,n[u+ke]-=_*E,n[u+De]-=b*E)):(x=Math.sqrt(_*_+b*b),x>0&&(E=y*n[s+Le]*n[u+Le]/x/x,n[s+ke]+=_*E,n[s+De]+=b*E,n[u+ke]-=_*E,n[u+De]-=b*E));for(d=e.gravity/e.scalingRatio,y=e.scalingRatio,a=0;a0&&(E=y*n[a+Le]*d):x>0&&(E=y*n[a+Le]*d/x),n[a+ke]-=_*E,n[a+De]-=b*E;for(y=1*(e.outboundAttractionDistribution?p:1),c=0;c0&&(E=-y*T*Math.log(1+x)/x/n[s+Le]):x>0&&(E=-y*T*Math.log(1+x)/x):e.outboundAttractionDistribution?x>0&&(E=-y*T/n[s+Le]):x>0&&(E=-y*T)):(x=Math.sqrt(Math.pow(_,2)+Math.pow(b,2)),e.linLogMode?e.outboundAttractionDistribution?x>0&&(E=-y*T*Math.log(1+x)/x/n[s+Le]):x>0&&(E=-y*T*Math.log(1+x)/x):e.outboundAttractionDistribution?(x=1,E=-y*T/n[s+Le]):(x=1,E=-y*T)),x>0&&(n[s+ke]+=_*E,n[s+De]+=b*E,n[u+ke]-=_*E,n[u+De]-=b*E);var L,V,A,I,G,F;if(w===!0)for(a=0;ahs&&(n[a+ke]=n[a+ke]*hs/L,n[a+De]=n[a+De]*hs/L),V=n[a+Le]*Math.sqrt((n[a+hn]-n[a+ke])*(n[a+hn]-n[a+ke])+(n[a+pn]-n[a+De])*(n[a+pn]-n[a+De])),A=Math.sqrt((n[a+hn]+n[a+ke])*(n[a+hn]+n[a+ke])+(n[a+pn]+n[a+De])*(n[a+pn]+n[a+De]))/2,I=.1*Math.log(1+A)/(1+Math.sqrt(V)),G=n[a+rt]+n[a+ke]*(I/e.slowDown),n[a+rt]=G,F=n[a+Ke]+n[a+De]*(I/e.slowDown),n[a+Ke]=F);else for(a=0;a=0)?{message:"the `scalingRatio` setting should be a number >= 0."}:"strongGravityMode"in t&&typeof t.strongGravityMode!="boolean"?{message:"the `strongGravityMode` setting should be a boolean."}:"gravity"in t&&!(typeof t.gravity=="number"&&t.gravity>=0)?{message:"the `gravity` setting should be a number >= 0."}:"slowDown"in t&&!(typeof t.slowDown=="number"||t.slowDown>=0)?{message:"the `slowDown` setting should be a number >= 0."}:"barnesHutOptimize"in t&&typeof t.barnesHutOptimize!="boolean"?{message:"the `barnesHutOptimize` setting should be a boolean."}:"barnesHutTheta"in t&&!(typeof t.barnesHutTheta=="number"&&t.barnesHutTheta>=0)?{message:"the `barnesHutTheta` setting should be a number >= 0."}:null};zn.graphToByteArrays=function(t,e){var n=t.order,r=t.size,i={},o,a=new Float32Array(n*Ei),s=new Float32Array(r*ec);return o=0,t.forEachNode(function(u,l){i[u]=o,a[o]=l.x,a[o+1]=l.y,a[o+2]=0,a[o+3]=0,a[o+4]=0,a[o+5]=0,a[o+6]=1,a[o+7]=1,a[o+8]=l.size||1,a[o+9]=l.fixed?1:0,o+=Ei}),o=0,t.forEachEdge(function(u,l,c,f,d,h,g){var v=i[c],w=i[f],m=e(u,l,c,f,d,h,g);a[v+6]+=m,a[w+6]+=m,s[o]=v,s[o+1]=w,s[o+2]=m,o+=ec}),{nodes:a,edges:s}};zn.assignLayoutChanges=function(t,e,n){var r=0;t.updateEachNodeAttributes(function(i,o){return o.x=e[r],o.y=e[r+1],r+=Ei,n?n(i,o):o})};zn.readGraphPositions=function(t,e){var n=0;t.forEachNode(function(r,i){e[n]=i.x,e[n+1]=i.y,n+=Ei})};zn.collectLayoutChanges=function(t,e,n){for(var r=t.nodes(),i={},o=0,a=0,s=e.length;o2e3,strongGravityMode:!0,gravity:.05,scalingRatio:10,slowDown:1+Math.log(e)}}var Su=dd.bind(null,!1);Su.assign=dd.bind(null,!0);Su.inferSettings=Qv;var Jv=Su;const e0=It(Jv);var t0=Eu,n0=Gn,r0={dimensions:["x","y"],center:.5,rng:Math.random,scale:1};function hd(t,e,n){if(!n0(e))throw new Error("graphology-layout/random: the given graph is not a valid graphology instance.");n=t0(n,r0);var r=n.dimensions;if(!Array.isArray(r)||r.length<1)throw new Error("graphology-layout/random: given dimensions are invalid.");var i=r.length,o=n.center,a=n.rng,s=n.scale,u=(o-.5)*s;function l(f){for(var d=0;d 4294967295 is not supported.")},t.getSignedPointerArray=function(u){var l=u-1;return l<=i?Int8Array:l<=o?Int16Array:l<=a?Int32Array:Float64Array},t.getNumberType=function(u){return u===(u|0)?Math.sign(u)===-1?u<=127&&u>=-128?Int8Array:u<=32767&&u>=-32768?Int16Array:Int32Array:u<=255?Uint8Array:u<=65535?Uint16Array:Uint32Array:Float64Array};var s={Uint8Array:1,Int8Array:2,Uint16Array:3,Int16Array:4,Uint32Array:5,Int32Array:6,Float32Array:7,Float64Array:8};t.getMinimalRepresentation=function(u,l){var c=null,f=0,d,h,g,v,w;for(v=0,w=u.length;vf&&(f=d,c=h);return c},t.isTypedArray=function(u){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView(u)},t.concat=function(){var u=0,l,c,f;for(l=0,f=arguments.length;le[n]*80}}var y0=Gn;function Dr(t,e,n,r){var i=e+"Centrality";if(!y0(n))throw new Error("graphology-centrality/"+i+": the given graph is not a valid graphology instance.");if(e!=="degree"&&n.type==="undirected")throw new Error("graphology-centrality/"+i+": cannot compute "+e+" centrality on an undirected graph.");r=r||{};var o=r.nodeCentralityAttribute||i,a=n.order-1,s=n[e].bind(n);if(t){n.updateEachNodeAttributes(function(l,c){return c[o]=s(l)/a,c},{attributes:[o]});return}var u={};return n.forEachNode(function(l){u[l]=s(l)/a}),u}var yd=Dr.bind(null,!1,"degree"),_0=Dr.bind(null,!1,"inDegree"),w0=Dr.bind(null,!1,"outDegree");yd.assign=Dr.bind(null,!0,"degree");_0.assign=Dr.bind(null,!0,"inDegree");w0.assign=Dr.bind(null,!0,"outDegree");var b0=yd;function x0({graph:t}){const e=b0(t);return{ranks:e,getSizeForNode:n=>e[n]*20}}function E0({graph:t,attribute:e,defaultSize:n}){const r=new Map;return e?t.forEachNode((i,o)=>{const a=o[e];isNaN(a)&&console.warn(`Attribute ${a} is not a number for node ${o.id}`),r.set(i,a||0)}):console.warn("Attribute sizing configured but no attribute provided"),{getSizeForNode:i=>!e||!r?n:r.get(i)}}function Mo(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function T0(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function _d(t){let e,n,r;t.length!==2?(e=Mo,n=(s,u)=>Mo(t(s),u),r=(s,u)=>t(s)-u):(e=t===Mo||t===T0?t:S0,n=t,r=t);function i(s,u,l=0,c=s.length){if(l>>1;n(s[f],u)<0?l=f+1:c=f}while(l>>1;n(s[f],u)<=0?l=f+1:c=f}while(ll&&r(s[f-1],u)>-r(s[f],u)?f-1:f}return{left:i,center:a,right:o}}function S0(){return 0}function A0(t){return t===null?NaN:+t}const O0=_d(Mo),C0=O0.right;_d(A0).center;const k0=C0,D0=Math.sqrt(50),U0=Math.sqrt(10),I0=Math.sqrt(2);function Bo(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=D0?10:o>=U0?5:o>=I0?2:1;let s,u,l;return i<0?(l=Math.pow(10,-i)/a,s=Math.round(t*l),u=Math.round(e*l),s/le&&--u,l=-l):(l=Math.pow(10,i)*a,s=Math.round(t/l),u=Math.round(e/l),s*le&&--u),u0))return[];if(t===e)return[t];const r=e=i))return[];const s=o-i+1,u=new Array(s);if(r)if(a<0)for(let l=0;l>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?vo(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?vo(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=F0.exec(t))?new At(e[1],e[2],e[3],1):(e=G0.exec(t))?new At(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=z0.exec(t))?vo(e[1],e[2],e[3],e[4]):(e=N0.exec(t))?vo(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=V0.exec(t))?sc(e[1],e[2]/100,e[3]/100,1):(e=B0.exec(t))?sc(e[1],e[2]/100,e[3]/100,e[4]):tc.hasOwnProperty(t)?ic(tc[t]):t==="transparent"?new At(NaN,NaN,NaN,0):null}function ic(t){return new At(t>>16&255,t>>8&255,t&255,1)}function vo(t,e,n,r){return r<=0&&(t=e=n=NaN),new At(t,e,n,r)}function q0(t){return t instanceof Gi||(t=Ai(t)),t?(t=t.rgb(),new At(t.r,t.g,t.b,t.opacity)):new At}function js(t,e,n,r){return arguments.length===1?q0(t):new At(t,e,n,r??1)}function At(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}Cu(At,js,wd(Gi,{brighter(t){return t=t==null?$o:Math.pow($o,t),new At(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Ti:Math.pow(Ti,t),new At(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new At(Hn(this.r),Hn(this.g),Hn(this.b),jo(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:oc,formatHex:oc,formatHex8:W0,formatRgb:ac,toString:ac}));function oc(){return`#${qn(this.r)}${qn(this.g)}${qn(this.b)}`}function W0(){return`#${qn(this.r)}${qn(this.g)}${qn(this.b)}${qn((isNaN(this.opacity)?1:this.opacity)*255)}`}function ac(){const t=jo(this.opacity);return`${t===1?"rgb(":"rgba("}${Hn(this.r)}, ${Hn(this.g)}, ${Hn(this.b)}${t===1?")":`, ${t})`}`}function jo(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Hn(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qn(t){return t=Hn(t),(t<16?"0":"")+t.toString(16)}function sc(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Xt(t,e,n,r)}function bd(t){if(t instanceof Xt)return new Xt(t.h,t.s,t.l,t.opacity);if(t instanceof Gi||(t=Ai(t)),!t)return new Xt;if(t instanceof Xt)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,s=o-i,u=(o+i)/2;return s?(e===o?a=(n-r)/s+(n0&&u<1?0:a,new Xt(a,s,u,t.opacity)}function H0(t,e,n,r){return arguments.length===1?bd(t):new Xt(t,e,n,r??1)}function Xt(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}Cu(Xt,H0,wd(Gi,{brighter(t){return t=t==null?$o:Math.pow($o,t),new Xt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Ti:Math.pow(Ti,t),new Xt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new At(ps(t>=240?t-240:t+120,i,r),ps(t,i,r),ps(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new Xt(uc(this.h),yo(this.s),yo(this.l),jo(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=jo(this.opacity);return`${t===1?"hsl(":"hsla("}${uc(this.h)}, ${yo(this.s)*100}%, ${yo(this.l)*100}%${t===1?")":`, ${t})`}`}}));function uc(t){return t=(t||0)%360,t<0?t+360:t}function yo(t){return Math.max(0,Math.min(1,t||0))}function ps(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const ku=t=>()=>t;function Y0(t,e){return function(n){return t+n*e}}function K0(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function X0(t){return(t=+t)==1?xd:function(e,n){return n-e?K0(e,n,t):ku(isNaN(e)?n:e)}}function xd(t,e){var n=e-t;return n?Y0(t,n):ku(isNaN(t)?e:t)}const lc=function t(e){var n=X0(e);function r(i,o){var a=n((i=js(i)).r,(o=js(o)).r),s=n(i.g,o.g),u=n(i.b,o.b),l=xd(i.opacity,o.opacity);return function(c){return i.r=a(c),i.g=s(c),i.b=u(c),i.opacity=l(c),i+""}}return r.gamma=t,r}(1);function Z0(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(o){for(i=0;in&&(o=e.slice(n,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,u.push({i:a,x:qo(r,i)})),n=gs.lastIndex;return ne&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function ly(t,e,n){var r=t[0],i=t[1],o=e[0],a=e[1];return i2?cy:ly,u=l=null,f}function f(d){return d==null||isNaN(d=+d)?o:(u||(u=s(t.map(r),e,n)))(r(a(d)))}return f.invert=function(d){return a(i((l||(l=s(e,t.map(r),qo)))(d)))},f.domain=function(d){return arguments.length?(t=Array.from(d,sy),c()):t.slice()},f.range=function(d){return arguments.length?(e=Array.from(d),c()):e.slice()},f.rangeRound=function(d){return e=Array.from(d),n=oy,c()},f.clamp=function(d){return arguments.length?(a=d?!0:dr,c()):a!==dr},f.interpolate=function(d){return arguments.length?(n=d,c()):n},f.unknown=function(d){return arguments.length?(o=d,f):o},function(d,h){return r=d,i=h,c()}}function hy(){return dy()(dr,dr)}function py(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Wo(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function xr(t){return t=Wo(Math.abs(t)),t?t[1]:NaN}function gy(t,e){return function(n,r){for(var i=n.length,o=[],a=0,s=t[0],u=0;i>0&&s>0&&(u+s+1>r&&(s=Math.max(1,r-u)),o.push(n.substring(i-=s,i+s)),!((u+=s+1)>r));)s=t[a=(a+1)%t.length];return o.reverse().join(e)}}function my(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var vy=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ho(t){if(!(e=vy.exec(t)))throw new Error("invalid format: "+t);var e;return new Uu({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Ho.prototype=Uu.prototype;function Uu(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}Uu.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function yy(t){e:for(var e=t.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var Ed;function _y(t,e){var n=Wo(t,e);if(!n)return t+"";var r=n[0],i=n[1],o=i-(Ed=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Wo(t,Math.max(0,e+o-1))[0]}function fc(t,e){var n=Wo(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const dc={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:py,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>fc(t*100,e),r:fc,s:_y,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function hc(t){return t}var pc=Array.prototype.map,gc=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function wy(t){var e=t.grouping===void 0||t.thousands===void 0?hc:gy(pc.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",o=t.numerals===void 0?hc:my(pc.call(t.numerals,String)),a=t.percent===void 0?"%":t.percent+"",s=t.minus===void 0?"−":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function l(f){f=Ho(f);var d=f.fill,h=f.align,g=f.sign,v=f.symbol,w=f.zero,m=f.width,p=f.comma,y=f.precision,_=f.trim,b=f.type;b==="n"?(p=!0,b="g"):dc[b]||(y===void 0&&(y=12),_=!0,b="g"),(w||d==="0"&&h==="=")&&(w=!0,d="0",h="=");var T=v==="$"?n:v==="#"&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",x=v==="$"?r:/[%p]/.test(b)?a:"",E=dc[b],S=/[defgprs%]/.test(b);y=y===void 0?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y));function U(D){var O=T,k=x,M,N,B;if(b==="c")k=E(D)+k,D="";else{D=+D;var W=D<0||1/D<0;if(D=isNaN(D)?u:E(Math.abs(D),y),_&&(D=yy(D)),W&&+D==0&&g!=="+"&&(W=!1),O=(W?g==="("?g:s:g==="-"||g==="("?"":g)+O,k=(b==="s"?gc[8+Ed/3]:"")+k+(W&&g==="("?")":""),S){for(M=-1,N=D.length;++MB||B>57){k=(B===46?i+D.slice(M+1):D.slice(M))+k,D=D.slice(0,M);break}}}p&&!w&&(D=e(D,1/0));var J=O.length+D.length+k.length,L=J>1)+O+D+k+L.slice(J);break;default:D=L+O+D+k;break}return o(D)}return U.toString=function(){return f+""},U}function c(f,d){var h=l((f=Ho(f),f.type="f",f)),g=Math.max(-8,Math.min(8,Math.floor(xr(d)/3)))*3,v=Math.pow(10,-g),w=gc[8+g/3];return function(m){return h(v*m)+w}}return{format:l,formatPrefix:c}}var _o,Td,Sd;by({thousands:",",grouping:[3],currency:["$",""]});function by(t){return _o=wy(t),Td=_o.format,Sd=_o.formatPrefix,_o}function xy(t){return Math.max(0,-xr(Math.abs(t)))}function Ey(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(xr(e)/3)))*3-xr(Math.abs(t)))}function Ty(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,xr(e)-xr(t))+1}function Sy(t,e,n,r){var i=P0(t,e,n),o;switch(r=Ho(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(o=Ey(i,a))&&(r.precision=o),Sd(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=Ty(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=xy(i))&&(r.precision=o-(r.type==="%")*2);break}}return Td(r)}function Ay(t){var e=t.domain;return t.ticks=function(n){var r=e();return M0(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return Sy(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,o=r.length-1,a=r[i],s=r[o],u,l,c=10;for(s0;){if(l=$s(a,s,n),l===u)return r[i]=a,r[o]=s,e(r);if(l>0)a=Math.floor(a/l)*l,s=Math.ceil(s/l)*l;else if(l<0)a=Math.ceil(a*l)/l,s=Math.floor(s*l)/l;else break;u=l}return t},t}function Ad(){var t=hy();return t.copy=function(){return fy(t,Ad())},L0.apply(t,arguments),Ay(t)}const ms={pagerank:v0,centrality:x0,attribute:E0,none:({defaultSize:t})=>({getSizeForNode:e=>t})};function Oy({type:t,...e}){var l;const n=(l=ms[t])==null?void 0:l.call(ms,e);if(!n)throw new Error(`Unknown sizing strategy: ${t}`);const{graph:r,minSize:i,maxSize:o}=e,a=new Map;let s,u;if(r.forEachNode((c,f)=>{const d=(f==null?void 0:f.size)||n.getSizeForNode(c);(s===void 0||du)&&(u=d),a.set(c,d)}),t!=="none"){const c=Ad().domain([s,u]).rangeRound([i,o]);for(const[f,d]of a)a.set(f,c(d))}return a}const Cy=20;function ky(t,e){return(n,r)=>e==="all"||e==="nodes"&&n==="node"||e==="edges"&&n==="edge"?!0:e==="auto"&&n==="node"?t<=Cy?!0:r>7:!1}function Od(t,e){switch(e){case"above":return t;case"below":return-t;case"inline":case"natural":default:return 0}}function Dy(t,e,n){t.clear();for(const r of e)try{t.addNode(r.id,r)}catch({message:i}){console.error(`[Graph] ${i}`)}for(const r of n)t.addEdge(r.source,r.target,r);return t}function Uy({graph:t,layout:e,sizingType:n,labelType:r,sizingAttribute:i,defaultNodeSize:o,minNodeSize:a,maxNodeSize:s}){const u=[],l=[],c=new Map,f=Oy({graph:t,type:n,attribute:i,minSize:a,maxSize:s,defaultSize:o}),d=t.nodes.length,h=ky(d,r);return t.forEachNode((g,v)=>{const w=e.getNodePosition(g),{data:m,fill:p,icon:y,label:_,size:b,...T}=v,x=f.get(v.id),E=h("node",x),U=(t.inboundNeighbors(v.id)||[]).map(O=>t.getNodeAttributes(O)),D={...v,size:x,labelVisible:E,label:_,icon:y,fill:p,parents:U,data:{...T,...m??{}},position:{...w,x:w.x||0,y:w.y||0,z:w.z||1}};c.set(v.id,D),u.push(D)}),t.forEachEdge((g,v)=>{const w=c.get(v.source),m=c.get(v.target);if(w&&m){const{data:p,id:y,label:_,size:b,...T}=v,x=h("edge",b);l.push({...v,id:y,label:_,labelVisible:x,size:b,data:{...T,id:y,...p||{}}})}}),{nodes:u,edges:l}}const mc=t=>{let e;const n=new Set,r=(u,l)=>{const c=typeof u=="function"?u(e):u;if(c!==e){const f=e;e=l?c:Object.assign({},e,c),n.forEach(d=>d(e,f))}},i=()=>e,s={setState:r,getState:i,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>n.clear()};return e=t(r,i,s),s},Iy=t=>t?mc(t):mc;var Cd={exports:{}},kd={},Dd={exports:{}},Ud={};/** + * @license React + * use-sync-external-store-shim.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Er=C;function My(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var Py=typeof Object.is=="function"?Object.is:My,Ly=Er.useState,Ry=Er.useEffect,Fy=Er.useLayoutEffect,Gy=Er.useDebugValue;function zy(t,e){var n=e(),r=Ly({inst:{value:n,getSnapshot:e}}),i=r[0].inst,o=r[1];return Fy(function(){i.value=n,i.getSnapshot=e,vs(i)&&o({inst:i})},[t,n,e]),Ry(function(){return vs(i)&&o({inst:i}),t(function(){vs(i)&&o({inst:i})})},[t]),Gy(n),n}function vs(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!Py(t,n)}catch{return!0}}function Ny(t,e){return e()}var Vy=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Ny:zy;Ud.useSyncExternalStore=Er.useSyncExternalStore!==void 0?Er.useSyncExternalStore:Vy;Dd.exports=Ud;var By=Dd.exports;/** + * @license React + * use-sync-external-store-shim/with-selector.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var wa=C,$y=By;function jy(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var qy=typeof Object.is=="function"?Object.is:jy,Wy=$y.useSyncExternalStore,Hy=wa.useRef,Yy=wa.useEffect,Ky=wa.useMemo,Xy=wa.useDebugValue;kd.useSyncExternalStoreWithSelector=function(t,e,n,r,i){var o=Hy(null);if(o.current===null){var a={hasValue:!1,value:null};o.current=a}else a=o.current;o=Ky(function(){function u(h){if(!l){if(l=!0,c=h,h=r(h),i!==void 0&&a.hasValue){var g=a.value;if(i(g,h))return f=g}return f=h}if(g=f,qy(c,h))return g;var v=r(h);return i!==void 0&&i(g,v)?g:(c=h,f=v)}var l=!1,c,f,d=n===void 0?null:n;return[function(){return u(e())},d===null?void 0:function(){return u(d())}]},[e,n,r,i]);var s=Wy(t,o[0],o[1]);return Yy(function(){a.hasValue=!0,a.value=s},[s]),Xy(s),s};Cd.exports=kd;var Zy=Cd.exports;const Qy=It(Zy),{useSyncExternalStoreWithSelector:Jy}=Qy;function Id(t,e=t.getState,n){const r=Jy(t.subscribe,t.getState,t.getServerState||t.getState,e,n);return C.useDebugValue(r),r}const vc=t=>{const e=typeof t=="function"?Iy(t):t,n=(r,i)=>Id(e,r,i);return Object.assign(n,e),n},e1=t=>t?vc(t):vc;var t1=e1;function n1(){const t=C.createContext(void 0);return{Provider:({createStore:i,children:o})=>{const a=C.useRef();return a.current||(a.current=i()),C.createElement(t.Provider,{value:a.current},o)},useStore:(i,o)=>{const a=C.useContext(t);if(!a)throw new Error("Seems like you have not used zustand provider as an ancestor.");return Id(a,i,o)},useStoreApi:()=>{const i=C.useContext(t);if(!i)throw new Error("Seems like you have not used zustand provider as an ancestor.");return C.useMemo(()=>({getState:i.getState,setState:i.setState,subscribe:i.subscribe,destroy:i.destroy}),[i])}}}const Qt={mass:10,tension:1e3,friction:300,precision:.1};function Md(t,e,n){const r=e.getLength(),i=t==="end"?r:r/2,o=t==="end"?n/2:0,a=(i-o)/r,s=e.getPointAt(a),u=e.getTangentAt(a);return[s,u]}function Pd(t){return[t+6,2+t/1.5]}function Ld(t,e,n=0){const r=new Ee(t.x,t.y||0,t.z||0),i=new Ee(e.x,e.y||0,e.z||0),o=new Ee().addVectors(r,i).divideScalar(2);return o.setLength(o.length()+n)}function r1(t,e,n=-1){const r=t.clone(),i=e.clone(),o=new Ee().subVectors(i,r),a=o.length(),s=o.clone().normalize(),u=new Ee().subVectors(i,r).divideScalar(2),l=Math.abs(s.x)%1,c=new Ee(-s.y,s.x-l*s.z,l*s.y).normalize(),f=new Ee().add(r).add(u).add(c.multiplyScalar(a/4).multiplyScalar(n));return[t,f,e]}function Oi(t,e,n,r,i){const o=yc(t,n,e),a=yc(n,t,r);return i?new Np(...r1(o,a)):new Vp(o,a)}function Ci(t){return new Ee(t.position.x,t.position.y,t.position.z||0)}function yc(t,e,n){const r=t.distanceTo(e);return t.clone().add(e.clone().sub(t).multiplyScalar(n/r))}function _c(t){let e=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(let s of t)e=Math.min(e,s.position.x),n=Math.max(n,s.position.x),r=Math.min(r,s.position.y),i=Math.max(i,s.position.y),o=Math.min(o,s.position.z),a=Math.max(a,s.position.z);return{minX:e,maxX:n,minY:r,maxY:i,minZ:o,maxZ:a,x:(n+e)/2,y:(i+r)/2,z:(a+o)/2}}var Iu={exports:{}},vr=typeof Reflect=="object"?Reflect:null,wc=vr&&typeof vr.apply=="function"?vr.apply:function(e,n,r){return Function.prototype.apply.call(e,n,r)},Po;vr&&typeof vr.ownKeys=="function"?Po=vr.ownKeys:Object.getOwnPropertySymbols?Po=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Po=function(e){return Object.getOwnPropertyNames(e)};function i1(t){console&&console.warn&&console.warn(t)}var Rd=Number.isNaN||function(e){return e!==e};function Ne(){Ne.init.call(this)}Iu.exports=Ne;Iu.exports.once=u1;Ne.EventEmitter=Ne;Ne.prototype._events=void 0;Ne.prototype._eventsCount=0;Ne.prototype._maxListeners=void 0;var bc=10;function ba(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(Ne,"defaultMaxListeners",{enumerable:!0,get:function(){return bc},set:function(t){if(typeof t!="number"||t<0||Rd(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");bc=t}});Ne.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Ne.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Rd(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Fd(t){return t._maxListeners===void 0?Ne.defaultMaxListeners:t._maxListeners}Ne.prototype.getMaxListeners=function(){return Fd(this)};Ne.prototype.emit=function(e){for(var n=[],r=1;r0&&(a=n[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var u=o[e];if(u===void 0)return!1;if(typeof u=="function")wc(u,this,n);else for(var l=u.length,c=Bd(u,l),r=0;r0&&a.length>i&&!a.warned){a.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=t,s.type=e,s.count=a.length,i1(s)}return t}Ne.prototype.addListener=function(e,n){return Gd(this,e,n,!1)};Ne.prototype.on=Ne.prototype.addListener;Ne.prototype.prependListener=function(e,n){return Gd(this,e,n,!0)};function o1(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function zd(t,e,n){var r={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},i=o1.bind(r);return i.listener=n,r.wrapFn=i,i}Ne.prototype.once=function(e,n){return ba(n),this.on(e,zd(this,e,n)),this};Ne.prototype.prependOnceListener=function(e,n){return ba(n),this.prependListener(e,zd(this,e,n)),this};Ne.prototype.removeListener=function(e,n){var r,i,o,a,s;if(ba(n),i=this._events,i===void 0)return this;if(r=i[e],r===void 0)return this;if(r===n||r.listener===n)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||n));else if(typeof r!="function"){for(o=-1,a=r.length-1;a>=0;a--)if(r[a]===n||r[a].listener===n){s=r[a].listener,o=a;break}if(o<0)return this;o===0?r.shift():a1(r,o),r.length===1&&(i[e]=r[0]),i.removeListener!==void 0&&this.emit("removeListener",e,s||n)}return this};Ne.prototype.off=Ne.prototype.removeListener;Ne.prototype.removeAllListeners=function(e){var n,r,i;if(r=this._events,r===void 0)return this;if(r.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):r[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete r[e]),this;if(arguments.length===0){var o=Object.keys(r),a;for(i=0;i=0;i--)this.removeListener(e,n[i]);return this};function Nd(t,e,n){var r=t._events;if(r===void 0)return[];var i=r[e];return i===void 0?[]:typeof i=="function"?n?[i.listener||i]:[i]:n?s1(i):Bd(i,i.length)}Ne.prototype.listeners=function(e){return Nd(this,e,!0)};Ne.prototype.rawListeners=function(e){return Nd(this,e,!1)};Ne.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):Vd.call(t,e)};Ne.prototype.listenerCount=Vd;function Vd(t){var e=this._events;if(e!==void 0){var n=e[t];if(typeof n=="function")return 1;if(n!==void 0)return n.length}return 0}Ne.prototype.eventNames=function(){return this._eventsCount>0?Po(this._events):[]};function Bd(t,e){for(var n=new Array(e),r=0;r=e?{done:!0}:{done:!1,value:t[n++]}})};fn.empty=function(){var t=new fn(function(){return{done:!0}});return t};fn.fromSequence=function(t){var e=0,n=t.length;return new fn(function(){return e>=n?{done:!0}:{done:!1,value:t[e++]}})};fn.is=function(t){return t instanceof fn?!0:typeof t=="object"&&t!==null&&typeof t.next=="function"};var xa=fn;const $t=It(xa);var Ea={};Ea.ARRAY_BUFFER_SUPPORT=typeof ArrayBuffer<"u";Ea.SYMBOL_SUPPORT=typeof Symbol<"u";var f1=xa,jd=Ea,d1=jd.ARRAY_BUFFER_SUPPORT,h1=jd.SYMBOL_SUPPORT;function p1(t){return typeof t=="string"||Array.isArray(t)||d1&&ArrayBuffer.isView(t)?f1.fromSequence(t):typeof t!="object"||t===null?null:h1&&typeof t[Symbol.iterator]=="function"?t[Symbol.iterator]():typeof t.next=="function"?t:null}var qd=function(e){var n=p1(e);if(!n)throw new Error("obliterator: target is not iterable nor a valid iterator.");return n},g1=qd,m1=function(e,n){for(var r=arguments.length>1?n:1/0,i=r!==1/0?new Array(r):[],o,a=0,s=g1(e);;){if(a===r)return i;if(o=s.next(),o.done)return a!==n&&(i.length=a),i;i[a++]=o.value}};const Wd=It(m1);var v1=xa,y1=qd,_1=function(){var e=arguments,n=null,r=-1;return new v1(function(){var o=null;do{if(n===null){if(r++,r>=e.length)return{done:!0};n=y1(e[r])}if(o=n.next(),o.done===!0){n=null;continue}break}while(!0);return o})};const yn=It(_1);function w1(){const t=arguments[0];for(let e=1,n=arguments.length;et++}class Mu extends Error{constructor(e){super(),this.name="GraphError",this.message=e}}class ne extends Mu{constructor(e){super(e),this.name="InvalidArgumentsGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ne.prototype.constructor)}}class X extends Mu{constructor(e){super(e),this.name="NotFoundGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,X.prototype.constructor)}}class he extends Mu{constructor(e){super(e),this.name="UsageGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,he.prototype.constructor)}}function Yd(t,e){this.key=t,this.attributes=e,this.clear()}Yd.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.undirectedLoops=0,this.directedLoops=0,this.in={},this.out={},this.undirected={}};function Kd(t,e){this.key=t,this.attributes=e,this.clear()}Kd.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.directedLoops=0,this.in={},this.out={}};function Xd(t,e){this.key=t,this.attributes=e,this.clear()}Xd.prototype.clear=function(){this.undirectedDegree=0,this.undirectedLoops=0,this.undirected={}};function Ur(t,e,n,r,i){this.key=e,this.attributes=i,this.undirected=t,this.source=n,this.target=r}Ur.prototype.attach=function(){let t="out",e="in";this.undirected&&(t=e="undirected");const n=this.source.key,r=this.target.key;this.source[t][r]=this,!(this.undirected&&n===r)&&(this.target[e][n]=this)};Ur.prototype.attachMulti=function(){let t="out",e="in";const n=this.source.key,r=this.target.key;this.undirected&&(t=e="undirected");const i=this.source[t],o=i[r];if(typeof o>"u"){i[r]=this,this.undirected&&n===r||(this.target[e][n]=this);return}o.previous=this,this.next=o,i[r]=this,this.target[e][n]=this};Ur.prototype.detach=function(){const t=this.source.key,e=this.target.key;let n="out",r="in";this.undirected&&(n=r="undirected"),delete this.source[n][e],delete this.target[r][t]};Ur.prototype.detachMulti=function(){const t=this.source.key,e=this.target.key;let n="out",r="in";this.undirected&&(n=r="undirected"),this.previous===void 0?this.next===void 0?(delete this.source[n][e],delete this.target[r][t]):(this.next.previous=void 0,this.source[n][e]=this.next,this.target[r][t]=this.next):(this.previous.next=this.next,this.next!==void 0&&(this.next.previous=this.previous))};const Zd=0,Qd=1,x1=2,Jd=3;function En(t,e,n,r,i,o,a){let s,u,l,c;if(r=""+r,n===Zd){if(s=t._nodes.get(r),!s)throw new X(`Graph.${e}: could not find the "${r}" node in the graph.`);l=i,c=o}else if(n===Jd){if(i=""+i,u=t._edges.get(i),!u)throw new X(`Graph.${e}: could not find the "${i}" edge in the graph.`);const f=u.source.key,d=u.target.key;if(r===f)s=u.target;else if(r===d)s=u.source;else throw new X(`Graph.${e}: the "${r}" node is not attached to the "${i}" edge (${f}, ${d}).`);l=o,c=a}else{if(u=t._edges.get(r),!u)throw new X(`Graph.${e}: could not find the "${r}" edge in the graph.`);n===Qd?s=u.source:s=u.target,l=i,c=o}return[s,l,c]}function E1(t,e,n){t.prototype[e]=function(r,i,o){const[a,s]=En(this,e,n,r,i,o);return a.attributes[s]}}function T1(t,e,n){t.prototype[e]=function(r,i){const[o]=En(this,e,n,r,i);return o.attributes}}function S1(t,e,n){t.prototype[e]=function(r,i,o){const[a,s]=En(this,e,n,r,i,o);return a.attributes.hasOwnProperty(s)}}function A1(t,e,n){t.prototype[e]=function(r,i,o,a){const[s,u,l]=En(this,e,n,r,i,o,a);return s.attributes[u]=l,this.emit("nodeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:u}),this}}function O1(t,e,n){t.prototype[e]=function(r,i,o,a){const[s,u,l]=En(this,e,n,r,i,o,a);if(typeof l!="function")throw new ne(`Graph.${e}: updater should be a function.`);const c=s.attributes,f=l(c[u]);return c[u]=f,this.emit("nodeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:u}),this}}function C1(t,e,n){t.prototype[e]=function(r,i,o){const[a,s]=En(this,e,n,r,i,o);return delete a.attributes[s],this.emit("nodeAttributesUpdated",{key:a.key,type:"remove",attributes:a.attributes,name:s}),this}}function k1(t,e,n){t.prototype[e]=function(r,i,o){const[a,s]=En(this,e,n,r,i,o);if(!pt(s))throw new ne(`Graph.${e}: provided attributes are not a plain object.`);return a.attributes=s,this.emit("nodeAttributesUpdated",{key:a.key,type:"replace",attributes:a.attributes}),this}}function D1(t,e,n){t.prototype[e]=function(r,i,o){const[a,s]=En(this,e,n,r,i,o);if(!pt(s))throw new ne(`Graph.${e}: provided attributes are not a plain object.`);return ot(a.attributes,s),this.emit("nodeAttributesUpdated",{key:a.key,type:"merge",attributes:a.attributes,data:s}),this}}function U1(t,e,n){t.prototype[e]=function(r,i,o){const[a,s]=En(this,e,n,r,i,o);if(typeof s!="function")throw new ne(`Graph.${e}: provided updater is not a function.`);return a.attributes=s(a.attributes),this.emit("nodeAttributesUpdated",{key:a.key,type:"update",attributes:a.attributes}),this}}const I1=[{name:t=>`get${t}Attribute`,attacher:E1},{name:t=>`get${t}Attributes`,attacher:T1},{name:t=>`has${t}Attribute`,attacher:S1},{name:t=>`set${t}Attribute`,attacher:A1},{name:t=>`update${t}Attribute`,attacher:O1},{name:t=>`remove${t}Attribute`,attacher:C1},{name:t=>`replace${t}Attributes`,attacher:k1},{name:t=>`merge${t}Attributes`,attacher:D1},{name:t=>`update${t}Attributes`,attacher:U1}];function M1(t){I1.forEach(function({name:e,attacher:n}){n(t,e("Node"),Zd),n(t,e("Source"),Qd),n(t,e("Target"),x1),n(t,e("Opposite"),Jd)})}function P1(t,e,n){t.prototype[e]=function(r,i){let o;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new he(`Graph.${e}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new he(`Graph.${e}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const a=""+r,s=""+i;if(i=arguments[2],o=Bt(this,a,s,n),!o)throw new X(`Graph.${e}: could not find an edge for the given path ("${a}" - "${s}").`)}else{if(n!=="mixed")throw new he(`Graph.${e}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,o=this._edges.get(r),!o)throw new X(`Graph.${e}: could not find the "${r}" edge in the graph.`)}return o.attributes[i]}}function L1(t,e,n){t.prototype[e]=function(r){let i;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new he(`Graph.${e}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>1){if(this.multi)throw new he(`Graph.${e}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const o=""+r,a=""+arguments[1];if(i=Bt(this,o,a,n),!i)throw new X(`Graph.${e}: could not find an edge for the given path ("${o}" - "${a}").`)}else{if(n!=="mixed")throw new he(`Graph.${e}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,i=this._edges.get(r),!i)throw new X(`Graph.${e}: could not find the "${r}" edge in the graph.`)}return i.attributes}}function R1(t,e,n){t.prototype[e]=function(r,i){let o;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new he(`Graph.${e}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new he(`Graph.${e}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const a=""+r,s=""+i;if(i=arguments[2],o=Bt(this,a,s,n),!o)throw new X(`Graph.${e}: could not find an edge for the given path ("${a}" - "${s}").`)}else{if(n!=="mixed")throw new he(`Graph.${e}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,o=this._edges.get(r),!o)throw new X(`Graph.${e}: could not find the "${r}" edge in the graph.`)}return o.attributes.hasOwnProperty(i)}}function F1(t,e,n){t.prototype[e]=function(r,i,o){let a;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new he(`Graph.${e}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>3){if(this.multi)throw new he(`Graph.${e}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const s=""+r,u=""+i;if(i=arguments[2],o=arguments[3],a=Bt(this,s,u,n),!a)throw new X(`Graph.${e}: could not find an edge for the given path ("${s}" - "${u}").`)}else{if(n!=="mixed")throw new he(`Graph.${e}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,a=this._edges.get(r),!a)throw new X(`Graph.${e}: could not find the "${r}" edge in the graph.`)}return a.attributes[i]=o,this.emit("edgeAttributesUpdated",{key:a.key,type:"set",attributes:a.attributes,name:i}),this}}function G1(t,e,n){t.prototype[e]=function(r,i,o){let a;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new he(`Graph.${e}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>3){if(this.multi)throw new he(`Graph.${e}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const s=""+r,u=""+i;if(i=arguments[2],o=arguments[3],a=Bt(this,s,u,n),!a)throw new X(`Graph.${e}: could not find an edge for the given path ("${s}" - "${u}").`)}else{if(n!=="mixed")throw new he(`Graph.${e}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,a=this._edges.get(r),!a)throw new X(`Graph.${e}: could not find the "${r}" edge in the graph.`)}if(typeof o!="function")throw new ne(`Graph.${e}: updater should be a function.`);return a.attributes[i]=o(a.attributes[i]),this.emit("edgeAttributesUpdated",{key:a.key,type:"set",attributes:a.attributes,name:i}),this}}function z1(t,e,n){t.prototype[e]=function(r,i){let o;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new he(`Graph.${e}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new he(`Graph.${e}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const a=""+r,s=""+i;if(i=arguments[2],o=Bt(this,a,s,n),!o)throw new X(`Graph.${e}: could not find an edge for the given path ("${a}" - "${s}").`)}else{if(n!=="mixed")throw new he(`Graph.${e}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,o=this._edges.get(r),!o)throw new X(`Graph.${e}: could not find the "${r}" edge in the graph.`)}return delete o.attributes[i],this.emit("edgeAttributesUpdated",{key:o.key,type:"remove",attributes:o.attributes,name:i}),this}}function N1(t,e,n){t.prototype[e]=function(r,i){let o;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new he(`Graph.${e}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new he(`Graph.${e}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const a=""+r,s=""+i;if(i=arguments[2],o=Bt(this,a,s,n),!o)throw new X(`Graph.${e}: could not find an edge for the given path ("${a}" - "${s}").`)}else{if(n!=="mixed")throw new he(`Graph.${e}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,o=this._edges.get(r),!o)throw new X(`Graph.${e}: could not find the "${r}" edge in the graph.`)}if(!pt(i))throw new ne(`Graph.${e}: provided attributes are not a plain object.`);return o.attributes=i,this.emit("edgeAttributesUpdated",{key:o.key,type:"replace",attributes:o.attributes}),this}}function V1(t,e,n){t.prototype[e]=function(r,i){let o;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new he(`Graph.${e}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new he(`Graph.${e}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const a=""+r,s=""+i;if(i=arguments[2],o=Bt(this,a,s,n),!o)throw new X(`Graph.${e}: could not find an edge for the given path ("${a}" - "${s}").`)}else{if(n!=="mixed")throw new he(`Graph.${e}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,o=this._edges.get(r),!o)throw new X(`Graph.${e}: could not find the "${r}" edge in the graph.`)}if(!pt(i))throw new ne(`Graph.${e}: provided attributes are not a plain object.`);return ot(o.attributes,i),this.emit("edgeAttributesUpdated",{key:o.key,type:"merge",attributes:o.attributes,data:i}),this}}function B1(t,e,n){t.prototype[e]=function(r,i){let o;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new he(`Graph.${e}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new he(`Graph.${e}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const a=""+r,s=""+i;if(i=arguments[2],o=Bt(this,a,s,n),!o)throw new X(`Graph.${e}: could not find an edge for the given path ("${a}" - "${s}").`)}else{if(n!=="mixed")throw new he(`Graph.${e}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,o=this._edges.get(r),!o)throw new X(`Graph.${e}: could not find the "${r}" edge in the graph.`)}if(typeof i!="function")throw new ne(`Graph.${e}: provided updater is not a function.`);return o.attributes=i(o.attributes),this.emit("edgeAttributesUpdated",{key:o.key,type:"update",attributes:o.attributes}),this}}const $1=[{name:t=>`get${t}Attribute`,attacher:P1},{name:t=>`get${t}Attributes`,attacher:L1},{name:t=>`has${t}Attribute`,attacher:R1},{name:t=>`set${t}Attribute`,attacher:F1},{name:t=>`update${t}Attribute`,attacher:G1},{name:t=>`remove${t}Attribute`,attacher:z1},{name:t=>`replace${t}Attributes`,attacher:N1},{name:t=>`merge${t}Attributes`,attacher:V1},{name:t=>`update${t}Attributes`,attacher:B1}];function j1(t){$1.forEach(function({name:e,attacher:n}){n(t,e("Edge"),"mixed"),n(t,e("DirectedEdge"),"directed"),n(t,e("UndirectedEdge"),"undirected")})}const q1=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function W1(t,e,n,r){let i=!1;for(const o in e){if(o===r)continue;const a=e[o];if(i=n(a.key,a.attributes,a.source.key,a.target.key,a.source.attributes,a.target.attributes,a.undirected),t&&i)return a.key}}function H1(t,e,n,r){let i,o,a,s=!1;for(const u in e)if(u!==r){i=e[u];do{if(o=i.source,a=i.target,s=n(i.key,i.attributes,o.key,a.key,o.attributes,a.attributes,i.undirected),t&&s)return i.key;i=i.next}while(i!==void 0)}}function ys(t,e){const n=Object.keys(t),r=n.length;let i,o=0;return new $t(function(){do if(i)i=i.next;else{if(o>=r)return{done:!0};const s=n[o++];if(s===e){i=void 0;continue}i=t[s]}while(!i);return{done:!1,value:{edge:i.key,attributes:i.attributes,source:i.source.key,target:i.target.key,sourceAttributes:i.source.attributes,targetAttributes:i.target.attributes,undirected:i.undirected}}})}function Y1(t,e,n,r){const i=e[n];if(!i)return;const o=i.source,a=i.target;if(r(i.key,i.attributes,o.key,a.key,o.attributes,a.attributes,i.undirected)&&t)return i.key}function K1(t,e,n,r){let i=e[n];if(!i)return;let o=!1;do{if(o=r(i.key,i.attributes,i.source.key,i.target.key,i.source.attributes,i.target.attributes,i.undirected),t&&o)return i.key;i=i.next}while(i!==void 0)}function _s(t,e){let n=t[e];return n.next!==void 0?new $t(function(){if(!n)return{done:!0};const r={edge:n.key,attributes:n.attributes,source:n.source.key,target:n.target.key,sourceAttributes:n.source.attributes,targetAttributes:n.target.attributes,undirected:n.undirected};return n=n.next,{done:!1,value:r}}):$t.of({edge:n.key,attributes:n.attributes,source:n.source.key,target:n.target.key,sourceAttributes:n.source.attributes,targetAttributes:n.target.attributes,undirected:n.undirected})}function X1(t,e){if(t.size===0)return[];if(e==="mixed"||e===t.type)return typeof Array.from=="function"?Array.from(t._edges.keys()):Wd(t._edges.keys(),t._edges.size);const n=e==="undirected"?t.undirectedSize:t.directedSize,r=new Array(n),i=e==="undirected",o=t._edges.values();let a=0,s,u;for(;s=o.next(),s.done!==!0;)u=s.value,u.undirected===i&&(r[a++]=u.key);return r}function eh(t,e,n,r){if(e.size===0)return;const i=n!=="mixed"&&n!==e.type,o=n==="undirected";let a,s,u=!1;const l=e._edges.values();for(;a=l.next(),a.done!==!0;){if(s=a.value,i&&s.undirected!==o)continue;const{key:c,attributes:f,source:d,target:h}=s;if(u=r(c,f,d.key,h.key,d.attributes,h.attributes,s.undirected),t&&u)return c}}function Z1(t,e){if(t.size===0)return $t.empty();const n=e!=="mixed"&&e!==t.type,r=e==="undirected",i=t._edges.values();return new $t(function(){let a,s;for(;;){if(a=i.next(),a.done)return a;if(s=a.value,!(n&&s.undirected!==r))break}return{value:{edge:s.key,attributes:s.attributes,source:s.source.key,target:s.target.key,sourceAttributes:s.source.attributes,targetAttributes:s.target.attributes,undirected:s.undirected},done:!1}})}function Pu(t,e,n,r,i,o){const a=e?H1:W1;let s;if(n!=="undirected"&&(r!=="out"&&(s=a(t,i.in,o),t&&s)||r!=="in"&&(s=a(t,i.out,o,r?void 0:i.key),t&&s))||n!=="directed"&&(s=a(t,i.undirected,o),t&&s))return s}function Q1(t,e,n,r){const i=[];return Pu(!1,t,e,n,r,function(o){i.push(o)}),i}function J1(t,e,n){let r=$t.empty();return t!=="undirected"&&(e!=="out"&&typeof n.in<"u"&&(r=yn(r,ys(n.in))),e!=="in"&&typeof n.out<"u"&&(r=yn(r,ys(n.out,e?void 0:n.key)))),t!=="directed"&&typeof n.undirected<"u"&&(r=yn(r,ys(n.undirected))),r}function Lu(t,e,n,r,i,o,a){const s=n?K1:Y1;let u;if(e!=="undirected"&&(typeof i.in<"u"&&r!=="out"&&(u=s(t,i.in,o,a),t&&u)||typeof i.out<"u"&&r!=="in"&&(r||i.key!==o)&&(u=s(t,i.out,o,a),t&&u))||e!=="directed"&&typeof i.undirected<"u"&&(u=s(t,i.undirected,o,a),t&&u))return u}function e_(t,e,n,r,i){const o=[];return Lu(!1,t,e,n,r,i,function(a){o.push(a)}),o}function t_(t,e,n,r){let i=$t.empty();return t!=="undirected"&&(typeof n.in<"u"&&e!=="out"&&r in n.in&&(i=yn(i,_s(n.in,r))),typeof n.out<"u"&&e!=="in"&&r in n.out&&(e||n.key!==r)&&(i=yn(i,_s(n.out,r)))),t!=="directed"&&typeof n.undirected<"u"&&r in n.undirected&&(i=yn(i,_s(n.undirected,r))),i}function n_(t,e){const{name:n,type:r,direction:i}=e;t.prototype[n]=function(o,a){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return[];if(!arguments.length)return X1(this,r);if(arguments.length===1){o=""+o;const s=this._nodes.get(o);if(typeof s>"u")throw new X(`Graph.${n}: could not find the "${o}" node in the graph.`);return Q1(this.multi,r==="mixed"?this.type:r,i,s)}if(arguments.length===2){o=""+o,a=""+a;const s=this._nodes.get(o);if(!s)throw new X(`Graph.${n}: could not find the "${o}" source node in the graph.`);if(!this._nodes.has(a))throw new X(`Graph.${n}: could not find the "${a}" target node in the graph.`);return e_(r,this.multi,i,s,a)}throw new ne(`Graph.${n}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`)}}function r_(t,e){const{name:n,type:r,direction:i}=e,o="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[o]=function(l,c,f){if(!(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)){if(arguments.length===1)return f=l,eh(!1,this,r,f);if(arguments.length===2){l=""+l,f=c;const d=this._nodes.get(l);if(typeof d>"u")throw new X(`Graph.${o}: could not find the "${l}" node in the graph.`);return Pu(!1,this.multi,r==="mixed"?this.type:r,i,d,f)}if(arguments.length===3){l=""+l,c=""+c;const d=this._nodes.get(l);if(!d)throw new X(`Graph.${o}: could not find the "${l}" source node in the graph.`);if(!this._nodes.has(c))throw new X(`Graph.${o}: could not find the "${c}" target node in the graph.`);return Lu(!1,r,this.multi,i,d,c,f)}throw new ne(`Graph.${o}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`)}};const a="map"+n[0].toUpperCase()+n.slice(1);t.prototype[a]=function(){const l=Array.prototype.slice.call(arguments),c=l.pop();let f;if(l.length===0){let d=0;r!=="directed"&&(d+=this.undirectedSize),r!=="undirected"&&(d+=this.directedSize),f=new Array(d);let h=0;l.push((g,v,w,m,p,y,_)=>{f[h++]=c(g,v,w,m,p,y,_)})}else f=[],l.push((d,h,g,v,w,m,p)=>{f.push(c(d,h,g,v,w,m,p))});return this[o].apply(this,l),f};const s="filter"+n[0].toUpperCase()+n.slice(1);t.prototype[s]=function(){const l=Array.prototype.slice.call(arguments),c=l.pop(),f=[];return l.push((d,h,g,v,w,m,p)=>{c(d,h,g,v,w,m,p)&&f.push(d)}),this[o].apply(this,l),f};const u="reduce"+n[0].toUpperCase()+n.slice(1);t.prototype[u]=function(){let l=Array.prototype.slice.call(arguments);if(l.length<2||l.length>4)throw new ne(`Graph.${u}: invalid number of arguments (expecting 2, 3 or 4 and got ${l.length}).`);if(typeof l[l.length-1]=="function"&&typeof l[l.length-2]!="function")throw new ne(`Graph.${u}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`);let c,f;l.length===2?(c=l[0],f=l[1],l=[]):l.length===3?(c=l[1],f=l[2],l=[l[0]]):l.length===4&&(c=l[2],f=l[3],l=[l[0],l[1]]);let d=f;return l.push((h,g,v,w,m,p,y)=>{d=c(d,h,g,v,w,m,p,y)}),this[o].apply(this,l),d}}function i_(t,e){const{name:n,type:r,direction:i}=e,o="find"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[o]=function(u,l,c){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return!1;if(arguments.length===1)return c=u,eh(!0,this,r,c);if(arguments.length===2){u=""+u,c=l;const f=this._nodes.get(u);if(typeof f>"u")throw new X(`Graph.${o}: could not find the "${u}" node in the graph.`);return Pu(!0,this.multi,r==="mixed"?this.type:r,i,f,c)}if(arguments.length===3){u=""+u,l=""+l;const f=this._nodes.get(u);if(!f)throw new X(`Graph.${o}: could not find the "${u}" source node in the graph.`);if(!this._nodes.has(l))throw new X(`Graph.${o}: could not find the "${l}" target node in the graph.`);return Lu(!0,r,this.multi,i,f,l,c)}throw new ne(`Graph.${o}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`)};const a="some"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[a]=function(){const u=Array.prototype.slice.call(arguments),l=u.pop();return u.push((f,d,h,g,v,w,m)=>l(f,d,h,g,v,w,m)),!!this[o].apply(this,u)};const s="every"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(){const u=Array.prototype.slice.call(arguments),l=u.pop();return u.push((f,d,h,g,v,w,m)=>!l(f,d,h,g,v,w,m)),!this[o].apply(this,u)}}function o_(t,e){const{name:n,type:r,direction:i}=e,o=n.slice(0,-1)+"Entries";t.prototype[o]=function(a,s){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return $t.empty();if(!arguments.length)return Z1(this,r);if(arguments.length===1){a=""+a;const u=this._nodes.get(a);if(!u)throw new X(`Graph.${o}: could not find the "${a}" node in the graph.`);return J1(r,i,u)}if(arguments.length===2){a=""+a,s=""+s;const u=this._nodes.get(a);if(!u)throw new X(`Graph.${o}: could not find the "${a}" source node in the graph.`);if(!this._nodes.has(s))throw new X(`Graph.${o}: could not find the "${s}" target node in the graph.`);return t_(r,i,u,s)}throw new ne(`Graph.${o}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`)}}function a_(t){q1.forEach(e=>{n_(t,e),r_(t,e),i_(t,e),o_(t,e)})}const s_=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Ta(){this.A=null,this.B=null}Ta.prototype.wrap=function(t){this.A===null?this.A=t:this.B===null&&(this.B=t)};Ta.prototype.has=function(t){return this.A!==null&&t in this.A||this.B!==null&&t in this.B};function ti(t,e,n,r,i){for(const o in r){const a=r[o],s=a.source,u=a.target,l=s===n?u:s;if(e&&e.has(l.key))continue;const c=i(l.key,l.attributes);if(t&&c)return l.key}}function Ru(t,e,n,r,i){if(e!=="mixed"){if(e==="undirected")return ti(t,null,r,r.undirected,i);if(typeof n=="string")return ti(t,null,r,r[n],i)}const o=new Ta;let a;if(e!=="undirected"){if(n!=="out"){if(a=ti(t,null,r,r.in,i),t&&a)return a;o.wrap(r.in)}if(n!=="in"){if(a=ti(t,o,r,r.out,i),t&&a)return a;o.wrap(r.out)}}if(e!=="directed"&&(a=ti(t,o,r,r.undirected,i),t&&a))return a}function u_(t,e,n){if(t!=="mixed"){if(t==="undirected")return Object.keys(n.undirected);if(typeof e=="string")return Object.keys(n[e])}const r=[];return Ru(!1,t,e,n,function(i){r.push(i)}),r}function ni(t,e,n){const r=Object.keys(n),i=r.length;let o=0;return new $t(function(){let s=null;do{if(o>=i)return t&&t.wrap(n),{done:!0};const u=n[r[o++]],l=u.source,c=u.target;if(s=l===e?c:l,t&&t.has(s.key)){s=null;continue}}while(s===null);return{done:!1,value:{neighbor:s.key,attributes:s.attributes}}})}function l_(t,e,n){if(t!=="mixed"){if(t==="undirected")return ni(null,n,n.undirected);if(typeof e=="string")return ni(null,n,n[e])}let r=$t.empty();const i=new Ta;return t!=="undirected"&&(e!=="out"&&(r=yn(r,ni(i,n,n.in))),e!=="in"&&(r=yn(r,ni(i,n,n.out)))),t!=="directed"&&(r=yn(r,ni(i,n,n.undirected))),r}function c_(t,e){const{name:n,type:r,direction:i}=e;t.prototype[n]=function(o){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return[];o=""+o;const a=this._nodes.get(o);if(typeof a>"u")throw new X(`Graph.${n}: could not find the "${o}" node in the graph.`);return u_(r==="mixed"?this.type:r,i,a)}}function f_(t,e){const{name:n,type:r,direction:i}=e,o="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[o]=function(l,c){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return;l=""+l;const f=this._nodes.get(l);if(typeof f>"u")throw new X(`Graph.${o}: could not find the "${l}" node in the graph.`);Ru(!1,r==="mixed"?this.type:r,i,f,c)};const a="map"+n[0].toUpperCase()+n.slice(1);t.prototype[a]=function(l,c){const f=[];return this[o](l,(d,h)=>{f.push(c(d,h))}),f};const s="filter"+n[0].toUpperCase()+n.slice(1);t.prototype[s]=function(l,c){const f=[];return this[o](l,(d,h)=>{c(d,h)&&f.push(d)}),f};const u="reduce"+n[0].toUpperCase()+n.slice(1);t.prototype[u]=function(l,c,f){if(arguments.length<3)throw new ne(`Graph.${u}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`);let d=f;return this[o](l,(h,g)=>{d=c(d,h,g)}),d}}function d_(t,e){const{name:n,type:r,direction:i}=e,o=n[0].toUpperCase()+n.slice(1,-1),a="find"+o;t.prototype[a]=function(l,c){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return;l=""+l;const f=this._nodes.get(l);if(typeof f>"u")throw new X(`Graph.${a}: could not find the "${l}" node in the graph.`);return Ru(!0,r==="mixed"?this.type:r,i,f,c)};const s="some"+o;t.prototype[s]=function(l,c){return!!this[a](l,c)};const u="every"+o;t.prototype[u]=function(l,c){return!this[a](l,(d,h)=>!c(d,h))}}function h_(t,e){const{name:n,type:r,direction:i}=e,o=n.slice(0,-1)+"Entries";t.prototype[o]=function(a){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return $t.empty();a=""+a;const s=this._nodes.get(a);if(typeof s>"u")throw new X(`Graph.${o}: could not find the "${a}" node in the graph.`);return l_(r==="mixed"?this.type:r,i,s)}}function p_(t){s_.forEach(e=>{c_(t,e),f_(t,e),d_(t,e),h_(t,e)})}function wo(t,e,n,r,i){const o=r._nodes.values(),a=r.type;let s,u,l,c,f,d,h;for(;s=o.next(),s.done!==!0;){let g=!1;if(u=s.value,a!=="undirected"){c=u.out;for(l in c){f=c[l];do{if(d=f.target,g=!0,h=i(u.key,d.key,u.attributes,d.attributes,f.key,f.attributes,f.undirected),t&&h)return f;f=f.next}while(f)}}if(a!=="directed"){c=u.undirected;for(l in c)if(!(e&&u.key>l)){f=c[l];do{if(d=f.target,d.key!==l&&(d=f.source),g=!0,h=i(u.key,d.key,u.attributes,d.attributes,f.key,f.attributes,f.undirected),t&&h)return f;f=f.next}while(f)}}if(n&&!g&&(h=i(u.key,null,u.attributes,null,null,null,null),t&&h))return null}}function g_(t,e){const n={key:t};return Hd(e.attributes)||(n.attributes=ot({},e.attributes)),n}function m_(t,e,n){const r={key:e,source:n.source.key,target:n.target.key};return Hd(n.attributes)||(r.attributes=ot({},n.attributes)),t==="mixed"&&n.undirected&&(r.undirected=!0),r}function v_(t){if(!pt(t))throw new ne('Graph.import: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if(!("key"in t))throw new ne("Graph.import: serialized node is missing its key.");if("attributes"in t&&(!pt(t.attributes)||t.attributes===null))throw new ne("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.")}function y_(t){if(!pt(t))throw new ne('Graph.import: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if(!("source"in t))throw new ne("Graph.import: serialized edge is missing its source.");if(!("target"in t))throw new ne("Graph.import: serialized edge is missing its target.");if("attributes"in t&&(!pt(t.attributes)||t.attributes===null))throw new ne("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.");if("undirected"in t&&typeof t.undirected!="boolean")throw new ne("Graph.import: invalid undirectedness information. Undirected should be boolean or omitted.")}const __=b1(),w_=new Set(["directed","undirected","mixed"]),Ec=new Set(["domain","_events","_eventsCount","_maxListeners"]),b_=[{name:t=>`${t}Edge`,generateKey:!0},{name:t=>`${t}DirectedEdge`,generateKey:!0,type:"directed"},{name:t=>`${t}UndirectedEdge`,generateKey:!0,type:"undirected"},{name:t=>`${t}EdgeWithKey`},{name:t=>`${t}DirectedEdgeWithKey`,type:"directed"},{name:t=>`${t}UndirectedEdgeWithKey`,type:"undirected"}],x_={allowSelfLoops:!0,multi:!1,type:"mixed"};function E_(t,e,n){if(n&&!pt(n))throw new ne(`Graph.addNode: invalid attributes. Expecting an object but got "${n}"`);if(e=""+e,n=n||{},t._nodes.has(e))throw new he(`Graph.addNode: the "${e}" node already exist in the graph.`);const r=new t.NodeDataClass(e,n);return t._nodes.set(e,r),t.emit("nodeAdded",{key:e,attributes:n}),r}function Tc(t,e,n){const r=new t.NodeDataClass(e,n);return t._nodes.set(e,r),t.emit("nodeAdded",{key:e,attributes:n}),r}function th(t,e,n,r,i,o,a,s){if(!r&&t.type==="undirected")throw new he(`Graph.${e}: you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead.`);if(r&&t.type==="directed")throw new he(`Graph.${e}: you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead.`);if(s&&!pt(s))throw new ne(`Graph.${e}: invalid attributes. Expecting an object but got "${s}"`);if(o=""+o,a=""+a,s=s||{},!t.allowSelfLoops&&o===a)throw new he(`Graph.${e}: source & target are the same ("${o}"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`);const u=t._nodes.get(o),l=t._nodes.get(a);if(!u)throw new X(`Graph.${e}: source node "${o}" not found.`);if(!l)throw new X(`Graph.${e}: target node "${a}" not found.`);const c={key:null,undirected:r,source:o,target:a,attributes:s};if(n)i=t._edgeKeyGenerator();else if(i=""+i,t._edges.has(i))throw new he(`Graph.${e}: the "${i}" edge already exists in the graph.`);if(!t.multi&&(r?typeof u.undirected[a]<"u":typeof u.out[a]<"u"))throw new he(`Graph.${e}: an edge linking "${o}" to "${a}" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option.`);const f=new Ur(r,i,u,l,s);t._edges.set(i,f);const d=o===a;return r?(u.undirectedDegree++,l.undirectedDegree++,d&&(u.undirectedLoops++,t._undirectedSelfLoopCount++)):(u.outDegree++,l.inDegree++,d&&(u.directedLoops++,t._directedSelfLoopCount++)),t.multi?f.attachMulti():f.attach(),r?t._undirectedSize++:t._directedSize++,c.key=i,t.emit("edgeAdded",c),i}function T_(t,e,n,r,i,o,a,s,u){if(!r&&t.type==="undirected")throw new he(`Graph.${e}: you cannot merge/update a directed edge to an undirected graph. Use the #.mergeEdge/#.updateEdge or #.addUndirectedEdge instead.`);if(r&&t.type==="directed")throw new he(`Graph.${e}: you cannot merge/update an undirected edge to a directed graph. Use the #.mergeEdge/#.updateEdge or #.addDirectedEdge instead.`);if(s){if(u){if(typeof s!="function")throw new ne(`Graph.${e}: invalid updater function. Expecting a function but got "${s}"`)}else if(!pt(s))throw new ne(`Graph.${e}: invalid attributes. Expecting an object but got "${s}"`)}o=""+o,a=""+a;let l;if(u&&(l=s,s=void 0),!t.allowSelfLoops&&o===a)throw new he(`Graph.${e}: source & target are the same ("${o}"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`);let c=t._nodes.get(o),f=t._nodes.get(a),d,h;if(!n&&(d=t._edges.get(i),d)){if((d.source.key!==o||d.target.key!==a)&&(!r||d.source.key!==a||d.target.key!==o))throw new he(`Graph.${e}: inconsistency detected when attempting to merge the "${i}" edge with "${o}" source & "${a}" target vs. ("${d.source.key}", "${d.target.key}").`);h=d}if(!h&&!t.multi&&c&&(h=r?c.undirected[a]:c.out[a]),h){const p=[h.key,!1,!1,!1];if(u?!l:!s)return p;if(u){const y=h.attributes;h.attributes=l(y),t.emit("edgeAttributesUpdated",{type:"replace",key:h.key,attributes:h.attributes})}else ot(h.attributes,s),t.emit("edgeAttributesUpdated",{type:"merge",key:h.key,attributes:h.attributes,data:s});return p}s=s||{},u&&l&&(s=l(s));const g={key:null,undirected:r,source:o,target:a,attributes:s};if(n)i=t._edgeKeyGenerator();else if(i=""+i,t._edges.has(i))throw new he(`Graph.${e}: the "${i}" edge already exists in the graph.`);let v=!1,w=!1;c||(c=Tc(t,o,{}),v=!0,o===a&&(f=c,w=!0)),f||(f=Tc(t,a,{}),w=!0),d=new Ur(r,i,c,f,s),t._edges.set(i,d);const m=o===a;return r?(c.undirectedDegree++,f.undirectedDegree++,m&&(c.undirectedLoops++,t._undirectedSelfLoopCount++)):(c.outDegree++,f.inDegree++,m&&(c.directedLoops++,t._directedSelfLoopCount++)),t.multi?d.attachMulti():d.attach(),r?t._undirectedSize++:t._directedSize++,g.key=i,t.emit("edgeAdded",g),[i,!0,v,w]}function or(t,e){t._edges.delete(e.key);const{source:n,target:r,attributes:i}=e,o=e.undirected,a=n===r;o?(n.undirectedDegree--,r.undirectedDegree--,a&&(n.undirectedLoops--,t._undirectedSelfLoopCount--)):(n.outDegree--,r.inDegree--,a&&(n.directedLoops--,t._directedSelfLoopCount--)),t.multi?e.detachMulti():e.detach(),o?t._undirectedSize--:t._directedSize--,t.emit("edgeDropped",{key:e.key,attributes:i,source:n.key,target:r.key,undirected:o})}class Ve extends c1.EventEmitter{constructor(e){if(super(),e=ot({},x_,e),typeof e.multi!="boolean")throw new ne(`Graph.constructor: invalid 'multi' option. Expecting a boolean but got "${e.multi}".`);if(!w_.has(e.type))throw new ne(`Graph.constructor: invalid 'type' option. Should be one of "mixed", "directed" or "undirected" but got "${e.type}".`);if(typeof e.allowSelfLoops!="boolean")throw new ne(`Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got "${e.allowSelfLoops}".`);const n=e.type==="mixed"?Yd:e.type==="directed"?Kd:Xd;Pt(this,"NodeDataClass",n);const r="geid_"+__()+"_";let i=0;const o=()=>{let a;do a=r+i++;while(this._edges.has(a));return a};Pt(this,"_attributes",{}),Pt(this,"_nodes",new Map),Pt(this,"_edges",new Map),Pt(this,"_directedSize",0),Pt(this,"_undirectedSize",0),Pt(this,"_directedSelfLoopCount",0),Pt(this,"_undirectedSelfLoopCount",0),Pt(this,"_edgeKeyGenerator",o),Pt(this,"_options",e),Ec.forEach(a=>Pt(this,a,this[a])),Yt(this,"order",()=>this._nodes.size),Yt(this,"size",()=>this._edges.size),Yt(this,"directedSize",()=>this._directedSize),Yt(this,"undirectedSize",()=>this._undirectedSize),Yt(this,"selfLoopCount",()=>this._directedSelfLoopCount+this._undirectedSelfLoopCount),Yt(this,"directedSelfLoopCount",()=>this._directedSelfLoopCount),Yt(this,"undirectedSelfLoopCount",()=>this._undirectedSelfLoopCount),Yt(this,"multi",this._options.multi),Yt(this,"type",this._options.type),Yt(this,"allowSelfLoops",this._options.allowSelfLoops),Yt(this,"implementation",()=>"graphology")}_resetInstanceCounters(){this._directedSize=0,this._undirectedSize=0,this._directedSelfLoopCount=0,this._undirectedSelfLoopCount=0}hasNode(e){return this._nodes.has(""+e)}hasDirectedEdge(e,n){if(this.type==="undirected")return!1;if(arguments.length===1){const r=""+e,i=this._edges.get(r);return!!i&&!i.undirected}else if(arguments.length===2){e=""+e,n=""+n;const r=this._nodes.get(e);return r?r.out.hasOwnProperty(n):!1}throw new ne(`Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}hasUndirectedEdge(e,n){if(this.type==="directed")return!1;if(arguments.length===1){const r=""+e,i=this._edges.get(r);return!!i&&i.undirected}else if(arguments.length===2){e=""+e,n=""+n;const r=this._nodes.get(e);return r?r.undirected.hasOwnProperty(n):!1}throw new ne(`Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}hasEdge(e,n){if(arguments.length===1){const r=""+e;return this._edges.has(r)}else if(arguments.length===2){e=""+e,n=""+n;const r=this._nodes.get(e);return r?typeof r.out<"u"&&r.out.hasOwnProperty(n)||typeof r.undirected<"u"&&r.undirected.hasOwnProperty(n):!1}throw new ne(`Graph.hasEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}directedEdge(e,n){if(this.type==="undirected")return;if(e=""+e,n=""+n,this.multi)throw new he("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");const r=this._nodes.get(e);if(!r)throw new X(`Graph.directedEdge: could not find the "${e}" source node in the graph.`);if(!this._nodes.has(n))throw new X(`Graph.directedEdge: could not find the "${n}" target node in the graph.`);const i=r.out&&r.out[n]||void 0;if(i)return i.key}undirectedEdge(e,n){if(this.type==="directed")return;if(e=""+e,n=""+n,this.multi)throw new he("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");const r=this._nodes.get(e);if(!r)throw new X(`Graph.undirectedEdge: could not find the "${e}" source node in the graph.`);if(!this._nodes.has(n))throw new X(`Graph.undirectedEdge: could not find the "${n}" target node in the graph.`);const i=r.undirected&&r.undirected[n]||void 0;if(i)return i.key}edge(e,n){if(this.multi)throw new he("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");e=""+e,n=""+n;const r=this._nodes.get(e);if(!r)throw new X(`Graph.edge: could not find the "${e}" source node in the graph.`);if(!this._nodes.has(n))throw new X(`Graph.edge: could not find the "${n}" target node in the graph.`);const i=r.out&&r.out[n]||r.undirected&&r.undirected[n]||void 0;if(i)return i.key}areDirectedNeighbors(e,n){e=""+e,n=""+n;const r=this._nodes.get(e);if(!r)throw new X(`Graph.areDirectedNeighbors: could not find the "${e}" node in the graph.`);return this.type==="undirected"?!1:n in r.in||n in r.out}areOutNeighbors(e,n){e=""+e,n=""+n;const r=this._nodes.get(e);if(!r)throw new X(`Graph.areOutNeighbors: could not find the "${e}" node in the graph.`);return this.type==="undirected"?!1:n in r.out}areInNeighbors(e,n){e=""+e,n=""+n;const r=this._nodes.get(e);if(!r)throw new X(`Graph.areInNeighbors: could not find the "${e}" node in the graph.`);return this.type==="undirected"?!1:n in r.in}areUndirectedNeighbors(e,n){e=""+e,n=""+n;const r=this._nodes.get(e);if(!r)throw new X(`Graph.areUndirectedNeighbors: could not find the "${e}" node in the graph.`);return this.type==="directed"?!1:n in r.undirected}areNeighbors(e,n){e=""+e,n=""+n;const r=this._nodes.get(e);if(!r)throw new X(`Graph.areNeighbors: could not find the "${e}" node in the graph.`);return this.type!=="undirected"&&(n in r.in||n in r.out)||this.type!=="directed"&&n in r.undirected}areInboundNeighbors(e,n){e=""+e,n=""+n;const r=this._nodes.get(e);if(!r)throw new X(`Graph.areInboundNeighbors: could not find the "${e}" node in the graph.`);return this.type!=="undirected"&&n in r.in||this.type!=="directed"&&n in r.undirected}areOutboundNeighbors(e,n){e=""+e,n=""+n;const r=this._nodes.get(e);if(!r)throw new X(`Graph.areOutboundNeighbors: could not find the "${e}" node in the graph.`);return this.type!=="undirected"&&n in r.out||this.type!=="directed"&&n in r.undirected}inDegree(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.inDegree: could not find the "${e}" node in the graph.`);return this.type==="undirected"?0:n.inDegree}outDegree(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.outDegree: could not find the "${e}" node in the graph.`);return this.type==="undirected"?0:n.outDegree}directedDegree(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.directedDegree: could not find the "${e}" node in the graph.`);return this.type==="undirected"?0:n.inDegree+n.outDegree}undirectedDegree(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.undirectedDegree: could not find the "${e}" node in the graph.`);return this.type==="directed"?0:n.undirectedDegree}inboundDegree(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.inboundDegree: could not find the "${e}" node in the graph.`);let r=0;return this.type!=="directed"&&(r+=n.undirectedDegree),this.type!=="undirected"&&(r+=n.inDegree),r}outboundDegree(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.outboundDegree: could not find the "${e}" node in the graph.`);let r=0;return this.type!=="directed"&&(r+=n.undirectedDegree),this.type!=="undirected"&&(r+=n.outDegree),r}degree(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.degree: could not find the "${e}" node in the graph.`);let r=0;return this.type!=="directed"&&(r+=n.undirectedDegree),this.type!=="undirected"&&(r+=n.inDegree+n.outDegree),r}inDegreeWithoutSelfLoops(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.inDegreeWithoutSelfLoops: could not find the "${e}" node in the graph.`);return this.type==="undirected"?0:n.inDegree-n.directedLoops}outDegreeWithoutSelfLoops(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.outDegreeWithoutSelfLoops: could not find the "${e}" node in the graph.`);return this.type==="undirected"?0:n.outDegree-n.directedLoops}directedDegreeWithoutSelfLoops(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.directedDegreeWithoutSelfLoops: could not find the "${e}" node in the graph.`);return this.type==="undirected"?0:n.inDegree+n.outDegree-n.directedLoops*2}undirectedDegreeWithoutSelfLoops(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.undirectedDegreeWithoutSelfLoops: could not find the "${e}" node in the graph.`);return this.type==="directed"?0:n.undirectedDegree-n.undirectedLoops*2}inboundDegreeWithoutSelfLoops(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.inboundDegreeWithoutSelfLoops: could not find the "${e}" node in the graph.`);let r=0,i=0;return this.type!=="directed"&&(r+=n.undirectedDegree,i+=n.undirectedLoops*2),this.type!=="undirected"&&(r+=n.inDegree,i+=n.directedLoops),r-i}outboundDegreeWithoutSelfLoops(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.outboundDegreeWithoutSelfLoops: could not find the "${e}" node in the graph.`);let r=0,i=0;return this.type!=="directed"&&(r+=n.undirectedDegree,i+=n.undirectedLoops*2),this.type!=="undirected"&&(r+=n.outDegree,i+=n.directedLoops),r-i}degreeWithoutSelfLoops(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.degreeWithoutSelfLoops: could not find the "${e}" node in the graph.`);let r=0,i=0;return this.type!=="directed"&&(r+=n.undirectedDegree,i+=n.undirectedLoops*2),this.type!=="undirected"&&(r+=n.inDegree+n.outDegree,i+=n.directedLoops*2),r-i}source(e){e=""+e;const n=this._edges.get(e);if(!n)throw new X(`Graph.source: could not find the "${e}" edge in the graph.`);return n.source.key}target(e){e=""+e;const n=this._edges.get(e);if(!n)throw new X(`Graph.target: could not find the "${e}" edge in the graph.`);return n.target.key}extremities(e){e=""+e;const n=this._edges.get(e);if(!n)throw new X(`Graph.extremities: could not find the "${e}" edge in the graph.`);return[n.source.key,n.target.key]}opposite(e,n){e=""+e,n=""+n;const r=this._edges.get(n);if(!r)throw new X(`Graph.opposite: could not find the "${n}" edge in the graph.`);const i=r.source.key,o=r.target.key;if(e===i)return o;if(e===o)return i;throw new X(`Graph.opposite: the "${e}" node is not attached to the "${n}" edge (${i}, ${o}).`)}hasExtremity(e,n){e=""+e,n=""+n;const r=this._edges.get(e);if(!r)throw new X(`Graph.hasExtremity: could not find the "${e}" edge in the graph.`);return r.source.key===n||r.target.key===n}isUndirected(e){e=""+e;const n=this._edges.get(e);if(!n)throw new X(`Graph.isUndirected: could not find the "${e}" edge in the graph.`);return n.undirected}isDirected(e){e=""+e;const n=this._edges.get(e);if(!n)throw new X(`Graph.isDirected: could not find the "${e}" edge in the graph.`);return!n.undirected}isSelfLoop(e){e=""+e;const n=this._edges.get(e);if(!n)throw new X(`Graph.isSelfLoop: could not find the "${e}" edge in the graph.`);return n.source===n.target}addNode(e,n){return E_(this,e,n).key}mergeNode(e,n){if(n&&!pt(n))throw new ne(`Graph.mergeNode: invalid attributes. Expecting an object but got "${n}"`);e=""+e,n=n||{};let r=this._nodes.get(e);return r?(n&&(ot(r.attributes,n),this.emit("nodeAttributesUpdated",{type:"merge",key:e,attributes:r.attributes,data:n})),[e,!1]):(r=new this.NodeDataClass(e,n),this._nodes.set(e,r),this.emit("nodeAdded",{key:e,attributes:n}),[e,!0])}updateNode(e,n){if(n&&typeof n!="function")throw new ne(`Graph.updateNode: invalid updater function. Expecting a function but got "${n}"`);e=""+e;let r=this._nodes.get(e);if(r){if(n){const o=r.attributes;r.attributes=n(o),this.emit("nodeAttributesUpdated",{type:"replace",key:e,attributes:r.attributes})}return[e,!1]}const i=n?n({}):{};return r=new this.NodeDataClass(e,i),this._nodes.set(e,r),this.emit("nodeAdded",{key:e,attributes:i}),[e,!0]}dropNode(e){e=""+e;const n=this._nodes.get(e);if(!n)throw new X(`Graph.dropNode: could not find the "${e}" node in the graph.`);let r;if(this.type!=="undirected"){for(const i in n.out){r=n.out[i];do or(this,r),r=r.next;while(r)}for(const i in n.in){r=n.in[i];do or(this,r),r=r.next;while(r)}}if(this.type!=="directed")for(const i in n.undirected){r=n.undirected[i];do or(this,r),r=r.next;while(r)}this._nodes.delete(e),this.emit("nodeDropped",{key:e,attributes:n.attributes})}dropEdge(e){let n;if(arguments.length>1){const r=""+arguments[0],i=""+arguments[1];if(n=Bt(this,r,i,this.type),!n)throw new X(`Graph.dropEdge: could not find the "${r}" -> "${i}" edge in the graph.`)}else if(e=""+e,n=this._edges.get(e),!n)throw new X(`Graph.dropEdge: could not find the "${e}" edge in the graph.`);return or(this,n),this}dropDirectedEdge(e,n){if(arguments.length<2)throw new he("Graph.dropDirectedEdge: it does not make sense to try and drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new he("Graph.dropDirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");e=""+e,n=""+n;const r=Bt(this,e,n,"directed");if(!r)throw new X(`Graph.dropDirectedEdge: could not find a "${e}" -> "${n}" edge in the graph.`);return or(this,r),this}dropUndirectedEdge(e,n){if(arguments.length<2)throw new he("Graph.dropUndirectedEdge: it does not make sense to drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new he("Graph.dropUndirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");const r=Bt(this,e,n,"undirected");if(!r)throw new X(`Graph.dropUndirectedEdge: could not find a "${e}" -> "${n}" edge in the graph.`);return or(this,r),this}clear(){this._edges.clear(),this._nodes.clear(),this._resetInstanceCounters(),this.emit("cleared")}clearEdges(){const e=this._nodes.values();let n;for(;n=e.next(),n.done!==!0;)n.value.clear();this._edges.clear(),this._resetInstanceCounters(),this.emit("edgesCleared")}getAttribute(e){return this._attributes[e]}getAttributes(){return this._attributes}hasAttribute(e){return this._attributes.hasOwnProperty(e)}setAttribute(e,n){return this._attributes[e]=n,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:e}),this}updateAttribute(e,n){if(typeof n!="function")throw new ne("Graph.updateAttribute: updater should be a function.");const r=this._attributes[e];return this._attributes[e]=n(r),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:e}),this}removeAttribute(e){return delete this._attributes[e],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:e}),this}replaceAttributes(e){if(!pt(e))throw new ne("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=e,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this}mergeAttributes(e){if(!pt(e))throw new ne("Graph.mergeAttributes: provided attributes are not a plain object.");return ot(this._attributes,e),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:e}),this}updateAttributes(e){if(typeof e!="function")throw new ne("Graph.updateAttributes: provided updater is not a function.");return this._attributes=e(this._attributes),this.emit("attributesUpdated",{type:"update",attributes:this._attributes}),this}updateEachNodeAttributes(e,n){if(typeof e!="function")throw new ne("Graph.updateEachNodeAttributes: expecting an updater function.");if(n&&!xc(n))throw new ne("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const r=this._nodes.values();let i,o;for(;i=r.next(),i.done!==!0;)o=i.value,o.attributes=e(o.key,o.attributes);this.emit("eachNodeAttributesUpdated",{hints:n||null})}updateEachEdgeAttributes(e,n){if(typeof e!="function")throw new ne("Graph.updateEachEdgeAttributes: expecting an updater function.");if(n&&!xc(n))throw new ne("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const r=this._edges.values();let i,o,a,s;for(;i=r.next(),i.done!==!0;)o=i.value,a=o.source,s=o.target,o.attributes=e(o.key,o.attributes,a.key,s.key,a.attributes,s.attributes,o.undirected);this.emit("eachEdgeAttributesUpdated",{hints:n||null})}forEachAdjacencyEntry(e){if(typeof e!="function")throw new ne("Graph.forEachAdjacencyEntry: expecting a callback.");wo(!1,!1,!1,this,e)}forEachAdjacencyEntryWithOrphans(e){if(typeof e!="function")throw new ne("Graph.forEachAdjacencyEntryWithOrphans: expecting a callback.");wo(!1,!1,!0,this,e)}forEachAssymetricAdjacencyEntry(e){if(typeof e!="function")throw new ne("Graph.forEachAssymetricAdjacencyEntry: expecting a callback.");wo(!1,!0,!1,this,e)}forEachAssymetricAdjacencyEntryWithOrphans(e){if(typeof e!="function")throw new ne("Graph.forEachAssymetricAdjacencyEntryWithOrphans: expecting a callback.");wo(!1,!0,!0,this,e)}nodes(){return typeof Array.from=="function"?Array.from(this._nodes.keys()):Wd(this._nodes.keys(),this._nodes.size)}forEachNode(e){if(typeof e!="function")throw new ne("Graph.forEachNode: expecting a callback.");const n=this._nodes.values();let r,i;for(;r=n.next(),r.done!==!0;)i=r.value,e(i.key,i.attributes)}findNode(e){if(typeof e!="function")throw new ne("Graph.findNode: expecting a callback.");const n=this._nodes.values();let r,i;for(;r=n.next(),r.done!==!0;)if(i=r.value,e(i.key,i.attributes))return i.key}mapNodes(e){if(typeof e!="function")throw new ne("Graph.mapNode: expecting a callback.");const n=this._nodes.values();let r,i;const o=new Array(this.order);let a=0;for(;r=n.next(),r.done!==!0;)i=r.value,o[a++]=e(i.key,i.attributes);return o}someNode(e){if(typeof e!="function")throw new ne("Graph.someNode: expecting a callback.");const n=this._nodes.values();let r,i;for(;r=n.next(),r.done!==!0;)if(i=r.value,e(i.key,i.attributes))return!0;return!1}everyNode(e){if(typeof e!="function")throw new ne("Graph.everyNode: expecting a callback.");const n=this._nodes.values();let r,i;for(;r=n.next(),r.done!==!0;)if(i=r.value,!e(i.key,i.attributes))return!1;return!0}filterNodes(e){if(typeof e!="function")throw new ne("Graph.filterNodes: expecting a callback.");const n=this._nodes.values();let r,i;const o=[];for(;r=n.next(),r.done!==!0;)i=r.value,e(i.key,i.attributes)&&o.push(i.key);return o}reduceNodes(e,n){if(typeof e!="function")throw new ne("Graph.reduceNodes: expecting a callback.");if(arguments.length<2)throw new ne("Graph.reduceNodes: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.");let r=n;const i=this._nodes.values();let o,a;for(;o=i.next(),o.done!==!0;)a=o.value,r=e(r,a.key,a.attributes);return r}nodeEntries(){const e=this._nodes.values();return new $t(()=>{const n=e.next();if(n.done)return n;const r=n.value;return{value:{node:r.key,attributes:r.attributes},done:!1}})}export(){const e=new Array(this._nodes.size);let n=0;this._nodes.forEach((i,o)=>{e[n++]=g_(o,i)});const r=new Array(this._edges.size);return n=0,this._edges.forEach((i,o)=>{r[n++]=m_(this.type,o,i)}),{options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops},attributes:this.getAttributes(),nodes:e,edges:r}}import(e,n=!1){if(e instanceof Ve)return e.forEachNode((u,l)=>{n?this.mergeNode(u,l):this.addNode(u,l)}),e.forEachEdge((u,l,c,f,d,h,g)=>{n?g?this.mergeUndirectedEdgeWithKey(u,c,f,l):this.mergeDirectedEdgeWithKey(u,c,f,l):g?this.addUndirectedEdgeWithKey(u,c,f,l):this.addDirectedEdgeWithKey(u,c,f,l)}),this;if(!pt(e))throw new ne("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(e.attributes){if(!pt(e.attributes))throw new ne("Graph.import: invalid attributes. Expecting a plain object.");n?this.mergeAttributes(e.attributes):this.replaceAttributes(e.attributes)}let r,i,o,a,s;if(e.nodes){if(o=e.nodes,!Array.isArray(o))throw new ne("Graph.import: invalid nodes. Expecting an array.");for(r=0,i=o.length;r{const o=ot({},r.attributes);r=new n.NodeDataClass(i,o),n._nodes.set(i,r)}),n}copy(e){if(e=e||{},typeof e.type=="string"&&e.type!==this.type&&e.type!=="mixed")throw new he(`Graph.copy: cannot create an incompatible copy from "${this.type}" type to "${e.type}" because this would mean losing information about the current graph.`);if(typeof e.multi=="boolean"&&e.multi!==this.multi&&e.multi!==!0)throw new he("Graph.copy: cannot create an incompatible copy by downgrading a multi graph to a simple one because this would mean losing information about the current graph.");if(typeof e.allowSelfLoops=="boolean"&&e.allowSelfLoops!==this.allowSelfLoops&&e.allowSelfLoops!==!0)throw new he("Graph.copy: cannot create an incompatible copy from a graph allowing self loops to one that does not because this would mean losing information about the current graph.");const n=this.emptyCopy(e),r=this._edges.values();let i,o;for(;i=r.next(),i.done!==!0;)o=i.value,th(n,"copy",!1,o.undirected,o.key,o.source.key,o.target.key,ot({},o.attributes));return n}toJSON(){return this.export()}toString(){return"[object Graph]"}inspect(){const e={};this._nodes.forEach((o,a)=>{e[a]=o.attributes});const n={},r={};this._edges.forEach((o,a)=>{const s=o.undirected?"--":"->";let u="",l=o.source.key,c=o.target.key,f;o.undirected&&l>c&&(f=l,l=c,c=f);const d=`(${l})${s}(${c})`;a.startsWith("geid_")?this.multi&&(typeof r[d]>"u"?r[d]=0:r[d]++,u+=`${r[d]}. `):u+=`[${a}]: `,u+=d,n[u]=o.attributes});const i={};for(const o in this)this.hasOwnProperty(o)&&!Ec.has(o)&&typeof this[o]!="function"&&typeof o!="symbol"&&(i[o]=this[o]);return i.attributes=this._attributes,i.nodes=e,i.edges=n,Pt(i,"constructor",this.constructor),i}}typeof Symbol<"u"&&(Ve.prototype[Symbol.for("nodejs.util.inspect.custom")]=Ve.prototype.inspect);b_.forEach(t=>{["add","merge","update"].forEach(e=>{const n=t.name(e),r=e==="add"?th:T_;t.generateKey?Ve.prototype[n]=function(i,o,a){return r(this,n,!0,(t.type||this.type)==="undirected",null,i,o,a,e==="update")}:Ve.prototype[n]=function(i,o,a,s){return r(this,n,!1,(t.type||this.type)==="undirected",i,o,a,s,e==="update")}})});M1(Ve);j1(Ve);a_(Ve);p_(Ve);class nh extends Ve{constructor(e){const n=ot({type:"directed"},e);if("multi"in n&&n.multi!==!1)throw new ne("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(n.type!=="directed")throw new ne('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');super(n)}}class rh extends Ve{constructor(e){const n=ot({type:"undirected"},e);if("multi"in n&&n.multi!==!1)throw new ne("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(n.type!=="undirected")throw new ne('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');super(n)}}class ih extends Ve{constructor(e){const n=ot({multi:!0},e);if("multi"in n&&n.multi!==!0)throw new ne("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");super(n)}}class oh extends Ve{constructor(e){const n=ot({type:"directed",multi:!0},e);if("multi"in n&&n.multi!==!0)throw new ne("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(n.type!=="directed")throw new ne('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');super(n)}}class ah extends Ve{constructor(e){const n=ot({type:"undirected",multi:!0},e);if("multi"in n&&n.multi!==!0)throw new ne("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(n.type!=="undirected")throw new ne('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');super(n)}}function Ir(t){t.from=function(e,n){const r=ot({},e.options,n),i=new t(r);return i.import(e),i}}Ir(Ve);Ir(nh);Ir(rh);Ir(ih);Ir(oh);Ir(ah);Ve.Graph=Ve;Ve.DirectedGraph=nh;Ve.UndirectedGraph=rh;Ve.MultiGraph=ih;Ve.MultiDirectedGraph=oh;Ve.MultiUndirectedGraph=ah;Ve.InvalidArgumentsGraphError=ne;Ve.NotFoundGraphError=X;Ve.UsageGraphError=he;const{Provider:S_,useStore:pe}=n1(),A_=({actives:t=[],selections:e=[],collapsedNodeIds:n=[]})=>t1(r=>({edges:[],nodes:[],collapsedNodeIds:n,panning:!1,draggingId:null,actives:t,edgeContextMenus:new Set,setEdgeContextMenus:i=>r(o=>({...o,edgeContextMenus:i})),edgeMeshes:[],setEdgeMeshes:i=>r(o=>({...o,edgeMeshes:i})),selections:e,drags:{},graph:new Ve,setPanning:i=>r(o=>({...o,panning:i})),setDrags:i=>r(o=>({...o,drags:i})),setDraggingId:i=>r(o=>({...o,draggingId:i})),setActives:i=>r(o=>({...o,actives:i})),setSelections:i=>r(o=>({...o,selections:i})),setNodes:i=>r(o=>({...o,nodes:i})),setEdges:i=>r(o=>({...o,edges:i})),setNodePosition:(i,o)=>r(a=>{var d,h;const s=a.nodes.find(g=>g.id===i),u=Ci(s),c=new Ee(o.x,o.y,o.z).sub(u),f=[...a.nodes];if((d=a.selections)!=null&&d.includes(i))(h=a.selections)==null||h.forEach(g=>{const v=a.nodes.find(w=>w.id===g);if(v){const w=a.nodes.indexOf(v);f[w]=Sc(v,c)}});else{const g=a.nodes.indexOf(s);f[g]=Sc(s,c)}return{...a,drags:{...a.drags,[i]:s},nodes:f}}),setCollapsedNodeIds:(i=[])=>r(o=>({...o,collapsedNodeIds:i}))}));function Sc(t,e){return{...t,position:{...t.position,x:t.position.x+e.x,y:t.position.y+e.y,z:t.position.z+e.z}}}function sh({nodeId:t,nodes:e,edges:n,currentHiddenNodes:r,currentHiddenEdges:i}){const o=[],a=[],s=r.map(h=>h.id),u=i.map(h=>h.id),l=n.filter(h=>h.source===t),c=l.map(h=>h.target);a.push(...l);for(const h of c){const g=n.filter(w=>w.target===h&&w.source!==t);let v=!1;if((g.length===0||g.length>0&&!s.includes(h)&&g.map(m=>m.id).every(m=>u.includes(m)))&&(v=!0),v){const w=e.find(p=>p.id===h);w&&o.push(w);const m=sh({nodeId:h,nodes:e,edges:n,currentHiddenEdges:a,currentHiddenNodes:o});a.push(...m.hiddenEdges),o.push(...m.hiddenNodes)}}const f=Object.values(a.reduce((h,g)=>({...h,[g.id]:g}),{})),d=Object.values(o.reduce((h,g)=>({...h,[g.id]:g}),{}));return{hiddenEdges:f,hiddenNodes:d}}const O_=({collapsedIds:t,nodes:e,edges:n})=>{const r=[],i=[];for(const l of t){const{hiddenEdges:c,hiddenNodes:f}=sh({nodeId:l,nodes:e,edges:n,currentHiddenEdges:i,currentHiddenNodes:r});r.push(...f),i.push(...c)}const o=r.map(l=>l.id),a=i.map(l=>l.id),s=e.filter(l=>!o.includes(l.id)),u=n.filter(l=>!a.includes(l.id));return{visibleNodes:s,visibleEdges:u}},C_=({nodeId:t,edges:e,visibleEdgeIds:n})=>{const r=[],i=e.filter(l=>l.target===t);if(i.map(l=>l.id).some(l=>n.includes(l)))return r;const s=i.map(l=>l.source);let u=!1;for(const l of s)u||(r.push(l,...C_({nodeId:l,edges:e,visibleEdgeIds:n})),u=!0);return r},k_=({layoutType:t,sizingType:e,labelType:n,sizingAttribute:r,clusterAttribute:i,selections:o,nodes:a,edges:s,actives:u,collapsedNodeIds:l,defaultNodeSize:c,maxNodeSize:f,minNodeSize:d,layoutOverrides:h})=>{const g=pe(N=>N.graph),v=pe(N=>N.collapsedNodeIds),w=pe(N=>N.setEdges),m=pe(N=>N.setNodes),p=pe(N=>N.setSelections),y=pe(N=>N.setActives),_=pe(N=>N.drags),b=pe(N=>N.setDrags),T=pe(N=>N.setCollapsedNodeIds),[x,E]=C.useState(!1),S=C.useRef(!1),U=C.useRef(null),{visibleEdges:D,visibleNodes:O}=C.useMemo(()=>{const{visibleEdges:N,visibleNodes:B}=O_({collapsedIds:v,nodes:a,edges:s});return{visibleEdges:N,visibleNodes:B}},[v,a,s]),k=C.useRef(_);C.useEffect(()=>{k.current=_},[_]);const M=C.useCallback(N=>{U.current=N||u0({...h,type:t,graph:g,drags:k.current,clusterAttribute:i}),l0(U.current,()=>{const B=Uy({graph:g,layout:U.current,sizingType:e,labelType:n,sizingAttribute:r,maxNodeSize:f,minNodeSize:d,defaultNodeSize:c});w(B.edges),m(B.nodes)})},[h,t,g,i,e,n,r,f,d,c,w,m]);return C.useEffect(()=>{p(o)},[o,p]),C.useEffect(()=>{y(u)},[u,y]),C.useLayoutEffect(()=>{S.current=!1,Dy(g,O,D),M(),requestAnimationFrame(()=>{S.current=!0,E(!0)})},[O,D,g]),C.useEffect(()=>{T(l)},[l,T]),C.useEffect(()=>{S.current&&(k.current={},b({}),M())},[g,t,M,b]),C.useEffect(()=>{S.current&&M(U.current)},[g,e,r,n,M]),{mounted:x}},zi=new Ee,Fu=new Ee,D_=new Ee;function U_(t,e,n){const r=zi.setFromMatrixPosition(t.matrixWorld);r.project(e);const i=n.width/2,o=n.height/2;return[r.x*i+i,-(r.y*o)+o]}function I_(t,e){const n=zi.setFromMatrixPosition(t.matrixWorld),r=Fu.setFromMatrixPosition(e.matrixWorld),i=n.sub(r),o=e.getWorldDirection(D_);return i.angleTo(o)>Math.PI/2}function M_(t,e,n,r){const i=zi.setFromMatrixPosition(t.matrixWorld),o=i.clone();o.project(e),n.setFromCamera(o,e);const a=n.intersectObjects(r,!0);if(a.length){const s=a[0].distance;return i.distanceTo(n.ray.origin)Math.abs(t)<1e-10?0:t;function uh(t,e,n=""){let r="matrix3d(";for(let i=0;i!==16;i++)r+=Hs(e[i]*t.elements[i])+(i!==15?",":")");return n+r}const R_=(t=>e=>uh(e,t))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),F_=(t=>(e,n)=>uh(e,t(n),"translate(-50%,-50%)"))(t=>[1/t,1/t,1/t,1,-1/t,-1/t,-1/t,-1,1/t,1/t,1/t,1,1,1,1,1]),Gu=C.forwardRef(({children:t,eps:e=.001,style:n,className:r,prepend:i,center:o,fullscreen:a,portal:s,distanceFactor:u,sprite:l=!1,transform:c=!1,occlude:f,onOcclude:d,zIndexRange:h=[16777271,0],calculatePosition:g=U_,as:v="div",wrapperClass:w,pointerEvents:m="auto",...p},y)=>{var _;const b=at(({gl:A})=>A),T=at(({camera:A})=>A),x=at(({scene:A})=>A),E=at(({size:A})=>A),S=at(({raycaster:A})=>A),[U]=C.useState(()=>document.createElement(v)),D=C.useRef(),O=C.useRef(null),k=C.useRef(0),M=C.useRef([0,0]),N=C.useRef(null),B=C.useRef(null),W=(_=s==null?void 0:s.current)!==null&&_!==void 0?_:b.domElement.parentNode;C.useLayoutEffect(()=>{if(O.current){const A=D.current=dg(U);if(x.updateMatrixWorld(),c)U.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const I=g(O.current,T,E);U.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${I[0]}px,${I[1]}px,0);transform-origin:0 0;`}return W&&(i?W.prepend(U):W.appendChild(U)),()=>{W&&W.removeChild(U),A.unmount()}}},[W,c]),C.useLayoutEffect(()=>{w&&(U.className=w)},[w]);const J=C.useMemo(()=>c?{position:"absolute",top:0,left:0,width:E.width,height:E.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:o?"translate3d(-50%,-50%,0)":"none",...a&&{top:-E.height/2,left:-E.width/2,width:E.width,height:E.height},...n},[n,o,a,E,c]),L=C.useMemo(()=>({position:"absolute",pointerEvents:m}),[m]);C.useLayoutEffect(()=>{if(c){var A;(A=D.current)==null||A.render(C.createElement("div",{ref:N,style:J},C.createElement("div",{ref:B,style:L},C.createElement("div",{ref:y,className:r,style:n,children:t}))))}else{var I;(I=D.current)==null||I.render(C.createElement("div",{ref:y,style:J,className:r,children:t}))}});const V=C.useRef(!0);return va(()=>{if(O.current){T.updateMatrixWorld(),O.current.updateWorldMatrix(!0,!1);const A=c?M.current:g(O.current,T,E);if(c||Math.abs(k.current-T.zoom)>e||Math.abs(M.current[0]-A[0])>e||Math.abs(M.current[1]-A[1])>e){const I=I_(O.current,T);let G=!1;typeof f=="boolean"?f===!0&&(G=[x]):Array.isArray(f)&&(G=f.map(P=>P.current));const F=V.current;if(G){const P=M_(O.current,T,S,G);V.current=P&&!I}else V.current=!I;if(F!==V.current&&(d?d(!V.current):U.style.display=V.current?"block":"none"),U.style.zIndex=`${L_(O.current,T,h)}`,c){const[P,j]=[E.width/2,E.height/2],R=T.projectionMatrix.elements[5]*j,{isOrthographicCamera:z,top:q,left:ie,bottom:Q,right:K}=T,Se=R_(T.matrixWorldInverse),xe=z?`scale(${R})translate(${Hs(-(K+ie)/2)}px,${Hs((q+Q)/2)}px)`:`translateZ(${R}px)`;let ee=O.current.matrixWorld;l&&(ee=T.matrixWorldInverse.clone().transpose().copyPosition(ee).scale(O.current.scale),ee.elements[3]=ee.elements[7]=ee.elements[11]=0,ee.elements[15]=1),U.style.width=E.width+"px",U.style.height=E.height+"px",U.style.perspective=z?"":`${R}px`,N.current&&B.current&&(N.current.style.transform=`${xe}${Se}translate(${P}px,${j}px)`,B.current.style.transform=F_(ee,1/((u||10)/400)))}else{const P=u===void 0?1:P_(O.current,T)*u;U.style.transform=`translate3d(${A[0]}px,${A[1]}px,0) scale(${P})`}M.current=A,k.current=T.zoom}}}),C.createElement("group",ya({},p,{ref:O}))});function Lo(t,e="pointer",n="auto"){C.useEffect(()=>{if(t)return document.body.style.cursor=e,()=>void(document.body.style.cursor=n)},[t])}function G_(t){return function(e){t.forEach(function(n){typeof n=="function"?n(e):n!=null&&(n.current=e)})}}const bo=(t,e)=>{const n=t[0].index!==null,r=new Set(Object.keys(t[0].attributes)),i=new Set(Object.keys(t[0].morphAttributes)),o={},a={},s=t[0].morphTargetsRelative,u=new Bf;let l=0;if(t.forEach((c,f)=>{let d=0;if(n!==(c.index!==null))return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+f+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(let h in c.attributes){if(!r.has(h))return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+f+'. All geometries must have compatible attributes; make sure "'+h+'" attribute exists among all geometries, or in none of them.'),null;o[h]===void 0&&(o[h]=[]),o[h].push(c.attributes[h]),d++}if(d!==r.size)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+f+". Make sure all geometries have the same number of attributes."),null;if(s!==c.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+f+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(let h in c.morphAttributes){if(!i.has(h))return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+f+". .morphAttributes must be consistent throughout all geometries."),null;a[h]===void 0&&(a[h]=[]),a[h].push(c.morphAttributes[h])}if(u.userData.mergedUserData=u.userData.mergedUserData||[],u.userData.mergedUserData.push(c.userData),e){let h;if(c.index)h=c.index.count;else if(c.attributes.position!==void 0)h=c.attributes.position.count;else return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+f+". The geometry must have either an index or a position attribute"),null;u.addGroup(l,h,f),l+=h}}),n){let c=0;const f=[];t.forEach(d=>{const h=d.index;for(let g=0;g{let e,n,r,i=0;if(t.forEach(o=>{if(e===void 0&&(e=o.array.constructor),e!==o.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(n===void 0&&(n=o.itemSize),n!==o.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(r===void 0&&(r=o.normalized),r!==o.normalized)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;i+=o.array.length}),e&&n){const o=new e(i);let a=0;return t.forEach(s=>{o.set(s.array,a),a+=s.array.length}),new $f(o,n,r)}},Oc=(()=>{const t=new Bp,e=new Ee,n=new Ee,r=new Ee,i=new Ee,o=new Ee,a=new Ee,s=new Ee,u=new Ee,l=new Ee,c=new Ee,f=new Ee,d=new Ee,h=new Ee,g=new Ee;class v{constructor(m,p,y){this.camera=m,this.scene=p,this.startPoint=new Ee,this.endPoint=new Ee,this.collection=[],this.deep=y||Number.MAX_VALUE}select(m,p){return this.startPoint=m||this.startPoint,this.endPoint=p||this.endPoint,this.collection=[],this.updateFrustum(this.startPoint,this.endPoint),this.searchChildInFrustum(t,this.scene),this.collection}updateFrustum(m,p){if(m=m||this.startPoint,p=p||this.endPoint,m.x===p.x&&(p.x+=Number.EPSILON),m.y===p.y&&(p.y+=Number.EPSILON),this.camera.updateProjectionMatrix(),this.camera.updateMatrixWorld(),this.camera.isPerspectiveCamera){n.copy(m),n.x=Math.min(m.x,p.x),n.y=Math.max(m.y,p.y),p.x=Math.max(m.x,p.x),p.y=Math.min(m.y,p.y),r.setFromMatrixPosition(this.camera.matrixWorld),i.copy(n),o.set(p.x,n.y,0),a.copy(p),s.set(n.x,p.y,0),i.unproject(this.camera),o.unproject(this.camera),a.unproject(this.camera),s.unproject(this.camera),d.copy(i).sub(r),h.copy(o).sub(r),g.copy(a).sub(r),d.normalize(),h.normalize(),g.normalize(),d.multiplyScalar(this.deep),h.multiplyScalar(this.deep),g.multiplyScalar(this.deep),d.add(r),h.add(r),g.add(r);var y=t.planes;y[0].setFromCoplanarPoints(r,i,o),y[1].setFromCoplanarPoints(r,o,a),y[2].setFromCoplanarPoints(a,s,r),y[3].setFromCoplanarPoints(s,i,r),y[4].setFromCoplanarPoints(o,a,s),y[5].setFromCoplanarPoints(g,h,d),y[5].normal.multiplyScalar(-1)}else if(this.camera.isOrthographicCamera){const _=Math.min(m.x,p.x),b=Math.max(m.y,p.y),T=Math.max(m.x,p.x),x=Math.min(m.y,p.y);i.set(_,b,-1),o.set(T,b,-1),a.set(T,x,-1),s.set(_,x,-1),u.set(_,b,1),l.set(T,b,1),c.set(T,x,1),f.set(_,x,1),i.unproject(this.camera),o.unproject(this.camera),a.unproject(this.camera),s.unproject(this.camera),u.unproject(this.camera),l.unproject(this.camera),c.unproject(this.camera),f.unproject(this.camera);var y=t.planes;y[0].setFromCoplanarPoints(i,u,l),y[1].setFromCoplanarPoints(o,l,c),y[2].setFromCoplanarPoints(c,f,s),y[3].setFromCoplanarPoints(f,u,i),y[4].setFromCoplanarPoints(o,a,s),y[5].setFromCoplanarPoints(c,l,u),y[5].normal.multiplyScalar(-1)}else console.error("THREE.SelectionBox: Unsupported camera type.")}searchChildInFrustum(m,p){if((p.isMesh||p.isLine||p.isPoints)&&p.material!==void 0&&(p.geometry.boundingSphere===null&&p.geometry.computeBoundingSphere(),e.copy(p.geometry.boundingSphere.center),e.applyMatrix4(p.matrixWorld),m.containsPoint(e)&&this.collection.push(p)),p.children.length>0)for(let y=0;y{if(!e||!s.current)return;const l=s.current.rotation.clone();s.current.quaternion.copy(u.quaternion),n&&(s.current.rotation.x=l.x),r&&(s.current.rotation.y=l.y),i&&(s.current.rotation.z=l.z)}),C.createElement("group",ya({ref:G_([s,a])},o))});function zu(){var t=0,e=[],n,r=0,i=0;function o(m,p){var y=zu();function _(){var b=t>0?m:p;if(v(b))try{var T=b(n);T===y&&g();var x=d(T);x?x.call(T,y.resolve,y.reject):y.resolve(T)}catch(E){y.reject(E)}else y[t>0?"resolve":"reject"](n)}return e.push(_),t&&l(),y}var a=h(function(m){i||u(1,m)}),s=h(function(m){i||u(-1,m)});function u(m,p){i++;var y=0;try{p===w&&g();var _=m>0&&d(p);_?_.call(p,h(function(b){y++,u(1,b)}),h(function(b){y++,u(-1,b)})):(t=m,n=p,l())}catch(b){!t&&!y&&u(-1,b)}}function l(){r||(setTimeout(c,0),r=1)}function c(){var m=e;r=0,e=[],m.forEach(f)}function f(m){m()}function d(m){var p=m&&(v(m)||typeof m=="object")&&m.then;return v(p)&&p}function h(m){var p=0;return function(){for(var y=[],_=arguments.length;_--;)y[_]=arguments[_];p++||m.apply(this,y)}}function g(){throw new TypeError("Chaining cycle detected")}var v=function(m){return typeof m=="function"},w={then:o,resolve:a,reject:s};return w}function ch(){var t,e,n=new Promise(function(r,i){t=r,e=i});return{then:n.then.bind(n),resolve:t,reject:e}}zu.all=ch.all=function(t){var e=0,n=[],r=wn();return t.length===0?r.resolve([]):t.forEach(function(i,o){var a=wn();a.resolve(i),a.then(function(s){e++,n[o]=s,e===t.length&&r.resolve(n)},r.reject)}),r};var wn=typeof Promise=="function"?ch:zu;function z_(){var t=Object.create(null);function e(i,o){var a=i.id,s=i.name,u=i.dependencies;u===void 0&&(u=[]);var l=i.init;l===void 0&&(l=function(){});var c=i.getTransferables;if(c===void 0&&(c=null),!t[a])try{u=u.map(function(d){return d&&d.isWorkerModule&&(e(d,function(h){if(h instanceof Error)throw h}),d=t[d.id].value),d}),l=r("<"+s+">.init",l),c&&(c=r("<"+s+">.getTransferables",c));var f=null;typeof l=="function"?f=l.apply(void 0,u):console.error("worker module init function failed to rehydrate"),t[a]={id:a,value:f,getTransferables:c},o(f)}catch(d){d&&d.noLog||console.error(d),o(d)}}function n(i,o){var a,s=i.id,u=i.args;(!t[s]||typeof t[s].value!="function")&&o(new Error("Worker module "+s+": not found or its 'init' did not return a function"));try{var l=(a=t[s]).value.apply(a,u);l&&typeof l.then=="function"?l.then(c,function(f){return o(f instanceof Error?f:new Error(""+f))}):c(l)}catch(f){o(f)}function c(f){try{var d=t[s].getTransferables&&t[s].getTransferables(f);(!d||!Array.isArray(d)||!d.length)&&(d=void 0),o(f,d)}catch(h){console.error(h),o(h)}}}function r(i,o){var a=void 0;self.troikaDefine=function(u){return a=u};var s=URL.createObjectURL(new Blob(["/** "+i.replace(/\*/g,"")+` **/ + +troikaDefine( +`+o+` +)`],{type:"application/javascript"}));try{importScripts(s)}catch(u){console.error(u)}return URL.revokeObjectURL(s),delete self.troikaDefine,a}self.addEventListener("message",function(i){var o=i.data,a=o.messageId,s=o.action,u=o.data;try{s==="registerModule"&&e(u,function(l){l instanceof Error?postMessage({messageId:a,success:!1,error:l.message}):postMessage({messageId:a,success:!0,result:{isCallable:typeof l=="function"}})}),s==="callModule"&&n(u,function(l,c){l instanceof Error?postMessage({messageId:a,success:!1,error:l.message}):postMessage({messageId:a,success:!0,result:l},c||void 0)})}catch(l){postMessage({messageId:a,success:!1,error:l.stack})}})}function N_(t){var e=function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];return e._getInitResult().then(function(i){if(typeof i=="function")return i.apply(void 0,n);throw new Error("Worker module function was called but `init` did not return a callable function")})};return e._getInitResult=function(){var n=t.dependencies,r=t.init;n=Array.isArray(n)?n.map(function(o){return o&&o._getInitResult?o._getInitResult():o}):[];var i=wn.all(n).then(function(o){return r.apply(null,o)});return e._getInitResult=function(){return i},i},e}var fh=function(){var t=!1;if(typeof window<"u"&&typeof window.document<"u")try{var e=new Worker(URL.createObjectURL(new Blob([""],{type:"application/javascript"})));e.terminate(),t=!0}catch(n){typeof process<"u",console.log("Troika createWorkerModule: web workers not allowed; falling back to main thread execution. Cause: ["+n.message+"]")}return fh=function(){return t},t},V_=0,B_=0,ws=!1,mi=Object.create(null),vi=Object.create(null),Ys=Object.create(null);function Mr(t){if((!t||typeof t.init!="function")&&!ws)throw new Error("requires `options.init` function");var e=t.dependencies,n=t.init,r=t.getTransferables,i=t.workerId;if(!fh())return N_(t);i==null&&(i="#default");var o="workerModule"+ ++V_,a=t.name||o,s=null;e=e&&e.map(function(l){return typeof l=="function"&&!l.workerModuleData&&(ws=!0,l=Mr({workerId:i,name:"<"+a+"> function dependency: "+l.name,init:`function(){return ( +`+Ro(l)+` +)}`}),ws=!1),l&&l.workerModuleData&&(l=l.workerModuleData),l});function u(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];if(!s){s=Cc(i,"registerModule",u.workerModuleData);var f=function(){s=null,vi[i].delete(f)};(vi[i]||(vi[i]=new Set)).add(f)}return s.then(function(d){var h=d.isCallable;if(h)return Cc(i,"callModule",{id:o,args:l});throw new Error("Worker module function was called but `init` did not return a callable function")})}return u.workerModuleData={isWorkerModule:!0,id:o,name:a,dependencies:e,init:Ro(n),getTransferables:r&&Ro(r)},u}function $_(t){vi[t]&&vi[t].forEach(function(e){e()}),mi[t]&&(mi[t].terminate(),delete mi[t])}function Ro(t){var e=t.toString();return!/^function/.test(e)&&/^\w+\s*\(/.test(e)&&(e="function "+e),e}function j_(t){var e=mi[t];if(!e){var n=Ro(z_);e=mi[t]=new Worker(URL.createObjectURL(new Blob(["/** Worker Module Bootstrap: "+t.replace(/\*/g,"")+` **/ + +;(`+n+")()"],{type:"application/javascript"}))),e.onmessage=function(r){var i=r.data,o=i.messageId,a=Ys[o];if(!a)throw new Error("WorkerModule response with empty or unknown messageId");delete Ys[o],a(i)}}return e}function Cc(t,e,n){var r=wn(),i=++B_;return Ys[i]=function(o){o.success?r.resolve(o.result):r.reject(new Error("Error in worker "+e+" call: "+o.error))},j_(t).postMessage({messageId:i,action:e,data:n}),r}var q_=Mr({name:"Thenable",dependencies:[wn],init:function(t){return t}});function dh(){var t=function(e){function n(L,V,A,I,G,F,P,j){var R=1-P;j.x=R*R*L+2*R*P*A+P*P*G,j.y=R*R*V+2*R*P*I+P*P*F}function r(L,V,A,I,G,F,P,j,R,z){var q=1-R;z.x=q*q*q*L+3*q*q*R*A+3*q*R*R*G+R*R*R*P,z.y=q*q*q*V+3*q*q*R*I+3*q*R*R*F+R*R*R*j}function i(L,V){for(var A=/([MLQCZ])([^MLQCZ]*)/g,I,G,F,P,j;I=A.exec(L);){var R=I[2].replace(/^\s*|\s*$/g,"").split(/[,\s]+/).map(function(z){return parseFloat(z)});switch(I[1]){case"M":P=G=R[0],j=F=R[1];break;case"L":(R[0]!==P||R[1]!==j)&&V("L",P,j,P=R[0],j=R[1]);break;case"Q":{V("Q",P,j,P=R[2],j=R[3],R[0],R[1]);break}case"C":{V("C",P,j,P=R[4],j=R[5],R[0],R[1],R[2],R[3]);break}case"Z":(P!==G||j!==F)&&V("L",P,j,G,F);break}}}function o(L,V,A){A===void 0&&(A=16);var I={x:0,y:0};i(L,function(G,F,P,j,R,z,q,ie,Q){switch(G){case"L":V(F,P,j,R);break;case"Q":{for(var K=F,Se=P,xe=1;xe0;)Ce[re]=arguments[re+2];var ve=ae[Ae]||(ae[Ae]=A.getUniformLocation(Y,Ae));A["uniform"+oe].apply(A,[ve].concat(Ce))},setAttribute:function(oe,Ae,Ce,re,ve){var Ie=fe[oe];Ie||(Ie=fe[oe]={buf:A.createBuffer(),loc:A.getAttribLocation(Y,oe),data:null}),A.bindBuffer(A.ARRAY_BUFFER,Ie.buf),A.vertexAttribPointer(Ie.loc,Ae,A.FLOAT,!1,0,0),A.enableVertexAttribArray(Ie.loc),G?A.vertexAttribDivisor(Ie.loc,re):q("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(Ie.loc,re),ve!==Ie.data&&(A.bufferData(A.ARRAY_BUFFER,ve,Ce),Ie.data=ve)}})}}}P[ee].transaction(H)},K=function(ee,le){R++;try{A.activeTexture(A.TEXTURE0+R);var ge=j[ee];ge||(ge=j[ee]=A.createTexture(),A.bindTexture(A.TEXTURE_2D,ge),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MIN_FILTER,A.NEAREST),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MAG_FILTER,A.NEAREST)),A.bindTexture(A.TEXTURE_2D,ge),le(ge,R)}finally{R--}},Se=function(ee,le,ge){var H=A.createFramebuffer();z.push(H),A.bindFramebuffer(A.FRAMEBUFFER,H),A.activeTexture(A.TEXTURE0+le),A.bindTexture(A.TEXTURE_2D,ee),A.framebufferTexture2D(A.FRAMEBUFFER,A.COLOR_ATTACHMENT0,A.TEXTURE_2D,ee,0);try{ge(H)}finally{A.deleteFramebuffer(H),A.bindFramebuffer(A.FRAMEBUFFER,z[--z.length-1]||null)}},xe=function(){F={},P={},j={},R=-1,z.length=0};var G=typeof WebGL2RenderingContext<"u"&&A instanceof WebGL2RenderingContext,F={},P={},j={},R=-1,z=[];A.canvas.addEventListener("webglcontextlost",function(ee){xe(),ee.preventDefault()},!1),u.set(A,I={gl:A,isWebGL2:G,getExtension:q,withProgram:Q,withTexture:K,withTextureFramebuffer:Se,handleContextLoss:xe})}V(I)}function f(L,V,A,I,G,F,P,j){P===void 0&&(P=15),j===void 0&&(j=null),c(L,function(R){var z=R.gl,q=R.withProgram,ie=R.withTexture;ie("copy",function(Q,K){z.texImage2D(z.TEXTURE_2D,0,z.RGBA,G,F,0,z.RGBA,z.UNSIGNED_BYTE,V),q("copy",a,s,function(Se){var xe=Se.setUniform,ee=Se.setAttribute;ee("aUV",2,z.STATIC_DRAW,0,new Float32Array([0,0,2,0,0,2])),xe("1i","image",K),z.bindFramebuffer(z.FRAMEBUFFER,j||null),z.disable(z.BLEND),z.colorMask(P&8,P&4,P&2,P&1),z.viewport(A,I,G,F),z.scissor(A,I,G,F),z.drawArrays(z.TRIANGLES,0,3)})})})}function d(L,V,A){var I=L.width,G=L.height;c(L,function(F){var P=F.gl,j=new Uint8Array(I*G*4);P.readPixels(0,0,I,G,P.RGBA,P.UNSIGNED_BYTE,j),L.width=V,L.height=A,f(P,j,0,0,I,G)})}var h=Object.freeze({__proto__:null,withWebGLContext:c,renderImageData:f,resizeWebGLCanvasWithoutClearing:d});function g(L,V,A,I,G,F){F===void 0&&(F=1);var P=new Uint8Array(L*V),j=I[2]-I[0],R=I[3]-I[1],z=[];o(A,function(ee,le,ge,H){z.push({x1:ee,y1:le,x2:ge,y2:H,minX:Math.min(ee,ge),minY:Math.min(le,H),maxX:Math.max(ee,ge),maxY:Math.max(le,H)})}),z.sort(function(ee,le){return ee.maxX-le.maxX});for(var q=0;qae.minX&&le-Hae.minY){var Y=m(ee,le,ae.x1,ae.y1,ae.x2,ae.y2);Yle!=fe.y2>le&&ee<(fe.x2-fe.x1)*(le-fe.y1)/(fe.y2-fe.y1)+fe.x1;ae&&(ge+=fe.y1p.y!=seg.w>p.y)&&(p.x<(seg.z-seg.x)*(p.y-seg.y)/(seg.w-seg.y)+seg.x);bool crossingUp=crossing&&vLineSegment.y1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function v(H,fe){var ae=36,Y=0,Oe=new Map,se=fe&&new Map,ue;return H.split(",").forEach(function oe(Ae){if(Ae.indexOf("+")!==-1)for(var Ce=+Ae;Ce--;)oe(ue);else{ue=Ae;var re=Ae.split(">"),ve=re[0],Ie=re[1];ve=String.fromCodePoint(Y+=parseInt(ve,ae)),Ie=String.fromCodePoint(Y+=parseInt(Ie,ae)),Oe.set(ve,Ie),fe&&se.set(Ie,ve)}}),{map:Oe,reverseMap:se}}var w,m,p;function y(){if(!w){var H=v(g.pairs,!0),fe=H.map,ae=H.reverseMap;w=fe,m=ae,p=v(g.canonical,!1).map}}function _(H){return y(),w.get(H)||null}function b(H){return y(),m.get(H)||null}function T(H){return y(),p.get(H)||null}var x=r.L,E=r.R,S=r.EN,U=r.ES,D=r.ET,O=r.AN,k=r.CS,M=r.B,N=r.S,B=r.ON,W=r.BN,J=r.NSM,L=r.AL,V=r.LRO,A=r.RLO,I=r.LRE,G=r.RLE,F=r.PDF,P=r.LRI,j=r.RLI,R=r.FSI,z=r.PDI;function q(H,fe){for(var ae=125,Y=new Uint32Array(H.length),Oe=0;Oe0)We--;else if(Ct>0){for(Me=0;!we[we.length-1]._isolate;)we.pop();var Fr=we[we.length-1]._isolInitIndex;Fr!=null&&(Ae.set(Fr,Qe),Ae.set(Qe,Fr)),we.pop(),Ct--}de=we[we.length-1],oe[Qe]=de._level,de._override&&ue(Qe,de._override)}else Je&F?(We===0&&(Me>0?Me--:!de._isolate&&we.length>1&&(we.pop(),de=we[we.length-1])),oe[Qe]=de._level):Je&M&&(oe[Qe]=re.level);else oe[Qe]=de._level,de._override&&Je!==W&&ue(Qe,de._override)}for(var je=[],Pe=null,ft=re.start;ft<=re.end;ft++){var kt=Y[ft];if(!(kt&u)){var qe=oe[ft],_t=kt&o,en=kt===z;Pe&&qe===Pe._level?(Pe._end=ft,Pe._endsWithIsolInit=_t):je.push(Pe={_start:ft,_end:ft,_level:qe,_startsWithPDI:en,_endsWithIsolInit:_t})}}for(var dt=[],st=0;st=0;Xi--)if(!(Y[Xi]&u)){gl=oe[Xi];break}var Ba=er[er.length-1],Cp=oe[Ba],ml=re.level;if(!(Y[Ba]&o)){for(var Zi=Ba+1;Zi<=re.end;Zi++)if(!(Y[Zi]&u)){ml=oe[Zi];break}}dt.push({_seqIndices:er,_sosType:Math.max(gl,Op)%2?E:x,_eosType:Math.max(ml,Cp)%2?E:x})}}for(var $a=0;$a=0;Ji--)if(!(Y[ce[Ji]]&u)){qa=Y[ce[Ji]];break}ue(vl,qa&(o|z)?B:qa)}}if(se.get(S))for(var eo=0;eo=-1;to--){var _l=to===-1?Gr:Y[ce[to]];if(_l&a){_l===L&&ue(yl,O);break}}}if(se.get(L))for(var Wa=0;Wa=0&&(tr=Y[ce[Ka]],!!(tr&u));Ka--);for(var Xa=zr+1;Xa=0&&Y[ce[no]]&(D|u);no--)ue(ce[no],S);for(var ro=Nr+1;ro=0&&Y[ce[io]]&u;io--)ue(ce[io],B);for(var oo=Vr+1;oo=0;jr--){var Ja=nr[jr].char;if(Ja===Sl||Ja===b(T($r))||_(T(Ja))===$r){ao.push([nr[jr].seqIndex,rr]),nr.length=jr;break}}}ao.sort(function(mt,Wt){return mt[0]-Wt[0]})}for(var es=0;es=0;rs--){var uo=ce[rs];if(Y[uo]&Tl){var kl=Y[uo]&Br?E:x;kl!==ir(uo)?qt=kl:qt=ir(uo);break}}}if(qt){if(Y[ce[qr]]=Y[ce[so]]=qt,qt!==ir(ce[qr])){for(var Wr=qr+1;Wr=0;Yr--)if(Y[ce[Yr]]&u)Dl=Yr;else{os=Y[ce[Yr]]&Br?E:x;break}for(var Ul=kp,Kr=On+1;Kr=0&&d(H[fo])&l;fo--)oe[fo]=re.level}}return{levels:oe,paragraphs:Ce};function Il(mt,Wt){for(var Et=mt;Et=oe&&d(H[re])&l;re--)Ce[re]=ue.level;for(var ve=ue.level,Ie=1/0,ze=0;zeve&&(ve=Ye),Ye=Ie;tt--)for(var we=0;we=tt){for(var de=we;we+1=tt;)we++;we>de&&se.push([de+ae,we+ae])}}}),se}function le(H,fe,ae,Y){var Oe=ge(H,fe,ae,Y),se=[].concat(H);return Oe.forEach(function(ue,oe){se[oe]=(fe.levels[ue]&1?Se(H[ue]):null)||H[ue]}),se.join("")}function ge(H,fe,ae,Y){for(var Oe=ee(H,fe,ae,Y),se=[],ue=0;ue/gm;function n(r,i){let o=Hp[i];return o?Ks(o):r}return t.replace(e,n)}const ht=[];for(let t=0;t<256;t++)ht[t]=(t<16?"0":"")+t.toString(16);function H_(){const t=Math.random()*4294967295|0,e=Math.random()*4294967295|0,n=Math.random()*4294967295|0,r=Math.random()*4294967295|0;return(ht[t&255]+ht[t>>8&255]+ht[t>>16&255]+ht[t>>24&255]+"-"+ht[e&255]+ht[e>>8&255]+"-"+ht[e>>16&15|64]+ht[e>>24&255]+"-"+ht[n&63|128]+ht[n>>8&255]+"-"+ht[n>>16&255]+ht[n>>24&255]+ht[r&255]+ht[r>>8&255]+ht[r>>16&255]+ht[r>>24&255]).toUpperCase()}const Vn=Object.assign||function(){let t=arguments[0];for(let e=1,n=arguments.length;e/gm,` +//!BEGIN_POST_CHUNK $1 +$& +//!END_POST_CHUNK +`),e=Ks(e)),d){let g=d({vertexShader:t,fragmentShader:e});t=g.vertexShader,e=g.fragmentShader}if(f){let g=[];e=e.replace(/^\/\/!BEGIN_POST_CHUNK[^]+?^\/\/!END_POST_CHUNK/gm,v=>(g.push(v),"")),c=`${f} +${g.join(` +`)} +${c}`}if(h){const g=` +uniform float ${h}; +`;i=g+i,u=g+u}return s&&(t=`vec3 troika_position_${r}; +vec3 troika_normal_${r}; +vec2 troika_uv_${r}; +${t} +`,i=`${i} +void troikaVertexTransform${r}(inout vec3 position, inout vec3 normal, inout vec2 uv) { + ${s} +} +`,o=` +troika_position_${r} = vec3(position); +troika_normal_${r} = vec3(normal); +troika_uv_${r} = vec2(uv); +troikaVertexTransform${r}(troika_position_${r}, troika_normal_${r}, troika_uv_${r}); +${o} +`,t=t.replace(/\b(position|normal|uv)\b/g,(g,v,w,m)=>/\battribute\s+vec[23]\s+$/.test(m.substr(0,w))?v:`troika_${v}_${r}`)),t=Uc(t,r,i,o,a),e=Uc(e,r,u,l,c),{vertexShader:t,fragmentShader:e}}function Uc(t,e,n,r,i){return(r||i||n)&&(t=t.replace(hh,` +${n} +void troikaOrigMain${e}() {`),t+=` +void main() { + ${r} + troikaOrigMain${e}(); + ${i} +}`),t}function Z_(t,e){return t==="uniforms"?void 0:typeof e=="function"?e.toString():e}let Q_=0;const Ic=new Map;function J_(t){const e=JSON.stringify(t,Z_);let n=Ic.get(e);return n==null&&Ic.set(e,n=++Q_),n}function ew(t,e,n){const{defaultFontURL:r}=n,i=Object.create(null),o=1/0,a=/[\u00AD\u034F\u061C\u115F-\u1160\u17B4-\u17B5\u180B-\u180E\u200B-\u200F\u202A-\u202E\u2060-\u206F\u3164\uFE00-\uFE0F\uFEFF\uFFA0\uFFF0-\uFFF8]/,s=/[\s\-\u007C\u00AD\u2010\u2012-\u2014\u2027\u2056\u2E17\u2E40]/;function u(m,p){function y(){const _=b=>{console.error(`Failure loading font ${m}${m===r?"":"; trying fallback"}`,b),m!==r&&(m=r,y())};try{const b=new XMLHttpRequest;b.open("get",m,!0),b.responseType="arraybuffer",b.onload=function(){if(b.status>=400)_(new Error(b.statusText));else if(b.status>0)try{const T=t(b.response);p(T)}catch(T){_(T)}},b.onerror=_,b.send()}catch(b){_(b)}}y()}function l(m,p){m||(m=r);let y=i[m];y?y.pending?y.pending.push(p):p(y):(i[m]={pending:[p]},u(m,_=>{let b=i[m].pending;i[m]=_,b.forEach(T=>T(_))}))}function c({text:m="",font:p=r,sdfGlyphSize:y=64,fontSize:_=1,letterSpacing:b=0,lineHeight:T="normal",maxWidth:x=o,direction:E,textAlign:S="left",textIndent:U=0,whiteSpace:D="normal",overflowWrap:O="normal",anchorX:k=0,anchorY:M=0,includeCaretPositions:N=!1,chunkedBoundsSize:B=8192,colorRanges:W=null},J,L=!1){const V=g(),A={fontLoad:0,typesetting:0};m.indexOf("\r")>-1&&(console.info("Typesetter: got text with \\r chars; normalizing to \\n"),m=m.replace(/\r\n/g,` +`).replace(/\r/g,` +`)),_=+_,b=+b,x=+x,T=T||"normal",U=+U,l(p,I=>{const G=isFinite(x);let F=null,P=null,j=null,R=null,z=null,q=null,ie=null,Q=0,K=0,Se=D!=="nowrap";const{ascender:xe,descender:ee,unitsPerEm:le}=I;A.fontLoad=g()-V;const ge=g(),H=_/le;T==="normal"&&(T=(xe-ee)/le),T=T*_;const fe=(T-(xe-ee)*H)/2,ae=-(xe*H+fe),Y=Math.min(T,(xe-ee)*H),Oe=(xe+ee)/2*H-Y/2;let se=U,ue=new v;const oe=[ue];I.forEachGlyph(m,_,b,(re,ve,Ie)=>{const ze=m.charAt(Ie),Ye=re.advanceWidth*H,tt=ue.count;let we;if("isEmpty"in re||(re.isWhitespace=!!ze&&/\s/.test(ze),re.canBreakAfter=!!ze&&s.test(ze),re.isEmpty=re.xMin===re.xMax||re.yMin===re.yMax||a.test(ze)),!re.isWhitespace&&!re.isEmpty&&K++,Se&&G&&!re.isWhitespace&&ve+Ye+se>x&&tt){if(ue.glyphAt(tt-1).glyphObj.canBreakAfter)we=new v,se=-ve;else for(let We=tt;We--;)if(We===0&&O==="break-word"){we=new v,se=-ve;break}else if(ue.glyphAt(We).glyphObj.canBreakAfter){we=ue.splitAt(We+1);const Me=we.glyphAt(0).x;se-=Me;for(let Ct=we.count;Ct--;)we.glyphAt(Ct).x-=Me;break}we&&(ue.isSoftWrapped=!0,ue=we,oe.push(ue),Q=x)}let de=ue.glyphAt(ue.count);de.glyphObj=re,de.x=ve+se,de.width=Ye,de.charIndex=Ie,ze===` +`&&(ue=new v,oe.push(ue),se=-(ve+Ye+b*_)+U)}),oe.forEach(re=>{for(let ve=re.count;ve--;){let{glyphObj:Ie,x:ze,width:Ye}=re.glyphAt(ve);if(!Ie.isWhitespace){re.width=ze+Ye,re.width>Q&&(Q=re.width);return}}});let Ae=0,Ce=0;if(k&&(typeof k=="number"?Ae=-k:typeof k=="string"&&(Ae=-Q*(k==="left"?0:k==="center"?.5:k==="right"?1:d(k)))),M){if(typeof M=="number")Ce=-M;else if(typeof M=="string"){let re=oe.length*T;Ce=M==="top"?0:M==="top-baseline"?-ae:M==="middle"?re/2:M==="bottom"?re:M==="bottom-baseline"?re-fe+ee*H:d(M)*re}}if(!L){const re=e.getEmbeddingLevels(m,E);F=new Uint16Array(K),P=new Float32Array(K*2),j={},q=[o,o,-o,-o],ie=[];let ve=ae;N&&(z=new Float32Array(m.length*3)),W&&(R=new Uint8Array(K*3));let Ie=0,ze=-1,Ye=-1,tt,we;if(oe.forEach((de,We)=>{let{count:Me,width:Ct}=de;if(Me>0){let Qe=0;for(let je=Me;je--&&de.glyphAt(je).glyphObj.isWhitespace;)Qe++;let Je=0,Tn=0;if(S==="center")Je=(Q-Ct)/2;else if(S==="right")Je=Q-Ct;else if(S==="justify"&&de.isSoftWrapped){let je=0;for(let Pe=Me-Qe;Pe--;)de.glyphAt(Pe).glyphObj.isWhitespace&&je++;Tn=(Q-Ct)/je}if(Tn||Je){let je=0;for(let Pe=0;Pe=Pe){let en=_t,dt=_t;for(;dtft)break;dtct=je;for(let je=0;je1&&h(z,ze,dt),ze=qe}if(W){const{charIndex:qe}=Pe;for(;qe>Ye;)Ye++,W.hasOwnProperty(Ye)&&(we=W[Ye])}if(!ct.isWhitespace&&!ct.isEmpty){const qe=Ie++;j[ft]||(j[ft]={path:ct.path,pathBounds:[ct.xMin,ct.yMin,ct.xMax,ct.yMax]});const _t=Pe.x+Ae,en=ve+Ce;P[qe*2]=_t,P[qe*2+1]=en;const dt=_t+ct.xMin*H,st=en+ct.yMin*H,Dt=_t+ct.xMax*H,Sn=en+ct.yMax*H;dtq[2]&&(q[2]=Dt),Sn>q[3]&&(q[3]=Sn),qe%B===0&&(tt={start:qe,end:qe,rect:[o,o,-o,-o]},ie.push(tt)),tt.end++;const jt=tt.rect;if(dtjt[2]&&(jt[2]=Dt),Sn>jt[3]&&(jt[3]=Sn),F[qe]=ft,W){const An=qe*3;R[An]=we>>16&255,R[An+1]=we>>8&255,R[An+2]=we&255}}}}ve-=T}),z){const de=m.length-ze;de>1&&h(z,ze,de)}}A.typesetting=g()-ge,J({glyphIds:F,glyphPositions:P,glyphData:j,caretPositions:z,caretHeight:Y,glyphColors:R,chunkedBounds:ie,fontSize:_,unitsPerEm:le,ascender:xe*H,descender:ee*H,lineHeight:T,topBaseline:ae,blockBounds:[Ae,Ce-oe.length*T,Ae+Q,Ce],visibleBounds:q,timings:A})})}function f(m,p){c(m,y=>{const[_,b,T,x]=y.blockBounds;p({width:T-_,height:x-b})},{metricsOnly:!0})}function d(m){let p=m.match(/^([\d.]+)%$/),y=p?parseFloat(p[1]):NaN;return isNaN(y)?0:y/100}function h(m,p,y){const _=m[p*3],b=m[p*3+1],T=m[p*3+2],x=(b-_)/y;for(let E=0;E(Object.defineProperty(m,p,{get(){return this.data[this.index*w.length+y]},set(b){this.data[this.index*w.length+y]=b}}),m),{data:null,index:0}),{typeset:c,measure:f,loadFont:l}}const Wn=()=>(self.performance||Date).now(),Sa=dh();let Mc;function tw(t,e,n,r,i,o,a,s,u,l,c=!0){return c?nw(t,e,n,r,i,o,a,s,u,l).then(null,f=>(Mc||(console.warn("WebGL SDF generation failed, falling back to JS",f),Mc=!0),Pc(t,e,n,r,i,o,a,s,u,l))):Pc(t,e,n,r,i,o,a,s,u,l)}const nw=function(){const t=[];let n=0;function r(){const i=Wn();for(;t.length&&Wn()-i<5;)t.shift()();n=t.length?setTimeout(r,0):0}return(...i)=>{const o=wn();return t.push(()=>{const a=Wn();try{Sa.webgl.generateIntoCanvas(...i),o.resolve({timing:Wn()-a})}catch(s){o.reject(s)}}),n||(n=setTimeout(r,0)),o}}(),Pc=function(){const n={};let r=0;return function(i,o,a,s,u,l,c,f,d,h){const g="TroikaTextSDFGenerator_JS_"+r++%4;let v=n[g];return v||(v=n[g]={workerModule:Mr({name:g,workerId:g,dependencies:[dh,Wn],init(w,m){const p=w().javascript.generate;return function(...y){const _=m();return{textureData:p(...y),timing:m()-_}}},getTransferables(w){return[w.textureData.buffer]}}),requests:0,idleTimer:null}),v.requests++,clearTimeout(v.idleTimer),v.workerModule(i,o,a,s,u,l).then(({textureData:w,timing:m})=>{const p=Wn(),y=new Uint8Array(w.length*4);for(let _=0;_{$_(g)},2e3)),{timing:m}})}}();function rw(t){t._warm||(Sa.webgl.isSupported(t),t._warm=!0)}const iw=Sa.webglUtils.resizeWebGLCanvasWithoutClearing;/*! +Custom build of Typr.ts (https://github.com/fredli74/Typr.ts) for use in Troika text rendering. +Original MIT license applies: https://github.com/fredli74/Typr.ts/blob/master/LICENSE +*/function ow(){return typeof window>"u"&&(self.window=self),function(t){var e={parse:function(i){var o=e._bin,a=new Uint8Array(i);if(o.readASCII(a,0,4)=="ttcf"){var s=4;o.readUshort(a,s),s+=2,o.readUshort(a,s),s+=2;var u=o.readUint(a,s);s+=4;for(var l=[],c=0;c>>a&1&&o++;return o},e._lctf.readClassDef=function(i,o){var a=e._bin,s=[],u=a.readUshort(i,o);if(o+=2,u==1){var l=a.readUshort(i,o);o+=2;var c=a.readUshort(i,o);o+=2;for(var f=0;f0&&(u.featureParams=s+l);var c=a.readUshort(i,o);o+=2,u.tab=[];for(var f=0;f255?-1:e.CFF.glyphByUnicode(i,e.CFF.tableSE[o])},e.CFF.readEncoding=function(i,o,a){e._bin;var s=[".notdef"],u=i[o];if(o++,u!=0)throw"error: unknown encoding format: "+u;var l=i[o];o++;for(var c=0;c>4,p=15&w;if(m!=15&&v.push(m),p!=15&&v.push(p),p==15)break}for(var y="",_=[0,1,2,3,4,5,6,7,8,9,".","e","e-","reserved","-","endOfNumber"],b=0;b=l.xMax||l.yMin>=l.yMax)return null;if(l.noc>0){l.endPts=[];for(var c=0;c=1&&c.fmt<=2){d=u.readUshort(i,a),a+=2;var g=u.readUshort(i,a);a+=2,h=e._lctf.numOfOnes(d);var v=e._lctf.numOfOnes(g);if(c.fmt==1){c.pairsets=[];var w=u.readUshort(i,a);a+=2;for(var m=0;m=1&&c.fmt<=2){if(c.fmt==1)c.delta=u.readShort(i,a),a+=2;else if(c.fmt==2){var d=u.readUshort(i,a);a+=2,c.newg=u.readUshorts(i,a,d),a+=2*c.newg.length}}else if(o==4){c.vals=[],d=u.readUshort(i,a),a+=2;for(var h=0;h>>8;if((g&=15)!=0)throw"unknown kern table format: "+g;o=e.kern.readFormat0(i,o,f)}return f},e.kern.parseV1=function(i,o,a,s){var u=e._bin;u.readFixed(i,o),o+=4;var l=u.readUint(i,o);o+=4;for(var c={glyph1:[],rval:[]},f=0;f>>8;if((h&=15)!=0)throw"unknown kern table format: "+h;o=e.kern.readFormat0(i,o,c)}return c},e.kern.readFormat0=function(i,o,a){var s=e._bin,u=-1,l=s.readUshort(i,o);o+=2,s.readUshort(i,o),o+=2,s.readUshort(i,o),o+=2,s.readUshort(i,o),o+=2;for(var c=0;c=u.map.length?0:u.map[o];if(u.format==4){for(var l=-1,c=0;co?0:65535&(u.idRangeOffset[l]!=0?u.glyphIdArray[o-u.startCount[l]+(u.idRangeOffset[l]>>1)-(u.idRangeOffset.length-l)]:o+u.idDelta[l])}if(u.format==12){if(o>u.groups[u.groups.length-1][1])return 0;for(c=0;c-1?e.U._simpleGlyph(s,a):e.U._compoGlyph(s,o,a))},e.U._simpleGlyph=function(i,o){for(var a=0;au)){for(var w=!0,m=0,p=0;pu)){for(w=!0,p=0;p>1,l.length=0,f=!0;else if(O=="o3"||O=="o23")l.length%2!=0&&!f&&(d=l.shift()+s.nominalWidthX),c+=l.length>>1,l.length=0,f=!0;else if(O=="o4")l.length>1&&!f&&(d=l.shift()+s.nominalWidthX,f=!0),h&&e.U.P.closePath(u),w+=l.pop(),e.U.P.moveTo(u,v,w),h=!0;else if(O=="o5")for(;l.length>0;)v+=l.shift(),w+=l.shift(),e.U.P.lineTo(u,v,w);else if(O=="o6"||O=="o7")for(var k=l.length,M=O=="o6",N=0;NMath.abs(E-w)?v=x+l.shift():w=E+l.shift(),e.U.P.curveTo(u,m,p,y,_,S,U),e.U.P.curveTo(u,b,T,x,E,v,w));else if(O=="o14"){if(l.length>0&&!f&&(d=l.shift()+a.nominalWidthX,f=!0),l.length==4){var J=l.shift(),L=l.shift(),V=l.shift(),A=l.shift(),I=e.CFF.glyphBySE(a,V),G=e.CFF.glyphBySE(a,A);e.U._drawCFF(a.CharStrings[I],o,a,s,u),o.x=J,o.y=L,e.U._drawCFF(a.CharStrings[G],o,a,s,u)}h&&(e.U.P.closePath(u),h=!1)}else if(O=="o19"||O=="o20")l.length%2!=0&&!f&&(d=l.shift()+s.nominalWidthX),c+=l.length>>1,l.length=0,f=!0,g+=c+7>>3;else if(O=="o21")l.length>2&&!f&&(d=l.shift()+s.nominalWidthX,f=!0),w+=l.pop(),v+=l.pop(),h&&e.U.P.closePath(u),e.U.P.moveTo(u,v,w),h=!0;else if(O=="o22")l.length>1&&!f&&(d=l.shift()+s.nominalWidthX,f=!0),v+=l.pop(),h&&e.U.P.closePath(u),e.U.P.moveTo(u,v,w),h=!0;else if(O=="o25"){for(;l.length>6;)v+=l.shift(),w+=l.shift(),e.U.P.lineTo(u,v,w);m=v+l.shift(),p=w+l.shift(),y=m+l.shift(),_=p+l.shift(),v=y+l.shift(),w=_+l.shift(),e.U.P.curveTo(u,m,p,y,_,v,w)}else if(O=="o26")for(l.length%2&&(v+=l.shift());l.length>0;)m=v,p=w+l.shift(),v=y=m+l.shift(),w=(_=p+l.shift())+l.shift(),e.U.P.curveTo(u,m,p,y,_,v,w);else if(O=="o27")for(l.length%2&&(w+=l.shift());l.length>0;)p=w,y=(m=v+l.shift())+l.shift(),_=p+l.shift(),v=y+l.shift(),w=_,e.U.P.curveTo(u,m,p,y,_,v,w);else if(O=="o10"||O=="o29"){var F=O=="o10"?s:a;if(l.length==0)console.debug("error: empty stack");else{var P=l.pop(),j=F.Subrs[P+F.Bias];o.x=v,o.y=w,o.nStems=c,o.haveWidth=f,o.width=d,o.open=h,e.U._drawCFF(j,o,a,s,u),v=o.x,w=o.y,c=o.nStems,f=o.haveWidth,d=o.width,h=o.open}}else if(O=="o30"||O=="o31"){var R=l.length,z=(W=0,O=="o31");for(W+=R-(k=-3&R);W>>1|(21845&h)<<1;g=(61680&(g=(52428&g)>>>2|(13107&g)<<2))>>>4|(3855&g)<<4,d[h]=((65280&g)>>>8|(255&g)<<8)>>>1}var v=function(O,k,M){for(var N=O.length,B=0,W=new n(k);B>>V]=A}else for(J=new n(N),B=0;B>>15-O[B]);return J},w=new e(288);for(h=0;h<144;++h)w[h]=8;for(h=144;h<256;++h)w[h]=9;for(h=256;h<280;++h)w[h]=7;for(h=280;h<288;++h)w[h]=8;var m=new e(32);for(h=0;h<32;++h)m[h]=5;var p=v(w,9,1),y=v(m,5,1),_=function(O){for(var k=O[0],M=1;Mk&&(k=O[M]);return k},b=function(O,k,M){var N=k/8|0;return(O[N]|O[N+1]<<8)>>(7&k)&M},T=function(O,k){var M=k/8|0;return(O[M]|O[M+1]<<8|O[M+2]<<16)>>(7&k)},x=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(O,k,M){var N=new Error(k||x[O]);if(N.code=O,Error.captureStackTrace&&Error.captureStackTrace(N,E),!M)throw N;return N},S=function(O,k,M){var N=O.length;if(!N||M&&!M.l&&N<5)return k||new e(0);var B=!k||M,W=!M||M.i;M||(M={}),k||(k=new e(3*N));var J,L=function(de){var We=k.length;if(de>We){var Me=new e(Math.max(2*We,de));Me.set(k),k=Me}},V=M.f||0,A=M.p||0,I=M.b||0,G=M.l,F=M.d,P=M.m,j=M.n,R=8*N;do{if(!G){M.f=V=b(O,A,1);var z=b(O,A+1,3);if(A+=3,!z){var q=O[(ae=((J=A)/8|0)+(7&J&&1)+4)-4]|O[ae-3]<<8,ie=ae+q;if(ie>N){W&&E(0);break}B&&L(I+q),k.set(O.subarray(ae,ie),I),M.b=I+=q,M.p=A=8*ie;continue}if(z==1)G=p,F=y,P=9,j=5;else if(z==2){var Q=b(O,A,31)+257,K=b(O,A+10,15)+4,Se=Q+b(O,A+5,31)+1;A+=14;for(var xe=new e(Se),ee=new e(19),le=0;le>>4)<16)xe[le++]=ae;else{var Oe=0,se=0;for(ae==16?(se=3+b(O,A,3),A+=2,Oe=xe[le-1]):ae==17?(se=3+b(O,A,7),A+=3):ae==18&&(se=11+b(O,A,127),A+=7);se--;)xe[le++]=Oe}}var ue=xe.subarray(0,Q),oe=xe.subarray(Q);P=_(ue),j=_(oe),G=v(ue,P,1),F=v(oe,j,1)}else E(1);if(A>R){W&&E(0);break}}B&&L(I+131072);for(var Ae=(1<>>4;if((A+=15&Oe)>R){W&&E(0);break}if(Oe||E(2),ve<256)k[I++]=ve;else{if(ve==256){re=A,G=null;break}var Ie=ve-254;if(ve>264){var ze=i[le=ve-257];Ie=b(O,A,(1<>>4;if(Ye||E(3),A+=15&Ye,oe=f[tt],tt>3&&(ze=o[tt],oe+=T(O,A)&(1<R){W&&E(0);break}B&&L(I+131072);for(var we=I+Ie;Ide.length)&&(Me=de.length);var Ct=new(de instanceof n?n:de instanceof r?r:e)(Me-We);return Ct.set(de.subarray(We,Me)),Ct}(k,0,I)},U=new e(0),D=typeof TextDecoder<"u"&&new TextDecoder;try{D.decode(U,{stream:!0})}catch{}return t.convert_streams=function(O){var k=new DataView(O),M=0;function N(){var Q=k.getUint16(M);return M+=2,Q}function B(){var Q=k.getUint32(M);return M+=4,Q}function W(Q){q.setUint16(ie,Q),ie+=2}function J(Q){q.setUint32(ie,Q),ie+=4}for(var L={signature:B(),flavor:B(),length:B(),numTables:N(),reserved:N(),totalSfntSize:B(),majorVersion:N(),minorVersion:N(),metaOffset:B(),metaLength:B(),metaOrigLength:B(),privOffset:B(),privLength:B()},V=0;Math.pow(2,V)<=L.numTables;)V++;V--;for(var A=16*Math.pow(2,V),I=16*L.numTables-A,G=12,F=[],P=0;P{let[S,U]=E.split("+");S=parseInt(S,36),U=U?parseInt(U,36):0,c.set(x+=S,b[T]);for(let D=U;D--;)c.set(++x,b[T])})}}return c.get(_)||l}const d=1,h=2,g=3,v=4,w=[null,"isol","init","fina","medi"];function m(_){const b=new Uint8Array(_.length);let T=l,x=d,E=-1;for(let S=0;S<_.length;S++){const U=_.codePointAt(S);let D=f(U)|0,O=d;D&s||(T&(i|a|u)?D&(o|a|u)?(O=g,(x===d||x===g)&&b[E]++):D&(i|l)&&(x===h||x===v)&&b[E]--:T&(o|l)&&(x===h||x===v)&&b[E]--,x=b[S]=O,T=D,E=S,U>65535&&S++)}return b}function p(_,b){const T=[];for(let E=0;E65535&&E++,T.push(t.U.codeToGlyph(_,S))}const x=_.GSUB;if(x){const{lookupList:E,featureList:S}=x;let U;const D=/^(rlig|liga|mset|isol|init|fina|medi|half|pres|blws)$/,O=[];S.forEach(k=>{if(D.test(k.tag))for(let M=0;M{if(B!==-1){let J=b[B];if(!J){const{cmds:L,crds:V}=t.U.glyphToPath(_,B);let A="",I=0;for(let R=0,z=L.length;R1?",":"")+V[I++]}let G,F,P,j;if(V.length){G=F=1/0,P=j=-1/0;for(let R=0,z=V.length;RP&&(P=q),ie>j&&(j=ie)}}else G=P=F=j=0;J=b[B]={index:B,advanceWidth:_.hmtx.aWidth[B],xMin:G,yMin:F,xMax:P,yMax:j,path:A,pathCommandCount:L.length}}N!==-1&&(D+=t.U.getPairAdjustment(_,N,B)*O),U.call(null,J,D,M),J.advanceWidth&&(D+=J.advanceWidth*O),S&&(D+=S*E),N=B}M+=x.codePointAt(M)>65535?2:1}),D}};return T}return function(b){const T=new Uint8Array(b,0,4),x=t._bin.readASCII(T,0,4);if(x==="wOFF")b=e(b);else if(x==="wOF2")throw new Error("woff2 fonts not supported");return y(t.parse(b)[0])}}const uw=Mr({name:"Typr Font Parser",dependencies:[ow,aw,sw],init(t,e,n){const r=t(),i=e();return n(r,i)}}),hr={defaultFontURL:"https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxM.woff",sdfGlyphSize:64,sdfMargin:1/16,sdfExponent:9,textureWidth:2048},lw=new _n;function ar(){return(self.performance||Date).now()}const Lc=Object.create(null);function ph(t,e){t=dw({},t);const n=ar();if(t.font=hw(t.font||hr.defaultFontURL),t.text=""+t.text,t.sdfGlyphSize=t.sdfGlyphSize||hr.sdfGlyphSize,t.colorRanges!=null){let f={};for(let d in t.colorRanges)if(t.colorRanges.hasOwnProperty(d)){let h=t.colorRanges[d];typeof h!="number"&&(h=lw.set(h).getHex()),f[d]=h}t.colorRanges=f}Object.freeze(t);const{textureWidth:r,sdfExponent:i}=hr,{sdfGlyphSize:o}=t,a=r/o*4;let s=Lc[o];if(!s){const f=document.createElement("canvas");f.width=r,f.height=o*256/a,s=Lc[o]={glyphCount:0,sdfGlyphSize:o,sdfCanvas:f,sdfTexture:new Xp(f,void 0,void 0,void 0,Ps,Ps),contextLost:!1,glyphsByFont:new Map},s.sdfTexture.generateMipmaps=!1,cw(s)}const{sdfTexture:u,sdfCanvas:l}=s;let c=s.glyphsByFont.get(t.font);c||s.glyphsByFont.set(t.font,c=new Map),gw(t).then(f=>{const{glyphIds:d,glyphPositions:h,fontSize:g,unitsPerEm:v,timings:w}=f,m=[],p=new Float32Array(d.length*4),y=g/v;let _=0,b=0;const T=ar();d.forEach((D,O)=>{let k=c.get(D);if(!k){const{path:W,pathBounds:J}=f.glyphData[D],L=Math.max(J[2]-J[0],J[3]-J[1])/o*(hr.sdfMargin*o+.5),V=s.glyphCount++,A=[J[0]-L,J[1]-L,J[2]+L,J[3]+L];c.set(D,k={path:W,atlasIndex:V,sdfViewBox:A}),m.push(k)}const{sdfViewBox:M}=k,N=h[b++],B=h[b++];p[_++]=N+M[0]*y,p[_++]=B+M[1]*y,p[_++]=N+M[2]*y,p[_++]=B+M[3]*y,d[O]=k.atlasIndex}),w.quads=(w.quads||0)+(ar()-T);const x=ar();w.sdf={};const E=l.height,S=Math.ceil(s.glyphCount/a),U=Math.pow(2,Math.ceil(Math.log2(S*o)));U>E&&(console.info(`Increasing SDF texture size ${E}->${U}`),iw(l,r,U),u.dispose()),wn.all(m.map(D=>gh(D,s,t.gpuAccelerateSDF).then(({timing:O})=>{w.sdf[D.atlasIndex]=O}))).then(()=>{m.length&&!s.contextLost&&(mh(s),u.needsUpdate=!0),w.sdfTotal=ar()-x,w.total=ar()-n,e(Object.freeze({parameters:t,sdfTexture:u,sdfGlyphSize:o,sdfExponent:i,glyphBounds:p,glyphAtlasIndices:d,glyphColors:f.glyphColors,caretPositions:f.caretPositions,caretHeight:f.caretHeight,chunkedBounds:f.chunkedBounds,ascender:f.ascender,descender:f.descender,lineHeight:f.lineHeight,topBaseline:f.topBaseline,blockBounds:f.blockBounds,visibleBounds:f.visibleBounds,timings:f.timings,get totalBounds(){return console.log("totalBounds deprecated, use blockBounds instead"),f.blockBounds},get totalBlockSize(){console.log("totalBlockSize deprecated, use blockBounds instead");const[D,O,k,M]=f.blockBounds;return[k-D,M-O]}}))})}),wn.all([]).then(()=>{s.contextLost||rw(l)})}function gh({path:t,atlasIndex:e,sdfViewBox:n},{sdfGlyphSize:r,sdfCanvas:i,contextLost:o},a){if(o)return Promise.resolve({timing:-1});const{textureWidth:s,sdfExponent:u}=hr,l=Math.max(n[2]-n[0],n[3]-n[1]),c=Math.floor(e/4),f=c%(s/r)*r,d=Math.floor(c/(s/r))*r,h=e%4;return tw(r,r,t,n,l,u,i,f,d,h,a)}function cw(t){const e=t.sdfCanvas;e.addEventListener("webglcontextlost",n=>{console.log("Context Lost",n),n.preventDefault(),t.contextLost=!0}),e.addEventListener("webglcontextrestored",n=>{console.log("Context Restored",n),t.contextLost=!1;const r=[];t.glyphsByFont.forEach(i=>{i.forEach(o=>{r.push(gh(o,t,!0))})}),wn.all(r).then(()=>{mh(t),t.sdfTexture.needsUpdate=!0})})}function fw({font:t,characters:e,sdfGlyphSize:n},r){let i=Array.isArray(e)?e.join(` +`):""+e;ph({font:t,sdfGlyphSize:n,text:i},r)}function dw(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}let xo;function hw(t){return xo||(xo=typeof document>"u"?{}:document.createElement("a")),xo.href=t,xo.href}function mh(t){if(typeof createImageBitmap!="function"){console.info("Safari<15: applying SDF canvas workaround");const{sdfCanvas:e,sdfTexture:n}=t,{width:r,height:i}=e,o=t.sdfCanvas.getContext("webgl");let a=n.image.data;(!a||a.length!==r*i*4)&&(a=new Uint8Array(r*i*4),n.image={width:r,height:i,data:a},n.flipY=!1,n.isDataTexture=!0),o.readPixels(0,0,r,i,o.RGBA,o.UNSIGNED_BYTE,a)}}const pw=Mr({name:"Typesetter",dependencies:[hr,uw,ew,W_],init(t,e,n,r){const{defaultFontURL:i}=t;return n(e,r(),{defaultFontURL:i})}}),gw=Mr({name:"Typesetter",dependencies:[pw,q_],init(t,e){return function(n){const r=new e;return t.typeset(n,r.resolve),r}},getTransferables(t){const e=[t.glyphPositions.buffer,t.glyphIds.buffer];return t.caretPositions&&e.push(t.caretPositions.buffer),t.glyphColors&&e.push(t.glyphColors.buffer),e}}),mw=(()=>{const t={};function e(u){let l=t[u];if(!l){const c=new Rs(1,1,u,u),f=c.clone(),d=c.attributes,h=f.attributes,g=new Bf,v=d.uv.count;for(let w=0;w{g.setAttribute(w,new tg([...d[w].array,...h[w].array],d[w].itemSize))}),g.setIndex([...c.index.array,...f.index.array.map(w=>w+v)]),g.translate(.5,.5,0),l=t[u]=g}return l}const n="aTroikaGlyphBounds",r="aTroikaGlyphIndex",i="aTroikaGlyphColor";class o extends Qp{constructor(){super(),this.detail=1,this.curveRadius=0,this.groups=[{start:0,count:1/0,materialIndex:0},{start:0,count:1/0,materialIndex:1}],this.boundingSphere=new qf,this.boundingBox=new mu}computeBoundingSphere(){}computeBoundingBox(){}setSide(l){const c=this.getIndex().count;this.setDrawRange(l===Jp?c/2:0,l===un?c:c/2)}set detail(l){if(l!==this._detail){this._detail=l,(typeof l!="number"||l<1)&&(l=1);let c=e(l);["position","normal","uv"].forEach(f=>{this.attributes[f]=c.attributes[f].clone()}),this.setIndex(c.getIndex().clone())}}get detail(){return this._detail}set curveRadius(l){l!==this._curveRadius&&(this._curveRadius=l,this._updateBounds())}get curveRadius(){return this._curveRadius}updateGlyphs(l,c,f,d,h){a(this,n,l,4),a(this,r,c,1),a(this,i,h,3),this._blockBounds=f,this._chunkedBounds=d,s(this,c.length),this._updateBounds()}_updateBounds(){const l=this._blockBounds;if(l){const{curveRadius:c,boundingBox:f}=this;if(c){const{PI:d,floor:h,min:g,max:v,sin:w,cos:m}=Math,p=d/2,y=d*2,_=Math.abs(c),b=l[0]/_,T=l[2]/_,x=h((b+p)/y)!==h((T+p)/y)?-_:g(w(b)*_,w(T)*_),E=h((b-p)/y)!==h((T-p)/y)?_:v(w(b)*_,w(T)*_),S=h((b+d)/y)!==h((T+d)/y)?_*2:v(_-m(b)*_,_-m(T)*_);f.min.set(x,l[1],c<0?-S:0),f.max.set(E,l[3],c<0?0:S)}else f.min.set(l[0],l[1],0),f.max.set(l[2],l[3],0);f.getBoundingSphere(this.boundingSphere)}}applyClipRect(l){let c=this.getAttribute(r).count,f=this._chunkedBounds;if(f)for(let d=f.length;d--;){c=f[d].end;let h=f[d].rect;if(h[1]l.y&&h[0]l.x)break}s(this,c)}}o.prototype.setAttribute||(o.prototype.setAttribute=function(u,l){return this.attributes[u]=l,this});function a(u,l,c,f){const d=u.getAttribute(l);c?d&&d.array.length===c.length?(d.array.set(c),d.needsUpdate=!0):(u.setAttribute(l,new eg(c,f)),delete u._maxInstanceCount,u.dispose()):d&&u.deleteAttribute(l)}function s(u,l){u[u.hasOwnProperty("instanceCount")?"instanceCount":"maxInstancedCount"]=l}return o})(),vw=` +uniform vec2 uTroikaSDFTextureSize; +uniform float uTroikaSDFGlyphSize; +uniform vec4 uTroikaTotalBounds; +uniform vec4 uTroikaClipRect; +uniform mat3 uTroikaOrient; +uniform bool uTroikaUseGlyphColors; +uniform float uTroikaDistanceOffset; +uniform float uTroikaBlurRadius; +uniform vec2 uTroikaPositionOffset; +uniform float uTroikaCurveRadius; +attribute vec4 aTroikaGlyphBounds; +attribute float aTroikaGlyphIndex; +attribute vec3 aTroikaGlyphColor; +varying vec2 vTroikaGlyphUV; +varying vec4 vTroikaTextureUVBounds; +varying float vTroikaTextureChannel; +varying vec3 vTroikaGlyphColor; +varying vec2 vTroikaGlyphDimensions; +`,yw=` +vec4 bounds = aTroikaGlyphBounds; +bounds.xz += uTroikaPositionOffset.x; +bounds.yw -= uTroikaPositionOffset.y; + +vec4 outlineBounds = vec4( + bounds.xy - uTroikaDistanceOffset - uTroikaBlurRadius, + bounds.zw + uTroikaDistanceOffset + uTroikaBlurRadius +); +vec4 clippedBounds = vec4( + clamp(outlineBounds.xy, uTroikaClipRect.xy, uTroikaClipRect.zw), + clamp(outlineBounds.zw, uTroikaClipRect.xy, uTroikaClipRect.zw) +); + +vec2 clippedXY = (mix(clippedBounds.xy, clippedBounds.zw, position.xy) - bounds.xy) / (bounds.zw - bounds.xy); + +position.xy = mix(bounds.xy, bounds.zw, clippedXY); + +uv = (position.xy - uTroikaTotalBounds.xy) / (uTroikaTotalBounds.zw - uTroikaTotalBounds.xy); + +float rad = uTroikaCurveRadius; +if (rad != 0.0) { + float angle = position.x / rad; + position.xz = vec2(sin(angle) * rad, rad - cos(angle) * rad); + normal.xz = vec2(sin(angle), cos(angle)); +} + +position = uTroikaOrient * position; +normal = uTroikaOrient * normal; + +vTroikaGlyphUV = clippedXY.xy; +vTroikaGlyphDimensions = vec2(bounds[2] - bounds[0], bounds[3] - bounds[1]); + + +float txCols = uTroikaSDFTextureSize.x / uTroikaSDFGlyphSize; +vec2 txUvPerSquare = uTroikaSDFGlyphSize / uTroikaSDFTextureSize; +vec2 txStartUV = txUvPerSquare * vec2( + mod(floor(aTroikaGlyphIndex / 4.0), txCols), + floor(floor(aTroikaGlyphIndex / 4.0) / txCols) +); +vTroikaTextureUVBounds = vec4(txStartUV, vec2(txStartUV) + txUvPerSquare); +vTroikaTextureChannel = mod(aTroikaGlyphIndex, 4.0); +`,_w=` +uniform sampler2D uTroikaSDFTexture; +uniform vec2 uTroikaSDFTextureSize; +uniform float uTroikaSDFGlyphSize; +uniform float uTroikaSDFExponent; +uniform float uTroikaDistanceOffset; +uniform float uTroikaFillOpacity; +uniform float uTroikaOutlineOpacity; +uniform float uTroikaBlurRadius; +uniform vec3 uTroikaStrokeColor; +uniform float uTroikaStrokeWidth; +uniform float uTroikaStrokeOpacity; +uniform bool uTroikaSDFDebug; +varying vec2 vTroikaGlyphUV; +varying vec4 vTroikaTextureUVBounds; +varying float vTroikaTextureChannel; +varying vec2 vTroikaGlyphDimensions; + +float troikaSdfValueToSignedDistance(float alpha) { + // Inverse of exponential encoding in webgl-sdf-generator + + float maxDimension = max(vTroikaGlyphDimensions.x, vTroikaGlyphDimensions.y); + float absDist = (1.0 - pow(2.0 * (alpha > 0.5 ? 1.0 - alpha : alpha), 1.0 / uTroikaSDFExponent)) * maxDimension; + float signedDist = absDist * (alpha > 0.5 ? -1.0 : 1.0); + return signedDist; +} + +float troikaGlyphUvToSdfValue(vec2 glyphUV) { + vec2 textureUV = mix(vTroikaTextureUVBounds.xy, vTroikaTextureUVBounds.zw, glyphUV); + vec4 rgba = texture2D(uTroikaSDFTexture, textureUV); + float ch = floor(vTroikaTextureChannel + 0.5); //NOTE: can't use round() in WebGL1 + return ch == 0.0 ? rgba.r : ch == 1.0 ? rgba.g : ch == 2.0 ? rgba.b : rgba.a; +} + +float troikaGlyphUvToDistance(vec2 uv) { + return troikaSdfValueToSignedDistance(troikaGlyphUvToSdfValue(uv)); +} + +float troikaGetAADist() { + + #if defined(GL_OES_standard_derivatives) || __VERSION__ >= 300 + return length(fwidth(vTroikaGlyphUV * vTroikaGlyphDimensions)) * 0.5; + #else + return vTroikaGlyphDimensions.x / 64.0; + #endif +} + +float troikaGetFragDistValue() { + vec2 clampedGlyphUV = clamp(vTroikaGlyphUV, 0.5 / uTroikaSDFGlyphSize, 1.0 - 0.5 / uTroikaSDFGlyphSize); + float distance = troikaGlyphUvToDistance(clampedGlyphUV); + + // Extrapolate distance when outside bounds: + distance += clampedGlyphUV == vTroikaGlyphUV ? 0.0 : + length((vTroikaGlyphUV - clampedGlyphUV) * vTroikaGlyphDimensions); + + + + return distance; +} + +float troikaGetEdgeAlpha(float distance, float distanceOffset, float aaDist) { + #if defined(IS_DEPTH_MATERIAL) || defined(IS_DISTANCE_MATERIAL) + float alpha = step(-distanceOffset, -distance); + #else + + float alpha = smoothstep( + distanceOffset + aaDist, + distanceOffset - aaDist, + distance + ); + #endif + + return alpha; +} +`,ww=` +float aaDist = troikaGetAADist(); +float fragDistance = troikaGetFragDistValue(); +float edgeAlpha = uTroikaSDFDebug ? + troikaGlyphUvToSdfValue(vTroikaGlyphUV) : + troikaGetEdgeAlpha(fragDistance, uTroikaDistanceOffset, max(aaDist, uTroikaBlurRadius)); + +#if !defined(IS_DEPTH_MATERIAL) && !defined(IS_DISTANCE_MATERIAL) +vec4 fillRGBA = gl_FragColor; +fillRGBA.a *= uTroikaFillOpacity; +vec4 strokeRGBA = uTroikaStrokeWidth == 0.0 ? fillRGBA : vec4(uTroikaStrokeColor, uTroikaStrokeOpacity); +if (fillRGBA.a == 0.0) fillRGBA.rgb = strokeRGBA.rgb; +gl_FragColor = mix(fillRGBA, strokeRGBA, smoothstep( + -uTroikaStrokeWidth - aaDist, + -uTroikaStrokeWidth + aaDist, + fragDistance +)); +gl_FragColor.a *= edgeAlpha; +#endif + +if (edgeAlpha == 0.0) { + discard; +} +`;function bw(t){const e=Xs(t,{chained:!0,extensions:{derivatives:!0},uniforms:{uTroikaSDFTexture:{value:null},uTroikaSDFTextureSize:{value:new mn},uTroikaSDFGlyphSize:{value:0},uTroikaSDFExponent:{value:0},uTroikaTotalBounds:{value:new Ls(0,0,0,0)},uTroikaClipRect:{value:new Ls(0,0,0,0)},uTroikaDistanceOffset:{value:0},uTroikaOutlineOpacity:{value:0},uTroikaFillOpacity:{value:1},uTroikaPositionOffset:{value:new mn},uTroikaCurveRadius:{value:0},uTroikaBlurRadius:{value:0},uTroikaStrokeWidth:{value:0},uTroikaStrokeColor:{value:new _n},uTroikaStrokeOpacity:{value:1},uTroikaOrient:{value:new Zp},uTroikaUseGlyphColors:{value:!0},uTroikaSDFDebug:{value:!1}},vertexDefs:vw,vertexTransform:yw,fragmentDefs:_w,fragmentColorTransform:ww,customRewriter({vertexShader:n,fragmentShader:r}){let i=/\buniform\s+vec3\s+diffuse\b/;return i.test(r)&&(r=r.replace(i,"varying vec3 vTroikaGlyphColor").replace(/\bdiffuse\b/g,"vTroikaGlyphColor"),i.test(n)||(n=n.replace(hh,`uniform vec3 diffuse; +$& +vTroikaGlyphColor = uTroikaUseGlyphColors ? aTroikaGlyphColor / 255.0 : diffuse; +`))),{vertexShader:n,fragmentShader:r}}});return e.transparent=!0,Object.defineProperties(e,{isTroikaTextMaterial:{value:!0},shadowSide:{get(){return this.side},set(){}}}),e}const xw=(()=>{const t=new Yp({color:16777215,side:un,transparent:!0}),e=8421504,n=new jf,r=new Ee,i=new Ee,o=[],a=new Ee,s="+x+y";function u(m){return Array.isArray(m)?m[0]:m}let l=()=>{const m=new gr(new Rs(1,1),t);return l=()=>m,m},c=()=>{const m=new gr(new Rs(1,1,32,1),t);return c=()=>m,m};const f={type:"syncstart"},d={type:"synccomplete"},h=["font","fontSize","letterSpacing","lineHeight","maxWidth","overflowWrap","text","direction","textAlign","textIndent","whiteSpace","anchorX","anchorY","colorRanges","sdfGlyphSize"],g=h.concat("material","color","depthOffset","clipRect","curveRadius","orientation","glyphGeometryDetail");class v extends gr{constructor(){const p=new mw;super(p,null),this.text="",this.anchorX=0,this.anchorY=0,this.curveRadius=0,this.direction="auto",this.font=null,this.fontSize=.1,this.letterSpacing=0,this.lineHeight="normal",this.maxWidth=1/0,this.overflowWrap="normal",this.textAlign="left",this.textIndent=0,this.whiteSpace="normal",this.material=null,this.color=null,this.colorRanges=null,this.outlineWidth=0,this.outlineColor=0,this.outlineOpacity=1,this.outlineBlur=0,this.outlineOffsetX=0,this.outlineOffsetY=0,this.strokeWidth=0,this.strokeColor=e,this.strokeOpacity=1,this.fillOpacity=1,this.depthOffset=0,this.clipRect=null,this.orientation=s,this.glyphGeometryDetail=1,this.sdfGlyphSize=null,this.gpuAccelerateSDF=!0,this.debugSDF=!1}sync(p){this._needsSync&&(this._needsSync=!1,this._isSyncing?(this._queuedSyncs||(this._queuedSyncs=[])).push(p):(this._isSyncing=!0,this.dispatchEvent(f),ph({text:this.text,font:this.font,fontSize:this.fontSize||.1,letterSpacing:this.letterSpacing||0,lineHeight:this.lineHeight||"normal",maxWidth:this.maxWidth,direction:this.direction||"auto",textAlign:this.textAlign,textIndent:this.textIndent,whiteSpace:this.whiteSpace,overflowWrap:this.overflowWrap,anchorX:this.anchorX,anchorY:this.anchorY,colorRanges:this.colorRanges,includeCaretPositions:!0,sdfGlyphSize:this.sdfGlyphSize,gpuAccelerateSDF:this.gpuAccelerateSDF},y=>{this._isSyncing=!1,this._textRenderInfo=y,this.geometry.updateGlyphs(y.glyphBounds,y.glyphAtlasIndices,y.blockBounds,y.chunkedBounds,y.glyphColors);const _=this._queuedSyncs;_&&(this._queuedSyncs=null,this._needsSync=!0,this.sync(()=>{_.forEach(b=>b&&b())})),this.dispatchEvent(d),p&&p()})))}onBeforeRender(p,y,_,b,T,x){this.sync(),T.isTroikaTextMaterial&&this._prepareForRender(T),T._hadOwnSide=T.hasOwnProperty("side"),this.geometry.setSide(T._actualSide=T.side),T.side=Kp}onAfterRender(p,y,_,b,T,x){T._hadOwnSide?T.side=T._actualSide:delete T.side}dispose(){this.geometry.dispose()}get textRenderInfo(){return this._textRenderInfo||null}get material(){let p=this._derivedMaterial;const y=this._baseMaterial||this._defaultMaterial||(this._defaultMaterial=t.clone());if((!p||p.baseMaterial!==y)&&(p=this._derivedMaterial=bw(y),y.addEventListener("dispose",function _(){y.removeEventListener("dispose",_),p.dispose()})),this.outlineWidth||this.outlineBlur||this.outlineOffsetX||this.outlineOffsetY){let _=p._outlineMtl;return _||(_=p._outlineMtl=Object.create(p,{id:{value:p.id+.1}}),_.isTextOutlineMaterial=!0,_.depthWrite=!1,_.map=null,p.addEventListener("dispose",function b(){p.removeEventListener("dispose",b),_.dispose()})),[_,p]}else return p}set material(p){p&&p.isTroikaTextMaterial?(this._derivedMaterial=p,this._baseMaterial=p.baseMaterial):this._baseMaterial=p}get glyphGeometryDetail(){return this.geometry.detail}set glyphGeometryDetail(p){this.geometry.detail=p}get curveRadius(){return this.geometry.curveRadius}set curveRadius(p){this.geometry.curveRadius=p}get customDepthMaterial(){return u(this.material).getDepthMaterial()}get customDistanceMaterial(){return u(this.material).getDistanceMaterial()}_prepareForRender(p){const y=p.isTextOutlineMaterial,_=p.uniforms,b=this.textRenderInfo;if(b){const{sdfTexture:E,blockBounds:S}=b;_.uTroikaSDFTexture.value=E,_.uTroikaSDFTextureSize.value.set(E.image.width,E.image.height),_.uTroikaSDFGlyphSize.value=b.sdfGlyphSize,_.uTroikaSDFExponent.value=b.sdfExponent,_.uTroikaTotalBounds.value.fromArray(S),_.uTroikaUseGlyphColors.value=!y&&!!b.glyphColors;let U=0,D=0,O=0,k,M,N,B=0,W=0;if(y){let{outlineWidth:L,outlineOffsetX:V,outlineOffsetY:A,outlineBlur:I,outlineOpacity:G}=this;U=this._parsePercent(L)||0,D=Math.max(0,this._parsePercent(I)||0),k=G,B=this._parsePercent(V)||0,W=this._parsePercent(A)||0}else O=Math.max(0,this._parsePercent(this.strokeWidth)||0),O&&(N=this.strokeColor,_.uTroikaStrokeColor.value.set(N??e),M=this.strokeOpacity,M==null&&(M=1)),k=this.fillOpacity;_.uTroikaDistanceOffset.value=U,_.uTroikaPositionOffset.value.set(B,W),_.uTroikaBlurRadius.value=D,_.uTroikaStrokeWidth.value=O,_.uTroikaStrokeOpacity.value=M,_.uTroikaFillOpacity.value=k??1,_.uTroikaCurveRadius.value=this.curveRadius||0;let J=this.clipRect;if(J&&Array.isArray(J)&&J.length===4)_.uTroikaClipRect.value.fromArray(J);else{const L=(this.fontSize||.1)*100;_.uTroikaClipRect.value.set(S[0]-L,S[1]-L,S[2]+L,S[3]+L)}this.geometry.applyClipRect(_.uTroikaClipRect.value)}_.uTroikaSDFDebug.value=!!this.debugSDF,p.polygonOffset=!!this.depthOffset,p.polygonOffsetFactor=p.polygonOffsetUnits=this.depthOffset||0;const T=y?this.outlineColor||0:this.color;if(T==null)delete p.color;else{const E=p.hasOwnProperty("color")?p.color:p.color=new _n;(T!==E._input||typeof T=="object")&&E.set(E._input=T)}let x=this.orientation||s;if(x!==p._orientation){let E=_.uTroikaOrient.value;x=x.replace(/[^-+xyz]/g,"");let S=x!==s&&x.match(/^([-+])([xyz])([-+])([xyz])$/);if(S){let[,U,D,O,k]=S;r.set(0,0,0)[D]=U==="-"?1:-1,i.set(0,0,0)[k]=O==="-"?-1:1,n.lookAt(a,r.cross(i),i),E.setFromMatrix4(n)}else E.identity();p._orientation=x}}_parsePercent(p){if(typeof p=="string"){let y=p.match(/^(-?[\d.]+)%$/),_=y?parseFloat(y[1]):NaN;p=(isNaN(_)?0:_/100)*this.fontSize}return p}localPositionToTextCoords(p,y=new mn){y.copy(p);const _=this.curveRadius;return _&&(y.x=Math.atan2(p.x,Math.abs(_)-Math.abs(p.z))*Math.abs(_)),y}worldPositionToTextCoords(p,y=new mn){return r.copy(p),this.localPositionToTextCoords(this.worldToLocal(r),y)}raycast(p,y){const{textRenderInfo:_,curveRadius:b}=this;if(_){const T=_.blockBounds,x=b?c():l(),E=x.geometry,{position:S,uv:U}=E.attributes;for(let D=0;D{this[_]=p[_]}),this}clone(){return new this.constructor().copy(this)}}h.forEach(m=>{const p="_private_"+m;Object.defineProperty(v.prototype,m,{get(){return this[p]},set(y){y!==this[p]&&(this[p]=y,this._needsSync=!0)}})});let w=!1;return Object.defineProperty(v.prototype,"anchor",{get(){return this._deprecated_anchor},set(m){this._deprecated_anchor=m,w||(console.warn("TextMesh: `anchor` has been deprecated; use `anchorX` and `anchorY` instead."),w=!0),Array.isArray(m)?(this.anchorX=`${(+m[0]||0)*100}%`,this.anchorY=`${(+m[1]||0)*100}%`):this.anchorX=this.anchorY=0}}),v})(),Ew=C.forwardRef(({anchorX:t="center",anchorY:e="middle",font:n,children:r,characters:i,onSync:o,...a},s)=>{const u=at(({invalidate:d})=>d),[l]=C.useState(()=>new xw),[c,f]=C.useMemo(()=>{const d=[];let h="";return C.Children.forEach(r,g=>{typeof g=="string"||typeof g=="number"?h+=g:d.push(g)}),[d,h]},[r]);return gg(()=>new Promise(d=>fw({font:n,characters:i},d)),["troika-text",n,i]),C.useLayoutEffect(()=>void l.sync(()=>{u(),o&&o(l)})),C.useEffect(()=>()=>l.dispose(),[l]),C.createElement("primitive",ya({object:l,ref:s,font:n,text:f,anchorX:t,anchorY:e},a),c)});var Aa={exports:{}},Rc={ellipse:"…",chars:[" ","-"],max:140,truncate:!0};function vh(t,e,n,r){if(t<=e)return t;if(e<2)return t.slice(0,e-n.length)+n;for(var i=e-n.length,o=Math.floor(i/2),a=o,s=t.length-o,u=0;u"u")&&(n[r]=Rc[r]);return n.max=e||n.max,n.truncate=="middle"?vh(t,n.max,n.ellipse,n.chars):yh(t,n.max,n.ellipse,n.chars,n.truncate)};Aa.exports.ellipsizeMiddle=vh;Aa.exports.ellipsize=yh;var Tw=Aa.exports;const Sw=It(Tw),Tr=({text:t,fontSize:e,fontUrl:n,color:r,opacity:i,stroke:o,active:a,ellipsis:s})=>{const u=s&&!a?Sw(t,s):t,l=C.useMemo(()=>new _n(r),[r]),c=C.useMemo(()=>o?new _n(o):void 0,[o]);return te.jsx(lh,{position:[0,0,1],children:te.jsx(Ew,{font:n,fontSize:e,color:l,fillOpacity:i,textAlign:"center",outlineWidth:o?1:0,outlineColor:c,depthOffset:0,maxWidth:100,overflowWrap:"break-word",children:u})})};Tr.defaultProps={opacity:1,fontSize:7,color:"#2A6475",ellipsis:75};try{Tr.displayName="Label",Tr.__docgenInfo={description:"",displayName:"Label",props:{text:{defaultValue:null,description:"Text to render.",name:"text",required:!0,type:{name:"string"}},fontUrl:{defaultValue:null,description:`Font URL. +Reference: https://github.com/reaviz/reagraph/issues/23`,name:"fontUrl",required:!1,type:{name:"string"}},fontSize:{defaultValue:{value:"7"},description:"Size of the font.",name:"fontSize",required:!1,type:{name:"number"}},color:{defaultValue:{value:"#2A6475"},description:"Color of the text.",name:"color",required:!1,type:{name:"ColorRepresentation"}},stroke:{defaultValue:null,description:"Stroke of the text.",name:"stroke",required:!1,type:{name:"ColorRepresentation"}},opacity:{defaultValue:{value:"1"},description:"Opacity for the label.",name:"opacity",required:!1,type:{name:"number"}},ellipsis:{defaultValue:{value:"75"},description:"The lenth of which to start the ellipsis.",name:"ellipsis",required:!1,type:{name:"number"}},active:{defaultValue:null,description:"Whether the label is active ( dragging, hover, focus ).",name:"active",required:!1,type:{name:"boolean"}}}}}catch{}let Nu=Vi();const be=t=>Ni(t,Nu);let Vu=Vi();be.write=t=>Ni(t,Vu);let Oa=Vi();be.onStart=t=>Ni(t,Oa);let Bu=Vi();be.onFrame=t=>Ni(t,Bu);let $u=Vi();be.onFinish=t=>Ni(t,$u);let yr=[];be.setTimeout=(t,e)=>{let n=be.now()+e,r=()=>{let o=yr.findIndex(a=>a.cancel==r);~o&&yr.splice(o,1),Rn-=~o?1:0},i={time:n,handler:t,cancel:r};return yr.splice(_h(n),0,i),Rn+=1,wh(),i};let _h=t=>~(~yr.findIndex(e=>e.time>t)||~yr.length);be.cancel=t=>{Oa.delete(t),Bu.delete(t),Nu.delete(t),Vu.delete(t),$u.delete(t)};be.sync=t=>{Zs=!0,be.batchedUpdates(t),Zs=!1};be.throttle=t=>{let e;function n(){try{t(...e)}finally{e=null}}function r(...i){e=i,be.onStart(n)}return r.handler=t,r.cancel=()=>{Oa.delete(n),e=null},r};let ju=typeof window<"u"?window.requestAnimationFrame:()=>{};be.use=t=>ju=t;be.now=typeof performance<"u"?()=>performance.now():Date.now;be.batchedUpdates=t=>t();be.catch=console.error;be.frameLoop="always";be.advance=()=>{be.frameLoop!=="demand"?console.warn("Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"):xh()};let Ln=-1,Rn=0,Zs=!1;function Ni(t,e){Zs?(e.delete(t),t(0)):(e.add(t),wh())}function wh(){Ln<0&&(Ln=0,be.frameLoop!=="demand"&&ju(bh))}function Aw(){Ln=-1}function bh(){~Ln&&(ju(bh),be.batchedUpdates(xh))}function xh(){let t=Ln;Ln=be.now();let e=_h(Ln);e&&(Eh(yr.splice(0,e),n=>n.handler()),Rn-=e),Oa.flush(),Nu.flush(t?Math.min(64,Ln-t):16.667),Bu.flush(),Vu.flush(),$u.flush(),Rn||Aw()}function Vi(){let t=new Set,e=t;return{add(n){Rn+=e==t&&!t.has(n)?1:0,t.add(n)},delete(n){return Rn-=e==t&&t.has(n)?1:0,t.delete(n)},flush(n){e.size&&(t=new Set,Rn-=e.size,Eh(e,r=>r(n)&&t.add(r)),Rn+=t.size,e=t)}}}function Eh(t,e){t.forEach(n=>{try{e(n)}catch(r){be.catch(r)}})}function Qs(){}const Ow=(t,e,n)=>Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0}),Z={arr:Array.isArray,obj:t=>!!t&&t.constructor.name==="Object",fun:t=>typeof t=="function",str:t=>typeof t=="string",num:t=>typeof t=="number",und:t=>t===void 0};function gn(t,e){if(Z.arr(t)){if(!Z.arr(e)||t.length!==e.length)return!1;for(let n=0;nt.forEach(e);function bn(t,e,n){if(Z.arr(t)){for(let r=0;rZ.und(t)?[]:Z.arr(t)?t:[t];function yi(t,e){if(t.size){const n=Array.from(t);t.clear(),Re(n,e)}}const gi=(t,...e)=>yi(t,n=>n(...e)),Th=()=>typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent);let qu,Sh,Fn=null,Ah=!1,Wu=Qs;const Cw=t=>{t.to&&(Sh=t.to),t.now&&(be.now=t.now),t.colors!==void 0&&(Fn=t.colors),t.skipAnimation!=null&&(Ah=t.skipAnimation),t.createStringInterpolator&&(qu=t.createStringInterpolator),t.requestAnimationFrame&&be.use(t.requestAnimationFrame),t.batchedUpdates&&(be.batchedUpdates=t.batchedUpdates),t.willAdvance&&(Wu=t.willAdvance),t.frameLoop&&(be.frameLoop=t.frameLoop)};var dn=Object.freeze({__proto__:null,get createStringInterpolator(){return qu},get to(){return Sh},get colors(){return Fn},get skipAnimation(){return Ah},get willAdvance(){return Wu},assign:Cw});const _i=new Set;let Nt=[],bs=[],Yo=0;const Ca={get idle(){return!_i.size&&!Nt.length},start(t){Yo>t.priority?(_i.add(t),be.onStart(kw)):(Oh(t),be(Js))},advance:Js,sort(t){if(Yo)be.onFrame(()=>Ca.sort(t));else{const e=Nt.indexOf(t);~e&&(Nt.splice(e,1),Ch(t))}},clear(){Nt=[],_i.clear()}};function kw(){_i.forEach(Oh),_i.clear(),be(Js)}function Oh(t){Nt.includes(t)||Ch(t)}function Ch(t){Nt.splice(Dw(Nt,e=>e.priority>t.priority),0,t)}function Js(t){const e=bs;for(let n=0;n0}function Dw(t,e){const n=t.findIndex(e);return n<0?t.length:n}const Uw={transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199},Zt="[-+]?\\d*\\.?\\d+",Ko=Zt+"%";function ka(...t){return"\\(\\s*("+t.join(")\\s*,\\s*(")+")\\s*\\)"}const Iw=new RegExp("rgb"+ka(Zt,Zt,Zt)),Mw=new RegExp("rgba"+ka(Zt,Zt,Zt,Zt)),Pw=new RegExp("hsl"+ka(Zt,Ko,Ko)),Lw=new RegExp("hsla"+ka(Zt,Ko,Ko,Zt)),Rw=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,Fw=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,Gw=/^#([0-9a-fA-F]{6})$/,zw=/^#([0-9a-fA-F]{8})$/;function Nw(t){let e;return typeof t=="number"?t>>>0===t&&t>=0&&t<=4294967295?t:null:(e=Gw.exec(t))?parseInt(e[1]+"ff",16)>>>0:Fn&&Fn[t]!==void 0?Fn[t]:(e=Iw.exec(t))?(sr(e[1])<<24|sr(e[2])<<16|sr(e[3])<<8|255)>>>0:(e=Mw.exec(t))?(sr(e[1])<<24|sr(e[2])<<16|sr(e[3])<<8|zc(e[4]))>>>0:(e=Rw.exec(t))?parseInt(e[1]+e[1]+e[2]+e[2]+e[3]+e[3]+"ff",16)>>>0:(e=zw.exec(t))?parseInt(e[1],16)>>>0:(e=Fw.exec(t))?parseInt(e[1]+e[1]+e[2]+e[2]+e[3]+e[3]+e[4]+e[4],16)>>>0:(e=Pw.exec(t))?(Fc(Gc(e[1]),Eo(e[2]),Eo(e[3]))|255)>>>0:(e=Lw.exec(t))?(Fc(Gc(e[1]),Eo(e[2]),Eo(e[3]))|zc(e[4]))>>>0:null}function xs(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function Fc(t,e,n){const r=n<.5?n*(1+e):n+e-n*e,i=2*n-r,o=xs(i,r,t+1/3),a=xs(i,r,t),s=xs(i,r,t-1/3);return Math.round(o*255)<<24|Math.round(a*255)<<16|Math.round(s*255)<<8}function sr(t){const e=parseInt(t,10);return e<0?0:e>255?255:e}function Gc(t){return(parseFloat(t)%360+360)%360/360}function zc(t){const e=parseFloat(t);return e<0?0:e>1?255:Math.round(e*255)}function Eo(t){const e=parseFloat(t);return e<0?0:e>100?1:e/100}function Nc(t){let e=Nw(t);if(e===null)return t;e=e||0;let n=(e&4278190080)>>>24,r=(e&16711680)>>>16,i=(e&65280)>>>8,o=(e&255)/255;return`rgba(${n}, ${r}, ${i}, ${o})`}const ki=(t,e,n)=>{if(Z.fun(t))return t;if(Z.arr(t))return ki({range:t,output:e,extrapolate:n});if(Z.str(t.output[0]))return qu(t);const r=t,i=r.output,o=r.range||[0,1],a=r.extrapolateLeft||r.extrapolate||"extend",s=r.extrapolateRight||r.extrapolate||"extend",u=r.easing||(l=>l);return l=>{const c=Bw(l,o);return Vw(l,o[c],o[c+1],i[c],i[c+1],u,a,s,r.map)}};function Vw(t,e,n,r,i,o,a,s,u){let l=u?u(t):t;if(ln){if(s==="identity")return l;s==="clamp"&&(l=n)}return r===i?r:e===n?t<=e?r:i:(e===-1/0?l=-l:n===1/0?l=l-e:l=(l-e)/(n-e),l=o(l),r===-1/0?l=-l:i===1/0?l=l+r:l=l*(i-r)+r,l)}function Bw(t,e){for(var n=1;n=t);++n);return n-1}function eu(){return eu=Object.assign||function(t){for(var e=1;e!!(t&&t[Sr]),Rt=t=>t&&t[Sr]?t[Sr]():t,Vc=t=>t[Xn]||null;function $w(t,e){t.eventObserved?t.eventObserved(e):t(e)}function Xo(t,e){let n=t[Xn];n&&n.forEach(r=>{$w(r,e)})}class jw{constructor(e){if(this[Sr]=void 0,this[Xn]=void 0,!e&&!(e=this.get))throw Error("Unknown getter");qw(this,e)}}const qw=(t,e)=>kh(t,Sr,e);function Bi(t,e){if(t[Sr]){let n=t[Xn];n||kh(t,Xn,n=new Set),n.has(e)||(n.add(e),t.observerAdded&&t.observerAdded(n.size,e))}return e}function Zo(t,e){let n=t[Xn];if(n&&n.has(e)){const r=n.size-1;r?n.delete(e):t[Xn]=null,t.observerRemoved&&t.observerRemoved(r,e)}}const kh=(t,e,n)=>Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0}),Fo=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,Ww=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,Bc=new RegExp(`(${Fo.source})(%|[a-z]+)`,"i"),Hw=/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,Da=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/,Dh=t=>{const[e,n]=Yw(t);if(!e||Th())return t;const r=window.getComputedStyle(document.documentElement).getPropertyValue(e);if(r)return r.trim();if(n&&n.startsWith("--")){const i=window.getComputedStyle(document.documentElement).getPropertyValue(n);return i||t}else{if(n&&Da.test(n))return Dh(n);if(n)return n}return t},Yw=t=>{const e=Da.exec(t);if(!e)return[,];const[,n,r]=e;return[n,r]};let Es;const Kw=(t,e,n,r,i)=>`rgba(${Math.round(e)}, ${Math.round(n)}, ${Math.round(r)}, ${i})`,Uh=t=>{Es||(Es=Fn?new RegExp(`(${Object.keys(Fn).join("|")})(?!\\w)`,"g"):/^\b$/);const e=t.output.map(o=>Rt(o).replace(Da,Dh).replace(Ww,Nc).replace(Es,Nc)),n=e.map(o=>o.match(Fo).map(Number)),i=n[0].map((o,a)=>n.map(s=>{if(!(a in s))throw Error('The arity of each "output" value must be equal');return s[a]})).map(o=>ki(eu({},t,{output:o})));return o=>{var a;const s=!Bc.test(e[0])&&((a=e.find(l=>Bc.test(l)))==null?void 0:a.replace(Fo,""));let u=0;return e[0].replace(Fo,()=>`${i[u++](o)}${s||""}`).replace(Hw,Kw)}},Hu="react-spring: ",Ih=t=>{const e=t;let n=!1;if(typeof e!="function")throw new TypeError(`${Hu}once requires a function parameter`);return(...r)=>{n||(e(...r),n=!0)}},Xw=Ih(console.warn);function Zw(){Xw(`${Hu}The "interpolate" function is deprecated in v9 (use "to" instead)`)}const Qw=Ih(console.warn);function Jw(){Qw(`${Hu}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions`)}function Ua(t){return Z.str(t)&&(t[0]=="#"||/\d/.test(t)||!Th()&&Da.test(t)||t in(Fn||{}))}const Yu=typeof window<"u"&&window.document&&window.document.createElement?C.useLayoutEffect:C.useEffect,eb=()=>{const t=C.useRef(!1);return Yu(()=>(t.current=!0,()=>{t.current=!1}),[]),t};function Mh(){const t=C.useState()[1],e=eb();return()=>{e.current&&t(Math.random())}}function tb(t,e){const[n]=C.useState(()=>({inputs:e,result:t()})),r=C.useRef(),i=r.current;let o=i;return o?e&&o.inputs&&nb(e,o.inputs)||(o={inputs:e,result:t()}):o=n,C.useEffect(()=>{r.current=o,i==n&&(n.inputs=n.result=void 0)},[o]),o.result}function nb(t,e){if(t.length!==e.length)return!1;for(let n=0;nC.useEffect(t,rb),rb=[];function $c(t){const e=C.useRef();return C.useEffect(()=>{e.current=t}),e.current}const Di=Symbol.for("Animated:node"),ib=t=>!!t&&t[Di]===t,an=t=>t&&t[Di],Ku=(t,e)=>Ow(t,Di,e),Ia=t=>t&&t[Di]&&t[Di].getPayload();class Lh{constructor(){this.payload=void 0,Ku(this,this)}getPayload(){return this.payload||[]}}class Pr extends Lh{constructor(e){super(),this.done=!0,this.elapsedTime=void 0,this.lastPosition=void 0,this.lastVelocity=void 0,this.v0=void 0,this.durationProgress=0,this._value=e,Z.num(this._value)&&(this.lastPosition=this._value)}static create(e){return new Pr(e)}getPayload(){return[this]}getValue(){return this._value}setValue(e,n){return Z.num(e)&&(this.lastPosition=e,n&&(e=Math.round(e/n)*n,this.done&&(this.lastPosition=e))),this._value===e?!1:(this._value=e,!0)}reset(){const{done:e}=this;this.done=!1,Z.num(this._value)&&(this.elapsedTime=0,this.durationProgress=0,this.lastPosition=this._value,e&&(this.lastVelocity=null),this.v0=null)}}class Ar extends Pr{constructor(e){super(0),this._string=null,this._toString=void 0,this._toString=ki({output:[e,e]})}static create(e){return new Ar(e)}getValue(){let e=this._string;return e??(this._string=this._toString(this._value))}setValue(e){if(Z.str(e)){if(e==this._string)return!1;this._string=e,this._value=1}else if(super.setValue(e))this._string=null;else return!1;return!0}reset(e){e&&(this._toString=ki({output:[this.getValue(),e]})),this._value=0,super.reset()}}const Qo={dependencies:null};class Xu extends Lh{constructor(e){super(),this.source=e,this.setValue(e)}getValue(e){const n={};return bn(this.source,(r,i)=>{ib(r)?n[i]=r.getValue(e):sn(r)?n[i]=Rt(r):e||(n[i]=r)}),n}setValue(e){this.source=e,this.payload=this._makePayload(e)}reset(){this.payload&&Re(this.payload,e=>e.reset())}_makePayload(e){if(e){const n=new Set;return bn(e,this._addToPayload,n),Array.from(n)}}_addToPayload(e){Qo.dependencies&&sn(e)&&Qo.dependencies.add(e);const n=Ia(e);n&&Re(n,r=>this.add(r))}}class Zu extends Xu{constructor(e){super(e)}static create(e){return new Zu(e)}getValue(){return this.source.map(e=>e.getValue())}setValue(e){const n=this.getPayload();return e.length==n.length?n.map((r,i)=>r.setValue(e[i])).some(Boolean):(super.setValue(e.map(ob)),!0)}}function ob(t){return(Ua(t)?Ar:Pr).create(t)}function tu(t){const e=an(t);return e?e.constructor:Z.arr(t)?Zu:Ua(t)?Ar:Pr}function Jo(){return Jo=Object.assign||function(t){for(var e=1;e{const n=!Z.fun(t)||t.prototype&&t.prototype.isReactComponent;return C.forwardRef((r,i)=>{const o=C.useRef(null),a=n&&C.useCallback(g=>{o.current=ub(i,g)},[i]),[s,u]=sb(r,e),l=Mh(),c=()=>{const g=o.current;if(n&&!g)return;(g?e.applyAnimatedValues(g,s.getValue(!0)):!1)===!1&&l()},f=new ab(c,u),d=C.useRef();Yu(()=>(d.current=f,Re(u,g=>Bi(g,f)),()=>{d.current&&(Re(d.current.deps,g=>Zo(g,d.current)),be.cancel(d.current.update))})),C.useEffect(c,[]),Ph(()=>()=>{const g=d.current;Re(g.deps,v=>Zo(v,g))});const h=e.getComponentProps(s.getValue());return C.createElement(t,Jo({},h,{ref:a}))})};class ab{constructor(e,n){this.update=e,this.deps=n}eventObserved(e){e.type=="change"&&be.write(this.update)}}function sb(t,e){const n=new Set;return Qo.dependencies=n,t.style&&(t=Jo({},t,{style:e.createAnimatedStyle(t.style)})),t=new Xu(t),Qo.dependencies=null,[t,n]}function ub(t,e){return t&&(Z.fun(t)?t(e):t.current=e),e}const qc=Symbol.for("AnimatedComponent"),lb=(t,{applyAnimatedValues:e=()=>!1,createAnimatedStyle:n=i=>new Xu(i),getComponentProps:r=i=>i}={})=>{const i={applyAnimatedValues:e,createAnimatedStyle:n,getComponentProps:r},o=a=>{const s=Wc(a)||"Anonymous";return Z.str(a)?a=o[a]||(o[a]=jc(a,i)):a=a[qc]||(a[qc]=jc(a,i)),a.displayName=`Animated(${s})`,a};return bn(t,(a,s)=>{Z.arr(t)&&(s=Wc(a)),o[s]=o(a)}),{animated:o}},Wc=t=>Z.str(t)?t:t&&Z.str(t.displayName)?t.displayName:Z.fun(t)&&t.name||null;function lt(){return lt=Object.assign||function(t){for(var e=1;et===!0||!!(e&&t&&(Z.fun(t)?t(e):Vt(t).includes(e))),Rh=(t,e)=>Z.obj(t)?e&&t[e]:t,Fh=(t,e)=>t.default===!0?t[e]:t.default?t.default[e]:void 0,cb=t=>t,Qu=(t,e=cb)=>{let n=fb;t.default&&t.default!==!0&&(t=t.default,n=Object.keys(t));const r={};for(const i of n){const o=e(t[i],i);Z.und(o)||(r[i]=o)}return r},fb=["config","onProps","onStart","onChange","onPause","onResume","onRest"],db={config:1,from:1,to:1,ref:1,loop:1,reset:1,pause:1,cancel:1,reverse:1,immediate:1,default:1,delay:1,onProps:1,onStart:1,onChange:1,onPause:1,onResume:1,onRest:1,onResolve:1,items:1,trail:1,sort:1,expires:1,initial:1,enter:1,update:1,leave:1,children:1,onDestroyed:1,keys:1,callId:1,parentId:1};function hb(t){const e={};let n=0;if(bn(t,(r,i)=>{db[i]||(e[i]=r,n++)}),n)return e}function Gh(t){const e=hb(t);if(e){const n={to:e};return bn(t,(r,i)=>i in e||(n[i]=r)),n}return lt({},t)}function Ui(t){return t=Rt(t),Z.arr(t)?t.map(Ui):Ua(t)?dn.createStringInterpolator({range:[0,1],output:[t,t]})(1):t}function pb(t){for(const e in t)return!0;return!1}function nu(t){return Z.fun(t)||Z.arr(t)&&Z.obj(t[0])}function gb(t,e){var n;(n=t.ref)==null||n.delete(t),e==null||e.delete(t)}function mb(t,e){if(e&&t.ref!==e){var n;(n=t.ref)==null||n.delete(t),e.add(t),t.ref=e}}const vb={default:{tension:170,friction:26},gentle:{tension:120,friction:14},wobbly:{tension:180,friction:12},stiff:{tension:210,friction:20},slow:{tension:280,friction:60},molasses:{tension:280,friction:120}},ea=1.70158,To=ea*1.525,Hc=ea+1,Yc=2*Math.PI/3,Kc=2*Math.PI/4.5,So=t=>t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375,yb={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>1-(1-t)*(1-t),easeInOutQuad:t=>t<.5?2*t*t:1-Math.pow(-2*t+2,2)/2,easeInCubic:t=>t*t*t,easeOutCubic:t=>1-Math.pow(1-t,3),easeInOutCubic:t=>t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2,easeInQuart:t=>t*t*t*t,easeOutQuart:t=>1-Math.pow(1-t,4),easeInOutQuart:t=>t<.5?8*t*t*t*t:1-Math.pow(-2*t+2,4)/2,easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>1-Math.pow(1-t,5),easeInOutQuint:t=>t<.5?16*t*t*t*t*t:1-Math.pow(-2*t+2,5)/2,easeInSine:t=>1-Math.cos(t*Math.PI/2),easeOutSine:t=>Math.sin(t*Math.PI/2),easeInOutSine:t=>-(Math.cos(Math.PI*t)-1)/2,easeInExpo:t=>t===0?0:Math.pow(2,10*t-10),easeOutExpo:t=>t===1?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>t===0?0:t===1?1:t<.5?Math.pow(2,20*t-10)/2:(2-Math.pow(2,-20*t+10))/2,easeInCirc:t=>1-Math.sqrt(1-Math.pow(t,2)),easeOutCirc:t=>Math.sqrt(1-Math.pow(t-1,2)),easeInOutCirc:t=>t<.5?(1-Math.sqrt(1-Math.pow(2*t,2)))/2:(Math.sqrt(1-Math.pow(-2*t+2,2))+1)/2,easeInBack:t=>Hc*t*t*t-ea*t*t,easeOutBack:t=>1+Hc*Math.pow(t-1,3)+ea*Math.pow(t-1,2),easeInOutBack:t=>t<.5?Math.pow(2*t,2)*((To+1)*2*t-To)/2:(Math.pow(2*t-2,2)*((To+1)*(t*2-2)+To)+2)/2,easeInElastic:t=>t===0?0:t===1?1:-Math.pow(2,10*t-10)*Math.sin((t*10-10.75)*Yc),easeOutElastic:t=>t===0?0:t===1?1:Math.pow(2,-10*t)*Math.sin((t*10-.75)*Yc)+1,easeInOutElastic:t=>t===0?0:t===1?1:t<.5?-(Math.pow(2,20*t-10)*Math.sin((20*t-11.125)*Kc))/2:Math.pow(2,-20*t+10)*Math.sin((20*t-11.125)*Kc)/2+1,easeInBounce:t=>1-So(1-t),easeOutBounce:So,easeInOutBounce:t=>t<.5?(1-So(1-2*t))/2:(1+So(2*t-1))/2},ru=lt({},vb.default,{mass:1,damping:1,easing:yb.linear,clamp:!1});class _b{constructor(){this.tension=void 0,this.friction=void 0,this.frequency=void 0,this.damping=void 0,this.mass=void 0,this.velocity=0,this.restVelocity=void 0,this.precision=void 0,this.progress=void 0,this.duration=void 0,this.easing=void 0,this.clamp=void 0,this.bounce=void 0,this.decay=void 0,this.round=void 0,Object.assign(this,ru)}}function wb(t,e,n){n&&(n=lt({},n),Xc(n,e),e=lt({},n,e)),Xc(t,e),Object.assign(t,e);for(const a in ru)t[a]==null&&(t[a]=ru[a]);let{mass:r,frequency:i,damping:o}=t;return Z.und(i)||(i<.01&&(i=.01),o<0&&(o=0),t.tension=Math.pow(2*Math.PI/i,2)*r,t.friction=4*Math.PI*o*r/i),t}function Xc(t,e){if(!Z.und(e.decay))t.duration=void 0;else{const n=!Z.und(e.tension)||!Z.und(e.friction);(n||!Z.und(e.frequency)||!Z.und(e.damping)||!Z.und(e.mass))&&(t.duration=void 0,t.decay=void 0),n&&(t.frequency=void 0)}}const Zc=[];class bb{constructor(){this.changed=!1,this.values=Zc,this.toValues=null,this.fromValues=Zc,this.to=void 0,this.from=void 0,this.config=new _b,this.immediate=!1}}function zh(t,{key:e,props:n,defaultProps:r,state:i,actions:o}){return new Promise((a,s)=>{var u;let l,c,f=wi((u=n.cancel)!=null?u:r==null?void 0:r.cancel,e);if(f)g();else{Z.und(n.pause)||(i.paused=wi(n.pause,e));let v=r==null?void 0:r.pause;v!==!0&&(v=i.paused||wi(v,e)),l=jn(n.delay||0,e),v?(i.resumeQueue.add(h),o.pause()):(o.resume(),h())}function d(){i.resumeQueue.add(h),i.timeouts.delete(c),c.cancel(),l=c.time-be.now()}function h(){l>0&&!dn.skipAnimation?(i.delayed=!0,c=be.setTimeout(g,l),i.pauseQueue.add(d),i.timeouts.add(c)):g()}function g(){i.delayed&&(i.delayed=!1),i.pauseQueue.delete(d),i.timeouts.delete(c),t<=(i.cancelId||0)&&(f=!0);try{o.start(lt({},n,{callId:t,cancel:f}),a)}catch(v){s(v)}}})}const Ju=(t,e)=>e.length==1?e[0]:e.some(n=>n.cancelled)?_r(t.get()):e.every(n=>n.noop)?Nh(t.get()):Kt(t.get(),e.every(n=>n.finished)),Nh=t=>({value:t,noop:!0,finished:!0,cancelled:!1}),Kt=(t,e,n=!1)=>({value:t,finished:e,cancelled:n}),_r=t=>({value:t,cancelled:!0,finished:!1});function Vh(t,e,n,r){const{callId:i,parentId:o,onRest:a}=e,{asyncTo:s,promise:u}=n;return!o&&t===s&&!e.reset?u:n.promise=(async()=>{n.asyncId=i,n.asyncTo=t;const l=Qu(e,(w,m)=>m==="onRest"?void 0:w);let c,f;const d=new Promise((w,m)=>(c=w,f=m)),h=w=>{const m=i<=(n.cancelId||0)&&_r(r)||i!==n.asyncId&&Kt(r,!1);if(m)throw w.result=m,f(w),w},g=(w,m)=>{const p=new Qc,y=new Jc;return(async()=>{if(dn.skipAnimation)throw Ii(n),y.result=Kt(r,!1),f(y),y;h(p);const _=Z.obj(w)?lt({},w):lt({},m,{to:w});_.parentId=i,bn(l,(T,x)=>{Z.und(_[x])&&(_[x]=T)});const b=await r.start(_);return h(p),n.paused&&await new Promise(T=>{n.resumeQueue.add(T)}),b})()};let v;if(dn.skipAnimation)return Ii(n),Kt(r,!1);try{let w;Z.arr(t)?w=(async m=>{for(const p of m)await g(p)})(t):w=Promise.resolve(t(g,r.stop.bind(r))),await Promise.all([w.then(c),d]),v=Kt(r.get(),!0,!1)}catch(w){if(w instanceof Qc)v=w.result;else if(w instanceof Jc)v=w.result;else throw w}finally{i==n.asyncId&&(n.asyncId=o,n.asyncTo=o?s:void 0,n.promise=o?u:void 0)}return Z.fun(a)&&be.batchedUpdates(()=>{a(v,r,r.item)}),v})()}function Ii(t,e){yi(t.timeouts,n=>n.cancel()),t.pauseQueue.clear(),t.resumeQueue.clear(),t.asyncId=t.asyncTo=t.promise=void 0,e&&(t.cancelId=e)}class Qc extends Error{constructor(){super("An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise."),this.result=void 0}}class Jc extends Error{constructor(){super("SkipAnimationSignal"),this.result=void 0}}const iu=t=>t instanceof el;let xb=1;class el extends jw{constructor(...e){super(...e),this.id=xb++,this.key=void 0,this._priority=0}get priority(){return this._priority}set priority(e){this._priority!=e&&(this._priority=e,this._onPriorityChange(e))}get(){const e=an(this);return e&&e.getValue()}to(...e){return dn.to(this,e)}interpolate(...e){return Zw(),dn.to(this,e)}toJSON(){return this.get()}observerAdded(e){e==1&&this._attach()}observerRemoved(e){e==0&&this._detach()}_attach(){}_detach(){}_onChange(e,n=!1){Xo(this,{type:"change",parent:this,value:e,idle:n})}_onPriorityChange(e){this.idle||Ca.sort(this),Xo(this,{type:"priority",parent:this,priority:e})}}const Zn=Symbol.for("SpringPhase"),Bh=1,ou=2,au=4,Ts=t=>(t[Zn]&Bh)>0,Un=t=>(t[Zn]&ou)>0,ri=t=>(t[Zn]&au)>0,ef=(t,e)=>e?t[Zn]|=ou|Bh:t[Zn]&=~ou,tf=(t,e)=>e?t[Zn]|=au:t[Zn]&=~au;class Eb extends el{constructor(e,n){if(super(),this.key=void 0,this.animation=new bb,this.queue=void 0,this.defaultProps={},this._state={paused:!1,delayed:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set},this._pendingCalls=new Set,this._lastCallId=0,this._lastToId=0,this._memoizedDuration=0,!Z.und(e)||!Z.und(n)){const r=Z.obj(e)?lt({},e):lt({},n,{from:e});Z.und(r.default)&&(r.default=!0),this.start(r)}}get idle(){return!(Un(this)||this._state.asyncTo)||ri(this)}get goal(){return Rt(this.animation.to)}get velocity(){const e=an(this);return e instanceof Pr?e.lastVelocity||0:e.getPayload().map(n=>n.lastVelocity||0)}get hasAnimated(){return Ts(this)}get isAnimating(){return Un(this)}get isPaused(){return ri(this)}get isDelayed(){return this._state.delayed}advance(e){let n=!0,r=!1;const i=this.animation;let{config:o,toValues:a}=i;const s=Ia(i.to);!s&&sn(i.to)&&(a=Vt(Rt(i.to))),i.values.forEach((c,f)=>{if(c.done)return;const d=c.constructor==Ar?1:s?s[f].lastPosition:a[f];let h=i.immediate,g=d;if(!h){if(g=c.lastPosition,o.tension<=0){c.done=!0;return}let v=c.elapsedTime+=e;const w=i.fromValues[f],m=c.v0!=null?c.v0:c.v0=Z.arr(o.velocity)?o.velocity[f]:o.velocity;let p;if(Z.und(o.duration))if(o.decay){const y=o.decay===!0?.998:o.decay,_=Math.exp(-(1-y)*v);g=w+m/(1-y)*(1-_),h=Math.abs(c.lastPosition-g)<.1,p=m*_}else{p=c.lastVelocity==null?m:c.lastVelocity;const y=o.precision||(w==d?.005:Math.min(1,Math.abs(d-w)*.001)),_=o.restVelocity||y/10,b=o.clamp?0:o.bounce,T=!Z.und(b),x=w==d?c.v0>0:w_,!(!E&&(h=Math.abs(d-g)<=y,h)));++O){T&&(S=g==d||g>d==x,S&&(p=-p*b,g=d));const k=-o.tension*1e-6*(g-d),M=-o.friction*.001*p,N=(k+M)/o.mass;p=p+N*U,g=g+p*U}}else{let y=1;o.duration>0&&(this._memoizedDuration!==o.duration&&(this._memoizedDuration=o.duration,c.durationProgress>0&&(c.elapsedTime=o.duration*c.durationProgress,v=c.elapsedTime+=e)),y=(o.progress||0)+v/this._memoizedDuration,y=y>1?1:y<0?0:y,c.durationProgress=y),g=w+o.easing(y)*(d-w),p=(g-c.lastPosition)/e,h=y==1}c.lastVelocity=p,Number.isNaN(g)&&(console.warn("Got NaN while animating:",this),h=!0)}s&&!s[f].done&&(h=!1),h?c.done=!0:n=!1,c.setValue(g,o.round)&&(r=!0)});const u=an(this),l=u.getValue();if(n){const c=Rt(i.to);(l!==c||r)&&!o.decay?(u.setValue(c),this._onChange(c)):r&&o.decay&&this._onChange(l),this._stop()}else r&&this._onChange(l)}set(e){return be.batchedUpdates(()=>{this._stop(),this._focus(e),this._set(e)}),this}pause(){this._update({pause:!0})}resume(){this._update({pause:!1})}finish(){if(Un(this)){const{to:e,config:n}=this.animation;be.batchedUpdates(()=>{this._onStart(),n.decay||this._set(e,!1),this._stop()})}return this}update(e){return(this.queue||(this.queue=[])).push(e),this}start(e,n){let r;return Z.und(e)?(r=this.queue||[],this.queue=[]):r=[Z.obj(e)?e:lt({},n,{to:e})],Promise.all(r.map(i=>this._update(i))).then(i=>Ju(this,i))}stop(e){const{to:n}=this.animation;return this._focus(this.get()),Ii(this._state,e&&this._lastCallId),be.batchedUpdates(()=>this._stop(n,e)),this}reset(){this._update({reset:!0})}eventObserved(e){e.type=="change"?this._start():e.type=="priority"&&(this.priority=e.priority+1)}_prepareNode(e){const n=this.key||"";let{to:r,from:i}=e;r=Z.obj(r)?r[n]:r,(r==null||nu(r))&&(r=void 0),i=Z.obj(i)?i[n]:i,i==null&&(i=void 0);const o={to:r,from:i};return Ts(this)||(e.reverse&&([r,i]=[i,r]),i=Rt(i),Z.und(i)?an(this)||this._set(r):this._set(i)),o}_update(e,n){let r=lt({},e);const{key:i,defaultProps:o}=this;r.default&&Object.assign(o,Qu(r,(u,l)=>/^on/.test(l)?Rh(u,i):u)),rf(this,r,"onProps"),oi(this,"onProps",r,this);const a=this._prepareNode(r);if(Object.isFrozen(this))throw Error("Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?");const s=this._state;return zh(++this._lastCallId,{key:i,props:r,defaultProps:o,state:s,actions:{pause:()=>{ri(this)||(tf(this,!0),gi(s.pauseQueue),oi(this,"onPause",Kt(this,ii(this,this.animation.to)),this))},resume:()=>{ri(this)&&(tf(this,!1),Un(this)&&this._resume(),gi(s.resumeQueue),oi(this,"onResume",Kt(this,ii(this,this.animation.to)),this))},start:this._merge.bind(this,a)}}).then(u=>{if(r.loop&&u.finished&&!(n&&u.noop)){const l=$h(r);if(l)return this._update(l,!0)}return u})}_merge(e,n,r){if(n.cancel)return this.stop(!0),r(_r(this));const i=!Z.und(e.to),o=!Z.und(e.from);if(i||o)if(n.callId>this._lastToId)this._lastToId=n.callId;else return r(_r(this));const{key:a,defaultProps:s,animation:u}=this,{to:l,from:c}=u;let{to:f=l,from:d=c}=e;o&&!i&&(!n.default||Z.und(f))&&(f=d),n.reverse&&([f,d]=[d,f]);const h=!gn(d,c);h&&(u.from=d),d=Rt(d);const g=!gn(f,l);g&&this._focus(f);const v=nu(n.to),{config:w}=u,{decay:m,velocity:p}=w;(i||o)&&(w.velocity=0),n.config&&!v&&wb(w,jn(n.config,a),n.config!==s.config?jn(s.config,a):void 0);let y=an(this);if(!y||Z.und(f))return r(Kt(this,!0));const _=Z.und(n.reset)?o&&!n.default:!Z.und(d)&&wi(n.reset,a),b=_?d:this.get(),T=Ui(f),x=Z.num(T)||Z.arr(T)||Ua(T),E=!v&&(!x||wi(s.immediate||n.immediate,a));if(g){const O=tu(f);if(O!==y.constructor)if(E)y=this._set(T);else throw Error(`Cannot animate between ${y.constructor.name} and ${O.name}, as the "to" prop suggests`)}const S=y.constructor;let U=sn(f),D=!1;if(!U){const O=_||!Ts(this)&&h;(g||O)&&(D=gn(Ui(b),T),U=!D),(!gn(u.immediate,E)&&!E||!gn(w.decay,m)||!gn(w.velocity,p))&&(U=!0)}if(D&&Un(this)&&(u.changed&&!_?U=!0:U||this._stop(l)),!v&&((U||sn(l))&&(u.values=y.getPayload(),u.toValues=sn(f)?null:S==Ar?[1]:Vt(T)),u.immediate!=E&&(u.immediate=E,!E&&!_&&this._set(l)),U)){const{onRest:O}=u;Re(Sb,M=>rf(this,n,M));const k=Kt(this,ii(this,l));gi(this._pendingCalls,k),this._pendingCalls.add(r),u.changed&&be.batchedUpdates(()=>{u.changed=!_,O==null||O(k,this),_?jn(s.onRest,k):u.onStart==null||u.onStart(k,this)})}_&&this._set(b),v?r(Vh(n.to,n,this._state,this)):U?this._start():Un(this)&&!g?this._pendingCalls.add(r):r(Nh(b))}_focus(e){const n=this.animation;e!==n.to&&(Vc(this)&&this._detach(),n.to=e,Vc(this)&&this._attach())}_attach(){let e=0;const{to:n}=this.animation;sn(n)&&(Bi(n,this),iu(n)&&(e=n.priority+1)),this.priority=e}_detach(){const{to:e}=this.animation;sn(e)&&Zo(e,this)}_set(e,n=!0){const r=Rt(e);if(!Z.und(r)){const i=an(this);if(!i||!gn(r,i.getValue())){const o=tu(r);!i||i.constructor!=o?Ku(this,o.create(r)):i.setValue(r),i&&be.batchedUpdates(()=>{this._onChange(r,n)})}}return an(this)}_onStart(){const e=this.animation;e.changed||(e.changed=!0,oi(this,"onStart",Kt(this,ii(this,e.to)),this))}_onChange(e,n){n||(this._onStart(),jn(this.animation.onChange,e,this)),jn(this.defaultProps.onChange,e,this),super._onChange(e,n)}_start(){const e=this.animation;an(this).reset(Rt(e.to)),e.immediate||(e.fromValues=e.values.map(n=>n.lastPosition)),Un(this)||(ef(this,!0),ri(this)||this._resume())}_resume(){dn.skipAnimation?this.finish():Ca.start(this)}_stop(e,n){if(Un(this)){ef(this,!1);const r=this.animation;Re(r.values,o=>{o.done=!0}),r.toValues&&(r.onChange=r.onPause=r.onResume=void 0),Xo(this,{type:"idle",parent:this});const i=n?_r(this.get()):Kt(this.get(),ii(this,e??r.to));gi(this._pendingCalls,i),r.changed&&(r.changed=!1,oi(this,"onRest",i,this))}}}function ii(t,e){const n=Ui(e),r=Ui(t.get());return gn(r,n)}function $h(t,e=t.loop,n=t.to){let r=jn(e);if(r){const i=r!==!0&&Gh(r),o=(i||t).reverse,a=!i||i.reset;return Mi(lt({},t,{loop:e,default:!1,pause:void 0,to:!o||nu(n)?n:void 0,from:a?t.from:void 0,reset:a},i))}}function Mi(t){const{to:e,from:n}=t=Gh(t),r=new Set;return Z.obj(e)&&nf(e,r),Z.obj(n)&&nf(n,r),t.keys=r.size?Array.from(r):null,t}function Tb(t){const e=Mi(t);return Z.und(e.default)&&(e.default=Qu(e)),e}function nf(t,e){bn(t,(n,r)=>n!=null&&e.add(r))}const Sb=["onStart","onRest","onChange","onPause","onResume"];function rf(t,e,n){t.animation[n]=e[n]!==Fh(e,n)?Rh(e[n],t.key):void 0}function oi(t,e,...n){var r,i,o,a;(r=(i=t.animation)[e])==null||r.call(i,...n),(o=(a=t.defaultProps)[e])==null||o.call(a,...n)}const Ab=["onStart","onChange","onRest"];let Ob=1,Cb=class{constructor(e,n){this.id=Ob++,this.springs={},this.queue=[],this.ref=void 0,this._flush=void 0,this._initialProps=void 0,this._lastAsyncId=0,this._active=new Set,this._changed=new Set,this._started=!1,this._item=void 0,this._state={paused:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set},this._events={onStart:new Map,onChange:new Map,onRest:new Map},this._onFrame=this._onFrame.bind(this),n&&(this._flush=n),e&&this.start(lt({default:!0},e))}get idle(){return!this._state.asyncTo&&Object.values(this.springs).every(e=>e.idle&&!e.isDelayed&&!e.isPaused)}get item(){return this._item}set item(e){this._item=e}get(){const e={};return this.each((n,r)=>e[r]=n.get()),e}set(e){for(const n in e){const r=e[n];Z.und(r)||this.springs[n].set(r)}}update(e){return e&&this.queue.push(Mi(e)),this}start(e){let{queue:n}=this;return e?n=Vt(e).map(Mi):this.queue=[],this._flush?this._flush(this,n):(Yh(this,n),su(this,n))}stop(e,n){if(e!==!!e&&(n=e),n){const r=this.springs;Re(Vt(n),i=>r[i].stop(!!e))}else Ii(this._state,this._lastAsyncId),this.each(r=>r.stop(!!e));return this}pause(e){if(Z.und(e))this.start({pause:!0});else{const n=this.springs;Re(Vt(e),r=>n[r].pause())}return this}resume(e){if(Z.und(e))this.start({pause:!1});else{const n=this.springs;Re(Vt(e),r=>n[r].resume())}return this}each(e){bn(this.springs,e)}_onFrame(){const{onStart:e,onChange:n,onRest:r}=this._events,i=this._active.size>0,o=this._changed.size>0;(i&&!this._started||o&&!this._started)&&(this._started=!0,yi(e,([u,l])=>{l.value=this.get(),u(l,this,this._item)}));const a=!i&&this._started,s=o||a&&r.size?this.get():null;o&&n.size&&yi(n,([u,l])=>{l.value=s,u(l,this,this._item)}),a&&(this._started=!1,yi(r,([u,l])=>{l.value=s,u(l,this,this._item)}))}eventObserved(e){if(e.type=="change")this._changed.add(e.parent),e.idle||this._active.add(e.parent);else if(e.type=="idle")this._active.delete(e.parent);else return;be.onFrame(this._onFrame)}};function su(t,e){return Promise.all(e.map(n=>jh(t,n))).then(n=>Ju(t,n))}async function jh(t,e,n){const{keys:r,to:i,from:o,loop:a,onRest:s,onResolve:u}=e,l=Z.obj(e.default)&&e.default;a&&(e.loop=!1),i===!1&&(e.to=null),o===!1&&(e.from=null);const c=Z.arr(i)||Z.fun(i)?i:void 0;c?(e.to=void 0,e.onRest=void 0,l&&(l.onRest=void 0)):Re(Ab,v=>{const w=e[v];if(Z.fun(w)){const m=t._events[v];e[v]=({finished:p,cancelled:y})=>{const _=m.get(w);_?(p||(_.finished=!1),y&&(_.cancelled=!0)):m.set(w,{value:null,finished:p||!1,cancelled:y||!1})},l&&(l[v]=e[v])}});const f=t._state;e.pause===!f.paused?(f.paused=e.pause,gi(e.pause?f.pauseQueue:f.resumeQueue)):f.paused&&(e.pause=!0);const d=(r||Object.keys(t.springs)).map(v=>t.springs[v].start(e)),h=e.cancel===!0||Fh(e,"cancel")===!0;(c||h&&f.asyncId)&&d.push(zh(++t._lastAsyncId,{props:e,state:f,actions:{pause:Qs,resume:Qs,start(v,w){h?(Ii(f,t._lastAsyncId),w(_r(t))):(v.onRest=s,w(Vh(c,v,f,t)))}}})),f.paused&&await new Promise(v=>{f.resumeQueue.add(v)});const g=Ju(t,await Promise.all(d));if(a&&g.finished&&!(n&&g.noop)){const v=$h(e,a,i);if(v)return Yh(t,[v]),jh(t,v,!0)}return u&&be.batchedUpdates(()=>u(g,t,t.item)),g}function of(t,e){const n=lt({},t.springs);return e&&Re(Vt(e),r=>{Z.und(r.keys)&&(r=Mi(r)),Z.obj(r.to)||(r=lt({},r,{to:void 0})),Hh(n,r,i=>Wh(i))}),qh(t,n),n}function qh(t,e){bn(e,(n,r)=>{t.springs[r]||(t.springs[r]=n,Bi(n,t))})}function Wh(t,e){const n=new Eb;return n.key=t,e&&Bi(n,e),n}function Hh(t,e,n){e.keys&&Re(e.keys,r=>{(t[r]||(t[r]=n(r)))._prepareNode(e)})}function Yh(t,e){Re(e,n=>{Hh(t.springs,n,r=>Wh(r,t))})}function kb(t,e){if(t==null)return{};var n={},r=Object.keys(t),i,o;for(o=0;o=0)&&(n[i]=t[i]);return n}const Db=["children"],Ma=t=>{let{children:e}=t,n=kb(t,Db);const r=C.useContext(ta),i=n.pause||!!r.pause,o=n.immediate||!!r.immediate;n=tb(()=>({pause:i,immediate:o}),[i,o]);const{Provider:a}=ta;return C.createElement(a,{value:n},e)},ta=Ub(Ma,{});Ma.Provider=ta.Provider;Ma.Consumer=ta.Consumer;function Ub(t,e){return Object.assign(t,C.createContext(e)),t.Provider._context=t,t.Consumer._context=t,t}const Ib=()=>{const t=[],e=function(i){Jw();const o=[];return Re(t,(a,s)=>{if(Z.und(i))o.push(a.start());else{const u=n(i,a,s);u&&o.push(a.start(u))}}),o};e.current=t,e.add=function(r){t.includes(r)||t.push(r)},e.delete=function(r){const i=t.indexOf(r);~i&&t.splice(i,1)},e.pause=function(){return Re(t,r=>r.pause(...arguments)),this},e.resume=function(){return Re(t,r=>r.resume(...arguments)),this},e.set=function(r){Re(t,i=>i.set(r))},e.start=function(r){const i=[];return Re(t,(o,a)=>{if(Z.und(r))i.push(o.start());else{const s=this._getProps(r,o,a);s&&i.push(o.start(s))}}),i},e.stop=function(){return Re(t,r=>r.stop(...arguments)),this},e.update=function(r){return Re(t,(i,o)=>i.update(this._getProps(r,i,o))),this};const n=function(i,o,a){return Z.fun(i)?i(a,o):i};return e._getProps=n,e};function Mb(t,e,n){const r=Z.fun(e)&&e;r&&!n&&(n=[]);const i=C.useMemo(()=>r||arguments.length==3?Ib():void 0,[]),o=C.useRef(0),a=Mh(),s=C.useMemo(()=>({ctrls:[],queue:[],flush(m,p){const y=of(m,p);return o.current>0&&!s.queue.length&&!Object.keys(y).some(b=>!m.springs[b])?su(m,p):new Promise(b=>{qh(m,y),s.queue.push(()=>{b(su(m,p))}),a()})}}),[]),u=C.useRef([...s.ctrls]),l=[],c=$c(t)||0;C.useMemo(()=>{Re(u.current.slice(t,c),m=>{gb(m,i),m.stop(!0)}),u.current.length=t,f(c,t)},[t]),C.useMemo(()=>{f(0,Math.min(c,t))},n);function f(m,p){for(let y=m;yof(m,l[p])),h=C.useContext(Ma),g=$c(h),v=h!==g&&pb(h);Yu(()=>{o.current++,s.ctrls=u.current;const{queue:m}=s;m.length&&(s.queue=[],Re(m,p=>p())),Re(u.current,(p,y)=>{i==null||i.add(p),v&&p.start({default:h});const _=l[y];_&&(mb(p,_.ref),p.ref?p.queue.push(_):p.start(_))})}),Ph(()=>()=>{Re(s.ctrls,m=>m.stop(!0))});const w=d.map(m=>lt({},m));return i?[w,i]:w}function Jt(t,e){const n=Z.fun(t),[[r],i]=Mb(1,n?t:[t],n?e||[]:e);return n||arguments.length==2?[r,i]:r}let af;(function(t){t.MOUNT="mount",t.ENTER="enter",t.UPDATE="update",t.LEAVE="leave"})(af||(af={}));class Pb extends el{constructor(e,n){super(),this.key=void 0,this.idle=!0,this.calc=void 0,this._active=new Set,this.source=e,this.calc=ki(...n);const r=this._get(),i=tu(r);Ku(this,i.create(r))}advance(e){const n=this._get(),r=this.get();gn(n,r)||(an(this).setValue(n),this._onChange(n,this.idle)),!this.idle&&sf(this._active)&&Ss(this)}_get(){const e=Z.arr(this.source)?this.source.map(Rt):Vt(Rt(this.source));return this.calc(...e)}_start(){this.idle&&!sf(this._active)&&(this.idle=!1,Re(Ia(this),e=>{e.done=!1}),dn.skipAnimation?(be.batchedUpdates(()=>this.advance()),Ss(this)):Ca.start(this))}_attach(){let e=1;Re(Vt(this.source),n=>{sn(n)&&Bi(n,this),iu(n)&&(n.idle||this._active.add(n),e=Math.max(e,n.priority+1))}),this.priority=e,this._start()}_detach(){Re(Vt(this.source),e=>{sn(e)&&Zo(e,this)}),this._active.clear(),Ss(this)}eventObserved(e){e.type=="change"?e.idle?this.advance():(this._active.add(e.parent),this._start()):e.type=="idle"?this._active.delete(e.parent):e.type=="priority"&&(this.priority=Vt(this.source).reduce((n,r)=>Math.max(n,(iu(r)?r.priority:0)+1),0))}}function Lb(t){return t.idle!==!1}function sf(t){return!t.size||Array.from(t).every(Lb)}function Ss(t){t.idle||(t.idle=!0,Re(Ia(t),e=>{e.done=!0}),Xo(t,{type:"idle",parent:t}))}dn.assign({createStringInterpolator:Uh,to:(t,e)=>new Pb(t,e)});const Rb=["primitive"].concat(Object.keys(zf).filter(t=>/^[A-Z]/.test(t)).map(t=>t[0].toLowerCase()+t.slice(1)));dn.assign({createStringInterpolator:Uh,colors:Uw,frameLoop:"demand"});ng(()=>{be.advance()});const Fb=lb(Rb,{applyAnimatedValues:rg}),gt=Fb.animated,Pi=({color:t,id:e,size:n,opacity:r,animated:i})=>{const{scale:o,nodeOpacity:a}=Jt({from:{scale:[1e-5,1e-5,1e-5],nodeOpacity:0},to:{scale:[n,n,n],nodeOpacity:r},config:{...Qt,duration:i?void 0:0}}),s=C.useMemo(()=>new _n(t),[t]);return te.jsxs(gt.mesh,{userData:{id:e,type:"node"},scale:o,children:[te.jsx("sphereBufferGeometry",{attach:"geometry",args:[1,25,25]}),te.jsx(gt.meshPhongMaterial,{attach:"material",side:un,transparent:!0,fog:!0,opacity:a,color:s})]})};Pi.defaultProps={opacity:1,active:!1,selected:!1};try{Pi.displayName="Sphere",Pi.__docgenInfo={description:"",displayName:"Sphere",props:{color:{defaultValue:null,description:"Color of the node. Handles selected/etc.",name:"color",required:!0,type:{name:"ColorRepresentation"}},node:{defaultValue:null,description:"The internal node model.",name:"node",required:!0,type:{name:"InternalGraphNode"}},size:{defaultValue:null,description:"Size of the node.",name:"size",required:!0,type:{name:"number"}},active:{defaultValue:{value:"false"},description:"Whether the node is active or not.",name:"active",required:!1,type:{name:"boolean"}},opacity:{defaultValue:{value:"1"},description:"Opacity of the node. Mainly used for selection.",name:"opacity",required:!1,type:{name:"number"}},animated:{defaultValue:null,description:"Animation of the node.",name:"animated",required:!0,type:{name:"boolean"}},id:{defaultValue:null,description:"ID of the node.",name:"id",required:!0,type:{name:"string"}}}}}catch{}const na=({color:t,size:e,opacity:n,animated:r})=>{const i=C.useMemo(()=>new _n(t),[t]),{ringSize:o,ringOpacity:a}=Jt({from:{ringOpacity:0,ringSize:[1e-5,1e-5,1e-5]},to:{ringOpacity:n,ringSize:[e/2,e/2,1]},config:{...Qt,duration:r?void 0:0}});return te.jsx(lh,{position:[0,0,1],children:te.jsxs(gt.mesh,{scale:o,children:[te.jsx("ringBufferGeometry",{attach:"geometry",args:[4,4.5,25]}),te.jsx(gt.meshBasicMaterial,{attach:"material",color:i,transparent:!0,depthTest:!1,opacity:a,side:un,fog:!0})]})})};na.defaultProps={color:"#D8E6EA",size:1,opacity:.5};try{na.displayName="Ring",na.__docgenInfo={description:"",displayName:"Ring",props:{color:{defaultValue:{value:"#D8E6EA"},description:"",name:"color",required:!1,type:{name:"ColorRepresentation"}},animated:{defaultValue:null,description:"",name:"animated",required:!1,type:{name:"boolean"}},size:{defaultValue:{value:"1"},description:"",name:"size",required:!1,type:{name:"number"}},opacity:{defaultValue:{value:"0.5"},description:"",name:"opacity",required:!1,type:{name:"number"}}}}}catch{}/*! + * camera-controls + * https://github.com/yomotsu/camera-controls + * (c) 2017 @yomotsu + * Released under the MIT License. + */const ye={LEFT:1,RIGHT:2,MIDDLE:4},$=Object.freeze({NONE:0,ROTATE:1,TRUCK:2,OFFSET:4,DOLLY:8,ZOOM:16,TOUCH_ROTATE:32,TOUCH_TRUCK:64,TOUCH_OFFSET:128,TOUCH_DOLLY:256,TOUCH_ZOOM:512,TOUCH_DOLLY_TRUCK:1024,TOUCH_DOLLY_OFFSET:2048,TOUCH_DOLLY_ROTATE:4096,TOUCH_ZOOM_TRUCK:8192,TOUCH_ZOOM_OFFSET:16384,TOUCH_ZOOM_ROTATE:32768});function Bn(t){return t.isPerspectiveCamera}function In(t){return t.isOrthographicCamera}const ur=Math.PI*2,uf=Math.PI/2,Kh=1e-5,ai=Math.PI/180;function fr(t,e,n){return Math.max(e,Math.min(n,t))}function He(t,e=Kh){return Math.abs(t)0==h>c&&(h=c,n.value=(h-c)/o),h}function cf(t,e,n,r,i=1/0,o,a){r=Math.max(1e-4,r);const s=2/r,u=s*o,l=1/(1+u+.48*u*u+.235*u*u*u);let c=e.x,f=e.y,d=e.z,h=t.x-c,g=t.y-f,v=t.z-d;const w=c,m=f,p=d,y=i*r,_=y*y,b=h*h+g*g+v*v;if(b>_){const N=Math.sqrt(b);h=h/N*y,g=g/N*y,v=v/N*y}c=t.x-h,f=t.y-g,d=t.z-v;const T=(n.x+s*h)*o,x=(n.y+s*g)*o,E=(n.z+s*v)*o;n.x=(n.x-s*T)*l,n.y=(n.y-s*x)*l,n.z=(n.z-s*E)*l,a.x=c+(h+T)*l,a.y=f+(g+x)*l,a.z=d+(v+E)*l;const S=w-t.x,U=m-t.y,D=p-t.z,O=a.x-w,k=a.y-m,M=a.z-p;return S*O+U*k+D*M>0&&(a.x=w,a.y=m,a.z=p,n.x=(a.x-w)/o,n.y=(a.y-m)/o,n.z=(a.z-p)/o),a}function As(t,e){e.set(0,0),t.forEach(n=>{e.x+=n.clientX,e.y+=n.clientY}),e.x/=t.length,e.y/=t.length}function Os(t,e){return In(t)?(console.warn(`${e} is not supported in OrthographicCamera`),!0):!1}let Gb=class{constructor(){this._listeners={}}addEventListener(e,n){const r=this._listeners;r[e]===void 0&&(r[e]=[]),r[e].indexOf(n)===-1&&r[e].push(n)}hasEventListener(e,n){const r=this._listeners;return r[e]!==void 0&&r[e].indexOf(n)!==-1}removeEventListener(e,n){const i=this._listeners[e];if(i!==void 0){const o=i.indexOf(n);o!==-1&&i.splice(o,1)}}removeAllEventListeners(e){if(!e){this._listeners={};return}Array.isArray(this._listeners[e])&&(this._listeners[e].length=0)}dispatchEvent(e){const r=this._listeners[e.type];if(r!==void 0){e.target=this;const i=r.slice(0);for(let o=0,a=i.length;o{},this._enabled=!0,this._state=$.NONE,this._viewport=null,this._dollyControlAmount=0,this._hasRested=!0,this._boundaryEnclosesCamera=!1,this._needsUpdate=!0,this._updatedLastTime=!1,this._elementRect=new DOMRect,this._activePointers=[],this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._isUserControllingOffset=!1,this._isUserControllingZoom=!1,this._thetaVelocity={value:0},this._phiVelocity={value:0},this._radiusVelocity={value:0},this._targetVelocity=new me.Vector3,this._focalOffsetVelocity=new me.Vector3,this._zoomVelocity={value:0},this._truckInternal=(p,y,_)=>{if(Bn(this._camera)){const b=_e.copy(this._camera.position).sub(this._target),T=this._camera.getEffectiveFOV()*ai,x=b.length()*Math.tan(T*.5),E=this.truckSpeed*p*x/this._elementRect.height,S=this.truckSpeed*y*x/this._elementRect.height;this.verticalDragToForward?(_?this.setFocalOffset(this._focalOffsetEnd.x+E,this._focalOffsetEnd.y,this._focalOffsetEnd.z,!0):this.truck(E,0,!0),this.forward(-S,!0)):_?this.setFocalOffset(this._focalOffsetEnd.x+E,this._focalOffsetEnd.y+S,this._focalOffsetEnd.z,!0):this.truck(E,S,!0)}else if(In(this._camera)){const b=this._camera,T=p*(b.right-b.left)/b.zoom/this._elementRect.width,x=y*(b.top-b.bottom)/b.zoom/this._elementRect.height;_?this.setFocalOffset(this._focalOffsetEnd.x+T,this._focalOffsetEnd.y+x,this._focalOffsetEnd.z,!0):this.truck(T,x,!0)}},this._rotateInternal=(p,y)=>{const _=ur*this.azimuthRotateSpeed*p/this._elementRect.height,b=ur*this.polarRotateSpeed*y/this._elementRect.height;this.rotate(_,b,!0)},this._dollyInternal=(p,y,_)=>{const b=Math.pow(.95,-p*this.dollySpeed),T=this._sphericalEnd.radius*b,x=this._sphericalEnd.radius,E=x*(p>=0?-1:1);this.dollyTo(T),this.infinityDolly&&(T{const b=Math.pow(.95,p*this.dollySpeed),T=this._zoomEnd;this.zoomTo(this._zoom*b),this.dollyToCursor&&(this._dollyControlAmount+=this._zoomEnd-T,this._dollyControlCoord.set(y,_))},typeof me>"u"&&console.error("camera-controls: `THREE` is undefined. You must first run `CameraControls.install( { THREE: THREE } )`. Check the docs for further information."),this._camera=e,this._yAxisUpSpace=new me.Quaternion().setFromUnitVectors(this._camera.up,Co),this._yAxisUpSpaceInverse=this._yAxisUpSpace.clone().invert(),this._state=$.NONE,this._target=new me.Vector3,this._targetEnd=this._target.clone(),this._focalOffset=new me.Vector3,this._focalOffsetEnd=this._focalOffset.clone(),this._spherical=new me.Spherical().setFromVector3(_e.copy(this._camera.position).applyQuaternion(this._yAxisUpSpace)),this._sphericalEnd=this._spherical.clone(),this._zoom=this._camera.zoom,this._zoomEnd=this._zoom,this._nearPlaneCorners=[new me.Vector3,new me.Vector3,new me.Vector3,new me.Vector3],this._updateNearPlaneCorners(),this._boundary=new me.Box3(new me.Vector3(-1/0,-1/0,-1/0),new me.Vector3(1/0,1/0,1/0)),this._cameraUp0=this._camera.up.clone(),this._target0=this._target.clone(),this._position0=this._camera.position.clone(),this._zoom0=this._zoom,this._focalOffset0=this._focalOffset.clone(),this._dollyControlAmount=0,this._dollyControlCoord=new me.Vector2,this.mouseButtons={left:$.ROTATE,middle:$.DOLLY,right:$.TRUCK,wheel:Bn(this._camera)?$.DOLLY:In(this._camera)?$.ZOOM:$.NONE},this.touches={one:$.TOUCH_ROTATE,two:Bn(this._camera)?$.TOUCH_DOLLY_TRUCK:In(this._camera)?$.TOUCH_ZOOM_TRUCK:$.NONE,three:$.TOUCH_TRUCK};const r=new me.Vector2,i=new me.Vector2,o=new me.Vector2,a=p=>{if(!this._enabled||!this._domElement)return;const y=p.pointerType!=="mouse"?null:(p.buttons&ye.LEFT)===ye.LEFT?ye.LEFT:(p.buttons&ye.MIDDLE)===ye.MIDDLE?ye.MIDDLE:(p.buttons&ye.RIGHT)===ye.RIGHT?ye.RIGHT:null;if(y!==null){const b=this._findPointerByMouseButton(y);b&&this._activePointers.splice(this._activePointers.indexOf(b),1)}const _={pointerId:p.pointerId,clientX:p.clientX,clientY:p.clientY,deltaX:0,deltaY:0,mouseButton:y};this._activePointers.push(_),this._domElement.ownerDocument.removeEventListener("pointermove",u,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.ownerDocument.addEventListener("pointermove",u,{passive:!1}),this._domElement.ownerDocument.addEventListener("pointerup",c),v(p)},s=p=>{if(!this._enabled||!this._domElement)return;const y=(p.buttons&ye.LEFT)===ye.LEFT?ye.LEFT:(p.buttons&ye.MIDDLE)===ye.MIDDLE?ye.MIDDLE:(p.buttons&ye.RIGHT)===ye.RIGHT?ye.RIGHT:null;if(y!==null){const b=this._findPointerByMouseButton(y);b&&this._activePointers.splice(this._activePointers.indexOf(b),1)}const _={pointerId:0,clientX:p.clientX,clientY:p.clientY,deltaX:0,deltaY:0,mouseButton:(p.buttons&ye.LEFT)===ye.LEFT?ye.LEFT:(p.buttons&ye.MIDDLE)===ye.LEFT?ye.MIDDLE:(p.buttons&ye.RIGHT)===ye.LEFT?ye.RIGHT:null};this._activePointers.push(_),this._domElement.ownerDocument.removeEventListener("mousemove",l),this._domElement.ownerDocument.removeEventListener("mouseup",f),this._domElement.ownerDocument.addEventListener("mousemove",l),this._domElement.ownerDocument.addEventListener("mouseup",f),v(p)},u=p=>{p.cancelable&&p.preventDefault();const y=p.pointerId,_=this._findPointerById(y);if(_){if(_.clientX=p.clientX,_.clientY=p.clientY,_.deltaX=p.movementX,_.deltaY=p.movementY,p.pointerType==="touch")switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three;break}else this._state=0,(p.buttons&ye.LEFT)===ye.LEFT&&(this._state=this._state|this.mouseButtons.left),(p.buttons&ye.MIDDLE)===ye.MIDDLE&&(this._state=this._state|this.mouseButtons.middle),(p.buttons&ye.RIGHT)===ye.RIGHT&&(this._state=this._state|this.mouseButtons.right);w()}},l=p=>{const y=this._findPointerById(0);y&&(y.clientX=p.clientX,y.clientY=p.clientY,y.deltaX=p.movementX,y.deltaY=p.movementY,this._state=0,(p.buttons&ye.LEFT)===ye.LEFT&&(this._state=this._state|this.mouseButtons.left),(p.buttons&ye.MIDDLE)===ye.MIDDLE&&(this._state=this._state|this.mouseButtons.middle),(p.buttons&ye.RIGHT)===ye.RIGHT&&(this._state=this._state|this.mouseButtons.right),w())},c=p=>{const y=p.pointerId,_=this._findPointerById(y);if(_&&this._activePointers.splice(this._activePointers.indexOf(_),1),p.pointerType==="touch")switch(this._activePointers.length){case 0:this._state=$.NONE;break;case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three;break}else this._state=$.NONE;m()},f=()=>{const p=this._findPointerById(0);p&&this._activePointers.splice(this._activePointers.indexOf(p),1),this._state=$.NONE,m()};let d=-1;const h=p=>{if(!this._enabled||this.mouseButtons.wheel===$.NONE)return;if(p.preventDefault(),this.dollyToCursor||this.mouseButtons.wheel===$.ROTATE||this.mouseButtons.wheel===$.TRUCK){const x=performance.now();d-x<1e3&&this._getClientRect(this._elementRect),d=x}const y=Nb?-1:-3,_=p.deltaMode===1?p.deltaY/y:p.deltaY/(y*10),b=this.dollyToCursor?(p.clientX-this._elementRect.x)/this._elementRect.width*2-1:0,T=this.dollyToCursor?(p.clientY-this._elementRect.y)/this._elementRect.height*-2+1:0;switch(this.mouseButtons.wheel){case $.ROTATE:{this._rotateInternal(p.deltaX,p.deltaY),this._isUserControllingRotate=!0;break}case $.TRUCK:{this._truckInternal(p.deltaX,p.deltaY,!1),this._isUserControllingTruck=!0;break}case $.OFFSET:{this._truckInternal(p.deltaX,p.deltaY,!0),this._isUserControllingOffset=!0;break}case $.DOLLY:{this._dollyInternal(-_,b,T),this._isUserControllingDolly=!0;break}case $.ZOOM:{this._zoomInternal(-_,b,T),this._isUserControllingZoom=!0;break}}this.dispatchEvent({type:"control"})},g=p=>{if(!(!this._domElement||!this._enabled)){if(this.mouseButtons.right===uu.ACTION.NONE){const y=p instanceof PointerEvent?p.pointerId:(p instanceof MouseEvent,0),_=this._findPointerById(y);_&&this._activePointers.splice(this._activePointers.indexOf(_),1),this._domElement.ownerDocument.removeEventListener("pointermove",u,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.ownerDocument.removeEventListener("mousemove",l),this._domElement.ownerDocument.removeEventListener("mouseup",f);return}p.preventDefault()}},v=p=>{if(!this._enabled)return;if(As(this._activePointers,St),this._getClientRect(this._elementRect),r.copy(St),i.copy(St),this._activePointers.length>=2){const _=St.x-this._activePointers[1].clientX,b=St.y-this._activePointers[1].clientY,T=Math.sqrt(_*_+b*b);o.set(0,T);const x=(this._activePointers[0].clientX+this._activePointers[1].clientX)*.5,E=(this._activePointers[0].clientY+this._activePointers[1].clientY)*.5;i.set(x,E)}if("pointerType"in p&&p.pointerType==="touch")switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three;break}else this._state=0,(p.buttons&ye.LEFT)===ye.LEFT&&(this._state=this._state|this.mouseButtons.left),(p.buttons&ye.MIDDLE)===ye.MIDDLE&&(this._state=this._state|this.mouseButtons.middle),(p.buttons&ye.RIGHT)===ye.RIGHT&&(this._state=this._state|this.mouseButtons.right);((this._state&$.ROTATE)===$.ROTATE||(this._state&$.TOUCH_ROTATE)===$.TOUCH_ROTATE||(this._state&$.TOUCH_DOLLY_ROTATE)===$.TOUCH_DOLLY_ROTATE||(this._state&$.TOUCH_ZOOM_ROTATE)===$.TOUCH_ZOOM_ROTATE)&&(this._sphericalEnd.theta=this._spherical.theta,this._sphericalEnd.phi=this._spherical.phi,this._thetaVelocity.value=0,this._phiVelocity.value=0),((this._state&$.TRUCK)===$.TRUCK||(this._state&$.TOUCH_TRUCK)===$.TOUCH_TRUCK||(this._state&$.TOUCH_DOLLY_TRUCK)===$.TOUCH_DOLLY_TRUCK||(this._state&$.TOUCH_ZOOM_TRUCK)===$.TOUCH_ZOOM_TRUCK)&&(this._targetEnd.copy(this._target),this._targetVelocity.set(0,0,0)),((this._state&$.DOLLY)===$.DOLLY||(this._state&$.TOUCH_DOLLY)===$.TOUCH_DOLLY||(this._state&$.TOUCH_DOLLY_TRUCK)===$.TOUCH_DOLLY_TRUCK||(this._state&$.TOUCH_DOLLY_OFFSET)===$.TOUCH_DOLLY_OFFSET||(this._state&$.TOUCH_DOLLY_ROTATE)===$.TOUCH_DOLLY_ROTATE)&&(this._sphericalEnd.radius=this._spherical.radius,this._radiusVelocity.value=0),((this._state&$.ZOOM)===$.ZOOM||(this._state&$.TOUCH_ZOOM)===$.TOUCH_ZOOM||(this._state&$.TOUCH_ZOOM_TRUCK)===$.TOUCH_ZOOM_TRUCK||(this._state&$.TOUCH_ZOOM_OFFSET)===$.TOUCH_ZOOM_OFFSET||(this._state&$.TOUCH_ZOOM_ROTATE)===$.TOUCH_ZOOM_ROTATE)&&(this._zoomEnd=this._zoom,this._zoomVelocity.value=0),((this._state&$.OFFSET)===$.OFFSET||(this._state&$.TOUCH_OFFSET)===$.TOUCH_OFFSET||(this._state&$.TOUCH_DOLLY_OFFSET)===$.TOUCH_DOLLY_OFFSET||(this._state&$.TOUCH_ZOOM_OFFSET)===$.TOUCH_ZOOM_OFFSET)&&(this._focalOffsetEnd.copy(this._focalOffset),this._focalOffsetVelocity.set(0,0,0)),this.dispatchEvent({type:"controlstart"})},w=()=>{if(!this._enabled)return;As(this._activePointers,St);const p=this._domElement&&document.pointerLockElement===this._domElement,y=p?-this._activePointers[0].deltaX:i.x-St.x,_=p?-this._activePointers[0].deltaY:i.y-St.y;if(i.copy(St),((this._state&$.ROTATE)===$.ROTATE||(this._state&$.TOUCH_ROTATE)===$.TOUCH_ROTATE||(this._state&$.TOUCH_DOLLY_ROTATE)===$.TOUCH_DOLLY_ROTATE||(this._state&$.TOUCH_ZOOM_ROTATE)===$.TOUCH_ZOOM_ROTATE)&&(this._rotateInternal(y,_),this._isUserControllingRotate=!0),(this._state&$.DOLLY)===$.DOLLY||(this._state&$.ZOOM)===$.ZOOM){const b=this.dollyToCursor?(r.x-this._elementRect.x)/this._elementRect.width*2-1:0,T=this.dollyToCursor?(r.y-this._elementRect.y)/this._elementRect.height*-2+1:0,x=this.dollyDragInverted?-1:1;(this._state&$.DOLLY)===$.DOLLY?(this._dollyInternal(x*_*Oo,b,T),this._isUserControllingDolly=!0):(this._zoomInternal(x*_*Oo,b,T),this._isUserControllingZoom=!0)}if((this._state&$.TOUCH_DOLLY)===$.TOUCH_DOLLY||(this._state&$.TOUCH_ZOOM)===$.TOUCH_ZOOM||(this._state&$.TOUCH_DOLLY_TRUCK)===$.TOUCH_DOLLY_TRUCK||(this._state&$.TOUCH_ZOOM_TRUCK)===$.TOUCH_ZOOM_TRUCK||(this._state&$.TOUCH_DOLLY_OFFSET)===$.TOUCH_DOLLY_OFFSET||(this._state&$.TOUCH_ZOOM_OFFSET)===$.TOUCH_ZOOM_OFFSET||(this._state&$.TOUCH_DOLLY_ROTATE)===$.TOUCH_DOLLY_ROTATE||(this._state&$.TOUCH_ZOOM_ROTATE)===$.TOUCH_ZOOM_ROTATE){const b=St.x-this._activePointers[1].clientX,T=St.y-this._activePointers[1].clientY,x=Math.sqrt(b*b+T*T),E=o.y-x;o.set(0,x);const S=this.dollyToCursor?(i.x-this._elementRect.x)/this._elementRect.width*2-1:0,U=this.dollyToCursor?(i.y-this._elementRect.y)/this._elementRect.height*-2+1:0;(this._state&$.TOUCH_DOLLY)===$.TOUCH_DOLLY||(this._state&$.TOUCH_DOLLY_ROTATE)===$.TOUCH_DOLLY_ROTATE||(this._state&$.TOUCH_DOLLY_TRUCK)===$.TOUCH_DOLLY_TRUCK||(this._state&$.TOUCH_DOLLY_OFFSET)===$.TOUCH_DOLLY_OFFSET?(this._dollyInternal(E*Oo,S,U),this._isUserControllingDolly=!0):(this._zoomInternal(E*Oo,S,U),this._isUserControllingZoom=!0)}((this._state&$.TRUCK)===$.TRUCK||(this._state&$.TOUCH_TRUCK)===$.TOUCH_TRUCK||(this._state&$.TOUCH_DOLLY_TRUCK)===$.TOUCH_DOLLY_TRUCK||(this._state&$.TOUCH_ZOOM_TRUCK)===$.TOUCH_ZOOM_TRUCK)&&(this._truckInternal(y,_,!1),this._isUserControllingTruck=!0),((this._state&$.OFFSET)===$.OFFSET||(this._state&$.TOUCH_OFFSET)===$.TOUCH_OFFSET||(this._state&$.TOUCH_DOLLY_OFFSET)===$.TOUCH_DOLLY_OFFSET||(this._state&$.TOUCH_ZOOM_OFFSET)===$.TOUCH_ZOOM_OFFSET)&&(this._truckInternal(y,_,!0),this._isUserControllingOffset=!0),this.dispatchEvent({type:"control"})},m=()=>{As(this._activePointers,St),i.copy(St),this._activePointers.length===0&&this._domElement&&(this._domElement.ownerDocument.removeEventListener("pointermove",u,{passive:!1}),this._domElement.ownerDocument.removeEventListener("mousemove",l),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.ownerDocument.removeEventListener("mouseup",f),this.dispatchEvent({type:"controlend"}))};this._addAllEventListeners=p=>{this._domElement=p,this._domElement.style.touchAction="none",this._domElement.style.userSelect="none",this._domElement.style.webkitUserSelect="none",this._domElement.addEventListener("pointerdown",a),Vb&&this._domElement.addEventListener("mousedown",s),this._domElement.addEventListener("pointercancel",c),this._domElement.addEventListener("wheel",h,{passive:!1}),this._domElement.addEventListener("contextmenu",g)},this._removeAllEventListeners=()=>{this._domElement&&(this._domElement.style.touchAction="",this._domElement.style.userSelect="",this._domElement.style.webkitUserSelect="",this._domElement.removeEventListener("pointerdown",a),this._domElement.removeEventListener("mousedown",s),this._domElement.removeEventListener("pointercancel",c),this._domElement.removeEventListener("wheel",h,{passive:!1}),this._domElement.removeEventListener("contextmenu",g),this._domElement.ownerDocument.removeEventListener("pointermove",u,{passive:!1}),this._domElement.ownerDocument.removeEventListener("mousemove",l),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.ownerDocument.removeEventListener("mouseup",f))},this.cancel=()=>{this._state!==$.NONE&&(this._state=$.NONE,this._activePointers.length=0,m())},n&&this.connect(n),this.update(0)}get camera(){return this._camera}set camera(e){this._camera=e,this.updateCameraUp(),this._camera.updateProjectionMatrix(),this._updateNearPlaneCorners(),this._needsUpdate=!0}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._domElement&&(e?(this._domElement.style.touchAction="none",this._domElement.style.userSelect="none",this._domElement.style.webkitUserSelect="none"):(this.cancel(),this._domElement.style.touchAction="",this._domElement.style.userSelect="",this._domElement.style.webkitUserSelect=""))}get active(){return!this._hasRested}get currentAction(){return this._state}get distance(){return this._spherical.radius}set distance(e){this._spherical.radius===e&&this._sphericalEnd.radius===e||(this._spherical.radius=e,this._sphericalEnd.radius=e,this._needsUpdate=!0)}get azimuthAngle(){return this._spherical.theta}set azimuthAngle(e){this._spherical.theta===e&&this._sphericalEnd.theta===e||(this._spherical.theta=e,this._sphericalEnd.theta=e,this._needsUpdate=!0)}get polarAngle(){return this._spherical.phi}set polarAngle(e){this._spherical.phi===e&&this._sphericalEnd.phi===e||(this._spherical.phi=e,this._sphericalEnd.phi=e,this._needsUpdate=!0)}get boundaryEnclosesCamera(){return this._boundaryEnclosesCamera}set boundaryEnclosesCamera(e){this._boundaryEnclosesCamera=e,this._needsUpdate=!0}addEventListener(e,n){super.addEventListener(e,n)}removeEventListener(e,n){super.removeEventListener(e,n)}rotate(e,n,r=!1){return this.rotateTo(this._sphericalEnd.theta+e,this._sphericalEnd.phi+n,r)}rotateAzimuthTo(e,n=!1){return this.rotateTo(e,this._sphericalEnd.phi,n)}rotatePolarTo(e,n=!1){return this.rotateTo(this._sphericalEnd.theta,e,n)}rotateTo(e,n,r=!1){this._isUserControllingRotate=!1;const i=fr(e,this.minAzimuthAngle,this.maxAzimuthAngle),o=fr(n,this.minPolarAngle,this.maxPolarAngle);this._sphericalEnd.theta=i,this._sphericalEnd.phi=o,this._sphericalEnd.makeSafe(),this._needsUpdate=!0,r||(this._spherical.theta=this._sphericalEnd.theta,this._spherical.phi=this._sphericalEnd.phi);const a=!r||Be(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&Be(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold);return this._createOnRestPromise(a)}dolly(e,n=!1){return this.dollyTo(this._sphericalEnd.radius-e,n)}dollyTo(e,n=!1){this._isUserControllingDolly=!1;const r=this._sphericalEnd.radius,i=fr(e,this.minDistance,this.maxDistance);if(this.colliderMeshes.length>=1){const s=this._collisionTest(),u=Be(s,this._spherical.radius);if(!(r>i)&&u)return Promise.resolve();this._sphericalEnd.radius=Math.min(i,s)}else this._sphericalEnd.radius=i;this._needsUpdate=!0,n||(this._spherical.radius=this._sphericalEnd.radius);const a=!n||Be(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(a)}zoom(e,n=!1){return this.zoomTo(this._zoomEnd+e,n)}zoomTo(e,n=!1){this._isUserControllingZoom=!1,this._zoomEnd=fr(e,this.minZoom,this.maxZoom),this._needsUpdate=!0,n||(this._zoom=this._zoomEnd);const r=!n||Be(this._zoom,this._zoomEnd,this.restThreshold);return this._createOnRestPromise(r)}pan(e,n,r=!1){return console.warn("`pan` has been renamed to `truck`"),this.truck(e,n,r)}truck(e,n,r=!1){this._camera.updateMatrix(),rn.setFromMatrixColumn(this._camera.matrix,0),on.setFromMatrixColumn(this._camera.matrix,1),rn.multiplyScalar(e),on.multiplyScalar(-n);const i=_e.copy(rn).add(on),o=Fe.copy(this._targetEnd).add(i);return this.moveTo(o.x,o.y,o.z,r)}forward(e,n=!1){_e.setFromMatrixColumn(this._camera.matrix,0),_e.crossVectors(this._camera.up,_e),_e.multiplyScalar(e);const r=Fe.copy(this._targetEnd).add(_e);return this.moveTo(r.x,r.y,r.z,n)}elevate(e,n=!1){return _e.copy(this._camera.up).multiplyScalar(e),this.moveTo(this._targetEnd.x+_e.x,this._targetEnd.y+_e.y,this._targetEnd.z+_e.z,n)}moveTo(e,n,r,i=!1){this._isUserControllingTruck=!1;const o=_e.set(e,n,r).sub(this._targetEnd);this._encloseToBoundary(this._targetEnd,o,this.boundaryFriction),this._needsUpdate=!0,i||this._target.copy(this._targetEnd);const a=!i||Be(this._target.x,this._targetEnd.x,this.restThreshold)&&Be(this._target.y,this._targetEnd.y,this.restThreshold)&&Be(this._target.z,this._targetEnd.z,this.restThreshold);return this._createOnRestPromise(a)}lookInDirectionOf(e,n,r,i=!1){const s=_e.set(e,n,r).sub(this._targetEnd).normalize().multiplyScalar(-this._sphericalEnd.radius);return this.setPosition(s.x,s.y,s.z,i)}fitToBox(e,n,{cover:r=!1,paddingLeft:i=0,paddingRight:o=0,paddingBottom:a=0,paddingTop:s=0}={}){const u=[],l=e.isBox3?cr.copy(e):cr.setFromObject(e);l.isEmpty()&&(console.warn("camera-controls: fitTo() cannot be used with an empty box. Aborting"),Promise.resolve());const c=lf(this._sphericalEnd.theta,uf),f=lf(this._sphericalEnd.phi,uf);u.push(this.rotateTo(c,f,n));const d=_e.setFromSpherical(this._sphericalEnd).normalize(),h=gf.setFromUnitVectors(d,Cs),g=Be(Math.abs(d.y),1);g&&h.multiply(Ds.setFromAxisAngle(Co,c)),h.multiply(this._yAxisUpSpaceInverse);const v=pf.makeEmpty();Fe.copy(l.min).applyQuaternion(h),v.expandByPoint(Fe),Fe.copy(l.min).setX(l.max.x).applyQuaternion(h),v.expandByPoint(Fe),Fe.copy(l.min).setY(l.max.y).applyQuaternion(h),v.expandByPoint(Fe),Fe.copy(l.max).setZ(l.min.z).applyQuaternion(h),v.expandByPoint(Fe),Fe.copy(l.min).setZ(l.max.z).applyQuaternion(h),v.expandByPoint(Fe),Fe.copy(l.max).setY(l.min.y).applyQuaternion(h),v.expandByPoint(Fe),Fe.copy(l.max).setX(l.min.x).applyQuaternion(h),v.expandByPoint(Fe),Fe.copy(l.max).applyQuaternion(h),v.expandByPoint(Fe),v.min.x-=i,v.min.y-=a,v.max.x+=o,v.max.y+=s,h.setFromUnitVectors(Cs,d),g&&h.premultiply(Ds.invert()),h.premultiply(this._yAxisUpSpace);const w=v.getSize(_e),m=v.getCenter(Fe).applyQuaternion(h);if(Bn(this._camera)){const p=this.getDistanceToFitBox(w.x,w.y,w.z,r);u.push(this.moveTo(m.x,m.y,m.z,n)),u.push(this.dollyTo(p,n)),u.push(this.setFocalOffset(0,0,0,n))}else if(In(this._camera)){const p=this._camera,y=p.right-p.left,_=p.top-p.bottom,b=r?Math.max(y/w.x,_/w.y):Math.min(y/w.x,_/w.y);u.push(this.moveTo(m.x,m.y,m.z,n)),u.push(this.zoomTo(b,n)),u.push(this.setFocalOffset(0,0,0,n))}return Promise.all(u)}fitToSphere(e,n){const r=[],o=e instanceof me.Sphere?ks.copy(e):uu.createBoundingSphere(e,ks);if(r.push(this.moveTo(o.center.x,o.center.y,o.center.z,n)),Bn(this._camera)){const a=this.getDistanceToFitSphere(o.radius);r.push(this.dollyTo(a,n))}else if(In(this._camera)){const a=this._camera.right-this._camera.left,s=this._camera.top-this._camera.bottom,u=2*o.radius,l=Math.min(a/u,s/u);r.push(this.zoomTo(l,n))}return r.push(this.setFocalOffset(0,0,0,n)),Promise.all(r)}setLookAt(e,n,r,i,o,a,s=!1){this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1;const u=Fe.set(i,o,a),l=_e.set(e,n,r);this._targetEnd.copy(u),this._sphericalEnd.setFromVector3(l.sub(u).applyQuaternion(this._yAxisUpSpace)),this.normalizeRotations(),this._needsUpdate=!0,s||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));const c=!s||Be(this._target.x,this._targetEnd.x,this.restThreshold)&&Be(this._target.y,this._targetEnd.y,this.restThreshold)&&Be(this._target.z,this._targetEnd.z,this.restThreshold)&&Be(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&Be(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&Be(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(c)}lerpLookAt(e,n,r,i,o,a,s,u,l,c,f,d,h,g=!1){this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1;const v=_e.set(i,o,a),w=Fe.set(e,n,r);Lt.setFromVector3(w.sub(v).applyQuaternion(this._yAxisUpSpace));const m=lr.set(c,f,d),p=Fe.set(s,u,l);li.setFromVector3(p.sub(m).applyQuaternion(this._yAxisUpSpace)),this._targetEnd.copy(v.lerp(m,h));const y=li.theta-Lt.theta,_=li.phi-Lt.phi,b=li.radius-Lt.radius;this._sphericalEnd.set(Lt.radius+b*h,Lt.phi+_*h,Lt.theta+y*h),this.normalizeRotations(),this._needsUpdate=!0,g||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));const T=!g||Be(this._target.x,this._targetEnd.x,this.restThreshold)&&Be(this._target.y,this._targetEnd.y,this.restThreshold)&&Be(this._target.z,this._targetEnd.z,this.restThreshold)&&Be(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&Be(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&Be(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(T)}setPosition(e,n,r,i=!1){return this.setLookAt(e,n,r,this._targetEnd.x,this._targetEnd.y,this._targetEnd.z,i)}setTarget(e,n,r,i=!1){const o=this.getPosition(_e),a=this.setLookAt(o.x,o.y,o.z,e,n,r,i);return this._sphericalEnd.phi=fr(this.polarAngle,this.minPolarAngle,this.maxPolarAngle),a}setFocalOffset(e,n,r,i=!1){this._isUserControllingOffset=!1,this._focalOffsetEnd.set(e,n,r),this._needsUpdate=!0,i||this._focalOffset.copy(this._focalOffsetEnd);const o=!i||Be(this._focalOffset.x,this._focalOffsetEnd.x,this.restThreshold)&&Be(this._focalOffset.y,this._focalOffsetEnd.y,this.restThreshold)&&Be(this._focalOffset.z,this._focalOffsetEnd.z,this.restThreshold);return this._createOnRestPromise(o)}setOrbitPoint(e,n,r){this._camera.updateMatrixWorld(),rn.setFromMatrixColumn(this._camera.matrixWorldInverse,0),on.setFromMatrixColumn(this._camera.matrixWorldInverse,1),$n.setFromMatrixColumn(this._camera.matrixWorldInverse,2);const i=_e.set(e,n,r),o=i.distanceTo(this._camera.position),a=i.sub(this._camera.position);rn.multiplyScalar(a.x),on.multiplyScalar(a.y),$n.multiplyScalar(a.z),_e.copy(rn).add(on).add($n),_e.z=_e.z+o,this.dollyTo(o,!1),this.setFocalOffset(-_e.x,_e.y,-_e.z,!1),this.moveTo(e,n,r,!1)}setBoundary(e){if(!e){this._boundary.min.set(-1/0,-1/0,-1/0),this._boundary.max.set(1/0,1/0,1/0),this._needsUpdate=!0;return}this._boundary.copy(e),this._boundary.clampPoint(this._targetEnd,this._targetEnd),this._needsUpdate=!0}setViewport(e,n,r,i){if(e===null){this._viewport=null;return}this._viewport=this._viewport||new me.Vector4,typeof e=="number"?this._viewport.set(e,n,r,i):this._viewport.copy(e)}getDistanceToFitBox(e,n,r,i=!1){if(Os(this._camera,"getDistanceToFitBox"))return this._spherical.radius;const o=e/n,a=this._camera.getEffectiveFOV()*ai,s=this._camera.aspect;return((i?o>s:on.pointerId===e)}_findPointerByMouseButton(e){return this._activePointers.find(n=>n.mouseButton===e)}_encloseToBoundary(e,n,r){const i=n.lengthSq();if(i===0)return e;const o=Fe.copy(n).add(e),s=this._boundary.clampPoint(o,lr).sub(o),u=s.lengthSq();if(u===0)return e.add(n);if(u===i)return e;if(r===0)return e.add(n).add(s);{const l=1+r*u/n.dot(s);return e.add(Fe.copy(n).multiplyScalar(l)).add(s.multiplyScalar(1-r))}}_updateNearPlaneCorners(){if(Bn(this._camera)){const e=this._camera,n=e.near,r=e.getEffectiveFOV()*ai,i=Math.tan(r*.5)*n,o=i*e.aspect;this._nearPlaneCorners[0].set(-o,-i,0),this._nearPlaneCorners[1].set(o,-i,0),this._nearPlaneCorners[2].set(o,i,0),this._nearPlaneCorners[3].set(-o,i,0)}else if(In(this._camera)){const e=this._camera,n=1/e.zoom,r=e.left*n,i=e.right*n,o=e.top*n,a=e.bottom*n;this._nearPlaneCorners[0].set(r,o,0),this._nearPlaneCorners[1].set(i,o,0),this._nearPlaneCorners[2].set(i,a,0),this._nearPlaneCorners[3].set(r,a,0)}}_collisionTest(){let e=1/0;if(!(this.colliderMeshes.length>=1)||Os(this._camera,"_collisionTest"))return e;const r=_e.setFromSpherical(this._spherical).divideScalar(this._spherical.radius);Us.lookAt(ff,r,this._camera.up);for(let i=0;i<4;i++){const o=Fe.copy(this._nearPlaneCorners[i]);o.applyMatrix4(Us);const a=lr.addVectors(this._target,o);ko.set(a,r),ko.far=this._spherical.radius+1;const s=ko.intersectObjects(this.colliderMeshes);s.length!==0&&s[0].distance{const r=()=>{this.removeEventListener("rest",r),n()};this.addEventListener("rest",r)}))}_addAllEventListeners(e){}_removeAllEventListeners(){}get dampingFactor(){return console.warn(".dampingFactor has been deprecated. use smoothTime (in seconds) instead."),0}set dampingFactor(e){console.warn(".dampingFactor has been deprecated. use smoothTime (in seconds) instead.")}get draggingDampingFactor(){return console.warn(".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead."),0}set draggingDampingFactor(e){console.warn(".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead.")}static createBoundingSphere(e,n=new me.Sphere){const r=n,i=r.center;cr.makeEmpty(),e.traverseVisible(a=>{a.isMesh&&cr.expandByObject(a)}),cr.getCenter(i);let o=0;return e.traverseVisible(a=>{if(!a.isMesh)return;const s=a,u=s.geometry.clone();u.applyMatrix4(s.matrixWorld);const c=u.attributes.position;for(let f=0,d=c.count;f{},zoomOut:()=>{},panLeft:()=>{},panRight:()=>{},panUp:()=>{},panDown:()=>{}}),tl=()=>{const t=C.useContext(Zh);if(t===void 0)throw new Error("`useCameraControls` hook must be used within a `ControlsProvider` component");return t};var Qh={exports:{}};(function(t){(function(e,n,r){if(!e)return;for(var i={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},o={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},a={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},s={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},u,l=1;l<20;++l)i[111+l]="f"+l;for(l=0;l<=9;++l)i[l+96]=l.toString();function c(x,E,S){if(x.addEventListener){x.addEventListener(E,S,!1);return}x.attachEvent("on"+E,S)}function f(x){if(x.type=="keypress"){var E=String.fromCharCode(x.which);return x.shiftKey||(E=E.toLowerCase()),E}return i[x.which]?i[x.which]:o[x.which]?o[x.which]:String.fromCharCode(x.which).toLowerCase()}function d(x,E){return x.sort().join(",")===E.sort().join(",")}function h(x){var E=[];return x.shiftKey&&E.push("shift"),x.altKey&&E.push("alt"),x.ctrlKey&&E.push("ctrl"),x.metaKey&&E.push("meta"),E}function g(x){if(x.preventDefault){x.preventDefault();return}x.returnValue=!1}function v(x){if(x.stopPropagation){x.stopPropagation();return}x.cancelBubble=!0}function w(x){return x=="shift"||x=="ctrl"||x=="alt"||x=="meta"}function m(){if(!u){u={};for(var x in i)x>95&&x<112||i.hasOwnProperty(x)&&(u[i[x]]=x)}return u}function p(x,E,S){return S||(S=m()[x]?"keydown":"keypress"),S=="keypress"&&E.length&&(S="keydown"),S}function y(x){return x==="+"?["+"]:(x=x.replace(/\+{2}/g,"+plus"),x.split("+"))}function _(x,E){var S,U,D,O=[];for(S=y(x),D=0;D1){L(A,j,I,G);return}R=_(A,G),E._callbacks[R.key]=E._callbacks[R.key]||[],N(R.key,R.modifiers,{type:R.action},F,A,P),E._callbacks[R.key][F?"unshift":"push"]({callback:I,modifiers:R.modifiers,action:R.action,seq:F,level:P,combo:A})}E._bindMultiple=function(A,I,G){for(var F=0;F-1||b(E,S.target))return!1;if("composedPath"in x&&typeof x.composedPath=="function"){var U=x.composedPath()[0];U!==x.target&&(E=U)}return E.tagName=="INPUT"||E.tagName=="SELECT"||E.tagName=="TEXTAREA"||E.isContentEditable},T.prototype.handleKey=function(){var x=this;return x._handleKey.apply(x,arguments)},T.addKeycodes=function(x){for(var E in x)x.hasOwnProperty(E)&&(i[E]=x[E]);u=null},T.init=function(){var x=T(n);for(var E in x)E.charAt(0)!=="_"&&(T[E]=function(S){return function(){return x[S].apply(x,arguments)}}(E))},T.init(),e.Mousetrap=T,t.exports&&(t.exports=T),typeof r=="function"&&r.amd&&r(function(){return T})})(typeof window<"u"?window:null,typeof window<"u"?document:null)})(Qh);var Bb=Qh.exports;const mf=It(Bb),$b=()=>{const t=new Map;let e=[];const n=o=>{o.forEach(a=>{if(!a.disabled)if(a.ref){if(!a.ref.current)return;const s=a.ref.current;t.has(s)||t.set(s,new mf(s)),t.get(s).bind(a.keys,a.callback,a.action)}else t.get(void 0)||t.set(void 0,mf),t.get(void 0).bind(a.keys,a.callback,a.action)})},r=o=>{e=[...e,...o],n(o)},i=o=>{e=e.filter(a=>!o.includes(a)),o.forEach(a=>{var s,u;if(a.ref){if(!a.ref.current)return;(s=t.get(a.ref.current))==null||s.unbind(a.keys,a.action)}else(u=t.get(void 0))==null||u.unbind(a.keys,a.action)});for(const[a]of t){if(a===void 0){if(e.some(s=>s.ref===void 0))continue}else if(e.some(s=>{var u;return((u=s.ref)==null?void 0:u.current)===a}))continue;t.delete(a)}n(e)};return()=>{const[o,a]=C.useState([]);return C.useEffect(()=>{a(e)},[]),[o,r,i]}},jb=$b(),Jh=t=>{const[e,n,r]=jb();return C.useLayoutEffect(()=>(t&&n(t),()=>{t&&r(t)}),[n,r,t]),C.useMemo(()=>e.reduce((i,o)=>(i.find(a=>a.keys===o.keys&&a.ref&&o.ref)||i.push(o),i),[]),[e])};let qb=!1;try{navigator&&(qb=navigator.platform.toUpperCase().indexOf("MAC")>=0)}catch(t){console.warn(t)}/*! + * hold-event + * https://github.com/yomotsu/hold-event + * (c) 2020 @yomotsu + * Released under the MIT License. + */var bi;(function(t){t.HOLD_START="holdStart",t.HOLD_END="holdEnd",t.HOLDING="holding"})(bi||(bi={}));class Wb{constructor(){this._listeners={}}addEventListener(e,n){const r=this._listeners;r[e]===void 0&&(r[e]=[]),r[e].indexOf(n)===-1&&r[e].push(n)}removeEventListener(e,n){const i=this._listeners[e];if(i!==void 0){const o=i.indexOf(n);o!==-1&&i.splice(o,1)}}dispatchEvent(e){const r=this._listeners[e.type];if(r!==void 0){e.target=this;const i=r.slice(0);for(let o=0,a=i.length;o{if(!this._enabled||this._holding)return;this._deltaTime=0,this._elapsedTime=0,this._lastTime=performance.now(),this.dispatchEvent({type:bi.HOLD_START,deltaTime:this._deltaTime,elapsedTime:this._elapsedTime,originalEvent:n}),this._holding=!0;const r=()=>{this._intervalId=this.holdIntervalDelay?window.setTimeout(r,this.holdIntervalDelay):window.requestAnimationFrame(r);const i=performance.now();this._deltaTime=i-this._lastTime,this._elapsedTime+=this._deltaTime,this._lastTime=performance.now(),this.dispatchEvent({type:bi.HOLDING,deltaTime:this._deltaTime,elapsedTime:this._elapsedTime,originalEvent:n})};this._intervalId=this.holdIntervalDelay?window.setTimeout(r,this.holdIntervalDelay):window.requestAnimationFrame(r)},this._holdEnd=n=>{if(!this._enabled||!this._holding)return;const r=performance.now();this._deltaTime=r-this._lastTime,this._elapsedTime+=this._deltaTime,this._lastTime=performance.now(),this.dispatchEvent({type:bi.HOLD_END,deltaTime:this._deltaTime,elapsedTime:this._elapsedTime,originalEvent:n}),window.clearTimeout(this._intervalId),window.cancelAnimationFrame(this._intervalId),this._holding=!1},this.holdIntervalDelay=e}get enabled(){return this._enabled}set enabled(e){this._enabled!==e&&(this._enabled=e,this._enabled||this._holdEnd())}}class Pa extends Hb{constructor(e,n){super(n),this._holdStart=this._holdStart.bind(this),this._holdEnd=this._holdEnd.bind(this);const r=o=>{Yb(o)||o.keyCode===e&&this._holdStart(o)},i=o=>{o.keyCode===e&&this._holdEnd(o)};document.addEventListener("keydown",r),document.addEventListener("keyup",i),window.addEventListener("blur",this._holdEnd)}}function Yb(t){const e=t.target;return e.tagName==="INPUT"||e.tagName==="SELECT"||e.tagName==="TEXTAREA"||e.isContentEditable}var Rf,Ff;Mn.install({THREE:{MOUSE:ig,Vector2:mn,Vector3:Ee,Vector4:Ls,Quaternion:Wf,Matrix4:jf,Spherical:og,Box3:mu,Sphere:qf,Raycaster:ag,MathUtils:{DEG2RAD:(Rf=Fs)==null?void 0:Rf.DEG2RAD,clamp:(Ff=Fs)==null?void 0:Ff.clamp}}});Gf({ThreeCameraControls:Mn});const La={ARROW_LEFT:37,ARROW_UP:38,ARROW_RIGHT:39,ARROW_DOWN:40},vf=new Pa(La.ARROW_LEFT,100),yf=new Pa(La.ARROW_RIGHT,100),_f=new Pa(La.ARROW_UP,100),wf=new Pa(La.ARROW_DOWN,100),ra=C.forwardRef(({mode:t,children:e,animated:n,disabled:r},i)=>{const o=C.useRef(null),a=at(y=>y.camera),s=at(y=>y.gl),u=t==="orbit",l=pe(y=>y.setPanning);va((y,_)=>{var b,T;(b=o.current)!=null&&b.enabled&&((T=o.current)==null||T.update(_)),u&&(o.current.azimuthAngle+=20*_*Fs.DEG2RAD)},-1),C.useEffect(()=>()=>{var y;return(y=o.current)==null?void 0:y.dispose()},[]);const c=C.useCallback(()=>{var y;(y=o.current)==null||y.zoom(a.zoom/2,n)},[n,a.zoom]),f=C.useCallback(()=>{var y;(y=o.current)==null||y.zoom(-a.zoom/2,n)},[n,a.zoom]),d=C.useCallback(y=>{var _;u||(_=o.current)==null||_.truck(-.03*y.deltaTime,0,n)},[n,u]),h=C.useCallback(y=>{var _;u||(_=o.current)==null||_.truck(.03*y.deltaTime,0,n)},[n,u]),g=C.useCallback(y=>{var _;u||(_=o.current)==null||_.truck(0,.03*y.deltaTime,n)},[n,u]),v=C.useCallback(y=>{var _;u||(_=o.current)==null||_.truck(0,-.03*y.deltaTime,n)},[n,u]),w=C.useCallback(y=>{y.code==="Space"&&(t==="rotate"?o.current.mouseButtons.left=Mn.ACTION.TRUCK:o.current.mouseButtons.left=Mn.ACTION.ROTATE)},[t]),m=C.useCallback(y=>{y.code==="Space"&&(t==="rotate"?o.current.mouseButtons.left=Mn.ACTION.ROTATE:o.current.mouseButtons.left=Mn.ACTION.TRUCK)},[t]);C.useEffect(()=>(vf.addEventListener("holding",h),yf.addEventListener("holding",d),_f.addEventListener("holding",g),wf.addEventListener("holding",v),window.addEventListener("keydown",w),window.addEventListener("keyup",m),()=>{vf.removeEventListener("holding",h),yf.removeEventListener("holding",d),_f.removeEventListener("holding",g),wf.removeEventListener("holding",v),window.removeEventListener("keydown",w),window.removeEventListener("keyup",m)}),[w,m,v,h,d,g]),C.useEffect(()=>{const y=()=>l(!0),_=()=>l(!1),b=o.current;return b&&(b.addEventListener("control",y),b.addEventListener("controlend",_)),()=>{b&&(b.removeEventListener("control",y),b.removeEventListener("controlend",_))}},[o,l]),C.useEffect(()=>{t==="rotate"?o.current.mouseButtons.left=Mn.ACTION.ROTATE:o.current.mouseButtons.left=Mn.ACTION.TRUCK},[t]),Jh([{name:"Zoom In",keys:"command+shift+i",callback:y=>{y.preventDefault(),c()}},{name:"Zoom Out",keys:"command+shift+o",callback:y=>{y.preventDefault(),f()}}]);const p=C.useMemo(()=>({controls:o.current,zoomIn:()=>c(),zoomOut:()=>f(),panLeft:()=>h({deltaTime:1}),panRight:()=>d({deltaTime:1}),panDown:()=>v({deltaTime:1}),panUp:()=>g({deltaTime:1})}),[c,f,h,d,v,g,o.current]);return C.useImperativeHandle(i,()=>p),te.jsxs(Zh.Provider,{value:p,children:[te.jsx("threeCameraControls",{ref:o,args:[a,s.domElement],enabled:!r,smoothTime:.1,minDistance:1e3,maxDistance:5e4}),e]})});ra.defaultProps={mode:"rotate"};try{ra.displayName="CameraControls",ra.__docgenInfo={description:"",displayName:"CameraControls",props:{mode:{defaultValue:{value:"rotate"},description:"Mode of the camera.",name:"mode",required:!1,type:{name:"enum",value:[{value:'"pan"'},{value:'"rotate"'},{value:'"orbit"'}]}},children:{defaultValue:null,description:"Children symbols.",name:"children",required:!1,type:{name:"ReactNode"}},animated:{defaultValue:null,description:"Animate transitions to centering.",name:"animated",required:!1,type:{name:"boolean"}},disabled:{defaultValue:null,description:"Disable the controls.",name:"disabled",required:!1,type:{name:"boolean"}},ref:{defaultValue:null,description:"",name:"ref",required:!1,type:{name:"Ref"}}}}}catch{}const Is=50,Kb=({animated:t})=>{const e=pe(u=>u.nodes),n=at(u=>u.invalidate),{controls:r}=tl(),i=C.useMemo(()=>{const{maxX:u,maxY:l}=_c(e);return Math.max(u,l)},[e]),o=C.useCallback((u,l=Is,c=!1)=>{const{minX:f,maxX:d,minY:h,maxY:g,minZ:v,maxZ:w}=_c(u);r==null||r.fitToBox(new mu(new Ee(f,h,v),new Ee(d,g,w)),t,{cover:c,paddingLeft:l,paddingRight:l,paddingBottom:l,paddingTop:l}),n()},[n,r,t]),a=C.useCallback(u=>{let l=null,c=Is;u!=null&&u.length&&(c=i+Is,l=u.reduce((f,d)=>{const h=e.find(g=>g.id===d);if(h)f.push(h);else throw new Error(`Attempted to center ${d} but it was not found in the nodes`);return f},[])),o(l||e,c,!!l)},[o,e,i]),s=C.useRef(!1);return C.useLayoutEffect(()=>{r&&(e!=null&&e.length)&&!s.current&&(o(e),s.current=!0)},[r,o,e]),Jh([{name:"Center",keys:["command+shift+c"],callback:()=>o(e)}]),{centerNodes:o,centerNodesById:a}};function ia(t,e){return t.map(function(n,r){return n+e[r]})}function Ra(t,e){return t.map(function(n,r){return n-e[r]})}function Li(t){return Math.hypot.apply(Math,t)}function ep(t,e){e===void 0&&(e=t);var n=Li(e),r=n===0?0:1/n,i=e.map(function(a){return r*a}),o=Li(t);return{distance:o,direction:i}}function tp(t,e,n){var r=Li(e),i=r===0?0:1/r,o=n===0?0:1/n,a=o*r,s=e.map(function(c){return o*c}),u=e.map(function(c){return i*c}),l=Li(t);return{velocities:s,velocity:a,distance:l,direction:u}}function oa(t){return Math.sign?Math.sign(t):+(t>0)-+(t<0)||+t}function Xb(t,e,n){return Math.max(e,Math.min(t,n))}function Zb(t,e){return Math.pow(t,e*5)}function bf(t,e,n){return e===0||Math.abs(e)===1/0?Zb(t,n):t*e*n/(e+n*t)}function xf(t,e,n,r){return r===void 0&&(r=.15),r===0?Xb(t,e,n):tn?+bf(t-n,n-e,r)+n:t}function Ef(t,e){for(var n=0;n=0)&&(n[i]=t[i]);return n}function Ue(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function e2(t,e){if(t){if(typeof t=="string")return Tf(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Tf(t,e)}}function Tf(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n"u"||t[Symbol.iterator]==null){if(Array.isArray(t)||(n=e2(t))||e&&t&&typeof t.length=="number"){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return n=t[Symbol.iterator](),n.next.bind(n)}function np(){}function rp(){for(var t=arguments.length,e=new Array(t),n=0;n1?e-1:0),r=1;r2?u-2:0),c=2;c0||u>0,c=Te({},i.controller.state.shared,i.state,i.mapStateValues(i.state),{locked:!!document.pointerLockElement,touches:u,down:l}),f=i.handler(c);return i.state.memo=f!==void 0?f:i.state.memo,c},this.controller=n,this.args=r}var e=t.prototype;return e.updateSharedState=function(r){Object.assign(this.controller.state.shared,r)},e.updateGestureState=function(r){Object.assign(this.state,r)},e.checkIntentionality=function(r,i){return{_intentional:r,_blocked:!1}},e.getMovement=function(r){var i=this.config.rubberband,o=this.state,a=o._bounds,s=o._initial,u=o._active,l=o._intentional,c=o.lastOffset,f=o.movement,d=o._threshold,h=this.getInternalMovement(r,this.state),g=l[0]===!1?Df(h[0],d[0]):l[0],v=l[1]===!1?Df(h[1],d[1]):l[1],w=this.checkIntentionality([g,v],h);if(w._blocked)return Te({},w,{_movement:h,delta:[0,0]});var m=w._intentional,p=h,y=[m[0]!==!1?h[0]-m[0]:0,m[1]!==!1?h[1]-m[1]:0],_=ia(y,c),b=u?i:[0,0];return y=Uf(a,ia(y,s),b),Te({},w,{intentional:m[0]!==!1||m[1]!==!1,_initial:s,_movement:p,movement:y,values:r,offset:Uf(a,_,b),delta:Ra(y,f)})},e.clean=function(){this.clearTimeout()},Qb(t,[{key:"config",get:function(){return this.controller.config[this.stateKey]}},{key:"enabled",get:function(){return this.controller.config.enabled&&this.config.enabled}},{key:"state",get:function(){return this.controller.state[this.stateKey]}},{key:"handler",get:function(){return this.controller.handlers[this.stateKey]}},{key:"transform",get:function(){return this.config.transform||this.controller.config.transform||v2}}]),t}();function Df(t,e){return Math.abs(t)>=e?oa(t)*e:!1}function Uf(t,e,n){var r=e[0],i=e[1],o=n[0],a=n[1],s=t[0],u=s[0],l=s[1],c=t[1],f=c[0],d=c[1];return[xf(r,u,l,o),xf(i,f,d,a)]}function it(t,e,n){var r=t.state,i=e.timeStamp,o=e.type,a=r.values,s=n?0:i-r.startTime;return{_lastEventType:o,event:e,timeStamp:i,elapsedTime:s,previous:a}}function Yn(t,e,n,r){var i=t.state,o=t.config,a=t.stateKey,s=t.args,u=t.transform,l=i.offset,c=n.timeStamp,f=o.initial,d=o.bounds,h=o.threshold,g=Ra(u(h),u([0,0])).map(Math.abs),v=Te({},up()[a],{_active:!0,args:s,values:e,initial:r??e,_threshold:g,offset:l,lastOffset:l,startTime:c});return Te({},v,{_initial:aa(f,v),_bounds:aa(d,v)})}var y2=function(e){var n=this;this.classes=e,this.pointerIds=new Set,this.touchIds=new Set,this.supportsTouchEvents=ip(),this.supportsGestureEvents=t2(),this.bind=function(){for(var r=arguments.length,i=new Array(r),o=0;ou?"x":s0?r.setUpDelayedDragTrigger(i):r.startDrag(i,!0))},r.onDragChange=function(i){if(!(r.state.canceled||!r.state._active||!r.isValidEvent(i)||r.state._lastEventType===i.type&&i.timeStamp===r.state.timeStamp)){var o;if(document.pointerLockElement){var a=i.movementX,s=i.movementY;o=ia(r.transform([a,s]),r.state.values)}else o=pr(i,r.transform);var u=r.getKinematics(o,i);if(!r.state._dragStarted){if(r.state._dragDelayed){r.startDrag(i);return}if(r.shouldPreventWindowScrollY)if(!r.state._dragPreventScroll&&u.axis)if(u.axis==="x")r.startDrag(i);else{r.state._active=!1;return}else return;else return}var l=Gt(i);r.updateSharedState(l);var c=it(Ue(r),i),f=Li(u._movement),d=r.state._dragIsTap;d&&f>=O2&&(d=!1),r.updateGestureState(Te({},c,u,{_dragIsTap:d})),r.fireGestureHandler()}},r.onDragEnd=function(i){if(fp(r.controller,i),!!r.isValidEvent(i)&&(r.clean(),!!r.state._active)){r.state._active=!1;var o=r.state._dragIsTap,a=r.state.velocities,s=a[0],u=a[1],l=r.state.movement,c=l[0],f=l[1],d=r.state._intentional,h=d[0],g=d[1],v=r.config.swipeVelocity,w=v[0],m=v[1],p=r.config.swipeDistance,y=p[0],_=p[1],b=r.config.swipeDuration,T=Te({},it(Ue(r),i),r.getMovement(r.state.values)),x=[0,0];T.elapsedTimew&&Math.abs(c)>y&&(x[0]=oa(s)),g!==!1&&Math.abs(u)>m&&Math.abs(f)>_&&(x[1]=oa(u))),r.updateSharedState({buttons:0}),r.updateGestureState(Te({},T,{tap:o,swipe:x})),r.fireGestureHandler(r.config.filterTaps&&o===!0)}},r.clean=function(){t.prototype.clean.call(Ue(r)),r.state._dragStarted=!1,r.releasePointerCapture(),w2(r.controller,r.stateKey)},r.onCancel=function(){r.state.canceled||(r.updateGestureState({canceled:!0,_active:!1}),r.updateSharedState({buttons:0}),setTimeout(function(){return r.fireGestureHandler()},0))},r.onClick=function(i){r.state._dragIsTap||i.stopPropagation()},r}var n=e.prototype;return n.startDrag=function(i,o){o===void 0&&(o=!1),!(!this.state._active||this.state._dragStarted)&&(o||this.setStartState(i),this.updateGestureState({_dragStarted:!0,_dragPreventScroll:!0,cancel:this.onCancel}),this.clearTimeout(),this.fireGestureHandler())},n.addBindings=function(i){if(this.config.useTouch?(Xe(i,"onTouchStart",this.onDragStart),Xe(i,"onTouchMove",this.onDragChange),Xe(i,"onTouchEnd",this.onDragEnd),Xe(i,"onTouchCancel",this.onDragEnd)):(Xe(i,"onPointerDown",this.onDragStart),Xe(i,"onPointerMove",this.onDragChange),Xe(i,"onPointerUp",this.onDragEnd),Xe(i,"onPointerCancel",this.onDragEnd)),this.config.filterTaps){var o=this.controller.config.eventOptions.capture?"onClick":"onClickCapture";Xe(i,o,this.onClick)}},e}(Ga),k2=function(t){Jn(e,t);function e(){return t.apply(this,arguments)||this}var n=e.prototype;return n.getInternalMovement=function(i,o){var a=o.values[1],s=i[0],u=i[1],l=u===void 0?a:u,c=l-a,f=o.turns;return Math.abs(c)>270&&(f+=oa(c)),Ra([s,l-360*f],o.initial)},n.getKinematics=function(i,o){var a=this.getMovement(i),s=(i[1]-a._movement[1]-this.state.initial[1])/360,u=o.timeStamp-this.state.timeStamp,l=tp(a.movement,a.delta,u),c=Jb(l,["distance","velocity"]);return Te({turns:s},a,c)},n.mapStateValues=function(i){return{da:i.values,vdva:i.velocities}},e}(lp),D2=7,U2=260,I2=function(t){Jn(e,t);function e(){var r;return r=t.apply(this,arguments)||this,r.ingKey="pinching",r.stateKey="pinch",r.onPinchStart=function(i){cp(r.controller,i);var o=r.controller.touchIds;if(r.enabled&&!(r.state._active&&r.state._pointerIds.every(function(c){return o.has(c)}))&&!(o.size<2)){var a=Array.from(o).slice(0,2),s=Af(i,a,r.transform),u=s.values,l=s.origin;r.updateSharedState(Gt(i)),r.updateGestureState(Te({},Yn(Ue(r),u,i),it(Ue(r),i,!0),{_pointerIds:a,cancel:r.onCancel,origin:l})),r.updateGestureState(r.getMovement(u)),r.fireGestureHandler()}},r.onPinchChange=function(i){var o=r.state,a=o.canceled,s=o._active;if(!(a||!s||i.timeStamp===r.state.timeStamp)){var u=Gt(i);r.updateSharedState(u);try{var l=Af(i,r.state._pointerIds,r.transform),c=l.values,f=l.origin,d=r.getKinematics(c,i);r.updateGestureState(Te({},it(Ue(r),i),d,{origin:f})),r.fireGestureHandler()}catch{r.onPinchEnd(i)}}},r.onPinchEnd=function(i){fp(r.controller,i);var o=nl(i);r.state._pointerIds.every(function(a){return!o.includes(a)})||(r.clean(),r.state._active&&(r.updateGestureState(Te({},it(Ue(r),i),r.getMovement(r.state.values),{_active:!1})),r.fireGestureHandler()))},r.onCancel=function(){r.state.canceled||(r.updateGestureState({_active:!1,canceled:!0}),setTimeout(function(){return r.fireGestureHandler()},0))},r.onGestureStart=function(i){if(r.enabled){i.preventDefault();var o=kf(i,r.transform);r.updateSharedState(Gt(i)),r.updateGestureState(Te({},Yn(Ue(r),o,i),it(Ue(r),i,!0),{origin:[i.clientX,i.clientY],cancel:r.onCancel})),r.updateGestureState(r.getMovement(o)),r.fireGestureHandler()}},r.onGestureChange=function(i){var o=r.state,a=o.canceled,s=o._active;if(!(a||!s)){i.preventDefault();var u=Gt(i);r.updateSharedState(u);var l=kf(i,r.transform);l[0]=(l[0]-r.state.event.scale)*U2+r.state.values[0];var c=r.getKinematics(l,i);r.updateGestureState(Te({},it(Ue(r),i),c,{origin:[i.clientX,i.clientY]})),r.fireGestureHandler()}},r.onGestureEnd=function(i){r.clean(),r.state._active&&(r.updateGestureState(Te({},it(Ue(r),i),r.getMovement(r.state.values),{_active:!1,origin:[i.clientX,i.clientY]})),r.fireGestureHandler())},r.wheelShouldRun=function(i){return r.enabled&&i.ctrlKey},r.getWheelValuesFromEvent=function(i){var o=ap(i,r.transform),a=o[1],s=r.state.values,u=s[0],l=s[1],c=-a*D2,f=u+c,d=l!==void 0?l:0;return{values:[f,d],origin:[i.clientX,i.clientY],delta:[c,d]}},r.onWheel=function(i){r.wheelShouldRun(i)&&(r.setTimeout(r.onWheelEnd),r.state._active?r.onWheelChange(i):r.onWheelStart(i))},r.onWheelStart=function(i){var o=r.getWheelValuesFromEvent(i),a=o.values,s=o.delta,u=o.origin;i.cancelable&&i.preventDefault(),r.updateSharedState(Gt(i)),r.updateGestureState(Te({},Yn(Ue(r),a,i,r.state.values),it(Ue(r),i,!0),{offset:a,delta:s,origin:u})),r.updateGestureState(r.getMovement(a)),r.fireGestureHandler()},r.onWheelChange=function(i){i.cancelable&&i.preventDefault(),r.updateSharedState(Gt(i));var o=r.getWheelValuesFromEvent(i),a=o.values,s=o.origin,u=o.delta;r.updateGestureState(Te({},it(Ue(r),i),r.getKinematics(a,i),{origin:s,delta:u})),r.fireGestureHandler()},r.onWheelEnd=function(){r.clean(),r.state._active&&(r.state._active=!1,r.updateGestureState(r.getMovement(r.state.values)),r.fireGestureHandler())},r}var n=e.prototype;return n.addBindings=function(i){this.controller.config.domTarget&&!this.controller.supportsTouchEvents&&this.controller.supportsGestureEvents?(Xe(i,"onGestureStart",this.onGestureStart),Xe(i,"onGestureChange",this.onGestureChange),Xe(i,"onGestureEnd",this.onGestureEnd)):(Xe(i,"onTouchStart",this.onPinchStart),Xe(i,"onTouchMove",this.onPinchChange),Xe(i,"onTouchEnd",this.onPinchEnd),Xe(i,"onTouchCancel",this.onPinchEnd),Xe(i,"onWheel",this.onWheel))},e}(k2),M2=function(t){Jn(e,t);function e(){var r;return r=t.apply(this,arguments)||this,r.ingKey="wheeling",r.stateKey="wheel",r.debounced=!0,r.handleEvent=function(i){if(!(i.ctrlKey&&"pinch"in r.controller.handlers)&&r.enabled){r.setTimeout(r.onEnd),r.updateSharedState(Gt(i));var o=ia(ap(i,r.transform),r.state.values);if(r.state._active)r.updateGestureState(Te({},it(Ue(r),i),r.getKinematics(o,i)));else{r.updateGestureState(Te({},Yn(Ue(r),o,i,r.state.values),it(Ue(r),i,!0)));var a=r.getMovement(o),s=ep(a.delta);r.updateGestureState(a),r.updateGestureState(s)}r.fireGestureHandler()}},r.onEnd=function(){if(r.clean(),!!r.state._active){var i=r.getMovement(r.state.values);r.updateGestureState(i),r.updateGestureState({_active:!1,velocities:[0,0],velocity:0}),r.fireGestureHandler()}},r}var n=e.prototype;return n.addBindings=function(i){Xe(i,"onWheel",this.handleEvent)},e}(Ga),Mf=function(t){Jn(e,t);function e(){var r;return r=t.apply(this,arguments)||this,r.ingKey="moving",r.stateKey="move",r.debounced=!0,r.onMove=function(i){r.enabled&&(r.setTimeout(r.onMoveEnd),r.state._active?r.onMoveChange(i):r.onMoveStart(i))},r.onMoveStart=function(i){r.updateSharedState(Gt(i));var o=pr(i,r.transform);r.updateGestureState(Te({},Yn(Ue(r),o,i),it(Ue(r),i,!0))),r.updateGestureState(r.getMovement(o)),r.fireGestureHandler()},r.onMoveChange=function(i){r.updateSharedState(Gt(i));var o=pr(i,r.transform);r.updateGestureState(Te({},it(Ue(r),i),r.getKinematics(o,i))),r.fireGestureHandler()},r.onMoveEnd=function(){if(r.clean(),!!r.state._active){var i=r.state.values;r.updateGestureState(r.getMovement(i)),r.updateGestureState({velocities:[0,0],velocity:0,_active:!1}),r.fireGestureHandler()}},r.hoverTransform=function(){return r.controller.config.hover.transform||r.controller.config.transform},r.onPointerEnter=function(i){if(r.controller.state.shared.hovering=!0,!!r.controller.config.enabled){if(r.controller.config.hover.enabled){var o=pr(i,r.hoverTransform()),a=Te({},r.controller.state.shared,r.state,it(Ue(r),i,!0),{args:r.args,values:o,active:!0,hovering:!0});r.controller.handlers.hover(Te({},a,r.mapStateValues(a)))}"move"in r.controller.handlers&&r.onMoveStart(i)}},r.onPointerLeave=function(i){if(r.controller.state.shared.hovering=!1,"move"in r.controller.handlers&&r.onMoveEnd(),!!r.controller.config.hover.enabled){var o=pr(i,r.hoverTransform()),a=Te({},r.controller.state.shared,r.state,it(Ue(r),i),{args:r.args,values:o,active:!1});r.controller.handlers.hover(Te({},a,r.mapStateValues(a)))}},r}var n=e.prototype;return n.addBindings=function(i){"move"in this.controller.handlers&&Xe(i,"onPointerMove",this.onMove),"hover"in this.controller.handlers&&(Xe(i,"onPointerEnter",this.onPointerEnter),Xe(i,"onPointerLeave",this.onPointerLeave))},e}(Ga),P2=function(t){Jn(e,t);function e(){var r;return r=t.apply(this,arguments)||this,r.ingKey="scrolling",r.stateKey="scroll",r.debounced=!0,r.handleEvent=function(i){if(r.enabled){r.clearTimeout(),r.setTimeout(r.onEnd);var o=r2(i,r.transform);if(r.updateSharedState(Gt(i)),r.state._active)r.updateGestureState(Te({},it(Ue(r),i),r.getKinematics(o,i)));else{r.updateGestureState(Te({},Yn(Ue(r),o,i,r.state.values),it(Ue(r),i,!0)));var a=r.getMovement(o),s=ep(a.delta);r.updateGestureState(a),r.updateGestureState(s)}r.fireGestureHandler()}},r.onEnd=function(){r.clean(),r.state._active&&(r.updateGestureState(Te({},r.getMovement(r.state.values),{_active:!1,velocities:[0,0],velocity:0})),r.fireGestureHandler())},r}var n=e.prototype;return n.addBindings=function(i){Xe(i,"onScroll",this.handleEvent)},e}(Ga),L2=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function R2(t){var e={},n={},r=new Set;for(var i in t)L2.test(i)?(r.add(RegExp.lastMatch),n[i]=t[i]):e[i]=t[i];return[n,e,r]}function F2(t,e){e===void 0&&(e={});var n=R2(t),r=n[0],i=n[1],o=n[2];zt.set("drag",C2),zt.set("hover",Mf),zt.set("move",Mf),zt.set("pinch",I2),zt.set("scroll",P2),zt.set("wheel",M2);var a=m2(e,o),s={};return o.has("onDrag")&&(s.drag=fi(r,"onDrag")),o.has("onWheel")&&(s.wheel=fi(r,"onWheel")),o.has("onScroll")&&(s.scroll=fi(r,"onScroll")),o.has("onMove")&&(s.move=fi(r,"onMove")),o.has("onPinch")&&(s.pinch=fi(r,"onPinch")),o.has("onHover")&&(s.hover=r.onHover),T2(s,a,i)}function fi(t,e){var n=e+"Start",r=e+"End",i=function(a){var s=void 0;return a.first&&n in t&&t[n](a),e in t&&(s=t[e](a)),a.last&&r in t&&t[r](a),s};return i}const G2=({draggable:t,set:e,position:n,onDragStart:r,onDragEnd:i})=>{const o=at(v=>v.camera),a=at(v=>v.raycaster),s=at(v=>v.size),u=at(v=>v.gl),{mouse2D:l,mouse3D:c,offset:f,normal:d,plane:h}=C.useMemo(()=>({mouse2D:new mn,mouse3D:new Ee,offset:new Ee,normal:new Ee,plane:new sg}),[]),g=C.useMemo(()=>u.domElement.getBoundingClientRect(),[u.domElement]);return F2({onDragStart:({event:v})=>{const{eventObject:w,point:m}=v;w.getWorldPosition(f).sub(m),c.copy(m),r()},onDrag:({event:v})=>{const w=(v.clientX-((g==null?void 0:g.left)??0))/s.width*2-1,m=-((v.clientY-((g==null?void 0:g.top)??0))/s.height)*2+1;l.set(w,m),a.setFromCamera(l,o),o.getWorldDirection(d).negate(),h.setFromNormalAndCoplanarPoint(d,c),a.ray.intersectPlane(h,c);const p=new Ee(n.x,n.y,n.z).copy(c).add(f);return e(p)},onDragEnd:i},{drag:{enabled:t,threshold:10}})},Ri=({image:t,id:e,size:n,opacity:r,animated:i})=>{const o=C.useMemo(()=>new ug().load(t),[t]),{scale:a,spriteOpacity:s}=Jt({from:{scale:[1e-5,1e-5,1e-5],spriteOpacity:0},to:{scale:[n,n,n],spriteOpacity:r},config:{...Qt,duration:i?void 0:0}});return te.jsx(gt.sprite,{userData:{id:e,type:"node"},scale:a,children:te.jsx(gt.spriteMaterial,{attach:"material",opacity:s,fog:!0,depthTest:!1,transparent:!0,side:un,children:te.jsx("primitive",{attach:"map",object:o,minFilter:Ps})})})};Ri.defaultProps={opacity:1};try{Ri.displayName="Icon",Ri.__docgenInfo={description:"",displayName:"Icon",props:{image:{defaultValue:null,description:"",name:"image",required:!0,type:{name:"string"}},color:{defaultValue:null,description:"Color of the node. Handles selected/etc.",name:"color",required:!0,type:{name:"ColorRepresentation"}},node:{defaultValue:null,description:"The internal node model.",name:"node",required:!0,type:{name:"InternalGraphNode"}},size:{defaultValue:null,description:"Size of the node.",name:"size",required:!0,type:{name:"number"}},active:{defaultValue:null,description:"Whether the node is active or not.",name:"active",required:!0,type:{name:"boolean"}},opacity:{defaultValue:{value:"1"},description:"Opacity of the node. Mainly used for selection.",name:"opacity",required:!1,type:{name:"number"}},animated:{defaultValue:null,description:"Animation of the node.",name:"animated",required:!0,type:{name:"boolean"}},id:{defaultValue:null,description:"ID of the node.",name:"id",required:!0,type:{name:"string"}}}}}catch{}const lu=({color:t,id:e,size:n,opacity:r,node:i,active:o,animated:a,image:s})=>te.jsxs(te.Fragment,{children:[te.jsx(Pi,{id:e,size:n,opacity:r,animated:a,color:t,node:i,active:o}),te.jsx(Ri,{id:e,image:s,size:n+8,opacity:r,animated:a,color:t,node:i,active:o})]});lu.defaultProps={opacity:1,active:!1,selected:!1};try{lu.displayName="SphereWithIcon",lu.__docgenInfo={description:"",displayName:"SphereWithIcon",props:{image:{defaultValue:null,description:"",name:"image",required:!0,type:{name:"string"}},color:{defaultValue:null,description:"Color of the node. Handles selected/etc.",name:"color",required:!0,type:{name:"ColorRepresentation"}},node:{defaultValue:null,description:"The internal node model.",name:"node",required:!0,type:{name:"InternalGraphNode"}},size:{defaultValue:null,description:"Size of the node.",name:"size",required:!0,type:{name:"number"}},active:{defaultValue:{value:"false"},description:"Whether the node is active or not.",name:"active",required:!1,type:{name:"boolean"}},opacity:{defaultValue:{value:"1"},description:"Opacity of the node. Mainly used for selection.",name:"opacity",required:!1,type:{name:"number"}},animated:{defaultValue:null,description:"Animation of the node.",name:"animated",required:!0,type:{name:"boolean"}},id:{defaultValue:null,description:"ID of the node.",name:"id",required:!0,type:{name:"string"}}}}}catch{}const gp=({sensitivity:t=7,interval:e=50,timeout:n=0,disabled:r,onPointerOver:i,onPointerOut:o})=>{const a=C.useRef(!1),s=C.useRef(null),u=C.useRef(0),l=C.useRef({x:null,y:null,px:null,py:null}),c=C.useCallback(w=>{l.current.x=w.clientX,l.current.y=w.clientY},[]),f=C.useCallback(w=>{s.current=clearTimeout(s.current);const{px:m,x:p,py:y,y:_}=l.current;Math.abs(m-p)+Math.abs(y-_)f(w),e))},[e,i,t]),d=C.useCallback(()=>{clearTimeout(s.current),document.removeEventListener("mousemove",c,!1)},[c]),h=C.useCallback(w=>{r||(a.current=!0,d(),u.current!==1&&(l.current.px=w.pointer.x,l.current.py=w.pointer.y,document.addEventListener("mousemove",c,!1),s.current=setTimeout(()=>f(w),n)))},[d,f,r,c,n]),g=C.useCallback(w=>{s.current=clearTimeout(s.current),u.current=0,o(w)},[o]),v=C.useCallback(w=>{a.current=!1,d(),u.current===1&&(s.current=setTimeout(()=>g(w),n))},[d,g,n]);return{pointerOver:h,pointerOut:v}},sa=({animated:t,disabled:e,id:n,draggable:r,theme:i,labelFontUrl:o,contextMenu:a,onClick:s,onPointerOver:u,onPointerOut:l,onContextMenu:c,renderNode:f})=>{const d=tl(),h=pe(z=>z.nodes.find(q=>q.id===n)),g=pe(z=>z.edges),v=pe(z=>z.draggingId),w=pe(z=>z.collapsedNodeIds),m=pe(z=>z.setDraggingId),p=pe(z=>z.setNodePosition),y=pe(z=>z.setCollapsedNodeIds),_=pe(z=>z.collapsedNodeIds.includes(n)),b=pe(z=>{var q;return(q=z.actives)==null?void 0:q.includes(n)}),T=pe(z=>{var q;return(q=z.selections)==null?void 0:q.includes(n)}),x=pe(z=>{var q;return((q=z.selections)==null?void 0:q.length)>0}),E=v===n,{position:S,label:U,size:D=7,labelVisible:O=!0}=h,k=C.useRef(null),[M,N]=C.useState(!1),[B,W]=C.useState(!1),J=x?T||M||b?i.node.selectedOpacity:i.node.inactiveOpacity:i.node.opacity,L=C.useMemo(()=>g.filter(q=>q.source===n).length>0||_,[g,n,_]),V=C.useCallback(()=>{L&&y(_?w.filter(z=>z!==n):[...w,n])},[L,w,n,_,y]),[{nodePosition:A,labelPosition:I}]=Jt(()=>({from:{nodePosition:[0,0,0],labelPosition:[0,-(D+7),2]},to:{nodePosition:S?[S.x,S.y,S.z]:[0,0,0],labelPosition:[0,-(D+7),2]},config:{...Qt,duration:t&&!v?void 0:0}}),[E,S,t,D]),G=G2({draggable:r,position:S,set:z=>p(n,z),onDragStart:()=>{m(n),N(!0),d.controls.enabled=!1},onDragEnd:()=>{m(null),N(!1),d.controls.enabled=!0}});Lo(M&&!v&&s!==void 0,"pointer"),Lo(M&&r&&!E&&s===void 0,"grab"),Lo(E,"grabbing");const F=T||M||E||b,P=F?i.node.activeFill:h.fill||i.node.fill,{pointerOver:j,pointerOut:R}=gp({disabled:e||E,onPointerOver:()=>{N(!0),u==null||u(h)},onPointerOut:()=>{N(!1),l==null||l(h)}});return te.jsxs(gt.group,{userData:{id:n,type:"node"},ref:k,position:A,onPointerOver:j,onPointerOut:R,onClick:()=>{!e&&!E&&(s==null||s(h,{canCollapse:L,isCollapsed:_}))},onContextMenu:()=>{e||(W(!0),c==null||c(h,{canCollapse:L,isCollapsed:_,onCollapse:V}))},...G(),children:[f?f({id:n,color:P,size:D,active:F,opacity:J,animated:t,node:h}):te.jsx(te.Fragment,{children:h.icon?te.jsx(Ri,{id:n,image:h.icon||"",size:D+8,opacity:J,animated:t,color:P,node:h,active:F}):te.jsx(Pi,{id:n,size:D,opacity:J,animated:t,color:P,node:h,active:F})}),te.jsx(na,{opacity:T?.5:0,size:D,animated:t,color:T||M?i.ring.activeFill:i.ring.fill}),B&&a&&te.jsx(Gu,{prepend:!0,center:!0,children:a({data:h,canCollapse:L,isCollapsed:_,onCollapse:V,onClose:()=>W(!1)})}),(O||T||M)&&U&&te.jsx(gt.group,{position:I,children:te.jsx(Tr,{text:U,fontUrl:o,opacity:J,stroke:i.node.label.stroke,active:T||M||E||b,color:T||M||E||b?i.node.label.activeColor:i.node.label.color})})]})};sa.defaultProps={draggable:!1};try{sa.displayName="Node",sa.__docgenInfo={description:"",displayName:"Node",props:{id:{defaultValue:null,description:"",name:"id",required:!0,type:{name:"string"}},theme:{defaultValue:null,description:"",name:"theme",required:!0,type:{name:"Theme"}},parents:{defaultValue:null,description:"",name:"parents",required:!1,type:{name:"string[]"}},disabled:{defaultValue:null,description:"",name:"disabled",required:!1,type:{name:"boolean"}},animated:{defaultValue:null,description:"",name:"animated",required:!1,type:{name:"boolean"}},draggable:{defaultValue:{value:"false"},description:"",name:"draggable",required:!1,type:{name:"boolean"}},labelFontUrl:{defaultValue:null,description:"",name:"labelFontUrl",required:!1,type:{name:"string"}},contextMenu:{defaultValue:null,description:"",name:"contextMenu",required:!1,type:{name:"(event: ContextMenuEvent) => ReactNode"}},onPointerOver:{defaultValue:null,description:"",name:"onPointerOver",required:!1,type:{name:"(node: InternalGraphNode) => void"}},onPointerOut:{defaultValue:null,description:"",name:"onPointerOut",required:!1,type:{name:"(node: InternalGraphNode) => void"}},onClick:{defaultValue:null,description:"",name:"onClick",required:!1,type:{name:"(node: InternalGraphNode, props?: CollapseProps) => void"}},onContextMenu:{defaultValue:null,description:"",name:"onContextMenu",required:!1,type:{name:"(node?: InternalGraphNode, props?: NodeContextMenuProps) => void"}},renderNode:{defaultValue:null,description:"",name:"renderNode",required:!1,type:{name:"NodeRenderer"}}}}}catch{}const ua=({animated:t,color:e,length:n,opacity:r,position:i,rotation:o,size:a,onActive:s,onContextMenu:u})=>{const l=C.useMemo(()=>new _n(e),[e]),c=C.useRef(null),f=pe(v=>v.draggingId),[{pos:d,arrowOpacity:h}]=Jt(()=>({from:{pos:[0,0,0],arrowOpacity:0},to:{pos:[i.x,i.y,i.z],arrowOpacity:r},config:{...Qt,duration:t&&!f?void 0:0}}),[t,f,r,i]),g=C.useCallback(()=>{var w;const v=new Ee(0,1,0);(w=c.current)==null||w.quaternion.setFromUnitVectors(v,o)},[o,c]);return C.useEffect(()=>g(),[g]),te.jsxs(gt.mesh,{position:d,ref:c,scale:[1,1,1],onPointerOver:()=>s(!0),onPointerOut:()=>s(!1),onPointerDown:v=>{v.nativeEvent.buttons===2&&(v.stopPropagation(),u())},children:[te.jsx("cylinderGeometry",{args:[0,a,n,20,1,!0],attach:"geometry"}),te.jsx(gt.meshBasicMaterial,{attach:"material",color:l,depthTest:!1,opacity:h,transparent:!0,side:un,fog:!0})]})};ua.defaultProps={size:1,opacity:.5,color:"#D8E6EA"};try{ua.displayName="Arrow",ua.__docgenInfo={description:"",displayName:"Arrow",props:{animated:{defaultValue:null,description:"",name:"animated",required:!1,type:{name:"boolean"}},color:{defaultValue:{value:"#D8E6EA"},description:"",name:"color",required:!1,type:{name:"ColorRepresentation"}},length:{defaultValue:null,description:"",name:"length",required:!0,type:{name:"number"}},opacity:{defaultValue:{value:"0.5"},description:"",name:"opacity",required:!1,type:{name:"number"}},position:{defaultValue:null,description:"",name:"position",required:!0,type:{name:"Vector3"}},rotation:{defaultValue:null,description:"",name:"rotation",required:!0,type:{name:"Vector3"}},size:{defaultValue:{value:"1"},description:"",name:"size",required:!1,type:{name:"number"}},onContextMenu:{defaultValue:null,description:"",name:"onContextMenu",required:!1,type:{name:"() => void"}},onActive:{defaultValue:null,description:"",name:"onActive",required:!1,type:{name:"(state: boolean) => void"}}}}}catch{}const la=({animated:t,color:e,curve:n,curved:r=!1,id:i,opacity:o,size:a,onContextMenu:s,onClick:u,onPointerOver:l,onPointerOut:c})=>{const f=C.useRef(null),d=pe(v=>v.draggingId),h=C.useMemo(()=>new _n(e),[e]),{lineOpacity:g}=Jt({from:{lineOpacity:0},to:{lineOpacity:o},config:{...Qt,duration:t?void 0:0}});return Jt(()=>{const v=n.getPoint(0),w=n.getPoint(1);return{from:{fromVertices:[0,0,0],toVertices:[0,0,0]},to:{fromVertices:[v==null?void 0:v.x,v==null?void 0:v.y,(v==null?void 0:v.z)||0],toVertices:[w==null?void 0:w.x,w==null?void 0:w.y,(w==null?void 0:w.z)||0]},onChange:m=>{const{fromVertices:p,toVertices:y}=m.value,_=new Ee(...p),b=new Ee(...y),T=Oi(_,0,b,0,r);f.current.copy(new Gs(T,20,a/2,5,!1))},config:{...Qt,duration:t&&!d?void 0:0}}},[t,d,n,a]),te.jsxs("mesh",{userData:{id:i,type:"edge"},onPointerOver:l,onPointerOut:c,onClick:u,onPointerDown:v=>{v.nativeEvent.buttons===2&&(v.stopPropagation(),s())},children:[te.jsx("tubeBufferGeometry",{attach:"geometry",ref:f}),te.jsx(gt.meshBasicMaterial,{attach:"material",opacity:g,fog:!0,transparent:!0,depthTest:!1,color:h})]})};la.defaultProps={color:"#000",size:1,opacity:1};try{la.displayName="Line",la.__docgenInfo={description:"",displayName:"Line",props:{animated:{defaultValue:null,description:"",name:"animated",required:!1,type:{name:"boolean"}},color:{defaultValue:{value:"#000"},description:"",name:"color",required:!1,type:{name:"ColorRepresentation"}},curved:{defaultValue:{value:"false"},description:"",name:"curved",required:!1,type:{name:"boolean"}},curve:{defaultValue:null,description:"",name:"curve",required:!0,type:{name:"Curve"}},id:{defaultValue:null,description:"",name:"id",required:!0,type:{name:"string"}},opacity:{defaultValue:{value:"1"},description:"",name:"opacity",required:!1,type:{name:"number"}},size:{defaultValue:{value:"1"},description:"",name:"size",required:!1,type:{name:"number"}},onClick:{defaultValue:null,description:"",name:"onClick",required:!1,type:{name:"() => void"}},onContextMenu:{defaultValue:null,description:"",name:"onContextMenu",required:!1,type:{name:"() => void"}},onPointerOver:{defaultValue:null,description:"",name:"onPointerOver",required:!1,type:{name:"(event: ThreeEvent) => void"}},onPointerOut:{defaultValue:null,description:"",name:"onPointerOut",required:!1,type:{name:"(event: ThreeEvent) => void"}}}}}catch{}const ca=6,fa=({animated:t,arrowPlacement:e,contextMenu:n,disabled:r,labelPlacement:i,id:o,interpolation:a,theme:s,onContextMenu:u,onClick:l,onPointerOver:c,onPointerOut:f})=>{const d=pe(P=>P.edges.find(j=>j.id===o)),{target:h,source:g,label:v,labelVisible:w=!1,size:m=1}=d,p=a==="curved",y=pe(P=>P.nodes.find(j=>j.id===g)),_=pe(P=>P.nodes.find(j=>j.id===h)),b=pe(P=>P.draggingId),[T,x]=C.useState(!1),[E,S]=C.useState(!1),U=(m+ca)/2,[D,O]=C.useMemo(()=>Pd(m),[m]),[k,M,N]=C.useMemo(()=>{const P=Ci(y),j=y.size,R=Ci(_),z=_.size;let q=Oi(P,j,R,z,p);const[ie,Q]=Md(e,q,D);return e==="end"&&(q=Oi(P,j,ie,0,p)),[q,ie,Q]},[p,y,_,e,D]),B=C.useMemo(()=>Ld(y.position,_.position,Od(U,i)),[y.position,_.position,U,i]),W=pe(P=>{var j;return(j=P.selections)==null?void 0:j.includes(o)}),J=pe(P=>{var j;return(j=P.selections)==null?void 0:j.length}),L=pe(P=>{var j;return(j=P.actives)==null?void 0:j.includes(o)}),V=J?W||L?s.edge.selectedOpacity:s.edge.inactiveOpacity:s.edge.opacity,[{labelPosition:A}]=Jt(()=>({from:{labelPosition:[0,0,0]},to:{labelPosition:[B.x,B.y,B.z]},config:{...Qt,duration:t&&!b?void 0:0}}),[B,t,b]),I=C.useMemo(()=>new Hf(0,0,i==="natural"?0:Math.atan((_.position.y-y.position.y)/(_.position.x-y.position.x))),[_.position.x,_.position.y,y.position.x,y.position.y,i]);Lo(T&&!b&&l!==void 0,"pointer");const{pointerOver:G,pointerOut:F}=gp({disabled:r,onPointerOver:()=>{x(!0),c==null||c(d)},onPointerOut:()=>{x(!1),f==null||f(d)}});return te.jsxs("group",{children:[te.jsx(la,{animated:t,color:W||T||L?s.edge.activeFill:s.edge.fill,curve:k,curved:p,id:o,opacity:V,size:m,onClick:()=>{r||l==null||l(d)},onPointerOver:G,onPointerOut:F,onContextMenu:()=>{r||(S(!0),u==null||u(d))}}),e!=="none"&&te.jsx(ua,{animated:t,color:W||T||L?s.arrow.activeFill:s.arrow.fill,length:D,opacity:V,position:M,rotation:N,size:O,onActive:x,onContextMenu:()=>{r||(S(!0),u==null||u(d))}}),w&&v&&te.jsx(gt.group,{position:A,rotation:I,children:te.jsx(Tr,{text:v,ellipsis:15,stroke:s.edge.label.stroke,color:W||T||L?s.edge.label.activeColor:s.edge.label.color,opacity:V,fontSize:ca})}),E&&n&&te.jsx(Gu,{prepend:!0,center:!0,children:n({data:d,onClose:()=>S(!1)})})]})};fa.defaultProps={labelPlacement:"inline",arrowPlacement:"end"};try{fa.displayName="Edge",fa.__docgenInfo={description:"",displayName:"Edge",props:{id:{defaultValue:null,description:"",name:"id",required:!0,type:{name:"string"}},theme:{defaultValue:null,description:"",name:"theme",required:!0,type:{name:"Theme"}},animated:{defaultValue:null,description:"",name:"animated",required:!1,type:{name:"boolean"}},disabled:{defaultValue:null,description:"",name:"disabled",required:!1,type:{name:"boolean"}},labelPlacement:{defaultValue:{value:"inline"},description:"",name:"labelPlacement",required:!1,type:{name:"enum",value:[{value:'"below"'},{value:'"above"'},{value:'"inline"'},{value:'"natural"'}]}},arrowPlacement:{defaultValue:{value:"end"},description:"",name:"arrowPlacement",required:!1,type:{name:"enum",value:[{value:'"none"'},{value:'"mid"'},{value:'"end"'}]}},interpolation:{defaultValue:null,description:"",name:"interpolation",required:!0,type:{name:"enum",value:[{value:'"linear"'},{value:'"curved"'}]}},contextMenu:{defaultValue:null,description:"",name:"contextMenu",required:!1,type:{name:"(event: Partial) => ReactNode"}},onClick:{defaultValue:null,description:"",name:"onClick",required:!1,type:{name:"(edge: InternalGraphEdge) => void"}},onContextMenu:{defaultValue:null,description:"",name:"onContextMenu",required:!1,type:{name:"(edge?: InternalGraphEdge) => void"}},onPointerOver:{defaultValue:null,description:"",name:"onPointerOver",required:!1,type:{name:"(edge: InternalGraphEdge) => void"}},onPointerOut:{defaultValue:null,description:"",name:"onPointerOut",required:!1,type:{name:"(edge: InternalGraphEdge) => void"}}}}}catch{}const Pf=new lg(0,0,0);function z2(t,e){const n=C.useRef();pe(s=>{n.current=s});const r=C.useRef(new Map),i=e==="curved",o=C.useCallback(s=>{const u=[],l=r.current,{nodes:c}=n.current;return s.forEach(f=>{const{target:d,source:h,size:g=1}=f,v=c.find(N=>N.id===h),w=c.find(N=>N.id===d);if(!v||!w)return;const m=`fromX:${v.position.x},fromY:${v.position.y},toX:${w.position.x}},toY:${w.position.y}`;if(l.has(m)){const N=l.get(m);u.push(N);return}const p=Ci(v),y=v.size+ca,_=Ci(w),b=w.size+ca;let T=Oi(p,y,_,b,i),x=new Gs(T,20,g/2,5,!1);if(t==="none"){u.push(x),l.set(m,x);return}const[E,S]=Pd(g),[U,D]=Md(t,T,E),O=new Wf;O.setFromUnitVectors(new Ee(0,1,0),D);const k=new cg(0,S,E,20,1,!0);if(k.applyQuaternion(O),k.translate(U.x,U.y,U.z),t&&t==="end"){const N=Oi(p,y,U,0,i);x=new Gs(N,20,g/2,5,!1)}const M=bo([x,k]);u.push(M),l.set(m,M)}),u},[t,i]),a=C.useCallback((s,u)=>{const l=o(s),c=o(u);return bo([c.length?bo(c):Pf,l.length?bo(l):Pf],!0)},[o]);return{getGeometries:o,getGeometry:a}}function N2(t,e,n){const{onClick:r,onContextMenu:i,onPointerOut:o,onPointerOver:a}=t,s=pe(g=>g.edgeContextMenus),u=pe(g=>g.setEdgeContextMenus),l=C.useRef(!1),c=C.useCallback(()=>{l.current=!0},[]),f=C.useRef(!1),d=C.useCallback(()=>{f.current=!0},[]),h=C.useCallback((g,v)=>{r&&l.current&&(l.current=!1,n||v.forEach(w=>{r(w)})),(e||i)&&f.current&&(f.current=!1,n||v.forEach(w=>{s.has(w.id)||(u(new Set([...s,w.id])),i==null||i(w))})),a&&v.filter(m=>!g.includes(m)).forEach(m=>{a(m)}),o&&g.filter(m=>!v.includes(m)).forEach(m=>{o(m)})},[e,n,s,u,r,i,a,o]);return{handleClick:c,handleContextMenu:d,handleIntersections:h}}function V2(t,e){const n=C.useRef(t);C.useEffect(()=>{n.current=t},[t]);const r=C.useCallback(()=>{const o=n.current.getAttribute("position"),a=Array.from({length:o.array.length}).fill(0),s=Array.from(o.array);return{from:a,to:s}},[]),i=C.useCallback(o=>{const a=new Float32Array(o),s=new $f(a,3,!1);n.current.setAttribute("position",s),s.needsUpdate=!0},[]);Jt(()=>{if(!e)return null;const o=r();return{from:{positions:o.from},to:{positions:o.to},onChange:a=>{i(a.value.positions)},config:{...Qt,duration:e?void 0:0}}},[e])}function B2(t,e,n){const[{activeOpacity:r,inactiveOpacity:i}]=Jt(()=>({from:{activeOpacity:0,inactiveOpacity:0},to:{activeOpacity:e?n.edge.selectedOpacity:n.edge.opacity,inactiveOpacity:e?n.edge.inactiveOpacity:n.edge.opacity},config:{...Qt,duration:t?void 0:0}}),[t,e,n]);return{activeOpacity:r,inactiveOpacity:i}}const Lf=6,da=({animated:t,color:e,contextMenu:n,edge:r,labelPlacement:i,opacity:o,theme:a})=>{const{target:s,source:u,label:l,labelVisible:c=!1,size:f=1}=r,d=pe(x=>x.nodes),h=d.find(x=>x.id===u),g=d.find(x=>x.id===s),v=pe(x=>x.draggingId),w=(f+Lf)/2,m=C.useMemo(()=>Ld(h.position,g.position,Od(w,i)),[h.position,g.position,w,i]),p=pe(x=>x.edgeContextMenus),y=pe(x=>x.setEdgeContextMenus),[{labelPosition:_}]=Jt(()=>({from:{labelPosition:[0,0,0]},to:{labelPosition:[m.x,m.y,m.z]},config:{...Qt,duration:t&&!v?void 0:0}}),[m,t,v]),b=C.useCallback(x=>{p.delete(x.id),y(new Set(p.values()))},[p,y]),T=C.useMemo(()=>new Hf(0,0,i==="natural"?0:Math.atan((g.position.y-h.position.y)/(g.position.x-h.position.x))),[g.position.x,g.position.y,h.position.x,h.position.y,i]);return te.jsxs("group",{children:[c&&l&&te.jsx(gt.group,{position:_,rotation:T,children:te.jsx(Tr,{text:l,ellipsis:15,stroke:a.edge.label.stroke,color:e,opacity:o,fontSize:Lf})}),n&&p.has(r.id)&&te.jsx(Gu,{prepend:!0,center:!0,position:m,children:n({data:r,onClose:()=>b(r)})})]})};da.defaultProps={labelPlacement:"inline"};try{da.displayName="Edge",da.__docgenInfo={description:"",displayName:"Edge",props:{animated:{defaultValue:null,description:"",name:"animated",required:!1,type:{name:"boolean"}},disabled:{defaultValue:null,description:"",name:"disabled",required:!1,type:{name:"boolean"}},color:{defaultValue:null,description:"",name:"color",required:!0,type:{name:"ColorRepresentation"}},contextMenu:{defaultValue:null,description:"",name:"contextMenu",required:!1,type:{name:"(event: Partial) => ReactNode"}},edge:{defaultValue:null,description:"",name:"edge",required:!0,type:{name:"InternalGraphEdge"}},labelPlacement:{defaultValue:{value:"inline"},description:"",name:"labelPlacement",required:!1,type:{name:"enum",value:[{value:'"below"'},{value:'"above"'},{value:'"inline"'},{value:'"natural"'}]}},opacity:{defaultValue:null,description:"",name:"opacity",required:!1,type:{name:"number"}},theme:{defaultValue:null,description:"",name:"theme",required:!0,type:{name:"Theme"}}}}}catch{}const cu=({animated:t,arrowPlacement:e="end",contextMenu:n,disabled:r,edges:i,interpolation:o="linear",labelPlacement:a="inline",theme:s,onClick:u,onContextMenu:l,onPointerOut:c,onPointerOver:f})=>{const{getGeometries:d,getGeometry:h}=z2(e,o),g=pe(L=>L.draggingId),v=pe(L=>L.edgeMeshes),w=pe(L=>L.setEdgeMeshes),m=pe(L=>L.actives||[]),p=pe(L=>L.selections||[]),[y,_,b,T]=C.useMemo(()=>{const L=[],V=[],A=[],I=[];return i.forEach(G=>{if(g===G.source||g===G.target){p.includes(G.id)||m.includes(G.id)?A.push(G):I.push(G);return}p.includes(G.id)||m.includes(G.id)?L.push(G):V.push(G)}),[L,V,A,I]},[i,m,p,g]),x=!!p.length,E=C.useMemo(()=>h(y,_),[h,y,_]),{activeOpacity:S,inactiveOpacity:U}=B2(t,x,s);V2(E,t),C.useEffect(()=>{if(g===null){const V=d(i).map(A=>new gr(A));w(V)}},[d,w,i,g]);const D=C.useRef(new gr),O=C.useRef(new gr),k=C.useCallback(L=>{if(!L.camera)return[];const V=L.intersectObjects(v);return V.length?V.map(A=>i[v.indexOf(A.object)]):[]},[v,i]),{handleClick:M,handleContextMenu:N,handleIntersections:B}=N2({onClick:u,onContextMenu:l,onPointerOut:c,onPointerOver:f},n,r),W=C.useRef(null),J=C.useRef([]);return va(L=>{if(D.current.geometry=E,r)return;const V=W.current;if((g||g===null&&V!==null)&&(O.current.geometry=h(b,T)),W.current=g,g)return;const A=J.current,I=k(L.raycaster);B(A,I),I.join()!==A.join()&&(O.current.geometry=h(I,[])),J.current=I}),te.jsxs("group",{onClick:M,onContextMenu:N,children:[te.jsxs("mesh",{ref:D,children:[te.jsx(gt.meshBasicMaterial,{attach:"material-0",color:s.edge.fill,depthTest:!1,fog:!0,opacity:U,side:un,transparent:!0}),te.jsx(gt.meshBasicMaterial,{attach:"material-1",color:s.edge.activeFill,depthTest:!1,fog:!0,opacity:S,side:un,transparent:!0})]}),te.jsxs("mesh",{ref:O,children:[te.jsx(gt.meshBasicMaterial,{attach:"material-0",color:s.edge.fill,depthTest:!1,fog:!0,opacity:U,side:un,transparent:!0}),te.jsx(gt.meshBasicMaterial,{attach:"material-1",color:s.edge.activeFill,depthTest:!1,fog:!0,opacity:S,side:un,transparent:!0})]}),i.map(L=>te.jsx(da,{animated:t,contextMenu:n,color:s.edge.label.color,disabled:r,edge:L,labelPlacement:a,theme:s},L.id))]})};try{cu.displayName="Edges",cu.__docgenInfo={description:`Three.js rendering starts to get slower if you have an individual mesh for each edge +and a high number of edges. + +Instead, we take the edges and split them into their different render states: + + * - Active (any edges that are marked as "selected" or "active" in the state) + * - Dragging (any edges that are connected to a node that is being dragged) + * - Intersecting (any edges that are currently intersected by the ray from the mouse position) + * - Inactive (any edges that aren't active, dragging, or intersected) + +We generate the geometry for each edge in each of these groups, and then merge them +into a single geometry for each group. This merged mesh is rendered as one object +which gives much better performance. This means that we only need to update geometry +and positions when edges move between the different states, rather than updating all +edges whenever any other edge changes. + +To get this all working, we have to do a few things outside the @react-three/fiber world, +specifically: + + * manually create edge/arrow geometries (see \`useEdgeGeometry\`) + * manually track mouse/edge interactions and fire events (see \`useEdgeEvents\`) + * manually update edge/arrow positions during aniamations (see \`useEdgeAnimations\`)`,displayName:"Edges",props:{animated:{defaultValue:null,description:"",name:"animated",required:!1,type:{name:"boolean"}},arrowPlacement:{defaultValue:{value:"end"},description:"",name:"arrowPlacement",required:!1,type:{name:"enum",value:[{value:'"none"'},{value:'"mid"'},{value:'"end"'}]}},contextMenu:{defaultValue:null,description:"",name:"contextMenu",required:!1,type:{name:"(event: Partial) => ReactNode"}},disabled:{defaultValue:null,description:"",name:"disabled",required:!1,type:{name:"boolean"}},edges:{defaultValue:null,description:"",name:"edges",required:!0,type:{name:"InternalGraphEdge[]"}},labelPlacement:{defaultValue:{value:"inline"},description:"",name:"labelPlacement",required:!1,type:{name:"enum",value:[{value:'"below"'},{value:'"above"'},{value:'"inline"'},{value:'"natural"'}]}},interpolation:{defaultValue:{value:"linear"},description:"",name:"interpolation",required:!1,type:{name:"enum",value:[{value:'"linear"'},{value:'"curved"'}]}},theme:{defaultValue:null,description:"",name:"theme",required:!0,type:{name:"Theme"}},onClick:{defaultValue:null,description:"",name:"onClick",required:!1,type:{name:"(edge: InternalGraphEdge) => void"}},onContextMenu:{defaultValue:null,description:"",name:"onContextMenu",required:!1,type:{name:"(edge?: InternalGraphEdge) => void"}},onPointerOver:{defaultValue:null,description:"",name:"onPointerOver",required:!1,type:{name:"(edge: InternalGraphEdge) => void"}},onPointerOut:{defaultValue:null,description:"",name:"onPointerOut",required:!1,type:{name:"(edge: InternalGraphEdge) => void"}}}}}catch{}const ha=C.forwardRef(({onNodeClick:t,onNodeContextMenu:e,onEdgeContextMenu:n,onEdgeClick:r,onEdgePointerOver:i,onEdgePointerOut:o,onNodePointerOver:a,onNodePointerOut:s,contextMenu:u,theme:l,animated:c,disabled:f,draggable:d,edgeLabelPosition:h,edgeArrowPosition:g,edgeInterpolation:v,labelFontUrl:w,renderNode:m,...p},y)=>{const{mounted:_}=k_(p),b=pe(D=>D.graph),T=pe(D=>D.nodes),x=pe(D=>D.edges),E=C.useMemo(()=>T.map(D=>D.id),[T]),S=C.useMemo(()=>x.map(D=>D.id),[x]),{centerNodesById:U}=Kb({animated:c});return C.useImperativeHandle(y,()=>({centerGraph:U,graph:b}),[U,b]),te.jsx(C.Fragment,{children:_&&te.jsxs(C.Fragment,{children:[E.map(D=>te.jsx(sa,{id:D,labelFontUrl:w,draggable:d,disabled:f,animated:c,theme:l,contextMenu:u,onClick:t,onContextMenu:e,onPointerOver:a,onPointerOut:s,renderNode:m},D)),c?S.map(D=>te.jsx(fa,{theme:l,id:D,disabled:f,animated:c,labelPlacement:h,arrowPlacement:g,interpolation:v,contextMenu:u,onClick:r,onContextMenu:n,onPointerOver:i,onPointerOut:o},D)):te.jsx(cu,{theme:l,edges:x,disabled:f,animated:c,labelPlacement:h,arrowPlacement:g,interpolation:v,contextMenu:u,onClick:r,onContextMenu:n,onPointerOver:i,onPointerOut:o})]})})});ha.defaultProps={edgeInterpolation:"linear"};try{ha.displayName="GraphScene",ha.__docgenInfo={description:"",displayName:"GraphScene",props:{theme:{defaultValue:null,description:"Theme to use for the graph.",name:"theme",required:!0,type:{name:"Theme"}},layoutType:{defaultValue:null,description:"Type of layout.",name:"layoutType",required:!1,type:{name:"enum",value:[{value:'"forceDirected2d"'},{value:'"forceDirected3d"'},{value:'"circular2d"'},{value:'"treeTd2d"'},{value:'"treeTd3d"'},{value:'"treeLr2d"'},{value:'"treeLr3d"'},{value:'"radialOut2d"'},{value:'"radialOut3d"'},{value:'"hierarchicalTd"'},{value:'"hierarchicalLr"'},{value:'"nooverlap"'},{value:'"forceatlas2"'}]}},selections:{defaultValue:null,description:"List of ids that are selected.",name:"selections",required:!1,type:{name:"string[]"}},actives:{defaultValue:null,description:"List of ids that are active.",name:"actives",required:!1,type:{name:"string[]"}},collapsedNodeIds:{defaultValue:null,description:"List of node ids that are collapsed.",name:"collapsedNodeIds",required:!1,type:{name:"string[]"}},animated:{defaultValue:null,description:"Animate or not the graph positions.",name:"animated",required:!1,type:{name:"boolean"}},nodes:{defaultValue:null,description:"Nodes to pass to the graph.",name:"nodes",required:!0,type:{name:"GraphNode[]"}},edges:{defaultValue:null,description:"Edges to pass to the graph.",name:"edges",required:!0,type:{name:"GraphEdge[]"}},contextMenu:{defaultValue:null,description:"Context menu element.",name:"contextMenu",required:!1,type:{name:"(event: ContextMenuEvent) => ReactNode"}},sizingType:{defaultValue:null,description:"Type of sizing for nodes.",name:"sizingType",required:!1,type:{name:"enum",value:[{value:'"none"'},{value:'"pagerank"'},{value:'"centrality"'},{value:'"attribute"'}]}},labelType:{defaultValue:null,description:"Type of visibility for labels.",name:"labelType",required:!1,type:{name:"enum",value:[{value:'"nodes"'},{value:'"edges"'},{value:'"none"'},{value:'"all"'},{value:'"auto"'}]}},edgeLabelPosition:{defaultValue:null,description:"Place of visibility for edge labels.",name:"edgeLabelPosition",required:!1,type:{name:"enum",value:[{value:'"below"'},{value:'"above"'},{value:'"inline"'},{value:'"natural"'}]}},edgeArrowPosition:{defaultValue:null,description:"Placement of edge arrows.",name:"edgeArrowPosition",required:!1,type:{name:"enum",value:[{value:'"none"'},{value:'"mid"'},{value:'"end"'}]}},edgeInterpolation:{defaultValue:{value:"linear"},description:"Shape of edge.",name:"edgeInterpolation",required:!1,type:{name:"enum",value:[{value:'"linear"'},{value:'"curved"'}]}},labelFontUrl:{defaultValue:null,description:`Font of label, same as troika-three-text +The URL of a custom font file to be used. Supported font formats are: * .ttf * .otf * .woff (.woff2 is not supported) +Default: The Roboto font loaded from Google Fonts CDN`,name:"labelFontUrl",required:!1,type:{name:"string"}},sizingAttribute:{defaultValue:null,description:"Attribute based sizing property.",name:"sizingAttribute",required:!1,type:{name:"string"}},defaultNodeSize:{defaultValue:null,description:"The default size to size nodes to. Default is 7.",name:"defaultNodeSize",required:!1,type:{name:"number"}},minNodeSize:{defaultValue:null,description:"When using sizing attributes, the min size a node can be.",name:"minNodeSize",required:!1,type:{name:"number"}},maxNodeSize:{defaultValue:null,description:"When using sizing attributes, the max size a node can be.",name:"maxNodeSize",required:!1,type:{name:"number"}},clusterAttribute:{defaultValue:null,description:"Attribute used for clustering.",name:"clusterAttribute",required:!1,type:{name:"string"}},disabled:{defaultValue:null,description:"Disable interactions or not.",name:"disabled",required:!1,type:{name:"boolean"}},draggable:{defaultValue:null,description:"Allow dragging of nodes.",name:"draggable",required:!1,type:{name:"boolean"}},renderNode:{defaultValue:null,description:"Render a custom node",name:"renderNode",required:!1,type:{name:"NodeRenderer"}},layoutOverrides:{defaultValue:null,description:"Advanced overrides for the layout.",name:"layoutOverrides",required:!1,type:{name:"LayoutOverrides"}},onNodeClick:{defaultValue:null,description:"When a node was clicked.",name:"onNodeClick",required:!1,type:{name:"(node: InternalGraphNode, props?: CollapseProps) => void"}},onNodeContextMenu:{defaultValue:null,description:"When a node context menu happened.",name:"onNodeContextMenu",required:!1,type:{name:"(node: InternalGraphNode, props?: NodeContextMenuProps) => void"}},onNodePointerOver:{defaultValue:null,description:"When node got a pointer over.",name:"onNodePointerOver",required:!1,type:{name:"(node: InternalGraphNode) => void"}},onNodePointerOut:{defaultValue:null,description:"When node lost pointer over.",name:"onNodePointerOut",required:!1,type:{name:"(node: InternalGraphNode) => void"}},onEdgeContextMenu:{defaultValue:null,description:"When a edge context menu happened.",name:"onEdgeContextMenu",required:!1,type:{name:"(edge?: InternalGraphEdge) => void"}},onEdgeClick:{defaultValue:null,description:"When an edge was clicked.",name:"onEdgeClick",required:!1,type:{name:"(edge: InternalGraphEdge) => void"}},onEdgePointerOver:{defaultValue:null,description:"When edge got a pointer over.",name:"onEdgePointerOver",required:!1,type:{name:"(edge: InternalGraphEdge) => void"}},onEdgePointerOut:{defaultValue:null,description:"When edge lost pointer over.",name:"onEdgePointerOut",required:!1,type:{name:"(edge: InternalGraphEdge) => void"}},ref:{defaultValue:null,description:"",name:"ref",required:!1,type:{name:"Ref"}}}}}catch{}const $2={canvas:{background:"#fff"},node:{fill:"#7CA0AB",activeFill:"#1DE9AC",opacity:1,selectedOpacity:1,inactiveOpacity:.2,label:{color:"#2A6475",stroke:"#fff",activeColor:"#1DE9AC"}},lasso:{border:"1px solid #55aaff",background:"rgba(75, 160, 255, 0.1)"},ring:{fill:"#D8E6EA",activeFill:"#1DE9AC"},edge:{fill:"#D8E6EA",activeFill:"#1DE9AC",opacity:1,selectedOpacity:1,inactiveOpacity:.1,label:{stroke:"#fff",color:"#2A6475",activeColor:"#1DE9AC"}},arrow:{fill:"#D8E6EA",activeFill:"#1DE9AC"}};function Nx(t,e,n){e=Array.isArray(e)?e:[e];const r=[],i=[];for(const o of e){const a=[...t.inEdgeEntries(o)??[],...t.outEdgeEntries(o)??[]];if(a)for(const s of a){const u=s.attributes.id;if(n==="in"?s.target===o&&!i.includes(u)&&i.push(u):n==="out"?s.source===o&&!i.includes(u)&&i.push(u):i.includes(u)||i.push(u),n==="out"||n==="all"){const l=s.target;r.includes(l)||r.push(l)}(n==="in"||n==="all")&&(r.includes(s.source)||r.push(s.source))}}return{nodes:r,edges:i}}function Do(t,e,n){const{offsetX:r,offsetY:i}=t,{width:o,height:a}=n;e.set(r/o*2-1,-(i/a)*2+1)}function j2(t){const e=document.createElement("div");return e.style.pointerEvents="none",e.style.border=t.lasso.border,e.style.backgroundColor=t.lasso.background,e.style.position="fixed",e}const fu=({children:t,theme:e,type:n="none",onLasso:r,onLassoEnd:i,disabled:o})=>{var O;const a=at(k=>k.camera),s=at(k=>k.gl),u=at(k=>k.setEvents),l=at(k=>k.size),c=at(k=>k.get),f=at(k=>k.scene),d=tl(),h=pe(k=>k.actives),g=pe(k=>k.setActives),v=pe(k=>k.edges),w=pe(k=>k.edgeMeshes),m=C.useRef(!1),p=C.useRef(null),y=C.useRef(null),_=C.useRef(j2(e)),b=C.useRef(null),T=C.useRef(!1),x=C.useRef(c().events.enabled),E=C.useRef((O=d.controls)==null?void 0:O.enabled);C.useEffect(()=>{m.current&&(r==null||r(h)),m.current=!0},[h,r]);const S=C.useCallback(k=>{if(T.current){const[M,N,B]=b.current;B.x=Math.max(M.x,k.clientX),B.y=Math.max(M.y,k.clientY),N.x=Math.min(M.x,k.clientX),N.y=Math.min(M.y,k.clientY),_.current.style.left=`${N.x}px`,_.current.style.top=`${N.y}px`,_.current.style.width=`${B.x-N.x}px`,_.current.style.height=`${B.y-N.y}px`,Do(k,p.current.endPoint,l),Do(k,y.current.endPoint,l);const W=[],J=y.current.select().sort(V=>V.uuid).map(V=>v[w.indexOf(V)].id);W.push(...J);const L=p.current.select().sort(V=>V.uuid).filter(V=>{var A,I;return V.isMesh&&((A=V.userData)==null?void 0:A.id)&&(((I=V.userData)==null?void 0:I.type)===n||n==="all")}).map(V=>V.userData.id);W.push(...L),requestAnimationFrame(()=>{g(W)}),document.addEventListener("pointermove",S,{passive:!0,capture:!0,once:!0})}},[v,w,g,l,n]),U=C.useCallback(()=>{var k;T.current&&(u({enabled:x.current}),T.current=!1,(k=_.current.parentElement)==null||k.removeChild(_.current),d.controls.enabled=E.current,i==null||i(h),document.removeEventListener("pointermove",S),document.removeEventListener("pointerup",U))},[u,d.controls,i,h,S]),D=C.useCallback(k=>{var M,N;if(k.shiftKey){x.current=c().events.enabled,E.current=(M=d.controls)==null?void 0:M.enabled,p.current=new Oc(a,f);const B=new fg;w.length&&B.add(...w),y.current=new Oc(a,B),b.current=[new mn,new mn,new mn];const[W]=b.current;d.controls.enabled=!1,u({enabled:!1}),T.current=!0,(N=s.domElement.parentElement)==null||N.appendChild(_.current),_.current.style.left=`${k.clientX}px`,_.current.style.top=`${k.clientY}px`,_.current.style.width="0px",_.current.style.height="0px",W.x=k.clientX,W.y=k.clientY,Do(k,p.current.startPoint,l),Do(k,y.current.startPoint,l),document.addEventListener("pointermove",S,{passive:!0,capture:!0,once:!0}),document.addEventListener("pointerup",U,{passive:!0})}},[a,d.controls,w,c,s.domElement.parentElement,S,U,f,u,l]);return C.useEffect(()=>{if(!(o||n==="none"))return document.addEventListener("pointerdown",D,{passive:!0}),document.addEventListener("pointermove",S,{passive:!0}),document.addEventListener("pointerup",U,{passive:!0}),()=>{document.removeEventListener("pointerdown",D),document.removeEventListener("pointermove",S),document.removeEventListener("pointerup",U)}},[n,o,D,S,U]),te.jsx("group",{children:t})};try{fu.displayName="Lasso",fu.__docgenInfo={description:"",displayName:"Lasso",props:{theme:{defaultValue:null,description:"",name:"theme",required:!0,type:{name:"Theme"}},disabled:{defaultValue:null,description:"",name:"disabled",required:!1,type:{name:"boolean"}},type:{defaultValue:{value:"none"},description:"",name:"type",required:!1,type:{name:"enum",value:[{value:'"none"'},{value:'"all"'},{value:'"node"'},{value:'"edge"'}]}},onLasso:{defaultValue:null,description:"",name:"onLasso",required:!1,type:{name:"(selections: string[]) => void"}},onLassoEnd:{defaultValue:null,description:"",name:"onLassoEnd",required:!1,type:{name:"(selections: string[]) => void"}}}}}catch{}var Lr={},mp=Ea,q2=mp.ARRAY_BUFFER_SUPPORT,W2=mp.SYMBOL_SUPPORT,il=function(e,n){var r,i,o,a,s;if(!e)throw new Error("obliterator/forEach: invalid iterable.");if(typeof n!="function")throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(e)||q2&&ArrayBuffer.isView(e)||typeof e=="string"||e.toString()==="[object Arguments]"){for(o=0,a=e.length;o=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,t}};nt.prototype.peek=function(){if(this.size)return this.items[this.offset]};nt.prototype.forEach=function(t,e){e=arguments.length>1?e:this;for(var n=this.offset,r=0,i=this.items.length;n=t.length)return{done:!0};var n=t[e];return e++,{value:n,done:!1}})};nt.prototype.entries=function(){var t=this.items,e=this.offset,n=0;return new vp(function(){if(e>=t.length)return{done:!0};var r=t[e];return e++,{value:[n++,r],done:!1}})};typeof Symbol<"u"&&(nt.prototype[Symbol.iterator]=nt.prototype.values);nt.prototype.toString=function(){return this.toArray().join(",")};nt.prototype.toJSON=function(){return this.toArray()};nt.prototype.inspect=function(){var t=this.toArray();return Object.defineProperty(t,"constructor",{value:nt,enumerable:!1}),t};typeof Symbol<"u"&&(nt.prototype[Symbol.for("nodejs.util.inspect.custom")]=nt.prototype.inspect);nt.from=function(t){var e=new nt;return H2(t,function(n){e.enqueue(n)}),e};nt.of=function(){return nt.from(arguments)};var Y2=nt,K2=function(e,n){var r=n.length;if(r!==0){var i=e.length;e.length+=r;for(var o=0;oe?1:0},ix=function(t,e){return te?-1:0};function ox(t){return function(e,n){return t(n,e)}}function ax(t){return t===2?function(e,n){return e[0]n[0]?1:e[1]n[1]?1:0}:function(e,n){for(var r=0;rn[r])return 1;r++}return 0}}Wi.DEFAULT_COMPARATOR=rx;Wi.DEFAULT_REVERSE_COMPARATOR=ix;Wi.reverseComparator=ox;Wi.createTupleComparator=ax;var Hi={},_p=il,wp=Ou;function sx(t){return Array.isArray(t)||wp.isTypedArray(t)}function sl(t){if(typeof t.length=="number")return t.length;if(typeof t.size=="number")return t.size}function ux(t){var e=sl(t),n=typeof e=="number"?new Array(e):[],r=0;return _p(t,function(i){n[r++]=i}),n}function lx(t){var e=sl(t),n=typeof e=="number"?wp.getPointerArray(e):Array,r=typeof e=="number"?new Array(e):[],i=typeof e=="number"?new n(e):[],o=0;return _p(t,function(a){r[o]=a,i[o]=o++}),[r,i]}Hi.isArrayLike=sx;Hi.guessLength=sl;Hi.toArray=ux;Hi.toArrayWithIndices=lx;var pa=il,bp=Wi,cn=Hi,za=bp.DEFAULT_COMPARATOR,ul=bp.reverseComparator;function ll(t,e,n,r){for(var i=e[r],o,a;r>n;){if(o=r-1>>1,a=e[o],t(i,a)<0){e[r]=a,r=o;continue}break}e[r]=i}function Yi(t,e,n){for(var r=e.length,i=n,o=e[n],a=2*n+1,s;a=0&&(a=s),e[n]=e[a],n=a,a=2*n+1;e[n]=o,ll(t,e,i,n)}function xp(t,e,n){e.push(n),ll(t,e,0,e.length-1)}function cl(t,e){var n=e.pop();if(e.length!==0){var r=e[0];return e[0]=n,Yi(t,e,0),r}return n}function Or(t,e,n){if(e.length===0)throw new Error("mnemonist/heap.replace: cannot pop an empty heap.");var r=e[0];return e[0]=n,Yi(t,e,0),r}function Ep(t,e,n){var r;return e.length!==0&&t(e[0],n)<0&&(r=e[0],e[0]=n,n=r,Yi(t,e,0)),n}function Qn(t,e){for(var n=e.length,r=n>>1,i=r;--i>=0;)Yi(t,e,i)}function fl(t,e){for(var n=e.length,r=0,i=new Array(n);r=n.length)return n.slice().sort(t);for(u=n.slice(0,e),Qn(r,u),i=e,o=n.length;i0&&Or(r,u,n[i]);return u.sort(t)}var l=cn.guessLength(n);return l!==null&&l0&&Or(r,u,c)),i++}),u.length>i&&(u.length=i),u.sort(t)}function fx(t,e,n){arguments.length===2&&(n=e,e=t,t=za);var r=ul(t),i,o,a,s=-1/0,u;if(e===1){if(cn.isArrayLike(n)){for(i=0,o=n.length;i0)&&(s=a);return u=new n.constructor(1),u[0]=s,u}return pa(n,function(c){(s===-1/0||t(c,s)>0)&&(s=c)}),[s]}if(cn.isArrayLike(n)){if(e>=n.length)return n.slice().sort(r);for(u=n.slice(0,e),Qn(t,u),i=e,o=n.length;i0&&Or(t,u,n[i]);return u.sort(r)}var l=cn.guessLength(n);return l!==null&&l0&&Or(t,u,c)),i++}),u.length>i&&(u.length=i),u.sort(r)}function Ge(t){if(this.clear(),this.comparator=t||za,typeof this.comparator!="function")throw new Error("mnemonist/Heap.constructor: given comparator should be a function.")}Ge.prototype.clear=function(){this.items=[],this.size=0};Ge.prototype.push=function(t){return xp(this.comparator,this.items,t),++this.size};Ge.prototype.peek=function(){return this.items[0]};Ge.prototype.pop=function(){return this.size!==0&&this.size--,cl(this.comparator,this.items)};Ge.prototype.replace=function(t){return Or(this.comparator,this.items,t)};Ge.prototype.pushpop=function(t){return Ep(this.comparator,this.items,t)};Ge.prototype.consume=function(){return this.size=0,fl(this.comparator,this.items)};Ge.prototype.toArray=function(){return fl(this.comparator,this.items.slice())};Ge.prototype.inspect=function(){var t=this.toArray();return Object.defineProperty(t,"constructor",{value:Ge,enumerable:!1}),t};typeof Symbol<"u"&&(Ge.prototype[Symbol.for("nodejs.util.inspect.custom")]=Ge.prototype.inspect);function ga(t){if(this.clear(),this.comparator=t||za,typeof this.comparator!="function")throw new Error("mnemonist/MaxHeap.constructor: given comparator should be a function.");this.comparator=ul(this.comparator)}ga.prototype=Ge.prototype;Ge.from=function(t,e){var n=new Ge(e),r;return cn.isArrayLike(t)?r=t.slice():r=cn.toArray(t),Qn(n.comparator,r),n.items=r,n.size=r.length,n};ga.from=function(t,e){var n=new ga(e),r;return cn.isArrayLike(t)?r=t.slice():r=cn.toArray(t),Qn(n.comparator,r),n.items=r,n.size=r.length,n};Ge.siftUp=Yi;Ge.siftDown=ll;Ge.push=xp;Ge.pop=cl;Ge.replace=Or;Ge.pushpop=Ep;Ge.heapify=Qn;Ge.consume=fl;Ge.nsmallest=cx;Ge.nlargest=fx;Ge.MinHeap=Ge;Ge.MaxHeap=ga;var dx=Ge,Tp=Gn,dl=kr.createEdgeWeightGetter,ma=dx,hl="weight";function du(t,e){return t[0]>e[0]?1:t[0]e[1]?1:t[1]e[2]?1:t[2]e[0]?1:t[0]e[1]?1:t[1]e[2]?1:t[2]e[3]?1:t[3]v)&&(l=v,u=o[0][m].concat(o[1][m].slice(0,-1).reverse()))))}}return[1/0,null]}function gx(t,e,n,r,i,o){if(!Tp(t))throw new Error("graphology-shortest-path/dijkstra: invalid graphology instance.");if(i&&!t.hasNode(i))throw new Error('graphology-shortest-path/dijkstra: the "'+i+'" target node does not exist in the given graph.');n=dl(n||hl).fromMinimalEntry;var a={},s={},u=new ma(du),l=0,c,f,d,h,g,v,w,m,p,y,_;for(m=0,y=e.length;mr)){if(g in a&&d{const d=C.useRef(null),h=C.useRef(null);C.useImperativeHandle(f,()=>({centerGraph:p=>{var y;return(y=d.current)==null?void 0:y.centerGraph(p)},zoomIn:()=>{var p;return(p=h.current)==null?void 0:p.zoomIn()},zoomOut:()=>{var p;return(p=h.current)==null?void 0:p.zoomOut()},panLeft:()=>{var p;return(p=h.current)==null?void 0:p.panLeft()},panRight:()=>{var p;return(p=h.current)==null?void 0:p.panRight()},panDown:()=>{var p;return(p=h.current)==null?void 0:p.panDown()},panUp:()=>{var p;return(p=h.current)==null?void 0:p.panUp()},getControls:()=>{var p;return(p=h.current)==null?void 0:p.controls},getGraph:()=>{var p;return(p=d.current)==null?void 0:p.graph}}));const{selections:g,actives:v,collapsedNodeIds:w}=c,m=e.length+n.length>400?!1:o;return te.jsx("div",{className:wx.canvas,children:te.jsx(Eg,{legacy:!0,linear:!0,flat:!0,gl:bx,camera:xx,onPointerMissed:i,children:te.jsxs(S_,{createStore:()=>A_({selections:g,actives:v,collapsedNodeIds:w}),children:[te.jsx("color",{attach:"background",args:[r.canvas.background]}),te.jsx("ambientLight",{intensity:1}),r.canvas.fog&&te.jsx("fog",{attach:"fog",args:[r.canvas.fog,4e3,9e3]}),te.jsx(ra,{mode:t,ref:h,animated:o,disabled:a,children:te.jsx(fu,{theme:r,disabled:a,type:s,onLasso:u,onLassoEnd:l,children:te.jsx(C.Suspense,{children:te.jsx(ha,{ref:d,theme:r,disabled:a,animated:m,edges:e,nodes:n,...c})})})})]})})})});hu.defaultProps={cameraMode:"pan",layoutType:"forceDirected2d",sizingType:"none",labelType:"auto",theme:$2,animated:!0,defaultNodeSize:7,minNodeSize:5,maxNodeSize:15,lassoType:"none"};try{hu.displayName="GraphCanvas",hu.__docgenInfo={description:"",displayName:"GraphCanvas",props:{theme:{defaultValue:{value:`{ + canvas: { + background: '#fff' + }, + node: { + fill: '#7CA0AB', + activeFill: '#1DE9AC', + opacity: 1, + selectedOpacity: 1, + inactiveOpacity: 0.2, + label: { + color: '#2A6475', + stroke: '#fff', + activeColor: '#1DE9AC' + } + }, + lasso: { + border: '1px solid #55aaff', + background: 'rgba(75, 160, 255, 0.1)' + }, + ring: { + fill: '#D8E6EA', + activeFill: '#1DE9AC' + }, + edge: { + fill: '#D8E6EA', + activeFill: '#1DE9AC', + opacity: 1, + selectedOpacity: 1, + inactiveOpacity: 0.1, + label: { + stroke: '#fff', + color: '#2A6475', + activeColor: '#1DE9AC' + } + }, + arrow: { + fill: '#D8E6EA', + activeFill: '#1DE9AC' + } +}`},description:"Theme to use for the graph.",name:"theme",required:!1,type:{name:"Theme"}},cameraMode:{defaultValue:{value:"pan"},description:"Type of camera interaction.",name:"cameraMode",required:!1,type:{name:"enum",value:[{value:'"pan"'},{value:'"rotate"'},{value:'"orbit"'}]}},onCanvasClick:{defaultValue:null,description:"When the canvas was clicked but didn't hit a node/edge.",name:"onCanvasClick",required:!1,type:{name:"(event: MouseEvent) => void"}},lassoType:{defaultValue:{value:"none"},description:"The type of lasso selection.",name:"lassoType",required:!1,type:{name:"enum",value:[{value:'"none"'},{value:'"all"'},{value:'"node"'},{value:'"edge"'}]}},onLasso:{defaultValue:null,description:"When the canvas had a lasso selection.",name:"onLasso",required:!1,type:{name:"(selections: string[]) => void"}},onLassoEnd:{defaultValue:null,description:"When the canvas had a lasso selection end.",name:"onLassoEnd",required:!1,type:{name:"(selections: string[]) => void"}},layoutType:{defaultValue:{value:"forceDirected2d"},description:"Type of layout.",name:"layoutType",required:!1,type:{name:"enum",value:[{value:'"forceDirected2d"'},{value:'"forceDirected3d"'},{value:'"circular2d"'},{value:'"treeTd2d"'},{value:'"treeTd3d"'},{value:'"treeLr2d"'},{value:'"treeLr3d"'},{value:'"radialOut2d"'},{value:'"radialOut3d"'},{value:'"hierarchicalTd"'},{value:'"hierarchicalLr"'},{value:'"nooverlap"'},{value:'"forceatlas2"'}]}},selections:{defaultValue:null,description:"List of ids that are selected.",name:"selections",required:!1,type:{name:"string[]"}},actives:{defaultValue:null,description:"List of ids that are active.",name:"actives",required:!1,type:{name:"string[]"}},collapsedNodeIds:{defaultValue:null,description:"List of node ids that are collapsed.",name:"collapsedNodeIds",required:!1,type:{name:"string[]"}},animated:{defaultValue:{value:"true"},description:"Animate or not the graph positions.",name:"animated",required:!1,type:{name:"boolean"}},nodes:{defaultValue:null,description:"Nodes to pass to the graph.",name:"nodes",required:!0,type:{name:"GraphNode[]"}},edges:{defaultValue:null,description:"Edges to pass to the graph.",name:"edges",required:!0,type:{name:"GraphEdge[]"}},contextMenu:{defaultValue:null,description:"Context menu element.",name:"contextMenu",required:!1,type:{name:"(event: ContextMenuEvent) => ReactNode"}},sizingType:{defaultValue:{value:"none"},description:"Type of sizing for nodes.",name:"sizingType",required:!1,type:{name:"enum",value:[{value:'"none"'},{value:'"pagerank"'},{value:'"centrality"'},{value:'"attribute"'}]}},labelType:{defaultValue:{value:"auto"},description:"Type of visibility for labels.",name:"labelType",required:!1,type:{name:"enum",value:[{value:'"nodes"'},{value:'"edges"'},{value:'"none"'},{value:'"all"'},{value:'"auto"'}]}},edgeLabelPosition:{defaultValue:null,description:"Place of visibility for edge labels.",name:"edgeLabelPosition",required:!1,type:{name:"enum",value:[{value:'"below"'},{value:'"above"'},{value:'"inline"'},{value:'"natural"'}]}},edgeArrowPosition:{defaultValue:null,description:"Placement of edge arrows.",name:"edgeArrowPosition",required:!1,type:{name:"enum",value:[{value:'"none"'},{value:'"mid"'},{value:'"end"'}]}},edgeInterpolation:{defaultValue:null,description:"Shape of edge.",name:"edgeInterpolation",required:!1,type:{name:"enum",value:[{value:'"linear"'},{value:'"curved"'}]}},labelFontUrl:{defaultValue:null,description:`Font of label, same as troika-three-text +The URL of a custom font file to be used. Supported font formats are: * .ttf * .otf * .woff (.woff2 is not supported) +Default: The Roboto font loaded from Google Fonts CDN`,name:"labelFontUrl",required:!1,type:{name:"string"}},sizingAttribute:{defaultValue:null,description:"Attribute based sizing property.",name:"sizingAttribute",required:!1,type:{name:"string"}},defaultNodeSize:{defaultValue:{value:"7"},description:"The default size to size nodes to. Default is 7.",name:"defaultNodeSize",required:!1,type:{name:"number"}},minNodeSize:{defaultValue:{value:"5"},description:"When using sizing attributes, the min size a node can be.",name:"minNodeSize",required:!1,type:{name:"number"}},maxNodeSize:{defaultValue:{value:"15"},description:"When using sizing attributes, the max size a node can be.",name:"maxNodeSize",required:!1,type:{name:"number"}},clusterAttribute:{defaultValue:null,description:"Attribute used for clustering.",name:"clusterAttribute",required:!1,type:{name:"string"}},disabled:{defaultValue:null,description:"Disable interactions or not.",name:"disabled",required:!1,type:{name:"boolean"}},draggable:{defaultValue:null,description:"Allow dragging of nodes.",name:"draggable",required:!1,type:{name:"boolean"}},renderNode:{defaultValue:null,description:"Render a custom node",name:"renderNode",required:!1,type:{name:"NodeRenderer"}},layoutOverrides:{defaultValue:null,description:"Advanced overrides for the layout.",name:"layoutOverrides",required:!1,type:{name:"LayoutOverrides"}},onNodeClick:{defaultValue:null,description:"When a node was clicked.",name:"onNodeClick",required:!1,type:{name:"(node: InternalGraphNode, props?: CollapseProps) => void"}},onNodeContextMenu:{defaultValue:null,description:"When a node context menu happened.",name:"onNodeContextMenu",required:!1,type:{name:"(node: InternalGraphNode, props?: NodeContextMenuProps) => void"}},onNodePointerOver:{defaultValue:null,description:"When node got a pointer over.",name:"onNodePointerOver",required:!1,type:{name:"(node: InternalGraphNode) => void"}},onNodePointerOut:{defaultValue:null,description:"When node lost pointer over.",name:"onNodePointerOut",required:!1,type:{name:"(node: InternalGraphNode) => void"}},onEdgeContextMenu:{defaultValue:null,description:"When a edge context menu happened.",name:"onEdgeContextMenu",required:!1,type:{name:"(edge?: InternalGraphEdge) => void"}},onEdgeClick:{defaultValue:null,description:"When an edge was clicked.",name:"onEdgeClick",required:!1,type:{name:"(edge: InternalGraphEdge) => void"}},onEdgePointerOver:{defaultValue:null,description:"When edge got a pointer over.",name:"onEdgePointerOver",required:!1,type:{name:"(edge: InternalGraphEdge) => void"}},onEdgePointerOut:{defaultValue:null,description:"When edge lost pointer over.",name:"onEdgePointerOut",required:!1,type:{name:"(edge: InternalGraphEdge) => void"}},ref:{defaultValue:null,description:"",name:"ref",required:!1,type:{name:"Ref"}}}}}catch{}var Sp={exports:{}};/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var r=[],i=0;ite.jsx("div",{role:"menuitem",className:Ap(di.container,a,{[di.disabled]:c}),style:{width:e>90?"100%":"50%",height:e>90?"100%":"50%",bottom:e>90?"50%":"initial",right:e>90?"50%":"initial",transform:`rotate(${n+r}deg) skew(${l}deg)`},onClick:d=>{c||f(d)},children:te.jsx("div",{className:di.contentContainer,style:{transform:`skew(${-l}deg) rotate(${(i?90:e)/2-90}deg)`},children:te.jsx("div",{className:di.contentInner,style:{top:`calc((((${e>90?"50% + ":""}${o}px) - ${u}px) / 2) - 4em)`},children:te.jsxs("div",{className:di.content,style:{transform:`rotate(${-r}deg)`},title:t,children:[s,t]})})})});try{pu.displayName="RadialSlice",pu.__docgenInfo={description:"",displayName:"RadialSlice",props:{startAngle:{defaultValue:null,description:"",name:"startAngle",required:!0,type:{name:"number"}},endAngle:{defaultValue:null,description:"",name:"endAngle",required:!0,type:{name:"number"}},skew:{defaultValue:null,description:"",name:"skew",required:!0,type:{name:"number"}},polar:{defaultValue:null,description:"",name:"polar",required:!0,type:{name:"boolean"}},centralAngle:{defaultValue:null,description:"",name:"centralAngle",required:!0,type:{name:"number"}},radius:{defaultValue:null,description:"",name:"radius",required:!0,type:{name:"number"}},innerRadius:{defaultValue:null,description:"",name:"innerRadius",required:!0,type:{name:"number"}},label:{defaultValue:null,description:"Label to display on the menu item.",name:"label",required:!0,type:{name:"string"}},className:{defaultValue:null,description:"CSS Classname to apply to the slice.",name:"className",required:!1,type:{name:"string"}},icon:{defaultValue:null,description:"Optional icon to display on the menu item.",name:"icon",required:!1,type:{name:"ReactNode"}},disabled:{defaultValue:null,description:"Optional callback to detemine if the menu item is active.",name:"disabled",required:!1,type:{name:"boolean"}},onClick:{defaultValue:null,description:"Optional callback to handle when the menu item is clicked.",name:"onClick",required:!1,type:{name:"(event: MouseEvent) => void"}}}}}catch{}function kx(t,e){const n=360/t.length||360,r=n%180===0,i=90-n,o=r?45:e+i+n/2;return{centralAngle:n,polar:r,startAngle:o,deltaAngle:i}}const Dx="_container_x9hyx_1",Ux={container:Dx},gu=({items:t,radius:e,className:n,innerRadius:r,startOffsetAngle:i,onClose:o})=>{const{centralAngle:a,polar:s,startAngle:u,deltaAngle:l}=C.useMemo(()=>kx(t,i),[t,i]),c=C.useRef(null);return C.useLayoutEffect(()=>{const f=c.current;return()=>clearTimeout(f)},[]),t.length===0?null:te.jsx("div",{role:"menu",className:Ap(Ux.container,n),onPointerEnter:()=>clearTimeout(c.current),onPointerLeave:f=>{clearTimeout(c.current),c.current=setTimeout(()=>o==null?void 0:o(f),500)},children:t.map((f,d)=>te.jsx(pu,{...f,radius:e,innerRadius:r,startAngle:u,endAngle:a*d,skew:s?0:l,polar:s,centralAngle:a,onClick:h=>{f==null||f.onClick(h),o==null||o(h)}},d))})};gu.defaultProps={radius:175,innerRadius:25,startOffsetAngle:0};try{gu.displayName="RadialMenu",gu.__docgenInfo={description:"",displayName:"RadialMenu",props:{items:{defaultValue:null,description:"",name:"items",required:!0,type:{name:"MenuItem[]"}},radius:{defaultValue:{value:"175"},description:"",name:"radius",required:!1,type:{name:"number"}},innerRadius:{defaultValue:{value:"25"},description:"",name:"innerRadius",required:!1,type:{name:"number"}},startOffsetAngle:{defaultValue:{value:"0"},description:"",name:"startOffsetAngle",required:!1,type:{name:"number"}},className:{defaultValue:null,description:"",name:"className",required:!1,type:{name:"string"}},onClose:{defaultValue:null,description:"",name:"onClose",required:!1,type:{name:"(event: MouseEvent) => void"}}}}}catch{}export{hu as G,gu as R,lu as S,C_ as a,Vx as b,Nx as c,id as d,O_ as g,$2 as l,Jh as u}; +//# sourceMappingURL=RadialMenu-93524eec.js.map diff --git a/assets/RadialMenu-93524eec.js.map b/assets/RadialMenu-93524eec.js.map new file mode 100644 index 00000000..371dae83 --- /dev/null +++ b/assets/RadialMenu-93524eec.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RadialMenu-93524eec.js","sources":["../../node_modules/suspend-react/dist/index.js","../../node_modules/debounce/index.js","../../node_modules/react-use-measure/dist/web.js","../../node_modules/@react-three/fiber/dist/react-three-fiber.esm.js","../../node_modules/d3-binarytree/src/add.js","../../node_modules/d3-binarytree/src/cover.js","../../node_modules/d3-binarytree/src/data.js","../../node_modules/d3-binarytree/src/extent.js","../../node_modules/d3-binarytree/src/half.js","../../node_modules/d3-binarytree/src/find.js","../../node_modules/d3-binarytree/src/remove.js","../../node_modules/d3-binarytree/src/root.js","../../node_modules/d3-binarytree/src/size.js","../../node_modules/d3-binarytree/src/visit.js","../../node_modules/d3-binarytree/src/visitAfter.js","../../node_modules/d3-binarytree/src/x.js","../../node_modules/d3-binarytree/src/binarytree.js","../../node_modules/d3-quadtree/src/add.js","../../node_modules/d3-quadtree/src/cover.js","../../node_modules/d3-quadtree/src/data.js","../../node_modules/d3-quadtree/src/extent.js","../../node_modules/d3-quadtree/src/quad.js","../../node_modules/d3-quadtree/src/find.js","../../node_modules/d3-quadtree/src/remove.js","../../node_modules/d3-quadtree/src/root.js","../../node_modules/d3-quadtree/src/size.js","../../node_modules/d3-quadtree/src/visit.js","../../node_modules/d3-quadtree/src/visitAfter.js","../../node_modules/d3-quadtree/src/x.js","../../node_modules/d3-quadtree/src/y.js","../../node_modules/d3-quadtree/src/quadtree.js","../../node_modules/d3-octree/src/add.js","../../node_modules/d3-octree/src/cover.js","../../node_modules/d3-octree/src/data.js","../../node_modules/d3-octree/src/extent.js","../../node_modules/d3-octree/src/octant.js","../../node_modules/d3-octree/src/find.js","../../node_modules/d3-octree/src/remove.js","../../node_modules/d3-octree/src/root.js","../../node_modules/d3-octree/src/size.js","../../node_modules/d3-octree/src/visit.js","../../node_modules/d3-octree/src/visitAfter.js","../../node_modules/d3-octree/src/x.js","../../node_modules/d3-octree/src/y.js","../../node_modules/d3-octree/src/z.js","../../node_modules/d3-octree/src/octree.js","../../node_modules/d3-force-3d/src/constant.js","../../node_modules/d3-force-3d/src/jiggle.js","../../node_modules/d3-force-3d/src/collide.js","../../node_modules/d3-force-3d/src/link.js","../../node_modules/d3-dispatch/src/dispatch.js","../../node_modules/d3-timer/src/timer.js","../../node_modules/d3-force-3d/src/lcg.js","../../node_modules/d3-force-3d/src/simulation.js","../../node_modules/d3-force-3d/src/manyBody.js","../../node_modules/d3-force-3d/src/radial.js","../../node_modules/d3-force-3d/src/x.js","../../node_modules/d3-force-3d/src/y.js","../../node_modules/d3-force-3d/src/z.js","../../src/layout/depthUtils.ts","../../src/layout/forceUtils.ts","../../node_modules/d3-force-cluster-3d/dist/d3-force-cluster-3d.mjs","../../src/layout/forceDirected.ts","../../node_modules/graphology-utils/defaults.js","../../node_modules/graphology-utils/is-graph.js","../../node_modules/graphology-layout/circular.js","../../src/layout/circular2d.ts","../../node_modules/d3-hierarchy/src/hierarchy/count.js","../../node_modules/d3-hierarchy/src/hierarchy/each.js","../../node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","../../node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","../../node_modules/d3-hierarchy/src/hierarchy/find.js","../../node_modules/d3-hierarchy/src/hierarchy/sum.js","../../node_modules/d3-hierarchy/src/hierarchy/sort.js","../../node_modules/d3-hierarchy/src/hierarchy/path.js","../../node_modules/d3-hierarchy/src/hierarchy/ancestors.js","../../node_modules/d3-hierarchy/src/hierarchy/descendants.js","../../node_modules/d3-hierarchy/src/hierarchy/leaves.js","../../node_modules/d3-hierarchy/src/hierarchy/links.js","../../node_modules/d3-hierarchy/src/hierarchy/iterator.js","../../node_modules/d3-hierarchy/src/hierarchy/index.js","../../node_modules/d3-hierarchy/src/accessors.js","../../node_modules/d3-hierarchy/src/stratify.js","../../node_modules/d3-hierarchy/src/tree.js","../../src/layout/hierarchical.ts","../../node_modules/graphology-layout-noverlap/iterate.js","../../node_modules/graphology-layout-noverlap/helpers.js","../../node_modules/graphology-layout-noverlap/defaults.js","../../node_modules/graphology-layout-noverlap/index.js","../../src/layout/nooverlap.ts","../../node_modules/graphology-utils/getters.js","../../node_modules/graphology-layout-forceatlas2/iterate.js","../../node_modules/graphology-layout-forceatlas2/helpers.js","../../node_modules/graphology-layout-forceatlas2/defaults.js","../../node_modules/graphology-layout-forceatlas2/index.js","../../node_modules/graphology-layout/random.js","../../src/layout/forceatlas2.ts","../../src/layout/layoutProvider.ts","../../src/layout/layoutUtils.ts","../../node_modules/mnemonist/utils/typed-arrays.js","../../node_modules/graphology-indices/neighborhood.js","../../node_modules/graphology-metrics/centrality/pagerank.js","../../src/sizing/pageRank.ts","../../node_modules/graphology-metrics/centrality/degree.js","../../src/sizing/centrality.ts","../../src/sizing/attribute.ts","../../node_modules/d3-scale/node_modules/d3-array/src/ascending.js","../../node_modules/d3-scale/node_modules/d3-array/src/descending.js","../../node_modules/d3-scale/node_modules/d3-array/src/bisector.js","../../node_modules/d3-scale/node_modules/d3-array/src/number.js","../../node_modules/d3-scale/node_modules/d3-array/src/bisect.js","../../node_modules/d3-scale/node_modules/d3-array/src/ticks.js","../../node_modules/d3-scale/src/init.js","../../node_modules/d3-color/src/define.js","../../node_modules/d3-color/src/color.js","../../node_modules/d3-interpolate/src/constant.js","../../node_modules/d3-interpolate/src/color.js","../../node_modules/d3-interpolate/src/rgb.js","../../node_modules/d3-interpolate/src/numberArray.js","../../node_modules/d3-interpolate/src/array.js","../../node_modules/d3-interpolate/src/date.js","../../node_modules/d3-interpolate/src/number.js","../../node_modules/d3-interpolate/src/object.js","../../node_modules/d3-interpolate/src/string.js","../../node_modules/d3-interpolate/src/value.js","../../node_modules/d3-interpolate/src/round.js","../../node_modules/d3-scale/src/constant.js","../../node_modules/d3-scale/src/number.js","../../node_modules/d3-scale/src/continuous.js","../../node_modules/d3-format/src/formatDecimal.js","../../node_modules/d3-format/src/exponent.js","../../node_modules/d3-format/src/formatGroup.js","../../node_modules/d3-format/src/formatNumerals.js","../../node_modules/d3-format/src/formatSpecifier.js","../../node_modules/d3-format/src/formatTrim.js","../../node_modules/d3-format/src/formatPrefixAuto.js","../../node_modules/d3-format/src/formatRounded.js","../../node_modules/d3-format/src/formatTypes.js","../../node_modules/d3-format/src/identity.js","../../node_modules/d3-format/src/locale.js","../../node_modules/d3-format/src/defaultLocale.js","../../node_modules/d3-format/src/precisionFixed.js","../../node_modules/d3-format/src/precisionPrefix.js","../../node_modules/d3-format/src/precisionRound.js","../../node_modules/d3-scale/src/tickFormat.js","../../node_modules/d3-scale/src/linear.js","../../src/sizing/nodeSizeProvider.ts","../../src/utils/visibility.ts","../../src/utils/buildGraph.ts","../../node_modules/zustand/esm/vanilla.js","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../node_modules/use-sync-external-store/shim/index.js","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../node_modules/use-sync-external-store/shim/with-selector.js","../../node_modules/zustand/esm/index.js","../../node_modules/zustand/esm/context.js","../../src/utils/animation.ts","../../src/utils/arrow.ts","../../src/utils/position.ts","../../src/utils/layout.ts","../../node_modules/events/events.js","../../node_modules/obliterator/iterator.js","../../node_modules/obliterator/support.js","../../node_modules/obliterator/iter.js","../../node_modules/obliterator/take.js","../../node_modules/obliterator/chain.js","../../node_modules/graphology/dist/graphology.esm.js","../../src/store.ts","../../src/collapse/utils.ts","../../src/useGraph.ts","../../node_modules/@react-three/drei/web/Html.js","../../node_modules/@react-three/drei/web/useCursor.js","../../node_modules/react-merge-refs/dist/react-merge-refs.esm.js","../../node_modules/three-stdlib/utils/BufferGeometryUtils.js","../../node_modules/three-stdlib/interactive/SelectionBox.js","../../node_modules/@react-three/drei/core/Billboard.js","../../node_modules/troika-worker-utils/dist/troika-worker-utils.esm.js","../../node_modules/webgl-sdf-generator/dist/webgl-sdf-generator.mjs","../../node_modules/bidi-js/dist/bidi.mjs","../../node_modules/troika-three-utils/dist/troika-three-utils.esm.js","../../node_modules/troika-three-text/dist/troika-three-text.esm.js","../../node_modules/@react-three/drei/core/Text.js","../../node_modules/ellipsize/src/index.js","../../src/symbols/Label.tsx","../../node_modules/@react-spring/rafz/dist/react-spring-rafz.esm.js","../../node_modules/@react-spring/shared/dist/react-spring-shared.esm.js","../../node_modules/@react-spring/animated/dist/react-spring-animated.esm.js","../../node_modules/@react-spring/core/dist/react-spring-core.esm.js","../../node_modules/@react-spring/three/dist/react-spring-three.esm.js","../../src/symbols/nodes/Sphere.tsx","../../src/symbols/Ring.tsx","../../node_modules/camera-controls/dist/camera-controls.module.js","../../src/CameraControls/useCameraControls.ts","../../node_modules/mousetrap/mousetrap.js","../../node_modules/reakeys/dist/index.js","../../node_modules/hold-event/dist/hold-event.module.js","../../src/CameraControls/CameraControls.tsx","../../src/CameraControls/useCenterGraph.ts","../../node_modules/react-use-gesture/dist/reactusegesture.esm.js","../../src/utils/useDrag.ts","../../src/symbols/nodes/Icon.tsx","../../src/symbols/nodes/SphereWithIcon.tsx","../../src/utils/useHoverIntent.ts","../../src/symbols/Node.tsx","../../src/symbols/Arrow.tsx","../../src/symbols/Line.tsx","../../src/symbols/Edge.tsx","../../src/symbols/edges/useEdgeGeometry.ts","../../src/symbols/edges/useEdgeEvents.ts","../../src/symbols/edges/useEdgeAnimations.ts","../../src/symbols/edges/Edge.tsx","../../src/symbols/edges/Edges.tsx","../../src/GraphScene.tsx","../../src/themes/lightTheme.ts","../../src/selection/utils.ts","../../src/selection/Lasso.tsx","../../node_modules/obliterator/foreach.js","../../node_modules/mnemonist/queue.js","../../node_modules/@yomguithereal/helpers/extend.js","../../node_modules/graphology-shortest-path/unweighted.js","../../node_modules/mnemonist/utils/comparators.js","../../node_modules/mnemonist/utils/iterables.js","../../node_modules/mnemonist/heap.js","../../node_modules/graphology-shortest-path/dijkstra.js","../../node_modules/graphology-shortest-path/index.js","../../src/GraphCanvas.tsx","../../node_modules/classnames/index.js","../../src/RadialMenu/RadialSlice.tsx","../../src/RadialMenu/utils.ts","../../src/RadialMenu/RadialMenu.tsx"],"sourcesContent":["function shallowEqualArrays(arrA, arrB, equal = (a, b) => a === b) {\n if (arrA === arrB) return true;\n if (!arrA || !arrB) return false;\n const len = arrA.length;\n if (arrB.length !== len) return false;\n\n for (let i = 0; i < len; i++) if (!equal(arrA[i], arrB[i])) return false;\n\n return true;\n}\n\nconst globalCache = [];\n\nfunction query(fn, keys, preload = false, config = {}) {\n for (const entry of globalCache) {\n // Find a match\n if (shallowEqualArrays(keys, entry.keys, entry.equal)) {\n // If we're pre-loading and the element is present, just return\n if (preload) return undefined; // If an error occurred, throw\n\n if (Object.prototype.hasOwnProperty.call(entry, 'error')) throw entry.error; // If a response was successful, return\n\n if (Object.prototype.hasOwnProperty.call(entry, 'response')) return entry.response; // If the promise is still unresolved, throw\n\n if (!preload) throw entry.promise;\n }\n } // The request is new or has changed.\n\n\n const entry = {\n keys,\n equal: config.equal,\n promise: // Execute the promise\n fn(...keys) // When it resolves, store its value\n .then(response => entry.response = response) // Remove the entry if a lifespan was given\n .then(() => {\n if (config.lifespan && config.lifespan > 0) {\n setTimeout(() => {\n const index = globalCache.indexOf(entry);\n if (index !== -1) globalCache.splice(index, 1);\n }, config.lifespan);\n }\n }) // Store caught errors, they will be thrown in the render-phase to bubble into an error-bound\n .catch(error => entry.error = error)\n }; // Register the entry\n\n globalCache.push(entry); // And throw the promise, this yields control back to React\n\n if (!preload) throw entry.promise;\n return undefined;\n}\n\nconst suspend = (fn, keys, config) => query(fn, keys, false, config);\n\nconst preload = (fn, keys, config) => void query(fn, keys, true, config);\n\nconst peek = keys => {\n var _globalCache$find;\n\n return (_globalCache$find = globalCache.find(entry => shallowEqualArrays(keys, entry.keys, entry.equal))) == null ? void 0 : _globalCache$find.response;\n};\n\nconst clear = keys => {\n if (keys === undefined || keys.length === 0) globalCache.splice(0, globalCache.length);else {\n const entry = globalCache.find(entry => shallowEqualArrays(keys, entry.keys, entry.equal));\n\n if (entry) {\n const index = globalCache.indexOf(entry);\n if (index !== -1) globalCache.splice(index, 1);\n }\n }\n};\n\nexport { clear, peek, preload, suspend };\n","/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear' \n * that is a function which will clear the timer to prevent previously scheduled executions. \n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {Function} function to wrap\n * @param {Number} timeout in ms (`100`)\n * @param {Boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nfunction debounce(func, wait, immediate){\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n };\n\n var debounced = function(){\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n \n debounced.flush = function() {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n \n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n};\n\n// Adds compatibility for ES modules\ndebounce.debounce = debounce;\n\nmodule.exports = debounce;\n","import { useState, useRef, useEffect, useMemo } from 'react';\nimport createDebounce from 'debounce';\n\nfunction useMeasure(_temp) {\n let {\n debounce,\n scroll,\n polyfill,\n offsetSize\n } = _temp === void 0 ? {\n debounce: 0,\n scroll: false,\n offsetSize: false\n } : _temp;\n const ResizeObserver = polyfill || (typeof window === 'undefined' ? class ResizeObserver {} : window.ResizeObserver);\n\n if (!ResizeObserver) {\n 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');\n }\n\n const [bounds, set] = useState({\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n bottom: 0,\n right: 0,\n x: 0,\n y: 0\n }); // keep all state in a ref\n\n const state = useRef({\n element: null,\n scrollContainers: null,\n resizeObserver: null,\n lastBounds: bounds\n }); // set actual debounce values early, so effects know if they should react accordingly\n\n const scrollDebounce = debounce ? typeof debounce === 'number' ? debounce : debounce.scroll : null;\n const resizeDebounce = debounce ? typeof debounce === 'number' ? debounce : debounce.resize : null; // make sure to update state only as long as the component is truly mounted\n\n const mounted = useRef(false);\n useEffect(() => {\n mounted.current = true;\n return () => void (mounted.current = false);\n }); // memoize handlers, so event-listeners know when they should update\n\n const [forceRefresh, resizeChange, scrollChange] = useMemo(() => {\n const callback = () => {\n if (!state.current.element) return;\n const {\n left,\n top,\n width,\n height,\n bottom,\n right,\n x,\n y\n } = state.current.element.getBoundingClientRect();\n const size = {\n left,\n top,\n width,\n height,\n bottom,\n right,\n x,\n y\n };\n\n if (state.current.element instanceof HTMLElement && offsetSize) {\n size.height = state.current.element.offsetHeight;\n size.width = state.current.element.offsetWidth;\n }\n\n Object.freeze(size);\n if (mounted.current && !areBoundsEqual(state.current.lastBounds, size)) set(state.current.lastBounds = size);\n };\n\n return [callback, resizeDebounce ? createDebounce(callback, resizeDebounce) : callback, scrollDebounce ? createDebounce(callback, scrollDebounce) : callback];\n }, [set, offsetSize, scrollDebounce, resizeDebounce]); // cleanup current scroll-listeners / observers\n\n function removeListeners() {\n if (state.current.scrollContainers) {\n state.current.scrollContainers.forEach(element => element.removeEventListener('scroll', scrollChange, true));\n state.current.scrollContainers = null;\n }\n\n if (state.current.resizeObserver) {\n state.current.resizeObserver.disconnect();\n state.current.resizeObserver = null;\n }\n } // add scroll-listeners / observers\n\n\n function addListeners() {\n if (!state.current.element) return;\n state.current.resizeObserver = new ResizeObserver(scrollChange);\n state.current.resizeObserver.observe(state.current.element);\n\n if (scroll && state.current.scrollContainers) {\n state.current.scrollContainers.forEach(scrollContainer => scrollContainer.addEventListener('scroll', scrollChange, {\n capture: true,\n passive: true\n }));\n }\n } // the ref we expose to the user\n\n\n const ref = node => {\n if (!node || node === state.current.element) return;\n removeListeners();\n state.current.element = node;\n state.current.scrollContainers = findScrollContainers(node);\n addListeners();\n }; // add general event listeners\n\n\n useOnWindowScroll(scrollChange, Boolean(scroll));\n useOnWindowResize(resizeChange); // respond to changes that are relevant for the listeners\n\n useEffect(() => {\n removeListeners();\n addListeners();\n }, [scroll, scrollChange, resizeChange]); // remove all listeners when the components unmounts\n\n useEffect(() => removeListeners, []);\n return [ref, bounds, forceRefresh];\n} // Adds native resize listener to window\n\n\nfunction useOnWindowResize(onWindowResize) {\n useEffect(() => {\n const cb = onWindowResize;\n window.addEventListener('resize', cb);\n return () => void window.removeEventListener('resize', cb);\n }, [onWindowResize]);\n}\n\nfunction useOnWindowScroll(onScroll, enabled) {\n useEffect(() => {\n if (enabled) {\n const cb = onScroll;\n window.addEventListener('scroll', cb, {\n capture: true,\n passive: true\n });\n return () => void window.removeEventListener('scroll', cb, true);\n }\n }, [onScroll, enabled]);\n} // Returns a list of scroll offsets\n\n\nfunction findScrollContainers(element) {\n const result = [];\n if (!element || element === document.body) return result;\n const {\n overflow,\n overflowX,\n overflowY\n } = window.getComputedStyle(element);\n if ([overflow, overflowX, overflowY].some(prop => prop === 'auto' || prop === 'scroll')) result.push(element);\n return [...result, ...findScrollContainers(element.parentElement)];\n} // Checks if element boundaries are equal\n\n\nconst keys = ['x', 'y', 'top', 'bottom', 'left', 'right', 'width', 'height'];\n\nconst areBoundsEqual = (a, b) => keys.every(key => a[key] === b[key]);\n\nexport { useMeasure as default };\n","import { c as createEvents, e as extend, u as useMutableCallback, a as createRoot, E as ErrorBoundary, B as Block, b as useIsomorphicLayoutEffect, d as unmountComponentAtNode } from './index-6279214a.esm.js';\nexport { t as ReactThreeFiber, s as _roots, q as act, n as addAfterEffect, m as addEffect, o as addTail, l as advance, i as applyProps, f as context, c as createEvents, g as createPortal, a as createRoot, j as dispose, e as extend, p as getRootState, k as invalidate, h as reconciler, r as render, d as unmountComponentAtNode, x as useFrame, y as useGraph, z as useLoader, v as useStore, w as useThree } from './index-6279214a.esm.js';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport * as THREE from 'three';\nimport useMeasure from 'react-use-measure';\nimport 'react-reconciler/constants';\nimport 'zustand';\nimport 'react-reconciler';\nimport 'scheduler';\nimport 'suspend-react';\n\nconst DOM_EVENTS = {\n onClick: ['click', false],\n onContextMenu: ['contextmenu', false],\n onDoubleClick: ['dblclick', false],\n onWheel: ['wheel', true],\n onPointerDown: ['pointerdown', true],\n onPointerUp: ['pointerup', true],\n onPointerLeave: ['pointerleave', true],\n onPointerMove: ['pointermove', true],\n onPointerCancel: ['pointercancel', true],\n onLostPointerCapture: ['lostpointercapture', true]\n};\n/** Default R3F event manager for web */\n\nfunction createPointerEvents(store) {\n const {\n handlePointer\n } = createEvents(store);\n return {\n priority: 1,\n enabled: true,\n\n compute(event, state, previous) {\n // https://github.com/pmndrs/react-three-fiber/pull/782\n // Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides\n state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);\n state.raycaster.setFromCamera(state.pointer, state.camera);\n },\n\n connected: undefined,\n handlers: Object.keys(DOM_EVENTS).reduce((acc, key) => ({ ...acc,\n [key]: handlePointer(key)\n }), {}),\n connect: target => {\n var _events$handlers;\n\n const {\n set,\n events\n } = store.getState();\n events.disconnect == null ? void 0 : events.disconnect();\n set(state => ({\n events: { ...state.events,\n connected: target\n }\n }));\n Object.entries((_events$handlers = events.handlers) != null ? _events$handlers : []).forEach(([name, event]) => {\n const [eventName, passive] = DOM_EVENTS[name];\n target.addEventListener(eventName, event, {\n passive\n });\n });\n },\n disconnect: () => {\n const {\n set,\n events\n } = store.getState();\n\n if (events.connected) {\n var _events$handlers2;\n\n Object.entries((_events$handlers2 = events.handlers) != null ? _events$handlers2 : []).forEach(([name, event]) => {\n if (events && events.connected instanceof HTMLElement) {\n const [eventName] = DOM_EVENTS[name];\n events.connected.removeEventListener(eventName, event);\n }\n });\n set(state => ({\n events: { ...state.events,\n connected: undefined\n }\n }));\n }\n }\n };\n}\n\n/**\n * A DOM canvas which accepts threejs elements as children.\n * @see https://docs.pmnd.rs/react-three-fiber/api/canvas\n */\nconst Canvas = /*#__PURE__*/React.forwardRef(function Canvas({\n children,\n fallback,\n resize,\n style,\n gl,\n events = createPointerEvents,\n shadows,\n linear,\n flat,\n legacy,\n orthographic,\n frameloop,\n dpr,\n performance,\n raycaster,\n camera,\n onPointerMissed,\n onCreated,\n ...props\n}, forwardedRef) {\n // Create a known catalogue of Threejs-native elements\n // This will include the entire THREE namespace by default, users can extend\n // their own elements by using the createRoot API instead\n React.useMemo(() => extend(THREE), []);\n const [containerRef, containerRect] = useMeasure({\n scroll: true,\n debounce: {\n scroll: 50,\n resize: 0\n },\n ...resize\n });\n const canvasRef = React.useRef(null);\n const divRef = React.useRef(null);\n const [canvas, setCanvas] = React.useState(null);\n React.useImperativeHandle(forwardedRef, () => canvasRef.current);\n const handlePointerMissed = useMutableCallback(onPointerMissed);\n const [block, setBlock] = React.useState(false);\n const [error, setError] = React.useState(false); // Suspend this component if block is a promise (2nd run)\n\n if (block) throw block; // Throw exception outwards if anything within canvas throws\n\n if (error) throw error;\n const root = React.useRef(null);\n\n if (containerRect.width > 0 && containerRect.height > 0 && canvas) {\n if (!root.current) root.current = createRoot(canvas);\n root.current.configure({\n gl,\n events,\n shadows,\n linear,\n flat,\n legacy,\n orthographic,\n frameloop,\n dpr,\n performance,\n raycaster,\n camera,\n size: containerRect,\n // Pass mutable reference to onPointerMissed so it's free to update\n onPointerMissed: (...args) => handlePointerMissed.current == null ? void 0 : handlePointerMissed.current(...args),\n onCreated: state => {\n state.events.connect == null ? void 0 : state.events.connect(divRef.current);\n onCreated == null ? void 0 : onCreated(state);\n }\n });\n root.current.render( /*#__PURE__*/React.createElement(ErrorBoundary, {\n set: setError\n }, /*#__PURE__*/React.createElement(React.Suspense, {\n fallback: /*#__PURE__*/React.createElement(Block, {\n set: setBlock\n })\n }, children)));\n }\n\n useIsomorphicLayoutEffect(() => {\n setCanvas(canvasRef.current);\n }, []);\n React.useEffect(() => {\n if (canvas) return () => unmountComponentAtNode(canvas);\n }, [canvas]);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: divRef,\n style: {\n position: 'relative',\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n ...style\n }\n }, props), /*#__PURE__*/React.createElement(\"div\", {\n ref: containerRef,\n style: {\n width: '100%',\n height: '100%'\n }\n }, /*#__PURE__*/React.createElement(\"canvas\", {\n ref: canvasRef,\n style: {\n display: 'block'\n }\n }, fallback)));\n});\n\nexport { Canvas, createPointerEvents as events };\n","export default function(d) {\n const x = +this._x.call(null, d);\n return add(this.cover(x), x, d);\n}\n\nfunction add(tree, x, d) {\n if (isNaN(x)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n x1 = tree._x1,\n xm,\n xp,\n right,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (parent = node, !(node = node[i = +right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n if (x === xp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(2) : tree._root = new Array(2);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n } while ((i = +right) === (j = +(xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n if (!Array.isArray(data)) data = Array.from(data);\n const n = data.length;\n const xz = new Float64Array(n);\n let x0 = Infinity,\n x1 = -Infinity;\n\n // Compute the points and their extent.\n for (let i = 0, x; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, data[i]))) continue;\n xz[i] = x;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n }\n\n // If there were no (valid) points, abort.\n if (x0 > x1) return this;\n\n // Expand the tree to cover the new points.\n this.cover(x0).cover(x1);\n\n // Add the new points.\n for (let i = 0; i < n; ++i) {\n add(this, xz[i], data[i]);\n }\n\n return this;\n}\n","export default function(x) {\n if (isNaN(x = +x)) return this; // ignore invalid points\n\n var x0 = this._x0,\n x1 = this._x1;\n\n // If the binarytree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing half boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else {\n var z = x1 - x0 || 1,\n node = this._root,\n parent,\n i;\n\n while (x0 > x || x >= x1) {\n i = +(x < x0);\n parent = new Array(2), parent[i] = node, node = parent, z *= 2;\n switch (i) {\n case 0: x1 = x0 + z; break;\n case 1: x0 = x1 - z; break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n this._x0 = x0;\n this._x1 = x1;\n return this;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0]).cover(+_[1][0])\n : isNaN(this._x0) ? undefined : [[this._x0], [this._x1]];\n}\n","export default function(node, x0, x1) {\n this.node = node;\n this.x0 = x0;\n this.x1 = x1;\n}\n","import Half from \"./half.js\";\n\nexport default function(x, radius) {\n var data,\n x0 = this._x0,\n x1,\n x2,\n x3 = this._x1,\n halves = [],\n node = this._root,\n q,\n i;\n\n if (node) halves.push(new Half(node, x0, x3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius;\n x3 = x + radius;\n }\n\n while (q = halves.pop()) {\n\n // Stop searching if this half can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (x2 = q.x1) < x0) continue;\n\n // Bisect the current half.\n if (node.length) {\n var xm = (x1 + x2) / 2;\n\n halves.push(\n new Half(node[1], xm, x2),\n new Half(node[0], x1, xm)\n );\n\n // Visit the closest half first.\n if (i = +(x >= xm)) {\n q = halves[halves.length - 1];\n halves[halves.length - 1] = halves[halves.length - 1 - i];\n halves[halves.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var d = Math.abs(x - +this._x.call(null, node.data));\n if (d < radius) {\n radius = d;\n x0 = x - d;\n x3 = x + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n x1 = this._x1,\n x,\n xm,\n right,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (!(parent = node, node = node[i = +right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 1]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1])\n && node === (parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Half from \"./half.js\";\n\nexport default function(callback) {\n var halves = [], q, node = this._root, child, x0, x1;\n if (node) halves.push(new Half(node, this._x0, this._x1));\n while (q = halves.pop()) {\n if (!callback(node = q.node, x0 = q.x0, x1 = q.x1) && node.length) {\n var xm = (x0 + x1) / 2;\n if (child = node[1]) halves.push(new Half(child, xm, x1));\n if (child = node[0]) halves.push(new Half(child, x0, xm));\n }\n }\n return this;\n}\n","import Half from \"./half.js\";\n\nexport default function(callback) {\n var halves = [], next = [], q;\n if (this._root) halves.push(new Half(this._root, this._x0, this._x1));\n while (q = halves.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, x1 = q.x1, xm = (x0 + x1) / 2;\n if (child = node[0]) halves.push(new Half(child, x0, xm));\n if (child = node[1]) halves.push(new Half(child, xm, x1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.x1);\n }\n return this;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add.js\";\nimport tree_cover from \"./cover.js\";\nimport tree_data from \"./data.js\";\nimport tree_extent from \"./extent.js\";\nimport tree_find from \"./find.js\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove.js\";\nimport tree_root from \"./root.js\";\nimport tree_size from \"./size.js\";\nimport tree_visit from \"./visit.js\";\nimport tree_visitAfter from \"./visitAfter.js\";\nimport tree_x, {defaultX} from \"./x.js\";\n\nexport default function binarytree(nodes, x) {\n var tree = new Binarytree(x == null ? defaultX : x, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Binarytree(x, x0, x1) {\n this._x = x;\n this._x0 = x0;\n this._x1 = x1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = binarytree.prototype = Binarytree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Binarytree(this._x, this._x0, this._x1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(2)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 2; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(2)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;","export default function(d) {\n const x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add(this.cover(x, y), x, y, d);\n}\n\nfunction add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, abort.\n if (x0 > x1 || y0 > y1) return this;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n","export default function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else {\n var z = x1 - x0 || 1,\n node = this._root,\n parent,\n i;\n\n while (x0 > x || x >= x1 || y0 > y || y >= y1) {\n i = (y < y0) << 1 | (x < x0);\n parent = new Array(4), parent[i] = node, node = parent, z *= 2;\n switch (i) {\n case 0: x1 = x0 + z, y1 = y0 + z; break;\n case 1: x0 = x1 - z, y1 = y0 + z; break;\n case 2: x1 = x0 + z, y0 = y1 - z; break;\n case 3: x0 = x1 - z, y0 = y1 - z; break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n}\n","export default function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new Quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new Quad(node[3], xm, ym, x2, y2),\n new Quad(node[2], x1, ym, xm, y2),\n new Quad(node[1], xm, y1, x2, ym),\n new Quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add.js\";\nimport tree_cover from \"./cover.js\";\nimport tree_data from \"./data.js\";\nimport tree_extent from \"./extent.js\";\nimport tree_find from \"./find.js\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove.js\";\nimport tree_root from \"./root.js\";\nimport tree_size from \"./size.js\";\nimport tree_visit from \"./visit.js\";\nimport tree_visitAfter from \"./visitAfter.js\";\nimport tree_x, {defaultX} from \"./x.js\";\nimport tree_y, {defaultY} from \"./y.js\";\n\nexport default function quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\n","export default function(d) {\n const x = +this._x.call(null, d),\n y = +this._y.call(null, d),\n z = +this._z.call(null, d);\n return add(this.cover(x, y, z), x, y, z, d);\n}\n\nfunction add(tree, x, y, z, d) {\n if (isNaN(x) || isNaN(y) || isNaN(z)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n z0 = tree._z0,\n x1 = tree._x1,\n y1 = tree._y1,\n z1 = tree._z1,\n xm,\n ym,\n zm,\n xp,\n yp,\n zp,\n right,\n bottom,\n deep,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (deep = z >= (zm = (z0 + z1) / 2)) z0 = zm; else z1 = zm;\n if (parent = node, !(node = node[i = deep << 2 | bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n zp = +tree._z.call(null, node.data);\n if (x === xp && y === yp && z === zp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(8) : tree._root = new Array(8);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (deep = z >= (zm = (z0 + z1) / 2)) z0 = zm; else z1 = zm;\n } while ((i = deep << 2 | bottom << 1 | right) === (j = (zp >= zm) << 2 | (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n if (!Array.isArray(data)) data = Array.from(data);\n const n = data.length;\n const xz = new Float64Array(n);\n const yz = new Float64Array(n);\n const zz = new Float64Array(n);\n let x0 = Infinity,\n y0 = Infinity,\n z0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity,\n z1 = -Infinity;\n\n // Compute the points and their extent.\n for (let i = 0, d, x, y, z; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d)) || isNaN(z = +this._z.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n zz[i] = z;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n if (z < z0) z0 = z;\n if (z > z1) z1 = z;\n }\n\n // If there were no (valid) points, abort.\n if (x0 > x1 || y0 > y1 || z0 > z1) return this;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0, z0).cover(x1, y1, z1);\n\n // Add the new points.\n for (let i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], zz[i], data[i]);\n }\n\n return this;\n}\n","export default function(x, y, z) {\n if (isNaN(x = +x) || isNaN(y = +y) || isNaN(z = +z)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n z0 = this._z0,\n x1 = this._x1,\n y1 = this._y1,\n z1 = this._z1;\n\n // If the octree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing octant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n z1 = (z0 = Math.floor(z)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else {\n var t = x1 - x0 || 1,\n node = this._root,\n parent,\n i;\n\n while (x0 > x || x >= x1 || y0 > y || y >= y1 || z0 > z || z >= z1) {\n i = (z < z0) << 2 | (y < y0) << 1 | (x < x0);\n parent = new Array(8), parent[i] = node, node = parent, t *= 2;\n switch (i) {\n case 0: x1 = x0 + t, y1 = y0 + t, z1 = z0 + t; break;\n case 1: x0 = x1 - t, y1 = y0 + t, z1 = z0 + t; break;\n case 2: x1 = x0 + t, y0 = y1 - t, z1 = z0 + t; break;\n case 3: x0 = x1 - t, y0 = y1 - t, z1 = z0 + t; break;\n case 4: x1 = x0 + t, y1 = y0 + t, z0 = z1 - t; break;\n case 5: x0 = x1 - t, y1 = y0 + t, z0 = z1 - t; break;\n case 6: x1 = x0 + t, y0 = y1 - t, z0 = z1 - t; break;\n case 7: x0 = x1 - t, y0 = y1 - t, z0 = z1 - t; break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n this._x0 = x0;\n this._y0 = y0;\n this._z0 = z0;\n this._x1 = x1;\n this._y1 = y1;\n this._z1 = z1;\n return this;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1], +_[0][2]).cover(+_[1][0], +_[1][1], +_[1][2])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0, this._z0], [this._x1, this._y1, this._z1]];\n}\n","export default function(node, x0, y0, z0, x1, y1, z1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.z0 = z0;\n this.x1 = x1;\n this.y1 = y1;\n this.z1 = z1;\n}\n","import Octant from \"./octant.js\";\n\nexport default function(x, y, z, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n z0 = this._z0,\n x1,\n y1,\n z1,\n x2,\n y2,\n z2,\n x3 = this._x1,\n y3 = this._y1,\n z3 = this._z1,\n octs = [],\n node = this._root,\n q,\n i;\n\n if (node) octs.push(new Octant(node, x0, y0, z0, x3, y3, z3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius, z0 = z - radius;\n x3 = x + radius, y3 = y + radius, z3 = z + radius;\n radius *= radius;\n }\n\n while (q = octs.pop()) {\n\n // Stop searching if this octant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (z1 = q.z0) > z3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0\n || (z2 = q.z1) < z0) continue;\n\n // Bisect the current octant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2,\n zm = (z1 + z2) / 2;\n\n octs.push(\n new Octant(node[7], xm, ym, zm, x2, y2, z2),\n new Octant(node[6], x1, ym, zm, xm, y2, z2),\n new Octant(node[5], xm, y1, zm, x2, ym, z2),\n new Octant(node[4], x1, y1, zm, xm, ym, z2),\n new Octant(node[3], xm, ym, z1, x2, y2, zm),\n new Octant(node[2], x1, ym, z1, xm, y2, zm),\n new Octant(node[1], xm, y1, z1, x2, ym, zm),\n new Octant(node[0], x1, y1, z1, xm, ym, zm)\n );\n\n // Visit the closest octant first.\n if (i = (z >= zm) << 2 | (y >= ym) << 1 | (x >= xm)) {\n q = octs[octs.length - 1];\n octs[octs.length - 1] = octs[octs.length - 1 - i];\n octs[octs.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n dz = z - +this._z.call(null, node.data),\n d2 = dx * dx + dy * dy + dz * dz;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d, z0 = z - d;\n x3 = x + d, y3 = y + d, z3 = z + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d)) || isNaN(z = +this._z.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n z0 = this._z0,\n x1 = this._x1,\n y1 = this._y1,\n z1 = this._z1,\n x,\n y,\n z,\n xm,\n ym,\n zm,\n right,\n bottom,\n deep,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (deep = z >= (zm = (z0 + z1) / 2)) z0 = zm; else z1 = zm;\n if (!(parent = node, node = node[i = deep << 2 | bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 7] || parent[(i + 2) & 7] || parent[(i + 3) & 7] || parent[(i + 4) & 7] || parent[(i + 5) & 7] || parent[(i + 6) & 7] || parent[(i + 7) & 7]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3] || parent[4] || parent[5] || parent[6] || parent[7])\n && node === (parent[7] || parent[6] || parent[5] || parent[4] || parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Octant from \"./octant.js\";\n\nexport default function(callback) {\n var octs = [], q, node = this._root, child, x0, y0, z0, x1, y1, z1;\n if (node) octs.push(new Octant(node, this._x0, this._y0, this._z0, this._x1, this._y1, this._z1));\n while (q = octs.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, z0 = q.z0, x1 = q.x1, y1 = q.y1, z1 = q.z1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2, zm = (z0 + z1) / 2;\n if (child = node[7]) octs.push(new Octant(child, xm, ym, zm, x1, y1, z1));\n if (child = node[6]) octs.push(new Octant(child, x0, ym, zm, xm, y1, z1));\n if (child = node[5]) octs.push(new Octant(child, xm, y0, zm, x1, ym, z1));\n if (child = node[4]) octs.push(new Octant(child, x0, y0, zm, xm, ym, z1));\n if (child = node[3]) octs.push(new Octant(child, xm, ym, z0, x1, y1, zm));\n if (child = node[2]) octs.push(new Octant(child, x0, ym, z0, xm, y1, zm));\n if (child = node[1]) octs.push(new Octant(child, xm, y0, z0, x1, ym, zm));\n if (child = node[0]) octs.push(new Octant(child, x0, y0, z0, xm, ym, zm));\n }\n }\n return this;\n}\n","import Octant from \"./octant.js\";\n\nexport default function(callback) {\n var octs = [], next = [], q;\n if (this._root) octs.push(new Octant(this._root, this._x0, this._y0, this._z0, this._x1, this._y1, this._z1));\n while (q = octs.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, z0 = q.z0, x1 = q.x1, y1 = q.y1, z1 = q.z1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2, zm = (z0 + z1) / 2;\n if (child = node[0]) octs.push(new Octant(child, x0, y0, z0, xm, ym, zm));\n if (child = node[1]) octs.push(new Octant(child, xm, y0, z0, x1, ym, zm));\n if (child = node[2]) octs.push(new Octant(child, x0, ym, z0, xm, y1, zm));\n if (child = node[3]) octs.push(new Octant(child, xm, ym, z0, x1, y1, zm));\n if (child = node[4]) octs.push(new Octant(child, x0, y0, zm, xm, ym, z1));\n if (child = node[5]) octs.push(new Octant(child, xm, y0, zm, x1, ym, z1));\n if (child = node[6]) octs.push(new Octant(child, x0, ym, zm, xm, y1, z1));\n if (child = node[7]) octs.push(new Octant(child, xm, ym, zm, x1, y1, z1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.z0, q.x1, q.y1, q.z1);\n }\n return this;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n","export function defaultZ(d) {\n return d[2];\n}\n\nexport default function(_) {\n return arguments.length ? (this._z = _, this) : this._z;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add.js\";\nimport tree_cover from \"./cover.js\";\nimport tree_data from \"./data.js\";\nimport tree_extent from \"./extent.js\";\nimport tree_find from \"./find.js\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove.js\";\nimport tree_root from \"./root.js\";\nimport tree_size from \"./size.js\";\nimport tree_visit from \"./visit.js\";\nimport tree_visitAfter from \"./visitAfter.js\";\nimport tree_x, {defaultX} from \"./x.js\";\nimport tree_y, {defaultY} from \"./y.js\";\nimport tree_z, {defaultZ} from \"./z.js\";\n\nexport default function octree(nodes, x, y, z) {\n var tree = new Octree(x == null ? defaultX : x, y == null ? defaultY : y, z == null ? defaultZ : z, NaN, NaN, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Octree(x, y, z, x0, y0, z0, x1, y1, z1) {\n this._x = x;\n this._y = y;\n this._z = z;\n this._x0 = x0;\n this._y0 = y0;\n this._z0 = z0;\n this._x1 = x1;\n this._y1 = y1;\n this._z1 = z1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = octree.prototype = Octree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Octree(this._x, this._y, this._z, this._x0, this._y0, this._z0, this._x1, this._y1, this._z1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(8)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 8; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(8)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\ntreeProto.z = tree_z;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(random) {\n return (random() - 0.5) * 1e-6;\n}\n","import {binarytree} from \"d3-binarytree\";\nimport {quadtree} from \"d3-quadtree\";\nimport {octree} from \"d3-octree\";\nimport constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\nfunction z(d) {\n return d.z + d.vz;\n}\n\nexport default function(radius) {\n var nodes,\n nDim,\n radii,\n random,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n zi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree =\n (nDim === 1 ? binarytree(nodes, x)\n :(nDim === 2 ? quadtree(nodes, x, y)\n :(nDim === 3 ? octree(nodes, x, y, z)\n :null\n ))).visitAfter(prepare);\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n if (nDim > 1) { yi = node.y + node.vy; }\n if (nDim > 2) { zi = node.z + node.vz; }\n tree.visit(apply);\n }\n }\n\n function apply(treeNode, arg1, arg2, arg3, arg4, arg5, arg6) {\n var args = [arg1, arg2, arg3, arg4, arg5, arg6];\n var x0 = args[0],\n y0 = args[1],\n z0 = args[2],\n x1 = args[nDim],\n y1 = args[nDim+1],\n z1 = args[nDim+2];\n\n var data = treeNode.data, rj = treeNode.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = (nDim > 1 ? yi - data.y - data.vy : 0),\n z = (nDim > 2 ? zi - data.z - data.vz : 0),\n l = x * x + y * y + z * z;\n if (l < r * r) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (nDim > 1 && y === 0) y = jiggle(random), l += y * y;\n if (nDim > 2 && z === 0) z = jiggle(random), l += z * z;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n if (nDim > 1) { node.vy += (y *= l) * r; }\n if (nDim > 2) { node.vz += (z *= l) * r; }\n\n data.vx -= x * (r = 1 - r);\n if (nDim > 1) { data.vy -= y * r; }\n if (nDim > 2) { data.vz -= z * r; }\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r\n || (nDim > 1 && (y0 > yi + r || y1 < yi - r))\n || (nDim > 2 && (z0 > zi + r || z1 < zi - r));\n }\n }\n\n function prepare(treeNode) {\n if (treeNode.data) return treeNode.r = radii[treeNode.data.index];\n for (var i = treeNode.r = 0; i < Math.pow(2, nDim); ++i) {\n if (treeNode[i] && treeNode[i].r > treeNode.r) {\n treeNode.r = treeNode[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_nodes, ...args) {\n nodes = _nodes;\n random = args.find(arg => typeof arg === 'function') || Math.random;\n nDim = args.find(arg => [1, 2, 3].includes(arg)) || 2;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n}\n","import constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\n\nfunction index(d) {\n return d.index;\n}\n\nfunction find(nodeById, nodeId) {\n var node = nodeById.get(nodeId);\n if (!node) throw new Error(\"node not found: \" + nodeId);\n return node;\n}\n\nexport default function(links) {\n var id = index,\n strength = defaultStrength,\n strengths,\n distance = constant(30),\n distances,\n nodes,\n nDim,\n count,\n bias,\n random,\n iterations = 1;\n\n if (links == null) links = [];\n\n function defaultStrength(link) {\n return 1 / Math.min(count[link.source.index], count[link.target.index]);\n }\n\n function force(alpha) {\n for (var k = 0, n = links.length; k < iterations; ++k) {\n for (var i = 0, link, source, target, x = 0, y = 0, z = 0, l, b; i < n; ++i) {\n link = links[i], source = link.source, target = link.target;\n x = target.x + target.vx - source.x - source.vx || jiggle(random);\n if (nDim > 1) { y = target.y + target.vy - source.y - source.vy || jiggle(random); }\n if (nDim > 2) { z = target.z + target.vz - source.z - source.vz || jiggle(random); }\n l = Math.sqrt(x * x + y * y + z * z);\n l = (l - distances[i]) / l * alpha * strengths[i];\n x *= l, y *= l, z *= l;\n\n target.vx -= x * (b = bias[i]);\n if (nDim > 1) { target.vy -= y * b; }\n if (nDim > 2) { target.vz -= z * b; }\n\n source.vx += x * (b = 1 - b);\n if (nDim > 1) { source.vy += y * b; }\n if (nDim > 2) { source.vz += z * b; }\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n\n var i,\n n = nodes.length,\n m = links.length,\n nodeById = new Map(nodes.map((d, i) => [id(d, i, nodes), d])),\n link;\n\n for (i = 0, count = new Array(n); i < m; ++i) {\n link = links[i], link.index = i;\n if (typeof link.source !== \"object\") link.source = find(nodeById, link.source);\n if (typeof link.target !== \"object\") link.target = find(nodeById, link.target);\n count[link.source.index] = (count[link.source.index] || 0) + 1;\n count[link.target.index] = (count[link.target.index] || 0) + 1;\n }\n\n for (i = 0, bias = new Array(m); i < m; ++i) {\n link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);\n }\n\n strengths = new Array(m), initializeStrength();\n distances = new Array(m), initializeDistance();\n }\n\n function initializeStrength() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n strengths[i] = +strength(links[i], i, links);\n }\n }\n\n function initializeDistance() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n distances[i] = +distance(links[i], i, links);\n }\n }\n\n force.initialize = function(_nodes, ...args) {\n nodes = _nodes;\n random = args.find(arg => typeof arg === 'function') || Math.random;\n nDim = args.find(arg => [1, 2, 3].includes(arg)) || 2;\n initialize();\n };\n\n force.links = function(_) {\n return arguments.length ? (links = _, initialize(), force) : links;\n };\n\n force.id = function(_) {\n return arguments.length ? (id = _, force) : id;\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initializeStrength(), force) : strength;\n };\n\n force.distance = function(_) {\n return arguments.length ? (distance = typeof _ === \"function\" ? _ : constant(+_), initializeDistance(), force) : distance;\n };\n\n return force;\n}\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","// https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_use\nconst a = 1664525;\nconst c = 1013904223;\nconst m = 4294967296; // 2^32\n\nexport default function() {\n let s = 1;\n return () => (s = (a * s + c) % m) / m;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer} from \"d3-timer\";\nimport lcg from \"./lcg.js\";\n\nvar MAX_DIMENSIONS = 3;\n\nexport function x(d) {\n return d.x;\n}\n\nexport function y(d) {\n return d.y;\n}\n\nexport function z(d) {\n return d.z;\n}\n\nvar initialRadius = 10,\n initialAngleRoll = Math.PI * (3 - Math.sqrt(5)), // Golden ratio angle\n initialAngleYaw = Math.PI * 20 / (9 + Math.sqrt(221)); // Markov irrational number\n\nexport default function(nodes, numDimensions) {\n numDimensions = numDimensions || 2;\n\n var nDim = Math.min(MAX_DIMENSIONS, Math.max(1, Math.round(numDimensions))),\n simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = new Map(),\n stepper = timer(step),\n event = dispatch(\"tick\", \"end\"),\n random = lcg();\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick(iterations) {\n var i, n = nodes.length, node;\n\n if (iterations === undefined) iterations = 1;\n\n for (var k = 0; k < iterations; ++k) {\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.forEach(function (force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (nDim > 1) {\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n if (nDim > 2) {\n if (node.fz == null) node.z += node.vz *= velocityDecay;\n else node.z = node.fz, node.vz = 0;\n }\n }\n }\n\n return simulation;\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (node.fx != null) node.x = node.fx;\n if (node.fy != null) node.y = node.fy;\n if (node.fz != null) node.z = node.fz;\n if (isNaN(node.x) || (nDim > 1 && isNaN(node.y)) || (nDim > 2 && isNaN(node.z))) {\n var radius = initialRadius * (nDim > 2 ? Math.cbrt(0.5 + i) : (nDim > 1 ? Math.sqrt(0.5 + i) : i)),\n rollAngle = i * initialAngleRoll,\n yawAngle = i * initialAngleYaw;\n\n if (nDim === 1) {\n node.x = radius;\n } else if (nDim === 2) {\n node.x = radius * Math.cos(rollAngle);\n node.y = radius * Math.sin(rollAngle);\n } else { // 3 dimensions: use spherical distribution along 2 irrational number angles\n node.x = radius * Math.sin(rollAngle) * Math.cos(yawAngle);\n node.y = radius * Math.cos(rollAngle);\n node.z = radius * Math.sin(rollAngle) * Math.sin(yawAngle);\n }\n }\n if (isNaN(node.vx) || (nDim > 1 && isNaN(node.vy)) || (nDim > 2 && isNaN(node.vz))) {\n node.vx = 0;\n if (nDim > 1) { node.vy = 0; }\n if (nDim > 2) { node.vz = 0; }\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes, random, nDim);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n numDimensions: function(_) {\n return arguments.length\n ? (nDim = Math.min(MAX_DIMENSIONS, Math.max(1, Math.round(_))), forces.forEach(initializeForce), simulation)\n : nDim;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.forEach(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n randomSource: function(_) {\n return arguments.length ? (random = _, forces.forEach(initializeForce), simulation) : random;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.delete(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function() {\n var args = Array.prototype.slice.call(arguments);\n var x = args.shift() || 0,\n y = (nDim > 1 ? args.shift() : null) || 0,\n z = (nDim > 2 ? args.shift() : null) || 0,\n radius = args.shift() || Infinity;\n\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n dz,\n d2,\n node,\n closest;\n\n radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - (node.y || 0);\n dz = z - (node.z ||0);\n d2 = dx * dx + dy * dy + dz * dz;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n}\n","import {binarytree} from \"d3-binarytree\";\nimport {quadtree} from \"d3-quadtree\";\nimport {octree} from \"d3-octree\";\nimport constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\nimport {x, y, z} from \"./simulation.js\";\n\nexport default function() {\n var nodes,\n nDim,\n node,\n random,\n alpha,\n strength = constant(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i,\n n = nodes.length,\n tree =\n (nDim === 1 ? binarytree(nodes, x)\n :(nDim === 2 ? quadtree(nodes, x, y)\n :(nDim === 3 ? octree(nodes, x, y, z)\n :null\n ))).visitAfter(accumulate);\n\n for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n strengths = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);\n }\n\n function accumulate(treeNode) {\n var strength = 0, q, c, weight = 0, x, y, z, i;\n var numChildren = treeNode.length;\n\n // For internal nodes, accumulate forces from children.\n if (numChildren) {\n for (x = y = z = i = 0; i < numChildren; ++i) {\n if ((q = treeNode[i]) && (c = Math.abs(q.value))) {\n strength += q.value, weight += c, x += c * (q.x || 0), y += c * (q.y || 0), z += c * (q.z || 0);\n }\n }\n strength *= Math.sqrt(4 / numChildren); // scale accumulated strength according to number of dimensions\n\n treeNode.x = x / weight;\n if (nDim > 1) { treeNode.y = y / weight; }\n if (nDim > 2) { treeNode.z = z / weight; }\n }\n\n // For leaf nodes, accumulate forces from coincident nodes.\n else {\n q = treeNode;\n q.x = q.data.x;\n if (nDim > 1) { q.y = q.data.y; }\n if (nDim > 2) { q.z = q.data.z; }\n do strength += strengths[q.data.index];\n while (q = q.next);\n }\n\n treeNode.value = strength;\n }\n\n function apply(treeNode, x1, arg1, arg2, arg3) {\n if (!treeNode.value) return true;\n var x2 = [arg1, arg2, arg3][nDim-1];\n\n var x = treeNode.x - node.x,\n y = (nDim > 1 ? treeNode.y - node.y : 0),\n z = (nDim > 2 ? treeNode.z - node.z : 0),\n w = x2 - x1,\n l = x * x + y * y + z * z;\n\n // Apply the Barnes-Hut approximation if possible.\n // Limit forces for very close nodes; randomize direction if coincident.\n if (w * w / theta2 < l) {\n if (l < distanceMax2) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (nDim > 1 && y === 0) y = jiggle(random), l += y * y;\n if (nDim > 2 && z === 0) z = jiggle(random), l += z * z;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n node.vx += x * treeNode.value * alpha / l;\n if (nDim > 1) { node.vy += y * treeNode.value * alpha / l; }\n if (nDim > 2) { node.vz += z * treeNode.value * alpha / l; }\n }\n return true;\n }\n\n // Otherwise, process points directly.\n else if (treeNode.length || l >= distanceMax2) return;\n\n // Limit forces for very close nodes; randomize direction if coincident.\n if (treeNode.data !== node || treeNode.next) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (nDim > 1 && y === 0) y = jiggle(random), l += y * y;\n if (nDim > 2 && z === 0) z = jiggle(random), l += z * z;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n }\n\n do if (treeNode.data !== node) {\n w = strengths[treeNode.data.index] * alpha / l;\n node.vx += x * w;\n if (nDim > 1) { node.vy += y * w; }\n if (nDim > 2) { node.vz += z * w; }\n } while (treeNode = treeNode.next);\n }\n\n force.initialize = function(_nodes, ...args) {\n nodes = _nodes;\n random = args.find(arg => typeof arg === 'function') || Math.random;\n nDim = args.find(arg => [1, 2, 3].includes(arg)) || 2;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.distanceMin = function(_) {\n return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);\n };\n\n force.distanceMax = function(_) {\n return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);\n };\n\n force.theta = function(_) {\n return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);\n };\n\n return force;\n}\n","import constant from \"./constant.js\";\n\nexport default function(radius, x, y, z) {\n var nodes,\n nDim,\n strength = constant(0.1),\n strengths,\n radiuses;\n\n if (typeof radius !== \"function\") radius = constant(+radius);\n if (x == null) x = 0;\n if (y == null) y = 0;\n if (z == null) z = 0;\n\n function force(alpha) {\n for (var i = 0, n = nodes.length; i < n; ++i) {\n var node = nodes[i],\n dx = node.x - x || 1e-6,\n dy = (node.y || 0) - y || 1e-6,\n dz = (node.z || 0) - z || 1e-6,\n r = Math.sqrt(dx * dx + dy * dy + dz * dz),\n k = (radiuses[i] - r) * strengths[i] * alpha / r;\n node.vx += dx * k;\n if (nDim>1) { node.vy += dy * k; }\n if (nDim>2) { node.vz += dz * k; }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n radiuses = new Array(n);\n for (i = 0; i < n; ++i) {\n radiuses[i] = +radius(nodes[i], i, nodes);\n strengths[i] = isNaN(radiuses[i]) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(initNodes, ...args) {\n nodes = initNodes;\n nDim = args.find(arg => [1, 2, 3].includes(arg)) || 2;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n force.z = function(_) {\n return arguments.length ? (z = +_, force) : z;\n };\n\n return force;\n}\n","import constant from \"./constant.js\";\n\nexport default function(x) {\n var strength = constant(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = constant(x == null ? 0 : +x);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n xz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : x;\n };\n\n return force;\n}\n","import constant from \"./constant.js\";\n\nexport default function(y) {\n var strength = constant(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = constant(y == null ? 0 : +y);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n yz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : y;\n };\n\n return force;\n}\n","import constant from \"./constant.js\";\n\nexport default function(z) {\n var strength = constant(0.1),\n nodes,\n strengths,\n zz;\n\n if (typeof z !== \"function\") z = constant(z == null ? 0 : +z);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vz += (zz[i] - node.z) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n zz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(zz[i] = +z(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.z = function(_) {\n return arguments.length ? (z = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : z;\n };\n\n return force;\n}\n","import { InternalGraphEdge, InternalGraphNode } from '../types';\n\nexport interface DepthNode {\n data: InternalGraphNode;\n ins: DepthNode[];\n out: DepthNode[];\n depth: number;\n}\n\n/**\n * Traverse the graph and get the depth of each node.\n */\nfunction traverseGraph(nodes: DepthNode[], nodeStack: DepthNode[] = []) {\n const currentDepth = nodeStack.length;\n\n for (const node of nodes) {\n const idx = nodeStack.indexOf(node);\n if (idx > -1) {\n const loop = [...nodeStack.slice(idx), node].map(d => d.data.id);\n throw new Error(\n `Invalid Graph: Circular node path detected: ${loop.join(' -> ')}.`\n );\n }\n\n if (currentDepth > node.depth) {\n node.depth = currentDepth;\n traverseGraph(node.out, [...nodeStack, node]);\n }\n }\n}\n\n/**\n * Gets the depth of the graph's nodes. Used in the radial layout.\n */\nexport function getNodeDepth(\n nodes: InternalGraphNode[],\n links: InternalGraphEdge[]\n) {\n let invalid = false;\n\n const graph: { [key: string]: DepthNode } = nodes.reduce(\n (acc, cur) => ({\n ...acc,\n [cur.id]: {\n data: cur,\n out: [],\n depth: -1,\n ins: []\n }\n }),\n {}\n );\n\n try {\n for (const link of links) {\n const from = link.source;\n const to = link.target;\n\n if (!graph.hasOwnProperty(from)) {\n throw new Error(`Missing source Node ${from}`);\n }\n\n if (!graph.hasOwnProperty(to)) {\n throw new Error(`Missing target Node ${to}`);\n }\n\n const sourceNode = graph[from];\n const targetNode = graph[to];\n targetNode.ins.push(sourceNode);\n sourceNode.out.push(targetNode);\n }\n\n traverseGraph(Object.values(graph));\n } catch (e) {\n invalid = true;\n }\n\n const allDepths = Object.keys(graph).map(id => graph[id].depth);\n const maxDepth = Math.max(...allDepths);\n\n return {\n invalid,\n depths: graph,\n maxDepth: maxDepth || 1\n };\n}\n","import { forceRadial as d3ForceRadial } from 'd3-force-3d';\nimport { InternalGraphEdge, InternalGraphNode } from 'types';\nimport { getNodeDepth } from './depthUtils';\n\nconst RADIALS: DagMode[] = ['radialin', 'radialout'];\n\nexport type DagMode =\n | 'lr'\n | 'rl'\n | 'td'\n | 'but'\n | 'zout'\n | 'zin'\n | 'radialin'\n | 'radialout';\n\nexport interface ForceRadialInputs {\n nodes: InternalGraphNode[];\n edges: InternalGraphEdge[];\n mode: DagMode;\n nodeLevelRatio: number;\n}\n\n/**\n * Radial graph layout using D3 Force 3d.\n * Inspired by: https://github.com/vasturiano/three-forcegraph/blob/master/src/forcegraph-kapsule.js#L970-L1018\n */\nexport function forceRadial({\n nodes,\n edges,\n mode = 'lr',\n nodeLevelRatio = 2\n}: ForceRadialInputs) {\n const { depths, maxDepth, invalid } = getNodeDepth(nodes, edges);\n\n if (invalid) {\n return null;\n }\n\n const modeDistance = RADIALS.includes(mode) ? 1 : 5;\n const dagLevelDistance =\n (nodes.length / maxDepth) * nodeLevelRatio * modeDistance;\n\n if (mode) {\n const getFFn =\n (fix: boolean, invert: boolean) => (node: InternalGraphNode) =>\n !fix\n ? undefined\n : (depths[node.id].depth - maxDepth / 2) *\n dagLevelDistance *\n (invert ? -1 : 1);\n\n const fxFn = getFFn(['lr', 'rl'].includes(mode), mode === 'rl');\n const fyFn = getFFn(['td', 'bu'].includes(mode), mode === 'td');\n const fzFn = getFFn(['zin', 'zout'].includes(mode), mode === 'zout');\n\n nodes.forEach(node => {\n node.fx = fxFn(node);\n node.fy = fyFn(node);\n node.fz = fzFn(node);\n });\n }\n\n return RADIALS.includes(mode)\n ? d3ForceRadial(node => {\n const nodeDepth = depths[node.id];\n const depth =\n mode === 'radialin' ? maxDepth - nodeDepth.depth : nodeDepth.depth;\n return depth * dagLevelDistance;\n }).strength(1)\n : null;\n}\n","function cluster () {\n var centers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {\n return {\n x: 0,\n y: 0,\n z: 0\n };\n };\n var nDim,\n nodes,\n centerpoints = [],\n strength = 0.1,\n centerInertia = 0.0;\n function force(alpha) {\n alpha *= strength * alpha;\n var c, x, y, z, l, r;\n nodes.forEach(function (d, i) {\n c = centerpoints[i];\n if (!c || c === d) return;\n x = d.x - c.x;\n y = nDim > 1 ? d.y - c.y : 0;\n z = nDim > 2 ? d.z - c.z : 0;\n l = Math.sqrt(x * x + y * y + z * z);\n r = d.radius + (c.radius || 0);\n if (l && l !== r) {\n l = (l - r) / l * alpha;\n d.x -= x *= l;\n c.x += (1 - centerInertia) * x;\n if (nDim > 1) {\n d.y -= y *= l;\n c.y += (1 - centerInertia) * y;\n }\n if (nDim > 2) {\n d.z -= z *= l;\n c.z += (1 - centerInertia) * z;\n }\n }\n });\n }\n function initialize() {\n centerpoints = (nodes || []).map(centers);\n }\n force.initialize = function (initNodes) {\n nodes = initNodes;\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n nDim = args.find(function (arg) {\n return [1, 2, 3].includes(arg);\n }) || 2;\n initialize();\n };\n force.centers = function (_) {\n return arguments.length ? (centers = _, initialize(), force) : centers;\n };\n force.strength = function (_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n force.centerInertia = function (_) {\n return arguments.length ? (centerInertia = +_, force) : centerInertia;\n };\n return force;\n}\n\nexport { cluster as default };\n","import {\n forceSimulation as d3ForceSimulation,\n forceLink as d3ForceLink,\n forceCollide,\n forceManyBody as d3ForceManyBody,\n forceX as d3ForceX,\n forceY as d3ForceY,\n forceZ as d3ForceZ\n} from 'd3-force-3d';\nimport { InternalGraphEdge, InternalGraphNode } from '../types';\nimport { forceRadial, DagMode } from './forceUtils';\nimport { LayoutFactoryProps, LayoutStrategy } from './types';\nimport forceCluster from 'd3-force-cluster-3d';\n\nexport interface ForceDirectedLayoutInputs extends LayoutFactoryProps {\n /**\n * Number of dimensions for the layout. 2d or 3d.\n */\n dimensions?: number;\n\n /**\n * Mode for the dag layout. Only applicable for dag layouts.\n */\n mode?: DagMode;\n\n /**\n * Distance between links.\n */\n linkDistance?: number;\n\n /**\n * Strength of the node repulsion.\n */\n nodeStrength?: number;\n\n /**\n * Padding between clusters.\n */\n clusterPadding?: number;\n\n /**\n * Strength of the cluster repulsion.\n */\n clusterStrength?: number;\n\n /**\n * Ratio of the distance between nodes on the same level.\n */\n nodeLevelRatio?: number;\n}\n\nconst TICK_COUNT = 100;\n\nexport function forceDirected({\n graph,\n nodeLevelRatio = 2,\n mode = null,\n dimensions = 2,\n nodeStrength = -250,\n linkDistance = 50,\n clusterPadding = 10,\n clusterStrength = 0.5,\n drags,\n clusterAttribute\n}: ForceDirectedLayoutInputs): LayoutStrategy {\n const cluster = new Map();\n const nodes: InternalGraphNode[] = [];\n const edges: InternalGraphEdge[] = [];\n\n graph.forEachNode((id, n: any) => {\n nodes.push({\n ...n,\n id,\n // This is for the clustering\n radius: n.size || 1\n });\n });\n\n graph.forEachEdge((id, l: any) => {\n edges.push({ ...l, id });\n });\n\n // Dynamically adjust node strength based on the number of edges\n const is2d = dimensions === 2;\n const nodeStrengthAdjustment =\n is2d && edges.length > 25 ? nodeStrength * 2 : nodeStrength;\n\n // Create the simulation\n const sim = d3ForceSimulation()\n .force('link', d3ForceLink())\n .force('charge', d3ForceManyBody().strength(nodeStrengthAdjustment))\n .force('x', d3ForceX())\n .force('y', d3ForceY())\n .force('z', d3ForceZ())\n // Handles nodes not overlapping each other ( most relevant in clustering )\n .force(\n 'collide',\n forceCollide(d => d.radius + clusterPadding)\n )\n .force(\n 'dagRadial',\n forceRadial({\n nodes,\n edges,\n mode,\n nodeLevelRatio\n })\n )\n .stop();\n\n // Initialize the simulation\n const layout = sim\n .numDimensions(dimensions)\n .nodes(nodes)\n .force(\n 'cluster',\n forceCluster()\n .centers(node => {\n // Happens after nodes passed so they have the x/y/z\n if (clusterAttribute) {\n const nodeClusterAttr = node?.data?.[clusterAttribute];\n const centerNode = cluster.get(nodeClusterAttr);\n\n if (!centerNode) {\n const largestNode = nodes.reduce((last: any, cur: any) => {\n if (cur?.data?.[clusterAttribute] === nodeClusterAttr) {\n return cur.radius > last.radius ? cur : last;\n }\n return last;\n }, node);\n\n cluster.set(nodeClusterAttr, largestNode);\n return largestNode;\n }\n\n return centerNode;\n }\n })\n .strength(clusterStrength)\n );\n\n // Run the force on the links\n const linkForce = layout.force('link');\n if (linkForce) {\n linkForce\n .id(d => d.id)\n .links(edges)\n // When no mode passed, its a tree layout\n // so let's use a larger distance\n .distance(linkDistance);\n }\n\n const nodeMap = new Map(nodes.map(n => [n.id, n]));\n\n return {\n step() {\n // Run the ticker 100 times so\n // we don't overdo the animation\n sim.tick(TICK_COUNT);\n return true;\n },\n getNodePosition(id: string) {\n // If we dragged, we need to use that position\n return (drags?.[id]?.position as any) || nodeMap.get(id);\n }\n };\n}\n","/**\n * Graphology Defaults\n * ====================\n *\n * Helper function used throughout the standard lib to resolve defaults.\n */\nfunction isLeaf(o) {\n return (\n !o ||\n typeof o !== 'object' ||\n typeof o === 'function' ||\n Array.isArray(o) ||\n o instanceof Set ||\n o instanceof Map ||\n o instanceof RegExp ||\n o instanceof Date\n );\n}\n\nfunction resolveDefaults(target, defaults) {\n target = target || {};\n\n var output = {};\n\n for (var k in defaults) {\n var existing = target[k];\n var def = defaults[k];\n\n // Recursion\n if (!isLeaf(def)) {\n output[k] = resolveDefaults(existing, def);\n\n continue;\n }\n\n // Leaf\n if (existing === undefined) {\n output[k] = def;\n } else {\n output[k] = existing;\n }\n }\n\n return output;\n}\n\nmodule.exports = resolveDefaults;\n","/**\n * Graphology isGraph\n * ===================\n *\n * Very simple function aiming at ensuring the given variable is a\n * graphology instance.\n */\n\n/**\n * Checking the value is a graphology instance.\n *\n * @param {any} value - Target value.\n * @return {boolean}\n */\nmodule.exports = function isGraph(value) {\n return (\n value !== null &&\n typeof value === 'object' &&\n typeof value.addUndirectedEdgeWithKey === 'function' &&\n typeof value.dropNode === 'function' &&\n typeof value.multi === 'boolean'\n );\n};\n","/**\n * Graphology Circular Layout\n * ===========================\n *\n * Layout arranging the nodes in a circle.\n */\nvar resolveDefaults = require('graphology-utils/defaults');\nvar isGraph = require('graphology-utils/is-graph');\n\n/**\n * Default options.\n */\nvar DEFAULTS = {\n dimensions: ['x', 'y'],\n center: 0.5,\n scale: 1\n};\n\n/**\n * Abstract function running the layout.\n *\n * @param {Graph} graph - Target graph.\n * @param {object} [options] - Options:\n * @param {object} [attributes] - Attributes names to map.\n * @param {number} [center] - Center of the layout.\n * @param {number} [scale] - Scale of the layout.\n * @return {object} - The positions by node.\n */\nfunction genericCircularLayout(assign, graph, options) {\n if (!isGraph(graph))\n throw new Error(\n 'graphology-layout/random: the given graph is not a valid graphology instance.'\n );\n\n options = resolveDefaults(options, DEFAULTS);\n\n var dimensions = options.dimensions;\n\n if (!Array.isArray(dimensions) || dimensions.length !== 2)\n throw new Error('graphology-layout/random: given dimensions are invalid.');\n\n var center = options.center;\n var scale = options.scale;\n var tau = Math.PI * 2;\n\n var offset = (center - 0.5) * scale;\n var l = graph.order;\n\n var x = dimensions[0];\n var y = dimensions[1];\n\n function assignPosition(i, target) {\n target[x] = scale * Math.cos((i * tau) / l) + offset;\n target[y] = scale * Math.sin((i * tau) / l) + offset;\n\n return target;\n }\n\n var i = 0;\n\n if (!assign) {\n var positions = {};\n\n graph.forEachNode(function (node) {\n positions[node] = assignPosition(i++, {});\n });\n\n return positions;\n }\n\n graph.updateEachNodeAttributes(\n function (_, attr) {\n assignPosition(i++, attr);\n return attr;\n },\n {\n attributes: dimensions\n }\n );\n}\n\nvar circularLayout = genericCircularLayout.bind(null, false);\ncircularLayout.assign = genericCircularLayout.bind(null, true);\n\nmodule.exports = circularLayout;\n","import circular from 'graphology-layout/circular';\nimport { LayoutFactoryProps } from './types';\n\nexport interface CircularLayoutInputs extends LayoutFactoryProps {\n /**\n * Radius of the circle.\n */\n radius: 300;\n}\n\nexport function circular2d({ graph, radius, drags }: CircularLayoutInputs) {\n const layout = circular(graph, {\n scale: radius\n });\n\n return {\n step() {\n return true;\n },\n getNodePosition(id: string) {\n // If we dragged, we need to use that position\n return (drags?.[id]?.position as any) || layout?.[id];\n }\n };\n}\n","function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], children, i, index = -1;\n while (node = nodes.pop()) {\n callback.call(that, node, ++index, this);\n if (children = node.children) {\n for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], next = [], children, i, n, index = -1;\n while (node = nodes.pop()) {\n next.push(node);\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n }\n while (node = next.pop()) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n if (callback.call(that, node, ++index, this)) {\n return node;\n }\n }\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","export default function*() {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n yield node;\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n }\n } while (next.length);\n}\n","import node_count from \"./count.js\";\nimport node_each from \"./each.js\";\nimport node_eachBefore from \"./eachBefore.js\";\nimport node_eachAfter from \"./eachAfter.js\";\nimport node_find from \"./find.js\";\nimport node_sum from \"./sum.js\";\nimport node_sort from \"./sort.js\";\nimport node_path from \"./path.js\";\nimport node_ancestors from \"./ancestors.js\";\nimport node_descendants from \"./descendants.js\";\nimport node_leaves from \"./leaves.js\";\nimport node_links from \"./links.js\";\nimport node_iterator from \"./iterator.js\";\n\nexport default function hierarchy(data, children) {\n if (data instanceof Map) {\n data = [undefined, data];\n if (children === undefined) children = mapChildren;\n } else if (children === undefined) {\n children = objectChildren;\n }\n\n var root = new Node(data),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n while (node = nodes.pop()) {\n if ((childs = children(node.data)) && (n = (childs = Array.from(childs)).length)) {\n node.children = childs;\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = childs[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction objectChildren(d) {\n return d.children;\n}\n\nfunction mapChildren(d) {\n return Array.isArray(d) ? d[1] : null;\n}\n\nfunction copyData(node) {\n if (node.data.value !== undefined) node.value = node.data.value;\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n find: node_find,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy,\n [Symbol.iterator]: node_iterator\n};\n","export function optional(f) {\n return f == null ? null : required(f);\n}\n\nexport function required(f) {\n if (typeof f !== \"function\") throw new Error;\n return f;\n}\n","import {optional} from \"./accessors.js\";\nimport {Node, computeHeight} from \"./hierarchy/index.js\";\n\nvar preroot = {depth: -1},\n ambiguous = {},\n imputed = {};\n\nfunction defaultId(d) {\n return d.id;\n}\n\nfunction defaultParentId(d) {\n return d.parentId;\n}\n\nexport default function() {\n var id = defaultId,\n parentId = defaultParentId,\n path;\n\n function stratify(data) {\n var nodes = Array.from(data),\n currentId = id,\n currentParentId = parentId,\n n,\n d,\n i,\n root,\n parent,\n node,\n nodeId,\n nodeKey,\n nodeByKey = new Map;\n\n if (path != null) {\n const I = nodes.map((d, i) => normalize(path(d, i, data)));\n const P = I.map(parentof);\n const S = new Set(I).add(\"\");\n for (const i of P) {\n if (!S.has(i)) {\n S.add(i);\n I.push(i);\n P.push(parentof(i));\n nodes.push(imputed);\n }\n }\n currentId = (_, i) => I[i];\n currentParentId = (_, i) => P[i];\n }\n\n for (i = 0, n = nodes.length; i < n; ++i) {\n d = nodes[i], node = nodes[i] = new Node(d);\n if ((nodeId = currentId(d, i, data)) != null && (nodeId += \"\")) {\n nodeKey = node.id = nodeId;\n nodeByKey.set(nodeKey, nodeByKey.has(nodeKey) ? ambiguous : node);\n }\n if ((nodeId = currentParentId(d, i, data)) != null && (nodeId += \"\")) {\n node.parent = nodeId;\n }\n }\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (nodeId = node.parent) {\n parent = nodeByKey.get(nodeId);\n if (!parent) throw new Error(\"missing: \" + nodeId);\n if (parent === ambiguous) throw new Error(\"ambiguous: \" + nodeId);\n if (parent.children) parent.children.push(node);\n else parent.children = [node];\n node.parent = parent;\n } else {\n if (root) throw new Error(\"multiple roots\");\n root = node;\n }\n }\n\n if (!root) throw new Error(\"no root\");\n\n // When imputing internal nodes, only introduce roots if needed.\n // Then replace the imputed marker data with null.\n if (path != null) {\n while (root.data === imputed && root.children.length === 1) {\n root = root.children[0], --n;\n }\n for (let i = nodes.length - 1; i >= 0; --i) {\n node = nodes[i];\n if (node.data !== imputed) break;\n node.data = null;\n }\n }\n\n root.parent = preroot;\n root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight);\n root.parent = null;\n if (n > 0) throw new Error(\"cycle\");\n\n return root;\n }\n\n stratify.id = function(x) {\n return arguments.length ? (id = optional(x), stratify) : id;\n };\n\n stratify.parentId = function(x) {\n return arguments.length ? (parentId = optional(x), stratify) : parentId;\n };\n\n stratify.path = function(x) {\n return arguments.length ? (path = optional(x), stratify) : path;\n };\n\n return stratify;\n}\n\n// To normalize a path, we coerce to a string, strip the trailing slash if any\n// (as long as the trailing slash is not immediately preceded by another slash),\n// and add leading slash if missing.\nfunction normalize(path) {\n path = `${path}`;\n let i = path.length;\n if (slash(path, i - 1) && !slash(path, i - 2)) path = path.slice(0, -1);\n return path[0] === \"/\" ? path : `/${path}`;\n}\n\n// Walk backwards to find the first slash that is not the leading slash, e.g.:\n// \"/foo/bar\" ⇥ \"/foo\", \"/foo\" ⇥ \"/\", \"/\" ↦ \"\". (The root is special-cased\n// because the id of the root must be a truthy value.)\nfunction parentof(path) {\n let i = path.length;\n if (i < 2) return \"\";\n while (--i > 1) if (slash(path, i)) break;\n return path.slice(0, i);\n}\n\n// Slashes can be escaped; to determine whether a slash is a path delimiter, we\n// count the number of preceding backslashes escaping the forward slash: an odd\n// number indicates an escaped forward slash.\nfunction slash(path, i) {\n if (path[i] === \"/\") {\n let k = 0;\n while (i > 0 && path[--i] === \"\\\\\") ++k;\n if ((k & 1) === 0) return true;\n }\n return false;\n}\n","import {Node} from \"./hierarchy/index.js\";\n\nfunction defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\n// function radialSeparation(a, b) {\n// return (a.parent === b.parent ? 1 : 2) / a.depth;\n// }\n\n// This function is used to traverse the left contour of a subtree (or\n// subforest). It returns the successor of v on this contour. This successor is\n// either given by the leftmost child of v or by the thread of v. The function\n// returns null if and only if v is on the highest level of its subtree.\nfunction nextLeft(v) {\n var children = v.children;\n return children ? children[0] : v.t;\n}\n\n// This function works analogously to nextLeft.\nfunction nextRight(v) {\n var children = v.children;\n return children ? children[children.length - 1] : v.t;\n}\n\n// Shifts the current subtree rooted at w+. This is done by increasing\n// prelim(w+) and mod(w+) by shift.\nfunction moveSubtree(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n}\n\n// All other shifts, applied to the smaller subtrees between w- and w+, are\n// performed by this function. To prepare the shifts, we have to adjust\n// change(w+), shift(w+), and change(w-).\nfunction executeShifts(v) {\n var shift = 0,\n change = 0,\n children = v.children,\n i = children.length,\n w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n}\n\n// If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise,\n// returns the specified (default) ancestor.\nfunction nextAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n}\n\nfunction TreeNode(node, i) {\n this._ = node;\n this.parent = null;\n this.children = null;\n this.A = null; // default ancestor\n this.a = this; // ancestor\n this.z = 0; // prelim\n this.m = 0; // mod\n this.c = 0; // change\n this.s = 0; // shift\n this.t = null; // thread\n this.i = i; // number\n}\n\nTreeNode.prototype = Object.create(Node.prototype);\n\nfunction treeRoot(root) {\n var tree = new TreeNode(root, 0),\n node,\n nodes = [tree],\n child,\n children,\n i,\n n;\n\n while (node = nodes.pop()) {\n if (children = node._.children) {\n node.children = new Array(n = children.length);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new TreeNode(children[i], i));\n child.parent = node;\n }\n }\n }\n\n (tree.parent = new TreeNode(null, 0)).children = [tree];\n return tree;\n}\n\n// Node-link tree diagram using the Reingold-Tilford \"tidy\" algorithm\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = null;\n\n function tree(root) {\n var t = treeRoot(root);\n\n // Compute the layout using Buchheim et al.’s algorithm.\n t.eachAfter(firstWalk), t.parent.m = -t.z;\n t.eachBefore(secondWalk);\n\n // If a fixed node size is specified, scale x and y.\n if (nodeSize) root.eachBefore(sizeNode);\n\n // If a fixed tree size is specified, scale x and y based on the extent.\n // Compute the left-most, right-most, and depth-most nodes for extents.\n else {\n var left = root,\n right = root,\n bottom = root;\n root.eachBefore(function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var s = left === right ? 1 : separation(left, right) / 2,\n tx = s - left.x,\n kx = dx / (right.x + s + tx),\n ky = dy / (bottom.depth || 1);\n root.eachBefore(function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n\n return root;\n }\n\n // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is\n // applied recursively to the children of v, as well as the function\n // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the\n // node v is placed to the midpoint of its outermost children.\n function firstWalk(v) {\n var children = v.children,\n siblings = v.parent.children,\n w = v.i ? siblings[v.i - 1] : null;\n if (children) {\n executeShifts(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n\n // Computes all real x-coordinates by summing up the modifiers recursively.\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n\n // The core of the algorithm. Here, a new subtree is combined with the\n // previous subtrees. Threads are used to traverse the inside and outside\n // contours of the left and right subtree up to the highest common level. The\n // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the\n // superscript o means outside and i means inside, the subscript - means left\n // subtree and + means right subtree. For summing up the modifiers along the\n // contour, we use respective variables si+, si-, so-, and so+. Whenever two\n // nodes of the inside contours conflict, we compute the left one of the\n // greatest uncommon ancestors using the function ANCESTOR and call MOVE\n // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees.\n // Finally, we add a new thread (if necessary).\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v,\n vop = v,\n vim = w,\n vom = vip.parent.children[0],\n sip = vip.m,\n sop = vop.m,\n sim = vim.m,\n som = vom.m,\n shift;\n while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {\n vom = nextLeft(vom);\n vop = nextRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n moveSubtree(nextAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !nextRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !nextLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n\n function sizeNode(node) {\n node.x *= dx;\n node.y = node.depth * dy;\n }\n\n tree.separation = function(x) {\n return arguments.length ? (separation = x, tree) : separation;\n };\n\n tree.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]);\n };\n\n tree.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null);\n };\n\n return tree;\n}\n","import { InternalGraphEdge, InternalGraphNode } from 'types';\nimport { DepthNode, getNodeDepth } from './depthUtils';\nimport { LayoutFactoryProps, LayoutStrategy } from './types';\nimport { hierarchy, stratify, tree } from 'd3-hierarchy';\n\nexport interface HierarchicalLayoutInputs extends LayoutFactoryProps {\n /**\n * Direction of the layout.\n */\n mode?: 'td' | 'lr';\n}\n\nconst DIRECTION_MAP = {\n td: {\n x: 'x',\n y: 'y',\n factor: -1\n },\n lr: {\n x: 'y',\n y: 'x',\n factor: 1\n }\n};\n\nexport function hierarchical({\n graph,\n drags,\n mode = 'td'\n}: HierarchicalLayoutInputs): LayoutStrategy {\n const nodes: InternalGraphNode[] = [];\n const edges: InternalGraphEdge[] = [];\n\n graph.forEachNode((id, n: any) => {\n nodes.push({ ...n, id });\n });\n\n graph.forEachEdge((id, l: any) => {\n edges.push({ ...l, id });\n });\n\n const { depths } = getNodeDepth(nodes, edges);\n const rootNodes = Object.keys(depths).map(d => depths[d]);\n\n const root = stratify()\n .id(d => d.data.id)\n .parentId(d => d.ins?.[0]?.data?.id)(rootNodes);\n\n const treeRoot = tree()\n .separation(() => 1)\n .nodeSize([50, 50])(hierarchy(root));\n\n const treeNodes = treeRoot.descendants();\n const path = DIRECTION_MAP[mode];\n\n const mappedNodes = new Map(\n nodes.map(n => {\n const { x, y } = treeNodes.find((t: any) => t.data.id === n.id);\n return [\n n.id,\n {\n ...n,\n [path.x]: x * path.factor,\n [path.y]: y * path.factor,\n z: 0\n }\n ];\n })\n );\n\n return {\n step() {\n return true;\n },\n getNodePosition(id: string) {\n // If we dragged, we need to use that position\n return (drags?.[id]?.position as any) || mappedNodes.get(id);\n }\n };\n}\n","/**\n * Graphology Noverlap Iteration\n * ==============================\n *\n * Function used to perform a single iteration of the algorithm.\n */\n\n/**\n * Matrices properties accessors.\n */\nvar NODE_X = 0,\n NODE_Y = 1,\n NODE_SIZE = 2;\n\n/**\n * Constants.\n */\nvar PPN = 3;\n\n/**\n * Helpers.\n */\nfunction hashPair(a, b) {\n return a + '§' + b;\n}\n\nfunction jitter() {\n return 0.01 * (0.5 - Math.random());\n}\n\n/**\n * Function used to perform a single interation of the algorithm.\n *\n * @param {object} options - Layout options.\n * @param {Float32Array} NodeMatrix - Node data.\n * @return {object} - Some metadata.\n */\nmodule.exports = function iterate(options, NodeMatrix) {\n // Caching options\n var margin = options.margin;\n var ratio = options.ratio;\n var expansion = options.expansion;\n var gridSize = options.gridSize; // TODO: decrease grid size when few nodes?\n var speed = options.speed;\n\n // Generic iteration variables\n var i, j, x, y, l, size;\n var converged = true;\n\n var length = NodeMatrix.length;\n var order = (length / PPN) | 0;\n\n var deltaX = new Float32Array(order);\n var deltaY = new Float32Array(order);\n\n // Finding the extents of our space\n var xMin = Infinity;\n var yMin = Infinity;\n var xMax = -Infinity;\n var yMax = -Infinity;\n\n for (i = 0; i < length; i += PPN) {\n x = NodeMatrix[i + NODE_X];\n y = NodeMatrix[i + NODE_Y];\n size = NodeMatrix[i + NODE_SIZE] * ratio + margin;\n\n xMin = Math.min(xMin, x - size);\n xMax = Math.max(xMax, x + size);\n yMin = Math.min(yMin, y - size);\n yMax = Math.max(yMax, y + size);\n }\n\n var width = xMax - xMin;\n var height = yMax - yMin;\n var xCenter = (xMin + xMax) / 2;\n var yCenter = (yMin + yMax) / 2;\n\n xMin = xCenter - (expansion * width) / 2;\n xMax = xCenter + (expansion * width) / 2;\n yMin = yCenter - (expansion * height) / 2;\n yMax = yCenter + (expansion * height) / 2;\n\n // Building grid\n var grid = new Array(gridSize * gridSize),\n gridLength = grid.length,\n c;\n\n for (c = 0; c < gridLength; c++) grid[c] = [];\n\n var nxMin, nxMax, nyMin, nyMax;\n var xMinBox, xMaxBox, yMinBox, yMaxBox;\n\n var col, row;\n\n for (i = 0; i < length; i += PPN) {\n x = NodeMatrix[i + NODE_X];\n y = NodeMatrix[i + NODE_Y];\n size = NodeMatrix[i + NODE_SIZE] * ratio + margin;\n\n nxMin = x - size;\n nxMax = x + size;\n nyMin = y - size;\n nyMax = y + size;\n\n xMinBox = Math.floor((gridSize * (nxMin - xMin)) / (xMax - xMin));\n xMaxBox = Math.floor((gridSize * (nxMax - xMin)) / (xMax - xMin));\n yMinBox = Math.floor((gridSize * (nyMin - yMin)) / (yMax - yMin));\n yMaxBox = Math.floor((gridSize * (nyMax - yMin)) / (yMax - yMin));\n\n for (col = xMinBox; col <= xMaxBox; col++) {\n for (row = yMinBox; row <= yMaxBox; row++) {\n grid[col * gridSize + row].push(i);\n }\n }\n }\n\n // Computing collisions\n var cell;\n\n var collisions = new Set();\n\n var n1, n2, x1, x2, y1, y2, s1, s2, h;\n\n var xDist, yDist, dist, collision;\n\n for (c = 0; c < gridLength; c++) {\n cell = grid[c];\n\n for (i = 0, l = cell.length; i < l; i++) {\n n1 = cell[i];\n\n x1 = NodeMatrix[n1 + NODE_X];\n y1 = NodeMatrix[n1 + NODE_Y];\n s1 = NodeMatrix[n1 + NODE_SIZE];\n\n for (j = i + 1; j < l; j++) {\n n2 = cell[j];\n h = hashPair(n1, n2);\n\n if (gridLength > 1 && collisions.has(h)) continue;\n\n if (gridLength > 1) collisions.add(h);\n\n x2 = NodeMatrix[n2 + NODE_X];\n y2 = NodeMatrix[n2 + NODE_Y];\n s2 = NodeMatrix[n2 + NODE_SIZE];\n\n xDist = x2 - x1;\n yDist = y2 - y1;\n dist = Math.sqrt(xDist * xDist + yDist * yDist);\n collision = dist < s1 * ratio + margin + (s2 * ratio + margin);\n\n if (collision) {\n converged = false;\n\n n2 = (n2 / PPN) | 0;\n\n if (dist > 0) {\n deltaX[n2] += (xDist / dist) * (1 + s1);\n deltaY[n2] += (yDist / dist) * (1 + s1);\n } else {\n // Nodes are on the exact same spot, we need to jitter a bit\n deltaX[n2] += width * jitter();\n deltaY[n2] += height * jitter();\n }\n }\n }\n }\n }\n\n for (i = 0, j = 0; i < length; i += PPN, j++) {\n NodeMatrix[i + NODE_X] += deltaX[j] * 0.1 * speed;\n NodeMatrix[i + NODE_Y] += deltaY[j] * 0.1 * speed;\n }\n\n return {converged: converged};\n};\n","/**\n * Graphology Noverlap Helpers\n * ============================\n *\n * Miscellaneous helper functions.\n */\n\n/**\n * Constants.\n */\nvar PPN = 3;\n\n/**\n * Function used to validate the given settings.\n *\n * @param {object} settings - Settings to validate.\n * @return {object|null}\n */\nexports.validateSettings = function (settings) {\n if (\n ('gridSize' in settings && typeof settings.gridSize !== 'number') ||\n settings.gridSize <= 0\n )\n return {message: 'the `gridSize` setting should be a positive number.'};\n\n if (\n ('margin' in settings && typeof settings.margin !== 'number') ||\n settings.margin < 0\n )\n return {\n message: 'the `margin` setting should be 0 or a positive number.'\n };\n\n if (\n ('expansion' in settings && typeof settings.expansion !== 'number') ||\n settings.expansion <= 0\n )\n return {message: 'the `expansion` setting should be a positive number.'};\n\n if (\n ('ratio' in settings && typeof settings.ratio !== 'number') ||\n settings.ratio <= 0\n )\n return {message: 'the `ratio` setting should be a positive number.'};\n\n if (\n ('speed' in settings && typeof settings.speed !== 'number') ||\n settings.speed <= 0\n )\n return {message: 'the `speed` setting should be a positive number.'};\n\n return null;\n};\n\n/**\n * Function generating a flat matrix for the given graph's nodes.\n *\n * @param {Graph} graph - Target graph.\n * @param {function} reducer - Node reducer function.\n * @return {Float32Array} - The node matrix.\n */\nexports.graphToByteArray = function (graph, reducer) {\n var order = graph.order;\n\n var matrix = new Float32Array(order * PPN);\n\n var j = 0;\n\n graph.forEachNode(function (node, attr) {\n if (typeof reducer === 'function') attr = reducer(node, attr);\n\n matrix[j] = attr.x;\n matrix[j + 1] = attr.y;\n matrix[j + 2] = attr.size || 1;\n j += PPN;\n });\n\n return matrix;\n};\n\n/**\n * Function applying the layout back to the graph.\n *\n * @param {Graph} graph - Target graph.\n * @param {Float32Array} NodeMatrix - Node matrix.\n * @param {function} reducer - Reducing function.\n */\nexports.assignLayoutChanges = function (graph, NodeMatrix, reducer) {\n var i = 0;\n\n graph.forEachNode(function (node) {\n var pos = {\n x: NodeMatrix[i],\n y: NodeMatrix[i + 1]\n };\n\n if (typeof reducer === 'function') pos = reducer(node, pos);\n\n graph.mergeNodeAttributes(node, pos);\n\n i += PPN;\n });\n};\n\n/**\n * Function collecting the layout positions.\n *\n * @param {Graph} graph - Target graph.\n * @param {Float32Array} NodeMatrix - Node matrix.\n * @param {function} reducer - Reducing function.\n * @return {object} - Map to node positions.\n */\nexports.collectLayoutChanges = function (graph, NodeMatrix, reducer) {\n var positions = {};\n\n var i = 0;\n\n graph.forEachNode(function (node) {\n var pos = {\n x: NodeMatrix[i],\n y: NodeMatrix[i + 1]\n };\n\n if (typeof reducer === 'function') pos = reducer(node, pos);\n\n positions[node] = pos;\n\n i += PPN;\n });\n\n return positions;\n};\n\n/**\n * Function returning a web worker from the given function.\n *\n * @param {function} fn - Function for the worker.\n * @return {DOMString}\n */\nexports.createWorker = function createWorker(fn) {\n var xURL = window.URL || window.webkitURL;\n var code = fn.toString();\n var objectUrl = xURL.createObjectURL(\n new Blob(['(' + code + ').call(this);'], {type: 'text/javascript'})\n );\n var worker = new Worker(objectUrl);\n xURL.revokeObjectURL(objectUrl);\n\n return worker;\n};\n","/**\n * Graphology Noverlap Layout Default Settings\n * ============================================\n */\nmodule.exports = {\n gridSize: 20,\n margin: 5,\n expansion: 1.1,\n ratio: 1.0,\n speed: 3\n};\n","/**\n * Graphology Noverlap Layout\n * ===========================\n *\n * Library endpoint.\n */\nvar isGraph = require('graphology-utils/is-graph');\nvar iterate = require('./iterate.js');\nvar helpers = require('./helpers.js');\n\nvar DEFAULT_SETTINGS = require('./defaults.js');\nvar DEFAULT_MAX_ITERATIONS = 500;\n\n/**\n * Asbtract function used to run a certain number of iterations.\n *\n * @param {boolean} assign - Whether to assign positions.\n * @param {Graph} graph - Target graph.\n * @param {object|number} params - If number, params.maxIterations, else:\n * @param {number} maxIterations - Maximum number of iterations.\n * @param {object} [settings] - Settings.\n * @return {object|undefined}\n */\nfunction abstractSynchronousLayout(assign, graph, params) {\n if (!isGraph(graph))\n throw new Error(\n 'graphology-layout-noverlap: the given graph is not a valid graphology instance.'\n );\n\n if (typeof params === 'number') params = {maxIterations: params};\n else params = params || {};\n\n var maxIterations = params.maxIterations || DEFAULT_MAX_ITERATIONS;\n\n if (typeof maxIterations !== 'number' || maxIterations <= 0)\n throw new Error(\n 'graphology-layout-force: you should provide a positive number of maximum iterations.'\n );\n\n // Validating settings\n var settings = Object.assign({}, DEFAULT_SETTINGS, params.settings),\n validationError = helpers.validateSettings(settings);\n\n if (validationError)\n throw new Error('graphology-layout-noverlap: ' + validationError.message);\n\n // Building matrices\n var matrix = helpers.graphToByteArray(graph, params.inputReducer),\n converged = false,\n i;\n\n // Iterating\n for (i = 0; i < maxIterations && !converged; i++)\n converged = iterate(settings, matrix).converged;\n\n // Applying\n if (assign) {\n helpers.assignLayoutChanges(graph, matrix, params.outputReducer);\n return;\n }\n\n return helpers.collectLayoutChanges(graph, matrix, params.outputReducer);\n}\n\n/**\n * Exporting.\n */\nvar synchronousLayout = abstractSynchronousLayout.bind(null, false);\nsynchronousLayout.assign = abstractSynchronousLayout.bind(null, true);\n\nmodule.exports = synchronousLayout;\n","import noverlapLayout from 'graphology-layout-noverlap';\nimport { LayoutFactoryProps } from './types';\n\nexport interface NoOverlapLayoutInputs extends LayoutFactoryProps {\n /**\n * Grid size. Default 20.\n */\n gridSize?: number;\n\n /**\n * Ratio of the layout. Default 10.\n */\n ratio?: number;\n\n /**\n * Maximum number of iterations. Default 50.\n */\n maxIterations?: number;\n\n /**\n * Margin between nodes. Default 10.\n */\n margin?: number;\n}\n\nexport function nooverlap({\n graph,\n margin,\n drags,\n ratio,\n gridSize,\n maxIterations\n}: NoOverlapLayoutInputs) {\n const layout = noverlapLayout(graph, {\n maxIterations,\n inputReducer: (_key, attr) => ({\n ...attr,\n // Have to specify defaults for the engine\n x: attr.x || 0,\n y: attr.y || 0\n }),\n settings: {\n ratio,\n margin,\n gridSize\n }\n });\n\n return {\n step() {\n return true;\n },\n getNodePosition(id: string) {\n // If we dragged, we need to use that position\n return (drags?.[id]?.position as any) || layout?.[id];\n }\n };\n}\n","/**\n * Graphology Weight Getter\n * =========================\n *\n * Function creating weight getters.\n */\nfunction coerceWeight(value) {\n // Ensuring target value is a correct number\n if (typeof value !== 'number' || isNaN(value)) return 1;\n\n return value;\n}\n\nfunction createNodeValueGetter(nameOrFunction, defaultValue) {\n var getter = {};\n\n var coerceToDefault = function (v) {\n if (typeof v === 'undefined') return defaultValue;\n\n return v;\n };\n\n if (typeof defaultValue === 'function') coerceToDefault = defaultValue;\n\n var get = function (attributes) {\n return coerceToDefault(attributes[nameOrFunction]);\n };\n\n var returnDefault = function () {\n return coerceToDefault(undefined);\n };\n\n if (typeof nameOrFunction === 'string') {\n getter.fromAttributes = get;\n getter.fromGraph = function (graph, node) {\n return get(graph.getNodeAttributes(node));\n };\n getter.fromEntry = function (node, attributes) {\n return get(attributes);\n };\n } else if (typeof nameOrFunction === 'function') {\n getter.fromAttributes = function () {\n throw new Error(\n 'graphology-utils/getters/createNodeValueGetter: irrelevant usage.'\n );\n };\n getter.fromGraph = function (graph, node) {\n return coerceToDefault(\n nameOrFunction(node, graph.getNodeAttributes(node))\n );\n };\n getter.fromEntry = function (node, attributes) {\n return coerceToDefault(nameOrFunction(node, attributes));\n };\n } else {\n getter.fromAttributes = returnDefault;\n getter.fromGraph = returnDefault;\n getter.fromEntry = returnDefault;\n }\n\n return getter;\n}\n\nfunction createEdgeValueGetter(nameOrFunction, defaultValue) {\n var getter = {};\n\n var coerceToDefault = function (v) {\n if (typeof v === 'undefined') return defaultValue;\n\n return v;\n };\n\n if (typeof defaultValue === 'function') coerceToDefault = defaultValue;\n\n var get = function (attributes) {\n return coerceToDefault(attributes[nameOrFunction]);\n };\n\n var returnDefault = function () {\n return coerceToDefault(undefined);\n };\n\n if (typeof nameOrFunction === 'string') {\n getter.fromAttributes = get;\n getter.fromGraph = function (graph, edge) {\n return get(graph.getEdgeAttributes(edge));\n };\n getter.fromEntry = function (edge, attributes) {\n return get(attributes);\n };\n getter.fromPartialEntry = getter.fromEntry;\n getter.fromMinimalEntry = getter.fromEntry;\n } else if (typeof nameOrFunction === 'function') {\n getter.fromAttributes = function () {\n throw new Error(\n 'graphology-utils/getters/createEdgeValueGetter: irrelevant usage.'\n );\n };\n getter.fromGraph = function (graph, edge) {\n // TODO: we can do better, check #310\n var extremities = graph.extremities(edge);\n return coerceToDefault(\n nameOrFunction(\n edge,\n graph.getEdgeAttributes(edge),\n extremities[0],\n extremities[1],\n graph.getNodeAttributes(extremities[0]),\n graph.getNodeAttributes(extremities[1]),\n graph.isUndirected(edge)\n )\n );\n };\n getter.fromEntry = function (e, a, s, t, sa, ta, u) {\n return coerceToDefault(nameOrFunction(e, a, s, t, sa, ta, u));\n };\n getter.fromPartialEntry = function (e, a, s, t) {\n return coerceToDefault(nameOrFunction(e, a, s, t));\n };\n getter.fromMinimalEntry = function (e, a) {\n return coerceToDefault(nameOrFunction(e, a));\n };\n } else {\n getter.fromAttributes = returnDefault;\n getter.fromGraph = returnDefault;\n getter.fromEntry = returnDefault;\n getter.fromMinimalEntry = returnDefault;\n }\n\n return getter;\n}\n\nexports.createNodeValueGetter = createNodeValueGetter;\nexports.createEdgeValueGetter = createEdgeValueGetter;\nexports.createEdgeWeightGetter = function (name) {\n return createEdgeValueGetter(name, coerceWeight);\n};\n","/* eslint no-constant-condition: 0 */\n/**\n * Graphology ForceAtlas2 Iteration\n * =================================\n *\n * Function used to perform a single iteration of the algorithm.\n */\n\n/**\n * Matrices properties accessors.\n */\nvar NODE_X = 0;\nvar NODE_Y = 1;\nvar NODE_DX = 2;\nvar NODE_DY = 3;\nvar NODE_OLD_DX = 4;\nvar NODE_OLD_DY = 5;\nvar NODE_MASS = 6;\nvar NODE_CONVERGENCE = 7;\nvar NODE_SIZE = 8;\nvar NODE_FIXED = 9;\n\nvar EDGE_SOURCE = 0;\nvar EDGE_TARGET = 1;\nvar EDGE_WEIGHT = 2;\n\nvar REGION_NODE = 0;\nvar REGION_CENTER_X = 1;\nvar REGION_CENTER_Y = 2;\nvar REGION_SIZE = 3;\nvar REGION_NEXT_SIBLING = 4;\nvar REGION_FIRST_CHILD = 5;\nvar REGION_MASS = 6;\nvar REGION_MASS_CENTER_X = 7;\nvar REGION_MASS_CENTER_Y = 8;\n\nvar SUBDIVISION_ATTEMPTS = 3;\n\n/**\n * Constants.\n */\nvar PPN = 10;\nvar PPE = 3;\nvar PPR = 9;\n\nvar MAX_FORCE = 10;\n\n/**\n * Function used to perform a single interation of the algorithm.\n *\n * @param {object} options - Layout options.\n * @param {Float32Array} NodeMatrix - Node data.\n * @param {Float32Array} EdgeMatrix - Edge data.\n * @return {object} - Some metadata.\n */\nmodule.exports = function iterate(options, NodeMatrix, EdgeMatrix) {\n // Initializing variables\n var l, r, n, n1, n2, rn, e, w, g, s;\n\n var order = NodeMatrix.length,\n size = EdgeMatrix.length;\n\n var adjustSizes = options.adjustSizes;\n\n var thetaSquared = options.barnesHutTheta * options.barnesHutTheta;\n\n var outboundAttCompensation, coefficient, xDist, yDist, ewc, distance, factor;\n\n var RegionMatrix = [];\n\n // 1) Initializing layout data\n //-----------------------------\n\n // Resetting positions & computing max values\n for (n = 0; n < order; n += PPN) {\n NodeMatrix[n + NODE_OLD_DX] = NodeMatrix[n + NODE_DX];\n NodeMatrix[n + NODE_OLD_DY] = NodeMatrix[n + NODE_DY];\n NodeMatrix[n + NODE_DX] = 0;\n NodeMatrix[n + NODE_DY] = 0;\n }\n\n // If outbound attraction distribution, compensate\n if (options.outboundAttractionDistribution) {\n outboundAttCompensation = 0;\n for (n = 0; n < order; n += PPN) {\n outboundAttCompensation += NodeMatrix[n + NODE_MASS];\n }\n\n outboundAttCompensation /= order / PPN;\n }\n\n // 1.bis) Barnes-Hut computation\n //------------------------------\n\n if (options.barnesHutOptimize) {\n // Setting up\n var minX = Infinity,\n maxX = -Infinity,\n minY = Infinity,\n maxY = -Infinity,\n q,\n q2,\n subdivisionAttempts;\n\n // Computing min and max values\n for (n = 0; n < order; n += PPN) {\n minX = Math.min(minX, NodeMatrix[n + NODE_X]);\n maxX = Math.max(maxX, NodeMatrix[n + NODE_X]);\n minY = Math.min(minY, NodeMatrix[n + NODE_Y]);\n maxY = Math.max(maxY, NodeMatrix[n + NODE_Y]);\n }\n\n // squarify bounds, it's a quadtree\n var dx = maxX - minX,\n dy = maxY - minY;\n if (dx > dy) {\n minY -= (dx - dy) / 2;\n maxY = minY + dx;\n } else {\n minX -= (dy - dx) / 2;\n maxX = minX + dy;\n }\n\n // Build the Barnes Hut root region\n RegionMatrix[0 + REGION_NODE] = -1;\n RegionMatrix[0 + REGION_CENTER_X] = (minX + maxX) / 2;\n RegionMatrix[0 + REGION_CENTER_Y] = (minY + maxY) / 2;\n RegionMatrix[0 + REGION_SIZE] = Math.max(maxX - minX, maxY - minY);\n RegionMatrix[0 + REGION_NEXT_SIBLING] = -1;\n RegionMatrix[0 + REGION_FIRST_CHILD] = -1;\n RegionMatrix[0 + REGION_MASS] = 0;\n RegionMatrix[0 + REGION_MASS_CENTER_X] = 0;\n RegionMatrix[0 + REGION_MASS_CENTER_Y] = 0;\n\n // Add each node in the tree\n l = 1;\n for (n = 0; n < order; n += PPN) {\n // Current region, starting with root\n r = 0;\n subdivisionAttempts = SUBDIVISION_ATTEMPTS;\n\n while (true) {\n // Are there sub-regions?\n\n // We look at first child index\n if (RegionMatrix[r + REGION_FIRST_CHILD] >= 0) {\n // There are sub-regions\n\n // We just iterate to find a \"leaf\" of the tree\n // that is an empty region or a region with a single node\n // (see next case)\n\n // Find the quadrant of n\n if (NodeMatrix[n + NODE_X] < RegionMatrix[r + REGION_CENTER_X]) {\n if (NodeMatrix[n + NODE_Y] < RegionMatrix[r + REGION_CENTER_Y]) {\n // Top Left quarter\n q = RegionMatrix[r + REGION_FIRST_CHILD];\n } else {\n // Bottom Left quarter\n q = RegionMatrix[r + REGION_FIRST_CHILD] + PPR;\n }\n } else {\n if (NodeMatrix[n + NODE_Y] < RegionMatrix[r + REGION_CENTER_Y]) {\n // Top Right quarter\n q = RegionMatrix[r + REGION_FIRST_CHILD] + PPR * 2;\n } else {\n // Bottom Right quarter\n q = RegionMatrix[r + REGION_FIRST_CHILD] + PPR * 3;\n }\n }\n\n // Update center of mass and mass (we only do it for non-leave regions)\n RegionMatrix[r + REGION_MASS_CENTER_X] =\n (RegionMatrix[r + REGION_MASS_CENTER_X] *\n RegionMatrix[r + REGION_MASS] +\n NodeMatrix[n + NODE_X] * NodeMatrix[n + NODE_MASS]) /\n (RegionMatrix[r + REGION_MASS] + NodeMatrix[n + NODE_MASS]);\n\n RegionMatrix[r + REGION_MASS_CENTER_Y] =\n (RegionMatrix[r + REGION_MASS_CENTER_Y] *\n RegionMatrix[r + REGION_MASS] +\n NodeMatrix[n + NODE_Y] * NodeMatrix[n + NODE_MASS]) /\n (RegionMatrix[r + REGION_MASS] + NodeMatrix[n + NODE_MASS]);\n\n RegionMatrix[r + REGION_MASS] += NodeMatrix[n + NODE_MASS];\n\n // Iterate on the right quadrant\n r = q;\n continue;\n } else {\n // There are no sub-regions: we are in a \"leaf\"\n\n // Is there a node in this leave?\n if (RegionMatrix[r + REGION_NODE] < 0) {\n // There is no node in region:\n // we record node n and go on\n RegionMatrix[r + REGION_NODE] = n;\n break;\n } else {\n // There is a node in this region\n\n // We will need to create sub-regions, stick the two\n // nodes (the old one r[0] and the new one n) in two\n // subregions. If they fall in the same quadrant,\n // we will iterate.\n\n // Create sub-regions\n RegionMatrix[r + REGION_FIRST_CHILD] = l * PPR;\n w = RegionMatrix[r + REGION_SIZE] / 2; // new size (half)\n\n // NOTE: we use screen coordinates\n // from Top Left to Bottom Right\n\n // Top Left sub-region\n g = RegionMatrix[r + REGION_FIRST_CHILD];\n\n RegionMatrix[g + REGION_NODE] = -1;\n RegionMatrix[g + REGION_CENTER_X] =\n RegionMatrix[r + REGION_CENTER_X] - w;\n RegionMatrix[g + REGION_CENTER_Y] =\n RegionMatrix[r + REGION_CENTER_Y] - w;\n RegionMatrix[g + REGION_SIZE] = w;\n RegionMatrix[g + REGION_NEXT_SIBLING] = g + PPR;\n RegionMatrix[g + REGION_FIRST_CHILD] = -1;\n RegionMatrix[g + REGION_MASS] = 0;\n RegionMatrix[g + REGION_MASS_CENTER_X] = 0;\n RegionMatrix[g + REGION_MASS_CENTER_Y] = 0;\n\n // Bottom Left sub-region\n g += PPR;\n RegionMatrix[g + REGION_NODE] = -1;\n RegionMatrix[g + REGION_CENTER_X] =\n RegionMatrix[r + REGION_CENTER_X] - w;\n RegionMatrix[g + REGION_CENTER_Y] =\n RegionMatrix[r + REGION_CENTER_Y] + w;\n RegionMatrix[g + REGION_SIZE] = w;\n RegionMatrix[g + REGION_NEXT_SIBLING] = g + PPR;\n RegionMatrix[g + REGION_FIRST_CHILD] = -1;\n RegionMatrix[g + REGION_MASS] = 0;\n RegionMatrix[g + REGION_MASS_CENTER_X] = 0;\n RegionMatrix[g + REGION_MASS_CENTER_Y] = 0;\n\n // Top Right sub-region\n g += PPR;\n RegionMatrix[g + REGION_NODE] = -1;\n RegionMatrix[g + REGION_CENTER_X] =\n RegionMatrix[r + REGION_CENTER_X] + w;\n RegionMatrix[g + REGION_CENTER_Y] =\n RegionMatrix[r + REGION_CENTER_Y] - w;\n RegionMatrix[g + REGION_SIZE] = w;\n RegionMatrix[g + REGION_NEXT_SIBLING] = g + PPR;\n RegionMatrix[g + REGION_FIRST_CHILD] = -1;\n RegionMatrix[g + REGION_MASS] = 0;\n RegionMatrix[g + REGION_MASS_CENTER_X] = 0;\n RegionMatrix[g + REGION_MASS_CENTER_Y] = 0;\n\n // Bottom Right sub-region\n g += PPR;\n RegionMatrix[g + REGION_NODE] = -1;\n RegionMatrix[g + REGION_CENTER_X] =\n RegionMatrix[r + REGION_CENTER_X] + w;\n RegionMatrix[g + REGION_CENTER_Y] =\n RegionMatrix[r + REGION_CENTER_Y] + w;\n RegionMatrix[g + REGION_SIZE] = w;\n RegionMatrix[g + REGION_NEXT_SIBLING] =\n RegionMatrix[r + REGION_NEXT_SIBLING];\n RegionMatrix[g + REGION_FIRST_CHILD] = -1;\n RegionMatrix[g + REGION_MASS] = 0;\n RegionMatrix[g + REGION_MASS_CENTER_X] = 0;\n RegionMatrix[g + REGION_MASS_CENTER_Y] = 0;\n\n l += 4;\n\n // Now the goal is to find two different sub-regions\n // for the two nodes: the one previously recorded (r[0])\n // and the one we want to add (n)\n\n // Find the quadrant of the old node\n if (\n NodeMatrix[RegionMatrix[r + REGION_NODE] + NODE_X] <\n RegionMatrix[r + REGION_CENTER_X]\n ) {\n if (\n NodeMatrix[RegionMatrix[r + REGION_NODE] + NODE_Y] <\n RegionMatrix[r + REGION_CENTER_Y]\n ) {\n // Top Left quarter\n q = RegionMatrix[r + REGION_FIRST_CHILD];\n } else {\n // Bottom Left quarter\n q = RegionMatrix[r + REGION_FIRST_CHILD] + PPR;\n }\n } else {\n if (\n NodeMatrix[RegionMatrix[r + REGION_NODE] + NODE_Y] <\n RegionMatrix[r + REGION_CENTER_Y]\n ) {\n // Top Right quarter\n q = RegionMatrix[r + REGION_FIRST_CHILD] + PPR * 2;\n } else {\n // Bottom Right quarter\n q = RegionMatrix[r + REGION_FIRST_CHILD] + PPR * 3;\n }\n }\n\n // We remove r[0] from the region r, add its mass to r and record it in q\n RegionMatrix[r + REGION_MASS] =\n NodeMatrix[RegionMatrix[r + REGION_NODE] + NODE_MASS];\n RegionMatrix[r + REGION_MASS_CENTER_X] =\n NodeMatrix[RegionMatrix[r + REGION_NODE] + NODE_X];\n RegionMatrix[r + REGION_MASS_CENTER_Y] =\n NodeMatrix[RegionMatrix[r + REGION_NODE] + NODE_Y];\n\n RegionMatrix[q + REGION_NODE] = RegionMatrix[r + REGION_NODE];\n RegionMatrix[r + REGION_NODE] = -1;\n\n // Find the quadrant of n\n if (NodeMatrix[n + NODE_X] < RegionMatrix[r + REGION_CENTER_X]) {\n if (NodeMatrix[n + NODE_Y] < RegionMatrix[r + REGION_CENTER_Y]) {\n // Top Left quarter\n q2 = RegionMatrix[r + REGION_FIRST_CHILD];\n } else {\n // Bottom Left quarter\n q2 = RegionMatrix[r + REGION_FIRST_CHILD] + PPR;\n }\n } else {\n if (NodeMatrix[n + NODE_Y] < RegionMatrix[r + REGION_CENTER_Y]) {\n // Top Right quarter\n q2 = RegionMatrix[r + REGION_FIRST_CHILD] + PPR * 2;\n } else {\n // Bottom Right quarter\n q2 = RegionMatrix[r + REGION_FIRST_CHILD] + PPR * 3;\n }\n }\n\n if (q === q2) {\n // If both nodes are in the same quadrant,\n // we have to try it again on this quadrant\n if (subdivisionAttempts--) {\n r = q;\n continue; // while\n } else {\n // we are out of precision here, and we cannot subdivide anymore\n // but we have to break the loop anyway\n subdivisionAttempts = SUBDIVISION_ATTEMPTS;\n break; // while\n }\n }\n\n // If both quadrants are different, we record n\n // in its quadrant\n RegionMatrix[q2 + REGION_NODE] = n;\n break;\n }\n }\n }\n }\n }\n\n // 2) Repulsion\n //--------------\n // NOTES: adjustSizes = antiCollision & scalingRatio = coefficient\n\n if (options.barnesHutOptimize) {\n coefficient = options.scalingRatio;\n\n // Applying repulsion through regions\n for (n = 0; n < order; n += PPN) {\n // Computing leaf quad nodes iteration\n\n r = 0; // Starting with root region\n while (true) {\n if (RegionMatrix[r + REGION_FIRST_CHILD] >= 0) {\n // The region has sub-regions\n\n // We run the Barnes Hut test to see if we are at the right distance\n distance =\n Math.pow(\n NodeMatrix[n + NODE_X] - RegionMatrix[r + REGION_MASS_CENTER_X],\n 2\n ) +\n Math.pow(\n NodeMatrix[n + NODE_Y] - RegionMatrix[r + REGION_MASS_CENTER_Y],\n 2\n );\n\n s = RegionMatrix[r + REGION_SIZE];\n\n if ((4 * s * s) / distance < thetaSquared) {\n // We treat the region as a single body, and we repulse\n\n xDist =\n NodeMatrix[n + NODE_X] - RegionMatrix[r + REGION_MASS_CENTER_X];\n yDist =\n NodeMatrix[n + NODE_Y] - RegionMatrix[r + REGION_MASS_CENTER_Y];\n\n if (adjustSizes === true) {\n //-- Linear Anti-collision Repulsion\n if (distance > 0) {\n factor =\n (coefficient *\n NodeMatrix[n + NODE_MASS] *\n RegionMatrix[r + REGION_MASS]) /\n distance;\n\n NodeMatrix[n + NODE_DX] += xDist * factor;\n NodeMatrix[n + NODE_DY] += yDist * factor;\n } else if (distance < 0) {\n factor =\n (-coefficient *\n NodeMatrix[n + NODE_MASS] *\n RegionMatrix[r + REGION_MASS]) /\n Math.sqrt(distance);\n\n NodeMatrix[n + NODE_DX] += xDist * factor;\n NodeMatrix[n + NODE_DY] += yDist * factor;\n }\n } else {\n //-- Linear Repulsion\n if (distance > 0) {\n factor =\n (coefficient *\n NodeMatrix[n + NODE_MASS] *\n RegionMatrix[r + REGION_MASS]) /\n distance;\n\n NodeMatrix[n + NODE_DX] += xDist * factor;\n NodeMatrix[n + NODE_DY] += yDist * factor;\n }\n }\n\n // When this is done, we iterate. We have to look at the next sibling.\n r = RegionMatrix[r + REGION_NEXT_SIBLING];\n if (r < 0) break; // No next sibling: we have finished the tree\n\n continue;\n } else {\n // The region is too close and we have to look at sub-regions\n r = RegionMatrix[r + REGION_FIRST_CHILD];\n continue;\n }\n } else {\n // The region has no sub-region\n // If there is a node r[0] and it is not n, then repulse\n rn = RegionMatrix[r + REGION_NODE];\n\n if (rn >= 0 && rn !== n) {\n xDist = NodeMatrix[n + NODE_X] - NodeMatrix[rn + NODE_X];\n yDist = NodeMatrix[n + NODE_Y] - NodeMatrix[rn + NODE_Y];\n\n distance = xDist * xDist + yDist * yDist;\n\n if (adjustSizes === true) {\n //-- Linear Anti-collision Repulsion\n if (distance > 0) {\n factor =\n (coefficient *\n NodeMatrix[n + NODE_MASS] *\n NodeMatrix[rn + NODE_MASS]) /\n distance;\n\n NodeMatrix[n + NODE_DX] += xDist * factor;\n NodeMatrix[n + NODE_DY] += yDist * factor;\n } else if (distance < 0) {\n factor =\n (-coefficient *\n NodeMatrix[n + NODE_MASS] *\n NodeMatrix[rn + NODE_MASS]) /\n Math.sqrt(distance);\n\n NodeMatrix[n + NODE_DX] += xDist * factor;\n NodeMatrix[n + NODE_DY] += yDist * factor;\n }\n } else {\n //-- Linear Repulsion\n if (distance > 0) {\n factor =\n (coefficient *\n NodeMatrix[n + NODE_MASS] *\n NodeMatrix[rn + NODE_MASS]) /\n distance;\n\n NodeMatrix[n + NODE_DX] += xDist * factor;\n NodeMatrix[n + NODE_DY] += yDist * factor;\n }\n }\n }\n\n // When this is done, we iterate. We have to look at the next sibling.\n r = RegionMatrix[r + REGION_NEXT_SIBLING];\n\n if (r < 0) break; // No next sibling: we have finished the tree\n\n continue;\n }\n }\n }\n } else {\n coefficient = options.scalingRatio;\n\n // Square iteration\n for (n1 = 0; n1 < order; n1 += PPN) {\n for (n2 = 0; n2 < n1; n2 += PPN) {\n // Common to both methods\n xDist = NodeMatrix[n1 + NODE_X] - NodeMatrix[n2 + NODE_X];\n yDist = NodeMatrix[n1 + NODE_Y] - NodeMatrix[n2 + NODE_Y];\n\n if (adjustSizes === true) {\n //-- Anticollision Linear Repulsion\n distance =\n Math.sqrt(xDist * xDist + yDist * yDist) -\n NodeMatrix[n1 + NODE_SIZE] -\n NodeMatrix[n2 + NODE_SIZE];\n\n if (distance > 0) {\n factor =\n (coefficient *\n NodeMatrix[n1 + NODE_MASS] *\n NodeMatrix[n2 + NODE_MASS]) /\n distance /\n distance;\n\n // Updating nodes' dx and dy\n NodeMatrix[n1 + NODE_DX] += xDist * factor;\n NodeMatrix[n1 + NODE_DY] += yDist * factor;\n\n NodeMatrix[n2 + NODE_DX] -= xDist * factor;\n NodeMatrix[n2 + NODE_DY] -= yDist * factor;\n } else if (distance < 0) {\n factor =\n 100 *\n coefficient *\n NodeMatrix[n1 + NODE_MASS] *\n NodeMatrix[n2 + NODE_MASS];\n\n // Updating nodes' dx and dy\n NodeMatrix[n1 + NODE_DX] += xDist * factor;\n NodeMatrix[n1 + NODE_DY] += yDist * factor;\n\n NodeMatrix[n2 + NODE_DX] -= xDist * factor;\n NodeMatrix[n2 + NODE_DY] -= yDist * factor;\n }\n } else {\n //-- Linear Repulsion\n distance = Math.sqrt(xDist * xDist + yDist * yDist);\n\n if (distance > 0) {\n factor =\n (coefficient *\n NodeMatrix[n1 + NODE_MASS] *\n NodeMatrix[n2 + NODE_MASS]) /\n distance /\n distance;\n\n // Updating nodes' dx and dy\n NodeMatrix[n1 + NODE_DX] += xDist * factor;\n NodeMatrix[n1 + NODE_DY] += yDist * factor;\n\n NodeMatrix[n2 + NODE_DX] -= xDist * factor;\n NodeMatrix[n2 + NODE_DY] -= yDist * factor;\n }\n }\n }\n }\n }\n\n // 3) Gravity\n //------------\n g = options.gravity / options.scalingRatio;\n coefficient = options.scalingRatio;\n for (n = 0; n < order; n += PPN) {\n factor = 0;\n\n // Common to both methods\n xDist = NodeMatrix[n + NODE_X];\n yDist = NodeMatrix[n + NODE_Y];\n distance = Math.sqrt(Math.pow(xDist, 2) + Math.pow(yDist, 2));\n\n if (options.strongGravityMode) {\n //-- Strong gravity\n if (distance > 0) factor = coefficient * NodeMatrix[n + NODE_MASS] * g;\n } else {\n //-- Linear Anti-collision Repulsion n\n if (distance > 0)\n factor = (coefficient * NodeMatrix[n + NODE_MASS] * g) / distance;\n }\n\n // Updating node's dx and dy\n NodeMatrix[n + NODE_DX] -= xDist * factor;\n NodeMatrix[n + NODE_DY] -= yDist * factor;\n }\n\n // 4) Attraction\n //---------------\n coefficient =\n 1 * (options.outboundAttractionDistribution ? outboundAttCompensation : 1);\n\n // TODO: simplify distance\n // TODO: coefficient is always used as -c --> optimize?\n for (e = 0; e < size; e += PPE) {\n n1 = EdgeMatrix[e + EDGE_SOURCE];\n n2 = EdgeMatrix[e + EDGE_TARGET];\n w = EdgeMatrix[e + EDGE_WEIGHT];\n\n // Edge weight influence\n ewc = Math.pow(w, options.edgeWeightInfluence);\n\n // Common measures\n xDist = NodeMatrix[n1 + NODE_X] - NodeMatrix[n2 + NODE_X];\n yDist = NodeMatrix[n1 + NODE_Y] - NodeMatrix[n2 + NODE_Y];\n\n // Applying attraction to nodes\n if (adjustSizes === true) {\n distance =\n Math.sqrt(xDist * xDist + yDist * yDist) -\n NodeMatrix[n1 + NODE_SIZE] -\n NodeMatrix[n2 + NODE_SIZE];\n\n if (options.linLogMode) {\n if (options.outboundAttractionDistribution) {\n //-- LinLog Degree Distributed Anti-collision Attraction\n if (distance > 0) {\n factor =\n (-coefficient * ewc * Math.log(1 + distance)) /\n distance /\n NodeMatrix[n1 + NODE_MASS];\n }\n } else {\n //-- LinLog Anti-collision Attraction\n if (distance > 0) {\n factor = (-coefficient * ewc * Math.log(1 + distance)) / distance;\n }\n }\n } else {\n if (options.outboundAttractionDistribution) {\n //-- Linear Degree Distributed Anti-collision Attraction\n if (distance > 0) {\n factor = (-coefficient * ewc) / NodeMatrix[n1 + NODE_MASS];\n }\n } else {\n //-- Linear Anti-collision Attraction\n if (distance > 0) {\n factor = -coefficient * ewc;\n }\n }\n }\n } else {\n distance = Math.sqrt(Math.pow(xDist, 2) + Math.pow(yDist, 2));\n\n if (options.linLogMode) {\n if (options.outboundAttractionDistribution) {\n //-- LinLog Degree Distributed Attraction\n if (distance > 0) {\n factor =\n (-coefficient * ewc * Math.log(1 + distance)) /\n distance /\n NodeMatrix[n1 + NODE_MASS];\n }\n } else {\n //-- LinLog Attraction\n if (distance > 0)\n factor = (-coefficient * ewc * Math.log(1 + distance)) / distance;\n }\n } else {\n if (options.outboundAttractionDistribution) {\n //-- Linear Attraction Mass Distributed\n // NOTE: Distance is set to 1 to override next condition\n distance = 1;\n factor = (-coefficient * ewc) / NodeMatrix[n1 + NODE_MASS];\n } else {\n //-- Linear Attraction\n // NOTE: Distance is set to 1 to override next condition\n distance = 1;\n factor = -coefficient * ewc;\n }\n }\n }\n\n // Updating nodes' dx and dy\n // TODO: if condition or factor = 1?\n if (distance > 0) {\n // Updating nodes' dx and dy\n NodeMatrix[n1 + NODE_DX] += xDist * factor;\n NodeMatrix[n1 + NODE_DY] += yDist * factor;\n\n NodeMatrix[n2 + NODE_DX] -= xDist * factor;\n NodeMatrix[n2 + NODE_DY] -= yDist * factor;\n }\n }\n\n // 5) Apply Forces\n //-----------------\n var force, swinging, traction, nodespeed, newX, newY;\n\n // MATH: sqrt and square distances\n if (adjustSizes === true) {\n for (n = 0; n < order; n += PPN) {\n if (NodeMatrix[n + NODE_FIXED] !== 1) {\n force = Math.sqrt(\n Math.pow(NodeMatrix[n + NODE_DX], 2) +\n Math.pow(NodeMatrix[n + NODE_DY], 2)\n );\n\n if (force > MAX_FORCE) {\n NodeMatrix[n + NODE_DX] =\n (NodeMatrix[n + NODE_DX] * MAX_FORCE) / force;\n NodeMatrix[n + NODE_DY] =\n (NodeMatrix[n + NODE_DY] * MAX_FORCE) / force;\n }\n\n swinging =\n NodeMatrix[n + NODE_MASS] *\n Math.sqrt(\n (NodeMatrix[n + NODE_OLD_DX] - NodeMatrix[n + NODE_DX]) *\n (NodeMatrix[n + NODE_OLD_DX] - NodeMatrix[n + NODE_DX]) +\n (NodeMatrix[n + NODE_OLD_DY] - NodeMatrix[n + NODE_DY]) *\n (NodeMatrix[n + NODE_OLD_DY] - NodeMatrix[n + NODE_DY])\n );\n\n traction =\n Math.sqrt(\n (NodeMatrix[n + NODE_OLD_DX] + NodeMatrix[n + NODE_DX]) *\n (NodeMatrix[n + NODE_OLD_DX] + NodeMatrix[n + NODE_DX]) +\n (NodeMatrix[n + NODE_OLD_DY] + NodeMatrix[n + NODE_DY]) *\n (NodeMatrix[n + NODE_OLD_DY] + NodeMatrix[n + NODE_DY])\n ) / 2;\n\n nodespeed = (0.1 * Math.log(1 + traction)) / (1 + Math.sqrt(swinging));\n\n // Updating node's positon\n newX =\n NodeMatrix[n + NODE_X] +\n NodeMatrix[n + NODE_DX] * (nodespeed / options.slowDown);\n NodeMatrix[n + NODE_X] = newX;\n\n newY =\n NodeMatrix[n + NODE_Y] +\n NodeMatrix[n + NODE_DY] * (nodespeed / options.slowDown);\n NodeMatrix[n + NODE_Y] = newY;\n }\n }\n } else {\n for (n = 0; n < order; n += PPN) {\n if (NodeMatrix[n + NODE_FIXED] !== 1) {\n swinging =\n NodeMatrix[n + NODE_MASS] *\n Math.sqrt(\n (NodeMatrix[n + NODE_OLD_DX] - NodeMatrix[n + NODE_DX]) *\n (NodeMatrix[n + NODE_OLD_DX] - NodeMatrix[n + NODE_DX]) +\n (NodeMatrix[n + NODE_OLD_DY] - NodeMatrix[n + NODE_DY]) *\n (NodeMatrix[n + NODE_OLD_DY] - NodeMatrix[n + NODE_DY])\n );\n\n traction =\n Math.sqrt(\n (NodeMatrix[n + NODE_OLD_DX] + NodeMatrix[n + NODE_DX]) *\n (NodeMatrix[n + NODE_OLD_DX] + NodeMatrix[n + NODE_DX]) +\n (NodeMatrix[n + NODE_OLD_DY] + NodeMatrix[n + NODE_DY]) *\n (NodeMatrix[n + NODE_OLD_DY] + NodeMatrix[n + NODE_DY])\n ) / 2;\n\n nodespeed =\n (NodeMatrix[n + NODE_CONVERGENCE] * Math.log(1 + traction)) /\n (1 + Math.sqrt(swinging));\n\n // Updating node convergence\n NodeMatrix[n + NODE_CONVERGENCE] = Math.min(\n 1,\n Math.sqrt(\n (nodespeed *\n (Math.pow(NodeMatrix[n + NODE_DX], 2) +\n Math.pow(NodeMatrix[n + NODE_DY], 2))) /\n (1 + Math.sqrt(swinging))\n )\n );\n\n // Updating node's positon\n newX =\n NodeMatrix[n + NODE_X] +\n NodeMatrix[n + NODE_DX] * (nodespeed / options.slowDown);\n NodeMatrix[n + NODE_X] = newX;\n\n newY =\n NodeMatrix[n + NODE_Y] +\n NodeMatrix[n + NODE_DY] * (nodespeed / options.slowDown);\n NodeMatrix[n + NODE_Y] = newY;\n }\n }\n }\n\n // We return the information about the layout (no need to return the matrices)\n return {};\n};\n","/**\n * Graphology ForceAtlas2 Helpers\n * ===============================\n *\n * Miscellaneous helper functions.\n */\n\n/**\n * Constants.\n */\nvar PPN = 10;\nvar PPE = 3;\n\n/**\n * Very simple Object.assign-like function.\n *\n * @param {object} target - First object.\n * @param {object} [...objects] - Objects to merge.\n * @return {object}\n */\nexports.assign = function (target) {\n target = target || {};\n\n var objects = Array.prototype.slice.call(arguments).slice(1),\n i,\n k,\n l;\n\n for (i = 0, l = objects.length; i < l; i++) {\n if (!objects[i]) continue;\n\n for (k in objects[i]) target[k] = objects[i][k];\n }\n\n return target;\n};\n\n/**\n * Function used to validate the given settings.\n *\n * @param {object} settings - Settings to validate.\n * @return {object|null}\n */\nexports.validateSettings = function (settings) {\n if ('linLogMode' in settings && typeof settings.linLogMode !== 'boolean')\n return {message: 'the `linLogMode` setting should be a boolean.'};\n\n if (\n 'outboundAttractionDistribution' in settings &&\n typeof settings.outboundAttractionDistribution !== 'boolean'\n )\n return {\n message:\n 'the `outboundAttractionDistribution` setting should be a boolean.'\n };\n\n if ('adjustSizes' in settings && typeof settings.adjustSizes !== 'boolean')\n return {message: 'the `adjustSizes` setting should be a boolean.'};\n\n if (\n 'edgeWeightInfluence' in settings &&\n typeof settings.edgeWeightInfluence !== 'number'\n )\n return {\n message: 'the `edgeWeightInfluence` setting should be a number.'\n };\n\n if (\n 'scalingRatio' in settings &&\n !(typeof settings.scalingRatio === 'number' && settings.scalingRatio >= 0)\n )\n return {message: 'the `scalingRatio` setting should be a number >= 0.'};\n\n if (\n 'strongGravityMode' in settings &&\n typeof settings.strongGravityMode !== 'boolean'\n )\n return {message: 'the `strongGravityMode` setting should be a boolean.'};\n\n if (\n 'gravity' in settings &&\n !(typeof settings.gravity === 'number' && settings.gravity >= 0)\n )\n return {message: 'the `gravity` setting should be a number >= 0.'};\n\n if (\n 'slowDown' in settings &&\n !(typeof settings.slowDown === 'number' || settings.slowDown >= 0)\n )\n return {message: 'the `slowDown` setting should be a number >= 0.'};\n\n if (\n 'barnesHutOptimize' in settings &&\n typeof settings.barnesHutOptimize !== 'boolean'\n )\n return {message: 'the `barnesHutOptimize` setting should be a boolean.'};\n\n if (\n 'barnesHutTheta' in settings &&\n !(\n typeof settings.barnesHutTheta === 'number' &&\n settings.barnesHutTheta >= 0\n )\n )\n return {message: 'the `barnesHutTheta` setting should be a number >= 0.'};\n\n return null;\n};\n\n/**\n * Function generating a flat matrix for both nodes & edges of the given graph.\n *\n * @param {Graph} graph - Target graph.\n * @param {function} getEdgeWeight - Edge weight getter function.\n * @return {object} - Both matrices.\n */\nexports.graphToByteArrays = function (graph, getEdgeWeight) {\n var order = graph.order;\n var size = graph.size;\n var index = {};\n var j;\n\n // NOTE: float32 could lead to issues if edge array needs to index large\n // number of nodes.\n var NodeMatrix = new Float32Array(order * PPN);\n var EdgeMatrix = new Float32Array(size * PPE);\n\n // Iterate through nodes\n j = 0;\n graph.forEachNode(function (node, attr) {\n // Node index\n index[node] = j;\n\n // Populating byte array\n NodeMatrix[j] = attr.x;\n NodeMatrix[j + 1] = attr.y;\n NodeMatrix[j + 2] = 0; // dx\n NodeMatrix[j + 3] = 0; // dy\n NodeMatrix[j + 4] = 0; // old_dx\n NodeMatrix[j + 5] = 0; // old_dy\n NodeMatrix[j + 6] = 1; // mass\n NodeMatrix[j + 7] = 1; // convergence\n NodeMatrix[j + 8] = attr.size || 1;\n NodeMatrix[j + 9] = attr.fixed ? 1 : 0;\n j += PPN;\n });\n\n // Iterate through edges\n j = 0;\n graph.forEachEdge(function (edge, attr, source, target, sa, ta, u) {\n var sj = index[source];\n var tj = index[target];\n\n var weight = getEdgeWeight(edge, attr, source, target, sa, ta, u);\n\n // Incrementing mass to be a node's weighted degree\n NodeMatrix[sj + 6] += weight;\n NodeMatrix[tj + 6] += weight;\n\n // Populating byte array\n EdgeMatrix[j] = sj;\n EdgeMatrix[j + 1] = tj;\n EdgeMatrix[j + 2] = weight;\n j += PPE;\n });\n\n return {\n nodes: NodeMatrix,\n edges: EdgeMatrix\n };\n};\n\n/**\n * Function applying the layout back to the graph.\n *\n * @param {Graph} graph - Target graph.\n * @param {Float32Array} NodeMatrix - Node matrix.\n * @param {function|null} outputReducer - A node reducer.\n */\nexports.assignLayoutChanges = function (graph, NodeMatrix, outputReducer) {\n var i = 0;\n\n graph.updateEachNodeAttributes(function (node, attr) {\n attr.x = NodeMatrix[i];\n attr.y = NodeMatrix[i + 1];\n\n i += PPN;\n\n return outputReducer ? outputReducer(node, attr) : attr;\n });\n};\n\n/**\n * Function reading the positions (only) from the graph, to write them in the matrix.\n *\n * @param {Graph} graph - Target graph.\n * @param {Float32Array} NodeMatrix - Node matrix.\n */\nexports.readGraphPositions = function (graph, NodeMatrix) {\n var i = 0;\n\n graph.forEachNode(function (node, attr) {\n NodeMatrix[i] = attr.x;\n NodeMatrix[i + 1] = attr.y;\n\n i += PPN;\n });\n};\n\n/**\n * Function collecting the layout positions.\n *\n * @param {Graph} graph - Target graph.\n * @param {Float32Array} NodeMatrix - Node matrix.\n * @param {function|null} outputReducer - A nodes reducer.\n * @return {object} - Map to node positions.\n */\nexports.collectLayoutChanges = function (graph, NodeMatrix, outputReducer) {\n var nodes = graph.nodes(),\n positions = {};\n\n for (var i = 0, j = 0, l = NodeMatrix.length; i < l; i += PPN) {\n if (outputReducer) {\n var newAttr = Object.assign({}, graph.getNodeAttributes(nodes[j]));\n newAttr.x = NodeMatrix[i];\n newAttr.y = NodeMatrix[i + 1];\n newAttr = outputReducer(nodes[j], newAttr);\n positions[nodes[j]] = {\n x: newAttr.x,\n y: newAttr.y\n };\n } else {\n positions[nodes[j]] = {\n x: NodeMatrix[i],\n y: NodeMatrix[i + 1]\n };\n }\n\n j++;\n }\n\n return positions;\n};\n\n/**\n * Function returning a web worker from the given function.\n *\n * @param {function} fn - Function for the worker.\n * @return {DOMString}\n */\nexports.createWorker = function createWorker(fn) {\n var xURL = window.URL || window.webkitURL;\n var code = fn.toString();\n var objectUrl = xURL.createObjectURL(\n new Blob(['(' + code + ').call(this);'], {type: 'text/javascript'})\n );\n var worker = new Worker(objectUrl);\n xURL.revokeObjectURL(objectUrl);\n\n return worker;\n};\n","/**\n * Graphology ForceAtlas2 Layout Default Settings\n * ===============================================\n */\nmodule.exports = {\n linLogMode: false,\n outboundAttractionDistribution: false,\n adjustSizes: false,\n edgeWeightInfluence: 1,\n scalingRatio: 1,\n strongGravityMode: false,\n gravity: 1,\n slowDown: 1,\n barnesHutOptimize: false,\n barnesHutTheta: 0.5\n};\n","/**\n * Graphology ForceAtlas2 Layout\n * ==============================\n *\n * Library endpoint.\n */\nvar isGraph = require('graphology-utils/is-graph');\nvar createEdgeWeightGetter =\n require('graphology-utils/getters').createEdgeWeightGetter;\nvar iterate = require('./iterate.js');\nvar helpers = require('./helpers.js');\n\nvar DEFAULT_SETTINGS = require('./defaults.js');\n\n/**\n * Asbtract function used to run a certain number of iterations.\n *\n * @param {boolean} assign - Whether to assign positions.\n * @param {Graph} graph - Target graph.\n * @param {object|number} params - If number, params.iterations, else:\n * @param {function} getWeight - Edge weight getter function.\n * @param {number} iterations - Number of iterations.\n * @param {function|null} outputReducer - A node reducer\n * @param {object} [settings] - Settings.\n * @return {object|undefined}\n */\nfunction abstractSynchronousLayout(assign, graph, params) {\n if (!isGraph(graph))\n throw new Error(\n 'graphology-layout-forceatlas2: the given graph is not a valid graphology instance.'\n );\n\n if (typeof params === 'number') params = {iterations: params};\n\n var iterations = params.iterations;\n\n if (typeof iterations !== 'number')\n throw new Error(\n 'graphology-layout-forceatlas2: invalid number of iterations.'\n );\n\n if (iterations <= 0)\n throw new Error(\n 'graphology-layout-forceatlas2: you should provide a positive number of iterations.'\n );\n\n var getEdgeWeight = createEdgeWeightGetter(\n 'getEdgeWeight' in params ? params.getEdgeWeight : 'weight'\n ).fromEntry;\n\n var outputReducer =\n typeof params.outputReducer === 'function' ? params.outputReducer : null;\n\n // Validating settings\n var settings = helpers.assign({}, DEFAULT_SETTINGS, params.settings);\n var validationError = helpers.validateSettings(settings);\n\n if (validationError)\n throw new Error(\n 'graphology-layout-forceatlas2: ' + validationError.message\n );\n\n // Building matrices\n var matrices = helpers.graphToByteArrays(graph, getEdgeWeight);\n\n var i;\n\n // Iterating\n for (i = 0; i < iterations; i++)\n iterate(settings, matrices.nodes, matrices.edges);\n\n // Applying\n if (assign) {\n helpers.assignLayoutChanges(graph, matrices.nodes, outputReducer);\n return;\n }\n\n return helpers.collectLayoutChanges(graph, matrices.nodes);\n}\n\n/**\n * Function returning sane layout settings for the given graph.\n *\n * @param {Graph|number} graph - Target graph or graph order.\n * @return {object}\n */\nfunction inferSettings(graph) {\n var order = typeof graph === 'number' ? graph : graph.order;\n\n return {\n barnesHutOptimize: order > 2000,\n strongGravityMode: true,\n gravity: 0.05,\n scalingRatio: 10,\n slowDown: 1 + Math.log(order)\n };\n}\n\n/**\n * Exporting.\n */\nvar synchronousLayout = abstractSynchronousLayout.bind(null, false);\nsynchronousLayout.assign = abstractSynchronousLayout.bind(null, true);\nsynchronousLayout.inferSettings = inferSettings;\n\nmodule.exports = synchronousLayout;\n","/**\n * Graphology Random Layout\n * =========================\n *\n * Simple layout giving uniform random positions to the nodes.\n */\nvar resolveDefaults = require('graphology-utils/defaults');\nvar isGraph = require('graphology-utils/is-graph');\n\n/**\n * Default options.\n */\nvar DEFAULTS = {\n dimensions: ['x', 'y'],\n center: 0.5,\n rng: Math.random,\n scale: 1\n};\n\n/**\n * Abstract function running the layout.\n *\n * @param {Graph} graph - Target graph.\n * @param {object} [options] - Options:\n * @param {array} [dimensions] - List of dimensions of the layout.\n * @param {number} [center] - Center of the layout.\n * @param {function} [rng] - Custom RNG function to be used.\n * @param {number} [scale] - Scale of the layout.\n * @return {object} - The positions by node.\n */\nfunction genericRandomLayout(assign, graph, options) {\n if (!isGraph(graph))\n throw new Error(\n 'graphology-layout/random: the given graph is not a valid graphology instance.'\n );\n\n options = resolveDefaults(options, DEFAULTS);\n\n var dimensions = options.dimensions;\n\n if (!Array.isArray(dimensions) || dimensions.length < 1)\n throw new Error('graphology-layout/random: given dimensions are invalid.');\n\n var d = dimensions.length;\n var center = options.center;\n var rng = options.rng;\n var scale = options.scale;\n\n var offset = (center - 0.5) * scale;\n\n function assignPosition(target) {\n for (var i = 0; i < d; i++) {\n target[dimensions[i]] = rng() * scale + offset;\n }\n\n return target;\n }\n\n if (!assign) {\n var positions = {};\n\n graph.forEachNode(function (node) {\n positions[node] = assignPosition({});\n });\n\n return positions;\n }\n\n graph.updateEachNodeAttributes(\n function (_, attr) {\n assignPosition(attr);\n return attr;\n },\n {\n attributes: dimensions\n }\n );\n}\n\nvar randomLayout = genericRandomLayout.bind(null, false);\nrandomLayout.assign = genericRandomLayout.bind(null, true);\n\nmodule.exports = randomLayout;\n","import forceAtlas2Layout from 'graphology-layout-forceatlas2';\nimport { LayoutFactoryProps } from './types';\nimport random from 'graphology-layout/random';\n\nexport interface ForceAtlas2LayoutInputs extends LayoutFactoryProps {\n /**\n * Should the node’s sizes be taken into account. Default: false.\n */\n adjustSizes?: boolean;\n\n /**\n * whether to use the Barnes-Hut approximation to compute\n * repulsion in O(n*log(n)) rather than default O(n^2),\n * n being the number of nodes. Default: false.\n */\n barnesHutOptimize?: boolean;\n\n /**\n * Barnes-Hut approximation theta parameter. Default: 0.5.\n */\n barnesHutTheta?: number;\n\n /**\n * Influence of the edge’s weights on the layout. To consider edge weight, don’t\n * forget to pass weighted as true. Default: 1.\n */\n edgeWeightInfluence?: number;\n\n /**\n * Strength of the layout’s gravity. Default: 10.\n */\n gravity?: number;\n\n /**\n * Whether to use Noack’s LinLog model. Default: false.\n */\n linLogMode?: boolean;\n\n /**\n * Whether to consider edge weights when calculating repulsion. Default: false.\n */\n outboundAttractionDistribution?: boolean;\n\n /**\n * Scaling ratio for repulsion. Default: 100.\n */\n scalingRatio?: number;\n\n /**\n * Speed of the slowdown. Default: 1.\n */\n slowDown?: number;\n\n /**\n * Whether to use the strong gravity mode. Default: false.\n */\n strongGravityMode?: boolean;\n\n /**\n * Number of iterations to perform. Default: 50.\n */\n iterations?: number;\n}\n\nexport function forceAtlas2({\n graph,\n drags,\n iterations,\n ...rest\n}: ForceAtlas2LayoutInputs) {\n // Note: We need to assign a random position to each node\n // in order for the force atlas to work.\n // Reference: https://graphology.github.io/standard-library/layout-forceatlas2.html#pre-requisites\n random.assign(graph);\n\n const layout = forceAtlas2Layout(graph, {\n iterations,\n settings: rest\n });\n\n return {\n step() {\n return true;\n },\n getNodePosition(id: string) {\n // If we dragged, we need to use that position\n return (drags?.[id]?.position as any) || layout?.[id];\n }\n };\n}\n","import { LayoutFactoryProps, LayoutStrategy } from './types';\nimport { forceDirected, ForceDirectedLayoutInputs } from './forceDirected';\nimport { circular2d, CircularLayoutInputs } from './circular2d';\nimport { hierarchical, HierarchicalLayoutInputs } from './hierarchical';\nimport { NoOverlapLayoutInputs, nooverlap } from './nooverlap';\nimport { ForceAtlas2LayoutInputs, forceAtlas2 } from './forceatlas2';\n\nexport type LayoutOverrides = Partial<\n Omit | CircularLayoutInputs\n>;\n\nconst FORCE_LAYOUTS = [\n 'forceDirected2d',\n 'treeTd2d',\n 'treeLr2d',\n 'radialOut2d',\n 'treeTd3d',\n 'treeLr3d',\n 'radialOut3d',\n 'forceDirected3d'\n];\n\nexport function layoutProvider({\n type,\n ...rest\n}: LayoutFactoryProps | LayoutOverrides): LayoutStrategy {\n if (FORCE_LAYOUTS.includes(type)) {\n const {\n nodeStrength,\n linkDistance,\n clusterPadding,\n clusterStrength,\n nodeLevelRatio\n } = rest as ForceDirectedLayoutInputs;\n\n if (type === 'forceDirected2d') {\n return forceDirected({\n ...rest,\n dimensions: 2,\n nodeLevelRatio: nodeLevelRatio || 2,\n nodeStrength: nodeStrength || -250,\n linkDistance: linkDistance || 50,\n clusterPadding: clusterPadding || 10,\n clusterStrength: clusterStrength || 0.5\n } as ForceDirectedLayoutInputs);\n } else if (type === 'treeTd2d') {\n return forceDirected({\n ...rest,\n mode: 'td',\n dimensions: 2,\n nodeLevelRatio: nodeLevelRatio || 5,\n nodeStrength: nodeStrength || -250,\n linkDistance: linkDistance || 50\n } as ForceDirectedLayoutInputs);\n } else if (type === 'treeLr2d') {\n return forceDirected({\n ...rest,\n mode: 'lr',\n dimensions: 2,\n nodeLevelRatio: nodeLevelRatio || 5,\n nodeStrength: nodeStrength || -250,\n linkDistance: linkDistance || 50\n } as ForceDirectedLayoutInputs);\n } else if (type === 'radialOut2d') {\n return forceDirected({\n ...rest,\n mode: 'radialout',\n dimensions: 2,\n nodeLevelRatio: nodeLevelRatio || 5,\n nodeStrength: nodeStrength || -500,\n linkDistance: linkDistance || 100\n } as ForceDirectedLayoutInputs);\n } else if (type === 'treeTd3d') {\n return forceDirected({\n ...rest,\n mode: 'td',\n dimensions: 3,\n nodeLevelRatio: nodeLevelRatio || 2,\n nodeStrength: nodeStrength || -500,\n linkDistance: linkDistance || 50\n } as ForceDirectedLayoutInputs);\n } else if (type === 'treeLr3d') {\n return forceDirected({\n ...rest,\n mode: 'lr',\n dimensions: 3,\n nodeLevelRatio: nodeLevelRatio || 2,\n nodeStrength: nodeStrength || -500,\n linkDistance: linkDistance || 50\n } as ForceDirectedLayoutInputs);\n } else if (type === 'radialOut3d') {\n return forceDirected({\n ...rest,\n mode: 'radialout',\n dimensions: 3,\n nodeLevelRatio: nodeLevelRatio || 2,\n nodeStrength: nodeStrength || -500,\n linkDistance: linkDistance || 100\n } as ForceDirectedLayoutInputs);\n } else if (type === 'forceDirected3d') {\n return forceDirected({\n ...rest,\n dimensions: 3,\n nodeLevelRatio: nodeLevelRatio || 2,\n nodeStrength: nodeStrength || -250,\n linkDistance: linkDistance || 50\n } as ForceDirectedLayoutInputs);\n }\n } else if (type === 'circular2d') {\n const { radius } = rest as CircularLayoutInputs;\n return circular2d({\n ...rest,\n radius: radius || 300\n } as CircularLayoutInputs);\n } else if (type === 'hierarchicalTd') {\n return hierarchical({ ...rest, mode: 'td' } as HierarchicalLayoutInputs);\n } else if (type === 'hierarchicalLr') {\n return hierarchical({ ...rest, mode: 'lr' } as HierarchicalLayoutInputs);\n } else if (type === 'nooverlap') {\n const { graph, maxIterations, ratio, margin, gridSize } =\n rest as NoOverlapLayoutInputs;\n\n return nooverlap({\n type: 'nooverlap',\n graph,\n margin: margin || 10,\n maxIterations: maxIterations || 50,\n ratio: ratio || 10,\n gridSize: gridSize || 20\n });\n } else if (type === 'forceatlas2') {\n const { graph, iterations, gravity, scalingRatio, ...settings } =\n rest as ForceAtlas2LayoutInputs;\n\n return forceAtlas2({\n type: 'forceatlas2',\n graph,\n ...settings,\n scalingRatio: scalingRatio || 100,\n gravity: gravity || 10,\n iterations: iterations || 50\n });\n }\n\n throw new Error(`Layout ${type} not found.`);\n}\n","import { LayoutStrategy } from './types';\n\n/**\n * Promise based tick helper.\n */\nexport function tick(layout: LayoutStrategy, cb: (stable: boolean) => void) {\n let stable: boolean | undefined;\n\n function run() {\n if (!stable) {\n stable = layout.step();\n run();\n } else {\n cb(stable);\n }\n }\n\n run();\n}\n","/**\n * Mnemonist Typed Array Helpers\n * ==============================\n *\n * Miscellaneous helpers related to typed arrays.\n */\n\n/**\n * When using an unsigned integer array to store pointers, one might want to\n * choose the optimal word size in regards to the actual numbers of pointers\n * to store.\n *\n * This helpers does just that.\n *\n * @param {number} size - Expected size of the array to map.\n * @return {TypedArray}\n */\nvar MAX_8BIT_INTEGER = Math.pow(2, 8) - 1,\n MAX_16BIT_INTEGER = Math.pow(2, 16) - 1,\n MAX_32BIT_INTEGER = Math.pow(2, 32) - 1;\n\nvar MAX_SIGNED_8BIT_INTEGER = Math.pow(2, 7) - 1,\n MAX_SIGNED_16BIT_INTEGER = Math.pow(2, 15) - 1,\n MAX_SIGNED_32BIT_INTEGER = Math.pow(2, 31) - 1;\n\nexports.getPointerArray = function(size) {\n var maxIndex = size - 1;\n\n if (maxIndex <= MAX_8BIT_INTEGER)\n return Uint8Array;\n\n if (maxIndex <= MAX_16BIT_INTEGER)\n return Uint16Array;\n\n if (maxIndex <= MAX_32BIT_INTEGER)\n return Uint32Array;\n\n throw new Error('mnemonist: Pointer Array of size > 4294967295 is not supported.');\n};\n\nexports.getSignedPointerArray = function(size) {\n var maxIndex = size - 1;\n\n if (maxIndex <= MAX_SIGNED_8BIT_INTEGER)\n return Int8Array;\n\n if (maxIndex <= MAX_SIGNED_16BIT_INTEGER)\n return Int16Array;\n\n if (maxIndex <= MAX_SIGNED_32BIT_INTEGER)\n return Int32Array;\n\n return Float64Array;\n};\n\n/**\n * Function returning the minimal type able to represent the given number.\n *\n * @param {number} value - Value to test.\n * @return {TypedArrayClass}\n */\nexports.getNumberType = function(value) {\n\n // <= 32 bits itnteger?\n if (value === (value | 0)) {\n\n // Negative\n if (Math.sign(value) === -1) {\n if (value <= 127 && value >= -128)\n return Int8Array;\n\n if (value <= 32767 && value >= -32768)\n return Int16Array;\n\n return Int32Array;\n }\n else {\n\n if (value <= 255)\n return Uint8Array;\n\n if (value <= 65535)\n return Uint16Array;\n\n return Uint32Array;\n }\n }\n\n // 53 bits integer & floats\n // NOTE: it's kinda hard to tell whether we could use 32bits or not...\n return Float64Array;\n};\n\n/**\n * Function returning the minimal type able to represent the given array\n * of JavaScript numbers.\n *\n * @param {array} array - Array to represent.\n * @param {function} getter - Optional getter.\n * @return {TypedArrayClass}\n */\nvar TYPE_PRIORITY = {\n Uint8Array: 1,\n Int8Array: 2,\n Uint16Array: 3,\n Int16Array: 4,\n Uint32Array: 5,\n Int32Array: 6,\n Float32Array: 7,\n Float64Array: 8\n};\n\n// TODO: make this a one-shot for one value\nexports.getMinimalRepresentation = function(array, getter) {\n var maxType = null,\n maxPriority = 0,\n p,\n t,\n v,\n i,\n l;\n\n for (i = 0, l = array.length; i < l; i++) {\n v = getter ? getter(array[i]) : array[i];\n t = exports.getNumberType(v);\n p = TYPE_PRIORITY[t.name];\n\n if (p > maxPriority) {\n maxPriority = p;\n maxType = t;\n }\n }\n\n return maxType;\n};\n\n/**\n * Function returning whether the given value is a typed array.\n *\n * @param {any} value - Value to test.\n * @return {boolean}\n */\nexports.isTypedArray = function(value) {\n return typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView(value);\n};\n\n/**\n * Function used to concat byte arrays.\n *\n * @param {...ByteArray}\n * @return {ByteArray}\n */\nexports.concat = function() {\n var length = 0,\n i,\n o,\n l;\n\n for (i = 0, l = arguments.length; i < l; i++)\n length += arguments[i].length;\n\n var array = new (arguments[0].constructor)(length);\n\n for (i = 0, o = 0; i < l; i++) {\n array.set(arguments[i], o);\n o += arguments[i].length;\n }\n\n return array;\n};\n\n/**\n * Function used to initialize a byte array of indices.\n *\n * @param {number} length - Length of target.\n * @return {ByteArray}\n */\nexports.indices = function(length) {\n var PointerArray = exports.getPointerArray(length);\n\n var array = new PointerArray(length);\n\n for (var i = 0; i < length; i++)\n array[i] = i;\n\n return array;\n};\n","/**\n * Graphology Neighborhood Indices\n * ================================\n */\nvar typed = require('mnemonist/utils/typed-arrays');\nvar createEdgeWeightGetter =\n require('graphology-utils/getters').createEdgeWeightGetter;\n\nfunction upperBoundPerMethod(method, graph) {\n if (method === 'outbound' || method === 'inbound')\n return graph.directedSize + graph.undirectedSize * 2;\n\n if (method === 'in' || method === 'out' || method === 'directed')\n return graph.directedSize;\n\n return graph.undirectedSize * 2;\n}\n\nfunction NeighborhoodIndex(graph, method) {\n method = method || 'outbound';\n var getNeighbors = graph[method + 'Neighbors'].bind(graph);\n\n var upperBound = upperBoundPerMethod(method, graph);\n\n var NeighborhoodPointerArray = typed.getPointerArray(upperBound);\n var NodesPointerArray = typed.getPointerArray(graph.order);\n\n // NOTE: directedSize + undirectedSize * 2 is an upper bound for\n // neighborhood size\n this.graph = graph;\n this.neighborhood = new NodesPointerArray(upperBound);\n\n this.starts = new NeighborhoodPointerArray(graph.order + 1);\n\n this.nodes = graph.nodes();\n\n var ids = {};\n\n var i, l, j, m, node, neighbors;\n\n var n = 0;\n\n for (i = 0, l = graph.order; i < l; i++) ids[this.nodes[i]] = i;\n\n for (i = 0, l = graph.order; i < l; i++) {\n node = this.nodes[i];\n neighbors = getNeighbors(node);\n\n this.starts[i] = n;\n\n for (j = 0, m = neighbors.length; j < m; j++)\n this.neighborhood[n++] = ids[neighbors[j]];\n }\n\n // NOTE: we keep one more index as upper bound to simplify iteration\n this.starts[i] = upperBound;\n}\n\nNeighborhoodIndex.prototype.bounds = function (i) {\n return [this.starts[i], this.starts[i + 1]];\n};\n\nNeighborhoodIndex.prototype.project = function () {\n var self = this;\n\n var projection = {};\n\n self.nodes.forEach(function (node, i) {\n projection[node] = Array.from(\n self.neighborhood.slice(self.starts[i], self.starts[i + 1])\n ).map(function (j) {\n return self.nodes[j];\n });\n });\n\n return projection;\n};\n\nNeighborhoodIndex.prototype.collect = function (results) {\n var i, l;\n\n var o = {};\n\n for (i = 0, l = results.length; i < l; i++) o[this.nodes[i]] = results[i];\n\n return o;\n};\n\nNeighborhoodIndex.prototype.assign = function (prop, results) {\n var i = 0;\n\n this.graph.updateEachNodeAttributes(\n function (_, attr) {\n attr[prop] = results[i++];\n\n return attr;\n },\n {attributes: [prop]}\n );\n};\n\nexports.NeighborhoodIndex = NeighborhoodIndex;\n\nfunction WeightedNeighborhoodIndex(graph, getEdgeWeight, method) {\n method = method || 'outbound';\n var getEdges = graph[method + 'Edges'].bind(graph);\n\n var upperBound = upperBoundPerMethod(method, graph);\n\n var NeighborhoodPointerArray = typed.getPointerArray(upperBound);\n var NodesPointerArray = typed.getPointerArray(graph.order);\n\n var weightGetter = createEdgeWeightGetter(getEdgeWeight).fromMinimalEntry;\n\n // NOTE: directedSize + undirectedSize * 2 is an upper bound for\n // neighborhood size\n this.graph = graph;\n this.neighborhood = new NodesPointerArray(upperBound);\n this.weights = new Float64Array(upperBound);\n this.outDegrees = new Float64Array(graph.order);\n\n this.starts = new NeighborhoodPointerArray(graph.order + 1);\n\n this.nodes = graph.nodes();\n\n var ids = {};\n\n var i, l, j, m, node, neighbor, edges, edge, weight;\n\n var n = 0;\n\n for (i = 0, l = graph.order; i < l; i++) ids[this.nodes[i]] = i;\n\n for (i = 0, l = graph.order; i < l; i++) {\n node = this.nodes[i];\n edges = getEdges(node);\n\n this.starts[i] = n;\n\n for (j = 0, m = edges.length; j < m; j++) {\n edge = edges[j];\n neighbor = graph.opposite(node, edge);\n weight = weightGetter(edge, graph.getEdgeAttributes(edge));\n\n // NOTE: for weighted mixed beware of merging weights if twice the same neighbor\n this.neighborhood[n] = ids[neighbor];\n this.weights[n++] = weight;\n this.outDegrees[i] += weight;\n }\n }\n\n // NOTE: we keep one more index as upper bound to simplify iteration\n this.starts[i] = upperBound;\n}\n\nWeightedNeighborhoodIndex.prototype.bounds = NeighborhoodIndex.prototype.bounds;\nWeightedNeighborhoodIndex.prototype.project =\n NeighborhoodIndex.prototype.project;\nWeightedNeighborhoodIndex.prototype.collect =\n NeighborhoodIndex.prototype.collect;\nWeightedNeighborhoodIndex.prototype.assign = NeighborhoodIndex.prototype.assign;\n\nexports.WeightedNeighborhoodIndex = WeightedNeighborhoodIndex;\n","/**\n * Graphology Pagerank\n * ====================\n *\n * JavaScript implementation of the pagerank algorithm for graphology.\n *\n * [Reference]:\n * Page, Lawrence; Brin, Sergey; Motwani, Rajeev and Winograd, Terry,\n * The PageRank citation ranking: Bringing order to the Web. 1999\n */\nvar isGraph = require('graphology-utils/is-graph');\nvar resolveDefaults = require('graphology-utils/defaults');\nvar WeightedNeighborhoodIndex =\n require('graphology-indices/neighborhood').WeightedNeighborhoodIndex;\n\n/**\n * Defaults.\n */\nvar DEFAULTS = {\n nodePagerankAttribute: 'pagerank',\n getEdgeWeight: 'weight',\n alpha: 0.85,\n maxIterations: 100,\n tolerance: 1e-6\n};\n\n/**\n * Abstract function applying the pagerank algorithm to the given graph.\n *\n * @param {boolean} assign - Should we assign the result to nodes.\n * @param {Graph} graph - Target graph.\n * @param {?object} option - Options:\n * @param {?object} attributes - Custom attribute names:\n * @param {?string} pagerank - Name of the pagerank attribute to assign.\n * @param {?string} weight - Name of the weight algorithm.\n * @param {?number} alpha - Damping parameter.\n * @param {?number} maxIterations - Maximum number of iterations to perform.\n * @param {?number} tolerance - Error tolerance when checking for convergence.\n * @param {?boolean} weighted - Should we use the graph's weights.\n * @return {object|undefined}\n */\nfunction abstractPagerank(assign, graph, options) {\n if (!isGraph(graph))\n throw new Error(\n 'graphology-metrics/centrality/pagerank: the given graph is not a valid graphology instance.'\n );\n\n options = resolveDefaults(options, DEFAULTS);\n\n var alpha = options.alpha;\n var maxIterations = options.maxIterations;\n var tolerance = options.tolerance;\n\n var pagerankAttribute = options.nodePagerankAttribute;\n\n var N = graph.order;\n var p = 1 / N;\n\n var index = new WeightedNeighborhoodIndex(graph, options.getEdgeWeight);\n\n var i, j, l, d;\n\n var x = new Float64Array(graph.order);\n\n // Normalizing edge weights & indexing dangling nodes\n var normalizedEdgeWeights = new Float64Array(index.weights.length);\n var danglingNodes = [];\n\n for (i = 0; i < N; i++) {\n x[i] = p;\n l = index.starts[i + 1];\n d = index.outDegrees[i];\n\n if (d === 0) danglingNodes.push(i);\n\n for (j = index.starts[i]; j < l; j++) {\n normalizedEdgeWeights[j] = index.weights[j] / d;\n }\n }\n\n // Power iterations\n var iteration = 0;\n var error = 0;\n var dangleSum, neighbor, xLast;\n var converged = false;\n\n while (iteration < maxIterations) {\n xLast = x;\n x = new Float64Array(graph.order); // TODO: it should be possible to swap two arrays to avoid allocations (bench)\n\n dangleSum = 0;\n\n for (i = 0, l = danglingNodes.length; i < l; i++)\n dangleSum += xLast[danglingNodes[i]];\n\n dangleSum *= alpha;\n\n for (i = 0; i < N; i++) {\n l = index.starts[i + 1];\n\n for (j = index.starts[i]; j < l; j++) {\n neighbor = index.neighborhood[j];\n x[neighbor] += alpha * xLast[i] * normalizedEdgeWeights[j];\n }\n\n x[i] += dangleSum * p + (1 - alpha) * p;\n }\n\n // Checking convergence\n error = 0;\n\n for (i = 0; i < N; i++) {\n error += Math.abs(x[i] - xLast[i]);\n }\n\n if (error < N * tolerance) {\n converged = true;\n break;\n }\n\n iteration++;\n }\n\n if (!converged)\n throw Error('graphology-metrics/centrality/pagerank: failed to converge.');\n\n if (assign) {\n index.assign(pagerankAttribute, x);\n return;\n }\n\n return index.collect(x);\n}\n\n/**\n * Exporting.\n */\nvar pagerank = abstractPagerank.bind(null, false);\npagerank.assign = abstractPagerank.bind(null, true);\n\nmodule.exports = pagerank;\n","import pagerank from 'graphology-metrics/centrality/pagerank';\nimport { SizingStrategy, SizingStrategyInputs } from './types';\n\nexport function pageRankSizing({\n graph\n}: SizingStrategyInputs): SizingStrategy {\n const ranks = pagerank(graph);\n\n return {\n ranks,\n getSizeForNode: (nodeID: string) => ranks[nodeID] * 80\n };\n}\n","/**\n * Graphology Degree Centrality\n * =============================\n *\n * Function computing degree centrality.\n */\nvar isGraph = require('graphology-utils/is-graph');\n\n/**\n * Asbtract function to perform any kind of degree centrality.\n *\n * Intuitively, the degree centrality of a node is the fraction of nodes it\n * is connected to.\n *\n * @param {boolean} assign - Whether to assign the result to the nodes.\n * @param {string} method - Method of the graph to get the degree.\n * @param {Graph} graph - A graphology instance.\n * @param {object} [options] - Options:\n * @param {string} [nodeCentralityAttribute] - Name of the attribute to assign.\n * @return {object|void}\n */\nfunction abstractDegreeCentrality(assign, method, graph, options) {\n var name = method + 'Centrality';\n\n if (!isGraph(graph))\n throw new Error(\n 'graphology-centrality/' +\n name +\n ': the given graph is not a valid graphology instance.'\n );\n\n if (method !== 'degree' && graph.type === 'undirected')\n throw new Error(\n 'graphology-centrality/' +\n name +\n ': cannot compute ' +\n method +\n ' centrality on an undirected graph.'\n );\n\n // Solving options\n options = options || {};\n\n var centralityAttribute = options.nodeCentralityAttribute || name;\n\n var ratio = graph.order - 1;\n var getDegree = graph[method].bind(graph);\n\n if (assign) {\n graph.updateEachNodeAttributes(\n function (node, attr) {\n attr[centralityAttribute] = getDegree(node) / ratio;\n return attr;\n },\n {attributes: [centralityAttribute]}\n );\n\n return;\n }\n\n var centralities = {};\n\n graph.forEachNode(function (node) {\n centralities[node] = getDegree(node) / ratio;\n });\n\n return centralities;\n}\n\n/**\n * Building various functions to export.\n */\nvar degreeCentrality = abstractDegreeCentrality.bind(null, false, 'degree');\nvar inDegreeCentrality = abstractDegreeCentrality.bind(null, false, 'inDegree');\nvar outDegreeCentrality = abstractDegreeCentrality.bind(\n null,\n false,\n 'outDegree'\n);\n\ndegreeCentrality.assign = abstractDegreeCentrality.bind(null, true, 'degree');\ninDegreeCentrality.assign = abstractDegreeCentrality.bind(\n null,\n true,\n 'inDegree'\n);\noutDegreeCentrality.assign = abstractDegreeCentrality.bind(\n null,\n true,\n 'outDegree'\n);\n\n/**\n * Exporting.\n */\nexports.degreeCentrality = degreeCentrality;\nexports.inDegreeCentrality = inDegreeCentrality;\nexports.outDegreeCentrality = outDegreeCentrality;\n","import { SizingStrategy, SizingStrategyInputs } from './types';\nimport { degreeCentrality } from 'graphology-metrics/centrality/degree';\n\nexport function centralitySizing({\n graph\n}: SizingStrategyInputs): SizingStrategy {\n const ranks = degreeCentrality(graph);\n\n return {\n ranks,\n getSizeForNode: (nodeID: string) => ranks[nodeID] * 20\n };\n}\n","import { SizingStrategy, SizingStrategyInputs } from './types';\n\nexport function attributeSizing({\n graph,\n attribute,\n defaultSize\n}: SizingStrategyInputs): SizingStrategy {\n const map = new Map();\n\n if (attribute) {\n graph.forEachNode((id, node) => {\n const size = node[attribute];\n if (isNaN(size)) {\n console.warn(`Attribute ${size} is not a number for node ${node.id}`);\n }\n\n map.set(id, size || 0);\n });\n } else {\n console.warn('Attribute sizing configured but no attribute provided');\n }\n\n return {\n getSizeForNode: (nodeId: string) => {\n if (!attribute || !map) {\n return defaultSize;\n }\n\n return map.get(nodeId);\n }\n };\n}\n","export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import { pageRankSizing } from './pageRank';\nimport { centralitySizing } from './centrality';\nimport { attributeSizing } from './attribute';\nimport { SizingStrategyInputs } from './types';\nimport { scaleLinear } from 'd3-scale';\n\nexport type SizingType = 'none' | 'pagerank' | 'centrality' | 'attribute';\n\nexport interface NodeSizeProviderInputs extends SizingStrategyInputs {\n type: SizingType;\n}\n\nconst providers = {\n pagerank: pageRankSizing,\n centrality: centralitySizing,\n attribute: attributeSizing,\n none: ({ defaultSize }: SizingStrategyInputs) => ({\n getSizeForNode: (_id: string) => defaultSize\n })\n};\n\nexport function nodeSizeProvider({ type, ...rest }: NodeSizeProviderInputs) {\n const provider = providers[type]?.(rest);\n if (!provider) {\n throw new Error(`Unknown sizing strategy: ${type}`);\n }\n\n const { graph, minSize, maxSize } = rest;\n const sizes = new Map();\n let min;\n let max;\n\n graph.forEachNode((id, node) => {\n const size = node?.size || provider.getSizeForNode(id);\n\n if (min === undefined || size < min) {\n min = size;\n }\n\n if (max === undefined || size > max) {\n max = size;\n }\n\n sizes.set(id, size);\n });\n\n if (type !== 'none') {\n const scale = scaleLinear()\n .domain([min, max])\n .rangeRound([minSize, maxSize]);\n\n for (const [nodeId, size] of sizes) {\n sizes.set(nodeId, scale(size));\n }\n }\n\n return sizes;\n}\n","import { EdgeLabelPosition } from '../symbols';\n\nconst NODE_THRESHOLD = 20;\n\nexport type LabelVisibilityType = 'all' | 'auto' | 'none' | 'nodes' | 'edges';\n\nexport function calcLabelVisibility(\n nodeCount: number,\n type: LabelVisibilityType\n) {\n return (shape: 'node' | 'edge', size: number) => {\n if (type === 'all') {\n return true;\n } else if (type === 'nodes' && shape === 'node') {\n return true;\n } else if (type === 'edges' && shape === 'edge') {\n return true;\n } else if (type === 'auto' && shape === 'node') {\n if (nodeCount <= NODE_THRESHOLD) {\n return true;\n } else {\n return size > 7;\n }\n }\n\n return false;\n };\n}\n\nexport function getLabelOffsetByType(\n offset: number,\n position: EdgeLabelPosition\n): number {\n switch (position) {\n case 'above':\n return offset;\n case 'below':\n return -offset;\n case 'inline':\n case 'natural':\n default:\n return 0;\n }\n}\n","import Graph from 'graphology';\nimport { nodeSizeProvider, SizingType } from '../sizing';\nimport {\n GraphEdge,\n GraphNode,\n InternalGraphEdge,\n InternalGraphNode\n} from '../types';\nimport { calcLabelVisibility, LabelVisibilityType } from './visibility';\nimport { LayoutStrategy } from '../layout';\n\n/**\n * Initialize the graph with the nodes/edges.\n */\nexport function buildGraph(\n graph: Graph,\n nodes: GraphNode[],\n edges: GraphEdge[]\n) {\n // TODO: We probably want to make this\n // smarter and only add/remove nodes\n graph.clear();\n\n for (const node of nodes) {\n try {\n graph.addNode(node.id, node);\n } catch ({ message }) {\n console.error(`[Graph] ${message}`);\n }\n }\n\n for (const edge of edges) {\n graph.addEdge(edge.source, edge.target, edge);\n }\n\n return graph;\n}\n\ninterface TransformGraphInput {\n graph: Graph;\n layout: LayoutStrategy;\n sizingType?: SizingType;\n labelType?: LabelVisibilityType;\n sizingAttribute?: string;\n minNodeSize?: number;\n maxNodeSize?: number;\n defaultNodeSize?: number;\n}\n\n/**\n * Transform the graph into a format that is easier to work with.\n */\nexport function transformGraph({\n graph,\n layout,\n sizingType,\n labelType,\n sizingAttribute,\n defaultNodeSize,\n minNodeSize,\n maxNodeSize\n}: TransformGraphInput) {\n const nodes: InternalGraphNode[] = [];\n const edges: InternalGraphEdge[] = [];\n const map = new Map();\n\n const sizes = nodeSizeProvider({\n graph,\n type: sizingType,\n attribute: sizingAttribute,\n minSize: minNodeSize,\n maxSize: maxNodeSize,\n defaultSize: defaultNodeSize\n });\n\n const nodeCount = graph.nodes.length;\n const checkVisibility = calcLabelVisibility(nodeCount, labelType);\n\n graph.forEachNode((id, node) => {\n const position = layout.getNodePosition(id);\n const { data, fill, icon, label, size, ...rest } = node;\n const nodeSize = sizes.get(node.id);\n const labelVisible = checkVisibility('node', nodeSize);\n\n const nodeLinks = graph.inboundNeighbors(node.id) || [];\n const parents = nodeLinks.map(n => graph.getNodeAttributes(n));\n\n const n: InternalGraphNode = {\n ...(node as any),\n size: nodeSize,\n labelVisible,\n label,\n icon,\n fill,\n parents,\n data: {\n ...rest,\n ...(data ?? {})\n },\n position: {\n ...position,\n x: position.x || 0,\n y: position.y || 0,\n z: position.z || 1\n }\n };\n\n map.set(node.id, n);\n nodes.push(n);\n });\n\n graph.forEachEdge((_id, link) => {\n const from = map.get(link.source);\n const to = map.get(link.target);\n\n if (from && to) {\n const { data, id, label, size, ...rest } = link;\n const labelVisible = checkVisibility('edge', size);\n\n // TODO: Fix type\n edges.push({\n ...link,\n id,\n label,\n labelVisible,\n size,\n data: {\n ...rest,\n id,\n ...(data || {})\n }\n } as any);\n }\n });\n\n return {\n nodes,\n edges\n };\n}\n","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (nextState !== state) {\n const previousState = state;\n state = replace ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => listeners.clear();\n const api = { setState, getState, subscribe, destroy };\n state = createState(\n setState,\n getState,\n api\n );\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nexport { createStore as default };\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"react\"),n=require(\"use-sync-external-store/shim\");function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q=\"function\"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);\nu(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","import createStore__default from 'zustand/vanilla';\nexport * from 'zustand/vanilla';\nexport { default as createStore } from 'zustand/vanilla';\nimport { useDebugValue } from 'react';\nimport useSyncExternalStoreExports from 'use-sync-external-store/shim/with-selector.js';\n\nconst { useSyncExternalStoreWithSelector } = useSyncExternalStoreExports;\nfunction useStore(api, selector = api.getState, equalityFn) {\n const slice = useSyncExternalStoreWithSelector(\n api.subscribe,\n api.getState,\n api.getServerState || api.getState,\n selector,\n equalityFn\n );\n useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = typeof createState === \"function\" ? createStore__default(createState) : createState;\n const useBoundStore = (selector, equalityFn) => useStore(api, selector, equalityFn);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\nvar create$1 = create;\n\nexport { create$1 as default, useStore };\n","import { createContext as createContext$1, useRef, createElement, useContext, useMemo } from 'react';\nimport { useStore } from 'zustand';\n\nfunction createContext() {\n const ZustandContext = createContext$1(void 0);\n const Provider = ({\n createStore,\n children\n }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = createStore();\n }\n return createElement(\n ZustandContext.Provider,\n { value: storeRef.current },\n children\n );\n };\n const useBoundStore = (selector, equalityFn) => {\n const store = useContext(ZustandContext);\n if (!store) {\n throw new Error(\n \"Seems like you have not used zustand provider as an ancestor.\"\n );\n }\n return useStore(\n store,\n selector,\n equalityFn\n );\n };\n const useStoreApi = () => {\n const store = useContext(ZustandContext);\n if (!store) {\n throw new Error(\n \"Seems like you have not used zustand provider as an ancestor.\"\n );\n }\n return useMemo(\n () => ({\n getState: store.getState,\n setState: store.setState,\n subscribe: store.subscribe,\n destroy: store.destroy\n }),\n [store]\n );\n };\n return {\n Provider,\n useStore: useBoundStore,\n useStoreApi\n };\n}\n\nexport { createContext as default };\n","export const animationConfig = {\n mass: 10,\n tension: 1000,\n friction: 300,\n // Decreasing precision to improve performance from 0.00001\n precision: 0.1\n};\n","import { Curve, Vector3 } from 'three';\n\nimport { EdgeArrowPosition } from '../symbols/Arrow';\n\n// Calculate the correct position for an arrow along a curve,\n// as well as the tangent to the curve at that point.\nexport function getArrowVectors(\n placement: EdgeArrowPosition,\n curve: Curve,\n arrowLength: number\n): [Vector3, Vector3] {\n const curveLength = curve.getLength();\n const absSize = placement === 'end' ? curveLength : curveLength / 2;\n const offset = placement === 'end' ? arrowLength / 2 : 0;\n const u = (absSize - offset) / curveLength;\n\n const position = curve.getPointAt(u);\n const rotation = curve.getTangentAt(u);\n\n return [position, rotation];\n}\n\nexport function getArrowSize(size: number): [number, number] {\n return [size + 6, 2 + size / 1.5];\n}\n","import { Curve, LineCurve3, QuadraticBezierCurve3, Vector3 } from 'three';\nimport { InternalGraphNode, InternalVector3 } from '../types';\n\n/**\n * Get the midpoint given two points.\n */\nexport function getMidPoint(\n from: InternalVector3,\n to: InternalVector3,\n offset = 0\n) {\n const fromVector = new Vector3(from.x, from.y || 0, from.z || 0);\n const toVector = new Vector3(to.x, to.y || 0, to.z || 0);\n const midVector = new Vector3()\n .addVectors(fromVector, toVector)\n .divideScalar(2);\n\n return midVector.setLength(midVector.length() + offset);\n}\n\n/**\n * Calculate the center for a quadratic bezier curve.\n *\n * 1) Find the point halfway between the start and end points of the desired curve\n * 2) Find the vector pependicular to that point\n * 3) Find the point 1/4 the distance between start and end along that vector.\n */\nexport function getCurvePoints(\n from: Vector3,\n to: Vector3,\n offset = -1\n): [Vector3, Vector3, Vector3] {\n const fromVector = from.clone();\n const toVector = to.clone();\n const v = new Vector3().subVectors(toVector, fromVector);\n const vlen = v.length();\n const vn = v.clone().normalize();\n const vv = new Vector3().subVectors(toVector, fromVector).divideScalar(2);\n const k = Math.abs(vn.x) % 1;\n const b = new Vector3(-vn.y, vn.x - k * vn.z, k * vn.y).normalize();\n const vm = new Vector3()\n .add(fromVector)\n .add(vv)\n .add(b.multiplyScalar(vlen / 4).multiplyScalar(offset));\n\n return [from, vm, to];\n}\n\n/**\n * Get the curve given two points.\n */\nexport function getCurve(\n from: Vector3,\n fromOffset: number,\n to: Vector3,\n toOffset: number,\n curved: boolean\n): Curve {\n const offsetFrom = getPointBetween(from, to, fromOffset);\n const offsetTo = getPointBetween(to, from, toOffset);\n return curved\n ? new QuadraticBezierCurve3(...getCurvePoints(offsetFrom, offsetTo))\n : new LineCurve3(offsetFrom, offsetTo);\n}\n\n/**\n * Create a threejs vector for a node.\n */\nexport function getVector(node: InternalGraphNode): Vector3 {\n return new Vector3(node.position.x, node.position.y, node.position.z || 0);\n}\n\n/**\n * Get the point between two vectors.\n */\nfunction getPointBetween(from: Vector3, to: Vector3, offset: number): Vector3 {\n const distance = from.distanceTo(to);\n return from.clone().add(\n to\n .clone()\n .sub(from)\n .multiplyScalar(offset / distance)\n );\n}\n","import { InternalGraphNode } from '../types';\n\n/**\n * Given a collection of nodes, get the center point.\n */\nexport function getLayoutCenter(nodes: InternalGraphNode[]) {\n let minX = Number.POSITIVE_INFINITY;\n let maxX = Number.NEGATIVE_INFINITY;\n let minY = Number.POSITIVE_INFINITY;\n let maxY = Number.NEGATIVE_INFINITY;\n let minZ = Number.POSITIVE_INFINITY;\n let maxZ = Number.NEGATIVE_INFINITY;\n\n for (let node of nodes) {\n minX = Math.min(minX, node.position.x);\n maxX = Math.max(maxX, node.position.x);\n minY = Math.min(minY, node.position.y);\n maxY = Math.max(maxY, node.position.y);\n minZ = Math.min(minZ, node.position.z);\n maxZ = Math.max(maxZ, node.position.z);\n }\n\n return {\n minX,\n maxX,\n minY,\n maxY,\n minZ,\n maxZ,\n x: (maxX + minX) / 2,\n y: (maxY + minY) / 2,\n z: (maxZ + minZ) / 2\n };\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","/**\n * Obliterator Iterator Class\n * ===========================\n *\n * Simple class representing the library's iterators.\n */\n\n/**\n * Iterator class.\n *\n * @constructor\n * @param {function} next - Next function.\n */\nfunction Iterator(next) {\n if (typeof next !== 'function')\n throw new Error('obliterator/iterator: expecting a function!');\n\n this.next = next;\n}\n\n/**\n * If symbols are supported, we add `next` to `Symbol.iterator`.\n */\nif (typeof Symbol !== 'undefined')\n Iterator.prototype[Symbol.iterator] = function () {\n return this;\n };\n\n/**\n * Returning an iterator of the given values.\n *\n * @param {any...} values - Values.\n * @return {Iterator}\n */\nIterator.of = function () {\n var args = arguments,\n l = args.length,\n i = 0;\n\n return new Iterator(function () {\n if (i >= l) return {done: true};\n\n return {done: false, value: args[i++]};\n });\n};\n\n/**\n * Returning an empty iterator.\n *\n * @return {Iterator}\n */\nIterator.empty = function () {\n var iterator = new Iterator(function () {\n return {done: true};\n });\n\n return iterator;\n};\n\n/**\n * Returning an iterator over the given indexed sequence.\n *\n * @param {string|Array} sequence - Target sequence.\n * @return {Iterator}\n */\nIterator.fromSequence = function (sequence) {\n var i = 0,\n l = sequence.length;\n\n return new Iterator(function () {\n if (i >= l) return {done: true};\n\n return {done: false, value: sequence[i++]};\n });\n};\n\n/**\n * Returning whether the given value is an iterator.\n *\n * @param {any} value - Value.\n * @return {boolean}\n */\nIterator.is = function (value) {\n if (value instanceof Iterator) return true;\n\n return (\n typeof value === 'object' &&\n value !== null &&\n typeof value.next === 'function'\n );\n};\n\n/**\n * Exporting.\n */\nmodule.exports = Iterator;\n","exports.ARRAY_BUFFER_SUPPORT = typeof ArrayBuffer !== 'undefined';\nexports.SYMBOL_SUPPORT = typeof Symbol !== 'undefined';\n","/**\n * Obliterator Iter Function\n * ==========================\n *\n * Function coercing values to an iterator. It can be quite useful when needing\n * to handle iterables and iterators the same way.\n */\nvar Iterator = require('./iterator.js');\nvar support = require('./support.js');\n\nvar ARRAY_BUFFER_SUPPORT = support.ARRAY_BUFFER_SUPPORT;\nvar SYMBOL_SUPPORT = support.SYMBOL_SUPPORT;\n\nfunction iterOrNull(target) {\n // Indexed sequence\n if (\n typeof target === 'string' ||\n Array.isArray(target) ||\n (ARRAY_BUFFER_SUPPORT && ArrayBuffer.isView(target))\n )\n return Iterator.fromSequence(target);\n\n // Invalid value\n if (typeof target !== 'object' || target === null) return null;\n\n // Iterable\n if (SYMBOL_SUPPORT && typeof target[Symbol.iterator] === 'function')\n return target[Symbol.iterator]();\n\n // Iterator duck-typing\n if (typeof target.next === 'function') return target;\n\n // Invalid object\n return null;\n}\n\nmodule.exports = function iter(target) {\n var iterator = iterOrNull(target);\n\n if (!iterator)\n throw new Error(\n 'obliterator: target is not iterable nor a valid iterator.'\n );\n\n return iterator;\n};\n","/* eslint no-constant-condition: 0 */\n/**\n * Obliterator Take Function\n * ==========================\n *\n * Function taking n or every value of the given iterator and returns them\n * into an array.\n */\nvar iter = require('./iter.js');\n\n/**\n * Take.\n *\n * @param {Iterable} iterable - Target iterable.\n * @param {number} [n] - Optional number of items to take.\n * @return {array}\n */\nmodule.exports = function take(iterable, n) {\n var l = arguments.length > 1 ? n : Infinity,\n array = l !== Infinity ? new Array(l) : [],\n step,\n i = 0;\n\n var iterator = iter(iterable);\n\n while (true) {\n if (i === l) return array;\n\n step = iterator.next();\n\n if (step.done) {\n if (i !== n) array.length = i;\n\n return array;\n }\n\n array[i++] = step.value;\n }\n};\n","/**\n * Obliterator Chain Function\n * ===========================\n *\n * Variadic function combining the given iterables.\n */\nvar Iterator = require('./iterator.js');\nvar iter = require('./iter.js');\n\n/**\n * Chain.\n *\n * @param {...Iterator} iterables - Target iterables.\n * @return {Iterator}\n */\nmodule.exports = function chain() {\n var iterables = arguments;\n var current = null;\n var i = -1;\n\n /* eslint-disable no-constant-condition */\n return new Iterator(function next() {\n var step = null;\n\n do {\n if (current === null) {\n i++;\n\n if (i >= iterables.length) return {done: true};\n\n current = iter(iterables[i]);\n }\n\n step = current.next();\n\n if (step.done === true) {\n current = null;\n continue;\n }\n\n break;\n } while (true);\n\n return step;\n });\n};\n","import { EventEmitter } from 'events';\nimport Iterator from 'obliterator/iterator';\nimport take from 'obliterator/take';\nimport chain from 'obliterator/chain';\n\n/**\n * Graphology Utilities\n * =====================\n *\n * Collection of helpful functions used by the implementation.\n */\n\n/**\n * Object.assign-like polyfill.\n *\n * @param {object} target - First object.\n * @param {object} [...objects] - Objects to merge.\n * @return {object}\n */\nfunction assignPolyfill() {\n const target = arguments[0];\n\n for (let i = 1, l = arguments.length; i < l; i++) {\n if (!arguments[i]) continue;\n\n for (const k in arguments[i]) target[k] = arguments[i][k];\n }\n\n return target;\n}\n\nlet assign = assignPolyfill;\n\nif (typeof Object.assign === 'function') assign = Object.assign;\n\n/**\n * Function returning the first matching edge for given path.\n * Note: this function does not check the existence of source & target. This\n * must be performed by the caller.\n *\n * @param {Graph} graph - Target graph.\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n * @param {string} type - Type of the edge (mixed, directed or undirected).\n * @return {string|null}\n */\nfunction getMatchingEdge(graph, source, target, type) {\n const sourceData = graph._nodes.get(source);\n\n let edge = null;\n\n if (!sourceData) return edge;\n\n if (type === 'mixed') {\n edge =\n (sourceData.out && sourceData.out[target]) ||\n (sourceData.undirected && sourceData.undirected[target]);\n } else if (type === 'directed') {\n edge = sourceData.out && sourceData.out[target];\n } else {\n edge = sourceData.undirected && sourceData.undirected[target];\n }\n\n return edge;\n}\n\n/**\n * Checks whether the given value is a plain object.\n *\n * @param {mixed} value - Target value.\n * @return {boolean}\n */\nfunction isPlainObject(value) {\n return (\n typeof value === 'object' && value !== null && value.constructor === Object\n );\n}\n\n/**\n * Checks whether the given object is empty.\n *\n * @param {object} o - Target Object.\n * @return {boolean}\n */\nfunction isEmpty(o) {\n let k;\n\n for (k in o) return false;\n\n return true;\n}\n\n/**\n * Creates a \"private\" property for the given member name by concealing it\n * using the `enumerable` option.\n *\n * @param {object} target - Target object.\n * @param {string} name - Member name.\n */\nfunction privateProperty(target, name, value) {\n Object.defineProperty(target, name, {\n enumerable: false,\n configurable: false,\n writable: true,\n value\n });\n}\n\n/**\n * Creates a read-only property for the given member name & the given getter.\n *\n * @param {object} target - Target object.\n * @param {string} name - Member name.\n * @param {mixed} value - The attached getter or fixed value.\n */\nfunction readOnlyProperty(target, name, value) {\n const descriptor = {\n enumerable: true,\n configurable: true\n };\n\n if (typeof value === 'function') {\n descriptor.get = value;\n } else {\n descriptor.value = value;\n descriptor.writable = false;\n }\n\n Object.defineProperty(target, name, descriptor);\n}\n\n/**\n * Returns whether the given object constitute valid hints.\n *\n * @param {object} hints - Target object.\n */\nfunction validateHints(hints) {\n if (!isPlainObject(hints)) return false;\n\n if (hints.attributes && !Array.isArray(hints.attributes)) return false;\n\n return true;\n}\n\n/**\n * Creates a function generating incremental ids for edges.\n *\n * @return {function}\n */\nfunction incrementalIdStartingFromRandomByte() {\n let i = Math.floor(Math.random() * 256) & 0xff;\n\n return () => {\n return i++;\n };\n}\n\n/**\n * Graphology Custom Errors\n * =========================\n *\n * Defining custom errors for ease of use & easy unit tests across\n * implementations (normalized typology rather than relying on error\n * messages to check whether the correct error was found).\n */\nclass GraphError extends Error {\n constructor(message) {\n super();\n this.name = 'GraphError';\n this.message = message;\n }\n}\n\nclass InvalidArgumentsGraphError extends GraphError {\n constructor(message) {\n super(message);\n this.name = 'InvalidArgumentsGraphError';\n\n // This is V8 specific to enhance stack readability\n if (typeof Error.captureStackTrace === 'function')\n Error.captureStackTrace(\n this,\n InvalidArgumentsGraphError.prototype.constructor\n );\n }\n}\n\nclass NotFoundGraphError extends GraphError {\n constructor(message) {\n super(message);\n this.name = 'NotFoundGraphError';\n\n // This is V8 specific to enhance stack readability\n if (typeof Error.captureStackTrace === 'function')\n Error.captureStackTrace(this, NotFoundGraphError.prototype.constructor);\n }\n}\n\nclass UsageGraphError extends GraphError {\n constructor(message) {\n super(message);\n this.name = 'UsageGraphError';\n\n // This is V8 specific to enhance stack readability\n if (typeof Error.captureStackTrace === 'function')\n Error.captureStackTrace(this, UsageGraphError.prototype.constructor);\n }\n}\n\n/**\n * Graphology Internal Data Classes\n * =================================\n *\n * Internal classes hopefully reduced to structs by engines & storing\n * necessary information for nodes & edges.\n *\n * Note that those classes don't rely on the `class` keyword to avoid some\n * cruft introduced by most of ES2015 transpilers.\n */\n\n/**\n * MixedNodeData class.\n *\n * @constructor\n * @param {string} string - The node's key.\n * @param {object} attributes - Node's attributes.\n */\nfunction MixedNodeData(key, attributes) {\n // Attributes\n this.key = key;\n this.attributes = attributes;\n\n this.clear();\n}\n\nMixedNodeData.prototype.clear = function () {\n // Degrees\n this.inDegree = 0;\n this.outDegree = 0;\n this.undirectedDegree = 0;\n this.undirectedLoops = 0;\n this.directedLoops = 0;\n\n // Indices\n this.in = {};\n this.out = {};\n this.undirected = {};\n};\n\n/**\n * DirectedNodeData class.\n *\n * @constructor\n * @param {string} string - The node's key.\n * @param {object} attributes - Node's attributes.\n */\nfunction DirectedNodeData(key, attributes) {\n // Attributes\n this.key = key;\n this.attributes = attributes;\n\n this.clear();\n}\n\nDirectedNodeData.prototype.clear = function () {\n // Degrees\n this.inDegree = 0;\n this.outDegree = 0;\n this.directedLoops = 0;\n\n // Indices\n this.in = {};\n this.out = {};\n};\n\n/**\n * UndirectedNodeData class.\n *\n * @constructor\n * @param {string} string - The node's key.\n * @param {object} attributes - Node's attributes.\n */\nfunction UndirectedNodeData(key, attributes) {\n // Attributes\n this.key = key;\n this.attributes = attributes;\n\n this.clear();\n}\n\nUndirectedNodeData.prototype.clear = function () {\n // Degrees\n this.undirectedDegree = 0;\n this.undirectedLoops = 0;\n\n // Indices\n this.undirected = {};\n};\n\n/**\n * EdgeData class.\n *\n * @constructor\n * @param {boolean} undirected - Whether the edge is undirected.\n * @param {string} string - The edge's key.\n * @param {string} source - Source of the edge.\n * @param {string} target - Target of the edge.\n * @param {object} attributes - Edge's attributes.\n */\nfunction EdgeData(undirected, key, source, target, attributes) {\n // Attributes\n this.key = key;\n this.attributes = attributes;\n this.undirected = undirected;\n\n // Extremities\n this.source = source;\n this.target = target;\n}\n\nEdgeData.prototype.attach = function () {\n let outKey = 'out';\n let inKey = 'in';\n\n if (this.undirected) outKey = inKey = 'undirected';\n\n const source = this.source.key;\n const target = this.target.key;\n\n // Handling source\n this.source[outKey][target] = this;\n\n if (this.undirected && source === target) return;\n\n // Handling target\n this.target[inKey][source] = this;\n};\n\nEdgeData.prototype.attachMulti = function () {\n let outKey = 'out';\n let inKey = 'in';\n\n const source = this.source.key;\n const target = this.target.key;\n\n if (this.undirected) outKey = inKey = 'undirected';\n\n // Handling source\n const adj = this.source[outKey];\n const head = adj[target];\n\n if (typeof head === 'undefined') {\n adj[target] = this;\n\n // Self-loop optimization\n if (!(this.undirected && source === target)) {\n // Handling target\n this.target[inKey][source] = this;\n }\n\n return;\n }\n\n // Prepending to doubly-linked list\n head.previous = this;\n this.next = head;\n\n // Pointing to new head\n // NOTE: use mutating swap later to avoid lookup?\n adj[target] = this;\n this.target[inKey][source] = this;\n};\n\nEdgeData.prototype.detach = function () {\n const source = this.source.key;\n const target = this.target.key;\n\n let outKey = 'out';\n let inKey = 'in';\n\n if (this.undirected) outKey = inKey = 'undirected';\n\n delete this.source[outKey][target];\n\n // No-op delete in case of undirected self-loop\n delete this.target[inKey][source];\n};\n\nEdgeData.prototype.detachMulti = function () {\n const source = this.source.key;\n const target = this.target.key;\n\n let outKey = 'out';\n let inKey = 'in';\n\n if (this.undirected) outKey = inKey = 'undirected';\n\n // Deleting from doubly-linked list\n if (this.previous === undefined) {\n // We are dealing with the head\n\n // Should we delete the adjacency entry because it is now empty?\n if (this.next === undefined) {\n delete this.source[outKey][target];\n\n // No-op delete in case of undirected self-loop\n delete this.target[inKey][source];\n } else {\n // Detaching\n this.next.previous = undefined;\n\n // NOTE: could avoid the lookups by creating a #.become mutating method\n this.source[outKey][target] = this.next;\n\n // No-op delete in case of undirected self-loop\n this.target[inKey][source] = this.next;\n }\n } else {\n // We are dealing with another list node\n this.previous.next = this.next;\n\n // If not last\n if (this.next !== undefined) {\n this.next.previous = this.previous;\n }\n }\n};\n\n/**\n * Graphology Node Attributes methods\n * ===================================\n */\n\nconst NODE = 0;\nconst SOURCE = 1;\nconst TARGET = 2;\nconst OPPOSITE = 3;\n\nfunction findRelevantNodeData(\n graph,\n method,\n mode,\n nodeOrEdge,\n nameOrEdge,\n add1,\n add2\n) {\n let nodeData, edgeData, arg1, arg2;\n\n nodeOrEdge = '' + nodeOrEdge;\n\n if (mode === NODE) {\n nodeData = graph._nodes.get(nodeOrEdge);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find the \"${nodeOrEdge}\" node in the graph.`\n );\n\n arg1 = nameOrEdge;\n arg2 = add1;\n } else if (mode === OPPOSITE) {\n nameOrEdge = '' + nameOrEdge;\n\n edgeData = graph._edges.get(nameOrEdge);\n\n if (!edgeData)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find the \"${nameOrEdge}\" edge in the graph.`\n );\n\n const source = edgeData.source.key;\n const target = edgeData.target.key;\n\n if (nodeOrEdge === source) {\n nodeData = edgeData.target;\n } else if (nodeOrEdge === target) {\n nodeData = edgeData.source;\n } else {\n throw new NotFoundGraphError(\n `Graph.${method}: the \"${nodeOrEdge}\" node is not attached to the \"${nameOrEdge}\" edge (${source}, ${target}).`\n );\n }\n\n arg1 = add1;\n arg2 = add2;\n } else {\n edgeData = graph._edges.get(nodeOrEdge);\n\n if (!edgeData)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find the \"${nodeOrEdge}\" edge in the graph.`\n );\n\n if (mode === SOURCE) {\n nodeData = edgeData.source;\n } else {\n nodeData = edgeData.target;\n }\n\n arg1 = nameOrEdge;\n arg2 = add1;\n }\n\n return [nodeData, arg1, arg2];\n}\n\nfunction attachNodeAttributeGetter(Class, method, mode) {\n Class.prototype[method] = function (nodeOrEdge, nameOrEdge, add1) {\n const [data, name] = findRelevantNodeData(\n this,\n method,\n mode,\n nodeOrEdge,\n nameOrEdge,\n add1\n );\n\n return data.attributes[name];\n };\n}\n\nfunction attachNodeAttributesGetter(Class, method, mode) {\n Class.prototype[method] = function (nodeOrEdge, nameOrEdge) {\n const [data] = findRelevantNodeData(\n this,\n method,\n mode,\n nodeOrEdge,\n nameOrEdge\n );\n\n return data.attributes;\n };\n}\n\nfunction attachNodeAttributeChecker(Class, method, mode) {\n Class.prototype[method] = function (nodeOrEdge, nameOrEdge, add1) {\n const [data, name] = findRelevantNodeData(\n this,\n method,\n mode,\n nodeOrEdge,\n nameOrEdge,\n add1\n );\n\n return data.attributes.hasOwnProperty(name);\n };\n}\n\nfunction attachNodeAttributeSetter(Class, method, mode) {\n Class.prototype[method] = function (nodeOrEdge, nameOrEdge, add1, add2) {\n const [data, name, value] = findRelevantNodeData(\n this,\n method,\n mode,\n nodeOrEdge,\n nameOrEdge,\n add1,\n add2\n );\n\n data.attributes[name] = value;\n\n // Emitting\n this.emit('nodeAttributesUpdated', {\n key: data.key,\n type: 'set',\n attributes: data.attributes,\n name\n });\n\n return this;\n };\n}\n\nfunction attachNodeAttributeUpdater(Class, method, mode) {\n Class.prototype[method] = function (nodeOrEdge, nameOrEdge, add1, add2) {\n const [data, name, updater] = findRelevantNodeData(\n this,\n method,\n mode,\n nodeOrEdge,\n nameOrEdge,\n add1,\n add2\n );\n\n if (typeof updater !== 'function')\n throw new InvalidArgumentsGraphError(\n `Graph.${method}: updater should be a function.`\n );\n\n const attributes = data.attributes;\n const value = updater(attributes[name]);\n\n attributes[name] = value;\n\n // Emitting\n this.emit('nodeAttributesUpdated', {\n key: data.key,\n type: 'set',\n attributes: data.attributes,\n name\n });\n\n return this;\n };\n}\n\nfunction attachNodeAttributeRemover(Class, method, mode) {\n Class.prototype[method] = function (nodeOrEdge, nameOrEdge, add1) {\n const [data, name] = findRelevantNodeData(\n this,\n method,\n mode,\n nodeOrEdge,\n nameOrEdge,\n add1\n );\n\n delete data.attributes[name];\n\n // Emitting\n this.emit('nodeAttributesUpdated', {\n key: data.key,\n type: 'remove',\n attributes: data.attributes,\n name\n });\n\n return this;\n };\n}\n\nfunction attachNodeAttributesReplacer(Class, method, mode) {\n Class.prototype[method] = function (nodeOrEdge, nameOrEdge, add1) {\n const [data, attributes] = findRelevantNodeData(\n this,\n method,\n mode,\n nodeOrEdge,\n nameOrEdge,\n add1\n );\n\n if (!isPlainObject(attributes))\n throw new InvalidArgumentsGraphError(\n `Graph.${method}: provided attributes are not a plain object.`\n );\n\n data.attributes = attributes;\n\n // Emitting\n this.emit('nodeAttributesUpdated', {\n key: data.key,\n type: 'replace',\n attributes: data.attributes\n });\n\n return this;\n };\n}\n\nfunction attachNodeAttributesMerger(Class, method, mode) {\n Class.prototype[method] = function (nodeOrEdge, nameOrEdge, add1) {\n const [data, attributes] = findRelevantNodeData(\n this,\n method,\n mode,\n nodeOrEdge,\n nameOrEdge,\n add1\n );\n\n if (!isPlainObject(attributes))\n throw new InvalidArgumentsGraphError(\n `Graph.${method}: provided attributes are not a plain object.`\n );\n\n assign(data.attributes, attributes);\n\n // Emitting\n this.emit('nodeAttributesUpdated', {\n key: data.key,\n type: 'merge',\n attributes: data.attributes,\n data: attributes\n });\n\n return this;\n };\n}\n\nfunction attachNodeAttributesUpdater(Class, method, mode) {\n Class.prototype[method] = function (nodeOrEdge, nameOrEdge, add1) {\n const [data, updater] = findRelevantNodeData(\n this,\n method,\n mode,\n nodeOrEdge,\n nameOrEdge,\n add1\n );\n\n if (typeof updater !== 'function')\n throw new InvalidArgumentsGraphError(\n `Graph.${method}: provided updater is not a function.`\n );\n\n data.attributes = updater(data.attributes);\n\n // Emitting\n this.emit('nodeAttributesUpdated', {\n key: data.key,\n type: 'update',\n attributes: data.attributes\n });\n\n return this;\n };\n}\n\n/**\n * List of methods to attach.\n */\nconst NODE_ATTRIBUTES_METHODS = [\n {\n name: element => `get${element}Attribute`,\n attacher: attachNodeAttributeGetter\n },\n {\n name: element => `get${element}Attributes`,\n attacher: attachNodeAttributesGetter\n },\n {\n name: element => `has${element}Attribute`,\n attacher: attachNodeAttributeChecker\n },\n {\n name: element => `set${element}Attribute`,\n attacher: attachNodeAttributeSetter\n },\n {\n name: element => `update${element}Attribute`,\n attacher: attachNodeAttributeUpdater\n },\n {\n name: element => `remove${element}Attribute`,\n attacher: attachNodeAttributeRemover\n },\n {\n name: element => `replace${element}Attributes`,\n attacher: attachNodeAttributesReplacer\n },\n {\n name: element => `merge${element}Attributes`,\n attacher: attachNodeAttributesMerger\n },\n {\n name: element => `update${element}Attributes`,\n attacher: attachNodeAttributesUpdater\n }\n];\n\n/**\n * Attach every attributes-related methods to a Graph class.\n *\n * @param {function} Graph - Target class.\n */\nfunction attachNodeAttributesMethods(Graph) {\n NODE_ATTRIBUTES_METHODS.forEach(function ({name, attacher}) {\n // For nodes\n attacher(Graph, name('Node'), NODE);\n\n // For sources\n attacher(Graph, name('Source'), SOURCE);\n\n // For targets\n attacher(Graph, name('Target'), TARGET);\n\n // For opposites\n attacher(Graph, name('Opposite'), OPPOSITE);\n });\n}\n\n/**\n * Graphology Edge Attributes methods\n * ===================================\n */\n\n/**\n * Attach an attribute getter method onto the provided class.\n *\n * @param {function} Class - Target class.\n * @param {string} method - Method name.\n * @param {string} type - Type of the edge to find.\n */\nfunction attachEdgeAttributeGetter(Class, method, type) {\n /**\n * Get the desired attribute for the given element (node or edge).\n *\n * Arity 2:\n * @param {any} element - Target element.\n * @param {string} name - Attribute's name.\n *\n * Arity 3 (only for edges):\n * @param {any} source - Source element.\n * @param {any} target - Target element.\n * @param {string} name - Attribute's name.\n *\n * @return {mixed} - The attribute's value.\n *\n * @throws {Error} - Will throw if too many arguments are provided.\n * @throws {Error} - Will throw if any of the elements is not found.\n */\n Class.prototype[method] = function (element, name) {\n let data;\n\n if (this.type !== 'mixed' && type !== 'mixed' && type !== this.type)\n throw new UsageGraphError(\n `Graph.${method}: cannot find this type of edges in your ${this.type} graph.`\n );\n\n if (arguments.length > 2) {\n if (this.multi)\n throw new UsageGraphError(\n `Graph.${method}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`\n );\n\n const source = '' + element;\n const target = '' + name;\n\n name = arguments[2];\n\n data = getMatchingEdge(this, source, target, type);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find an edge for the given path (\"${source}\" - \"${target}\").`\n );\n } else {\n if (type !== 'mixed')\n throw new UsageGraphError(\n `Graph.${method}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`\n );\n\n element = '' + element;\n data = this._edges.get(element);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find the \"${element}\" edge in the graph.`\n );\n }\n\n return data.attributes[name];\n };\n}\n\n/**\n * Attach an attributes getter method onto the provided class.\n *\n * @param {function} Class - Target class.\n * @param {string} method - Method name.\n * @param {string} type - Type of the edge to find.\n */\nfunction attachEdgeAttributesGetter(Class, method, type) {\n /**\n * Retrieves all the target element's attributes.\n *\n * Arity 2:\n * @param {any} element - Target element.\n *\n * Arity 3 (only for edges):\n * @param {any} source - Source element.\n * @param {any} target - Target element.\n *\n * @return {object} - The element's attributes.\n *\n * @throws {Error} - Will throw if too many arguments are provided.\n * @throws {Error} - Will throw if any of the elements is not found.\n */\n Class.prototype[method] = function (element) {\n let data;\n\n if (this.type !== 'mixed' && type !== 'mixed' && type !== this.type)\n throw new UsageGraphError(\n `Graph.${method}: cannot find this type of edges in your ${this.type} graph.`\n );\n\n if (arguments.length > 1) {\n if (this.multi)\n throw new UsageGraphError(\n `Graph.${method}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`\n );\n\n const source = '' + element,\n target = '' + arguments[1];\n\n data = getMatchingEdge(this, source, target, type);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find an edge for the given path (\"${source}\" - \"${target}\").`\n );\n } else {\n if (type !== 'mixed')\n throw new UsageGraphError(\n `Graph.${method}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`\n );\n\n element = '' + element;\n data = this._edges.get(element);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find the \"${element}\" edge in the graph.`\n );\n }\n\n return data.attributes;\n };\n}\n\n/**\n * Attach an attribute checker method onto the provided class.\n *\n * @param {function} Class - Target class.\n * @param {string} method - Method name.\n * @param {string} type - Type of the edge to find.\n */\nfunction attachEdgeAttributeChecker(Class, method, type) {\n /**\n * Checks whether the desired attribute is set for the given element (node or edge).\n *\n * Arity 2:\n * @param {any} element - Target element.\n * @param {string} name - Attribute's name.\n *\n * Arity 3 (only for edges):\n * @param {any} source - Source element.\n * @param {any} target - Target element.\n * @param {string} name - Attribute's name.\n *\n * @return {boolean}\n *\n * @throws {Error} - Will throw if too many arguments are provided.\n * @throws {Error} - Will throw if any of the elements is not found.\n */\n Class.prototype[method] = function (element, name) {\n let data;\n\n if (this.type !== 'mixed' && type !== 'mixed' && type !== this.type)\n throw new UsageGraphError(\n `Graph.${method}: cannot find this type of edges in your ${this.type} graph.`\n );\n\n if (arguments.length > 2) {\n if (this.multi)\n throw new UsageGraphError(\n `Graph.${method}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`\n );\n\n const source = '' + element;\n const target = '' + name;\n\n name = arguments[2];\n\n data = getMatchingEdge(this, source, target, type);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find an edge for the given path (\"${source}\" - \"${target}\").`\n );\n } else {\n if (type !== 'mixed')\n throw new UsageGraphError(\n `Graph.${method}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`\n );\n\n element = '' + element;\n data = this._edges.get(element);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find the \"${element}\" edge in the graph.`\n );\n }\n\n return data.attributes.hasOwnProperty(name);\n };\n}\n\n/**\n * Attach an attribute setter method onto the provided class.\n *\n * @param {function} Class - Target class.\n * @param {string} method - Method name.\n * @param {string} type - Type of the edge to find.\n */\nfunction attachEdgeAttributeSetter(Class, method, type) {\n /**\n * Set the desired attribute for the given element (node or edge).\n *\n * Arity 2:\n * @param {any} element - Target element.\n * @param {string} name - Attribute's name.\n * @param {mixed} value - New attribute value.\n *\n * Arity 3 (only for edges):\n * @param {any} source - Source element.\n * @param {any} target - Target element.\n * @param {string} name - Attribute's name.\n * @param {mixed} value - New attribute value.\n *\n * @return {Graph} - Returns itself for chaining.\n *\n * @throws {Error} - Will throw if too many arguments are provided.\n * @throws {Error} - Will throw if any of the elements is not found.\n */\n Class.prototype[method] = function (element, name, value) {\n let data;\n\n if (this.type !== 'mixed' && type !== 'mixed' && type !== this.type)\n throw new UsageGraphError(\n `Graph.${method}: cannot find this type of edges in your ${this.type} graph.`\n );\n\n if (arguments.length > 3) {\n if (this.multi)\n throw new UsageGraphError(\n `Graph.${method}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`\n );\n\n const source = '' + element;\n const target = '' + name;\n\n name = arguments[2];\n value = arguments[3];\n\n data = getMatchingEdge(this, source, target, type);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find an edge for the given path (\"${source}\" - \"${target}\").`\n );\n } else {\n if (type !== 'mixed')\n throw new UsageGraphError(\n `Graph.${method}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`\n );\n\n element = '' + element;\n data = this._edges.get(element);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find the \"${element}\" edge in the graph.`\n );\n }\n\n data.attributes[name] = value;\n\n // Emitting\n this.emit('edgeAttributesUpdated', {\n key: data.key,\n type: 'set',\n attributes: data.attributes,\n name\n });\n\n return this;\n };\n}\n\n/**\n * Attach an attribute updater method onto the provided class.\n *\n * @param {function} Class - Target class.\n * @param {string} method - Method name.\n * @param {string} type - Type of the edge to find.\n */\nfunction attachEdgeAttributeUpdater(Class, method, type) {\n /**\n * Update the desired attribute for the given element (node or edge) using\n * the provided function.\n *\n * Arity 2:\n * @param {any} element - Target element.\n * @param {string} name - Attribute's name.\n * @param {function} updater - Updater function.\n *\n * Arity 3 (only for edges):\n * @param {any} source - Source element.\n * @param {any} target - Target element.\n * @param {string} name - Attribute's name.\n * @param {function} updater - Updater function.\n *\n * @return {Graph} - Returns itself for chaining.\n *\n * @throws {Error} - Will throw if too many arguments are provided.\n * @throws {Error} - Will throw if any of the elements is not found.\n */\n Class.prototype[method] = function (element, name, updater) {\n let data;\n\n if (this.type !== 'mixed' && type !== 'mixed' && type !== this.type)\n throw new UsageGraphError(\n `Graph.${method}: cannot find this type of edges in your ${this.type} graph.`\n );\n\n if (arguments.length > 3) {\n if (this.multi)\n throw new UsageGraphError(\n `Graph.${method}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`\n );\n\n const source = '' + element;\n const target = '' + name;\n\n name = arguments[2];\n updater = arguments[3];\n\n data = getMatchingEdge(this, source, target, type);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find an edge for the given path (\"${source}\" - \"${target}\").`\n );\n } else {\n if (type !== 'mixed')\n throw new UsageGraphError(\n `Graph.${method}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`\n );\n\n element = '' + element;\n data = this._edges.get(element);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find the \"${element}\" edge in the graph.`\n );\n }\n\n if (typeof updater !== 'function')\n throw new InvalidArgumentsGraphError(\n `Graph.${method}: updater should be a function.`\n );\n\n data.attributes[name] = updater(data.attributes[name]);\n\n // Emitting\n this.emit('edgeAttributesUpdated', {\n key: data.key,\n type: 'set',\n attributes: data.attributes,\n name\n });\n\n return this;\n };\n}\n\n/**\n * Attach an attribute remover method onto the provided class.\n *\n * @param {function} Class - Target class.\n * @param {string} method - Method name.\n * @param {string} type - Type of the edge to find.\n */\nfunction attachEdgeAttributeRemover(Class, method, type) {\n /**\n * Remove the desired attribute for the given element (node or edge).\n *\n * Arity 2:\n * @param {any} element - Target element.\n * @param {string} name - Attribute's name.\n *\n * Arity 3 (only for edges):\n * @param {any} source - Source element.\n * @param {any} target - Target element.\n * @param {string} name - Attribute's name.\n *\n * @return {Graph} - Returns itself for chaining.\n *\n * @throws {Error} - Will throw if too many arguments are provided.\n * @throws {Error} - Will throw if any of the elements is not found.\n */\n Class.prototype[method] = function (element, name) {\n let data;\n\n if (this.type !== 'mixed' && type !== 'mixed' && type !== this.type)\n throw new UsageGraphError(\n `Graph.${method}: cannot find this type of edges in your ${this.type} graph.`\n );\n\n if (arguments.length > 2) {\n if (this.multi)\n throw new UsageGraphError(\n `Graph.${method}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`\n );\n\n const source = '' + element;\n const target = '' + name;\n\n name = arguments[2];\n\n data = getMatchingEdge(this, source, target, type);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find an edge for the given path (\"${source}\" - \"${target}\").`\n );\n } else {\n if (type !== 'mixed')\n throw new UsageGraphError(\n `Graph.${method}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`\n );\n\n element = '' + element;\n data = this._edges.get(element);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find the \"${element}\" edge in the graph.`\n );\n }\n\n delete data.attributes[name];\n\n // Emitting\n this.emit('edgeAttributesUpdated', {\n key: data.key,\n type: 'remove',\n attributes: data.attributes,\n name\n });\n\n return this;\n };\n}\n\n/**\n * Attach an attribute replacer method onto the provided class.\n *\n * @param {function} Class - Target class.\n * @param {string} method - Method name.\n * @param {string} type - Type of the edge to find.\n */\nfunction attachEdgeAttributesReplacer(Class, method, type) {\n /**\n * Replace the attributes for the given element (node or edge).\n *\n * Arity 2:\n * @param {any} element - Target element.\n * @param {object} attributes - New attributes.\n *\n * Arity 3 (only for edges):\n * @param {any} source - Source element.\n * @param {any} target - Target element.\n * @param {object} attributes - New attributes.\n *\n * @return {Graph} - Returns itself for chaining.\n *\n * @throws {Error} - Will throw if too many arguments are provided.\n * @throws {Error} - Will throw if any of the elements is not found.\n */\n Class.prototype[method] = function (element, attributes) {\n let data;\n\n if (this.type !== 'mixed' && type !== 'mixed' && type !== this.type)\n throw new UsageGraphError(\n `Graph.${method}: cannot find this type of edges in your ${this.type} graph.`\n );\n\n if (arguments.length > 2) {\n if (this.multi)\n throw new UsageGraphError(\n `Graph.${method}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`\n );\n\n const source = '' + element,\n target = '' + attributes;\n\n attributes = arguments[2];\n\n data = getMatchingEdge(this, source, target, type);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find an edge for the given path (\"${source}\" - \"${target}\").`\n );\n } else {\n if (type !== 'mixed')\n throw new UsageGraphError(\n `Graph.${method}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`\n );\n\n element = '' + element;\n data = this._edges.get(element);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find the \"${element}\" edge in the graph.`\n );\n }\n\n if (!isPlainObject(attributes))\n throw new InvalidArgumentsGraphError(\n `Graph.${method}: provided attributes are not a plain object.`\n );\n\n data.attributes = attributes;\n\n // Emitting\n this.emit('edgeAttributesUpdated', {\n key: data.key,\n type: 'replace',\n attributes: data.attributes\n });\n\n return this;\n };\n}\n\n/**\n * Attach an attribute merger method onto the provided class.\n *\n * @param {function} Class - Target class.\n * @param {string} method - Method name.\n * @param {string} type - Type of the edge to find.\n */\nfunction attachEdgeAttributesMerger(Class, method, type) {\n /**\n * Merge the attributes for the given element (node or edge).\n *\n * Arity 2:\n * @param {any} element - Target element.\n * @param {object} attributes - Attributes to merge.\n *\n * Arity 3 (only for edges):\n * @param {any} source - Source element.\n * @param {any} target - Target element.\n * @param {object} attributes - Attributes to merge.\n *\n * @return {Graph} - Returns itself for chaining.\n *\n * @throws {Error} - Will throw if too many arguments are provided.\n * @throws {Error} - Will throw if any of the elements is not found.\n */\n Class.prototype[method] = function (element, attributes) {\n let data;\n\n if (this.type !== 'mixed' && type !== 'mixed' && type !== this.type)\n throw new UsageGraphError(\n `Graph.${method}: cannot find this type of edges in your ${this.type} graph.`\n );\n\n if (arguments.length > 2) {\n if (this.multi)\n throw new UsageGraphError(\n `Graph.${method}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`\n );\n\n const source = '' + element,\n target = '' + attributes;\n\n attributes = arguments[2];\n\n data = getMatchingEdge(this, source, target, type);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find an edge for the given path (\"${source}\" - \"${target}\").`\n );\n } else {\n if (type !== 'mixed')\n throw new UsageGraphError(\n `Graph.${method}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`\n );\n\n element = '' + element;\n data = this._edges.get(element);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find the \"${element}\" edge in the graph.`\n );\n }\n\n if (!isPlainObject(attributes))\n throw new InvalidArgumentsGraphError(\n `Graph.${method}: provided attributes are not a plain object.`\n );\n\n assign(data.attributes, attributes);\n\n // Emitting\n this.emit('edgeAttributesUpdated', {\n key: data.key,\n type: 'merge',\n attributes: data.attributes,\n data: attributes\n });\n\n return this;\n };\n}\n\n/**\n * Attach an attribute updater method onto the provided class.\n *\n * @param {function} Class - Target class.\n * @param {string} method - Method name.\n * @param {string} type - Type of the edge to find.\n */\nfunction attachEdgeAttributesUpdater(Class, method, type) {\n /**\n * Update the attributes of the given element (node or edge).\n *\n * Arity 2:\n * @param {any} element - Target element.\n * @param {function} updater - Updater function.\n *\n * Arity 3 (only for edges):\n * @param {any} source - Source element.\n * @param {any} target - Target element.\n * @param {function} updater - Updater function.\n *\n * @return {Graph} - Returns itself for chaining.\n *\n * @throws {Error} - Will throw if too many arguments are provided.\n * @throws {Error} - Will throw if any of the elements is not found.\n */\n Class.prototype[method] = function (element, updater) {\n let data;\n\n if (this.type !== 'mixed' && type !== 'mixed' && type !== this.type)\n throw new UsageGraphError(\n `Graph.${method}: cannot find this type of edges in your ${this.type} graph.`\n );\n\n if (arguments.length > 2) {\n if (this.multi)\n throw new UsageGraphError(\n `Graph.${method}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`\n );\n\n const source = '' + element,\n target = '' + updater;\n\n updater = arguments[2];\n\n data = getMatchingEdge(this, source, target, type);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find an edge for the given path (\"${source}\" - \"${target}\").`\n );\n } else {\n if (type !== 'mixed')\n throw new UsageGraphError(\n `Graph.${method}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`\n );\n\n element = '' + element;\n data = this._edges.get(element);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.${method}: could not find the \"${element}\" edge in the graph.`\n );\n }\n\n if (typeof updater !== 'function')\n throw new InvalidArgumentsGraphError(\n `Graph.${method}: provided updater is not a function.`\n );\n\n data.attributes = updater(data.attributes);\n\n // Emitting\n this.emit('edgeAttributesUpdated', {\n key: data.key,\n type: 'update',\n attributes: data.attributes\n });\n\n return this;\n };\n}\n\n/**\n * List of methods to attach.\n */\nconst EDGE_ATTRIBUTES_METHODS = [\n {\n name: element => `get${element}Attribute`,\n attacher: attachEdgeAttributeGetter\n },\n {\n name: element => `get${element}Attributes`,\n attacher: attachEdgeAttributesGetter\n },\n {\n name: element => `has${element}Attribute`,\n attacher: attachEdgeAttributeChecker\n },\n {\n name: element => `set${element}Attribute`,\n attacher: attachEdgeAttributeSetter\n },\n {\n name: element => `update${element}Attribute`,\n attacher: attachEdgeAttributeUpdater\n },\n {\n name: element => `remove${element}Attribute`,\n attacher: attachEdgeAttributeRemover\n },\n {\n name: element => `replace${element}Attributes`,\n attacher: attachEdgeAttributesReplacer\n },\n {\n name: element => `merge${element}Attributes`,\n attacher: attachEdgeAttributesMerger\n },\n {\n name: element => `update${element}Attributes`,\n attacher: attachEdgeAttributesUpdater\n }\n];\n\n/**\n * Attach every attributes-related methods to a Graph class.\n *\n * @param {function} Graph - Target class.\n */\nfunction attachEdgeAttributesMethods(Graph) {\n EDGE_ATTRIBUTES_METHODS.forEach(function ({name, attacher}) {\n // For edges\n attacher(Graph, name('Edge'), 'mixed');\n\n // For directed edges\n attacher(Graph, name('DirectedEdge'), 'directed');\n\n // For undirected edges\n attacher(Graph, name('UndirectedEdge'), 'undirected');\n });\n}\n\n/**\n * Graphology Edge Iteration\n * ==========================\n *\n * Attaching some methods to the Graph class to be able to iterate over a\n * graph's edges.\n */\n\n/**\n * Definitions.\n */\nconst EDGES_ITERATION = [\n {\n name: 'edges',\n type: 'mixed'\n },\n {\n name: 'inEdges',\n type: 'directed',\n direction: 'in'\n },\n {\n name: 'outEdges',\n type: 'directed',\n direction: 'out'\n },\n {\n name: 'inboundEdges',\n type: 'mixed',\n direction: 'in'\n },\n {\n name: 'outboundEdges',\n type: 'mixed',\n direction: 'out'\n },\n {\n name: 'directedEdges',\n type: 'directed'\n },\n {\n name: 'undirectedEdges',\n type: 'undirected'\n }\n];\n\n/**\n * Function iterating over edges from the given object to match one of them.\n *\n * @param {object} object - Target object.\n * @param {function} callback - Function to call.\n */\nfunction forEachSimple(breakable, object, callback, avoid) {\n let shouldBreak = false;\n\n for (const k in object) {\n if (k === avoid) continue;\n\n const edgeData = object[k];\n\n shouldBreak = callback(\n edgeData.key,\n edgeData.attributes,\n edgeData.source.key,\n edgeData.target.key,\n edgeData.source.attributes,\n edgeData.target.attributes,\n edgeData.undirected\n );\n\n if (breakable && shouldBreak) return edgeData.key;\n }\n\n return;\n}\n\nfunction forEachMulti(breakable, object, callback, avoid) {\n let edgeData, source, target;\n\n let shouldBreak = false;\n\n for (const k in object) {\n if (k === avoid) continue;\n\n edgeData = object[k];\n\n do {\n source = edgeData.source;\n target = edgeData.target;\n\n shouldBreak = callback(\n edgeData.key,\n edgeData.attributes,\n source.key,\n target.key,\n source.attributes,\n target.attributes,\n edgeData.undirected\n );\n\n if (breakable && shouldBreak) return edgeData.key;\n\n edgeData = edgeData.next;\n } while (edgeData !== undefined);\n }\n\n return;\n}\n\n/**\n * Function returning an iterator over edges from the given object.\n *\n * @param {object} object - Target object.\n * @return {Iterator}\n */\nfunction createIterator(object, avoid) {\n const keys = Object.keys(object);\n const l = keys.length;\n\n let edgeData;\n let i = 0;\n\n return new Iterator(function next() {\n do {\n if (!edgeData) {\n if (i >= l) return {done: true};\n\n const k = keys[i++];\n\n if (k === avoid) {\n edgeData = undefined;\n continue;\n }\n\n edgeData = object[k];\n } else {\n edgeData = edgeData.next;\n }\n } while (!edgeData);\n\n return {\n done: false,\n value: {\n edge: edgeData.key,\n attributes: edgeData.attributes,\n source: edgeData.source.key,\n target: edgeData.target.key,\n sourceAttributes: edgeData.source.attributes,\n targetAttributes: edgeData.target.attributes,\n undirected: edgeData.undirected\n }\n };\n });\n}\n\n/**\n * Function iterating over the egdes from the object at given key to match\n * one of them.\n *\n * @param {object} object - Target object.\n * @param {mixed} k - Neighbor key.\n * @param {function} callback - Callback to use.\n */\nfunction forEachForKeySimple(breakable, object, k, callback) {\n const edgeData = object[k];\n\n if (!edgeData) return;\n\n const sourceData = edgeData.source;\n const targetData = edgeData.target;\n\n if (\n callback(\n edgeData.key,\n edgeData.attributes,\n sourceData.key,\n targetData.key,\n sourceData.attributes,\n targetData.attributes,\n edgeData.undirected\n ) &&\n breakable\n )\n return edgeData.key;\n}\n\nfunction forEachForKeyMulti(breakable, object, k, callback) {\n let edgeData = object[k];\n\n if (!edgeData) return;\n\n let shouldBreak = false;\n\n do {\n shouldBreak = callback(\n edgeData.key,\n edgeData.attributes,\n edgeData.source.key,\n edgeData.target.key,\n edgeData.source.attributes,\n edgeData.target.attributes,\n edgeData.undirected\n );\n\n if (breakable && shouldBreak) return edgeData.key;\n\n edgeData = edgeData.next;\n } while (edgeData !== undefined);\n\n return;\n}\n\n/**\n * Function returning an iterator over the egdes from the object at given key.\n *\n * @param {object} object - Target object.\n * @param {mixed} k - Neighbor key.\n * @return {Iterator}\n */\nfunction createIteratorForKey(object, k) {\n let edgeData = object[k];\n\n if (edgeData.next !== undefined) {\n return new Iterator(function () {\n if (!edgeData) return {done: true};\n\n const value = {\n edge: edgeData.key,\n attributes: edgeData.attributes,\n source: edgeData.source.key,\n target: edgeData.target.key,\n sourceAttributes: edgeData.source.attributes,\n targetAttributes: edgeData.target.attributes,\n undirected: edgeData.undirected\n };\n\n edgeData = edgeData.next;\n\n return {\n done: false,\n value\n };\n });\n }\n\n return Iterator.of({\n edge: edgeData.key,\n attributes: edgeData.attributes,\n source: edgeData.source.key,\n target: edgeData.target.key,\n sourceAttributes: edgeData.source.attributes,\n targetAttributes: edgeData.target.attributes,\n undirected: edgeData.undirected\n });\n}\n\n/**\n * Function creating an array of edges for the given type.\n *\n * @param {Graph} graph - Target Graph instance.\n * @param {string} type - Type of edges to retrieve.\n * @return {array} - Array of edges.\n */\nfunction createEdgeArray(graph, type) {\n if (graph.size === 0) return [];\n\n if (type === 'mixed' || type === graph.type) {\n if (typeof Array.from === 'function')\n return Array.from(graph._edges.keys());\n\n return take(graph._edges.keys(), graph._edges.size);\n }\n\n const size =\n type === 'undirected' ? graph.undirectedSize : graph.directedSize;\n\n const list = new Array(size),\n mask = type === 'undirected';\n\n const iterator = graph._edges.values();\n\n let i = 0;\n let step, data;\n\n while (((step = iterator.next()), step.done !== true)) {\n data = step.value;\n\n if (data.undirected === mask) list[i++] = data.key;\n }\n\n return list;\n}\n\n/**\n * Function iterating over a graph's edges using a callback to match one of\n * them.\n *\n * @param {Graph} graph - Target Graph instance.\n * @param {string} type - Type of edges to retrieve.\n * @param {function} callback - Function to call.\n */\nfunction forEachEdge(breakable, graph, type, callback) {\n if (graph.size === 0) return;\n\n const shouldFilter = type !== 'mixed' && type !== graph.type;\n const mask = type === 'undirected';\n\n let step, data;\n let shouldBreak = false;\n const iterator = graph._edges.values();\n\n while (((step = iterator.next()), step.done !== true)) {\n data = step.value;\n\n if (shouldFilter && data.undirected !== mask) continue;\n\n const {key, attributes, source, target} = data;\n\n shouldBreak = callback(\n key,\n attributes,\n source.key,\n target.key,\n source.attributes,\n target.attributes,\n data.undirected\n );\n\n if (breakable && shouldBreak) return key;\n }\n\n return;\n}\n\n/**\n * Function creating an iterator of edges for the given type.\n *\n * @param {Graph} graph - Target Graph instance.\n * @param {string} type - Type of edges to retrieve.\n * @return {Iterator}\n */\nfunction createEdgeIterator(graph, type) {\n if (graph.size === 0) return Iterator.empty();\n\n const shouldFilter = type !== 'mixed' && type !== graph.type;\n const mask = type === 'undirected';\n\n const iterator = graph._edges.values();\n\n return new Iterator(function next() {\n let step, data;\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n step = iterator.next();\n\n if (step.done) return step;\n\n data = step.value;\n\n if (shouldFilter && data.undirected !== mask) continue;\n\n break;\n }\n\n const value = {\n edge: data.key,\n attributes: data.attributes,\n source: data.source.key,\n target: data.target.key,\n sourceAttributes: data.source.attributes,\n targetAttributes: data.target.attributes,\n undirected: data.undirected\n };\n\n return {value, done: false};\n });\n}\n\n/**\n * Function iterating over a node's edges using a callback to match one of them.\n *\n * @param {boolean} multi - Whether the graph is multi or not.\n * @param {string} type - Type of edges to retrieve.\n * @param {string} direction - In or out?\n * @param {any} nodeData - Target node's data.\n * @param {function} callback - Function to call.\n */\nfunction forEachEdgeForNode(\n breakable,\n multi,\n type,\n direction,\n nodeData,\n callback\n) {\n const fn = multi ? forEachMulti : forEachSimple;\n\n let found;\n\n if (type !== 'undirected') {\n if (direction !== 'out') {\n found = fn(breakable, nodeData.in, callback);\n\n if (breakable && found) return found;\n }\n if (direction !== 'in') {\n found = fn(\n breakable,\n nodeData.out,\n callback,\n !direction ? nodeData.key : undefined\n );\n\n if (breakable && found) return found;\n }\n }\n\n if (type !== 'directed') {\n found = fn(breakable, nodeData.undirected, callback);\n\n if (breakable && found) return found;\n }\n\n return;\n}\n\n/**\n * Function creating an array of edges for the given type & the given node.\n *\n * @param {boolean} multi - Whether the graph is multi or not.\n * @param {string} type - Type of edges to retrieve.\n * @param {string} direction - In or out?\n * @param {any} nodeData - Target node's data.\n * @return {array} - Array of edges.\n */\nfunction createEdgeArrayForNode(multi, type, direction, nodeData) {\n const edges = []; // TODO: possibility to know size beforehand or factorize with map\n\n forEachEdgeForNode(false, multi, type, direction, nodeData, function (key) {\n edges.push(key);\n });\n\n return edges;\n}\n\n/**\n * Function iterating over a node's edges using a callback.\n *\n * @param {string} type - Type of edges to retrieve.\n * @param {string} direction - In or out?\n * @param {any} nodeData - Target node's data.\n * @return {Iterator}\n */\nfunction createEdgeIteratorForNode(type, direction, nodeData) {\n let iterator = Iterator.empty();\n\n if (type !== 'undirected') {\n if (direction !== 'out' && typeof nodeData.in !== 'undefined')\n iterator = chain(iterator, createIterator(nodeData.in));\n if (direction !== 'in' && typeof nodeData.out !== 'undefined')\n iterator = chain(\n iterator,\n createIterator(nodeData.out, !direction ? nodeData.key : undefined)\n );\n }\n\n if (type !== 'directed' && typeof nodeData.undirected !== 'undefined') {\n iterator = chain(iterator, createIterator(nodeData.undirected));\n }\n\n return iterator;\n}\n\n/**\n * Function iterating over edges for the given path using a callback to match\n * one of them.\n *\n * @param {string} type - Type of edges to retrieve.\n * @param {boolean} multi - Whether the graph is multi.\n * @param {string} direction - In or out?\n * @param {NodeData} sourceData - Source node's data.\n * @param {string} target - Target node.\n * @param {function} callback - Function to call.\n */\nfunction forEachEdgeForPath(\n breakable,\n type,\n multi,\n direction,\n sourceData,\n target,\n callback\n) {\n const fn = multi ? forEachForKeyMulti : forEachForKeySimple;\n\n let found;\n\n if (type !== 'undirected') {\n if (typeof sourceData.in !== 'undefined' && direction !== 'out') {\n found = fn(breakable, sourceData.in, target, callback);\n\n if (breakable && found) return found;\n }\n\n if (\n typeof sourceData.out !== 'undefined' &&\n direction !== 'in' &&\n (direction || sourceData.key !== target)\n ) {\n found = fn(breakable, sourceData.out, target, callback);\n\n if (breakable && found) return found;\n }\n }\n\n if (type !== 'directed') {\n if (typeof sourceData.undirected !== 'undefined') {\n found = fn(breakable, sourceData.undirected, target, callback);\n\n if (breakable && found) return found;\n }\n }\n\n return;\n}\n\n/**\n * Function creating an array of edges for the given path.\n *\n * @param {string} type - Type of edges to retrieve.\n * @param {boolean} multi - Whether the graph is multi.\n * @param {string} direction - In or out?\n * @param {NodeData} sourceData - Source node's data.\n * @param {any} target - Target node.\n * @return {array} - Array of edges.\n */\nfunction createEdgeArrayForPath(type, multi, direction, sourceData, target) {\n const edges = []; // TODO: possibility to know size beforehand or factorize with map\n\n forEachEdgeForPath(\n false,\n type,\n multi,\n direction,\n sourceData,\n target,\n function (key) {\n edges.push(key);\n }\n );\n\n return edges;\n}\n\n/**\n * Function returning an iterator over edges for the given path.\n *\n * @param {string} type - Type of edges to retrieve.\n * @param {string} direction - In or out?\n * @param {NodeData} sourceData - Source node's data.\n * @param {string} target - Target node.\n * @param {function} callback - Function to call.\n */\nfunction createEdgeIteratorForPath(type, direction, sourceData, target) {\n let iterator = Iterator.empty();\n\n if (type !== 'undirected') {\n if (\n typeof sourceData.in !== 'undefined' &&\n direction !== 'out' &&\n target in sourceData.in\n )\n iterator = chain(iterator, createIteratorForKey(sourceData.in, target));\n\n if (\n typeof sourceData.out !== 'undefined' &&\n direction !== 'in' &&\n target in sourceData.out &&\n (direction || sourceData.key !== target)\n )\n iterator = chain(iterator, createIteratorForKey(sourceData.out, target));\n }\n\n if (type !== 'directed') {\n if (\n typeof sourceData.undirected !== 'undefined' &&\n target in sourceData.undirected\n )\n iterator = chain(\n iterator,\n createIteratorForKey(sourceData.undirected, target)\n );\n }\n\n return iterator;\n}\n\n/**\n * Function attaching an edge array creator method to the Graph prototype.\n *\n * @param {function} Class - Target class.\n * @param {object} description - Method description.\n */\nfunction attachEdgeArrayCreator(Class, description) {\n const {name, type, direction} = description;\n\n /**\n * Function returning an array of certain edges.\n *\n * Arity 0: Return all the relevant edges.\n *\n * Arity 1: Return all of a node's relevant edges.\n * @param {any} node - Target node.\n *\n * Arity 2: Return the relevant edges across the given path.\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n *\n * @return {array|number} - The edges or the number of edges.\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n Class.prototype[name] = function (source, target) {\n // Early termination\n if (type !== 'mixed' && this.type !== 'mixed' && type !== this.type)\n return [];\n\n if (!arguments.length) return createEdgeArray(this, type);\n\n if (arguments.length === 1) {\n source = '' + source;\n\n const nodeData = this._nodes.get(source);\n\n if (typeof nodeData === 'undefined')\n throw new NotFoundGraphError(\n `Graph.${name}: could not find the \"${source}\" node in the graph.`\n );\n\n // Iterating over a node's edges\n return createEdgeArrayForNode(\n this.multi,\n type === 'mixed' ? this.type : type,\n direction,\n nodeData\n );\n }\n\n if (arguments.length === 2) {\n source = '' + source;\n target = '' + target;\n\n const sourceData = this._nodes.get(source);\n\n if (!sourceData)\n throw new NotFoundGraphError(\n `Graph.${name}: could not find the \"${source}\" source node in the graph.`\n );\n\n if (!this._nodes.has(target))\n throw new NotFoundGraphError(\n `Graph.${name}: could not find the \"${target}\" target node in the graph.`\n );\n\n // Iterating over the edges between source & target\n return createEdgeArrayForPath(\n type,\n this.multi,\n direction,\n sourceData,\n target\n );\n }\n\n throw new InvalidArgumentsGraphError(\n `Graph.${name}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`\n );\n };\n}\n\n/**\n * Function attaching a edge callback iterator method to the Graph prototype.\n *\n * @param {function} Class - Target class.\n * @param {object} description - Method description.\n */\nfunction attachForEachEdge(Class, description) {\n const {name, type, direction} = description;\n\n const forEachName = 'forEach' + name[0].toUpperCase() + name.slice(1, -1);\n\n /**\n * Function iterating over the graph's relevant edges by applying the given\n * callback.\n *\n * Arity 1: Iterate over all the relevant edges.\n * @param {function} callback - Callback to use.\n *\n * Arity 2: Iterate over all of a node's relevant edges.\n * @param {any} node - Target node.\n * @param {function} callback - Callback to use.\n *\n * Arity 3: Iterate over the relevant edges across the given path.\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n * @param {function} callback - Callback to use.\n *\n * @return {undefined}\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n Class.prototype[forEachName] = function (source, target, callback) {\n // Early termination\n if (type !== 'mixed' && this.type !== 'mixed' && type !== this.type) return;\n\n if (arguments.length === 1) {\n callback = source;\n return forEachEdge(false, this, type, callback);\n }\n\n if (arguments.length === 2) {\n source = '' + source;\n callback = target;\n\n const nodeData = this._nodes.get(source);\n\n if (typeof nodeData === 'undefined')\n throw new NotFoundGraphError(\n `Graph.${forEachName}: could not find the \"${source}\" node in the graph.`\n );\n\n // Iterating over a node's edges\n // TODO: maybe attach the sub method to the instance dynamically?\n return forEachEdgeForNode(\n false,\n this.multi,\n type === 'mixed' ? this.type : type,\n direction,\n nodeData,\n callback\n );\n }\n\n if (arguments.length === 3) {\n source = '' + source;\n target = '' + target;\n\n const sourceData = this._nodes.get(source);\n\n if (!sourceData)\n throw new NotFoundGraphError(\n `Graph.${forEachName}: could not find the \"${source}\" source node in the graph.`\n );\n\n if (!this._nodes.has(target))\n throw new NotFoundGraphError(\n `Graph.${forEachName}: could not find the \"${target}\" target node in the graph.`\n );\n\n // Iterating over the edges between source & target\n return forEachEdgeForPath(\n false,\n type,\n this.multi,\n direction,\n sourceData,\n target,\n callback\n );\n }\n\n throw new InvalidArgumentsGraphError(\n `Graph.${forEachName}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`\n );\n };\n\n /**\n * Function mapping the graph's relevant edges by applying the given\n * callback.\n *\n * Arity 1: Map all the relevant edges.\n * @param {function} callback - Callback to use.\n *\n * Arity 2: Map all of a node's relevant edges.\n * @param {any} node - Target node.\n * @param {function} callback - Callback to use.\n *\n * Arity 3: Map the relevant edges across the given path.\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n * @param {function} callback - Callback to use.\n *\n * @return {undefined}\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n const mapName = 'map' + name[0].toUpperCase() + name.slice(1);\n\n Class.prototype[mapName] = function () {\n const args = Array.prototype.slice.call(arguments);\n const callback = args.pop();\n\n let result;\n\n // We know the result length beforehand\n if (args.length === 0) {\n let length = 0;\n\n if (type !== 'directed') length += this.undirectedSize;\n if (type !== 'undirected') length += this.directedSize;\n\n result = new Array(length);\n\n let i = 0;\n\n args.push((e, ea, s, t, sa, ta, u) => {\n result[i++] = callback(e, ea, s, t, sa, ta, u);\n });\n }\n\n // We don't know the result length beforehand\n // TODO: we can in some instances of simple graphs, knowing degree\n else {\n result = [];\n\n args.push((e, ea, s, t, sa, ta, u) => {\n result.push(callback(e, ea, s, t, sa, ta, u));\n });\n }\n\n this[forEachName].apply(this, args);\n\n return result;\n };\n\n /**\n * Function filtering the graph's relevant edges using the provided predicate\n * function.\n *\n * Arity 1: Filter all the relevant edges.\n * @param {function} predicate - Predicate to use.\n *\n * Arity 2: Filter all of a node's relevant edges.\n * @param {any} node - Target node.\n * @param {function} predicate - Predicate to use.\n *\n * Arity 3: Filter the relevant edges across the given path.\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n * @param {function} predicate - Predicate to use.\n *\n * @return {undefined}\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n const filterName = 'filter' + name[0].toUpperCase() + name.slice(1);\n\n Class.prototype[filterName] = function () {\n const args = Array.prototype.slice.call(arguments);\n const callback = args.pop();\n\n const result = [];\n\n args.push((e, ea, s, t, sa, ta, u) => {\n if (callback(e, ea, s, t, sa, ta, u)) result.push(e);\n });\n\n this[forEachName].apply(this, args);\n\n return result;\n };\n\n /**\n * Function reducing the graph's relevant edges using the provided accumulator\n * function.\n *\n * Arity 1: Reduce all the relevant edges.\n * @param {function} accumulator - Accumulator to use.\n * @param {any} initialValue - Initial value.\n *\n * Arity 2: Reduce all of a node's relevant edges.\n * @param {any} node - Target node.\n * @param {function} accumulator - Accumulator to use.\n * @param {any} initialValue - Initial value.\n *\n * Arity 3: Reduce the relevant edges across the given path.\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n * @param {function} accumulator - Accumulator to use.\n * @param {any} initialValue - Initial value.\n *\n * @return {undefined}\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n const reduceName = 'reduce' + name[0].toUpperCase() + name.slice(1);\n\n Class.prototype[reduceName] = function () {\n let args = Array.prototype.slice.call(arguments);\n\n if (args.length < 2 || args.length > 4) {\n throw new InvalidArgumentsGraphError(\n `Graph.${reduceName}: invalid number of arguments (expecting 2, 3 or 4 and got ${args.length}).`\n );\n }\n\n if (\n typeof args[args.length - 1] === 'function' &&\n typeof args[args.length - 2] !== 'function'\n ) {\n throw new InvalidArgumentsGraphError(\n `Graph.${reduceName}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`\n );\n }\n\n let callback;\n let initialValue;\n\n if (args.length === 2) {\n callback = args[0];\n initialValue = args[1];\n args = [];\n } else if (args.length === 3) {\n callback = args[1];\n initialValue = args[2];\n args = [args[0]];\n } else if (args.length === 4) {\n callback = args[2];\n initialValue = args[3];\n args = [args[0], args[1]];\n }\n\n let accumulator = initialValue;\n\n args.push((e, ea, s, t, sa, ta, u) => {\n accumulator = callback(accumulator, e, ea, s, t, sa, ta, u);\n });\n\n this[forEachName].apply(this, args);\n\n return accumulator;\n };\n}\n\n/**\n * Function attaching a breakable edge callback iterator method to the Graph\n * prototype.\n *\n * @param {function} Class - Target class.\n * @param {object} description - Method description.\n */\nfunction attachFindEdge(Class, description) {\n const {name, type, direction} = description;\n\n const findEdgeName = 'find' + name[0].toUpperCase() + name.slice(1, -1);\n\n /**\n * Function iterating over the graph's relevant edges in order to match\n * one of them using the provided predicate function.\n *\n * Arity 1: Iterate over all the relevant edges.\n * @param {function} callback - Callback to use.\n *\n * Arity 2: Iterate over all of a node's relevant edges.\n * @param {any} node - Target node.\n * @param {function} callback - Callback to use.\n *\n * Arity 3: Iterate over the relevant edges across the given path.\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n * @param {function} callback - Callback to use.\n *\n * @return {undefined}\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n Class.prototype[findEdgeName] = function (source, target, callback) {\n // Early termination\n if (type !== 'mixed' && this.type !== 'mixed' && type !== this.type)\n return false;\n\n if (arguments.length === 1) {\n callback = source;\n return forEachEdge(true, this, type, callback);\n }\n\n if (arguments.length === 2) {\n source = '' + source;\n callback = target;\n\n const nodeData = this._nodes.get(source);\n\n if (typeof nodeData === 'undefined')\n throw new NotFoundGraphError(\n `Graph.${findEdgeName}: could not find the \"${source}\" node in the graph.`\n );\n\n // Iterating over a node's edges\n // TODO: maybe attach the sub method to the instance dynamically?\n return forEachEdgeForNode(\n true,\n this.multi,\n type === 'mixed' ? this.type : type,\n direction,\n nodeData,\n callback\n );\n }\n\n if (arguments.length === 3) {\n source = '' + source;\n target = '' + target;\n\n const sourceData = this._nodes.get(source);\n\n if (!sourceData)\n throw new NotFoundGraphError(\n `Graph.${findEdgeName}: could not find the \"${source}\" source node in the graph.`\n );\n\n if (!this._nodes.has(target))\n throw new NotFoundGraphError(\n `Graph.${findEdgeName}: could not find the \"${target}\" target node in the graph.`\n );\n\n // Iterating over the edges between source & target\n return forEachEdgeForPath(\n true,\n type,\n this.multi,\n direction,\n sourceData,\n target,\n callback\n );\n }\n\n throw new InvalidArgumentsGraphError(\n `Graph.${findEdgeName}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`\n );\n };\n\n /**\n * Function iterating over the graph's relevant edges in order to assert\n * whether any one of them matches the provided predicate function.\n *\n * Arity 1: Iterate over all the relevant edges.\n * @param {function} callback - Callback to use.\n *\n * Arity 2: Iterate over all of a node's relevant edges.\n * @param {any} node - Target node.\n * @param {function} callback - Callback to use.\n *\n * Arity 3: Iterate over the relevant edges across the given path.\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n * @param {function} callback - Callback to use.\n *\n * @return {undefined}\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n const someName = 'some' + name[0].toUpperCase() + name.slice(1, -1);\n\n Class.prototype[someName] = function () {\n const args = Array.prototype.slice.call(arguments);\n const callback = args.pop();\n\n args.push((e, ea, s, t, sa, ta, u) => {\n return callback(e, ea, s, t, sa, ta, u);\n });\n\n const found = this[findEdgeName].apply(this, args);\n\n if (found) return true;\n\n return false;\n };\n\n /**\n * Function iterating over the graph's relevant edges in order to assert\n * whether all of them matche the provided predicate function.\n *\n * Arity 1: Iterate over all the relevant edges.\n * @param {function} callback - Callback to use.\n *\n * Arity 2: Iterate over all of a node's relevant edges.\n * @param {any} node - Target node.\n * @param {function} callback - Callback to use.\n *\n * Arity 3: Iterate over the relevant edges across the given path.\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n * @param {function} callback - Callback to use.\n *\n * @return {undefined}\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n const everyName = 'every' + name[0].toUpperCase() + name.slice(1, -1);\n\n Class.prototype[everyName] = function () {\n const args = Array.prototype.slice.call(arguments);\n const callback = args.pop();\n\n args.push((e, ea, s, t, sa, ta, u) => {\n return !callback(e, ea, s, t, sa, ta, u);\n });\n\n const found = this[findEdgeName].apply(this, args);\n\n if (found) return false;\n\n return true;\n };\n}\n\n/**\n * Function attaching an edge iterator method to the Graph prototype.\n *\n * @param {function} Class - Target class.\n * @param {object} description - Method description.\n */\nfunction attachEdgeIteratorCreator(Class, description) {\n const {name: originalName, type, direction} = description;\n\n const name = originalName.slice(0, -1) + 'Entries';\n\n /**\n * Function returning an iterator over the graph's edges.\n *\n * Arity 0: Iterate over all the relevant edges.\n *\n * Arity 1: Iterate over all of a node's relevant edges.\n * @param {any} node - Target node.\n *\n * Arity 2: Iterate over the relevant edges across the given path.\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n *\n * @return {array|number} - The edges or the number of edges.\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n Class.prototype[name] = function (source, target) {\n // Early termination\n if (type !== 'mixed' && this.type !== 'mixed' && type !== this.type)\n return Iterator.empty();\n\n if (!arguments.length) return createEdgeIterator(this, type);\n\n if (arguments.length === 1) {\n source = '' + source;\n\n const sourceData = this._nodes.get(source);\n\n if (!sourceData)\n throw new NotFoundGraphError(\n `Graph.${name}: could not find the \"${source}\" node in the graph.`\n );\n\n // Iterating over a node's edges\n return createEdgeIteratorForNode(type, direction, sourceData);\n }\n\n if (arguments.length === 2) {\n source = '' + source;\n target = '' + target;\n\n const sourceData = this._nodes.get(source);\n\n if (!sourceData)\n throw new NotFoundGraphError(\n `Graph.${name}: could not find the \"${source}\" source node in the graph.`\n );\n\n if (!this._nodes.has(target))\n throw new NotFoundGraphError(\n `Graph.${name}: could not find the \"${target}\" target node in the graph.`\n );\n\n // Iterating over the edges between source & target\n return createEdgeIteratorForPath(type, direction, sourceData, target);\n }\n\n throw new InvalidArgumentsGraphError(\n `Graph.${name}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`\n );\n };\n}\n\n/**\n * Function attaching every edge iteration method to the Graph class.\n *\n * @param {function} Graph - Graph class.\n */\nfunction attachEdgeIterationMethods(Graph) {\n EDGES_ITERATION.forEach(description => {\n attachEdgeArrayCreator(Graph, description);\n attachForEachEdge(Graph, description);\n attachFindEdge(Graph, description);\n attachEdgeIteratorCreator(Graph, description);\n });\n}\n\n/**\n * Graphology Neighbor Iteration\n * ==============================\n *\n * Attaching some methods to the Graph class to be able to iterate over\n * neighbors.\n */\n\n/**\n * Definitions.\n */\nconst NEIGHBORS_ITERATION = [\n {\n name: 'neighbors',\n type: 'mixed'\n },\n {\n name: 'inNeighbors',\n type: 'directed',\n direction: 'in'\n },\n {\n name: 'outNeighbors',\n type: 'directed',\n direction: 'out'\n },\n {\n name: 'inboundNeighbors',\n type: 'mixed',\n direction: 'in'\n },\n {\n name: 'outboundNeighbors',\n type: 'mixed',\n direction: 'out'\n },\n {\n name: 'directedNeighbors',\n type: 'directed'\n },\n {\n name: 'undirectedNeighbors',\n type: 'undirected'\n }\n];\n\n/**\n * Helpers.\n */\nfunction CompositeSetWrapper() {\n this.A = null;\n this.B = null;\n}\n\nCompositeSetWrapper.prototype.wrap = function (set) {\n if (this.A === null) this.A = set;\n else if (this.B === null) this.B = set;\n};\n\nCompositeSetWrapper.prototype.has = function (key) {\n if (this.A !== null && key in this.A) return true;\n if (this.B !== null && key in this.B) return true;\n return false;\n};\n\n/**\n * Function iterating over the given node's relevant neighbors to match\n * one of them using a predicated function.\n *\n * @param {string} type - Type of neighbors.\n * @param {string} direction - Direction.\n * @param {any} nodeData - Target node's data.\n * @param {function} callback - Callback to use.\n */\nfunction forEachInObjectOnce(breakable, visited, nodeData, object, callback) {\n for (const k in object) {\n const edgeData = object[k];\n\n const sourceData = edgeData.source;\n const targetData = edgeData.target;\n\n const neighborData = sourceData === nodeData ? targetData : sourceData;\n\n if (visited && visited.has(neighborData.key)) continue;\n\n const shouldBreak = callback(neighborData.key, neighborData.attributes);\n\n if (breakable && shouldBreak) return neighborData.key;\n }\n\n return;\n}\n\nfunction forEachNeighbor(breakable, type, direction, nodeData, callback) {\n // If we want only undirected or in or out, we can roll some optimizations\n if (type !== 'mixed') {\n if (type === 'undirected')\n return forEachInObjectOnce(\n breakable,\n null,\n nodeData,\n nodeData.undirected,\n callback\n );\n\n if (typeof direction === 'string')\n return forEachInObjectOnce(\n breakable,\n null,\n nodeData,\n nodeData[direction],\n callback\n );\n }\n\n // Else we need to keep a set of neighbors not to return duplicates\n // We cheat by querying the other adjacencies\n const visited = new CompositeSetWrapper();\n\n let found;\n\n if (type !== 'undirected') {\n if (direction !== 'out') {\n found = forEachInObjectOnce(\n breakable,\n null,\n nodeData,\n nodeData.in,\n callback\n );\n\n if (breakable && found) return found;\n\n visited.wrap(nodeData.in);\n }\n if (direction !== 'in') {\n found = forEachInObjectOnce(\n breakable,\n visited,\n nodeData,\n nodeData.out,\n callback\n );\n\n if (breakable && found) return found;\n\n visited.wrap(nodeData.out);\n }\n }\n\n if (type !== 'directed') {\n found = forEachInObjectOnce(\n breakable,\n visited,\n nodeData,\n nodeData.undirected,\n callback\n );\n\n if (breakable && found) return found;\n }\n\n return;\n}\n\n/**\n * Function creating an array of relevant neighbors for the given node.\n *\n * @param {string} type - Type of neighbors.\n * @param {string} direction - Direction.\n * @param {any} nodeData - Target node's data.\n * @return {Array} - The list of neighbors.\n */\nfunction createNeighborArrayForNode(type, direction, nodeData) {\n // If we want only undirected or in or out, we can roll some optimizations\n if (type !== 'mixed') {\n if (type === 'undirected') return Object.keys(nodeData.undirected);\n\n if (typeof direction === 'string') return Object.keys(nodeData[direction]);\n }\n\n const neighbors = [];\n\n forEachNeighbor(false, type, direction, nodeData, function (key) {\n neighbors.push(key);\n });\n\n return neighbors;\n}\n\n/**\n * Function returning an iterator over the given node's relevant neighbors.\n *\n * @param {string} type - Type of neighbors.\n * @param {string} direction - Direction.\n * @param {any} nodeData - Target node's data.\n * @return {Iterator}\n */\nfunction createDedupedObjectIterator(visited, nodeData, object) {\n const keys = Object.keys(object);\n const l = keys.length;\n\n let i = 0;\n\n return new Iterator(function next() {\n let neighborData = null;\n\n do {\n if (i >= l) {\n if (visited) visited.wrap(object);\n return {done: true};\n }\n\n const edgeData = object[keys[i++]];\n\n const sourceData = edgeData.source;\n const targetData = edgeData.target;\n\n neighborData = sourceData === nodeData ? targetData : sourceData;\n\n if (visited && visited.has(neighborData.key)) {\n neighborData = null;\n continue;\n }\n } while (neighborData === null);\n\n return {\n done: false,\n value: {neighbor: neighborData.key, attributes: neighborData.attributes}\n };\n });\n}\n\nfunction createNeighborIterator(type, direction, nodeData) {\n // If we want only undirected or in or out, we can roll some optimizations\n if (type !== 'mixed') {\n if (type === 'undirected')\n return createDedupedObjectIterator(null, nodeData, nodeData.undirected);\n\n if (typeof direction === 'string')\n return createDedupedObjectIterator(null, nodeData, nodeData[direction]);\n }\n\n let iterator = Iterator.empty();\n\n // Else we need to keep a set of neighbors not to return duplicates\n // We cheat by querying the other adjacencies\n const visited = new CompositeSetWrapper();\n\n if (type !== 'undirected') {\n if (direction !== 'out') {\n iterator = chain(\n iterator,\n createDedupedObjectIterator(visited, nodeData, nodeData.in)\n );\n }\n if (direction !== 'in') {\n iterator = chain(\n iterator,\n createDedupedObjectIterator(visited, nodeData, nodeData.out)\n );\n }\n }\n\n if (type !== 'directed') {\n iterator = chain(\n iterator,\n createDedupedObjectIterator(visited, nodeData, nodeData.undirected)\n );\n }\n\n return iterator;\n}\n\n/**\n * Function attaching a neighbors array creator method to the Graph prototype.\n *\n * @param {function} Class - Target class.\n * @param {object} description - Method description.\n */\nfunction attachNeighborArrayCreator(Class, description) {\n const {name, type, direction} = description;\n\n /**\n * Function returning an array of certain neighbors.\n *\n * @param {any} node - Target node.\n * @return {array} - The neighbors of neighbors.\n *\n * @throws {Error} - Will throw if node is not found in the graph.\n */\n Class.prototype[name] = function (node) {\n // Early termination\n if (type !== 'mixed' && this.type !== 'mixed' && type !== this.type)\n return [];\n\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (typeof nodeData === 'undefined')\n throw new NotFoundGraphError(\n `Graph.${name}: could not find the \"${node}\" node in the graph.`\n );\n\n // Here, we want to iterate over a node's relevant neighbors\n return createNeighborArrayForNode(\n type === 'mixed' ? this.type : type,\n direction,\n nodeData\n );\n };\n}\n\n/**\n * Function attaching a neighbors callback iterator method to the Graph prototype.\n *\n * @param {function} Class - Target class.\n * @param {object} description - Method description.\n */\nfunction attachForEachNeighbor(Class, description) {\n const {name, type, direction} = description;\n\n const forEachName = 'forEach' + name[0].toUpperCase() + name.slice(1, -1);\n\n /**\n * Function iterating over all the relevant neighbors using a callback.\n *\n * @param {any} node - Target node.\n * @param {function} callback - Callback to use.\n * @return {undefined}\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n Class.prototype[forEachName] = function (node, callback) {\n // Early termination\n if (type !== 'mixed' && this.type !== 'mixed' && type !== this.type) return;\n\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (typeof nodeData === 'undefined')\n throw new NotFoundGraphError(\n `Graph.${forEachName}: could not find the \"${node}\" node in the graph.`\n );\n\n // Here, we want to iterate over a node's relevant neighbors\n forEachNeighbor(\n false,\n type === 'mixed' ? this.type : type,\n direction,\n nodeData,\n callback\n );\n };\n\n /**\n * Function mapping the relevant neighbors using a callback.\n *\n * @param {any} node - Target node.\n * @param {function} callback - Callback to use.\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n const mapName = 'map' + name[0].toUpperCase() + name.slice(1);\n\n Class.prototype[mapName] = function (node, callback) {\n // TODO: optimize when size is known beforehand\n const result = [];\n\n this[forEachName](node, (n, a) => {\n result.push(callback(n, a));\n });\n\n return result;\n };\n\n /**\n * Function filtering the relevant neighbors using a callback.\n *\n * @param {any} node - Target node.\n * @param {function} callback - Callback to use.\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n const filterName = 'filter' + name[0].toUpperCase() + name.slice(1);\n\n Class.prototype[filterName] = function (node, callback) {\n const result = [];\n\n this[forEachName](node, (n, a) => {\n if (callback(n, a)) result.push(n);\n });\n\n return result;\n };\n\n /**\n * Function reducing the relevant neighbors using a callback.\n *\n * @param {any} node - Target node.\n * @param {function} callback - Callback to use.\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n const reduceName = 'reduce' + name[0].toUpperCase() + name.slice(1);\n\n Class.prototype[reduceName] = function (node, callback, initialValue) {\n if (arguments.length < 3)\n throw new InvalidArgumentsGraphError(\n `Graph.${reduceName}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`\n );\n\n let accumulator = initialValue;\n\n this[forEachName](node, (n, a) => {\n accumulator = callback(accumulator, n, a);\n });\n\n return accumulator;\n };\n}\n\n/**\n * Function attaching a breakable neighbors callback iterator method to the\n * Graph prototype.\n *\n * @param {function} Class - Target class.\n * @param {object} description - Method description.\n */\nfunction attachFindNeighbor(Class, description) {\n const {name, type, direction} = description;\n\n const capitalizedSingular = name[0].toUpperCase() + name.slice(1, -1);\n\n const findName = 'find' + capitalizedSingular;\n\n /**\n * Function iterating over all the relevant neighbors using a callback.\n *\n * @param {any} node - Target node.\n * @param {function} callback - Callback to use.\n * @return {undefined}\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n Class.prototype[findName] = function (node, callback) {\n // Early termination\n if (type !== 'mixed' && this.type !== 'mixed' && type !== this.type) return;\n\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (typeof nodeData === 'undefined')\n throw new NotFoundGraphError(\n `Graph.${findName}: could not find the \"${node}\" node in the graph.`\n );\n\n // Here, we want to iterate over a node's relevant neighbors\n return forEachNeighbor(\n true,\n type === 'mixed' ? this.type : type,\n direction,\n nodeData,\n callback\n );\n };\n\n /**\n * Function iterating over all the relevant neighbors to find if any of them\n * matches the given predicate.\n *\n * @param {any} node - Target node.\n * @param {function} callback - Callback to use.\n * @return {boolean}\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n const someName = 'some' + capitalizedSingular;\n\n Class.prototype[someName] = function (node, callback) {\n const found = this[findName](node, callback);\n\n if (found) return true;\n\n return false;\n };\n\n /**\n * Function iterating over all the relevant neighbors to find if all of them\n * matche the given predicate.\n *\n * @param {any} node - Target node.\n * @param {function} callback - Callback to use.\n * @return {boolean}\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n const everyName = 'every' + capitalizedSingular;\n\n Class.prototype[everyName] = function (node, callback) {\n const found = this[findName](node, (n, a) => {\n return !callback(n, a);\n });\n\n if (found) return false;\n\n return true;\n };\n}\n\n/**\n * Function attaching a neighbors callback iterator method to the Graph prototype.\n *\n * @param {function} Class - Target class.\n * @param {object} description - Method description.\n */\nfunction attachNeighborIteratorCreator(Class, description) {\n const {name, type, direction} = description;\n\n const iteratorName = name.slice(0, -1) + 'Entries';\n\n /**\n * Function returning an iterator over all the relevant neighbors.\n *\n * @param {any} node - Target node.\n * @return {Iterator}\n *\n * @throws {Error} - Will throw if there are too many arguments.\n */\n Class.prototype[iteratorName] = function (node) {\n // Early termination\n if (type !== 'mixed' && this.type !== 'mixed' && type !== this.type)\n return Iterator.empty();\n\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (typeof nodeData === 'undefined')\n throw new NotFoundGraphError(\n `Graph.${iteratorName}: could not find the \"${node}\" node in the graph.`\n );\n\n // Here, we want to iterate over a node's relevant neighbors\n return createNeighborIterator(\n type === 'mixed' ? this.type : type,\n direction,\n nodeData\n );\n };\n}\n\n/**\n * Function attaching every neighbor iteration method to the Graph class.\n *\n * @param {function} Graph - Graph class.\n */\nfunction attachNeighborIterationMethods(Graph) {\n NEIGHBORS_ITERATION.forEach(description => {\n attachNeighborArrayCreator(Graph, description);\n attachForEachNeighbor(Graph, description);\n attachFindNeighbor(Graph, description);\n attachNeighborIteratorCreator(Graph, description);\n });\n}\n\n/**\n * Graphology Adjacency Iteration\n * ===============================\n *\n * Attaching some methods to the Graph class to be able to iterate over a\n * graph's adjacency.\n */\n\n/**\n * Function iterating over a simple graph's adjacency using a callback.\n *\n * @param {boolean} breakable - Can we break?\n * @param {boolean} assymetric - Whether to emit undirected edges only once.\n * @param {boolean} disconnectedNodes - Whether to emit disconnected nodes.\n * @param {Graph} graph - Target Graph instance.\n * @param {callback} function - Iteration callback.\n */\nfunction forEachAdjacency(\n breakable,\n assymetric,\n disconnectedNodes,\n graph,\n callback\n) {\n const iterator = graph._nodes.values();\n\n const type = graph.type;\n\n let step, sourceData, neighbor, adj, edgeData, targetData, shouldBreak;\n\n while (((step = iterator.next()), step.done !== true)) {\n let hasEdges = false;\n\n sourceData = step.value;\n\n if (type !== 'undirected') {\n adj = sourceData.out;\n\n for (neighbor in adj) {\n edgeData = adj[neighbor];\n\n do {\n targetData = edgeData.target;\n\n hasEdges = true;\n shouldBreak = callback(\n sourceData.key,\n targetData.key,\n sourceData.attributes,\n targetData.attributes,\n edgeData.key,\n edgeData.attributes,\n edgeData.undirected\n );\n\n if (breakable && shouldBreak) return edgeData;\n\n edgeData = edgeData.next;\n } while (edgeData);\n }\n }\n\n if (type !== 'directed') {\n adj = sourceData.undirected;\n\n for (neighbor in adj) {\n if (assymetric && sourceData.key > neighbor) continue;\n\n edgeData = adj[neighbor];\n\n do {\n targetData = edgeData.target;\n\n if (targetData.key !== neighbor) targetData = edgeData.source;\n\n hasEdges = true;\n shouldBreak = callback(\n sourceData.key,\n targetData.key,\n sourceData.attributes,\n targetData.attributes,\n edgeData.key,\n edgeData.attributes,\n edgeData.undirected\n );\n\n if (breakable && shouldBreak) return edgeData;\n\n edgeData = edgeData.next;\n } while (edgeData);\n }\n }\n\n if (disconnectedNodes && !hasEdges) {\n shouldBreak = callback(\n sourceData.key,\n null,\n sourceData.attributes,\n null,\n null,\n null,\n null\n );\n\n if (breakable && shouldBreak) return null;\n }\n }\n\n return;\n}\n\n/**\n * Graphology Serialization Utilities\n * ===================================\n *\n * Collection of functions used by the graph serialization schemes.\n */\n\n/**\n * Formats internal node data into a serialized node.\n *\n * @param {any} key - The node's key.\n * @param {object} data - Internal node's data.\n * @return {array} - The serialized node.\n */\nfunction serializeNode(key, data) {\n const serialized = {key};\n\n if (!isEmpty(data.attributes))\n serialized.attributes = assign({}, data.attributes);\n\n return serialized;\n}\n\n/**\n * Formats internal edge data into a serialized edge.\n *\n * @param {string} type - The graph's type.\n * @param {any} key - The edge's key.\n * @param {object} data - Internal edge's data.\n * @return {array} - The serialized edge.\n */\nfunction serializeEdge(type, key, data) {\n const serialized = {\n key,\n source: data.source.key,\n target: data.target.key\n };\n\n if (!isEmpty(data.attributes))\n serialized.attributes = assign({}, data.attributes);\n\n if (type === 'mixed' && data.undirected) serialized.undirected = true;\n\n return serialized;\n}\n\n/**\n * Checks whether the given value is a serialized node.\n *\n * @param {mixed} value - Target value.\n * @return {string|null}\n */\nfunction validateSerializedNode(value) {\n if (!isPlainObject(value))\n throw new InvalidArgumentsGraphError(\n 'Graph.import: invalid serialized node. A serialized node should be a plain object with at least a \"key\" property.'\n );\n\n if (!('key' in value))\n throw new InvalidArgumentsGraphError(\n 'Graph.import: serialized node is missing its key.'\n );\n\n if (\n 'attributes' in value &&\n (!isPlainObject(value.attributes) || value.attributes === null)\n )\n throw new InvalidArgumentsGraphError(\n 'Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.'\n );\n}\n\n/**\n * Checks whether the given value is a serialized edge.\n *\n * @param {mixed} value - Target value.\n * @return {string|null}\n */\nfunction validateSerializedEdge(value) {\n if (!isPlainObject(value))\n throw new InvalidArgumentsGraphError(\n 'Graph.import: invalid serialized edge. A serialized edge should be a plain object with at least a \"source\" & \"target\" property.'\n );\n\n if (!('source' in value))\n throw new InvalidArgumentsGraphError(\n 'Graph.import: serialized edge is missing its source.'\n );\n\n if (!('target' in value))\n throw new InvalidArgumentsGraphError(\n 'Graph.import: serialized edge is missing its target.'\n );\n\n if (\n 'attributes' in value &&\n (!isPlainObject(value.attributes) || value.attributes === null)\n )\n throw new InvalidArgumentsGraphError(\n 'Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.'\n );\n\n if ('undirected' in value && typeof value.undirected !== 'boolean')\n throw new InvalidArgumentsGraphError(\n 'Graph.import: invalid undirectedness information. Undirected should be boolean or omitted.'\n );\n}\n\n/* eslint no-nested-ternary: 0 */\n\n/**\n * Constants.\n */\nconst INSTANCE_ID = incrementalIdStartingFromRandomByte();\n\n/**\n * Enums.\n */\nconst TYPES = new Set(['directed', 'undirected', 'mixed']);\n\nconst EMITTER_PROPS = new Set([\n 'domain',\n '_events',\n '_eventsCount',\n '_maxListeners'\n]);\n\nconst EDGE_ADD_METHODS = [\n {\n name: verb => `${verb}Edge`,\n generateKey: true\n },\n {\n name: verb => `${verb}DirectedEdge`,\n generateKey: true,\n type: 'directed'\n },\n {\n name: verb => `${verb}UndirectedEdge`,\n generateKey: true,\n type: 'undirected'\n },\n {\n name: verb => `${verb}EdgeWithKey`\n },\n {\n name: verb => `${verb}DirectedEdgeWithKey`,\n type: 'directed'\n },\n {\n name: verb => `${verb}UndirectedEdgeWithKey`,\n type: 'undirected'\n }\n];\n\n/**\n * Default options.\n */\nconst DEFAULTS = {\n allowSelfLoops: true,\n multi: false,\n type: 'mixed'\n};\n\n/**\n * Abstract functions used by the Graph class for various methods.\n */\n\n/**\n * Internal method used to add a node to the given graph\n *\n * @param {Graph} graph - Target graph.\n * @param {any} node - The node's key.\n * @param {object} [attributes] - Optional attributes.\n * @return {NodeData} - Created node data.\n */\nfunction addNode(graph, node, attributes) {\n if (attributes && !isPlainObject(attributes))\n throw new InvalidArgumentsGraphError(\n `Graph.addNode: invalid attributes. Expecting an object but got \"${attributes}\"`\n );\n\n // String coercion\n node = '' + node;\n attributes = attributes || {};\n\n if (graph._nodes.has(node))\n throw new UsageGraphError(\n `Graph.addNode: the \"${node}\" node already exist in the graph.`\n );\n\n const data = new graph.NodeDataClass(node, attributes);\n\n // Adding the node to internal register\n graph._nodes.set(node, data);\n\n // Emitting\n graph.emit('nodeAdded', {\n key: node,\n attributes\n });\n\n return data;\n}\n\n/**\n * Same as the above but without sanity checks because we call this in contexts\n * where necessary checks were already done.\n */\nfunction unsafeAddNode(graph, node, attributes) {\n const data = new graph.NodeDataClass(node, attributes);\n\n graph._nodes.set(node, data);\n\n graph.emit('nodeAdded', {\n key: node,\n attributes\n });\n\n return data;\n}\n\n/**\n * Internal method used to add an arbitrary edge to the given graph.\n *\n * @param {Graph} graph - Target graph.\n * @param {string} name - Name of the child method for errors.\n * @param {boolean} mustGenerateKey - Should the graph generate an id?\n * @param {boolean} undirected - Whether the edge is undirected.\n * @param {any} edge - The edge's key.\n * @param {any} source - The source node.\n * @param {any} target - The target node.\n * @param {object} [attributes] - Optional attributes.\n * @return {any} - The edge.\n *\n * @throws {Error} - Will throw if the graph is of the wrong type.\n * @throws {Error} - Will throw if the given attributes are not an object.\n * @throws {Error} - Will throw if source or target doesn't exist.\n * @throws {Error} - Will throw if the edge already exist.\n */\nfunction addEdge(\n graph,\n name,\n mustGenerateKey,\n undirected,\n edge,\n source,\n target,\n attributes\n) {\n // Checking validity of operation\n if (!undirected && graph.type === 'undirected')\n throw new UsageGraphError(\n `Graph.${name}: you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead.`\n );\n\n if (undirected && graph.type === 'directed')\n throw new UsageGraphError(\n `Graph.${name}: you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead.`\n );\n\n if (attributes && !isPlainObject(attributes))\n throw new InvalidArgumentsGraphError(\n `Graph.${name}: invalid attributes. Expecting an object but got \"${attributes}\"`\n );\n\n // Coercion of source & target:\n source = '' + source;\n target = '' + target;\n attributes = attributes || {};\n\n if (!graph.allowSelfLoops && source === target)\n throw new UsageGraphError(\n `Graph.${name}: source & target are the same (\"${source}\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`\n );\n\n const sourceData = graph._nodes.get(source),\n targetData = graph._nodes.get(target);\n\n if (!sourceData)\n throw new NotFoundGraphError(\n `Graph.${name}: source node \"${source}\" not found.`\n );\n\n if (!targetData)\n throw new NotFoundGraphError(\n `Graph.${name}: target node \"${target}\" not found.`\n );\n\n // Must the graph generate an id for this edge?\n const eventData = {\n key: null,\n undirected,\n source,\n target,\n attributes\n };\n\n if (mustGenerateKey) {\n // NOTE: in this case we can guarantee that the key does not already\n // exist and is already correctly casted as a string\n edge = graph._edgeKeyGenerator();\n } else {\n // Coercion of edge key\n edge = '' + edge;\n\n // Here, we have a key collision\n if (graph._edges.has(edge))\n throw new UsageGraphError(\n `Graph.${name}: the \"${edge}\" edge already exists in the graph.`\n );\n }\n\n // Here, we might have a source / target collision\n if (\n !graph.multi &&\n (undirected\n ? typeof sourceData.undirected[target] !== 'undefined'\n : typeof sourceData.out[target] !== 'undefined')\n ) {\n throw new UsageGraphError(\n `Graph.${name}: an edge linking \"${source}\" to \"${target}\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option.`\n );\n }\n\n // Storing some data\n const edgeData = new EdgeData(\n undirected,\n edge,\n sourceData,\n targetData,\n attributes\n );\n\n // Adding the edge to the internal register\n graph._edges.set(edge, edgeData);\n\n // Incrementing node degree counters\n const isSelfLoop = source === target;\n\n if (undirected) {\n sourceData.undirectedDegree++;\n targetData.undirectedDegree++;\n\n if (isSelfLoop) {\n sourceData.undirectedLoops++;\n graph._undirectedSelfLoopCount++;\n }\n } else {\n sourceData.outDegree++;\n targetData.inDegree++;\n\n if (isSelfLoop) {\n sourceData.directedLoops++;\n graph._directedSelfLoopCount++;\n }\n }\n\n // Updating relevant index\n if (graph.multi) edgeData.attachMulti();\n else edgeData.attach();\n\n if (undirected) graph._undirectedSize++;\n else graph._directedSize++;\n\n // Emitting\n eventData.key = edge;\n\n graph.emit('edgeAdded', eventData);\n\n return edge;\n}\n\n/**\n * Internal method used to add an arbitrary edge to the given graph.\n *\n * @param {Graph} graph - Target graph.\n * @param {string} name - Name of the child method for errors.\n * @param {boolean} mustGenerateKey - Should the graph generate an id?\n * @param {boolean} undirected - Whether the edge is undirected.\n * @param {any} edge - The edge's key.\n * @param {any} source - The source node.\n * @param {any} target - The target node.\n * @param {object} [attributes] - Optional attributes.\n * @param {boolean} [asUpdater] - Are we updating or merging?\n * @return {any} - The edge.\n *\n * @throws {Error} - Will throw if the graph is of the wrong type.\n * @throws {Error} - Will throw if the given attributes are not an object.\n * @throws {Error} - Will throw if source or target doesn't exist.\n * @throws {Error} - Will throw if the edge already exist.\n */\nfunction mergeEdge(\n graph,\n name,\n mustGenerateKey,\n undirected,\n edge,\n source,\n target,\n attributes,\n asUpdater\n) {\n // Checking validity of operation\n if (!undirected && graph.type === 'undirected')\n throw new UsageGraphError(\n `Graph.${name}: you cannot merge/update a directed edge to an undirected graph. Use the #.mergeEdge/#.updateEdge or #.addUndirectedEdge instead.`\n );\n\n if (undirected && graph.type === 'directed')\n throw new UsageGraphError(\n `Graph.${name}: you cannot merge/update an undirected edge to a directed graph. Use the #.mergeEdge/#.updateEdge or #.addDirectedEdge instead.`\n );\n\n if (attributes) {\n if (asUpdater) {\n if (typeof attributes !== 'function')\n throw new InvalidArgumentsGraphError(\n `Graph.${name}: invalid updater function. Expecting a function but got \"${attributes}\"`\n );\n } else {\n if (!isPlainObject(attributes))\n throw new InvalidArgumentsGraphError(\n `Graph.${name}: invalid attributes. Expecting an object but got \"${attributes}\"`\n );\n }\n }\n\n // Coercion of source & target:\n source = '' + source;\n target = '' + target;\n\n let updater;\n\n if (asUpdater) {\n updater = attributes;\n attributes = undefined;\n }\n\n if (!graph.allowSelfLoops && source === target)\n throw new UsageGraphError(\n `Graph.${name}: source & target are the same (\"${source}\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`\n );\n\n let sourceData = graph._nodes.get(source);\n let targetData = graph._nodes.get(target);\n let edgeData;\n\n // Do we need to handle duplicate?\n let alreadyExistingEdgeData;\n\n if (!mustGenerateKey) {\n edgeData = graph._edges.get(edge);\n\n if (edgeData) {\n // Here, we need to ensure, if the user gave a key, that source & target\n // are consistent\n if (edgeData.source.key !== source || edgeData.target.key !== target) {\n // If source or target inconsistent\n if (\n !undirected ||\n edgeData.source.key !== target ||\n edgeData.target.key !== source\n ) {\n // If directed, or source/target aren't flipped\n throw new UsageGraphError(\n `Graph.${name}: inconsistency detected when attempting to merge the \"${edge}\" edge with \"${source}\" source & \"${target}\" target vs. (\"${edgeData.source.key}\", \"${edgeData.target.key}\").`\n );\n }\n }\n\n alreadyExistingEdgeData = edgeData;\n }\n }\n\n // Here, we might have a source / target collision\n if (!alreadyExistingEdgeData && !graph.multi && sourceData) {\n alreadyExistingEdgeData = undirected\n ? sourceData.undirected[target]\n : sourceData.out[target];\n }\n\n // Handling duplicates\n if (alreadyExistingEdgeData) {\n const info = [alreadyExistingEdgeData.key, false, false, false];\n\n // We can skip the attribute merging part if the user did not provide them\n if (asUpdater ? !updater : !attributes) return info;\n\n // Updating the attributes\n if (asUpdater) {\n const oldAttributes = alreadyExistingEdgeData.attributes;\n alreadyExistingEdgeData.attributes = updater(oldAttributes);\n\n graph.emit('edgeAttributesUpdated', {\n type: 'replace',\n key: alreadyExistingEdgeData.key,\n attributes: alreadyExistingEdgeData.attributes\n });\n }\n\n // Merging the attributes\n else {\n assign(alreadyExistingEdgeData.attributes, attributes);\n\n graph.emit('edgeAttributesUpdated', {\n type: 'merge',\n key: alreadyExistingEdgeData.key,\n attributes: alreadyExistingEdgeData.attributes,\n data: attributes\n });\n }\n\n return info;\n }\n\n attributes = attributes || {};\n\n if (asUpdater && updater) attributes = updater(attributes);\n\n // Must the graph generate an id for this edge?\n const eventData = {\n key: null,\n undirected,\n source,\n target,\n attributes\n };\n\n if (mustGenerateKey) {\n // NOTE: in this case we can guarantee that the key does not already\n // exist and is already correctly casted as a string\n edge = graph._edgeKeyGenerator();\n } else {\n // Coercion of edge key\n edge = '' + edge;\n\n // Here, we have a key collision\n if (graph._edges.has(edge))\n throw new UsageGraphError(\n `Graph.${name}: the \"${edge}\" edge already exists in the graph.`\n );\n }\n\n let sourceWasAdded = false;\n let targetWasAdded = false;\n\n if (!sourceData) {\n sourceData = unsafeAddNode(graph, source, {});\n sourceWasAdded = true;\n\n if (source === target) {\n targetData = sourceData;\n targetWasAdded = true;\n }\n }\n if (!targetData) {\n targetData = unsafeAddNode(graph, target, {});\n targetWasAdded = true;\n }\n\n // Storing some data\n edgeData = new EdgeData(undirected, edge, sourceData, targetData, attributes);\n\n // Adding the edge to the internal register\n graph._edges.set(edge, edgeData);\n\n // Incrementing node degree counters\n const isSelfLoop = source === target;\n\n if (undirected) {\n sourceData.undirectedDegree++;\n targetData.undirectedDegree++;\n\n if (isSelfLoop) {\n sourceData.undirectedLoops++;\n graph._undirectedSelfLoopCount++;\n }\n } else {\n sourceData.outDegree++;\n targetData.inDegree++;\n\n if (isSelfLoop) {\n sourceData.directedLoops++;\n graph._directedSelfLoopCount++;\n }\n }\n\n // Updating relevant index\n if (graph.multi) edgeData.attachMulti();\n else edgeData.attach();\n\n if (undirected) graph._undirectedSize++;\n else graph._directedSize++;\n\n // Emitting\n eventData.key = edge;\n\n graph.emit('edgeAdded', eventData);\n\n return [edge, true, sourceWasAdded, targetWasAdded];\n}\n\n/**\n * Internal method used to drop an edge.\n *\n * @param {Graph} graph - Target graph.\n * @param {EdgeData} edgeData - Data of the edge to drop.\n */\nfunction dropEdgeFromData(graph, edgeData) {\n // Dropping the edge from the register\n graph._edges.delete(edgeData.key);\n\n // Updating related degrees\n const {source: sourceData, target: targetData, attributes} = edgeData;\n\n const undirected = edgeData.undirected;\n\n const isSelfLoop = sourceData === targetData;\n\n if (undirected) {\n sourceData.undirectedDegree--;\n targetData.undirectedDegree--;\n\n if (isSelfLoop) {\n sourceData.undirectedLoops--;\n graph._undirectedSelfLoopCount--;\n }\n } else {\n sourceData.outDegree--;\n targetData.inDegree--;\n\n if (isSelfLoop) {\n sourceData.directedLoops--;\n graph._directedSelfLoopCount--;\n }\n }\n\n // Clearing index\n if (graph.multi) edgeData.detachMulti();\n else edgeData.detach();\n\n if (undirected) graph._undirectedSize--;\n else graph._directedSize--;\n\n // Emitting\n graph.emit('edgeDropped', {\n key: edgeData.key,\n attributes,\n source: sourceData.key,\n target: targetData.key,\n undirected\n });\n}\n\n/**\n * Graph class\n *\n * @constructor\n * @param {object} [options] - Options:\n * @param {boolean} [allowSelfLoops] - Allow self loops?\n * @param {string} [type] - Type of the graph.\n * @param {boolean} [map] - Allow references as keys?\n * @param {boolean} [multi] - Allow parallel edges?\n *\n * @throws {Error} - Will throw if the arguments are not valid.\n */\nclass Graph extends EventEmitter {\n constructor(options) {\n super();\n\n //-- Solving options\n options = assign({}, DEFAULTS, options);\n\n // Enforcing options validity\n if (typeof options.multi !== 'boolean')\n throw new InvalidArgumentsGraphError(\n `Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"${options.multi}\".`\n );\n\n if (!TYPES.has(options.type))\n throw new InvalidArgumentsGraphError(\n `Graph.constructor: invalid 'type' option. Should be one of \"mixed\", \"directed\" or \"undirected\" but got \"${options.type}\".`\n );\n\n if (typeof options.allowSelfLoops !== 'boolean')\n throw new InvalidArgumentsGraphError(\n `Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"${options.allowSelfLoops}\".`\n );\n\n //-- Private properties\n\n // Utilities\n const NodeDataClass =\n options.type === 'mixed'\n ? MixedNodeData\n : options.type === 'directed'\n ? DirectedNodeData\n : UndirectedNodeData;\n\n privateProperty(this, 'NodeDataClass', NodeDataClass);\n\n // Internal edge key generator\n\n // NOTE: this internal generator produce keys that are strings\n // composed of a weird prefix, an incremental instance id starting from\n // a random byte and finally an internal instance incremental id.\n // All this to avoid intra-frame and cross-frame adversarial inputs\n // that can force a single #.addEdge call to degenerate into a O(n)\n // available key search loop.\n\n // It also ensures that automatically generated edge keys are unlikely\n // to produce collisions with arbitrary keys given by users.\n const instancePrefix = 'geid_' + INSTANCE_ID() + '_';\n let edgeId = 0;\n\n const edgeKeyGenerator = () => {\n let availableEdgeKey;\n\n do {\n availableEdgeKey = instancePrefix + edgeId++;\n } while (this._edges.has(availableEdgeKey));\n\n return availableEdgeKey;\n };\n\n // Indexes\n privateProperty(this, '_attributes', {});\n privateProperty(this, '_nodes', new Map());\n privateProperty(this, '_edges', new Map());\n privateProperty(this, '_directedSize', 0);\n privateProperty(this, '_undirectedSize', 0);\n privateProperty(this, '_directedSelfLoopCount', 0);\n privateProperty(this, '_undirectedSelfLoopCount', 0);\n privateProperty(this, '_edgeKeyGenerator', edgeKeyGenerator);\n\n // Options\n privateProperty(this, '_options', options);\n\n // Emitter properties\n EMITTER_PROPS.forEach(prop => privateProperty(this, prop, this[prop]));\n\n //-- Properties readers\n readOnlyProperty(this, 'order', () => this._nodes.size);\n readOnlyProperty(this, 'size', () => this._edges.size);\n readOnlyProperty(this, 'directedSize', () => this._directedSize);\n readOnlyProperty(this, 'undirectedSize', () => this._undirectedSize);\n readOnlyProperty(\n this,\n 'selfLoopCount',\n () => this._directedSelfLoopCount + this._undirectedSelfLoopCount\n );\n readOnlyProperty(\n this,\n 'directedSelfLoopCount',\n () => this._directedSelfLoopCount\n );\n readOnlyProperty(\n this,\n 'undirectedSelfLoopCount',\n () => this._undirectedSelfLoopCount\n );\n readOnlyProperty(this, 'multi', this._options.multi);\n readOnlyProperty(this, 'type', this._options.type);\n readOnlyProperty(this, 'allowSelfLoops', this._options.allowSelfLoops);\n readOnlyProperty(this, 'implementation', () => 'graphology');\n }\n\n _resetInstanceCounters() {\n this._directedSize = 0;\n this._undirectedSize = 0;\n this._directedSelfLoopCount = 0;\n this._undirectedSelfLoopCount = 0;\n }\n\n /**---------------------------------------------------------------------------\n * Read\n **---------------------------------------------------------------------------\n */\n\n /**\n * Method returning whether the given node is found in the graph.\n *\n * @param {any} node - The node.\n * @return {boolean}\n */\n hasNode(node) {\n return this._nodes.has('' + node);\n }\n\n /**\n * Method returning whether the given directed edge is found in the graph.\n *\n * Arity 1:\n * @param {any} edge - The edge's key.\n *\n * Arity 2:\n * @param {any} source - The edge's source.\n * @param {any} target - The edge's target.\n *\n * @return {boolean}\n *\n * @throws {Error} - Will throw if the arguments are invalid.\n */\n hasDirectedEdge(source, target) {\n // Early termination\n if (this.type === 'undirected') return false;\n\n if (arguments.length === 1) {\n const edge = '' + source;\n\n const edgeData = this._edges.get(edge);\n\n return !!edgeData && !edgeData.undirected;\n } else if (arguments.length === 2) {\n source = '' + source;\n target = '' + target;\n\n // If the node source or the target is not in the graph we break\n const nodeData = this._nodes.get(source);\n\n if (!nodeData) return false;\n\n // Is there a directed edge pointing toward target?\n return nodeData.out.hasOwnProperty(target);\n }\n\n throw new InvalidArgumentsGraphError(\n `Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`\n );\n }\n\n /**\n * Method returning whether the given undirected edge is found in the graph.\n *\n * Arity 1:\n * @param {any} edge - The edge's key.\n *\n * Arity 2:\n * @param {any} source - The edge's source.\n * @param {any} target - The edge's target.\n *\n * @return {boolean}\n *\n * @throws {Error} - Will throw if the arguments are invalid.\n */\n hasUndirectedEdge(source, target) {\n // Early termination\n if (this.type === 'directed') return false;\n\n if (arguments.length === 1) {\n const edge = '' + source;\n\n const edgeData = this._edges.get(edge);\n\n return !!edgeData && edgeData.undirected;\n } else if (arguments.length === 2) {\n source = '' + source;\n target = '' + target;\n\n // If the node source or the target is not in the graph we break\n const nodeData = this._nodes.get(source);\n\n if (!nodeData) return false;\n\n // Is there a directed edge pointing toward target?\n return nodeData.undirected.hasOwnProperty(target);\n }\n\n throw new InvalidArgumentsGraphError(\n `Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`\n );\n }\n\n /**\n * Method returning whether the given edge is found in the graph.\n *\n * Arity 1:\n * @param {any} edge - The edge's key.\n *\n * Arity 2:\n * @param {any} source - The edge's source.\n * @param {any} target - The edge's target.\n *\n * @return {boolean}\n *\n * @throws {Error} - Will throw if the arguments are invalid.\n */\n hasEdge(source, target) {\n if (arguments.length === 1) {\n const edge = '' + source;\n\n return this._edges.has(edge);\n } else if (arguments.length === 2) {\n source = '' + source;\n target = '' + target;\n\n // If the node source or the target is not in the graph we break\n const nodeData = this._nodes.get(source);\n\n if (!nodeData) return false;\n\n // Is there a directed edge pointing toward target?\n return (\n (typeof nodeData.out !== 'undefined' &&\n nodeData.out.hasOwnProperty(target)) ||\n (typeof nodeData.undirected !== 'undefined' &&\n nodeData.undirected.hasOwnProperty(target))\n );\n }\n\n throw new InvalidArgumentsGraphError(\n `Graph.hasEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`\n );\n }\n\n /**\n * Method returning the edge matching source & target in a directed fashion.\n *\n * @param {any} source - The edge's source.\n * @param {any} target - The edge's target.\n *\n * @return {any|undefined}\n *\n * @throws {Error} - Will throw if the graph is multi.\n * @throws {Error} - Will throw if source or target doesn't exist.\n */\n directedEdge(source, target) {\n if (this.type === 'undirected') return;\n\n source = '' + source;\n target = '' + target;\n\n if (this.multi)\n throw new UsageGraphError(\n 'Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.'\n );\n\n const sourceData = this._nodes.get(source);\n\n if (!sourceData)\n throw new NotFoundGraphError(\n `Graph.directedEdge: could not find the \"${source}\" source node in the graph.`\n );\n\n if (!this._nodes.has(target))\n throw new NotFoundGraphError(\n `Graph.directedEdge: could not find the \"${target}\" target node in the graph.`\n );\n\n const edgeData = (sourceData.out && sourceData.out[target]) || undefined;\n\n if (edgeData) return edgeData.key;\n }\n\n /**\n * Method returning the edge matching source & target in a undirected fashion.\n *\n * @param {any} source - The edge's source.\n * @param {any} target - The edge's target.\n *\n * @return {any|undefined}\n *\n * @throws {Error} - Will throw if the graph is multi.\n * @throws {Error} - Will throw if source or target doesn't exist.\n */\n undirectedEdge(source, target) {\n if (this.type === 'directed') return;\n\n source = '' + source;\n target = '' + target;\n\n if (this.multi)\n throw new UsageGraphError(\n 'Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.'\n );\n\n const sourceData = this._nodes.get(source);\n\n if (!sourceData)\n throw new NotFoundGraphError(\n `Graph.undirectedEdge: could not find the \"${source}\" source node in the graph.`\n );\n\n if (!this._nodes.has(target))\n throw new NotFoundGraphError(\n `Graph.undirectedEdge: could not find the \"${target}\" target node in the graph.`\n );\n\n const edgeData =\n (sourceData.undirected && sourceData.undirected[target]) || undefined;\n\n if (edgeData) return edgeData.key;\n }\n\n /**\n * Method returning the edge matching source & target in a mixed fashion.\n *\n * @param {any} source - The edge's source.\n * @param {any} target - The edge's target.\n *\n * @return {any|undefined}\n *\n * @throws {Error} - Will throw if the graph is multi.\n * @throws {Error} - Will throw if source or target doesn't exist.\n */\n edge(source, target) {\n if (this.multi)\n throw new UsageGraphError(\n 'Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.'\n );\n\n source = '' + source;\n target = '' + target;\n\n const sourceData = this._nodes.get(source);\n\n if (!sourceData)\n throw new NotFoundGraphError(\n `Graph.edge: could not find the \"${source}\" source node in the graph.`\n );\n\n if (!this._nodes.has(target))\n throw new NotFoundGraphError(\n `Graph.edge: could not find the \"${target}\" target node in the graph.`\n );\n\n const edgeData =\n (sourceData.out && sourceData.out[target]) ||\n (sourceData.undirected && sourceData.undirected[target]) ||\n undefined;\n\n if (edgeData) return edgeData.key;\n }\n\n /**\n * Method returning whether two nodes are directed neighbors.\n *\n * @param {any} node - The node's key.\n * @param {any} neighbor - The neighbor's key.\n * @return {boolean}\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n areDirectedNeighbors(node, neighbor) {\n node = '' + node;\n neighbor = '' + neighbor;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.areDirectedNeighbors: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type === 'undirected') return false;\n\n return neighbor in nodeData.in || neighbor in nodeData.out;\n }\n\n /**\n * Method returning whether two nodes are out neighbors.\n *\n * @param {any} node - The node's key.\n * @param {any} neighbor - The neighbor's key.\n * @return {boolean}\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n areOutNeighbors(node, neighbor) {\n node = '' + node;\n neighbor = '' + neighbor;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.areOutNeighbors: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type === 'undirected') return false;\n\n return neighbor in nodeData.out;\n }\n\n /**\n * Method returning whether two nodes are in neighbors.\n *\n * @param {any} node - The node's key.\n * @param {any} neighbor - The neighbor's key.\n * @return {boolean}\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n areInNeighbors(node, neighbor) {\n node = '' + node;\n neighbor = '' + neighbor;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.areInNeighbors: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type === 'undirected') return false;\n\n return neighbor in nodeData.in;\n }\n\n /**\n * Method returning whether two nodes are undirected neighbors.\n *\n * @param {any} node - The node's key.\n * @param {any} neighbor - The neighbor's key.\n * @return {boolean}\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n areUndirectedNeighbors(node, neighbor) {\n node = '' + node;\n neighbor = '' + neighbor;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.areUndirectedNeighbors: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type === 'directed') return false;\n\n return neighbor in nodeData.undirected;\n }\n\n /**\n * Method returning whether two nodes are neighbors.\n *\n * @param {any} node - The node's key.\n * @param {any} neighbor - The neighbor's key.\n * @return {boolean}\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n areNeighbors(node, neighbor) {\n node = '' + node;\n neighbor = '' + neighbor;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.areNeighbors: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type !== 'undirected') {\n if (neighbor in nodeData.in || neighbor in nodeData.out) return true;\n }\n\n if (this.type !== 'directed') {\n if (neighbor in nodeData.undirected) return true;\n }\n\n return false;\n }\n\n /**\n * Method returning whether two nodes are inbound neighbors.\n *\n * @param {any} node - The node's key.\n * @param {any} neighbor - The neighbor's key.\n * @return {boolean}\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n areInboundNeighbors(node, neighbor) {\n node = '' + node;\n neighbor = '' + neighbor;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.areInboundNeighbors: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type !== 'undirected') {\n if (neighbor in nodeData.in) return true;\n }\n\n if (this.type !== 'directed') {\n if (neighbor in nodeData.undirected) return true;\n }\n\n return false;\n }\n\n /**\n * Method returning whether two nodes are outbound neighbors.\n *\n * @param {any} node - The node's key.\n * @param {any} neighbor - The neighbor's key.\n * @return {boolean}\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n areOutboundNeighbors(node, neighbor) {\n node = '' + node;\n neighbor = '' + neighbor;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.areOutboundNeighbors: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type !== 'undirected') {\n if (neighbor in nodeData.out) return true;\n }\n\n if (this.type !== 'directed') {\n if (neighbor in nodeData.undirected) return true;\n }\n\n return false;\n }\n\n /**\n * Method returning the given node's in degree.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's in degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n inDegree(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.inDegree: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type === 'undirected') return 0;\n\n return nodeData.inDegree;\n }\n\n /**\n * Method returning the given node's out degree.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's in degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n outDegree(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.outDegree: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type === 'undirected') return 0;\n\n return nodeData.outDegree;\n }\n\n /**\n * Method returning the given node's directed degree.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's in degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n directedDegree(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.directedDegree: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type === 'undirected') return 0;\n\n return nodeData.inDegree + nodeData.outDegree;\n }\n\n /**\n * Method returning the given node's undirected degree.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's in degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n undirectedDegree(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.undirectedDegree: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type === 'directed') return 0;\n\n return nodeData.undirectedDegree;\n }\n\n /**\n * Method returning the given node's inbound degree.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's inbound degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n inboundDegree(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.inboundDegree: could not find the \"${node}\" node in the graph.`\n );\n\n let degree = 0;\n\n if (this.type !== 'directed') {\n degree += nodeData.undirectedDegree;\n }\n\n if (this.type !== 'undirected') {\n degree += nodeData.inDegree;\n }\n\n return degree;\n }\n\n /**\n * Method returning the given node's outbound degree.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's outbound degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n outboundDegree(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.outboundDegree: could not find the \"${node}\" node in the graph.`\n );\n\n let degree = 0;\n\n if (this.type !== 'directed') {\n degree += nodeData.undirectedDegree;\n }\n\n if (this.type !== 'undirected') {\n degree += nodeData.outDegree;\n }\n\n return degree;\n }\n\n /**\n * Method returning the given node's directed degree.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n degree(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.degree: could not find the \"${node}\" node in the graph.`\n );\n\n let degree = 0;\n\n if (this.type !== 'directed') {\n degree += nodeData.undirectedDegree;\n }\n\n if (this.type !== 'undirected') {\n degree += nodeData.inDegree + nodeData.outDegree;\n }\n\n return degree;\n }\n\n /**\n * Method returning the given node's in degree without considering self loops.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's in degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n inDegreeWithoutSelfLoops(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.inDegreeWithoutSelfLoops: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type === 'undirected') return 0;\n\n return nodeData.inDegree - nodeData.directedLoops;\n }\n\n /**\n * Method returning the given node's out degree without considering self loops.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's in degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n outDegreeWithoutSelfLoops(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.outDegreeWithoutSelfLoops: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type === 'undirected') return 0;\n\n return nodeData.outDegree - nodeData.directedLoops;\n }\n\n /**\n * Method returning the given node's directed degree without considering self loops.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's in degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n directedDegreeWithoutSelfLoops(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.directedDegreeWithoutSelfLoops: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type === 'undirected') return 0;\n\n return nodeData.inDegree + nodeData.outDegree - nodeData.directedLoops * 2;\n }\n\n /**\n * Method returning the given node's undirected degree without considering self loops.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's in degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n undirectedDegreeWithoutSelfLoops(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.undirectedDegreeWithoutSelfLoops: could not find the \"${node}\" node in the graph.`\n );\n\n if (this.type === 'directed') return 0;\n\n return nodeData.undirectedDegree - nodeData.undirectedLoops * 2;\n }\n\n /**\n * Method returning the given node's inbound degree without considering self loops.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's inbound degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n inboundDegreeWithoutSelfLoops(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.inboundDegreeWithoutSelfLoops: could not find the \"${node}\" node in the graph.`\n );\n\n let degree = 0;\n let loops = 0;\n\n if (this.type !== 'directed') {\n degree += nodeData.undirectedDegree;\n loops += nodeData.undirectedLoops * 2;\n }\n\n if (this.type !== 'undirected') {\n degree += nodeData.inDegree;\n loops += nodeData.directedLoops;\n }\n\n return degree - loops;\n }\n\n /**\n * Method returning the given node's outbound degree without considering self loops.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's outbound degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n outboundDegreeWithoutSelfLoops(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.outboundDegreeWithoutSelfLoops: could not find the \"${node}\" node in the graph.`\n );\n\n let degree = 0;\n let loops = 0;\n\n if (this.type !== 'directed') {\n degree += nodeData.undirectedDegree;\n loops += nodeData.undirectedLoops * 2;\n }\n\n if (this.type !== 'undirected') {\n degree += nodeData.outDegree;\n loops += nodeData.directedLoops;\n }\n\n return degree - loops;\n }\n\n /**\n * Method returning the given node's directed degree without considering self loops.\n *\n * @param {any} node - The node's key.\n * @return {number} - The node's degree.\n *\n * @throws {Error} - Will throw if the node isn't in the graph.\n */\n degreeWithoutSelfLoops(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.degreeWithoutSelfLoops: could not find the \"${node}\" node in the graph.`\n );\n\n let degree = 0;\n let loops = 0;\n\n if (this.type !== 'directed') {\n degree += nodeData.undirectedDegree;\n loops += nodeData.undirectedLoops * 2;\n }\n\n if (this.type !== 'undirected') {\n degree += nodeData.inDegree + nodeData.outDegree;\n loops += nodeData.directedLoops * 2;\n }\n\n return degree - loops;\n }\n\n /**\n * Method returning the given edge's source.\n *\n * @param {any} edge - The edge's key.\n * @return {any} - The edge's source.\n *\n * @throws {Error} - Will throw if the edge isn't in the graph.\n */\n source(edge) {\n edge = '' + edge;\n\n const data = this._edges.get(edge);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.source: could not find the \"${edge}\" edge in the graph.`\n );\n\n return data.source.key;\n }\n\n /**\n * Method returning the given edge's target.\n *\n * @param {any} edge - The edge's key.\n * @return {any} - The edge's target.\n *\n * @throws {Error} - Will throw if the edge isn't in the graph.\n */\n target(edge) {\n edge = '' + edge;\n\n const data = this._edges.get(edge);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.target: could not find the \"${edge}\" edge in the graph.`\n );\n\n return data.target.key;\n }\n\n /**\n * Method returning the given edge's extremities.\n *\n * @param {any} edge - The edge's key.\n * @return {array} - The edge's extremities.\n *\n * @throws {Error} - Will throw if the edge isn't in the graph.\n */\n extremities(edge) {\n edge = '' + edge;\n\n const edgeData = this._edges.get(edge);\n\n if (!edgeData)\n throw new NotFoundGraphError(\n `Graph.extremities: could not find the \"${edge}\" edge in the graph.`\n );\n\n return [edgeData.source.key, edgeData.target.key];\n }\n\n /**\n * Given a node & an edge, returns the other extremity of the edge.\n *\n * @param {any} node - The node's key.\n * @param {any} edge - The edge's key.\n * @return {any} - The related node.\n *\n * @throws {Error} - Will throw if the edge isn't in the graph or if the\n * edge & node are not related.\n */\n opposite(node, edge) {\n node = '' + node;\n edge = '' + edge;\n\n const data = this._edges.get(edge);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.opposite: could not find the \"${edge}\" edge in the graph.`\n );\n\n const source = data.source.key;\n const target = data.target.key;\n\n if (node === source) return target;\n if (node === target) return source;\n\n throw new NotFoundGraphError(\n `Graph.opposite: the \"${node}\" node is not attached to the \"${edge}\" edge (${source}, ${target}).`\n );\n }\n\n /**\n * Returns whether the given edge has the given node as extremity.\n *\n * @param {any} edge - The edge's key.\n * @param {any} node - The node's key.\n * @return {boolean} - The related node.\n *\n * @throws {Error} - Will throw if either the node or the edge isn't in the graph.\n */\n hasExtremity(edge, node) {\n edge = '' + edge;\n node = '' + node;\n\n const data = this._edges.get(edge);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.hasExtremity: could not find the \"${edge}\" edge in the graph.`\n );\n\n return data.source.key === node || data.target.key === node;\n }\n\n /**\n * Method returning whether the given edge is undirected.\n *\n * @param {any} edge - The edge's key.\n * @return {boolean}\n *\n * @throws {Error} - Will throw if the edge isn't in the graph.\n */\n isUndirected(edge) {\n edge = '' + edge;\n\n const data = this._edges.get(edge);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.isUndirected: could not find the \"${edge}\" edge in the graph.`\n );\n\n return data.undirected;\n }\n\n /**\n * Method returning whether the given edge is directed.\n *\n * @param {any} edge - The edge's key.\n * @return {boolean}\n *\n * @throws {Error} - Will throw if the edge isn't in the graph.\n */\n isDirected(edge) {\n edge = '' + edge;\n\n const data = this._edges.get(edge);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.isDirected: could not find the \"${edge}\" edge in the graph.`\n );\n\n return !data.undirected;\n }\n\n /**\n * Method returning whether the given edge is a self loop.\n *\n * @param {any} edge - The edge's key.\n * @return {boolean}\n *\n * @throws {Error} - Will throw if the edge isn't in the graph.\n */\n isSelfLoop(edge) {\n edge = '' + edge;\n\n const data = this._edges.get(edge);\n\n if (!data)\n throw new NotFoundGraphError(\n `Graph.isSelfLoop: could not find the \"${edge}\" edge in the graph.`\n );\n\n return data.source === data.target;\n }\n\n /**---------------------------------------------------------------------------\n * Mutation\n **---------------------------------------------------------------------------\n */\n\n /**\n * Method used to add a node to the graph.\n *\n * @param {any} node - The node.\n * @param {object} [attributes] - Optional attributes.\n * @return {any} - The node.\n *\n * @throws {Error} - Will throw if the given node already exist.\n * @throws {Error} - Will throw if the given attributes are not an object.\n */\n addNode(node, attributes) {\n const nodeData = addNode(this, node, attributes);\n\n return nodeData.key;\n }\n\n /**\n * Method used to merge a node into the graph.\n *\n * @param {any} node - The node.\n * @param {object} [attributes] - Optional attributes.\n * @return {any} - The node.\n */\n mergeNode(node, attributes) {\n if (attributes && !isPlainObject(attributes))\n throw new InvalidArgumentsGraphError(\n `Graph.mergeNode: invalid attributes. Expecting an object but got \"${attributes}\"`\n );\n\n // String coercion\n node = '' + node;\n attributes = attributes || {};\n\n // If the node already exists, we merge the attributes\n let data = this._nodes.get(node);\n\n if (data) {\n if (attributes) {\n assign(data.attributes, attributes);\n\n this.emit('nodeAttributesUpdated', {\n type: 'merge',\n key: node,\n attributes: data.attributes,\n data: attributes\n });\n }\n return [node, false];\n }\n\n data = new this.NodeDataClass(node, attributes);\n\n // Adding the node to internal register\n this._nodes.set(node, data);\n\n // Emitting\n this.emit('nodeAdded', {\n key: node,\n attributes\n });\n\n return [node, true];\n }\n\n /**\n * Method used to add a node if it does not exist in the graph or else to\n * update its attributes using a function.\n *\n * @param {any} node - The node.\n * @param {function} [updater] - Optional updater function.\n * @return {any} - The node.\n */\n updateNode(node, updater) {\n if (updater && typeof updater !== 'function')\n throw new InvalidArgumentsGraphError(\n `Graph.updateNode: invalid updater function. Expecting a function but got \"${updater}\"`\n );\n\n // String coercion\n node = '' + node;\n\n // If the node already exists, we update the attributes\n let data = this._nodes.get(node);\n\n if (data) {\n if (updater) {\n const oldAttributes = data.attributes;\n data.attributes = updater(oldAttributes);\n\n this.emit('nodeAttributesUpdated', {\n type: 'replace',\n key: node,\n attributes: data.attributes\n });\n }\n return [node, false];\n }\n\n const attributes = updater ? updater({}) : {};\n\n data = new this.NodeDataClass(node, attributes);\n\n // Adding the node to internal register\n this._nodes.set(node, data);\n\n // Emitting\n this.emit('nodeAdded', {\n key: node,\n attributes\n });\n\n return [node, true];\n }\n\n /**\n * Method used to drop a single node & all its attached edges from the graph.\n *\n * @param {any} node - The node.\n * @return {Graph}\n *\n * @throws {Error} - Will throw if the node doesn't exist.\n */\n dropNode(node) {\n node = '' + node;\n\n const nodeData = this._nodes.get(node);\n\n if (!nodeData)\n throw new NotFoundGraphError(\n `Graph.dropNode: could not find the \"${node}\" node in the graph.`\n );\n\n let edgeData;\n\n // Removing attached edges\n // NOTE: we could be faster here, but this is such a pain to maintain\n if (this.type !== 'undirected') {\n for (const neighbor in nodeData.out) {\n edgeData = nodeData.out[neighbor];\n\n do {\n dropEdgeFromData(this, edgeData);\n edgeData = edgeData.next;\n } while (edgeData);\n }\n\n for (const neighbor in nodeData.in) {\n edgeData = nodeData.in[neighbor];\n\n do {\n dropEdgeFromData(this, edgeData);\n edgeData = edgeData.next;\n } while (edgeData);\n }\n }\n\n if (this.type !== 'directed') {\n for (const neighbor in nodeData.undirected) {\n edgeData = nodeData.undirected[neighbor];\n\n do {\n dropEdgeFromData(this, edgeData);\n edgeData = edgeData.next;\n } while (edgeData);\n }\n }\n\n // Dropping the node from the register\n this._nodes.delete(node);\n\n // Emitting\n this.emit('nodeDropped', {\n key: node,\n attributes: nodeData.attributes\n });\n }\n\n /**\n * Method used to drop a single edge from the graph.\n *\n * Arity 1:\n * @param {any} edge - The edge.\n *\n * Arity 2:\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n *\n * @return {Graph}\n *\n * @throws {Error} - Will throw if the edge doesn't exist.\n */\n dropEdge(edge) {\n let edgeData;\n\n if (arguments.length > 1) {\n const source = '' + arguments[0];\n const target = '' + arguments[1];\n\n edgeData = getMatchingEdge(this, source, target, this.type);\n\n if (!edgeData)\n throw new NotFoundGraphError(\n `Graph.dropEdge: could not find the \"${source}\" -> \"${target}\" edge in the graph.`\n );\n } else {\n edge = '' + edge;\n\n edgeData = this._edges.get(edge);\n\n if (!edgeData)\n throw new NotFoundGraphError(\n `Graph.dropEdge: could not find the \"${edge}\" edge in the graph.`\n );\n }\n\n dropEdgeFromData(this, edgeData);\n\n return this;\n }\n\n /**\n * Method used to drop a single directed edge from the graph.\n *\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n *\n * @return {Graph}\n *\n * @throws {Error} - Will throw if the edge doesn't exist.\n */\n dropDirectedEdge(source, target) {\n if (arguments.length < 2)\n throw new UsageGraphError(\n 'Graph.dropDirectedEdge: it does not make sense to try and drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.'\n );\n\n if (this.multi)\n throw new UsageGraphError(\n 'Graph.dropDirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.'\n );\n\n source = '' + source;\n target = '' + target;\n\n const edgeData = getMatchingEdge(this, source, target, 'directed');\n\n if (!edgeData)\n throw new NotFoundGraphError(\n `Graph.dropDirectedEdge: could not find a \"${source}\" -> \"${target}\" edge in the graph.`\n );\n\n dropEdgeFromData(this, edgeData);\n\n return this;\n }\n\n /**\n * Method used to drop a single undirected edge from the graph.\n *\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n *\n * @return {Graph}\n *\n * @throws {Error} - Will throw if the edge doesn't exist.\n */\n dropUndirectedEdge(source, target) {\n if (arguments.length < 2)\n throw new UsageGraphError(\n 'Graph.dropUndirectedEdge: it does not make sense to drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.'\n );\n\n if (this.multi)\n throw new UsageGraphError(\n 'Graph.dropUndirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.'\n );\n\n const edgeData = getMatchingEdge(this, source, target, 'undirected');\n\n if (!edgeData)\n throw new NotFoundGraphError(\n `Graph.dropUndirectedEdge: could not find a \"${source}\" -> \"${target}\" edge in the graph.`\n );\n\n dropEdgeFromData(this, edgeData);\n\n return this;\n }\n\n /**\n * Method used to remove every edge & every node from the graph.\n *\n * @return {Graph}\n */\n clear() {\n // Clearing edges\n this._edges.clear();\n\n // Clearing nodes\n this._nodes.clear();\n\n // Reset counters\n this._resetInstanceCounters();\n\n // Emitting\n this.emit('cleared');\n }\n\n /**\n * Method used to remove every edge from the graph.\n *\n * @return {Graph}\n */\n clearEdges() {\n // Clearing structure index\n const iterator = this._nodes.values();\n\n let step;\n\n while (((step = iterator.next()), step.done !== true)) {\n step.value.clear();\n }\n\n // Clearing edges\n this._edges.clear();\n\n // Reset counters\n this._resetInstanceCounters();\n\n // Emitting\n this.emit('edgesCleared');\n }\n\n /**---------------------------------------------------------------------------\n * Attributes-related methods\n **---------------------------------------------------------------------------\n */\n\n /**\n * Method returning the desired graph's attribute.\n *\n * @param {string} name - Name of the attribute.\n * @return {any}\n */\n getAttribute(name) {\n return this._attributes[name];\n }\n\n /**\n * Method returning the graph's attributes.\n *\n * @return {object}\n */\n getAttributes() {\n return this._attributes;\n }\n\n /**\n * Method returning whether the graph has the desired attribute.\n *\n * @param {string} name - Name of the attribute.\n * @return {boolean}\n */\n hasAttribute(name) {\n return this._attributes.hasOwnProperty(name);\n }\n\n /**\n * Method setting a value for the desired graph's attribute.\n *\n * @param {string} name - Name of the attribute.\n * @param {any} value - Value for the attribute.\n * @return {Graph}\n */\n setAttribute(name, value) {\n this._attributes[name] = value;\n\n // Emitting\n this.emit('attributesUpdated', {\n type: 'set',\n attributes: this._attributes,\n name\n });\n\n return this;\n }\n\n /**\n * Method using a function to update the desired graph's attribute's value.\n *\n * @param {string} name - Name of the attribute.\n * @param {function} updater - Function use to update the attribute's value.\n * @return {Graph}\n */\n updateAttribute(name, updater) {\n if (typeof updater !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.updateAttribute: updater should be a function.'\n );\n\n const value = this._attributes[name];\n\n this._attributes[name] = updater(value);\n\n // Emitting\n this.emit('attributesUpdated', {\n type: 'set',\n attributes: this._attributes,\n name\n });\n\n return this;\n }\n\n /**\n * Method removing the desired graph's attribute.\n *\n * @param {string} name - Name of the attribute.\n * @return {Graph}\n */\n removeAttribute(name) {\n delete this._attributes[name];\n\n // Emitting\n this.emit('attributesUpdated', {\n type: 'remove',\n attributes: this._attributes,\n name\n });\n\n return this;\n }\n\n /**\n * Method replacing the graph's attributes.\n *\n * @param {object} attributes - New attributes.\n * @return {Graph}\n *\n * @throws {Error} - Will throw if given attributes are not a plain object.\n */\n replaceAttributes(attributes) {\n if (!isPlainObject(attributes))\n throw new InvalidArgumentsGraphError(\n 'Graph.replaceAttributes: provided attributes are not a plain object.'\n );\n\n this._attributes = attributes;\n\n // Emitting\n this.emit('attributesUpdated', {\n type: 'replace',\n attributes: this._attributes\n });\n\n return this;\n }\n\n /**\n * Method merging the graph's attributes.\n *\n * @param {object} attributes - Attributes to merge.\n * @return {Graph}\n *\n * @throws {Error} - Will throw if given attributes are not a plain object.\n */\n mergeAttributes(attributes) {\n if (!isPlainObject(attributes))\n throw new InvalidArgumentsGraphError(\n 'Graph.mergeAttributes: provided attributes are not a plain object.'\n );\n\n assign(this._attributes, attributes);\n\n // Emitting\n this.emit('attributesUpdated', {\n type: 'merge',\n attributes: this._attributes,\n data: attributes\n });\n\n return this;\n }\n\n /**\n * Method updating the graph's attributes.\n *\n * @param {function} updater - Function used to update the attributes.\n * @return {Graph}\n *\n * @throws {Error} - Will throw if given updater is not a function.\n */\n updateAttributes(updater) {\n if (typeof updater !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.updateAttributes: provided updater is not a function.'\n );\n\n this._attributes = updater(this._attributes);\n\n // Emitting\n this.emit('attributesUpdated', {\n type: 'update',\n attributes: this._attributes\n });\n\n return this;\n }\n\n /**\n * Method used to update each node's attributes using the given function.\n *\n * @param {function} updater - Updater function to use.\n * @param {object} [hints] - Optional hints.\n */\n updateEachNodeAttributes(updater, hints) {\n if (typeof updater !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.updateEachNodeAttributes: expecting an updater function.'\n );\n\n if (hints && !validateHints(hints))\n throw new InvalidArgumentsGraphError(\n 'Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}'\n );\n\n const iterator = this._nodes.values();\n\n let step, nodeData;\n\n while (((step = iterator.next()), step.done !== true)) {\n nodeData = step.value;\n nodeData.attributes = updater(nodeData.key, nodeData.attributes);\n }\n\n this.emit('eachNodeAttributesUpdated', {\n hints: hints ? hints : null\n });\n }\n\n /**\n * Method used to update each edge's attributes using the given function.\n *\n * @param {function} updater - Updater function to use.\n * @param {object} [hints] - Optional hints.\n */\n updateEachEdgeAttributes(updater, hints) {\n if (typeof updater !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.updateEachEdgeAttributes: expecting an updater function.'\n );\n\n if (hints && !validateHints(hints))\n throw new InvalidArgumentsGraphError(\n 'Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}'\n );\n\n const iterator = this._edges.values();\n\n let step, edgeData, sourceData, targetData;\n\n while (((step = iterator.next()), step.done !== true)) {\n edgeData = step.value;\n sourceData = edgeData.source;\n targetData = edgeData.target;\n\n edgeData.attributes = updater(\n edgeData.key,\n edgeData.attributes,\n sourceData.key,\n targetData.key,\n sourceData.attributes,\n targetData.attributes,\n edgeData.undirected\n );\n }\n\n this.emit('eachEdgeAttributesUpdated', {\n hints: hints ? hints : null\n });\n }\n\n /**---------------------------------------------------------------------------\n * Iteration-related methods\n **---------------------------------------------------------------------------\n */\n\n /**\n * Method iterating over the graph's adjacency using the given callback.\n *\n * @param {function} callback - Callback to use.\n */\n forEachAdjacencyEntry(callback) {\n if (typeof callback !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.forEachAdjacencyEntry: expecting a callback.'\n );\n\n forEachAdjacency(false, false, false, this, callback);\n }\n forEachAdjacencyEntryWithOrphans(callback) {\n if (typeof callback !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.forEachAdjacencyEntryWithOrphans: expecting a callback.'\n );\n\n forEachAdjacency(false, false, true, this, callback);\n }\n\n /**\n * Method iterating over the graph's assymetric adjacency using the given callback.\n *\n * @param {function} callback - Callback to use.\n */\n forEachAssymetricAdjacencyEntry(callback) {\n if (typeof callback !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.forEachAssymetricAdjacencyEntry: expecting a callback.'\n );\n\n forEachAdjacency(false, true, false, this, callback);\n }\n forEachAssymetricAdjacencyEntryWithOrphans(callback) {\n if (typeof callback !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.forEachAssymetricAdjacencyEntryWithOrphans: expecting a callback.'\n );\n\n forEachAdjacency(false, true, true, this, callback);\n }\n\n /**\n * Method returning the list of the graph's nodes.\n *\n * @return {array} - The nodes.\n */\n nodes() {\n if (typeof Array.from === 'function') return Array.from(this._nodes.keys());\n\n return take(this._nodes.keys(), this._nodes.size);\n }\n\n /**\n * Method iterating over the graph's nodes using the given callback.\n *\n * @param {function} callback - Callback (key, attributes, index).\n */\n forEachNode(callback) {\n if (typeof callback !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.forEachNode: expecting a callback.'\n );\n\n const iterator = this._nodes.values();\n\n let step, nodeData;\n\n while (((step = iterator.next()), step.done !== true)) {\n nodeData = step.value;\n callback(nodeData.key, nodeData.attributes);\n }\n }\n\n /**\n * Method iterating attempting to find a node matching the given predicate\n * function.\n *\n * @param {function} callback - Callback (key, attributes).\n */\n findNode(callback) {\n if (typeof callback !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.findNode: expecting a callback.'\n );\n\n const iterator = this._nodes.values();\n\n let step, nodeData;\n\n while (((step = iterator.next()), step.done !== true)) {\n nodeData = step.value;\n\n if (callback(nodeData.key, nodeData.attributes)) return nodeData.key;\n }\n\n return;\n }\n\n /**\n * Method mapping nodes.\n *\n * @param {function} callback - Callback (key, attributes).\n */\n mapNodes(callback) {\n if (typeof callback !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.mapNode: expecting a callback.'\n );\n\n const iterator = this._nodes.values();\n\n let step, nodeData;\n\n const result = new Array(this.order);\n let i = 0;\n\n while (((step = iterator.next()), step.done !== true)) {\n nodeData = step.value;\n result[i++] = callback(nodeData.key, nodeData.attributes);\n }\n\n return result;\n }\n\n /**\n * Method returning whether some node verify the given predicate.\n *\n * @param {function} callback - Callback (key, attributes).\n */\n someNode(callback) {\n if (typeof callback !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.someNode: expecting a callback.'\n );\n\n const iterator = this._nodes.values();\n\n let step, nodeData;\n\n while (((step = iterator.next()), step.done !== true)) {\n nodeData = step.value;\n\n if (callback(nodeData.key, nodeData.attributes)) return true;\n }\n\n return false;\n }\n\n /**\n * Method returning whether all node verify the given predicate.\n *\n * @param {function} callback - Callback (key, attributes).\n */\n everyNode(callback) {\n if (typeof callback !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.everyNode: expecting a callback.'\n );\n\n const iterator = this._nodes.values();\n\n let step, nodeData;\n\n while (((step = iterator.next()), step.done !== true)) {\n nodeData = step.value;\n\n if (!callback(nodeData.key, nodeData.attributes)) return false;\n }\n\n return true;\n }\n\n /**\n * Method filtering nodes.\n *\n * @param {function} callback - Callback (key, attributes).\n */\n filterNodes(callback) {\n if (typeof callback !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.filterNodes: expecting a callback.'\n );\n\n const iterator = this._nodes.values();\n\n let step, nodeData;\n\n const result = [];\n\n while (((step = iterator.next()), step.done !== true)) {\n nodeData = step.value;\n\n if (callback(nodeData.key, nodeData.attributes))\n result.push(nodeData.key);\n }\n\n return result;\n }\n\n /**\n * Method reducing nodes.\n *\n * @param {function} callback - Callback (accumulator, key, attributes).\n */\n reduceNodes(callback, initialValue) {\n if (typeof callback !== 'function')\n throw new InvalidArgumentsGraphError(\n 'Graph.reduceNodes: expecting a callback.'\n );\n\n if (arguments.length < 2)\n throw new InvalidArgumentsGraphError(\n 'Graph.reduceNodes: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.'\n );\n\n let accumulator = initialValue;\n\n const iterator = this._nodes.values();\n\n let step, nodeData;\n\n while (((step = iterator.next()), step.done !== true)) {\n nodeData = step.value;\n accumulator = callback(accumulator, nodeData.key, nodeData.attributes);\n }\n\n return accumulator;\n }\n\n /**\n * Method returning an iterator over the graph's node entries.\n *\n * @return {Iterator}\n */\n nodeEntries() {\n const iterator = this._nodes.values();\n\n return new Iterator(() => {\n const step = iterator.next();\n\n if (step.done) return step;\n\n const data = step.value;\n\n return {\n value: {node: data.key, attributes: data.attributes},\n done: false\n };\n });\n }\n\n /**---------------------------------------------------------------------------\n * Serialization\n **---------------------------------------------------------------------------\n */\n\n /**\n * Method used to export the whole graph.\n *\n * @return {object} - The serialized graph.\n */\n export() {\n const nodes = new Array(this._nodes.size);\n\n let i = 0;\n\n this._nodes.forEach((data, key) => {\n nodes[i++] = serializeNode(key, data);\n });\n\n const edges = new Array(this._edges.size);\n\n i = 0;\n\n this._edges.forEach((data, key) => {\n edges[i++] = serializeEdge(this.type, key, data);\n });\n\n return {\n options: {\n type: this.type,\n multi: this.multi,\n allowSelfLoops: this.allowSelfLoops\n },\n attributes: this.getAttributes(),\n nodes,\n edges\n };\n }\n\n /**\n * Method used to import a serialized graph.\n *\n * @param {object|Graph} data - The serialized graph.\n * @param {boolean} merge - Whether to merge data.\n * @return {Graph} - Returns itself for chaining.\n */\n import(data, merge = false) {\n // Importing a Graph instance directly\n if (data instanceof Graph) {\n // Nodes\n data.forEachNode((n, a) => {\n if (merge) this.mergeNode(n, a);\n else this.addNode(n, a);\n });\n\n // Edges\n data.forEachEdge((e, a, s, t, _sa, _ta, u) => {\n if (merge) {\n if (u) this.mergeUndirectedEdgeWithKey(e, s, t, a);\n else this.mergeDirectedEdgeWithKey(e, s, t, a);\n } else {\n if (u) this.addUndirectedEdgeWithKey(e, s, t, a);\n else this.addDirectedEdgeWithKey(e, s, t, a);\n }\n });\n\n return this;\n }\n\n // Importing a serialized graph\n if (!isPlainObject(data))\n throw new InvalidArgumentsGraphError(\n 'Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.'\n );\n\n if (data.attributes) {\n if (!isPlainObject(data.attributes))\n throw new InvalidArgumentsGraphError(\n 'Graph.import: invalid attributes. Expecting a plain object.'\n );\n\n if (merge) this.mergeAttributes(data.attributes);\n else this.replaceAttributes(data.attributes);\n }\n\n let i, l, list, node, edge;\n\n if (data.nodes) {\n list = data.nodes;\n\n if (!Array.isArray(list))\n throw new InvalidArgumentsGraphError(\n 'Graph.import: invalid nodes. Expecting an array.'\n );\n\n for (i = 0, l = list.length; i < l; i++) {\n node = list[i];\n\n // Validating\n validateSerializedNode(node);\n\n // Adding the node\n const {key, attributes} = node;\n\n if (merge) this.mergeNode(key, attributes);\n else this.addNode(key, attributes);\n }\n }\n\n if (data.edges) {\n let undirectedByDefault = false;\n\n if (this.type === 'undirected') {\n undirectedByDefault = true;\n }\n\n list = data.edges;\n\n if (!Array.isArray(list))\n throw new InvalidArgumentsGraphError(\n 'Graph.import: invalid edges. Expecting an array.'\n );\n\n for (i = 0, l = list.length; i < l; i++) {\n edge = list[i];\n\n // Validating\n validateSerializedEdge(edge);\n\n // Adding the edge\n const {\n source,\n target,\n attributes,\n undirected = undirectedByDefault\n } = edge;\n\n let method;\n\n if ('key' in edge) {\n method = merge\n ? undirected\n ? this.mergeUndirectedEdgeWithKey\n : this.mergeDirectedEdgeWithKey\n : undirected\n ? this.addUndirectedEdgeWithKey\n : this.addDirectedEdgeWithKey;\n\n method.call(this, edge.key, source, target, attributes);\n } else {\n method = merge\n ? undirected\n ? this.mergeUndirectedEdge\n : this.mergeDirectedEdge\n : undirected\n ? this.addUndirectedEdge\n : this.addDirectedEdge;\n\n method.call(this, source, target, attributes);\n }\n }\n }\n\n return this;\n }\n\n /**---------------------------------------------------------------------------\n * Utils\n **---------------------------------------------------------------------------\n */\n\n /**\n * Method returning a null copy of the graph, i.e. a graph without nodes\n * & edges but with the exact same options.\n *\n * @param {object} options - Options to merge with the current ones.\n * @return {Graph} - The null copy.\n */\n nullCopy(options) {\n const graph = new Graph(assign({}, this._options, options));\n graph.replaceAttributes(assign({}, this.getAttributes()));\n return graph;\n }\n\n /**\n * Method returning an empty copy of the graph, i.e. a graph without edges but\n * with the exact same options.\n *\n * @param {object} options - Options to merge with the current ones.\n * @return {Graph} - The empty copy.\n */\n emptyCopy(options) {\n const graph = this.nullCopy(options);\n\n this._nodes.forEach((nodeData, key) => {\n const attributes = assign({}, nodeData.attributes);\n\n // NOTE: no need to emit events since user cannot access the instance yet\n nodeData = new graph.NodeDataClass(key, attributes);\n graph._nodes.set(key, nodeData);\n });\n\n return graph;\n }\n\n /**\n * Method returning an exact copy of the graph.\n *\n * @param {object} options - Upgrade options.\n * @return {Graph} - The copy.\n */\n copy(options) {\n options = options || {};\n\n if (\n typeof options.type === 'string' &&\n options.type !== this.type &&\n options.type !== 'mixed'\n )\n throw new UsageGraphError(\n `Graph.copy: cannot create an incompatible copy from \"${this.type}\" type to \"${options.type}\" because this would mean losing information about the current graph.`\n );\n\n if (\n typeof options.multi === 'boolean' &&\n options.multi !== this.multi &&\n options.multi !== true\n )\n throw new UsageGraphError(\n 'Graph.copy: cannot create an incompatible copy by downgrading a multi graph to a simple one because this would mean losing information about the current graph.'\n );\n\n if (\n typeof options.allowSelfLoops === 'boolean' &&\n options.allowSelfLoops !== this.allowSelfLoops &&\n options.allowSelfLoops !== true\n )\n throw new UsageGraphError(\n 'Graph.copy: cannot create an incompatible copy from a graph allowing self loops to one that does not because this would mean losing information about the current graph.'\n );\n\n const graph = this.emptyCopy(options);\n\n const iterator = this._edges.values();\n\n let step, edgeData;\n\n while (((step = iterator.next()), step.done !== true)) {\n edgeData = step.value;\n\n // NOTE: no need to emit events since user cannot access the instance yet\n addEdge(\n graph,\n 'copy',\n false,\n edgeData.undirected,\n edgeData.key,\n edgeData.source.key,\n edgeData.target.key,\n assign({}, edgeData.attributes)\n );\n }\n\n return graph;\n }\n\n /**---------------------------------------------------------------------------\n * Known methods\n **---------------------------------------------------------------------------\n */\n\n /**\n * Method used by JavaScript to perform JSON serialization.\n *\n * @return {object} - The serialized graph.\n */\n toJSON() {\n return this.export();\n }\n\n /**\n * Method returning [object Graph].\n */\n toString() {\n return '[object Graph]';\n }\n\n /**\n * Method used internally by node's console to display a custom object.\n *\n * @return {object} - Formatted object representation of the graph.\n */\n inspect() {\n const nodes = {};\n this._nodes.forEach((data, key) => {\n nodes[key] = data.attributes;\n });\n\n const edges = {},\n multiIndex = {};\n\n this._edges.forEach((data, key) => {\n const direction = data.undirected ? '--' : '->';\n\n let label = '';\n\n let source = data.source.key;\n let target = data.target.key;\n let tmp;\n\n if (data.undirected && source > target) {\n tmp = source;\n source = target;\n target = tmp;\n }\n\n const desc = `(${source})${direction}(${target})`;\n\n if (!key.startsWith('geid_')) {\n label += `[${key}]: `;\n } else if (this.multi) {\n if (typeof multiIndex[desc] === 'undefined') {\n multiIndex[desc] = 0;\n } else {\n multiIndex[desc]++;\n }\n\n label += `${multiIndex[desc]}. `;\n }\n\n label += desc;\n\n edges[label] = data.attributes;\n });\n\n const dummy = {};\n\n for (const k in this) {\n if (\n this.hasOwnProperty(k) &&\n !EMITTER_PROPS.has(k) &&\n typeof this[k] !== 'function' &&\n typeof k !== 'symbol'\n )\n dummy[k] = this[k];\n }\n\n dummy.attributes = this._attributes;\n dummy.nodes = nodes;\n dummy.edges = edges;\n\n privateProperty(dummy, 'constructor', this.constructor);\n\n return dummy;\n }\n}\n\n/**\n * Attaching methods to the prototype.\n *\n * Here, we are attaching a wide variety of methods to the Graph class'\n * prototype when those are very numerous and when their creation is\n * abstracted.\n */\n\n/**\n * Attaching custom inspect method for node >= 10.\n */\nif (typeof Symbol !== 'undefined')\n Graph.prototype[Symbol.for('nodejs.util.inspect.custom')] =\n Graph.prototype.inspect;\n\n/**\n * Related to edge addition.\n */\nEDGE_ADD_METHODS.forEach(method => {\n ['add', 'merge', 'update'].forEach(verb => {\n const name = method.name(verb);\n const fn = verb === 'add' ? addEdge : mergeEdge;\n\n if (method.generateKey) {\n Graph.prototype[name] = function (source, target, attributes) {\n return fn(\n this,\n name,\n true,\n (method.type || this.type) === 'undirected',\n null,\n source,\n target,\n attributes,\n verb === 'update'\n );\n };\n } else {\n Graph.prototype[name] = function (edge, source, target, attributes) {\n return fn(\n this,\n name,\n false,\n (method.type || this.type) === 'undirected',\n edge,\n source,\n target,\n attributes,\n verb === 'update'\n );\n };\n }\n });\n});\n\n/**\n * Attributes-related.\n */\nattachNodeAttributesMethods(Graph);\nattachEdgeAttributesMethods(Graph);\n\n/**\n * Edge iteration-related.\n */\nattachEdgeIterationMethods(Graph);\n\n/**\n * Neighbor iteration-related.\n */\nattachNeighborIterationMethods(Graph);\n\n/**\n * Graphology Helper Classes\n * ==========================\n *\n * Building some higher-order classes instantiating the graph with\n * predefinite options.\n */\n\n/**\n * Alternative constructors.\n */\nclass DirectedGraph extends Graph {\n constructor(options) {\n const finalOptions = assign({type: 'directed'}, options);\n\n if ('multi' in finalOptions && finalOptions.multi !== false)\n throw new InvalidArgumentsGraphError(\n 'DirectedGraph.from: inconsistent indication that the graph should be multi in given options!'\n );\n\n if (finalOptions.type !== 'directed')\n throw new InvalidArgumentsGraphError(\n 'DirectedGraph.from: inconsistent \"' +\n finalOptions.type +\n '\" type in given options!'\n );\n\n super(finalOptions);\n }\n}\nclass UndirectedGraph extends Graph {\n constructor(options) {\n const finalOptions = assign({type: 'undirected'}, options);\n\n if ('multi' in finalOptions && finalOptions.multi !== false)\n throw new InvalidArgumentsGraphError(\n 'UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!'\n );\n\n if (finalOptions.type !== 'undirected')\n throw new InvalidArgumentsGraphError(\n 'UndirectedGraph.from: inconsistent \"' +\n finalOptions.type +\n '\" type in given options!'\n );\n\n super(finalOptions);\n }\n}\nclass MultiGraph extends Graph {\n constructor(options) {\n const finalOptions = assign({multi: true}, options);\n\n if ('multi' in finalOptions && finalOptions.multi !== true)\n throw new InvalidArgumentsGraphError(\n 'MultiGraph.from: inconsistent indication that the graph should be simple in given options!'\n );\n\n super(finalOptions);\n }\n}\nclass MultiDirectedGraph extends Graph {\n constructor(options) {\n const finalOptions = assign({type: 'directed', multi: true}, options);\n\n if ('multi' in finalOptions && finalOptions.multi !== true)\n throw new InvalidArgumentsGraphError(\n 'MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!'\n );\n\n if (finalOptions.type !== 'directed')\n throw new InvalidArgumentsGraphError(\n 'MultiDirectedGraph.from: inconsistent \"' +\n finalOptions.type +\n '\" type in given options!'\n );\n\n super(finalOptions);\n }\n}\nclass MultiUndirectedGraph extends Graph {\n constructor(options) {\n const finalOptions = assign({type: 'undirected', multi: true}, options);\n\n if ('multi' in finalOptions && finalOptions.multi !== true)\n throw new InvalidArgumentsGraphError(\n 'MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!'\n );\n\n if (finalOptions.type !== 'undirected')\n throw new InvalidArgumentsGraphError(\n 'MultiUndirectedGraph.from: inconsistent \"' +\n finalOptions.type +\n '\" type in given options!'\n );\n\n super(finalOptions);\n }\n}\n\n/**\n * Attaching static #.from method to each of the constructors.\n */\nfunction attachStaticFromMethod(Class) {\n /**\n * Builds a graph from serialized data or another graph's data.\n *\n * @param {Graph|SerializedGraph} data - Hydratation data.\n * @param {object} [options] - Options.\n * @return {Class}\n */\n Class.from = function (data, options) {\n // Merging given options with serialized ones\n const finalOptions = assign({}, data.options, options);\n\n const instance = new Class(finalOptions);\n instance.import(data);\n\n return instance;\n };\n}\n\nattachStaticFromMethod(Graph);\nattachStaticFromMethod(DirectedGraph);\nattachStaticFromMethod(UndirectedGraph);\nattachStaticFromMethod(MultiGraph);\nattachStaticFromMethod(MultiDirectedGraph);\nattachStaticFromMethod(MultiUndirectedGraph);\n\nGraph.Graph = Graph;\nGraph.DirectedGraph = DirectedGraph;\nGraph.UndirectedGraph = UndirectedGraph;\nGraph.MultiGraph = MultiGraph;\nGraph.MultiDirectedGraph = MultiDirectedGraph;\nGraph.MultiUndirectedGraph = MultiUndirectedGraph;\n\nGraph.InvalidArgumentsGraphError = InvalidArgumentsGraphError;\nGraph.NotFoundGraphError = NotFoundGraphError;\nGraph.UsageGraphError = UsageGraphError;\n\n/**\n * Graphology ESM Endoint\n * =======================\n *\n * Endpoint for ESM modules consumers.\n */\n\nexport { DirectedGraph, Graph, InvalidArgumentsGraphError, MultiDirectedGraph, MultiGraph, MultiUndirectedGraph, NotFoundGraphError, UndirectedGraph, UsageGraphError, Graph as default };\n//# sourceMappingURL=graphology.esm.js.map\n","import create, { StoreApi } from 'zustand';\nimport createContext from 'zustand/context';\nimport {\n InternalGraphEdge,\n InternalGraphNode,\n InternalGraphPosition\n} from './types';\nimport { BufferGeometry, Mesh, Vector3 } from 'three';\nimport { getVector } from './utils';\nimport Graph from 'graphology';\n\nexport type DragReferences = {\n [key: string]: InternalGraphNode;\n};\n\nexport interface GraphState {\n nodes: InternalGraphNode[];\n edges: InternalGraphEdge[];\n graph: Graph;\n collapsedNodeIds?: string[];\n actives?: string[];\n selections?: string[];\n edgeContextMenus?: Set;\n setEdgeContextMenus: (edges: Set) => void;\n edgeMeshes: Array>;\n setEdgeMeshes: (edgeMeshes: Array>) => void;\n draggingId?: string | null;\n drags?: DragReferences;\n panning?: boolean;\n setPanning: (panning: boolean) => void;\n setDrags: (drags: DragReferences) => void;\n setDraggingId: (id: string | null) => void;\n setActives: (actives: string[]) => void;\n setSelections: (selections: string[]) => void;\n setNodes: (nodes: InternalGraphNode[]) => void;\n setEdges: (edges: InternalGraphEdge[]) => void;\n setNodePosition: (id: string, position: InternalGraphPosition) => void;\n setCollapsedNodeIds: (nodeIds: string[]) => void;\n}\n\nexport const { Provider, useStore } = createContext>();\n\nexport const createStore = ({\n actives = [],\n selections = [],\n collapsedNodeIds = []\n}: Partial) =>\n create(set => ({\n edges: [],\n nodes: [],\n collapsedNodeIds,\n panning: false,\n draggingId: null,\n actives,\n edgeContextMenus: new Set(),\n setEdgeContextMenus: edgeContextMenus =>\n set(state => ({\n ...state,\n edgeContextMenus\n })),\n edgeMeshes: [],\n setEdgeMeshes: edgeMeshes => set(state => ({ ...state, edgeMeshes })),\n selections,\n drags: {},\n graph: new Graph(),\n setPanning: panning => set(state => ({ ...state, panning })),\n setDrags: drags => set(state => ({ ...state, drags })),\n setDraggingId: draggingId => set(state => ({ ...state, draggingId })),\n setActives: actives => set(state => ({ ...state, actives })),\n setSelections: selections => set(state => ({ ...state, selections })),\n setNodes: nodes => set(state => ({ ...state, nodes })),\n setEdges: edges => set(state => ({ ...state, edges })),\n setNodePosition: (id, position) =>\n set(state => {\n const node = state.nodes.find(n => n.id === id);\n const originalVector = getVector(node);\n const newVector = new Vector3(position.x, position.y, position.z);\n const offset = newVector.sub(originalVector);\n const nodes = [...state.nodes];\n\n if (state.selections?.includes(id)) {\n state.selections?.forEach(id => {\n const node = state.nodes.find(n => n.id === id);\n // Selections can contain edges:\n if (node) {\n const nodeIndex = state.nodes.indexOf(node);\n nodes[nodeIndex] = updateNodePosition(node, offset);\n }\n });\n } else {\n const nodeIndex = state.nodes.indexOf(node);\n nodes[nodeIndex] = updateNodePosition(node, offset);\n }\n\n return {\n ...state,\n drags: {\n ...state.drags,\n [id]: node\n },\n nodes\n };\n }),\n setCollapsedNodeIds: (nodeIds = []) =>\n set(state => ({ ...state, collapsedNodeIds: nodeIds }))\n }));\n\nfunction updateNodePosition(node: InternalGraphNode, offset: Vector3) {\n return {\n ...node,\n position: {\n ...node.position,\n x: node.position.x + offset.x,\n y: node.position.y + offset.y,\n z: node.position.z + offset.z\n }\n };\n}\n","import { GraphEdge, GraphNode } from '../types';\n\ninterface GetHiddenChildrenInput {\n nodeId: string;\n nodes: GraphNode[];\n edges: GraphEdge[];\n currentHiddenNodes: GraphNode[];\n currentHiddenEdges: GraphEdge[];\n}\n\ninterface GetVisibleIdsInput {\n collapsedIds: string[];\n nodes: GraphNode[];\n edges: GraphEdge[];\n}\n\ninterface GetExpandPathInput {\n nodeId: string;\n edges: GraphEdge[];\n visibleEdgeIds: string[];\n}\n\n/**\n * Get the children of a node id that is hidden.\n */\nfunction getHiddenChildren({\n nodeId,\n nodes,\n edges,\n currentHiddenNodes,\n currentHiddenEdges\n}: GetHiddenChildrenInput) {\n const hiddenNodes: GraphNode[] = [];\n const hiddenEdges: GraphEdge[] = [];\n const curHiddenNodeIds = currentHiddenNodes.map(n => n.id);\n const curHiddenEdgeIds = currentHiddenEdges.map(e => e.id);\n\n const outboundEdges = edges.filter(l => l.source === nodeId);\n const outboundEdgeNodeIds = outboundEdges.map(l => l.target);\n\n hiddenEdges.push(...outboundEdges);\n for (const outboundEdgeNodeId of outboundEdgeNodeIds) {\n const incomingEdges = edges.filter(\n l => l.target === outboundEdgeNodeId && l.source !== nodeId\n );\n let hideNode = false;\n\n // Check to see if any other edge is coming into this node\n if (incomingEdges.length === 0) {\n hideNode = true;\n } else if (\n incomingEdges.length > 0 &&\n !curHiddenNodeIds.includes(outboundEdgeNodeId)\n ) {\n // If all inbound links are hidden, hide this node as well\n const inboundNodeLinkIds = incomingEdges.map(l => l.id);\n if (inboundNodeLinkIds.every(i => curHiddenEdgeIds.includes(i))) {\n hideNode = true;\n }\n }\n if (hideNode) {\n // Need to hide this node and any children of this node\n const node = nodes.find(n => n.id === outboundEdgeNodeId);\n if (node) {\n hiddenNodes.push(node);\n }\n const nested = getHiddenChildren({\n nodeId: outboundEdgeNodeId,\n nodes,\n edges,\n currentHiddenEdges: hiddenEdges,\n currentHiddenNodes: hiddenNodes\n });\n hiddenEdges.push(...nested.hiddenEdges);\n hiddenNodes.push(...nested.hiddenNodes);\n }\n }\n\n const uniqueEdges: GraphEdge[] = Object.values(\n hiddenEdges.reduce(\n (acc, next) => ({\n ...acc,\n [next.id]: next\n }),\n {}\n )\n );\n\n const uniqueNodes: GraphNode[] = Object.values(\n hiddenNodes.reduce(\n (acc, next) => ({\n ...acc,\n [next.id]: next\n }),\n {}\n )\n );\n\n return {\n hiddenEdges: uniqueEdges,\n hiddenNodes: uniqueNodes\n };\n}\n\n/**\n * Get the visible nodes and edges given a collapsed set of ids.\n */\nexport const getVisibleEntities = ({\n collapsedIds,\n nodes,\n edges\n}: GetVisibleIdsInput) => {\n const curHiddenNodes = [];\n const curHiddenEdges = [];\n\n for (const collapsedId of collapsedIds) {\n const { hiddenEdges, hiddenNodes } = getHiddenChildren({\n nodeId: collapsedId,\n nodes,\n edges,\n currentHiddenEdges: curHiddenEdges,\n currentHiddenNodes: curHiddenNodes\n });\n\n curHiddenNodes.push(...hiddenNodes);\n curHiddenEdges.push(...hiddenEdges);\n }\n\n const hiddenNodeIds = curHiddenNodes.map(n => n.id);\n const hiddenEdgeIds = curHiddenEdges.map(e => e.id);\n const visibleNodes = nodes.filter(n => !hiddenNodeIds.includes(n.id));\n const visibleEdges = edges.filter(e => !hiddenEdgeIds.includes(e.id));\n\n return {\n visibleNodes,\n visibleEdges\n };\n};\n\n/**\n * Get the path to expand a node.\n */\nexport const getExpandPath = ({\n nodeId,\n edges,\n visibleEdgeIds\n}: GetExpandPathInput) => {\n const parentIds = [];\n const inboundEdges = edges.filter(l => l.target === nodeId);\n const inboundEdgeIds = inboundEdges.map(e => e.id);\n const hasVisibleInboundEdge = inboundEdgeIds.some(id =>\n visibleEdgeIds.includes(id)\n );\n\n if (hasVisibleInboundEdge) {\n // If there is a visible edge to this node, that means the node is\n // visible so no parents need to be expanded\n return parentIds;\n }\n\n const inboundEdgeNodeIds = inboundEdges.map(l => l.source);\n let addedParent = false;\n\n for (const inboundNodeId of inboundEdgeNodeIds) {\n if (!addedParent) {\n // Only want to expand a single path to the node, so if there\n // are multiple hidden incoming edges, only expand the first\n // to reduce how many nodes are expanded to get to the node\n parentIds.push(\n ...[\n inboundNodeId,\n ...getExpandPath({ nodeId: inboundNodeId, edges, visibleEdgeIds })\n ]\n );\n addedParent = true;\n }\n }\n\n return parentIds;\n};\n","import {\n useRef,\n useState,\n useCallback,\n useEffect,\n useMemo,\n useLayoutEffect\n} from 'react';\nimport { SizingType } from './sizing';\nimport {\n LayoutTypes,\n layoutProvider,\n LayoutStrategy,\n LayoutOverrides\n} from './layout';\nimport { LabelVisibilityType } from './utils/visibility';\nimport { tick } from './layout/layoutUtils';\nimport { GraphEdge, GraphNode } from './types';\nimport { buildGraph, transformGraph } from './utils/buildGraph';\nimport { DragReferences, useStore } from './store';\nimport { getVisibleEntities } from './collapse';\n\nexport interface GraphInputs {\n nodes: GraphNode[];\n edges: GraphEdge[];\n collapsedNodeIds?: string[];\n layoutType?: LayoutTypes;\n sizingType?: SizingType;\n labelType?: LabelVisibilityType;\n sizingAttribute?: string;\n selections?: string[];\n actives?: string[];\n clusterAttribute?: string;\n defaultNodeSize?: number;\n minNodeSize?: number;\n maxNodeSize?: number;\n layoutOverrides?: LayoutOverrides;\n}\n\nexport const useGraph = ({\n layoutType,\n sizingType,\n labelType,\n sizingAttribute,\n clusterAttribute,\n selections,\n nodes,\n edges,\n actives,\n collapsedNodeIds,\n defaultNodeSize,\n maxNodeSize,\n minNodeSize,\n layoutOverrides\n}: GraphInputs) => {\n const graph = useStore(state => state.graph);\n const stateCollapsedNodeIds = useStore(state => state.collapsedNodeIds);\n const setEdges = useStore(state => state.setEdges);\n const setNodes = useStore(state => state.setNodes);\n const setSelections = useStore(state => state.setSelections);\n const setActives = useStore(state => state.setActives);\n const drags = useStore(state => state.drags);\n const setDrags = useStore(state => state.setDrags);\n const setCollapsedNodeIds = useStore(state => state.setCollapsedNodeIds);\n\n const [mounted, setMounted] = useState(false);\n const layoutMounted = useRef(false);\n const layout = useRef(null);\n const { visibleEdges, visibleNodes } = useMemo(() => {\n const { visibleEdges, visibleNodes } = getVisibleEntities({\n collapsedIds: stateCollapsedNodeIds,\n nodes,\n edges\n });\n\n return {\n visibleEdges,\n visibleNodes\n };\n }, [stateCollapsedNodeIds, nodes, edges]);\n\n // Transient updates\n const dragRef = useRef(drags);\n useEffect(() => {\n dragRef.current = drags;\n }, [drags]);\n\n const updateLayout = useCallback(\n (curLayout?: any) => {\n layout.current =\n curLayout ||\n layoutProvider({\n ...layoutOverrides,\n type: layoutType,\n graph,\n drags: dragRef.current,\n clusterAttribute\n });\n\n tick(layout.current, () => {\n const result = transformGraph({\n graph,\n layout: layout.current,\n sizingType,\n labelType,\n sizingAttribute,\n maxNodeSize,\n minNodeSize,\n defaultNodeSize\n });\n\n setEdges(result.edges);\n setNodes(result.nodes);\n });\n },\n [\n layoutOverrides,\n layoutType,\n graph,\n clusterAttribute,\n sizingType,\n labelType,\n sizingAttribute,\n maxNodeSize,\n minNodeSize,\n defaultNodeSize,\n setEdges,\n setNodes\n ]\n );\n\n useEffect(() => {\n // Let's set the store selections so its easier to access\n setSelections(selections);\n }, [selections, setSelections]);\n\n useEffect(() => {\n // Let's set the store actives so its easier to access\n setActives(actives);\n }, [actives, setActives]);\n\n // Create the nggraph graph object\n useLayoutEffect(() => {\n layoutMounted.current = false;\n buildGraph(graph, visibleNodes, visibleEdges);\n updateLayout();\n\n // queue this in a frame so it only happens after the graph is built\n requestAnimationFrame(() => {\n // Track mounted in state and transitent state\n layoutMounted.current = true;\n setMounted(true);\n });\n\n // eslint-disable-next-line\n }, [visibleNodes, visibleEdges, graph]);\n\n useEffect(() => {\n // Let's set the store collapsedNodeIds so its easier to access\n setCollapsedNodeIds(collapsedNodeIds);\n }, [collapsedNodeIds, setCollapsedNodeIds]);\n\n // Update layout on type changes\n useEffect(() => {\n if (layoutMounted.current) {\n // When a update is changed, discard all the previous drag positions\n // NOTE: This sets the transient and the state\n dragRef.current = {};\n setDrags({});\n\n // Recalculate the layout\n updateLayout();\n }\n }, [graph, layoutType, updateLayout, setDrags]);\n\n // Update layout on size, label changes\n useEffect(() => {\n if (layoutMounted.current) {\n updateLayout(layout.current);\n }\n }, [graph, sizingType, sizingAttribute, labelType, updateLayout]);\n\n return {\n mounted\n };\n};\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom/client';\nimport { Vector3, OrthographicCamera, PerspectiveCamera } from 'three';\nimport { useThree, useFrame } from '@react-three/fiber';\n\nconst v1 = new Vector3();\nconst v2 = new Vector3();\nconst v3 = new Vector3();\n\nfunction defaultCalculatePosition(el, camera, size) {\n const objectPos = v1.setFromMatrixPosition(el.matrixWorld);\n objectPos.project(camera);\n const widthHalf = size.width / 2;\n const heightHalf = size.height / 2;\n return [objectPos.x * widthHalf + widthHalf, -(objectPos.y * heightHalf) + heightHalf];\n}\n\nfunction isObjectBehindCamera(el, camera) {\n const objectPos = v1.setFromMatrixPosition(el.matrixWorld);\n const cameraPos = v2.setFromMatrixPosition(camera.matrixWorld);\n const deltaCamObj = objectPos.sub(cameraPos);\n const camDir = camera.getWorldDirection(v3);\n return deltaCamObj.angleTo(camDir) > Math.PI / 2;\n}\n\nfunction isObjectVisible(el, camera, raycaster, occlude) {\n const elPos = v1.setFromMatrixPosition(el.matrixWorld);\n const screenPos = elPos.clone();\n screenPos.project(camera);\n raycaster.setFromCamera(screenPos, camera);\n const intersects = raycaster.intersectObjects(occlude, true);\n\n if (intersects.length) {\n const intersectionDistance = intersects[0].distance;\n const pointDistance = elPos.distanceTo(raycaster.ray.origin);\n return pointDistance < intersectionDistance;\n }\n\n return true;\n}\n\nfunction objectScale(el, camera) {\n if (camera instanceof OrthographicCamera) {\n return camera.zoom;\n } else if (camera instanceof PerspectiveCamera) {\n const objectPos = v1.setFromMatrixPosition(el.matrixWorld);\n const cameraPos = v2.setFromMatrixPosition(camera.matrixWorld);\n const vFOV = camera.fov * Math.PI / 180;\n const dist = objectPos.distanceTo(cameraPos);\n const scaleFOV = 2 * Math.tan(vFOV / 2) * dist;\n return 1 / scaleFOV;\n } else {\n return 1;\n }\n}\n\nfunction objectZIndex(el, camera, zIndexRange) {\n if (camera instanceof PerspectiveCamera || camera instanceof OrthographicCamera) {\n const objectPos = v1.setFromMatrixPosition(el.matrixWorld);\n const cameraPos = v2.setFromMatrixPosition(camera.matrixWorld);\n const dist = objectPos.distanceTo(cameraPos);\n const A = (zIndexRange[1] - zIndexRange[0]) / (camera.far - camera.near);\n const B = zIndexRange[1] - A * camera.far;\n return Math.round(A * dist + B);\n }\n\n return undefined;\n}\n\nconst epsilon = value => Math.abs(value) < 1e-10 ? 0 : value;\n\nfunction getCSSMatrix(matrix, multipliers, prepend = '') {\n let matrix3d = 'matrix3d(';\n\n for (let i = 0; i !== 16; i++) {\n matrix3d += epsilon(multipliers[i] * matrix.elements[i]) + (i !== 15 ? ',' : ')');\n }\n\n return prepend + matrix3d;\n}\n\nconst getCameraCSSMatrix = (multipliers => {\n return matrix => getCSSMatrix(matrix, multipliers);\n})([1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1]);\n\nconst getObjectCSSMatrix = (scaleMultipliers => {\n return (matrix, factor) => getCSSMatrix(matrix, scaleMultipliers(factor), 'translate(-50%,-50%)');\n})(f => [1 / f, 1 / f, 1 / f, 1, -1 / f, -1 / f, -1 / f, -1, 1 / f, 1 / f, 1 / f, 1, 1, 1, 1, 1]);\n\nconst Html = /*#__PURE__*/React.forwardRef(({\n children,\n eps = 0.001,\n style,\n className,\n prepend,\n center,\n fullscreen,\n portal,\n distanceFactor,\n sprite = false,\n transform = false,\n occlude,\n onOcclude,\n zIndexRange = [16777271, 0],\n calculatePosition = defaultCalculatePosition,\n as = 'div',\n wrapperClass,\n pointerEvents = 'auto',\n ...props\n}, ref) => {\n var _portal$current;\n\n const gl = useThree(({\n gl\n }) => gl);\n const camera = useThree(({\n camera\n }) => camera);\n const scene = useThree(({\n scene\n }) => scene);\n const size = useThree(({\n size\n }) => size);\n const raycaster = useThree(({\n raycaster\n }) => raycaster);\n const [el] = React.useState(() => document.createElement(as));\n const root = React.useRef();\n const group = React.useRef(null);\n const oldZoom = React.useRef(0);\n const oldPosition = React.useRef([0, 0]);\n const transformOuterRef = React.useRef(null);\n const transformInnerRef = React.useRef(null);\n const target = (_portal$current = portal == null ? void 0 : portal.current) !== null && _portal$current !== void 0 ? _portal$current : gl.domElement.parentNode;\n React.useLayoutEffect(() => {\n if (group.current) {\n const currentRoot = root.current = ReactDOM.createRoot(el);\n scene.updateMatrixWorld();\n\n if (transform) {\n el.style.cssText = `position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;`;\n } else {\n const vec = calculatePosition(group.current, camera, size);\n el.style.cssText = `position:absolute;top:0;left:0;transform:translate3d(${vec[0]}px,${vec[1]}px,0);transform-origin:0 0;`;\n }\n\n if (target) {\n if (prepend) target.prepend(el);else target.appendChild(el);\n }\n\n return () => {\n if (target) target.removeChild(el);\n currentRoot.unmount();\n };\n }\n }, [target, transform]);\n React.useLayoutEffect(() => {\n if (wrapperClass) el.className = wrapperClass;\n }, [wrapperClass]);\n const styles = React.useMemo(() => {\n if (transform) {\n return {\n position: 'absolute',\n top: 0,\n left: 0,\n width: size.width,\n height: size.height,\n transformStyle: 'preserve-3d',\n pointerEvents: 'none'\n };\n } else {\n return {\n position: 'absolute',\n transform: center ? 'translate3d(-50%,-50%,0)' : 'none',\n ...(fullscreen && {\n top: -size.height / 2,\n left: -size.width / 2,\n width: size.width,\n height: size.height\n }),\n ...style\n };\n }\n }, [style, center, fullscreen, size, transform]);\n const transformInnerStyles = React.useMemo(() => ({\n position: 'absolute',\n pointerEvents\n }), [pointerEvents]);\n React.useLayoutEffect(() => {\n if (transform) {\n var _root$current;\n\n (_root$current = root.current) == null ? void 0 : _root$current.render( /*#__PURE__*/React.createElement(\"div\", {\n ref: transformOuterRef,\n style: styles\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: transformInnerRef,\n style: transformInnerStyles\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n className: className,\n style: style,\n children: children\n }))));\n } else {\n var _root$current2;\n\n (_root$current2 = root.current) == null ? void 0 : _root$current2.render( /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n style: styles,\n className: className,\n children: children\n }));\n }\n });\n const visible = React.useRef(true);\n useFrame(() => {\n if (group.current) {\n camera.updateMatrixWorld();\n group.current.updateWorldMatrix(true, false);\n const vec = transform ? oldPosition.current : calculatePosition(group.current, camera, size);\n\n if (transform || Math.abs(oldZoom.current - camera.zoom) > eps || Math.abs(oldPosition.current[0] - vec[0]) > eps || Math.abs(oldPosition.current[1] - vec[1]) > eps) {\n const isBehindCamera = isObjectBehindCamera(group.current, camera);\n let raytraceTarget = false;\n\n if (typeof occlude === 'boolean') {\n if (occlude === true) {\n raytraceTarget = [scene];\n }\n } else if (Array.isArray(occlude)) {\n raytraceTarget = occlude.map(item => item.current);\n }\n\n const previouslyVisible = visible.current;\n\n if (raytraceTarget) {\n const isvisible = isObjectVisible(group.current, camera, raycaster, raytraceTarget);\n visible.current = isvisible && !isBehindCamera;\n } else {\n visible.current = !isBehindCamera;\n }\n\n if (previouslyVisible !== visible.current) {\n if (onOcclude) onOcclude(!visible.current);else el.style.display = visible.current ? 'block' : 'none';\n }\n\n el.style.zIndex = `${objectZIndex(group.current, camera, zIndexRange)}`;\n\n if (transform) {\n const [widthHalf, heightHalf] = [size.width / 2, size.height / 2];\n const fov = camera.projectionMatrix.elements[5] * heightHalf;\n const {\n isOrthographicCamera,\n top,\n left,\n bottom,\n right\n } = camera;\n const cameraMatrix = getCameraCSSMatrix(camera.matrixWorldInverse);\n const cameraTransform = isOrthographicCamera ? `scale(${fov})translate(${epsilon(-(right + left) / 2)}px,${epsilon((top + bottom) / 2)}px)` : `translateZ(${fov}px)`;\n let matrix = group.current.matrixWorld;\n\n if (sprite) {\n matrix = camera.matrixWorldInverse.clone().transpose().copyPosition(matrix).scale(group.current.scale);\n matrix.elements[3] = matrix.elements[7] = matrix.elements[11] = 0;\n matrix.elements[15] = 1;\n }\n\n el.style.width = size.width + 'px';\n el.style.height = size.height + 'px';\n el.style.perspective = isOrthographicCamera ? '' : `${fov}px`;\n\n if (transformOuterRef.current && transformInnerRef.current) {\n transformOuterRef.current.style.transform = `${cameraTransform}${cameraMatrix}translate(${widthHalf}px,${heightHalf}px)`;\n transformInnerRef.current.style.transform = getObjectCSSMatrix(matrix, 1 / ((distanceFactor || 10) / 400));\n }\n } else {\n const scale = distanceFactor === undefined ? 1 : objectScale(group.current, camera) * distanceFactor;\n el.style.transform = `translate3d(${vec[0]}px,${vec[1]}px,0) scale(${scale})`;\n }\n\n oldPosition.current = vec;\n oldZoom.current = camera.zoom;\n }\n }\n });\n return /*#__PURE__*/React.createElement(\"group\", _extends({}, props, {\n ref: group\n }));\n});\n\nexport { Html };\n","import * as React from 'react';\n\nfunction useCursor(hovered, onPointerOver = 'pointer', onPointerOut = 'auto') {\n React.useEffect(() => {\n if (hovered) {\n document.body.style.cursor = onPointerOver;\n return () => void (document.body.style.cursor = onPointerOut);\n }\n }, [hovered]);\n}\n\nexport { useCursor };\n","function mergeRefs(refs) {\n return function (value) {\n refs.forEach(function (ref) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref != null) {\n ref.current = value;\n }\n });\n };\n}\n\nexport default mergeRefs;\n//# sourceMappingURL=react-merge-refs.esm.js.map\n","import { BufferGeometry, BufferAttribute, InterleavedBuffer, InterleavedBufferAttribute, TrianglesDrawMode, TriangleFanDrawMode, TriangleStripDrawMode, Vector3, Float32BufferAttribute } from 'three';\nimport { getWithKey } from '../types/helpers.js';\n\n/**\n * @param {Array} geometries\n * @param {Boolean} useGroups\n * @return {BufferGeometry}\n */\nconst mergeBufferGeometries = (geometries, useGroups) => {\n const isIndexed = geometries[0].index !== null;\n const attributesUsed = new Set(Object.keys(geometries[0].attributes));\n const morphAttributesUsed = new Set(Object.keys(geometries[0].morphAttributes));\n const attributes = {};\n const morphAttributes = {};\n const morphTargetsRelative = geometries[0].morphTargetsRelative;\n const mergedGeometry = new BufferGeometry();\n let offset = 0;\n geometries.forEach((geom, i) => {\n let attributesCount = 0; // ensure that all geometries are indexed, or none\n\n if (isIndexed !== (geom.index !== null)) {\n console.error('THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index ' + i + '. All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them.');\n return null;\n } // gather attributes, exit early if they're different\n\n\n for (let name in geom.attributes) {\n if (!attributesUsed.has(name)) {\n console.error('THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index ' + i + '. All geometries must have compatible attributes; make sure \"' + name + '\" attribute exists among all geometries, or in none of them.');\n return null;\n }\n\n if (attributes[name] === undefined) {\n attributes[name] = [];\n }\n\n attributes[name].push(geom.attributes[name]);\n attributesCount++;\n } // ensure geometries have the same number of attributes\n\n\n if (attributesCount !== attributesUsed.size) {\n console.error('THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index ' + i + '. Make sure all geometries have the same number of attributes.');\n return null;\n } // gather morph attributes, exit early if they're different\n\n\n if (morphTargetsRelative !== geom.morphTargetsRelative) {\n console.error('THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index ' + i + '. .morphTargetsRelative must be consistent throughout all geometries.');\n return null;\n }\n\n for (let name in geom.morphAttributes) {\n if (!morphAttributesUsed.has(name)) {\n console.error('THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index ' + i + '. .morphAttributes must be consistent throughout all geometries.');\n return null;\n }\n\n if (morphAttributes[name] === undefined) morphAttributes[name] = [];\n morphAttributes[name].push(geom.morphAttributes[name]);\n } // gather .userData\n\n\n mergedGeometry.userData.mergedUserData = mergedGeometry.userData.mergedUserData || [];\n mergedGeometry.userData.mergedUserData.push(geom.userData);\n\n if (useGroups) {\n let count;\n\n if (geom.index) {\n count = geom.index.count;\n } else if (geom.attributes.position !== undefined) {\n count = geom.attributes.position.count;\n } else {\n console.error('THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index ' + i + '. The geometry must have either an index or a position attribute');\n return null;\n }\n\n mergedGeometry.addGroup(offset, count, i);\n offset += count;\n }\n }); // merge indices\n\n if (isIndexed) {\n let indexOffset = 0;\n const mergedIndex = [];\n geometries.forEach(geom => {\n const index = geom.index;\n\n for (let j = 0; j < index.count; ++j) {\n mergedIndex.push(index.getX(j) + indexOffset);\n }\n\n indexOffset += geom.attributes.position.count;\n });\n mergedGeometry.setIndex(mergedIndex);\n } // merge attributes\n\n\n for (let name in attributes) {\n const mergedAttribute = mergeBufferAttributes(attributes[name]);\n\n if (!mergedAttribute) {\n console.error('THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the ' + name + ' attribute.');\n return null;\n }\n\n mergedGeometry.setAttribute(name, mergedAttribute);\n } // merge morph attributes\n\n\n for (let name in morphAttributes) {\n const numMorphTargets = morphAttributes[name][0].length;\n if (numMorphTargets === 0) break;\n mergedGeometry.morphAttributes = mergedGeometry.morphAttributes || {};\n mergedGeometry.morphAttributes[name] = [];\n\n for (let i = 0; i < numMorphTargets; ++i) {\n const morphAttributesToMerge = [];\n\n for (let j = 0; j < morphAttributes[name].length; ++j) {\n morphAttributesToMerge.push(morphAttributes[name][j][i]);\n }\n\n const mergedMorphAttribute = mergeBufferAttributes(morphAttributesToMerge);\n\n if (!mergedMorphAttribute) {\n console.error('THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the ' + name + ' morphAttribute.');\n return null;\n }\n\n mergedGeometry.morphAttributes[name].push(mergedMorphAttribute);\n }\n }\n\n return mergedGeometry;\n};\n/**\n * @param {Array} attributes\n * @return {BufferAttribute}\n */\n\nconst mergeBufferAttributes = attributes => {\n let TypedArray = undefined;\n let itemSize = undefined;\n let normalized = undefined;\n let arrayLength = 0;\n attributes.forEach(attr => {\n if (TypedArray === undefined) {\n TypedArray = attr.array.constructor;\n }\n\n if (TypedArray !== attr.array.constructor) {\n console.error('THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes.');\n return null;\n }\n\n if (itemSize === undefined) itemSize = attr.itemSize;\n\n if (itemSize !== attr.itemSize) {\n console.error('THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes.');\n return null;\n }\n\n if (normalized === undefined) normalized = attr.normalized;\n\n if (normalized !== attr.normalized) {\n console.error('THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes.');\n return null;\n }\n\n arrayLength += attr.array.length;\n });\n\n if (TypedArray && itemSize) {\n // @ts-expect-error this works in JS and TS is complaining but it's such a tiny thing I can live with the guilt\n const array = new TypedArray(arrayLength);\n let offset = 0;\n attributes.forEach(attr => {\n array.set(attr.array, offset);\n offset += attr.array.length;\n });\n return new BufferAttribute(array, itemSize, normalized);\n }\n};\n/**\n * @param {Array} attributes\n * @return {Array}\n */\n\nconst interleaveAttributes = attributes => {\n // Interleaves the provided attributes into an InterleavedBuffer and returns\n // a set of InterleavedBufferAttributes for each attribute\n let TypedArray = undefined;\n let arrayLength = 0;\n let stride = 0; // calculate the the length and type of the interleavedBuffer\n\n for (let i = 0, l = attributes.length; i < l; ++i) {\n const attribute = attributes[i];\n if (TypedArray === undefined) TypedArray = attribute.array.constructor;\n\n if (TypedArray !== attribute.array.constructor) {\n console.error('AttributeBuffers of different types cannot be interleaved');\n return null;\n }\n\n arrayLength += attribute.array.length;\n stride += attribute.itemSize;\n } // Create the set of buffer attributes\n // @ts-expect-error this works in JS and TS is complaining but it's such a tiny thing I can live with the guilt\n\n\n const interleavedBuffer = new InterleavedBuffer(new TypedArray(arrayLength), stride);\n let offset = 0;\n const res = [];\n const getters = ['getX', 'getY', 'getZ', 'getW'];\n const setters = ['setX', 'setY', 'setZ', 'setW'];\n\n for (let j = 0, l = attributes.length; j < l; j++) {\n const attribute = attributes[j];\n const itemSize = attribute.itemSize;\n const count = attribute.count;\n const iba = new InterleavedBufferAttribute(interleavedBuffer, itemSize, offset, attribute.normalized);\n res.push(iba);\n offset += itemSize; // Move the data for each attribute into the new interleavedBuffer\n // at the appropriate offset\n\n for (let c = 0; c < count; c++) {\n for (let k = 0; k < itemSize; k++) {\n const set = getWithKey(iba, setters[k]);\n const get = getWithKey(attribute, getters[k]);\n set(c, get(c));\n }\n }\n }\n\n return res;\n};\n/**\n * @param {Array} geometry\n * @return {number}\n */\n\nfunction estimateBytesUsed(geometry) {\n // Return the estimated memory used by this geometry in bytes\n // Calculate using itemSize, count, and BYTES_PER_ELEMENT to account\n // for InterleavedBufferAttributes.\n let mem = 0;\n\n for (let name in geometry.attributes) {\n const attr = geometry.getAttribute(name);\n mem += attr.count * attr.itemSize * attr.array.BYTES_PER_ELEMENT;\n }\n\n const indices = geometry.getIndex();\n mem += indices ? indices.count * indices.itemSize * indices.array.BYTES_PER_ELEMENT : 0;\n return mem;\n}\n/**\n * @param {BufferGeometry} geometry\n * @param {number} tolerance\n * @return {BufferGeometry>}\n */\n\nfunction mergeVertices(geometry, tolerance = 1e-4) {\n tolerance = Math.max(tolerance, Number.EPSILON); // Generate an index buffer if the geometry doesn't have one, or optimize it\n // if it's already available.\n\n const hashToIndex = {};\n const indices = geometry.getIndex();\n const positions = geometry.getAttribute('position');\n const vertexCount = indices ? indices.count : positions.count; // next value for triangle indices\n\n let nextIndex = 0; // attributes and new attribute arrays\n\n const attributeNames = Object.keys(geometry.attributes);\n const attrArrays = {};\n const morphAttrsArrays = {};\n const newIndices = [];\n const getters = ['getX', 'getY', 'getZ', 'getW']; // initialize the arrays\n\n for (let i = 0, l = attributeNames.length; i < l; i++) {\n const name = attributeNames[i];\n attrArrays[name] = [];\n const morphAttr = geometry.morphAttributes[name];\n\n if (morphAttr) {\n morphAttrsArrays[name] = new Array(morphAttr.length).fill(0).map(() => []);\n }\n } // convert the error tolerance to an amount of decimal places to truncate to\n\n\n const decimalShift = Math.log10(1 / tolerance);\n const shiftMultiplier = Math.pow(10, decimalShift);\n\n for (let i = 0; i < vertexCount; i++) {\n const index = indices ? indices.getX(i) : i; // Generate a hash for the vertex attributes at the current index 'i'\n\n let hash = '';\n\n for (let j = 0, l = attributeNames.length; j < l; j++) {\n const name = attributeNames[j];\n const attribute = geometry.getAttribute(name);\n const itemSize = attribute.itemSize;\n\n for (let k = 0; k < itemSize; k++) {\n // double tilde truncates the decimal value\n // @ts-ignore no\n hash += `${~~(attribute[getters[k]](index) * shiftMultiplier)},`;\n }\n } // Add another reference to the vertex if it's already\n // used by another index\n\n\n if (hash in hashToIndex) {\n newIndices.push(hashToIndex[hash]);\n } else {\n // copy data to the new index in the attribute arrays\n for (let j = 0, l = attributeNames.length; j < l; j++) {\n const name = attributeNames[j];\n const attribute = geometry.getAttribute(name);\n const morphAttr = geometry.morphAttributes[name];\n const itemSize = attribute.itemSize;\n const newarray = attrArrays[name];\n const newMorphArrays = morphAttrsArrays[name];\n\n for (let k = 0; k < itemSize; k++) {\n const getterFunc = getters[k]; // @ts-ignore\n\n newarray.push(attribute[getterFunc](index));\n\n if (morphAttr) {\n for (let m = 0, ml = morphAttr.length; m < ml; m++) {\n // @ts-ignore\n newMorphArrays[m].push(morphAttr[m][getterFunc](index));\n }\n }\n }\n }\n\n hashToIndex[hash] = nextIndex;\n newIndices.push(nextIndex);\n nextIndex++;\n }\n } // Generate typed arrays from new attribute arrays and update\n // the attributeBuffers\n\n\n const result = geometry.clone();\n\n for (let i = 0, l = attributeNames.length; i < l; i++) {\n const name = attributeNames[i];\n const oldAttribute = geometry.getAttribute(name); //@ts-expect-error something to do with functions and constructors and new\n\n const buffer = new oldAttribute.array.constructor(attrArrays[name]);\n const attribute = new BufferAttribute(buffer, oldAttribute.itemSize, oldAttribute.normalized);\n result.setAttribute(name, attribute); // Update the attribute arrays\n\n if (name in morphAttrsArrays) {\n for (let j = 0; j < morphAttrsArrays[name].length; j++) {\n const oldMorphAttribute = geometry.morphAttributes[name][j]; //@ts-expect-error something to do with functions and constructors and new\n\n const buffer = new oldMorphAttribute.array.constructor(morphAttrsArrays[name][j]);\n const morphAttribute = new BufferAttribute(buffer, oldMorphAttribute.itemSize, oldMorphAttribute.normalized);\n result.morphAttributes[name][j] = morphAttribute;\n }\n }\n } // indices\n\n\n result.setIndex(newIndices);\n return result;\n}\n/**\n * @param {BufferGeometry} geometry\n * @param {number} drawMode\n * @return {BufferGeometry}\n */\n\nfunction toTrianglesDrawMode(geometry, drawMode) {\n if (drawMode === TrianglesDrawMode) {\n console.warn('THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles.');\n return geometry;\n }\n\n if (drawMode === TriangleFanDrawMode || drawMode === TriangleStripDrawMode) {\n let index = geometry.getIndex(); // generate index if not present\n\n if (index === null) {\n const indices = [];\n const position = geometry.getAttribute('position');\n\n if (position !== undefined) {\n for (let i = 0; i < position.count; i++) {\n indices.push(i);\n }\n\n geometry.setIndex(indices);\n index = geometry.getIndex();\n } else {\n console.error('THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible.');\n return geometry;\n }\n } //\n\n\n const numberOfTriangles = index.count - 2;\n const newIndices = [];\n\n if (index) {\n if (drawMode === TriangleFanDrawMode) {\n // gl.TRIANGLE_FAN\n for (let i = 1; i <= numberOfTriangles; i++) {\n newIndices.push(index.getX(0));\n newIndices.push(index.getX(i));\n newIndices.push(index.getX(i + 1));\n }\n } else {\n // gl.TRIANGLE_STRIP\n for (let i = 0; i < numberOfTriangles; i++) {\n if (i % 2 === 0) {\n newIndices.push(index.getX(i));\n newIndices.push(index.getX(i + 1));\n newIndices.push(index.getX(i + 2));\n } else {\n newIndices.push(index.getX(i + 2));\n newIndices.push(index.getX(i + 1));\n newIndices.push(index.getX(i));\n }\n }\n }\n }\n\n if (newIndices.length / 3 !== numberOfTriangles) {\n console.error('THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.');\n } // build final geometry\n\n\n const newGeometry = geometry.clone();\n newGeometry.setIndex(newIndices);\n newGeometry.clearGroups();\n return newGeometry;\n } else {\n console.error('THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:', drawMode);\n return geometry;\n }\n}\n/**\n * Calculates the morphed attributes of a morphed/skinned BufferGeometry.\n * Helpful for Raytracing or Decals.\n * @param {Mesh | Line | Points} object An instance of Mesh, Line or Points.\n * @return {Object} An Object with original position/normal attributes and morphed ones.\n */\n\nfunction computeMorphedAttributes(object) {\n if (object.geometry.isBufferGeometry !== true) {\n console.error('THREE.BufferGeometryUtils: Geometry is not of type BufferGeometry.');\n return null;\n }\n\n const _vA = new Vector3();\n\n const _vB = new Vector3();\n\n const _vC = new Vector3();\n\n const _tempA = new Vector3();\n\n const _tempB = new Vector3();\n\n const _tempC = new Vector3();\n\n const _morphA = new Vector3();\n\n const _morphB = new Vector3();\n\n const _morphC = new Vector3();\n\n function _calculateMorphedAttributeData(object, material, attribute, morphAttribute, morphTargetsRelative, a, b, c, modifiedAttributeArray) {\n _vA.fromBufferAttribute(attribute, a);\n\n _vB.fromBufferAttribute(attribute, b);\n\n _vC.fromBufferAttribute(attribute, c);\n\n const morphInfluences = object.morphTargetInfluences;\n\n if ( // @ts-expect-error\n material.morphTargets && morphAttribute && morphInfluences) {\n _morphA.set(0, 0, 0);\n\n _morphB.set(0, 0, 0);\n\n _morphC.set(0, 0, 0);\n\n for (let i = 0, il = morphAttribute.length; i < il; i++) {\n const influence = morphInfluences[i];\n const morph = morphAttribute[i];\n if (influence === 0) continue;\n\n _tempA.fromBufferAttribute(morph, a);\n\n _tempB.fromBufferAttribute(morph, b);\n\n _tempC.fromBufferAttribute(morph, c);\n\n if (morphTargetsRelative) {\n _morphA.addScaledVector(_tempA, influence);\n\n _morphB.addScaledVector(_tempB, influence);\n\n _morphC.addScaledVector(_tempC, influence);\n } else {\n _morphA.addScaledVector(_tempA.sub(_vA), influence);\n\n _morphB.addScaledVector(_tempB.sub(_vB), influence);\n\n _morphC.addScaledVector(_tempC.sub(_vC), influence);\n }\n }\n\n _vA.add(_morphA);\n\n _vB.add(_morphB);\n\n _vC.add(_morphC);\n }\n\n if (object.isSkinnedMesh) {\n // @ts-expect-error – https://github.com/three-types/three-ts-types/issues/37\n object.boneTransform(a, _vA); // @ts-expect-error – https://github.com/three-types/three-ts-types/issues/37\n\n object.boneTransform(b, _vB); // @ts-expect-error – https://github.com/three-types/three-ts-types/issues/37\n\n object.boneTransform(c, _vC);\n }\n\n modifiedAttributeArray[a * 3 + 0] = _vA.x;\n modifiedAttributeArray[a * 3 + 1] = _vA.y;\n modifiedAttributeArray[a * 3 + 2] = _vA.z;\n modifiedAttributeArray[b * 3 + 0] = _vB.x;\n modifiedAttributeArray[b * 3 + 1] = _vB.y;\n modifiedAttributeArray[b * 3 + 2] = _vB.z;\n modifiedAttributeArray[c * 3 + 0] = _vC.x;\n modifiedAttributeArray[c * 3 + 1] = _vC.y;\n modifiedAttributeArray[c * 3 + 2] = _vC.z;\n }\n\n const geometry = object.geometry;\n const material = object.material;\n let a, b, c;\n const index = geometry.index;\n const positionAttribute = geometry.attributes.position;\n const morphPosition = geometry.morphAttributes.position;\n const morphTargetsRelative = geometry.morphTargetsRelative;\n const normalAttribute = geometry.attributes.normal;\n const morphNormal = geometry.morphAttributes.position;\n const groups = geometry.groups;\n const drawRange = geometry.drawRange;\n let i, j, il, jl;\n let group, groupMaterial;\n let start, end;\n const modifiedPosition = new Float32Array(positionAttribute.count * positionAttribute.itemSize);\n const modifiedNormal = new Float32Array(normalAttribute.count * normalAttribute.itemSize);\n\n if (index !== null) {\n // indexed buffer geometry\n if (Array.isArray(material)) {\n for (i = 0, il = groups.length; i < il; i++) {\n group = groups[i];\n groupMaterial = material[group.materialIndex];\n start = Math.max(group.start, drawRange.start);\n end = Math.min(group.start + group.count, drawRange.start + drawRange.count);\n\n for (j = start, jl = end; j < jl; j += 3) {\n a = index.getX(j);\n b = index.getX(j + 1);\n c = index.getX(j + 2);\n\n _calculateMorphedAttributeData(object, groupMaterial, positionAttribute, morphPosition, morphTargetsRelative, a, b, c, modifiedPosition);\n\n _calculateMorphedAttributeData(object, groupMaterial, normalAttribute, morphNormal, morphTargetsRelative, a, b, c, modifiedNormal);\n }\n }\n } else {\n start = Math.max(0, drawRange.start);\n end = Math.min(index.count, drawRange.start + drawRange.count);\n\n for (i = start, il = end; i < il; i += 3) {\n a = index.getX(i);\n b = index.getX(i + 1);\n c = index.getX(i + 2);\n\n _calculateMorphedAttributeData(object, material, positionAttribute, morphPosition, morphTargetsRelative, a, b, c, modifiedPosition);\n\n _calculateMorphedAttributeData(object, material, normalAttribute, morphNormal, morphTargetsRelative, a, b, c, modifiedNormal);\n }\n }\n } else if (positionAttribute !== undefined) {\n // non-indexed buffer geometry\n if (Array.isArray(material)) {\n for (i = 0, il = groups.length; i < il; i++) {\n group = groups[i];\n groupMaterial = material[group.materialIndex];\n start = Math.max(group.start, drawRange.start);\n end = Math.min(group.start + group.count, drawRange.start + drawRange.count);\n\n for (j = start, jl = end; j < jl; j += 3) {\n a = j;\n b = j + 1;\n c = j + 2;\n\n _calculateMorphedAttributeData(object, groupMaterial, positionAttribute, morphPosition, morphTargetsRelative, a, b, c, modifiedPosition);\n\n _calculateMorphedAttributeData(object, groupMaterial, normalAttribute, morphNormal, morphTargetsRelative, a, b, c, modifiedNormal);\n }\n }\n } else {\n start = Math.max(0, drawRange.start);\n end = Math.min(positionAttribute.count, drawRange.start + drawRange.count);\n\n for (i = start, il = end; i < il; i += 3) {\n a = i;\n b = i + 1;\n c = i + 2;\n\n _calculateMorphedAttributeData(object, material, positionAttribute, morphPosition, morphTargetsRelative, a, b, c, modifiedPosition);\n\n _calculateMorphedAttributeData(object, material, normalAttribute, morphNormal, morphTargetsRelative, a, b, c, modifiedNormal);\n }\n }\n }\n\n const morphedPositionAttribute = new Float32BufferAttribute(modifiedPosition, 3);\n const morphedNormalAttribute = new Float32BufferAttribute(modifiedNormal, 3);\n return {\n positionAttribute: positionAttribute,\n normalAttribute: normalAttribute,\n morphedPositionAttribute: morphedPositionAttribute,\n morphedNormalAttribute: morphedNormalAttribute\n };\n} // Creates a new, non-indexed geometry with smooth normals everywhere except faces that meet at\n// an angle greater than the crease angle.\n\nfunction toCreasedNormals(geometry, creaseAngle = Math.PI / 3\n/* 60 degrees */\n) {\n const creaseDot = Math.cos(creaseAngle);\n const hashMultiplier = (1 + 1e-10) * 1e2; // reusable vertors\n\n const verts = [new Vector3(), new Vector3(), new Vector3()];\n const tempVec1 = new Vector3();\n const tempVec2 = new Vector3();\n const tempNorm = new Vector3();\n const tempNorm2 = new Vector3(); // hashes a vector\n\n function hashVertex(v) {\n const x = ~~(v.x * hashMultiplier);\n const y = ~~(v.y * hashMultiplier);\n const z = ~~(v.z * hashMultiplier);\n return `${x},${y},${z}`;\n }\n\n const resultGeometry = geometry.toNonIndexed();\n const posAttr = resultGeometry.attributes.position;\n const vertexMap = {}; // find all the normals shared by commonly located vertices\n\n for (let i = 0, l = posAttr.count / 3; i < l; i++) {\n const i3 = 3 * i;\n const a = verts[0].fromBufferAttribute(posAttr, i3 + 0);\n const b = verts[1].fromBufferAttribute(posAttr, i3 + 1);\n const c = verts[2].fromBufferAttribute(posAttr, i3 + 2);\n tempVec1.subVectors(c, b);\n tempVec2.subVectors(a, b); // add the normal to the map for all vertices\n\n const normal = new Vector3().crossVectors(tempVec1, tempVec2).normalize();\n\n for (let n = 0; n < 3; n++) {\n const vert = verts[n];\n const hash = hashVertex(vert);\n\n if (!(hash in vertexMap)) {\n vertexMap[hash] = [];\n }\n\n vertexMap[hash].push(normal);\n }\n } // average normals from all vertices that share a common location if they are within the\n // provided crease threshold\n\n\n const normalArray = new Float32Array(posAttr.count * 3);\n const normAttr = new BufferAttribute(normalArray, 3, false);\n\n for (let i = 0, l = posAttr.count / 3; i < l; i++) {\n // get the face normal for this vertex\n const i3 = 3 * i;\n const a = verts[0].fromBufferAttribute(posAttr, i3 + 0);\n const b = verts[1].fromBufferAttribute(posAttr, i3 + 1);\n const c = verts[2].fromBufferAttribute(posAttr, i3 + 2);\n tempVec1.subVectors(c, b);\n tempVec2.subVectors(a, b);\n tempNorm.crossVectors(tempVec1, tempVec2).normalize(); // average all normals that meet the threshold and set the normal value\n\n for (let n = 0; n < 3; n++) {\n const vert = verts[n];\n const hash = hashVertex(vert);\n const otherNormals = vertexMap[hash];\n tempNorm2.set(0, 0, 0);\n\n for (let k = 0, lk = otherNormals.length; k < lk; k++) {\n const otherNorm = otherNormals[k];\n\n if (tempNorm.dot(otherNorm) > creaseDot) {\n tempNorm2.add(otherNorm);\n }\n }\n\n tempNorm2.normalize();\n normAttr.setXYZ(i3 + n, tempNorm2.x, tempNorm2.y, tempNorm2.z);\n }\n }\n\n resultGeometry.setAttribute('normal', normAttr);\n return resultGeometry;\n}\n\nexport { computeMorphedAttributes, estimateBytesUsed, interleaveAttributes, mergeBufferAttributes, mergeBufferGeometries, mergeVertices, toCreasedNormals, toTrianglesDrawMode };\n","import { Frustum, Vector3 } from 'three';\n\n/**\n * This is a class to check whether objects are in a selection area in 3D space\n */\n\nconst SelectionBox = (() => {\n const frustum = new Frustum();\n const center = new Vector3();\n const tmpPoint = new Vector3();\n const vecNear = new Vector3();\n const vecTopLeft = new Vector3();\n const vecTopRight = new Vector3();\n const vecDownRight = new Vector3();\n const vecDownLeft = new Vector3();\n const vecFarTopLeft = new Vector3();\n const vecFarTopRight = new Vector3();\n const vecFarDownRight = new Vector3();\n const vecFarDownLeft = new Vector3();\n const vectemp1 = new Vector3();\n const vectemp2 = new Vector3();\n const vectemp3 = new Vector3();\n\n class SelectionBox {\n constructor(camera, scene, deep) {\n this.camera = camera;\n this.scene = scene;\n this.startPoint = new Vector3();\n this.endPoint = new Vector3();\n this.collection = [];\n this.deep = deep || Number.MAX_VALUE;\n }\n\n select(startPoint, endPoint) {\n this.startPoint = startPoint || this.startPoint;\n this.endPoint = endPoint || this.endPoint;\n this.collection = [];\n this.updateFrustum(this.startPoint, this.endPoint);\n this.searchChildInFrustum(frustum, this.scene);\n return this.collection;\n }\n\n updateFrustum(startPoint, endPoint) {\n startPoint = startPoint || this.startPoint;\n endPoint = endPoint || this.endPoint; // Avoid invalid frustum\n\n if (startPoint.x === endPoint.x) {\n endPoint.x += Number.EPSILON;\n }\n\n if (startPoint.y === endPoint.y) {\n endPoint.y += Number.EPSILON;\n }\n\n this.camera.updateProjectionMatrix();\n this.camera.updateMatrixWorld();\n\n if (this.camera.isPerspectiveCamera) {\n tmpPoint.copy(startPoint);\n tmpPoint.x = Math.min(startPoint.x, endPoint.x);\n tmpPoint.y = Math.max(startPoint.y, endPoint.y);\n endPoint.x = Math.max(startPoint.x, endPoint.x);\n endPoint.y = Math.min(startPoint.y, endPoint.y);\n vecNear.setFromMatrixPosition(this.camera.matrixWorld);\n vecTopLeft.copy(tmpPoint);\n vecTopRight.set(endPoint.x, tmpPoint.y, 0);\n vecDownRight.copy(endPoint);\n vecDownLeft.set(tmpPoint.x, endPoint.y, 0);\n vecTopLeft.unproject(this.camera);\n vecTopRight.unproject(this.camera);\n vecDownRight.unproject(this.camera);\n vecDownLeft.unproject(this.camera);\n vectemp1.copy(vecTopLeft).sub(vecNear);\n vectemp2.copy(vecTopRight).sub(vecNear);\n vectemp3.copy(vecDownRight).sub(vecNear);\n vectemp1.normalize();\n vectemp2.normalize();\n vectemp3.normalize();\n vectemp1.multiplyScalar(this.deep);\n vectemp2.multiplyScalar(this.deep);\n vectemp3.multiplyScalar(this.deep);\n vectemp1.add(vecNear);\n vectemp2.add(vecNear);\n vectemp3.add(vecNear);\n var planes = frustum.planes;\n planes[0].setFromCoplanarPoints(vecNear, vecTopLeft, vecTopRight);\n planes[1].setFromCoplanarPoints(vecNear, vecTopRight, vecDownRight);\n planes[2].setFromCoplanarPoints(vecDownRight, vecDownLeft, vecNear);\n planes[3].setFromCoplanarPoints(vecDownLeft, vecTopLeft, vecNear);\n planes[4].setFromCoplanarPoints(vecTopRight, vecDownRight, vecDownLeft);\n planes[5].setFromCoplanarPoints(vectemp3, vectemp2, vectemp1);\n planes[5].normal.multiplyScalar(-1);\n } else if (this.camera.isOrthographicCamera) {\n const left = Math.min(startPoint.x, endPoint.x);\n const top = Math.max(startPoint.y, endPoint.y);\n const right = Math.max(startPoint.x, endPoint.x);\n const down = Math.min(startPoint.y, endPoint.y);\n vecTopLeft.set(left, top, -1);\n vecTopRight.set(right, top, -1);\n vecDownRight.set(right, down, -1);\n vecDownLeft.set(left, down, -1);\n vecFarTopLeft.set(left, top, 1);\n vecFarTopRight.set(right, top, 1);\n vecFarDownRight.set(right, down, 1);\n vecFarDownLeft.set(left, down, 1);\n vecTopLeft.unproject(this.camera);\n vecTopRight.unproject(this.camera);\n vecDownRight.unproject(this.camera);\n vecDownLeft.unproject(this.camera);\n vecFarTopLeft.unproject(this.camera);\n vecFarTopRight.unproject(this.camera);\n vecFarDownRight.unproject(this.camera);\n vecFarDownLeft.unproject(this.camera);\n var planes = frustum.planes;\n planes[0].setFromCoplanarPoints(vecTopLeft, vecFarTopLeft, vecFarTopRight);\n planes[1].setFromCoplanarPoints(vecTopRight, vecFarTopRight, vecFarDownRight);\n planes[2].setFromCoplanarPoints(vecFarDownRight, vecFarDownLeft, vecDownLeft);\n planes[3].setFromCoplanarPoints(vecFarDownLeft, vecFarTopLeft, vecTopLeft);\n planes[4].setFromCoplanarPoints(vecTopRight, vecDownRight, vecDownLeft);\n planes[5].setFromCoplanarPoints(vecFarDownRight, vecFarTopRight, vecFarTopLeft);\n planes[5].normal.multiplyScalar(-1);\n } else {\n console.error('THREE.SelectionBox: Unsupported camera type.');\n }\n }\n\n searchChildInFrustum(frustum, object) {\n if (object.isMesh || object.isLine || object.isPoints) {\n if (object.material !== undefined) {\n if (object.geometry.boundingSphere === null) object.geometry.computeBoundingSphere();\n center.copy(object.geometry.boundingSphere.center);\n center.applyMatrix4(object.matrixWorld);\n\n if (frustum.containsPoint(center)) {\n this.collection.push(object);\n }\n }\n }\n\n if (object.children.length > 0) {\n for (let x = 0; x < object.children.length; x++) {\n this.searchChildInFrustum(frustum, object.children[x]);\n }\n }\n }\n\n }\n\n return SelectionBox;\n})();\n\nexport { SelectionBox };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport { useFrame } from '@react-three/fiber';\nimport mergeRefs from 'react-merge-refs';\n\n/**\n * Wraps children in a billboarded group. Sample usage:\n *\n * ```js\n * \n * hi\n * \n * ```\n */\nconst Billboard = /*#__PURE__*/React.forwardRef(function Billboard({\n follow = true,\n lockX = false,\n lockY = false,\n lockZ = false,\n ...props\n}, ref) {\n const localRef = React.useRef();\n useFrame(({\n camera\n }) => {\n if (!follow || !localRef.current) return; // save previous rotation in case we're locking an axis\n\n const prevRotation = localRef.current.rotation.clone(); // always face the camera\n\n localRef.current.quaternion.copy(camera.quaternion); // readjust any axis that is locked\n\n if (lockX) localRef.current.rotation.x = prevRotation.x;\n if (lockY) localRef.current.rotation.y = prevRotation.y;\n if (lockZ) localRef.current.rotation.z = prevRotation.z;\n });\n return /*#__PURE__*/React.createElement(\"group\", _extends({\n ref: mergeRefs([localRef, ref])\n }, props));\n});\n\nexport { Billboard };\n","/**\n * Lightweight thenable implementation that is entirely self-contained within a single\n * function with no external dependencies so it can be easily shipped across to a WorkerModule.\n *\n * This implementation conforms fully to the Promises/A+ spec so it can safely interoperate\n * with other thenable implementations. https://github.com/promises-aplus/promises-spec\n *\n * *However*, it is _not_ a full implementation of ES2015 Promises, e.g. it does not\n * have the same constructor signature and does not expose a `catch` method or the static\n * `resolve`/`reject`/`all`/`race` initializer methods. If you need to hand a Thenable\n * instance off to consuming code that may expect a true Promise, you'll want to wrap it\n * in a native-or-polyfilled Promise first.\n *\n * (Why yet another Promises/A+ implementation? Great question. We needed a polyfill-like\n * thing that was (a) wrapped in a single function for easy serialization across to a Worker,\n * and (b) was as small as possible -- at ~900B minified (~500B gzipped) this is the smallest\n * implementation I've found. And also, exercises like this are challenging and fun.)\n */\nfunction BespokeThenable() {\n var state = 0; // 0=pending, 1=fulfilled, -1=rejected\n var queue = [];\n var value;\n var scheduled = 0;\n var completeCalled = 0;\n\n function then(onResolve, onReject) {\n var nextThenable = BespokeThenable();\n\n function handleNext() {\n var cb = state > 0 ? onResolve : onReject;\n if (isFn(cb)) {\n try {\n var result = cb(value);\n if (result === nextThenable) {\n recursiveError();\n }\n var resultThen = getThenableThen(result);\n if (resultThen) {\n resultThen.call(result, nextThenable.resolve, nextThenable.reject);\n } else {\n nextThenable.resolve(result);\n }\n } catch (err) {\n nextThenable.reject(err);\n }\n } else {\n nextThenable[state > 0 ? 'resolve' : 'reject'](value);\n }\n }\n\n queue.push(handleNext);\n if (state) {\n scheduleQueueFlush();\n }\n return nextThenable\n }\n\n var resolve = oneTime(function (val) {\n if (!completeCalled) {\n complete(1, val);\n }\n });\n\n var reject = oneTime(function (reason) {\n if (!completeCalled) {\n complete(-1, reason);\n }\n });\n\n function complete(st, val) {\n completeCalled++;\n var ignoreThrow = 0;\n try {\n if (val === thenableObj) {\n recursiveError();\n }\n var valThen = st > 0 && getThenableThen(val);\n if (valThen) {\n valThen.call(val, oneTime(function (v) {\n ignoreThrow++;\n complete(1, v);\n }), oneTime(function (v) {\n ignoreThrow++;\n complete(-1, v);\n }));\n } else {\n state = st;\n value = val;\n scheduleQueueFlush();\n }\n } catch(e) {\n if (!state && !ignoreThrow) {\n complete(-1, e);\n }\n }\n }\n\n function scheduleQueueFlush() {\n if (!scheduled) {\n setTimeout(flushQueue, 0); //TODO setImmediate or postMessage approach if available?\n scheduled = 1;\n }\n }\n\n function flushQueue() {\n var q = queue;\n scheduled = 0;\n queue = [];\n q.forEach(callIt);\n }\n\n function callIt(fn) {\n fn();\n }\n\n function getThenableThen(val) {\n var valThen = val && (isFn(val) || typeof val === 'object') && val.then;\n return isFn(valThen) && valThen\n }\n\n function oneTime(fn) {\n var called = 0;\n return function() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (!called++) {\n fn.apply(this, args);\n }\n }\n }\n\n function recursiveError() {\n throw new TypeError('Chaining cycle detected')\n }\n\n var isFn = function (v) { return typeof v === 'function'; };\n\n var thenableObj = {\n then: then,\n resolve: resolve,\n reject: reject\n };\n return thenableObj\n}\n\n\n/**\n * Thenable implementation that uses a native Promise under the covers. This implementation\n * is preferred if Promise is available, for better performance and dev tools integration.\n * @constructor\n */\nfunction NativePromiseThenable() {\n var resolve, reject;\n var promise = new Promise(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n return {\n then: promise.then.bind(promise),\n resolve: resolve,\n reject: reject\n }\n}\n\n/**\n * Promise.all() impl:\n */\nBespokeThenable.all = NativePromiseThenable.all = function(items) {\n var resultCount = 0;\n var results = [];\n var out = DefaultThenable();\n if (items.length === 0) {\n out.resolve([]);\n } else {\n items.forEach(function (item, i) {\n var itemThenable = DefaultThenable();\n itemThenable.resolve(item);\n itemThenable.then(function (res) {\n resultCount++;\n results[i] = res;\n if (resultCount === items.length) {\n out.resolve(results);\n }\n }, out.reject);\n });\n }\n return out\n};\n\n\n/**\n * Choose the best Thenable implementation and export it as the default.\n */\nvar DefaultThenable = typeof Promise === 'function' ? NativePromiseThenable : BespokeThenable;\n\n/**\n * Main content for the worker that handles the loading and execution of\n * modules within it.\n */\nfunction workerBootstrap() {\n var modules = Object.create(null);\n\n // Handle messages for registering a module\n function registerModule(ref, callback) {\n var id = ref.id;\n var name = ref.name;\n var dependencies = ref.dependencies; if ( dependencies === void 0 ) dependencies = [];\n var init = ref.init; if ( init === void 0 ) init = function(){};\n var getTransferables = ref.getTransferables; if ( getTransferables === void 0 ) getTransferables = null;\n\n // Only register once\n if (modules[id]) { return }\n\n try {\n // If any dependencies are modules, ensure they're registered and grab their value\n dependencies = dependencies.map(function (dep) {\n if (dep && dep.isWorkerModule) {\n registerModule(dep, function (depResult) {\n if (depResult instanceof Error) { throw depResult }\n });\n dep = modules[dep.id].value;\n }\n return dep\n });\n\n // Rehydrate functions\n init = rehydrate((\"<\" + name + \">.init\"), init);\n if (getTransferables) {\n getTransferables = rehydrate((\"<\" + name + \">.getTransferables\"), getTransferables);\n }\n\n // Initialize the module and store its value\n var value = null;\n if (typeof init === 'function') {\n value = init.apply(void 0, dependencies);\n } else {\n console.error('worker module init function failed to rehydrate');\n }\n modules[id] = {\n id: id,\n value: value,\n getTransferables: getTransferables\n };\n callback(value);\n } catch(err) {\n if (!(err && err.noLog)) {\n console.error(err);\n }\n callback(err);\n }\n }\n\n // Handle messages for calling a registered module's result function\n function callModule(ref, callback) {\n var ref$1;\n\n var id = ref.id;\n var args = ref.args;\n if (!modules[id] || typeof modules[id].value !== 'function') {\n callback(new Error((\"Worker module \" + id + \": not found or its 'init' did not return a function\")));\n }\n try {\n var result = (ref$1 = modules[id]).value.apply(ref$1, args);\n if (result && typeof result.then === 'function') {\n result.then(handleResult, function (rej) { return callback(rej instanceof Error ? rej : new Error('' + rej)); });\n } else {\n handleResult(result);\n }\n } catch(err) {\n callback(err);\n }\n function handleResult(result) {\n try {\n var tx = modules[id].getTransferables && modules[id].getTransferables(result);\n if (!tx || !Array.isArray(tx) || !tx.length) {\n tx = undefined; //postMessage is very picky about not passing null or empty transferables\n }\n callback(result, tx);\n } catch(err) {\n console.error(err);\n callback(err);\n }\n }\n }\n\n function rehydrate(name, str) {\n var result = void 0;\n self.troikaDefine = function (r) { return result = r; };\n var url = URL.createObjectURL(\n new Blob(\n [(\"/** \" + (name.replace(/\\*/g, '')) + \" **/\\n\\ntroikaDefine(\\n\" + str + \"\\n)\")],\n {type: 'application/javascript'}\n )\n );\n try {\n importScripts(url);\n } catch(err) {\n console.error(err);\n }\n URL.revokeObjectURL(url);\n delete self.troikaDefine;\n return result\n }\n\n // Handler for all messages within the worker\n self.addEventListener('message', function (e) {\n var ref = e.data;\n var messageId = ref.messageId;\n var action = ref.action;\n var data = ref.data;\n try {\n // Module registration\n if (action === 'registerModule') {\n registerModule(data, function (result) {\n if (result instanceof Error) {\n postMessage({\n messageId: messageId,\n success: false,\n error: result.message\n });\n } else {\n postMessage({\n messageId: messageId,\n success: true,\n result: {isCallable: typeof result === 'function'}\n });\n }\n });\n }\n // Invocation\n if (action === 'callModule') {\n callModule(data, function (result, transferables) {\n if (result instanceof Error) {\n postMessage({\n messageId: messageId,\n success: false,\n error: result.message\n });\n } else {\n postMessage({\n messageId: messageId,\n success: true,\n result: result\n }, transferables || undefined);\n }\n });\n }\n } catch(err) {\n postMessage({\n messageId: messageId,\n success: false,\n error: err.stack\n });\n }\n });\n}\n\n/**\n * Fallback for `defineWorkerModule` that behaves identically but runs in the main\n * thread, for when the execution environment doesn't support web workers or they\n * are disallowed due to e.g. CSP security restrictions.\n */\nfunction defineMainThreadModule(options) {\n var moduleFunc = function() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return moduleFunc._getInitResult().then(function (initResult) {\n if (typeof initResult === 'function') {\n return initResult.apply(void 0, args)\n } else {\n throw new Error('Worker module function was called but `init` did not return a callable function')\n }\n })\n };\n moduleFunc._getInitResult = function() {\n // We can ignore getTransferables in main thread. TODO workerId?\n var dependencies = options.dependencies;\n var init = options.init;\n\n // Resolve dependencies\n dependencies = Array.isArray(dependencies) ? dependencies.map(function (dep) { return dep && dep._getInitResult ? dep._getInitResult() : dep; }\n ) : [];\n\n // Invoke init with the resolved dependencies\n var initThenable = DefaultThenable.all(dependencies).then(function (deps) {\n return init.apply(null, deps)\n });\n\n // Cache the resolved promise for subsequent calls\n moduleFunc._getInitResult = function () { return initThenable; };\n\n return initThenable\n };\n return moduleFunc\n}\n\nvar supportsWorkers = function () {\n var supported = false;\n\n // Only attempt worker initialization in browsers; elsewhere it would just be\n // noise e.g. loading into a Node environment for SSR.\n if (typeof window !== 'undefined' && typeof window.document !== 'undefined') {\n try {\n // TODO additional checks for things like importScripts within the worker?\n // Would need to be an async check.\n var worker = new Worker(\n URL.createObjectURL(new Blob([''], { type: 'application/javascript' }))\n );\n worker.terminate();\n supported = true;\n } catch (err) {\n if (typeof process !== 'undefined' && process.env.NODE_ENV === 'test') ; else {\n console.log(\n (\"Troika createWorkerModule: web workers not allowed; falling back to main thread execution. Cause: [\" + (err.message) + \"]\")\n );\n }\n }\n }\n\n // Cached result\n supportsWorkers = function () { return supported; };\n return supported\n};\n\nvar _workerModuleId = 0;\nvar _messageId = 0;\nvar _allowInitAsString = false;\nvar workers = Object.create(null);\nvar registeredModules = Object.create(null); //workerId -> Set\nvar openRequests = Object.create(null);\n\n\n/**\n * Define a module of code that will be executed with a web worker. This provides a simple\n * interface for moving chunks of logic off the main thread, and managing their dependencies\n * among one another.\n *\n * @param {object} options\n * @param {function} options.init\n * @param {array} [options.dependencies]\n * @param {function} [options.getTransferables]\n * @param {string} [options.name]\n * @param {string} [options.workerId]\n * @return {function(...[*]): {then}}\n */\nfunction defineWorkerModule(options) {\n if ((!options || typeof options.init !== 'function') && !_allowInitAsString) {\n throw new Error('requires `options.init` function')\n }\n var dependencies = options.dependencies;\n var init = options.init;\n var getTransferables = options.getTransferables;\n var workerId = options.workerId;\n\n if (!supportsWorkers()) {\n return defineMainThreadModule(options)\n }\n\n if (workerId == null) {\n workerId = '#default';\n }\n var id = \"workerModule\" + (++_workerModuleId);\n var name = options.name || id;\n var registrationThenable = null;\n\n dependencies = dependencies && dependencies.map(function (dep) {\n // Wrap raw functions as worker modules with no dependencies\n if (typeof dep === 'function' && !dep.workerModuleData) {\n _allowInitAsString = true;\n dep = defineWorkerModule({\n workerId: workerId,\n name: (\"<\" + name + \"> function dependency: \" + (dep.name)),\n init: (\"function(){return (\\n\" + (stringifyFunction(dep)) + \"\\n)}\")\n });\n _allowInitAsString = false;\n }\n // Grab postable data for worker modules\n if (dep && dep.workerModuleData) {\n dep = dep.workerModuleData;\n }\n return dep\n });\n\n function moduleFunc() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Register this module if needed\n if (!registrationThenable) {\n registrationThenable = callWorker(workerId,'registerModule', moduleFunc.workerModuleData);\n var unregister = function () {\n registrationThenable = null;\n registeredModules[workerId].delete(unregister);\n }\n ;(registeredModules[workerId] || (registeredModules[workerId] = new Set())).add(unregister);\n }\n\n // Invoke the module, returning a thenable\n return registrationThenable.then(function (ref) {\n var isCallable = ref.isCallable;\n\n if (isCallable) {\n return callWorker(workerId,'callModule', {id: id, args: args})\n } else {\n throw new Error('Worker module function was called but `init` did not return a callable function')\n }\n })\n }\n moduleFunc.workerModuleData = {\n isWorkerModule: true,\n id: id,\n name: name,\n dependencies: dependencies,\n init: stringifyFunction(init),\n getTransferables: getTransferables && stringifyFunction(getTransferables)\n };\n return moduleFunc\n}\n\n/**\n * Terminate an active Worker by a workerId that was passed to defineWorkerModule.\n * This only terminates the Worker itself; the worker module will remain available\n * and if you call it again its Worker will be respawned.\n * @param {string} workerId\n */\nfunction terminateWorker(workerId) {\n // Unregister all modules that were registered in that worker\n if (registeredModules[workerId]) {\n registeredModules[workerId].forEach(function (unregister) {\n unregister();\n });\n }\n // Terminate the Worker object\n if (workers[workerId]) {\n workers[workerId].terminate();\n delete workers[workerId];\n }\n}\n\n/**\n * Stringifies a function into a form that can be deserialized in the worker\n * @param fn\n */\nfunction stringifyFunction(fn) {\n var str = fn.toString();\n // If it was defined in object method/property format, it needs to be modified\n if (!/^function/.test(str) && /^\\w+\\s*\\(/.test(str)) {\n str = 'function ' + str;\n }\n return str\n}\n\n\nfunction getWorker(workerId) {\n var worker = workers[workerId];\n if (!worker) {\n // Bootstrap the worker's content\n var bootstrap = stringifyFunction(workerBootstrap);\n\n // Create the worker from the bootstrap function content\n worker = workers[workerId] = new Worker(\n URL.createObjectURL(\n new Blob(\n [(\"/** Worker Module Bootstrap: \" + (workerId.replace(/\\*/g, '')) + \" **/\\n\\n;(\" + bootstrap + \")()\")],\n {type: 'application/javascript'}\n )\n )\n );\n\n // Single handler for response messages from the worker\n worker.onmessage = function (e) {\n var response = e.data;\n var msgId = response.messageId;\n var callback = openRequests[msgId];\n if (!callback) {\n throw new Error('WorkerModule response with empty or unknown messageId')\n }\n delete openRequests[msgId];\n callback(response);\n };\n }\n return worker\n}\n\n// Issue a call to the worker with a callback to handle the response\nfunction callWorker(workerId, action, data) {\n var thenable = DefaultThenable();\n var messageId = ++_messageId;\n openRequests[messageId] = function (response) {\n if (response.success) {\n thenable.resolve(response.result);\n } else {\n thenable.reject(new Error((\"Error in worker \" + action + \" call: \" + (response.error))));\n }\n };\n getWorker(workerId).postMessage({\n messageId: messageId,\n action: action,\n data: data\n });\n return thenable\n}\n\n/**\n * Just the {@link Thenable} function wrapped as a worker module. If another worker\n * module needs Thenable as a dependency, it's better to pass this module rather than\n * the raw function in its `dependencies` array so it only gets registered once.\n */\nvar ThenableWorkerModule = /*#__PURE__*/defineWorkerModule({\n name: 'Thenable',\n dependencies: [DefaultThenable],\n init: function(Thenable) {\n return Thenable\n }\n});\n\nexport { DefaultThenable as Thenable, ThenableWorkerModule, defineWorkerModule, stringifyFunction, terminateWorker };\n","function SDFGenerator() {\nvar exports = (function (exports) {\n\n /**\n * Find the point on a quadratic bezier curve at t where t is in the range [0, 1]\n */\n function pointOnQuadraticBezier (x0, y0, x1, y1, x2, y2, t, pointOut) {\n var t2 = 1 - t;\n pointOut.x = t2 * t2 * x0 + 2 * t2 * t * x1 + t * t * x2;\n pointOut.y = t2 * t2 * y0 + 2 * t2 * t * y1 + t * t * y2;\n }\n\n /**\n * Find the point on a cubic bezier curve at t where t is in the range [0, 1]\n */\n function pointOnCubicBezier (x0, y0, x1, y1, x2, y2, x3, y3, t, pointOut) {\n var t2 = 1 - t;\n pointOut.x = t2 * t2 * t2 * x0 + 3 * t2 * t2 * t * x1 + 3 * t2 * t * t * x2 + t * t * t * x3;\n pointOut.y = t2 * t2 * t2 * y0 + 3 * t2 * t2 * t * y1 + 3 * t2 * t * t * y2 + t * t * t * y3;\n }\n\n /**\n * Parse a path string into its constituent line/curve commands, invoking a callback for each.\n * @param {string} pathString - An SVG-like path string to parse; should only contain commands: M/L/Q/C/Z\n * @param {function(\n * command: 'L'|'Q'|'C',\n * startX: number,\n * startY: number,\n * endX: number,\n * endY: number,\n * ctrl1X?: number,\n * ctrl1Y?: number,\n * ctrl2X?: number,\n * ctrl2Y?: number\n * )} commandCallback - A callback function that will be called once for each parsed path command, passing the\n * command identifier (only L/Q/C commands) and its numeric arguments.\n */\n function forEachPathCommand(pathString, commandCallback) {\n var segmentRE = /([MLQCZ])([^MLQCZ]*)/g;\n var match, firstX, firstY, prevX, prevY;\n while ((match = segmentRE.exec(pathString))) {\n var args = match[2]\n .replace(/^\\s*|\\s*$/g, '')\n .split(/[,\\s]+/)\n .map(function (v) { return parseFloat(v); });\n switch (match[1]) {\n case 'M':\n prevX = firstX = args[0];\n prevY = firstY = args[1];\n break\n case 'L':\n if (args[0] !== prevX || args[1] !== prevY) { // yup, some fonts have zero-length line commands\n commandCallback('L', prevX, prevY, (prevX = args[0]), (prevY = args[1]));\n }\n break\n case 'Q': {\n commandCallback('Q', prevX, prevY, (prevX = args[2]), (prevY = args[3]), args[0], args[1]);\n break\n }\n case 'C': {\n commandCallback('C', prevX, prevY, (prevX = args[4]), (prevY = args[5]), args[0], args[1], args[2], args[3]);\n break\n }\n case 'Z':\n if (prevX !== firstX || prevY !== firstY) {\n commandCallback('L', prevX, prevY, firstX, firstY);\n }\n break\n }\n }\n }\n\n /**\n * Convert a path string to a series of straight line segments\n * @param {string} pathString - An SVG-like path string to parse; should only contain commands: M/L/Q/C/Z\n * @param {function(x1:number, y1:number, x2:number, y2:number)} segmentCallback - A callback\n * function that will be called once for every line segment\n * @param {number} [curvePoints] - How many straight line segments to use when approximating a\n * bezier curve in the path. Defaults to 16.\n */\n function pathToLineSegments (pathString, segmentCallback, curvePoints) {\n if ( curvePoints === void 0 ) curvePoints = 16;\n\n var tempPoint = { x: 0, y: 0 };\n forEachPathCommand(pathString, function (command, startX, startY, endX, endY, ctrl1X, ctrl1Y, ctrl2X, ctrl2Y) {\n switch (command) {\n case 'L':\n segmentCallback(startX, startY, endX, endY);\n break\n case 'Q': {\n var prevCurveX = startX;\n var prevCurveY = startY;\n for (var i = 1; i < curvePoints; i++) {\n pointOnQuadraticBezier(\n startX, startY,\n ctrl1X, ctrl1Y,\n endX, endY,\n i / (curvePoints - 1),\n tempPoint\n );\n segmentCallback(prevCurveX, prevCurveY, tempPoint.x, tempPoint.y);\n prevCurveX = tempPoint.x;\n prevCurveY = tempPoint.y;\n }\n break\n }\n case 'C': {\n var prevCurveX$1 = startX;\n var prevCurveY$1 = startY;\n for (var i$1 = 1; i$1 < curvePoints; i$1++) {\n pointOnCubicBezier(\n startX, startY,\n ctrl1X, ctrl1Y,\n ctrl2X, ctrl2Y,\n endX, endY,\n i$1 / (curvePoints - 1),\n tempPoint\n );\n segmentCallback(prevCurveX$1, prevCurveY$1, tempPoint.x, tempPoint.y);\n prevCurveX$1 = tempPoint.x;\n prevCurveY$1 = tempPoint.y;\n }\n break\n }\n }\n });\n }\n\n var viewportQuadVertex = \"precision highp float;attribute vec2 aUV;varying vec2 vUV;void main(){vUV=aUV;gl_Position=vec4(mix(vec2(-1.0),vec2(1.0),aUV),0.0,1.0);}\";\n\n var copyTexFragment = \"precision highp float;uniform sampler2D tex;varying vec2 vUV;void main(){gl_FragColor=texture2D(tex,vUV);}\";\n\n var cache = new WeakMap();\n\n var glContextParams = {\n premultipliedAlpha: false,\n preserveDrawingBuffer: true,\n antialias: false,\n depth: false,\n };\n\n /**\n * This is a little helper library for WebGL. It assists with state management for a GL context.\n * It's pretty tightly wrapped to the needs of this package, not very general-purpose.\n *\n * @param { WebGLRenderingContext | HTMLCanvasElement | OffscreenCanvas } glOrCanvas - the GL context to wrap\n * @param { ({gl, getExtension, withProgram, withTexture, withTextureFramebuffer, handleContextLoss}) => void } callback\n */\n function withWebGLContext (glOrCanvas, callback) {\n var gl = glOrCanvas.getContext ? glOrCanvas.getContext('webgl', glContextParams) : glOrCanvas;\n var wrapper = cache.get(gl);\n if (!wrapper) {\n var isWebGL2 = typeof WebGL2RenderingContext !== 'undefined' && gl instanceof WebGL2RenderingContext;\n var extensions = {};\n var programs = {};\n var textures = {};\n var textureUnit = -1;\n var framebufferStack = [];\n\n gl.canvas.addEventListener('webglcontextlost', function (e) {\n handleContextLoss();\n e.preventDefault();\n }, false);\n\n function getExtension (name) {\n var ext = extensions[name];\n if (!ext) {\n ext = extensions[name] = gl.getExtension(name);\n if (!ext) {\n throw new Error((name + \" not supported\"))\n }\n }\n return ext\n }\n\n function compileShader (src, type) {\n var shader = gl.createShader(type);\n gl.shaderSource(shader, src);\n gl.compileShader(shader);\n // const status = gl.getShaderParameter(shader, gl.COMPILE_STATUS)\n // if (!status && !gl.isContextLost()) {\n // throw new Error(gl.getShaderInfoLog(shader).trim())\n // }\n return shader\n }\n\n function withProgram (name, vert, frag, func) {\n if (!programs[name]) {\n var attributes = {};\n var uniforms = {};\n var program = gl.createProgram();\n gl.attachShader(program, compileShader(vert, gl.VERTEX_SHADER));\n gl.attachShader(program, compileShader(frag, gl.FRAGMENT_SHADER));\n gl.linkProgram(program);\n\n programs[name] = {\n program: program,\n transaction: function transaction (func) {\n gl.useProgram(program);\n func({\n setUniform: function setUniform (type, name) {\n var values = [], len = arguments.length - 2;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n\n var uniformLoc = uniforms[name] || (uniforms[name] = gl.getUniformLocation(program, name));\n gl[(\"uniform\" + type)].apply(gl, [ uniformLoc ].concat( values ));\n },\n\n setAttribute: function setAttribute (name, size, usage, instancingDivisor, data) {\n var attr = attributes[name];\n if (!attr) {\n attr = attributes[name] = {\n buf: gl.createBuffer(), // TODO should we destroy our buffers?\n loc: gl.getAttribLocation(program, name),\n data: null\n };\n }\n gl.bindBuffer(gl.ARRAY_BUFFER, attr.buf);\n gl.vertexAttribPointer(attr.loc, size, gl.FLOAT, false, 0, 0);\n gl.enableVertexAttribArray(attr.loc);\n if (isWebGL2) {\n gl.vertexAttribDivisor(attr.loc, instancingDivisor);\n } else {\n getExtension('ANGLE_instanced_arrays').vertexAttribDivisorANGLE(attr.loc, instancingDivisor);\n }\n if (data !== attr.data) {\n gl.bufferData(gl.ARRAY_BUFFER, data, usage);\n attr.data = data;\n }\n }\n });\n }\n };\n }\n\n programs[name].transaction(func);\n }\n\n function withTexture (name, func) {\n textureUnit++;\n try {\n gl.activeTexture(gl.TEXTURE0 + textureUnit);\n var texture = textures[name];\n if (!texture) {\n texture = textures[name] = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n }\n gl.bindTexture(gl.TEXTURE_2D, texture);\n func(texture, textureUnit);\n } finally {\n textureUnit--;\n }\n }\n\n function withTextureFramebuffer (texture, textureUnit, func) {\n var framebuffer = gl.createFramebuffer();\n framebufferStack.push(framebuffer);\n gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);\n gl.activeTexture(gl.TEXTURE0 + textureUnit);\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);\n try {\n func(framebuffer);\n } finally {\n gl.deleteFramebuffer(framebuffer);\n gl.bindFramebuffer(gl.FRAMEBUFFER, framebufferStack[--framebufferStack.length - 1] || null);\n }\n }\n\n function handleContextLoss () {\n extensions = {};\n programs = {};\n textures = {};\n textureUnit = -1;\n framebufferStack.length = 0;\n }\n\n cache.set(gl, wrapper = {\n gl: gl,\n isWebGL2: isWebGL2,\n getExtension: getExtension,\n withProgram: withProgram,\n withTexture: withTexture,\n withTextureFramebuffer: withTextureFramebuffer,\n handleContextLoss: handleContextLoss,\n });\n }\n callback(wrapper);\n }\n\n\n function renderImageData(glOrCanvas, imageData, x, y, width, height, channels, framebuffer) {\n if ( channels === void 0 ) channels = 15;\n if ( framebuffer === void 0 ) framebuffer = null;\n\n withWebGLContext(glOrCanvas, function (ref) {\n var gl = ref.gl;\n var withProgram = ref.withProgram;\n var withTexture = ref.withTexture;\n\n withTexture('copy', function (tex, texUnit) {\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, imageData);\n withProgram('copy', viewportQuadVertex, copyTexFragment, function (ref) {\n var setUniform = ref.setUniform;\n var setAttribute = ref.setAttribute;\n\n setAttribute('aUV', 2, gl.STATIC_DRAW, 0, new Float32Array([0, 0, 2, 0, 0, 2]));\n setUniform('1i', 'image', texUnit);\n gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer || null);\n gl.disable(gl.BLEND);\n gl.colorMask(channels & 8, channels & 4, channels & 2, channels & 1);\n gl.viewport(x, y, width, height);\n gl.scissor(x, y, width, height);\n gl.drawArrays(gl.TRIANGLES, 0, 3);\n });\n });\n });\n }\n\n /**\n * Resizing a canvas clears its contents; this utility copies the previous contents over.\n * @param canvas\n * @param newWidth\n * @param newHeight\n */\n function resizeWebGLCanvasWithoutClearing(canvas, newWidth, newHeight) {\n var width = canvas.width;\n var height = canvas.height;\n withWebGLContext(canvas, function (ref) {\n var gl = ref.gl;\n\n var data = new Uint8Array(width * height * 4);\n gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, data);\n canvas.width = newWidth;\n canvas.height = newHeight;\n renderImageData(gl, data, 0, 0, width, height);\n });\n }\n\n var webglUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n withWebGLContext: withWebGLContext,\n renderImageData: renderImageData,\n resizeWebGLCanvasWithoutClearing: resizeWebGLCanvasWithoutClearing\n });\n\n function generate$2 (sdfWidth, sdfHeight, path, viewBox, maxDistance, sdfExponent) {\n if ( sdfExponent === void 0 ) sdfExponent = 1;\n\n var textureData = new Uint8Array(sdfWidth * sdfHeight);\n\n var viewBoxWidth = viewBox[2] - viewBox[0];\n var viewBoxHeight = viewBox[3] - viewBox[1];\n\n // Decompose all paths into straight line segments and add them to an index\n var segments = [];\n pathToLineSegments(path, function (x1, y1, x2, y2) {\n segments.push({\n x1: x1, y1: y1, x2: x2, y2: y2,\n minX: Math.min(x1, x2),\n minY: Math.min(y1, y2),\n maxX: Math.max(x1, x2),\n maxY: Math.max(y1, y2)\n });\n });\n\n // Sort segments by maxX, this will let us short-circuit some loops below\n segments.sort(function (a, b) { return a.maxX - b.maxX; });\n\n // For each target SDF texel, find the distance from its center to its nearest line segment,\n // map that distance to an alpha value, and write that alpha to the texel\n for (var sdfX = 0; sdfX < sdfWidth; sdfX++) {\n for (var sdfY = 0; sdfY < sdfHeight; sdfY++) {\n var signedDist = findNearestSignedDistance(\n viewBox[0] + viewBoxWidth * (sdfX + 0.5) / sdfWidth,\n viewBox[1] + viewBoxHeight * (sdfY + 0.5) / sdfHeight\n );\n\n // Use an exponential scale to ensure the texels very near the glyph path have adequate\n // precision, while allowing the distance field to cover the entire texture, given that\n // there are only 8 bits available. Formula visualized: https://www.desmos.com/calculator/uiaq5aqiam\n var alpha = Math.pow((1 - Math.abs(signedDist) / maxDistance), sdfExponent) / 2;\n if (signedDist < 0) {\n alpha = 1 - alpha;\n }\n\n alpha = Math.max(0, Math.min(255, Math.round(alpha * 255))); //clamp\n textureData[sdfY * sdfWidth + sdfX] = alpha;\n }\n }\n\n return textureData\n\n /**\n * For a given x/y, search the index for the closest line segment and return\n * its signed distance. Negative = inside, positive = outside, zero = on edge\n * @param x\n * @param y\n * @returns {number}\n */\n function findNearestSignedDistance (x, y) {\n var closestDistSq = Infinity;\n var closestDist = Infinity;\n\n for (var i = segments.length; i--;) {\n var seg = segments[i];\n if (seg.maxX + closestDist <= x) { break } //sorting by maxX means no more can be closer, so we can short-circuit\n if (x + closestDist > seg.minX && y - closestDist < seg.maxY && y + closestDist > seg.minY) {\n var distSq = absSquareDistanceToLineSegment(x, y, seg.x1, seg.y1, seg.x2, seg.y2);\n if (distSq < closestDistSq) {\n closestDistSq = distSq;\n closestDist = Math.sqrt(closestDistSq);\n }\n }\n }\n\n // Flip to negative distance if inside the poly\n if (isPointInPoly(x, y)) {\n closestDist = -closestDist;\n }\n return closestDist\n }\n\n /**\n * Determine whether the given point lies inside or outside the glyph. Uses a simple\n * winding-number ray casting algorithm using a ray pointing east from the point.\n */\n function isPointInPoly (x, y) {\n var winding = 0;\n for (var i = segments.length; i--;) {\n var seg = segments[i];\n if (seg.maxX <= x) { break } //sorting by maxX means no more can cross, so we can short-circuit\n var intersects = ((seg.y1 > y) !== (seg.y2 > y)) && (x < (seg.x2 - seg.x1) * (y - seg.y1) / (seg.y2 - seg.y1) + seg.x1);\n if (intersects) {\n winding += seg.y1 < seg.y2 ? 1 : -1;\n }\n }\n return winding !== 0\n }\n }\n\n function generateIntoCanvas$2(sdfWidth, sdfHeight, path, viewBox, maxDistance, sdfExponent, canvas, x, y, channel) {\n if ( sdfExponent === void 0 ) sdfExponent = 1;\n if ( x === void 0 ) x = 0;\n if ( y === void 0 ) y = 0;\n if ( channel === void 0 ) channel = 0;\n\n generateIntoFramebuffer$1(sdfWidth, sdfHeight, path, viewBox, maxDistance, sdfExponent, canvas, null, x, y, channel);\n }\n\n function generateIntoFramebuffer$1 (sdfWidth, sdfHeight, path, viewBox, maxDistance, sdfExponent, glOrCanvas, framebuffer, x, y, channel) {\n if ( sdfExponent === void 0 ) sdfExponent = 1;\n if ( x === void 0 ) x = 0;\n if ( y === void 0 ) y = 0;\n if ( channel === void 0 ) channel = 0;\n\n var data = generate$2(sdfWidth, sdfHeight, path, viewBox, maxDistance, sdfExponent);\n // Expand single-channel data to rbga\n var rgbaData = new Uint8Array(data.length * 4);\n for (var i = 0; i < data.length; i++) {\n rgbaData[i * 4 + channel] = data[i];\n }\n renderImageData(glOrCanvas, rgbaData, x, y, sdfWidth, sdfHeight, 1 << (3 - channel), framebuffer);\n }\n\n /**\n * Find the absolute distance from a point to a line segment at closest approach\n */\n function absSquareDistanceToLineSegment (x, y, lineX0, lineY0, lineX1, lineY1) {\n var ldx = lineX1 - lineX0;\n var ldy = lineY1 - lineY0;\n var lengthSq = ldx * ldx + ldy * ldy;\n var t = lengthSq ? Math.max(0, Math.min(1, ((x - lineX0) * ldx + (y - lineY0) * ldy) / lengthSq)) : 0;\n var dx = x - (lineX0 + t * ldx);\n var dy = y - (lineY0 + t * ldy);\n return dx * dx + dy * dy\n }\n\n var javascript = /*#__PURE__*/Object.freeze({\n __proto__: null,\n generate: generate$2,\n generateIntoCanvas: generateIntoCanvas$2,\n generateIntoFramebuffer: generateIntoFramebuffer$1\n });\n\n var mainVertex = \"precision highp float;uniform vec4 uGlyphBounds;attribute vec2 aUV;attribute vec4 aLineSegment;varying vec4 vLineSegment;varying vec2 vGlyphXY;void main(){vLineSegment=aLineSegment;vGlyphXY=mix(uGlyphBounds.xy,uGlyphBounds.zw,aUV);gl_Position=vec4(mix(vec2(-1.0),vec2(1.0),aUV),0.0,1.0);}\";\n\n var mainFragment = \"precision highp float;uniform vec4 uGlyphBounds;uniform float uMaxDistance;uniform float uExponent;varying vec4 vLineSegment;varying vec2 vGlyphXY;float absDistToSegment(vec2 point,vec2 lineA,vec2 lineB){vec2 lineDir=lineB-lineA;float lenSq=dot(lineDir,lineDir);float t=lenSq==0.0 ? 0.0 : clamp(dot(point-lineA,lineDir)/lenSq,0.0,1.0);vec2 linePt=lineA+t*lineDir;return distance(point,linePt);}void main(){vec4 seg=vLineSegment;vec2 p=vGlyphXY;float dist=absDistToSegment(p,seg.xy,seg.zw);float val=pow(1.0-clamp(dist/uMaxDistance,0.0,1.0),uExponent)*0.5;bool crossing=(seg.y>p.y!=seg.w>p.y)&&(p.x<(seg.z-seg.x)*(p.y-seg.y)/(seg.w-seg.y)+seg.x);bool crossingUp=crossing&&vLineSegment.y bool\n\n function validateSupport (glOrCanvas) {\n if (!isTestingSupport && !isSupported(glOrCanvas)) {\n throw new Error('WebGL generation not supported')\n }\n }\n\n function generate$1 (sdfWidth, sdfHeight, path, viewBox, maxDistance, sdfExponent, glOrCanvas) {\n if ( sdfExponent === void 0 ) sdfExponent = 1;\n if ( glOrCanvas === void 0 ) glOrCanvas = null;\n\n if (!glOrCanvas) {\n glOrCanvas = implicitContext;\n if (!glOrCanvas) {\n var canvas = typeof OffscreenCanvas === 'function'\n ? new OffscreenCanvas(1, 1)\n : typeof document !== 'undefined'\n ? document.createElement('canvas')\n : null;\n if (!canvas) {\n throw new Error('OffscreenCanvas or DOM canvas not supported')\n }\n glOrCanvas = implicitContext = canvas.getContext('webgl', { depth: false });\n }\n }\n\n validateSupport(glOrCanvas);\n\n var rgbaData = new Uint8Array(sdfWidth * sdfHeight * 4); //not Uint8ClampedArray, cuz Safari\n\n // Render into a background texture framebuffer\n withWebGLContext(glOrCanvas, function (ref) {\n var gl = ref.gl;\n var withTexture = ref.withTexture;\n var withTextureFramebuffer = ref.withTextureFramebuffer;\n\n withTexture('readable', function (texture, textureUnit) {\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, sdfWidth, sdfHeight, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);\n\n withTextureFramebuffer(texture, textureUnit, function (framebuffer) {\n generateIntoFramebuffer(\n sdfWidth,\n sdfHeight,\n path,\n viewBox,\n maxDistance,\n sdfExponent,\n gl,\n framebuffer,\n 0,\n 0,\n 0 // red channel\n );\n gl.readPixels(0, 0, sdfWidth, sdfHeight, gl.RGBA, gl.UNSIGNED_BYTE, rgbaData);\n });\n });\n });\n\n // Throw away all but the red channel\n var data = new Uint8Array(sdfWidth * sdfHeight);\n for (var i = 0, j = 0; i < rgbaData.length; i += 4) {\n data[j++] = rgbaData[i];\n }\n\n return data\n }\n\n function generateIntoCanvas$1(sdfWidth, sdfHeight, path, viewBox, maxDistance, sdfExponent, canvas, x, y, channel) {\n if ( sdfExponent === void 0 ) sdfExponent = 1;\n if ( x === void 0 ) x = 0;\n if ( y === void 0 ) y = 0;\n if ( channel === void 0 ) channel = 0;\n\n generateIntoFramebuffer(sdfWidth, sdfHeight, path, viewBox, maxDistance, sdfExponent, canvas, null, x, y, channel);\n }\n\n function generateIntoFramebuffer (sdfWidth, sdfHeight, path, viewBox, maxDistance, sdfExponent, glOrCanvas, framebuffer, x, y, channel) {\n if ( sdfExponent === void 0 ) sdfExponent = 1;\n if ( x === void 0 ) x = 0;\n if ( y === void 0 ) y = 0;\n if ( channel === void 0 ) channel = 0;\n\n // Verify support\n validateSupport(glOrCanvas);\n\n // Compute path segments\n var lineSegmentCoords = [];\n pathToLineSegments(path, function (x1, y1, x2, y2) {\n lineSegmentCoords.push(x1, y1, x2, y2);\n });\n lineSegmentCoords = new Float32Array(lineSegmentCoords);\n\n withWebGLContext(glOrCanvas, function (ref) {\n var gl = ref.gl;\n var isWebGL2 = ref.isWebGL2;\n var getExtension = ref.getExtension;\n var withProgram = ref.withProgram;\n var withTexture = ref.withTexture;\n var withTextureFramebuffer = ref.withTextureFramebuffer;\n var handleContextLoss = ref.handleContextLoss;\n\n withTexture('rawDistances', function (intermediateTexture, intermediateTextureUnit) {\n if (sdfWidth !== intermediateTexture._lastWidth || sdfHeight !== intermediateTexture._lastHeight) {\n gl.texImage2D(\n gl.TEXTURE_2D, 0, gl.RGBA,\n intermediateTexture._lastWidth = sdfWidth,\n intermediateTexture._lastHeight = sdfHeight,\n 0, gl.RGBA, gl.UNSIGNED_BYTE, null\n );\n }\n\n // Unsigned distance pass\n withProgram('main', mainVertex, mainFragment, function (ref) {\n var setAttribute = ref.setAttribute;\n var setUniform = ref.setUniform;\n\n // Init extensions\n var instancingExtension = !isWebGL2 && getExtension('ANGLE_instanced_arrays');\n var blendMinMaxExtension = !isWebGL2 && getExtension('EXT_blend_minmax');\n\n // Init/update attributes\n setAttribute('aUV', 2, gl.STATIC_DRAW, 0, viewportUVs);\n setAttribute('aLineSegment', 4, gl.DYNAMIC_DRAW, 1, lineSegmentCoords);\n\n // Init/update uniforms\n setUniform.apply(void 0, [ '4f', 'uGlyphBounds' ].concat( viewBox ));\n setUniform('1f', 'uMaxDistance', maxDistance);\n setUniform('1f', 'uExponent', sdfExponent);\n\n // Render initial unsigned distance / winding number info to a texture\n withTextureFramebuffer(intermediateTexture, intermediateTextureUnit, function (framebuffer) {\n gl.enable(gl.BLEND);\n gl.colorMask(true, true, true, true);\n gl.viewport(0, 0, sdfWidth, sdfHeight);\n gl.scissor(0, 0, sdfWidth, sdfHeight);\n gl.blendFunc(gl.ONE, gl.ONE);\n // Red+Green channels are incremented (FUNC_ADD) for segment-ray crossings to give a \"winding number\".\n // Alpha holds the closest (MAX) unsigned distance.\n gl.blendEquationSeparate(gl.FUNC_ADD, isWebGL2 ? gl.MAX : blendMinMaxExtension.MAX_EXT);\n gl.clear(gl.COLOR_BUFFER_BIT);\n if (isWebGL2) {\n gl.drawArraysInstanced(gl.TRIANGLES, 0, 3, lineSegmentCoords.length / 4);\n } else {\n instancingExtension.drawArraysInstancedANGLE(gl.TRIANGLES, 0, 3, lineSegmentCoords.length / 4);\n }\n // Debug\n // const debug = new Uint8Array(sdfWidth * sdfHeight * 4)\n // gl.readPixels(0, 0, sdfWidth, sdfHeight, gl.RGBA, gl.UNSIGNED_BYTE, debug)\n // console.log('intermediate texture data: ', debug)\n });\n });\n\n // Use the data stored in the texture to apply inside/outside and write to the output framebuffer rect+channel.\n withProgram('post', viewportQuadVertex, postFragment, function (program) {\n program.setAttribute('aUV', 2, gl.STATIC_DRAW, 0, viewportUVs);\n program.setUniform('1i', 'tex', intermediateTextureUnit);\n gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);\n gl.disable(gl.BLEND);\n gl.colorMask(channel === 0, channel === 1, channel === 2, channel === 3);\n gl.viewport(x, y, sdfWidth, sdfHeight);\n gl.scissor(x, y, sdfWidth, sdfHeight);\n gl.drawArrays(gl.TRIANGLES, 0, 3);\n });\n });\n\n // Handle context loss occurring during any of the above calls\n if (gl.isContextLost()) {\n handleContextLoss();\n throw new Error('webgl context lost')\n }\n });\n }\n\n function isSupported (glOrCanvas) {\n var key = (!glOrCanvas || glOrCanvas === implicitContext) ? NULL_OBJECT : (glOrCanvas.canvas || glOrCanvas);\n var supported = supportByCanvas.get(key);\n if (supported === undefined) {\n isTestingSupport = true;\n var failReason = null;\n try {\n // Since we can't detect all failure modes up front, let's just do a trial run of a\n // simple path and compare what we get back to the correct expected result. This will\n // also serve to prime the shader compilation.\n var expectedResult = [\n 97, 106, 97, 61,\n 99, 137, 118, 80,\n 80, 118, 137, 99,\n 61, 97, 106, 97\n ];\n var testResult = generate$1(\n 4,\n 4,\n 'M8,8L16,8L24,24L16,24Z',\n [0, 0, 32, 32],\n 24,\n 1,\n glOrCanvas\n );\n supported = testResult && expectedResult.length === testResult.length &&\n testResult.every(function (val, i) { return val === expectedResult[i]; });\n if (!supported) {\n failReason = 'bad trial run results';\n console.info(expectedResult, testResult);\n }\n } catch (err) {\n // TODO if it threw due to webgl context loss, should we maybe leave isSupported as null and try again later?\n supported = false;\n failReason = err.message;\n }\n if (failReason) {\n console.warn('WebGL SDF generation not supported:', failReason);\n }\n isTestingSupport = false;\n supportByCanvas.set(key, supported);\n }\n return supported\n }\n\n var webgl = /*#__PURE__*/Object.freeze({\n __proto__: null,\n generate: generate$1,\n generateIntoCanvas: generateIntoCanvas$1,\n generateIntoFramebuffer: generateIntoFramebuffer,\n isSupported: isSupported\n });\n\n /**\n * Generate an SDF texture image for a 2D path.\n *\n * @param {number} sdfWidth - width of the SDF output image in pixels.\n * @param {number} sdfHeight - height of the SDF output image in pixels.\n * @param {string} path - an SVG-like path string describing the glyph; should only contain commands: M/L/Q/C/Z.\n * @param {number[]} viewBox - [minX, minY, maxX, maxY] in font units aligning with the texture's edges.\n * @param {number} maxDistance - the maximum distance from the glyph path in font units that will be encoded; defaults\n * to half the maximum viewBox dimension.\n * @param {number} [sdfExponent] - specifies an exponent for encoding the SDF's distance values; higher exponents\n * will give greater precision nearer the glyph's path.\n * @return {Uint8Array}\n */\n function generate(\n sdfWidth,\n sdfHeight,\n path,\n viewBox,\n maxDistance,\n sdfExponent\n ) {\n if ( maxDistance === void 0 ) maxDistance = Math.max(viewBox[2] - viewBox[0], viewBox[3] - viewBox[1]) / 2;\n if ( sdfExponent === void 0 ) sdfExponent = 1;\n\n try {\n return generate$1.apply(webgl, arguments)\n } catch(e) {\n console.info('WebGL SDF generation failed, falling back to JS', e);\n return generate$2.apply(javascript, arguments)\n }\n }\n\n /**\n * Generate an SDF texture image for a 2D path, inserting the result into a WebGL `canvas` at a given x/y position\n * and color channel. This is generally much faster than calling `generate` because it does not require reading pixels\n * back from the GPU->CPU -- the `canvas` can be used directly as a WebGL texture image, so it all stays on the GPU.\n *\n * @param {number} sdfWidth - width of the SDF output image in pixels.\n * @param {number} sdfHeight - height of the SDF output image in pixels.\n * @param {string} path - an SVG-like path string describing the glyph; should only contain commands: M/L/Q/C/Z.\n * @param {number[]} viewBox - [minX, minY, maxX, maxY] in font units aligning with the texture's edges.\n * @param {number} maxDistance - the maximum distance from the glyph path in font units that will be encoded; defaults\n * to half the maximum viewBox dimension.\n * @param {number} [sdfExponent] - specifies an exponent for encoding the SDF's distance values; higher exponents\n * will give greater precision nearer the glyph's path.\n * @param {HTMLCanvasElement|OffscreenCanvas} canvas - a WebGL-enabled canvas into which the SDF will be rendered.\n * Only the relevant rect/channel will be modified, the rest will be preserved. To avoid unpredictable results\n * due to shared GL context state, this canvas should be dedicated to use by this library alone.\n * @param {number} x - the x position at which to render the SDF.\n * @param {number} y - the y position at which to render the SDF.\n * @param {number} channel - the color channel index (0-4) into which the SDF will be rendered.\n * @return {Uint8Array}\n */\n function generateIntoCanvas(\n sdfWidth,\n sdfHeight,\n path,\n viewBox,\n maxDistance,\n sdfExponent,\n canvas,\n x,\n y,\n channel\n ) {\n if ( maxDistance === void 0 ) maxDistance = Math.max(viewBox[2] - viewBox[0], viewBox[3] - viewBox[1]) / 2;\n if ( sdfExponent === void 0 ) sdfExponent = 1;\n if ( x === void 0 ) x = 0;\n if ( y === void 0 ) y = 0;\n if ( channel === void 0 ) channel = 0;\n\n try {\n return generateIntoCanvas$1.apply(webgl, arguments)\n } catch(e) {\n console.info('WebGL SDF generation failed, falling back to JS', e);\n return generateIntoCanvas$2.apply(javascript, arguments)\n }\n }\n\n exports.forEachPathCommand = forEachPathCommand;\n exports.generate = generate;\n exports.generateIntoCanvas = generateIntoCanvas;\n exports.javascript = javascript;\n exports.pathToLineSegments = pathToLineSegments;\n exports.webgl = webgl;\n exports.webglUtils = webglUtils;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n}({}));\nreturn exports\n}\n\nexport { SDFGenerator as default };\n","function bidiFactory() {\nvar bidi = (function (exports) {\n\n // Bidi character types data, auto generated\n var DATA = {\n \"R\": \"13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73\",\n \"EN\": \"1c+9,3d+1,6,187+9,513,4+5,7+9,sf+j,175h+9,qw+q,161f+1d,4xt+a,25i+9\",\n \"ES\": \"17,2,6dp+1,f+1,av,16vr,mx+1,4o,2\",\n \"ET\": \"z+2,3h+3,b+1,ym,3e+1,2o,p4+1,8,6u,7c,g6,1wc,1n9+4,30+1b,2n,6d,qhx+1,h0m,a+1,49+2,63+1,4+1,6bb+3,12jj\",\n \"AN\": \"16o+5,2j+9,2+1,35,ed,1ff2+9,87+u\",\n \"CS\": \"18,2+1,b,2u,12k,55v,l,17v0,2,3,53,2+1,b\",\n \"B\": \"a,3,f+2,2v,690\",\n \"S\": \"9,2,k\",\n \"WS\": \"c,k,4f4,1vk+a,u,1j,335\",\n \"ON\": \"x+1,4+4,h+5,r+5,r+3,z,5+3,2+1,2+1,5,2+2,3+4,o,w,ci+1,8+d,3+d,6+8,2+g,39+1,9,6+1,2,33,b8,3+1,3c+1,7+1,5r,b,7h+3,sa+5,2,3i+6,jg+3,ur+9,2v,ij+1,9g+9,7+a,8m,4+1,49+x,14u,2+2,c+2,e+2,e+2,e+1,i+n,e+e,2+p,u+2,e+2,36+1,2+3,2+1,b,2+2,6+5,2,2,2,h+1,5+4,6+3,3+f,16+2,5+3l,3+81,1y+p,2+40,q+a,m+13,2r+ch,2+9e,75+hf,3+v,2+2w,6e+5,f+6,75+2a,1a+p,2+2g,d+5x,r+b,6+3,4+o,g,6+1,6+2,2k+1,4,2j,5h+z,1m+1,1e+f,t+2,1f+e,d+3,4o+3,2s+1,w,535+1r,h3l+1i,93+2,2s,b+1,3l+x,2v,4g+3,21+3,kz+1,g5v+1,5a,j+9,n+v,2,3,2+8,2+1,3+2,2,3,46+1,4+4,h+5,r+5,r+a,3h+2,4+6,b+4,78,1r+24,4+c,4,1hb,ey+6,103+j,16j+c,1ux+7,5+g,fsh,jdq+1t,4,57+2e,p1,1m,1m,1m,1m,4kt+1,7j+17,5+2r,d+e,3+e,2+e,2+10,m+4,w,1n+5,1q,4z+5,4b+rb,9+c,4+c,4+37,d+2g,8+b,l+b,5+1j,9+9,7+13,9+t,3+1,27+3c,2+29,2+3q,d+d,3+4,4+2,6+6,a+o,8+6,a+2,e+6,16+42,2+1i\",\n \"BN\": \"0+8,6+d,2s+5,2+p,e,4m9,1kt+2,2b+5,5+5,17q9+v,7k,6p+8,6+1,119d+3,440+7,96s+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+75,6p+2rz,1ben+1,1ekf+1,1ekf+1\",\n \"NSM\": \"lc+33,7o+6,7c+18,2,2+1,2+1,2,21+a,1d+k,h,2u+6,3+5,3+1,2+3,10,v+q,2k+a,1n+8,a,p+3,2+8,2+2,2+4,18+2,3c+e,2+v,1k,2,5+7,5,4+6,b+1,u,1n,5+3,9,l+1,r,3+1,1m,5+1,5+1,3+2,4,v+1,4,c+1,1m,5+4,2+1,5,l+1,n+5,2,1n,3,2+3,9,8+1,c+1,v,1q,d,1f,4,1m+2,6+2,2+3,8+1,c+1,u,1n,g+1,l+1,t+1,1m+1,5+3,9,l+1,u,21,8+2,2,2j,3+6,d+7,2r,3+8,c+5,23+1,s,2,2,1k+d,2+4,2+1,6+a,2+z,a,2v+3,2+5,2+1,3+1,q+1,5+2,h+3,e,3+1,7,g,jk+2,qb+2,u+2,u+1,v+1,1t+1,2+6,9,3+a,a,1a+2,3c+1,z,3b+2,5+1,a,7+2,64+1,3,1n,2+6,2,2,3+7,7+9,3,1d+g,1s+3,1d,2+4,2,6,15+8,d+1,x+3,3+1,2+2,1l,2+1,4,2+2,1n+7,3+1,49+2,2+c,2+6,5,7,4+1,5j+1l,2+4,k1+w,2db+2,3y,2p+v,ff+3,30+1,n9x+3,2+9,x+1,29+1,7l,4,5,q+1,6,48+1,r+h,e,13+7,q+a,1b+2,1d,3+3,3+1,14,1w+5,3+1,3+1,d,9,1c,1g,2+2,3+1,6+1,2,17+1,9,6n,3,5,fn5,ki+f,h+f,r2,6b,46+4,1af+2,2+1,6+3,15+2,5,4m+1,fy+3,as+1,4a+a,4x,1j+e,1l+2,1e+3,3+1,1y+2,11+4,2+7,1r,d+1,1h+8,b+3,3,2o+2,3,2+1,7,4h,4+7,m+1,1m+1,4,12+6,4+4,5g+7,3+2,2,o,2d+5,2,5+1,2+1,6n+3,7+1,2+1,s+1,2e+7,3,2+1,2z,2,3+5,2,2u+2,3+3,2+4,78+8,2+1,75+1,2,5,41+3,3+1,5,x+5,3+1,15+5,3+3,9,a+5,3+2,1b+c,2+1,bb+6,2+5,2d+l,3+6,2+1,2+1,3f+5,4,2+1,2+6,2,21+1,4,2,9o+1,f0c+4,1o+6,t5,1s+3,2a,f5l+1,43t+2,i+7,3+6,v+3,45+2,1j0+1i,5+1d,9,f,n+4,2+e,11t+6,2+g,3+6,2+1,2+4,7a+6,c6+3,15t+6,32+6,gzhy+6n\",\n \"AL\": \"16w,3,2,e+1b,z+2,2+2s,g+1,8+1,b+m,2+t,s+2i,c+e,4h+f,1d+1e,1bwe+dp,3+3z,x+c,2+1,35+3y,2rm+z,5+7,b+5,dt+l,c+u,17nl+27,1t+27,4x+6n,3+d\",\n \"LRO\": \"6ct\",\n \"RLO\": \"6cu\",\n \"LRE\": \"6cq\",\n \"RLE\": \"6cr\",\n \"PDF\": \"6cs\",\n \"LRI\": \"6ee\",\n \"RLI\": \"6ef\",\n \"FSI\": \"6eg\",\n \"PDI\": \"6eh\"\n };\n\n var TYPES = {};\n var TYPES_TO_NAMES = {};\n TYPES.L = 1; //L is the default\n TYPES_TO_NAMES[1] = 'L';\n Object.keys(DATA).forEach(function (type, i) {\n TYPES[type] = 1 << (i + 1);\n TYPES_TO_NAMES[TYPES[type]] = type;\n });\n Object.freeze(TYPES);\n\n var ISOLATE_INIT_TYPES = TYPES.LRI | TYPES.RLI | TYPES.FSI;\n var STRONG_TYPES = TYPES.L | TYPES.R | TYPES.AL;\n var NEUTRAL_ISOLATE_TYPES = TYPES.B | TYPES.S | TYPES.WS | TYPES.ON | TYPES.FSI | TYPES.LRI | TYPES.RLI | TYPES.PDI;\n var BN_LIKE_TYPES = TYPES.BN | TYPES.RLE | TYPES.LRE | TYPES.RLO | TYPES.LRO | TYPES.PDF;\n var TRAILING_TYPES = TYPES.S | TYPES.WS | TYPES.B | ISOLATE_INIT_TYPES | TYPES.PDI | BN_LIKE_TYPES;\n\n var map = null;\n\n function parseData () {\n if (!map) {\n //const start = performance.now()\n map = new Map();\n var loop = function ( type ) {\n if (DATA.hasOwnProperty(type)) {\n var lastCode = 0;\n DATA[type].split(',').forEach(function (range) {\n var ref = range.split('+');\n var skip = ref[0];\n var step = ref[1];\n skip = parseInt(skip, 36);\n step = step ? parseInt(step, 36) : 0;\n map.set(lastCode += skip, TYPES[type]);\n for (var i = 0; i < step; i++) {\n map.set(++lastCode, TYPES[type]);\n }\n });\n }\n };\n\n for (var type in DATA) loop( type );\n //console.log(`char types parsed in ${performance.now() - start}ms`)\n }\n }\n\n /**\n * @param {string} char\n * @return {number}\n */\n function getBidiCharType (char) {\n parseData();\n return map.get(char.codePointAt(0)) || TYPES.L\n }\n\n function getBidiCharTypeName(char) {\n return TYPES_TO_NAMES[getBidiCharType(char)]\n }\n\n // Bidi bracket pairs data, auto generated\n var data$1 = {\n \"pairs\": \"14>1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1\",\n \"canonical\": \"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye\"\n };\n\n /**\n * Parses an string that holds encoded codepoint mappings, e.g. for bracket pairs or\n * mirroring characters, as encoded by scripts/generateBidiData.js. Returns an object\n * holding the `map`, and optionally a `reverseMap` if `includeReverse:true`.\n * @param {string} encodedString\n * @param {boolean} includeReverse - true if you want reverseMap in the output\n * @return {{map: Map, reverseMap?: Map}}\n */\n function parseCharacterMap (encodedString, includeReverse) {\n var radix = 36;\n var lastCode = 0;\n var map = new Map();\n var reverseMap = includeReverse && new Map();\n var prevPair;\n encodedString.split(',').forEach(function visit(entry) {\n if (entry.indexOf('+') !== -1) {\n for (var i = +entry; i--;) {\n visit(prevPair);\n }\n } else {\n prevPair = entry;\n var ref = entry.split('>');\n var a = ref[0];\n var b = ref[1];\n a = String.fromCodePoint(lastCode += parseInt(a, radix));\n b = String.fromCodePoint(lastCode += parseInt(b, radix));\n map.set(a, b);\n includeReverse && reverseMap.set(b, a);\n }\n });\n return { map: map, reverseMap: reverseMap }\n }\n\n var openToClose, closeToOpen, canonical;\n\n function parse$1 () {\n if (!openToClose) {\n //const start = performance.now()\n var ref = parseCharacterMap(data$1.pairs, true);\n var map = ref.map;\n var reverseMap = ref.reverseMap;\n openToClose = map;\n closeToOpen = reverseMap;\n canonical = parseCharacterMap(data$1.canonical, false).map;\n //console.log(`brackets parsed in ${performance.now() - start}ms`)\n }\n }\n\n function openingToClosingBracket (char) {\n parse$1();\n return openToClose.get(char) || null\n }\n\n function closingToOpeningBracket (char) {\n parse$1();\n return closeToOpen.get(char) || null\n }\n\n function getCanonicalBracket (char) {\n parse$1();\n return canonical.get(char) || null\n }\n\n // Local type aliases\n var TYPE_L = TYPES.L;\n var TYPE_R = TYPES.R;\n var TYPE_EN = TYPES.EN;\n var TYPE_ES = TYPES.ES;\n var TYPE_ET = TYPES.ET;\n var TYPE_AN = TYPES.AN;\n var TYPE_CS = TYPES.CS;\n var TYPE_B = TYPES.B;\n var TYPE_S = TYPES.S;\n var TYPE_ON = TYPES.ON;\n var TYPE_BN = TYPES.BN;\n var TYPE_NSM = TYPES.NSM;\n var TYPE_AL = TYPES.AL;\n var TYPE_LRO = TYPES.LRO;\n var TYPE_RLO = TYPES.RLO;\n var TYPE_LRE = TYPES.LRE;\n var TYPE_RLE = TYPES.RLE;\n var TYPE_PDF = TYPES.PDF;\n var TYPE_LRI = TYPES.LRI;\n var TYPE_RLI = TYPES.RLI;\n var TYPE_FSI = TYPES.FSI;\n var TYPE_PDI = TYPES.PDI;\n\n /**\n * @typedef {object} GetEmbeddingLevelsResult\n * @property {{start, end, level}[]} paragraphs\n * @property {Uint8Array} levels\n */\n\n /**\n * This function applies the Bidirectional Algorithm to a string, returning the resolved embedding levels\n * in a single Uint8Array plus a list of objects holding each paragraph's start and end indices and resolved\n * base embedding level.\n *\n * @param {string} string - The input string\n * @param {\"ltr\"|\"rtl\"|\"auto\"} [baseDirection] - Use \"ltr\" or \"rtl\" to force a base paragraph direction,\n * otherwise a direction will be chosen automatically from each paragraph's contents.\n * @return {GetEmbeddingLevelsResult}\n */\n function getEmbeddingLevels (string, baseDirection) {\n var MAX_DEPTH = 125;\n\n // Start by mapping all characters to their unicode type, as a bitmask integer\n var charTypes = new Uint32Array(string.length);\n for (var i = 0; i < string.length; i++) {\n charTypes[i] = getBidiCharType(string[i]);\n }\n\n var charTypeCounts = new Map(); //will be cleared at start of each paragraph\n function changeCharType(i, type) {\n var oldType = charTypes[i];\n charTypes[i] = type;\n charTypeCounts.set(oldType, charTypeCounts.get(oldType) - 1);\n if (oldType & NEUTRAL_ISOLATE_TYPES) {\n charTypeCounts.set(NEUTRAL_ISOLATE_TYPES, charTypeCounts.get(NEUTRAL_ISOLATE_TYPES) - 1);\n }\n charTypeCounts.set(type, (charTypeCounts.get(type) || 0) + 1);\n if (type & NEUTRAL_ISOLATE_TYPES) {\n charTypeCounts.set(NEUTRAL_ISOLATE_TYPES, (charTypeCounts.get(NEUTRAL_ISOLATE_TYPES) || 0) + 1);\n }\n }\n\n var embedLevels = new Uint8Array(string.length);\n var isolationPairs = new Map(); //init->pdi and pdi->init\n\n // === 3.3.1 The Paragraph Level ===\n // 3.3.1 P1: Split the text into paragraphs\n var paragraphs = []; // [{start, end, level}, ...]\n var paragraph = null;\n for (var i$1 = 0; i$1 < string.length; i$1++) {\n if (!paragraph) {\n paragraphs.push(paragraph = {\n start: i$1,\n end: string.length - 1,\n // 3.3.1 P2-P3: Determine the paragraph level\n level: baseDirection === 'rtl' ? 1 : baseDirection === 'ltr' ? 0 : determineAutoEmbedLevel(i$1, false)\n });\n }\n if (charTypes[i$1] & TYPE_B) {\n paragraph.end = i$1;\n paragraph = null;\n }\n }\n\n var FORMATTING_TYPES = TYPE_RLE | TYPE_LRE | TYPE_RLO | TYPE_LRO | ISOLATE_INIT_TYPES | TYPE_PDI | TYPE_PDF | TYPE_B;\n var nextEven = function (n) { return n + ((n & 1) ? 1 : 2); };\n var nextOdd = function (n) { return n + ((n & 1) ? 2 : 1); };\n\n // Everything from here on will operate per paragraph.\n for (var paraIdx = 0; paraIdx < paragraphs.length; paraIdx++) {\n paragraph = paragraphs[paraIdx];\n var statusStack = [{\n _level: paragraph.level,\n _override: 0, //0=neutral, 1=L, 2=R\n _isolate: 0 //bool\n }];\n var stackTop = (void 0);\n var overflowIsolateCount = 0;\n var overflowEmbeddingCount = 0;\n var validIsolateCount = 0;\n charTypeCounts.clear();\n\n // === 3.3.2 Explicit Levels and Directions ===\n for (var i$2 = paragraph.start; i$2 <= paragraph.end; i$2++) {\n var charType = charTypes[i$2];\n stackTop = statusStack[statusStack.length - 1];\n\n // Set initial counts\n charTypeCounts.set(charType, (charTypeCounts.get(charType) || 0) + 1);\n if (charType & NEUTRAL_ISOLATE_TYPES) {\n charTypeCounts.set(NEUTRAL_ISOLATE_TYPES, (charTypeCounts.get(NEUTRAL_ISOLATE_TYPES) || 0) + 1);\n }\n\n // Explicit Embeddings: 3.3.2 X2 - X3\n if (charType & FORMATTING_TYPES) { //prefilter all formatters\n if (charType & (TYPE_RLE | TYPE_LRE)) {\n embedLevels[i$2] = stackTop._level; // 5.2\n var level = (charType === TYPE_RLE ? nextOdd : nextEven)(stackTop._level);\n if (level <= MAX_DEPTH && !overflowIsolateCount && !overflowEmbeddingCount) {\n statusStack.push({\n _level: level,\n _override: 0,\n _isolate: 0\n });\n } else if (!overflowIsolateCount) {\n overflowEmbeddingCount++;\n }\n }\n\n // Explicit Overrides: 3.3.2 X4 - X5\n else if (charType & (TYPE_RLO | TYPE_LRO)) {\n embedLevels[i$2] = stackTop._level; // 5.2\n var level$1 = (charType === TYPE_RLO ? nextOdd : nextEven)(stackTop._level);\n if (level$1 <= MAX_DEPTH && !overflowIsolateCount && !overflowEmbeddingCount) {\n statusStack.push({\n _level: level$1,\n _override: (charType & TYPE_RLO) ? TYPE_R : TYPE_L,\n _isolate: 0\n });\n } else if (!overflowIsolateCount) {\n overflowEmbeddingCount++;\n }\n }\n\n // Isolates: 3.3.2 X5a - X5c\n else if (charType & ISOLATE_INIT_TYPES) {\n // X5c - FSI becomes either RLI or LRI\n if (charType & TYPE_FSI) {\n charType = determineAutoEmbedLevel(i$2 + 1, true) === 1 ? TYPE_RLI : TYPE_LRI;\n }\n\n embedLevels[i$2] = stackTop._level;\n if (stackTop._override) {\n changeCharType(i$2, stackTop._override);\n }\n var level$2 = (charType === TYPE_RLI ? nextOdd : nextEven)(stackTop._level);\n if (level$2 <= MAX_DEPTH && overflowIsolateCount === 0 && overflowEmbeddingCount === 0) {\n validIsolateCount++;\n statusStack.push({\n _level: level$2,\n _override: 0,\n _isolate: 1,\n _isolInitIndex: i$2\n });\n } else {\n overflowIsolateCount++;\n }\n }\n\n // Terminating Isolates: 3.3.2 X6a\n else if (charType & TYPE_PDI) {\n if (overflowIsolateCount > 0) {\n overflowIsolateCount--;\n } else if (validIsolateCount > 0) {\n overflowEmbeddingCount = 0;\n while (!statusStack[statusStack.length - 1]._isolate) {\n statusStack.pop();\n }\n // Add to isolation pairs bidirectional mapping:\n var isolInitIndex = statusStack[statusStack.length - 1]._isolInitIndex;\n if (isolInitIndex != null) {\n isolationPairs.set(isolInitIndex, i$2);\n isolationPairs.set(i$2, isolInitIndex);\n }\n statusStack.pop();\n validIsolateCount--;\n }\n stackTop = statusStack[statusStack.length - 1];\n embedLevels[i$2] = stackTop._level;\n if (stackTop._override) {\n changeCharType(i$2, stackTop._override);\n }\n }\n\n\n // Terminating Embeddings and Overrides: 3.3.2 X7\n else if (charType & TYPE_PDF) {\n if (overflowIsolateCount === 0) {\n if (overflowEmbeddingCount > 0) {\n overflowEmbeddingCount--;\n } else if (!stackTop._isolate && statusStack.length > 1) {\n statusStack.pop();\n stackTop = statusStack[statusStack.length - 1];\n }\n }\n embedLevels[i$2] = stackTop._level; // 5.2\n }\n\n // End of Paragraph: 3.3.2 X8\n else if (charType & TYPE_B) {\n embedLevels[i$2] = paragraph.level;\n }\n }\n\n // Non-formatting characters: 3.3.2 X6\n else {\n embedLevels[i$2] = stackTop._level;\n // NOTE: This exclusion of BN seems to go against what section 5.2 says, but is required for test passage\n if (stackTop._override && charType !== TYPE_BN) {\n changeCharType(i$2, stackTop._override);\n }\n }\n }\n\n // === 3.3.3 Preparations for Implicit Processing ===\n\n // Remove all RLE, LRE, RLO, LRO, PDF, and BN characters: 3.3.3 X9\n // Note: Due to section 5.2, we won't remove them, but we'll use the BN_LIKE_TYPES bitset to\n // easily ignore them all from here on out.\n\n // 3.3.3 X10\n // Compute the set of isolating run sequences as specified by BD13\n var levelRuns = [];\n var currentRun = null;\n for (var i$3 = paragraph.start; i$3 <= paragraph.end; i$3++) {\n var charType$1 = charTypes[i$3];\n if (!(charType$1 & BN_LIKE_TYPES)) {\n var lvl = embedLevels[i$3];\n var isIsolInit = charType$1 & ISOLATE_INIT_TYPES;\n var isPDI = charType$1 === TYPE_PDI;\n if (currentRun && lvl === currentRun._level) {\n currentRun._end = i$3;\n currentRun._endsWithIsolInit = isIsolInit;\n } else {\n levelRuns.push(currentRun = {\n _start: i$3,\n _end: i$3,\n _level: lvl,\n _startsWithPDI: isPDI,\n _endsWithIsolInit: isIsolInit\n });\n }\n }\n }\n var isolatingRunSeqs = []; // [{seqIndices: [], sosType: L|R, eosType: L|R}]\n for (var runIdx = 0; runIdx < levelRuns.length; runIdx++) {\n var run = levelRuns[runIdx];\n if (!run._startsWithPDI || (run._startsWithPDI && !isolationPairs.has(run._start))) {\n var seqRuns = [currentRun = run];\n for (var pdiIndex = (void 0); currentRun && currentRun._endsWithIsolInit && (pdiIndex = isolationPairs.get(currentRun._end)) != null;) {\n for (var i$4 = runIdx + 1; i$4 < levelRuns.length; i$4++) {\n if (levelRuns[i$4]._start === pdiIndex) {\n seqRuns.push(currentRun = levelRuns[i$4]);\n break\n }\n }\n }\n // build flat list of indices across all runs:\n var seqIndices = [];\n for (var i$5 = 0; i$5 < seqRuns.length; i$5++) {\n var run$1 = seqRuns[i$5];\n for (var j = run$1._start; j <= run$1._end; j++) {\n seqIndices.push(j);\n }\n }\n // determine the sos/eos types:\n var firstLevel = embedLevels[seqIndices[0]];\n var prevLevel = paragraph.level;\n for (var i$6 = seqIndices[0] - 1; i$6 >= 0; i$6--) {\n if (!(charTypes[i$6] & BN_LIKE_TYPES)) { //5.2\n prevLevel = embedLevels[i$6];\n break\n }\n }\n var lastIndex = seqIndices[seqIndices.length - 1];\n var lastLevel = embedLevels[lastIndex];\n var nextLevel = paragraph.level;\n if (!(charTypes[lastIndex] & ISOLATE_INIT_TYPES)) {\n for (var i$7 = lastIndex + 1; i$7 <= paragraph.end; i$7++) {\n if (!(charTypes[i$7] & BN_LIKE_TYPES)) { //5.2\n nextLevel = embedLevels[i$7];\n break\n }\n }\n }\n isolatingRunSeqs.push({\n _seqIndices: seqIndices,\n _sosType: Math.max(prevLevel, firstLevel) % 2 ? TYPE_R : TYPE_L,\n _eosType: Math.max(nextLevel, lastLevel) % 2 ? TYPE_R : TYPE_L\n });\n }\n }\n\n // The next steps are done per isolating run sequence\n for (var seqIdx = 0; seqIdx < isolatingRunSeqs.length; seqIdx++) {\n var ref = isolatingRunSeqs[seqIdx];\n var seqIndices$1 = ref._seqIndices;\n var sosType = ref._sosType;\n var eosType = ref._eosType;\n\n // === 3.3.4 Resolving Weak Types ===\n\n // W1 + 5.2. Search backward from each NSM to the first character in the isolating run sequence whose\n // bidirectional type is not BN, and set the NSM to ON if it is an isolate initiator or PDI, and to its\n // type otherwise. If the NSM is the first non-BN character, change the NSM to the type of sos.\n if (charTypeCounts.get(TYPE_NSM)) {\n for (var si = 0; si < seqIndices$1.length; si++) {\n var i$8 = seqIndices$1[si];\n if (charTypes[i$8] & TYPE_NSM) {\n var prevType = sosType;\n for (var sj = si - 1; sj >= 0; sj--) {\n if (!(charTypes[seqIndices$1[sj]] & BN_LIKE_TYPES)) { //5.2 scan back to first non-BN\n prevType = charTypes[seqIndices$1[sj]];\n break\n }\n }\n changeCharType(i$8, (prevType & (ISOLATE_INIT_TYPES | TYPE_PDI)) ? TYPE_ON : prevType);\n }\n }\n }\n\n // W2. Search backward from each instance of a European number until the first strong type (R, L, AL, or sos)\n // is found. If an AL is found, change the type of the European number to Arabic number.\n if (charTypeCounts.get(TYPE_EN)) {\n for (var si$1 = 0; si$1 < seqIndices$1.length; si$1++) {\n var i$9 = seqIndices$1[si$1];\n if (charTypes[i$9] & TYPE_EN) {\n for (var sj$1 = si$1 - 1; sj$1 >= -1; sj$1--) {\n var prevCharType = sj$1 === -1 ? sosType : charTypes[seqIndices$1[sj$1]];\n if (prevCharType & STRONG_TYPES) {\n if (prevCharType === TYPE_AL) {\n changeCharType(i$9, TYPE_AN);\n }\n break\n }\n }\n }\n }\n }\n\n // W3. Change all ALs to R\n if (charTypeCounts.get(TYPE_AL)) {\n for (var si$2 = 0; si$2 < seqIndices$1.length; si$2++) {\n var i$10 = seqIndices$1[si$2];\n if (charTypes[i$10] & TYPE_AL) {\n changeCharType(i$10, TYPE_R);\n }\n }\n }\n\n // W4. A single European separator between two European numbers changes to a European number. A single common\n // separator between two numbers of the same type changes to that type.\n if (charTypeCounts.get(TYPE_ES) || charTypeCounts.get(TYPE_CS)) {\n for (var si$3 = 1; si$3 < seqIndices$1.length - 1; si$3++) {\n var i$11 = seqIndices$1[si$3];\n if (charTypes[i$11] & (TYPE_ES | TYPE_CS)) {\n var prevType$1 = 0, nextType = 0;\n for (var sj$2 = si$3 - 1; sj$2 >= 0; sj$2--) {\n prevType$1 = charTypes[seqIndices$1[sj$2]];\n if (!(prevType$1 & BN_LIKE_TYPES)) { //5.2\n break\n }\n }\n for (var sj$3 = si$3 + 1; sj$3 < seqIndices$1.length; sj$3++) {\n nextType = charTypes[seqIndices$1[sj$3]];\n if (!(nextType & BN_LIKE_TYPES)) { //5.2\n break\n }\n }\n if (prevType$1 === nextType && (charTypes[i$11] === TYPE_ES ? prevType$1 === TYPE_EN : (prevType$1 & (TYPE_EN | TYPE_AN)))) {\n changeCharType(i$11, prevType$1);\n }\n }\n }\n }\n\n // W5. A sequence of European terminators adjacent to European numbers changes to all European numbers.\n if (charTypeCounts.get(TYPE_EN)) {\n for (var si$4 = 0; si$4 < seqIndices$1.length; si$4++) {\n var i$12 = seqIndices$1[si$4];\n if (charTypes[i$12] & TYPE_EN) {\n for (var sj$4 = si$4 - 1; sj$4 >= 0 && (charTypes[seqIndices$1[sj$4]] & (TYPE_ET | BN_LIKE_TYPES)); sj$4--) {\n changeCharType(seqIndices$1[sj$4], TYPE_EN);\n }\n for (var sj$5 = si$4 + 1; sj$5 < seqIndices$1.length && (charTypes[seqIndices$1[sj$5]] & (TYPE_ET | BN_LIKE_TYPES)); sj$5++) {\n changeCharType(seqIndices$1[sj$5], TYPE_EN);\n }\n }\n }\n }\n\n // W6. Otherwise, separators and terminators change to Other Neutral.\n if (charTypeCounts.get(TYPE_ET) || charTypeCounts.get(TYPE_ES) || charTypeCounts.get(TYPE_CS)) {\n for (var si$5 = 0; si$5 < seqIndices$1.length; si$5++) {\n var i$13 = seqIndices$1[si$5];\n if (charTypes[i$13] & (TYPE_ET | TYPE_ES | TYPE_CS)) {\n changeCharType(i$13, TYPE_ON);\n // 5.2 transform adjacent BNs too:\n for (var sj$6 = si$5 - 1; sj$6 >= 0 && (charTypes[seqIndices$1[sj$6]] & BN_LIKE_TYPES); sj$6--) {\n changeCharType(seqIndices$1[sj$6], TYPE_ON);\n }\n for (var sj$7 = si$5 + 1; sj$7 < seqIndices$1.length && (charTypes[seqIndices$1[sj$7]] & BN_LIKE_TYPES); sj$7++) {\n changeCharType(seqIndices$1[sj$7], TYPE_ON);\n }\n }\n }\n }\n\n // W7. Search backward from each instance of a European number until the first strong type (R, L, or sos)\n // is found. If an L is found, then change the type of the European number to L.\n // NOTE: implemented in single forward pass for efficiency\n if (charTypeCounts.get(TYPE_EN)) {\n for (var si$6 = 0, prevStrongType = sosType; si$6 < seqIndices$1.length; si$6++) {\n var i$14 = seqIndices$1[si$6];\n var type = charTypes[i$14];\n if (type & TYPE_EN) {\n if (prevStrongType === TYPE_L) {\n changeCharType(i$14, TYPE_L);\n }\n } else if (type & STRONG_TYPES) {\n prevStrongType = type;\n }\n }\n }\n\n // === 3.3.5 Resolving Neutral and Isolate Formatting Types ===\n\n if (charTypeCounts.get(NEUTRAL_ISOLATE_TYPES)) {\n // N0. Process bracket pairs in an isolating run sequence sequentially in the logical order of the text\n // positions of the opening paired brackets using the logic given below. Within this scope, bidirectional\n // types EN and AN are treated as R.\n var R_TYPES_FOR_N_STEPS = (TYPE_R | TYPE_EN | TYPE_AN);\n var STRONG_TYPES_FOR_N_STEPS = R_TYPES_FOR_N_STEPS | TYPE_L;\n\n // * Identify the bracket pairs in the current isolating run sequence according to BD16.\n var bracketPairs = [];\n {\n var openerStack = [];\n for (var si$7 = 0; si$7 < seqIndices$1.length; si$7++) {\n // NOTE: for any potential bracket character we also test that it still carries a NI\n // type, as that may have been changed earlier. This doesn't seem to be explicitly\n // called out in the spec, but is required for passage of certain tests.\n if (charTypes[seqIndices$1[si$7]] & NEUTRAL_ISOLATE_TYPES) {\n var char = string[seqIndices$1[si$7]];\n var oppositeBracket = (void 0);\n // Opening bracket\n if (openingToClosingBracket(char) !== null) {\n if (openerStack.length < 63) {\n openerStack.push({ char: char, seqIndex: si$7 });\n } else {\n break\n }\n }\n // Closing bracket\n else if ((oppositeBracket = closingToOpeningBracket(char)) !== null) {\n for (var stackIdx = openerStack.length - 1; stackIdx >= 0; stackIdx--) {\n var stackChar = openerStack[stackIdx].char;\n if (stackChar === oppositeBracket ||\n stackChar === closingToOpeningBracket(getCanonicalBracket(char)) ||\n openingToClosingBracket(getCanonicalBracket(stackChar)) === char\n ) {\n bracketPairs.push([openerStack[stackIdx].seqIndex, si$7]);\n openerStack.length = stackIdx; //pop the matching bracket and all following\n break\n }\n }\n }\n }\n }\n bracketPairs.sort(function (a, b) { return a[0] - b[0]; });\n }\n // * For each bracket-pair element in the list of pairs of text positions\n for (var pairIdx = 0; pairIdx < bracketPairs.length; pairIdx++) {\n var ref$1 = bracketPairs[pairIdx];\n var openSeqIdx = ref$1[0];\n var closeSeqIdx = ref$1[1];\n // a. Inspect the bidirectional types of the characters enclosed within the bracket pair.\n // b. If any strong type (either L or R) matching the embedding direction is found, set the type for both\n // brackets in the pair to match the embedding direction.\n var foundStrongType = false;\n var useStrongType = 0;\n for (var si$8 = openSeqIdx + 1; si$8 < closeSeqIdx; si$8++) {\n var i$15 = seqIndices$1[si$8];\n if (charTypes[i$15] & STRONG_TYPES_FOR_N_STEPS) {\n foundStrongType = true;\n var lr = (charTypes[i$15] & R_TYPES_FOR_N_STEPS) ? TYPE_R : TYPE_L;\n if (lr === getEmbedDirection(i$15)) {\n useStrongType = lr;\n break\n }\n }\n }\n // c. Otherwise, if there is a strong type it must be opposite the embedding direction. Therefore, test\n // for an established context with a preceding strong type by checking backwards before the opening paired\n // bracket until the first strong type (L, R, or sos) is found.\n // 1. If the preceding strong type is also opposite the embedding direction, context is established, so\n // set the type for both brackets in the pair to that direction.\n // 2. Otherwise set the type for both brackets in the pair to the embedding direction.\n if (foundStrongType && !useStrongType) {\n useStrongType = sosType;\n for (var si$9 = openSeqIdx - 1; si$9 >= 0; si$9--) {\n var i$16 = seqIndices$1[si$9];\n if (charTypes[i$16] & STRONG_TYPES_FOR_N_STEPS) {\n var lr$1 = (charTypes[i$16] & R_TYPES_FOR_N_STEPS) ? TYPE_R : TYPE_L;\n if (lr$1 !== getEmbedDirection(i$16)) {\n useStrongType = lr$1;\n } else {\n useStrongType = getEmbedDirection(i$16);\n }\n break\n }\n }\n }\n if (useStrongType) {\n charTypes[seqIndices$1[openSeqIdx]] = charTypes[seqIndices$1[closeSeqIdx]] = useStrongType;\n // * Any number of characters that had original bidirectional character type NSM prior to the application\n // of W1 that immediately follow a paired bracket which changed to L or R under N0 should change to match\n // the type of their preceding bracket.\n if (useStrongType !== getEmbedDirection(seqIndices$1[openSeqIdx])) {\n for (var si$10 = openSeqIdx + 1; si$10 < seqIndices$1.length; si$10++) {\n if (!(charTypes[seqIndices$1[si$10]] & BN_LIKE_TYPES)) {\n if (getBidiCharType(string[seqIndices$1[si$10]]) & TYPE_NSM) {\n charTypes[seqIndices$1[si$10]] = useStrongType;\n }\n break\n }\n }\n }\n if (useStrongType !== getEmbedDirection(seqIndices$1[closeSeqIdx])) {\n for (var si$11 = closeSeqIdx + 1; si$11 < seqIndices$1.length; si$11++) {\n if (!(charTypes[seqIndices$1[si$11]] & BN_LIKE_TYPES)) {\n if (getBidiCharType(string[seqIndices$1[si$11]]) & TYPE_NSM) {\n charTypes[seqIndices$1[si$11]] = useStrongType;\n }\n break\n }\n }\n }\n }\n }\n\n // N1. A sequence of NIs takes the direction of the surrounding strong text if the text on both sides has the\n // same direction.\n // N2. Any remaining NIs take the embedding direction.\n for (var si$12 = 0; si$12 < seqIndices$1.length; si$12++) {\n if (charTypes[seqIndices$1[si$12]] & NEUTRAL_ISOLATE_TYPES) {\n var niRunStart = si$12, niRunEnd = si$12;\n var prevType$2 = sosType; //si === 0 ? sosType : (charTypes[seqIndices[si - 1]] & R_TYPES_FOR_N_STEPS) ? TYPE_R : TYPE_L\n for (var si2 = si$12 - 1; si2 >= 0; si2--) {\n if (charTypes[seqIndices$1[si2]] & BN_LIKE_TYPES) {\n niRunStart = si2; //5.2 treat BNs adjacent to NIs as NIs\n } else {\n prevType$2 = (charTypes[seqIndices$1[si2]] & R_TYPES_FOR_N_STEPS) ? TYPE_R : TYPE_L;\n break\n }\n }\n var nextType$1 = eosType;\n for (var si2$1 = si$12 + 1; si2$1 < seqIndices$1.length; si2$1++) {\n if (charTypes[seqIndices$1[si2$1]] & (NEUTRAL_ISOLATE_TYPES | BN_LIKE_TYPES)) {\n niRunEnd = si2$1;\n } else {\n nextType$1 = (charTypes[seqIndices$1[si2$1]] & R_TYPES_FOR_N_STEPS) ? TYPE_R : TYPE_L;\n break\n }\n }\n for (var sj$8 = niRunStart; sj$8 <= niRunEnd; sj$8++) {\n charTypes[seqIndices$1[sj$8]] = prevType$2 === nextType$1 ? prevType$2 : getEmbedDirection(seqIndices$1[sj$8]);\n }\n si$12 = niRunEnd;\n }\n }\n }\n }\n\n // === 3.3.6 Resolving Implicit Levels ===\n\n for (var i$17 = paragraph.start; i$17 <= paragraph.end; i$17++) {\n var level$3 = embedLevels[i$17];\n var type$1 = charTypes[i$17];\n // I2. For all characters with an odd (right-to-left) embedding level, those of type L, EN or AN go up one level.\n if (level$3 & 1) {\n if (type$1 & (TYPE_L | TYPE_EN | TYPE_AN)) {\n embedLevels[i$17]++;\n }\n }\n // I1. For all characters with an even (left-to-right) embedding level, those of type R go up one level\n // and those of type AN or EN go up two levels.\n else {\n if (type$1 & TYPE_R) {\n embedLevels[i$17]++;\n } else if (type$1 & (TYPE_AN | TYPE_EN)) {\n embedLevels[i$17] += 2;\n }\n }\n\n // 5.2: Resolve any LRE, RLE, LRO, RLO, PDF, or BN to the level of the preceding character if there is one,\n // and otherwise to the base level.\n if (type$1 & BN_LIKE_TYPES) {\n embedLevels[i$17] = i$17 === 0 ? paragraph.level : embedLevels[i$17 - 1];\n }\n\n // 3.4 L1.1-4: Reset the embedding level of segment/paragraph separators, and any sequence of whitespace or\n // isolate formatting characters preceding them or the end of the paragraph, to the paragraph level.\n // NOTE: this will also need to be applied to each individual line ending after line wrapping occurs.\n if (i$17 === paragraph.end || getBidiCharType(string[i$17]) & (TYPE_S | TYPE_B)) {\n for (var j$1 = i$17; j$1 >= 0 && (getBidiCharType(string[j$1]) & TRAILING_TYPES); j$1--) {\n embedLevels[j$1] = paragraph.level;\n }\n }\n }\n }\n\n // DONE! The resolved levels can then be used, after line wrapping, to flip runs of characters\n // according to section 3.4 Reordering Resolved Levels\n return {\n levels: embedLevels,\n paragraphs: paragraphs\n }\n\n function determineAutoEmbedLevel (start, isFSI) {\n // 3.3.1 P2 - P3\n for (var i = start; i < string.length; i++) {\n var charType = charTypes[i];\n if (charType & (TYPE_R | TYPE_AL)) {\n return 1\n }\n if ((charType & (TYPE_B | TYPE_L)) || (isFSI && charType === TYPE_PDI)) {\n return 0\n }\n if (charType & ISOLATE_INIT_TYPES) {\n var pdi = indexOfMatchingPDI(i);\n i = pdi === -1 ? string.length : pdi;\n }\n }\n return 0\n }\n\n function indexOfMatchingPDI (isolateStart) {\n // 3.1.2 BD9\n var isolationLevel = 1;\n for (var i = isolateStart + 1; i < string.length; i++) {\n var charType = charTypes[i];\n if (charType & TYPE_B) {\n break\n }\n if (charType & TYPE_PDI) {\n if (--isolationLevel === 0) {\n return i\n }\n } else if (charType & ISOLATE_INIT_TYPES) {\n isolationLevel++;\n }\n }\n return -1\n }\n\n function getEmbedDirection (i) {\n return (embedLevels[i] & 1) ? TYPE_R : TYPE_L\n }\n\n }\n\n // Bidi mirrored chars data, auto generated\n var data = \"14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1\";\n\n var mirrorMap;\n\n function parse () {\n if (!mirrorMap) {\n //const start = performance.now()\n var ref = parseCharacterMap(data, true);\n var map = ref.map;\n var reverseMap = ref.reverseMap;\n // Combine both maps into one\n reverseMap.forEach(function (value, key) {\n map.set(key, value);\n });\n mirrorMap = map;\n //console.log(`mirrored chars parsed in ${performance.now() - start}ms`)\n }\n }\n\n function getMirroredCharacter (char) {\n parse();\n return mirrorMap.get(char) || null\n }\n\n /**\n * Given a string and its resolved embedding levels, build a map of indices to replacement chars\n * for any characters in right-to-left segments that have defined mirrored characters.\n * @param string\n * @param embeddingLevels\n * @param [start]\n * @param [end]\n * @return {Map}\n */\n function getMirroredCharactersMap(string, embeddingLevels, start, end) {\n var strLen = string.length;\n start = Math.max(0, start == null ? 0 : +start);\n end = Math.min(strLen - 1, end == null ? strLen - 1 : +end);\n\n var map = new Map();\n for (var i = start; i <= end; i++) {\n if (embeddingLevels[i] & 1) { //only odd (rtl) levels\n var mirror = getMirroredCharacter(string[i]);\n if (mirror !== null) {\n map.set(i, mirror);\n }\n }\n }\n return map\n }\n\n /**\n * Given a start and end denoting a single line within a string, and a set of precalculated\n * bidi embedding levels, produce a list of segments whose ordering should be flipped, in sequence.\n * @param {string} string - the full input string\n * @param {GetEmbeddingLevelsResult} embeddingLevelsResult - the result object from getEmbeddingLevels\n * @param {number} [start] - first character in a subset of the full string\n * @param {number} [end] - last character in a subset of the full string\n * @return {number[][]} - the list of start/end segments that should be flipped, in order.\n */\n function getReorderSegments(string, embeddingLevelsResult, start, end) {\n var strLen = string.length;\n start = Math.max(0, start == null ? 0 : +start);\n end = Math.min(strLen - 1, end == null ? strLen - 1 : +end);\n\n var segments = [];\n embeddingLevelsResult.paragraphs.forEach(function (paragraph) {\n var lineStart = Math.max(start, paragraph.start);\n var lineEnd = Math.min(end, paragraph.end);\n if (lineStart < lineEnd) {\n // Local slice for mutation\n var lineLevels = embeddingLevelsResult.levels.slice(lineStart, lineEnd + 1);\n\n // 3.4 L1.4: Reset any sequence of whitespace characters and/or isolate formatting characters at the\n // end of the line to the paragraph level.\n for (var i = lineEnd; i >= lineStart && (getBidiCharType(string[i]) & TRAILING_TYPES); i--) {\n lineLevels[i] = paragraph.level;\n }\n\n // L2. From the highest level found in the text to the lowest odd level on each line, including intermediate levels\n // not actually present in the text, reverse any contiguous sequence of characters that are at that level or higher.\n var maxLevel = paragraph.level;\n var minOddLevel = Infinity;\n for (var i$1 = 0; i$1 < lineLevels.length; i$1++) {\n var level = lineLevels[i$1];\n if (level > maxLevel) { maxLevel = level; }\n if (level < minOddLevel) { minOddLevel = level | 1; }\n }\n for (var lvl = maxLevel; lvl >= minOddLevel; lvl--) {\n for (var i$2 = 0; i$2 < lineLevels.length; i$2++) {\n if (lineLevels[i$2] >= lvl) {\n var segStart = i$2;\n while (i$2 + 1 < lineLevels.length && lineLevels[i$2 + 1] >= lvl) {\n i$2++;\n }\n if (i$2 > segStart) {\n segments.push([segStart + start, i$2 + start]);\n }\n }\n }\n }\n }\n });\n return segments\n }\n\n /**\n * @param {string} string\n * @param {GetEmbeddingLevelsResult} embedLevelsResult\n * @param {number} [start]\n * @param {number} [end]\n * @return {string} the new string with bidi segments reordered\n */\n function getReorderedString(string, embedLevelsResult, start, end) {\n var indices = getReorderedIndices(string, embedLevelsResult, start, end);\n var chars = [].concat( string );\n indices.forEach(function (charIndex, i) {\n chars[i] = (\n (embedLevelsResult.levels[charIndex] & 1) ? getMirroredCharacter(string[charIndex]) : null\n ) || string[charIndex];\n });\n return chars.join('')\n }\n\n /**\n * @param {string} string\n * @param {GetEmbeddingLevelsResult} embedLevelsResult\n * @param {number} [start]\n * @param {number} [end]\n * @return {number[]} an array with character indices in their new bidi order\n */\n function getReorderedIndices(string, embedLevelsResult, start, end) {\n var segments = getReorderSegments(string, embedLevelsResult, start, end);\n // Fill an array with indices\n var indices = [];\n for (var i = 0; i < string.length; i++) {\n indices[i] = i;\n }\n // Reverse each segment in order\n segments.forEach(function (ref) {\n var start = ref[0];\n var end = ref[1];\n\n var slice = indices.slice(start, end + 1);\n for (var i = slice.length; i--;) {\n indices[end - i] = slice[i];\n }\n });\n return indices\n }\n\n exports.closingToOpeningBracket = closingToOpeningBracket;\n exports.getBidiCharType = getBidiCharType;\n exports.getBidiCharTypeName = getBidiCharTypeName;\n exports.getCanonicalBracket = getCanonicalBracket;\n exports.getEmbeddingLevels = getEmbeddingLevels;\n exports.getMirroredCharacter = getMirroredCharacter;\n exports.getMirroredCharactersMap = getMirroredCharactersMap;\n exports.getReorderSegments = getReorderSegments;\n exports.getReorderedIndices = getReorderedIndices;\n exports.getReorderedString = getReorderedString;\n exports.openingToClosingBracket = openingToClosingBracket;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n}({}));\nreturn bidi}\n\nexport default bidiFactory;\n","import { ShaderChunk, UniformsUtils, MeshDepthMaterial, RGBADepthPacking, MeshDistanceMaterial, ShaderLib, Matrix4, Vector3, Mesh, CylinderBufferGeometry, Vector2, MeshStandardMaterial, DoubleSide } from 'three';\n\n/**\n * Regular expression for matching the `void main() {` opener line in GLSL.\n * @type {RegExp}\n */\nconst voidMainRegExp = /\\bvoid\\s+main\\s*\\(\\s*\\)\\s*{/g;\n\n/**\n * Recursively expands all `#include ` statements within string of shader code.\n * Copied from three's WebGLProgram#parseIncludes for external use.\n *\n * @param {string} source - The GLSL source code to evaluate\n * @return {string} The GLSL code with all includes expanded\n */\nfunction expandShaderIncludes( source ) {\n const pattern = /^[ \\t]*#include +<([\\w\\d./]+)>/gm;\n function replace(match, include) {\n let chunk = ShaderChunk[include];\n return chunk ? expandShaderIncludes(chunk) : match\n }\n return source.replace( pattern, replace )\n}\n\n/*\n * This is a direct copy of MathUtils.generateUUID from Three.js, to preserve compatibility with three\n * versions before 0.113.0 as it was changed from Math to MathUtils in that version.\n * https://github.com/mrdoob/three.js/blob/dd8b5aa3b270c17096b90945cd2d6d1b13aaec53/src/math/MathUtils.js#L16\n */\n\nconst _lut = [];\n\nfor (let i = 0; i < 256; i++) {\n _lut[i] = (i < 16 ? '0' : '') + (i).toString(16);\n}\n\nfunction generateUUID() {\n\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136\n\n const d0 = Math.random() * 0xffffffff | 0;\n const d1 = Math.random() * 0xffffffff | 0;\n const d2 = Math.random() * 0xffffffff | 0;\n const d3 = Math.random() * 0xffffffff | 0;\n const uuid = _lut[d0 & 0xff] + _lut[d0 >> 8 & 0xff] + _lut[d0 >> 16 & 0xff] + _lut[d0 >> 24 & 0xff] + '-' +\n _lut[d1 & 0xff] + _lut[d1 >> 8 & 0xff] + '-' + _lut[d1 >> 16 & 0x0f | 0x40] + _lut[d1 >> 24 & 0xff] + '-' +\n _lut[d2 & 0x3f | 0x80] + _lut[d2 >> 8 & 0xff] + '-' + _lut[d2 >> 16 & 0xff] + _lut[d2 >> 24 & 0xff] +\n _lut[d3 & 0xff] + _lut[d3 >> 8 & 0xff] + _lut[d3 >> 16 & 0xff] + _lut[d3 >> 24 & 0xff];\n\n // .toUpperCase() here flattens concatenated strings to save heap memory space.\n return uuid.toUpperCase()\n\n}\n\n// Local assign polyfill to avoid importing troika-core\nconst assign = Object.assign || function(/*target, ...sources*/) {\n let target = arguments[0];\n for (let i = 1, len = arguments.length; i < len; i++) {\n let source = arguments[i];\n if (source) {\n for (let prop in source) {\n if (source.hasOwnProperty(prop)) {\n target[prop] = source[prop];\n }\n }\n }\n }\n return target\n};\n\n\nconst epoch = Date.now();\nconst CONSTRUCTOR_CACHE = new WeakMap();\nconst SHADER_UPGRADE_CACHE = new Map();\n\n// Material ids must be integers, but we can't access the increment from Three's `Material` module,\n// so let's choose a sufficiently large starting value that should theoretically never collide.\nlet materialInstanceId = 1e10;\n\n/**\n * A utility for creating a custom shader material derived from another material's\n * shaders. This allows you to inject custom shader logic and transforms into the\n * builtin ThreeJS materials without having to recreate them from scratch.\n *\n * @param {THREE.Material} baseMaterial - the original material to derive from\n *\n * @param {Object} options - How the base material should be modified.\n * @param {Object} options.defines - Custom `defines` for the material\n * @param {Object} options.extensions - Custom `extensions` for the material, e.g. `{derivatives: true}`\n * @param {Object} options.uniforms - Custom `uniforms` for use in the modified shader. These can\n * be accessed and manipulated via the resulting material's `uniforms` property, just like\n * in a ShaderMaterial. You do not need to repeat the base material's own uniforms here.\n * @param {String} options.timeUniform - If specified, a uniform of this name will be injected into\n * both shaders, and it will automatically be updated on each render frame with a number of\n * elapsed milliseconds. The \"zero\" epoch time is not significant so don't rely on this as a\n * true calendar time.\n * @param {String} options.vertexDefs - Custom GLSL code to inject into the vertex shader's top-level\n * definitions, above the `void main()` function.\n * @param {String} options.vertexMainIntro - Custom GLSL code to inject at the top of the vertex\n * shader's `void main` function.\n * @param {String} options.vertexMainOutro - Custom GLSL code to inject at the end of the vertex\n * shader's `void main` function.\n * @param {String} options.vertexTransform - Custom GLSL code to manipulate the `position`, `normal`,\n * and/or `uv` vertex attributes. This code will be wrapped within a standalone function with\n * those attributes exposed by their normal names as read/write values.\n * @param {String} options.fragmentDefs - Custom GLSL code to inject into the fragment shader's top-level\n * definitions, above the `void main()` function.\n * @param {String} options.fragmentMainIntro - Custom GLSL code to inject at the top of the fragment\n * shader's `void main` function.\n * @param {String} options.fragmentMainOutro - Custom GLSL code to inject at the end of the fragment\n * shader's `void main` function. You can manipulate `gl_FragColor` here but keep in mind it goes\n * after any of ThreeJS's color postprocessing shader chunks (tonemapping, fog, etc.), so if you\n * want those to apply to your changes use `fragmentColorTransform` instead.\n * @param {String} options.fragmentColorTransform - Custom GLSL code to manipulate the `gl_FragColor`\n * output value. Will be injected near the end of the `void main` function, but before any\n * of ThreeJS's color postprocessing shader chunks (tonemapping, fog, etc.), and before the\n * `fragmentMainOutro`.\n * @param {function<{vertexShader,fragmentShader}>:{vertexShader,fragmentShader}} options.customRewriter - A function\n * for performing custom rewrites of the full shader code. Useful if you need to do something\n * special that's not covered by the other builtin options. This function will be executed before\n * any other transforms are applied.\n * @param {boolean} options.chained - Set to `true` to prototype-chain the derived material to the base\n * material, rather than the default behavior of copying it. This allows the derived material to\n * automatically pick up changes made to the base material and its properties. This can be useful\n * where the derived material is hidden from the user as an implementation detail, allowing them\n * to work with the original material like normal. But it can result in unexpected behavior if not\n * handled carefully.\n *\n * @return {THREE.Material}\n *\n * The returned material will also have two new methods, `getDepthMaterial()` and `getDistanceMaterial()`,\n * which can be called to get a variant of the derived material for use in shadow casting. If the\n * target mesh is expected to cast shadows, then you can assign these to the mesh's `customDepthMaterial`\n * (for directional and spot lights) and/or `customDistanceMaterial` (for point lights) properties to\n * allow the cast shadow to honor your derived shader's vertex transforms and discarded fragments. These\n * will also set a custom `#define IS_DEPTH_MATERIAL` or `#define IS_DISTANCE_MATERIAL` that you can look\n * for in your derived shaders with `#ifdef` to customize their behavior for the depth or distance\n * scenarios, e.g. skipping antialiasing or expensive shader logic.\n */\nfunction createDerivedMaterial(baseMaterial, options) {\n // Generate a key that is unique to the content of these `options`. We'll use this\n // throughout for caching and for generating the upgraded shader code. This increases\n // the likelihood that the resulting shaders will line up across multiple calls so\n // their GL programs can be shared and cached.\n const optionsKey = getKeyForOptions(options);\n\n // First check to see if we've already derived from this baseMaterial using this\n // unique set of options, and if so reuse the constructor to avoid some allocations.\n let ctorsByDerivation = CONSTRUCTOR_CACHE.get(baseMaterial);\n if (!ctorsByDerivation) {\n CONSTRUCTOR_CACHE.set(baseMaterial, (ctorsByDerivation = Object.create(null)));\n }\n if (ctorsByDerivation[optionsKey]) {\n return new ctorsByDerivation[optionsKey]()\n }\n\n const privateBeforeCompileProp = `_onBeforeCompile${optionsKey}`;\n\n // Private onBeforeCompile handler that injects the modified shaders and uniforms when\n // the renderer switches to this material's program\n const onBeforeCompile = function (shaderInfo) {\n baseMaterial.onBeforeCompile.call(this, shaderInfo);\n\n // Upgrade the shaders, caching the result by incoming source code\n const cacheKey = this.customProgramCacheKey() + '|' + shaderInfo.vertexShader + '|' + shaderInfo.fragmentShader;\n let upgradedShaders = SHADER_UPGRADE_CACHE[cacheKey];\n if (!upgradedShaders) {\n const upgraded = upgradeShaders(shaderInfo, options, optionsKey);\n upgradedShaders = SHADER_UPGRADE_CACHE[cacheKey] = upgraded;\n }\n\n // Inject upgraded shaders and uniforms into the program\n shaderInfo.vertexShader = upgradedShaders.vertexShader;\n shaderInfo.fragmentShader = upgradedShaders.fragmentShader;\n assign(shaderInfo.uniforms, this.uniforms);\n\n // Inject auto-updating time uniform if requested\n if (options.timeUniform) {\n shaderInfo.uniforms[options.timeUniform] = {\n get value() {return Date.now() - epoch}\n };\n }\n\n // Users can still add their own handlers on top of ours\n if (this[privateBeforeCompileProp]) {\n this[privateBeforeCompileProp](shaderInfo);\n }\n };\n\n const DerivedMaterial = function DerivedMaterial() {\n return derive(options.chained ? baseMaterial : baseMaterial.clone())\n };\n\n const derive = function(base) {\n // Prototype chain to the base material\n const derived = Object.create(base, descriptor);\n\n // Store the baseMaterial for reference; this is always the original even when cloning\n Object.defineProperty(derived, 'baseMaterial', { value: baseMaterial });\n\n // Needs its own ids\n Object.defineProperty(derived, 'id', { value: materialInstanceId++ });\n derived.uuid = generateUUID();\n\n // Merge uniforms, defines, and extensions\n derived.uniforms = assign({}, base.uniforms, options.uniforms);\n derived.defines = assign({}, base.defines, options.defines);\n derived.defines[`TROIKA_DERIVED_MATERIAL_${optionsKey}`] = ''; //force a program change from the base material\n derived.extensions = assign({}, base.extensions, options.extensions);\n\n // Don't inherit EventDispatcher listeners\n derived._listeners = undefined;\n\n return derived\n };\n\n const descriptor = {\n constructor: {value: DerivedMaterial},\n isDerivedMaterial: {value: true},\n\n customProgramCacheKey: {\n writable: true,\n configurable: true,\n value: function () {\n return baseMaterial.customProgramCacheKey() + '|' + optionsKey\n }\n },\n\n onBeforeCompile: {\n get() {\n return onBeforeCompile\n },\n set(fn) {\n this[privateBeforeCompileProp] = fn;\n }\n },\n\n copy: {\n writable: true,\n configurable: true,\n value: function (source) {\n baseMaterial.copy.call(this, source);\n if (!baseMaterial.isShaderMaterial && !baseMaterial.isDerivedMaterial) {\n assign(this.extensions, source.extensions);\n assign(this.defines, source.defines);\n assign(this.uniforms, UniformsUtils.clone(source.uniforms));\n }\n return this\n }\n },\n\n clone: {\n writable: true,\n configurable: true,\n value: function () {\n const newBase = new baseMaterial.constructor();\n return derive(newBase).copy(this)\n }\n },\n\n /**\n * Utility to get a MeshDepthMaterial that will honor this derived material's vertex\n * transformations and discarded fragments.\n */\n getDepthMaterial: {\n writable: true,\n configurable: true,\n value: function() {\n let depthMaterial = this._depthMaterial;\n if (!depthMaterial) {\n depthMaterial = this._depthMaterial = createDerivedMaterial(\n baseMaterial.isDerivedMaterial\n ? baseMaterial.getDepthMaterial()\n : new MeshDepthMaterial({ depthPacking: RGBADepthPacking }),\n options\n );\n depthMaterial.defines.IS_DEPTH_MATERIAL = '';\n depthMaterial.uniforms = this.uniforms; //automatically recieve same uniform values\n }\n return depthMaterial\n }\n },\n\n /**\n * Utility to get a MeshDistanceMaterial that will honor this derived material's vertex\n * transformations and discarded fragments.\n */\n getDistanceMaterial: {\n writable: true,\n configurable: true,\n value: function() {\n let distanceMaterial = this._distanceMaterial;\n if (!distanceMaterial) {\n distanceMaterial = this._distanceMaterial = createDerivedMaterial(\n baseMaterial.isDerivedMaterial\n ? baseMaterial.getDistanceMaterial()\n : new MeshDistanceMaterial(),\n options\n );\n distanceMaterial.defines.IS_DISTANCE_MATERIAL = '';\n distanceMaterial.uniforms = this.uniforms; //automatically recieve same uniform values\n }\n return distanceMaterial\n }\n },\n\n dispose: {\n writable: true,\n configurable: true,\n value() {\n const {_depthMaterial, _distanceMaterial} = this;\n if (_depthMaterial) _depthMaterial.dispose();\n if (_distanceMaterial) _distanceMaterial.dispose();\n baseMaterial.dispose.call(this);\n }\n }\n };\n\n ctorsByDerivation[optionsKey] = DerivedMaterial;\n return new DerivedMaterial()\n}\n\n\nfunction upgradeShaders({vertexShader, fragmentShader}, options, key) {\n let {\n vertexDefs,\n vertexMainIntro,\n vertexMainOutro,\n vertexTransform,\n fragmentDefs,\n fragmentMainIntro,\n fragmentMainOutro,\n fragmentColorTransform,\n customRewriter,\n timeUniform\n } = options;\n\n vertexDefs = vertexDefs || '';\n vertexMainIntro = vertexMainIntro || '';\n vertexMainOutro = vertexMainOutro || '';\n fragmentDefs = fragmentDefs || '';\n fragmentMainIntro = fragmentMainIntro || '';\n fragmentMainOutro = fragmentMainOutro || '';\n\n // Expand includes if needed\n if (vertexTransform || customRewriter) {\n vertexShader = expandShaderIncludes(vertexShader);\n }\n if (fragmentColorTransform || customRewriter) {\n // We need to be able to find postprocessing chunks after include expansion in order to\n // put them after the fragmentColorTransform, so mark them with comments first. Even if\n // this particular derivation doesn't have a fragmentColorTransform, other derivations may,\n // so we still mark them.\n fragmentShader = fragmentShader.replace(\n /^[ \\t]*#include <((?:tonemapping|encodings|fog|premultiplied_alpha|dithering)_fragment)>/gm,\n '\\n//!BEGIN_POST_CHUNK $1\\n$&\\n//!END_POST_CHUNK\\n'\n );\n fragmentShader = expandShaderIncludes(fragmentShader);\n }\n\n // Apply custom rewriter function\n if (customRewriter) {\n let res = customRewriter({vertexShader, fragmentShader});\n vertexShader = res.vertexShader;\n fragmentShader = res.fragmentShader;\n }\n\n // The fragmentColorTransform needs to go before any postprocessing chunks, so extract\n // those and re-insert them into the outro in the correct place:\n if (fragmentColorTransform) {\n let postChunks = [];\n fragmentShader = fragmentShader.replace(\n /^\\/\\/!BEGIN_POST_CHUNK[^]+?^\\/\\/!END_POST_CHUNK/gm, // [^]+? = non-greedy match of any chars including newlines\n match => {\n postChunks.push(match);\n return ''\n }\n );\n fragmentMainOutro = `${fragmentColorTransform}\\n${postChunks.join('\\n')}\\n${fragmentMainOutro}`;\n }\n\n // Inject auto-updating time uniform if requested\n if (timeUniform) {\n const code = `\\nuniform float ${timeUniform};\\n`;\n vertexDefs = code + vertexDefs;\n fragmentDefs = code + fragmentDefs;\n }\n\n // Inject a function for the vertexTransform and rename all usages of position/normal/uv\n if (vertexTransform) {\n // Hoist these defs to the very top so they work in other function defs\n vertexShader = `vec3 troika_position_${key};\nvec3 troika_normal_${key};\nvec2 troika_uv_${key};\n${vertexShader}\n`;\n vertexDefs = `${vertexDefs}\nvoid troikaVertexTransform${key}(inout vec3 position, inout vec3 normal, inout vec2 uv) {\n ${vertexTransform}\n}\n`;\n vertexMainIntro = `\ntroika_position_${key} = vec3(position);\ntroika_normal_${key} = vec3(normal);\ntroika_uv_${key} = vec2(uv);\ntroikaVertexTransform${key}(troika_position_${key}, troika_normal_${key}, troika_uv_${key});\n${vertexMainIntro}\n`;\n vertexShader = vertexShader.replace(/\\b(position|normal|uv)\\b/g, (match, match1, index, fullStr) => {\n return /\\battribute\\s+vec[23]\\s+$/.test(fullStr.substr(0, index)) ? match1 : `troika_${match1}_${key}`\n });\n }\n\n // Inject defs and intro/outro snippets\n vertexShader = injectIntoShaderCode(vertexShader, key, vertexDefs, vertexMainIntro, vertexMainOutro);\n fragmentShader = injectIntoShaderCode(fragmentShader, key, fragmentDefs, fragmentMainIntro, fragmentMainOutro);\n\n return {\n vertexShader,\n fragmentShader\n }\n}\n\nfunction injectIntoShaderCode(shaderCode, id, defs, intro, outro) {\n if (intro || outro || defs) {\n shaderCode = shaderCode.replace(voidMainRegExp, `\n${defs}\nvoid troikaOrigMain${id}() {`\n );\n shaderCode += `\nvoid main() {\n ${intro}\n troikaOrigMain${id}();\n ${outro}\n}`;\n }\n return shaderCode\n}\n\n\nfunction optionsJsonReplacer(key, value) {\n return key === 'uniforms' ? undefined : typeof value === 'function' ? value.toString() : value\n}\n\nlet _idCtr = 0;\nconst optionsHashesToIds = new Map();\nfunction getKeyForOptions(options) {\n const optionsHash = JSON.stringify(options, optionsJsonReplacer);\n let id = optionsHashesToIds.get(optionsHash);\n if (id == null) {\n optionsHashesToIds.set(optionsHash, (id = ++_idCtr));\n }\n return id\n}\n\n// Copied from threejs WebGLPrograms.js so we can resolve builtin materials to their shaders\n// TODO how can we keep this from getting stale?\nconst MATERIAL_TYPES_TO_SHADERS = {\n MeshDepthMaterial: 'depth',\n MeshDistanceMaterial: 'distanceRGBA',\n MeshNormalMaterial: 'normal',\n MeshBasicMaterial: 'basic',\n MeshLambertMaterial: 'lambert',\n MeshPhongMaterial: 'phong',\n MeshToonMaterial: 'toon',\n MeshStandardMaterial: 'physical',\n MeshPhysicalMaterial: 'physical',\n MeshMatcapMaterial: 'matcap',\n LineBasicMaterial: 'basic',\n LineDashedMaterial: 'dashed',\n PointsMaterial: 'points',\n ShadowMaterial: 'shadow',\n SpriteMaterial: 'sprite'\n};\n\n/**\n * Given a Three.js `Material` instance, find the shaders/uniforms that will be\n * used to render that material.\n *\n * @param material - the Material instance\n * @return {object} - the material's shader info: `{uniforms:{}, fragmentShader:'', vertexShader:''}`\n */\nfunction getShadersForMaterial(material) {\n let builtinType = MATERIAL_TYPES_TO_SHADERS[material.type];\n return builtinType ? ShaderLib[builtinType] : material //TODO fallback for unknown type?\n}\n\n/**\n * Find all uniforms and their types within a shader code string.\n *\n * @param {string} shader - The shader code to parse\n * @return {object} mapping of uniform names to their glsl type\n */\nfunction getShaderUniformTypes(shader) {\n let uniformRE = /\\buniform\\s+(int|float|vec[234]|mat[34])\\s+([A-Za-z_][\\w]*)/g;\n let uniforms = Object.create(null);\n let match;\n while ((match = uniformRE.exec(shader)) !== null) {\n uniforms[match[2]] = match[1];\n }\n return uniforms\n}\n\n/**\n * Helper for smoothing out the `m.getInverse(x)` --> `m.copy(x).invert()` conversion\n * that happened in ThreeJS r123.\n * @param {Matrix4} srcMatrix\n * @param {Matrix4} [tgtMatrix]\n */\nfunction invertMatrix4(srcMatrix, tgtMatrix = new Matrix4()) {\n if (typeof tgtMatrix.invert === 'function') {\n tgtMatrix.copy(srcMatrix).invert();\n } else {\n tgtMatrix.getInverse(srcMatrix);\n }\n return tgtMatrix\n}\n\n/*\nInput geometry is a cylinder with r=1, height in y dimension from 0 to 1,\ndivided into a reasonable number of height segments.\n*/\n\nconst vertexDefs = `\nuniform vec3 pointA;\nuniform vec3 controlA;\nuniform vec3 controlB;\nuniform vec3 pointB;\nuniform float radius;\nvarying float bezierT;\n\nvec3 cubicBezier(vec3 p1, vec3 c1, vec3 c2, vec3 p2, float t) {\n float t2 = 1.0 - t;\n float b0 = t2 * t2 * t2;\n float b1 = 3.0 * t * t2 * t2;\n float b2 = 3.0 * t * t * t2;\n float b3 = t * t * t;\n return b0 * p1 + b1 * c1 + b2 * c2 + b3 * p2;\n}\n\nvec3 cubicBezierDerivative(vec3 p1, vec3 c1, vec3 c2, vec3 p2, float t) {\n float t2 = 1.0 - t;\n return -3.0 * p1 * t2 * t2 +\n c1 * (3.0 * t2 * t2 - 6.0 * t2 * t) +\n c2 * (6.0 * t2 * t - 3.0 * t * t) +\n 3.0 * p2 * t * t;\n}\n`;\n\nconst vertexTransform = `\nfloat t = position.y;\nbezierT = t;\nvec3 bezierCenterPos = cubicBezier(pointA, controlA, controlB, pointB, t);\nvec3 bezierDir = normalize(cubicBezierDerivative(pointA, controlA, controlB, pointB, t));\n\n// Make \"sideways\" always perpendicular to the camera ray; this ensures that any twists\n// in the cylinder occur where you won't see them: \nvec3 viewDirection = normalMatrix * vec3(0.0, 0.0, 1.0);\nif (bezierDir == viewDirection) {\n bezierDir = normalize(cubicBezierDerivative(pointA, controlA, controlB, pointB, t == 1.0 ? t - 0.0001 : t + 0.0001));\n}\nvec3 sideways = normalize(cross(bezierDir, viewDirection));\nvec3 upish = normalize(cross(sideways, bezierDir));\n\n// Build a matrix for transforming this disc in the cylinder:\nmat4 discTx;\ndiscTx[0].xyz = sideways * radius;\ndiscTx[1].xyz = bezierDir * radius;\ndiscTx[2].xyz = upish * radius;\ndiscTx[3].xyz = bezierCenterPos;\ndiscTx[3][3] = 1.0;\n\n// Apply transform, ignoring original y\nposition = (discTx * vec4(position.x, 0.0, position.z, 1.0)).xyz;\nnormal = normalize(mat3(discTx) * normal);\n`;\n\nconst fragmentDefs = `\nuniform vec3 dashing;\nvarying float bezierT;\n`;\n\nconst fragmentMainIntro = `\nif (dashing.x + dashing.y > 0.0) {\n float dashFrac = mod(bezierT - dashing.z, dashing.x + dashing.y);\n if (dashFrac > dashing.x) {\n discard;\n }\n}\n`;\n\n// Debugging: separate color for each of the 6 sides:\n// const fragmentColorTransform = `\n// float sideNum = floor(vUV.x * 6.0);\n// vec3 mixColor = sideNum < 1.0 ? vec3(1.0, 0.0, 0.0) :\n// sideNum < 2.0 ? vec3(0.0, 1.0, 1.0) :\n// sideNum < 3.0 ? vec3(1.0, 1.0, 0.0) :\n// sideNum < 4.0 ? vec3(0.0, 0.0, 1.0) :\n// sideNum < 5.0 ? vec3(0.0, 1.0, 0.0) :\n// vec3(1.0, 0.0, 1.0);\n// gl_FragColor.xyz = mix(gl_FragColor.xyz, mixColor, 0.5);\n// `\n\n\n\nfunction createBezierMeshMaterial(baseMaterial) {\n return createDerivedMaterial(\n baseMaterial,\n {\n chained: true,\n uniforms: {\n pointA: {value: new Vector3()},\n controlA: {value: new Vector3()},\n controlB: {value: new Vector3()},\n pointB: {value: new Vector3()},\n radius: {value: 0.01},\n dashing: {value: new Vector3()} //on, off, offset\n },\n vertexDefs,\n vertexTransform,\n fragmentDefs,\n fragmentMainIntro\n }\n )\n}\n\nlet geometry = null;\n\nconst defaultBaseMaterial = /*#__PURE__*/new MeshStandardMaterial({color: 0xffffff, side: DoubleSide});\n\n\n/**\n * A ThreeJS `Mesh` that bends a tube shape along a 3D cubic bezier path. The bending is done\n * by deforming a straight cylindrical geometry in the vertex shader based on a set of four\n * control point uniforms. It patches the necessary GLSL into the mesh's assigned `material`\n * automatically.\n *\n * The cubiz bezier path is determined by its four `Vector3` properties:\n * - `pointA`\n * - `controlA`\n * - `controlB`\n * - `pointB`\n *\n * The tube's radius is controlled by its `radius` property, which defaults to `0.01`.\n *\n * You can also give the tube a dashed appearance with two properties:\n *\n * - `dashArray` - an array of two numbers, defining the length of \"on\" and \"off\" parts of\n * the dash. Each is a 0-1 ratio of the entire path's length. (Actually this is the `t` length\n * used as input to the cubic bezier function, not its visible length.)\n * - `dashOffset` - offset of where the dash starts. You can animate this to make the dashes move.\n *\n * Note that the dashes will appear like a hollow tube, not solid. This will be more apparent on\n * thicker tubes.\n *\n * TODO: proper geometry bounding sphere and raycasting\n * TODO: allow control of the geometry's segment counts\n */\nclass BezierMesh extends Mesh {\n static getGeometry() {\n return geometry || (geometry =\n new CylinderBufferGeometry(1, 1, 1, 6, 64).translate(0, 0.5, 0)\n )\n }\n\n constructor() {\n super(\n BezierMesh.getGeometry(),\n defaultBaseMaterial\n );\n\n this.pointA = new Vector3();\n this.controlA = new Vector3();\n this.controlB = new Vector3();\n this.pointB = new Vector3();\n this.radius = 0.01;\n this.dashArray = new Vector2();\n this.dashOffset = 0;\n\n // TODO - disabling frustum culling until I figure out how to customize the\n // geometry's bounding sphere that gets used\n this.frustumCulled = false;\n }\n\n // Handler for automatically wrapping the base material with our upgrades. We do the wrapping\n // lazily on _read_ rather than write to avoid unnecessary wrapping on transient values.\n get material() {\n let derivedMaterial = this._derivedMaterial;\n const baseMaterial = this._baseMaterial || this._defaultMaterial || (this._defaultMaterial = defaultBaseMaterial.clone());\n if (!derivedMaterial || derivedMaterial.baseMaterial !== baseMaterial) {\n derivedMaterial = this._derivedMaterial = createBezierMeshMaterial(baseMaterial);\n // dispose the derived material when its base material is disposed:\n baseMaterial.addEventListener('dispose', function onDispose() {\n baseMaterial.removeEventListener('dispose', onDispose);\n derivedMaterial.dispose();\n });\n }\n return derivedMaterial\n }\n set material(baseMaterial) {\n this._baseMaterial = baseMaterial;\n }\n\n // Create and update material for shadows upon request:\n get customDepthMaterial() {\n return this.material.getDepthMaterial()\n }\n get customDistanceMaterial() {\n return this.material.getDistanceMaterial()\n }\n\n onBeforeRender(shaderInfo) {\n const {uniforms} = this.material;\n const {pointA, controlA, controlB, pointB, radius, dashArray, dashOffset} = this;\n uniforms.pointA.value.copy(pointA);\n uniforms.controlA.value.copy(controlA);\n uniforms.controlB.value.copy(controlB);\n uniforms.pointB.value.copy(pointB);\n uniforms.radius.value = radius;\n uniforms.dashing.value.set(dashArray.x, dashArray.y, dashOffset || 0);\n }\n\n raycast(raycaster, intersects) {\n // TODO - just fail for now\n }\n}\n\nexport { BezierMesh, createDerivedMaterial, expandShaderIncludes, getShaderUniformTypes, getShadersForMaterial, invertMatrix4, voidMainRegExp };\n","import { Texture, LinearFilter, Color, InstancedBufferGeometry, Sphere, Box3, BackSide, DoubleSide, InstancedBufferAttribute, PlaneBufferGeometry, BufferGeometry, Float32BufferAttribute, Vector2, Vector4, Matrix3, MeshBasicMaterial, Matrix4, Vector3, Mesh, FrontSide } from 'three';\nimport { terminateWorker, Thenable, defineWorkerModule, ThenableWorkerModule } from 'troika-worker-utils';\nimport createSDFGenerator from 'webgl-sdf-generator';\nimport bidiFactory from 'bidi-js';\nimport { createDerivedMaterial, voidMainRegExp } from 'troika-three-utils';\n\n/**\n * Factory function that creates a self-contained environment for processing text typesetting requests.\n *\n * It is important that this function has no closure dependencies, so that it can be easily injected\n * into the source for a Worker without requiring a build step or complex dependency loading. All its\n * dependencies must be passed in at initialization.\n *\n * @param {function} fontParser - a function that accepts an ArrayBuffer of the font data and returns\n * a standardized structure giving access to the font and its glyphs:\n * {\n * unitsPerEm: number,\n * ascender: number,\n * descender: number,\n * forEachGlyph(string, fontSize, letterSpacing, callback) {\n * //invokes callback for each glyph to render, passing it an object:\n * callback({\n * index: number,\n * advanceWidth: number,\n * xMin: number,\n * yMin: number,\n * xMax: number,\n * yMax: number,\n * pathCommandCount: number,\n * forEachPathCommand(callback) {\n * //invokes callback for each path command, with args:\n * callback(\n * type: 'M|L|C|Q|Z',\n * ...args //0 to 6 args depending on the type\n * )\n * }\n * })\n * }\n * }\n * @param {object} bidi - the bidi.js implementation object\n * @param {Object} config\n * @return {Object}\n */\nfunction createTypesetter(fontParser, bidi, config) {\n\n const {\n defaultFontURL\n } = config;\n\n /**\n * Holds parsed font objects by url\n */\n const fonts = Object.create(null);\n\n const INF = Infinity;\n\n // Set of Unicode Default_Ignorable_Code_Point characters, these will not produce visible glyphs\n const DEFAULT_IGNORABLE_CHARS = /[\\u00AD\\u034F\\u061C\\u115F-\\u1160\\u17B4-\\u17B5\\u180B-\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u206F\\u3164\\uFE00-\\uFE0F\\uFEFF\\uFFA0\\uFFF0-\\uFFF8]/;\n\n // Incomplete set of characters that allow line breaking after them\n // In the future we may consider a full Unicode line breaking algorithm impl: https://www.unicode.org/reports/tr14\n const BREAK_AFTER_CHARS = /[\\s\\-\\u007C\\u00AD\\u2010\\u2012-\\u2014\\u2027\\u2056\\u2E17\\u2E40]/;\n\n /**\n * Load a given font url\n */\n function doLoadFont(url, callback) {\n function tryLoad() {\n const onError = err => {\n console.error(`Failure loading font ${url}${url === defaultFontURL ? '' : '; trying fallback'}`, err);\n if (url !== defaultFontURL) {\n url = defaultFontURL;\n tryLoad();\n }\n };\n try {\n const request = new XMLHttpRequest();\n request.open('get', url, true);\n request.responseType = 'arraybuffer';\n request.onload = function () {\n if (request.status >= 400) {\n onError(new Error(request.statusText));\n }\n else if (request.status > 0) {\n try {\n const fontObj = fontParser(request.response);\n callback(fontObj);\n } catch (e) {\n onError(e);\n }\n }\n };\n request.onerror = onError;\n request.send();\n } catch(err) {\n onError(err);\n }\n }\n tryLoad();\n }\n\n\n /**\n * Load a given font url if needed, invoking a callback when it's loaded. If already\n * loaded, the callback will be called synchronously.\n */\n function loadFont(fontUrl, callback) {\n if (!fontUrl) fontUrl = defaultFontURL;\n let font = fonts[fontUrl];\n if (font) {\n // if currently loading font, add to callbacks, otherwise execute immediately\n if (font.pending) {\n font.pending.push(callback);\n } else {\n callback(font);\n }\n } else {\n fonts[fontUrl] = {pending: [callback]};\n doLoadFont(fontUrl, fontObj => {\n let callbacks = fonts[fontUrl].pending;\n fonts[fontUrl] = fontObj;\n callbacks.forEach(cb => cb(fontObj));\n });\n }\n }\n\n\n /**\n * Main entry point.\n * Process a text string with given font and formatting parameters, and return all info\n * necessary to render all its glyphs.\n */\n function typeset(\n {\n text='',\n font=defaultFontURL,\n sdfGlyphSize=64,\n fontSize=1,\n letterSpacing=0,\n lineHeight='normal',\n maxWidth=INF,\n direction,\n textAlign='left',\n textIndent=0,\n whiteSpace='normal',\n overflowWrap='normal',\n anchorX = 0,\n anchorY = 0,\n includeCaretPositions=false,\n chunkedBoundsSize=8192,\n colorRanges=null\n },\n callback,\n metricsOnly=false\n ) {\n const mainStart = now();\n const timings = {fontLoad: 0, typesetting: 0};\n\n // Ensure newlines are normalized\n if (text.indexOf('\\r') > -1) {\n console.info('Typesetter: got text with \\\\r chars; normalizing to \\\\n');\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n }\n\n // Ensure we've got numbers not strings\n fontSize = +fontSize;\n letterSpacing = +letterSpacing;\n maxWidth = +maxWidth;\n lineHeight = lineHeight || 'normal';\n textIndent = +textIndent;\n\n loadFont(font, fontObj => {\n const hasMaxWidth = isFinite(maxWidth);\n let glyphIds = null;\n let glyphPositions = null;\n let glyphData = null;\n let glyphColors = null;\n let caretPositions = null;\n let visibleBounds = null;\n let chunkedBounds = null;\n let maxLineWidth = 0;\n let renderableGlyphCount = 0;\n let canWrap = whiteSpace !== 'nowrap';\n const {ascender, descender, unitsPerEm} = fontObj;\n timings.fontLoad = now() - mainStart;\n const typesetStart = now();\n\n // Find conversion between native font units and fontSize units; this will already be done\n // for the gx/gy values below but everything else we'll need to convert\n const fontSizeMult = fontSize / unitsPerEm;\n\n // Determine appropriate value for 'normal' line height based on the font's actual metrics\n // TODO this does not guarantee individual glyphs won't exceed the line height, e.g. Roboto; should we use yMin/Max instead?\n if (lineHeight === 'normal') {\n lineHeight = (ascender - descender) / unitsPerEm;\n }\n\n // Determine line height and leading adjustments\n lineHeight = lineHeight * fontSize;\n const halfLeading = (lineHeight - (ascender - descender) * fontSizeMult) / 2;\n const topBaseline = -(ascender * fontSizeMult + halfLeading);\n const caretHeight = Math.min(lineHeight, (ascender - descender) * fontSizeMult);\n const caretBottomOffset = (ascender + descender) / 2 * fontSizeMult - caretHeight / 2;\n\n // Distribute glyphs into lines based on wrapping\n let lineXOffset = textIndent;\n let currentLine = new TextLine();\n const lines = [currentLine];\n\n fontObj.forEachGlyph(text, fontSize, letterSpacing, (glyphObj, glyphX, charIndex) => {\n const char = text.charAt(charIndex);\n const glyphWidth = glyphObj.advanceWidth * fontSizeMult;\n const curLineCount = currentLine.count;\n let nextLine;\n\n // Calc isWhitespace and isEmpty once per glyphObj\n if (!('isEmpty' in glyphObj)) {\n glyphObj.isWhitespace = !!char && /\\s/.test(char);\n glyphObj.canBreakAfter = !!char && BREAK_AFTER_CHARS.test(char);\n glyphObj.isEmpty = glyphObj.xMin === glyphObj.xMax || glyphObj.yMin === glyphObj.yMax || DEFAULT_IGNORABLE_CHARS.test(char);\n }\n if (!glyphObj.isWhitespace && !glyphObj.isEmpty) {\n renderableGlyphCount++;\n }\n\n // If a non-whitespace character overflows the max width, we need to soft-wrap\n if (canWrap && hasMaxWidth && !glyphObj.isWhitespace && glyphX + glyphWidth + lineXOffset > maxWidth && curLineCount) {\n // If it's the first char after a whitespace, start a new line\n if (currentLine.glyphAt(curLineCount - 1).glyphObj.canBreakAfter) {\n nextLine = new TextLine();\n lineXOffset = -glyphX;\n } else {\n // Back up looking for a whitespace character to wrap at\n for (let i = curLineCount; i--;) {\n // If we got the start of the line there's no soft break point; make hard break if overflowWrap='break-word'\n if (i === 0 && overflowWrap === 'break-word') {\n nextLine = new TextLine();\n lineXOffset = -glyphX;\n break\n }\n // Found a soft break point; move all chars since it to a new line\n else if (currentLine.glyphAt(i).glyphObj.canBreakAfter) {\n nextLine = currentLine.splitAt(i + 1);\n const adjustX = nextLine.glyphAt(0).x;\n lineXOffset -= adjustX;\n for (let j = nextLine.count; j--;) {\n nextLine.glyphAt(j).x -= adjustX;\n }\n break\n }\n }\n }\n if (nextLine) {\n currentLine.isSoftWrapped = true;\n currentLine = nextLine;\n lines.push(currentLine);\n maxLineWidth = maxWidth; //after soft wrapping use maxWidth as calculated width\n }\n }\n\n let fly = currentLine.glyphAt(currentLine.count);\n fly.glyphObj = glyphObj;\n fly.x = glyphX + lineXOffset;\n fly.width = glyphWidth;\n fly.charIndex = charIndex;\n\n // Handle hard line breaks\n if (char === '\\n') {\n currentLine = new TextLine();\n lines.push(currentLine);\n lineXOffset = -(glyphX + glyphWidth + (letterSpacing * fontSize)) + textIndent;\n }\n });\n\n // Calculate width of each line (excluding trailing whitespace) and maximum block width\n lines.forEach(line => {\n for (let i = line.count; i--;) {\n let {glyphObj, x, width} = line.glyphAt(i);\n if (!glyphObj.isWhitespace) {\n line.width = x + width;\n if (line.width > maxLineWidth) {\n maxLineWidth = line.width;\n }\n return\n }\n }\n });\n\n // Find overall position adjustments for anchoring\n let anchorXOffset = 0;\n let anchorYOffset = 0;\n if (anchorX) {\n if (typeof anchorX === 'number') {\n anchorXOffset = -anchorX;\n }\n else if (typeof anchorX === 'string') {\n anchorXOffset = -maxLineWidth * (\n anchorX === 'left' ? 0 :\n anchorX === 'center' ? 0.5 :\n anchorX === 'right' ? 1 :\n parsePercent(anchorX)\n );\n }\n }\n if (anchorY) {\n if (typeof anchorY === 'number') {\n anchorYOffset = -anchorY;\n }\n else if (typeof anchorY === 'string') {\n let height = lines.length * lineHeight;\n anchorYOffset = anchorY === 'top' ? 0 :\n anchorY === 'top-baseline' ? -topBaseline :\n anchorY === 'middle' ? height / 2 :\n anchorY === 'bottom' ? height :\n anchorY === 'bottom-baseline' ? height - halfLeading + descender * fontSizeMult :\n parsePercent(anchorY) * height;\n }\n }\n\n if (!metricsOnly) {\n // Resolve bidi levels\n const bidiLevelsResult = bidi.getEmbeddingLevels(text, direction);\n\n // Process each line, applying alignment offsets, adding each glyph to the atlas, and\n // collecting all renderable glyphs into a single collection.\n glyphIds = new Uint16Array(renderableGlyphCount);\n glyphPositions = new Float32Array(renderableGlyphCount * 2);\n glyphData = {};\n visibleBounds = [INF, INF, -INF, -INF];\n chunkedBounds = [];\n let lineYOffset = topBaseline;\n if (includeCaretPositions) {\n caretPositions = new Float32Array(text.length * 3);\n }\n if (colorRanges) {\n glyphColors = new Uint8Array(renderableGlyphCount * 3);\n }\n let renderableGlyphIndex = 0;\n let prevCharIndex = -1;\n let colorCharIndex = -1;\n let chunk;\n let currentColor;\n lines.forEach((line, lineIndex) => {\n let {count:lineGlyphCount, width:lineWidth} = line;\n\n // Ignore empty lines\n if (lineGlyphCount > 0) {\n // Count trailing whitespaces, we want to ignore these for certain things\n let trailingWhitespaceCount = 0;\n for (let i = lineGlyphCount; i-- && line.glyphAt(i).glyphObj.isWhitespace;) {\n trailingWhitespaceCount++;\n }\n\n // Apply horizontal alignment adjustments\n let lineXOffset = 0;\n let justifyAdjust = 0;\n if (textAlign === 'center') {\n lineXOffset = (maxLineWidth - lineWidth) / 2;\n } else if (textAlign === 'right') {\n lineXOffset = maxLineWidth - lineWidth;\n } else if (textAlign === 'justify' && line.isSoftWrapped) {\n // count non-trailing whitespace characters, and we'll adjust the offsets per character in the next loop\n let whitespaceCount = 0;\n for (let i = lineGlyphCount - trailingWhitespaceCount; i--;) {\n if (line.glyphAt(i).glyphObj.isWhitespace) {\n whitespaceCount++;\n }\n }\n justifyAdjust = (maxLineWidth - lineWidth) / whitespaceCount;\n }\n if (justifyAdjust || lineXOffset) {\n let justifyOffset = 0;\n for (let i = 0; i < lineGlyphCount; i++) {\n let glyphInfo = line.glyphAt(i);\n const glyphObj = glyphInfo.glyphObj;\n glyphInfo.x += lineXOffset + justifyOffset;\n // Expand non-trailing whitespaces for justify alignment\n if (justifyAdjust !== 0 && glyphObj.isWhitespace && i < lineGlyphCount - trailingWhitespaceCount) {\n justifyOffset += justifyAdjust;\n glyphInfo.width += justifyAdjust;\n }\n }\n }\n\n // Perform bidi range flipping\n const flips = bidi.getReorderSegments(\n text, bidiLevelsResult, line.glyphAt(0).charIndex, line.glyphAt(line.count - 1).charIndex\n );\n for (let fi = 0; fi < flips.length; fi++) {\n const [start, end] = flips[fi];\n // Map start/end string indices to indices in the line\n let left = Infinity, right = -Infinity;\n for (let i = 0; i < lineGlyphCount; i++) {\n if (line.glyphAt(i).charIndex >= start) { // gte to handle removed characters\n let startInLine = i, endInLine = i;\n for (; endInLine < lineGlyphCount; endInLine++) {\n let info = line.glyphAt(endInLine);\n if (info.charIndex > end) {\n break\n }\n if (endInLine < lineGlyphCount - trailingWhitespaceCount) { //don't include trailing ws in flip width\n left = Math.min(left, info.x);\n right = Math.max(right, info.x + info.width);\n }\n }\n for (let j = startInLine; j < endInLine; j++) {\n const glyphInfo = line.glyphAt(j);\n glyphInfo.x = right - (glyphInfo.x + glyphInfo.width - left);\n }\n break\n }\n }\n }\n\n // Assemble final data arrays\n let glyphObj;\n const setGlyphObj = g => glyphObj = g;\n for (let i = 0; i < lineGlyphCount; i++) {\n let glyphInfo = line.glyphAt(i);\n glyphObj = glyphInfo.glyphObj;\n const glyphId = glyphObj.index;\n\n // Replace mirrored characters in rtl\n const rtl = bidiLevelsResult.levels[glyphInfo.charIndex] & 1; //odd level means rtl\n if (rtl) {\n const mirrored = bidi.getMirroredCharacter(text[glyphInfo.charIndex]);\n if (mirrored) {\n fontObj.forEachGlyph(mirrored, 0, 0, setGlyphObj);\n }\n }\n\n // Add caret positions\n if (includeCaretPositions) {\n const {charIndex} = glyphInfo;\n const caretLeft = glyphInfo.x + anchorXOffset;\n const caretRight = glyphInfo.x + glyphInfo.width + anchorXOffset;\n caretPositions[charIndex * 3] = rtl ? caretRight : caretLeft; //start edge x\n caretPositions[charIndex * 3 + 1] = rtl ? caretLeft : caretRight; //end edge x\n caretPositions[charIndex * 3 + 2] = lineYOffset + caretBottomOffset + anchorYOffset; //common bottom y\n\n // If we skipped any chars from the previous glyph (due to ligature subs), fill in caret\n // positions for those missing char indices; currently this uses a best-guess by dividing\n // the ligature's width evenly. In the future we may try to use the font's LigatureCaretList\n // table to get better interior caret positions.\n const ligCount = charIndex - prevCharIndex;\n if (ligCount > 1) {\n fillLigatureCaretPositions(caretPositions, prevCharIndex, ligCount);\n }\n prevCharIndex = charIndex;\n }\n\n // Track current color range\n if (colorRanges) {\n const {charIndex} = glyphInfo;\n while(charIndex > colorCharIndex) {\n colorCharIndex++;\n if (colorRanges.hasOwnProperty(colorCharIndex)) {\n currentColor = colorRanges[colorCharIndex];\n }\n }\n }\n\n // Get atlas data for renderable glyphs\n if (!glyphObj.isWhitespace && !glyphObj.isEmpty) {\n const idx = renderableGlyphIndex++;\n\n // Add this glyph's path data\n if (!glyphData[glyphId]) {\n glyphData[glyphId] = {\n path: glyphObj.path,\n pathBounds: [glyphObj.xMin, glyphObj.yMin, glyphObj.xMax, glyphObj.yMax]\n };\n }\n\n // Determine final glyph position and add to glyphPositions array\n const glyphX = glyphInfo.x + anchorXOffset;\n const glyphY = lineYOffset + anchorYOffset;\n glyphPositions[idx * 2] = glyphX;\n glyphPositions[idx * 2 + 1] = glyphY;\n\n // Track total visible bounds\n const visX0 = glyphX + glyphObj.xMin * fontSizeMult;\n const visY0 = glyphY + glyphObj.yMin * fontSizeMult;\n const visX1 = glyphX + glyphObj.xMax * fontSizeMult;\n const visY1 = glyphY + glyphObj.yMax * fontSizeMult;\n if (visX0 < visibleBounds[0]) visibleBounds[0] = visX0;\n if (visY0 < visibleBounds[1]) visibleBounds[1] = visY0;\n if (visX1 > visibleBounds[2]) visibleBounds[2] = visX1;\n if (visY1 > visibleBounds[3]) visibleBounds[3] = visY1;\n\n // Track bounding rects for each chunk of N glyphs\n if (idx % chunkedBoundsSize === 0) {\n chunk = {start: idx, end: idx, rect: [INF, INF, -INF, -INF]};\n chunkedBounds.push(chunk);\n }\n chunk.end++;\n const chunkRect = chunk.rect;\n if (visX0 < chunkRect[0]) chunkRect[0] = visX0;\n if (visY0 < chunkRect[1]) chunkRect[1] = visY0;\n if (visX1 > chunkRect[2]) chunkRect[2] = visX1;\n if (visY1 > chunkRect[3]) chunkRect[3] = visY1;\n\n // Add to glyph ids array\n glyphIds[idx] = glyphId;\n\n // Add colors\n if (colorRanges) {\n const start = idx * 3;\n glyphColors[start] = currentColor >> 16 & 255;\n glyphColors[start + 1] = currentColor >> 8 & 255;\n glyphColors[start + 2] = currentColor & 255;\n }\n }\n }\n }\n\n // Increment y offset for next line\n lineYOffset -= lineHeight;\n });\n\n // Fill in remaining caret positions in case the final character was a ligature\n if (caretPositions) {\n const ligCount = text.length - prevCharIndex;\n if (ligCount > 1) {\n fillLigatureCaretPositions(caretPositions, prevCharIndex, ligCount);\n }\n }\n }\n\n // Timing stats\n timings.typesetting = now() - typesetStart;\n\n callback({\n glyphIds, //font indices for each glyph\n glyphPositions, //x,y of each glyph's origin in layout\n glyphData, //dict holding data about each glyph appearing in the text\n caretPositions, //startX,endX,bottomY caret positions for each char\n caretHeight, //height of cursor from bottom to top\n glyphColors, //color for each glyph, if color ranges supplied\n chunkedBounds, //total rects per (n=chunkedBoundsSize) consecutive glyphs\n fontSize, //calculated em height\n unitsPerEm, //font units per em\n ascender: ascender * fontSizeMult, //font ascender\n descender: descender * fontSizeMult, //font descender\n lineHeight, //computed line height\n topBaseline, //y coordinate of the top line's baseline\n blockBounds: [ //bounds for the whole block of text, including vertical padding for lineHeight\n anchorXOffset,\n anchorYOffset - lines.length * lineHeight,\n anchorXOffset + maxLineWidth,\n anchorYOffset\n ],\n visibleBounds, //total bounds of visible text paths, may be larger or smaller than totalBounds\n timings\n });\n });\n }\n\n\n /**\n * For a given text string and font parameters, determine the resulting block dimensions\n * after wrapping for the given maxWidth.\n * @param args\n * @param callback\n */\n function measure(args, callback) {\n typeset(args, (result) => {\n const [x0, y0, x1, y1] = result.blockBounds;\n callback({\n width: x1 - x0,\n height: y1 - y0\n });\n }, {metricsOnly: true});\n }\n\n function parsePercent(str) {\n let match = str.match(/^([\\d.]+)%$/);\n let pct = match ? parseFloat(match[1]) : NaN;\n return isNaN(pct) ? 0 : pct / 100\n }\n\n function fillLigatureCaretPositions(caretPositions, ligStartIndex, ligCount) {\n const ligStartX = caretPositions[ligStartIndex * 3];\n const ligEndX = caretPositions[ligStartIndex * 3 + 1];\n const ligY = caretPositions[ligStartIndex * 3 + 2];\n const guessedAdvanceX = (ligEndX - ligStartX) / ligCount;\n for (let i = 0; i < ligCount; i++) {\n const startIndex = (ligStartIndex + i) * 3;\n caretPositions[startIndex] = ligStartX + guessedAdvanceX * i;\n caretPositions[startIndex + 1] = ligStartX + guessedAdvanceX * (i + 1);\n caretPositions[startIndex + 2] = ligY;\n }\n }\n\n function now() {\n return (self.performance || Date).now()\n }\n\n // Array-backed structure for a single line's glyphs data\n function TextLine() {\n this.data = [];\n }\n const textLineProps = ['glyphObj', 'x', 'width', 'charIndex'];\n TextLine.prototype = {\n width: 0,\n isSoftWrapped: false,\n get count() {\n return Math.ceil(this.data.length / textLineProps.length)\n },\n glyphAt(i) {\n let fly = TextLine.flyweight;\n fly.data = this.data;\n fly.index = i;\n return fly\n },\n splitAt(i) {\n let newLine = new TextLine();\n newLine.data = this.data.splice(i * textLineProps.length);\n return newLine\n }\n };\n TextLine.flyweight = textLineProps.reduce((obj, prop, i, all) => {\n Object.defineProperty(obj, prop, {\n get() {\n return this.data[this.index * textLineProps.length + i]\n },\n set(val) {\n this.data[this.index * textLineProps.length + i] = val;\n }\n });\n return obj\n }, {data: null, index: 0});\n\n\n return {\n typeset,\n measure,\n loadFont\n }\n}\n\nconst now = () => (self.performance || Date).now();\n\nconst mainThreadGenerator = createSDFGenerator();\n\nlet warned;\n\n/**\n * Generate an SDF texture image for a single glyph path, placing the result into a webgl canvas at a\n * given location and channel. Utilizes the webgl-sdf-generator external package for GPU-accelerated SDF\n * generation when supported.\n */\nfunction generateSDF(width, height, path, viewBox, distance, exponent, canvas, x, y, channel, useWebGL = true) {\n // Allow opt-out\n if (!useWebGL) {\n return generateSDF_JS_Worker(width, height, path, viewBox, distance, exponent, canvas, x, y, channel)\n }\n\n // Attempt GPU-accelerated generation first\n return generateSDF_GL(width, height, path, viewBox, distance, exponent, canvas, x, y, channel).then(\n null,\n err => {\n // WebGL failed either due to a hard error or unexpected results; fall back to JS in workers\n if (!warned) {\n console.warn(`WebGL SDF generation failed, falling back to JS`, err);\n warned = true;\n }\n return generateSDF_JS_Worker(width, height, path, viewBox, distance, exponent, canvas, x, y, channel)\n }\n )\n}\n\n/**\n * WebGL-based implementation executed on the main thread. Requests are executed in time-bounded\n * macrotask chunks to allow render frames to execute in between.\n */\nconst generateSDF_GL = /*#__PURE__*/function() {\n const queue = [];\n const chunkTimeBudget = 5; //ms\n let timer = 0;\n function nextChunk() {\n const start = now();\n while (queue.length && now() - start < chunkTimeBudget) {\n queue.shift()();\n }\n timer = queue.length ? setTimeout(nextChunk, 0) : 0;\n }\n return (...args) => {\n const thenable = Thenable();\n queue.push(() => {\n const start = now();\n try {\n mainThreadGenerator.webgl.generateIntoCanvas(...args);\n thenable.resolve({timing: now() - start});\n } catch(err) {\n thenable.reject(err);\n }\n });\n if (!timer) {\n timer = setTimeout(nextChunk, 0);\n }\n return thenable\n }\n}();\n\n/**\n * Fallback JS-based implementation, fanned out to a number of worker threads for parallelism\n */\nconst generateSDF_JS_Worker = /*#__PURE__*/function() {\n const threadCount = 4; //how many workers to spawn\n const idleTimeout = 2000; //workers will be terminated after being idle this many milliseconds\n const threads = {};\n let callNum = 0;\n return function(width, height, path, viewBox, distance, exponent, canvas, x, y, channel) {\n const workerId = 'TroikaTextSDFGenerator_JS_' + ((callNum++) % threadCount);\n let thread = threads[workerId];\n if (!thread) {\n thread = threads[workerId] = {\n workerModule: defineWorkerModule({\n name: workerId,\n workerId,\n dependencies: [\n createSDFGenerator,\n now\n ],\n init(_createSDFGenerator, now) {\n const generate = _createSDFGenerator().javascript.generate;\n return function (...args) {\n const start = now();\n const textureData = generate(...args);\n return {\n textureData,\n timing: now() - start\n }\n }\n },\n getTransferables(result) {\n return [result.textureData.buffer]\n }\n }),\n requests: 0,\n idleTimer: null\n };\n }\n\n thread.requests++;\n clearTimeout(thread.idleTimer);\n return thread.workerModule(width, height, path, viewBox, distance, exponent)\n .then(({textureData, timing}) => {\n // copy result data into the canvas\n const start = now();\n // expand single-channel data into rgba\n const imageData = new Uint8Array(textureData.length * 4);\n for (let i = 0; i < textureData.length; i++) {\n imageData[i * 4 + channel] = textureData[i];\n }\n mainThreadGenerator.webglUtils.renderImageData(canvas, imageData, x, y, width, height, 1 << (3 - channel));\n timing += now() - start;\n\n // clean up workers after a while\n if (--thread.requests === 0) {\n thread.idleTimer = setTimeout(() => { terminateWorker(workerId); }, idleTimeout);\n }\n return {timing}\n })\n }\n}();\n\nfunction warmUpSDFCanvas(canvas) {\n if (!canvas._warm) {\n mainThreadGenerator.webgl.isSupported(canvas);\n canvas._warm = true;\n }\n}\n\nconst resizeWebGLCanvasWithoutClearing = mainThreadGenerator.webglUtils.resizeWebGLCanvasWithoutClearing;\n\n/*!\nCustom build of Typr.ts (https://github.com/fredli74/Typr.ts) for use in Troika text rendering.\nOriginal MIT license applies: https://github.com/fredli74/Typr.ts/blob/master/LICENSE\n*/\nfunction typrFactory(){return \"undefined\"==typeof window&&(self.window=self),function(r){var e={parse:function(r){var t=e._bin,a=new Uint8Array(r);if(\"ttcf\"==t.readASCII(a,0,4)){var n=4;t.readUshort(a,n),n+=2,t.readUshort(a,n),n+=2;var o=t.readUint(a,n);n+=4;for(var s=[],i=0;i>>t&1)&&e++;return e},e._lctf.readClassDef=function(r,t){var a=e._bin,n=[],o=a.readUshort(r,t);if(t+=2,1==o){var s=a.readUshort(r,t);t+=2;var i=a.readUshort(r,t);t+=2;for(var h=0;h0&&(o.featureParams=n+s);var i=a.readUshort(r,t);t+=2,o.tab=[];for(var h=0;h255?-1:e.CFF.glyphByUnicode(r,e.CFF.tableSE[t])},e.CFF.readEncoding=function(r,t,a){e._bin;var n=[\".notdef\"],o=r[t];if(t++,0!=o)throw \"error: unknown encoding format: \"+o;var s=r[t];t++;for(var i=0;i>4,p=15&v;if(15!=c&&u.push(c),15!=p&&u.push(p),15==p)break}for(var U=\"\",g=[0,1,2,3,4,5,6,7,8,9,\".\",\"e\",\"e-\",\"reserved\",\"-\",\"endOfNumber\"],S=0;S=s.xMax||s.yMin>=s.yMax)return null;if(s.noc>0){s.endPts=[];for(var i=0;i=1&&i.fmt<=2){f=o.readUshort(r,a);a+=2;var l=o.readUshort(r,a);a+=2;d=e._lctf.numOfOnes(f);var u=e._lctf.numOfOnes(l);if(1==i.fmt){i.pairsets=[];var v=o.readUshort(r,a);a+=2;for(var c=0;c=1&&i.fmt<=2){if(1==i.fmt)i.delta=o.readShort(r,a),a+=2;else if(2==i.fmt){var f=o.readUshort(r,a);a+=2,i.newg=o.readUshorts(r,a,f),a+=2*i.newg.length;}}else if(4==t){i.vals=[];f=o.readUshort(r,a);a+=2;for(var d=0;d>>8;if(0!=(l&=15))throw \"unknown kern table format: \"+l;t=e.kern.readFormat0(r,t,h);}return h},e.kern.parseV1=function(r,t,a,n){var o=e._bin;o.readFixed(r,t),t+=4;var s=o.readUint(r,t);t+=4;for(var i={glyph1:[],rval:[]},h=0;h>>8;if(0!=(d&=15))throw \"unknown kern table format: \"+d;t=e.kern.readFormat0(r,t,i);}return i},e.kern.readFormat0=function(r,t,a){var n=e._bin,o=-1,s=n.readUshort(r,t);t+=2,n.readUshort(r,t),t+=2,n.readUshort(r,t),t+=2,n.readUshort(r,t),t+=2;for(var i=0;i=n.map.length?0:n.map[e];if(4==n.format){for(var o=-1,s=0;se)return 0;return 65535&(0!=n.idRangeOffset[o]?n.glyphIdArray[e-n.startCount[o]+(n.idRangeOffset[o]>>1)-(n.idRangeOffset.length-o)]:e+n.idDelta[o])}if(12==n.format){if(e>n.groups[n.groups.length-1][1])return 0;for(s=0;s-1?e.U._simpleGlyph(n,a):e.U._compoGlyph(n,t,a));},e.U._simpleGlyph=function(r,t){for(var a=0;ao)){for(var v=!0,c=0,p=0;po)){for(v=!0,p=0;p>1,s.length=0,h=!0;else if(\"o3\"==x||\"o23\"==x){s.length%2!=0&&!h&&(f=s.shift()+n.nominalWidthX),i+=s.length>>1,s.length=0,h=!0;}else if(\"o4\"==x)s.length>1&&!h&&(f=s.shift()+n.nominalWidthX,h=!0),d&&e.U.P.closePath(o),v+=s.pop(),e.U.P.moveTo(o,u,v),d=!0;else if(\"o5\"==x)for(;s.length>0;)u+=s.shift(),v+=s.shift(),e.U.P.lineTo(o,u,v);else if(\"o6\"==x||\"o7\"==x)for(var P=s.length,I=\"o6\"==x,w=0;wMath.abs(y-v)?u=b+s.shift():v=y+s.shift(),e.U.P.curveTo(o,c,p,U,g,F,_),e.U.P.curveTo(o,S,m,b,y,u,v));else if(\"o14\"==x){if(s.length>0&&!h&&(f=s.shift()+a.nominalWidthX,h=!0),4==s.length){var k=s.shift(),G=s.shift(),D=s.shift(),B=s.shift(),L=e.CFF.glyphBySE(a,D),R=e.CFF.glyphBySE(a,B);e.U._drawCFF(a.CharStrings[L],t,a,n,o),t.x=k,t.y=G,e.U._drawCFF(a.CharStrings[R],t,a,n,o);}d&&(e.U.P.closePath(o),d=!1);}else if(\"o19\"==x||\"o20\"==x){s.length%2!=0&&!h&&(f=s.shift()+n.nominalWidthX),i+=s.length>>1,s.length=0,h=!0,l+=i+7>>3;}else if(\"o21\"==x)s.length>2&&!h&&(f=s.shift()+n.nominalWidthX,h=!0),v+=s.pop(),u+=s.pop(),d&&e.U.P.closePath(o),e.U.P.moveTo(o,u,v),d=!0;else if(\"o22\"==x)s.length>1&&!h&&(f=s.shift()+n.nominalWidthX,h=!0),u+=s.pop(),d&&e.U.P.closePath(o),e.U.P.moveTo(o,u,v),d=!0;else if(\"o25\"==x){for(;s.length>6;)u+=s.shift(),v+=s.shift(),e.U.P.lineTo(o,u,v);c=u+s.shift(),p=v+s.shift(),U=c+s.shift(),g=p+s.shift(),u=U+s.shift(),v=g+s.shift(),e.U.P.curveTo(o,c,p,U,g,u,v);}else if(\"o26\"==x)for(s.length%2&&(u+=s.shift());s.length>0;)c=u,p=v+s.shift(),u=U=c+s.shift(),v=(g=p+s.shift())+s.shift(),e.U.P.curveTo(o,c,p,U,g,u,v);else if(\"o27\"==x)for(s.length%2&&(v+=s.shift());s.length>0;)p=v,U=(c=u+s.shift())+s.shift(),g=p+s.shift(),u=U+s.shift(),v=g,e.U.P.curveTo(o,c,p,U,g,u,v);else if(\"o10\"==x||\"o29\"==x){var A=\"o10\"==x?n:a;if(0==s.length)console.debug(\"error: empty stack\");else {var W=s.pop(),M=A.Subrs[W+A.Bias];t.x=u,t.y=v,t.nStems=i,t.haveWidth=h,t.width=f,t.open=d,e.U._drawCFF(M,t,a,n,o),u=t.x,v=t.y,i=t.nStems,h=t.haveWidth,f=t.width,d=t.open;}}else if(\"o30\"==x||\"o31\"==x){var V=s.length,N=(T=0,\"o31\"==x);for(T+=V-(P=-3&V);T>>1|(21845&g)<<1;h=(61680&(h=(52428&h)>>>2|(13107&h)<<2))>>>4|(3855&h)<<4,c[g]=((65280&h)>>>8|(255&h)<<8)>>>1;}var w=function(r,e,t){for(var a=r.length,i=0,o=new n(e);i>>v]=s;}else for(f=new n(a),i=0;i>>15-r[i]);return f},d=new e(288);for(g=0;g<144;++g)d[g]=8;for(g=144;g<256;++g)d[g]=9;for(g=256;g<280;++g)d[g]=7;for(g=280;g<288;++g)d[g]=8;var m=new e(32);for(g=0;g<32;++g)m[g]=5;var b=w(d,9,1),p=w(m,5,1),y=function(r){for(var e=r[0],n=1;ne&&(e=r[n]);return e},L=function(r,e,n){var t=e/8|0;return (r[t]|r[t+1]<<8)>>(7&e)&n},U=function(r,e){var n=e/8|0;return (r[n]|r[n+1]<<8|r[n+2]<<16)>>(7&e)},k=[\"unexpected EOF\",\"invalid block type\",\"invalid length/literal\",\"invalid distance\",\"stream finished\",\"no stream handler\",,\"no callback\",\"invalid UTF-8 data\",\"extra field too long\",\"date not in range 1980-2099\",\"filename too long\",\"stream finishing\",\"invalid zip data\"],T=function(r,e,n){var t=new Error(e||k[r]);if(t.code=r,Error.captureStackTrace&&Error.captureStackTrace(t,T),!n)throw t;return t},O=function(r,f,u){var s=r.length;if(!s||u&&!u.l&&s<5)return f||new e(0);var c=!f||u,g=!u||u.i;u||(u={}),f||(f=new e(3*s));var h,d=function(r){var n=f.length;if(r>n){var t=new e(Math.max(2*n,r));t.set(f),f=t;}},m=u.f||0,k=u.p||0,O=u.b||0,A=u.l,x=u.d,E=u.m,D=u.n,M=8*s;do{if(!A){u.f=m=L(r,k,1);var S=L(r,k+1,3);if(k+=3,!S){var V=r[(I=((h=k)/8|0)+(7&h&&1)+4)-4]|r[I-3]<<8,_=I+V;if(_>s){g&&T(0);break}c&&d(O+V),f.set(r.subarray(I,_),O),u.b=O+=V,u.p=k=8*_;continue}if(1==S)A=b,x=p,E=9,D=5;else if(2==S){var j=L(r,k,31)+257,z=L(r,k+10,15)+4,C=j+L(r,k+5,31)+1;k+=14;for(var F=new e(C),P=new e(19),q=0;q>>4)<16)F[q++]=I;else {var K=0,N=0;for(16==I?(N=3+L(r,k,3),k+=2,K=F[q-1]):17==I?(N=3+L(r,k,7),k+=3):18==I&&(N=11+L(r,k,127),k+=7);N--;)F[q++]=K;}}var Q=F.subarray(0,j),R=F.subarray(j);E=y(Q),D=y(R),A=w(Q,E,1),x=w(R,D,1);}else T(1);if(k>M){g&&T(0);break}}c&&d(O+131072);for(var W=(1<>>4;if((k+=15&K)>M){g&&T(0);break}if(K||T(2),Z<256)f[O++]=Z;else {if(256==Z){Y=k,A=null;break}var $=Z-254;if(Z>264){var rr=a[q=Z-257];$=L(r,k,(1<>>4;er||T(3),k+=15&er;R=l[nr];if(nr>3){rr=i[nr];R+=U(r,k)&(1<M){g&&T(0);break}c&&d(O+131072);for(var tr=O+$;Or.length)&&(i=r.length);var o=new(r instanceof n?n:r instanceof t?t:e)(i-a);return o.set(r.subarray(a,i)),o}(f,0,O)},A=new e(0);var x=\"undefined\"!=typeof TextDecoder&&new TextDecoder;try{x.decode(A,{stream:!0}),1;}catch(r){}return r.convert_streams=function(r){var e=new DataView(r),n=0;function t(){var r=e.getUint16(n);return n+=2,r}function a(){var r=e.getUint32(n);return n+=4,r}function i(r){m.setUint16(b,r),b+=2;}function o(r){m.setUint32(b,r),b+=4;}for(var f={signature:a(),flavor:a(),length:a(),numTables:t(),reserved:t(),totalSfntSize:a(),majorVersion:t(),minorVersion:t(),metaOffset:a(),metaLength:a(),metaOrigLength:a(),privOffset:a(),privLength:a()},u=0;Math.pow(2,u)<=f.numTables;)u++;u--;for(var v=16*Math.pow(2,u),s=16*f.numTables-v,l=12,c=[],g=0;g {\n let [skip, step] = range.split('+');\n skip = parseInt(skip,36);\n step = step ? parseInt(step, 36) : 0;\n joiningTypeMap.set(lastCode += skip, m[type]);\n for (let i = step; i--;) {\n joiningTypeMap.set(++lastCode, m[type]);\n }\n });\n }\n }\n return joiningTypeMap.get(ch) || JT_NON_JOINING\n }\n\n const ISOL = 1, INIT = 2, FINA = 3, MEDI = 4;\n const formsToFeatures = [null, 'isol', 'init', 'fina', 'medi'];\n\n function detectJoiningForms(str) {\n // This implements the algorithm described here:\n // https://github.com/n8willis/opentype-shaping-documents/blob/master/opentype-shaping-arabic-general.md\n const joiningForms = new Uint8Array(str.length);\n let prevJoiningType = JT_NON_JOINING;\n let prevForm = ISOL;\n let prevIndex = -1;\n for (let i = 0; i < str.length; i++) {\n const code = str.codePointAt(i);\n let joiningType = getCharJoiningType(code) | 0;\n let form = ISOL;\n if (joiningType & JT_TRANSPARENT) {\n continue\n }\n if (prevJoiningType & (JT_LEFT | JT_DUAL | JT_JOIN_CAUSING)) {\n if (joiningType & (JT_RIGHT | JT_DUAL | JT_JOIN_CAUSING)) {\n form = FINA;\n // isol->init, fina->medi\n if (prevForm === ISOL || prevForm === FINA) {\n joiningForms[prevIndex]++;\n }\n }\n else if (joiningType & (JT_LEFT | JT_NON_JOINING)) {\n // medi->fina, init->isol\n if (prevForm === INIT || prevForm === MEDI) {\n joiningForms[prevIndex]--;\n }\n }\n }\n else if (prevJoiningType & (JT_RIGHT | JT_NON_JOINING)) {\n // medi->fina, init->isol\n if (prevForm === INIT || prevForm === MEDI) {\n joiningForms[prevIndex]--;\n }\n }\n prevForm = joiningForms[i] = form;\n prevJoiningType = joiningType;\n prevIndex = i;\n if (code > 0xffff) i++;\n }\n // console.log(str.split('').map(ch => ch.codePointAt(0).toString(16)))\n // console.log(str.split('').map(ch => getCharJoiningType(ch.codePointAt(0))))\n // console.log(Array.from(joiningForms).map(f => formsToFeatures[f] || 'none'))\n return joiningForms\n }\n\n function stringToGlyphs (font, str) {\n const glyphIds = [];\n for (let i = 0; i < str.length; i++) {\n const cc = str.codePointAt(i);\n if (cc > 0xffff) i++;\n glyphIds.push(Typr.U.codeToGlyph(font, cc));\n }\n\n const gsub = font['GSUB'];\n if (gsub) {\n const {lookupList, featureList} = gsub;\n let joiningForms;\n const supportedFeatures = /^(rlig|liga|mset|isol|init|fina|medi|half|pres|blws)$/;\n const usedLookups = [];\n featureList.forEach(feature => {\n if (supportedFeatures.test(feature.tag)) {\n for (let ti = 0; ti < feature.tab.length; ti++) {\n if (usedLookups[feature.tab[ti]]) continue\n usedLookups[feature.tab[ti]] = true;\n const tab = lookupList[feature.tab[ti]];\n const isJoiningFeature = /^(isol|init|fina|medi)$/.test(feature.tag);\n if (isJoiningFeature && !joiningForms) { //lazy\n joiningForms = detectJoiningForms(str);\n }\n for (let ci = 0; ci < glyphIds.length; ci++) {\n if (!joiningForms || !isJoiningFeature || formsToFeatures[joiningForms[ci]] === feature.tag) {\n Typr.U._applySubs(glyphIds, ci, tab, lookupList);\n }\n }\n }\n }\n });\n }\n\n return glyphIds\n }\n\n\n function wrapFontObj(typrFont) {\n const glyphMap = Object.create(null);\n\n const fontObj = {\n unitsPerEm: typrFont.head.unitsPerEm,\n ascender: typrFont.hhea.ascender,\n descender: typrFont.hhea.descender,\n forEachGlyph(text, fontSize, letterSpacing, callback) {\n let glyphX = 0;\n const fontScale = 1 / fontObj.unitsPerEm * fontSize;\n\n const glyphIndices = stringToGlyphs(typrFont, text);\n let charIndex = 0;\n let prevGlyphIndex = -1;\n glyphIndices.forEach((glyphIndex, i) => {\n // Typr returns a glyph index per string codepoint, with -1s in place of those that\n // were omitted due to ligature substitution. So we can track original index in the\n // string via simple increment, and skip everything else when seeing a -1.\n if (glyphIndex !== -1) {\n let glyphObj = glyphMap[glyphIndex];\n if (!glyphObj) {\n const {cmds, crds} = Typr.U.glyphToPath(typrFont, glyphIndex);\n\n // Build path string\n let path = '';\n let crdsIdx = 0;\n for (let i = 0, len = cmds.length; i < len; i++) {\n const numArgs = cmdArgLengths[cmds[i]];\n path += cmds[i];\n for (let j = 1; j <= numArgs; j++) {\n path += (j > 1 ? ',' : '') + crds[crdsIdx++];\n }\n }\n\n // Find extents - Glyf gives this in metadata but not CFF, and Typr doesn't\n // normalize the two, so it's simplest just to iterate ourselves.\n let xMin, yMin, xMax, yMax;\n if (crds.length) {\n xMin = yMin = Infinity;\n xMax = yMax = -Infinity;\n for (let i = 0, len = crds.length; i < len; i += 2) {\n let x = crds[i];\n let y = crds[i + 1];\n if (x < xMin) xMin = x;\n if (y < yMin) yMin = y;\n if (x > xMax) xMax = x;\n if (y > yMax) yMax = y;\n }\n } else {\n xMin = xMax = yMin = yMax = 0;\n }\n\n glyphObj = glyphMap[glyphIndex] = {\n index: glyphIndex,\n advanceWidth: typrFont.hmtx.aWidth[glyphIndex],\n xMin,\n yMin,\n xMax,\n yMax,\n path,\n pathCommandCount: cmds.length,\n // forEachPathCommand(callback) {\n // let argsIndex = 0\n // const argsArray = []\n // for (let i = 0, len = cmds.length; i < len; i++) {\n // const numArgs = cmdArgLengths[cmds[i]]\n // argsArray.length = 1 + numArgs\n // argsArray[0] = cmds[i]\n // for (let j = 1; j <= numArgs; j++) {\n // argsArray[j] = crds[argsIndex++]\n // }\n // callback.apply(null, argsArray)\n // }\n // }\n };\n }\n\n // Kerning\n if (prevGlyphIndex !== -1) {\n glyphX += Typr.U.getPairAdjustment(typrFont, prevGlyphIndex, glyphIndex) * fontScale;\n }\n\n callback.call(null, glyphObj, glyphX, charIndex);\n\n if (glyphObj.advanceWidth) {\n glyphX += glyphObj.advanceWidth * fontScale;\n }\n if (letterSpacing) {\n glyphX += letterSpacing * fontSize;\n }\n\n prevGlyphIndex = glyphIndex;\n }\n charIndex += (text.codePointAt(charIndex) > 0xffff ? 2 : 1);\n });\n return glyphX\n }\n };\n\n return fontObj\n }\n\n return function parse(buffer) {\n // Look to see if we have a WOFF file and convert it if so:\n const peek = new Uint8Array(buffer, 0, 4);\n const tag = Typr._bin.readASCII(peek, 0, 4);\n if (tag === 'wOFF') {\n buffer = woff2otf(buffer);\n } else if (tag === 'wOF2') {\n throw new Error('woff2 fonts not supported')\n }\n return wrapFontObj(Typr.parse(buffer)[0])\n }\n}\n\n\nconst workerModule = /*#__PURE__*/defineWorkerModule({\n name: 'Typr Font Parser',\n dependencies: [typrFactory, woff2otfFactory, parserFactory],\n init(typrFactory, woff2otfFactory, parserFactory) {\n const Typr = typrFactory();\n const woff2otf = woff2otfFactory();\n return parserFactory(Typr, woff2otf)\n }\n});\n\nconst CONFIG = {\n defaultFontURL: 'https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxM.woff', //Roboto Regular\n sdfGlyphSize: 64,\n sdfMargin: 1 / 16,\n sdfExponent: 9,\n textureWidth: 2048\n};\nconst tempColor = /*#__PURE__*/new Color();\nlet hasRequested = false;\n\nfunction now$1() {\n return (self.performance || Date).now()\n}\n\n/**\n * Customizes the text builder configuration. This must be called prior to the first font processing\n * request, and applies to all fonts.\n *\n * @param {String} config.defaultFontURL - The URL of the default font to use for text processing\n * requests, in case none is specified or the specifiede font fails to load or parse.\n * Defaults to \"Roboto Regular\" from Google Fonts.\n * @param {Number} config.sdfGlyphSize - The default size of each glyph's SDF (signed distance field)\n * texture used for rendering. Must be a power-of-two number, and applies to all fonts,\n * but note that this can also be overridden per call to `getTextRenderInfo()`.\n * Larger sizes can improve the quality of glyph rendering by increasing the sharpness\n * of corners and preventing loss of very thin lines, at the expense of memory. Defaults\n * to 64 which is generally a good balance of size and quality.\n * @param {Number} config.sdfExponent - The exponent used when encoding the SDF values. A higher exponent\n * shifts the encoded 8-bit values to achieve higher precision/accuracy at texels nearer\n * the glyph's path, with lower precision further away. Defaults to 9.\n * @param {Number} config.sdfMargin - How much space to reserve in the SDF as margin outside the glyph's\n * path, as a percentage of the SDF width. A larger margin increases the quality of\n * extruded glyph outlines, but decreases the precision available for the glyph itself.\n * Defaults to 1/16th of the glyph size.\n * @param {Number} config.textureWidth - The width of the SDF texture; must be a power of 2. Defaults to\n * 2048 which is a safe maximum texture dimension according to the stats at\n * https://webglstats.com/webgl/parameter/MAX_TEXTURE_SIZE and should allow for a\n * reasonably large number of glyphs (default glyph size of 64^2 and safe texture size of\n * 2048^2, times 4 channels, allows for 4096 glyphs.) This can be increased if you need to\n * increase the glyph size and/or have an extraordinary number of glyphs.\n */\nfunction configureTextBuilder(config) {\n if (hasRequested) {\n console.warn('configureTextBuilder called after first font request; will be ignored.');\n } else {\n assign(CONFIG, config);\n }\n}\n\n/**\n * Repository for all font SDF atlas textures and their glyph mappings. There is a separate atlas for\n * each sdfGlyphSize. Each atlas has a single Texture that holds all glyphs for all fonts.\n *\n * {\n * [sdfGlyphSize]: {\n * glyphCount: number,\n * sdfGlyphSize: number,\n * sdfTexture: Texture,\n * sdfCanvas: HTMLCanvasElement,\n * contextLost: boolean,\n * glyphsByFont: Map>\n * }\n * }\n */\nconst atlases = Object.create(null);\n\n/**\n * @typedef {object} TroikaTextRenderInfo - Format of the result from `getTextRenderInfo`.\n * @property {object} parameters - The normalized input arguments to the render call.\n * @property {Texture} sdfTexture - The SDF atlas texture.\n * @property {number} sdfGlyphSize - The size of each glyph's SDF; see `configureTextBuilder`.\n * @property {number} sdfExponent - The exponent used in encoding the SDF's values; see `configureTextBuilder`.\n * @property {Float32Array} glyphBounds - List of [minX, minY, maxX, maxY] quad bounds for each glyph.\n * @property {Float32Array} glyphAtlasIndices - List holding each glyph's index in the SDF atlas.\n * @property {Uint8Array} [glyphColors] - List holding each glyph's [r, g, b] color, if `colorRanges` was supplied.\n * @property {Float32Array} [caretPositions] - A list of caret positions for all characters in the string; each is\n * three elements: the starting X, the ending X, and the bottom Y for the caret.\n * @property {number} [caretHeight] - An appropriate height for all selection carets.\n * @property {number} ascender - The font's ascender metric.\n * @property {number} descender - The font's descender metric.\n * @property {number} lineHeight - The final computed lineHeight measurement.\n * @property {number} topBaseline - The y position of the top line's baseline.\n * @property {Array} blockBounds - The total [minX, minY, maxX, maxY] rect of the whole text block;\n * this can include extra vertical space beyond the visible glyphs due to lineHeight, and is\n * equivalent to the dimensions of a block-level text element in CSS.\n * @property {Array} visibleBounds - The total [minX, minY, maxX, maxY] rect of the whole text block;\n * unlike `blockBounds` this is tightly wrapped to the visible glyph paths.\n * @property {Array} totalBounds - DEPRECATED; use blockBounds instead.\n * @property {Array} totalBlockSize - DEPRECATED; use blockBounds instead\n * @property {Array} chunkedBounds - List of bounding rects for each consecutive set of N glyphs,\n * in the format `{start:N, end:N, rect:[minX, minY, maxX, maxY]}`.\n * @property {object} timings - Timing info for various parts of the rendering logic including SDF\n * generation, typesetting, etc.\n * @frozen\n */\n\n/**\n * @callback getTextRenderInfo~callback\n * @param {TroikaTextRenderInfo} textRenderInfo\n */\n\n/**\n * Main entry point for requesting the data needed to render a text string with given font parameters.\n * This is an asynchronous call, performing most of the logic in a web worker thread.\n * @param {object} args\n * @param {getTextRenderInfo~callback} callback\n */\nfunction getTextRenderInfo(args, callback) {\n hasRequested = true;\n args = assign({}, args);\n const totalStart = now$1();\n\n // Apply default font here to avoid a 'null' atlas, and convert relative\n // URLs to absolute so they can be resolved in the worker\n args.font = toAbsoluteURL(args.font || CONFIG.defaultFontURL);\n\n // Normalize text to a string\n args.text = '' + args.text;\n\n args.sdfGlyphSize = args.sdfGlyphSize || CONFIG.sdfGlyphSize;\n\n // Normalize colors\n if (args.colorRanges != null) {\n let colors = {};\n for (let key in args.colorRanges) {\n if (args.colorRanges.hasOwnProperty(key)) {\n let val = args.colorRanges[key];\n if (typeof val !== 'number') {\n val = tempColor.set(val).getHex();\n }\n colors[key] = val;\n }\n }\n args.colorRanges = colors;\n }\n\n Object.freeze(args);\n\n // Init the atlas if needed\n const {textureWidth, sdfExponent} = CONFIG;\n const {sdfGlyphSize} = args;\n const glyphsPerRow = (textureWidth / sdfGlyphSize * 4);\n let atlas = atlases[sdfGlyphSize];\n if (!atlas) {\n const canvas = document.createElement('canvas');\n canvas.width = textureWidth;\n canvas.height = sdfGlyphSize * 256 / glyphsPerRow; // start tall enough to fit 256 glyphs\n atlas = atlases[sdfGlyphSize] = {\n glyphCount: 0,\n sdfGlyphSize,\n sdfCanvas: canvas,\n sdfTexture: new Texture(\n canvas,\n undefined,\n undefined,\n undefined,\n LinearFilter,\n LinearFilter\n ),\n contextLost: false,\n glyphsByFont: new Map()\n };\n atlas.sdfTexture.generateMipmaps = false;\n initContextLossHandling(atlas);\n }\n\n const {sdfTexture, sdfCanvas} = atlas;\n let fontGlyphs = atlas.glyphsByFont.get(args.font);\n if (!fontGlyphs) {\n atlas.glyphsByFont.set(args.font, fontGlyphs = new Map());\n }\n\n // Issue request to the typesetting engine in the worker\n typesetInWorker(args).then(result => {\n const {glyphIds, glyphPositions, fontSize, unitsPerEm, timings} = result;\n const neededSDFs = [];\n const glyphBounds = new Float32Array(glyphIds.length * 4);\n const fontSizeMult = fontSize / unitsPerEm;\n let boundsIdx = 0;\n let positionsIdx = 0;\n const quadsStart = now$1();\n glyphIds.forEach((glyphId, i) => {\n let glyphInfo = fontGlyphs.get(glyphId);\n\n // If this is a glyphId not seen before, add it to the atlas\n if (!glyphInfo) {\n const {path, pathBounds} = result.glyphData[glyphId];\n\n // Margin around path edges in SDF, based on a percentage of the glyph's max dimension.\n // Note we add an extra 0.5 px over the configured value because the outer 0.5 doesn't contain\n // useful interpolated values and will be ignored anyway.\n const fontUnitsMargin = Math.max(pathBounds[2] - pathBounds[0], pathBounds[3] - pathBounds[1])\n / sdfGlyphSize * (CONFIG.sdfMargin * sdfGlyphSize + 0.5);\n\n const atlasIndex = atlas.glyphCount++;\n const sdfViewBox = [\n pathBounds[0] - fontUnitsMargin,\n pathBounds[1] - fontUnitsMargin,\n pathBounds[2] + fontUnitsMargin,\n pathBounds[3] + fontUnitsMargin,\n ];\n fontGlyphs.set(glyphId, (glyphInfo = { path, atlasIndex, sdfViewBox }));\n\n // Collect those that need SDF generation\n neededSDFs.push(glyphInfo);\n }\n\n // Calculate bounds for renderable quads\n // TODO can we get this back off the main thread?\n const {sdfViewBox} = glyphInfo;\n const posX = glyphPositions[positionsIdx++];\n const posY = glyphPositions[positionsIdx++];\n glyphBounds[boundsIdx++] = posX + sdfViewBox[0] * fontSizeMult;\n glyphBounds[boundsIdx++] = posY + sdfViewBox[1] * fontSizeMult;\n glyphBounds[boundsIdx++] = posX + sdfViewBox[2] * fontSizeMult;\n glyphBounds[boundsIdx++] = posY + sdfViewBox[3] * fontSizeMult;\n\n // Convert glyphId to SDF index for the shader\n glyphIds[i] = glyphInfo.atlasIndex;\n });\n timings.quads = (timings.quads || 0) + (now$1() - quadsStart);\n\n const sdfStart = now$1();\n timings.sdf = {};\n\n // Grow the texture height by power of 2 if needed\n const currentHeight = sdfCanvas.height;\n const neededRows = Math.ceil(atlas.glyphCount / glyphsPerRow);\n const neededHeight = Math.pow(2, Math.ceil(Math.log2(neededRows * sdfGlyphSize)));\n if (neededHeight > currentHeight) {\n // Since resizing the canvas clears its render buffer, it needs special handling to copy the old contents over\n console.info(`Increasing SDF texture size ${currentHeight}->${neededHeight}`);\n resizeWebGLCanvasWithoutClearing(sdfCanvas, textureWidth, neededHeight);\n // As of Three r136 textures cannot be resized once they're allocated on the GPU, we must dispose to reallocate it\n sdfTexture.dispose();\n }\n\n Thenable.all(neededSDFs.map(glyphInfo =>\n generateGlyphSDF(glyphInfo, atlas, args.gpuAccelerateSDF).then(({timing}) => {\n timings.sdf[glyphInfo.atlasIndex] = timing;\n })\n )).then(() => {\n if (neededSDFs.length && !atlas.contextLost) {\n safariPre15Workaround(atlas);\n sdfTexture.needsUpdate = true;\n }\n timings.sdfTotal = now$1() - sdfStart;\n timings.total = now$1() - totalStart;\n // console.log(`SDF - ${timings.sdfTotal}, Total - ${timings.total - timings.fontLoad}`)\n\n // Invoke callback with the text layout arrays and updated texture\n callback(Object.freeze({\n parameters: args,\n sdfTexture,\n sdfGlyphSize,\n sdfExponent,\n glyphBounds,\n glyphAtlasIndices: glyphIds,\n glyphColors: result.glyphColors,\n caretPositions: result.caretPositions,\n caretHeight: result.caretHeight,\n chunkedBounds: result.chunkedBounds,\n ascender: result.ascender,\n descender: result.descender,\n lineHeight: result.lineHeight,\n topBaseline: result.topBaseline,\n blockBounds: result.blockBounds,\n visibleBounds: result.visibleBounds,\n timings: result.timings,\n get totalBounds() {\n console.log('totalBounds deprecated, use blockBounds instead');\n return result.blockBounds\n },\n get totalBlockSize() {\n console.log('totalBlockSize deprecated, use blockBounds instead');\n const [x0, y0, x1, y1] = result.blockBounds;\n return [x1 - x0, y1 - y0]\n }\n }));\n });\n });\n\n // While the typesetting request is being handled, go ahead and make sure the atlas canvas context is\n // \"warmed up\"; the first request will be the longest due to shader program compilation so this gets\n // a head start on that process before SDFs actually start getting processed.\n Thenable.all([]).then(() => {\n if (!atlas.contextLost) {\n warmUpSDFCanvas(sdfCanvas);\n }\n });\n}\n\nfunction generateGlyphSDF({path, atlasIndex, sdfViewBox}, {sdfGlyphSize, sdfCanvas, contextLost}, useGPU) {\n if (contextLost) {\n // If the context is lost there's nothing we can do, just quit silently and let it\n // get regenerated when the context is restored\n return Promise.resolve({timing: -1})\n }\n const {textureWidth, sdfExponent} = CONFIG;\n const maxDist = Math.max(sdfViewBox[2] - sdfViewBox[0], sdfViewBox[3] - sdfViewBox[1]);\n const squareIndex = Math.floor(atlasIndex / 4);\n const x = squareIndex % (textureWidth / sdfGlyphSize) * sdfGlyphSize;\n const y = Math.floor(squareIndex / (textureWidth / sdfGlyphSize)) * sdfGlyphSize;\n const channel = atlasIndex % 4;\n return generateSDF(sdfGlyphSize, sdfGlyphSize, path, sdfViewBox, maxDist, sdfExponent, sdfCanvas, x, y, channel, useGPU)\n}\n\nfunction initContextLossHandling(atlas) {\n const canvas = atlas.sdfCanvas;\n\n /*\n // Begin context loss simulation\n if (!window.WebGLDebugUtils) {\n let script = document.getElementById('WebGLDebugUtilsScript')\n if (!script) {\n script = document.createElement('script')\n script.id = 'WebGLDebugUtils'\n document.head.appendChild(script)\n script.src = 'https://cdn.jsdelivr.net/gh/KhronosGroup/WebGLDeveloperTools@b42e702/src/debug/webgl-debug.js'\n }\n script.addEventListener('load', () => {\n initContextLossHandling(atlas)\n })\n return\n }\n window.WebGLDebugUtils.makeLostContextSimulatingCanvas(canvas)\n canvas.loseContextInNCalls(500)\n canvas.addEventListener('webglcontextrestored', (event) => {\n canvas.loseContextInNCalls(5000)\n })\n // End context loss simulation\n */\n\n canvas.addEventListener('webglcontextlost', (event) => {\n console.log('Context Lost', event);\n event.preventDefault();\n atlas.contextLost = true;\n });\n canvas.addEventListener('webglcontextrestored', (event) => {\n console.log('Context Restored', event);\n atlas.contextLost = false;\n // Regenerate all glyphs into the restored canvas:\n const promises = [];\n atlas.glyphsByFont.forEach(glyphMap => {\n glyphMap.forEach(glyph => {\n promises.push(generateGlyphSDF(glyph, atlas, true));\n });\n });\n Thenable.all(promises).then(() => {\n safariPre15Workaround(atlas);\n atlas.sdfTexture.needsUpdate = true;\n });\n });\n}\n\n/**\n * Preload a given font and optionally pre-generate glyph SDFs for one or more character sequences.\n * This can be useful to avoid long pauses when first showing text in a scene, by preloading the\n * needed fonts and glyphs up front along with other assets.\n *\n * @param {object} options\n * @param {string} options.font - URL of the font file to preload. If not given, the default font will\n * be loaded.\n * @param {string|string[]} options.characters - One or more character sequences for which to pre-\n * generate glyph SDFs. Note that this will honor ligature substitution, so you may need\n * to specify ligature sequences in addition to their individual characters to get all\n * possible glyphs, e.g. `[\"t\", \"h\", \"th\"]` to get the \"t\" and \"h\" glyphs plus the \"th\" ligature.\n * @param {number} options.sdfGlyphSize - The size at which to prerender the SDF textures for the\n * specified `characters`.\n * @param {function} callback - A function that will be called when the preloading is complete.\n */\nfunction preloadFont({font, characters, sdfGlyphSize}, callback) {\n let text = Array.isArray(characters) ? characters.join('\\n') : '' + characters;\n getTextRenderInfo({ font, sdfGlyphSize, text }, callback);\n}\n\n\n// Local assign impl so we don't have to import troika-core\nfunction assign(toObj, fromObj) {\n for (let key in fromObj) {\n if (fromObj.hasOwnProperty(key)) {\n toObj[key] = fromObj[key];\n }\n }\n return toObj\n}\n\n// Utility for making URLs absolute\nlet linkEl;\nfunction toAbsoluteURL(path) {\n if (!linkEl) {\n linkEl = typeof document === 'undefined' ? {} : document.createElement('a');\n }\n linkEl.href = path;\n return linkEl.href\n}\n\n/**\n * Safari < v15 seems unable to use the SDF webgl canvas as a texture. This applies a workaround\n * where it reads the pixels out of that canvas and uploads them as a data texture instead, at\n * a slight performance cost.\n */\nfunction safariPre15Workaround(atlas) {\n // Use createImageBitmap support as a proxy for Safari<15, all other mainstream browsers\n // have supported it for a long while so any false positives should be minimal.\n if (typeof createImageBitmap !== 'function') {\n console.info('Safari<15: applying SDF canvas workaround');\n const {sdfCanvas, sdfTexture} = atlas;\n const {width, height} = sdfCanvas;\n const gl = atlas.sdfCanvas.getContext('webgl');\n let pixels = sdfTexture.image.data;\n if (!pixels || pixels.length !== width * height * 4) {\n pixels = new Uint8Array(width * height * 4);\n sdfTexture.image = {width, height, data: pixels};\n sdfTexture.flipY = false;\n sdfTexture.isDataTexture = true;\n }\n gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, pixels);\n }\n}\n\n\nconst typesetterWorkerModule = /*#__PURE__*/defineWorkerModule({\n name: 'Typesetter',\n dependencies: [\n CONFIG,\n workerModule,\n createTypesetter,\n bidiFactory\n ],\n init(config, fontParser, createTypesetter, bidiFactory) {\n const {defaultFontURL} = config;\n return createTypesetter(fontParser, bidiFactory(), { defaultFontURL })\n }\n});\n\nconst typesetInWorker = /*#__PURE__*/defineWorkerModule({\n name: 'Typesetter',\n dependencies: [\n typesetterWorkerModule,\n ThenableWorkerModule\n ],\n init(typesetter, Thenable) {\n return function(args) {\n const thenable = new Thenable();\n typesetter.typeset(args, thenable.resolve);\n return thenable\n }\n },\n getTransferables(result) {\n // Mark array buffers as transferable to avoid cloning during postMessage\n const transferables = [\n result.glyphPositions.buffer,\n result.glyphIds.buffer\n ];\n if (result.caretPositions) {\n transferables.push(result.caretPositions.buffer);\n }\n if (result.glyphColors) {\n transferables.push(result.glyphColors.buffer);\n }\n return transferables\n }\n});\n\nfunction dumpSDFTextures() {\n Object.keys(atlases).forEach(size => {\n const canvas = atlases[size].sdfCanvas;\n const {width, height} = canvas;\n console.log(\"%c.\", `\n background: url(${canvas.toDataURL()});\n background-size: ${width}px ${height}px;\n color: transparent;\n font-size: 0;\n line-height: ${height}px;\n padding-left: ${width}px;\n `);\n });\n}\n\nconst GlyphsGeometry = /*#__PURE__*/(() => {\n\n const templateGeometries = {};\n function getTemplateGeometry(detail) {\n let geom = templateGeometries[detail];\n if (!geom) {\n // Geometry is two planes back-to-back, which will always be rendered FrontSide only but\n // appear as DoubleSide by default. FrontSide/BackSide are emulated using drawRange.\n // We do it this way to avoid the performance hit of two draw calls for DoubleSide materials\n // introduced by Three.js in r130 - see https://github.com/mrdoob/three.js/pull/21967\n const front = new PlaneBufferGeometry(1, 1, detail, detail);\n const back = front.clone();\n const frontAttrs = front.attributes;\n const backAttrs = back.attributes;\n const combined = new BufferGeometry();\n const vertCount = frontAttrs.uv.count;\n for (let i = 0; i < vertCount; i++) {\n backAttrs.position.array[i * 3] *= -1; // flip position x\n backAttrs.normal.array[i * 3 + 2] *= -1; // flip normal z\n }\n['position', 'normal', 'uv'].forEach(name => {\n combined.setAttribute(name, new Float32BufferAttribute(\n [...frontAttrs[name].array, ...backAttrs[name].array],\n frontAttrs[name].itemSize)\n );\n });\n combined.setIndex([...front.index.array, ...back.index.array.map(n => n + vertCount)]);\n combined.translate(0.5, 0.5, 0);\n geom = templateGeometries[detail] = combined;\n }\n return geom\n }\n\n const glyphBoundsAttrName = 'aTroikaGlyphBounds';\n const glyphIndexAttrName = 'aTroikaGlyphIndex';\n const glyphColorAttrName = 'aTroikaGlyphColor';\n\n /**\n @class GlyphsGeometry\n\n A specialized Geometry for rendering a set of text glyphs. Uses InstancedBufferGeometry to\n render the glyphs using GPU instancing of a single quad, rather than constructing a whole\n geometry with vertices, for much smaller attribute arraybuffers according to this math:\n\n Where N = number of glyphs...\n\n Instanced:\n - position: 4 * 3\n - index: 2 * 3\n - normal: 4 * 3\n - uv: 4 * 2\n - glyph x/y bounds: N * 4\n - glyph indices: N * 1\n = 5N + 38\n\n Non-instanced:\n - position: N * 4 * 3\n - index: N * 2 * 3\n - normal: N * 4 * 3\n - uv: N * 4 * 2\n - glyph indices: N * 1\n = 39N\n\n A downside of this is the rare-but-possible lack of the instanced arrays extension,\n which we could potentially work around with a fallback non-instanced implementation.\n\n */\n class GlyphsGeometry extends InstancedBufferGeometry {\n constructor() {\n super();\n\n this.detail = 1;\n this.curveRadius = 0;\n\n // Define groups for rendering text outline as a separate pass; these will only\n // be used when the `material` getter returns an array, i.e. outlineWidth > 0.\n this.groups = [\n {start: 0, count: Infinity, materialIndex: 0},\n {start: 0, count: Infinity, materialIndex: 1}\n ];\n\n // Preallocate empty bounding objects\n this.boundingSphere = new Sphere();\n this.boundingBox = new Box3();\n }\n\n computeBoundingSphere () {\n // No-op; we'll sync the boundingSphere proactively when needed.\n }\n\n computeBoundingBox() {\n // No-op; we'll sync the boundingBox proactively when needed.\n }\n\n // Since our base geometry contains triangles for both front and back sides, we can emulate\n // the \"side\" by restricting the draw range.\n setSide(side) {\n const verts = this.getIndex().count;\n this.setDrawRange(side === BackSide ? verts / 2 : 0, side === DoubleSide ? verts : verts / 2);\n }\n\n set detail(detail) {\n if (detail !== this._detail) {\n this._detail = detail;\n if (typeof detail !== 'number' || detail < 1) {\n detail = 1;\n }\n let tpl = getTemplateGeometry(detail)\n ;['position', 'normal', 'uv'].forEach(attr => {\n this.attributes[attr] = tpl.attributes[attr].clone();\n });\n this.setIndex(tpl.getIndex().clone());\n }\n }\n get detail() {\n return this._detail\n }\n\n set curveRadius(r) {\n if (r !== this._curveRadius) {\n this._curveRadius = r;\n this._updateBounds();\n }\n }\n get curveRadius() {\n return this._curveRadius\n }\n\n /**\n * Update the geometry for a new set of glyphs.\n * @param {Float32Array} glyphBounds - An array holding the planar bounds for all glyphs\n * to be rendered, 4 entries for each glyph: x1,x2,y1,y1\n * @param {Float32Array} glyphAtlasIndices - An array holding the index of each glyph within\n * the SDF atlas texture.\n * @param {Array} blockBounds - An array holding the [minX, minY, maxX, maxY] across all glyphs\n * @param {Array} [chunkedBounds] - An array of objects describing bounds for each chunk of N\n * consecutive glyphs: `{start:N, end:N, rect:[minX, minY, maxX, maxY]}`. This can be\n * used with `applyClipRect` to choose an optimized `instanceCount`.\n * @param {Uint8Array} [glyphColors] - An array holding r,g,b values for each glyph.\n */\n updateGlyphs(glyphBounds, glyphAtlasIndices, blockBounds, chunkedBounds, glyphColors) {\n // Update the instance attributes\n updateBufferAttr(this, glyphBoundsAttrName, glyphBounds, 4);\n updateBufferAttr(this, glyphIndexAttrName, glyphAtlasIndices, 1);\n updateBufferAttr(this, glyphColorAttrName, glyphColors, 3);\n this._blockBounds = blockBounds;\n this._chunkedBounds = chunkedBounds;\n setInstanceCount(this, glyphAtlasIndices.length);\n this._updateBounds();\n }\n\n _updateBounds() {\n const bounds = this._blockBounds;\n if (bounds) {\n const { curveRadius, boundingBox: bbox } = this;\n if (curveRadius) {\n const { PI, floor, min, max, sin, cos } = Math;\n const halfPi = PI / 2;\n const twoPi = PI * 2;\n const absR = Math.abs(curveRadius);\n const leftAngle = bounds[0] / absR;\n const rightAngle = bounds[2] / absR;\n const minX = floor((leftAngle + halfPi) / twoPi) !== floor((rightAngle + halfPi) / twoPi)\n ? -absR : min(sin(leftAngle) * absR, sin(rightAngle) * absR);\n const maxX = floor((leftAngle - halfPi) / twoPi) !== floor((rightAngle - halfPi) / twoPi)\n ? absR : max(sin(leftAngle) * absR, sin(rightAngle) * absR);\n const maxZ = floor((leftAngle + PI) / twoPi) !== floor((rightAngle + PI) / twoPi)\n ? absR * 2 : max(absR - cos(leftAngle) * absR, absR - cos(rightAngle) * absR);\n bbox.min.set(minX, bounds[1], curveRadius < 0 ? -maxZ : 0);\n bbox.max.set(maxX, bounds[3], curveRadius < 0 ? 0 : maxZ);\n } else {\n bbox.min.set(bounds[0], bounds[1], 0);\n bbox.max.set(bounds[2], bounds[3], 0);\n }\n bbox.getBoundingSphere(this.boundingSphere);\n }\n }\n\n /**\n * Given a clipping rect, and the chunkedBounds from the last updateGlyphs call, choose the lowest\n * `instanceCount` that will show all glyphs within the clipped view. This is an optimization\n * for long blocks of text that are clipped, to skip vertex shader evaluation for glyphs that would\n * be clipped anyway.\n *\n * Note that since `drawElementsInstanced[ANGLE]` only accepts an instance count and not a starting\n * offset, this optimization becomes less effective as the clipRect moves closer to the end of the\n * text block. We could fix that by switching from instancing to a full geometry with a drawRange,\n * but at the expense of much larger attribute buffers (see classdoc above.)\n *\n * @param {Vector4} clipRect\n */\n applyClipRect(clipRect) {\n let count = this.getAttribute(glyphIndexAttrName).count;\n let chunks = this._chunkedBounds;\n if (chunks) {\n for (let i = chunks.length; i--;) {\n count = chunks[i].end;\n let rect = chunks[i].rect;\n // note: both rects are l-b-r-t\n if (rect[1] < clipRect.w && rect[3] > clipRect.y && rect[0] < clipRect.z && rect[2] > clipRect.x) {\n break\n }\n }\n }\n setInstanceCount(this, count);\n }\n }\n\n // Compat for pre r109:\n if (!GlyphsGeometry.prototype.setAttribute) {\n GlyphsGeometry.prototype.setAttribute = function(name, attribute) {\n this.attributes[ name ] = attribute;\n return this\n };\n }\n\n\n function updateBufferAttr(geom, attrName, newArray, itemSize) {\n const attr = geom.getAttribute(attrName);\n if (newArray) {\n // If length isn't changing, just update the attribute's array data\n if (attr && attr.array.length === newArray.length) {\n attr.array.set(newArray);\n attr.needsUpdate = true;\n } else {\n geom.setAttribute(attrName, new InstancedBufferAttribute(newArray, itemSize));\n // If the new attribute has a different size, we also have to (as of r117) manually clear the\n // internal cached max instance count. See https://github.com/mrdoob/three.js/issues/19706\n // It's unclear if this is a threejs bug or a truly unsupported scenario; discussion in\n // that ticket is ambiguous as to whether replacing a BufferAttribute with one of a\n // different size is supported, but https://github.com/mrdoob/three.js/pull/17418 strongly\n // implies it should be supported. It's possible we need to\n delete geom._maxInstanceCount; //for r117+, could be fragile\n geom.dispose(); //for r118+, more robust feeling, but more heavy-handed than I'd like\n }\n } else if (attr) {\n geom.deleteAttribute(attrName);\n }\n }\n\n // Handle maxInstancedCount -> instanceCount rename that happened in three r117\n function setInstanceCount(geom, count) {\n geom[geom.hasOwnProperty('instanceCount') ? 'instanceCount' : 'maxInstancedCount'] = count;\n }\n\n return GlyphsGeometry\n})();\n\n// language=GLSL\nconst VERTEX_DEFS = `\nuniform vec2 uTroikaSDFTextureSize;\nuniform float uTroikaSDFGlyphSize;\nuniform vec4 uTroikaTotalBounds;\nuniform vec4 uTroikaClipRect;\nuniform mat3 uTroikaOrient;\nuniform bool uTroikaUseGlyphColors;\nuniform float uTroikaDistanceOffset;\nuniform float uTroikaBlurRadius;\nuniform vec2 uTroikaPositionOffset;\nuniform float uTroikaCurveRadius;\nattribute vec4 aTroikaGlyphBounds;\nattribute float aTroikaGlyphIndex;\nattribute vec3 aTroikaGlyphColor;\nvarying vec2 vTroikaGlyphUV;\nvarying vec4 vTroikaTextureUVBounds;\nvarying float vTroikaTextureChannel;\nvarying vec3 vTroikaGlyphColor;\nvarying vec2 vTroikaGlyphDimensions;\n`;\n\n// language=GLSL prefix=\"void main() {\" suffix=\"}\"\nconst VERTEX_TRANSFORM = `\nvec4 bounds = aTroikaGlyphBounds;\nbounds.xz += uTroikaPositionOffset.x;\nbounds.yw -= uTroikaPositionOffset.y;\n\nvec4 outlineBounds = vec4(\n bounds.xy - uTroikaDistanceOffset - uTroikaBlurRadius,\n bounds.zw + uTroikaDistanceOffset + uTroikaBlurRadius\n);\nvec4 clippedBounds = vec4(\n clamp(outlineBounds.xy, uTroikaClipRect.xy, uTroikaClipRect.zw),\n clamp(outlineBounds.zw, uTroikaClipRect.xy, uTroikaClipRect.zw)\n);\n\nvec2 clippedXY = (mix(clippedBounds.xy, clippedBounds.zw, position.xy) - bounds.xy) / (bounds.zw - bounds.xy);\n\nposition.xy = mix(bounds.xy, bounds.zw, clippedXY);\n\nuv = (position.xy - uTroikaTotalBounds.xy) / (uTroikaTotalBounds.zw - uTroikaTotalBounds.xy);\n\nfloat rad = uTroikaCurveRadius;\nif (rad != 0.0) {\n float angle = position.x / rad;\n position.xz = vec2(sin(angle) * rad, rad - cos(angle) * rad);\n normal.xz = vec2(sin(angle), cos(angle));\n}\n \nposition = uTroikaOrient * position;\nnormal = uTroikaOrient * normal;\n\nvTroikaGlyphUV = clippedXY.xy;\nvTroikaGlyphDimensions = vec2(bounds[2] - bounds[0], bounds[3] - bounds[1]);\n\n${''/* NOTE: it seems important to calculate the glyph's bounding texture UVs here in the\n vertex shader, rather than in the fragment shader, as the latter gives strange artifacts\n on some glyphs (those in the leftmost texture column) on some systems. The exact reason\n isn't understood but doing this here, then mix()-ing in the fragment shader, seems to work. */}\nfloat txCols = uTroikaSDFTextureSize.x / uTroikaSDFGlyphSize;\nvec2 txUvPerSquare = uTroikaSDFGlyphSize / uTroikaSDFTextureSize;\nvec2 txStartUV = txUvPerSquare * vec2(\n mod(floor(aTroikaGlyphIndex / 4.0), txCols),\n floor(floor(aTroikaGlyphIndex / 4.0) / txCols)\n);\nvTroikaTextureUVBounds = vec4(txStartUV, vec2(txStartUV) + txUvPerSquare);\nvTroikaTextureChannel = mod(aTroikaGlyphIndex, 4.0);\n`;\n\n// language=GLSL\nconst FRAGMENT_DEFS = `\nuniform sampler2D uTroikaSDFTexture;\nuniform vec2 uTroikaSDFTextureSize;\nuniform float uTroikaSDFGlyphSize;\nuniform float uTroikaSDFExponent;\nuniform float uTroikaDistanceOffset;\nuniform float uTroikaFillOpacity;\nuniform float uTroikaOutlineOpacity;\nuniform float uTroikaBlurRadius;\nuniform vec3 uTroikaStrokeColor;\nuniform float uTroikaStrokeWidth;\nuniform float uTroikaStrokeOpacity;\nuniform bool uTroikaSDFDebug;\nvarying vec2 vTroikaGlyphUV;\nvarying vec4 vTroikaTextureUVBounds;\nvarying float vTroikaTextureChannel;\nvarying vec2 vTroikaGlyphDimensions;\n\nfloat troikaSdfValueToSignedDistance(float alpha) {\n // Inverse of exponential encoding in webgl-sdf-generator\n ${''/* TODO - there's some slight inaccuracy here when dealing with interpolated alpha values; those\n are linearly interpolated where the encoding is exponential. Look into improving this by rounding\n to nearest 2 whole texels, decoding those exponential values, and linearly interpolating the result.\n */}\n float maxDimension = max(vTroikaGlyphDimensions.x, vTroikaGlyphDimensions.y);\n float absDist = (1.0 - pow(2.0 * (alpha > 0.5 ? 1.0 - alpha : alpha), 1.0 / uTroikaSDFExponent)) * maxDimension;\n float signedDist = absDist * (alpha > 0.5 ? -1.0 : 1.0);\n return signedDist;\n}\n\nfloat troikaGlyphUvToSdfValue(vec2 glyphUV) {\n vec2 textureUV = mix(vTroikaTextureUVBounds.xy, vTroikaTextureUVBounds.zw, glyphUV);\n vec4 rgba = texture2D(uTroikaSDFTexture, textureUV);\n float ch = floor(vTroikaTextureChannel + 0.5); //NOTE: can't use round() in WebGL1\n return ch == 0.0 ? rgba.r : ch == 1.0 ? rgba.g : ch == 2.0 ? rgba.b : rgba.a;\n}\n\nfloat troikaGlyphUvToDistance(vec2 uv) {\n return troikaSdfValueToSignedDistance(troikaGlyphUvToSdfValue(uv));\n}\n\nfloat troikaGetAADist() {\n ${''/*\n When the standard derivatives extension is available, we choose an antialiasing alpha threshold based\n on the potential change in the SDF's alpha from this fragment to its neighbor. This strategy maximizes \n readability and edge crispness at all sizes and screen resolutions.\n */}\n #if defined(GL_OES_standard_derivatives) || __VERSION__ >= 300\n return length(fwidth(vTroikaGlyphUV * vTroikaGlyphDimensions)) * 0.5;\n #else\n return vTroikaGlyphDimensions.x / 64.0;\n #endif\n}\n\nfloat troikaGetFragDistValue() {\n vec2 clampedGlyphUV = clamp(vTroikaGlyphUV, 0.5 / uTroikaSDFGlyphSize, 1.0 - 0.5 / uTroikaSDFGlyphSize);\n float distance = troikaGlyphUvToDistance(clampedGlyphUV);\n \n // Extrapolate distance when outside bounds:\n distance += clampedGlyphUV == vTroikaGlyphUV ? 0.0 : \n length((vTroikaGlyphUV - clampedGlyphUV) * vTroikaGlyphDimensions);\n\n ${''/* \n // TODO more refined extrapolated distance by adjusting for angle of gradient at edge...\n // This has potential but currently gives very jagged extensions, maybe due to precision issues?\n float uvStep = 1.0 / uTroikaSDFGlyphSize;\n vec2 neighbor1UV = clampedGlyphUV + (\n vTroikaGlyphUV.x != clampedGlyphUV.x ? vec2(0.0, uvStep * sign(0.5 - vTroikaGlyphUV.y)) :\n vTroikaGlyphUV.y != clampedGlyphUV.y ? vec2(uvStep * sign(0.5 - vTroikaGlyphUV.x), 0.0) :\n vec2(0.0)\n );\n vec2 neighbor2UV = clampedGlyphUV + (\n vTroikaGlyphUV.x != clampedGlyphUV.x ? vec2(0.0, uvStep * -sign(0.5 - vTroikaGlyphUV.y)) :\n vTroikaGlyphUV.y != clampedGlyphUV.y ? vec2(uvStep * -sign(0.5 - vTroikaGlyphUV.x), 0.0) :\n vec2(0.0)\n );\n float neighbor1Distance = troikaGlyphUvToDistance(neighbor1UV);\n float neighbor2Distance = troikaGlyphUvToDistance(neighbor2UV);\n float distToUnclamped = length((vTroikaGlyphUV - clampedGlyphUV) * vTroikaGlyphDimensions);\n float distToNeighbor = length((clampedGlyphUV - neighbor1UV) * vTroikaGlyphDimensions);\n float gradientAngle1 = min(asin(abs(neighbor1Distance - distance) / distToNeighbor), PI / 2.0);\n float gradientAngle2 = min(asin(abs(neighbor2Distance - distance) / distToNeighbor), PI / 2.0);\n distance += (cos(gradientAngle1) + cos(gradientAngle2)) / 2.0 * distToUnclamped;\n */}\n\n return distance;\n}\n\nfloat troikaGetEdgeAlpha(float distance, float distanceOffset, float aaDist) {\n #if defined(IS_DEPTH_MATERIAL) || defined(IS_DISTANCE_MATERIAL)\n float alpha = step(-distanceOffset, -distance);\n #else\n\n float alpha = smoothstep(\n distanceOffset + aaDist,\n distanceOffset - aaDist,\n distance\n );\n #endif\n\n return alpha;\n}\n`;\n\n// language=GLSL prefix=\"void main() {\" suffix=\"}\"\nconst FRAGMENT_TRANSFORM = `\nfloat aaDist = troikaGetAADist();\nfloat fragDistance = troikaGetFragDistValue();\nfloat edgeAlpha = uTroikaSDFDebug ?\n troikaGlyphUvToSdfValue(vTroikaGlyphUV) :\n troikaGetEdgeAlpha(fragDistance, uTroikaDistanceOffset, max(aaDist, uTroikaBlurRadius));\n\n#if !defined(IS_DEPTH_MATERIAL) && !defined(IS_DISTANCE_MATERIAL)\nvec4 fillRGBA = gl_FragColor;\nfillRGBA.a *= uTroikaFillOpacity;\nvec4 strokeRGBA = uTroikaStrokeWidth == 0.0 ? fillRGBA : vec4(uTroikaStrokeColor, uTroikaStrokeOpacity);\nif (fillRGBA.a == 0.0) fillRGBA.rgb = strokeRGBA.rgb;\ngl_FragColor = mix(fillRGBA, strokeRGBA, smoothstep(\n -uTroikaStrokeWidth - aaDist,\n -uTroikaStrokeWidth + aaDist,\n fragDistance\n));\ngl_FragColor.a *= edgeAlpha;\n#endif\n\nif (edgeAlpha == 0.0) {\n discard;\n}\n`;\n\n\n/**\n * Create a material for rendering text, derived from a baseMaterial\n */\nfunction createTextDerivedMaterial(baseMaterial) {\n const textMaterial = createDerivedMaterial(baseMaterial, {\n chained: true,\n extensions: {\n derivatives: true\n },\n uniforms: {\n uTroikaSDFTexture: {value: null},\n uTroikaSDFTextureSize: {value: new Vector2()},\n uTroikaSDFGlyphSize: {value: 0},\n uTroikaSDFExponent: {value: 0},\n uTroikaTotalBounds: {value: new Vector4(0,0,0,0)},\n uTroikaClipRect: {value: new Vector4(0,0,0,0)},\n uTroikaDistanceOffset: {value: 0},\n uTroikaOutlineOpacity: {value: 0},\n uTroikaFillOpacity: {value: 1},\n uTroikaPositionOffset: {value: new Vector2()},\n uTroikaCurveRadius: {value: 0},\n uTroikaBlurRadius: {value: 0},\n uTroikaStrokeWidth: {value: 0},\n uTroikaStrokeColor: {value: new Color()},\n uTroikaStrokeOpacity: {value: 1},\n uTroikaOrient: {value: new Matrix3()},\n uTroikaUseGlyphColors: {value: true},\n uTroikaSDFDebug: {value: false}\n },\n vertexDefs: VERTEX_DEFS,\n vertexTransform: VERTEX_TRANSFORM,\n fragmentDefs: FRAGMENT_DEFS,\n fragmentColorTransform: FRAGMENT_TRANSFORM,\n customRewriter({vertexShader, fragmentShader}) {\n let uDiffuseRE = /\\buniform\\s+vec3\\s+diffuse\\b/;\n if (uDiffuseRE.test(fragmentShader)) {\n // Replace all instances of `diffuse` with our varying\n fragmentShader = fragmentShader\n .replace(uDiffuseRE, 'varying vec3 vTroikaGlyphColor')\n .replace(/\\bdiffuse\\b/g, 'vTroikaGlyphColor');\n // Make sure the vertex shader declares the uniform so we can grab it as a fallback\n if (!uDiffuseRE.test(vertexShader)) {\n vertexShader = vertexShader.replace(\n voidMainRegExp,\n 'uniform vec3 diffuse;\\n$&\\nvTroikaGlyphColor = uTroikaUseGlyphColors ? aTroikaGlyphColor / 255.0 : diffuse;\\n'\n );\n }\n }\n return { vertexShader, fragmentShader }\n }\n });\n\n // Force transparency - TODO is this reasonable?\n textMaterial.transparent = true;\n\n Object.defineProperties(textMaterial, {\n isTroikaTextMaterial: {value: true},\n\n // WebGLShadowMap reverses the side of the shadow material by default, which fails\n // for planes, so here we force the `shadowSide` to always match the main side.\n shadowSide: {\n get() {\n return this.side\n },\n set() {\n //no-op\n }\n }\n });\n\n return textMaterial\n}\n\nconst Text = /*#__PURE__*/(() => {\n\n const defaultMaterial = new MeshBasicMaterial({\n color: 0xffffff,\n side: DoubleSide,\n transparent: true\n });\n const defaultStrokeColor = 0x808080;\n\n const tempMat4 = new Matrix4();\n const tempVec3a = new Vector3();\n const tempVec3b = new Vector3();\n const tempArray = [];\n const origin = new Vector3();\n const defaultOrient = '+x+y';\n\n function first(o) {\n return Array.isArray(o) ? o[0] : o\n }\n\n let getFlatRaycastMesh = () => {\n const mesh = new Mesh(\n new PlaneBufferGeometry(1, 1),\n defaultMaterial\n );\n getFlatRaycastMesh = () => mesh;\n return mesh\n };\n let getCurvedRaycastMesh = () => {\n const mesh = new Mesh(\n new PlaneBufferGeometry(1, 1, 32, 1),\n defaultMaterial\n );\n getCurvedRaycastMesh = () => mesh;\n return mesh\n };\n\n const syncStartEvent = {type: 'syncstart'};\n const syncCompleteEvent = {type: 'synccomplete'};\n\n const SYNCABLE_PROPS = [\n 'font',\n 'fontSize',\n 'letterSpacing',\n 'lineHeight',\n 'maxWidth',\n 'overflowWrap',\n 'text',\n 'direction',\n 'textAlign',\n 'textIndent',\n 'whiteSpace',\n 'anchorX',\n 'anchorY',\n 'colorRanges',\n 'sdfGlyphSize'\n ];\n\n const COPYABLE_PROPS = SYNCABLE_PROPS.concat(\n 'material',\n 'color',\n 'depthOffset',\n 'clipRect',\n 'curveRadius',\n 'orientation',\n 'glyphGeometryDetail'\n );\n\n\n\n /**\n * @class Text\n *\n * A ThreeJS Mesh that renders a string of text on a plane in 3D space using signed distance\n * fields (SDF).\n */\n class Text extends Mesh {\n constructor() {\n const geometry = new GlyphsGeometry();\n super(geometry, null);\n\n // === Text layout properties: === //\n\n /**\n * @member {string} text\n * The string of text to be rendered.\n */\n this.text = '';\n\n /**\n * @deprecated Use `anchorX` and `anchorY` instead\n * @member {Array} anchor\n * Defines where in the text block should correspond to the mesh's local position, as a set\n * of horizontal and vertical percentages from 0 to 1. A value of `[0, 0]` (the default)\n * anchors at the top-left, `[1, 1]` at the bottom-right, and `[0.5, 0.5]` centers the\n * block at the mesh's position.\n */\n //this.anchor = null\n\n /**\n * @member {number|string} anchorX\n * Defines the horizontal position in the text block that should line up with the local origin.\n * Can be specified as a numeric x position in local units, a string percentage of the total\n * text block width e.g. `'25%'`, or one of the following keyword strings: 'left', 'center',\n * or 'right'.\n */\n this.anchorX = 0;\n\n /**\n * @member {number|string} anchorX\n * Defines the vertical position in the text block that should line up with the local origin.\n * Can be specified as a numeric y position in local units (note: down is negative y), a string\n * percentage of the total text block height e.g. `'25%'`, or one of the following keyword strings:\n * 'top', 'top-baseline', 'middle', 'bottom-baseline', or 'bottom'.\n */\n this.anchorY = 0;\n\n /**\n * @member {number} curveRadius\n * Defines a cylindrical radius along which the text's plane will be curved. Positive numbers put\n * the cylinder's centerline (oriented vertically) that distance in front of the text, for a concave\n * curvature, while negative numbers put it behind the text for a convex curvature. The centerline\n * will be aligned with the text's local origin; you can use `anchorX` to offset it.\n *\n * Since each glyph is by default rendered with a simple quad, each glyph remains a flat plane\n * internally. You can use `glyphGeometryDetail` to add more vertices for curvature inside glyphs.\n */\n this.curveRadius = 0;\n\n /**\n * @member {string} direction\n * Sets the base direction for the text. The default value of \"auto\" will choose a direction based\n * on the text's content according to the bidi spec. A value of \"ltr\" or \"rtl\" will force the direction.\n */\n this.direction = 'auto';\n\n /**\n * @member {string} font\n * URL of a custom font to be used. Font files can be in .ttf, .otf, or .woff (not .woff2) formats.\n * Defaults to the Roboto font loaded from Google Fonts.\n */\n this.font = null; //will use default from TextBuilder\n\n /**\n * @member {number} fontSize\n * The size at which to render the font in local units; corresponds to the em-box height\n * of the chosen `font`.\n */\n this.fontSize = 0.1;\n\n /**\n * @member {number} letterSpacing\n * Sets a uniform adjustment to spacing between letters after kerning is applied. Positive\n * numbers increase spacing and negative numbers decrease it.\n */\n this.letterSpacing = 0;\n\n /**\n * @member {number|string} lineHeight\n * Sets the height of each line of text, as a multiple of the `fontSize`. Defaults to 'normal'\n * which chooses a reasonable height based on the chosen font's ascender/descender metrics.\n */\n this.lineHeight = 'normal';\n\n /**\n * @member {number} maxWidth\n * The maximum width of the text block, above which text may start wrapping according to the\n * `whiteSpace` and `overflowWrap` properties.\n */\n this.maxWidth = Infinity;\n\n /**\n * @member {string} overflowWrap\n * Defines how text wraps if the `whiteSpace` property is `normal`. Can be either `'normal'`\n * to break at whitespace characters, or `'break-word'` to allow breaking within words.\n * Defaults to `'normal'`.\n */\n this.overflowWrap = 'normal';\n\n /**\n * @member {string} textAlign\n * The horizontal alignment of each line of text within the overall text bounding box.\n */\n this.textAlign = 'left';\n\n /**\n * @member {number} textIndent\n * Indentation for the first character of a line; see CSS `text-indent`.\n */\n this.textIndent = 0;\n\n /**\n * @member {string} whiteSpace\n * Defines whether text should wrap when a line reaches the `maxWidth`. Can\n * be either `'normal'` (the default), to allow wrapping according to the `overflowWrap` property,\n * or `'nowrap'` to prevent wrapping. Note that `'normal'` here honors newline characters to\n * manually break lines, making it behave more like `'pre-wrap'` does in CSS.\n */\n this.whiteSpace = 'normal';\n\n\n // === Presentation properties: === //\n\n /**\n * @member {THREE.Material} material\n * Defines a _base_ material to be used when rendering the text. This material will be\n * automatically replaced with a material derived from it, that adds shader code to\n * decrease the alpha for each fragment (pixel) outside the text glyphs, with antialiasing.\n * By default it will derive from a simple white MeshBasicMaterial, but you can use any\n * of the other mesh materials to gain other features like lighting, texture maps, etc.\n *\n * Also see the `color` shortcut property.\n */\n this.material = null;\n\n /**\n * @member {string|number|THREE.Color} color\n * This is a shortcut for setting the `color` of the text's material. You can use this\n * if you don't want to specify a whole custom `material`. Also, if you do use a custom\n * `material`, this color will only be used for this particuar Text instance, even if\n * that same material instance is shared across multiple Text objects.\n */\n this.color = null;\n\n /**\n * @member {object|null} colorRanges\n * WARNING: This API is experimental and may change.\n * This allows more fine-grained control of colors for individual or ranges of characters,\n * taking precedence over the material's `color`. Its format is an Object whose keys each\n * define a starting character index for a range, and whose values are the color for each\n * range. The color value can be a numeric hex color value, a `THREE.Color` object, or\n * any of the strings accepted by `THREE.Color`.\n */\n this.colorRanges = null;\n\n /**\n * @member {number|string} outlineWidth\n * WARNING: This API is experimental and may change.\n * The width of an outline/halo to be drawn around each text glyph using the `outlineColor` and `outlineOpacity`.\n * Can be specified as either an absolute number in local units, or as a percentage string e.g.\n * `\"12%\"` which is treated as a percentage of the `fontSize`. Defaults to `0`, which means\n * no outline will be drawn unless an `outlineOffsetX/Y` or `outlineBlur` is set.\n */\n this.outlineWidth = 0;\n\n /**\n * @member {string|number|THREE.Color} outlineColor\n * WARNING: This API is experimental and may change.\n * The color of the text outline, if `outlineWidth`/`outlineBlur`/`outlineOffsetX/Y` are set.\n * Defaults to black.\n */\n this.outlineColor = 0x000000;\n\n /**\n * @member {number} outlineOpacity\n * WARNING: This API is experimental and may change.\n * The opacity of the outline, if `outlineWidth`/`outlineBlur`/`outlineOffsetX/Y` are set.\n * Defaults to `1`.\n */\n this.outlineOpacity = 1;\n\n /**\n * @member {number|string} outlineBlur\n * WARNING: This API is experimental and may change.\n * A blur radius applied to the outer edge of the text's outline. If the `outlineWidth` is\n * zero, the blur will be applied at the glyph edge, like CSS's `text-shadow` blur radius.\n * Can be specified as either an absolute number in local units, or as a percentage string e.g.\n * `\"12%\"` which is treated as a percentage of the `fontSize`. Defaults to `0`.\n */\n this.outlineBlur = 0;\n\n /**\n * @member {number|string} outlineOffsetX\n * WARNING: This API is experimental and may change.\n * A horizontal offset for the text outline.\n * Can be specified as either an absolute number in local units, or as a percentage string e.g. `\"12%\"`\n * which is treated as a percentage of the `fontSize`. Defaults to `0`.\n */\n this.outlineOffsetX = 0;\n\n /**\n * @member {number|string} outlineOffsetY\n * WARNING: This API is experimental and may change.\n * A vertical offset for the text outline.\n * Can be specified as either an absolute number in local units, or as a percentage string e.g. `\"12%\"`\n * which is treated as a percentage of the `fontSize`. Defaults to `0`.\n */\n this.outlineOffsetY = 0;\n\n /**\n * @member {number|string} strokeWidth\n * WARNING: This API is experimental and may change.\n * The width of an inner stroke drawn inside each text glyph using the `strokeColor` and `strokeOpacity`.\n * Can be specified as either an absolute number in local units, or as a percentage string e.g. `\"12%\"`\n * which is treated as a percentage of the `fontSize`. Defaults to `0`.\n */\n this.strokeWidth = 0;\n\n /**\n * @member {string|number|THREE.Color} strokeColor\n * WARNING: This API is experimental and may change.\n * The color of the text stroke, if `strokeWidth` is greater than zero. Defaults to gray.\n */\n this.strokeColor = defaultStrokeColor;\n\n /**\n * @member {number} strokeOpacity\n * WARNING: This API is experimental and may change.\n * The opacity of the stroke, if `strokeWidth` is greater than zero. Defaults to `1`.\n */\n this.strokeOpacity = 1;\n\n /**\n * @member {number} fillOpacity\n * WARNING: This API is experimental and may change.\n * The opacity of the glyph's fill from 0 to 1. This behaves like the material's `opacity` but allows\n * giving the fill a different opacity than the `strokeOpacity`. A fillOpacity of `0` makes the\n * interior of the glyph invisible, leaving just the `strokeWidth`. Defaults to `1`.\n */\n this.fillOpacity = 1;\n\n /**\n * @member {number} depthOffset\n * This is a shortcut for setting the material's `polygonOffset` and related properties,\n * which can be useful in preventing z-fighting when this text is laid on top of another\n * plane in the scene. Positive numbers are further from the camera, negatives closer.\n */\n this.depthOffset = 0;\n\n /**\n * @member {Array} clipRect\n * If specified, defines a `[minX, minY, maxX, maxY]` of a rectangle outside of which all\n * pixels will be discarded. This can be used for example to clip overflowing text when\n * `whiteSpace='nowrap'`.\n */\n this.clipRect = null;\n\n /**\n * @member {string} orientation\n * Defines the axis plane on which the text should be laid out when the mesh has no extra\n * rotation transform. It is specified as a string with two axes: the horizontal axis with\n * positive pointing right, and the vertical axis with positive pointing up. By default this\n * is '+x+y', meaning the text sits on the xy plane with the text's top toward positive y\n * and facing positive z. A value of '+x-z' would place it on the xz plane with the text's\n * top toward negative z and facing positive y.\n */\n this.orientation = defaultOrient;\n\n /**\n * @member {number} glyphGeometryDetail\n * Controls number of vertical/horizontal segments that make up each glyph's rectangular\n * plane. Defaults to 1. This can be increased to provide more geometrical detail for custom\n * vertex shader effects, for example.\n */\n this.glyphGeometryDetail = 1;\n\n /**\n * @member {number|null} sdfGlyphSize\n * The size of each glyph's SDF (signed distance field) used for rendering. This must be a\n * power-of-two number. Defaults to 64 which is generally a good balance of size and quality\n * for most fonts. Larger sizes can improve the quality of glyph rendering by increasing\n * the sharpness of corners and preventing loss of very thin lines, at the expense of\n * increased memory footprint and longer SDF generation time.\n */\n this.sdfGlyphSize = null;\n\n /**\n * @member {boolean} gpuAccelerateSDF\n * When `true`, the SDF generation process will be GPU-accelerated with WebGL when possible,\n * making it much faster especially for complex glyphs, and falling back to a JavaScript version\n * executed in web workers when support isn't available. It should automatically detect support,\n * but it's still somewhat experimental, so you can set it to `false` to force it to use the JS\n * version if you encounter issues with it.\n */\n this.gpuAccelerateSDF = true;\n\n this.debugSDF = false;\n }\n\n /**\n * Updates the text rendering according to the current text-related configuration properties.\n * This is an async process, so you can pass in a callback function to be executed when it\n * finishes.\n * @param {function} [callback]\n */\n sync(callback) {\n if (this._needsSync) {\n this._needsSync = false;\n\n // If there's another sync still in progress, queue\n if (this._isSyncing) {\n (this._queuedSyncs || (this._queuedSyncs = [])).push(callback);\n } else {\n this._isSyncing = true;\n this.dispatchEvent(syncStartEvent);\n\n getTextRenderInfo({\n text: this.text,\n font: this.font,\n fontSize: this.fontSize || 0.1,\n letterSpacing: this.letterSpacing || 0,\n lineHeight: this.lineHeight || 'normal',\n maxWidth: this.maxWidth,\n direction: this.direction || 'auto',\n textAlign: this.textAlign,\n textIndent: this.textIndent,\n whiteSpace: this.whiteSpace,\n overflowWrap: this.overflowWrap,\n anchorX: this.anchorX,\n anchorY: this.anchorY,\n colorRanges: this.colorRanges,\n includeCaretPositions: true, //TODO parameterize\n sdfGlyphSize: this.sdfGlyphSize,\n gpuAccelerateSDF: this.gpuAccelerateSDF,\n }, textRenderInfo => {\n this._isSyncing = false;\n\n // Save result for later use in onBeforeRender\n this._textRenderInfo = textRenderInfo;\n\n // Update the geometry attributes\n this.geometry.updateGlyphs(\n textRenderInfo.glyphBounds,\n textRenderInfo.glyphAtlasIndices,\n textRenderInfo.blockBounds,\n textRenderInfo.chunkedBounds,\n textRenderInfo.glyphColors\n );\n\n // If we had extra sync requests queued up, kick it off\n const queued = this._queuedSyncs;\n if (queued) {\n this._queuedSyncs = null;\n this._needsSync = true;\n this.sync(() => {\n queued.forEach(fn => fn && fn());\n });\n }\n\n this.dispatchEvent(syncCompleteEvent);\n if (callback) {\n callback();\n }\n });\n }\n }\n }\n\n /**\n * Initiate a sync if needed - note it won't complete until next frame at the\n * earliest so if possible it's a good idea to call sync() manually as soon as\n * all the properties have been set.\n * @override\n */\n onBeforeRender(renderer, scene, camera, geometry, material, group) {\n this.sync();\n\n // This may not always be a text material, e.g. if there's a scene.overrideMaterial present\n if (material.isTroikaTextMaterial) {\n this._prepareForRender(material);\n }\n\n // We need to force the material to FrontSide to avoid the double-draw-call performance hit\n // introduced in Three.js r130: https://github.com/mrdoob/three.js/pull/21967 - The sidedness\n // is instead applied via drawRange in the GlyphsGeometry.\n material._hadOwnSide = material.hasOwnProperty('side');\n this.geometry.setSide(material._actualSide = material.side);\n material.side = FrontSide;\n }\n\n onAfterRender(renderer, scene, camera, geometry, material, group) {\n // Restore original material side\n if (material._hadOwnSide) {\n material.side = material._actualSide;\n } else {\n delete material.side; // back to inheriting from base material\n }\n }\n\n /**\n * Shortcut to dispose the geometry specific to this instance.\n * Note: we don't also dispose the derived material here because if anything else is\n * sharing the same base material it will result in a pause next frame as the program\n * is recompiled. Instead users can dispose the base material manually, like normal,\n * and we'll also dispose the derived material at that time.\n */\n dispose() {\n this.geometry.dispose();\n }\n\n /**\n * @property {TroikaTextRenderInfo|null} textRenderInfo\n * @readonly\n * The current processed rendering data for this TextMesh, returned by the TextBuilder after\n * a `sync()` call. This will be `null` initially, and may be stale for a short period until\n * the asynchrous `sync()` process completes.\n */\n get textRenderInfo() {\n return this._textRenderInfo || null\n }\n\n // Handler for automatically wrapping the base material with our upgrades. We do the wrapping\n // lazily on _read_ rather than write to avoid unnecessary wrapping on transient values.\n get material() {\n let derivedMaterial = this._derivedMaterial;\n const baseMaterial = this._baseMaterial || this._defaultMaterial || (this._defaultMaterial = defaultMaterial.clone());\n if (!derivedMaterial || derivedMaterial.baseMaterial !== baseMaterial) {\n derivedMaterial = this._derivedMaterial = createTextDerivedMaterial(baseMaterial);\n // dispose the derived material when its base material is disposed:\n baseMaterial.addEventListener('dispose', function onDispose() {\n baseMaterial.removeEventListener('dispose', onDispose);\n derivedMaterial.dispose();\n });\n }\n // If text outline is configured, render it as a preliminary draw using Three's multi-material\n // feature (see GlyphsGeometry which sets up `groups` for this purpose) Doing it with multi\n // materials ensures the layers are always rendered consecutively in a consistent order.\n // Each layer will trigger onBeforeRender with the appropriate material.\n if (this.outlineWidth || this.outlineBlur || this.outlineOffsetX || this.outlineOffsetY) {\n let outlineMaterial = derivedMaterial._outlineMtl;\n if (!outlineMaterial) {\n outlineMaterial = derivedMaterial._outlineMtl = Object.create(derivedMaterial, {\n id: {value: derivedMaterial.id + 0.1}\n });\n outlineMaterial.isTextOutlineMaterial = true;\n outlineMaterial.depthWrite = false;\n outlineMaterial.map = null; //???\n derivedMaterial.addEventListener('dispose', function onDispose() {\n derivedMaterial.removeEventListener('dispose', onDispose);\n outlineMaterial.dispose();\n });\n }\n return [\n outlineMaterial,\n derivedMaterial\n ]\n } else {\n return derivedMaterial\n }\n }\n set material(baseMaterial) {\n if (baseMaterial && baseMaterial.isTroikaTextMaterial) { //prevent double-derivation\n this._derivedMaterial = baseMaterial;\n this._baseMaterial = baseMaterial.baseMaterial;\n } else {\n this._baseMaterial = baseMaterial;\n }\n }\n\n get glyphGeometryDetail() {\n return this.geometry.detail\n }\n set glyphGeometryDetail(detail) {\n this.geometry.detail = detail;\n }\n\n get curveRadius() {\n return this.geometry.curveRadius\n }\n set curveRadius(r) {\n this.geometry.curveRadius = r;\n }\n\n // Create and update material for shadows upon request:\n get customDepthMaterial() {\n return first(this.material).getDepthMaterial()\n }\n get customDistanceMaterial() {\n return first(this.material).getDistanceMaterial()\n }\n\n _prepareForRender(material) {\n const isOutline = material.isTextOutlineMaterial;\n const uniforms = material.uniforms;\n const textInfo = this.textRenderInfo;\n if (textInfo) {\n const {sdfTexture, blockBounds} = textInfo;\n uniforms.uTroikaSDFTexture.value = sdfTexture;\n uniforms.uTroikaSDFTextureSize.value.set(sdfTexture.image.width, sdfTexture.image.height);\n uniforms.uTroikaSDFGlyphSize.value = textInfo.sdfGlyphSize;\n uniforms.uTroikaSDFExponent.value = textInfo.sdfExponent;\n uniforms.uTroikaTotalBounds.value.fromArray(blockBounds);\n uniforms.uTroikaUseGlyphColors.value = !isOutline && !!textInfo.glyphColors;\n\n let distanceOffset = 0;\n let blurRadius = 0;\n let strokeWidth = 0;\n let fillOpacity;\n let strokeOpacity;\n let strokeColor;\n let offsetX = 0;\n let offsetY = 0;\n\n if (isOutline) {\n let {outlineWidth, outlineOffsetX, outlineOffsetY, outlineBlur, outlineOpacity} = this;\n distanceOffset = this._parsePercent(outlineWidth) || 0;\n blurRadius = Math.max(0, this._parsePercent(outlineBlur) || 0);\n fillOpacity = outlineOpacity;\n offsetX = this._parsePercent(outlineOffsetX) || 0;\n offsetY = this._parsePercent(outlineOffsetY) || 0;\n } else {\n strokeWidth = Math.max(0, this._parsePercent(this.strokeWidth) || 0);\n if (strokeWidth) {\n strokeColor = this.strokeColor;\n uniforms.uTroikaStrokeColor.value.set(strokeColor == null ? defaultStrokeColor : strokeColor);\n strokeOpacity = this.strokeOpacity;\n if (strokeOpacity == null) strokeOpacity = 1;\n }\n fillOpacity = this.fillOpacity;\n }\n\n uniforms.uTroikaDistanceOffset.value = distanceOffset;\n uniforms.uTroikaPositionOffset.value.set(offsetX, offsetY);\n uniforms.uTroikaBlurRadius.value = blurRadius;\n uniforms.uTroikaStrokeWidth.value = strokeWidth;\n uniforms.uTroikaStrokeOpacity.value = strokeOpacity;\n uniforms.uTroikaFillOpacity.value = fillOpacity == null ? 1 : fillOpacity;\n uniforms.uTroikaCurveRadius.value = this.curveRadius || 0;\n\n let clipRect = this.clipRect;\n if (clipRect && Array.isArray(clipRect) && clipRect.length === 4) {\n uniforms.uTroikaClipRect.value.fromArray(clipRect);\n } else {\n // no clipping - choose a finite rect that shouldn't ever be reached by overflowing glyphs or outlines\n const pad = (this.fontSize || 0.1) * 100;\n uniforms.uTroikaClipRect.value.set(\n blockBounds[0] - pad,\n blockBounds[1] - pad,\n blockBounds[2] + pad,\n blockBounds[3] + pad\n );\n }\n this.geometry.applyClipRect(uniforms.uTroikaClipRect.value);\n }\n uniforms.uTroikaSDFDebug.value = !!this.debugSDF;\n material.polygonOffset = !!this.depthOffset;\n material.polygonOffsetFactor = material.polygonOffsetUnits = this.depthOffset || 0;\n\n // Shortcut for setting material color via `color` prop on the mesh; this is\n // applied only to the derived material to avoid mutating a shared base material.\n const color = isOutline ? (this.outlineColor || 0) : this.color;\n\n if (color == null) {\n delete material.color; //inherit from base\n } else {\n const colorObj = material.hasOwnProperty('color') ? material.color : (material.color = new Color());\n if (color !== colorObj._input || typeof color === 'object') {\n colorObj.set(colorObj._input = color);\n }\n }\n\n // base orientation\n let orient = this.orientation || defaultOrient;\n if (orient !== material._orientation) {\n let rotMat = uniforms.uTroikaOrient.value;\n orient = orient.replace(/[^-+xyz]/g, '');\n let match = orient !== defaultOrient && orient.match(/^([-+])([xyz])([-+])([xyz])$/);\n if (match) {\n let [, hSign, hAxis, vSign, vAxis] = match;\n tempVec3a.set(0, 0, 0)[hAxis] = hSign === '-' ? 1 : -1;\n tempVec3b.set(0, 0, 0)[vAxis] = vSign === '-' ? -1 : 1;\n tempMat4.lookAt(origin, tempVec3a.cross(tempVec3b), tempVec3b);\n rotMat.setFromMatrix4(tempMat4);\n } else {\n rotMat.identity();\n }\n material._orientation = orient;\n }\n }\n\n _parsePercent(value) {\n if (typeof value === 'string') {\n let match = value.match(/^(-?[\\d.]+)%$/);\n let pct = match ? parseFloat(match[1]) : NaN;\n value = (isNaN(pct) ? 0 : pct / 100) * this.fontSize;\n }\n return value\n }\n\n /**\n * Translate a point in local space to an x/y in the text plane.\n */\n localPositionToTextCoords(position, target = new Vector2()) {\n target.copy(position); //simple non-curved case is 1:1\n const r = this.curveRadius;\n if (r) { //flatten the curve\n target.x = Math.atan2(position.x, Math.abs(r) - Math.abs(position.z)) * Math.abs(r);\n }\n return target\n }\n\n /**\n * Translate a point in world space to an x/y in the text plane.\n */\n worldPositionToTextCoords(position, target = new Vector2()) {\n tempVec3a.copy(position);\n return this.localPositionToTextCoords(this.worldToLocal(tempVec3a), target)\n }\n\n /**\n * @override Custom raycasting to test against the whole text block's max rectangular bounds\n * TODO is there any reason to make this more granular, like within individual line or glyph rects?\n */\n raycast(raycaster, intersects) {\n const {textRenderInfo, curveRadius} = this;\n if (textRenderInfo) {\n const bounds = textRenderInfo.blockBounds;\n const raycastMesh = curveRadius ? getCurvedRaycastMesh() : getFlatRaycastMesh();\n const geom = raycastMesh.geometry;\n const {position, uv} = geom.attributes;\n for (let i = 0; i < uv.count; i++) {\n let x = bounds[0] + (uv.getX(i) * (bounds[2] - bounds[0]));\n const y = bounds[1] + (uv.getY(i) * (bounds[3] - bounds[1]));\n let z = 0;\n if (curveRadius) {\n z = curveRadius - Math.cos(x / curveRadius) * curveRadius;\n x = Math.sin(x / curveRadius) * curveRadius;\n }\n position.setXYZ(i, x, y, z);\n }\n geom.boundingSphere = this.geometry.boundingSphere;\n geom.boundingBox = this.geometry.boundingBox;\n raycastMesh.matrixWorld = this.matrixWorld;\n raycastMesh.material.side = this.material.side;\n tempArray.length = 0;\n raycastMesh.raycast(raycaster, tempArray);\n for (let i = 0; i < tempArray.length; i++) {\n tempArray[i].object = this;\n intersects.push(tempArray[i]);\n }\n }\n }\n\n copy(source) {\n // Prevent copying the geometry reference so we don't end up sharing attributes between instances\n const geom = this.geometry;\n super.copy(source);\n this.geometry = geom;\n\n COPYABLE_PROPS.forEach(prop => {\n this[prop] = source[prop];\n });\n return this\n }\n\n clone() {\n return new this.constructor().copy(this)\n }\n }\n\n\n // Create setters for properties that affect text layout:\n SYNCABLE_PROPS.forEach(prop => {\n const privateKey = '_private_' + prop;\n Object.defineProperty(Text.prototype, prop, {\n get() {\n return this[privateKey]\n },\n set(value) {\n if (value !== this[privateKey]) {\n this[privateKey] = value;\n this._needsSync = true;\n }\n }\n });\n });\n\n\n // Deprecation handler for `anchor` array:\n let deprMsgShown = false;\n Object.defineProperty(Text.prototype, 'anchor', {\n get() {\n return this._deprecated_anchor\n },\n set(val) {\n this._deprecated_anchor = val;\n if (!deprMsgShown) {\n console.warn('TextMesh: `anchor` has been deprecated; use `anchorX` and `anchorY` instead.');\n deprMsgShown = true;\n }\n if (Array.isArray(val)) {\n this.anchorX = `${(+val[0] || 0) * 100}%`;\n this.anchorY = `${(+val[1] || 0) * 100}%`;\n } else {\n this.anchorX = this.anchorY = 0;\n }\n }\n });\n\n return Text\n})();\n\n//=== Utility functions for dealing with carets and selection ranges ===//\n\n/**\n * @typedef {object} TextCaret\n * @property {number} x - x position of the caret\n * @property {number} y - y position of the caret's bottom\n * @property {number} height - height of the caret\n * @property {number} charIndex - the index in the original input string of this caret's target\n * character; the caret will be for the position _before_ that character.\n */\n\n/**\n * Given a local x/y coordinate in the text block plane, find the nearest caret position.\n * @param {TroikaTextRenderInfo} textRenderInfo - a result object from TextBuilder#getTextRenderInfo\n * @param {number} x\n * @param {number} y\n * @return {TextCaret | null}\n */\nfunction getCaretAtPoint(textRenderInfo, x, y) {\n let closestCaret = null;\n const {caretHeight} = textRenderInfo;\n const caretsByRow = groupCaretsByRow(textRenderInfo);\n\n // Find nearest row by y first\n let closestRowY = Infinity;\n caretsByRow.forEach((carets, rowY) => {\n if (Math.abs(y - (rowY + caretHeight / 2)) < Math.abs(y - (closestRowY + caretHeight / 2))) {\n closestRowY = rowY;\n }\n });\n\n // Then find closest caret by x within that row\n caretsByRow.get(closestRowY).forEach(caret => {\n if (!closestCaret || Math.abs(x - caret.x) < Math.abs(x - closestCaret.x)) {\n closestCaret = caret;\n }\n });\n return closestCaret\n}\n\n\nconst _rectsCache = new WeakMap();\n\n/**\n * Given start and end character indexes, return a list of rectangles covering all the\n * characters within that selection.\n * @param {TroikaTextRenderInfo} textRenderInfo\n * @param {number} start - index of the first char in the selection\n * @param {number} end - index of the first char after the selection\n * @return {Array<{left, top, right, bottom}> | null}\n */\nfunction getSelectionRects(textRenderInfo, start, end) {\n let rects;\n if (textRenderInfo) {\n // Check cache - textRenderInfo is frozen so it's safe to cache based on it\n let prevResult = _rectsCache.get(textRenderInfo);\n if (prevResult && prevResult.start === start && prevResult.end === end) {\n return prevResult.rects\n }\n\n const {caretPositions, caretHeight} = textRenderInfo;\n\n // Normalize\n if (end < start) {\n const s = start;\n start = end;\n end = s;\n }\n start = Math.max(start, 0);\n end = Math.min(end, caretPositions.length + 1);\n\n // Build list of rects, expanding the current rect for all characters in a run and starting\n // a new rect whenever reaching a new line or a new bidi direction\n rects = [];\n let currentRect = null;\n for (let i = start; i < end; i++) {\n const x1 = caretPositions[i * 3];\n const x2 = caretPositions[i * 3 + 1];\n const left = Math.min(x1, x2);\n const right = Math.max(x1, x2);\n const bottom = caretPositions[i * 3 + 2];\n if (!currentRect || bottom !== currentRect.bottom || left > currentRect.right || right < currentRect.left) {\n currentRect = {\n left: Infinity,\n right: -Infinity,\n bottom: bottom,\n top: bottom + caretHeight\n };\n rects.push(currentRect);\n }\n currentRect.left = Math.min(left, currentRect.left);\n currentRect.right = Math.max(right, currentRect.right);\n }\n\n // Merge any overlapping rects, e.g. those formed by adjacent bidi runs\n rects.sort((a, b) => b.bottom - a.bottom || a.left - b.left);\n for (let i = rects.length - 1; i-- > 0;) {\n const rectA = rects[i];\n const rectB = rects[i + 1];\n if (rectA.bottom === rectB.bottom && rectA.left <= rectB.right && rectA.right >= rectB.left) {\n rectB.left = Math.min(rectB.left, rectA.left);\n rectB.right = Math.max(rectB.right, rectA.right);\n rects.splice(i, 1);\n }\n }\n\n _rectsCache.set(textRenderInfo, {start, end, rects});\n }\n return rects\n}\n\nconst _caretsByRowCache = new WeakMap();\n\nfunction groupCaretsByRow(textRenderInfo) {\n // textRenderInfo is frozen so it's safe to cache based on it\n let caretsByRow = _caretsByRowCache.get(textRenderInfo);\n if (!caretsByRow) {\n const {caretPositions, caretHeight} = textRenderInfo;\n caretsByRow = new Map();\n for (let i = 0; i < caretPositions.length; i += 3) {\n const rowY = caretPositions[i + 2];\n let rowCarets = caretsByRow.get(rowY);\n if (!rowCarets) {\n caretsByRow.set(rowY, rowCarets = []);\n }\n rowCarets.push({\n x: caretPositions[i],\n y: rowY,\n height: caretHeight,\n charIndex: i / 3\n });\n // Add one more caret after the final char\n if (i + 3 >= caretPositions.length) {\n rowCarets.push({\n x: caretPositions[i + 1],\n y: rowY,\n height: caretHeight,\n charIndex: i / 3 + 1\n });\n }\n }\n }\n _caretsByRowCache.set(textRenderInfo, caretsByRow);\n return caretsByRow\n}\n\nexport { GlyphsGeometry, Text, configureTextBuilder, createTextDerivedMaterial, dumpSDFTextures, getCaretAtPoint, getSelectionRects, preloadFont, typesetterWorkerModule };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport { Text as Text$1, preloadFont } from 'troika-three-text';\nimport { useThree } from '@react-three/fiber';\nimport { suspend } from 'suspend-react';\n\n// eslint-disable-next-line prettier/prettier\nconst Text = /*#__PURE__*/React.forwardRef(({\n anchorX = 'center',\n anchorY = 'middle',\n font,\n children,\n characters,\n onSync,\n ...props\n}, ref) => {\n const invalidate = useThree(({\n invalidate\n }) => invalidate);\n const [troikaMesh] = React.useState(() => new Text$1());\n const [nodes, text] = React.useMemo(() => {\n const n = [];\n let t = '';\n React.Children.forEach(children, child => {\n if (typeof child === 'string' || typeof child === 'number') {\n t += child;\n } else {\n n.push(child);\n }\n });\n return [n, t];\n }, [children]);\n suspend(() => new Promise(res => preloadFont({\n font,\n characters\n }, res)), ['troika-text', font, characters]);\n React.useLayoutEffect(() => void troikaMesh.sync(() => {\n invalidate();\n if (onSync) onSync(troikaMesh);\n }));\n React.useEffect(() => {\n return () => troikaMesh.dispose();\n }, [troikaMesh]);\n return /*#__PURE__*/React.createElement(\"primitive\", _extends({\n object: troikaMesh,\n ref: ref,\n font: font,\n text: text,\n anchorX: anchorX,\n anchorY: anchorY\n }, props), nodes);\n});\n\nexport { Text };\n","\"use strict\";\n\nvar defaults = {\n ellipse: \"…\",\n chars: [\" \", \"-\"],\n max: 140,\n truncate: true,\n};\n\n/**\n * \"mac-style\" or \"harmonica\" ellipsize.\n * Ellipsizes a string in the middle instead of the end.\n *\n * Examples:\n *\n * These are a few of my favourite things\n * These are … my faourite things\n * These are … faourite things\n * hese … things\n *\n * @param {string} str\n * @param {Number} max\n * @param {string} ellipse\n * @param {string[]} chars\n * @returns {string} ellipsized\n */\n\nfunction ellipsizeMiddle(str, max, ellipse, chars) {\n if (str <= max) return str;\n if (max < 2) return str.slice(0, max - ellipse.length) + ellipse;\n\n var maxLen = max - ellipse.length;\n var middle = Math.floor(maxLen / 2);\n\n var left = middle;\n var right = str.length - middle;\n\n for (var i = 0; i < middle; i++) {\n var charLeft = str.charAt(i);\n var posRight = str.length - i;\n\n var charRight = str.charAt(posRight);\n\n if (chars.indexOf(charLeft) !== -1) left = i;\n if (chars.indexOf(charRight) !== -1) right = posRight;\n }\n\n return str.slice(0, left) + ellipse + str.slice(right);\n}\n\n/**\n *\n * @param {string} str\n * @param {number} max\n * @param {string} ellipse\n * @param {string[]} chars\n * @param {boolean} truncate\n * @returns\n */\nfunction ellipsize(str, max, ellipse, chars, truncate) {\n if (str.length <= max) return str;\n\n var maxLen = max - ellipse.length;\n var end = maxLen;\n\n for (var i = 0; i <= maxLen; i++) {\n var char = str.charAt(i);\n if (chars.indexOf(char) !== -1) end = i;\n }\n\n // no breakpoint found, but truncate\n // was not allowed.\n if (!truncate && end == maxLen) return \"\";\n\n return str.slice(0, end) + ellipse;\n}\n\n/**\n * Ellipsize a string. Produces a string that is max lenght,\n * including the ellipse character.\n *\n * @param {string} str - String to ellipsize\n * @param {number} max - Max length including ellipsis\n * @param {Record} [opts] - See additional options\n * @returns {string} ellipsized string\n */\nmodule.exports = function (str, max, opts) {\n if (typeof str !== \"string\" || str.length === 0) return \"\";\n if (max === 0) return \"\";\n\n opts = opts || {};\n\n for (var key in defaults) {\n if (opts[key] === null || typeof opts[key] === \"undefined\") {\n opts[key] = defaults[key];\n }\n }\n\n opts.max = max || opts.max;\n\n if (opts.truncate == \"middle\")\n return ellipsizeMiddle(str, opts.max, opts.ellipse, opts.chars);\n\n return ellipsize(str, opts.max, opts.ellipse, opts.chars, opts.truncate);\n};\n\nmodule.exports.ellipsizeMiddle = ellipsizeMiddle;\nmodule.exports.ellipsize = ellipsize;\n","import React, { FC, useMemo } from 'react';\nimport { Billboard, Text } from '@react-three/drei';\nimport { Color, ColorRepresentation } from 'three';\nimport ellipsize from 'ellipsize';\n\nexport interface LabelProps {\n /**\n * Text to render.\n */\n text: string;\n\n /**\n * Font URL.\n * Reference: https://github.com/reaviz/reagraph/issues/23\n */\n fontUrl?: string;\n\n /**\n * Size of the font.\n */\n fontSize?: number;\n\n /**\n * Color of the text.\n */\n color?: ColorRepresentation;\n\n /**\n * Stroke of the text.\n */\n stroke?: ColorRepresentation;\n\n /**\n * Opacity for the label.\n */\n opacity?: number;\n\n /**\n * The lenth of which to start the ellipsis.\n */\n ellipsis?: number;\n\n /**\n * Whether the label is active ( dragging, hover, focus ).\n */\n active?: boolean;\n}\n\nexport const Label: FC = ({\n text,\n fontSize,\n fontUrl,\n color,\n opacity,\n stroke,\n active,\n ellipsis\n}) => {\n const shortText = ellipsis && !active ? ellipsize(text, ellipsis) : text;\n const normalizedColor = useMemo(() => new Color(color), [color]);\n const normalizedStroke = useMemo(\n () => (stroke ? new Color(stroke) : undefined),\n [stroke]\n );\n\n return (\n \n \n {shortText}\n \n \n );\n};\n\nLabel.defaultProps = {\n opacity: 1,\n fontSize: 7,\n color: '#2A6475',\n ellipsis: 75\n};\n","let updateQueue = makeQueue();\nconst raf = fn => schedule(fn, updateQueue);\nlet writeQueue = makeQueue();\n\nraf.write = fn => schedule(fn, writeQueue);\n\nlet onStartQueue = makeQueue();\n\nraf.onStart = fn => schedule(fn, onStartQueue);\n\nlet onFrameQueue = makeQueue();\n\nraf.onFrame = fn => schedule(fn, onFrameQueue);\n\nlet onFinishQueue = makeQueue();\n\nraf.onFinish = fn => schedule(fn, onFinishQueue);\n\nlet timeouts = [];\n\nraf.setTimeout = (handler, ms) => {\n let time = raf.now() + ms;\n\n let cancel = () => {\n let i = timeouts.findIndex(t => t.cancel == cancel);\n if (~i) timeouts.splice(i, 1);\n pendingCount -= ~i ? 1 : 0;\n };\n\n let timeout = {\n time,\n handler,\n cancel\n };\n timeouts.splice(findTimeout(time), 0, timeout);\n pendingCount += 1;\n start();\n return timeout;\n};\n\nlet findTimeout = time => ~(~timeouts.findIndex(t => t.time > time) || ~timeouts.length);\n\nraf.cancel = fn => {\n onStartQueue.delete(fn);\n onFrameQueue.delete(fn);\n updateQueue.delete(fn);\n writeQueue.delete(fn);\n onFinishQueue.delete(fn);\n};\n\nraf.sync = fn => {\n sync = true;\n raf.batchedUpdates(fn);\n sync = false;\n};\n\nraf.throttle = fn => {\n let lastArgs;\n\n function queuedFn() {\n try {\n fn(...lastArgs);\n } finally {\n lastArgs = null;\n }\n }\n\n function throttled(...args) {\n lastArgs = args;\n raf.onStart(queuedFn);\n }\n\n throttled.handler = fn;\n\n throttled.cancel = () => {\n onStartQueue.delete(queuedFn);\n lastArgs = null;\n };\n\n return throttled;\n};\n\nlet nativeRaf = typeof window != 'undefined' ? window.requestAnimationFrame : () => {};\n\nraf.use = impl => nativeRaf = impl;\n\nraf.now = typeof performance != 'undefined' ? () => performance.now() : Date.now;\n\nraf.batchedUpdates = fn => fn();\n\nraf.catch = console.error;\nraf.frameLoop = 'always';\n\nraf.advance = () => {\n if (raf.frameLoop !== 'demand') {\n console.warn('Cannot call the manual advancement of rafz whilst frameLoop is not set as demand');\n } else {\n update();\n }\n};\n\nlet ts = -1;\nlet pendingCount = 0;\nlet sync = false;\n\nfunction schedule(fn, queue) {\n if (sync) {\n queue.delete(fn);\n fn(0);\n } else {\n queue.add(fn);\n start();\n }\n}\n\nfunction start() {\n if (ts < 0) {\n ts = 0;\n\n if (raf.frameLoop !== 'demand') {\n nativeRaf(loop);\n }\n }\n}\n\nfunction stop() {\n ts = -1;\n}\n\nfunction loop() {\n if (~ts) {\n nativeRaf(loop);\n raf.batchedUpdates(update);\n }\n}\n\nfunction update() {\n let prevTs = ts;\n ts = raf.now();\n let count = findTimeout(ts);\n\n if (count) {\n eachSafely(timeouts.splice(0, count), t => t.handler());\n pendingCount -= count;\n }\n\n onStartQueue.flush();\n updateQueue.flush(prevTs ? Math.min(64, ts - prevTs) : 16.667);\n onFrameQueue.flush();\n writeQueue.flush();\n onFinishQueue.flush();\n\n if (!pendingCount) {\n stop();\n }\n}\n\nfunction makeQueue() {\n let next = new Set();\n let current = next;\n return {\n add(fn) {\n pendingCount += current == next && !next.has(fn) ? 1 : 0;\n next.add(fn);\n },\n\n delete(fn) {\n pendingCount -= current == next && next.has(fn) ? 1 : 0;\n return next.delete(fn);\n },\n\n flush(arg) {\n if (current.size) {\n next = new Set();\n pendingCount -= current.size;\n eachSafely(current, fn => fn(arg) && next.add(fn));\n pendingCount += next.size;\n current = next;\n }\n }\n\n };\n}\n\nfunction eachSafely(values, each) {\n values.forEach(value => {\n try {\n each(value);\n } catch (e) {\n raf.catch(e);\n }\n });\n}\n\nconst __raf = {\n count() {\n return pendingCount;\n },\n\n isRunning() {\n return ts >= 0;\n },\n\n clear() {\n ts = -1;\n timeouts = [];\n onStartQueue = makeQueue();\n updateQueue = makeQueue();\n onFrameQueue = makeQueue();\n writeQueue = makeQueue();\n onFinishQueue = makeQueue();\n pendingCount = 0;\n }\n\n};\n\nexport { __raf, raf };\n","import { raf } from '@react-spring/rafz';\nexport { raf } from '@react-spring/rafz';\nimport * as React from 'react';\nimport { useRef, useState, useEffect } from 'react';\n\nfunction noop() {}\nconst defineHidden = (obj, key, value) => Object.defineProperty(obj, key, {\n value,\n writable: true,\n configurable: true\n});\nconst is = {\n arr: Array.isArray,\n obj: a => !!a && a.constructor.name === 'Object',\n fun: a => typeof a === 'function',\n str: a => typeof a === 'string',\n num: a => typeof a === 'number',\n und: a => a === undefined\n};\nfunction isEqual(a, b) {\n if (is.arr(a)) {\n if (!is.arr(b) || a.length !== b.length) return false;\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n return a === b;\n}\nconst each = (obj, fn) => obj.forEach(fn);\nfunction eachProp(obj, fn, ctx) {\n if (is.arr(obj)) {\n for (let i = 0; i < obj.length; i++) {\n fn.call(ctx, obj[i], `${i}`);\n }\n\n return;\n }\n\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n fn.call(ctx, obj[key], key);\n }\n }\n}\nconst toArray = a => is.und(a) ? [] : is.arr(a) ? a : [a];\nfunction flush(queue, iterator) {\n if (queue.size) {\n const items = Array.from(queue);\n queue.clear();\n each(items, iterator);\n }\n}\nconst flushCalls = (queue, ...args) => flush(queue, fn => fn(...args));\nconst isSSR = () => typeof window === 'undefined' || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\n\nlet createStringInterpolator$1;\nlet to;\nlet colors$1 = null;\nlet skipAnimation = false;\nlet willAdvance = noop;\nconst assign = globals => {\n if (globals.to) to = globals.to;\n if (globals.now) raf.now = globals.now;\n if (globals.colors !== undefined) colors$1 = globals.colors;\n if (globals.skipAnimation != null) skipAnimation = globals.skipAnimation;\n if (globals.createStringInterpolator) createStringInterpolator$1 = globals.createStringInterpolator;\n if (globals.requestAnimationFrame) raf.use(globals.requestAnimationFrame);\n if (globals.batchedUpdates) raf.batchedUpdates = globals.batchedUpdates;\n if (globals.willAdvance) willAdvance = globals.willAdvance;\n if (globals.frameLoop) raf.frameLoop = globals.frameLoop;\n};\n\nvar globals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n get createStringInterpolator () { return createStringInterpolator$1; },\n get to () { return to; },\n get colors () { return colors$1; },\n get skipAnimation () { return skipAnimation; },\n get willAdvance () { return willAdvance; },\n assign: assign\n});\n\nconst startQueue = new Set();\nlet currentFrame = [];\nlet prevFrame = [];\nlet priority = 0;\nconst frameLoop = {\n get idle() {\n return !startQueue.size && !currentFrame.length;\n },\n\n start(animation) {\n if (priority > animation.priority) {\n startQueue.add(animation);\n raf.onStart(flushStartQueue);\n } else {\n startSafely(animation);\n raf(advance);\n }\n },\n\n advance,\n\n sort(animation) {\n if (priority) {\n raf.onFrame(() => frameLoop.sort(animation));\n } else {\n const prevIndex = currentFrame.indexOf(animation);\n\n if (~prevIndex) {\n currentFrame.splice(prevIndex, 1);\n startUnsafely(animation);\n }\n }\n },\n\n clear() {\n currentFrame = [];\n startQueue.clear();\n }\n\n};\n\nfunction flushStartQueue() {\n startQueue.forEach(startSafely);\n startQueue.clear();\n raf(advance);\n}\n\nfunction startSafely(animation) {\n if (!currentFrame.includes(animation)) startUnsafely(animation);\n}\n\nfunction startUnsafely(animation) {\n currentFrame.splice(findIndex(currentFrame, other => other.priority > animation.priority), 0, animation);\n}\n\nfunction advance(dt) {\n const nextFrame = prevFrame;\n\n for (let i = 0; i < currentFrame.length; i++) {\n const animation = currentFrame[i];\n priority = animation.priority;\n\n if (!animation.idle) {\n willAdvance(animation);\n animation.advance(dt);\n\n if (!animation.idle) {\n nextFrame.push(animation);\n }\n }\n }\n\n priority = 0;\n prevFrame = currentFrame;\n prevFrame.length = 0;\n currentFrame = nextFrame;\n return currentFrame.length > 0;\n}\n\nfunction findIndex(arr, test) {\n const index = arr.findIndex(test);\n return index < 0 ? arr.length : index;\n}\n\nconst colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n};\n\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...parts) {\n return '\\\\(\\\\s*(' + parts.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nconst rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nconst rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nconst hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nconst hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nconst hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex6 = /^#([0-9a-fA-F]{6})$/;\nconst hex8 = /^#([0-9a-fA-F]{8})$/;\n\nfunction normalizeColor(color) {\n let match;\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n }\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n\n if (colors$1 && colors$1[color] !== undefined) {\n return colors$1[color];\n }\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | 0x000000ff) >>> 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | parse1(match[4])) >>> 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + 'ff', 16) >>> 0;\n }\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + match[4] + match[4], 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | 0x000000ff) >>> 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | parse1(match[4])) >>> 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n const int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n}\n\nfunction colorToRgba(input) {\n let int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n let r = (int32Color & 0xff000000) >>> 24;\n let g = (int32Color & 0x00ff0000) >>> 16;\n let b = (int32Color & 0x0000ff00) >>> 8;\n let a = (int32Color & 0x000000ff) / 255;\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n}\n\nconst createInterpolator = (range, output, extrapolate) => {\n if (is.fun(range)) {\n return range;\n }\n\n if (is.arr(range)) {\n return createInterpolator({\n range,\n output: output,\n extrapolate\n });\n }\n\n if (is.str(range.output[0])) {\n return createStringInterpolator$1(range);\n }\n\n const config = range;\n const outputRange = config.output;\n const inputRange = config.range || [0, 1];\n const extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';\n const extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';\n\n const easing = config.easing || (t => t);\n\n return input => {\n const range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);\n };\n};\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n let result = map ? map(input) : input;\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax;\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin);\n result = easing(result);\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) if (inputRange[i] >= input) break;\n\n return i - 1;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nconst $get = Symbol.for('FluidValue.get');\nconst $observers = Symbol.for('FluidValue.observers');\n\nconst hasFluidValue = arg => Boolean(arg && arg[$get]);\n\nconst getFluidValue = arg => arg && arg[$get] ? arg[$get]() : arg;\n\nconst getFluidObservers = target => target[$observers] || null;\n\nfunction callFluidObserver(observer, event) {\n if (observer.eventObserved) {\n observer.eventObserved(event);\n } else {\n observer(event);\n }\n}\n\nfunction callFluidObservers(target, event) {\n let observers = target[$observers];\n\n if (observers) {\n observers.forEach(observer => {\n callFluidObserver(observer, event);\n });\n }\n}\n\nclass FluidValue {\n constructor(get) {\n this[$get] = void 0;\n this[$observers] = void 0;\n\n if (!get && !(get = this.get)) {\n throw Error('Unknown getter');\n }\n\n setFluidGetter(this, get);\n }\n\n}\n\nconst setFluidGetter = (target, get) => setHidden(target, $get, get);\n\nfunction addFluidObserver(target, observer) {\n if (target[$get]) {\n let observers = target[$observers];\n\n if (!observers) {\n setHidden(target, $observers, observers = new Set());\n }\n\n if (!observers.has(observer)) {\n observers.add(observer);\n\n if (target.observerAdded) {\n target.observerAdded(observers.size, observer);\n }\n }\n }\n\n return observer;\n}\n\nfunction removeFluidObserver(target, observer) {\n let observers = target[$observers];\n\n if (observers && observers.has(observer)) {\n const count = observers.size - 1;\n\n if (count) {\n observers.delete(observer);\n } else {\n target[$observers] = null;\n }\n\n if (target.observerRemoved) {\n target.observerRemoved(count, observer);\n }\n }\n}\n\nconst setHidden = (target, key, value) => Object.defineProperty(target, key, {\n value,\n writable: true,\n configurable: true\n});\n\nconst numberRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g;\nconst colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi;\nconst unitRegex = new RegExp(`(${numberRegex.source})(%|[a-z]+)`, 'i');\nconst rgbaRegex = /rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi;\nconst cssVariableRegex = /var\\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\\)/;\n\nconst variableToRgba = input => {\n const [token, fallback] = parseCSSVariable(input);\n\n if (!token || isSSR()) {\n return input;\n }\n\n const value = window.getComputedStyle(document.documentElement).getPropertyValue(token);\n\n if (value) {\n return value.trim();\n } else if (fallback && fallback.startsWith('--')) {\n const _value = window.getComputedStyle(document.documentElement).getPropertyValue(fallback);\n\n if (_value) {\n return _value;\n } else {\n return input;\n }\n } else if (fallback && cssVariableRegex.test(fallback)) {\n return variableToRgba(fallback);\n } else if (fallback) {\n return fallback;\n }\n\n return input;\n};\n\nconst parseCSSVariable = current => {\n const match = cssVariableRegex.exec(current);\n if (!match) return [,];\n const [, token, fallback] = match;\n return [token, fallback];\n};\n\nlet namedColorRegex;\n\nconst rgbaRound = (_, p1, p2, p3, p4) => `rgba(${Math.round(p1)}, ${Math.round(p2)}, ${Math.round(p3)}, ${p4})`;\n\nconst createStringInterpolator = config => {\n if (!namedColorRegex) namedColorRegex = colors$1 ? new RegExp(`(${Object.keys(colors$1).join('|')})(?!\\\\w)`, 'g') : /^\\b$/;\n const output = config.output.map(value => {\n return getFluidValue(value).replace(cssVariableRegex, variableToRgba).replace(colorRegex, colorToRgba).replace(namedColorRegex, colorToRgba);\n });\n const keyframes = output.map(value => value.match(numberRegex).map(Number));\n const outputRanges = keyframes[0].map((_, i) => keyframes.map(values => {\n if (!(i in values)) {\n throw Error('The arity of each \"output\" value must be equal');\n }\n\n return values[i];\n }));\n const interpolators = outputRanges.map(output => createInterpolator(_extends({}, config, {\n output\n })));\n return input => {\n var _output$find;\n\n const missingUnit = !unitRegex.test(output[0]) && ((_output$find = output.find(value => unitRegex.test(value))) == null ? void 0 : _output$find.replace(numberRegex, ''));\n let i = 0;\n return output[0].replace(numberRegex, () => `${interpolators[i++](input)}${missingUnit || ''}`).replace(rgbaRegex, rgbaRound);\n };\n};\n\nconst prefix = 'react-spring: ';\n\nconst once = fn => {\n const func = fn;\n let called = false;\n\n if (typeof func != 'function') {\n throw new TypeError(`${prefix}once requires a function parameter`);\n }\n\n return (...args) => {\n if (!called) {\n func(...args);\n called = true;\n }\n };\n};\n\nconst warnInterpolate = once(console.warn);\nfunction deprecateInterpolate() {\n warnInterpolate(`${prefix}The \"interpolate\" function is deprecated in v9 (use \"to\" instead)`);\n}\nconst warnDirectCall = once(console.warn);\nfunction deprecateDirectCall() {\n warnDirectCall(`${prefix}Directly calling start instead of using the api object is deprecated in v9 (use \".start\" instead), this will be removed in later 0.X.0 versions`);\n}\n\nfunction isAnimatedString(value) {\n return is.str(value) && (value[0] == '#' || /\\d/.test(value) || !isSSR() && cssVariableRegex.test(value) || value in (colors$1 || {}));\n}\n\nconst useLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;\n\nconst useIsMounted = () => {\n const isMounted = useRef(false);\n useLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n};\n\nfunction useForceUpdate() {\n const update = useState()[1];\n const isMounted = useIsMounted();\n return () => {\n if (isMounted.current) {\n update(Math.random());\n }\n };\n}\n\nfunction useMemoOne(getResult, inputs) {\n const [initial] = useState(() => ({\n inputs,\n result: getResult()\n }));\n const committed = useRef();\n const prevCache = committed.current;\n let cache = prevCache;\n\n if (cache) {\n const useCache = Boolean(inputs && cache.inputs && areInputsEqual(inputs, cache.inputs));\n\n if (!useCache) {\n cache = {\n inputs,\n result: getResult()\n };\n }\n } else {\n cache = initial;\n }\n\n useEffect(() => {\n committed.current = cache;\n\n if (prevCache == initial) {\n initial.inputs = initial.result = undefined;\n }\n }, [cache]);\n return cache.result;\n}\n\nfunction areInputsEqual(next, prev) {\n if (next.length !== prev.length) {\n return false;\n }\n\n for (let i = 0; i < next.length; i++) {\n if (next[i] !== prev[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nconst useOnce = effect => useEffect(effect, emptyDeps);\nconst emptyDeps = [];\n\nfunction usePrev(value) {\n const prevRef = useRef();\n useEffect(() => {\n prevRef.current = value;\n });\n return prevRef.current;\n}\n\nexport { FluidValue, globals as Globals, addFluidObserver, callFluidObserver, callFluidObservers, colorToRgba, colors, createInterpolator, createStringInterpolator, defineHidden, deprecateDirectCall, deprecateInterpolate, each, eachProp, flush, flushCalls, frameLoop, getFluidObservers, getFluidValue, hasFluidValue, hex3, hex4, hex6, hex8, hsl, hsla, is, isAnimatedString, isEqual, isSSR, noop, removeFluidObserver, rgb, rgba, setFluidGetter, toArray, useForceUpdate, useLayoutEffect, useMemoOne, useOnce, usePrev };\n","import { defineHidden, is, createInterpolator, eachProp, hasFluidValue, getFluidValue, each, isAnimatedString, useForceUpdate, useLayoutEffect, addFluidObserver, removeFluidObserver, raf, useOnce } from '@react-spring/shared';\nimport * as React from 'react';\nimport { forwardRef, useRef, useCallback, useEffect } from 'react';\n\nconst $node = Symbol.for('Animated:node');\nconst isAnimated = value => !!value && value[$node] === value;\nconst getAnimated = owner => owner && owner[$node];\nconst setAnimated = (owner, node) => defineHidden(owner, $node, node);\nconst getPayload = owner => owner && owner[$node] && owner[$node].getPayload();\nclass Animated {\n constructor() {\n this.payload = void 0;\n setAnimated(this, this);\n }\n\n getPayload() {\n return this.payload || [];\n }\n\n}\n\nclass AnimatedValue extends Animated {\n constructor(_value) {\n super();\n this.done = true;\n this.elapsedTime = void 0;\n this.lastPosition = void 0;\n this.lastVelocity = void 0;\n this.v0 = void 0;\n this.durationProgress = 0;\n this._value = _value;\n\n if (is.num(this._value)) {\n this.lastPosition = this._value;\n }\n }\n\n static create(value) {\n return new AnimatedValue(value);\n }\n\n getPayload() {\n return [this];\n }\n\n getValue() {\n return this._value;\n }\n\n setValue(value, step) {\n if (is.num(value)) {\n this.lastPosition = value;\n\n if (step) {\n value = Math.round(value / step) * step;\n\n if (this.done) {\n this.lastPosition = value;\n }\n }\n }\n\n if (this._value === value) {\n return false;\n }\n\n this._value = value;\n return true;\n }\n\n reset() {\n const {\n done\n } = this;\n this.done = false;\n\n if (is.num(this._value)) {\n this.elapsedTime = 0;\n this.durationProgress = 0;\n this.lastPosition = this._value;\n if (done) this.lastVelocity = null;\n this.v0 = null;\n }\n }\n\n}\n\nclass AnimatedString extends AnimatedValue {\n constructor(value) {\n super(0);\n this._string = null;\n this._toString = void 0;\n this._toString = createInterpolator({\n output: [value, value]\n });\n }\n\n static create(value) {\n return new AnimatedString(value);\n }\n\n getValue() {\n let value = this._string;\n return value == null ? this._string = this._toString(this._value) : value;\n }\n\n setValue(value) {\n if (is.str(value)) {\n if (value == this._string) {\n return false;\n }\n\n this._string = value;\n this._value = 1;\n } else if (super.setValue(value)) {\n this._string = null;\n } else {\n return false;\n }\n\n return true;\n }\n\n reset(goal) {\n if (goal) {\n this._toString = createInterpolator({\n output: [this.getValue(), goal]\n });\n }\n\n this._value = 0;\n super.reset();\n }\n\n}\n\nconst TreeContext = {\n dependencies: null\n};\n\nclass AnimatedObject extends Animated {\n constructor(source) {\n super();\n this.source = source;\n this.setValue(source);\n }\n\n getValue(animated) {\n const values = {};\n eachProp(this.source, (source, key) => {\n if (isAnimated(source)) {\n values[key] = source.getValue(animated);\n } else if (hasFluidValue(source)) {\n values[key] = getFluidValue(source);\n } else if (!animated) {\n values[key] = source;\n }\n });\n return values;\n }\n\n setValue(source) {\n this.source = source;\n this.payload = this._makePayload(source);\n }\n\n reset() {\n if (this.payload) {\n each(this.payload, node => node.reset());\n }\n }\n\n _makePayload(source) {\n if (source) {\n const payload = new Set();\n eachProp(source, this._addToPayload, payload);\n return Array.from(payload);\n }\n }\n\n _addToPayload(source) {\n if (TreeContext.dependencies && hasFluidValue(source)) {\n TreeContext.dependencies.add(source);\n }\n\n const payload = getPayload(source);\n\n if (payload) {\n each(payload, node => this.add(node));\n }\n }\n\n}\n\nclass AnimatedArray extends AnimatedObject {\n constructor(source) {\n super(source);\n }\n\n static create(source) {\n return new AnimatedArray(source);\n }\n\n getValue() {\n return this.source.map(node => node.getValue());\n }\n\n setValue(source) {\n const payload = this.getPayload();\n\n if (source.length == payload.length) {\n return payload.map((node, i) => node.setValue(source[i])).some(Boolean);\n }\n\n super.setValue(source.map(makeAnimated));\n return true;\n }\n\n}\n\nfunction makeAnimated(value) {\n const nodeType = isAnimatedString(value) ? AnimatedString : AnimatedValue;\n return nodeType.create(value);\n}\n\nfunction getAnimatedType(value) {\n const parentNode = getAnimated(value);\n return parentNode ? parentNode.constructor : is.arr(value) ? AnimatedArray : isAnimatedString(value) ? AnimatedString : AnimatedValue;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nconst withAnimated = (Component, host) => {\n const hasInstance = !is.fun(Component) || Component.prototype && Component.prototype.isReactComponent;\n return forwardRef((givenProps, givenRef) => {\n const instanceRef = useRef(null);\n const ref = hasInstance && useCallback(value => {\n instanceRef.current = updateRef(givenRef, value);\n }, [givenRef]);\n const [props, deps] = getAnimatedState(givenProps, host);\n const forceUpdate = useForceUpdate();\n\n const callback = () => {\n const instance = instanceRef.current;\n\n if (hasInstance && !instance) {\n return;\n }\n\n const didUpdate = instance ? host.applyAnimatedValues(instance, props.getValue(true)) : false;\n\n if (didUpdate === false) {\n forceUpdate();\n }\n };\n\n const observer = new PropsObserver(callback, deps);\n const observerRef = useRef();\n useLayoutEffect(() => {\n observerRef.current = observer;\n each(deps, dep => addFluidObserver(dep, observer));\n return () => {\n if (observerRef.current) {\n each(observerRef.current.deps, dep => removeFluidObserver(dep, observerRef.current));\n raf.cancel(observerRef.current.update);\n }\n };\n });\n useEffect(callback, []);\n useOnce(() => () => {\n const observer = observerRef.current;\n each(observer.deps, dep => removeFluidObserver(dep, observer));\n });\n const usedProps = host.getComponentProps(props.getValue());\n return React.createElement(Component, _extends({}, usedProps, {\n ref: ref\n }));\n });\n};\n\nclass PropsObserver {\n constructor(update, deps) {\n this.update = update;\n this.deps = deps;\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n raf.write(this.update);\n }\n }\n\n}\n\nfunction getAnimatedState(props, host) {\n const dependencies = new Set();\n TreeContext.dependencies = dependencies;\n if (props.style) props = _extends({}, props, {\n style: host.createAnimatedStyle(props.style)\n });\n props = new AnimatedObject(props);\n TreeContext.dependencies = null;\n return [props, dependencies];\n}\n\nfunction updateRef(ref, value) {\n if (ref) {\n if (is.fun(ref)) ref(value);else ref.current = value;\n }\n\n return value;\n}\n\nconst cacheKey = Symbol.for('AnimatedComponent');\nconst createHost = (components, {\n applyAnimatedValues: _applyAnimatedValues = () => false,\n createAnimatedStyle: _createAnimatedStyle = style => new AnimatedObject(style),\n getComponentProps: _getComponentProps = props => props\n} = {}) => {\n const hostConfig = {\n applyAnimatedValues: _applyAnimatedValues,\n createAnimatedStyle: _createAnimatedStyle,\n getComponentProps: _getComponentProps\n };\n\n const animated = Component => {\n const displayName = getDisplayName(Component) || 'Anonymous';\n\n if (is.str(Component)) {\n Component = animated[Component] || (animated[Component] = withAnimated(Component, hostConfig));\n } else {\n Component = Component[cacheKey] || (Component[cacheKey] = withAnimated(Component, hostConfig));\n }\n\n Component.displayName = `Animated(${displayName})`;\n return Component;\n };\n\n eachProp(components, (Component, key) => {\n if (is.arr(components)) {\n key = getDisplayName(Component);\n }\n\n animated[key] = animated(Component);\n });\n return {\n animated\n };\n};\n\nconst getDisplayName = arg => is.str(arg) ? arg : arg && is.str(arg.displayName) ? arg.displayName : is.fun(arg) && arg.name || null;\n\nexport { Animated, AnimatedArray, AnimatedObject, AnimatedString, AnimatedValue, createHost, getAnimated, getAnimatedType, getPayload, isAnimated, setAnimated };\n","import { eachProp, is, toArray, isAnimatedString, Globals, getFluidValue, useLayoutEffect, each, raf, flush, FluidValue, deprecateInterpolate, callFluidObservers, frameLoop, hasFluidValue, flushCalls, isEqual, getFluidObservers, addFluidObserver, removeFluidObserver, noop, useMemoOne, deprecateDirectCall, useForceUpdate, usePrev, useOnce, createInterpolator, createStringInterpolator } from '@react-spring/shared';\nexport { Globals, createInterpolator } from '@react-spring/shared';\nimport * as React from 'react';\nimport { useContext, useMemo, useRef, useState } from 'react';\nimport { getAnimated, AnimatedValue, getPayload, AnimatedString, getAnimatedType, setAnimated } from '@react-spring/animated';\nexport * from '@react-spring/types/animated';\nexport * from '@react-spring/types/interpolation';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction callProp(value, ...args) {\n return is.fun(value) ? value(...args) : value;\n}\nconst matchProp = (value, key) => value === true || !!(key && value && (is.fun(value) ? value(key) : toArray(value).includes(key)));\nconst resolveProp = (prop, key) => is.obj(prop) ? key && prop[key] : prop;\nconst getDefaultProp = (props, key) => props.default === true ? props[key] : props.default ? props.default[key] : undefined;\n\nconst noopTransform = value => value;\n\nconst getDefaultProps = (props, transform = noopTransform) => {\n let keys = DEFAULT_PROPS;\n\n if (props.default && props.default !== true) {\n props = props.default;\n keys = Object.keys(props);\n }\n\n const defaults = {};\n\n for (const key of keys) {\n const value = transform(props[key], key);\n\n if (!is.und(value)) {\n defaults[key] = value;\n }\n }\n\n return defaults;\n};\nconst DEFAULT_PROPS = ['config', 'onProps', 'onStart', 'onChange', 'onPause', 'onResume', 'onRest'];\nconst RESERVED_PROPS = {\n config: 1,\n from: 1,\n to: 1,\n ref: 1,\n loop: 1,\n reset: 1,\n pause: 1,\n cancel: 1,\n reverse: 1,\n immediate: 1,\n default: 1,\n delay: 1,\n onProps: 1,\n onStart: 1,\n onChange: 1,\n onPause: 1,\n onResume: 1,\n onRest: 1,\n onResolve: 1,\n items: 1,\n trail: 1,\n sort: 1,\n expires: 1,\n initial: 1,\n enter: 1,\n update: 1,\n leave: 1,\n children: 1,\n onDestroyed: 1,\n keys: 1,\n callId: 1,\n parentId: 1\n};\n\nfunction getForwardProps(props) {\n const forward = {};\n let count = 0;\n eachProp(props, (value, prop) => {\n if (!RESERVED_PROPS[prop]) {\n forward[prop] = value;\n count++;\n }\n });\n\n if (count) {\n return forward;\n }\n}\n\nfunction inferTo(props) {\n const to = getForwardProps(props);\n\n if (to) {\n const out = {\n to\n };\n eachProp(props, (val, key) => key in to || (out[key] = val));\n return out;\n }\n\n return _extends({}, props);\n}\nfunction computeGoal(value) {\n value = getFluidValue(value);\n return is.arr(value) ? value.map(computeGoal) : isAnimatedString(value) ? Globals.createStringInterpolator({\n range: [0, 1],\n output: [value, value]\n })(1) : value;\n}\nfunction hasProps(props) {\n for (const _ in props) return true;\n\n return false;\n}\nfunction isAsyncTo(to) {\n return is.fun(to) || is.arr(to) && is.obj(to[0]);\n}\nfunction detachRefs(ctrl, ref) {\n var _ctrl$ref;\n\n (_ctrl$ref = ctrl.ref) == null ? void 0 : _ctrl$ref.delete(ctrl);\n ref == null ? void 0 : ref.delete(ctrl);\n}\nfunction replaceRef(ctrl, ref) {\n if (ref && ctrl.ref !== ref) {\n var _ctrl$ref2;\n\n (_ctrl$ref2 = ctrl.ref) == null ? void 0 : _ctrl$ref2.delete(ctrl);\n ref.add(ctrl);\n ctrl.ref = ref;\n }\n}\n\nfunction useChain(refs, timeSteps, timeFrame = 1000) {\n useLayoutEffect(() => {\n if (timeSteps) {\n let prevDelay = 0;\n each(refs, (ref, i) => {\n const controllers = ref.current;\n\n if (controllers.length) {\n let delay = timeFrame * timeSteps[i];\n if (isNaN(delay)) delay = prevDelay;else prevDelay = delay;\n each(controllers, ctrl => {\n each(ctrl.queue, props => {\n const memoizedDelayProp = props.delay;\n\n props.delay = key => delay + callProp(memoizedDelayProp || 0, key);\n });\n });\n ref.start();\n }\n });\n } else {\n let p = Promise.resolve();\n each(refs, ref => {\n const controllers = ref.current;\n\n if (controllers.length) {\n const queues = controllers.map(ctrl => {\n const q = ctrl.queue;\n ctrl.queue = [];\n return q;\n });\n p = p.then(() => {\n each(controllers, (ctrl, i) => each(queues[i] || [], update => ctrl.queue.push(update)));\n return Promise.all(ref.start());\n });\n }\n });\n }\n });\n}\n\nconst config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\nconst c1 = 1.70158;\nconst c2 = c1 * 1.525;\nconst c3 = c1 + 1;\nconst c4 = 2 * Math.PI / 3;\nconst c5 = 2 * Math.PI / 4.5;\n\nconst bounceOut = x => {\n const n1 = 7.5625;\n const d1 = 2.75;\n\n if (x < 1 / d1) {\n return n1 * x * x;\n } else if (x < 2 / d1) {\n return n1 * (x -= 1.5 / d1) * x + 0.75;\n } else if (x < 2.5 / d1) {\n return n1 * (x -= 2.25 / d1) * x + 0.9375;\n } else {\n return n1 * (x -= 2.625 / d1) * x + 0.984375;\n }\n};\n\nconst easings = {\n linear: x => x,\n easeInQuad: x => x * x,\n easeOutQuad: x => 1 - (1 - x) * (1 - x),\n easeInOutQuad: x => x < 0.5 ? 2 * x * x : 1 - Math.pow(-2 * x + 2, 2) / 2,\n easeInCubic: x => x * x * x,\n easeOutCubic: x => 1 - Math.pow(1 - x, 3),\n easeInOutCubic: x => x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2,\n easeInQuart: x => x * x * x * x,\n easeOutQuart: x => 1 - Math.pow(1 - x, 4),\n easeInOutQuart: x => x < 0.5 ? 8 * x * x * x * x : 1 - Math.pow(-2 * x + 2, 4) / 2,\n easeInQuint: x => x * x * x * x * x,\n easeOutQuint: x => 1 - Math.pow(1 - x, 5),\n easeInOutQuint: x => x < 0.5 ? 16 * x * x * x * x * x : 1 - Math.pow(-2 * x + 2, 5) / 2,\n easeInSine: x => 1 - Math.cos(x * Math.PI / 2),\n easeOutSine: x => Math.sin(x * Math.PI / 2),\n easeInOutSine: x => -(Math.cos(Math.PI * x) - 1) / 2,\n easeInExpo: x => x === 0 ? 0 : Math.pow(2, 10 * x - 10),\n easeOutExpo: x => x === 1 ? 1 : 1 - Math.pow(2, -10 * x),\n easeInOutExpo: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? Math.pow(2, 20 * x - 10) / 2 : (2 - Math.pow(2, -20 * x + 10)) / 2,\n easeInCirc: x => 1 - Math.sqrt(1 - Math.pow(x, 2)),\n easeOutCirc: x => Math.sqrt(1 - Math.pow(x - 1, 2)),\n easeInOutCirc: x => x < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2,\n easeInBack: x => c3 * x * x * x - c1 * x * x,\n easeOutBack: x => 1 + c3 * Math.pow(x - 1, 3) + c1 * Math.pow(x - 1, 2),\n easeInOutBack: x => x < 0.5 ? Math.pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2) / 2 : (Math.pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2,\n easeInElastic: x => x === 0 ? 0 : x === 1 ? 1 : -Math.pow(2, 10 * x - 10) * Math.sin((x * 10 - 10.75) * c4),\n easeOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : Math.pow(2, -10 * x) * Math.sin((x * 10 - 0.75) * c4) + 1,\n easeInOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? -(Math.pow(2, 20 * x - 10) * Math.sin((20 * x - 11.125) * c5)) / 2 : Math.pow(2, -20 * x + 10) * Math.sin((20 * x - 11.125) * c5) / 2 + 1,\n easeInBounce: x => 1 - bounceOut(1 - x),\n easeOutBounce: bounceOut,\n easeInOutBounce: x => x < 0.5 ? (1 - bounceOut(1 - 2 * x)) / 2 : (1 + bounceOut(2 * x - 1)) / 2\n};\n\nconst defaults = _extends({}, config.default, {\n mass: 1,\n damping: 1,\n easing: easings.linear,\n clamp: false\n});\n\nclass AnimationConfig {\n constructor() {\n this.tension = void 0;\n this.friction = void 0;\n this.frequency = void 0;\n this.damping = void 0;\n this.mass = void 0;\n this.velocity = 0;\n this.restVelocity = void 0;\n this.precision = void 0;\n this.progress = void 0;\n this.duration = void 0;\n this.easing = void 0;\n this.clamp = void 0;\n this.bounce = void 0;\n this.decay = void 0;\n this.round = void 0;\n Object.assign(this, defaults);\n }\n\n}\nfunction mergeConfig(config, newConfig, defaultConfig) {\n if (defaultConfig) {\n defaultConfig = _extends({}, defaultConfig);\n sanitizeConfig(defaultConfig, newConfig);\n newConfig = _extends({}, defaultConfig, newConfig);\n }\n\n sanitizeConfig(config, newConfig);\n Object.assign(config, newConfig);\n\n for (const key in defaults) {\n if (config[key] == null) {\n config[key] = defaults[key];\n }\n }\n\n let {\n mass,\n frequency,\n damping\n } = config;\n\n if (!is.und(frequency)) {\n if (frequency < 0.01) frequency = 0.01;\n if (damping < 0) damping = 0;\n config.tension = Math.pow(2 * Math.PI / frequency, 2) * mass;\n config.friction = 4 * Math.PI * damping * mass / frequency;\n }\n\n return config;\n}\n\nfunction sanitizeConfig(config, props) {\n if (!is.und(props.decay)) {\n config.duration = undefined;\n } else {\n const isTensionConfig = !is.und(props.tension) || !is.und(props.friction);\n\n if (isTensionConfig || !is.und(props.frequency) || !is.und(props.damping) || !is.und(props.mass)) {\n config.duration = undefined;\n config.decay = undefined;\n }\n\n if (isTensionConfig) {\n config.frequency = undefined;\n }\n }\n}\n\nconst emptyArray = [];\nclass Animation {\n constructor() {\n this.changed = false;\n this.values = emptyArray;\n this.toValues = null;\n this.fromValues = emptyArray;\n this.to = void 0;\n this.from = void 0;\n this.config = new AnimationConfig();\n this.immediate = false;\n }\n\n}\n\nfunction scheduleProps(callId, {\n key,\n props,\n defaultProps,\n state,\n actions\n}) {\n return new Promise((resolve, reject) => {\n var _props$cancel;\n\n let delay;\n let timeout;\n let cancel = matchProp((_props$cancel = props.cancel) != null ? _props$cancel : defaultProps == null ? void 0 : defaultProps.cancel, key);\n\n if (cancel) {\n onStart();\n } else {\n if (!is.und(props.pause)) {\n state.paused = matchProp(props.pause, key);\n }\n\n let pause = defaultProps == null ? void 0 : defaultProps.pause;\n\n if (pause !== true) {\n pause = state.paused || matchProp(pause, key);\n }\n\n delay = callProp(props.delay || 0, key);\n\n if (pause) {\n state.resumeQueue.add(onResume);\n actions.pause();\n } else {\n actions.resume();\n onResume();\n }\n }\n\n function onPause() {\n state.resumeQueue.add(onResume);\n state.timeouts.delete(timeout);\n timeout.cancel();\n delay = timeout.time - raf.now();\n }\n\n function onResume() {\n if (delay > 0 && !Globals.skipAnimation) {\n state.delayed = true;\n timeout = raf.setTimeout(onStart, delay);\n state.pauseQueue.add(onPause);\n state.timeouts.add(timeout);\n } else {\n onStart();\n }\n }\n\n function onStart() {\n if (state.delayed) {\n state.delayed = false;\n }\n\n state.pauseQueue.delete(onPause);\n state.timeouts.delete(timeout);\n\n if (callId <= (state.cancelId || 0)) {\n cancel = true;\n }\n\n try {\n actions.start(_extends({}, props, {\n callId,\n cancel\n }), resolve);\n } catch (err) {\n reject(err);\n }\n }\n });\n}\n\nconst getCombinedResult = (target, results) => results.length == 1 ? results[0] : results.some(result => result.cancelled) ? getCancelledResult(target.get()) : results.every(result => result.noop) ? getNoopResult(target.get()) : getFinishedResult(target.get(), results.every(result => result.finished));\nconst getNoopResult = value => ({\n value,\n noop: true,\n finished: true,\n cancelled: false\n});\nconst getFinishedResult = (value, finished, cancelled = false) => ({\n value,\n finished,\n cancelled\n});\nconst getCancelledResult = value => ({\n value,\n cancelled: true,\n finished: false\n});\n\nfunction runAsync(to, props, state, target) {\n const {\n callId,\n parentId,\n onRest\n } = props;\n const {\n asyncTo: prevTo,\n promise: prevPromise\n } = state;\n\n if (!parentId && to === prevTo && !props.reset) {\n return prevPromise;\n }\n\n return state.promise = (async () => {\n state.asyncId = callId;\n state.asyncTo = to;\n const defaultProps = getDefaultProps(props, (value, key) => key === 'onRest' ? undefined : value);\n let preventBail;\n let bail;\n const bailPromise = new Promise((resolve, reject) => (preventBail = resolve, bail = reject));\n\n const bailIfEnded = bailSignal => {\n const bailResult = callId <= (state.cancelId || 0) && getCancelledResult(target) || callId !== state.asyncId && getFinishedResult(target, false);\n\n if (bailResult) {\n bailSignal.result = bailResult;\n bail(bailSignal);\n throw bailSignal;\n }\n };\n\n const animate = (arg1, arg2) => {\n const bailSignal = new BailSignal();\n const skipAnimationSignal = new SkipAniamtionSignal();\n return (async () => {\n if (Globals.skipAnimation) {\n stopAsync(state);\n skipAnimationSignal.result = getFinishedResult(target, false);\n bail(skipAnimationSignal);\n throw skipAnimationSignal;\n }\n\n bailIfEnded(bailSignal);\n const props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n to: arg1\n });\n props.parentId = callId;\n eachProp(defaultProps, (value, key) => {\n if (is.und(props[key])) {\n props[key] = value;\n }\n });\n const result = await target.start(props);\n bailIfEnded(bailSignal);\n\n if (state.paused) {\n await new Promise(resume => {\n state.resumeQueue.add(resume);\n });\n }\n\n return result;\n })();\n };\n\n let result;\n\n if (Globals.skipAnimation) {\n stopAsync(state);\n return getFinishedResult(target, false);\n }\n\n try {\n let animating;\n\n if (is.arr(to)) {\n animating = (async queue => {\n for (const props of queue) {\n await animate(props);\n }\n })(to);\n } else {\n animating = Promise.resolve(to(animate, target.stop.bind(target)));\n }\n\n await Promise.all([animating.then(preventBail), bailPromise]);\n result = getFinishedResult(target.get(), true, false);\n } catch (err) {\n if (err instanceof BailSignal) {\n result = err.result;\n } else if (err instanceof SkipAniamtionSignal) {\n result = err.result;\n } else {\n throw err;\n }\n } finally {\n if (callId == state.asyncId) {\n state.asyncId = parentId;\n state.asyncTo = parentId ? prevTo : undefined;\n state.promise = parentId ? prevPromise : undefined;\n }\n }\n\n if (is.fun(onRest)) {\n raf.batchedUpdates(() => {\n onRest(result, target, target.item);\n });\n }\n\n return result;\n })();\n}\nfunction stopAsync(state, cancelId) {\n flush(state.timeouts, t => t.cancel());\n state.pauseQueue.clear();\n state.resumeQueue.clear();\n state.asyncId = state.asyncTo = state.promise = undefined;\n if (cancelId) state.cancelId = cancelId;\n}\nclass BailSignal extends Error {\n constructor() {\n super('An async animation has been interrupted. You see this error because you ' + 'forgot to use `await` or `.catch(...)` on its returned promise.');\n this.result = void 0;\n }\n\n}\nclass SkipAniamtionSignal extends Error {\n constructor() {\n super('SkipAnimationSignal');\n this.result = void 0;\n }\n\n}\n\nconst isFrameValue = value => value instanceof FrameValue;\nlet nextId$1 = 1;\nclass FrameValue extends FluidValue {\n constructor(...args) {\n super(...args);\n this.id = nextId$1++;\n this.key = void 0;\n this._priority = 0;\n }\n\n get priority() {\n return this._priority;\n }\n\n set priority(priority) {\n if (this._priority != priority) {\n this._priority = priority;\n\n this._onPriorityChange(priority);\n }\n }\n\n get() {\n const node = getAnimated(this);\n return node && node.getValue();\n }\n\n to(...args) {\n return Globals.to(this, args);\n }\n\n interpolate(...args) {\n deprecateInterpolate();\n return Globals.to(this, args);\n }\n\n toJSON() {\n return this.get();\n }\n\n observerAdded(count) {\n if (count == 1) this._attach();\n }\n\n observerRemoved(count) {\n if (count == 0) this._detach();\n }\n\n _attach() {}\n\n _detach() {}\n\n _onChange(value, idle = false) {\n callFluidObservers(this, {\n type: 'change',\n parent: this,\n value,\n idle\n });\n }\n\n _onPriorityChange(priority) {\n if (!this.idle) {\n frameLoop.sort(this);\n }\n\n callFluidObservers(this, {\n type: 'priority',\n parent: this,\n priority\n });\n }\n\n}\n\nconst $P = Symbol.for('SpringPhase');\nconst HAS_ANIMATED = 1;\nconst IS_ANIMATING = 2;\nconst IS_PAUSED = 4;\nconst hasAnimated = target => (target[$P] & HAS_ANIMATED) > 0;\nconst isAnimating = target => (target[$P] & IS_ANIMATING) > 0;\nconst isPaused = target => (target[$P] & IS_PAUSED) > 0;\nconst setActiveBit = (target, active) => active ? target[$P] |= IS_ANIMATING | HAS_ANIMATED : target[$P] &= ~IS_ANIMATING;\nconst setPausedBit = (target, paused) => paused ? target[$P] |= IS_PAUSED : target[$P] &= ~IS_PAUSED;\n\nclass SpringValue extends FrameValue {\n constructor(arg1, arg2) {\n super();\n this.key = void 0;\n this.animation = new Animation();\n this.queue = void 0;\n this.defaultProps = {};\n this._state = {\n paused: false,\n delayed: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._pendingCalls = new Set();\n this._lastCallId = 0;\n this._lastToId = 0;\n this._memoizedDuration = 0;\n\n if (!is.und(arg1) || !is.und(arg2)) {\n const props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n from: arg1\n });\n\n if (is.und(props.default)) {\n props.default = true;\n }\n\n this.start(props);\n }\n }\n\n get idle() {\n return !(isAnimating(this) || this._state.asyncTo) || isPaused(this);\n }\n\n get goal() {\n return getFluidValue(this.animation.to);\n }\n\n get velocity() {\n const node = getAnimated(this);\n return node instanceof AnimatedValue ? node.lastVelocity || 0 : node.getPayload().map(node => node.lastVelocity || 0);\n }\n\n get hasAnimated() {\n return hasAnimated(this);\n }\n\n get isAnimating() {\n return isAnimating(this);\n }\n\n get isPaused() {\n return isPaused(this);\n }\n\n get isDelayed() {\n return this._state.delayed;\n }\n\n advance(dt) {\n let idle = true;\n let changed = false;\n const anim = this.animation;\n let {\n config,\n toValues\n } = anim;\n const payload = getPayload(anim.to);\n\n if (!payload && hasFluidValue(anim.to)) {\n toValues = toArray(getFluidValue(anim.to));\n }\n\n anim.values.forEach((node, i) => {\n if (node.done) return;\n const to = node.constructor == AnimatedString ? 1 : payload ? payload[i].lastPosition : toValues[i];\n let finished = anim.immediate;\n let position = to;\n\n if (!finished) {\n position = node.lastPosition;\n\n if (config.tension <= 0) {\n node.done = true;\n return;\n }\n\n let elapsed = node.elapsedTime += dt;\n const from = anim.fromValues[i];\n const v0 = node.v0 != null ? node.v0 : node.v0 = is.arr(config.velocity) ? config.velocity[i] : config.velocity;\n let velocity;\n\n if (!is.und(config.duration)) {\n let p = 1;\n\n if (config.duration > 0) {\n if (this._memoizedDuration !== config.duration) {\n this._memoizedDuration = config.duration;\n\n if (node.durationProgress > 0) {\n node.elapsedTime = config.duration * node.durationProgress;\n elapsed = node.elapsedTime += dt;\n }\n }\n\n p = (config.progress || 0) + elapsed / this._memoizedDuration;\n p = p > 1 ? 1 : p < 0 ? 0 : p;\n node.durationProgress = p;\n }\n\n position = from + config.easing(p) * (to - from);\n velocity = (position - node.lastPosition) / dt;\n finished = p == 1;\n } else if (config.decay) {\n const decay = config.decay === true ? 0.998 : config.decay;\n const e = Math.exp(-(1 - decay) * elapsed);\n position = from + v0 / (1 - decay) * (1 - e);\n finished = Math.abs(node.lastPosition - position) < 0.1;\n velocity = v0 * e;\n } else {\n velocity = node.lastVelocity == null ? v0 : node.lastVelocity;\n const precision = config.precision || (from == to ? 0.005 : Math.min(1, Math.abs(to - from) * 0.001));\n const restVelocity = config.restVelocity || precision / 10;\n const bounceFactor = config.clamp ? 0 : config.bounce;\n const canBounce = !is.und(bounceFactor);\n const isGrowing = from == to ? node.v0 > 0 : from < to;\n let isMoving;\n let isBouncing = false;\n const step = 1;\n const numSteps = Math.ceil(dt / step);\n\n for (let n = 0; n < numSteps; ++n) {\n isMoving = Math.abs(velocity) > restVelocity;\n\n if (!isMoving) {\n finished = Math.abs(to - position) <= precision;\n\n if (finished) {\n break;\n }\n }\n\n if (canBounce) {\n isBouncing = position == to || position > to == isGrowing;\n\n if (isBouncing) {\n velocity = -velocity * bounceFactor;\n position = to;\n }\n }\n\n const springForce = -config.tension * 0.000001 * (position - to);\n const dampingForce = -config.friction * 0.001 * velocity;\n const acceleration = (springForce + dampingForce) / config.mass;\n velocity = velocity + acceleration * step;\n position = position + velocity * step;\n }\n }\n\n node.lastVelocity = velocity;\n\n if (Number.isNaN(position)) {\n console.warn(`Got NaN while animating:`, this);\n finished = true;\n }\n }\n\n if (payload && !payload[i].done) {\n finished = false;\n }\n\n if (finished) {\n node.done = true;\n } else {\n idle = false;\n }\n\n if (node.setValue(position, config.round)) {\n changed = true;\n }\n });\n const node = getAnimated(this);\n const currVal = node.getValue();\n\n if (idle) {\n const finalVal = getFluidValue(anim.to);\n\n if ((currVal !== finalVal || changed) && !config.decay) {\n node.setValue(finalVal);\n\n this._onChange(finalVal);\n } else if (changed && config.decay) {\n this._onChange(currVal);\n }\n\n this._stop();\n } else if (changed) {\n this._onChange(currVal);\n }\n }\n\n set(value) {\n raf.batchedUpdates(() => {\n this._stop();\n\n this._focus(value);\n\n this._set(value);\n });\n return this;\n }\n\n pause() {\n this._update({\n pause: true\n });\n }\n\n resume() {\n this._update({\n pause: false\n });\n }\n\n finish() {\n if (isAnimating(this)) {\n const {\n to,\n config\n } = this.animation;\n raf.batchedUpdates(() => {\n this._onStart();\n\n if (!config.decay) {\n this._set(to, false);\n }\n\n this._stop();\n });\n }\n\n return this;\n }\n\n update(props) {\n const queue = this.queue || (this.queue = []);\n queue.push(props);\n return this;\n }\n\n start(to, arg2) {\n let queue;\n\n if (!is.und(to)) {\n queue = [is.obj(to) ? to : _extends({}, arg2, {\n to\n })];\n } else {\n queue = this.queue || [];\n this.queue = [];\n }\n\n return Promise.all(queue.map(props => {\n const up = this._update(props);\n\n return up;\n })).then(results => getCombinedResult(this, results));\n }\n\n stop(cancel) {\n const {\n to\n } = this.animation;\n\n this._focus(this.get());\n\n stopAsync(this._state, cancel && this._lastCallId);\n raf.batchedUpdates(() => this._stop(to, cancel));\n return this;\n }\n\n reset() {\n this._update({\n reset: true\n });\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._start();\n } else if (event.type == 'priority') {\n this.priority = event.priority + 1;\n }\n }\n\n _prepareNode(props) {\n const key = this.key || '';\n let {\n to,\n from\n } = props;\n to = is.obj(to) ? to[key] : to;\n\n if (to == null || isAsyncTo(to)) {\n to = undefined;\n }\n\n from = is.obj(from) ? from[key] : from;\n\n if (from == null) {\n from = undefined;\n }\n\n const range = {\n to,\n from\n };\n\n if (!hasAnimated(this)) {\n if (props.reverse) [to, from] = [from, to];\n from = getFluidValue(from);\n\n if (!is.und(from)) {\n this._set(from);\n } else if (!getAnimated(this)) {\n this._set(to);\n }\n }\n\n return range;\n }\n\n _update(_ref, isLoop) {\n let props = _extends({}, _ref);\n\n const {\n key,\n defaultProps\n } = this;\n if (props.default) Object.assign(defaultProps, getDefaultProps(props, (value, prop) => /^on/.test(prop) ? resolveProp(value, key) : value));\n mergeActiveFn(this, props, 'onProps');\n sendEvent(this, 'onProps', props, this);\n\n const range = this._prepareNode(props);\n\n if (Object.isFrozen(this)) {\n throw Error('Cannot animate a `SpringValue` object that is frozen. ' + 'Did you forget to pass your component to `animated(...)` before animating its props?');\n }\n\n const state = this._state;\n return scheduleProps(++this._lastCallId, {\n key,\n props,\n defaultProps,\n state,\n actions: {\n pause: () => {\n if (!isPaused(this)) {\n setPausedBit(this, true);\n flushCalls(state.pauseQueue);\n sendEvent(this, 'onPause', getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n resume: () => {\n if (isPaused(this)) {\n setPausedBit(this, false);\n\n if (isAnimating(this)) {\n this._resume();\n }\n\n flushCalls(state.resumeQueue);\n sendEvent(this, 'onResume', getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n start: this._merge.bind(this, range)\n }\n }).then(result => {\n if (props.loop && result.finished && !(isLoop && result.noop)) {\n const nextProps = createLoopUpdate(props);\n\n if (nextProps) {\n return this._update(nextProps, true);\n }\n }\n\n return result;\n });\n }\n\n _merge(range, props, resolve) {\n if (props.cancel) {\n this.stop(true);\n return resolve(getCancelledResult(this));\n }\n\n const hasToProp = !is.und(range.to);\n const hasFromProp = !is.und(range.from);\n\n if (hasToProp || hasFromProp) {\n if (props.callId > this._lastToId) {\n this._lastToId = props.callId;\n } else {\n return resolve(getCancelledResult(this));\n }\n }\n\n const {\n key,\n defaultProps,\n animation: anim\n } = this;\n const {\n to: prevTo,\n from: prevFrom\n } = anim;\n let {\n to = prevTo,\n from = prevFrom\n } = range;\n\n if (hasFromProp && !hasToProp && (!props.default || is.und(to))) {\n to = from;\n }\n\n if (props.reverse) [to, from] = [from, to];\n const hasFromChanged = !isEqual(from, prevFrom);\n\n if (hasFromChanged) {\n anim.from = from;\n }\n\n from = getFluidValue(from);\n const hasToChanged = !isEqual(to, prevTo);\n\n if (hasToChanged) {\n this._focus(to);\n }\n\n const hasAsyncTo = isAsyncTo(props.to);\n const {\n config\n } = anim;\n const {\n decay,\n velocity\n } = config;\n\n if (hasToProp || hasFromProp) {\n config.velocity = 0;\n }\n\n if (props.config && !hasAsyncTo) {\n mergeConfig(config, callProp(props.config, key), props.config !== defaultProps.config ? callProp(defaultProps.config, key) : void 0);\n }\n\n let node = getAnimated(this);\n\n if (!node || is.und(to)) {\n return resolve(getFinishedResult(this, true));\n }\n\n const reset = is.und(props.reset) ? hasFromProp && !props.default : !is.und(from) && matchProp(props.reset, key);\n const value = reset ? from : this.get();\n const goal = computeGoal(to);\n const isAnimatable = is.num(goal) || is.arr(goal) || isAnimatedString(goal);\n const immediate = !hasAsyncTo && (!isAnimatable || matchProp(defaultProps.immediate || props.immediate, key));\n\n if (hasToChanged) {\n const nodeType = getAnimatedType(to);\n\n if (nodeType !== node.constructor) {\n if (immediate) {\n node = this._set(goal);\n } else throw Error(`Cannot animate between ${node.constructor.name} and ${nodeType.name}, as the \"to\" prop suggests`);\n }\n }\n\n const goalType = node.constructor;\n let started = hasFluidValue(to);\n let finished = false;\n\n if (!started) {\n const hasValueChanged = reset || !hasAnimated(this) && hasFromChanged;\n\n if (hasToChanged || hasValueChanged) {\n finished = isEqual(computeGoal(value), goal);\n started = !finished;\n }\n\n if (!isEqual(anim.immediate, immediate) && !immediate || !isEqual(config.decay, decay) || !isEqual(config.velocity, velocity)) {\n started = true;\n }\n }\n\n if (finished && isAnimating(this)) {\n if (anim.changed && !reset) {\n started = true;\n } else if (!started) {\n this._stop(prevTo);\n }\n }\n\n if (!hasAsyncTo) {\n if (started || hasFluidValue(prevTo)) {\n anim.values = node.getPayload();\n anim.toValues = hasFluidValue(to) ? null : goalType == AnimatedString ? [1] : toArray(goal);\n }\n\n if (anim.immediate != immediate) {\n anim.immediate = immediate;\n\n if (!immediate && !reset) {\n this._set(prevTo);\n }\n }\n\n if (started) {\n const {\n onRest\n } = anim;\n each(ACTIVE_EVENTS, type => mergeActiveFn(this, props, type));\n const result = getFinishedResult(this, checkFinished(this, prevTo));\n flushCalls(this._pendingCalls, result);\n\n this._pendingCalls.add(resolve);\n\n if (anim.changed) raf.batchedUpdates(() => {\n anim.changed = !reset;\n onRest == null ? void 0 : onRest(result, this);\n\n if (reset) {\n callProp(defaultProps.onRest, result);\n } else {\n anim.onStart == null ? void 0 : anim.onStart(result, this);\n }\n });\n }\n }\n\n if (reset) {\n this._set(value);\n }\n\n if (hasAsyncTo) {\n resolve(runAsync(props.to, props, this._state, this));\n } else if (started) {\n this._start();\n } else if (isAnimating(this) && !hasToChanged) {\n this._pendingCalls.add(resolve);\n } else {\n resolve(getNoopResult(value));\n }\n }\n\n _focus(value) {\n const anim = this.animation;\n\n if (value !== anim.to) {\n if (getFluidObservers(this)) {\n this._detach();\n }\n\n anim.to = value;\n\n if (getFluidObservers(this)) {\n this._attach();\n }\n }\n }\n\n _attach() {\n let priority = 0;\n const {\n to\n } = this.animation;\n\n if (hasFluidValue(to)) {\n addFluidObserver(to, this);\n\n if (isFrameValue(to)) {\n priority = to.priority + 1;\n }\n }\n\n this.priority = priority;\n }\n\n _detach() {\n const {\n to\n } = this.animation;\n\n if (hasFluidValue(to)) {\n removeFluidObserver(to, this);\n }\n }\n\n _set(arg, idle = true) {\n const value = getFluidValue(arg);\n\n if (!is.und(value)) {\n const oldNode = getAnimated(this);\n\n if (!oldNode || !isEqual(value, oldNode.getValue())) {\n const nodeType = getAnimatedType(value);\n\n if (!oldNode || oldNode.constructor != nodeType) {\n setAnimated(this, nodeType.create(value));\n } else {\n oldNode.setValue(value);\n }\n\n if (oldNode) {\n raf.batchedUpdates(() => {\n this._onChange(value, idle);\n });\n }\n }\n }\n\n return getAnimated(this);\n }\n\n _onStart() {\n const anim = this.animation;\n\n if (!anim.changed) {\n anim.changed = true;\n sendEvent(this, 'onStart', getFinishedResult(this, checkFinished(this, anim.to)), this);\n }\n }\n\n _onChange(value, idle) {\n if (!idle) {\n this._onStart();\n\n callProp(this.animation.onChange, value, this);\n }\n\n callProp(this.defaultProps.onChange, value, this);\n\n super._onChange(value, idle);\n }\n\n _start() {\n const anim = this.animation;\n getAnimated(this).reset(getFluidValue(anim.to));\n\n if (!anim.immediate) {\n anim.fromValues = anim.values.map(node => node.lastPosition);\n }\n\n if (!isAnimating(this)) {\n setActiveBit(this, true);\n\n if (!isPaused(this)) {\n this._resume();\n }\n }\n }\n\n _resume() {\n if (Globals.skipAnimation) {\n this.finish();\n } else {\n frameLoop.start(this);\n }\n }\n\n _stop(goal, cancel) {\n if (isAnimating(this)) {\n setActiveBit(this, false);\n const anim = this.animation;\n each(anim.values, node => {\n node.done = true;\n });\n\n if (anim.toValues) {\n anim.onChange = anim.onPause = anim.onResume = undefined;\n }\n\n callFluidObservers(this, {\n type: 'idle',\n parent: this\n });\n const result = cancel ? getCancelledResult(this.get()) : getFinishedResult(this.get(), checkFinished(this, goal != null ? goal : anim.to));\n flushCalls(this._pendingCalls, result);\n\n if (anim.changed) {\n anim.changed = false;\n sendEvent(this, 'onRest', result, this);\n }\n }\n }\n\n}\n\nfunction checkFinished(target, to) {\n const goal = computeGoal(to);\n const value = computeGoal(target.get());\n return isEqual(value, goal);\n}\n\nfunction createLoopUpdate(props, loop = props.loop, to = props.to) {\n let loopRet = callProp(loop);\n\n if (loopRet) {\n const overrides = loopRet !== true && inferTo(loopRet);\n const reverse = (overrides || props).reverse;\n const reset = !overrides || overrides.reset;\n return createUpdate(_extends({}, props, {\n loop,\n default: false,\n pause: undefined,\n to: !reverse || isAsyncTo(to) ? to : undefined,\n from: reset ? props.from : undefined,\n reset\n }, overrides));\n }\n}\nfunction createUpdate(props) {\n const {\n to,\n from\n } = props = inferTo(props);\n const keys = new Set();\n if (is.obj(to)) findDefined(to, keys);\n if (is.obj(from)) findDefined(from, keys);\n props.keys = keys.size ? Array.from(keys) : null;\n return props;\n}\nfunction declareUpdate(props) {\n const update = createUpdate(props);\n\n if (is.und(update.default)) {\n update.default = getDefaultProps(update);\n }\n\n return update;\n}\n\nfunction findDefined(values, keys) {\n eachProp(values, (value, key) => value != null && keys.add(key));\n}\n\nconst ACTIVE_EVENTS = ['onStart', 'onRest', 'onChange', 'onPause', 'onResume'];\n\nfunction mergeActiveFn(target, props, type) {\n target.animation[type] = props[type] !== getDefaultProp(props, type) ? resolveProp(props[type], target.key) : undefined;\n}\n\nfunction sendEvent(target, type, ...args) {\n var _target$animation$typ, _target$animation, _target$defaultProps$, _target$defaultProps;\n\n (_target$animation$typ = (_target$animation = target.animation)[type]) == null ? void 0 : _target$animation$typ.call(_target$animation, ...args);\n (_target$defaultProps$ = (_target$defaultProps = target.defaultProps)[type]) == null ? void 0 : _target$defaultProps$.call(_target$defaultProps, ...args);\n}\n\nconst BATCHED_EVENTS = ['onStart', 'onChange', 'onRest'];\nlet nextId = 1;\nclass Controller {\n constructor(props, flush) {\n this.id = nextId++;\n this.springs = {};\n this.queue = [];\n this.ref = void 0;\n this._flush = void 0;\n this._initialProps = void 0;\n this._lastAsyncId = 0;\n this._active = new Set();\n this._changed = new Set();\n this._started = false;\n this._item = void 0;\n this._state = {\n paused: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._events = {\n onStart: new Map(),\n onChange: new Map(),\n onRest: new Map()\n };\n this._onFrame = this._onFrame.bind(this);\n\n if (flush) {\n this._flush = flush;\n }\n\n if (props) {\n this.start(_extends({\n default: true\n }, props));\n }\n }\n\n get idle() {\n return !this._state.asyncTo && Object.values(this.springs).every(spring => {\n return spring.idle && !spring.isDelayed && !spring.isPaused;\n });\n }\n\n get item() {\n return this._item;\n }\n\n set item(item) {\n this._item = item;\n }\n\n get() {\n const values = {};\n this.each((spring, key) => values[key] = spring.get());\n return values;\n }\n\n set(values) {\n for (const key in values) {\n const value = values[key];\n\n if (!is.und(value)) {\n this.springs[key].set(value);\n }\n }\n }\n\n update(props) {\n if (props) {\n this.queue.push(createUpdate(props));\n }\n\n return this;\n }\n\n start(props) {\n let {\n queue\n } = this;\n\n if (props) {\n queue = toArray(props).map(createUpdate);\n } else {\n this.queue = [];\n }\n\n if (this._flush) {\n return this._flush(this, queue);\n }\n\n prepareKeys(this, queue);\n return flushUpdateQueue(this, queue);\n }\n\n stop(arg, keys) {\n if (arg !== !!arg) {\n keys = arg;\n }\n\n if (keys) {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].stop(!!arg));\n } else {\n stopAsync(this._state, this._lastAsyncId);\n this.each(spring => spring.stop(!!arg));\n }\n\n return this;\n }\n\n pause(keys) {\n if (is.und(keys)) {\n this.start({\n pause: true\n });\n } else {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].pause());\n }\n\n return this;\n }\n\n resume(keys) {\n if (is.und(keys)) {\n this.start({\n pause: false\n });\n } else {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].resume());\n }\n\n return this;\n }\n\n each(iterator) {\n eachProp(this.springs, iterator);\n }\n\n _onFrame() {\n const {\n onStart,\n onChange,\n onRest\n } = this._events;\n const active = this._active.size > 0;\n const changed = this._changed.size > 0;\n\n if (active && !this._started || changed && !this._started) {\n this._started = true;\n flush(onStart, ([onStart, result]) => {\n result.value = this.get();\n onStart(result, this, this._item);\n });\n }\n\n const idle = !active && this._started;\n const values = changed || idle && onRest.size ? this.get() : null;\n\n if (changed && onChange.size) {\n flush(onChange, ([onChange, result]) => {\n result.value = values;\n onChange(result, this, this._item);\n });\n }\n\n if (idle) {\n this._started = false;\n flush(onRest, ([onRest, result]) => {\n result.value = values;\n onRest(result, this, this._item);\n });\n }\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._changed.add(event.parent);\n\n if (!event.idle) {\n this._active.add(event.parent);\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent);\n } else return;\n\n raf.onFrame(this._onFrame);\n }\n\n}\nfunction flushUpdateQueue(ctrl, queue) {\n return Promise.all(queue.map(props => flushUpdate(ctrl, props))).then(results => getCombinedResult(ctrl, results));\n}\nasync function flushUpdate(ctrl, props, isLoop) {\n const {\n keys,\n to,\n from,\n loop,\n onRest,\n onResolve\n } = props;\n const defaults = is.obj(props.default) && props.default;\n\n if (loop) {\n props.loop = false;\n }\n\n if (to === false) props.to = null;\n if (from === false) props.from = null;\n const asyncTo = is.arr(to) || is.fun(to) ? to : undefined;\n\n if (asyncTo) {\n props.to = undefined;\n props.onRest = undefined;\n\n if (defaults) {\n defaults.onRest = undefined;\n }\n } else {\n each(BATCHED_EVENTS, key => {\n const handler = props[key];\n\n if (is.fun(handler)) {\n const queue = ctrl['_events'][key];\n\n props[key] = ({\n finished,\n cancelled\n }) => {\n const result = queue.get(handler);\n\n if (result) {\n if (!finished) result.finished = false;\n if (cancelled) result.cancelled = true;\n } else {\n queue.set(handler, {\n value: null,\n finished: finished || false,\n cancelled: cancelled || false\n });\n }\n };\n\n if (defaults) {\n defaults[key] = props[key];\n }\n }\n });\n }\n\n const state = ctrl['_state'];\n\n if (props.pause === !state.paused) {\n state.paused = props.pause;\n flushCalls(props.pause ? state.pauseQueue : state.resumeQueue);\n } else if (state.paused) {\n props.pause = true;\n }\n\n const promises = (keys || Object.keys(ctrl.springs)).map(key => ctrl.springs[key].start(props));\n const cancel = props.cancel === true || getDefaultProp(props, 'cancel') === true;\n\n if (asyncTo || cancel && state.asyncId) {\n promises.push(scheduleProps(++ctrl['_lastAsyncId'], {\n props,\n state,\n actions: {\n pause: noop,\n resume: noop,\n\n start(props, resolve) {\n if (cancel) {\n stopAsync(state, ctrl['_lastAsyncId']);\n resolve(getCancelledResult(ctrl));\n } else {\n props.onRest = onRest;\n resolve(runAsync(asyncTo, props, state, ctrl));\n }\n }\n\n }\n }));\n }\n\n if (state.paused) {\n await new Promise(resume => {\n state.resumeQueue.add(resume);\n });\n }\n\n const result = getCombinedResult(ctrl, await Promise.all(promises));\n\n if (loop && result.finished && !(isLoop && result.noop)) {\n const nextProps = createLoopUpdate(props, loop, to);\n\n if (nextProps) {\n prepareKeys(ctrl, [nextProps]);\n return flushUpdate(ctrl, nextProps, true);\n }\n }\n\n if (onResolve) {\n raf.batchedUpdates(() => onResolve(result, ctrl, ctrl.item));\n }\n\n return result;\n}\nfunction getSprings(ctrl, props) {\n const springs = _extends({}, ctrl.springs);\n\n if (props) {\n each(toArray(props), props => {\n if (is.und(props.keys)) {\n props = createUpdate(props);\n }\n\n if (!is.obj(props.to)) {\n props = _extends({}, props, {\n to: undefined\n });\n }\n\n prepareSprings(springs, props, key => {\n return createSpring(key);\n });\n });\n }\n\n setSprings(ctrl, springs);\n return springs;\n}\nfunction setSprings(ctrl, springs) {\n eachProp(springs, (spring, key) => {\n if (!ctrl.springs[key]) {\n ctrl.springs[key] = spring;\n addFluidObserver(spring, ctrl);\n }\n });\n}\n\nfunction createSpring(key, observer) {\n const spring = new SpringValue();\n spring.key = key;\n\n if (observer) {\n addFluidObserver(spring, observer);\n }\n\n return spring;\n}\n\nfunction prepareSprings(springs, props, create) {\n if (props.keys) {\n each(props.keys, key => {\n const spring = springs[key] || (springs[key] = create(key));\n spring['_prepareNode'](props);\n });\n }\n}\n\nfunction prepareKeys(ctrl, queue) {\n each(queue, props => {\n prepareSprings(ctrl.springs, props, key => {\n return createSpring(key, ctrl);\n });\n });\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nconst _excluded$3 = [\"children\"];\nconst SpringContext = _ref => {\n let {\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3);\n\n const inherited = useContext(ctx);\n const pause = props.pause || !!inherited.pause,\n immediate = props.immediate || !!inherited.immediate;\n props = useMemoOne(() => ({\n pause,\n immediate\n }), [pause, immediate]);\n const {\n Provider\n } = ctx;\n return React.createElement(Provider, {\n value: props\n }, children);\n};\nconst ctx = makeContext(SpringContext, {});\nSpringContext.Provider = ctx.Provider;\nSpringContext.Consumer = ctx.Consumer;\n\nfunction makeContext(target, init) {\n Object.assign(target, React.createContext(init));\n target.Provider._context = target;\n target.Consumer._context = target;\n return target;\n}\n\nconst SpringRef = () => {\n const current = [];\n\n const SpringRef = function SpringRef(props) {\n deprecateDirectCall();\n const results = [];\n each(current, (ctrl, i) => {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n const update = _getProps(props, ctrl, i);\n\n if (update) {\n results.push(ctrl.start(update));\n }\n }\n });\n return results;\n };\n\n SpringRef.current = current;\n\n SpringRef.add = function (ctrl) {\n if (!current.includes(ctrl)) {\n current.push(ctrl);\n }\n };\n\n SpringRef.delete = function (ctrl) {\n const i = current.indexOf(ctrl);\n if (~i) current.splice(i, 1);\n };\n\n SpringRef.pause = function () {\n each(current, ctrl => ctrl.pause(...arguments));\n return this;\n };\n\n SpringRef.resume = function () {\n each(current, ctrl => ctrl.resume(...arguments));\n return this;\n };\n\n SpringRef.set = function (values) {\n each(current, ctrl => ctrl.set(values));\n };\n\n SpringRef.start = function (props) {\n const results = [];\n each(current, (ctrl, i) => {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n const update = this._getProps(props, ctrl, i);\n\n if (update) {\n results.push(ctrl.start(update));\n }\n }\n });\n return results;\n };\n\n SpringRef.stop = function () {\n each(current, ctrl => ctrl.stop(...arguments));\n return this;\n };\n\n SpringRef.update = function (props) {\n each(current, (ctrl, i) => ctrl.update(this._getProps(props, ctrl, i)));\n return this;\n };\n\n const _getProps = function _getProps(arg, ctrl, index) {\n return is.fun(arg) ? arg(index, ctrl) : arg;\n };\n\n SpringRef._getProps = _getProps;\n return SpringRef;\n};\n\nfunction useSprings(length, props, deps) {\n const propsFn = is.fun(props) && props;\n if (propsFn && !deps) deps = [];\n const ref = useMemo(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []);\n const layoutId = useRef(0);\n const forceUpdate = useForceUpdate();\n const state = useMemo(() => ({\n ctrls: [],\n queue: [],\n\n flush(ctrl, updates) {\n const springs = getSprings(ctrl, updates);\n const canFlushSync = layoutId.current > 0 && !state.queue.length && !Object.keys(springs).some(key => !ctrl.springs[key]);\n return canFlushSync ? flushUpdateQueue(ctrl, updates) : new Promise(resolve => {\n setSprings(ctrl, springs);\n state.queue.push(() => {\n resolve(flushUpdateQueue(ctrl, updates));\n });\n forceUpdate();\n });\n }\n\n }), []);\n const ctrls = useRef([...state.ctrls]);\n const updates = [];\n const prevLength = usePrev(length) || 0;\n useMemo(() => {\n each(ctrls.current.slice(length, prevLength), ctrl => {\n detachRefs(ctrl, ref);\n ctrl.stop(true);\n });\n ctrls.current.length = length;\n declareUpdates(prevLength, length);\n }, [length]);\n useMemo(() => {\n declareUpdates(0, Math.min(prevLength, length));\n }, deps);\n\n function declareUpdates(startIndex, endIndex) {\n for (let i = startIndex; i < endIndex; i++) {\n const ctrl = ctrls.current[i] || (ctrls.current[i] = new Controller(null, state.flush));\n const update = propsFn ? propsFn(i, ctrl) : props[i];\n\n if (update) {\n updates[i] = declareUpdate(update);\n }\n }\n }\n\n const springs = ctrls.current.map((ctrl, i) => getSprings(ctrl, updates[i]));\n const context = useContext(SpringContext);\n const prevContext = usePrev(context);\n const hasContext = context !== prevContext && hasProps(context);\n useLayoutEffect(() => {\n layoutId.current++;\n state.ctrls = ctrls.current;\n const {\n queue\n } = state;\n\n if (queue.length) {\n state.queue = [];\n each(queue, cb => cb());\n }\n\n each(ctrls.current, (ctrl, i) => {\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext) {\n ctrl.start({\n default: context\n });\n }\n\n const update = updates[i];\n\n if (update) {\n replaceRef(ctrl, update.ref);\n\n if (ctrl.ref) {\n ctrl.queue.push(update);\n } else {\n ctrl.start(update);\n }\n }\n });\n });\n useOnce(() => () => {\n each(state.ctrls, ctrl => ctrl.stop(true));\n });\n const values = springs.map(x => _extends({}, x));\n return ref ? [values, ref] : values;\n}\n\nfunction useSpring(props, deps) {\n const isFn = is.fun(props);\n const [[values], ref] = useSprings(1, isFn ? props : [props], isFn ? deps || [] : deps);\n return isFn || arguments.length == 2 ? [values, ref] : values;\n}\n\nconst initSpringRef = () => SpringRef();\n\nconst useSpringRef = () => useState(initSpringRef)[0];\n\nfunction useTrail(length, propsArg, deps) {\n var _passedRef;\n\n const propsFn = is.fun(propsArg) && propsArg;\n if (propsFn && !deps) deps = [];\n let reverse = true;\n let passedRef = undefined;\n const result = useSprings(length, (i, ctrl) => {\n const props = propsFn ? propsFn(i, ctrl) : propsArg;\n passedRef = props.ref;\n reverse = reverse && props.reverse;\n return props;\n }, deps || [{}]);\n const ref = (_passedRef = passedRef) != null ? _passedRef : result[1];\n useLayoutEffect(() => {\n each(ref.current, (ctrl, i) => {\n const parent = ref.current[i + (reverse ? 1 : -1)];\n\n if (parent) {\n ctrl.start({\n to: parent.springs\n });\n } else {\n ctrl.start();\n }\n });\n }, deps);\n\n if (propsFn || arguments.length == 3) {\n ref['_getProps'] = (propsArg, ctrl, i) => {\n const props = is.fun(propsArg) ? propsArg(i, ctrl) : propsArg;\n\n if (props) {\n const parent = ref.current[i + (props.reverse ? 1 : -1)];\n if (parent) props.to = parent.springs;\n return props;\n }\n };\n\n return result;\n }\n\n ref['start'] = propsArg => {\n const results = [];\n each(ref.current, (ctrl, i) => {\n const props = is.fun(propsArg) ? propsArg(i, ctrl) : propsArg;\n const parent = ref.current[i + (reverse ? 1 : -1)];\n\n if (parent) {\n results.push(ctrl.start(_extends({}, props, {\n to: parent.springs\n })));\n } else {\n results.push(ctrl.start(_extends({}, props)));\n }\n });\n return results;\n };\n\n return result[0];\n}\n\nlet TransitionPhase;\n\n(function (TransitionPhase) {\n TransitionPhase[\"MOUNT\"] = \"mount\";\n TransitionPhase[\"ENTER\"] = \"enter\";\n TransitionPhase[\"UPDATE\"] = \"update\";\n TransitionPhase[\"LEAVE\"] = \"leave\";\n})(TransitionPhase || (TransitionPhase = {}));\n\nfunction useTransition(data, props, deps) {\n const propsFn = is.fun(props) && props;\n const {\n reset,\n sort,\n trail = 0,\n expires = true,\n exitBeforeEnter = false,\n onDestroyed,\n ref: propsRef,\n config: propsConfig\n } = propsFn ? propsFn() : props;\n const ref = useMemo(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []);\n const items = toArray(data);\n const transitions = [];\n const usedTransitions = useRef(null);\n const prevTransitions = reset ? null : usedTransitions.current;\n useLayoutEffect(() => {\n usedTransitions.current = transitions;\n });\n useOnce(() => {\n each(usedTransitions.current, t => {\n var _t$ctrl$ref;\n\n (_t$ctrl$ref = t.ctrl.ref) == null ? void 0 : _t$ctrl$ref.add(t.ctrl);\n const change = changes.get(t);\n\n if (change) {\n t.ctrl.start(change.payload);\n }\n });\n return () => {\n each(usedTransitions.current, t => {\n if (t.expired) {\n clearTimeout(t.expirationId);\n }\n\n detachRefs(t.ctrl, ref);\n t.ctrl.stop(true);\n });\n };\n });\n const keys = getKeys(items, propsFn ? propsFn() : props, prevTransitions);\n const expired = reset && usedTransitions.current || [];\n useLayoutEffect(() => each(expired, ({\n ctrl,\n item,\n key\n }) => {\n detachRefs(ctrl, ref);\n callProp(onDestroyed, item, key);\n }));\n const reused = [];\n if (prevTransitions) each(prevTransitions, (t, i) => {\n if (t.expired) {\n clearTimeout(t.expirationId);\n expired.push(t);\n } else {\n i = reused[i] = keys.indexOf(t.key);\n if (~i) transitions[i] = t;\n }\n });\n each(items, (item, i) => {\n if (!transitions[i]) {\n transitions[i] = {\n key: keys[i],\n item,\n phase: TransitionPhase.MOUNT,\n ctrl: new Controller()\n };\n transitions[i].ctrl.item = item;\n }\n });\n\n if (reused.length) {\n let i = -1;\n const {\n leave\n } = propsFn ? propsFn() : props;\n each(reused, (keyIndex, prevIndex) => {\n const t = prevTransitions[prevIndex];\n\n if (~keyIndex) {\n i = transitions.indexOf(t);\n transitions[i] = _extends({}, t, {\n item: items[keyIndex]\n });\n } else if (leave) {\n transitions.splice(++i, 0, t);\n }\n });\n }\n\n if (is.fun(sort)) {\n transitions.sort((a, b) => sort(a.item, b.item));\n }\n\n let delay = -trail;\n const forceUpdate = useForceUpdate();\n const defaultProps = getDefaultProps(props);\n const changes = new Map();\n const exitingTransitions = useRef(new Map());\n const forceChange = useRef(false);\n each(transitions, (t, i) => {\n const key = t.key;\n const prevPhase = t.phase;\n const p = propsFn ? propsFn() : props;\n let to;\n let phase;\n let propsDelay = callProp(p.delay || 0, key);\n\n if (prevPhase == TransitionPhase.MOUNT) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else {\n const isLeave = keys.indexOf(key) < 0;\n\n if (prevPhase != TransitionPhase.LEAVE) {\n if (isLeave) {\n to = p.leave;\n phase = TransitionPhase.LEAVE;\n } else if (to = p.update) {\n phase = TransitionPhase.UPDATE;\n } else return;\n } else if (!isLeave) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else return;\n }\n\n to = callProp(to, t.item, i);\n to = is.obj(to) ? inferTo(to) : {\n to\n };\n\n if (!to.config) {\n const config = propsConfig || defaultProps.config;\n to.config = callProp(config, t.item, i, phase);\n }\n\n delay += trail;\n\n const payload = _extends({}, defaultProps, {\n delay: propsDelay + delay,\n ref: propsRef,\n immediate: p.immediate,\n reset: false\n }, to);\n\n if (phase == TransitionPhase.ENTER && is.und(payload.from)) {\n const _p = propsFn ? propsFn() : props;\n\n const from = is.und(_p.initial) || prevTransitions ? _p.from : _p.initial;\n payload.from = callProp(from, t.item, i);\n }\n\n const {\n onResolve\n } = payload;\n\n payload.onResolve = result => {\n callProp(onResolve, result);\n const transitions = usedTransitions.current;\n const t = transitions.find(t => t.key === key);\n if (!t) return;\n\n if (result.cancelled && t.phase != TransitionPhase.UPDATE) {\n return;\n }\n\n if (t.ctrl.idle) {\n const idle = transitions.every(t => t.ctrl.idle);\n\n if (t.phase == TransitionPhase.LEAVE) {\n const expiry = callProp(expires, t.item);\n\n if (expiry !== false) {\n const expiryMs = expiry === true ? 0 : expiry;\n t.expired = true;\n\n if (!idle && expiryMs > 0) {\n if (expiryMs <= 0x7fffffff) t.expirationId = setTimeout(forceUpdate, expiryMs);\n return;\n }\n }\n }\n\n if (idle && transitions.some(t => t.expired)) {\n exitingTransitions.current.delete(t);\n\n if (exitBeforeEnter) {\n forceChange.current = true;\n }\n\n forceUpdate();\n }\n }\n };\n\n const springs = getSprings(t.ctrl, payload);\n\n if (phase === TransitionPhase.LEAVE && exitBeforeEnter) {\n exitingTransitions.current.set(t, {\n phase,\n springs,\n payload\n });\n } else {\n changes.set(t, {\n phase,\n springs,\n payload\n });\n }\n });\n const context = useContext(SpringContext);\n const prevContext = usePrev(context);\n const hasContext = context !== prevContext && hasProps(context);\n useLayoutEffect(() => {\n if (hasContext) {\n each(transitions, t => {\n t.ctrl.start({\n default: context\n });\n });\n }\n }, [context]);\n each(changes, (_, t) => {\n if (exitingTransitions.current.size) {\n const ind = transitions.findIndex(state => state.key === t.key);\n transitions.splice(ind, 1);\n }\n });\n useLayoutEffect(() => {\n each(exitingTransitions.current.size ? exitingTransitions.current : changes, ({\n phase,\n payload\n }, t) => {\n const {\n ctrl\n } = t;\n t.phase = phase;\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext && phase == TransitionPhase.ENTER) {\n ctrl.start({\n default: context\n });\n }\n\n if (payload) {\n replaceRef(ctrl, payload.ref);\n\n if (ctrl.ref && !forceChange.current) {\n ctrl.update(payload);\n } else {\n ctrl.start(payload);\n\n if (forceChange.current) {\n forceChange.current = false;\n }\n }\n }\n });\n }, reset ? void 0 : deps);\n\n const renderTransitions = render => React.createElement(React.Fragment, null, transitions.map((t, i) => {\n const {\n springs\n } = changes.get(t) || t.ctrl;\n const elem = render(_extends({}, springs), t.item, t, i);\n return elem && elem.type ? React.createElement(elem.type, _extends({}, elem.props, {\n key: is.str(t.key) || is.num(t.key) ? t.key : t.ctrl.id,\n ref: elem.ref\n })) : elem;\n }));\n\n return ref ? [renderTransitions, ref] : renderTransitions;\n}\nlet nextKey = 1;\n\nfunction getKeys(items, {\n key,\n keys = key\n}, prevTransitions) {\n if (keys === null) {\n const reused = new Set();\n return items.map(item => {\n const t = prevTransitions && prevTransitions.find(t => t.item === item && t.phase !== TransitionPhase.LEAVE && !reused.has(t));\n\n if (t) {\n reused.add(t);\n return t.key;\n }\n\n return nextKey++;\n });\n }\n\n return is.und(keys) ? items : is.fun(keys) ? items.map(keys) : toArray(keys);\n}\n\nconst _excluded$2 = [\"children\"];\nfunction Spring(_ref) {\n let {\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n return children(useSpring(props));\n}\n\nconst _excluded$1 = [\"items\", \"children\"];\nfunction Trail(_ref) {\n let {\n items,\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n const trails = useTrail(items.length, props);\n return items.map((item, index) => {\n const result = children(item, index);\n return is.fun(result) ? result(trails[index]) : result;\n });\n}\n\nconst _excluded = [\"items\", \"children\"];\nfunction Transition(_ref) {\n let {\n items,\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return useTransition(items, props)(children);\n}\n\nclass Interpolation extends FrameValue {\n constructor(source, args) {\n super();\n this.key = void 0;\n this.idle = true;\n this.calc = void 0;\n this._active = new Set();\n this.source = source;\n this.calc = createInterpolator(...args);\n\n const value = this._get();\n\n const nodeType = getAnimatedType(value);\n setAnimated(this, nodeType.create(value));\n }\n\n advance(_dt) {\n const value = this._get();\n\n const oldValue = this.get();\n\n if (!isEqual(value, oldValue)) {\n getAnimated(this).setValue(value);\n\n this._onChange(value, this.idle);\n }\n\n if (!this.idle && checkIdle(this._active)) {\n becomeIdle(this);\n }\n }\n\n _get() {\n const inputs = is.arr(this.source) ? this.source.map(getFluidValue) : toArray(getFluidValue(this.source));\n return this.calc(...inputs);\n }\n\n _start() {\n if (this.idle && !checkIdle(this._active)) {\n this.idle = false;\n each(getPayload(this), node => {\n node.done = false;\n });\n\n if (Globals.skipAnimation) {\n raf.batchedUpdates(() => this.advance());\n becomeIdle(this);\n } else {\n frameLoop.start(this);\n }\n }\n }\n\n _attach() {\n let priority = 1;\n each(toArray(this.source), source => {\n if (hasFluidValue(source)) {\n addFluidObserver(source, this);\n }\n\n if (isFrameValue(source)) {\n if (!source.idle) {\n this._active.add(source);\n }\n\n priority = Math.max(priority, source.priority + 1);\n }\n });\n this.priority = priority;\n\n this._start();\n }\n\n _detach() {\n each(toArray(this.source), source => {\n if (hasFluidValue(source)) {\n removeFluidObserver(source, this);\n }\n });\n\n this._active.clear();\n\n becomeIdle(this);\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n if (event.idle) {\n this.advance();\n } else {\n this._active.add(event.parent);\n\n this._start();\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent);\n } else if (event.type == 'priority') {\n this.priority = toArray(this.source).reduce((highest, parent) => Math.max(highest, (isFrameValue(parent) ? parent.priority : 0) + 1), 0);\n }\n }\n\n}\n\nfunction isIdle(source) {\n return source.idle !== false;\n}\n\nfunction checkIdle(active) {\n return !active.size || Array.from(active).every(isIdle);\n}\n\nfunction becomeIdle(self) {\n if (!self.idle) {\n self.idle = true;\n each(getPayload(self), node => {\n node.done = true;\n });\n callFluidObservers(self, {\n type: 'idle',\n parent: self\n });\n }\n}\n\nconst to = (source, ...args) => new Interpolation(source, args);\nconst interpolate = (source, ...args) => (deprecateInterpolate(), new Interpolation(source, args));\n\nGlobals.assign({\n createStringInterpolator,\n to: (source, args) => new Interpolation(source, args)\n});\nconst update = frameLoop.advance;\n\nexport { BailSignal, Controller, FrameValue, Interpolation, Spring, SpringContext, SpringRef, SpringValue, Trail, Transition, config, easings, inferTo, interpolate, to, update, useChain, useSpring, useSpringRef, useSprings, useTrail, useTransition };\n","import { addEffect, applyProps } from '@react-three/fiber';\nimport { Globals } from '@react-spring/core';\nexport * from '@react-spring/core';\nimport { createStringInterpolator, colors, raf } from '@react-spring/shared';\nimport { createHost } from '@react-spring/animated';\nimport * as THREE from 'three';\n\nconst primitives = ['primitive'].concat(Object.keys(THREE).filter(key => /^[A-Z]/.test(key)).map(key => key[0].toLowerCase() + key.slice(1)));\n\nGlobals.assign({\n createStringInterpolator,\n colors,\n frameLoop: 'demand'\n});\naddEffect(() => {\n raf.advance();\n});\nconst host = createHost(primitives, {\n applyAnimatedValues: applyProps\n});\nconst animated = host.animated;\n\nexport { animated as a, animated };\n","import React, { FC, useMemo } from 'react';\nimport { useSpring, a } from '@react-spring/three';\nimport { animationConfig } from '../../utils/animation';\nimport { Color, DoubleSide } from 'three';\nimport { NodeRendererProps } from '../../types';\n\nexport const Sphere: FC = ({\n color,\n id,\n size,\n opacity,\n animated\n}) => {\n const { scale, nodeOpacity } = useSpring({\n from: {\n // Note: This prevents incorrect scaling w/ 0\n scale: [0.00001, 0.00001, 0.00001],\n nodeOpacity: 0\n },\n to: {\n scale: [size, size, size],\n nodeOpacity: opacity\n },\n config: {\n ...animationConfig,\n duration: animated ? undefined : 0\n }\n });\n const normalizedColor = useMemo(() => new Color(color), [color]);\n\n return (\n \n \n \n \n );\n};\n\nSphere.defaultProps = {\n opacity: 1,\n active: false,\n selected: false\n};\n","import React, { FC, useMemo } from 'react';\nimport { Color, ColorRepresentation, DoubleSide } from 'three';\nimport { animationConfig } from '../utils/animation';\nimport { useSpring, a } from '@react-spring/three';\nimport { Billboard } from '@react-three/drei';\n\nexport interface RingProps {\n color?: ColorRepresentation;\n animated?: boolean;\n size?: number;\n opacity?: number;\n}\n\nexport const Ring: FC = ({ color, size, opacity, animated }) => {\n const normalizedColor = useMemo(() => new Color(color), [color]);\n\n const { ringSize, ringOpacity } = useSpring({\n from: {\n ringOpacity: 0,\n ringSize: [0.00001, 0.00001, 0.00001]\n },\n to: {\n ringOpacity: opacity,\n ringSize: [size / 2, size / 2, 1]\n },\n config: {\n ...animationConfig,\n duration: animated ? undefined : 0\n }\n });\n\n return (\n \n \n \n \n \n \n );\n};\n\nRing.defaultProps = {\n color: '#D8E6EA',\n size: 1,\n opacity: 0.5\n};\n","/*!\n * camera-controls\n * https://github.com/yomotsu/camera-controls\n * (c) 2017 @yomotsu\n * Released under the MIT License.\n */\n// see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#value\nconst MOUSE_BUTTON = {\n LEFT: 1,\n RIGHT: 2,\n MIDDLE: 4,\n};\nconst ACTION = Object.freeze({\n NONE: 0,\n ROTATE: 1,\n TRUCK: 2,\n OFFSET: 4,\n DOLLY: 8,\n ZOOM: 16,\n TOUCH_ROTATE: 32,\n TOUCH_TRUCK: 64,\n TOUCH_OFFSET: 128,\n TOUCH_DOLLY: 256,\n TOUCH_ZOOM: 512,\n TOUCH_DOLLY_TRUCK: 1024,\n TOUCH_DOLLY_OFFSET: 2048,\n TOUCH_DOLLY_ROTATE: 4096,\n TOUCH_ZOOM_TRUCK: 8192,\n TOUCH_ZOOM_OFFSET: 16384,\n TOUCH_ZOOM_ROTATE: 32768,\n});\nfunction isPerspectiveCamera(camera) {\n return camera.isPerspectiveCamera;\n}\nfunction isOrthographicCamera(camera) {\n return camera.isOrthographicCamera;\n}\n\nconst PI_2 = Math.PI * 2;\nconst PI_HALF = Math.PI / 2;\n\nconst EPSILON = 1e-5;\nconst DEG2RAD = Math.PI / 180;\nfunction clamp(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction approxZero(number, error = EPSILON) {\n return Math.abs(number) < error;\n}\nfunction approxEquals(a, b, error = EPSILON) {\n return approxZero(a - b, error);\n}\nfunction roundToStep(value, step) {\n return Math.round(value / step) * step;\n}\nfunction infinityToMaxNumber(value) {\n if (isFinite(value))\n return value;\n if (value < 0)\n return -Number.MAX_VALUE;\n return Number.MAX_VALUE;\n}\nfunction maxNumberToInfinity(value) {\n if (Math.abs(value) < Number.MAX_VALUE)\n return value;\n return value * Infinity;\n}\n// https://docs.unity3d.com/ScriptReference/Mathf.SmoothDamp.html\n// https://github.com/Unity-Technologies/UnityCsReference/blob/a2bdfe9b3c4cd4476f44bf52f848063bfaf7b6b9/Runtime/Export/Math/Mathf.cs#L308\nfunction smoothDamp(current, target, currentVelocityRef, smoothTime, maxSpeed = Infinity, deltaTime) {\n // Based on Game Programming Gems 4 Chapter 1.10\n smoothTime = Math.max(0.0001, smoothTime);\n const omega = 2 / smoothTime;\n const x = omega * deltaTime;\n const exp = 1 / (1 + x + 0.48 * x * x + 0.235 * x * x * x);\n let change = current - target;\n const originalTo = target;\n // Clamp maximum speed\n const maxChange = maxSpeed * smoothTime;\n change = clamp(change, -maxChange, maxChange);\n target = current - change;\n const temp = (currentVelocityRef.value + omega * change) * deltaTime;\n currentVelocityRef.value = (currentVelocityRef.value - omega * temp) * exp;\n let output = target + (change + temp) * exp;\n // Prevent overshooting\n if (originalTo - current > 0.0 === output > originalTo) {\n output = originalTo;\n currentVelocityRef.value = (output - originalTo) / deltaTime;\n }\n return output;\n}\n// https://docs.unity3d.com/ScriptReference/Vector3.SmoothDamp.html\n// https://github.com/Unity-Technologies/UnityCsReference/blob/a2bdfe9b3c4cd4476f44bf52f848063bfaf7b6b9/Runtime/Export/Math/Vector3.cs#L97\nfunction smoothDampVec3(current, target, currentVelocityRef, smoothTime, maxSpeed = Infinity, deltaTime, out) {\n // Based on Game Programming Gems 4 Chapter 1.10\n smoothTime = Math.max(0.0001, smoothTime);\n const omega = 2 / smoothTime;\n const x = omega * deltaTime;\n const exp = 1 / (1 + x + 0.48 * x * x + 0.235 * x * x * x);\n let targetX = target.x;\n let targetY = target.y;\n let targetZ = target.z;\n let changeX = current.x - targetX;\n let changeY = current.y - targetY;\n let changeZ = current.z - targetZ;\n const originalToX = targetX;\n const originalToY = targetY;\n const originalToZ = targetZ;\n // Clamp maximum speed\n const maxChange = maxSpeed * smoothTime;\n const maxChangeSq = maxChange * maxChange;\n const magnitudeSq = changeX * changeX + changeY * changeY + changeZ * changeZ;\n if (magnitudeSq > maxChangeSq) {\n const magnitude = Math.sqrt(magnitudeSq);\n changeX = changeX / magnitude * maxChange;\n changeY = changeY / magnitude * maxChange;\n changeZ = changeZ / magnitude * maxChange;\n }\n targetX = current.x - changeX;\n targetY = current.y - changeY;\n targetZ = current.z - changeZ;\n const tempX = (currentVelocityRef.x + omega * changeX) * deltaTime;\n const tempY = (currentVelocityRef.y + omega * changeY) * deltaTime;\n const tempZ = (currentVelocityRef.z + omega * changeZ) * deltaTime;\n currentVelocityRef.x = (currentVelocityRef.x - omega * tempX) * exp;\n currentVelocityRef.y = (currentVelocityRef.y - omega * tempY) * exp;\n currentVelocityRef.z = (currentVelocityRef.z - omega * tempZ) * exp;\n out.x = targetX + (changeX + tempX) * exp;\n out.y = targetY + (changeY + tempY) * exp;\n out.z = targetZ + (changeZ + tempZ) * exp;\n // Prevent overshooting\n const origMinusCurrentX = originalToX - current.x;\n const origMinusCurrentY = originalToY - current.y;\n const origMinusCurrentZ = originalToZ - current.z;\n const outMinusOrigX = out.x - originalToX;\n const outMinusOrigY = out.y - originalToY;\n const outMinusOrigZ = out.z - originalToZ;\n if (origMinusCurrentX * outMinusOrigX + origMinusCurrentY * outMinusOrigY + origMinusCurrentZ * outMinusOrigZ > 0) {\n out.x = originalToX;\n out.y = originalToY;\n out.z = originalToZ;\n currentVelocityRef.x = (out.x - originalToX) / deltaTime;\n currentVelocityRef.y = (out.y - originalToY) / deltaTime;\n currentVelocityRef.z = (out.z - originalToZ) / deltaTime;\n }\n return out;\n}\n\nfunction extractClientCoordFromEvent(pointers, out) {\n out.set(0, 0);\n pointers.forEach((pointer) => {\n out.x += pointer.clientX;\n out.y += pointer.clientY;\n });\n out.x /= pointers.length;\n out.y /= pointers.length;\n}\n\nfunction notSupportedInOrthographicCamera(camera, message) {\n if (isOrthographicCamera(camera)) {\n console.warn(`${message} is not supported in OrthographicCamera`);\n return true;\n }\n return false;\n}\n\nclass EventDispatcher {\n constructor() {\n this._listeners = {};\n }\n /**\n * Adds the specified event listener.\n * @param type event name\n * @param listener handler function\n * @category Methods\n */\n addEventListener(type, listener) {\n const listeners = this._listeners;\n if (listeners[type] === undefined)\n listeners[type] = [];\n if (listeners[type].indexOf(listener) === -1)\n listeners[type].push(listener);\n }\n /**\n * Presence of the specified event listener.\n * @param type event name\n * @param listener handler function\n * @category Methods\n */\n hasEventListener(type, listener) {\n const listeners = this._listeners;\n return listeners[type] !== undefined && listeners[type].indexOf(listener) !== -1;\n }\n /**\n * Removes the specified event listener\n * @param type event name\n * @param listener handler function\n * @category Methods\n */\n removeEventListener(type, listener) {\n const listeners = this._listeners;\n const listenerArray = listeners[type];\n if (listenerArray !== undefined) {\n const index = listenerArray.indexOf(listener);\n if (index !== -1)\n listenerArray.splice(index, 1);\n }\n }\n /**\n * Removes all event listeners\n * @param type event name\n * @category Methods\n */\n removeAllEventListeners(type) {\n if (!type) {\n this._listeners = {};\n return;\n }\n if (Array.isArray(this._listeners[type]))\n this._listeners[type].length = 0;\n }\n /**\n * Fire an event type.\n * @param event DispatcherEvent\n * @category Methods\n */\n dispatchEvent(event) {\n const listeners = this._listeners;\n const listenerArray = listeners[event.type];\n if (listenerArray !== undefined) {\n event.target = this;\n const array = listenerArray.slice(0);\n for (let i = 0, l = array.length; i < l; i++) {\n array[i].call(this, event);\n }\n }\n }\n}\n\nconst VERSION = '2.3.4'; // will be replaced with `version` in package.json during the build process.\nconst TOUCH_DOLLY_FACTOR = 1 / 8;\nconst isBrowser = typeof window !== 'undefined';\nconst isMac = isBrowser && /Mac/.test(navigator.platform);\nconst isPointerEventsNotSupported = !(isBrowser && 'PointerEvent' in window); // macOS Safari 12 does not support PointerEvents API\nlet THREE;\nlet _ORIGIN;\nlet _AXIS_Y;\nlet _AXIS_Z;\nlet _v2;\nlet _v3A;\nlet _v3B;\nlet _v3C;\nlet _xColumn;\nlet _yColumn;\nlet _zColumn;\nlet _deltaTarget;\nlet _deltaOffset;\nlet _sphericalA;\nlet _sphericalB;\nlet _box3A;\nlet _box3B;\nlet _sphere;\nlet _quaternionA;\nlet _quaternionB;\nlet _rotationMatrix;\nlet _raycaster;\nclass CameraControls extends EventDispatcher {\n /**\n * Injects THREE as the dependency. You can then proceed to use CameraControls.\n *\n * e.g\n * ```javascript\n * CameraControls.install( { THREE: THREE } );\n * ```\n *\n * Note: If you do not wish to use enter three.js to reduce file size(tree-shaking for example), make a subset to install.\n *\n * ```js\n * import {\n * \tVector2,\n * \tVector3,\n * \tVector4,\n * \tQuaternion,\n * \tMatrix4,\n * \tSpherical,\n * \tBox3,\n * \tSphere,\n * \tRaycaster,\n * \tMathUtils,\n * } from 'three';\n *\n * const subsetOfTHREE = {\n * \tVector2 : Vector2,\n * \tVector3 : Vector3,\n * \tVector4 : Vector4,\n * \tQuaternion: Quaternion,\n * \tMatrix4 : Matrix4,\n * \tSpherical : Spherical,\n * \tBox3 : Box3,\n * \tSphere : Sphere,\n * \tRaycaster : Raycaster,\n * };\n\n * CameraControls.install( { THREE: subsetOfTHREE } );\n * ```\n * @category Statics\n */\n static install(libs) {\n THREE = libs.THREE;\n _ORIGIN = Object.freeze(new THREE.Vector3(0, 0, 0));\n _AXIS_Y = Object.freeze(new THREE.Vector3(0, 1, 0));\n _AXIS_Z = Object.freeze(new THREE.Vector3(0, 0, 1));\n _v2 = new THREE.Vector2();\n _v3A = new THREE.Vector3();\n _v3B = new THREE.Vector3();\n _v3C = new THREE.Vector3();\n _xColumn = new THREE.Vector3();\n _yColumn = new THREE.Vector3();\n _zColumn = new THREE.Vector3();\n _deltaTarget = new THREE.Vector3();\n _deltaOffset = new THREE.Vector3();\n _sphericalA = new THREE.Spherical();\n _sphericalB = new THREE.Spherical();\n _box3A = new THREE.Box3();\n _box3B = new THREE.Box3();\n _sphere = new THREE.Sphere();\n _quaternionA = new THREE.Quaternion();\n _quaternionB = new THREE.Quaternion();\n _rotationMatrix = new THREE.Matrix4();\n _raycaster = new THREE.Raycaster();\n }\n /**\n * list all ACTIONs\n * @category Statics\n */\n static get ACTION() {\n return ACTION;\n }\n /**\n * Creates a `CameraControls` instance.\n *\n * Note:\n * You **must install** three.js before using camera-controls. see [#install](#install)\n * Not doing so will lead to runtime errors (`undefined` references to THREE).\n *\n * e.g.\n * ```\n * CameraControls.install( { THREE } );\n * const cameraControls = new CameraControls( camera, domElement );\n * ```\n *\n * @param camera A `THREE.PerspectiveCamera` or `THREE.OrthographicCamera` to be controlled.\n * @param domElement A `HTMLElement` for the draggable area, usually `renderer.domElement`.\n * @category Constructor\n */\n constructor(camera, domElement) {\n super();\n /**\n * Minimum vertical angle in radians.\n * The angle has to be between `0` and `.maxPolarAngle` inclusive.\n * The default value is `0`.\n *\n * e.g.\n * ```\n * cameraControls.maxPolarAngle = 0;\n * ```\n * @category Properties\n */\n this.minPolarAngle = 0; // radians\n /**\n * Maximum vertical angle in radians.\n * The angle has to be between `.maxPolarAngle` and `Math.PI` inclusive.\n * The default value is `Math.PI`.\n *\n * e.g.\n * ```\n * cameraControls.maxPolarAngle = Math.PI;\n * ```\n * @category Properties\n */\n this.maxPolarAngle = Math.PI; // radians\n /**\n * Minimum horizontal angle in radians.\n * The angle has to be less than `.maxAzimuthAngle`.\n * The default value is `- Infinity`.\n *\n * e.g.\n * ```\n * cameraControls.minAzimuthAngle = - Infinity;\n * ```\n * @category Properties\n */\n this.minAzimuthAngle = -Infinity; // radians\n /**\n * Maximum horizontal angle in radians.\n * The angle has to be greater than `.minAzimuthAngle`.\n * The default value is `Infinity`.\n *\n * e.g.\n * ```\n * cameraControls.maxAzimuthAngle = Infinity;\n * ```\n * @category Properties\n */\n this.maxAzimuthAngle = Infinity; // radians\n // How far you can dolly in and out ( PerspectiveCamera only )\n /**\n * Minimum distance for dolly. The value must be higher than `0`.\n * PerspectiveCamera only.\n * @category Properties\n */\n this.minDistance = 0;\n /**\n * Maximum distance for dolly. The value must be higher than `minDistance`.\n * PerspectiveCamera only.\n * @category Properties\n */\n this.maxDistance = Infinity;\n /**\n * `true` to enable Infinity Dolly.\n * When the Dolly distance is less than the `minDistance`, radius of the sphere will be set `minDistance` automatically.\n * @category Properties\n */\n this.infinityDolly = false;\n /**\n * Minimum camera zoom.\n * @category Properties\n */\n this.minZoom = 0.01;\n /**\n * Maximum camera zoom.\n * @category Properties\n */\n this.maxZoom = Infinity;\n /**\n * Approximate time in seconds to reach the target. A smaller value will reach the target faster.\n * @category Properties\n */\n this.smoothTime = 0.25;\n /**\n * the smoothTime while dragging\n * @category Properties\n */\n this.draggingSmoothTime = 0.125;\n /**\n * Max transition speed in unit-per-seconds\n * @category Properties\n */\n this.maxSpeed = Infinity;\n /**\n * Speed of azimuth (horizontal) rotation.\n * @category Properties\n */\n this.azimuthRotateSpeed = 1.0;\n /**\n * Speed of polar (vertical) rotation.\n * @category Properties\n */\n this.polarRotateSpeed = 1.0;\n /**\n * Speed of mouse-wheel dollying.\n * @category Properties\n */\n this.dollySpeed = 1.0;\n /**\n * `true` to invert direction when dollying or zooming via drag\n * @category Properties\n */\n this.dollyDragInverted = false;\n /**\n * Speed of drag for truck and pedestal.\n * @category Properties\n */\n this.truckSpeed = 2.0;\n /**\n * `true` to enable Dolly-in to the mouse cursor coords.\n * @category Properties\n */\n this.dollyToCursor = false;\n /**\n * @category Properties\n */\n this.dragToOffset = false;\n /**\n * The same as `.screenSpacePanning` in three.js's OrbitControls.\n * @category Properties\n */\n this.verticalDragToForward = false;\n /**\n * Friction ratio of the boundary.\n * @category Properties\n */\n this.boundaryFriction = 0.0;\n /**\n * Controls how soon the `rest` event fires as the camera slows.\n * @category Properties\n */\n this.restThreshold = 0.01;\n /**\n * An array of Meshes to collide with camera.\n * Be aware colliderMeshes may decrease performance. The collision test uses 4 raycasters from the camera since the near plane has 4 corners.\n * @category Properties\n */\n this.colliderMeshes = [];\n /**\n * Force cancel user dragging.\n * @category Methods\n */\n // cancel will be overwritten in the constructor.\n this.cancel = () => { };\n this._enabled = true;\n this._state = ACTION.NONE;\n this._viewport = null;\n this._dollyControlAmount = 0;\n this._hasRested = true;\n this._boundaryEnclosesCamera = false;\n this._needsUpdate = true;\n this._updatedLastTime = false;\n this._elementRect = new DOMRect();\n this._activePointers = [];\n // Use draggingSmoothTime over smoothTime while true.\n // set automatically true on user-dragging start.\n // set automatically false on programmable methods call.\n this._isUserControllingRotate = false;\n this._isUserControllingDolly = false;\n this._isUserControllingTruck = false;\n this._isUserControllingOffset = false;\n this._isUserControllingZoom = false;\n // velocities for smoothDamp\n this._thetaVelocity = { value: 0 };\n this._phiVelocity = { value: 0 };\n this._radiusVelocity = { value: 0 };\n this._targetVelocity = new THREE.Vector3();\n this._focalOffsetVelocity = new THREE.Vector3();\n this._zoomVelocity = { value: 0 };\n this._truckInternal = (deltaX, deltaY, dragToOffset) => {\n if (isPerspectiveCamera(this._camera)) {\n const offset = _v3A.copy(this._camera.position).sub(this._target);\n // half of the fov is center to top of screen\n const fov = this._camera.getEffectiveFOV() * DEG2RAD;\n const targetDistance = offset.length() * Math.tan(fov * 0.5);\n const truckX = (this.truckSpeed * deltaX * targetDistance / this._elementRect.height);\n const pedestalY = (this.truckSpeed * deltaY * targetDistance / this._elementRect.height);\n if (this.verticalDragToForward) {\n dragToOffset ?\n this.setFocalOffset(this._focalOffsetEnd.x + truckX, this._focalOffsetEnd.y, this._focalOffsetEnd.z, true) :\n this.truck(truckX, 0, true);\n this.forward(-pedestalY, true);\n }\n else {\n dragToOffset ?\n this.setFocalOffset(this._focalOffsetEnd.x + truckX, this._focalOffsetEnd.y + pedestalY, this._focalOffsetEnd.z, true) :\n this.truck(truckX, pedestalY, true);\n }\n }\n else if (isOrthographicCamera(this._camera)) {\n // orthographic\n const camera = this._camera;\n const truckX = deltaX * (camera.right - camera.left) / camera.zoom / this._elementRect.width;\n const pedestalY = deltaY * (camera.top - camera.bottom) / camera.zoom / this._elementRect.height;\n dragToOffset ?\n this.setFocalOffset(this._focalOffsetEnd.x + truckX, this._focalOffsetEnd.y + pedestalY, this._focalOffsetEnd.z, true) :\n this.truck(truckX, pedestalY, true);\n }\n };\n this._rotateInternal = (deltaX, deltaY) => {\n const theta = PI_2 * this.azimuthRotateSpeed * deltaX / this._elementRect.height; // divide by *height* to refer the resolution\n const phi = PI_2 * this.polarRotateSpeed * deltaY / this._elementRect.height;\n this.rotate(theta, phi, true);\n };\n this._dollyInternal = (delta, x, y) => {\n const dollyScale = Math.pow(0.95, -delta * this.dollySpeed);\n const distance = this._sphericalEnd.radius * dollyScale;\n const prevRadius = this._sphericalEnd.radius;\n const signedPrevRadius = prevRadius * (delta >= 0 ? -1 : 1);\n this.dollyTo(distance);\n if (this.infinityDolly && (distance < this.minDistance || this.maxDistance === this.minDistance)) {\n this._camera.getWorldDirection(_v3A);\n this._targetEnd.add(_v3A.normalize().multiplyScalar(signedPrevRadius));\n this._target.add(_v3A.normalize().multiplyScalar(signedPrevRadius));\n }\n if (this.dollyToCursor) {\n this._dollyControlAmount += this._sphericalEnd.radius - prevRadius;\n if (this.infinityDolly && (distance < this.minDistance || this.maxDistance === this.minDistance)) {\n this._dollyControlAmount -= signedPrevRadius;\n }\n this._dollyControlCoord.set(x, y);\n }\n };\n this._zoomInternal = (delta, x, y) => {\n const zoomScale = Math.pow(0.95, delta * this.dollySpeed);\n const prevZoom = this._zoomEnd;\n // for both PerspectiveCamera and OrthographicCamera\n this.zoomTo(this._zoom * zoomScale);\n if (this.dollyToCursor) {\n this._dollyControlAmount += this._zoomEnd - prevZoom;\n this._dollyControlCoord.set(x, y);\n }\n };\n // Check if the user has installed THREE\n if (typeof THREE === 'undefined') {\n console.error('camera-controls: `THREE` is undefined. You must first run `CameraControls.install( { THREE: THREE } )`. Check the docs for further information.');\n }\n this._camera = camera;\n this._yAxisUpSpace = new THREE.Quaternion().setFromUnitVectors(this._camera.up, _AXIS_Y);\n this._yAxisUpSpaceInverse = this._yAxisUpSpace.clone().invert();\n this._state = ACTION.NONE;\n // the location\n this._target = new THREE.Vector3();\n this._targetEnd = this._target.clone();\n this._focalOffset = new THREE.Vector3();\n this._focalOffsetEnd = this._focalOffset.clone();\n // rotation\n this._spherical = new THREE.Spherical().setFromVector3(_v3A.copy(this._camera.position).applyQuaternion(this._yAxisUpSpace));\n this._sphericalEnd = this._spherical.clone();\n this._zoom = this._camera.zoom;\n this._zoomEnd = this._zoom;\n // collisionTest uses nearPlane.s\n this._nearPlaneCorners = [\n new THREE.Vector3(),\n new THREE.Vector3(),\n new THREE.Vector3(),\n new THREE.Vector3(),\n ];\n this._updateNearPlaneCorners();\n // Target cannot move outside of this box\n this._boundary = new THREE.Box3(new THREE.Vector3(-Infinity, -Infinity, -Infinity), new THREE.Vector3(Infinity, Infinity, Infinity));\n // reset\n this._cameraUp0 = this._camera.up.clone();\n this._target0 = this._target.clone();\n this._position0 = this._camera.position.clone();\n this._zoom0 = this._zoom;\n this._focalOffset0 = this._focalOffset.clone();\n this._dollyControlAmount = 0;\n this._dollyControlCoord = new THREE.Vector2();\n // configs\n this.mouseButtons = {\n left: ACTION.ROTATE,\n middle: ACTION.DOLLY,\n right: ACTION.TRUCK,\n wheel: isPerspectiveCamera(this._camera) ? ACTION.DOLLY :\n isOrthographicCamera(this._camera) ? ACTION.ZOOM :\n ACTION.NONE,\n };\n this.touches = {\n one: ACTION.TOUCH_ROTATE,\n two: isPerspectiveCamera(this._camera) ? ACTION.TOUCH_DOLLY_TRUCK :\n isOrthographicCamera(this._camera) ? ACTION.TOUCH_ZOOM_TRUCK :\n ACTION.NONE,\n three: ACTION.TOUCH_TRUCK,\n };\n const dragStartPosition = new THREE.Vector2();\n const lastDragPosition = new THREE.Vector2();\n const dollyStart = new THREE.Vector2();\n const onPointerDown = (event) => {\n if (!this._enabled || !this._domElement)\n return;\n // Don't call `event.preventDefault()` on the pointerdown event\n // to keep receiving pointermove evens outside dragging iframe\n // https://taye.me/blog/tips/2015/11/16/mouse-drag-outside-iframe/\n const mouseButton = event.pointerType !== 'mouse' ? null :\n (event.buttons & MOUSE_BUTTON.LEFT) === MOUSE_BUTTON.LEFT ? MOUSE_BUTTON.LEFT :\n (event.buttons & MOUSE_BUTTON.MIDDLE) === MOUSE_BUTTON.MIDDLE ? MOUSE_BUTTON.MIDDLE :\n (event.buttons & MOUSE_BUTTON.RIGHT) === MOUSE_BUTTON.RIGHT ? MOUSE_BUTTON.RIGHT :\n null;\n if (mouseButton !== null) {\n const zombiePointer = this._findPointerByMouseButton(mouseButton);\n zombiePointer && this._activePointers.splice(this._activePointers.indexOf(zombiePointer), 1);\n }\n const pointer = {\n pointerId: event.pointerId,\n clientX: event.clientX,\n clientY: event.clientY,\n deltaX: 0,\n deltaY: 0,\n mouseButton,\n };\n this._activePointers.push(pointer);\n // eslint-disable-next-line no-undef\n this._domElement.ownerDocument.removeEventListener('pointermove', onPointerMove, { passive: false });\n this._domElement.ownerDocument.removeEventListener('pointerup', onPointerUp);\n this._domElement.ownerDocument.addEventListener('pointermove', onPointerMove, { passive: false });\n this._domElement.ownerDocument.addEventListener('pointerup', onPointerUp);\n startDragging(event);\n };\n const onMouseDown = (event) => {\n if (!this._enabled || !this._domElement)\n return;\n const mouseButton = (event.buttons & MOUSE_BUTTON.LEFT) === MOUSE_BUTTON.LEFT ? MOUSE_BUTTON.LEFT :\n (event.buttons & MOUSE_BUTTON.MIDDLE) === MOUSE_BUTTON.MIDDLE ? MOUSE_BUTTON.MIDDLE :\n (event.buttons & MOUSE_BUTTON.RIGHT) === MOUSE_BUTTON.RIGHT ? MOUSE_BUTTON.RIGHT :\n null;\n if (mouseButton !== null) {\n const zombiePointer = this._findPointerByMouseButton(mouseButton);\n zombiePointer && this._activePointers.splice(this._activePointers.indexOf(zombiePointer), 1);\n }\n const pointer = {\n pointerId: 0,\n clientX: event.clientX,\n clientY: event.clientY,\n deltaX: 0,\n deltaY: 0,\n mouseButton: (event.buttons & MOUSE_BUTTON.LEFT) === MOUSE_BUTTON.LEFT ? MOUSE_BUTTON.LEFT :\n (event.buttons & MOUSE_BUTTON.MIDDLE) === MOUSE_BUTTON.LEFT ? MOUSE_BUTTON.MIDDLE :\n (event.buttons & MOUSE_BUTTON.RIGHT) === MOUSE_BUTTON.LEFT ? MOUSE_BUTTON.RIGHT :\n null,\n };\n this._activePointers.push(pointer);\n // see https://github.com/microsoft/TypeScript/issues/32912#issuecomment-522142969\n // eslint-disable-next-line no-undef\n this._domElement.ownerDocument.removeEventListener('mousemove', onMouseMove);\n this._domElement.ownerDocument.removeEventListener('mouseup', onMouseUp);\n this._domElement.ownerDocument.addEventListener('mousemove', onMouseMove);\n this._domElement.ownerDocument.addEventListener('mouseup', onMouseUp);\n startDragging(event);\n };\n const onPointerMove = (event) => {\n if (event.cancelable)\n event.preventDefault();\n const pointerId = event.pointerId;\n const pointer = this._findPointerById(pointerId);\n if (!pointer)\n return;\n pointer.clientX = event.clientX;\n pointer.clientY = event.clientY;\n pointer.deltaX = event.movementX;\n pointer.deltaY = event.movementY;\n if (event.pointerType === 'touch') {\n switch (this._activePointers.length) {\n case 1:\n this._state = this.touches.one;\n break;\n case 2:\n this._state = this.touches.two;\n break;\n case 3:\n this._state = this.touches.three;\n break;\n }\n }\n else {\n this._state = 0;\n if ((event.buttons & MOUSE_BUTTON.LEFT) === MOUSE_BUTTON.LEFT) {\n this._state = this._state | this.mouseButtons.left;\n }\n if ((event.buttons & MOUSE_BUTTON.MIDDLE) === MOUSE_BUTTON.MIDDLE) {\n this._state = this._state | this.mouseButtons.middle;\n }\n if ((event.buttons & MOUSE_BUTTON.RIGHT) === MOUSE_BUTTON.RIGHT) {\n this._state = this._state | this.mouseButtons.right;\n }\n }\n dragging();\n };\n const onMouseMove = (event) => {\n const pointer = this._findPointerById(0);\n if (!pointer)\n return;\n pointer.clientX = event.clientX;\n pointer.clientY = event.clientY;\n pointer.deltaX = event.movementX;\n pointer.deltaY = event.movementY;\n this._state = 0;\n if ((event.buttons & MOUSE_BUTTON.LEFT) === MOUSE_BUTTON.LEFT) {\n this._state = this._state | this.mouseButtons.left;\n }\n if ((event.buttons & MOUSE_BUTTON.MIDDLE) === MOUSE_BUTTON.MIDDLE) {\n this._state = this._state | this.mouseButtons.middle;\n }\n if ((event.buttons & MOUSE_BUTTON.RIGHT) === MOUSE_BUTTON.RIGHT) {\n this._state = this._state | this.mouseButtons.right;\n }\n dragging();\n };\n const onPointerUp = (event) => {\n const pointerId = event.pointerId;\n const pointer = this._findPointerById(pointerId);\n pointer && this._activePointers.splice(this._activePointers.indexOf(pointer), 1);\n if (event.pointerType === 'touch') {\n switch (this._activePointers.length) {\n case 0:\n this._state = ACTION.NONE;\n break;\n case 1:\n this._state = this.touches.one;\n break;\n case 2:\n this._state = this.touches.two;\n break;\n case 3:\n this._state = this.touches.three;\n break;\n }\n }\n else {\n this._state = ACTION.NONE;\n }\n endDragging();\n };\n const onMouseUp = () => {\n const pointer = this._findPointerById(0);\n pointer && this._activePointers.splice(this._activePointers.indexOf(pointer), 1);\n this._state = ACTION.NONE;\n endDragging();\n };\n let lastScrollTimeStamp = -1;\n const onMouseWheel = (event) => {\n if (!this._enabled || this.mouseButtons.wheel === ACTION.NONE)\n return;\n event.preventDefault();\n if (this.dollyToCursor ||\n this.mouseButtons.wheel === ACTION.ROTATE ||\n this.mouseButtons.wheel === ACTION.TRUCK) {\n const now = performance.now();\n // only need to fire this at scroll start.\n if (lastScrollTimeStamp - now < 1000)\n this._getClientRect(this._elementRect);\n lastScrollTimeStamp = now;\n }\n // Ref: https://github.com/cedricpinson/osgjs/blob/00e5a7e9d9206c06fdde0436e1d62ab7cb5ce853/sources/osgViewer/input/source/InputSourceMouse.js#L89-L103\n const deltaYFactor = isMac ? -1 : -3;\n const delta = (event.deltaMode === 1) ? event.deltaY / deltaYFactor : event.deltaY / (deltaYFactor * 10);\n const x = this.dollyToCursor ? (event.clientX - this._elementRect.x) / this._elementRect.width * 2 - 1 : 0;\n const y = this.dollyToCursor ? (event.clientY - this._elementRect.y) / this._elementRect.height * -2 + 1 : 0;\n switch (this.mouseButtons.wheel) {\n case ACTION.ROTATE: {\n this._rotateInternal(event.deltaX, event.deltaY);\n this._isUserControllingRotate = true;\n break;\n }\n case ACTION.TRUCK: {\n this._truckInternal(event.deltaX, event.deltaY, false);\n this._isUserControllingTruck = true;\n break;\n }\n case ACTION.OFFSET: {\n this._truckInternal(event.deltaX, event.deltaY, true);\n this._isUserControllingOffset = true;\n break;\n }\n case ACTION.DOLLY: {\n this._dollyInternal(-delta, x, y);\n this._isUserControllingDolly = true;\n break;\n }\n case ACTION.ZOOM: {\n this._zoomInternal(-delta, x, y);\n this._isUserControllingZoom = true;\n break;\n }\n }\n this.dispatchEvent({ type: 'control' });\n };\n const onContextMenu = (event) => {\n if (!this._domElement || !this._enabled)\n return;\n // contextmenu event is fired right after pointerdown/mousedown.\n // remove attached handlers and active pointer, if interrupted by contextmenu.\n if (this.mouseButtons.right === CameraControls.ACTION.NONE) {\n const pointerId = event instanceof PointerEvent ? event.pointerId :\n event instanceof MouseEvent ? 0 :\n 0;\n const pointer = this._findPointerById(pointerId);\n pointer && this._activePointers.splice(this._activePointers.indexOf(pointer), 1);\n // eslint-disable-next-line no-undef\n this._domElement.ownerDocument.removeEventListener('pointermove', onPointerMove, { passive: false });\n this._domElement.ownerDocument.removeEventListener('pointerup', onPointerUp);\n this._domElement.ownerDocument.removeEventListener('mousemove', onMouseMove);\n this._domElement.ownerDocument.removeEventListener('mouseup', onMouseUp);\n return;\n }\n event.preventDefault();\n };\n const startDragging = (event) => {\n if (!this._enabled)\n return;\n extractClientCoordFromEvent(this._activePointers, _v2);\n this._getClientRect(this._elementRect);\n dragStartPosition.copy(_v2);\n lastDragPosition.copy(_v2);\n const isMultiTouch = this._activePointers.length >= 2;\n if (isMultiTouch) {\n // 2 finger pinch\n const dx = _v2.x - this._activePointers[1].clientX;\n const dy = _v2.y - this._activePointers[1].clientY;\n const distance = Math.sqrt(dx * dx + dy * dy);\n dollyStart.set(0, distance);\n // center coords of 2 finger truck\n const x = (this._activePointers[0].clientX + this._activePointers[1].clientX) * 0.5;\n const y = (this._activePointers[0].clientY + this._activePointers[1].clientY) * 0.5;\n lastDragPosition.set(x, y);\n }\n if ('pointerType' in event && event.pointerType === 'touch') {\n switch (this._activePointers.length) {\n case 1:\n this._state = this.touches.one;\n break;\n case 2:\n this._state = this.touches.two;\n break;\n case 3:\n this._state = this.touches.three;\n break;\n }\n }\n else {\n this._state = 0;\n if ((event.buttons & MOUSE_BUTTON.LEFT) === MOUSE_BUTTON.LEFT) {\n this._state = this._state | this.mouseButtons.left;\n }\n if ((event.buttons & MOUSE_BUTTON.MIDDLE) === MOUSE_BUTTON.MIDDLE) {\n this._state = this._state | this.mouseButtons.middle;\n }\n if ((event.buttons & MOUSE_BUTTON.RIGHT) === MOUSE_BUTTON.RIGHT) {\n this._state = this._state | this.mouseButtons.right;\n }\n }\n // stop current movement on drag start\n if ((this._state & ACTION.ROTATE) === ACTION.ROTATE ||\n (this._state & ACTION.TOUCH_ROTATE) === ACTION.TOUCH_ROTATE ||\n (this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE ||\n (this._state & ACTION.TOUCH_ZOOM_ROTATE) === ACTION.TOUCH_ZOOM_ROTATE) {\n this._sphericalEnd.theta = this._spherical.theta;\n this._sphericalEnd.phi = this._spherical.phi;\n this._thetaVelocity.value = 0;\n this._phiVelocity.value = 0;\n }\n if ((this._state & ACTION.TRUCK) === ACTION.TRUCK ||\n (this._state & ACTION.TOUCH_TRUCK) === ACTION.TOUCH_TRUCK ||\n (this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK ||\n (this._state & ACTION.TOUCH_ZOOM_TRUCK) === ACTION.TOUCH_ZOOM_TRUCK) {\n this._targetEnd.copy(this._target);\n this._targetVelocity.set(0, 0, 0);\n }\n if ((this._state & ACTION.DOLLY) === ACTION.DOLLY ||\n (this._state & ACTION.TOUCH_DOLLY) === ACTION.TOUCH_DOLLY ||\n (this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK ||\n (this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET ||\n (this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE) {\n this._sphericalEnd.radius = this._spherical.radius;\n this._radiusVelocity.value = 0;\n }\n if ((this._state & ACTION.ZOOM) === ACTION.ZOOM ||\n (this._state & ACTION.TOUCH_ZOOM) === ACTION.TOUCH_ZOOM ||\n (this._state & ACTION.TOUCH_ZOOM_TRUCK) === ACTION.TOUCH_ZOOM_TRUCK ||\n (this._state & ACTION.TOUCH_ZOOM_OFFSET) === ACTION.TOUCH_ZOOM_OFFSET ||\n (this._state & ACTION.TOUCH_ZOOM_ROTATE) === ACTION.TOUCH_ZOOM_ROTATE) {\n this._zoomEnd = this._zoom;\n this._zoomVelocity.value = 0;\n }\n if ((this._state & ACTION.OFFSET) === ACTION.OFFSET ||\n (this._state & ACTION.TOUCH_OFFSET) === ACTION.TOUCH_OFFSET ||\n (this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET ||\n (this._state & ACTION.TOUCH_ZOOM_OFFSET) === ACTION.TOUCH_ZOOM_OFFSET) {\n this._focalOffsetEnd.copy(this._focalOffset);\n this._focalOffsetVelocity.set(0, 0, 0);\n }\n this.dispatchEvent({ type: 'controlstart' });\n };\n const dragging = () => {\n if (!this._enabled)\n return;\n extractClientCoordFromEvent(this._activePointers, _v2);\n // When pointer lock is enabled clientX, clientY, screenX, and screenY remain 0.\n // If pointer lock is enabled, use the Delta directory, and assume active-pointer is not multiple.\n const isPointerLockActive = this._domElement && document.pointerLockElement === this._domElement;\n const deltaX = isPointerLockActive ? -this._activePointers[0].deltaX : lastDragPosition.x - _v2.x;\n const deltaY = isPointerLockActive ? -this._activePointers[0].deltaY : lastDragPosition.y - _v2.y;\n lastDragPosition.copy(_v2);\n if ((this._state & ACTION.ROTATE) === ACTION.ROTATE ||\n (this._state & ACTION.TOUCH_ROTATE) === ACTION.TOUCH_ROTATE ||\n (this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE ||\n (this._state & ACTION.TOUCH_ZOOM_ROTATE) === ACTION.TOUCH_ZOOM_ROTATE) {\n this._rotateInternal(deltaX, deltaY);\n this._isUserControllingRotate = true;\n }\n if ((this._state & ACTION.DOLLY) === ACTION.DOLLY ||\n (this._state & ACTION.ZOOM) === ACTION.ZOOM) {\n const dollyX = this.dollyToCursor ? (dragStartPosition.x - this._elementRect.x) / this._elementRect.width * 2 - 1 : 0;\n const dollyY = this.dollyToCursor ? (dragStartPosition.y - this._elementRect.y) / this._elementRect.height * -2 + 1 : 0;\n const dollyDirection = this.dollyDragInverted ? -1 : 1;\n if ((this._state & ACTION.DOLLY) === ACTION.DOLLY) {\n this._dollyInternal(dollyDirection * deltaY * TOUCH_DOLLY_FACTOR, dollyX, dollyY);\n this._isUserControllingDolly = true;\n }\n else {\n this._zoomInternal(dollyDirection * deltaY * TOUCH_DOLLY_FACTOR, dollyX, dollyY);\n this._isUserControllingZoom = true;\n }\n }\n if ((this._state & ACTION.TOUCH_DOLLY) === ACTION.TOUCH_DOLLY ||\n (this._state & ACTION.TOUCH_ZOOM) === ACTION.TOUCH_ZOOM ||\n (this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK ||\n (this._state & ACTION.TOUCH_ZOOM_TRUCK) === ACTION.TOUCH_ZOOM_TRUCK ||\n (this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET ||\n (this._state & ACTION.TOUCH_ZOOM_OFFSET) === ACTION.TOUCH_ZOOM_OFFSET ||\n (this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE ||\n (this._state & ACTION.TOUCH_ZOOM_ROTATE) === ACTION.TOUCH_ZOOM_ROTATE) {\n const dx = _v2.x - this._activePointers[1].clientX;\n const dy = _v2.y - this._activePointers[1].clientY;\n const distance = Math.sqrt(dx * dx + dy * dy);\n const dollyDelta = dollyStart.y - distance;\n dollyStart.set(0, distance);\n const dollyX = this.dollyToCursor ? (lastDragPosition.x - this._elementRect.x) / this._elementRect.width * 2 - 1 : 0;\n const dollyY = this.dollyToCursor ? (lastDragPosition.y - this._elementRect.y) / this._elementRect.height * -2 + 1 : 0;\n if ((this._state & ACTION.TOUCH_DOLLY) === ACTION.TOUCH_DOLLY ||\n (this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE ||\n (this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK ||\n (this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET) {\n this._dollyInternal(dollyDelta * TOUCH_DOLLY_FACTOR, dollyX, dollyY);\n this._isUserControllingDolly = true;\n }\n else {\n this._zoomInternal(dollyDelta * TOUCH_DOLLY_FACTOR, dollyX, dollyY);\n this._isUserControllingZoom = true;\n }\n }\n if ((this._state & ACTION.TRUCK) === ACTION.TRUCK ||\n (this._state & ACTION.TOUCH_TRUCK) === ACTION.TOUCH_TRUCK ||\n (this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK ||\n (this._state & ACTION.TOUCH_ZOOM_TRUCK) === ACTION.TOUCH_ZOOM_TRUCK) {\n this._truckInternal(deltaX, deltaY, false);\n this._isUserControllingTruck = true;\n }\n if ((this._state & ACTION.OFFSET) === ACTION.OFFSET ||\n (this._state & ACTION.TOUCH_OFFSET) === ACTION.TOUCH_OFFSET ||\n (this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET ||\n (this._state & ACTION.TOUCH_ZOOM_OFFSET) === ACTION.TOUCH_ZOOM_OFFSET) {\n this._truckInternal(deltaX, deltaY, true);\n this._isUserControllingOffset = true;\n }\n this.dispatchEvent({ type: 'control' });\n };\n const endDragging = () => {\n extractClientCoordFromEvent(this._activePointers, _v2);\n lastDragPosition.copy(_v2);\n if (this._activePointers.length === 0 && this._domElement) {\n // eslint-disable-next-line no-undef\n this._domElement.ownerDocument.removeEventListener('pointermove', onPointerMove, { passive: false });\n this._domElement.ownerDocument.removeEventListener('mousemove', onMouseMove);\n this._domElement.ownerDocument.removeEventListener('pointerup', onPointerUp);\n this._domElement.ownerDocument.removeEventListener('mouseup', onMouseUp);\n this.dispatchEvent({ type: 'controlend' });\n }\n };\n this._addAllEventListeners = (domElement) => {\n this._domElement = domElement;\n this._domElement.style.touchAction = 'none';\n this._domElement.style.userSelect = 'none';\n this._domElement.style.webkitUserSelect = 'none';\n this._domElement.addEventListener('pointerdown', onPointerDown);\n isPointerEventsNotSupported && this._domElement.addEventListener('mousedown', onMouseDown);\n this._domElement.addEventListener('pointercancel', onPointerUp);\n this._domElement.addEventListener('wheel', onMouseWheel, { passive: false });\n this._domElement.addEventListener('contextmenu', onContextMenu);\n };\n this._removeAllEventListeners = () => {\n if (!this._domElement)\n return;\n this._domElement.style.touchAction = '';\n this._domElement.style.userSelect = '';\n this._domElement.style.webkitUserSelect = '';\n this._domElement.removeEventListener('pointerdown', onPointerDown);\n this._domElement.removeEventListener('mousedown', onMouseDown);\n this._domElement.removeEventListener('pointercancel', onPointerUp);\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener#matching_event_listeners_for_removal\n // > it's probably wise to use the same values used for the call to `addEventListener()` when calling `removeEventListener()`\n // see https://github.com/microsoft/TypeScript/issues/32912#issuecomment-522142969\n // eslint-disable-next-line no-undef\n this._domElement.removeEventListener('wheel', onMouseWheel, { passive: false });\n this._domElement.removeEventListener('contextmenu', onContextMenu);\n // eslint-disable-next-line no-undef\n this._domElement.ownerDocument.removeEventListener('pointermove', onPointerMove, { passive: false });\n this._domElement.ownerDocument.removeEventListener('mousemove', onMouseMove);\n this._domElement.ownerDocument.removeEventListener('pointerup', onPointerUp);\n this._domElement.ownerDocument.removeEventListener('mouseup', onMouseUp);\n };\n this.cancel = () => {\n if (this._state === ACTION.NONE)\n return;\n this._state = ACTION.NONE;\n this._activePointers.length = 0;\n endDragging();\n };\n if (domElement)\n this.connect(domElement);\n this.update(0);\n }\n /**\n * The camera to be controlled\n * @category Properties\n */\n get camera() {\n return this._camera;\n }\n set camera(camera) {\n this._camera = camera;\n this.updateCameraUp();\n this._camera.updateProjectionMatrix();\n this._updateNearPlaneCorners();\n this._needsUpdate = true;\n }\n /**\n * Whether or not the controls are enabled.\n * `false` to disable user dragging/touch-move, but all methods works.\n * @category Properties\n */\n get enabled() {\n return this._enabled;\n }\n set enabled(enabled) {\n this._enabled = enabled;\n if (!this._domElement)\n return;\n if (enabled) {\n this._domElement.style.touchAction = 'none';\n this._domElement.style.userSelect = 'none';\n this._domElement.style.webkitUserSelect = 'none';\n }\n else {\n this.cancel();\n this._domElement.style.touchAction = '';\n this._domElement.style.userSelect = '';\n this._domElement.style.webkitUserSelect = '';\n }\n }\n /**\n * Returns `true` if the controls are active updating.\n * readonly value.\n * @category Properties\n */\n get active() {\n return !this._hasRested;\n }\n /**\n * Getter for the current `ACTION`.\n * readonly value.\n * @category Properties\n */\n get currentAction() {\n return this._state;\n }\n /**\n * get/set Current distance.\n * @category Properties\n */\n get distance() {\n return this._spherical.radius;\n }\n set distance(distance) {\n if (this._spherical.radius === distance &&\n this._sphericalEnd.radius === distance)\n return;\n this._spherical.radius = distance;\n this._sphericalEnd.radius = distance;\n this._needsUpdate = true;\n }\n // horizontal angle\n /**\n * get/set the azimuth angle (horizontal) in radians.\n * Every 360 degrees turn is added to `.azimuthAngle` value, which is accumulative.\n * @category Properties\n */\n get azimuthAngle() {\n return this._spherical.theta;\n }\n set azimuthAngle(azimuthAngle) {\n if (this._spherical.theta === azimuthAngle &&\n this._sphericalEnd.theta === azimuthAngle)\n return;\n this._spherical.theta = azimuthAngle;\n this._sphericalEnd.theta = azimuthAngle;\n this._needsUpdate = true;\n }\n // vertical angle\n /**\n * get/set the polar angle (vertical) in radians.\n * @category Properties\n */\n get polarAngle() {\n return this._spherical.phi;\n }\n set polarAngle(polarAngle) {\n if (this._spherical.phi === polarAngle &&\n this._sphericalEnd.phi === polarAngle)\n return;\n this._spherical.phi = polarAngle;\n this._sphericalEnd.phi = polarAngle;\n this._needsUpdate = true;\n }\n /**\n * Whether camera position should be enclosed in the boundary or not.\n * @category Properties\n */\n get boundaryEnclosesCamera() {\n return this._boundaryEnclosesCamera;\n }\n set boundaryEnclosesCamera(boundaryEnclosesCamera) {\n this._boundaryEnclosesCamera = boundaryEnclosesCamera;\n this._needsUpdate = true;\n }\n /**\n * Adds the specified event listener.\n * Applicable event types (which is `K`) are:\n * | Event name | Timing |\n * | ------------------- | ------ |\n * | `'controlstart'` | When the user starts to control the camera via mouse / touches. ¹ |\n * | `'control'` | When the user controls the camera (dragging). |\n * | `'controlend'` | When the user ends to control the camera. ¹ |\n * | `'transitionstart'` | When any kind of transition starts, either user control or using a method with `enableTransition = true` |\n * | `'update'` | When the camera position is updated. |\n * | `'wake'` | When the camera starts moving. |\n * | `'rest'` | When the camera movement is below `.restThreshold` ². |\n * | `'sleep'` | When the camera end moving. |\n *\n * 1. `mouseButtons.wheel` (Mouse wheel control) does not emit `'controlstart'` and `'controlend'`. `mouseButtons.wheel` uses scroll-event internally, and scroll-event happens intermittently. That means \"start\" and \"end\" cannot be detected.\n * 2. Due to damping, `sleep` will usually fire a few seconds after the camera _appears_ to have stopped moving. If you want to do something (e.g. enable UI, perform another transition) at the point when the camera has stopped, you probably want the `rest` event. This can be fine tuned using the `.restThreshold` parameter. See the [Rest and Sleep Example](https://yomotsu.github.io/camera-controls/examples/rest-and-sleep.html).\n *\n * e.g.\n * ```\n * cameraControl.addEventListener( 'controlstart', myCallbackFunction );\n * ```\n * @param type event name\n * @param listener handler function\n * @category Methods\n */\n addEventListener(type, listener) {\n super.addEventListener(type, listener);\n }\n /**\n * Removes the specified event listener\n * e.g.\n * ```\n * cameraControl.addEventListener( 'controlstart', myCallbackFunction );\n * ```\n * @param type event name\n * @param listener handler function\n * @category Methods\n */\n removeEventListener(type, listener) {\n super.removeEventListener(type, listener);\n }\n /**\n * Rotate azimuthal angle(horizontal) and polar angle(vertical).\n * Every value is added to the current value.\n * @param azimuthAngle Azimuth rotate angle. In radian.\n * @param polarAngle Polar rotate angle. In radian.\n * @param enableTransition Whether to move smoothly or immediately\n * @category Methods\n */\n rotate(azimuthAngle, polarAngle, enableTransition = false) {\n return this.rotateTo(this._sphericalEnd.theta + azimuthAngle, this._sphericalEnd.phi + polarAngle, enableTransition);\n }\n /**\n * Rotate azimuthal angle(horizontal) to the given angle and keep the same polar angle(vertical) target.\n *\n * e.g.\n * ```\n * cameraControls.rotateAzimuthTo( 30 * THREE.MathUtils.DEG2RAD, true );\n * ```\n * @param azimuthAngle Azimuth rotate angle. In radian.\n * @param enableTransition Whether to move smoothly or immediately\n * @category Methods\n */\n rotateAzimuthTo(azimuthAngle, enableTransition = false) {\n return this.rotateTo(azimuthAngle, this._sphericalEnd.phi, enableTransition);\n }\n /**\n * Rotate polar angle(vertical) to the given angle and keep the same azimuthal angle(horizontal) target.\n *\n * e.g.\n * ```\n * cameraControls.rotatePolarTo( 30 * THREE.MathUtils.DEG2RAD, true );\n * ```\n * @param polarAngle Polar rotate angle. In radian.\n * @param enableTransition Whether to move smoothly or immediately\n * @category Methods\n */\n rotatePolarTo(polarAngle, enableTransition = false) {\n return this.rotateTo(this._sphericalEnd.theta, polarAngle, enableTransition);\n }\n /**\n * Rotate azimuthal angle(horizontal) and polar angle(vertical) to the given angle.\n * Camera view will rotate over the orbit pivot absolutely:\n *\n * azimuthAngle\n * ```\n * 0º\n * \\\n * 90º -----+----- -90º\n * \\\n * 180º\n * ```\n * | direction | angle |\n * | --------- | ---------------------- |\n * | front | 0º |\n * | left | 90º (`Math.PI / 2`) |\n * | right | -90º (`- Math.PI / 2`) |\n * | back | 180º (`Math.PI`) |\n *\n * polarAngle\n * ```\n * 180º\n * |\n * 90º\n * |\n * 0º\n * ```\n * | direction | angle |\n * | -------------------- | ---------------------- |\n * | top/sky | 180º (`Math.PI`) |\n * | horizontal from view | 90º (`Math.PI / 2`) |\n * | bottom/floor | 0º |\n *\n * @param azimuthAngle Azimuth rotate angle to. In radian.\n * @param polarAngle Polar rotate angle to. In radian.\n * @param enableTransition Whether to move smoothly or immediately\n * @category Methods\n */\n rotateTo(azimuthAngle, polarAngle, enableTransition = false) {\n this._isUserControllingRotate = false;\n const theta = clamp(azimuthAngle, this.minAzimuthAngle, this.maxAzimuthAngle);\n const phi = clamp(polarAngle, this.minPolarAngle, this.maxPolarAngle);\n this._sphericalEnd.theta = theta;\n this._sphericalEnd.phi = phi;\n this._sphericalEnd.makeSafe();\n this._needsUpdate = true;\n if (!enableTransition) {\n this._spherical.theta = this._sphericalEnd.theta;\n this._spherical.phi = this._sphericalEnd.phi;\n }\n const resolveImmediately = !enableTransition ||\n approxEquals(this._spherical.theta, this._sphericalEnd.theta, this.restThreshold) &&\n approxEquals(this._spherical.phi, this._sphericalEnd.phi, this.restThreshold);\n return this._createOnRestPromise(resolveImmediately);\n }\n /**\n * Dolly in/out camera position.\n * @param distance Distance of dollyIn. Negative number for dollyOut.\n * @param enableTransition Whether to move smoothly or immediately.\n * @category Methods\n */\n dolly(distance, enableTransition = false) {\n return this.dollyTo(this._sphericalEnd.radius - distance, enableTransition);\n }\n /**\n * Dolly in/out camera position to given distance.\n * @param distance Distance of dolly.\n * @param enableTransition Whether to move smoothly or immediately.\n * @category Methods\n */\n dollyTo(distance, enableTransition = false) {\n this._isUserControllingDolly = false;\n const lastRadius = this._sphericalEnd.radius;\n const newRadius = clamp(distance, this.minDistance, this.maxDistance);\n const hasCollider = this.colliderMeshes.length >= 1;\n if (hasCollider) {\n const maxDistanceByCollisionTest = this._collisionTest();\n const isCollided = approxEquals(maxDistanceByCollisionTest, this._spherical.radius);\n const isDollyIn = lastRadius > newRadius;\n if (!isDollyIn && isCollided)\n return Promise.resolve();\n this._sphericalEnd.radius = Math.min(newRadius, maxDistanceByCollisionTest);\n }\n else {\n this._sphericalEnd.radius = newRadius;\n }\n this._needsUpdate = true;\n if (!enableTransition) {\n this._spherical.radius = this._sphericalEnd.radius;\n }\n const resolveImmediately = !enableTransition || approxEquals(this._spherical.radius, this._sphericalEnd.radius, this.restThreshold);\n return this._createOnRestPromise(resolveImmediately);\n }\n /**\n * Zoom in/out camera. The value is added to camera zoom.\n * Limits set with `.minZoom` and `.maxZoom`\n * @param zoomStep zoom scale\n * @param enableTransition Whether to move smoothly or immediately\n * @category Methods\n */\n zoom(zoomStep, enableTransition = false) {\n return this.zoomTo(this._zoomEnd + zoomStep, enableTransition);\n }\n /**\n * Zoom in/out camera to given scale. The value overwrites camera zoom.\n * Limits set with .minZoom and .maxZoom\n * @param zoom\n * @param enableTransition\n * @category Methods\n */\n zoomTo(zoom, enableTransition = false) {\n this._isUserControllingZoom = false;\n this._zoomEnd = clamp(zoom, this.minZoom, this.maxZoom);\n this._needsUpdate = true;\n if (!enableTransition) {\n this._zoom = this._zoomEnd;\n }\n const resolveImmediately = !enableTransition || approxEquals(this._zoom, this._zoomEnd, this.restThreshold);\n return this._createOnRestPromise(resolveImmediately);\n }\n /**\n * @deprecated `pan()` has been renamed to `truck()`\n * @category Methods\n */\n pan(x, y, enableTransition = false) {\n console.warn('`pan` has been renamed to `truck`');\n return this.truck(x, y, enableTransition);\n }\n /**\n * Truck and pedestal camera using current azimuthal angle\n * @param x Horizontal translate amount\n * @param y Vertical translate amount\n * @param enableTransition Whether to move smoothly or immediately\n * @category Methods\n */\n truck(x, y, enableTransition = false) {\n this._camera.updateMatrix();\n _xColumn.setFromMatrixColumn(this._camera.matrix, 0);\n _yColumn.setFromMatrixColumn(this._camera.matrix, 1);\n _xColumn.multiplyScalar(x);\n _yColumn.multiplyScalar(-y);\n const offset = _v3A.copy(_xColumn).add(_yColumn);\n const to = _v3B.copy(this._targetEnd).add(offset);\n return this.moveTo(to.x, to.y, to.z, enableTransition);\n }\n /**\n * Move forward / backward.\n * @param distance Amount to move forward / backward. Negative value to move backward\n * @param enableTransition Whether to move smoothly or immediately\n * @category Methods\n */\n forward(distance, enableTransition = false) {\n _v3A.setFromMatrixColumn(this._camera.matrix, 0);\n _v3A.crossVectors(this._camera.up, _v3A);\n _v3A.multiplyScalar(distance);\n const to = _v3B.copy(this._targetEnd).add(_v3A);\n return this.moveTo(to.x, to.y, to.z, enableTransition);\n }\n /**\n * Move up / down.\n * @param height Amount to move up / down. Negative value to move down\n * @param enableTransition Whether to move smoothly or immediately\n * @category Methods\n */\n elevate(height, enableTransition = false) {\n _v3A.copy(this._camera.up).multiplyScalar(height);\n return this.moveTo(this._targetEnd.x + _v3A.x, this._targetEnd.y + _v3A.y, this._targetEnd.z + _v3A.z, enableTransition);\n }\n /**\n * Move target position to given point.\n * @param x x coord to move center position\n * @param y y coord to move center position\n * @param z z coord to move center position\n * @param enableTransition Whether to move smoothly or immediately\n * @category Methods\n */\n moveTo(x, y, z, enableTransition = false) {\n this._isUserControllingTruck = false;\n const offset = _v3A.set(x, y, z).sub(this._targetEnd);\n this._encloseToBoundary(this._targetEnd, offset, this.boundaryFriction);\n this._needsUpdate = true;\n if (!enableTransition) {\n this._target.copy(this._targetEnd);\n }\n const resolveImmediately = !enableTransition ||\n approxEquals(this._target.x, this._targetEnd.x, this.restThreshold) &&\n approxEquals(this._target.y, this._targetEnd.y, this.restThreshold) &&\n approxEquals(this._target.z, this._targetEnd.z, this.restThreshold);\n return this._createOnRestPromise(resolveImmediately);\n }\n /**\n * Look in the given point direction.\n * @param x point x.\n * @param y point y.\n * @param z point z.\n * @param enableTransition Whether to move smoothly or immediately.\n * @returns Transition end promise\n * @category Methods\n */\n lookInDirectionOf(x, y, z, enableTransition = false) {\n const point = _v3A.set(x, y, z);\n const direction = point.sub(this._targetEnd).normalize();\n const position = direction.multiplyScalar(-this._sphericalEnd.radius);\n return this.setPosition(position.x, position.y, position.z, enableTransition);\n }\n /**\n * Fit the viewport to the box or the bounding box of the object, using the nearest axis. paddings are in unit.\n * set `cover: true` to fill enter screen.\n * e.g.\n * ```\n * cameraControls.fitToBox( myMesh );\n * ```\n * @param box3OrObject Axis aligned bounding box to fit the view.\n * @param enableTransition Whether to move smoothly or immediately.\n * @param options | `` { cover: boolean, paddingTop: number, paddingLeft: number, paddingBottom: number, paddingRight: number }\n * @returns Transition end promise\n * @category Methods\n */\n fitToBox(box3OrObject, enableTransition, { cover = false, paddingLeft = 0, paddingRight = 0, paddingBottom = 0, paddingTop = 0 } = {}) {\n const promises = [];\n const aabb = box3OrObject.isBox3\n ? _box3A.copy(box3OrObject)\n : _box3A.setFromObject(box3OrObject);\n if (aabb.isEmpty()) {\n console.warn('camera-controls: fitTo() cannot be used with an empty box. Aborting');\n Promise.resolve();\n }\n // round to closest axis ( forward | backward | right | left | top | bottom )\n const theta = roundToStep(this._sphericalEnd.theta, PI_HALF);\n const phi = roundToStep(this._sphericalEnd.phi, PI_HALF);\n promises.push(this.rotateTo(theta, phi, enableTransition));\n const normal = _v3A.setFromSpherical(this._sphericalEnd).normalize();\n const rotation = _quaternionA.setFromUnitVectors(normal, _AXIS_Z);\n const viewFromPolar = approxEquals(Math.abs(normal.y), 1);\n if (viewFromPolar) {\n rotation.multiply(_quaternionB.setFromAxisAngle(_AXIS_Y, theta));\n }\n rotation.multiply(this._yAxisUpSpaceInverse);\n // make oriented bounding box\n const bb = _box3B.makeEmpty();\n // left bottom back corner\n _v3B.copy(aabb.min).applyQuaternion(rotation);\n bb.expandByPoint(_v3B);\n // right bottom back corner\n _v3B.copy(aabb.min).setX(aabb.max.x).applyQuaternion(rotation);\n bb.expandByPoint(_v3B);\n // left top back corner\n _v3B.copy(aabb.min).setY(aabb.max.y).applyQuaternion(rotation);\n bb.expandByPoint(_v3B);\n // right top back corner\n _v3B.copy(aabb.max).setZ(aabb.min.z).applyQuaternion(rotation);\n bb.expandByPoint(_v3B);\n // left bottom front corner\n _v3B.copy(aabb.min).setZ(aabb.max.z).applyQuaternion(rotation);\n bb.expandByPoint(_v3B);\n // right bottom front corner\n _v3B.copy(aabb.max).setY(aabb.min.y).applyQuaternion(rotation);\n bb.expandByPoint(_v3B);\n // left top front corner\n _v3B.copy(aabb.max).setX(aabb.min.x).applyQuaternion(rotation);\n bb.expandByPoint(_v3B);\n // right top front corner\n _v3B.copy(aabb.max).applyQuaternion(rotation);\n bb.expandByPoint(_v3B);\n // add padding\n bb.min.x -= paddingLeft;\n bb.min.y -= paddingBottom;\n bb.max.x += paddingRight;\n bb.max.y += paddingTop;\n rotation.setFromUnitVectors(_AXIS_Z, normal);\n if (viewFromPolar) {\n rotation.premultiply(_quaternionB.invert());\n }\n rotation.premultiply(this._yAxisUpSpace);\n const bbSize = bb.getSize(_v3A);\n const center = bb.getCenter(_v3B).applyQuaternion(rotation);\n if (isPerspectiveCamera(this._camera)) {\n const distance = this.getDistanceToFitBox(bbSize.x, bbSize.y, bbSize.z, cover);\n promises.push(this.moveTo(center.x, center.y, center.z, enableTransition));\n promises.push(this.dollyTo(distance, enableTransition));\n promises.push(this.setFocalOffset(0, 0, 0, enableTransition));\n }\n else if (isOrthographicCamera(this._camera)) {\n const camera = this._camera;\n const width = camera.right - camera.left;\n const height = camera.top - camera.bottom;\n const zoom = cover ? Math.max(width / bbSize.x, height / bbSize.y) : Math.min(width / bbSize.x, height / bbSize.y);\n promises.push(this.moveTo(center.x, center.y, center.z, enableTransition));\n promises.push(this.zoomTo(zoom, enableTransition));\n promises.push(this.setFocalOffset(0, 0, 0, enableTransition));\n }\n return Promise.all(promises);\n }\n /**\n * Fit the viewport to the sphere or the bounding sphere of the object.\n * @param sphereOrMesh\n * @param enableTransition\n * @category Methods\n */\n fitToSphere(sphereOrMesh, enableTransition) {\n const promises = [];\n const isSphere = sphereOrMesh instanceof THREE.Sphere;\n const boundingSphere = isSphere ?\n _sphere.copy(sphereOrMesh) :\n CameraControls.createBoundingSphere(sphereOrMesh, _sphere);\n promises.push(this.moveTo(boundingSphere.center.x, boundingSphere.center.y, boundingSphere.center.z, enableTransition));\n if (isPerspectiveCamera(this._camera)) {\n const distanceToFit = this.getDistanceToFitSphere(boundingSphere.radius);\n promises.push(this.dollyTo(distanceToFit, enableTransition));\n }\n else if (isOrthographicCamera(this._camera)) {\n const width = this._camera.right - this._camera.left;\n const height = this._camera.top - this._camera.bottom;\n const diameter = 2 * boundingSphere.radius;\n const zoom = Math.min(width / diameter, height / diameter);\n promises.push(this.zoomTo(zoom, enableTransition));\n }\n promises.push(this.setFocalOffset(0, 0, 0, enableTransition));\n return Promise.all(promises);\n }\n /**\n * Look at the `target` from the `position`.\n * @param positionX\n * @param positionY\n * @param positionZ\n * @param targetX\n * @param targetY\n * @param targetZ\n * @param enableTransition\n * @category Methods\n */\n setLookAt(positionX, positionY, positionZ, targetX, targetY, targetZ, enableTransition = false) {\n this._isUserControllingRotate = false;\n this._isUserControllingDolly = false;\n this._isUserControllingTruck = false;\n const target = _v3B.set(targetX, targetY, targetZ);\n const position = _v3A.set(positionX, positionY, positionZ);\n this._targetEnd.copy(target);\n this._sphericalEnd.setFromVector3(position.sub(target).applyQuaternion(this._yAxisUpSpace));\n this.normalizeRotations();\n this._needsUpdate = true;\n if (!enableTransition) {\n this._target.copy(this._targetEnd);\n this._spherical.copy(this._sphericalEnd);\n }\n const resolveImmediately = !enableTransition ||\n approxEquals(this._target.x, this._targetEnd.x, this.restThreshold) &&\n approxEquals(this._target.y, this._targetEnd.y, this.restThreshold) &&\n approxEquals(this._target.z, this._targetEnd.z, this.restThreshold) &&\n approxEquals(this._spherical.theta, this._sphericalEnd.theta, this.restThreshold) &&\n approxEquals(this._spherical.phi, this._sphericalEnd.phi, this.restThreshold) &&\n approxEquals(this._spherical.radius, this._sphericalEnd.radius, this.restThreshold);\n return this._createOnRestPromise(resolveImmediately);\n }\n /**\n * Similar to setLookAt, but it interpolates between two states.\n * @param positionAX\n * @param positionAY\n * @param positionAZ\n * @param targetAX\n * @param targetAY\n * @param targetAZ\n * @param positionBX\n * @param positionBY\n * @param positionBZ\n * @param targetBX\n * @param targetBY\n * @param targetBZ\n * @param t\n * @param enableTransition\n * @category Methods\n */\n lerpLookAt(positionAX, positionAY, positionAZ, targetAX, targetAY, targetAZ, positionBX, positionBY, positionBZ, targetBX, targetBY, targetBZ, t, enableTransition = false) {\n this._isUserControllingRotate = false;\n this._isUserControllingDolly = false;\n this._isUserControllingTruck = false;\n const targetA = _v3A.set(targetAX, targetAY, targetAZ);\n const positionA = _v3B.set(positionAX, positionAY, positionAZ);\n _sphericalA.setFromVector3(positionA.sub(targetA).applyQuaternion(this._yAxisUpSpace));\n const targetB = _v3C.set(targetBX, targetBY, targetBZ);\n const positionB = _v3B.set(positionBX, positionBY, positionBZ);\n _sphericalB.setFromVector3(positionB.sub(targetB).applyQuaternion(this._yAxisUpSpace));\n this._targetEnd.copy(targetA.lerp(targetB, t)); // tricky\n const deltaTheta = _sphericalB.theta - _sphericalA.theta;\n const deltaPhi = _sphericalB.phi - _sphericalA.phi;\n const deltaRadius = _sphericalB.radius - _sphericalA.radius;\n this._sphericalEnd.set(_sphericalA.radius + deltaRadius * t, _sphericalA.phi + deltaPhi * t, _sphericalA.theta + deltaTheta * t);\n this.normalizeRotations();\n this._needsUpdate = true;\n if (!enableTransition) {\n this._target.copy(this._targetEnd);\n this._spherical.copy(this._sphericalEnd);\n }\n const resolveImmediately = !enableTransition ||\n approxEquals(this._target.x, this._targetEnd.x, this.restThreshold) &&\n approxEquals(this._target.y, this._targetEnd.y, this.restThreshold) &&\n approxEquals(this._target.z, this._targetEnd.z, this.restThreshold) &&\n approxEquals(this._spherical.theta, this._sphericalEnd.theta, this.restThreshold) &&\n approxEquals(this._spherical.phi, this._sphericalEnd.phi, this.restThreshold) &&\n approxEquals(this._spherical.radius, this._sphericalEnd.radius, this.restThreshold);\n return this._createOnRestPromise(resolveImmediately);\n }\n /**\n * Set angle and distance by given position.\n * An alias of `setLookAt()`, without target change. Thus keep gazing at the current target\n * @param positionX\n * @param positionY\n * @param positionZ\n * @param enableTransition\n * @category Methods\n */\n setPosition(positionX, positionY, positionZ, enableTransition = false) {\n return this.setLookAt(positionX, positionY, positionZ, this._targetEnd.x, this._targetEnd.y, this._targetEnd.z, enableTransition);\n }\n /**\n * Set the target position where gaze at.\n * An alias of `setLookAt()`, without position change. Thus keep the same position.\n * @param targetX\n * @param targetY\n * @param targetZ\n * @param enableTransition\n * @category Methods\n */\n setTarget(targetX, targetY, targetZ, enableTransition = false) {\n const pos = this.getPosition(_v3A);\n const promise = this.setLookAt(pos.x, pos.y, pos.z, targetX, targetY, targetZ, enableTransition);\n // see https://github.com/yomotsu/camera-controls/issues/335\n this._sphericalEnd.phi = clamp(this.polarAngle, this.minPolarAngle, this.maxPolarAngle);\n return promise;\n }\n /**\n * Set focal offset using the screen parallel coordinates. z doesn't affect in Orthographic as with Dolly.\n * @param x\n * @param y\n * @param z\n * @param enableTransition\n * @category Methods\n */\n setFocalOffset(x, y, z, enableTransition = false) {\n this._isUserControllingOffset = false;\n this._focalOffsetEnd.set(x, y, z);\n this._needsUpdate = true;\n if (!enableTransition)\n this._focalOffset.copy(this._focalOffsetEnd);\n const resolveImmediately = !enableTransition ||\n approxEquals(this._focalOffset.x, this._focalOffsetEnd.x, this.restThreshold) &&\n approxEquals(this._focalOffset.y, this._focalOffsetEnd.y, this.restThreshold) &&\n approxEquals(this._focalOffset.z, this._focalOffsetEnd.z, this.restThreshold);\n return this._createOnRestPromise(resolveImmediately);\n }\n /**\n * Set orbit point without moving the camera.\n * SHOULD NOT RUN DURING ANIMATIONS. `setOrbitPoint()` will immediately fix the positions.\n * @param targetX\n * @param targetY\n * @param targetZ\n * @category Methods\n */\n setOrbitPoint(targetX, targetY, targetZ) {\n this._camera.updateMatrixWorld();\n _xColumn.setFromMatrixColumn(this._camera.matrixWorldInverse, 0);\n _yColumn.setFromMatrixColumn(this._camera.matrixWorldInverse, 1);\n _zColumn.setFromMatrixColumn(this._camera.matrixWorldInverse, 2);\n const position = _v3A.set(targetX, targetY, targetZ);\n const distance = position.distanceTo(this._camera.position);\n const cameraToPoint = position.sub(this._camera.position);\n _xColumn.multiplyScalar(cameraToPoint.x);\n _yColumn.multiplyScalar(cameraToPoint.y);\n _zColumn.multiplyScalar(cameraToPoint.z);\n _v3A.copy(_xColumn).add(_yColumn).add(_zColumn);\n _v3A.z = _v3A.z + distance;\n this.dollyTo(distance, false);\n this.setFocalOffset(-_v3A.x, _v3A.y, -_v3A.z, false);\n this.moveTo(targetX, targetY, targetZ, false);\n }\n /**\n * Set the boundary box that encloses the target of the camera. box3 is in THREE.Box3\n * @param box3\n * @category Methods\n */\n setBoundary(box3) {\n if (!box3) {\n this._boundary.min.set(-Infinity, -Infinity, -Infinity);\n this._boundary.max.set(Infinity, Infinity, Infinity);\n this._needsUpdate = true;\n return;\n }\n this._boundary.copy(box3);\n this._boundary.clampPoint(this._targetEnd, this._targetEnd);\n this._needsUpdate = true;\n }\n /**\n * Set (or unset) the current viewport.\n * Set this when you want to use renderer viewport and .dollyToCursor feature at the same time.\n * @param viewportOrX\n * @param y\n * @param width\n * @param height\n * @category Methods\n */\n setViewport(viewportOrX, y, width, height) {\n if (viewportOrX === null) { // null\n this._viewport = null;\n return;\n }\n this._viewport = this._viewport || new THREE.Vector4();\n if (typeof viewportOrX === 'number') { // number\n this._viewport.set(viewportOrX, y, width, height);\n }\n else { // Vector4\n this._viewport.copy(viewportOrX);\n }\n }\n /**\n * Calculate the distance to fit the box.\n * @param width box width\n * @param height box height\n * @param depth box depth\n * @returns distance\n * @category Methods\n */\n getDistanceToFitBox(width, height, depth, cover = false) {\n if (notSupportedInOrthographicCamera(this._camera, 'getDistanceToFitBox'))\n return this._spherical.radius;\n const boundingRectAspect = width / height;\n const fov = this._camera.getEffectiveFOV() * DEG2RAD;\n const aspect = this._camera.aspect;\n const heightToFit = (cover ? boundingRectAspect > aspect : boundingRectAspect < aspect) ? height : width / aspect;\n return heightToFit * 0.5 / Math.tan(fov * 0.5) + depth * 0.5;\n }\n /**\n * Calculate the distance to fit the sphere.\n * @param radius sphere radius\n * @returns distance\n * @category Methods\n */\n getDistanceToFitSphere(radius) {\n if (notSupportedInOrthographicCamera(this._camera, 'getDistanceToFitSphere'))\n return this._spherical.radius;\n // https://stackoverflow.com/a/44849975\n const vFOV = this._camera.getEffectiveFOV() * DEG2RAD;\n const hFOV = Math.atan(Math.tan(vFOV * 0.5) * this._camera.aspect) * 2;\n const fov = 1 < this._camera.aspect ? vFOV : hFOV;\n return radius / (Math.sin(fov * 0.5));\n }\n /**\n * Returns its current gazing target, which is the center position of the orbit.\n * @param out current gazing target\n * @category Methods\n */\n getTarget(out) {\n const _out = !!out && out.isVector3 ? out : new THREE.Vector3();\n return _out.copy(this._targetEnd);\n }\n /**\n * Returns its current position.\n * @param out current position\n * @category Methods\n */\n getPosition(out) {\n const _out = !!out && out.isVector3 ? out : new THREE.Vector3();\n return _out.setFromSpherical(this._sphericalEnd).applyQuaternion(this._yAxisUpSpaceInverse).add(this._targetEnd);\n }\n /**\n * Returns its current focal offset, which is how much the camera appears to be translated in screen parallel coordinates.\n * @param out current focal offset\n * @category Methods\n */\n getFocalOffset(out) {\n const _out = !!out && out.isVector3 ? out : new THREE.Vector3();\n return _out.copy(this._focalOffsetEnd);\n }\n /**\n * Normalize camera azimuth angle rotation between 0 and 360 degrees.\n * @category Methods\n */\n normalizeRotations() {\n this._sphericalEnd.theta = this._sphericalEnd.theta % PI_2;\n if (this._sphericalEnd.theta < 0)\n this._sphericalEnd.theta += PI_2;\n this._spherical.theta += PI_2 * Math.round((this._sphericalEnd.theta - this._spherical.theta) / PI_2);\n }\n /**\n * Reset all rotation and position to defaults.\n * @param enableTransition\n * @category Methods\n */\n reset(enableTransition = false) {\n if (!approxEquals(this._camera.up.x, this._cameraUp0.x) ||\n !approxEquals(this._camera.up.y, this._cameraUp0.y) ||\n !approxEquals(this._camera.up.z, this._cameraUp0.z)) {\n this._camera.up.copy(this._cameraUp0);\n const position = this.getPosition(_v3A);\n this.updateCameraUp();\n this.setPosition(position.x, position.y, position.z);\n }\n const promises = [\n this.setLookAt(this._position0.x, this._position0.y, this._position0.z, this._target0.x, this._target0.y, this._target0.z, enableTransition),\n this.setFocalOffset(this._focalOffset0.x, this._focalOffset0.y, this._focalOffset0.z, enableTransition),\n this.zoomTo(this._zoom0, enableTransition),\n ];\n return Promise.all(promises);\n }\n /**\n * Set current camera position as the default position.\n * @category Methods\n */\n saveState() {\n this._cameraUp0.copy(this._camera.up);\n this.getTarget(this._target0);\n this.getPosition(this._position0);\n this._zoom0 = this._zoom;\n this._focalOffset0.copy(this._focalOffset);\n }\n /**\n * Sync camera-up direction.\n * When camera-up vector is changed, `.updateCameraUp()` must be called.\n * @category Methods\n */\n updateCameraUp() {\n this._yAxisUpSpace.setFromUnitVectors(this._camera.up, _AXIS_Y);\n this._yAxisUpSpaceInverse.copy(this._yAxisUpSpace).invert();\n }\n /**\n * Apply current camera-up direction to the camera.\n * The orbit system will be re-initialized with the current position.\n * @category Methods\n */\n applyCameraUp() {\n const cameraDirection = _v3A.subVectors(this._target, this._camera.position).normalize();\n // So first find the vector off to the side, orthogonal to both this.object.up and\n // the \"view\" vector.\n const side = _v3B.crossVectors(cameraDirection, this._camera.up).normalize();\n // Then find the vector orthogonal to both this \"side\" vector and the \"view\" vector.\n // This vector will be the new \"up\" vector.\n this._camera.up.crossVectors(side, cameraDirection).normalize();\n this._camera.updateMatrixWorld();\n const position = this.getPosition(_v3A);\n this.updateCameraUp();\n this.setPosition(position.x, position.y, position.z);\n }\n /**\n * Update camera position and directions.\n * This should be called in your tick loop every time, and returns true if re-rendering is needed.\n * @param delta\n * @returns updated\n * @category Methods\n */\n update(delta) {\n const deltaTheta = this._sphericalEnd.theta - this._spherical.theta;\n const deltaPhi = this._sphericalEnd.phi - this._spherical.phi;\n const deltaRadius = this._sphericalEnd.radius - this._spherical.radius;\n const deltaTarget = _deltaTarget.subVectors(this._targetEnd, this._target);\n const deltaOffset = _deltaOffset.subVectors(this._focalOffsetEnd, this._focalOffset);\n const deltaZoom = this._zoomEnd - this._zoom;\n // update theta\n if (approxZero(deltaTheta)) {\n this._thetaVelocity.value = 0;\n this._spherical.theta = this._sphericalEnd.theta;\n }\n else {\n const smoothTime = this._isUserControllingRotate ? this.draggingSmoothTime : this.smoothTime;\n this._spherical.theta = smoothDamp(this._spherical.theta, this._sphericalEnd.theta, this._thetaVelocity, smoothTime, Infinity, delta);\n this._needsUpdate = true;\n }\n // update phi\n if (approxZero(deltaPhi)) {\n this._phiVelocity.value = 0;\n this._spherical.phi = this._sphericalEnd.phi;\n }\n else {\n const smoothTime = this._isUserControllingRotate ? this.draggingSmoothTime : this.smoothTime;\n this._spherical.phi = smoothDamp(this._spherical.phi, this._sphericalEnd.phi, this._phiVelocity, smoothTime, Infinity, delta);\n this._needsUpdate = true;\n }\n // update distance\n if (approxZero(deltaRadius)) {\n this._radiusVelocity.value = 0;\n this._spherical.radius = this._sphericalEnd.radius;\n }\n else {\n const smoothTime = this._isUserControllingDolly ? this.draggingSmoothTime : this.smoothTime;\n this._spherical.radius = smoothDamp(this._spherical.radius, this._sphericalEnd.radius, this._radiusVelocity, smoothTime, this.maxSpeed, delta);\n this._needsUpdate = true;\n }\n // update target position\n if (approxZero(deltaTarget.x) && approxZero(deltaTarget.y) && approxZero(deltaTarget.z)) {\n this._targetVelocity.set(0, 0, 0);\n this._target.copy(this._targetEnd);\n }\n else {\n const smoothTime = this._isUserControllingTruck ? this.draggingSmoothTime : this.smoothTime;\n smoothDampVec3(this._target, this._targetEnd, this._targetVelocity, smoothTime, this.maxSpeed, delta, this._target);\n this._needsUpdate = true;\n }\n // update focalOffset\n if (approxZero(deltaOffset.x) && approxZero(deltaOffset.y) && approxZero(deltaOffset.z)) {\n this._focalOffsetVelocity.set(0, 0, 0);\n this._focalOffset.copy(this._focalOffsetEnd);\n }\n else {\n const smoothTime = this._isUserControllingOffset ? this.draggingSmoothTime : this.smoothTime;\n smoothDampVec3(this._focalOffset, this._focalOffsetEnd, this._focalOffsetVelocity, smoothTime, this.maxSpeed, delta, this._focalOffset);\n this._needsUpdate = true;\n }\n if (this._dollyControlAmount !== 0) {\n if (isPerspectiveCamera(this._camera)) {\n const camera = this._camera;\n const cameraDirection = _v3A.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).normalize().negate();\n const planeX = _v3B.copy(cameraDirection).cross(camera.up).normalize();\n if (planeX.lengthSq() === 0)\n planeX.x = 1.0;\n const planeY = _v3C.crossVectors(planeX, cameraDirection);\n const worldToScreen = this._sphericalEnd.radius * Math.tan(camera.getEffectiveFOV() * DEG2RAD * 0.5);\n const prevRadius = this._sphericalEnd.radius - this._dollyControlAmount;\n const lerpRatio = (prevRadius - this._sphericalEnd.radius) / this._sphericalEnd.radius;\n const cursor = _v3A.copy(this._targetEnd)\n .add(planeX.multiplyScalar(this._dollyControlCoord.x * worldToScreen * camera.aspect))\n .add(planeY.multiplyScalar(this._dollyControlCoord.y * worldToScreen));\n this._targetEnd.lerp(cursor, lerpRatio);\n }\n else if (isOrthographicCamera(this._camera)) {\n const camera = this._camera;\n const worldCursorPosition = _v3A.set(this._dollyControlCoord.x, this._dollyControlCoord.y, (camera.near + camera.far) / (camera.near - camera.far)).unproject(camera); //.sub( _v3B.set( this._focalOffset.x, this._focalOffset.y, 0 ) );\n const quaternion = _v3B.set(0, 0, -1).applyQuaternion(camera.quaternion);\n const cursor = _v3C.copy(worldCursorPosition).add(quaternion.multiplyScalar(-worldCursorPosition.dot(camera.up)));\n const prevZoom = this._zoom - this._dollyControlAmount;\n const lerpRatio = -(prevZoom - this._zoomEnd) / this._zoom;\n // find the \"distance\" (aka plane constant in three.js) of Plane\n // from a given position (this._targetEnd) and normal vector (cameraDirection)\n // https://www.maplesoft.com/support/help/maple/view.aspx?path=MathApps%2FEquationOfAPlaneNormal#bkmrk0\n const cameraDirection = _v3A.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).normalize().negate();\n const prevPlaneConstant = this._targetEnd.dot(cameraDirection);\n this._targetEnd.lerp(cursor, lerpRatio);\n const newPlaneConstant = this._targetEnd.dot(cameraDirection);\n // Pull back the camera depth that has moved, to be the camera stationary as zoom\n const pullBack = cameraDirection.multiplyScalar(newPlaneConstant - prevPlaneConstant);\n this._targetEnd.sub(pullBack);\n }\n this._target.copy(this._targetEnd);\n // target position may be moved beyond boundary.\n this._boundary.clampPoint(this._targetEnd, this._targetEnd);\n this._dollyControlAmount = 0;\n }\n // update zoom\n if (approxZero(deltaZoom)) {\n this._zoomVelocity.value = 0;\n this._zoom = this._zoomEnd;\n }\n else {\n const smoothTime = this._isUserControllingZoom ? this.draggingSmoothTime : this.smoothTime;\n this._zoom = smoothDamp(this._zoom, this._zoomEnd, this._zoomVelocity, smoothTime, Infinity, delta);\n }\n if (this._camera.zoom !== this._zoom) {\n this._camera.zoom = this._zoom;\n this._camera.updateProjectionMatrix();\n this._updateNearPlaneCorners();\n this._needsUpdate = true;\n }\n // collision detection\n const maxDistance = this._collisionTest();\n this._spherical.radius = Math.min(this._spherical.radius, maxDistance);\n // decompose spherical to the camera position\n this._spherical.makeSafe();\n this._camera.position.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).add(this._target);\n this._camera.lookAt(this._target);\n // set offset after the orbit movement\n const affectOffset = !approxZero(this._focalOffset.x) ||\n !approxZero(this._focalOffset.y) ||\n !approxZero(this._focalOffset.z);\n if (affectOffset) {\n this._camera.updateMatrixWorld();\n _xColumn.setFromMatrixColumn(this._camera.matrix, 0);\n _yColumn.setFromMatrixColumn(this._camera.matrix, 1);\n _zColumn.setFromMatrixColumn(this._camera.matrix, 2);\n _xColumn.multiplyScalar(this._focalOffset.x);\n _yColumn.multiplyScalar(-this._focalOffset.y);\n _zColumn.multiplyScalar(this._focalOffset.z); // notice: z-offset will not affect in Orthographic.\n _v3A.copy(_xColumn).add(_yColumn).add(_zColumn);\n this._camera.position.add(_v3A);\n }\n if (this._boundaryEnclosesCamera) {\n this._encloseToBoundary(this._camera.position.copy(this._target), _v3A.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse), 1.0);\n }\n const updated = this._needsUpdate;\n if (updated && !this._updatedLastTime) {\n this._hasRested = false;\n this.dispatchEvent({ type: 'wake' });\n this.dispatchEvent({ type: 'update' });\n }\n else if (updated) {\n this.dispatchEvent({ type: 'update' });\n if (approxZero(deltaTheta, this.restThreshold) &&\n approxZero(deltaPhi, this.restThreshold) &&\n approxZero(deltaRadius, this.restThreshold) &&\n approxZero(deltaTarget.x, this.restThreshold) &&\n approxZero(deltaTarget.y, this.restThreshold) &&\n approxZero(deltaTarget.z, this.restThreshold) &&\n approxZero(deltaOffset.x, this.restThreshold) &&\n approxZero(deltaOffset.y, this.restThreshold) &&\n approxZero(deltaOffset.z, this.restThreshold) &&\n approxZero(deltaZoom, this.restThreshold) &&\n !this._hasRested) {\n this._hasRested = true;\n this.dispatchEvent({ type: 'rest' });\n }\n }\n else if (!updated && this._updatedLastTime) {\n this.dispatchEvent({ type: 'sleep' });\n }\n this._updatedLastTime = updated;\n this._needsUpdate = false;\n return updated;\n }\n /**\n * Get all state in JSON string\n * @category Methods\n */\n toJSON() {\n return JSON.stringify({\n enabled: this._enabled,\n minDistance: this.minDistance,\n maxDistance: infinityToMaxNumber(this.maxDistance),\n minZoom: this.minZoom,\n maxZoom: infinityToMaxNumber(this.maxZoom),\n minPolarAngle: this.minPolarAngle,\n maxPolarAngle: infinityToMaxNumber(this.maxPolarAngle),\n minAzimuthAngle: infinityToMaxNumber(this.minAzimuthAngle),\n maxAzimuthAngle: infinityToMaxNumber(this.maxAzimuthAngle),\n smoothTime: this.smoothTime,\n draggingSmoothTime: this.draggingSmoothTime,\n dollySpeed: this.dollySpeed,\n truckSpeed: this.truckSpeed,\n dollyToCursor: this.dollyToCursor,\n verticalDragToForward: this.verticalDragToForward,\n target: this._targetEnd.toArray(),\n position: _v3A.setFromSpherical(this._sphericalEnd).add(this._targetEnd).toArray(),\n zoom: this._zoomEnd,\n focalOffset: this._focalOffsetEnd.toArray(),\n target0: this._target0.toArray(),\n position0: this._position0.toArray(),\n zoom0: this._zoom0,\n focalOffset0: this._focalOffset0.toArray(),\n });\n }\n /**\n * Reproduce the control state with JSON. enableTransition is where anim or not in a boolean.\n * @param json\n * @param enableTransition\n * @category Methods\n */\n fromJSON(json, enableTransition = false) {\n const obj = JSON.parse(json);\n this.enabled = obj.enabled;\n this.minDistance = obj.minDistance;\n this.maxDistance = maxNumberToInfinity(obj.maxDistance);\n this.minZoom = obj.minZoom;\n this.maxZoom = maxNumberToInfinity(obj.maxZoom);\n this.minPolarAngle = obj.minPolarAngle;\n this.maxPolarAngle = maxNumberToInfinity(obj.maxPolarAngle);\n this.minAzimuthAngle = maxNumberToInfinity(obj.minAzimuthAngle);\n this.maxAzimuthAngle = maxNumberToInfinity(obj.maxAzimuthAngle);\n this.smoothTime = obj.smoothTime;\n this.draggingSmoothTime = obj.draggingSmoothTime;\n this.dollySpeed = obj.dollySpeed;\n this.truckSpeed = obj.truckSpeed;\n this.dollyToCursor = obj.dollyToCursor;\n this.verticalDragToForward = obj.verticalDragToForward;\n this._target0.fromArray(obj.target0);\n this._position0.fromArray(obj.position0);\n this._zoom0 = obj.zoom0;\n this._focalOffset0.fromArray(obj.focalOffset0);\n this.moveTo(obj.target[0], obj.target[1], obj.target[2], enableTransition);\n _sphericalA.setFromVector3(_v3A.fromArray(obj.position).sub(this._targetEnd).applyQuaternion(this._yAxisUpSpace));\n this.rotateTo(_sphericalA.theta, _sphericalA.phi, enableTransition);\n this.dollyTo(_sphericalA.radius, enableTransition);\n this.zoomTo(obj.zoom, enableTransition);\n this.setFocalOffset(obj.focalOffset[0], obj.focalOffset[1], obj.focalOffset[2], enableTransition);\n this._needsUpdate = true;\n }\n /**\n * Attach all internal event handlers to enable drag control.\n * @category Methods\n */\n connect(domElement) {\n if (this._domElement) {\n console.warn('camera-controls is already connected.');\n return;\n }\n domElement.setAttribute('data-camera-controls-version', VERSION);\n this._addAllEventListeners(domElement);\n }\n /**\n * Detach all internal event handlers to disable drag control.\n */\n disconnect() {\n this.cancel();\n this._removeAllEventListeners();\n if (this._domElement) {\n this._domElement.removeAttribute('data-camera-controls-version');\n this._domElement = undefined;\n }\n }\n /**\n * Dispose the cameraControls instance itself, remove all eventListeners.\n * @category Methods\n */\n dispose() {\n // remove all user event listeners\n this.removeAllEventListeners();\n // remove all internal event listeners\n this.disconnect();\n }\n _findPointerById(pointerId) {\n return this._activePointers.find((activePointer) => activePointer.pointerId === pointerId);\n }\n _findPointerByMouseButton(mouseButton) {\n return this._activePointers.find((activePointer) => activePointer.mouseButton === mouseButton);\n }\n _encloseToBoundary(position, offset, friction) {\n const offsetLength2 = offset.lengthSq();\n if (offsetLength2 === 0.0) { // sanity check\n return position;\n }\n // See: https://twitter.com/FMS_Cat/status/1106508958640988161\n const newTarget = _v3B.copy(offset).add(position); // target\n const clampedTarget = this._boundary.clampPoint(newTarget, _v3C); // clamped target\n const deltaClampedTarget = clampedTarget.sub(newTarget); // newTarget -> clampedTarget\n const deltaClampedTargetLength2 = deltaClampedTarget.lengthSq(); // squared length of deltaClampedTarget\n if (deltaClampedTargetLength2 === 0.0) { // when the position doesn't have to be clamped\n return position.add(offset);\n }\n else if (deltaClampedTargetLength2 === offsetLength2) { // when the position is completely stuck\n return position;\n }\n else if (friction === 0.0) {\n return position.add(offset).add(deltaClampedTarget);\n }\n else {\n const offsetFactor = 1.0 + friction * deltaClampedTargetLength2 / offset.dot(deltaClampedTarget);\n return position\n .add(_v3B.copy(offset).multiplyScalar(offsetFactor))\n .add(deltaClampedTarget.multiplyScalar(1.0 - friction));\n }\n }\n _updateNearPlaneCorners() {\n if (isPerspectiveCamera(this._camera)) {\n const camera = this._camera;\n const near = camera.near;\n const fov = camera.getEffectiveFOV() * DEG2RAD;\n const heightHalf = Math.tan(fov * 0.5) * near; // near plain half height\n const widthHalf = heightHalf * camera.aspect; // near plain half width\n this._nearPlaneCorners[0].set(-widthHalf, -heightHalf, 0);\n this._nearPlaneCorners[1].set(widthHalf, -heightHalf, 0);\n this._nearPlaneCorners[2].set(widthHalf, heightHalf, 0);\n this._nearPlaneCorners[3].set(-widthHalf, heightHalf, 0);\n }\n else if (isOrthographicCamera(this._camera)) {\n const camera = this._camera;\n const zoomInv = 1 / camera.zoom;\n const left = camera.left * zoomInv;\n const right = camera.right * zoomInv;\n const top = camera.top * zoomInv;\n const bottom = camera.bottom * zoomInv;\n this._nearPlaneCorners[0].set(left, top, 0);\n this._nearPlaneCorners[1].set(right, top, 0);\n this._nearPlaneCorners[2].set(right, bottom, 0);\n this._nearPlaneCorners[3].set(left, bottom, 0);\n }\n }\n // lateUpdate\n _collisionTest() {\n let distance = Infinity;\n const hasCollider = this.colliderMeshes.length >= 1;\n if (!hasCollider)\n return distance;\n if (notSupportedInOrthographicCamera(this._camera, '_collisionTest'))\n return distance;\n // divide by distance to normalize, lighter than `Vector3.prototype.normalize()`\n const direction = _v3A.setFromSpherical(this._spherical).divideScalar(this._spherical.radius);\n _rotationMatrix.lookAt(_ORIGIN, direction, this._camera.up);\n for (let i = 0; i < 4; i++) {\n const nearPlaneCorner = _v3B.copy(this._nearPlaneCorners[i]);\n nearPlaneCorner.applyMatrix4(_rotationMatrix);\n const origin = _v3C.addVectors(this._target, nearPlaneCorner);\n _raycaster.set(origin, direction);\n _raycaster.far = this._spherical.radius + 1;\n const intersects = _raycaster.intersectObjects(this.colliderMeshes);\n if (intersects.length !== 0 && intersects[0].distance < distance) {\n distance = intersects[0].distance;\n }\n }\n return distance;\n }\n /**\n * Get its client rect and package into given `DOMRect` .\n */\n _getClientRect(target) {\n if (!this._domElement)\n return;\n const rect = this._domElement.getBoundingClientRect();\n target.x = rect.left;\n target.y = rect.top;\n if (this._viewport) {\n target.x += this._viewport.x;\n target.y += rect.height - this._viewport.w - this._viewport.y;\n target.width = this._viewport.z;\n target.height = this._viewport.w;\n }\n else {\n target.width = rect.width;\n target.height = rect.height;\n }\n return target;\n }\n _createOnRestPromise(resolveImmediately) {\n if (resolveImmediately)\n return Promise.resolve();\n this._hasRested = false;\n this.dispatchEvent({ type: 'transitionstart' });\n return new Promise((resolve) => {\n const onResolve = () => {\n this.removeEventListener('rest', onResolve);\n resolve();\n };\n this.addEventListener('rest', onResolve);\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _addAllEventListeners(_domElement) { }\n _removeAllEventListeners() { }\n /**\n * backward compatible\n * @deprecated use smoothTime (in seconds) instead\n * @category Properties\n */\n get dampingFactor() {\n console.warn('.dampingFactor has been deprecated. use smoothTime (in seconds) instead.');\n return 0;\n }\n /**\n * backward compatible\n * @deprecated use smoothTime (in seconds) instead\n * @category Properties\n */\n set dampingFactor(_) {\n console.warn('.dampingFactor has been deprecated. use smoothTime (in seconds) instead.');\n }\n /**\n * backward compatible\n * @deprecated use draggingSmoothTime (in seconds) instead\n * @category Properties\n */\n get draggingDampingFactor() {\n console.warn('.draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead.');\n return 0;\n }\n /**\n * backward compatible\n * @deprecated use draggingSmoothTime (in seconds) instead\n * @category Properties\n */\n set draggingDampingFactor(_) {\n console.warn('.draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead.');\n }\n static createBoundingSphere(object3d, out = new THREE.Sphere()) {\n const boundingSphere = out;\n const center = boundingSphere.center;\n _box3A.makeEmpty();\n // find the center\n object3d.traverseVisible((object) => {\n if (!object.isMesh)\n return;\n _box3A.expandByObject(object);\n });\n _box3A.getCenter(center);\n // find the radius\n let maxRadiusSq = 0;\n object3d.traverseVisible((object) => {\n if (!object.isMesh)\n return;\n const mesh = object;\n const geometry = mesh.geometry.clone();\n geometry.applyMatrix4(mesh.matrixWorld);\n const bufferGeometry = geometry;\n const position = bufferGeometry.attributes.position;\n for (let i = 0, l = position.count; i < l; i++) {\n _v3A.fromBufferAttribute(position, i);\n maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(_v3A));\n }\n });\n boundingSphere.radius = Math.sqrt(maxRadiusSq);\n return boundingSphere;\n }\n}\n\nexport { CameraControls as default };\n","import CameraControls from 'camera-controls';\nimport { createContext, useContext } from 'react';\n\nexport interface CameraControlsContextProps {\n controls: CameraControls | null;\n zoomIn: () => void;\n zoomOut: () => void;\n panLeft: () => void;\n panRight: () => void;\n panUp: () => void;\n panDown: () => void;\n}\n\nexport const CameraControlsContext = createContext({\n controls: null,\n zoomIn: () => undefined,\n zoomOut: () => undefined,\n panLeft: () => undefined,\n panRight: () => undefined,\n panUp: () => undefined,\n panDown: () => undefined\n});\n\nexport const useCameraControls = () => {\n const context = useContext(CameraControlsContext);\n\n if (context === undefined) {\n throw new Error(\n '`useCameraControls` hook must be used within a `ControlsProvider` component'\n );\n }\n\n return context;\n};\n","/*global define:false */\n/**\n * Copyright 2012-2017 Craig Campbell\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * Mousetrap is a simple keyboard shortcut library for Javascript with\n * no external dependencies\n *\n * @version 1.6.5\n * @url craig.is/killing/mice\n */\n(function(window, document, undefined) {\n\n // Check if mousetrap is used inside browser, if not, return\n if (!window) {\n return;\n }\n\n /**\n * mapping of special keycodes to their corresponding keys\n *\n * everything in this dictionary cannot use keypress events\n * so it has to be here to map to the correct keycodes for\n * keyup/keydown events\n *\n * @type {Object}\n */\n var _MAP = {\n 8: 'backspace',\n 9: 'tab',\n 13: 'enter',\n 16: 'shift',\n 17: 'ctrl',\n 18: 'alt',\n 20: 'capslock',\n 27: 'esc',\n 32: 'space',\n 33: 'pageup',\n 34: 'pagedown',\n 35: 'end',\n 36: 'home',\n 37: 'left',\n 38: 'up',\n 39: 'right',\n 40: 'down',\n 45: 'ins',\n 46: 'del',\n 91: 'meta',\n 93: 'meta',\n 224: 'meta'\n };\n\n /**\n * mapping for special characters so they can support\n *\n * this dictionary is only used incase you want to bind a\n * keyup or keydown event to one of these keys\n *\n * @type {Object}\n */\n var _KEYCODE_MAP = {\n 106: '*',\n 107: '+',\n 109: '-',\n 110: '.',\n 111 : '/',\n 186: ';',\n 187: '=',\n 188: ',',\n 189: '-',\n 190: '.',\n 191: '/',\n 192: '`',\n 219: '[',\n 220: '\\\\',\n 221: ']',\n 222: '\\''\n };\n\n /**\n * this is a mapping of keys that require shift on a US keypad\n * back to the non shift equivelents\n *\n * this is so you can use keyup events with these keys\n *\n * note that this will only work reliably on US keyboards\n *\n * @type {Object}\n */\n var _SHIFT_MAP = {\n '~': '`',\n '!': '1',\n '@': '2',\n '#': '3',\n '$': '4',\n '%': '5',\n '^': '6',\n '&': '7',\n '*': '8',\n '(': '9',\n ')': '0',\n '_': '-',\n '+': '=',\n ':': ';',\n '\\\"': '\\'',\n '<': ',',\n '>': '.',\n '?': '/',\n '|': '\\\\'\n };\n\n /**\n * this is a list of special strings you can use to map\n * to modifier keys when you specify your keyboard shortcuts\n *\n * @type {Object}\n */\n var _SPECIAL_ALIASES = {\n 'option': 'alt',\n 'command': 'meta',\n 'return': 'enter',\n 'escape': 'esc',\n 'plus': '+',\n 'mod': /Mac|iPod|iPhone|iPad/.test(navigator.platform) ? 'meta' : 'ctrl'\n };\n\n /**\n * variable to store the flipped version of _MAP from above\n * needed to check if we should use keypress or not when no action\n * is specified\n *\n * @type {Object|undefined}\n */\n var _REVERSE_MAP;\n\n /**\n * loop through the f keys, f1 to f19 and add them to the map\n * programatically\n */\n for (var i = 1; i < 20; ++i) {\n _MAP[111 + i] = 'f' + i;\n }\n\n /**\n * loop through to map numbers on the numeric keypad\n */\n for (i = 0; i <= 9; ++i) {\n\n // This needs to use a string cause otherwise since 0 is falsey\n // mousetrap will never fire for numpad 0 pressed as part of a keydown\n // event.\n //\n // @see https://github.com/ccampbell/mousetrap/pull/258\n _MAP[i + 96] = i.toString();\n }\n\n /**\n * cross browser add event method\n *\n * @param {Element|HTMLDocument} object\n * @param {string} type\n * @param {Function} callback\n * @returns void\n */\n function _addEvent(object, type, callback) {\n if (object.addEventListener) {\n object.addEventListener(type, callback, false);\n return;\n }\n\n object.attachEvent('on' + type, callback);\n }\n\n /**\n * takes the event and returns the key character\n *\n * @param {Event} e\n * @return {string}\n */\n function _characterFromEvent(e) {\n\n // for keypress events we should return the character as is\n if (e.type == 'keypress') {\n var character = String.fromCharCode(e.which);\n\n // if the shift key is not pressed then it is safe to assume\n // that we want the character to be lowercase. this means if\n // you accidentally have caps lock on then your key bindings\n // will continue to work\n //\n // the only side effect that might not be desired is if you\n // bind something like 'A' cause you want to trigger an\n // event when capital A is pressed caps lock will no longer\n // trigger the event. shift+a will though.\n if (!e.shiftKey) {\n character = character.toLowerCase();\n }\n\n return character;\n }\n\n // for non keypress events the special maps are needed\n if (_MAP[e.which]) {\n return _MAP[e.which];\n }\n\n if (_KEYCODE_MAP[e.which]) {\n return _KEYCODE_MAP[e.which];\n }\n\n // if it is not in the special map\n\n // with keydown and keyup events the character seems to always\n // come in as an uppercase character whether you are pressing shift\n // or not. we should make sure it is always lowercase for comparisons\n return String.fromCharCode(e.which).toLowerCase();\n }\n\n /**\n * checks if two arrays are equal\n *\n * @param {Array} modifiers1\n * @param {Array} modifiers2\n * @returns {boolean}\n */\n function _modifiersMatch(modifiers1, modifiers2) {\n return modifiers1.sort().join(',') === modifiers2.sort().join(',');\n }\n\n /**\n * takes a key event and figures out what the modifiers are\n *\n * @param {Event} e\n * @returns {Array}\n */\n function _eventModifiers(e) {\n var modifiers = [];\n\n if (e.shiftKey) {\n modifiers.push('shift');\n }\n\n if (e.altKey) {\n modifiers.push('alt');\n }\n\n if (e.ctrlKey) {\n modifiers.push('ctrl');\n }\n\n if (e.metaKey) {\n modifiers.push('meta');\n }\n\n return modifiers;\n }\n\n /**\n * prevents default for this event\n *\n * @param {Event} e\n * @returns void\n */\n function _preventDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n return;\n }\n\n e.returnValue = false;\n }\n\n /**\n * stops propogation for this event\n *\n * @param {Event} e\n * @returns void\n */\n function _stopPropagation(e) {\n if (e.stopPropagation) {\n e.stopPropagation();\n return;\n }\n\n e.cancelBubble = true;\n }\n\n /**\n * determines if the keycode specified is a modifier key or not\n *\n * @param {string} key\n * @returns {boolean}\n */\n function _isModifier(key) {\n return key == 'shift' || key == 'ctrl' || key == 'alt' || key == 'meta';\n }\n\n /**\n * reverses the map lookup so that we can look for specific keys\n * to see what can and can't use keypress\n *\n * @return {Object}\n */\n function _getReverseMap() {\n if (!_REVERSE_MAP) {\n _REVERSE_MAP = {};\n for (var key in _MAP) {\n\n // pull out the numeric keypad from here cause keypress should\n // be able to detect the keys from the character\n if (key > 95 && key < 112) {\n continue;\n }\n\n if (_MAP.hasOwnProperty(key)) {\n _REVERSE_MAP[_MAP[key]] = key;\n }\n }\n }\n return _REVERSE_MAP;\n }\n\n /**\n * picks the best action based on the key combination\n *\n * @param {string} key - character for key\n * @param {Array} modifiers\n * @param {string=} action passed in\n */\n function _pickBestAction(key, modifiers, action) {\n\n // if no action was picked in we should try to pick the one\n // that we think would work best for this key\n if (!action) {\n action = _getReverseMap()[key] ? 'keydown' : 'keypress';\n }\n\n // modifier keys don't work as expected with keypress,\n // switch to keydown\n if (action == 'keypress' && modifiers.length) {\n action = 'keydown';\n }\n\n return action;\n }\n\n /**\n * Converts from a string key combination to an array\n *\n * @param {string} combination like \"command+shift+l\"\n * @return {Array}\n */\n function _keysFromString(combination) {\n if (combination === '+') {\n return ['+'];\n }\n\n combination = combination.replace(/\\+{2}/g, '+plus');\n return combination.split('+');\n }\n\n /**\n * Gets info for a specific key combination\n *\n * @param {string} combination key combination (\"command+s\" or \"a\" or \"*\")\n * @param {string=} action\n * @returns {Object}\n */\n function _getKeyInfo(combination, action) {\n var keys;\n var key;\n var i;\n var modifiers = [];\n\n // take the keys from this pattern and figure out what the actual\n // pattern is all about\n keys = _keysFromString(combination);\n\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n\n // normalize key names\n if (_SPECIAL_ALIASES[key]) {\n key = _SPECIAL_ALIASES[key];\n }\n\n // if this is not a keypress event then we should\n // be smart about using shift keys\n // this will only work for US keyboards however\n if (action && action != 'keypress' && _SHIFT_MAP[key]) {\n key = _SHIFT_MAP[key];\n modifiers.push('shift');\n }\n\n // if this key is a modifier then add it to the list of modifiers\n if (_isModifier(key)) {\n modifiers.push(key);\n }\n }\n\n // depending on what the key combination is\n // we will try to pick the best event for it\n action = _pickBestAction(key, modifiers, action);\n\n return {\n key: key,\n modifiers: modifiers,\n action: action\n };\n }\n\n function _belongsTo(element, ancestor) {\n if (element === null || element === document) {\n return false;\n }\n\n if (element === ancestor) {\n return true;\n }\n\n return _belongsTo(element.parentNode, ancestor);\n }\n\n function Mousetrap(targetElement) {\n var self = this;\n\n targetElement = targetElement || document;\n\n if (!(self instanceof Mousetrap)) {\n return new Mousetrap(targetElement);\n }\n\n /**\n * element to attach key events to\n *\n * @type {Element}\n */\n self.target = targetElement;\n\n /**\n * a list of all the callbacks setup via Mousetrap.bind()\n *\n * @type {Object}\n */\n self._callbacks = {};\n\n /**\n * direct map of string combinations to callbacks used for trigger()\n *\n * @type {Object}\n */\n self._directMap = {};\n\n /**\n * keeps track of what level each sequence is at since multiple\n * sequences can start out with the same sequence\n *\n * @type {Object}\n */\n var _sequenceLevels = {};\n\n /**\n * variable to store the setTimeout call\n *\n * @type {null|number}\n */\n var _resetTimer;\n\n /**\n * temporary state where we will ignore the next keyup\n *\n * @type {boolean|string}\n */\n var _ignoreNextKeyup = false;\n\n /**\n * temporary state where we will ignore the next keypress\n *\n * @type {boolean}\n */\n var _ignoreNextKeypress = false;\n\n /**\n * are we currently inside of a sequence?\n * type of action (\"keyup\" or \"keydown\" or \"keypress\") or false\n *\n * @type {boolean|string}\n */\n var _nextExpectedAction = false;\n\n /**\n * resets all sequence counters except for the ones passed in\n *\n * @param {Object} doNotReset\n * @returns void\n */\n function _resetSequences(doNotReset) {\n doNotReset = doNotReset || {};\n\n var activeSequences = false,\n key;\n\n for (key in _sequenceLevels) {\n if (doNotReset[key]) {\n activeSequences = true;\n continue;\n }\n _sequenceLevels[key] = 0;\n }\n\n if (!activeSequences) {\n _nextExpectedAction = false;\n }\n }\n\n /**\n * finds all callbacks that match based on the keycode, modifiers,\n * and action\n *\n * @param {string} character\n * @param {Array} modifiers\n * @param {Event|Object} e\n * @param {string=} sequenceName - name of the sequence we are looking for\n * @param {string=} combination\n * @param {number=} level\n * @returns {Array}\n */\n function _getMatches(character, modifiers, e, sequenceName, combination, level) {\n var i;\n var callback;\n var matches = [];\n var action = e.type;\n\n // if there are no events related to this keycode\n if (!self._callbacks[character]) {\n return [];\n }\n\n // if a modifier key is coming up on its own we should allow it\n if (action == 'keyup' && _isModifier(character)) {\n modifiers = [character];\n }\n\n // loop through all callbacks for the key that was pressed\n // and see if any of them match\n for (i = 0; i < self._callbacks[character].length; ++i) {\n callback = self._callbacks[character][i];\n\n // if a sequence name is not specified, but this is a sequence at\n // the wrong level then move onto the next match\n if (!sequenceName && callback.seq && _sequenceLevels[callback.seq] != callback.level) {\n continue;\n }\n\n // if the action we are looking for doesn't match the action we got\n // then we should keep going\n if (action != callback.action) {\n continue;\n }\n\n // if this is a keypress event and the meta key and control key\n // are not pressed that means that we need to only look at the\n // character, otherwise check the modifiers as well\n //\n // chrome will not fire a keypress if meta or control is down\n // safari will fire a keypress if meta or meta+shift is down\n // firefox will fire a keypress if meta or control is down\n if ((action == 'keypress' && !e.metaKey && !e.ctrlKey) || _modifiersMatch(modifiers, callback.modifiers)) {\n\n // when you bind a combination or sequence a second time it\n // should overwrite the first one. if a sequenceName or\n // combination is specified in this call it does just that\n //\n // @todo make deleting its own method?\n var deleteCombo = !sequenceName && callback.combo == combination;\n var deleteSequence = sequenceName && callback.seq == sequenceName && callback.level == level;\n if (deleteCombo || deleteSequence) {\n self._callbacks[character].splice(i, 1);\n }\n\n matches.push(callback);\n }\n }\n\n return matches;\n }\n\n /**\n * actually calls the callback function\n *\n * if your callback function returns false this will use the jquery\n * convention - prevent default and stop propogation on the event\n *\n * @param {Function} callback\n * @param {Event} e\n * @returns void\n */\n function _fireCallback(callback, e, combo, sequence) {\n\n // if this event should not happen stop here\n if (self.stopCallback(e, e.target || e.srcElement, combo, sequence)) {\n return;\n }\n\n if (callback(e, combo) === false) {\n _preventDefault(e);\n _stopPropagation(e);\n }\n }\n\n /**\n * handles a character key event\n *\n * @param {string} character\n * @param {Array} modifiers\n * @param {Event} e\n * @returns void\n */\n self._handleKey = function(character, modifiers, e) {\n var callbacks = _getMatches(character, modifiers, e);\n var i;\n var doNotReset = {};\n var maxLevel = 0;\n var processedSequenceCallback = false;\n\n // Calculate the maxLevel for sequences so we can only execute the longest callback sequence\n for (i = 0; i < callbacks.length; ++i) {\n if (callbacks[i].seq) {\n maxLevel = Math.max(maxLevel, callbacks[i].level);\n }\n }\n\n // loop through matching callbacks for this key event\n for (i = 0; i < callbacks.length; ++i) {\n\n // fire for all sequence callbacks\n // this is because if for example you have multiple sequences\n // bound such as \"g i\" and \"g t\" they both need to fire the\n // callback for matching g cause otherwise you can only ever\n // match the first one\n if (callbacks[i].seq) {\n\n // only fire callbacks for the maxLevel to prevent\n // subsequences from also firing\n //\n // for example 'a option b' should not cause 'option b' to fire\n // even though 'option b' is part of the other sequence\n //\n // any sequences that do not match here will be discarded\n // below by the _resetSequences call\n if (callbacks[i].level != maxLevel) {\n continue;\n }\n\n processedSequenceCallback = true;\n\n // keep a list of which sequences were matches for later\n doNotReset[callbacks[i].seq] = 1;\n _fireCallback(callbacks[i].callback, e, callbacks[i].combo, callbacks[i].seq);\n continue;\n }\n\n // if there were no sequence matches but we are still here\n // that means this is a regular match so we should fire that\n if (!processedSequenceCallback) {\n _fireCallback(callbacks[i].callback, e, callbacks[i].combo);\n }\n }\n\n // if the key you pressed matches the type of sequence without\n // being a modifier (ie \"keyup\" or \"keypress\") then we should\n // reset all sequences that were not matched by this event\n //\n // this is so, for example, if you have the sequence \"h a t\" and you\n // type \"h e a r t\" it does not match. in this case the \"e\" will\n // cause the sequence to reset\n //\n // modifier keys are ignored because you can have a sequence\n // that contains modifiers such as \"enter ctrl+space\" and in most\n // cases the modifier key will be pressed before the next key\n //\n // also if you have a sequence such as \"ctrl+b a\" then pressing the\n // \"b\" key will trigger a \"keypress\" and a \"keydown\"\n //\n // the \"keydown\" is expected when there is a modifier, but the\n // \"keypress\" ends up matching the _nextExpectedAction since it occurs\n // after and that causes the sequence to reset\n //\n // we ignore keypresses in a sequence that directly follow a keydown\n // for the same character\n var ignoreThisKeypress = e.type == 'keypress' && _ignoreNextKeypress;\n if (e.type == _nextExpectedAction && !_isModifier(character) && !ignoreThisKeypress) {\n _resetSequences(doNotReset);\n }\n\n _ignoreNextKeypress = processedSequenceCallback && e.type == 'keydown';\n };\n\n /**\n * handles a keydown event\n *\n * @param {Event} e\n * @returns void\n */\n function _handleKeyEvent(e) {\n\n // normalize e.which for key events\n // @see http://stackoverflow.com/questions/4285627/javascript-keycode-vs-charcode-utter-confusion\n if (typeof e.which !== 'number') {\n e.which = e.keyCode;\n }\n\n var character = _characterFromEvent(e);\n\n // no character found then stop\n if (!character) {\n return;\n }\n\n // need to use === for the character check because the character can be 0\n if (e.type == 'keyup' && _ignoreNextKeyup === character) {\n _ignoreNextKeyup = false;\n return;\n }\n\n self.handleKey(character, _eventModifiers(e), e);\n }\n\n /**\n * called to set a 1 second timeout on the specified sequence\n *\n * this is so after each key press in the sequence you have 1 second\n * to press the next key before you have to start over\n *\n * @returns void\n */\n function _resetSequenceTimer() {\n clearTimeout(_resetTimer);\n _resetTimer = setTimeout(_resetSequences, 1000);\n }\n\n /**\n * binds a key sequence to an event\n *\n * @param {string} combo - combo specified in bind call\n * @param {Array} keys\n * @param {Function} callback\n * @param {string=} action\n * @returns void\n */\n function _bindSequence(combo, keys, callback, action) {\n\n // start off by adding a sequence level record for this combination\n // and setting the level to 0\n _sequenceLevels[combo] = 0;\n\n /**\n * callback to increase the sequence level for this sequence and reset\n * all other sequences that were active\n *\n * @param {string} nextAction\n * @returns {Function}\n */\n function _increaseSequence(nextAction) {\n return function() {\n _nextExpectedAction = nextAction;\n ++_sequenceLevels[combo];\n _resetSequenceTimer();\n };\n }\n\n /**\n * wraps the specified callback inside of another function in order\n * to reset all sequence counters as soon as this sequence is done\n *\n * @param {Event} e\n * @returns void\n */\n function _callbackAndReset(e) {\n _fireCallback(callback, e, combo);\n\n // we should ignore the next key up if the action is key down\n // or keypress. this is so if you finish a sequence and\n // release the key the final key will not trigger a keyup\n if (action !== 'keyup') {\n _ignoreNextKeyup = _characterFromEvent(e);\n }\n\n // weird race condition if a sequence ends with the key\n // another sequence begins with\n setTimeout(_resetSequences, 10);\n }\n\n // loop through keys one at a time and bind the appropriate callback\n // function. for any key leading up to the final one it should\n // increase the sequence. after the final, it should reset all sequences\n //\n // if an action is specified in the original bind call then that will\n // be used throughout. otherwise we will pass the action that the\n // next key in the sequence should match. this allows a sequence\n // to mix and match keypress and keydown events depending on which\n // ones are better suited to the key provided\n for (var i = 0; i < keys.length; ++i) {\n var isFinal = i + 1 === keys.length;\n var wrappedCallback = isFinal ? _callbackAndReset : _increaseSequence(action || _getKeyInfo(keys[i + 1]).action);\n _bindSingle(keys[i], wrappedCallback, action, combo, i);\n }\n }\n\n /**\n * binds a single keyboard combination\n *\n * @param {string} combination\n * @param {Function} callback\n * @param {string=} action\n * @param {string=} sequenceName - name of sequence if part of sequence\n * @param {number=} level - what part of the sequence the command is\n * @returns void\n */\n function _bindSingle(combination, callback, action, sequenceName, level) {\n\n // store a direct mapped reference for use with Mousetrap.trigger\n self._directMap[combination + ':' + action] = callback;\n\n // make sure multiple spaces in a row become a single space\n combination = combination.replace(/\\s+/g, ' ');\n\n var sequence = combination.split(' ');\n var info;\n\n // if this pattern is a sequence of keys then run through this method\n // to reprocess each pattern one key at a time\n if (sequence.length > 1) {\n _bindSequence(combination, sequence, callback, action);\n return;\n }\n\n info = _getKeyInfo(combination, action);\n\n // make sure to initialize array if this is the first time\n // a callback is added for this key\n self._callbacks[info.key] = self._callbacks[info.key] || [];\n\n // remove an existing match if there is one\n _getMatches(info.key, info.modifiers, {type: info.action}, sequenceName, combination, level);\n\n // add this call back to the array\n // if it is a sequence put it at the beginning\n // if not put it at the end\n //\n // this is important because the way these are processed expects\n // the sequence ones to come first\n self._callbacks[info.key][sequenceName ? 'unshift' : 'push']({\n callback: callback,\n modifiers: info.modifiers,\n action: info.action,\n seq: sequenceName,\n level: level,\n combo: combination\n });\n }\n\n /**\n * binds multiple combinations to the same callback\n *\n * @param {Array} combinations\n * @param {Function} callback\n * @param {string|undefined} action\n * @returns void\n */\n self._bindMultiple = function(combinations, callback, action) {\n for (var i = 0; i < combinations.length; ++i) {\n _bindSingle(combinations[i], callback, action);\n }\n };\n\n // start!\n _addEvent(targetElement, 'keypress', _handleKeyEvent);\n _addEvent(targetElement, 'keydown', _handleKeyEvent);\n _addEvent(targetElement, 'keyup', _handleKeyEvent);\n }\n\n /**\n * binds an event to mousetrap\n *\n * can be a single key, a combination of keys separated with +,\n * an array of keys, or a sequence of keys separated by spaces\n *\n * be sure to list the modifier keys first to make sure that the\n * correct key ends up getting bound (the last key in the pattern)\n *\n * @param {string|Array} keys\n * @param {Function} callback\n * @param {string=} action - 'keypress', 'keydown', or 'keyup'\n * @returns void\n */\n Mousetrap.prototype.bind = function(keys, callback, action) {\n var self = this;\n keys = keys instanceof Array ? keys : [keys];\n self._bindMultiple.call(self, keys, callback, action);\n return self;\n };\n\n /**\n * unbinds an event to mousetrap\n *\n * the unbinding sets the callback function of the specified key combo\n * to an empty function and deletes the corresponding key in the\n * _directMap dict.\n *\n * TODO: actually remove this from the _callbacks dictionary instead\n * of binding an empty function\n *\n * the keycombo+action has to be exactly the same as\n * it was defined in the bind method\n *\n * @param {string|Array} keys\n * @param {string} action\n * @returns void\n */\n Mousetrap.prototype.unbind = function(keys, action) {\n var self = this;\n return self.bind.call(self, keys, function() {}, action);\n };\n\n /**\n * triggers an event that has already been bound\n *\n * @param {string} keys\n * @param {string=} action\n * @returns void\n */\n Mousetrap.prototype.trigger = function(keys, action) {\n var self = this;\n if (self._directMap[keys + ':' + action]) {\n self._directMap[keys + ':' + action]({}, keys);\n }\n return self;\n };\n\n /**\n * resets the library back to its initial state. this is useful\n * if you want to clear out the current keyboard shortcuts and bind\n * new ones - for example if you switch to another page\n *\n * @returns void\n */\n Mousetrap.prototype.reset = function() {\n var self = this;\n self._callbacks = {};\n self._directMap = {};\n return self;\n };\n\n /**\n * should we stop this event before firing off callbacks\n *\n * @param {Event} e\n * @param {Element} element\n * @return {boolean}\n */\n Mousetrap.prototype.stopCallback = function(e, element) {\n var self = this;\n\n // if the element has the class \"mousetrap\" then no need to stop\n if ((' ' + element.className + ' ').indexOf(' mousetrap ') > -1) {\n return false;\n }\n\n if (_belongsTo(element, self.target)) {\n return false;\n }\n\n // Events originating from a shadow DOM are re-targetted and `e.target` is the shadow host,\n // not the initial event target in the shadow tree. Note that not all events cross the\n // shadow boundary.\n // For shadow trees with `mode: 'open'`, the initial event target is the first element in\n // the event’s composed path. For shadow trees with `mode: 'closed'`, the initial event\n // target cannot be obtained.\n if ('composedPath' in e && typeof e.composedPath === 'function') {\n // For open shadow trees, update `element` so that the following check works.\n var initialEventTarget = e.composedPath()[0];\n if (initialEventTarget !== e.target) {\n element = initialEventTarget;\n }\n }\n\n // stop for input, select, and textarea\n return element.tagName == 'INPUT' || element.tagName == 'SELECT' || element.tagName == 'TEXTAREA' || element.isContentEditable;\n };\n\n /**\n * exposes _handleKey publicly so it can be overwritten by extensions\n */\n Mousetrap.prototype.handleKey = function() {\n var self = this;\n return self._handleKey.apply(self, arguments);\n };\n\n /**\n * allow custom key mappings\n */\n Mousetrap.addKeycodes = function(object) {\n for (var key in object) {\n if (object.hasOwnProperty(key)) {\n _MAP[key] = object[key];\n }\n }\n _REVERSE_MAP = null;\n };\n\n /**\n * Init the global mousetrap functions\n *\n * This method is needed to allow the global mousetrap functions to work\n * now that mousetrap is a constructor function.\n */\n Mousetrap.init = function() {\n var documentMousetrap = Mousetrap(document);\n for (var method in documentMousetrap) {\n if (method.charAt(0) !== '_') {\n Mousetrap[method] = (function(method) {\n return function() {\n return documentMousetrap[method].apply(documentMousetrap, arguments);\n };\n } (method));\n }\n }\n };\n\n Mousetrap.init();\n\n // expose mousetrap to the global object\n window.Mousetrap = Mousetrap;\n\n // expose as a common js module\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = Mousetrap;\n }\n\n // expose mousetrap as an AMD module\n if (typeof define === 'function' && define.amd) {\n define(function() {\n return Mousetrap;\n });\n }\n}) (typeof window !== 'undefined' ? window : null, typeof window !== 'undefined' ? document : null);\n","import { useState, useEffect, useLayoutEffect, useMemo } from \"react\";\nimport Mousetrap from \"mousetrap\";\nconst createStateHook = () => {\n const mousetraps = /* @__PURE__ */ new Map();\n let keys = [];\n const bindKeys = (nextKeys) => {\n nextKeys.forEach((k) => {\n if (k.disabled) {\n return;\n }\n if (k.ref) {\n if (!k.ref.current) {\n return;\n }\n const element = k.ref.current;\n if (!mousetraps.has(element)) {\n mousetraps.set(element, new Mousetrap(element));\n }\n mousetraps.get(element).bind(k.keys, k.callback, k.action);\n } else {\n if (!mousetraps.get(void 0)) {\n mousetraps.set(void 0, Mousetrap);\n }\n mousetraps.get(void 0).bind(k.keys, k.callback, k.action);\n }\n });\n };\n const addKeys = (nextKeys) => {\n keys = [...keys, ...nextKeys];\n bindKeys(nextKeys);\n };\n const removeKeys = (nextKeys) => {\n keys = keys.filter((k) => !nextKeys.includes(k));\n nextKeys.forEach((k) => {\n var _a, _b;\n if (k.ref) {\n if (!k.ref.current) {\n return;\n }\n (_a = mousetraps.get(k.ref.current)) == null ? void 0 : _a.unbind(k.keys, k.action);\n } else {\n (_b = mousetraps.get(void 0)) == null ? void 0 : _b.unbind(k.keys, k.action);\n }\n });\n for (const [element] of mousetraps) {\n if (element === void 0) {\n if (keys.some((k) => k.ref === void 0)) {\n continue;\n }\n } else {\n if (keys.some((k) => {\n var _a;\n return ((_a = k.ref) == null ? void 0 : _a.current) === element;\n })) {\n continue;\n }\n }\n mousetraps.delete(element);\n }\n bindKeys(keys);\n };\n return () => {\n const [state, setState] = useState([]);\n useEffect(() => {\n setState(keys);\n }, []);\n return [state, addKeys, removeKeys];\n };\n};\nconst useHotkeyState = createStateHook();\nconst useHotkeys = (shortcuts) => {\n const [keys, addKeys, removeKeys] = useHotkeyState();\n useLayoutEffect(() => {\n if (shortcuts) {\n addKeys(shortcuts);\n }\n return () => {\n if (shortcuts) {\n removeKeys(shortcuts);\n }\n };\n }, [addKeys, removeKeys, shortcuts]);\n return useMemo(\n () => keys.reduce((agg, cur) => {\n if (!agg.find((a) => a.keys === cur.keys && a.ref && cur.ref)) {\n agg.push(cur);\n }\n return agg;\n }, []),\n [keys]\n );\n};\nlet isMac = false;\ntry {\n if (navigator)\n isMac = navigator.platform.toUpperCase().indexOf(\"MAC\") >= 0;\n} catch (e) {\n console.warn(e);\n}\nconst MODIFIER_KEY = isMac ? \"⌘\" : \"CTRL\";\nfunction getHotkeyText(hotkey) {\n return hotkey.replace(\"modifier\", MODIFIER_KEY).replace(\"mod\", MODIFIER_KEY).replace(\"shift\", \"⇧\");\n}\nexport {\n MODIFIER_KEY,\n getHotkeyText,\n useHotkeyState,\n useHotkeys\n};\n//# sourceMappingURL=index.js.map\n","/*!\n * hold-event\n * https://github.com/yomotsu/hold-event\n * (c) 2020 @yomotsu\n * Released under the MIT License.\n */\nvar HOLD_EVENT_TYPE;\r\n(function (HOLD_EVENT_TYPE) {\r\n HOLD_EVENT_TYPE[\"HOLD_START\"] = \"holdStart\";\r\n HOLD_EVENT_TYPE[\"HOLD_END\"] = \"holdEnd\";\r\n HOLD_EVENT_TYPE[\"HOLDING\"] = \"holding\";\r\n})(HOLD_EVENT_TYPE || (HOLD_EVENT_TYPE = {}));\n\nclass EventDispatcher {\r\n constructor() {\r\n this._listeners = {};\r\n }\r\n addEventListener(type, listener) {\r\n const listeners = this._listeners;\r\n if (listeners[type] === undefined)\r\n listeners[type] = [];\r\n if (listeners[type].indexOf(listener) === -1)\r\n listeners[type].push(listener);\r\n }\r\n removeEventListener(type, listener) {\r\n const listeners = this._listeners;\r\n const listenerArray = listeners[type];\r\n if (listenerArray !== undefined) {\r\n const index = listenerArray.indexOf(listener);\r\n if (index !== -1)\r\n listenerArray.splice(index, 1);\r\n }\r\n }\r\n dispatchEvent(event) {\r\n const listeners = this._listeners;\r\n const listenerArray = listeners[event.type];\r\n if (listenerArray !== undefined) {\r\n event.target = this;\r\n const array = listenerArray.slice(0);\r\n for (let i = 0, l = array.length; i < l; i++) {\r\n array[i].call(this, event);\r\n }\r\n }\r\n }\r\n}\n\nclass Hold extends EventDispatcher {\r\n constructor(holdIntervalDelay) {\r\n super();\r\n this._enabled = true;\r\n this._holding = false;\r\n this._intervalId = -1;\r\n this._deltaTime = 0;\r\n this._elapsedTime = 0;\r\n this._lastTime = 0;\r\n this._holdStart = (event) => {\r\n if (!this._enabled)\r\n return;\r\n if (this._holding)\r\n return;\r\n this._deltaTime = 0;\r\n this._elapsedTime = 0;\r\n this._lastTime = performance.now();\r\n this.dispatchEvent({\r\n type: HOLD_EVENT_TYPE.HOLD_START,\r\n deltaTime: this._deltaTime,\r\n elapsedTime: this._elapsedTime,\r\n originalEvent: event,\r\n });\r\n this._holding = true;\r\n const cb = () => {\r\n this._intervalId = !!this.holdIntervalDelay ?\r\n window.setTimeout(cb, this.holdIntervalDelay) :\r\n window.requestAnimationFrame(cb);\r\n const now = performance.now();\r\n this._deltaTime = now - this._lastTime;\r\n this._elapsedTime += this._deltaTime;\r\n this._lastTime = performance.now();\r\n this.dispatchEvent({\r\n type: HOLD_EVENT_TYPE.HOLDING,\r\n deltaTime: this._deltaTime,\r\n elapsedTime: this._elapsedTime,\r\n originalEvent: event\r\n });\r\n };\r\n this._intervalId = !!this.holdIntervalDelay ?\r\n window.setTimeout(cb, this.holdIntervalDelay) :\r\n window.requestAnimationFrame(cb);\r\n };\r\n this._holdEnd = (event) => {\r\n if (!this._enabled)\r\n return;\r\n if (!this._holding)\r\n return;\r\n const now = performance.now();\r\n this._deltaTime = now - this._lastTime;\r\n this._elapsedTime += this._deltaTime;\r\n this._lastTime = performance.now();\r\n this.dispatchEvent({\r\n type: HOLD_EVENT_TYPE.HOLD_END,\r\n deltaTime: this._deltaTime,\r\n elapsedTime: this._elapsedTime,\r\n originalEvent: event,\r\n });\r\n window.clearTimeout(this._intervalId);\r\n window.cancelAnimationFrame(this._intervalId);\r\n this._holding = false;\r\n };\r\n this.holdIntervalDelay = holdIntervalDelay;\r\n }\r\n get enabled() {\r\n return this._enabled;\r\n }\r\n set enabled(enabled) {\r\n if (this._enabled === enabled)\r\n return;\r\n this._enabled = enabled;\r\n if (!this._enabled)\r\n this._holdEnd();\r\n }\r\n}\n\nclass ElementHold extends Hold {\r\n constructor(element, holdIntervalDelay) {\r\n super(holdIntervalDelay);\r\n this._holdStart = this._holdStart.bind(this);\r\n this._holdEnd = this._holdEnd.bind(this);\r\n const onPointerDown = this._holdStart;\r\n const onPointerUp = this._holdEnd;\r\n element.addEventListener('mousedown', onPointerDown);\r\n document.addEventListener('mouseup', onPointerUp);\r\n window.addEventListener('blur', this._holdEnd);\r\n }\r\n}\n\nclass KeyboardKeyHold extends Hold {\r\n constructor(keyCode, holdIntervalDelay) {\r\n super(holdIntervalDelay);\r\n this._holdStart = this._holdStart.bind(this);\r\n this._holdEnd = this._holdEnd.bind(this);\r\n const onKeydown = (event) => {\r\n if (isInputEvent(event))\r\n return;\r\n if (event.keyCode !== keyCode)\r\n return;\r\n this._holdStart(event);\r\n };\r\n const onKeyup = (event) => {\r\n if (event.keyCode !== keyCode)\r\n return;\r\n this._holdEnd(event);\r\n };\r\n document.addEventListener('keydown', onKeydown);\r\n document.addEventListener('keyup', onKeyup);\r\n window.addEventListener('blur', this._holdEnd);\r\n }\r\n}\r\nfunction isInputEvent(event) {\r\n const target = event.target;\r\n return (target.tagName === 'INPUT' ||\r\n target.tagName === 'SELECT' ||\r\n target.tagName === 'TEXTAREA' ||\r\n target.isContentEditable);\r\n}\n\nexport { ElementHold, HOLD_EVENT_TYPE, KeyboardKeyHold };\n","import React, {\n FC,\n useRef,\n useEffect,\n useCallback,\n forwardRef,\n Ref,\n useImperativeHandle,\n useMemo,\n ReactNode\n} from 'react';\nimport { useThree, useFrame, extend } from '@react-three/fiber';\nimport {\n MOUSE,\n Vector2,\n Vector3,\n Vector4,\n Quaternion,\n Matrix4,\n Spherical,\n Box3,\n Sphere,\n Raycaster,\n MathUtils\n} from 'three';\nimport ThreeCameraControls from 'camera-controls';\nimport {\n CameraControlsContext,\n CameraControlsContextProps\n} from './useCameraControls';\nimport { useHotkeys } from 'reakeys';\nimport * as holdEvent from 'hold-event';\nimport { useStore } from '../store';\n\n// Install the camera controls\n// Use a subset for better three shaking\nThreeCameraControls.install({\n THREE: {\n MOUSE: MOUSE,\n Vector2: Vector2,\n Vector3: Vector3,\n Vector4: Vector4,\n Quaternion: Quaternion,\n Matrix4: Matrix4,\n Spherical: Spherical,\n Box3: Box3,\n Sphere: Sphere,\n Raycaster: Raycaster,\n MathUtils: {\n DEG2RAD: MathUtils?.DEG2RAD,\n clamp: MathUtils?.clamp\n }\n }\n});\n\n// Extend r3f with the new controls\nextend({ ThreeCameraControls });\n\nconst KEY_CODES = {\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40\n};\n\nconst leftKey = new holdEvent.KeyboardKeyHold(KEY_CODES.ARROW_LEFT, 100);\nconst rightKey = new holdEvent.KeyboardKeyHold(KEY_CODES.ARROW_RIGHT, 100);\nconst upKey = new holdEvent.KeyboardKeyHold(KEY_CODES.ARROW_UP, 100);\nconst downKey = new holdEvent.KeyboardKeyHold(KEY_CODES.ARROW_DOWN, 100);\n\nexport type CameraMode = 'pan' | 'rotate' | 'orbit';\n\nexport interface CameraControlsProps {\n /**\n * Mode of the camera.\n */\n mode?: CameraMode;\n\n /**\n * Children symbols.\n */\n children?: ReactNode;\n\n /**\n * Animate transitions to centering.\n */\n animated?: boolean;\n\n /**\n * Disable the controls.\n */\n disabled?: boolean;\n}\n\nexport type CameraControlsRef = CameraControlsContextProps;\n\nexport const CameraControls: FC<\n CameraControlsProps & { ref?: Ref }\n> = forwardRef(\n ({ mode, children, animated, disabled }, ref: Ref) => {\n const cameraRef = useRef(null);\n const camera = useThree(state => state.camera);\n const gl = useThree(state => state.gl);\n const isOrbiting = mode === 'orbit';\n const setPanning = useStore(state => state.setPanning);\n\n useFrame((_state, delta) => {\n if (cameraRef.current?.enabled) {\n cameraRef.current?.update(delta);\n }\n\n if (isOrbiting) {\n cameraRef.current.azimuthAngle += 20 * delta * MathUtils.DEG2RAD;\n }\n }, -1);\n\n useEffect(() => () => cameraRef.current?.dispose(), []);\n\n const zoomIn = useCallback(() => {\n cameraRef.current?.zoom(camera.zoom / 2, animated);\n }, [animated, camera.zoom]);\n\n const zoomOut = useCallback(() => {\n cameraRef.current?.zoom(-camera.zoom / 2, animated);\n }, [animated, camera.zoom]);\n\n const panRight = useCallback(\n event => {\n if (!isOrbiting) {\n cameraRef.current?.truck(-0.03 * event.deltaTime, 0, animated);\n }\n },\n [animated, isOrbiting]\n );\n\n const panLeft = useCallback(\n event => {\n if (!isOrbiting) {\n cameraRef.current?.truck(0.03 * event.deltaTime, 0, animated);\n }\n },\n [animated, isOrbiting]\n );\n\n const panUp = useCallback(\n event => {\n if (!isOrbiting) {\n cameraRef.current?.truck(0, 0.03 * event.deltaTime, animated);\n }\n },\n [animated, isOrbiting]\n );\n\n const panDown = useCallback(\n event => {\n if (!isOrbiting) {\n cameraRef.current?.truck(0, -0.03 * event.deltaTime, animated);\n }\n },\n [animated, isOrbiting]\n );\n\n const onKeyDown = useCallback(\n event => {\n if (event.code === 'Space') {\n if (mode === 'rotate') {\n cameraRef.current.mouseButtons.left =\n ThreeCameraControls.ACTION.TRUCK;\n } else {\n cameraRef.current.mouseButtons.left =\n ThreeCameraControls.ACTION.ROTATE;\n }\n }\n },\n [mode]\n );\n\n const onKeyUp = useCallback(\n event => {\n if (event.code === 'Space') {\n if (mode === 'rotate') {\n cameraRef.current.mouseButtons.left =\n ThreeCameraControls.ACTION.ROTATE;\n } else {\n cameraRef.current.mouseButtons.left =\n ThreeCameraControls.ACTION.TRUCK;\n }\n }\n },\n [mode]\n );\n\n useEffect(() => {\n leftKey.addEventListener('holding', panLeft);\n rightKey.addEventListener('holding', panRight);\n upKey.addEventListener('holding', panUp);\n downKey.addEventListener('holding', panDown);\n window.addEventListener('keydown', onKeyDown);\n window.addEventListener('keyup', onKeyUp);\n\n return () => {\n leftKey.removeEventListener('holding', panLeft);\n rightKey.removeEventListener('holding', panRight);\n upKey.removeEventListener('holding', panUp);\n downKey.removeEventListener('holding', panDown);\n window.removeEventListener('keydown', onKeyDown);\n window.removeEventListener('keyup', onKeyUp);\n };\n }, [onKeyDown, onKeyUp, panDown, panLeft, panRight, panUp]);\n\n useEffect(() => {\n const onControl = () => setPanning(true);\n const onControlEnd = () => setPanning(false);\n\n const ref = cameraRef.current;\n if (ref) {\n ref.addEventListener('control', onControl);\n ref.addEventListener('controlend', onControlEnd);\n }\n\n return () => {\n if (ref) {\n ref.removeEventListener('control', onControl);\n ref.removeEventListener('controlend', onControlEnd);\n }\n };\n }, [cameraRef, setPanning]);\n\n useEffect(() => {\n if (mode === 'rotate') {\n cameraRef.current.mouseButtons.left = ThreeCameraControls.ACTION.ROTATE;\n } else {\n cameraRef.current.mouseButtons.left = ThreeCameraControls.ACTION.TRUCK;\n }\n }, [mode]);\n\n useHotkeys([\n {\n name: 'Zoom In',\n keys: 'command+shift+i',\n callback: event => {\n event.preventDefault();\n zoomIn();\n }\n },\n {\n name: 'Zoom Out',\n keys: 'command+shift+o',\n callback: event => {\n event.preventDefault();\n zoomOut();\n }\n }\n ]);\n\n const values = useMemo(\n () => ({\n controls: cameraRef.current,\n zoomIn: () => zoomIn(),\n zoomOut: () => zoomOut(),\n panLeft: () => panLeft({ deltaTime: 1 }),\n panRight: () => panRight({ deltaTime: 1 }),\n panDown: () => panDown({ deltaTime: 1 }),\n panUp: () => panUp({ deltaTime: 1 })\n }),\n // eslint-disable-next-line\n [zoomIn, zoomOut, panLeft, panRight, panDown, panUp, cameraRef.current]\n );\n\n useImperativeHandle(ref, () => values);\n\n return (\n \n \n {children}\n \n );\n }\n);\n\nCameraControls.defaultProps = {\n mode: 'rotate'\n};\n","import { useThree } from '@react-three/fiber';\nimport { useCameraControls } from './useCameraControls';\nimport { useCallback, useLayoutEffect, useMemo, useRef } from 'react';\nimport { Vector3, Box3 } from 'three';\nimport { useHotkeys } from 'reakeys';\nimport { getLayoutCenter } from '../utils/layout';\nimport { InternalGraphNode } from '../types';\nimport { useStore } from '../store';\n\nconst PADDING = 50;\n\nexport interface CenterGraphInput {\n /**\n * Whether the animate the transition or not.\n */\n animated?: boolean;\n}\n\nexport interface CenterGraphOutput {\n centerNodes: (nodes?: InternalGraphNode[]) => void;\n centerNodesById: (ids?: string[]) => void;\n}\n\nexport const useCenterGraph = ({\n animated\n}: CenterGraphInput): CenterGraphOutput => {\n const nodes = useStore(state => state.nodes);\n const invalidate = useThree(state => state.invalidate);\n const { controls } = useCameraControls();\n\n // Find the ideal spacing for focusing\n const centerPadding = useMemo(() => {\n const { maxX, maxY } = getLayoutCenter(nodes);\n return Math.max(maxX, maxY);\n }, [nodes]);\n\n const centerNodes = useCallback(\n (centerNodes: InternalGraphNode[], padding = PADDING, fill = false) => {\n // Centers the graph based on the central most node\n const { minX, maxX, minY, maxY, minZ, maxZ } =\n getLayoutCenter(centerNodes);\n\n controls?.fitToBox(\n new Box3(new Vector3(minX, minY, minZ), new Vector3(maxX, maxY, maxZ)),\n animated,\n {\n cover: fill,\n paddingLeft: padding,\n paddingRight: padding,\n paddingBottom: padding,\n paddingTop: padding\n }\n );\n\n invalidate();\n },\n [invalidate, controls, animated]\n );\n\n const centerNodesById = useCallback(\n (nodeIds?: string[]) => {\n let mappedNodes: InternalGraphNode[] | null = null;\n let padding = PADDING;\n\n if (nodeIds?.length) {\n // Get center padding + our default padding\n padding = centerPadding + PADDING;\n\n // Map the node ids to the actual nodes\n mappedNodes = nodeIds.reduce((acc, id) => {\n const node = nodes.find(n => n.id === id);\n if (node) {\n acc.push(node);\n } else {\n throw new Error(\n `Attempted to center ${id} but it was not found in the nodes`\n );\n }\n\n return acc;\n }, []);\n }\n\n centerNodes(mappedNodes || nodes, padding, !!mappedNodes);\n },\n [centerNodes, nodes, centerPadding]\n );\n\n const mounted = useRef(false);\n useLayoutEffect(() => {\n // Center the graph once nodes are loaded on mount\n if (controls && nodes?.length && !mounted.current) {\n centerNodes(nodes);\n mounted.current = true;\n }\n }, [controls, centerNodes, nodes]);\n\n useHotkeys([\n {\n name: 'Center',\n keys: ['command+shift+c'],\n callback: () => centerNodes(nodes)\n }\n ]);\n\n return { centerNodes, centerNodesById };\n};\n","import React, { useRef } from 'react';\n\n// vector add\nfunction addV(v1, v2) {\n return v1.map(function (v, i) {\n return v + v2[i];\n });\n} // vector substract\n\nfunction subV(v1, v2) {\n return v1.map(function (v, i) {\n return v - v2[i];\n });\n}\n/**\r\n * Calculates distance\r\n * @param movement the difference between current and initial vectors\r\n * @returns distance\r\n */\n\nfunction calculateDistance(movement) {\n return Math.hypot.apply(Math, movement);\n}\nfunction calculateAllGeometry(movement, delta) {\n if (delta === void 0) {\n delta = movement;\n }\n\n var dl = calculateDistance(delta);\n var alpha = dl === 0 ? 0 : 1 / dl;\n var direction = delta.map(function (v) {\n return alpha * v;\n });\n var distance = calculateDistance(movement);\n return {\n distance: distance,\n direction: direction\n };\n}\n/**\r\n * Calculates all kinematics\r\n * @template T the expected vector type\r\n * @param movement the difference between current and initial vectors\r\n * @param delta the difference between current and previous vectors\r\n * @param delta_t the time difference between current and previous timestamps\r\n * @returns all kinematics\r\n */\n\nfunction calculateAllKinematics(movement, delta, dt) {\n var dl = calculateDistance(delta);\n var alpha = dl === 0 ? 0 : 1 / dl;\n var beta = dt === 0 ? 0 : 1 / dt;\n var velocity = beta * dl;\n var velocities = delta.map(function (v) {\n return beta * v;\n });\n var direction = delta.map(function (v) {\n return alpha * v;\n });\n var distance = calculateDistance(movement);\n return {\n velocities: velocities,\n velocity: velocity,\n distance: distance,\n direction: direction\n };\n}\n/**\r\n * Because IE doesn't support `Math.sign` function, so we use the polyfill version of the function.\r\n * This polyfill function is suggested by Mozilla:\r\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sign#Polyfill\r\n * @param x target number\r\n */\n\nfunction sign(x) {\n if (Math.sign) return Math.sign(x);\n return Number(x > 0) - Number(x < 0) || +x;\n}\n\nfunction minMax(value, min, max) {\n return Math.max(min, Math.min(value, max));\n} // Based on @aholachek ;)\n// https://twitter.com/chpwn/status/285540192096497664\n// iOS constant = 0.55\n// https://medium.com/@nathangitter/building-fluid-interfaces-ios-swift-9732bb934bf5\n\n\nfunction rubberband2(distance, constant) {\n // default constant from the article is 0.7\n return Math.pow(distance, constant * 5);\n}\n\nfunction rubberband(distance, dimension, constant) {\n if (dimension === 0 || Math.abs(dimension) === Infinity) return rubberband2(distance, constant);\n return distance * dimension * constant / (dimension + constant * distance);\n}\n\nfunction rubberbandIfOutOfBounds(position, min, max, constant) {\n if (constant === void 0) {\n constant = 0.15;\n }\n\n if (constant === 0) return minMax(position, min, max);\n if (position < min) return -rubberband(min - position, max - min, constant) + min;\n if (position > max) return +rubberband(position - max, max - min, constant) + max;\n return position;\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\nfunction noop() {}\n/**\r\n * TODO Beware that only optimized cases are covered in tests =)\r\n * TODO Need to cover general case as well\r\n *\r\n * @param fns\r\n */\n\nfunction chainFns() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n if (fns.length === 0) return noop;\n if (fns.length === 1) return fns[0];\n return function () {\n var result;\n\n for (var _iterator = _createForOfIteratorHelperLoose(fns), _step; !(_step = _iterator()).done;) {\n var fn = _step.value;\n result = fn.apply(this, arguments) || result;\n }\n\n return result;\n };\n}\n/**\r\n * Expects a simple value or 2D vector (an array with 2 elements) and\r\n * always returns 2D vector. If simple value is passed, returns a\r\n * vector with this value as both coordinates.\r\n *\r\n * @param value\r\n */\n\nfunction ensureVector(value, fallback) {\n if (value === undefined) {\n if (fallback === undefined) {\n throw new Error('Must define fallback value if undefined is expected');\n }\n\n value = fallback;\n }\n\n if (Array.isArray(value)) return value;\n return [value, value];\n}\n/**\r\n * Helper for defining a default value\r\n *\r\n * @param value\r\n * @param fallback\r\n */\n\nfunction assignDefault(value, fallback) {\n return Object.assign({}, fallback, value || {});\n}\n/**\r\n * Resolves getters (functions) by calling them\r\n * If simple value is given it just passes through\r\n *\r\n * @param v\r\n */\n\nfunction valueFn(v) {\n if (typeof v === 'function') {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n // @ts-ignore\n return v.apply(void 0, args);\n } else {\n return v;\n }\n}\n\nfunction resolveWith(config, resolvers) {\n if (config === void 0) {\n config = {};\n }\n\n var result = {};\n\n for (var _i = 0, _Object$entries = Object.entries(resolvers); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _Object$entries[_i],\n key = _Object$entries$_i[0],\n resolver = _Object$entries$_i[1];\n\n switch (typeof resolver) {\n case 'function':\n result[key] = resolver.call(result, config[key], key, config);\n break;\n\n case 'object':\n result[key] = resolveWith(config[key], resolver);\n break;\n\n case 'boolean':\n if (resolver) result[key] = config[key];\n break;\n }\n }\n\n return result;\n}\n\n/**\r\n * Whether the browser supports GestureEvent (ie Safari)\r\n * @returns true if the browser supports gesture event\r\n */\nfunction supportsGestureEvents() {\n try {\n // TODO [TS] possibly find GestureEvent definitions?\n // @ts-ignore: no type definitions for webkit GestureEvents\n return 'constructor' in GestureEvent;\n } catch (e) {\n return false;\n }\n}\nfunction supportsTouchEvents() {\n return typeof window !== 'undefined' && 'ontouchstart' in window;\n}\nfunction supportsPointerEvents() {\n return typeof window !== 'undefined' && 'onpointerdown' in window;\n}\n\nfunction getEventTouches(event) {\n if ('pointerId' in event) return null;\n return event.type === 'touchend' ? event.changedTouches : event.targetTouches;\n}\n\nfunction getTouchIds(event) {\n return Array.from(getEventTouches(event)).map(function (t) {\n return t.identifier;\n });\n}\nfunction getGenericEventData(event) {\n var buttons = 'buttons' in event ? event.buttons : 0;\n var shiftKey = event.shiftKey,\n altKey = event.altKey,\n metaKey = event.metaKey,\n ctrlKey = event.ctrlKey; // TODO check if this might create some overrides?\n\n return {\n buttons: buttons,\n shiftKey: shiftKey,\n altKey: altKey,\n metaKey: metaKey,\n ctrlKey: ctrlKey\n };\n}\n\nvar identity = function identity(xy) {\n return xy;\n};\n/**\r\n * Gets pointer event values.\r\n * @param event\r\n * @returns pointer event values\r\n */\n\n\nfunction getPointerEventValues(event, transform) {\n if (transform === void 0) {\n transform = identity;\n }\n\n var touchEvents = getEventTouches(event);\n\n var _ref = touchEvents ? touchEvents[0] : event,\n clientX = _ref.clientX,\n clientY = _ref.clientY;\n\n return transform([clientX, clientY]);\n}\n/**\r\n * Gets two touches event data\r\n * @param event\r\n * @returns two touches event data\r\n */\n\nfunction getTwoTouchesEventValues(event, pointerIds, transform) {\n if (transform === void 0) {\n transform = identity;\n }\n\n var _Array$from$filter = Array.from(event.touches).filter(function (t) {\n return pointerIds.includes(t.identifier);\n }),\n A = _Array$from$filter[0],\n B = _Array$from$filter[1];\n\n if (!A || !B) throw Error(\"The event doesn't have two pointers matching the pointerIds\");\n var dx = B.clientX - A.clientX;\n var dy = B.clientY - A.clientY;\n var cx = (B.clientX + A.clientX) / 2;\n var cy = (B.clientY + A.clientY) / 2; // const e: any = 'nativeEvent' in event ? event.nativeEvent : event\n\n var distance = Math.hypot(dx, dy); // FIXME rotation has inconsistant values so we're not using it atm\n // const angle = (e.rotation as number) ?? -(Math.atan2(dx, dy) * 180) / Math.PI\n\n var angle = -(Math.atan2(dx, dy) * 180) / Math.PI;\n var values = transform([distance, angle]);\n var origin = transform([cx, cy]);\n return {\n values: values,\n origin: origin\n };\n}\n/**\r\n * Gets scroll event values\r\n * @param event\r\n * @returns scroll event values\r\n */\n\nfunction getScrollEventValues(event, transform) {\n if (transform === void 0) {\n transform = identity;\n }\n\n // If the currentTarget is the window then we return the scrollX/Y position.\n // If not (ie the currentTarget is a DOM element), then we return scrollLeft/Top\n var _event$currentTarget = event.currentTarget,\n scrollX = _event$currentTarget.scrollX,\n scrollY = _event$currentTarget.scrollY,\n scrollLeft = _event$currentTarget.scrollLeft,\n scrollTop = _event$currentTarget.scrollTop;\n return transform([scrollX || scrollLeft || 0, scrollY || scrollTop || 0]);\n} // wheel delta defaults from https://github.com/facebookarchive/fixed-data-table/blob/master/src/vendor_upstream/dom/normalizeWheel.js\n\nvar LINE_HEIGHT = 40;\nvar PAGE_HEIGHT = 800;\n/**\r\n * Gets wheel event values.\r\n * @param event\r\n * @returns wheel event values\r\n */\n\nfunction getWheelEventValues(event, transform) {\n if (transform === void 0) {\n transform = identity;\n }\n\n var deltaX = event.deltaX,\n deltaY = event.deltaY,\n deltaMode = event.deltaMode; // normalize wheel values, especially for Firefox\n\n if (deltaMode === 1) {\n deltaX *= LINE_HEIGHT;\n deltaY *= LINE_HEIGHT;\n } else if (deltaMode === 2) {\n deltaX *= PAGE_HEIGHT;\n deltaY *= PAGE_HEIGHT;\n }\n\n return transform([deltaX, deltaY]);\n}\n/**\r\n * Gets webkit gesture event values.\r\n * @param event\r\n * @returns webkit gesture event values\r\n */\n\nfunction getWebkitGestureEventValues(event, transform) {\n if (transform === void 0) {\n transform = identity;\n }\n\n return transform([event.scale, event.rotation]);\n}\n\nvar DEFAULT_DRAG_DELAY = 180;\nvar DEFAULT_RUBBERBAND = 0.15;\nvar DEFAULT_SWIPE_VELOCITY = 0.5;\nvar DEFAULT_SWIPE_DISTANCE = 50;\nvar DEFAULT_SWIPE_DURATION = 250;\nvar InternalGestureOptionsNormalizers = {\n threshold: function threshold(value) {\n if (value === void 0) {\n value = 0;\n }\n\n return ensureVector(value);\n },\n rubberband: function rubberband(value) {\n if (value === void 0) {\n value = 0;\n }\n\n switch (value) {\n case true:\n return ensureVector(DEFAULT_RUBBERBAND);\n\n case false:\n return ensureVector(0);\n\n default:\n return ensureVector(value);\n }\n },\n enabled: function enabled(value) {\n if (value === void 0) {\n value = true;\n }\n\n return value;\n },\n triggerAllEvents: function triggerAllEvents(value) {\n if (value === void 0) {\n value = false;\n }\n\n return value;\n },\n initial: function initial(value) {\n if (value === void 0) {\n value = 0;\n }\n\n if (typeof value === 'function') return value;\n return ensureVector(value);\n },\n transform: true\n};\n\nvar InternalCoordinatesOptionsNormalizers = /*#__PURE__*/_extends({}, InternalGestureOptionsNormalizers, {\n axis: true,\n lockDirection: function lockDirection(value) {\n if (value === void 0) {\n value = false;\n }\n\n return value;\n },\n bounds: function bounds(value) {\n if (value === void 0) {\n value = {};\n }\n\n if (typeof value === 'function') return function (state) {\n return InternalCoordinatesOptionsNormalizers.bounds(value(state));\n };\n var _value2 = value,\n _value2$left = _value2.left,\n left = _value2$left === void 0 ? -Infinity : _value2$left,\n _value2$right = _value2.right,\n right = _value2$right === void 0 ? Infinity : _value2$right,\n _value2$top = _value2.top,\n top = _value2$top === void 0 ? -Infinity : _value2$top,\n _value2$bottom = _value2.bottom,\n bottom = _value2$bottom === void 0 ? Infinity : _value2$bottom;\n return [[left, right], [top, bottom]];\n }\n});\n\nvar isBrowser = typeof window !== 'undefined' && window.document && window.document.createElement;\nvar InternalGenericOptionsNormalizers = {\n enabled: function enabled(value) {\n if (value === void 0) {\n value = true;\n }\n\n return value;\n },\n domTarget: true,\n window: /*#__PURE__*/function (_window) {\n function window(_x) {\n return _window.apply(this, arguments);\n }\n\n window.toString = function () {\n return _window.toString();\n };\n\n return window;\n }(function (value) {\n if (value === void 0) {\n value = isBrowser ? window : undefined;\n }\n\n return value;\n }),\n eventOptions: function eventOptions(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$passive = _ref.passive,\n passive = _ref$passive === void 0 ? true : _ref$passive,\n _ref$capture = _ref.capture,\n capture = _ref$capture === void 0 ? false : _ref$capture;\n\n return {\n passive: passive,\n capture: capture\n };\n },\n transform: true\n};\n\nvar InternalDistanceAngleOptionsNormalizers = /*#__PURE__*/_extends({}, InternalGestureOptionsNormalizers, {\n bounds: function bounds(_value, _key, _ref2) {\n var _ref2$distanceBounds = _ref2.distanceBounds,\n distanceBounds = _ref2$distanceBounds === void 0 ? {} : _ref2$distanceBounds,\n _ref2$angleBounds = _ref2.angleBounds,\n angleBounds = _ref2$angleBounds === void 0 ? {} : _ref2$angleBounds;\n\n var _distanceBounds = function _distanceBounds(state) {\n var D = assignDefault(valueFn(distanceBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [D.min, D.max];\n };\n\n var _angleBounds = function _angleBounds(state) {\n var A = assignDefault(valueFn(angleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [A.min, A.max];\n };\n\n if (typeof distanceBounds !== 'function' && typeof angleBounds !== 'function') return [_distanceBounds(), _angleBounds()];\n return function (state) {\n return [_distanceBounds(state), _angleBounds(state)];\n };\n }\n});\n\nvar InternalDragOptionsNormalizers = /*#__PURE__*/_extends({}, InternalCoordinatesOptionsNormalizers, {\n useTouch: function useTouch(value) {\n if (value === void 0) {\n value = false;\n }\n\n var supportsTouch = supportsTouchEvents();\n var supportsPointer = supportsPointerEvents();\n if (value && supportsTouch) return true;\n if (supportsTouch && !supportsPointer) return true;\n return false;\n },\n experimental_preventWindowScrollY: function experimental_preventWindowScrollY(value) {\n if (value === void 0) {\n value = false;\n }\n\n return value;\n },\n threshold: function threshold(v, _k, _ref3) {\n var _ref3$filterTaps = _ref3.filterTaps,\n filterTaps = _ref3$filterTaps === void 0 ? false : _ref3$filterTaps,\n _ref3$lockDirection = _ref3.lockDirection,\n lockDirection = _ref3$lockDirection === void 0 ? false : _ref3$lockDirection,\n _ref3$axis = _ref3.axis,\n axis = _ref3$axis === void 0 ? undefined : _ref3$axis;\n var A = ensureVector(v, filterTaps ? 3 : lockDirection ? 1 : axis ? 1 : 0);\n this.filterTaps = filterTaps;\n return A;\n },\n swipeVelocity: function swipeVelocity(v) {\n if (v === void 0) {\n v = DEFAULT_SWIPE_VELOCITY;\n }\n\n return ensureVector(v);\n },\n swipeDistance: function swipeDistance(v) {\n if (v === void 0) {\n v = DEFAULT_SWIPE_DISTANCE;\n }\n\n return ensureVector(v);\n },\n swipeDuration: function swipeDuration(value) {\n if (value === void 0) {\n value = DEFAULT_SWIPE_DURATION;\n }\n\n return value;\n },\n delay: function delay(value) {\n if (value === void 0) {\n value = 0;\n }\n\n switch (value) {\n case true:\n return DEFAULT_DRAG_DELAY;\n\n case false:\n return 0;\n\n default:\n return value;\n }\n }\n});\n\nfunction getInternalGenericOptions(config) {\n if (config === void 0) {\n config = {};\n }\n\n // TODO warn when passive is set to true and domTarget is undefined\n return resolveWith(config, InternalGenericOptionsNormalizers);\n}\nfunction getInternalCoordinatesOptions(config) {\n if (config === void 0) {\n config = {};\n }\n\n return resolveWith(config, InternalCoordinatesOptionsNormalizers);\n}\nfunction getInternalDistanceAngleOptions(config) {\n if (config === void 0) {\n config = {};\n }\n\n return resolveWith(config, InternalDistanceAngleOptionsNormalizers);\n}\nfunction getInternalDragOptions(config) {\n if (config === void 0) {\n config = {};\n }\n\n return resolveWith(config, InternalDragOptionsNormalizers);\n}\n\nfunction _buildMoveConfig(_ref) {\n var domTarget = _ref.domTarget,\n eventOptions = _ref.eventOptions,\n window = _ref.window,\n enabled = _ref.enabled,\n rest = _objectWithoutPropertiesLoose(_ref, [\"domTarget\", \"eventOptions\", \"window\", \"enabled\"]);\n\n var opts = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n window: window,\n enabled: enabled\n });\n opts.move = getInternalCoordinatesOptions(rest);\n return opts;\n}\nfunction _buildHoverConfig(_ref2) {\n var domTarget = _ref2.domTarget,\n eventOptions = _ref2.eventOptions,\n window = _ref2.window,\n enabled = _ref2.enabled,\n rest = _objectWithoutPropertiesLoose(_ref2, [\"domTarget\", \"eventOptions\", \"window\", \"enabled\"]);\n\n var opts = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n window: window,\n enabled: enabled\n });\n opts.hover = _extends({\n enabled: true\n }, rest);\n return opts;\n}\nfunction _buildDragConfig(_ref3) {\n var domTarget = _ref3.domTarget,\n eventOptions = _ref3.eventOptions,\n window = _ref3.window,\n enabled = _ref3.enabled,\n rest = _objectWithoutPropertiesLoose(_ref3, [\"domTarget\", \"eventOptions\", \"window\", \"enabled\"]);\n\n var opts = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n window: window,\n enabled: enabled\n });\n opts.drag = getInternalDragOptions(rest);\n return opts;\n}\nfunction _buildPinchConfig(_ref4) {\n var domTarget = _ref4.domTarget,\n eventOptions = _ref4.eventOptions,\n window = _ref4.window,\n enabled = _ref4.enabled,\n rest = _objectWithoutPropertiesLoose(_ref4, [\"domTarget\", \"eventOptions\", \"window\", \"enabled\"]);\n\n var opts = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n window: window,\n enabled: enabled\n });\n opts.pinch = getInternalDistanceAngleOptions(rest);\n return opts;\n}\nfunction _buildScrollConfig(_ref5) {\n var domTarget = _ref5.domTarget,\n eventOptions = _ref5.eventOptions,\n window = _ref5.window,\n enabled = _ref5.enabled,\n rest = _objectWithoutPropertiesLoose(_ref5, [\"domTarget\", \"eventOptions\", \"window\", \"enabled\"]);\n\n var opts = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n window: window,\n enabled: enabled\n });\n opts.scroll = getInternalCoordinatesOptions(rest);\n return opts;\n}\nfunction _buildWheelConfig(_ref6) {\n var domTarget = _ref6.domTarget,\n eventOptions = _ref6.eventOptions,\n window = _ref6.window,\n enabled = _ref6.enabled,\n rest = _objectWithoutPropertiesLoose(_ref6, [\"domTarget\", \"eventOptions\", \"window\", \"enabled\"]);\n\n var opts = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n window: window,\n enabled: enabled\n });\n opts.wheel = getInternalCoordinatesOptions(rest);\n return opts;\n}\nfunction buildComplexConfig(config, actions) {\n if (config === void 0) {\n config = {};\n }\n\n if (actions === void 0) {\n actions = new Set();\n }\n\n var _config = config,\n drag = _config.drag,\n wheel = _config.wheel,\n move = _config.move,\n scroll = _config.scroll,\n pinch = _config.pinch,\n hover = _config.hover,\n eventOptions = _config.eventOptions,\n window = _config.window,\n transform = _config.transform,\n domTarget = _config.domTarget,\n enabled = _config.enabled;\n var mergedConfig = getInternalGenericOptions({\n domTarget: domTarget,\n eventOptions: eventOptions,\n transform: transform,\n window: window,\n enabled: enabled\n });\n if (actions.has('onDrag')) mergedConfig.drag = getInternalDragOptions(drag);\n if (actions.has('onWheel')) mergedConfig.wheel = getInternalCoordinatesOptions(wheel);\n if (actions.has('onScroll')) mergedConfig.scroll = getInternalCoordinatesOptions(scroll);\n if (actions.has('onMove')) mergedConfig.move = getInternalCoordinatesOptions(move);\n if (actions.has('onPinch')) mergedConfig.pinch = getInternalDistanceAngleOptions(pinch);\n if (actions.has('onHover')) mergedConfig.hover = _extends({\n enabled: true\n }, hover);\n return mergedConfig;\n}\n\nfunction getInitial(mixed) {\n return _extends({\n _active: false,\n _blocked: false,\n _intentional: [false, false],\n _movement: [0, 0],\n _initial: [0, 0],\n _bounds: [[-Infinity, Infinity], [-Infinity, Infinity]],\n _threshold: [0, 0],\n _lastEventType: undefined,\n _dragStarted: false,\n _dragPreventScroll: false,\n _dragIsTap: true,\n _dragDelayed: false,\n event: undefined,\n intentional: false,\n values: [0, 0],\n velocities: [0, 0],\n delta: [0, 0],\n movement: [0, 0],\n offset: [0, 0],\n lastOffset: [0, 0],\n direction: [0, 0],\n initial: [0, 0],\n previous: [0, 0],\n first: false,\n last: false,\n active: false,\n timeStamp: 0,\n startTime: 0,\n elapsedTime: 0,\n cancel: noop,\n canceled: false,\n memo: undefined,\n args: undefined\n }, mixed);\n}\n\nfunction getInitialState() {\n var shared = {\n hovering: false,\n scrolling: false,\n wheeling: false,\n dragging: false,\n moving: false,\n pinching: false,\n touches: 0,\n buttons: 0,\n down: false,\n shiftKey: false,\n altKey: false,\n metaKey: false,\n ctrlKey: false,\n locked: false\n };\n var drag = getInitial({\n _pointerId: undefined,\n axis: undefined,\n xy: [0, 0],\n vxvy: [0, 0],\n velocity: 0,\n distance: 0,\n tap: false,\n swipe: [0, 0]\n });\n var pinch = getInitial({\n // @ts-expect-error when used _pointerIds we can assert its type will be [number, number]\n _pointerIds: [],\n da: [0, 0],\n vdva: [0, 0],\n // @ts-expect-error origin can never be passed as undefined in userland\n origin: undefined,\n turns: 0\n });\n var wheel = getInitial({\n axis: undefined,\n xy: [0, 0],\n vxvy: [0, 0],\n velocity: 0,\n distance: 0\n });\n var move = getInitial({\n axis: undefined,\n xy: [0, 0],\n vxvy: [0, 0],\n velocity: 0,\n distance: 0\n });\n var scroll = getInitial({\n axis: undefined,\n xy: [0, 0],\n vxvy: [0, 0],\n velocity: 0,\n distance: 0\n });\n return {\n shared: shared,\n drag: drag,\n pinch: pinch,\n wheel: wheel,\n move: move,\n scroll: scroll\n };\n}\n\nvar RecognizersMap = /*#__PURE__*/new Map();\n\nvar identity$1 = function identity(xy) {\n return xy;\n};\n/**\r\n * @private\r\n * Recognizer abstract class.\r\n */\n\n\nvar Recognizer = /*#__PURE__*/function () {\n /**\r\n * Creates an instance of a gesture recognizer.\r\n * @param stateKey drag, move, pinch, etc.\r\n * @param controller the controller attached to the gesture\r\n * @param [args] the args that should be passed to the gesture handler\r\n */\n function Recognizer(controller, args) {\n var _this = this;\n\n if (args === void 0) {\n args = [];\n }\n\n this.controller = controller;\n this.args = args;\n this.debounced = true; // Convenience method to set a timeout for a given gesture\n\n this.setTimeout = function (callback, ms) {\n var _window;\n\n if (ms === void 0) {\n ms = 140;\n }\n\n clearTimeout(_this.controller.timeouts[_this.stateKey]);\n\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n _this.controller.timeouts[_this.stateKey] = (_window = window).setTimeout.apply(_window, [callback, ms].concat(args));\n }; // Convenience method to clear a timeout for a given gesture\n\n\n this.clearTimeout = function () {\n clearTimeout(_this.controller.timeouts[_this.stateKey]);\n };\n /**\r\n * Fires the gesture handler\r\n */\n\n\n this.fireGestureHandler = function (forceFlag) {\n if (forceFlag === void 0) {\n forceFlag = false;\n }\n\n /**\r\n * If the gesture has been blocked (this can happen when the gesture has started in an unwanted direction),\r\n * clean everything and don't do anything.\r\n */\n if (_this.state._blocked) {\n // we need debounced gestures to end by themselves\n if (!_this.debounced) {\n _this.state._active = false;\n\n _this.clean();\n }\n\n return null;\n } // If the gesture has no intentional dimension, don't fire the handler.\n\n\n if (!forceFlag && !_this.state.intentional && !_this.config.triggerAllEvents) return null;\n\n if (_this.state.intentional) {\n var prev_active = _this.state.active;\n var next_active = _this.state._active;\n _this.state.active = next_active;\n _this.state.first = next_active && !prev_active;\n _this.state.last = prev_active && !next_active;\n _this.controller.state.shared[_this.ingKey] = next_active; // Sets dragging, pinching, etc. to the gesture active state\n }\n\n var touches = _this.controller.pointerIds.size || _this.controller.touchIds.size;\n var down = _this.controller.state.shared.buttons > 0 || touches > 0;\n\n var state = _extends({}, _this.controller.state.shared, _this.state, _this.mapStateValues(_this.state), {\n locked: !!document.pointerLockElement,\n touches: touches,\n down: down\n }); // @ts-expect-error\n\n\n var newMemo = _this.handler(state); // Sets memo to the returned value of the handler (unless it's not undefined)\n\n\n _this.state.memo = newMemo !== void 0 ? newMemo : _this.state.memo;\n return state;\n };\n\n this.controller = controller;\n this.args = args;\n } // Returns the gesture config\n\n\n var _proto = Recognizer.prototype;\n\n // Convenience method to update the shared state\n _proto.updateSharedState = function updateSharedState(sharedState) {\n Object.assign(this.controller.state.shared, sharedState);\n } // Convenience method to update the gesture state\n ;\n\n _proto.updateGestureState = function updateGestureState(gestureState) {\n Object.assign(this.state, gestureState);\n }\n /**\r\n * Returns state properties depending on the movement and state.\r\n *\r\n * Should be overriden for custom behavior, doesn't do anything in the implementation\r\n * below.\r\n */\n ;\n\n _proto.checkIntentionality = function checkIntentionality(_intentional, _movement) {\n return {\n _intentional: _intentional,\n _blocked: false\n };\n }\n /**\r\n * Returns basic movement properties for the gesture based on the next values and current state.\r\n */\n ;\n\n _proto.getMovement = function getMovement(values) {\n var rubberband = this.config.rubberband;\n var _this$state = this.state,\n _bounds = _this$state._bounds,\n _initial = _this$state._initial,\n _active = _this$state._active,\n wasIntentional = _this$state._intentional,\n lastOffset = _this$state.lastOffset,\n prevMovement = _this$state.movement,\n _T = _this$state._threshold;\n var M = this.getInternalMovement(values, this.state);\n var i0 = wasIntentional[0] === false ? getIntentionalDisplacement(M[0], _T[0]) : wasIntentional[0];\n var i1 = wasIntentional[1] === false ? getIntentionalDisplacement(M[1], _T[1]) : wasIntentional[1]; // Get gesture specific state properties based on intentionality and movement.\n\n var intentionalityCheck = this.checkIntentionality([i0, i1], M);\n\n if (intentionalityCheck._blocked) {\n return _extends({}, intentionalityCheck, {\n _movement: M,\n delta: [0, 0]\n });\n }\n\n var _intentional = intentionalityCheck._intentional;\n var _movement = M;\n /**\r\n * The movement sent to the handler has 0 in its dimensions when intentionality is false.\r\n * It is calculated from the actual movement minus the threshold.\r\n */\n\n var movement = [_intentional[0] !== false ? M[0] - _intentional[0] : 0, _intentional[1] !== false ? M[1] - _intentional[1] : 0];\n var offset = addV(movement, lastOffset);\n /**\r\n * Rubberband should be 0 when the gesture is no longer active, so that movement\r\n * and offset can return within their bounds.\r\n */\n\n var _rubberband = _active ? rubberband : [0, 0];\n\n movement = computeRubberband(_bounds, addV(movement, _initial), _rubberband);\n return _extends({}, intentionalityCheck, {\n intentional: _intentional[0] !== false || _intentional[1] !== false,\n _initial: _initial,\n _movement: _movement,\n movement: movement,\n values: values,\n offset: computeRubberband(_bounds, offset, _rubberband),\n delta: subV(movement, prevMovement)\n });\n } // Cleans the gesture. Can be overriden by gestures.\n ;\n\n _proto.clean = function clean() {\n this.clearTimeout();\n };\n\n _createClass(Recognizer, [{\n key: \"config\",\n get: function get() {\n return this.controller.config[this.stateKey];\n } // Is the gesture enabled\n\n }, {\n key: \"enabled\",\n get: function get() {\n return this.controller.config.enabled && this.config.enabled;\n } // Returns the controller state for a given gesture\n\n }, {\n key: \"state\",\n get: function get() {\n return this.controller.state[this.stateKey];\n } // Returns the gesture handler\n\n }, {\n key: \"handler\",\n get: function get() {\n return this.controller.handlers[this.stateKey];\n }\n }, {\n key: \"transform\",\n get: function get() {\n return this.config.transform || this.controller.config.transform || identity$1;\n }\n }]);\n\n return Recognizer;\n}(); //--------------------------------------------\n\nfunction getIntentionalDisplacement(movement, threshold) {\n if (Math.abs(movement) >= threshold) {\n return sign(movement) * threshold;\n } else {\n return false;\n }\n}\n\nfunction computeRubberband(bounds, _ref, _ref2) {\n var Vx = _ref[0],\n Vy = _ref[1];\n var Rx = _ref2[0],\n Ry = _ref2[1];\n var _bounds$ = bounds[0],\n X1 = _bounds$[0],\n X2 = _bounds$[1],\n _bounds$2 = bounds[1],\n Y1 = _bounds$2[0],\n Y2 = _bounds$2[1];\n return [rubberbandIfOutOfBounds(Vx, X1, X2, Rx), rubberbandIfOutOfBounds(Vy, Y1, Y2, Ry)];\n}\n/**\r\n * Returns a generic, common payload for all gestures from an event.\r\n */\n\n\nfunction getGenericPayload(_ref3, event, isStartEvent) {\n var state = _ref3.state;\n var timeStamp = event.timeStamp,\n _lastEventType = event.type;\n var previous = state.values;\n var elapsedTime = isStartEvent ? 0 : timeStamp - state.startTime;\n return {\n _lastEventType: _lastEventType,\n event: event,\n timeStamp: timeStamp,\n elapsedTime: elapsedTime,\n previous: previous\n };\n}\n/**\r\n * Returns the reinitialized start state for the gesture.\r\n * Should be common to all gestures.\r\n */\n\nfunction getStartGestureState(_ref4, values, event, initial) {\n var state = _ref4.state,\n config = _ref4.config,\n stateKey = _ref4.stateKey,\n args = _ref4.args,\n transform = _ref4.transform;\n var offset = state.offset;\n var startTime = event.timeStamp;\n var initialFn = config.initial,\n bounds = config.bounds,\n threshold = config.threshold; // the _threshold is the difference between a [0,0] offset converted to\n // its new space coordinates\n\n var _threshold = subV(transform(threshold), transform([0, 0])).map(Math.abs);\n\n var _state = _extends({}, getInitialState()[stateKey], {\n _active: true,\n args: args,\n values: values,\n initial: initial != null ? initial : values,\n _threshold: _threshold,\n offset: offset,\n lastOffset: offset,\n startTime: startTime\n });\n\n return _extends({}, _state, {\n _initial: valueFn(initialFn, _state),\n _bounds: valueFn(bounds, _state)\n });\n}\n\n/**\r\n * The controller will keep track of the state for all gestures and also keep\r\n * track of timeouts, and window listeners.\r\n */\n\nvar Controller = function Controller(classes) {\n var _this = this;\n\n this.classes = classes;\n this.pointerIds = new Set(); // register Pointer Events pointerIds\n\n this.touchIds = new Set(); // register Touch Events identifiers\n\n this.supportsTouchEvents = supportsTouchEvents();\n this.supportsGestureEvents = supportsGestureEvents();\n\n this.bind = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var bindings = {};\n\n for (var _iterator = _createForOfIteratorHelperLoose(_this.classes), _step; !(_step = _iterator()).done;) {\n var RecognizerClass = _step.value;\n new RecognizerClass(_this, args).addBindings(bindings);\n } // // we also add event bindings for native handlers\n\n\n var _loop = function _loop(eventKey) {\n addBindings(bindings, eventKey, function (event) {\n return _this.nativeRefs[eventKey](_extends({}, _this.state.shared, {\n event: event,\n args: args\n }));\n });\n };\n\n for (var eventKey in _this.nativeRefs) {\n _loop(eventKey);\n }\n\n if (_this.config.domTarget) {\n // If config.domTarget is set we add event listeners to it and return the clean function.\n return updateDomListeners(_this, bindings);\n } else {\n // If not, we return an object that contains gesture handlers mapped to react handler event keys.\n return getPropsListener(_this, bindings);\n }\n };\n\n this.effect = function () {\n if (_this.config.domTarget) _this.bind();\n return _this.clean;\n };\n /**\r\n * Function ran on component unmount: cleans timeouts and removes dom listeners set by the bind function.\r\n */\n\n\n this.clean = function () {\n var domTarget = getDomTargetFromConfig(_this.config);\n var eventOptions = _this.config.eventOptions;\n if (domTarget) removeListeners(domTarget, takeAll(_this.domListeners), eventOptions);\n Object.values(_this.timeouts).forEach(clearTimeout);\n clearAllWindowListeners(_this);\n };\n\n this.classes = classes;\n this.state = getInitialState();\n this.timeouts = {};\n this.domListeners = [];\n this.windowListeners = {};\n};\nfunction addEventIds(controller, event) {\n if ('pointerId' in event) {\n controller.pointerIds.add(event.pointerId);\n } else {\n controller.touchIds = new Set(getTouchIds(event));\n }\n}\nfunction removeEventIds(controller, event) {\n if ('pointerId' in event) {\n controller.pointerIds[\"delete\"](event.pointerId);\n } else {\n getTouchIds(event).forEach(function (id) {\n return controller.touchIds[\"delete\"](id);\n });\n }\n}\nfunction clearAllWindowListeners(controller) {\n var _controller$config = controller.config,\n el = _controller$config.window,\n eventOptions = _controller$config.eventOptions,\n windowListeners = controller.windowListeners;\n if (!el) return;\n\n for (var stateKey in windowListeners) {\n var handlers = windowListeners[stateKey];\n removeListeners(el, handlers, eventOptions);\n }\n\n controller.windowListeners = {};\n}\nfunction clearWindowListeners(_ref, stateKey, options) {\n var config = _ref.config,\n windowListeners = _ref.windowListeners;\n\n if (options === void 0) {\n options = config.eventOptions;\n }\n\n if (!config.window) return;\n removeListeners(config.window, windowListeners[stateKey], options);\n delete windowListeners[stateKey];\n}\nfunction updateWindowListeners(_ref2, stateKey, listeners, options) {\n var config = _ref2.config,\n windowListeners = _ref2.windowListeners;\n\n if (listeners === void 0) {\n listeners = [];\n }\n\n if (options === void 0) {\n options = config.eventOptions;\n }\n\n if (!config.window) return;\n removeListeners(config.window, windowListeners[stateKey], options);\n addListeners(config.window, windowListeners[stateKey] = listeners, options);\n}\n\nfunction updateDomListeners(_ref3, bindings) {\n var config = _ref3.config,\n domListeners = _ref3.domListeners;\n var domTarget = getDomTargetFromConfig(config);\n if (!domTarget) throw new Error('domTarget must be defined');\n var eventOptions = config.eventOptions;\n removeListeners(domTarget, takeAll(domListeners), eventOptions);\n\n for (var _i = 0, _Object$entries = Object.entries(bindings); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _Object$entries[_i],\n key = _Object$entries$_i[0],\n fns = _Object$entries$_i[1];\n var name = key.slice(2).toLowerCase();\n domListeners.push([name, chainFns.apply(void 0, fns)]);\n }\n\n addListeners(domTarget, domListeners, eventOptions);\n}\n\nfunction getPropsListener(_ref4, bindings) {\n var config = _ref4.config;\n var props = {};\n var captureString = config.eventOptions.capture ? 'Capture' : '';\n\n for (var _i2 = 0, _Object$entries2 = Object.entries(bindings); _i2 < _Object$entries2.length; _i2++) {\n var _Object$entries2$_i = _Object$entries2[_i2],\n event = _Object$entries2$_i[0],\n fns = _Object$entries2$_i[1];\n var fnsArray = Array.isArray(fns) ? fns : [fns];\n var key = event + captureString;\n props[key] = chainFns.apply(void 0, fnsArray);\n }\n\n return props;\n}\n\nfunction takeAll(array) {\n if (array === void 0) {\n array = [];\n }\n\n return array.splice(0, array.length);\n}\n\nfunction getDomTargetFromConfig(_ref5) {\n var domTarget = _ref5.domTarget;\n return domTarget && 'current' in domTarget ? domTarget.current : domTarget;\n}\n/**\r\n * bindings is an object which keys match ReactEventHandlerKeys.\r\n * Since a recognizer might want to bind a handler function to an event key already used by a previously\r\n * added recognizer, we need to make sure that each event key is an array of all the functions mapped for\r\n * that key.\r\n */\n\n\nfunction addBindings(bindings, name, fn) {\n if (!bindings[name]) bindings[name] = [];\n bindings[name].push(fn);\n}\n\nfunction addListeners(el, listeners, options) {\n if (listeners === void 0) {\n listeners = [];\n }\n\n if (options === void 0) {\n options = {};\n }\n\n for (var _iterator2 = _createForOfIteratorHelperLoose(listeners), _step2; !(_step2 = _iterator2()).done;) {\n var _step2$value = _step2.value,\n eventName = _step2$value[0],\n eventHandler = _step2$value[1];\n el.addEventListener(eventName, eventHandler, options);\n }\n}\n\nfunction removeListeners(el, listeners, options) {\n if (listeners === void 0) {\n listeners = [];\n }\n\n if (options === void 0) {\n options = {};\n }\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(listeners), _step3; !(_step3 = _iterator3()).done;) {\n var _step3$value = _step3.value,\n eventName = _step3$value[0],\n eventHandler = _step3$value[1];\n el.removeEventListener(eventName, eventHandler, options);\n }\n}\n\n/* eslint-disable react-hooks/exhaustive-deps */\n/**\r\n * Utility hook called by all gesture hooks and that will be responsible for the internals.\r\n *\r\n * @param handlers\r\n * @param classes\r\n * @param config\r\n * @param nativeHandlers - native handlers such as onClick, onMouseDown, etc.\r\n */\n\nfunction useRecognizers(handlers, config, nativeHandlers) {\n if (nativeHandlers === void 0) {\n nativeHandlers = {};\n }\n\n var classes = resolveClasses(handlers);\n var controller = React.useMemo(function () {\n return new Controller(classes);\n }, []);\n controller.config = config;\n controller.handlers = handlers;\n controller.nativeRefs = nativeHandlers;\n React.useEffect(controller.effect, []); // @ts-ignore\n\n if (controller.config.domTarget) return deprecationNoticeForDomTarget; // @ts-ignore\n\n return controller.bind;\n}\n\nfunction deprecationNoticeForDomTarget() {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(\"Deprecation notice: When the `domTarget` option is specified, you don't need to write `useEffect(bind, [bind])` anymore: event binding is now made handled internally to this lib.\\n\\nNext version won't return anything when `domTarget` is provided, therefore your code will break if you try to call `useEffect`.\");\n }\n}\n\nfunction resolveClasses(internalHandlers) {\n var classes = new Set();\n if (internalHandlers.drag) classes.add(RecognizersMap.get('drag'));\n if (internalHandlers.wheel) classes.add(RecognizersMap.get('wheel'));\n if (internalHandlers.scroll) classes.add(RecognizersMap.get('scroll'));\n if (internalHandlers.move) classes.add(RecognizersMap.get('move'));\n if (internalHandlers.pinch) classes.add(RecognizersMap.get('pinch'));\n if (internalHandlers.hover) classes.add(RecognizersMap.get('hover'));\n return classes;\n}\n\n/**\r\n * @private\r\n * Abstract class for coordinates-based gesture recongizers\r\n */\n\nvar CoordinatesRecognizer = /*#__PURE__*/function (_Recognizer) {\n _inheritsLoose(CoordinatesRecognizer, _Recognizer);\n\n function CoordinatesRecognizer() {\n return _Recognizer.apply(this, arguments) || this;\n }\n\n var _proto = CoordinatesRecognizer.prototype;\n\n /**\r\n * Returns the real movement (without taking intentionality into account)\r\n */\n _proto.getInternalMovement = function getInternalMovement(values, state) {\n return subV(values, state.initial);\n }\n /**\r\n * In coordinates-based gesture, this function will detect the first intentional axis,\r\n * lock the gesture axis if lockDirection is specified in the config, block the gesture\r\n * if the first intentional axis doesn't match the specified axis in config.\r\n */\n ;\n\n _proto.checkIntentionality = function checkIntentionality(_intentional, _movement) {\n if (_intentional[0] === false && _intentional[1] === false) {\n return {\n _intentional: _intentional,\n axis: this.state.axis\n };\n }\n\n var _movement$map = _movement.map(Math.abs),\n absX = _movement$map[0],\n absY = _movement$map[1];\n\n var axis = this.state.axis || (absX > absY ? 'x' : absX < absY ? 'y' : undefined);\n if (!this.config.axis && !this.config.lockDirection) return {\n _intentional: _intentional,\n _blocked: false,\n axis: axis\n };\n if (!axis) return {\n _intentional: [false, false],\n _blocked: false,\n axis: axis\n };\n if (!!this.config.axis && axis !== this.config.axis) return {\n _intentional: _intentional,\n _blocked: true,\n axis: axis\n };\n _intentional[axis === 'x' ? 1 : 0] = false;\n return {\n _intentional: _intentional,\n _blocked: false,\n axis: axis\n };\n };\n\n _proto.getKinematics = function getKinematics(values, event) {\n var state = this.getMovement(values);\n\n if (!state._blocked) {\n var dt = event.timeStamp - this.state.timeStamp;\n Object.assign(state, calculateAllKinematics(state.movement, state.delta, dt));\n }\n\n return state;\n };\n\n _proto.mapStateValues = function mapStateValues(state) {\n return {\n xy: state.values,\n vxvy: state.velocities\n };\n };\n\n return CoordinatesRecognizer;\n}(Recognizer);\n\nvar TAP_DISTANCE_THRESHOLD = 3;\n\nfunction persistEvent(event) {\n 'persist' in event && typeof event.persist === 'function' && event.persist();\n}\n\nvar DragRecognizer = /*#__PURE__*/function (_CoordinatesRecognize) {\n _inheritsLoose(DragRecognizer, _CoordinatesRecognize);\n\n function DragRecognizer() {\n var _this;\n\n _this = _CoordinatesRecognize.apply(this, arguments) || this;\n _this.ingKey = 'dragging';\n _this.stateKey = 'drag'; // TODO add back when setPointerCapture is widely wupported\n // https://caniuse.com/#search=setPointerCapture\n\n _this.setPointerCapture = function (event) {\n // don't perform pointere capture when user wants to use touch events or\n // when a pointerLockElement exists as this would throw an error\n if (_this.config.useTouch || document.pointerLockElement) return;\n var target = event.target,\n pointerId = event.pointerId;\n\n if (target && 'setPointerCapture' in target) {\n // this would work in the DOM but doesn't with react three fiber\n // target.addEventListener('pointermove', this.onDragChange, this.controller.config.eventOptions)\n // @ts-expect-error\n target.setPointerCapture(pointerId);\n }\n\n _this.updateGestureState({\n _dragTarget: target,\n _dragPointerId: pointerId\n });\n };\n\n _this.releasePointerCapture = function () {\n if (_this.config.useTouch || document.pointerLockElement) return;\n var _this$state = _this.state,\n _dragTarget = _this$state._dragTarget,\n _dragPointerId = _this$state._dragPointerId;\n\n if (_dragPointerId && _dragTarget && 'releasePointerCapture' in _dragTarget) {\n // this would work in the DOM but doesn't with react three fiber\n // target.removeEventListener('pointermove', this.onDragChange, this.controller.config.eventOptions)\n if (!('hasPointerCapture' in _dragTarget) || _dragTarget.hasPointerCapture(_dragPointerId)) try {\n _dragTarget.releasePointerCapture(_dragPointerId);\n } catch (e) {}\n }\n };\n\n _this.preventScroll = function (event) {\n if (_this.state._dragPreventScroll && event.cancelable) {\n event.preventDefault();\n }\n };\n\n _this.getEventId = function (event) {\n if (_this.config.useTouch) return event.changedTouches[0].identifier;\n return event.pointerId;\n };\n\n _this.isValidEvent = function (event) {\n // if we were using pointer events only event.isPrimary === 1 would suffice\n return _this.state._pointerId === _this.getEventId(event);\n };\n\n _this.shouldPreventWindowScrollY = _this.config.experimental_preventWindowScrollY && _this.controller.supportsTouchEvents;\n\n _this.setUpWindowScrollDetection = function (event) {\n persistEvent(event); // we add window listeners that will prevent the scroll when the user has started dragging\n\n updateWindowListeners(_this.controller, _this.stateKey, [['touchmove', _this.preventScroll], ['touchend', _this.clean.bind(_assertThisInitialized(_this))], ['touchcancel', _this.clean.bind(_assertThisInitialized(_this))]], {\n passive: false\n });\n\n _this.setTimeout(_this.startDrag.bind(_assertThisInitialized(_this)), 250, event);\n };\n\n _this.setUpDelayedDragTrigger = function (event) {\n _this.state._dragDelayed = true;\n persistEvent(event);\n\n _this.setTimeout(_this.startDrag.bind(_assertThisInitialized(_this)), _this.config.delay, event);\n };\n\n _this.setStartState = function (event) {\n var values = getPointerEventValues(event, _this.transform);\n\n _this.updateSharedState(getGenericEventData(event));\n\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event), getGenericPayload(_assertThisInitialized(_this), event, true), {\n _pointerId: _this.getEventId(event)\n }));\n\n _this.updateGestureState(_this.getMovement(values));\n };\n\n _this.onDragStart = function (event) {\n addEventIds(_this.controller, event);\n if (!_this.enabled || _this.state._active) return;\n\n _this.setStartState(event);\n\n _this.setPointerCapture(event);\n\n if (_this.shouldPreventWindowScrollY) _this.setUpWindowScrollDetection(event);else if (_this.config.delay > 0) _this.setUpDelayedDragTrigger(event);else _this.startDrag(event, true); // we pass the values to the startDrag event\n };\n\n _this.onDragChange = function (event) {\n if ( // if the gesture was canceled or\n _this.state.canceled || // if onDragStart wasn't fired or\n !_this.state._active || // if the event pointerId doesn't match the one that initiated the drag\n !_this.isValidEvent(event) || // if the event has the same timestamp as the previous event\n // note that checking type equality is ONLY for tests ¯\\_(ツ)_/¯\n _this.state._lastEventType === event.type && event.timeStamp === _this.state.timeStamp) return;\n var values;\n\n if (document.pointerLockElement) {\n var movementX = event.movementX,\n movementY = event.movementY;\n values = addV(_this.transform([movementX, movementY]), _this.state.values);\n } else values = getPointerEventValues(event, _this.transform);\n\n var kinematics = _this.getKinematics(values, event); // if startDrag hasn't fired\n\n\n if (!_this.state._dragStarted) {\n // If the gesture isn't active then respond to the event only if\n // it's been delayed via the `delay` option, in which case start\n // the gesture immediately.\n if (_this.state._dragDelayed) {\n _this.startDrag(event);\n\n return;\n } // if the user wants to prevent vertical window scroll when user starts dragging\n\n\n if (_this.shouldPreventWindowScrollY) {\n if (!_this.state._dragPreventScroll && kinematics.axis) {\n // if the user is dragging horizontally then we should allow the drag\n if (kinematics.axis === 'x') {\n _this.startDrag(event);\n } else {\n _this.state._active = false;\n return;\n }\n } else return;\n } else return;\n }\n\n var genericEventData = getGenericEventData(event);\n\n _this.updateSharedState(genericEventData);\n\n var genericPayload = getGenericPayload(_assertThisInitialized(_this), event); // This verifies if the drag can be assimilated to a tap by checking\n // if the real distance of the drag (ie not accounting for the threshold) is\n // greater than the TAP_DISTANCE_THRESHOLD.\n\n var realDistance = calculateDistance(kinematics._movement);\n var _dragIsTap = _this.state._dragIsTap;\n if (_dragIsTap && realDistance >= TAP_DISTANCE_THRESHOLD) _dragIsTap = false;\n\n _this.updateGestureState(_extends({}, genericPayload, kinematics, {\n _dragIsTap: _dragIsTap\n }));\n\n _this.fireGestureHandler();\n };\n\n _this.onDragEnd = function (event) {\n removeEventIds(_this.controller, event); // if the event pointerId doesn't match the one that initiated the drag\n // we don't want to end the drag\n\n if (!_this.isValidEvent(event)) return;\n\n _this.clean(); // if the gesture is no longer active (ie canceled)\n // don't do anything\n\n\n if (!_this.state._active) return;\n _this.state._active = false;\n var tap = _this.state._dragIsTap;\n var _this$state$velocitie = _this.state.velocities,\n vx = _this$state$velocitie[0],\n vy = _this$state$velocitie[1];\n var _this$state$movement = _this.state.movement,\n mx = _this$state$movement[0],\n my = _this$state$movement[1];\n var _this$state$_intentio = _this.state._intentional,\n ix = _this$state$_intentio[0],\n iy = _this$state$_intentio[1];\n var _this$config$swipeVel = _this.config.swipeVelocity,\n svx = _this$config$swipeVel[0],\n svy = _this$config$swipeVel[1];\n var _this$config$swipeDis = _this.config.swipeDistance,\n sx = _this$config$swipeDis[0],\n sy = _this$config$swipeDis[1];\n var sd = _this.config.swipeDuration;\n\n var endState = _extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getMovement(_this.state.values));\n\n var swipe = [0, 0];\n\n if (endState.elapsedTime < sd) {\n if (ix !== false && Math.abs(vx) > svx && Math.abs(mx) > sx) swipe[0] = sign(vx);\n if (iy !== false && Math.abs(vy) > svy && Math.abs(my) > sy) swipe[1] = sign(vy);\n }\n\n _this.updateSharedState({\n buttons: 0\n });\n\n _this.updateGestureState(_extends({}, endState, {\n tap: tap,\n swipe: swipe\n }));\n\n _this.fireGestureHandler(_this.config.filterTaps && tap === true);\n };\n\n _this.clean = function () {\n _CoordinatesRecognize.prototype.clean.call(_assertThisInitialized(_this));\n\n _this.state._dragStarted = false;\n\n _this.releasePointerCapture();\n\n clearWindowListeners(_this.controller, _this.stateKey);\n };\n\n _this.onCancel = function () {\n if (_this.state.canceled) return;\n\n _this.updateGestureState({\n canceled: true,\n _active: false\n });\n\n _this.updateSharedState({\n buttons: 0\n });\n\n setTimeout(function () {\n return _this.fireGestureHandler();\n }, 0);\n };\n\n _this.onClick = function (event) {\n if (!_this.state._dragIsTap) event.stopPropagation();\n };\n\n return _this;\n }\n\n var _proto = DragRecognizer.prototype;\n\n _proto.startDrag = function startDrag(event, onDragIsStart) {\n if (onDragIsStart === void 0) {\n onDragIsStart = false;\n }\n\n // startDrag can happen after a timeout, so we need to check if the gesture is still active\n // as the user might have lift up the pointer in between.\n if ( // if the gesture isn't active (probably means)\n !this.state._active || // if the drag has already started we should ignore subsequent attempts\n this.state._dragStarted) return;\n if (!onDragIsStart) this.setStartState(event);\n this.updateGestureState({\n _dragStarted: true,\n _dragPreventScroll: true,\n cancel: this.onCancel\n });\n this.clearTimeout();\n this.fireGestureHandler();\n };\n\n _proto.addBindings = function addBindings$1(bindings) {\n if (this.config.useTouch) {\n addBindings(bindings, 'onTouchStart', this.onDragStart);\n\n addBindings(bindings, 'onTouchMove', this.onDragChange); // this is needed for react-three-fiber\n\n\n addBindings(bindings, 'onTouchEnd', this.onDragEnd);\n\n addBindings(bindings, 'onTouchCancel', this.onDragEnd);\n } else {\n addBindings(bindings, 'onPointerDown', this.onDragStart);\n\n addBindings(bindings, 'onPointerMove', this.onDragChange); // this is needed for react-three-fiber\n\n\n addBindings(bindings, 'onPointerUp', this.onDragEnd);\n\n addBindings(bindings, 'onPointerCancel', this.onDragEnd);\n }\n\n if (this.config.filterTaps) {\n var handler = this.controller.config.eventOptions.capture ? 'onClick' : 'onClickCapture';\n\n addBindings(bindings, handler, this.onClick);\n }\n };\n\n return DragRecognizer;\n}(CoordinatesRecognizer);\n\n/**\r\n * Inlined from https://github.com/alexreardon/memoize-one\r\n */\nfunction memoizeOne(resultFn, isEqual) {\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n\n function memoized() {\n for (var _len = arguments.length, newArgs = new Array(_len), _key = 0; _key < _len; _key++) {\n newArgs[_key] = arguments[_key];\n }\n\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n\n return memoized;\n}\n\n/**\r\n * Taken from https://github.com/FormidableLabs/react-fast-compare\r\n *\r\n * Dropped comments and ArrayBuffer handling\r\n */\nfunction equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n }\n\n var it;\n\n if (typeof Map === 'function' && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\n return true;\n }\n\n if (typeof Set === 'function' && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n }\n\n if (typeof Element !== 'undefined' && a instanceof Element) return false;\n\n for (i = length; i-- !== 0;) {\n if (keys[i] === '_owner' && a.$$typeof) continue;\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n\n return true;\n } // true if both NaN, false otherwise — NaN !== NaN → true\n // eslint-disable-next-line no-self-compare\n\n\n return a !== a && b !== b;\n}\n\nfunction isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // eslint-disable-next-line no-console\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n\n throw error;\n }\n}\n\n/**\r\n * Drag hook.\r\n *\r\n * @param handler - the function fired every time the drag gesture updates\r\n * @param [config={}] - the config object including generic options and drag options\r\n */\n\nfunction useDrag(handler, config) {\n if (config === void 0) {\n config = {};\n }\n\n RecognizersMap.set('drag', DragRecognizer);\n var buildDragConfig = useRef();\n\n if (!buildDragConfig.current) {\n buildDragConfig.current = memoizeOne(_buildDragConfig, isEqual);\n }\n\n return useRecognizers({\n drag: handler\n }, buildDragConfig.current(config));\n}\n\n/**\r\n * @private\r\n * Abstract class for distance/angle-based gesture recongizers\r\n */\n\nvar DistanceAngleRecognizer = /*#__PURE__*/function (_Recognizer) {\n _inheritsLoose(DistanceAngleRecognizer, _Recognizer);\n\n function DistanceAngleRecognizer() {\n return _Recognizer.apply(this, arguments) || this;\n }\n\n var _proto = DistanceAngleRecognizer.prototype;\n\n _proto.getInternalMovement = function getInternalMovement(values, state) {\n var prev_a = state.values[1]; // not be defined if ctrl+wheel is used for zoom only\n\n var d = values[0],\n _values$ = values[1],\n a = _values$ === void 0 ? prev_a : _values$;\n var delta_a = a - prev_a;\n var next_turns = state.turns;\n if (Math.abs(delta_a) > 270) next_turns += sign(delta_a);\n return subV([d, a - 360 * next_turns], state.initial);\n };\n\n _proto.getKinematics = function getKinematics(values, event) {\n var state = this.getMovement(values);\n var turns = (values[1] - state._movement[1] - this.state.initial[1]) / 360;\n var dt = event.timeStamp - this.state.timeStamp;\n\n var _calculateAllKinemati = calculateAllKinematics(state.movement, state.delta, dt),\n kinematics = _objectWithoutPropertiesLoose(_calculateAllKinemati, [\"distance\", \"velocity\"]);\n\n return _extends({\n turns: turns\n }, state, kinematics);\n };\n\n _proto.mapStateValues = function mapStateValues(state) {\n return {\n da: state.values,\n vdva: state.velocities\n };\n };\n\n return DistanceAngleRecognizer;\n}(Recognizer);\n\nvar ZOOM_CONSTANT = 7;\nvar WEBKIT_DISTANCE_SCALE_FACTOR = 260;\nvar PinchRecognizer = /*#__PURE__*/function (_DistanceAngleRecogni) {\n _inheritsLoose(PinchRecognizer, _DistanceAngleRecogni);\n\n function PinchRecognizer() {\n var _this;\n\n _this = _DistanceAngleRecogni.apply(this, arguments) || this;\n _this.ingKey = 'pinching';\n _this.stateKey = 'pinch';\n\n _this.onPinchStart = function (event) {\n addEventIds(_this.controller, event);\n var touchIds = _this.controller.touchIds;\n if (!_this.enabled) return;\n\n if (_this.state._active) {\n // check that the pointerIds that initiated the gesture\n // are still enabled. This is useful for when the page\n // loses track of the pointers (minifying gesture on iPad).\n if (_this.state._pointerIds.every(function (id) {\n return touchIds.has(id);\n })) return; // something was wrong with the pointers but we let it go.\n } // until we reach two fingers on the target don't react\n\n\n if (touchIds.size < 2) return;\n\n var _pointerIds = Array.from(touchIds).slice(0, 2);\n\n var _getTwoTouchesEventVa = getTwoTouchesEventValues(event, _pointerIds, _this.transform),\n values = _getTwoTouchesEventVa.values,\n origin = _getTwoTouchesEventVa.origin;\n\n _this.updateSharedState(getGenericEventData(event));\n\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event), getGenericPayload(_assertThisInitialized(_this), event, true), {\n _pointerIds: _pointerIds,\n cancel: _this.onCancel,\n origin: origin\n }));\n\n _this.updateGestureState(_this.getMovement(values));\n\n _this.fireGestureHandler();\n };\n\n _this.onPinchChange = function (event) {\n var _this$state = _this.state,\n canceled = _this$state.canceled,\n _active = _this$state._active;\n if (canceled || !_active || // if the event has the same timestamp as the previous event\n event.timeStamp === _this.state.timeStamp) return;\n var genericEventData = getGenericEventData(event);\n\n _this.updateSharedState(genericEventData);\n\n try {\n var _getTwoTouchesEventVa2 = getTwoTouchesEventValues(event, _this.state._pointerIds, _this.transform),\n values = _getTwoTouchesEventVa2.values,\n origin = _getTwoTouchesEventVa2.origin;\n\n var kinematics = _this.getKinematics(values, event);\n\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), kinematics, {\n origin: origin\n }));\n\n _this.fireGestureHandler();\n } catch (e) {\n _this.onPinchEnd(event);\n }\n };\n\n _this.onPinchEnd = function (event) {\n removeEventIds(_this.controller, event);\n var pointerIds = getTouchIds(event); // if none of the lifted pointerIds is in the state pointerIds don't do anything\n\n if (_this.state._pointerIds.every(function (id) {\n return !pointerIds.includes(id);\n })) return;\n\n _this.clean();\n\n if (!_this.state._active) return;\n\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getMovement(_this.state.values), {\n _active: false\n }));\n\n _this.fireGestureHandler();\n };\n\n _this.onCancel = function () {\n if (_this.state.canceled) return;\n\n _this.updateGestureState({\n _active: false,\n canceled: true\n });\n\n setTimeout(function () {\n return _this.fireGestureHandler();\n }, 0);\n };\n /**\r\n * PINCH WITH WEBKIT GESTURES\r\n */\n\n\n _this.onGestureStart = function (event) {\n if (!_this.enabled) return;\n event.preventDefault();\n var values = getWebkitGestureEventValues(event, _this.transform);\n\n _this.updateSharedState(getGenericEventData(event));\n\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event), getGenericPayload(_assertThisInitialized(_this), event, true), {\n origin: [event.clientX, event.clientY],\n cancel: _this.onCancel\n }));\n\n _this.updateGestureState(_this.getMovement(values));\n\n _this.fireGestureHandler();\n };\n\n _this.onGestureChange = function (event) {\n var _this$state2 = _this.state,\n canceled = _this$state2.canceled,\n _active = _this$state2._active;\n if (canceled || !_active) return;\n event.preventDefault();\n var genericEventData = getGenericEventData(event);\n\n _this.updateSharedState(genericEventData); // this normalizes the values of the Safari's WebKitEvent by calculating\n // the delta and then multiplying it by a constant.\n\n\n var values = getWebkitGestureEventValues(event, _this.transform);\n values[0] = (values[0] - _this.state.event.scale) * WEBKIT_DISTANCE_SCALE_FACTOR + _this.state.values[0];\n\n var kinematics = _this.getKinematics(values, event);\n\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), kinematics, {\n origin: [event.clientX, event.clientY]\n }));\n\n _this.fireGestureHandler();\n };\n\n _this.onGestureEnd = function (event) {\n _this.clean();\n\n if (!_this.state._active) return;\n\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getMovement(_this.state.values), {\n _active: false,\n origin: [event.clientX, event.clientY]\n }));\n\n _this.fireGestureHandler();\n };\n /**\r\n * PINCH WITH WHEEL\r\n */\n\n\n _this.wheelShouldRun = function (event) {\n return _this.enabled && event.ctrlKey;\n };\n\n _this.getWheelValuesFromEvent = function (event) {\n var _getWheelEventValues = getWheelEventValues(event, _this.transform),\n delta_d = _getWheelEventValues[1];\n\n var _this$state$values = _this.state.values,\n prev_d = _this$state$values[0],\n prev_a = _this$state$values[1]; // ZOOM_CONSTANT is based on Safari trackpad natural zooming\n\n var _delta_d = -delta_d * ZOOM_CONSTANT; // new distance is the previous state distance added to the delta\n\n\n var d = prev_d + _delta_d;\n var a = prev_a !== void 0 ? prev_a : 0;\n return {\n values: [d, a],\n origin: [event.clientX, event.clientY],\n delta: [_delta_d, a]\n };\n };\n\n _this.onWheel = function (event) {\n if (!_this.wheelShouldRun(event)) return;\n\n _this.setTimeout(_this.onWheelEnd);\n\n if (!_this.state._active) _this.onWheelStart(event);else _this.onWheelChange(event);\n };\n\n _this.onWheelStart = function (event) {\n var _this$getWheelValuesF = _this.getWheelValuesFromEvent(event),\n values = _this$getWheelValuesF.values,\n delta = _this$getWheelValuesF.delta,\n origin = _this$getWheelValuesF.origin;\n\n if (event.cancelable) event.preventDefault();else if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn('To properly support zoom on trackpads, try using the `domTarget` option and `config.eventOptions.passive` set to `false`. This message will only appear in development mode.');\n }\n\n _this.updateSharedState(getGenericEventData(event));\n\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event, _this.state.values), getGenericPayload(_assertThisInitialized(_this), event, true), {\n offset: values,\n delta: delta,\n origin: origin\n }));\n\n _this.updateGestureState(_this.getMovement(values));\n\n _this.fireGestureHandler();\n };\n\n _this.onWheelChange = function (event) {\n if (event.cancelable) event.preventDefault();\n\n _this.updateSharedState(getGenericEventData(event));\n\n var _this$getWheelValuesF2 = _this.getWheelValuesFromEvent(event),\n values = _this$getWheelValuesF2.values,\n origin = _this$getWheelValuesF2.origin,\n delta = _this$getWheelValuesF2.delta;\n\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getKinematics(values, event), {\n origin: origin,\n delta: delta\n }));\n\n _this.fireGestureHandler();\n };\n\n _this.onWheelEnd = function () {\n _this.clean();\n\n if (!_this.state._active) return;\n _this.state._active = false;\n\n _this.updateGestureState(_this.getMovement(_this.state.values));\n\n _this.fireGestureHandler();\n };\n\n return _this;\n }\n\n var _proto = PinchRecognizer.prototype;\n\n _proto.addBindings = function addBindings$1(bindings) {\n // Only try to use gesture events when they are supported and domTarget is set\n // as React doesn't support gesture handlers.\n if (this.controller.config.domTarget && !this.controller.supportsTouchEvents && this.controller.supportsGestureEvents) {\n addBindings(bindings, 'onGestureStart', this.onGestureStart);\n\n addBindings(bindings, 'onGestureChange', this.onGestureChange);\n\n addBindings(bindings, 'onGestureEnd', this.onGestureEnd);\n } else {\n addBindings(bindings, 'onTouchStart', this.onPinchStart);\n\n addBindings(bindings, 'onTouchMove', this.onPinchChange);\n\n addBindings(bindings, 'onTouchEnd', this.onPinchEnd);\n\n addBindings(bindings, 'onTouchCancel', this.onPinchEnd);\n\n addBindings(bindings, 'onWheel', this.onWheel);\n }\n };\n\n return PinchRecognizer;\n}(DistanceAngleRecognizer);\n\n/**\r\n * Pinch hook.\r\n *\r\n * @param handler - the function fired every time the pinch gesture updates\r\n * @param [config={}] - the config object including generic options and pinch options\r\n */\n\nfunction usePinch(handler, config) {\n if (config === void 0) {\n config = {};\n }\n\n RecognizersMap.set('pinch', PinchRecognizer);\n var buildPinchConfig = useRef();\n\n if (!buildPinchConfig.current) {\n buildPinchConfig.current = memoizeOne(_buildPinchConfig, isEqual);\n }\n\n return useRecognizers({\n pinch: handler\n }, buildPinchConfig.current(config));\n}\n\nvar WheelRecognizer = /*#__PURE__*/function (_CoordinatesRecognize) {\n _inheritsLoose(WheelRecognizer, _CoordinatesRecognize);\n\n function WheelRecognizer() {\n var _this;\n\n _this = _CoordinatesRecognize.apply(this, arguments) || this;\n _this.ingKey = 'wheeling';\n _this.stateKey = 'wheel';\n _this.debounced = true;\n\n _this.handleEvent = function (event) {\n if (event.ctrlKey && 'pinch' in _this.controller.handlers) return;\n if (!_this.enabled) return;\n\n _this.setTimeout(_this.onEnd);\n\n _this.updateSharedState(getGenericEventData(event));\n\n var values = addV(getWheelEventValues(event, _this.transform), _this.state.values);\n\n if (!_this.state._active) {\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event, _this.state.values), getGenericPayload(_assertThisInitialized(_this), event, true)));\n\n var movement = _this.getMovement(values);\n\n var geometry = calculateAllGeometry(movement.delta);\n\n _this.updateGestureState(movement);\n\n _this.updateGestureState(geometry);\n } else {\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getKinematics(values, event)));\n }\n\n _this.fireGestureHandler();\n };\n\n _this.onEnd = function () {\n _this.clean();\n\n if (!_this.state._active) return;\n\n var movement = _this.getMovement(_this.state.values);\n\n _this.updateGestureState(movement);\n\n _this.updateGestureState({\n _active: false,\n velocities: [0, 0],\n velocity: 0\n });\n\n _this.fireGestureHandler();\n };\n\n return _this;\n }\n\n var _proto = WheelRecognizer.prototype;\n\n _proto.addBindings = function addBindings$1(bindings) {\n addBindings(bindings, 'onWheel', this.handleEvent);\n };\n\n return WheelRecognizer;\n}(CoordinatesRecognizer);\n\n/**\r\n * Wheel hook.\r\n *\r\n * @param handler - the function fired every time the wheel gesture updates\r\n * @param the config object including generic options and wheel options\r\n */\n\nfunction useWheel(handler, config) {\n if (config === void 0) {\n config = {};\n }\n\n RecognizersMap.set('wheel', WheelRecognizer);\n var buildWheelConfig = useRef();\n\n if (!buildWheelConfig.current) {\n buildWheelConfig.current = memoizeOne(_buildWheelConfig, isEqual);\n }\n\n return useRecognizers({\n wheel: handler\n }, buildWheelConfig.current(config));\n}\n\nvar MoveRecognizer = /*#__PURE__*/function (_CoordinatesRecognize) {\n _inheritsLoose(MoveRecognizer, _CoordinatesRecognize);\n\n function MoveRecognizer() {\n var _this;\n\n _this = _CoordinatesRecognize.apply(this, arguments) || this;\n _this.ingKey = 'moving';\n _this.stateKey = 'move';\n _this.debounced = true;\n\n _this.onMove = function (event) {\n if (!_this.enabled) return;\n\n _this.setTimeout(_this.onMoveEnd);\n\n if (!_this.state._active) _this.onMoveStart(event);else _this.onMoveChange(event);\n };\n\n _this.onMoveStart = function (event) {\n _this.updateSharedState(getGenericEventData(event));\n\n var values = getPointerEventValues(event, _this.transform);\n\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event), getGenericPayload(_assertThisInitialized(_this), event, true)));\n\n _this.updateGestureState(_this.getMovement(values));\n\n _this.fireGestureHandler();\n };\n\n _this.onMoveChange = function (event) {\n _this.updateSharedState(getGenericEventData(event));\n\n var values = getPointerEventValues(event, _this.transform);\n\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getKinematics(values, event)));\n\n _this.fireGestureHandler();\n };\n\n _this.onMoveEnd = function () {\n _this.clean();\n\n if (!_this.state._active) return;\n var values = _this.state.values;\n\n _this.updateGestureState(_this.getMovement(values));\n\n _this.updateGestureState({\n velocities: [0, 0],\n velocity: 0,\n _active: false\n });\n\n _this.fireGestureHandler();\n };\n\n _this.hoverTransform = function () {\n return _this.controller.config.hover.transform || _this.controller.config.transform;\n };\n\n _this.onPointerEnter = function (event) {\n _this.controller.state.shared.hovering = true;\n if (!_this.controller.config.enabled) return;\n\n if (_this.controller.config.hover.enabled) {\n var values = getPointerEventValues(event, _this.hoverTransform());\n\n var state = _extends({}, _this.controller.state.shared, _this.state, getGenericPayload(_assertThisInitialized(_this), event, true), {\n args: _this.args,\n values: values,\n active: true,\n hovering: true\n });\n\n _this.controller.handlers.hover(_extends({}, state, _this.mapStateValues(state)));\n }\n\n if ('move' in _this.controller.handlers) _this.onMoveStart(event);\n };\n\n _this.onPointerLeave = function (event) {\n _this.controller.state.shared.hovering = false;\n if ('move' in _this.controller.handlers) _this.onMoveEnd();\n if (!_this.controller.config.hover.enabled) return;\n var values = getPointerEventValues(event, _this.hoverTransform());\n\n var state = _extends({}, _this.controller.state.shared, _this.state, getGenericPayload(_assertThisInitialized(_this), event), {\n args: _this.args,\n values: values,\n active: false\n });\n\n _this.controller.handlers.hover(_extends({}, state, _this.mapStateValues(state)));\n };\n\n return _this;\n }\n\n var _proto = MoveRecognizer.prototype;\n\n _proto.addBindings = function addBindings$1(bindings) {\n if ('move' in this.controller.handlers) {\n addBindings(bindings, 'onPointerMove', this.onMove);\n }\n\n if ('hover' in this.controller.handlers) {\n addBindings(bindings, 'onPointerEnter', this.onPointerEnter);\n\n addBindings(bindings, 'onPointerLeave', this.onPointerLeave);\n }\n };\n\n return MoveRecognizer;\n}(CoordinatesRecognizer);\n\n/**\r\n * Move hook.\r\n *\r\n * @param handler - the function fired every time the move gesture updates\r\n * @param [config={}] - the config object including generic options and move options\r\n */\n\nfunction useMove(handler, config) {\n if (config === void 0) {\n config = {};\n }\n\n RecognizersMap.set('move', MoveRecognizer);\n var buildMoveConfig = useRef();\n\n if (!buildMoveConfig.current) {\n buildMoveConfig.current = memoizeOne(_buildMoveConfig, isEqual);\n }\n\n return useRecognizers({\n move: handler\n }, buildMoveConfig.current(config));\n}\n\n/**\r\n * Hover hook.\r\n *\r\n * @param handler - the function fired every time the hover gesture updates\r\n * @param [config={}] - the config object including generic options and hover options\r\n */\n\nfunction useHover(handler, config) {\n if (config === void 0) {\n config = {};\n }\n\n RecognizersMap.set('hover', MoveRecognizer);\n var buildHoverConfig = useRef();\n\n if (!buildHoverConfig.current) {\n buildHoverConfig.current = memoizeOne(_buildHoverConfig, isEqual);\n }\n\n return useRecognizers({\n hover: handler\n }, buildHoverConfig.current(config));\n}\n\nvar ScrollRecognizer = /*#__PURE__*/function (_CoordinatesRecognize) {\n _inheritsLoose(ScrollRecognizer, _CoordinatesRecognize);\n\n function ScrollRecognizer() {\n var _this;\n\n _this = _CoordinatesRecognize.apply(this, arguments) || this;\n _this.ingKey = 'scrolling';\n _this.stateKey = 'scroll';\n _this.debounced = true;\n\n _this.handleEvent = function (event) {\n if (!_this.enabled) return;\n\n _this.clearTimeout();\n\n _this.setTimeout(_this.onEnd);\n\n var values = getScrollEventValues(event, _this.transform);\n\n _this.updateSharedState(getGenericEventData(event));\n\n if (!_this.state._active) {\n _this.updateGestureState(_extends({}, getStartGestureState(_assertThisInitialized(_this), values, event, _this.state.values), getGenericPayload(_assertThisInitialized(_this), event, true)));\n\n var movementDetection = _this.getMovement(values);\n\n var geometry = calculateAllGeometry(movementDetection.delta);\n\n _this.updateGestureState(movementDetection);\n\n _this.updateGestureState(geometry);\n } else {\n _this.updateGestureState(_extends({}, getGenericPayload(_assertThisInitialized(_this), event), _this.getKinematics(values, event)));\n }\n\n _this.fireGestureHandler();\n };\n\n _this.onEnd = function () {\n _this.clean();\n\n if (!_this.state._active) return;\n\n _this.updateGestureState(_extends({}, _this.getMovement(_this.state.values), {\n _active: false,\n velocities: [0, 0],\n velocity: 0\n }));\n\n _this.fireGestureHandler();\n };\n\n return _this;\n }\n\n var _proto = ScrollRecognizer.prototype;\n\n _proto.addBindings = function addBindings$1(bindings) {\n addBindings(bindings, 'onScroll', this.handleEvent);\n };\n\n return ScrollRecognizer;\n}(CoordinatesRecognizer);\n\n/**\r\n * Scroll hook.\r\n *\r\n * @param handler - the function fired every time the scroll gesture updates\r\n * @param [config={}] - the config object including generic options and scroll options\r\n */\n\nfunction useScroll(handler, config) {\n if (config === void 0) {\n config = {};\n }\n\n RecognizersMap.set('scroll', ScrollRecognizer);\n var buildScrollConfig = useRef();\n\n if (!buildScrollConfig.current) {\n buildScrollConfig.current = memoizeOne(_buildScrollConfig, isEqual);\n }\n\n return useRecognizers({\n scroll: handler\n }, buildScrollConfig.current(config));\n}\n\nvar RE_NOT_NATIVE = /^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;\n\nfunction sortHandlers(handlers) {\n var _native = {};\n var handle = {};\n var actions = new Set();\n\n for (var key in handlers) {\n if (RE_NOT_NATIVE.test(key)) {\n actions.add(RegExp.lastMatch);\n handle[key] = handlers[key];\n } else {\n _native[key] = handlers[key];\n }\n }\n\n return [handle, _native, actions];\n}\n/**\r\n * @public\r\n *\r\n * The most complete gesture hook, allowing support for multiple gestures.\r\n *\r\n * @param {Handlers} handlers - an object with on[Gesture] keys containg gesture handlers\r\n * @param {UseGestureConfig} [config={}] - the full config object\r\n * @returns {(...args: any[]) => HookReturnType}\r\n */\n\n\nfunction useGesture(_handlers, config) {\n if (config === void 0) {\n config = {};\n }\n\n var _sortHandlers = sortHandlers(_handlers),\n handlers = _sortHandlers[0],\n nativeHandlers = _sortHandlers[1],\n actions = _sortHandlers[2];\n\n RecognizersMap.set('drag', DragRecognizer);\n RecognizersMap.set('hover', MoveRecognizer);\n RecognizersMap.set('move', MoveRecognizer);\n RecognizersMap.set('pinch', PinchRecognizer);\n RecognizersMap.set('scroll', ScrollRecognizer);\n RecognizersMap.set('wheel', WheelRecognizer);\n var mergedConfig = buildComplexConfig(config, actions);\n var internalHandlers = {};\n if (actions.has('onDrag')) internalHandlers.drag = includeStartEndHandlers(handlers, 'onDrag');\n if (actions.has('onWheel')) internalHandlers.wheel = includeStartEndHandlers(handlers, 'onWheel');\n if (actions.has('onScroll')) internalHandlers.scroll = includeStartEndHandlers(handlers, 'onScroll');\n if (actions.has('onMove')) internalHandlers.move = includeStartEndHandlers(handlers, 'onMove');\n if (actions.has('onPinch')) internalHandlers.pinch = includeStartEndHandlers(handlers, 'onPinch');\n if (actions.has('onHover')) internalHandlers.hover = handlers.onHover;\n return useRecognizers(internalHandlers, mergedConfig, nativeHandlers);\n}\n\nfunction includeStartEndHandlers(handlers, handlerKey) {\n var startKey = handlerKey + 'Start';\n var endKey = handlerKey + 'End';\n\n var fn = function fn(state) {\n var memo = undefined;\n if (state.first && startKey in handlers) handlers[startKey](state);\n if (handlerKey in handlers) memo = handlers[handlerKey](state);\n if (state.last && endKey in handlers) handlers[endKey](state);\n return memo;\n };\n\n return fn;\n}\n\nexport { addV, rubberbandIfOutOfBounds, subV, useDrag, useGesture, useHover, useMove, usePinch, useScroll, useWheel };\n//# sourceMappingURL=reactusegesture.esm.js.map\n","import { useThree } from '@react-three/fiber';\nimport { useMemo } from 'react';\nimport { useGesture } from 'react-use-gesture';\nimport { Vector2, Vector3, Plane } from 'three';\nimport { InternalGraphPosition } from '../types';\n\ninterface DragParams {\n draggable: boolean;\n position: InternalGraphPosition;\n set: (position: Vector3) => void;\n onDragStart: () => void;\n onDragEnd: () => void;\n}\n\nexport const useDrag = ({\n draggable,\n set,\n position,\n onDragStart,\n onDragEnd\n}: DragParams) => {\n const camera = useThree(state => state.camera);\n const raycaster = useThree(state => state.raycaster);\n const size = useThree(state => state.size);\n const gl = useThree(state => state.gl);\n\n // Reference: https://codesandbox.io/s/react-three-draggable-cxu37\n const { mouse2D, mouse3D, offset, normal, plane } = useMemo(\n () => ({\n // Normalized 2D screen space mouse coords\n mouse2D: new Vector2(),\n // 3D world space mouse coords\n mouse3D: new Vector3(),\n // Drag point offset from object origin\n offset: new Vector3(),\n // Normal of the drag plane\n normal: new Vector3(),\n // Drag plane\n plane: new Plane()\n }),\n []\n );\n\n const clientRect = useMemo(\n () => gl.domElement.getBoundingClientRect(),\n [gl.domElement]\n );\n\n return useGesture(\n {\n onDragStart: ({ event }) => {\n // @ts-ignore\n const { eventObject, point } = event;\n\n // Save the offset of click point from object origin\n eventObject.getWorldPosition(offset).sub(point);\n\n // Set initial 3D cursor position (needed for onDrag plane calculation)\n mouse3D.copy(point);\n\n // Run user callback\n onDragStart();\n },\n onDrag: ({ event }) => {\n // Compute normalized mouse coordinates (screen space)\n const nx =\n ((event.clientX - (clientRect?.left ?? 0)) / size.width) * 2 - 1;\n const ny =\n -((event.clientY - (clientRect?.top ?? 0)) / size.height) * 2 + 1;\n\n // Unlike the mouse from useThree, this works offscreen\n mouse2D.set(nx, ny);\n\n // Update raycaster (otherwise it doesn't track offscreen)\n raycaster.setFromCamera(mouse2D, camera);\n\n // The drag plane is normal to the camera view\n camera.getWorldDirection(normal).negate();\n\n // Find the plane that's normal to the camera and contains our drag point\n plane.setFromNormalAndCoplanarPoint(normal, mouse3D);\n\n // Find the point of intersection\n raycaster.ray.intersectPlane(plane, mouse3D);\n\n // Update the object position with the original offset\n const updated = new Vector3(position.x, position.y, position.z)\n .copy(mouse3D)\n .add(offset);\n\n return set(updated);\n },\n onDragEnd\n },\n { drag: { enabled: draggable, threshold: 10 } }\n );\n};\n","import React, { FC, useMemo } from 'react';\nimport { a, useSpring } from '@react-spring/three';\nimport { TextureLoader, LinearFilter, DoubleSide } from 'three';\nimport { animationConfig } from '../../utils';\nimport { NodeRendererProps } from '../../types';\n\nexport interface IconProps extends NodeRendererProps {\n image: string;\n}\n\nexport const Icon: FC = ({ image, id, size, opacity, animated }) => {\n const texture = useMemo(() => new TextureLoader().load(image), [image]);\n\n const { scale, spriteOpacity } = useSpring({\n from: {\n scale: [0.00001, 0.00001, 0.00001],\n spriteOpacity: 0\n },\n to: {\n scale: [size, size, size],\n spriteOpacity: opacity\n },\n config: {\n ...animationConfig,\n duration: animated ? undefined : 0\n }\n });\n\n return (\n \n \n \n \n \n );\n};\n\nIcon.defaultProps = {\n opacity: 1\n};\n","import React, { FC, useMemo, useRef } from 'react';\nimport { NodeRendererProps } from '../../types';\nimport { Sphere } from './Sphere';\nimport { Icon } from './Icon';\n\nexport interface SphereWithIconProps extends NodeRendererProps {\n image: string;\n}\n\nexport const SphereWithIcon: FC = ({\n color,\n id,\n size,\n opacity,\n node,\n active,\n animated,\n image\n}) => (\n <>\n \n \n \n);\n\nSphereWithIcon.defaultProps = {\n opacity: 1,\n active: false,\n selected: false\n};\n","import { useCallback, useRef } from 'react';\nimport { ThreeEvent } from '@react-three/fiber';\n\nexport interface HoverIntentOptions {\n interval?: number;\n sensitivity?: number;\n timeout?: number;\n disabled?: boolean;\n onPointerOver: (event: ThreeEvent) => void;\n onPointerOut: (event: ThreeEvent) => void;\n}\n\nexport interface HoverIntentResult {\n pointerOut: (event: ThreeEvent) => void;\n pointerOver: (event: ThreeEvent) => void;\n}\n\n/**\n * Hover intent identifies if the user actually is\n * intending to over by measuring the position of the mouse\n * once a pointer enters and determining if in a duration if\n * the mouse moved inside a certain threshold and fires the events.\n */\nexport const useHoverIntent = ({\n sensitivity = 7,\n interval = 50,\n timeout = 0,\n disabled,\n onPointerOver,\n onPointerOut\n}: HoverIntentOptions | undefined): HoverIntentResult => {\n const mouseOver = useRef(false);\n const timer = useRef(null);\n const state = useRef(0);\n const coords = useRef({\n x: null,\n y: null,\n px: null,\n py: null\n });\n\n const onMouseMove = useCallback((event: MouseEvent) => {\n coords.current.x = event.clientX;\n coords.current.y = event.clientY;\n }, []);\n\n const comparePosition = useCallback(\n (event: ThreeEvent) => {\n timer.current = clearTimeout(timer.current);\n const { px, x, py, y } = coords.current;\n\n if (Math.abs(px - x) + Math.abs(py - y) < sensitivity) {\n state.current = 1;\n onPointerOver(event);\n } else {\n coords.current.px = x;\n coords.current.py = y;\n timer.current = setTimeout(() => comparePosition(event), interval);\n }\n },\n [interval, onPointerOver, sensitivity]\n );\n\n const cleanup = useCallback(() => {\n clearTimeout(timer.current);\n document.removeEventListener('mousemove', onMouseMove, false);\n }, [onMouseMove]);\n\n const pointerOver = useCallback(\n (event: ThreeEvent) => {\n if (!disabled) {\n mouseOver.current = true;\n cleanup();\n\n if (state.current !== 1) {\n coords.current.px = event.pointer.x;\n coords.current.py = event.pointer.y;\n document.addEventListener('mousemove', onMouseMove, false);\n timer.current = setTimeout(() => comparePosition(event), timeout);\n }\n }\n },\n [cleanup, comparePosition, disabled, onMouseMove, timeout]\n );\n\n const delay = useCallback(\n (event: ThreeEvent) => {\n timer.current = clearTimeout(timer.current);\n state.current = 0;\n onPointerOut(event);\n },\n [onPointerOut]\n );\n\n const pointerOut = useCallback(\n (event: ThreeEvent) => {\n mouseOver.current = false;\n cleanup();\n\n if (state.current === 1) {\n timer.current = setTimeout(() => delay(event), timeout);\n }\n },\n [cleanup, delay, timeout]\n );\n\n return {\n pointerOver,\n pointerOut\n };\n};\n","import React, {\n FC,\n ReactNode,\n useCallback,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { Group } from 'three';\nimport { animationConfig } from '../utils';\nimport { useSpring, a } from '@react-spring/three';\nimport { Sphere } from './nodes/Sphere';\nimport { Label } from './Label';\nimport { Theme } from '../themes';\nimport { Ring } from './Ring';\nimport {\n NodeContextMenuProps,\n ContextMenuEvent,\n InternalGraphNode,\n NodeRenderer,\n CollapseProps\n} from '../types';\nimport { Html, useCursor } from '@react-three/drei';\nimport { useCameraControls } from '../CameraControls';\nimport { useStore } from '../store';\nimport { useDrag } from '../utils/useDrag';\nimport { Icon } from './nodes';\nimport { useHoverIntent } from '../utils/useHoverIntent';\n\nexport interface NodeProps {\n id: string;\n theme: Theme;\n parents?: string[];\n disabled?: boolean;\n animated?: boolean;\n draggable?: boolean;\n labelFontUrl?: string;\n contextMenu?: (event: ContextMenuEvent) => ReactNode;\n onPointerOver?: (node: InternalGraphNode) => void;\n onPointerOut?: (node: InternalGraphNode) => void;\n onClick?: (node: InternalGraphNode, props?: CollapseProps) => void;\n onContextMenu?: (\n node?: InternalGraphNode,\n props?: NodeContextMenuProps\n ) => void;\n renderNode?: NodeRenderer;\n}\n\nexport const Node: FC = ({\n animated,\n disabled,\n id,\n draggable,\n theme,\n labelFontUrl,\n contextMenu,\n onClick,\n onPointerOver,\n onPointerOut,\n onContextMenu,\n renderNode\n}) => {\n const cameraControls = useCameraControls();\n const node = useStore(state => state.nodes.find(n => n.id === id));\n const edges = useStore(state => state.edges);\n const draggingId = useStore(state => state.draggingId);\n const collapsedNodeIds = useStore(state => state.collapsedNodeIds);\n const setDraggingId = useStore(state => state.setDraggingId);\n const setNodePosition = useStore(state => state.setNodePosition);\n const setCollapsedNodeIds = useStore(state => state.setCollapsedNodeIds);\n const isCollapsed = useStore(state => state.collapsedNodeIds.includes(id));\n const isActive = useStore(state => state.actives?.includes(id));\n const isSelected = useStore(state => state.selections?.includes(id));\n const hasSelections = useStore(state => state.selections?.length > 0);\n\n const isDragging = draggingId === id;\n const { position, label, size: nodeSize = 7, labelVisible = true } = node;\n\n const group = useRef(null);\n const [active, setActive] = useState(false);\n const [menuVisible, setMenuVisible] = useState(false);\n\n const selectionOpacity = hasSelections\n ? isSelected || active || isActive\n ? theme.node.selectedOpacity\n : theme.node.inactiveOpacity\n : theme.node.opacity;\n\n const canCollapse = useMemo(() => {\n // If the node has outgoing edges, it can collapse via context menu\n const outboundLinks = edges.filter(l => l.source === id);\n\n return outboundLinks.length > 0 || isCollapsed;\n }, [edges, id, isCollapsed]);\n\n const onCollapse = useCallback(() => {\n if (canCollapse) {\n if (isCollapsed) {\n setCollapsedNodeIds(collapsedNodeIds.filter(p => p !== id));\n } else {\n setCollapsedNodeIds([...collapsedNodeIds, id]);\n }\n }\n }, [canCollapse, collapsedNodeIds, id, isCollapsed, setCollapsedNodeIds]);\n\n const [{ nodePosition, labelPosition }] = useSpring(\n () => ({\n from: {\n nodePosition: [0, 0, 0],\n labelPosition: [0, -(nodeSize + 7), 2]\n },\n to: {\n nodePosition: position\n ? [position.x, position.y, position.z]\n : [0, 0, 0],\n labelPosition: [0, -(nodeSize + 7), 2]\n },\n config: {\n ...animationConfig,\n duration: animated && !draggingId ? undefined : 0\n }\n }),\n [isDragging, position, animated, nodeSize]\n );\n\n const bind = useDrag({\n draggable,\n position,\n // @ts-ignore\n set: pos => setNodePosition(id, pos),\n onDragStart: () => {\n setDraggingId(id);\n setActive(true);\n cameraControls.controls.enabled = false;\n },\n onDragEnd: () => {\n setDraggingId(null);\n setActive(false);\n cameraControls.controls.enabled = true;\n }\n });\n\n useCursor(active && !draggingId && onClick !== undefined, 'pointer');\n useCursor(\n active && draggable && !isDragging && onClick === undefined,\n 'grab'\n );\n useCursor(isDragging, 'grabbing');\n\n const combinedActiveState = isSelected || active || isDragging || isActive;\n const color = combinedActiveState\n ? theme.node.activeFill\n : node.fill || theme.node.fill;\n\n const { pointerOver, pointerOut } = useHoverIntent({\n disabled: disabled || isDragging,\n onPointerOver: () => {\n setActive(true);\n onPointerOver?.(node);\n },\n onPointerOut: () => {\n setActive(false);\n onPointerOut?.(node);\n }\n });\n\n return (\n {\n if (!disabled && !isDragging) {\n onClick?.(node, {\n canCollapse,\n isCollapsed\n });\n }\n }}\n onContextMenu={() => {\n if (!disabled) {\n setMenuVisible(true);\n onContextMenu?.(node, {\n canCollapse,\n isCollapsed,\n onCollapse\n });\n }\n }}\n {...(bind() as any)}\n >\n {renderNode ? (\n renderNode({\n id,\n color,\n size: nodeSize,\n active: combinedActiveState,\n opacity: selectionOpacity,\n animated,\n node\n })\n ) : (\n <>\n {node.icon ? (\n \n ) : (\n \n )}\n \n )}\n \n {menuVisible && contextMenu && (\n \n {contextMenu({\n data: node,\n canCollapse,\n isCollapsed,\n onCollapse,\n onClose: () => setMenuVisible(false)\n })}\n \n )}\n {(labelVisible || isSelected || active) && label && (\n \n \n \n )}\n \n );\n};\n\nNode.defaultProps = {\n draggable: false\n};\n","import React, { FC, useMemo, useRef, useEffect, useCallback } from 'react';\nimport { useSpring, a } from '@react-spring/three';\nimport { Color, ColorRepresentation, Mesh, DoubleSide, Vector3 } from 'three';\nimport { animationConfig } from '../utils';\nimport { useStore } from '../store';\n\nexport type EdgeArrowPosition = 'none' | 'mid' | 'end';\n\nexport interface ArrowProps {\n animated?: boolean;\n color?: ColorRepresentation;\n length: number;\n opacity?: number;\n position: Vector3;\n rotation: Vector3;\n size: number;\n onContextMenu?: () => void;\n onActive?: (state: boolean) => void;\n}\n\nexport const Arrow: FC = ({\n animated,\n color,\n length,\n opacity,\n position,\n rotation,\n size,\n onActive,\n onContextMenu\n}) => {\n const normalizedColor = useMemo(() => new Color(color), [color]);\n const meshRef = useRef(null);\n const draggingId = useStore(state => state.draggingId);\n\n const [{ pos, arrowOpacity }] = useSpring(\n () => ({\n from: {\n pos: [0, 0, 0],\n arrowOpacity: 0\n },\n to: {\n pos: [position.x, position.y, position.z],\n arrowOpacity: opacity\n },\n config: {\n ...animationConfig,\n duration: animated && !draggingId ? undefined : 0\n }\n }),\n [animated, draggingId, opacity, position]\n );\n\n const setQuaternion = useCallback(() => {\n const axis = new Vector3(0, 1, 0);\n meshRef.current?.quaternion.setFromUnitVectors(axis, rotation);\n }, [rotation, meshRef]);\n\n useEffect(() => setQuaternion(), [setQuaternion]);\n\n return (\n onActive(true)}\n onPointerOut={() => onActive(false)}\n onPointerDown={event => {\n // context menu controls\n if (event.nativeEvent.buttons === 2) {\n event.stopPropagation();\n onContextMenu();\n }\n }}\n >\n \n \n \n );\n};\n\nArrow.defaultProps = {\n size: 1,\n opacity: 0.5,\n color: '#D8E6EA'\n};\n","import React, { FC, useMemo, useRef } from 'react';\nimport { useSpring, a } from '@react-spring/three';\nimport { animationConfig, getCurve } from '../utils';\nimport {\n Vector3,\n TubeBufferGeometry,\n ColorRepresentation,\n Color,\n Curve\n} from 'three';\nimport { useStore } from '../store';\nimport { ThreeEvent } from '@react-three/fiber';\n\nexport interface LineProps {\n animated?: boolean;\n color?: ColorRepresentation;\n curved: boolean;\n curve: Curve;\n id: string;\n opacity?: number;\n size?: number;\n onClick?: () => void;\n onContextMenu?: () => void;\n onPointerOver?: (event: ThreeEvent) => void;\n onPointerOut?: (event: ThreeEvent) => void;\n}\n\nexport const Line: FC = ({\n animated,\n color,\n curve,\n curved = false,\n id,\n opacity,\n size,\n onContextMenu,\n onClick,\n onPointerOver,\n onPointerOut\n}) => {\n const tubeRef = useRef(null);\n const draggingId = useStore(state => state.draggingId);\n const normalizedColor = useMemo(() => new Color(color), [color]);\n\n // Do opacity seperate from vertices for perf\n const { lineOpacity } = useSpring({\n from: {\n lineOpacity: 0\n },\n to: {\n lineOpacity: opacity\n },\n config: {\n ...animationConfig,\n duration: animated ? undefined : 0\n }\n });\n\n useSpring(() => {\n const from = curve.getPoint(0);\n const to = curve.getPoint(1);\n return {\n from: {\n fromVertices: [0, 0, 0],\n toVertices: [0, 0, 0]\n },\n to: {\n fromVertices: [from?.x, from?.y, from?.z || 0],\n toVertices: [to?.x, to?.y, to?.z || 0]\n },\n onChange: event => {\n const { fromVertices, toVertices } = event.value;\n const fromVector = new Vector3(...fromVertices);\n const toVector = new Vector3(...toVertices);\n\n const curve = getCurve(fromVector, 0, toVector, 0, curved);\n tubeRef.current.copy(\n new TubeBufferGeometry(curve, 20, size / 2, 5, false)\n );\n },\n config: {\n ...animationConfig,\n duration: animated && !draggingId ? undefined : 0\n }\n };\n }, [animated, draggingId, curve, size]);\n\n return (\n {\n // context menu controls\n if (event.nativeEvent.buttons === 2) {\n event.stopPropagation();\n onContextMenu();\n }\n }}\n >\n \n \n \n );\n};\n\nLine.defaultProps = {\n color: '#000',\n size: 1,\n opacity: 1\n};\n","import React, { FC, useMemo, useState } from 'react';\nimport { useSpring, a } from '@react-spring/three';\nimport { Arrow, EdgeArrowPosition } from './Arrow';\nimport { Label } from './Label';\nimport {\n animationConfig,\n getArrowSize,\n getArrowVectors,\n getCurve,\n getLabelOffsetByType,\n getMidPoint,\n getVector\n} from '../utils';\nimport { Line } from './Line';\nimport { Theme } from '../themes';\nimport { useStore } from '../store';\nimport { ContextMenuEvent, InternalGraphEdge } from '../types';\nimport { Html, useCursor } from '@react-three/drei';\nimport { useHoverIntent } from '../utils/useHoverIntent';\nimport { Euler } from 'three';\n\nexport const LABEL_FONT_SIZE = 6;\n\n/**\n * Label positions relatively edge.\n *\n * - below: show label under the edge line\n * - above: show label above the edge line\n * - inline: show label along the edge line\n * - natural: normal text positions\n */\nexport type EdgeLabelPosition = 'below' | 'above' | 'inline' | 'natural';\n\n/**\n * Type of edge interpolation.\n *\n * - Linear is straight\n * - Curved is curved\n */\nexport type EdgeInterpolation = 'linear' | 'curved';\n\nexport interface EdgeProps {\n id: string;\n theme: Theme;\n animated?: boolean;\n disabled?: boolean;\n labelPlacement?: EdgeLabelPosition;\n arrowPlacement?: EdgeArrowPosition;\n interpolation: EdgeInterpolation;\n contextMenu?: (event: Partial) => React.ReactNode;\n onClick?: (edge: InternalGraphEdge) => void;\n onContextMenu?: (edge?: InternalGraphEdge) => void;\n onPointerOver?: (edge: InternalGraphEdge) => void;\n onPointerOut?: (edge: InternalGraphEdge) => void;\n}\n\nexport const Edge: FC = ({\n animated,\n arrowPlacement,\n contextMenu,\n disabled,\n labelPlacement,\n id,\n interpolation,\n theme,\n onContextMenu,\n onClick,\n onPointerOver,\n onPointerOut\n}) => {\n const edge = useStore(state => state.edges.find(e => e.id === id));\n const { target, source, label, labelVisible = false, size = 1 } = edge;\n const curved = interpolation === 'curved';\n\n const from = useStore(store => store.nodes.find(node => node.id === source));\n const to = useStore(store => store.nodes.find(node => node.id === target));\n const draggingId = useStore(state => state.draggingId);\n const [active, setActive] = useState(false);\n const [menuVisible, setMenuVisible] = useState(false);\n const labelOffset = (size + LABEL_FONT_SIZE) / 2;\n\n const [arrowLength, arrowSize] = useMemo(() => getArrowSize(size), [size]);\n\n const [curve, arrowPosition, arrowRotation] = useMemo(() => {\n const fromVector = getVector(from);\n const fromOffset = from.size;\n const toVector = getVector(to);\n const toOffset = to.size;\n let curve = getCurve(fromVector, fromOffset, toVector, toOffset, curved);\n\n const [arrowPosition, arrowRotation] = getArrowVectors(\n arrowPlacement,\n curve,\n arrowLength\n );\n if (arrowPlacement === 'end') {\n curve = getCurve(fromVector, fromOffset, arrowPosition, 0, curved);\n }\n return [curve, arrowPosition, arrowRotation];\n }, [curved, from, to, arrowPlacement, arrowLength]);\n\n const midPoint = useMemo(\n () =>\n getMidPoint(\n from.position,\n to.position,\n getLabelOffsetByType(labelOffset, labelPlacement)\n ),\n [from.position, to.position, labelOffset, labelPlacement]\n );\n\n const isSelected = useStore(state => state.selections?.includes(id));\n const hasSelections = useStore(state => state.selections?.length);\n const isActive = useStore(state => state.actives?.includes(id));\n\n const selectionOpacity = hasSelections\n ? isSelected || isActive\n ? theme.edge.selectedOpacity\n : theme.edge.inactiveOpacity\n : theme.edge.opacity;\n\n const [{ labelPosition }] = useSpring(\n () => ({\n from: {\n labelPosition: [0, 0, 0]\n },\n to: {\n labelPosition: [midPoint.x, midPoint.y, midPoint.z]\n },\n config: {\n ...animationConfig,\n duration: animated && !draggingId ? undefined : 0\n }\n }),\n [midPoint, animated, draggingId]\n );\n\n const labelRotation = useMemo(\n () =>\n new Euler(\n 0,\n 0,\n labelPlacement === 'natural'\n ? 0\n : Math.atan(\n (to.position.y - from.position.y) /\n (to.position.x - from.position.x)\n )\n ),\n [\n to.position.x,\n to.position.y,\n from.position.x,\n from.position.y,\n labelPlacement\n ]\n );\n\n useCursor(active && !draggingId && onClick !== undefined, 'pointer');\n\n const { pointerOver, pointerOut } = useHoverIntent({\n disabled,\n onPointerOver: () => {\n setActive(true);\n onPointerOver?.(edge);\n },\n onPointerOut: () => {\n setActive(false);\n onPointerOut?.(edge);\n }\n });\n\n return (\n \n {\n if (!disabled) {\n onClick?.(edge);\n }\n }}\n onPointerOver={pointerOver}\n onPointerOut={pointerOut}\n onContextMenu={() => {\n if (!disabled) {\n setMenuVisible(true);\n onContextMenu?.(edge);\n }\n }}\n />\n {arrowPlacement !== 'none' && (\n {\n if (!disabled) {\n setMenuVisible(true);\n onContextMenu?.(edge);\n }\n }}\n />\n )}\n {labelVisible && label && (\n \n \n \n )}\n {menuVisible && contextMenu && (\n \n {contextMenu({ data: edge, onClose: () => setMenuVisible(false) })}\n \n )}\n \n );\n};\n\nEdge.defaultProps = {\n labelPlacement: 'inline',\n arrowPlacement: 'end'\n};\n","import { useCallback, useRef } from 'react';\nimport {\n BoxGeometry,\n BufferGeometry,\n CylinderGeometry,\n Quaternion,\n TubeBufferGeometry,\n Vector3\n} from 'three';\nimport { mergeBufferGeometries } from 'three-stdlib';\n\nimport { GraphState, useStore } from '../../store';\nimport { InternalGraphEdge } from '../../types';\nimport {\n getArrowSize,\n getArrowVectors,\n getVector,\n getCurve\n} from '../../utils';\nimport { EdgeArrowPosition } from '../Arrow';\nimport { EdgeInterpolation, LABEL_FONT_SIZE } from '../Edge';\n\nexport type UseEdgeGeometry = {\n getGeometries(edges: Array): Array;\n getGeometry(\n active: Array,\n inactive: Array\n ): BufferGeometry;\n};\n\nconst NULL_GEOMETRY = new BoxGeometry(0, 0, 0);\n\nexport function useEdgeGeometry(\n arrowPlacement: EdgeArrowPosition,\n interpolation: EdgeInterpolation\n): UseEdgeGeometry {\n // We don't want to rerun everything when the state changes,\n // but we do want to use the most recent nodes whenever `getGeometries`\n // or `getGeometry` is run, so we store it in a ref:\n const stateRef = useRef();\n useStore(state => {\n stateRef.current = state;\n });\n\n const geometryCacheRef = useRef(new Map());\n\n const curved = interpolation === 'curved';\n const getGeometries = useCallback(\n (edges: Array): Array => {\n const geometries: Array = [];\n const cache = geometryCacheRef.current;\n\n const { nodes } = stateRef.current;\n\n edges.forEach(edge => {\n const { target, source, size = 1 } = edge;\n\n const from = nodes.find(node => node.id === source);\n const to = nodes.find(node => node.id === target);\n\n if (!from || !to) {\n return;\n }\n\n // Create hash so geometry can be reused if edge doesn't move:\n const hash = `fromX:${from.position.x},fromY:${from.position.y},toX:${to.position.x}},toY:${to.position.y}`;\n if (cache.has(hash)) {\n const geometry = cache.get(hash);\n geometries.push(geometry);\n return;\n }\n\n const fromVector = getVector(from);\n const fromOffset = from.size + LABEL_FONT_SIZE;\n const toVector = getVector(to);\n const toOffset = to.size + LABEL_FONT_SIZE;\n let curve = getCurve(\n fromVector,\n fromOffset,\n toVector,\n toOffset,\n curved\n );\n\n let edgeGeometry = new TubeBufferGeometry(\n curve,\n 20,\n size / 2,\n 5,\n false\n );\n\n if (arrowPlacement === 'none') {\n geometries.push(edgeGeometry);\n cache.set(hash, edgeGeometry);\n return;\n }\n\n const [arrowLength, arrowSize] = getArrowSize(size);\n\n const [arrowPosition, arrowRotation] = getArrowVectors(\n arrowPlacement,\n curve,\n arrowLength\n );\n const quaternion = new Quaternion();\n quaternion.setFromUnitVectors(new Vector3(0, 1, 0), arrowRotation);\n\n const arrowGeometry = new CylinderGeometry(\n 0,\n arrowSize,\n arrowLength,\n 20,\n 1,\n true\n );\n arrowGeometry.applyQuaternion(quaternion);\n arrowGeometry.translate(\n arrowPosition.x,\n arrowPosition.y,\n arrowPosition.z\n );\n\n // Move edge so it doesn't stick through the arrow:\n if (arrowPlacement && arrowPlacement === 'end') {\n const curve = getCurve(\n fromVector,\n fromOffset,\n arrowPosition,\n 0,\n curved\n );\n edgeGeometry = new TubeBufferGeometry(curve, 20, size / 2, 5, false);\n }\n\n const merged = mergeBufferGeometries([edgeGeometry, arrowGeometry]);\n geometries.push(merged);\n cache.set(hash, merged);\n });\n return geometries;\n },\n [arrowPlacement, curved]\n );\n\n const getGeometry = useCallback(\n (\n active: Array,\n inactive: Array\n ): BufferGeometry => {\n const activeGeometries = getGeometries(active);\n const inactiveGeometries = getGeometries(inactive);\n\n return mergeBufferGeometries(\n [\n inactiveGeometries.length\n ? mergeBufferGeometries(inactiveGeometries)\n : NULL_GEOMETRY,\n activeGeometries.length\n ? mergeBufferGeometries(activeGeometries)\n : NULL_GEOMETRY\n ],\n true\n );\n },\n [getGeometries]\n );\n\n return {\n getGeometries,\n getGeometry\n };\n}\n","import { useCallback, useRef } from 'react';\n\nimport { useStore } from '../../store';\nimport { InternalGraphEdge } from '../../types';\n\nexport type EdgeEvents = {\n onClick?: (edge: InternalGraphEdge) => void;\n onContextMenu?: (edge?: InternalGraphEdge) => void;\n onPointerOver?: (edge: InternalGraphEdge) => void;\n onPointerOut?: (edge: InternalGraphEdge) => void;\n};\n\nexport function useEdgeEvents(\n events: EdgeEvents,\n contextMenu,\n disabled: boolean\n) {\n const { onClick, onContextMenu, onPointerOut, onPointerOver } = events;\n\n const edgeContextMenus = useStore(state => state.edgeContextMenus);\n const setEdgeContextMenus = useStore(state => state.setEdgeContextMenus);\n\n const clickRef = useRef(false);\n const handleClick = useCallback(() => {\n clickRef.current = true;\n }, []);\n\n const contextMenuEventRef = useRef(false);\n const handleContextMenu = useCallback(() => {\n contextMenuEventRef.current = true;\n }, []);\n\n const handleIntersections = useCallback(\n (\n previous: Array,\n intersected: Array\n ) => {\n if (onClick && clickRef.current) {\n clickRef.current = false;\n if (!disabled) {\n intersected.forEach(edge => {\n onClick(edge);\n });\n }\n }\n\n if ((contextMenu || onContextMenu) && contextMenuEventRef.current) {\n contextMenuEventRef.current = false;\n if (!disabled) {\n intersected.forEach(edge => {\n if (!edgeContextMenus.has(edge.id)) {\n setEdgeContextMenus(new Set([...edgeContextMenus, edge.id]));\n onContextMenu?.(edge);\n }\n });\n }\n }\n\n if (onPointerOver) {\n const over = intersected.filter(index => !previous.includes(index));\n over.forEach(edge => {\n onPointerOver(edge);\n });\n }\n\n if (onPointerOut) {\n const out = previous.filter(index => !intersected.includes(index));\n out.forEach(edge => {\n onPointerOut(edge);\n });\n }\n },\n [\n contextMenu,\n disabled,\n edgeContextMenus,\n setEdgeContextMenus,\n onClick,\n onContextMenu,\n onPointerOver,\n onPointerOut\n ]\n );\n\n return {\n handleClick,\n handleContextMenu,\n handleIntersections\n };\n}\n","import { SpringValue, useSpring } from '@react-spring/three';\nimport { useCallback, useEffect, useRef } from 'react';\nimport { BufferAttribute, BufferGeometry } from 'three';\n\nimport { Theme } from '../../themes';\nimport { animationConfig } from '../../utils';\n\nexport function useEdgePositionAnimation(\n geometry: BufferGeometry,\n animated: boolean\n): void {\n const geometryRef = useRef(geometry);\n\n useEffect(() => {\n geometryRef.current = geometry;\n }, [geometry]);\n\n const getAnimationPositions = useCallback(() => {\n const positions = geometryRef.current.getAttribute('position');\n const from = Array.from({\n length: positions.array.length\n }).fill(0) as Array;\n const to = Array.from(positions.array);\n return { from, to };\n }, []);\n\n const updateGeometryPosition = useCallback((positions: Array) => {\n const buffer = new Float32Array(positions);\n const newPosition = new BufferAttribute(buffer, 3, false);\n geometryRef.current.setAttribute('position', newPosition);\n newPosition.needsUpdate = true;\n }, []);\n\n useSpring(() => {\n if (!animated) {\n return null;\n }\n\n const animationPositions = getAnimationPositions();\n\n return {\n from: {\n positions: animationPositions.from\n },\n to: {\n positions: animationPositions.to\n },\n onChange: event => {\n updateGeometryPosition(event.value.positions);\n },\n config: {\n ...animationConfig,\n duration: animated ? undefined : 0\n }\n };\n }, [animated]);\n}\n\nexport type UseEdgeOpacityAnimations = {\n activeOpacity: SpringValue;\n inactiveOpacity: SpringValue;\n};\n\nexport function useEdgeOpacityAnimation(\n animated: boolean,\n hasSelections: boolean,\n theme: Theme\n): UseEdgeOpacityAnimations {\n const [{ activeOpacity, inactiveOpacity }] = useSpring(() => {\n return {\n from: {\n activeOpacity: 0,\n inactiveOpacity: 0\n },\n to: {\n activeOpacity: hasSelections\n ? theme.edge.selectedOpacity\n : theme.edge.opacity,\n inactiveOpacity: hasSelections\n ? theme.edge.inactiveOpacity\n : theme.edge.opacity\n },\n config: {\n ...animationConfig,\n duration: animated ? undefined : 0\n }\n };\n }, [animated, hasSelections, theme]);\n\n return { activeOpacity, inactiveOpacity };\n}\n","import React, { FC, useCallback, useMemo } from 'react';\nimport { useSpring, a } from '@react-spring/three';\nimport { Html } from '@react-three/drei';\nimport { ColorRepresentation, Euler } from 'three';\n\nimport { useStore } from '../../store';\nimport { Theme } from '../../themes';\nimport { ContextMenuEvent, InternalGraphEdge } from '../../types';\nimport {\n animationConfig,\n getLabelOffsetByType,\n getMidPoint\n} from '../../utils';\nimport { Label } from '../Label';\n\nexport const LABEL_FONT_SIZE = 6;\n\n/**\n * Label positions relatively edge\n *\n * below: show label under the edge line\n * above: show label above the edge line\n * inline: show label along the edge line\n * natural: normal text positions\n */\nexport type EdgeLabelPosition = 'below' | 'above' | 'inline' | 'natural';\n\nexport type EdgeArrowPosition = 'none' | 'mid' | 'end';\n\nexport interface EdgeProps {\n animated?: boolean;\n disabled?: boolean;\n color: ColorRepresentation;\n contextMenu?: (event: Partial) => React.ReactNode;\n edge: InternalGraphEdge;\n labelPlacement?: EdgeLabelPosition;\n opacity?: number;\n theme: Theme;\n}\n\nexport const Edge: FC = ({\n animated,\n color,\n contextMenu,\n edge,\n labelPlacement,\n opacity,\n theme\n}) => {\n const { target, source, label, labelVisible = false, size = 1 } = edge;\n\n const nodes = useStore(store => store.nodes);\n const from = nodes.find(node => node.id === source);\n const to = nodes.find(node => node.id === target);\n const draggingId = useStore(state => state.draggingId);\n\n const labelOffset = (size + LABEL_FONT_SIZE) / 2;\n\n const midPoint = useMemo(\n () =>\n getMidPoint(\n from.position,\n to.position,\n getLabelOffsetByType(labelOffset, labelPlacement)\n ),\n [from.position, to.position, labelOffset, labelPlacement]\n );\n\n const edgeContextMenus = useStore(state => state.edgeContextMenus);\n const setEdgeContextMenus = useStore(state => state.setEdgeContextMenus);\n\n const [{ labelPosition }] = useSpring(\n () => ({\n from: {\n labelPosition: [0, 0, 0]\n },\n to: {\n labelPosition: [midPoint.x, midPoint.y, midPoint.z]\n },\n config: {\n ...animationConfig,\n duration: animated && !draggingId ? undefined : 0\n }\n }),\n [midPoint, animated, draggingId]\n );\n\n const removeContextMenu = useCallback(\n (edge: InternalGraphEdge) => {\n edgeContextMenus.delete(edge.id);\n setEdgeContextMenus(new Set(edgeContextMenus.values()));\n },\n [edgeContextMenus, setEdgeContextMenus]\n );\n\n const labelRotation = useMemo(\n () =>\n new Euler(\n 0,\n 0,\n labelPlacement === 'natural'\n ? 0\n : Math.atan(\n (to.position.y - from.position.y) /\n (to.position.x - from.position.x)\n )\n ),\n [\n to.position.x,\n to.position.y,\n from.position.x,\n from.position.y,\n labelPlacement\n ]\n );\n\n return (\n \n {labelVisible && label && (\n \n \n \n )}\n {contextMenu && edgeContextMenus.has(edge.id) && (\n \n {contextMenu({\n data: edge,\n onClose: () => removeContextMenu(edge)\n })}\n \n )}\n \n );\n};\n\nEdge.defaultProps = {\n labelPlacement: 'inline'\n};\n","import React, { FC, useCallback, useEffect, useMemo, useRef } from 'react';\nimport { a } from '@react-spring/three';\nimport { useFrame } from '@react-three/fiber';\nimport { DoubleSide, Mesh, Raycaster, TubeBufferGeometry } from 'three';\n\nimport { useStore } from '../../store';\nimport { Theme } from '../../themes';\nimport { ContextMenuEvent, InternalGraphEdge } from '../../types';\nimport { EdgeArrowPosition } from '../Arrow';\nimport { EdgeLabelPosition, EdgeInterpolation } from '../Edge';\nimport { useEdgeGeometry } from './useEdgeGeometry';\nimport { EdgeEvents, useEdgeEvents } from './useEdgeEvents';\nimport {\n useEdgePositionAnimation,\n useEdgeOpacityAnimation\n} from './useEdgeAnimations';\nimport { Edge } from './Edge';\n\nexport type EdgesProps = {\n animated?: boolean;\n arrowPlacement?: EdgeArrowPosition;\n contextMenu?: (event: Partial) => React.ReactNode;\n disabled?: boolean;\n edges: Array;\n labelPlacement?: EdgeLabelPosition;\n interpolation?: EdgeInterpolation;\n theme: Theme;\n} & EdgeEvents;\n\n/**\n * Three.js rendering starts to get slower if you have an individual mesh for each edge\n * and a high number of edges.\n *\n * Instead, we take the edges and split them into their different render states:\n *\n * * - Active (any edges that are marked as \"selected\" or \"active\" in the state)\n * * - Dragging (any edges that are connected to a node that is being dragged)\n * * - Intersecting (any edges that are currently intersected by the ray from the mouse position)\n * * - Inactive (any edges that aren't active, dragging, or intersected)\n *\n * We generate the geometry for each edge in each of these groups, and then merge them\n * into a single geometry for each group. This merged mesh is rendered as one object\n * which gives much better performance. This means that we only need to update geometry\n * and positions when edges move between the different states, rather than updating all\n * edges whenever any other edge changes.\n *\n * To get this all working, we have to do a few things outside the @react-three/fiber world,\n * specifically:\n *\n * * manually create edge/arrow geometries (see `useEdgeGeometry`)\n * * manually track mouse/edge interactions and fire events (see `useEdgeEvents`)\n * * manually update edge/arrow positions during aniamations (see `useEdgeAnimations`)\n */\nexport const Edges: FC = ({\n animated,\n arrowPlacement = 'end',\n contextMenu,\n disabled,\n edges,\n interpolation = 'linear',\n labelPlacement = 'inline',\n theme,\n onClick,\n onContextMenu,\n onPointerOut,\n onPointerOver\n}) => {\n const { getGeometries, getGeometry } = useEdgeGeometry(\n arrowPlacement,\n interpolation\n );\n\n const draggingId = useStore(state => state.draggingId);\n const edgeMeshes = useStore(state => state.edgeMeshes);\n const setEdgeMeshes = useStore(state => state.setEdgeMeshes);\n const actives = useStore(state => state.actives || []);\n const selections = useStore(state => state.selections || []);\n\n const [active, inactive, draggingActive, draggingInactive] = useMemo(() => {\n const active: Array = [];\n const inactive: Array = [];\n const draggingActive: Array = [];\n const draggingInactive: Array = [];\n edges.forEach(edge => {\n if (draggingId === edge.source || draggingId === edge.target) {\n if (selections.includes(edge.id) || actives.includes(edge.id)) {\n draggingActive.push(edge);\n } else {\n draggingInactive.push(edge);\n }\n return;\n }\n\n if (selections.includes(edge.id) || actives.includes(edge.id)) {\n active.push(edge);\n } else {\n inactive.push(edge);\n }\n });\n return [active, inactive, draggingActive, draggingInactive];\n }, [edges, actives, selections, draggingId]);\n\n const hasSelections = !!selections.length;\n\n const staticEdgesGeometry = useMemo(\n () => getGeometry(active, inactive),\n [getGeometry, active, inactive]\n );\n\n const { activeOpacity, inactiveOpacity } = useEdgeOpacityAnimation(\n animated,\n hasSelections,\n theme\n );\n\n useEdgePositionAnimation(staticEdgesGeometry, animated);\n\n useEffect(() => {\n if (draggingId === null) {\n const edgeGeometries = getGeometries(edges);\n const edgeMeshes = edgeGeometries.map(edge => new Mesh(edge));\n setEdgeMeshes(edgeMeshes);\n }\n }, [getGeometries, setEdgeMeshes, edges, draggingId]);\n\n const staticEdgesRef = useRef(new Mesh());\n const dynamicEdgesRef = useRef(new Mesh());\n\n const intersect = useCallback(\n (raycaster: Raycaster): Array => {\n // Handle initial raycaster state:\n if (!raycaster.camera) {\n return [];\n }\n const intersections =\n raycaster.intersectObjects>(edgeMeshes);\n if (!intersections.length) {\n return [];\n }\n return intersections.map(\n intersection => edges[edgeMeshes.indexOf(intersection.object)]\n );\n },\n [edgeMeshes, edges]\n );\n\n const { handleClick, handleContextMenu, handleIntersections } = useEdgeEvents(\n {\n onClick,\n onContextMenu,\n onPointerOut,\n onPointerOver\n },\n contextMenu,\n disabled\n );\n\n const draggingIdRef = useRef(null);\n const intersectingRef = useRef>([]);\n\n useFrame(state => {\n staticEdgesRef.current.geometry = staticEdgesGeometry;\n\n if (disabled) {\n return;\n }\n\n const previousDraggingId = draggingIdRef.current;\n if (draggingId || (draggingId === null && previousDraggingId !== null)) {\n dynamicEdgesRef.current.geometry = getGeometry(\n draggingActive,\n draggingInactive\n );\n }\n\n draggingIdRef.current = draggingId;\n if (draggingId) {\n return;\n }\n\n const previousIntersecting = intersectingRef.current;\n const intersecting = intersect(state.raycaster);\n handleIntersections(previousIntersecting, intersecting);\n\n if (intersecting.join() !== previousIntersecting.join()) {\n dynamicEdgesRef.current.geometry = getGeometry(intersecting, []);\n }\n\n intersectingRef.current = intersecting;\n });\n\n return (\n \n {/* Static edges */}\n \n \n \n \n\n {/* Dynamic edges */}\n \n \n \n \n\n {edges.map(edge => (\n \n ))}\n \n );\n};\n","import React, {\n FC,\n forwardRef,\n Fragment,\n Ref,\n useImperativeHandle,\n useMemo\n} from 'react';\nimport { useGraph } from './useGraph';\nimport { LayoutOverrides, LayoutTypes } from './layout';\nimport {\n NodeContextMenuProps,\n ContextMenuEvent,\n GraphEdge,\n GraphNode,\n InternalGraphEdge,\n InternalGraphNode,\n NodeRenderer,\n CollapseProps\n} from './types';\nimport { SizingType } from './sizing';\nimport {\n Edge,\n EdgeArrowPosition,\n EdgeInterpolation,\n EdgeLabelPosition,\n Edges,\n Node\n} from './symbols';\nimport { useCenterGraph } from './CameraControls';\nimport { LabelVisibilityType } from './utils';\nimport { Theme } from './themes';\nimport { useStore } from './store';\nimport Graph from 'graphology';\n\nexport interface GraphSceneProps {\n /**\n * Theme to use for the graph.\n */\n theme: Theme;\n\n /**\n * Type of layout.\n */\n layoutType?: LayoutTypes;\n\n /**\n * List of ids that are selected.\n */\n selections?: string[];\n\n /**\n * List of ids that are active.\n */\n actives?: string[];\n\n /**\n * List of node ids that are collapsed.\n */\n collapsedNodeIds?: string[];\n\n /**\n * Animate or not the graph positions.\n */\n animated?: boolean;\n\n /**\n * Nodes to pass to the graph.\n */\n nodes: GraphNode[];\n\n /**\n * Edges to pass to the graph.\n */\n edges: GraphEdge[];\n\n /**\n * Context menu element.\n */\n contextMenu?: (event: ContextMenuEvent) => React.ReactNode;\n\n /**\n * Type of sizing for nodes.\n */\n sizingType?: SizingType;\n\n /**\n * Type of visibility for labels.\n */\n labelType?: LabelVisibilityType;\n\n /**\n * Place of visibility for edge labels.\n */\n edgeLabelPosition?: EdgeLabelPosition;\n\n /**\n * Placement of edge arrows.\n */\n edgeArrowPosition?: EdgeArrowPosition;\n\n /**\n * Shape of edge.\n */\n edgeInterpolation?: EdgeInterpolation;\n\n /**\n * Font of label, same as troika-three-text\n * The URL of a custom font file to be used. Supported font formats are: * .ttf * .otf * .woff (.woff2 is not supported)\n * Default: The Roboto font loaded from Google Fonts CDN\n */\n labelFontUrl?: string;\n\n /**\n * Attribute based sizing property.\n */\n sizingAttribute?: string;\n\n /**\n * The default size to size nodes to. Default is 7.\n */\n defaultNodeSize?: number;\n\n /**\n * When using sizing attributes, the min size a node can be.\n */\n minNodeSize?: number;\n\n /**\n * When using sizing attributes, the max size a node can be.\n */\n maxNodeSize?: number;\n\n /**\n * Attribute used for clustering.\n */\n clusterAttribute?: string;\n\n /**\n * Disable interactions or not.\n */\n disabled?: boolean;\n\n /**\n * Allow dragging of nodes.\n */\n draggable?: boolean;\n\n /**\n * Render a custom node\n */\n renderNode?: NodeRenderer;\n\n /**\n * Advanced overrides for the layout.\n */\n layoutOverrides?: LayoutOverrides;\n\n /**\n * When a node was clicked.\n */\n onNodeClick?: (node: InternalGraphNode, props?: CollapseProps) => void;\n\n /**\n * When a node context menu happened.\n */\n onNodeContextMenu?: (\n node: InternalGraphNode,\n props?: NodeContextMenuProps\n ) => void;\n\n /**\n * When node got a pointer over.\n */\n onNodePointerOver?: (node: InternalGraphNode) => void;\n\n /**\n * When node lost pointer over.\n */\n onNodePointerOut?: (node: InternalGraphNode) => void;\n\n /**\n * When a edge context menu happened.\n */\n onEdgeContextMenu?: (edge?: InternalGraphEdge) => void;\n\n /**\n * When an edge was clicked.\n */\n onEdgeClick?: (edge: InternalGraphEdge) => void;\n\n /**\n * When edge got a pointer over.\n */\n onEdgePointerOver?: (edge: InternalGraphEdge) => void;\n\n /**\n * When edge lost pointer over.\n */\n onEdgePointerOut?: (edge: InternalGraphEdge) => void;\n}\n\nexport interface GraphSceneRef {\n /**\n * Reference to the graph object.\n */\n graph: Graph;\n\n /**\n * Center the graph on a node or list of nodes.\n */\n centerGraph: (ids?: string[]) => void;\n}\n\nexport const GraphScene: FC }> =\n forwardRef(\n (\n {\n onNodeClick,\n onNodeContextMenu,\n onEdgeContextMenu,\n onEdgeClick,\n onEdgePointerOver,\n onEdgePointerOut,\n onNodePointerOver,\n onNodePointerOut,\n contextMenu,\n theme,\n animated,\n disabled,\n draggable,\n edgeLabelPosition,\n edgeArrowPosition,\n edgeInterpolation,\n labelFontUrl,\n renderNode,\n ...rest\n },\n ref\n ) => {\n const { mounted } = useGraph(rest);\n\n const graph = useStore(state => state.graph);\n const nodes = useStore(state => state.nodes);\n const edges = useStore(state => state.edges);\n\n const nodeIds = useMemo(() => nodes.map(n => n.id), [nodes]);\n const edgeIds = useMemo(() => edges.map(e => e.id), [edges]);\n\n const { centerNodesById } = useCenterGraph({\n animated\n });\n\n useImperativeHandle(\n ref,\n () => ({\n centerGraph: centerNodesById,\n graph\n }),\n [centerNodesById, graph]\n );\n\n return (\n \n {mounted && (\n \n {nodeIds.map(n => (\n \n ))}\n {animated ? (\n edgeIds.map(e => (\n \n ))\n ) : (\n \n )}\n \n )}\n \n );\n }\n );\n\nGraphScene.defaultProps = {\n edgeInterpolation: 'linear'\n};\n","import { Theme } from './theme';\n\nexport const lightTheme: Theme = {\n canvas: {\n background: '#fff'\n },\n node: {\n fill: '#7CA0AB',\n activeFill: '#1DE9AC',\n opacity: 1,\n selectedOpacity: 1,\n inactiveOpacity: 0.2,\n label: {\n color: '#2A6475',\n stroke: '#fff',\n activeColor: '#1DE9AC'\n }\n },\n lasso: {\n border: '1px solid #55aaff',\n background: 'rgba(75, 160, 255, 0.1)'\n },\n ring: {\n fill: '#D8E6EA',\n activeFill: '#1DE9AC'\n },\n edge: {\n fill: '#D8E6EA',\n activeFill: '#1DE9AC',\n opacity: 1,\n selectedOpacity: 1,\n inactiveOpacity: 0.1,\n label: {\n stroke: '#fff',\n color: '#2A6475',\n activeColor: '#1DE9AC'\n }\n },\n arrow: {\n fill: '#D8E6EA',\n activeFill: '#1DE9AC'\n }\n};\n","import { Theme } from '../themes';\nimport Graph from 'graphology';\n\nexport type PathSelectionTypes = 'direct' | 'out' | 'in' | 'all';\n\n/**\n * Given a graph and a list of node ids, return the adjacent nodes and edges.\n *\n * TODO: This method could be improved with the introduction of graphology\n */\nexport function getAdjacents(\n graph: Graph,\n nodeIds: string | string[],\n type: PathSelectionTypes\n) {\n nodeIds = Array.isArray(nodeIds) ? nodeIds : [nodeIds];\n\n const nodes: string[] = [];\n const edges: string[] = [];\n\n for (const nodeId of nodeIds) {\n const graphLinks = [\n ...(graph.inEdgeEntries(nodeId) ?? []),\n ...(graph.outEdgeEntries(nodeId) ?? [])\n ];\n\n if (!graphLinks) {\n continue;\n }\n\n for (const link of graphLinks) {\n const linkId = link.attributes.id;\n\n if (type === 'in') {\n if (link.target === nodeId && !edges.includes(linkId)) {\n edges.push(linkId);\n }\n } else if (type === 'out') {\n if (link.source === nodeId && !edges.includes(linkId)) {\n edges.push(linkId);\n }\n } else {\n if (!edges.includes(linkId)) {\n edges.push(linkId);\n }\n }\n\n if (type === 'out' || type === 'all') {\n const toId = link.target;\n if (!nodes.includes(toId as string)) {\n nodes.push(toId as string);\n }\n }\n\n if (type === 'in' || type === 'all') {\n if (!nodes.includes(link.source)) {\n nodes.push(link.source as string);\n }\n }\n }\n }\n\n return {\n nodes,\n edges\n };\n}\n\n/**\n * Set the vectors.\n */\nexport function prepareRay(event, vec, size) {\n const { offsetX, offsetY } = event;\n const { width, height } = size;\n vec.set((offsetX / width) * 2 - 1, -(offsetY / height) * 2 + 1);\n}\n\n/**\n * Create a lasso element.\n */\nexport function createElement(theme: Theme) {\n const element = document.createElement('div');\n element.style.pointerEvents = 'none';\n element.style.border = theme.lasso.border;\n element.style.backgroundColor = theme.lasso.background;\n element.style.position = 'fixed';\n return element;\n}\n","import React, {\n FC,\n PropsWithChildren,\n useCallback,\n useEffect,\n useRef\n} from 'react';\nimport { useThree } from '@react-three/fiber';\nimport { SelectionBox } from 'three-stdlib';\nimport { Mesh, Scene, TubeBufferGeometry, Vector2 } from 'three';\nimport { useCameraControls } from '../CameraControls';\nimport { useStore } from '../store';\nimport { Theme } from '../themes';\nimport { createElement, prepareRay } from './utils';\n\nexport type LassoType = 'none' | 'all' | 'node' | 'edge';\n\nexport type LassoProps = PropsWithChildren<{\n theme: Theme;\n disabled?: boolean;\n type?: LassoType;\n onLasso?: (selections: string[]) => void;\n onLassoEnd?: (selections: string[]) => void;\n}>;\n\nexport const Lasso: FC = ({\n children,\n theme,\n type = 'none',\n onLasso,\n onLassoEnd,\n disabled\n}) => {\n const camera = useThree(state => state.camera);\n const gl = useThree(state => state.gl);\n const setEvents = useThree(state => state.setEvents);\n const size = useThree(state => state.size);\n const get = useThree(state => state.get);\n const scene = useThree(state => state.scene);\n\n const cameraControls = useCameraControls();\n\n const actives = useStore(state => state.actives);\n const setActives = useStore(state => state.setActives);\n const edges = useStore(state => state.edges);\n const edgeMeshes = useStore(state => state.edgeMeshes);\n\n const mountedRef = useRef(false);\n const selectionBoxRef = useRef(null);\n const edgeMeshSelectionBoxRef = useRef(null);\n const elementRef = useRef(createElement(theme));\n const vectorsRef = useRef<[Vector2, Vector2, Vector2] | null>(null);\n const isDownRef = useRef(false);\n const oldRaycasterEnabledRef = useRef(get().events.enabled);\n const oldControlsEnabledRef = useRef(\n cameraControls.controls?.enabled\n );\n\n useEffect(() => {\n if (mountedRef.current) {\n onLasso?.(actives);\n }\n\n mountedRef.current = true;\n }, [actives, onLasso]);\n\n const onPointerMove = useCallback(\n event => {\n if (isDownRef.current) {\n const [startPoint, pointTopLeft, pointBottomRight] = vectorsRef.current;\n\n pointBottomRight.x = Math.max(startPoint.x, event.clientX);\n pointBottomRight.y = Math.max(startPoint.y, event.clientY);\n pointTopLeft.x = Math.min(startPoint.x, event.clientX);\n pointTopLeft.y = Math.min(startPoint.y, event.clientY);\n elementRef.current.style.left = `${pointTopLeft.x}px`;\n elementRef.current.style.top = `${pointTopLeft.y}px`;\n elementRef.current.style.width = `${\n pointBottomRight.x - pointTopLeft.x\n }px`;\n elementRef.current.style.height = `${\n pointBottomRight.y - pointTopLeft.y\n }px`;\n\n prepareRay(event, selectionBoxRef.current.endPoint, size);\n prepareRay(event, edgeMeshSelectionBoxRef.current.endPoint, size);\n\n const allSelected = [];\n const edgesSelected = edgeMeshSelectionBoxRef.current\n .select()\n .sort(o => (o as any).uuid)\n .map(\n edge =>\n edges[edgeMeshes.indexOf(edge as Mesh)].id\n );\n allSelected.push(...edgesSelected);\n\n const selected = selectionBoxRef.current\n .select()\n .sort(o => (o as any).uuid)\n .filter(\n o =>\n o.isMesh &&\n o.userData?.id &&\n (o.userData?.type === type || type === 'all')\n )\n .map(o => o.userData.id);\n allSelected.push(...selected);\n\n // Note: This probably isn't the best solution but\n // it prevents the render thrashing and causing flickering\n requestAnimationFrame(() => {\n setActives(allSelected);\n });\n\n document.addEventListener('pointermove', onPointerMove, {\n passive: true,\n capture: true,\n once: true\n });\n }\n },\n [edges, edgeMeshes, setActives, size, type]\n );\n\n const onPointerUp = useCallback(() => {\n if (isDownRef.current) {\n setEvents({ enabled: oldRaycasterEnabledRef.current });\n isDownRef.current = false;\n elementRef.current.parentElement?.removeChild(elementRef.current);\n cameraControls.controls.enabled = oldControlsEnabledRef.current;\n onLassoEnd?.(actives);\n\n document.removeEventListener('pointermove', onPointerMove);\n document.removeEventListener('pointerup', onPointerUp);\n }\n }, [setEvents, cameraControls.controls, onLassoEnd, actives, onPointerMove]);\n\n const onPointerDown = useCallback(\n event => {\n if (event.shiftKey) {\n // Let's capture the old props to restore them later\n oldRaycasterEnabledRef.current = get().events.enabled;\n oldControlsEnabledRef.current = cameraControls.controls?.enabled;\n\n // SelectionBox for all meshes\n selectionBoxRef.current = new SelectionBox(camera, scene);\n\n // SelectionBox for all Edge meshes (since they are combined into one geometry for rendering)\n const edgeScene = new Scene();\n if (edgeMeshes.length) {\n edgeScene.add(...edgeMeshes);\n }\n edgeMeshSelectionBoxRef.current = new SelectionBox(camera, edgeScene);\n\n vectorsRef.current = [\n // start point\n new Vector2(),\n // point top left\n new Vector2(),\n // point bottom right\n new Vector2()\n ];\n\n const [startPoint] = vectorsRef.current;\n\n cameraControls.controls.enabled = false;\n setEvents({ enabled: false });\n isDownRef.current = true;\n gl.domElement.parentElement?.appendChild(elementRef.current);\n elementRef.current.style.left = `${event.clientX}px`;\n elementRef.current.style.top = `${event.clientY}px`;\n elementRef.current.style.width = '0px';\n elementRef.current.style.height = '0px';\n startPoint.x = event.clientX;\n startPoint.y = event.clientY;\n\n prepareRay(event, selectionBoxRef.current.startPoint, size);\n prepareRay(event, edgeMeshSelectionBoxRef.current.startPoint, size);\n\n document.addEventListener('pointermove', onPointerMove, {\n passive: true,\n capture: true,\n once: true\n });\n document.addEventListener('pointerup', onPointerUp, { passive: true });\n }\n },\n [\n camera,\n cameraControls.controls,\n edgeMeshes,\n get,\n gl.domElement.parentElement,\n onPointerMove,\n onPointerUp,\n scene,\n setEvents,\n size\n ]\n );\n\n useEffect(() => {\n if (disabled || type === 'none') {\n return;\n }\n\n document.addEventListener('pointerdown', onPointerDown, { passive: true });\n document.addEventListener('pointermove', onPointerMove, { passive: true });\n document.addEventListener('pointerup', onPointerUp, { passive: true });\n\n return () => {\n document.removeEventListener('pointerdown', onPointerDown);\n document.removeEventListener('pointermove', onPointerMove);\n document.removeEventListener('pointerup', onPointerUp);\n };\n }, [type, disabled, onPointerDown, onPointerMove, onPointerUp]);\n\n return {children};\n};\n","/**\n * Obliterator ForEach Function\n * =============================\n *\n * Helper function used to easily iterate over mixed values.\n */\nvar support = require('./support.js');\n\nvar ARRAY_BUFFER_SUPPORT = support.ARRAY_BUFFER_SUPPORT;\nvar SYMBOL_SUPPORT = support.SYMBOL_SUPPORT;\n\n/**\n * Function able to iterate over almost any iterable JS value.\n *\n * @param {any} iterable - Iterable value.\n * @param {function} callback - Callback function.\n */\nmodule.exports = function forEach(iterable, callback) {\n var iterator, k, i, l, s;\n\n if (!iterable) throw new Error('obliterator/forEach: invalid iterable.');\n\n if (typeof callback !== 'function')\n throw new Error('obliterator/forEach: expecting a callback.');\n\n // The target is an array or a string or function arguments\n if (\n Array.isArray(iterable) ||\n (ARRAY_BUFFER_SUPPORT && ArrayBuffer.isView(iterable)) ||\n typeof iterable === 'string' ||\n iterable.toString() === '[object Arguments]'\n ) {\n for (i = 0, l = iterable.length; i < l; i++) callback(iterable[i], i);\n return;\n }\n\n // The target has a #.forEach method\n if (typeof iterable.forEach === 'function') {\n iterable.forEach(callback);\n return;\n }\n\n // The target is iterable\n if (\n SYMBOL_SUPPORT &&\n Symbol.iterator in iterable &&\n typeof iterable.next !== 'function'\n ) {\n iterable = iterable[Symbol.iterator]();\n }\n\n // The target is an iterator\n if (typeof iterable.next === 'function') {\n iterator = iterable;\n i = 0;\n\n while (((s = iterator.next()), s.done !== true)) {\n callback(s.value, i);\n i++;\n }\n\n return;\n }\n\n // The target is a plain object\n for (k in iterable) {\n if (iterable.hasOwnProperty(k)) {\n callback(iterable[k], k);\n }\n }\n\n return;\n};\n","/**\n * Mnemonist Queue\n * ================\n *\n * Queue implementation based on the ideas of Queue.js that seems to beat\n * a LinkedList one in performance.\n */\nvar Iterator = require('obliterator/iterator'),\n forEach = require('obliterator/foreach');\n\n/**\n * Queue\n *\n * @constructor\n */\nfunction Queue() {\n this.clear();\n}\n\n/**\n * Method used to clear the queue.\n *\n * @return {undefined}\n */\nQueue.prototype.clear = function() {\n\n // Properties\n this.items = [];\n this.offset = 0;\n this.size = 0;\n};\n\n/**\n * Method used to add an item to the queue.\n *\n * @param {any} item - Item to enqueue.\n * @return {number}\n */\nQueue.prototype.enqueue = function(item) {\n\n this.items.push(item);\n return ++this.size;\n};\n\n/**\n * Method used to retrieve & remove the first item of the queue.\n *\n * @return {any}\n */\nQueue.prototype.dequeue = function() {\n if (!this.size)\n return;\n\n var item = this.items[this.offset];\n\n if (++this.offset * 2 >= this.items.length) {\n this.items = this.items.slice(this.offset);\n this.offset = 0;\n }\n\n this.size--;\n\n return item;\n};\n\n/**\n * Method used to retrieve the first item of the queue.\n *\n * @return {any}\n */\nQueue.prototype.peek = function() {\n if (!this.size)\n return;\n\n return this.items[this.offset];\n};\n\n/**\n * Method used to iterate over the queue.\n *\n * @param {function} callback - Function to call for each item.\n * @param {object} scope - Optional scope.\n * @return {undefined}\n */\nQueue.prototype.forEach = function(callback, scope) {\n scope = arguments.length > 1 ? scope : this;\n\n for (var i = this.offset, j = 0, l = this.items.length; i < l; i++, j++)\n callback.call(scope, this.items[i], j, this);\n};\n\n/*\n * Method used to convert the queue to a JavaScript array.\n *\n * @return {array}\n */\nQueue.prototype.toArray = function() {\n return this.items.slice(this.offset);\n};\n\n/**\n * Method used to create an iterator over a queue's values.\n *\n * @return {Iterator}\n */\nQueue.prototype.values = function() {\n var items = this.items,\n i = this.offset;\n\n return new Iterator(function() {\n if (i >= items.length)\n return {\n done: true\n };\n\n var value = items[i];\n i++;\n\n return {\n value: value,\n done: false\n };\n });\n};\n\n/**\n * Method used to create an iterator over a queue's entries.\n *\n * @return {Iterator}\n */\nQueue.prototype.entries = function() {\n var items = this.items,\n i = this.offset,\n j = 0;\n\n return new Iterator(function() {\n if (i >= items.length)\n return {\n done: true\n };\n\n var value = items[i];\n i++;\n\n return {\n value: [j++, value],\n done: false\n };\n });\n};\n\n/**\n * Attaching the #.values method to Symbol.iterator if possible.\n */\nif (typeof Symbol !== 'undefined')\n Queue.prototype[Symbol.iterator] = Queue.prototype.values;\n\n/**\n * Convenience known methods.\n */\nQueue.prototype.toString = function() {\n return this.toArray().join(',');\n};\n\nQueue.prototype.toJSON = function() {\n return this.toArray();\n};\n\nQueue.prototype.inspect = function() {\n var array = this.toArray();\n\n // Trick so that node displays the name of the constructor\n Object.defineProperty(array, 'constructor', {\n value: Queue,\n enumerable: false\n });\n\n return array;\n};\n\nif (typeof Symbol !== 'undefined')\n Queue.prototype[Symbol.for('nodejs.util.inspect.custom')] = Queue.prototype.inspect;\n\n/**\n * Static @.from function taking an arbitrary iterable & converting it into\n * a queue.\n *\n * @param {Iterable} iterable - Target iterable.\n * @return {Queue}\n */\nQueue.from = function(iterable) {\n var queue = new Queue();\n\n forEach(iterable, function(value) {\n queue.enqueue(value);\n });\n\n return queue;\n};\n\n/**\n * Static @.of function taking an arbitrary number of arguments & converting it\n * into a queue.\n *\n * @param {...any} args\n * @return {Queue}\n */\nQueue.of = function() {\n return Queue.from(arguments);\n};\n\n/**\n * Exporting.\n */\nmodule.exports = Queue;\n","/**\n * Extend function\n * ================\n *\n * Function used to push a bunch of values into an array at once.\n *\n * Its strategy is to mutate target array's length then setting the new indices\n * to be the values to add.\n *\n * A benchmark proved that it is faster than the following strategies:\n * 1) `array.push.apply(array, values)`.\n * 2) A loop of pushes.\n * 3) `array = array.concat(values)`, obviously.\n *\n * Intuitively, this is correct because when adding a lot of elements, the\n * chosen strategies does not need to handle the `arguments` object to\n * execute #.apply's variadicity and because the array know its final length\n * at the beginning, avoiding potential multiple reallocations of the underlying\n * contiguous array. Some engines may be able to optimize the loop of push\n * operations but empirically they don't seem to do so.\n */\n\n/**\n * Extends the target array with the given values.\n *\n * @param {array} array - Target array.\n * @param {array} values - Values to add.\n */\nmodule.exports = function extend(array, values) {\n var l2 = values.length;\n\n if (l2 === 0)\n return;\n\n var l1 = array.length;\n\n array.length += l2;\n\n for (var i = 0; i < l2; i++)\n array[l1 + i] = values[i];\n};\n","/**\n * Graphology Unweighted Shortest Path\n * ====================================\n *\n * Basic algorithms to find the shortest paths between nodes in a graph\n * whose edges are not weighted.\n */\nvar isGraph = require('graphology-utils/is-graph');\nvar Queue = require('mnemonist/queue');\nvar extend = require('@yomguithereal/helpers/extend');\n\n/**\n * Function attempting to find the shortest path in a graph between\n * given source & target or `null` if such a path does not exist.\n *\n * @param {Graph} graph - Target graph.\n * @param {any} source - Source node.\n * @param {any} target - Target node.\n * @return {array|null} - Found path or `null`.\n */\nfunction bidirectional(graph, source, target) {\n if (!isGraph(graph))\n throw new Error('graphology-shortest-path: invalid graphology instance.');\n\n if (arguments.length < 3)\n throw new Error(\n 'graphology-shortest-path: invalid number of arguments. Expecting at least 3.'\n );\n\n if (!graph.hasNode(source))\n throw new Error(\n 'graphology-shortest-path: the \"' +\n source +\n '\" source node does not exist in the given graph.'\n );\n\n if (!graph.hasNode(target))\n throw new Error(\n 'graphology-shortest-path: the \"' +\n target +\n '\" target node does not exist in the given graph.'\n );\n\n source = '' + source;\n target = '' + target;\n\n // TODO: do we need a self loop to go there?\n if (source === target) {\n return [source];\n }\n\n // Binding functions\n var getPredecessors = graph.inboundNeighbors.bind(graph),\n getSuccessors = graph.outboundNeighbors.bind(graph);\n\n var predecessor = {},\n successor = {};\n\n // Predecessor & successor\n predecessor[source] = null;\n successor[target] = null;\n\n // Fringes\n var forwardFringe = [source],\n reverseFringe = [target],\n currentFringe,\n node,\n neighbors,\n neighbor,\n i,\n j,\n l,\n m;\n\n var found = false;\n\n outer: while (forwardFringe.length && reverseFringe.length) {\n if (forwardFringe.length <= reverseFringe.length) {\n currentFringe = forwardFringe;\n forwardFringe = [];\n\n for (i = 0, l = currentFringe.length; i < l; i++) {\n node = currentFringe[i];\n neighbors = getSuccessors(node);\n\n for (j = 0, m = neighbors.length; j < m; j++) {\n neighbor = neighbors[j];\n\n if (!(neighbor in predecessor)) {\n forwardFringe.push(neighbor);\n predecessor[neighbor] = node;\n }\n\n if (neighbor in successor) {\n // Path is found!\n found = true;\n break outer;\n }\n }\n }\n } else {\n currentFringe = reverseFringe;\n reverseFringe = [];\n\n for (i = 0, l = currentFringe.length; i < l; i++) {\n node = currentFringe[i];\n neighbors = getPredecessors(node);\n\n for (j = 0, m = neighbors.length; j < m; j++) {\n neighbor = neighbors[j];\n\n if (!(neighbor in successor)) {\n reverseFringe.push(neighbor);\n successor[neighbor] = node;\n }\n\n if (neighbor in predecessor) {\n // Path is found!\n found = true;\n break outer;\n }\n }\n }\n }\n }\n\n if (!found) return null;\n\n var path = [];\n\n while (neighbor) {\n path.unshift(neighbor);\n neighbor = predecessor[neighbor];\n }\n\n neighbor = successor[path[path.length - 1]];\n\n while (neighbor) {\n path.push(neighbor);\n neighbor = successor[neighbor];\n }\n\n return path.length ? path : null;\n}\n\n/**\n * Function attempting to find the shortest path in the graph between the\n * given source node & all the other nodes.\n *\n * @param {Graph} graph - Target graph.\n * @param {any} source - Source node.\n * @return {object} - The map of found paths.\n */\n\n// TODO: cutoff option\nfunction singleSource(graph, source) {\n if (!isGraph(graph))\n throw new Error('graphology-shortest-path: invalid graphology instance.');\n\n if (arguments.length < 2)\n throw new Error(\n 'graphology-shortest-path: invalid number of arguments. Expecting at least 2.'\n );\n\n if (!graph.hasNode(source))\n throw new Error(\n 'graphology-shortest-path: the \"' +\n source +\n '\" source node does not exist in the given graph.'\n );\n\n source = '' + source;\n\n var nextLevel = {},\n paths = {},\n currentLevel,\n neighbors,\n v,\n w,\n i,\n l;\n\n nextLevel[source] = true;\n paths[source] = [source];\n\n while (Object.keys(nextLevel).length) {\n currentLevel = nextLevel;\n nextLevel = {};\n\n for (v in currentLevel) {\n neighbors = graph.outboundNeighbors(v);\n\n for (i = 0, l = neighbors.length; i < l; i++) {\n w = neighbors[i];\n\n if (!paths[w]) {\n paths[w] = paths[v].concat(w);\n nextLevel[w] = true;\n }\n }\n }\n }\n\n return paths;\n}\n\n/**\n * Function attempting to find the shortest path lengths in the graph between\n * the given source node & all the other nodes.\n *\n * @param {string} method - Neighbor collection method name.\n * @param {Graph} graph - Target graph.\n * @param {any} source - Source node.\n * @return {object} - The map of found path lengths.\n */\n\n// TODO: cutoff option\nfunction asbtractSingleSourceLength(method, graph, source) {\n if (!isGraph(graph))\n throw new Error('graphology-shortest-path: invalid graphology instance.');\n\n if (!graph.hasNode(source))\n throw new Error(\n 'graphology-shortest-path: the \"' +\n source +\n '\" source node does not exist in the given graph.'\n );\n\n source = '' + source;\n\n // Performing BFS to count shortest paths\n var seen = new Set();\n\n var lengths = {},\n level = 0;\n\n lengths[source] = 0;\n\n var currentLevel = [source];\n\n var i, l, node;\n\n while (currentLevel.length !== 0) {\n var nextLevel = [];\n\n for (i = 0, l = currentLevel.length; i < l; i++) {\n node = currentLevel[i];\n\n if (seen.has(node)) continue;\n\n seen.add(node);\n extend(nextLevel, graph[method](node));\n\n lengths[node] = level;\n }\n\n level++;\n currentLevel = nextLevel;\n }\n\n return lengths;\n}\n\nvar singleSourceLength = asbtractSingleSourceLength.bind(\n null,\n 'outboundNeighbors'\n);\nvar undirectedSingleSourceLength = asbtractSingleSourceLength.bind(\n null,\n 'neighbors'\n);\n\n/**\n * Function using Ulrik Brandes' method to map single source shortest paths\n * from selected node.\n *\n * [Reference]:\n * Ulrik Brandes: A Faster Algorithm for Betweenness Centrality.\n * Journal of Mathematical Sociology 25(2):163-177, 2001.\n *\n * @param {Graph} graph - Target graph.\n * @param {any} source - Source node.\n * @return {array} - [Stack, Paths, Sigma]\n */\nfunction brandes(graph, source) {\n source = '' + source;\n\n var S = [],\n P = {},\n sigma = {};\n\n var nodes = graph.nodes(),\n Dv,\n sigmav,\n neighbors,\n v,\n w,\n i,\n j,\n l,\n m;\n\n for (i = 0, l = nodes.length; i < l; i++) {\n v = nodes[i];\n P[v] = [];\n sigma[v] = 0;\n }\n\n var D = {};\n\n sigma[source] = 1;\n D[source] = 0;\n\n var queue = Queue.of(source);\n\n while (queue.size) {\n v = queue.dequeue();\n S.push(v);\n\n Dv = D[v];\n sigmav = sigma[v];\n\n neighbors = graph.outboundNeighbors(v);\n\n for (j = 0, m = neighbors.length; j < m; j++) {\n w = neighbors[j];\n\n if (!(w in D)) {\n queue.enqueue(w);\n D[w] = Dv + 1;\n }\n\n if (D[w] === Dv + 1) {\n sigma[w] += sigmav;\n P[w].push(v);\n }\n }\n }\n\n return [S, P, sigma];\n}\n\n/**\n * Exporting.\n */\nexports.bidirectional = bidirectional;\nexports.singleSource = singleSource;\nexports.singleSourceLength = singleSourceLength;\nexports.undirectedSingleSourceLength = undirectedSingleSourceLength;\nexports.brandes = brandes;\n","/**\n * Mnemonist Heap Comparators\n * ===========================\n *\n * Default comparators & functions dealing with comparators reversing etc.\n */\nvar DEFAULT_COMPARATOR = function(a, b) {\n if (a < b)\n return -1;\n if (a > b)\n return 1;\n\n return 0;\n};\n\nvar DEFAULT_REVERSE_COMPARATOR = function(a, b) {\n if (a < b)\n return 1;\n if (a > b)\n return -1;\n\n return 0;\n};\n\n/**\n * Function used to reverse a comparator.\n */\nfunction reverseComparator(comparator) {\n return function(a, b) {\n return comparator(b, a);\n };\n}\n\n/**\n * Function returning a tuple comparator.\n */\nfunction createTupleComparator(size) {\n if (size === 2) {\n return function(a, b) {\n if (a[0] < b[0])\n return -1;\n\n if (a[0] > b[0])\n return 1;\n\n if (a[1] < b[1])\n return -1;\n\n if (a[1] > b[1])\n return 1;\n\n return 0;\n };\n }\n\n return function(a, b) {\n var i = 0;\n\n while (i < size) {\n if (a[i] < b[i])\n return -1;\n\n if (a[i] > b[i])\n return 1;\n\n i++;\n }\n\n return 0;\n };\n}\n\n/**\n * Exporting.\n */\nexports.DEFAULT_COMPARATOR = DEFAULT_COMPARATOR;\nexports.DEFAULT_REVERSE_COMPARATOR = DEFAULT_REVERSE_COMPARATOR;\nexports.reverseComparator = reverseComparator;\nexports.createTupleComparator = createTupleComparator;\n","/**\n * Mnemonist Iterable Function\n * ============================\n *\n * Harmonized iteration helpers over mixed iterable targets.\n */\nvar forEach = require('obliterator/foreach');\n\nvar typed = require('./typed-arrays.js');\n\n/**\n * Function used to determine whether the given object supports array-like\n * random access.\n *\n * @param {any} target - Target object.\n * @return {boolean}\n */\nfunction isArrayLike(target) {\n return Array.isArray(target) || typed.isTypedArray(target);\n}\n\n/**\n * Function used to guess the length of the structure over which we are going\n * to iterate.\n *\n * @param {any} target - Target object.\n * @return {number|undefined}\n */\nfunction guessLength(target) {\n if (typeof target.length === 'number')\n return target.length;\n\n if (typeof target.size === 'number')\n return target.size;\n\n return;\n}\n\n/**\n * Function used to convert an iterable to an array.\n *\n * @param {any} target - Iteration target.\n * @return {array}\n */\nfunction toArray(target) {\n var l = guessLength(target);\n\n var array = typeof l === 'number' ? new Array(l) : [];\n\n var i = 0;\n\n // TODO: we could optimize when given target is array like\n forEach(target, function(value) {\n array[i++] = value;\n });\n\n return array;\n}\n\n/**\n * Same as above but returns a supplementary indices array.\n *\n * @param {any} target - Iteration target.\n * @return {array}\n */\nfunction toArrayWithIndices(target) {\n var l = guessLength(target);\n\n var IndexArray = typeof l === 'number' ?\n typed.getPointerArray(l) :\n Array;\n\n var array = typeof l === 'number' ? new Array(l) : [];\n var indices = typeof l === 'number' ? new IndexArray(l) : [];\n\n var i = 0;\n\n // TODO: we could optimize when given target is array like\n forEach(target, function(value) {\n array[i] = value;\n indices[i] = i++;\n });\n\n return [array, indices];\n}\n\n/**\n * Exporting.\n */\nexports.isArrayLike = isArrayLike;\nexports.guessLength = guessLength;\nexports.toArray = toArray;\nexports.toArrayWithIndices = toArrayWithIndices;\n","/**\n * Mnemonist Binary Heap\n * ======================\n *\n * Binary heap implementation.\n */\nvar forEach = require('obliterator/foreach'),\n comparators = require('./utils/comparators.js'),\n iterables = require('./utils/iterables.js');\n\nvar DEFAULT_COMPARATOR = comparators.DEFAULT_COMPARATOR,\n reverseComparator = comparators.reverseComparator;\n\n/**\n * Heap helper functions.\n */\n\n/**\n * Function used to sift down.\n *\n * @param {function} compare - Comparison function.\n * @param {array} heap - Array storing the heap's data.\n * @param {number} startIndex - Starting index.\n * @param {number} i - Index.\n */\nfunction siftDown(compare, heap, startIndex, i) {\n var item = heap[i],\n parentIndex,\n parent;\n\n while (i > startIndex) {\n parentIndex = (i - 1) >> 1;\n parent = heap[parentIndex];\n\n if (compare(item, parent) < 0) {\n heap[i] = parent;\n i = parentIndex;\n continue;\n }\n\n break;\n }\n\n heap[i] = item;\n}\n\n/**\n * Function used to sift up.\n *\n * @param {function} compare - Comparison function.\n * @param {array} heap - Array storing the heap's data.\n * @param {number} i - Index.\n */\nfunction siftUp(compare, heap, i) {\n var endIndex = heap.length,\n startIndex = i,\n item = heap[i],\n childIndex = 2 * i + 1,\n rightIndex;\n\n while (childIndex < endIndex) {\n rightIndex = childIndex + 1;\n\n if (\n rightIndex < endIndex &&\n compare(heap[childIndex], heap[rightIndex]) >= 0\n ) {\n childIndex = rightIndex;\n }\n\n heap[i] = heap[childIndex];\n i = childIndex;\n childIndex = 2 * i + 1;\n }\n\n heap[i] = item;\n siftDown(compare, heap, startIndex, i);\n}\n\n/**\n * Function used to push an item into a heap represented by a raw array.\n *\n * @param {function} compare - Comparison function.\n * @param {array} heap - Array storing the heap's data.\n * @param {any} item - Item to push.\n */\nfunction push(compare, heap, item) {\n heap.push(item);\n siftDown(compare, heap, 0, heap.length - 1);\n}\n\n/**\n * Function used to pop an item from a heap represented by a raw array.\n *\n * @param {function} compare - Comparison function.\n * @param {array} heap - Array storing the heap's data.\n * @return {any}\n */\nfunction pop(compare, heap) {\n var lastItem = heap.pop();\n\n if (heap.length !== 0) {\n var item = heap[0];\n heap[0] = lastItem;\n siftUp(compare, heap, 0);\n\n return item;\n }\n\n return lastItem;\n}\n\n/**\n * Function used to pop the heap then push a new value into it, thus \"replacing\"\n * it.\n *\n * @param {function} compare - Comparison function.\n * @param {array} heap - Array storing the heap's data.\n * @param {any} item - The item to push.\n * @return {any}\n */\nfunction replace(compare, heap, item) {\n if (heap.length === 0)\n throw new Error('mnemonist/heap.replace: cannot pop an empty heap.');\n\n var popped = heap[0];\n heap[0] = item;\n siftUp(compare, heap, 0);\n\n return popped;\n}\n\n/**\n * Function used to push an item in the heap then pop the heap and return the\n * popped value.\n *\n * @param {function} compare - Comparison function.\n * @param {array} heap - Array storing the heap's data.\n * @param {any} item - The item to push.\n * @return {any}\n */\nfunction pushpop(compare, heap, item) {\n var tmp;\n\n if (heap.length !== 0 && compare(heap[0], item) < 0) {\n tmp = heap[0];\n heap[0] = item;\n item = tmp;\n siftUp(compare, heap, 0);\n }\n\n return item;\n}\n\n/**\n * Converts and array into an abstract heap in linear time.\n *\n * @param {function} compare - Comparison function.\n * @param {array} array - Target array.\n */\nfunction heapify(compare, array) {\n var n = array.length,\n l = n >> 1,\n i = l;\n\n while (--i >= 0)\n siftUp(compare, array, i);\n}\n\n/**\n * Fully consumes the given heap.\n *\n * @param {function} compare - Comparison function.\n * @param {array} heap - Array storing the heap's data.\n * @return {array}\n */\nfunction consume(compare, heap) {\n var l = heap.length,\n i = 0;\n\n var array = new Array(l);\n\n while (i < l)\n array[i++] = pop(compare, heap);\n\n return array;\n}\n\n/**\n * Function used to retrieve the n smallest items from the given iterable.\n *\n * @param {function} compare - Comparison function.\n * @param {number} n - Number of top items to retrieve.\n * @param {any} iterable - Arbitrary iterable.\n * @param {array}\n */\nfunction nsmallest(compare, n, iterable) {\n if (arguments.length === 2) {\n iterable = n;\n n = compare;\n compare = DEFAULT_COMPARATOR;\n }\n\n var reverseCompare = reverseComparator(compare);\n\n var i, l, v;\n\n var min = Infinity;\n\n var result;\n\n // If n is equal to 1, it's just a matter of finding the minimum\n if (n === 1) {\n if (iterables.isArrayLike(iterable)) {\n for (i = 0, l = iterable.length; i < l; i++) {\n v = iterable[i];\n\n if (min === Infinity || compare(v, min) < 0)\n min = v;\n }\n\n result = new iterable.constructor(1);\n result[0] = min;\n\n return result;\n }\n\n forEach(iterable, function(value) {\n if (min === Infinity || compare(value, min) < 0)\n min = value;\n });\n\n return [min];\n }\n\n if (iterables.isArrayLike(iterable)) {\n\n // If n > iterable length, we just clone and sort\n if (n >= iterable.length)\n return iterable.slice().sort(compare);\n\n result = iterable.slice(0, n);\n heapify(reverseCompare, result);\n\n for (i = n, l = iterable.length; i < l; i++)\n if (reverseCompare(iterable[i], result[0]) > 0)\n replace(reverseCompare, result, iterable[i]);\n\n // NOTE: if n is over some number, it becomes faster to consume the heap\n return result.sort(compare);\n }\n\n // Correct for size\n var size = iterables.guessLength(iterable);\n\n if (size !== null && size < n)\n n = size;\n\n result = new Array(n);\n i = 0;\n\n forEach(iterable, function(value) {\n if (i < n) {\n result[i] = value;\n }\n else {\n if (i === n)\n heapify(reverseCompare, result);\n\n if (reverseCompare(value, result[0]) > 0)\n replace(reverseCompare, result, value);\n }\n\n i++;\n });\n\n if (result.length > i)\n result.length = i;\n\n // NOTE: if n is over some number, it becomes faster to consume the heap\n return result.sort(compare);\n}\n\n/**\n * Function used to retrieve the n largest items from the given iterable.\n *\n * @param {function} compare - Comparison function.\n * @param {number} n - Number of top items to retrieve.\n * @param {any} iterable - Arbitrary iterable.\n * @param {array}\n */\nfunction nlargest(compare, n, iterable) {\n if (arguments.length === 2) {\n iterable = n;\n n = compare;\n compare = DEFAULT_COMPARATOR;\n }\n\n var reverseCompare = reverseComparator(compare);\n\n var i, l, v;\n\n var max = -Infinity;\n\n var result;\n\n // If n is equal to 1, it's just a matter of finding the maximum\n if (n === 1) {\n if (iterables.isArrayLike(iterable)) {\n for (i = 0, l = iterable.length; i < l; i++) {\n v = iterable[i];\n\n if (max === -Infinity || compare(v, max) > 0)\n max = v;\n }\n\n result = new iterable.constructor(1);\n result[0] = max;\n\n return result;\n }\n\n forEach(iterable, function(value) {\n if (max === -Infinity || compare(value, max) > 0)\n max = value;\n });\n\n return [max];\n }\n\n if (iterables.isArrayLike(iterable)) {\n\n // If n > iterable length, we just clone and sort\n if (n >= iterable.length)\n return iterable.slice().sort(reverseCompare);\n\n result = iterable.slice(0, n);\n heapify(compare, result);\n\n for (i = n, l = iterable.length; i < l; i++)\n if (compare(iterable[i], result[0]) > 0)\n replace(compare, result, iterable[i]);\n\n // NOTE: if n is over some number, it becomes faster to consume the heap\n return result.sort(reverseCompare);\n }\n\n // Correct for size\n var size = iterables.guessLength(iterable);\n\n if (size !== null && size < n)\n n = size;\n\n result = new Array(n);\n i = 0;\n\n forEach(iterable, function(value) {\n if (i < n) {\n result[i] = value;\n }\n else {\n if (i === n)\n heapify(compare, result);\n\n if (compare(value, result[0]) > 0)\n replace(compare, result, value);\n }\n\n i++;\n });\n\n if (result.length > i)\n result.length = i;\n\n // NOTE: if n is over some number, it becomes faster to consume the heap\n return result.sort(reverseCompare);\n}\n\n/**\n * Binary Minimum Heap.\n *\n * @constructor\n * @param {function} comparator - Comparator function to use.\n */\nfunction Heap(comparator) {\n this.clear();\n this.comparator = comparator || DEFAULT_COMPARATOR;\n\n if (typeof this.comparator !== 'function')\n throw new Error('mnemonist/Heap.constructor: given comparator should be a function.');\n}\n\n/**\n * Method used to clear the heap.\n *\n * @return {undefined}\n */\nHeap.prototype.clear = function() {\n\n // Properties\n this.items = [];\n this.size = 0;\n};\n\n/**\n * Method used to push an item into the heap.\n *\n * @param {any} item - Item to push.\n * @return {number}\n */\nHeap.prototype.push = function(item) {\n push(this.comparator, this.items, item);\n return ++this.size;\n};\n\n/**\n * Method used to retrieve the \"first\" item of the heap.\n *\n * @return {any}\n */\nHeap.prototype.peek = function() {\n return this.items[0];\n};\n\n/**\n * Method used to retrieve & remove the \"first\" item of the heap.\n *\n * @return {any}\n */\nHeap.prototype.pop = function() {\n if (this.size !== 0)\n this.size--;\n\n return pop(this.comparator, this.items);\n};\n\n/**\n * Method used to pop the heap, then push an item and return the popped\n * item.\n *\n * @param {any} item - Item to push into the heap.\n * @return {any}\n */\nHeap.prototype.replace = function(item) {\n return replace(this.comparator, this.items, item);\n};\n\n/**\n * Method used to push the heap, the pop it and return the pooped item.\n *\n * @param {any} item - Item to push into the heap.\n * @return {any}\n */\nHeap.prototype.pushpop = function(item) {\n return pushpop(this.comparator, this.items, item);\n};\n\n/**\n * Method used to consume the heap fully and return its items as a sorted array.\n *\n * @return {array}\n */\nHeap.prototype.consume = function() {\n this.size = 0;\n return consume(this.comparator, this.items);\n};\n\n/**\n * Method used to convert the heap to an array. Note that it basically clone\n * the heap and consumes it completely. This is hardly performant.\n *\n * @return {array}\n */\nHeap.prototype.toArray = function() {\n return consume(this.comparator, this.items.slice());\n};\n\n/**\n * Convenience known methods.\n */\nHeap.prototype.inspect = function() {\n var proxy = this.toArray();\n\n // Trick so that node displays the name of the constructor\n Object.defineProperty(proxy, 'constructor', {\n value: Heap,\n enumerable: false\n });\n\n return proxy;\n};\n\nif (typeof Symbol !== 'undefined')\n Heap.prototype[Symbol.for('nodejs.util.inspect.custom')] = Heap.prototype.inspect;\n\n/**\n * Binary Maximum Heap.\n *\n * @constructor\n * @param {function} comparator - Comparator function to use.\n */\nfunction MaxHeap(comparator) {\n this.clear();\n this.comparator = comparator || DEFAULT_COMPARATOR;\n\n if (typeof this.comparator !== 'function')\n throw new Error('mnemonist/MaxHeap.constructor: given comparator should be a function.');\n\n this.comparator = reverseComparator(this.comparator);\n}\n\nMaxHeap.prototype = Heap.prototype;\n\n/**\n * Static @.from function taking an arbitrary iterable & converting it into\n * a heap.\n *\n * @param {Iterable} iterable - Target iterable.\n * @param {function} comparator - Custom comparator function.\n * @return {Heap}\n */\nHeap.from = function(iterable, comparator) {\n var heap = new Heap(comparator);\n\n var items;\n\n // If iterable is an array, we can be clever about it\n if (iterables.isArrayLike(iterable))\n items = iterable.slice();\n else\n items = iterables.toArray(iterable);\n\n heapify(heap.comparator, items);\n heap.items = items;\n heap.size = items.length;\n\n return heap;\n};\n\nMaxHeap.from = function(iterable, comparator) {\n var heap = new MaxHeap(comparator);\n\n var items;\n\n // If iterable is an array, we can be clever about it\n if (iterables.isArrayLike(iterable))\n items = iterable.slice();\n else\n items = iterables.toArray(iterable);\n\n heapify(heap.comparator, items);\n heap.items = items;\n heap.size = items.length;\n\n return heap;\n};\n\n/**\n * Exporting.\n */\nHeap.siftUp = siftUp;\nHeap.siftDown = siftDown;\nHeap.push = push;\nHeap.pop = pop;\nHeap.replace = replace;\nHeap.pushpop = pushpop;\nHeap.heapify = heapify;\nHeap.consume = consume;\n\nHeap.nsmallest = nsmallest;\nHeap.nlargest = nlargest;\n\nHeap.MinHeap = Heap;\nHeap.MaxHeap = MaxHeap;\n\nmodule.exports = Heap;\n","/**\n * Graphology Dijkstra Shortest Path\n * ==================================\n *\n * Graphology implementation of Dijkstra shortest path for weighted graphs.\n */\nvar isGraph = require('graphology-utils/is-graph');\nvar createEdgeWeightGetter =\n require('graphology-utils/getters').createEdgeWeightGetter;\nvar Heap = require('mnemonist/heap');\n\n/**\n * Defaults & helpers.\n */\nvar DEFAULT_WEIGHT_ATTRIBUTE = 'weight';\n\nfunction DIJKSTRA_HEAP_COMPARATOR(a, b) {\n if (a[0] > b[0]) return 1;\n if (a[0] < b[0]) return -1;\n\n if (a[1] > b[1]) return 1;\n if (a[1] < b[1]) return -1;\n\n if (a[2] > b[2]) return 1;\n if (a[2] < b[2]) return -1;\n\n return 0;\n}\n\nfunction BRANDES_DIJKSTRA_HEAP_COMPARATOR(a, b) {\n if (a[0] > b[0]) return 1;\n if (a[0] < b[0]) return -1;\n\n if (a[1] > b[1]) return 1;\n if (a[1] < b[1]) return -1;\n\n if (a[2] > b[2]) return 1;\n if (a[2] < b[2]) return -1;\n\n if (a[3] > b[3]) return 1;\n if (a[3] < b[3]) return -1;\n\n return 0;\n}\n\n/**\n * Bidirectional Dijkstra shortest path between source & target node abstract.\n *\n * Note that this implementation was basically copied from networkx.\n *\n * @param {Graph} graph - The graphology instance.\n * @param {string} source - Source node.\n * @param {string} target - Target node.\n * @param {string} getEdgeWeight - Name of the weight attribute or getter function.\n * @param {array} - The found path if any and its cost.\n */\nfunction abstractBidirectionalDijkstra(graph, source, target, getEdgeWeight) {\n source = '' + source;\n target = '' + target;\n\n // Sanity checks\n if (!isGraph(graph))\n throw new Error(\n 'graphology-shortest-path/dijkstra: invalid graphology instance.'\n );\n\n if (source && !graph.hasNode(source))\n throw new Error(\n 'graphology-shortest-path/dijkstra: the \"' +\n source +\n '\" source node does not exist in the given graph.'\n );\n\n if (target && !graph.hasNode(target))\n throw new Error(\n 'graphology-shortest-path/dijkstra: the \"' +\n target +\n '\" target node does not exist in the given graph.'\n );\n\n getEdgeWeight = createEdgeWeightGetter(\n getEdgeWeight || DEFAULT_WEIGHT_ATTRIBUTE\n ).fromMinimalEntry;\n\n if (source === target) return [0, [source]];\n\n var distances = [{}, {}],\n paths = [{}, {}],\n fringe = [\n new Heap(DIJKSTRA_HEAP_COMPARATOR),\n new Heap(DIJKSTRA_HEAP_COMPARATOR)\n ],\n seen = [{}, {}];\n\n paths[0][source] = [source];\n paths[1][target] = [target];\n\n seen[0][source] = 0;\n seen[1][target] = 0;\n\n var finalPath = [],\n finalDistance = Infinity;\n\n var count = 0,\n dir = 1,\n item,\n edges,\n cost,\n d,\n v,\n u,\n e,\n i,\n l;\n\n fringe[0].push([0, count++, source]);\n fringe[1].push([0, count++, target]);\n\n while (fringe[0].size && fringe[1].size) {\n // Swapping direction\n dir = 1 - dir;\n\n item = fringe[dir].pop();\n d = item[0];\n v = item[2];\n\n if (v in distances[dir]) continue;\n\n distances[dir][v] = d;\n\n // Shortest path is found?\n if (v in distances[1 - dir]) return [finalDistance, finalPath];\n\n edges = dir === 1 ? graph.inboundEdges(v) : graph.outboundEdges(v);\n\n for (i = 0, l = edges.length; i < l; i++) {\n e = edges[i];\n u = graph.opposite(v, e);\n cost = distances[dir][v] + getEdgeWeight(e, graph.getEdgeAttributes(e));\n\n if (u in distances[dir] && cost < distances[dir][u]) {\n throw Error(\n 'graphology-shortest-path/dijkstra: contradictory paths found. Do some of your edges have a negative weight?'\n );\n } else if (!(u in seen[dir]) || cost < seen[dir][u]) {\n seen[dir][u] = cost;\n fringe[dir].push([cost, count++, u]);\n paths[dir][u] = paths[dir][v].concat(u);\n\n if (u in seen[0] && u in seen[1]) {\n d = seen[0][u] + seen[1][u];\n\n if (finalPath.length === 0 || finalDistance > d) {\n finalDistance = d;\n finalPath = paths[0][u].concat(paths[1][u].slice(0, -1).reverse());\n }\n }\n }\n }\n }\n\n // No path was found\n return [Infinity, null];\n}\n\n/**\n * Multisource Dijkstra shortest path abstract function. This function is the\n * basis of the algorithm that every other will use.\n *\n * Note that this implementation was basically copied from networkx.\n * TODO: it might be more performant to use a dedicated objet for the heap's\n * items.\n *\n * @param {Graph} graph - The graphology instance.\n * @param {array} sources - A list of sources.\n * @param {string} getEdgeWeight - Name of the weight attribute or getter function.\n * @param {number} cutoff - Maximum depth of the search.\n * @param {string} target - Optional target to reach.\n * @param {object} paths - Optional paths object to maintain.\n * @return {object} - Returns the paths.\n */\nfunction abstractDijkstraMultisource(\n graph,\n sources,\n getEdgeWeight,\n cutoff,\n target,\n paths\n) {\n if (!isGraph(graph))\n throw new Error(\n 'graphology-shortest-path/dijkstra: invalid graphology instance.'\n );\n\n if (target && !graph.hasNode(target))\n throw new Error(\n 'graphology-shortest-path/dijkstra: the \"' +\n target +\n '\" target node does not exist in the given graph.'\n );\n\n getEdgeWeight = createEdgeWeightGetter(\n getEdgeWeight || DEFAULT_WEIGHT_ATTRIBUTE\n ).fromMinimalEntry;\n\n var distances = {},\n seen = {},\n fringe = new Heap(DIJKSTRA_HEAP_COMPARATOR);\n\n var count = 0,\n edges,\n item,\n cost,\n v,\n u,\n e,\n d,\n i,\n j,\n l,\n m;\n\n for (i = 0, l = sources.length; i < l; i++) {\n v = sources[i];\n seen[v] = 0;\n fringe.push([0, count++, v]);\n\n if (paths) paths[v] = [v];\n }\n\n while (fringe.size) {\n item = fringe.pop();\n d = item[0];\n v = item[2];\n\n if (v in distances) continue;\n\n distances[v] = d;\n\n if (v === target) break;\n\n edges = graph.outboundEdges(v);\n\n for (j = 0, m = edges.length; j < m; j++) {\n e = edges[j];\n u = graph.opposite(v, e);\n cost = getEdgeWeight(e, graph.getEdgeAttributes(e)) + distances[v];\n\n if (cutoff && cost > cutoff) continue;\n\n if (u in distances && cost < distances[u]) {\n throw Error(\n 'graphology-shortest-path/dijkstra: contradictory paths found. Do some of your edges have a negative weight?'\n );\n } else if (!(u in seen) || cost < seen[u]) {\n seen[u] = cost;\n fringe.push([cost, count++, u]);\n\n if (paths) paths[u] = paths[v].concat(u);\n }\n }\n }\n\n return distances;\n}\n\n/**\n * Single source Dijkstra shortest path between given node & other nodes in\n * the graph.\n *\n * @param {Graph} graph - The graphology instance.\n * @param {string} source - Source node.\n * @param {string} getEdgeWeight - Name of the weight attribute or getter function.\n * @return {object} - An object of found paths.\n */\nfunction singleSourceDijkstra(graph, source, getEdgeWeight) {\n var paths = {};\n\n abstractDijkstraMultisource(graph, [source], getEdgeWeight, 0, null, paths);\n\n return paths;\n}\n\nfunction bidirectionalDijkstra(graph, source, target, getEdgeWeight) {\n return abstractBidirectionalDijkstra(graph, source, target, getEdgeWeight)[1];\n}\n\n/**\n * Function using Ulrik Brandes' method to map single source shortest paths\n * from selected node.\n *\n * [Reference]:\n * Ulrik Brandes: A Faster Algorithm for Betweenness Centrality.\n * Journal of Mathematical Sociology 25(2):163-177, 2001.\n *\n * @param {Graph} graph - Target graph.\n * @param {any} source - Source node.\n * @param {string} getEdgeWeight - Name of the weight attribute or getter function.\n * @return {array} - [Stack, Paths, Sigma]\n */\nfunction brandes(graph, source, getEdgeWeight) {\n source = '' + source;\n\n getEdgeWeight = createEdgeWeightGetter(\n getEdgeWeight || DEFAULT_WEIGHT_ATTRIBUTE\n ).fromMinimalEntry;\n\n var S = [],\n P = {},\n sigma = {};\n\n var nodes = graph.nodes(),\n edges,\n item,\n pred,\n dist,\n cost,\n v,\n w,\n e,\n i,\n l;\n\n for (i = 0, l = nodes.length; i < l; i++) {\n v = nodes[i];\n P[v] = [];\n sigma[v] = 0;\n }\n\n var D = {};\n\n sigma[source] = 1;\n\n var seen = {};\n seen[source] = 0;\n\n var count = 0;\n\n var Q = new Heap(BRANDES_DIJKSTRA_HEAP_COMPARATOR);\n Q.push([0, count++, source, source]);\n\n while (Q.size) {\n item = Q.pop();\n dist = item[0];\n pred = item[2];\n v = item[3];\n\n if (v in D) continue;\n\n sigma[v] += sigma[pred];\n S.push(v);\n D[v] = dist;\n\n edges = graph.outboundEdges(v);\n\n for (i = 0, l = edges.length; i < l; i++) {\n e = edges[i];\n w = graph.opposite(v, e);\n cost = dist + getEdgeWeight(e, graph.getEdgeAttributes(e));\n\n if (!(w in D) && (!(w in seen) || cost < seen[w])) {\n seen[w] = cost;\n Q.push([cost, count++, v, w]);\n sigma[w] = 0;\n P[w] = [v];\n } else if (cost === seen[w]) {\n sigma[w] += sigma[v];\n P[w].push(v);\n }\n }\n }\n\n return [S, P, sigma];\n}\n\n/**\n * Exporting.\n */\nexports.bidirectional = bidirectionalDijkstra;\nexports.singleSource = singleSourceDijkstra;\nexports.brandes = brandes;\n","/**\n * Graphology Shortest Path\n * =========================\n *\n * Library endpoint.\n */\nvar unweighted = require('./unweighted.js');\nvar utils = require('./utils.js');\n\nexports.unweighted = unweighted;\nexports.dijkstra = require('./dijkstra.js');\n\nexports.bidirectional = unweighted.bidirectional;\nexports.singleSource = unweighted.singleSource;\nexports.singleSourceLength = unweighted.singleSourceLength;\nexports.undirectedSingleSourceLength = unweighted.undirectedSingleSourceLength;\nexports.brandes = unweighted.brandes;\n\nexports.edgePathFromNodePath = utils.edgePathFromNodePath;\n","import React, {\n FC,\n forwardRef,\n Ref,\n Suspense,\n useImperativeHandle,\n useRef\n} from 'react';\nimport { Canvas } from '@react-three/fiber';\nimport { GraphScene, GraphSceneProps, GraphSceneRef } from './GraphScene';\nimport {\n CameraMode,\n CameraControls,\n CameraControlsRef\n} from './CameraControls';\nimport { Theme, lightTheme } from './themes';\nimport { createStore, Provider } from './store';\nimport Graph from 'graphology';\nimport { Lasso, LassoType } from './selection';\nimport css from './GraphCanvas.module.css';\n\nexport interface GraphCanvasProps extends Omit {\n /**\n * Theme to use for the graph.\n */\n theme?: Theme;\n\n /**\n * Type of camera interaction.\n */\n cameraMode?: CameraMode;\n\n /**\n * When the canvas was clicked but didn't hit a node/edge.\n */\n onCanvasClick?: (event: MouseEvent) => void;\n\n /**\n * The type of lasso selection.\n */\n lassoType?: LassoType;\n\n /**\n * When the canvas had a lasso selection.\n */\n onLasso?: (selections: string[]) => void;\n\n /**\n * When the canvas had a lasso selection end.\n */\n onLassoEnd?: (selections: string[]) => void;\n}\n\nexport type GraphCanvasRef = Omit &\n Omit & {\n /**\n * Get the graph object.\n */\n getGraph: () => Graph;\n\n /**\n * Get the camera controls.\n */\n getControls: () => any;\n };\n\nconst GL_DEFAULTS = {\n alpha: true,\n antialias: true\n};\n\n// TODO: Fix type\nconst CAMERA_DEFAULTS: any = {\n position: [0, 0, 1000],\n near: 5,\n far: 50000,\n fov: 10\n};\n\nexport const GraphCanvas: FC }> =\n forwardRef(\n (\n {\n cameraMode,\n edges,\n nodes,\n theme,\n onCanvasClick,\n animated,\n disabled,\n lassoType,\n onLasso,\n onLassoEnd,\n ...rest\n },\n ref: Ref\n ) => {\n const rendererRef = useRef(null);\n const controlsRef = useRef(null);\n\n useImperativeHandle(ref, () => ({\n centerGraph: (n?: string[]) => rendererRef.current?.centerGraph(n),\n zoomIn: () => controlsRef.current?.zoomIn(),\n zoomOut: () => controlsRef.current?.zoomOut(),\n panLeft: () => controlsRef.current?.panLeft(),\n panRight: () => controlsRef.current?.panRight(),\n panDown: () => controlsRef.current?.panDown(),\n panUp: () => controlsRef.current?.panUp(),\n getControls: () => controlsRef.current?.controls,\n getGraph: () => rendererRef.current?.graph\n }));\n\n // Defaults to pass to the store\n const { selections, actives, collapsedNodeIds } = rest;\n\n // It's pretty hard to get good animation performance with large n of edges/nodes\n const finalAnimated =\n edges.length + nodes.length > 400 ? false : animated;\n\n // NOTE: The legacy/linear/flat flags are for color issues\n // Reference: https://github.com/protectwise/troika/discussions/213#discussioncomment-3086666\n return (\n
\n \n \n createStore({\n selections,\n actives,\n collapsedNodeIds\n })\n }\n >\n \n \n {theme.canvas.fog && (\n \n )}\n \n \n \n \n \n \n \n \n \n
\n );\n }\n );\n\nGraphCanvas.defaultProps = {\n cameraMode: 'pan',\n layoutType: 'forceDirected2d',\n sizingType: 'none',\n labelType: 'auto',\n theme: lightTheme,\n animated: true,\n defaultNodeSize: 7,\n minNodeSize: 5,\n maxNodeSize: 15,\n lassoType: 'none'\n};\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import classNames from 'classnames';\nimport React, { FC, ReactNode } from 'react';\nimport css from './RadialSlice.module.css';\n\nexport interface MenuItem {\n /**\n * Label to display on the menu item.\n */\n label: string;\n\n /**\n * CSS Classname to apply to the slice.\n */\n className?: string;\n\n /**\n * Optional icon to display on the menu item.\n */\n icon?: ReactNode;\n\n /**\n * Optional callback to detemine if the menu item is active.\n */\n disabled?: boolean;\n\n /**\n * Optional callback to handle when the menu item is clicked.\n */\n onClick?: (event: React.MouseEvent) => void;\n}\n\ninterface RadialSliceProps extends MenuItem {\n startAngle: number;\n endAngle: number;\n skew: number;\n polar: boolean;\n centralAngle: number;\n radius: number;\n innerRadius: number;\n}\n\nexport const RadialSlice: FC = ({\n label,\n centralAngle,\n startAngle,\n endAngle,\n polar,\n radius,\n className,\n icon,\n innerRadius,\n skew,\n disabled,\n onClick\n}) => (\n 90 ? '100%' : '50%',\n height: centralAngle > 90 ? '100%' : '50%',\n bottom: centralAngle > 90 ? '50%' : 'initial',\n right: centralAngle > 90 ? '50%' : 'initial',\n transform: `rotate(${startAngle + endAngle}deg) skew(${skew}deg)`\n }}\n onClick={event => {\n if (!disabled) {\n onClick(event);\n }\n }}\n >\n \n 90 ? '50% + ' : ''\n }${radius}px) - ${innerRadius}px) / 2) - 4em)`\n }}\n >\n \n {icon}\n {label}\n \n \n \n \n);\n","import { MenuItem } from './RadialSlice';\n\nexport function calculateRadius(items: MenuItem[], startOffsetAngle: number) {\n const centralAngle = 360 / items.length || 360;\n const polar = centralAngle % 180 === 0;\n const deltaAngle = 90 - centralAngle;\n const startAngle = polar\n ? 45\n : startOffsetAngle + deltaAngle + centralAngle / 2;\n\n return { centralAngle, polar, startAngle, deltaAngle };\n}\n","import React, { FC, useLayoutEffect, useMemo, useRef } from 'react';\nimport { RadialSlice, MenuItem } from './RadialSlice';\nimport { calculateRadius } from './utils';\nimport css from './RadialMenu.module.css';\nimport classNames from 'classnames';\n\ninterface RadialMenuProps {\n items: MenuItem[];\n radius?: number;\n innerRadius?: number;\n startOffsetAngle?: number;\n className?: string;\n onClose?: (event: React.MouseEvent) => void;\n}\n\nexport const RadialMenu: FC = ({\n items,\n radius,\n className,\n innerRadius,\n startOffsetAngle,\n onClose\n}) => {\n const { centralAngle, polar, startAngle, deltaAngle } = useMemo(\n () => calculateRadius(items, startOffsetAngle),\n [items, startOffsetAngle]\n );\n const timeout = useRef(null);\n\n useLayoutEffect(() => {\n const timer = timeout.current;\n return () => clearTimeout(timer);\n }, []);\n\n if (items.length === 0) {\n return null;\n }\n\n return (\n clearTimeout(timeout.current)}\n onPointerLeave={event => {\n clearTimeout(timeout.current);\n timeout.current = setTimeout(() => onClose?.(event), 500);\n }}\n >\n {items.map((slice, index) => (\n {\n slice?.onClick(event);\n onClose?.(event);\n }}\n />\n ))}\n \n );\n};\n\nRadialMenu.defaultProps = {\n radius: 175,\n innerRadius: 25,\n startOffsetAngle: 0\n};\n"],"names":["shallowEqualArrays","arrA","arrB","equal","a","b","len","globalCache","query","fn","keys","preload","config","entry","response","index","error","suspend","debounce","func","wait","immediate","timeout","args","context","timestamp","result","later","last","debounced","callNow","debounce_1","useMeasure","_temp","scroll","polyfill","offsetSize","ResizeObserver","bounds","set","useState","state","useRef","scrollDebounce","resizeDebounce","mounted","useEffect","forceRefresh","resizeChange","scrollChange","useMemo","callback","left","top","width","height","bottom","right","x","y","size","areBoundsEqual","createDebounce","removeListeners","element","addListeners","scrollContainer","ref","node","findScrollContainers","useOnWindowScroll","useOnWindowResize","onWindowResize","cb","onScroll","enabled","overflow","overflowX","overflowY","prop","key","DOM_EVENTS","createPointerEvents","store","handlePointer","createEvents","event","previous","acc","target","_events$handlers","events","name","eventName","passive","_events$handlers2","Canvas","React.forwardRef","children","fallback","resize","style","gl","shadows","linear","flat","legacy","orthographic","frameloop","dpr","performance","raycaster","camera","onPointerMissed","onCreated","props","forwardedRef","React.useMemo","extend","THREE","containerRef","containerRect","canvasRef","React.useRef","divRef","canvas","setCanvas","React.useState","React.useImperativeHandle","handlePointerMissed","useMutableCallback","block","setBlock","setError","root","createRoot","React.createElement","ErrorBoundary","React.Suspense","Block","useIsomorphicLayoutEffect","React.useEffect","unmountComponentAtNode","_extends","tree_add$2","d","add","tree","parent","leaf","x0","x1","xm","xp","i","j","addAll","data","n","xz","tree_cover$2","z","tree_data$2","tree_extent$2","_","Half","tree_find$2","radius","x2","x3","halves","q","tree_remove$2","retainer","next","removeAll","tree_root$2","tree_size$2","tree_visit$2","child","tree_visitAfter$2","defaultX","tree_x$2","binarytree","nodes","Binarytree","leaf_copy","copy","treeProto","tree_add","tree_addAll","tree_cover","tree_data","tree_extent","tree_find","tree_remove","tree_removeAll","tree_root","tree_size","tree_visit","tree_visitAfter","tree_x","tree_add$1","y0","y1","ym","yp","yz","tree_cover$1","tree_data$1","tree_extent$1","Quad","tree_find$1","y2","y3","quads","dx","dy","d2","tree_remove$1","tree_root$1","tree_size$1","tree_visit$1","tree_visitAfter$1","tree_x$1","defaultY","tree_y$1","quadtree","Quadtree","tree_y","z0","z1","zm","zp","deep","zz","t","Octant","z2","z3","octs","dz","defaultZ","tree_z","octree","Octree","constant$1","jiggle","random","forceCollide","nDim","radii","strength","iterations","constant","force","xi","yi","zi","ri","ri2","k","prepare","apply","treeNode","arg1","arg2","arg3","arg4","arg5","arg6","rj","r","l","initialize","_nodes","arg","find","nodeById","nodeId","d3ForceLink","links","id","defaultStrength","strengths","distance","distances","count","bias","link","alpha","source","m","initializeStrength","initializeDistance","noop","dispatch","Dispatch","parseTypenames","typenames","types","typename","T","get","type","that","c","frame","interval","pokeDelay","taskHead","taskTail","clockLast","clockNow","clockSkew","clock","setFrame","f","now","clearNow","Timer","timer","delay","time","sleep","timerFlush","wake","nap","poke","t0","t1","t2","lcg","s","MAX_DIMENSIONS","initialRadius","initialAngleRoll","initialAngleYaw","d3ForceSimulation","numDimensions","simulation","alphaMin","alphaDecay","alphaTarget","velocityDecay","forces","stepper","step","tick","initializeNodes","rollAngle","yawAngle","initializeForce","closest","d3ForceManyBody","distanceMin2","distanceMax2","theta2","accumulate","weight","numChildren","w","d3ForceRadial","radiuses","initNodes","d3ForceX","d3ForceY","d3ForceZ","traverseGraph","nodeStack","currentDepth","idx","loop","getNodeDepth","invalid","graph","cur","from","to","sourceNode","targetNode","allDepths","maxDepth","RADIALS","forceRadial","edges","mode","nodeLevelRatio","depths","modeDistance","dagLevelDistance","getFFn","fix","invert","fxFn","fyFn","fzFn","nodeDepth","cluster","centers","centerpoints","centerInertia","_len","_key","TICK_COUNT","forceDirected","dimensions","nodeStrength","linkDistance","clusterPadding","clusterStrength","drags","clusterAttribute","nodeStrengthAdjustment","sim","linkForce","forceCluster","nodeClusterAttr","_a","centerNode","largestNode","nodeMap","isLeaf","o","resolveDefaults","defaults","output","existing","def","isGraph","value","require$$0","require$$1","DEFAULTS","genericCircularLayout","assign","options","center","scale","tau","offset","assignPosition","positions","attr","circularLayout","circular","circular2d","layout","sum","node_count","node_each","node_eachBefore","node_eachAfter","node_find","node_sum","node_sort","compare","node_path","end","start","ancestor","leastCommonAncestor","aNodes","bNodes","node_ancestors","node_descendants","node_leaves","leaves","node_links","node_iterator","current","hierarchy","mapChildren","objectChildren","Node","childs","computeHeight","node_copy","copyData","optional","required","preroot","ambiguous","imputed","defaultId","defaultParentId","stratify","parentId","path","currentId","currentParentId","nodeKey","nodeByKey","I","normalize","P","parentof","S","slash","defaultSeparation","nextLeft","v","nextRight","moveSubtree","wm","wp","shift","change","executeShifts","nextAncestor","vim","TreeNode","treeRoot","separation","nodeSize","firstWalk","secondWalk","sizeNode","tx","kx","ky","siblings","midpoint","apportion","vip","vop","vom","sip","sop","som","DIRECTION_MAP","hierarchical","rootNodes","_c","_b","treeNodes","mappedNodes","NODE_X","NODE_Y","NODE_SIZE","PPN","hashPair","jitter","iterate","NodeMatrix","margin","ratio","expansion","gridSize","speed","converged","length","order","deltaX","deltaY","xMin","yMin","xMax","yMax","xCenter","yCenter","grid","gridLength","nxMin","nxMax","nyMin","nyMax","xMinBox","xMaxBox","yMinBox","yMaxBox","col","row","cell","collisions","n1","n2","s1","s2","h","xDist","yDist","dist","collision","helpers","settings","reducer","matrix","pos","xURL","code","objectUrl","worker","require$$2","DEFAULT_SETTINGS","require$$3","DEFAULT_MAX_ITERATIONS","abstractSynchronousLayout","params","maxIterations","validationError","synchronousLayout","graphologyLayoutNoverlap","nooverlap","noverlapLayout","coerceWeight","createNodeValueGetter","nameOrFunction","defaultValue","getter","coerceToDefault","attributes","returnDefault","createEdgeValueGetter","edge","extremities","e","sa","ta","u","getters","NODE_DX","NODE_DY","NODE_OLD_DX","NODE_OLD_DY","NODE_MASS","NODE_CONVERGENCE","NODE_FIXED","EDGE_SOURCE","EDGE_TARGET","EDGE_WEIGHT","REGION_NODE","REGION_CENTER_X","REGION_CENTER_Y","REGION_SIZE","REGION_NEXT_SIBLING","REGION_FIRST_CHILD","REGION_MASS","REGION_MASS_CENTER_X","REGION_MASS_CENTER_Y","SUBDIVISION_ATTEMPTS","PPE","PPR","MAX_FORCE","EdgeMatrix","rn","g","adjustSizes","thetaSquared","outboundAttCompensation","coefficient","ewc","factor","RegionMatrix","minX","maxX","minY","maxY","q2","subdivisionAttempts","swinging","traction","nodespeed","newX","newY","objects","getEdgeWeight","sj","tj","outputReducer","newAttr","createEdgeWeightGetter","require$$4","matrices","inferSettings","graphologyLayoutForceatlas2","genericRandomLayout","rng","randomLayout","forceAtlas2","rest","forceAtlas2Layout","FORCE_LAYOUTS","layoutProvider","gravity","scalingRatio","stable","run","MAX_8BIT_INTEGER","MAX_16BIT_INTEGER","MAX_32BIT_INTEGER","MAX_SIGNED_8BIT_INTEGER","MAX_SIGNED_16BIT_INTEGER","MAX_SIGNED_32BIT_INTEGER","exports","maxIndex","TYPE_PRIORITY","array","maxType","maxPriority","p","PointerArray","typed","upperBoundPerMethod","method","NeighborhoodIndex","getNeighbors","upperBound","NeighborhoodPointerArray","NodesPointerArray","ids","neighbors","self","projection","results","neighborhood","WeightedNeighborhoodIndex","getEdges","weightGetter","neighbor","abstractPagerank","tolerance","pagerankAttribute","N","normalizedEdgeWeights","danglingNodes","iteration","dangleSum","xLast","pagerank","pagerank_1","pageRankSizing","ranks","nodeID","abstractDegreeCentrality","centralityAttribute","getDegree","centralities","degreeCentrality","inDegreeCentrality","outDegreeCentrality","degreeCentrality_1","centralitySizing","attributeSizing","attribute","defaultSize","map","ascending","descending","bisector","compare1","compare2","delta","zero","lo","hi","mid","number","ascendingBisect","bisectRight","bisect","e10","e5","e2","tickSpec","stop","power","i1","i2","inc","ticks","reverse","tickIncrement","tickStep","initRange","domain","range","define","constructor","factory","prototype","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","color","channels","color_formatHex","color_formatHex8","color_formatHsl","color_formatRgb","hslConvert","format","rgbn","Rgb","rgba","hsla","rgbConvert","rgb","opacity","clampi","clampa","rgb_formatHex","rgb_formatHex8","rgb_formatRgb","hex","Hsl","min","max","hsl","m2","m1","hsl2rgb","clamph","clampt","exponential","gamma","nogamma","rgb$1","rgbGamma","colorRgb","numberArray","isNumberArray","genericArray","nb","na","date","interpolateNumber","object","reA","reB","one","string","bi","am","bm","bs","interpolate$1","interpolateRound","constants","unit","identity","clamper","bimap","interpolate","d0","d1","r0","r1","polymap","transformer","interpolateValue","transform","untransform","unknown","clamp","piecewise","input","rescale","continuous","formatDecimal","formatDecimalParts","exponent","formatGroup","grouping","thousands","formatNumerals","numerals","re","formatSpecifier","specifier","match","FormatSpecifier","formatTrim","out","i0","prefixExponent","formatPrefixAuto","formatRounded","formatTypes","identity$2","prefixes","formatLocale","locale","group","currencyPrefix","currencySuffix","decimal","percent","minus","nan","newFormat","fill","align","sign","symbol","comma","precision","trim","prefix","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","padding","formatPrefix","defaultLocale","precisionFixed","precisionPrefix","precisionRound","tickFormat","linearish","prestep","maxIter","providers","_id","nodeSizeProvider","provider","minSize","maxSize","sizes","scaleLinear","NODE_THRESHOLD","calcLabelVisibility","nodeCount","shape","getLabelOffsetByType","position","buildGraph","message","transformGraph","sizingType","labelType","sizingAttribute","defaultNodeSize","minNodeSize","maxNodeSize","checkVisibility","icon","label","labelVisible","parents","createStoreImpl","createState","listeners","setState","partial","replace","nextState","previousState","listener","getState","api","createStore","useSyncExternalStoreShim_production_min","shimModule","withSelector_production_min","withSelectorModule","useSyncExternalStoreWithSelector","useSyncExternalStoreExports","useStore","selector","equalityFn","slice","useDebugValue","createImpl","createStore__default","useBoundStore","create","create$1","createContext","ZustandContext","createContext$1","storeRef","createElement","useContext","animationConfig","getArrowVectors","placement","curve","arrowLength","curveLength","absSize","rotation","getArrowSize","getMidPoint","fromVector","Vector3","toVector","midVector","getCurvePoints","vlen","vn","vv","vm","getCurve","fromOffset","toOffset","curved","offsetFrom","getPointBetween","offsetTo","QuadraticBezierCurve3","LineCurve3","getVector","getLayoutCenter","minZ","maxZ","R","ReflectApply","receiver","ReflectOwnKeys","ProcessEmitWarning","warning","NumberIsNaN","EventEmitter","eventsModule","once","defaultMaxListeners","checkListener","_getMaxListeners","doError","er","err","handler","arrayClone","_addListener","prepend","onceWrapper","_onceWrap","wrapped","list","originalListener","spliceOne","_listeners","unwrap","evlistener","unwrapListeners","emitter","listenerCount","arr","ret","resolve","reject","errorListener","resolver","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","flags","wrapListener","Iterator","iterator","sequence","support","ARRAY_BUFFER_SUPPORT","SYMBOL_SUPPORT","iterOrNull","iter","take","iterable","chain","iterables","assignPolyfill","getMatchingEdge","sourceData","isPlainObject","isEmpty","privateProperty","readOnlyProperty","descriptor","validateHints","hints","incrementalIdStartingFromRandomByte","GraphError","InvalidArgumentsGraphError","NotFoundGraphError","UsageGraphError","MixedNodeData","DirectedNodeData","UndirectedNodeData","EdgeData","undirected","outKey","inKey","adj","head","NODE","SOURCE","TARGET","OPPOSITE","findRelevantNodeData","nodeOrEdge","nameOrEdge","add1","add2","nodeData","edgeData","attachNodeAttributeGetter","Class","attachNodeAttributesGetter","attachNodeAttributeChecker","attachNodeAttributeSetter","attachNodeAttributeUpdater","updater","attachNodeAttributeRemover","attachNodeAttributesReplacer","attachNodeAttributesMerger","attachNodeAttributesUpdater","NODE_ATTRIBUTES_METHODS","attachNodeAttributesMethods","Graph","attacher","attachEdgeAttributeGetter","attachEdgeAttributesGetter","attachEdgeAttributeChecker","attachEdgeAttributeSetter","attachEdgeAttributeUpdater","attachEdgeAttributeRemover","attachEdgeAttributesReplacer","attachEdgeAttributesMerger","attachEdgeAttributesUpdater","EDGE_ATTRIBUTES_METHODS","attachEdgeAttributesMethods","EDGES_ITERATION","forEachSimple","breakable","avoid","shouldBreak","forEachMulti","createIterator","forEachForKeySimple","targetData","forEachForKeyMulti","createIteratorForKey","createEdgeArray","mask","forEachEdge","shouldFilter","createEdgeIterator","forEachEdgeForNode","multi","direction","found","createEdgeArrayForNode","createEdgeIteratorForNode","forEachEdgeForPath","createEdgeArrayForPath","createEdgeIteratorForPath","attachEdgeArrayCreator","description","attachForEachEdge","forEachName","mapName","ea","filterName","reduceName","initialValue","accumulator","attachFindEdge","findEdgeName","someName","everyName","attachEdgeIteratorCreator","originalName","attachEdgeIterationMethods","NEIGHBORS_ITERATION","CompositeSetWrapper","forEachInObjectOnce","visited","neighborData","forEachNeighbor","createNeighborArrayForNode","createDedupedObjectIterator","createNeighborIterator","attachNeighborArrayCreator","attachForEachNeighbor","attachFindNeighbor","capitalizedSingular","findName","attachNeighborIteratorCreator","iteratorName","attachNeighborIterationMethods","forEachAdjacency","assymetric","disconnectedNodes","hasEdges","serializeNode","serialized","serializeEdge","validateSerializedNode","validateSerializedEdge","INSTANCE_ID","TYPES","EMITTER_PROPS","EDGE_ADD_METHODS","verb","addNode","unsafeAddNode","addEdge","mustGenerateKey","eventData","isSelfLoop","mergeEdge","asUpdater","alreadyExistingEdgeData","info","oldAttributes","sourceWasAdded","targetWasAdded","dropEdgeFromData","NodeDataClass","instancePrefix","edgeId","edgeKeyGenerator","availableEdgeKey","degree","loops","merge","_sa","_ta","undirectedByDefault","multiIndex","tmp","desc","dummy","DirectedGraph","finalOptions","UndirectedGraph","MultiGraph","MultiDirectedGraph","MultiUndirectedGraph","attachStaticFromMethod","instance","Provider","actives","selections","collapsedNodeIds","edgeContextMenus","edgeMeshes","panning","draggingId","originalVector","nodeIndex","updateNodePosition","nodeIds","getHiddenChildren","currentHiddenNodes","currentHiddenEdges","hiddenNodes","hiddenEdges","curHiddenNodeIds","curHiddenEdgeIds","outboundEdges","outboundEdgeNodeIds","outboundEdgeNodeId","incomingEdges","hideNode","nested","uniqueEdges","uniqueNodes","getVisibleEntities","collapsedIds","curHiddenNodes","curHiddenEdges","collapsedId","hiddenNodeIds","hiddenEdgeIds","visibleNodes","visibleEdges","getExpandPath","visibleEdgeIds","parentIds","inboundEdges","inboundEdgeNodeIds","addedParent","inboundNodeId","useGraph","layoutType","layoutOverrides","stateCollapsedNodeIds","setEdges","setNodes","setSelections","setActives","setDrags","setCollapsedNodeIds","setMounted","layoutMounted","dragRef","updateLayout","useCallback","curLayout","useLayoutEffect","v1","v2","v3","defaultCalculatePosition","el","objectPos","widthHalf","heightHalf","isObjectBehindCamera","cameraPos","deltaCamObj","camDir","isObjectVisible","occlude","elPos","screenPos","intersects","intersectionDistance","objectScale","OrthographicCamera","PerspectiveCamera","vFOV","objectZIndex","zIndexRange","A","B","epsilon","getCSSMatrix","multipliers","matrix3d","getCameraCSSMatrix","getObjectCSSMatrix","scaleMultipliers","Html","eps","className","fullscreen","portal","distanceFactor","sprite","onOcclude","calculatePosition","as","wrapperClass","pointerEvents","_portal$current","useThree","scene","oldZoom","oldPosition","transformOuterRef","transformInnerRef","React.useLayoutEffect","currentRoot","ReactDOM.createRoot","vec","styles","transformInnerStyles","_root$current","_root$current2","visible","useFrame","isBehindCamera","raytraceTarget","item","previouslyVisible","isvisible","fov","isOrthographicCamera","cameraMatrix","cameraTransform","useCursor","hovered","onPointerOver","onPointerOut","mergeRefs","refs","mergeBufferGeometries","geometries","useGroups","isIndexed","attributesUsed","morphAttributesUsed","morphAttributes","morphTargetsRelative","mergedGeometry","BufferGeometry","geom","attributesCount","indexOffset","mergedIndex","mergedAttribute","mergeBufferAttributes","numMorphTargets","morphAttributesToMerge","mergedMorphAttribute","TypedArray","itemSize","normalized","arrayLength","BufferAttribute","SelectionBox","frustum","Frustum","tmpPoint","vecNear","vecTopLeft","vecTopRight","vecDownRight","vecDownLeft","vecFarTopLeft","vecFarTopRight","vecFarDownRight","vecFarDownLeft","vectemp1","vectemp2","vectemp3","startPoint","endPoint","planes","down","Billboard","follow","lockX","lockY","lockZ","localRef","prevRotation","BespokeThenable","queue","scheduled","completeCalled","then","onResolve","onReject","nextThenable","handleNext","isFn","recursiveError","resultThen","getThenableThen","scheduleQueueFlush","oneTime","val","complete","reason","st","ignoreThrow","thenableObj","valThen","flushQueue","callIt","called","NativePromiseThenable","promise","res","rej","items","resultCount","DefaultThenable","itemThenable","workerBootstrap","modules","registerModule","dependencies","init","getTransferables","dep","depResult","rehydrate","callModule","ref$1","handleResult","str","url","messageId","action","transferables","defineMainThreadModule","moduleFunc","initResult","initThenable","deps","supportsWorkers","supported","_workerModuleId","_messageId","_allowInitAsString","workers","registeredModules","openRequests","defineWorkerModule","workerId","registrationThenable","stringifyFunction","callWorker","unregister","isCallable","terminateWorker","getWorker","bootstrap","msgId","thenable","ThenableWorkerModule","Thenable","SDFGenerator","pointOnQuadraticBezier","pointOut","pointOnCubicBezier","forEachPathCommand","pathString","commandCallback","segmentRE","firstX","firstY","prevX","prevY","pathToLineSegments","segmentCallback","curvePoints","tempPoint","command","startX","startY","endX","endY","ctrl1X","ctrl1Y","ctrl2X","ctrl2Y","prevCurveX","prevCurveY","prevCurveX$1","prevCurveY$1","i$1","viewportQuadVertex","copyTexFragment","cache","glContextParams","withWebGLContext","glOrCanvas","wrapper","getExtension","ext","extensions","compileShader","src","shader","withProgram","vert","frag","programs","uniforms","program","values","uniformLoc","usage","instancingDivisor","isWebGL2","withTexture","textureUnit","texture","textures","withTextureFramebuffer","framebuffer","framebufferStack","handleContextLoss","renderImageData","imageData","tex","texUnit","setUniform","setAttribute","resizeWebGLCanvasWithoutClearing","newWidth","newHeight","webglUtils","generate$2","sdfWidth","sdfHeight","viewBox","maxDistance","sdfExponent","textureData","viewBoxWidth","viewBoxHeight","segments","sdfX","sdfY","signedDist","findNearestSignedDistance","closestDistSq","closestDist","seg","distSq","absSquareDistanceToLineSegment","isPointInPoly","winding","generateIntoCanvas$2","channel","generateIntoFramebuffer$1","rgbaData","lineX0","lineY0","lineX1","lineY1","ldx","ldy","lengthSq","javascript","mainVertex","mainFragment","postFragment","viewportUVs","implicitContext","isTestingSupport","NULL_OBJECT","supportByCanvas","validateSupport","isSupported","generate$1","generateIntoFramebuffer","generateIntoCanvas$1","lineSegmentCoords","intermediateTexture","intermediateTextureUnit","instancingExtension","blendMinMaxExtension","failReason","expectedResult","testResult","webgl","generate","generateIntoCanvas","bidiFactory","bidi","DATA","TYPES_TO_NAMES","ISOLATE_INIT_TYPES","STRONG_TYPES","NEUTRAL_ISOLATE_TYPES","BN_LIKE_TYPES","TRAILING_TYPES","parseData","lastCode","skip","getBidiCharType","char","getBidiCharTypeName","data$1","parseCharacterMap","encodedString","includeReverse","radix","reverseMap","prevPair","visit","openToClose","closeToOpen","canonical","parse$1","openingToClosingBracket","closingToOpeningBracket","getCanonicalBracket","TYPE_L","TYPE_R","TYPE_EN","TYPE_ES","TYPE_ET","TYPE_AN","TYPE_CS","TYPE_B","TYPE_S","TYPE_ON","TYPE_BN","TYPE_NSM","TYPE_AL","TYPE_LRO","TYPE_RLO","TYPE_LRE","TYPE_RLE","TYPE_PDF","TYPE_LRI","TYPE_RLI","TYPE_FSI","TYPE_PDI","getEmbeddingLevels","baseDirection","MAX_DEPTH","charTypes","charTypeCounts","changeCharType","oldType","embedLevels","isolationPairs","paragraphs","paragraph","determineAutoEmbedLevel","FORMATTING_TYPES","nextEven","nextOdd","paraIdx","statusStack","stackTop","overflowIsolateCount","overflowEmbeddingCount","validIsolateCount","i$2","charType","level","level$1","level$2","isolInitIndex","levelRuns","currentRun","i$3","charType$1","lvl","isIsolInit","isPDI","isolatingRunSeqs","runIdx","seqRuns","pdiIndex","i$4","seqIndices","i$5","run$1","firstLevel","prevLevel","i$6","lastIndex","lastLevel","nextLevel","i$7","seqIdx","seqIndices$1","sosType","eosType","si","i$8","prevType","si$1","i$9","sj$1","prevCharType","si$2","i$10","si$3","i$11","prevType$1","nextType","sj$2","sj$3","si$4","i$12","sj$4","sj$5","si$5","i$13","sj$6","sj$7","si$6","prevStrongType","i$14","R_TYPES_FOR_N_STEPS","STRONG_TYPES_FOR_N_STEPS","bracketPairs","openerStack","si$7","oppositeBracket","stackIdx","stackChar","pairIdx","openSeqIdx","closeSeqIdx","foundStrongType","useStrongType","si$8","i$15","lr","getEmbedDirection","si$9","i$16","lr$1","si$10","si$11","si$12","niRunStart","niRunEnd","prevType$2","si2","nextType$1","si2$1","sj$8","i$17","level$3","type$1","j$1","isFSI","pdi","indexOfMatchingPDI","isolateStart","isolationLevel","mirrorMap","parse","getMirroredCharacter","getMirroredCharactersMap","embeddingLevels","strLen","mirror","getReorderSegments","embeddingLevelsResult","lineStart","lineEnd","lineLevels","maxLevel","minOddLevel","segStart","getReorderedString","embedLevelsResult","indices","getReorderedIndices","chars","charIndex","voidMainRegExp","expandShaderIncludes","pattern","include","chunk","ShaderChunk","_lut","generateUUID","d3","epoch","CONSTRUCTOR_CACHE","SHADER_UPGRADE_CACHE","materialInstanceId","createDerivedMaterial","baseMaterial","optionsKey","getKeyForOptions","ctorsByDerivation","privateBeforeCompileProp","onBeforeCompile","shaderInfo","cacheKey","upgradedShaders","upgraded","upgradeShaders","DerivedMaterial","derive","base","derived","UniformsUtils","newBase","depthMaterial","MeshDepthMaterial","RGBADepthPacking","distanceMaterial","MeshDistanceMaterial","_depthMaterial","_distanceMaterial","vertexShader","fragmentShader","vertexDefs","vertexMainIntro","vertexMainOutro","vertexTransform","fragmentDefs","fragmentMainIntro","fragmentMainOutro","fragmentColorTransform","customRewriter","timeUniform","postChunks","match1","fullStr","injectIntoShaderCode","shaderCode","defs","intro","outro","optionsJsonReplacer","_idCtr","optionsHashesToIds","optionsHash","createTypesetter","fontParser","defaultFontURL","fonts","INF","DEFAULT_IGNORABLE_CHARS","BREAK_AFTER_CHARS","doLoadFont","tryLoad","onError","request","fontObj","loadFont","fontUrl","font","callbacks","typeset","text","sdfGlyphSize","fontSize","letterSpacing","lineHeight","maxWidth","textAlign","textIndent","whiteSpace","overflowWrap","anchorX","anchorY","includeCaretPositions","chunkedBoundsSize","colorRanges","metricsOnly","mainStart","timings","hasMaxWidth","glyphIds","glyphPositions","glyphData","glyphColors","caretPositions","visibleBounds","chunkedBounds","maxLineWidth","renderableGlyphCount","canWrap","ascender","descender","unitsPerEm","typesetStart","fontSizeMult","halfLeading","topBaseline","caretHeight","caretBottomOffset","lineXOffset","currentLine","TextLine","lines","glyphObj","glyphX","glyphWidth","curLineCount","nextLine","adjustX","fly","line","anchorXOffset","anchorYOffset","parsePercent","bidiLevelsResult","lineYOffset","renderableGlyphIndex","prevCharIndex","colorCharIndex","currentColor","lineIndex","lineGlyphCount","lineWidth","trailingWhitespaceCount","justifyAdjust","whitespaceCount","justifyOffset","glyphInfo","flips","fi","startInLine","endInLine","setGlyphObj","glyphId","rtl","mirrored","caretLeft","caretRight","ligCount","fillLigatureCaretPositions","glyphY","visX0","visY0","visX1","visY1","chunkRect","measure","pct","ligStartIndex","ligStartX","ligEndX","ligY","guessedAdvanceX","startIndex","textLineProps","newLine","obj","all","mainThreadGenerator","createSDFGenerator","warned","generateSDF","useWebGL","generateSDF_GL","generateSDF_JS_Worker","nextChunk","threads","callNum","thread","_createSDFGenerator","timing","warmUpSDFCanvas","typrFactory","U","F","C","O","G","D","L","W","M","V","woff2otfFactory","E","H","J","K","Q","X","Y","Z","$","rr","nr","tr","parserFactory","Typr","woff2otf","cmdArgLengths","joiningTypeRawData","JT_LEFT","JT_RIGHT","JT_DUAL","JT_TRANSPARENT","JT_JOIN_CAUSING","JT_NON_JOINING","joiningTypeMap","getCharJoiningType","ch","ISOL","INIT","FINA","MEDI","formsToFeatures","detectJoiningForms","joiningForms","prevJoiningType","prevForm","prevIndex","joiningType","form","stringToGlyphs","cc","gsub","lookupList","featureList","supportedFeatures","usedLookups","feature","ti","tab","isJoiningFeature","ci","wrapFontObj","typrFont","glyphMap","fontScale","glyphIndices","prevGlyphIndex","glyphIndex","cmds","crds","crdsIdx","numArgs","buffer","peek","tag","workerModule","CONFIG","tempColor","now$1","atlases","getTextRenderInfo","totalStart","toAbsoluteURL","colors","textureWidth","glyphsPerRow","atlas","Texture","LinearFilter","initContextLossHandling","sdfTexture","sdfCanvas","fontGlyphs","typesetInWorker","neededSDFs","glyphBounds","boundsIdx","positionsIdx","quadsStart","pathBounds","fontUnitsMargin","atlasIndex","sdfViewBox","posX","posY","sdfStart","currentHeight","neededRows","neededHeight","generateGlyphSDF","safariPre15Workaround","contextLost","useGPU","maxDist","squareIndex","promises","glyph","preloadFont","characters","toObj","fromObj","linkEl","pixels","typesetterWorkerModule","typesetter","GlyphsGeometry","templateGeometries","getTemplateGeometry","detail","front","PlaneBufferGeometry","back","frontAttrs","backAttrs","combined","vertCount","Float32BufferAttribute","glyphBoundsAttrName","glyphIndexAttrName","glyphColorAttrName","InstancedBufferGeometry","Sphere","Box3","side","verts","BackSide","DoubleSide","tpl","glyphAtlasIndices","blockBounds","updateBufferAttr","setInstanceCount","curveRadius","bbox","PI","floor","sin","cos","halfPi","twoPi","absR","leftAngle","rightAngle","clipRect","chunks","rect","attrName","newArray","InstancedBufferAttribute","VERTEX_DEFS","VERTEX_TRANSFORM","FRAGMENT_DEFS","FRAGMENT_TRANSFORM","createTextDerivedMaterial","textMaterial","Vector2","Vector4","Matrix3","uDiffuseRE","Text","defaultMaterial","MeshBasicMaterial","defaultStrokeColor","tempMat4","Matrix4","tempVec3a","tempVec3b","tempArray","origin","defaultOrient","first","getFlatRaycastMesh","mesh","Mesh","getCurvedRaycastMesh","syncStartEvent","syncCompleteEvent","SYNCABLE_PROPS","COPYABLE_PROPS","geometry","textRenderInfo","queued","renderer","material","FrontSide","derivedMaterial","onDispose","outlineMaterial","isOutline","textInfo","distanceOffset","blurRadius","strokeWidth","fillOpacity","strokeOpacity","strokeColor","offsetX","offsetY","outlineWidth","outlineOffsetX","outlineOffsetY","outlineBlur","outlineOpacity","pad","colorObj","orient","rotMat","hSign","hAxis","vSign","vAxis","raycastMesh","uv","privateKey","deprMsgShown","onSync","invalidate","troikaMesh","Text$1","React.Children","ellipsizeMiddle","ellipse","maxLen","middle","charLeft","posRight","charRight","ellipsize","truncate","srcModule","opts","Label","stroke","active","ellipsis","shortText","normalizedColor","normalizedStroke","jsx","updateQueue","makeQueue","raf","schedule","writeQueue","onStartQueue","onFrameQueue","onFinishQueue","timeouts","ms","cancel","pendingCount","findTimeout","sync","lastArgs","queuedFn","throttled","nativeRaf","impl","update","ts","prevTs","eachSafely","each","defineHidden","is","isEqual","eachProp","ctx","toArray","flush","flushCalls","isSSR","createStringInterpolator$1","colors$1","skipAnimation","willAdvance","globals","startQueue","currentFrame","prevFrame","priority","frameLoop","animation","flushStartQueue","startSafely","advance","startUnsafely","findIndex","other","dt","nextFrame","test","NUMBER","PERCENTAGE","call","parts","hex3","hex4","hex6","hex8","normalizeColor","parse255","parse1","hslToRgb","parse360","parsePercentage","hue2rgb","int","num","colorToRgba","int32Color","createInterpolator","extrapolate","outputRange","inputRange","extrapolateLeft","extrapolateRight","easing","findRange","inputMin","inputMax","outputMin","outputMax","$get","$observers","hasFluidValue","getFluidValue","getFluidObservers","callFluidObserver","observer","callFluidObservers","observers","FluidValue","setFluidGetter","setHidden","addFluidObserver","removeFluidObserver","numberRegex","colorRegex","unitRegex","rgbaRegex","cssVariableRegex","variableToRgba","token","parseCSSVariable","_value","namedColorRegex","rgbaRound","p1","p2","p3","p4","createStringInterpolator","keyframes","interpolators","_output$find","missingUnit","warnInterpolate","deprecateInterpolate","warnDirectCall","deprecateDirectCall","isAnimatedString","useIsMounted","isMounted","useForceUpdate","useMemoOne","getResult","inputs","initial","committed","prevCache","areInputsEqual","prev","useOnce","effect","emptyDeps","usePrev","prevRef","$node","isAnimated","getAnimated","owner","setAnimated","getPayload","Animated","AnimatedValue","done","AnimatedString","goal","TreeContext","AnimatedObject","animated","payload","AnimatedArray","makeAnimated","getAnimatedType","parentNode","withAnimated","Component","host","hasInstance","forwardRef","givenProps","givenRef","instanceRef","updateRef","getAnimatedState","forceUpdate","PropsObserver","observerRef","usedProps","createHost","components","_applyAnimatedValues","_createAnimatedStyle","_getComponentProps","hostConfig","displayName","getDisplayName","callProp","matchProp","resolveProp","getDefaultProp","noopTransform","getDefaultProps","DEFAULT_PROPS","RESERVED_PROPS","getForwardProps","forward","inferTo","computeGoal","Globals","hasProps","isAsyncTo","detachRefs","ctrl","_ctrl$ref","replaceRef","_ctrl$ref2","c1","c2","c3","c4","c5","bounceOut","easings","AnimationConfig","mergeConfig","newConfig","defaultConfig","sanitizeConfig","mass","frequency","damping","isTensionConfig","emptyArray","Animation","scheduleProps","callId","defaultProps","actions","_props$cancel","onStart","pause","onResume","onPause","getCombinedResult","getCancelledResult","getNoopResult","getFinishedResult","finished","cancelled","runAsync","onRest","prevTo","prevPromise","preventBail","bail","bailPromise","bailIfEnded","bailSignal","bailResult","animate","BailSignal","skipAnimationSignal","SkipAniamtionSignal","stopAsync","resume","animating","cancelId","isFrameValue","FrameValue","nextId$1","idle","$P","HAS_ANIMATED","IS_ANIMATING","IS_PAUSED","hasAnimated","isAnimating","isPaused","setActiveBit","setPausedBit","paused","SpringValue","changed","anim","toValues","elapsed","v0","velocity","decay","restVelocity","bounceFactor","canBounce","isGrowing","isMoving","isBouncing","numSteps","springForce","dampingForce","acceleration","currVal","finalVal","_ref","isLoop","mergeActiveFn","sendEvent","checkFinished","nextProps","createLoopUpdate","hasToProp","hasFromProp","prevFrom","hasFromChanged","hasToChanged","hasAsyncTo","reset","isAnimatable","nodeType","goalType","started","hasValueChanged","ACTIVE_EVENTS","oldNode","loopRet","overrides","createUpdate","findDefined","declareUpdate","_target$animation$typ","_target$animation","_target$defaultProps$","_target$defaultProps","BATCHED_EVENTS","nextId","Controller$1","spring","prepareKeys","flushUpdateQueue","springs","onChange","flushUpdate","asyncTo","getSprings","prepareSprings","createSpring","setSprings","_objectWithoutPropertiesLoose","excluded","sourceKeys","_excluded$3","SpringContext","inherited","makeContext","React.createContext","SpringRef","_getProps","useSprings","propsFn","layoutId","updates","ctrls","prevLength","declareUpdates","endIndex","Controller","prevContext","hasContext","useSpring","TransitionPhase","Interpolation","_dt","oldValue","checkIdle","becomeIdle","highest","isIdle","primitives","addEffect","applyProps","nodeOpacity","jsxs","Ring","ringSize","ringOpacity","MOUSE_BUTTON","ACTION","isPerspectiveCamera","PI_2","PI_HALF","EPSILON","DEG2RAD","approxZero","approxEquals","roundToStep","infinityToMaxNumber","maxNumberToInfinity","smoothDamp","currentVelocityRef","smoothTime","maxSpeed","deltaTime","omega","exp","originalTo","maxChange","temp","smoothDampVec3","targetX","targetY","targetZ","changeX","changeY","changeZ","originalToX","originalToY","originalToZ","maxChangeSq","magnitudeSq","magnitude","tempX","tempY","tempZ","origMinusCurrentX","origMinusCurrentY","origMinusCurrentZ","outMinusOrigX","outMinusOrigY","outMinusOrigZ","extractClientCoordFromEvent","pointers","pointer","notSupportedInOrthographicCamera","EventDispatcher$1","listenerArray","VERSION","TOUCH_DOLLY_FACTOR","isBrowser","isMac","isPointerEventsNotSupported","_ORIGIN","_AXIS_Y","_AXIS_Z","_v2","_v3A","_v3B","_v3C","_xColumn","_yColumn","_zColumn","_deltaTarget","_deltaOffset","_sphericalA","_sphericalB","_box3A","_box3B","_sphere","_quaternionA","_quaternionB","_rotationMatrix","_raycaster","CameraControls","EventDispatcher","libs","domElement","dragToOffset","targetDistance","truckX","pedestalY","theta","phi","dollyScale","prevRadius","signedPrevRadius","zoomScale","prevZoom","dragStartPosition","lastDragPosition","dollyStart","onPointerDown","mouseButton","zombiePointer","onPointerMove","onPointerUp","startDragging","onMouseDown","onMouseMove","onMouseUp","pointerId","dragging","endDragging","lastScrollTimeStamp","onMouseWheel","deltaYFactor","onContextMenu","isPointerLockActive","dollyX","dollyY","dollyDirection","dollyDelta","azimuthAngle","polarAngle","boundaryEnclosesCamera","enableTransition","resolveImmediately","lastRadius","newRadius","maxDistanceByCollisionTest","isCollided","zoomStep","zoom","box3OrObject","cover","paddingLeft","paddingRight","paddingBottom","paddingTop","aabb","normal","viewFromPolar","bb","bbSize","sphereOrMesh","boundingSphere","distanceToFit","diameter","positionX","positionY","positionZ","positionAX","positionAY","positionAZ","targetAX","targetAY","targetAZ","positionBX","positionBY","positionBZ","targetBX","targetBY","targetBZ","targetA","positionA","targetB","positionB","deltaTheta","deltaPhi","deltaRadius","cameraToPoint","box3","viewportOrX","depth","boundingRectAspect","aspect","hFOV","cameraDirection","deltaTarget","deltaOffset","deltaZoom","planeX","planeY","worldToScreen","lerpRatio","cursor","worldCursorPosition","quaternion","prevPlaneConstant","newPlaneConstant","pullBack","updated","json","activePointer","friction","offsetLength2","newTarget","deltaClampedTarget","deltaClampedTargetLength2","offsetFactor","near","zoomInv","nearPlaneCorner","_domElement","object3d","maxRadiusSq","CameraControlsContext","useCameraControls","window","document","undefined","_MAP","_KEYCODE_MAP","_SHIFT_MAP","_SPECIAL_ALIASES","_REVERSE_MAP","_addEvent","_characterFromEvent","character","_modifiersMatch","modifiers1","modifiers2","_eventModifiers","modifiers","_preventDefault","_stopPropagation","_isModifier","_getReverseMap","_pickBestAction","_keysFromString","combination","_getKeyInfo","_belongsTo","Mousetrap","targetElement","_sequenceLevels","_resetTimer","_ignoreNextKeyup","_ignoreNextKeypress","_nextExpectedAction","_resetSequences","doNotReset","activeSequences","_getMatches","sequenceName","matches","deleteCombo","deleteSequence","_fireCallback","combo","processedSequenceCallback","ignoreThisKeypress","_handleKeyEvent","_resetSequenceTimer","_bindSequence","_increaseSequence","nextAction","_callbackAndReset","isFinal","wrappedCallback","_bindSingle","combinations","initialEventTarget","documentMousetrap","module","createStateHook","mousetraps","bindKeys","nextKeys","addKeys","removeKeys","useHotkeyState","useHotkeys","shortcuts","agg","HOLD_EVENT_TYPE","Hold","holdIntervalDelay","KeyboardKeyHold","keyCode","onKeydown","isInputEvent","onKeyup","ThreeCameraControls","MOUSE","Quaternion","Spherical","Raycaster","MathUtils","KEY_CODES","leftKey","holdEvent.KeyboardKeyHold","rightKey","upKey","downKey","disabled","cameraRef","isOrbiting","setPanning","_state","zoomIn","zoomOut","panRight","panLeft","panUp","panDown","onKeyDown","onKeyUp","onControl","onControlEnd","ref2","useImperativeHandle","PADDING","useCenterGraph","controls","centerPadding","centerNodes","centerNodesById","addV","subV","calculateDistance","movement","calculateAllGeometry","dl","calculateAllKinematics","beta","velocities","minMax","rubberband2","rubberband","dimension","rubberbandIfOutOfBounds","_defineProperties","_createClass","Constructor","protoProps","staticProps","_inheritsLoose","subClass","superClass","_assertThisInitialized","_unsupportedIterableToArray","minLen","_arrayLikeToArray","arr2","_createForOfIteratorHelperLoose","allowArrayLike","it","chainFns","fns","_iterator","_step","ensureVector","assignDefault","valueFn","_len2","_key2","resolveWith","resolvers","_i","_Object$entries","_Object$entries$_i","supportsGestureEvents","supportsTouchEvents","supportsPointerEvents","getEventTouches","getTouchIds","getGenericEventData","buttons","shiftKey","altKey","metaKey","ctrlKey","xy","getPointerEventValues","touchEvents","clientX","clientY","getTwoTouchesEventValues","pointerIds","_Array$from$filter","cx","cy","angle","getScrollEventValues","_event$currentTarget","scrollX","scrollY","scrollLeft","scrollTop","LINE_HEIGHT","PAGE_HEIGHT","getWheelEventValues","deltaMode","getWebkitGestureEventValues","DEFAULT_DRAG_DELAY","DEFAULT_RUBBERBAND","DEFAULT_SWIPE_VELOCITY","DEFAULT_SWIPE_DISTANCE","DEFAULT_SWIPE_DURATION","InternalGestureOptionsNormalizers","InternalCoordinatesOptionsNormalizers","_value2","_value2$left","_value2$right","_value2$top","_value2$bottom","InternalGenericOptionsNormalizers","_window","_x","_ref$passive","_ref$capture","capture","InternalDistanceAngleOptionsNormalizers","_ref2","_ref2$distanceBounds","distanceBounds","_ref2$angleBounds","angleBounds","_distanceBounds","_angleBounds","InternalDragOptionsNormalizers","supportsTouch","supportsPointer","_k","_ref3","_ref3$filterTaps","filterTaps","_ref3$lockDirection","lockDirection","_ref3$axis","axis","getInternalGenericOptions","getInternalCoordinatesOptions","getInternalDistanceAngleOptions","getInternalDragOptions","buildComplexConfig","_config","drag","wheel","move","pinch","hover","eventOptions","domTarget","mergedConfig","getInitial","mixed","getInitialState","shared","RecognizersMap","identity$1","Recognizer","controller","_this","forceFlag","prev_active","next_active","touches","newMemo","_proto","sharedState","gestureState","_intentional","_movement","_this$state","_bounds","_initial","_active","wasIntentional","lastOffset","prevMovement","_T","getIntentionalDisplacement","intentionalityCheck","_rubberband","computeRubberband","threshold","Vx","Vy","Rx","Ry","_bounds$","X1","X2","_bounds$2","Y1","Y2","getGenericPayload","isStartEvent","timeStamp","_lastEventType","elapsedTime","getStartGestureState","_ref4","stateKey","startTime","initialFn","_threshold","classes","bindings","RecognizerClass","_loop","eventKey","addBindings","updateDomListeners","getPropsListener","getDomTargetFromConfig","takeAll","clearAllWindowListeners","addEventIds","removeEventIds","_controller$config","windowListeners","handlers","clearWindowListeners","updateWindowListeners","domListeners","captureString","_i2","_Object$entries2","_Object$entries2$_i","fnsArray","_ref5","_iterator2","_step2","_step2$value","eventHandler","_iterator3","_step3","_step3$value","useRecognizers","nativeHandlers","resolveClasses","React","deprecationNoticeForDomTarget","internalHandlers","CoordinatesRecognizer","_Recognizer","_movement$map","absX","absY","TAP_DISTANCE_THRESHOLD","persistEvent","DragRecognizer","_CoordinatesRecognize","_dragTarget","_dragPointerId","movementX","movementY","kinematics","genericEventData","genericPayload","realDistance","_dragIsTap","tap","_this$state$velocitie","vx","vy","_this$state$movement","mx","my","_this$state$_intentio","ix","iy","_this$config$swipeVel","svx","svy","_this$config$swipeDis","sx","sy","sd","endState","swipe","onDragIsStart","DistanceAngleRecognizer","prev_a","_values$","delta_a","next_turns","turns","_calculateAllKinemati","ZOOM_CONSTANT","WEBKIT_DISTANCE_SCALE_FACTOR","PinchRecognizer","_DistanceAngleRecogni","touchIds","_pointerIds","_getTwoTouchesEventVa","canceled","_getTwoTouchesEventVa2","_this$state2","_getWheelEventValues","delta_d","_this$state$values","prev_d","_delta_d","_this$getWheelValuesF","_this$getWheelValuesF2","WheelRecognizer","MoveRecognizer","ScrollRecognizer","movementDetection","RE_NOT_NATIVE","sortHandlers","_native","handle","useGesture","_handlers","_sortHandlers","includeStartEndHandlers","handlerKey","startKey","endKey","memo","useDrag","draggable","onDragStart","onDragEnd","mouse2D","mouse3D","plane","Plane","clientRect","eventObject","point","nx","ny","Icon","image","TextureLoader","spriteOpacity","SphereWithIcon","Fragment","useHoverIntent","sensitivity","mouseOver","coords","comparePosition","px","py","cleanup","pointerOver","pointerOut","theme","labelFontUrl","contextMenu","onClick","renderNode","cameraControls","setDraggingId","setNodePosition","isCollapsed","isActive","isSelected","hasSelections","isDragging","setActive","menuVisible","setMenuVisible","selectionOpacity","canCollapse","onCollapse","nodePosition","labelPosition","bind","combinedActiveState","Arrow","onActive","meshRef","arrowOpacity","setQuaternion","Line","tubeRef","lineOpacity","fromVertices","toVertices","curve2","TubeBufferGeometry","LABEL_FONT_SIZE","Edge","arrowPlacement","labelPlacement","interpolation","labelOffset","arrowSize","arrowPosition","arrowRotation","arrowPosition2","arrowRotation2","midPoint","labelRotation","Euler","NULL_GEOMETRY","BoxGeometry","useEdgeGeometry","stateRef","geometryCacheRef","getGeometries","hash","edgeGeometry","arrowGeometry","CylinderGeometry","merged","getGeometry","inactive","activeGeometries","inactiveGeometries","useEdgeEvents","setEdgeContextMenus","clickRef","handleClick","contextMenuEventRef","handleContextMenu","handleIntersections","intersected","useEdgePositionAnimation","geometryRef","getAnimationPositions","updateGeometryPosition","newPosition","animationPositions","useEdgeOpacityAnimation","activeOpacity","inactiveOpacity","removeContextMenu","edge2","Edges","setEdgeMeshes","draggingActive","draggingInactive","active2","inactive2","draggingActive2","draggingInactive2","staticEdgesGeometry","edgeMeshes2","staticEdgesRef","dynamicEdgesRef","intersect","intersections","intersection","draggingIdRef","intersectingRef","previousDraggingId","previousIntersecting","intersecting","GraphScene","onNodeClick","onNodeContextMenu","onEdgeContextMenu","onEdgeClick","onEdgePointerOver","onEdgePointerOut","onNodePointerOver","onNodePointerOut","edgeLabelPosition","edgeArrowPosition","edgeInterpolation","edgeIds","lightTheme","getAdjacents","graphLinks","linkId","toId","prepareRay","Lasso","onLasso","onLassoEnd","setEvents","mountedRef","selectionBoxRef","edgeMeshSelectionBoxRef","elementRef","vectorsRef","isDownRef","oldRaycasterEnabledRef","oldControlsEnabledRef","pointTopLeft","pointBottomRight","allSelected","edgesSelected","selected","edgeScene","Scene","foreach","forEach","Queue","scope","l2","l1","bidirectional","getPredecessors","getSuccessors","predecessor","successor","forwardFringe","reverseFringe","currentFringe","outer","singleSource","paths","currentLevel","asbtractSingleSourceLength","seen","lengths","singleSourceLength","undirectedSingleSourceLength","brandes","sigma","Dv","sigmav","unweighted","DEFAULT_COMPARATOR","DEFAULT_REVERSE_COMPARATOR","reverseComparator","comparator","createTupleComparator","comparators","isArrayLike","guessLength","toArrayWithIndices","IndexArray","siftDown","heap","parentIndex","siftUp","childIndex","rightIndex","push","pop","lastItem","popped","pushpop","heapify","consume","nsmallest","reverseCompare","nlargest","Heap","proxy","MaxHeap","DEFAULT_WEIGHT_ATTRIBUTE","DIJKSTRA_HEAP_COMPARATOR","BRANDES_DIJKSTRA_HEAP_COMPARATOR","abstractBidirectionalDijkstra","fringe","finalPath","finalDistance","dir","cost","abstractDijkstraMultisource","sources","cutoff","singleSourceDijkstra","bidirectionalDijkstra","pred","dijkstra","GL_DEFAULTS","CAMERA_DEFAULTS","GraphCanvas","cameraMode","onCanvasClick","lassoType","rendererRef","controlsRef","finalAnimated","css","Suspense","hasOwn","classNames","argType","inner","RadialSlice","centralAngle","startAngle","endAngle","polar","innerRadius","skew","calculateRadius","startOffsetAngle","deltaAngle","RadialMenu","onClose"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,61,63,64,65,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,85,86,87,88,90,91,92,93,94,95,99,100,101,103,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,149,150,151,152,153,154,155,160,161,162,163,164,165,166,170,171,172,173,174,175,176,177,178,179,180,181,182,184,185,186,187,188,191,193,194,195,198,216,217,218,219,220,221,222,223,224,226]} \ No newline at end of file diff --git a/assets/RadialMenu.story-d0fc7fe7.js b/assets/RadialMenu.story-d0fc7fe7.js new file mode 100644 index 00000000..59f2299d --- /dev/null +++ b/assets/RadialMenu.story-d0fc7fe7.js @@ -0,0 +1,34 @@ +import{j as a}from"./jsx-runtime-5926aa06.js";import{G as s,R as p}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{s as c,a as u}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const A={title:"Demos/Context Menu/Radial",component:s},o=()=>a.jsx(s,{nodes:c,edges:u,contextMenu:({data:C,onClose:e})=>a.jsx(p,{onClose:e,items:[{label:"Add Node",onClick:()=>{alert("Add a node"),e()}},{label:"Remove Node",onClick:()=>{alert("Remove the node"),e()}}]})}),n=()=>a.jsx(s,{nodes:c,edges:u,contextMenu:({data:C,onClose:e})=>a.jsx(p,{onClose:e,items:[{label:"Add Node",disabled:!0,onClick:()=>{alert("Add a node"),e()}},{label:"Remove Node",disabled:!0,onClick:()=>{alert("Remove the node"),e()}}]})});var d,t,l;o.parameters={...o.parameters,docs:{...(d=o.parameters)==null?void 0:d.docs,source:{originalSource:`() => { + alert('Add a node'); + onClose(); + } +}, { + label: 'Remove Node', + onClick: () => { + alert('Remove the node'); + onClose(); + } +}]} />} />`,...(l=(t=o.parameters)==null?void 0:t.docs)==null?void 0:l.source}}};var r,i,m;n.parameters={...n.parameters,docs:{...(r=n.parameters)==null?void 0:r.docs,source:{originalSource:`() => { + alert('Add a node'); + onClose(); + } +}, { + label: 'Remove Node', + disabled: true, + onClick: () => { + alert('Remove the node'); + onClose(); + } +}]} />} />`,...(m=(i=n.parameters)==null?void 0:i.docs)==null?void 0:m.source}}};export{n as Disabled,o as Simple,A as default}; +//# sourceMappingURL=RadialMenu.story-d0fc7fe7.js.map diff --git a/assets/RadialMenu.story-d0fc7fe7.js.map b/assets/RadialMenu.story-d0fc7fe7.js.map new file mode 100644 index 00000000..83ef1181 --- /dev/null +++ b/assets/RadialMenu.story-d0fc7fe7.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RadialMenu.story-d0fc7fe7.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/Selection-0aa0ed63.js b/assets/Selection-0aa0ed63.js new file mode 100644 index 00000000..f302662b --- /dev/null +++ b/assets/Selection-0aa0ed63.js @@ -0,0 +1,166 @@ +import{j as e}from"./jsx-runtime-5926aa06.js";import{M as l}from"./index-96a2bc4b.js";import{u as i}from"./index-bda0bad7.js";import"./index-ebeaab24.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";function v(s={}){const{wrapper:o}=Object.assign({},i(),s.components);return o?e.jsx(o,Object.assign({},s,{children:e.jsx(t,{})})):t();function t(){const n=Object.assign({h1:"h1",p:"p",code:"code",h2:"h2",h3:"h3",pre:"pre",ul:"ul",li:"li"},i(),s.components);return e.jsxs(e.Fragment,{children:[e.jsx(l,{title:"Docs/Advanced/Selection"}),` +`,e.jsx(n.h1,{id:"selection",children:"Selection"}),` +`,e.jsxs(n.p,{children:["Out of the box, reagraph supports selection handled either manually or via the ",e.jsx(n.code,{children:"useSelection"})," hook."]}),` +`,e.jsx(n.h2,{id:"useselection",children:e.jsx(n.code,{children:"useSelection"})}),` +`,e.jsxs(n.p,{children:["The ",e.jsx(n.code,{children:"useSelection"})," hook will automatically manage selection state and bind some hotkeys for you."]}),` +`,e.jsx(n.h3,{id:"interfaces",children:"Interfaces"}),` +`,e.jsx(n.p,{children:"The hook accepts the following:"}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-ts",children:`export type HotkeyTypes = 'selectAll' | 'deselect' | 'delete'; +export type PathSelectionTypes = 'direct' | 'out' | 'in' | 'all'; +export type SelectionTypes = 'single' | 'multi' | 'multiModifier'; + +export interface SelectionProps { + /** + * Required ref for the graph. + */ + ref: RefObject; + + /** + * Current selections. + * + * Contains both nodes and edges ids. + */ + selections?: string[]; + + /** + * Default active selections. + */ + actives?: string[]; + + /** + * Node datas. + */ + nodes?: GraphNode[]; + + /** + * Edge datas. + */ + edges?: GraphEdge[]; + + /** + * Disabled or not. + */ + disabled?: boolean; + + /** + * Hotkey types + */ + hotkeys?: HotkeyTypes[]; + + /** + * Whether to focus on select or not. + */ + focusOnSelect?: boolean | 'singleOnly'; + + /** + * Type of selection. + */ + type?: SelectionTypes; + + /** + * Type of selection. + */ + pathSelectionType?: PathSelectionTypes; + + /** + * On selection change. + */ + onSelection?: (selectionIds: string[]) => void; +} +`})}),` +`,e.jsx(n.p,{children:"and returns the following:"}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-ts",children:`export interface SelectionResult { + /** + * Selections id array (of nodes and edges). + */ + selections: string[]; + + /** + * The nodes/edges around the selections to highlight. + */ + actives: string[]; + + /** + * Clear selections method. + */ + clearSelections: (value?: string[]) => void; + + /** + * A selection method. + */ + addSelection: (value: string) => void; + + /** + * Get the paths between two nodes. + */ + selectNodePaths: (source: string, target: string) => void; + + /** + * Remove selection method. + */ + removeSelection: (value: string) => void; + + /** + * Toggle existing selection on/off method. + */ + toggleSelection: (value: string) => void; + + /** + * Set internal selections. + */ + setSelections: (value: string[]) => void; + + /** + * On click event pass through. + */ + onNodeClick?: (data: GraphNode) => void; + + /** + * On canvas click event pass through. + */ + onCanvasClick?: (event: MouseEvent) => void; +} +`})}),` +`,e.jsx(n.h3,{id:"hotkeys",children:"Hotkeys"}),` +`,e.jsx(n.p,{children:"The hotkeys that are bound via this hook are:"}),` +`,e.jsxs(n.ul,{children:[` +`,e.jsxs(n.li,{children:[e.jsx(n.code,{children:"ctrl/meta + a"}),": Select all nodes"]}),` +`,e.jsxs(n.li,{children:[e.jsx(n.code,{children:"escape"}),": Defoucs selections"]}),` +`,e.jsxs(n.li,{children:[e.jsx(n.code,{children:"ctrl/meta + click"}),": Toggle node selection"]}),` +`]}),` +`,e.jsx(n.h3,{id:"example",children:"Example"}),` +`,e.jsx(n.p,{children:"A typical example might look like:"}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-tsx",children:`import { GraphCanvas, GraphCanvasRef, useSelection } from 'reagraph'; + +export const App = () => { + const graphRef = useRef(null); + const { selections, onNodeClick, onCanvasClick } = useSelection({ + ref: graphRef, + nodes: myNodes, + edges: myEdges + }); + + return ( + + ); +}; +`})}),` +`,e.jsx(n.h2,{id:"manual-selection",children:"Manual Selection"}),` +`,e.jsxs(n.p,{children:["If you don't wish to use the ",e.jsx(n.code,{children:"useSelection"}),` hook you can handle the selections yourself manually via +passing down a `,e.jsx(n.code,{children:"string[]"})," of ids to the ",e.jsx(n.code,{children:"selections"})," prop."]}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-tsx",children:`export const App = () => ( + +); +`})})]})}}export{v as default}; +//# sourceMappingURL=Selection-0aa0ed63.js.map diff --git a/assets/Selection-0aa0ed63.js.map b/assets/Selection-0aa0ed63.js.map new file mode 100644 index 00000000..af7b5cb7 --- /dev/null +++ b/assets/Selection-0aa0ed63.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Selection-0aa0ed63.js","sources":["../../docs/Selection.mdx"],"sourcesContent":["import { Meta, Story } from '@storybook/blocks';\n\n\n\n# Selection\nOut of the box, reagraph supports selection handled either manually or via the `useSelection` hook.\n\n## `useSelection`\nThe `useSelection` hook will automatically manage selection state and bind some hotkeys for you.\n\n### Interfaces\nThe hook accepts the following:\n\n```ts\nexport type HotkeyTypes = 'selectAll' | 'deselect' | 'delete';\nexport type PathSelectionTypes = 'direct' | 'out' | 'in' | 'all';\nexport type SelectionTypes = 'single' | 'multi' | 'multiModifier';\n\nexport interface SelectionProps {\n /**\n * Required ref for the graph.\n */\n ref: RefObject;\n\n /**\n * Current selections.\n *\n * Contains both nodes and edges ids.\n */\n selections?: string[];\n\n /**\n * Default active selections.\n */\n actives?: string[];\n\n /**\n * Node datas.\n */\n nodes?: GraphNode[];\n\n /**\n * Edge datas.\n */\n edges?: GraphEdge[];\n\n /**\n * Disabled or not.\n */\n disabled?: boolean;\n\n /**\n * Hotkey types\n */\n hotkeys?: HotkeyTypes[];\n\n /**\n * Whether to focus on select or not.\n */\n focusOnSelect?: boolean | 'singleOnly';\n\n /**\n * Type of selection.\n */\n type?: SelectionTypes;\n\n /**\n * Type of selection.\n */\n pathSelectionType?: PathSelectionTypes;\n\n /**\n * On selection change.\n */\n onSelection?: (selectionIds: string[]) => void;\n}\n```\n\nand returns the following:\n\n```ts\nexport interface SelectionResult {\n /**\n * Selections id array (of nodes and edges).\n */\n selections: string[];\n\n /**\n * The nodes/edges around the selections to highlight.\n */\n actives: string[];\n\n /**\n * Clear selections method.\n */\n clearSelections: (value?: string[]) => void;\n\n /**\n * A selection method.\n */\n addSelection: (value: string) => void;\n\n /**\n * Get the paths between two nodes.\n */\n selectNodePaths: (source: string, target: string) => void;\n\n /**\n * Remove selection method.\n */\n removeSelection: (value: string) => void;\n\n /**\n * Toggle existing selection on/off method.\n */\n toggleSelection: (value: string) => void;\n\n /**\n * Set internal selections.\n */\n setSelections: (value: string[]) => void;\n\n /**\n * On click event pass through.\n */\n onNodeClick?: (data: GraphNode) => void;\n\n /**\n * On canvas click event pass through.\n */\n onCanvasClick?: (event: MouseEvent) => void;\n}\n```\n\n### Hotkeys\nThe hotkeys that are bound via this hook are:\n\n- `ctrl/meta + a`: Select all nodes\n- `escape`: Defoucs selections\n- `ctrl/meta + click`: Toggle node selection\n\n### Example\nA typical example might look like:\n\n```tsx\nimport { GraphCanvas, GraphCanvasRef, useSelection } from 'reagraph';\n\nexport const App = () => {\n const graphRef = useRef(null);\n const { selections, onNodeClick, onCanvasClick } = useSelection({\n ref: graphRef,\n nodes: myNodes,\n edges: myEdges\n });\n\n return (\n \n );\n};\n```\n\n## Manual Selection\nIf you don't wish to use the `useSelection` hook you can handle the selections yourself manually via\npassing down a `string[]` of ids to the `selections` prop.\n\n```tsx\nexport const App = () => (\n \n);\n```\n"],"names":["MDXContent","props","MDXLayout","_provideComponents","_jsx","_createMdxContent","_components","_jsxs","_Fragment","Meta"],"mappings":"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"} \ No newline at end of file diff --git a/assets/SingleSelection.story-c8affa03.js b/assets/SingleSelection.story-c8affa03.js new file mode 100644 index 00000000..3b02942a --- /dev/null +++ b/assets/SingleSelection.story-c8affa03.js @@ -0,0 +1,42 @@ +import{j as d}from"./jsx-runtime-5926aa06.js";import{r as p}from"./index-ebeaab24.js";import{G as i}from"./RadialMenu-93524eec.js";import{u as g}from"./useSelection-7210d826.js";import{c as r,d as t,s as m,a as C}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const z={title:"Demos/Selection/Single",component:i},a=()=>{const e=p.useRef(null),{selections:s,onNodeClick:n,onCanvasClick:o}=g({ref:e,nodes:r,edges:t,selections:[r[0].id],type:"single"});return d.jsx(i,{ref:e,nodes:r,edges:t,selections:s,onNodeClick:n,onCanvasClick:o})},l=()=>{const e=p.useRef(null),{selections:s,onNodeClick:n,onCanvasClick:o}=g({ref:e,nodes:m,edges:C,type:"single"});return d.jsx(i,{ref:e,nodes:m,edges:C,selections:s,onCanvasClick:o,onNodeClick:n})},c=()=>{const e=p.useRef(null),{selections:s,onNodeClick:n,onCanvasClick:o}=g({ref:e,nodes:r,edges:t,type:"single"});return d.jsx(i,{ref:e,draggable:!0,nodes:r,edges:t,selections:s,onCanvasClick:o,onNodeClick:n})};var f,u,k;a.parameters={...a.parameters,docs:{...(f=a.parameters)==null?void 0:f.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + onNodeClick, + onCanvasClick + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + selections: [complexNodes[0].id], + type: 'single' + }); + return ; +}`,...(k=(u=a.parameters)==null?void 0:u.docs)==null?void 0:k.source}}};var R,N,h;l.parameters={...l.parameters,docs:{...(R=l.parameters)==null?void 0:R.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + onNodeClick, + onCanvasClick + } = useSelection({ + ref: graphRef, + nodes: simpleNodes, + edges: simpleEdges, + type: 'single' + }); + return ; +}`,...(h=(N=l.parameters)==null?void 0:N.docs)==null?void 0:h.source}}};var v,x,S;c.parameters={...c.parameters,docs:{...(v=c.parameters)==null?void 0:v.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const { + selections, + onNodeClick, + onCanvasClick + } = useSelection({ + ref: graphRef, + nodes: complexNodes, + edges: complexEdges, + type: 'single' + }); + return ; +}`,...(S=(x=c.parameters)==null?void 0:x.docs)==null?void 0:S.source}}};export{a as Defaults,c as Dragging,l as Simple,z as default}; +//# sourceMappingURL=SingleSelection.story-c8affa03.js.map diff --git a/assets/SingleSelection.story-c8affa03.js.map b/assets/SingleSelection.story-c8affa03.js.map new file mode 100644 index 00000000..9758a718 --- /dev/null +++ b/assets/SingleSelection.story-c8affa03.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SingleSelection.story-c8affa03.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/Sizing.story-b46d69ef.js b/assets/Sizing.story-b46d69ef.js new file mode 100644 index 00000000..b2f087cd --- /dev/null +++ b/assets/Sizing.story-b46d69ef.js @@ -0,0 +1,2 @@ +import{j as r}from"./jsx-runtime-5926aa06.js";import{G as e}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{s as a,a as o}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const P={title:"Demos/Sizing",component:e},i=()=>r.jsx(e,{sizingType:"none",nodes:a,edges:o}),p=()=>r.jsx(e,{sizingType:"centrality",nodes:a,edges:o}),h=G=>r.jsx(e,{...G,sizingType:"centrality",nodes:a,edges:o}),s=h.bind({});s.args={minNodeSize:10,maxNodeSize:25};const t=()=>r.jsx(e,{sizingType:"pagerank",nodes:a,edges:o}),n=()=>r.jsx(e,{sizingType:"pagerank",sizingAttribute:"priority",nodes:a,edges:o});var d,m,c;i.parameters={...i.parameters,docs:{...(d=i.parameters)==null?void 0:d.docs,source:{originalSource:'() => ',...(c=(m=i.parameters)==null?void 0:m.docs)==null?void 0:c.source}}};var g,l,u;p.parameters={...p.parameters,docs:{...(g=p.parameters)==null?void 0:g.docs,source:{originalSource:'() => ',...(u=(l=p.parameters)==null?void 0:l.docs)==null?void 0:u.source}}};var y,z,S;s.parameters={...s.parameters,docs:{...(y=s.parameters)==null?void 0:y.docs,source:{originalSource:'props => ',...(S=(z=s.parameters)==null?void 0:z.docs)==null?void 0:S.source}}};var x,T,N;t.parameters={...t.parameters,docs:{...(x=t.parameters)==null?void 0:x.docs,source:{originalSource:'() => ',...(N=(T=t.parameters)==null?void 0:T.docs)==null?void 0:N.source}}};var j,C,E;n.parameters={...n.parameters,docs:{...(j=n.parameters)==null?void 0:j.docs,source:{originalSource:'() => ',...(E=(C=n.parameters)==null?void 0:C.docs)==null?void 0:E.source}}};export{n as Attribute,p as Centrality,s as MinMaxSizes,i as None,t as PageRank,P as default}; +//# sourceMappingURL=Sizing.story-b46d69ef.js.map diff --git a/assets/Sizing.story-b46d69ef.js.map b/assets/Sizing.story-b46d69ef.js.map new file mode 100644 index 00000000..b1d83b56 --- /dev/null +++ b/assets/Sizing.story-b46d69ef.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Sizing.story-b46d69ef.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/Theme-fd9608b1.js b/assets/Theme-fd9608b1.js new file mode 100644 index 00000000..c1f6894f --- /dev/null +++ b/assets/Theme-fd9608b1.js @@ -0,0 +1,119 @@ +import{j as e}from"./jsx-runtime-5926aa06.js";import{M as l}from"./index-96a2bc4b.js";import{u as i}from"./index-bda0bad7.js";import"./index-ebeaab24.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";function T(o={}){const{wrapper:t}=Object.assign({},i(),o.components);return t?e.jsx(t,Object.assign({},o,{children:e.jsx(r,{})})):r();function r(){const n=Object.assign({h1:"h1",p:"p",code:"code",pre:"pre"},i(),o.components);return e.jsxs(e.Fragment,{children:[e.jsx(l,{title:"Docs/Getting Started/Theme"}),` +`,e.jsx(n.h1,{id:"theme",children:"Theme"}),` +`,e.jsxs(n.p,{children:[`By default, the graph supports 2 themes: light and dark mode. You can +also define your own theme using the `,e.jsx(n.code,{children:"theme"})," interface."]}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-ts",children:`export type ThemeColor = number | string; + +export interface Theme { + canvas: { + background: ThemeColor; + fog: ThemeColor; + }; + node: { + fill: ThemeColor; + activeFill: ThemeColor; + opacity: number; + selectedOpacity: number; + inactiveOpacity: number; + label: { + color: ThemeColor; + stroke: ThemeColor; + activeColor: ThemeColor; + } + }; + ring: { + fill: ThemeColor; + activeFill: ThemeColor; + }; + edge: { + fill: ThemeColor; + activeFill: ThemeColor; + opacity: number; + selectedOpacity: number; + inactiveOpacity: number; + label: { + color: ThemeColor; + stroke: ThemeColor; + activeColor: ThemeColor; + } + }; + arrow: { + fill: ThemeColor; + activeFill: ThemeColor; + }; + lasso: { + background: string; + border: string; + }; +} +`})}),` +`,e.jsxs(n.p,{children:["which you can pass to the ",e.jsx(n.code,{children:"GraphCanvas"})," component like:"]}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-tsx",children:` +`})}),` +`,e.jsx(n.p,{children:"you can extend the existing themes by importing them and then overriding them like:"}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-tsx",children:`import { GraphCanvas, lightTheme } from 'reagraph'; + +const myTheme = { + ...lightTheme, + node: { + ...lightTheme.node, + color: '#000' + } +}; + +const App = () => ( + +); +`})}),` +`,e.jsx(n.p,{children:"An example theme ( the light theme in this case ) ends up looking like this:"}),` +`,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-ts",children:`import { Theme } from 'reagraph'; + +export const lightTheme: Theme = { + canvas: { + background: '#fff', + fog: '#fff' + }, + node: { + fill: '#7CA0AB', + activeFill: '#1DE9AC', + opacity: 1, + selectedOpacity: 1, + inactiveOpacity: 0.2, + label: { + color: '#2A6475', + stroke: '#fff', + activeColor: '#1DE9AC' + } + }, + lasso: { + border: '1px solid #55aaff', + background: 'rgba(75, 160, 255, 0.1)' + }, + ring: { + fill: '#D8E6EA', + activeFill: '#1DE9AC' + }, + edge: { + fill: '#D8E6EA', + activeFill: '#1DE9AC', + opacity: 1, + selectedOpacity: 1, + inactiveOpacity: 0.1, + label: { + stroke: '#fff', + color: '#2A6475', + activeColor: '#1DE9AC' + } + }, + arrow: { + fill: '#D8E6EA', + activeFill: '#1DE9AC' + } +}; +`})}),` +`,e.jsx(n.p,{children:"Note that opacity fields are numbers between 0 and 1."})]})}}export{T as default}; +//# sourceMappingURL=Theme-fd9608b1.js.map diff --git a/assets/Theme-fd9608b1.js.map b/assets/Theme-fd9608b1.js.map new file mode 100644 index 00000000..ca627d21 --- /dev/null +++ b/assets/Theme-fd9608b1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Theme-fd9608b1.js","sources":["../../docs/Theme.mdx"],"sourcesContent":["import { Meta } from '@storybook/blocks';\n\n\n\n# Theme\n\nBy default, the graph supports 2 themes: light and dark mode. You can\nalso define your own theme using the `theme` interface.\n\n```ts\nexport type ThemeColor = number | string;\n\nexport interface Theme {\n canvas: {\n background: ThemeColor;\n fog: ThemeColor;\n };\n node: {\n fill: ThemeColor;\n activeFill: ThemeColor;\n opacity: number;\n selectedOpacity: number;\n inactiveOpacity: number;\n label: {\n color: ThemeColor;\n stroke: ThemeColor;\n activeColor: ThemeColor;\n }\n };\n ring: {\n fill: ThemeColor;\n activeFill: ThemeColor;\n };\n edge: {\n fill: ThemeColor;\n activeFill: ThemeColor;\n opacity: number;\n selectedOpacity: number;\n inactiveOpacity: number;\n label: {\n color: ThemeColor;\n stroke: ThemeColor;\n activeColor: ThemeColor;\n }\n };\n arrow: {\n fill: ThemeColor;\n activeFill: ThemeColor;\n };\n lasso: {\n background: string;\n border: string;\n };\n}\n```\n\nwhich you can pass to the `GraphCanvas` component like:\n\n```tsx\n\n```\n\nyou can extend the existing themes by importing them and then overriding them like:\n\n```tsx\nimport { GraphCanvas, lightTheme } from 'reagraph';\n\nconst myTheme = {\n ...lightTheme,\n node: {\n ...lightTheme.node,\n color: '#000'\n }\n};\n\nconst App = () => (\n \n);\n```\n\nAn example theme ( the light theme in this case ) ends up looking like this:\n\n```ts\nimport { Theme } from 'reagraph';\n\nexport const lightTheme: Theme = {\n canvas: {\n background: '#fff',\n fog: '#fff'\n },\n node: {\n fill: '#7CA0AB',\n activeFill: '#1DE9AC',\n opacity: 1,\n selectedOpacity: 1,\n inactiveOpacity: 0.2,\n label: {\n color: '#2A6475',\n stroke: '#fff',\n activeColor: '#1DE9AC'\n }\n },\n lasso: {\n border: '1px solid #55aaff',\n background: 'rgba(75, 160, 255, 0.1)'\n },\n ring: {\n fill: '#D8E6EA',\n activeFill: '#1DE9AC'\n },\n edge: {\n fill: '#D8E6EA',\n activeFill: '#1DE9AC',\n opacity: 1,\n selectedOpacity: 1,\n inactiveOpacity: 0.1,\n label: {\n stroke: '#fff',\n color: '#2A6475',\n activeColor: '#1DE9AC'\n }\n },\n arrow: {\n fill: '#D8E6EA',\n activeFill: '#1DE9AC'\n }\n};\n```\n\nNote that opacity fields are numbers between 0 and 1.\n"],"names":["MDXContent","props","MDXLayout","_provideComponents","_jsx","_createMdxContent","_components","_jsxs","_Fragment","Meta"],"mappings":"2YAIA,SAASA,EAAWC,EAAQ,GAAI,CAC9B,KAAM,CAAC,QAASC,CAAS,EAAI,OAAO,OAAO,CAAE,EAAEC,EAAoB,EAAEF,EAAM,UAAU,EACrF,OAAOC,EAAYE,EAAAA,IAAKF,EAAW,OAAO,OAAO,CAAE,EAAED,EAAO,CAC1D,SAAUG,EAAAA,IAAKC,EAAmB,EAAE,CACxC,CAAG,CAAC,EAAIA,IACN,SAASA,GAAoB,CAC3B,MAAMC,EAAc,OAAO,OAAO,CAChC,GAAI,KACJ,EAAG,IACH,KAAM,OACN,IAAK,KACN,EAAEH,EAAoB,EAAEF,EAAM,UAAU,EACzC,OAAOM,EAAAA,KAAMC,EAAAA,SAAW,CACtB,SAAU,CAACJ,EAAI,IAACK,EAAM,CACpB,MAAO,4BACR,CAAA,EAAG;AAAA,EAAML,MAAKE,EAAY,GAAI,CAC7B,GAAI,QACJ,SAAU,OACX,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC;AAAA,uCAAgHF,MAAKE,EAAY,KAAM,CAChJ,SAAU,OACX,CAAA,EAAG,aAAa,CAClB,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,cACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACF,CAAA,EAAG;AAAA,EAAMC,OAAMD,EAAY,EAAG,CAC7B,SAAU,CAAC,6BAA8BF,MAAKE,EAAY,KAAM,CAC9D,SAAU,aACX,CAAA,EAAG,kBAAkB,CACvB,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,eACX,SAAU;AAAA;AAAA;AAAA,CACpB,CAAS,CACF,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,EAAG,CAC5B,SAAU,qFACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,eACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACF,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,EAAG,CAC5B,SAAU,8EACX,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,IAAK,CAC9B,SAAUF,EAAAA,IAAKE,EAAY,KAAM,CAC/B,UAAW,cACX,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CACpB,CAAS,CACF,CAAA,EAAG;AAAA,EAAMF,MAAKE,EAAY,EAAG,CAC5B,SAAU,uDAClB,CAAO,CAAC,CACR,CAAK,CACF,CACH"} \ No newline at end of file diff --git a/assets/Themes.story-2072d163.js b/assets/Themes.story-2072d163.js new file mode 100644 index 00000000..c9f09a24 --- /dev/null +++ b/assets/Themes.story-2072d163.js @@ -0,0 +1,8 @@ +import{j as i}from"./jsx-runtime-5926aa06.js";import{G as a}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{d as C}from"./darkTheme-dccd44a3.js";import{s as n,a as c}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const T={title:"Demos/Themes",component:a},o=()=>i.jsx(a,{theme:C,nodes:n,edges:c,labelType:"all"}),g=p=>i.jsx(a,{...p,nodes:n,edges:c,contextMenuItems:[{label:"Add Node",onClick:()=>alert("Add a node")},{label:"Remove Node",onClick:()=>alert("Remove the node")}]}),e=g.bind({});e.args={theme:{canvas:{background:"#1E2026",fog:"#1E2026"},node:{fill:"blue",activeFill:"#1DE9AC",label:{stroke:"#1E2026",color:"#ACBAC7",activeColor:"#1DE9AC"}},menu:{background:"#54616D",border:"#7A8C9E",color:"#fff",activeBackground:"#1DE9AC",activeColor:"#000"},ring:{fill:"#54616D",activeFill:"#1DE9AC"},lasso:{border:"1px solid #55aaff",background:"rgba(75, 160, 255, 0.1)"},edge:{fill:"#54616D",activeFill:"#1DE9AC",label:{stroke:"#1E2026",color:"#ACBAC7",activeColor:"#1DE9AC"}},arrow:{fill:"#54616D",activeFill:"#1DE9AC"}}};var r,s,l;o.parameters={...o.parameters,docs:{...(r=o.parameters)==null?void 0:r.docs,source:{originalSource:'() => ',...(l=(s=o.parameters)==null?void 0:s.docs)==null?void 0:l.source}}};var t,d,m;e.parameters={...e.parameters,docs:{...(t=e.parameters)==null?void 0:t.docs,source:{originalSource:`args => alert('Add a node') +}, { + label: 'Remove Node', + onClick: () => alert('Remove the node') +}]} />`,...(m=(d=e.parameters)==null?void 0:d.docs)==null?void 0:m.source}}};export{e as CustomTheme,o as DarkTheme,T as default}; +//# sourceMappingURL=Themes.story-2072d163.js.map diff --git a/assets/Themes.story-2072d163.js.map b/assets/Themes.story-2072d163.js.map new file mode 100644 index 00000000..f83bbdd7 --- /dev/null +++ b/assets/Themes.story-2072d163.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Themes.story-2072d163.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"} \ No newline at end of file diff --git a/assets/ThreeLayouts.story-a39b314e.js b/assets/ThreeLayouts.story-a39b314e.js new file mode 100644 index 00000000..59f8a97f --- /dev/null +++ b/assets/ThreeLayouts.story-a39b314e.js @@ -0,0 +1,2 @@ +import{j as t}from"./jsx-runtime-5926aa06.js";import{G as e}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{c as E,d as j,s as d,a as p}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const R={title:"Demos/Layouts/3D",component:e},s=()=>t.jsx(e,{layoutType:"forceDirected3d",nodes:E,edges:j}),r=()=>t.jsx(e,{layoutType:"radialOut3d",nodes:d,edges:p}),o=()=>t.jsx(e,{layoutType:"treeLr3d",nodes:d,edges:p}),a=()=>t.jsx(e,{layoutType:"treeTd3d",nodes:d,edges:p});var m,c,i;s.parameters={...s.parameters,docs:{...(m=s.parameters)==null?void 0:m.docs,source:{originalSource:'() => ',...(i=(c=s.parameters)==null?void 0:c.docs)==null?void 0:i.source}}};var l,u,n;r.parameters={...r.parameters,docs:{...(l=r.parameters)==null?void 0:l.docs,source:{originalSource:'() => ',...(n=(u=r.parameters)==null?void 0:u.docs)==null?void 0:n.source}}};var g,y,T;o.parameters={...o.parameters,docs:{...(g=o.parameters)==null?void 0:g.docs,source:{originalSource:'() => ',...(T=(y=o.parameters)==null?void 0:y.docs)==null?void 0:T.source}}};var x,f,h;a.parameters={...a.parameters,docs:{...(x=a.parameters)==null?void 0:x.docs,source:{originalSource:'() => ',...(h=(f=a.parameters)==null?void 0:f.docs)==null?void 0:h.source}}};export{s as ForceDirected,r as RadialOut,o as TreeLeftRight,a as TreeTopDown,R as default}; +//# sourceMappingURL=ThreeLayouts.story-a39b314e.js.map diff --git a/assets/ThreeLayouts.story-a39b314e.js.map b/assets/ThreeLayouts.story-a39b314e.js.map new file mode 100644 index 00000000..1d6ca209 --- /dev/null +++ b/assets/ThreeLayouts.story-a39b314e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ThreeLayouts.story-a39b314e.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/TwoLayouts.story-ffc575e1.js b/assets/TwoLayouts.story-ffc575e1.js new file mode 100644 index 00000000..3a97e060 --- /dev/null +++ b/assets/TwoLayouts.story-ffc575e1.js @@ -0,0 +1,2 @@ +import{j as s}from"./jsx-runtime-5926aa06.js";import{G as e}from"./RadialMenu-93524eec.js";import"./index-ebeaab24.js";import{c as n,d as g,s as r,t as u,a as J}from"./demo-848d9cd1.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const Y={title:"Demos/Layouts/2D",component:e},a=()=>s.jsx(e,{layoutType:"forceDirected2d",nodes:n,edges:g}),o=()=>s.jsx(e,{layoutType:"hierarchicalTd",nodes:r,edges:u}),d=()=>s.jsx(e,{layoutType:"hierarchicalLr",nodes:r,edges:u}),t=()=>s.jsx(e,{layoutType:"circular2d",nodes:n,edges:g}),c=()=>s.jsx(e,{layoutType:"nooverlap",nodes:r,edges:J}),p=()=>s.jsx(e,{layoutType:"forceatlas2",nodes:n,edges:g}),m=()=>s.jsx(e,{layoutType:"radialOut2d",nodes:r,edges:J}),l=()=>s.jsx(e,{layoutType:"treeLr2d",nodes:r,edges:u}),i=()=>s.jsx(e,{layoutType:"treeTd2d",nodes:r,edges:u});var y,T,h;a.parameters={...a.parameters,docs:{...(y=a.parameters)==null?void 0:y.docs,source:{originalSource:'() => ',...(h=(T=a.parameters)==null?void 0:T.docs)==null?void 0:h.source}}};var x,v,E;o.parameters={...o.parameters,docs:{...(x=o.parameters)==null?void 0:x.docs,source:{originalSource:'() => ',...(E=(v=o.parameters)==null?void 0:v.docs)==null?void 0:E.source}}};var N,j,C;d.parameters={...d.parameters,docs:{...(N=d.parameters)==null?void 0:N.docs,source:{originalSource:'() => ',...(C=(j=d.parameters)==null?void 0:j.docs)==null?void 0:C.source}}};var G,f,S;t.parameters={...t.parameters,docs:{...(G=t.parameters)==null?void 0:G.docs,source:{originalSource:'() => ',...(S=(f=t.parameters)==null?void 0:f.docs)==null?void 0:S.source}}};var L,D,O;c.parameters={...c.parameters,docs:{...(L=c.parameters)==null?void 0:L.docs,source:{originalSource:'() => ',...(O=(D=c.parameters)==null?void 0:D.docs)==null?void 0:O.source}}};var R,w,F;p.parameters={...p.parameters,docs:{...(R=p.parameters)==null?void 0:R.docs,source:{originalSource:'() => ',...(F=(w=p.parameters)==null?void 0:w.docs)==null?void 0:F.source}}};var H,A,_;m.parameters={...m.parameters,docs:{...(H=m.parameters)==null?void 0:H.docs,source:{originalSource:'() => ',...(_=(A=m.parameters)==null?void 0:A.docs)==null?void 0:_.source}}};var b,k,q;l.parameters={...l.parameters,docs:{...(b=l.parameters)==null?void 0:b.docs,source:{originalSource:'() => ',...(q=(k=l.parameters)==null?void 0:k.docs)==null?void 0:q.source}}};var z,B,I;i.parameters={...i.parameters,docs:{...(z=i.parameters)==null?void 0:z.docs,source:{originalSource:'() => ',...(I=(B=i.parameters)==null?void 0:B.docs)==null?void 0:I.source}}};export{t as Circular,p as ForceAtlas2,a as ForceDirected,d as HierarchicalLeftRight,o as HierarchicalTopDown,c as NoOverlap,m as RadialOut,l as TreeLeftRight,i as TreeTopDown,Y as default}; +//# sourceMappingURL=TwoLayouts.story-ffc575e1.js.map diff --git a/assets/TwoLayouts.story-ffc575e1.js.map b/assets/TwoLayouts.story-ffc575e1.js.map new file mode 100644 index 00000000..dfa1185b --- /dev/null +++ b/assets/TwoLayouts.story-ffc575e1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TwoLayouts.story-ffc575e1.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/UseCases.story-69b2e666.js b/assets/UseCases.story-69b2e666.js new file mode 100644 index 00000000..33ef555a --- /dev/null +++ b/assets/UseCases.story-69b2e666.js @@ -0,0 +1,41 @@ +import{j as W}from"./jsx-runtime-5926aa06.js";import{r as B}from"./index-ebeaab24.js";import{G as h}from"./RadialMenu-93524eec.js";import{u as C}from"./useSelection-7210d826.js";import{d as l}from"./darkTheme-dccd44a3.js";import"./index-6279214a.esm-cc44dd6d.js";import"./extends-98964cd2.js";import"./client-180092d5.js";import"./index-9c09ad76.js";const P=[{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:514074108845937e-20},{ItemIdA:"11_81046",ItemDescriptionA:"Pakistan",ItemTypeA:"Country",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:738005529134633e-20},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:997959412509222e-20},{ItemIdA:"11_80986",ItemDescriptionA:"Iran",ItemTypeA:"Country",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:129053503157054e-19},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:13806666654823e-18},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:172048124978252e-19},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:18403856497987e-18},{ItemIdA:"11_80932",ItemDescriptionA:"Egypt",ItemTypeA:"Country",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:194079429142154e-19},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:256404587789939e-19},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:269125481393139e-19},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:284787341138637e-19},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:287765621651415e-19},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:299766949889449e-19},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:312395891388147e-19},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:346154918813188e-19},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:35815372209392e-18},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:37078493380918e-18},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:378845438766892e-19},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:394293635125799e-19},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:401482795798447e-19},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:406312680207366e-19},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:433806494022276e-19},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:450675992617905e-19},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:470729807618573e-19},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:49380262604961e-18},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:528757791271293e-19},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:549044029872154e-19},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:551519082721957e-19},{ItemIdA:"11_81095",ItemDescriptionA:"Taiwan",ItemTypeA:"Country",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:592001412997996e-19},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:640370979159461e-19},{ItemIdA:"11_80932",ItemDescriptionA:"Egypt",ItemTypeA:"Country",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:651470536310953e-19},{ItemIdA:"11_6286371",ItemDescriptionA:"United Kingdom",ItemTypeA:"Country",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:66079670419911e-18},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:669661421624042e-19},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:695271682137333e-19},{ItemIdA:"11_1415762",ItemDescriptionA:"Mar-a-Lago",ItemTypeA:"Place",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:747052900246152e-19},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:759413372550742e-19},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:761331219113085e-19},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:819693232188758e-19},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:835266652570391e-19},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:846273120106528e-19},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:963713376400191e-19},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:978002891717693e-19},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.000110562830168644},{ItemIdA:"11_80910",ItemDescriptionA:"China",ItemTypeA:"Country",ItemIdB:"11_1787664305",ItemDescriptionB:"@usmansaeedbasra",ItemTypeB:"Username",Weight:.000116170138369965},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:.000126274677468495},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:.000127226380360807},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.000134022916875603},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.000145299001566491},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:.000146413074278664},{ItemIdA:"11_81046",ItemDescriptionA:"Pakistan",ItemTypeA:"Country",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.000148454062969024},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.000153908511012443},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:.000193342930188427},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.00019511786446385},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.00020699103264789},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.000221657082929009},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.000230743218081292},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.000263686529765666},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.000272863686330994},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.000280754566300612},{ItemIdA:"11_80910",ItemDescriptionA:"China",ItemTypeA:"Country",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.000283230559350584},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:.00032418258968193},{ItemIdA:"11_80938",ItemDescriptionA:"Europe",ItemTypeA:"Continent",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.000353637164031825},{ItemIdA:"11_80986",ItemDescriptionA:"Iran",ItemTypeA:"Country",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.000360300532683114},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:.000387278823038077},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.000415906613124372},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.000426295698200627},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.000432412995461015},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.000474546727991291},{ItemIdA:"11_80932",ItemDescriptionA:"Egypt",ItemTypeA:"Country",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.000488642625959641},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:.000489732079405394},{ItemIdA:"11_6286371",ItemDescriptionA:"United Kingdom",ItemTypeA:"Country",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.000507507662048075},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.000515452900490064},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:.000521343349542235},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.000540865469068286},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.000569571542466312},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:.000582089454049961},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:.000595163233201594},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.000618543115786722},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.000663975047730582},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.000665603707933304},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00068209455190547},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.000738593387770615},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00073891452050542},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.000770732666506805},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.000775756928272137},{ItemIdA:"11_142996443",ItemDescriptionA:"twitter.com",ItemTypeA:"Domain",ItemIdB:"11_1787664305",ItemDescriptionB:"@usmansaeedbasra",ItemTypeB:"Username",Weight:.000778019881776143},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.000807480221522832},{ItemIdA:"11_81064",ItemDescriptionA:"Russia",ItemTypeA:"Country",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.000895804765663356},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.000948930115107964},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.000962633894914583},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.000980169113104303},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00100891844167268},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00102782204700556},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00106508569402443},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00108815651224588},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.00111634273103327},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00114391574625945},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.0011531660718512},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00118887016111128},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00119000971825833},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.00121456119558217},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00124561759944464},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00125980062907251},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00129348363565416},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.0013468654925012},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00135420900238214},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.00137059821788451},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00137083857488187},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.0013739849415023},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_337171",ItemDescriptionB:"Market",ItemTypeB:"Keyphrase",Weight:.00137458767995821},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_337171",ItemDescriptionB:"Market",ItemTypeB:"Keyphrase",Weight:.00139959220117634},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.00150334158686505},{ItemIdA:"11_81109",ItemDescriptionA:"Ukraine",ItemTypeA:"Country",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00155284820981509},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00157721919364577},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00161525908730204},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.00162053205643335},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00165207728642688},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00166142871308796},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00167356474388897},{ItemIdA:"11_81095",ItemDescriptionA:"Taiwan",ItemTypeA:"Country",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00167549831103791},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00169299700882455},{ItemIdA:"11_81095",ItemDescriptionA:"Taiwan",ItemTypeA:"Country",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00174719640570353},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00176565561780495},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.00178939656672635},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.00179594900527104},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00179824364370373},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00180096541918602},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0018039405280974},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00180533536386787},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00181835728075493},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00181860400680332},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00183031222031012},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00184190042947221},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.00184782473227228},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00185887849606312},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.00186531243143798},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0018673748473689},{ItemIdA:"11_80910",ItemDescriptionA:"China",ItemTypeA:"Country",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00188584478297638},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00188673815348},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00189502780899924},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.0018987051188486},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00192262693040886},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.00192835067567143},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.0019316096573711},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00196744620171446},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.00202367322515059},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.00202552253395219},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00203916215083596},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00204839225289626},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00205278311344731},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.00205932811215227},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00212486747722802},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.00212836913393472},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.00213703118017396},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00213988263191907},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.0021545063561727},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00217161546873552},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.002197907484315},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0021983223106087},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00220263755308374},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00221250687216406},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00223712972029001},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00223886674853296},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00225317380928855},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.00226453620730137},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.00228260595913174},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00228719017841712},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00229760251542956},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.00230332838627923},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00231071721418232},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.00235957284163437},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00239641761353867},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00244082559826331},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.00245669795040492},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00247349628863665},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00247823199637936},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00251088497493951},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00251089647429692},{ItemIdA:"11_317951",ItemDescriptionA:"Crimea",ItemTypeA:"Province",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00254251341443229},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.00255764823180165},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.00255799246733448},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00259977983379782},{ItemIdA:"11_80932",ItemDescriptionA:"Egypt",ItemTypeA:"Country",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00260383934235233},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00264411708720656},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00266494479340134},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.00270980421359928},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.00275729147817349},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_121438399",ItemDescriptionB:"search",ItemTypeB:"Keyphrase",Weight:.00278017819669833},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.0028170121155174},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00281740654563804},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.00282753719833698},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.00282938784832585},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00283764256764943},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.00284195030002211},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.00285216971759255},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00288347897734314},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.00288451720728665},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00289805081369436},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0029022894522308},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00292543938030412},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00302250283862289},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00309466981692996},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.00312822330329665},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00314848627142801},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00315709149039727},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.00315815858688302},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00318022397490159},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_418391245",ItemDescriptionB:"COVID-19",ItemTypeB:"Keyphrase",Weight:.00318682293614144},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00324625834982343},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.00326433515264118},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00331048957188435},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.00334624017955641},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_337171",ItemDescriptionB:"Market",ItemTypeB:"Keyphrase",Weight:.00336208758193325},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00337201667315474},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00337438210410188},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00340209203563064},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00341056573831338},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.00348694140816674},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.00350808702913981},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.0035605806505452},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_306282",ItemDescriptionB:"Stocks",ItemTypeB:"Keyphrase",Weight:.0035611172775856},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.00356258205015771},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.0035673006212833},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0035676865840722},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00360852910658107},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.00361557088565553},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.00362714673551319},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.00364268349831261},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00365539967556805},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00366246663653466},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00366260268098962},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.00366883149612694},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00367450917903555},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00367782549252957},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00370572999341968},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_306282",ItemDescriptionB:"Stocks",ItemTypeB:"Keyphrase",Weight:.00370824560699535},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0037505533751944},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.00381495727128628},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_302395",ItemDescriptionB:"Police",ItemTypeB:"Keyphrase",Weight:.00382244807586435},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_306282",ItemDescriptionB:"Stocks",ItemTypeB:"Keyphrase",Weight:.00383884925853725},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.00386461821805727},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.00386568533561049},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.0038905457064703},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.00394904349348717},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_302395",ItemDescriptionB:"Police",ItemTypeB:"Keyphrase",Weight:.0039703600894091},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00398408943014824},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00401165317659846},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0040187262630812},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00402594649347863},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.00403750987435278},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.00405500112987319},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00406428639633096},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00407508151224784},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.00408190651857592},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0040986875324276},{ItemIdA:"11_80932",ItemDescriptionA:"Egypt",ItemTypeA:"Country",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00410944557311443},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.00414883392338947},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_323284",ItemDescriptionB:"Fire",ItemTypeB:"Incident",Weight:.00418118888343626},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00418326760266753},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00420090792435282},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.00421211293015485},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_418391245",ItemDescriptionB:"COVID-19",ItemTypeB:"Keyphrase",Weight:.00421250534645879},{ItemIdA:"11_81046",ItemDescriptionA:"Pakistan",ItemTypeA:"Country",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00421537162517739},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.00422204105568458},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00422230706498791},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.00424376458298627},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.00425869201633299},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.00429277743576364},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00429875750636889},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.00430601511986683},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.0043142405272742},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.00431533690651383},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_323284",ItemDescriptionB:"Fire",ItemTypeB:"Incident",Weight:.00433216660490338},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00434394918155793},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00435075399486974},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00437805072051242},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.00438704248310588},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0043899975428923},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0043985303129086},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.00446647214093948},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.00446819222314363},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.00452544986903715},{ItemIdA:"11_81046",ItemDescriptionA:"Pakistan",ItemTypeA:"Country",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.00460293205754062},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00463554635468123},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00473169107541378},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_306282",ItemDescriptionB:"Stocks",ItemTypeB:"Keyphrase",Weight:.00473586688212853},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_418391245",ItemDescriptionB:"COVID-19",ItemTypeB:"Keyphrase",Weight:.00474958122528865},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.00476664285073406},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.004786129119141},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00480651012392921},{ItemIdA:"11_80938",ItemDescriptionA:"Europe",ItemTypeA:"Continent",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00480677489829774},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00483888337036029},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.00489125446162327},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.00493725099523072},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.00495186534557022},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.00495209154494232},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.00502233172770399},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.00504065823384647},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.00507365026031537},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00507881813376237},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.00510954489861163},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.00513100318145257},{ItemIdA:"11_80986",ItemDescriptionA:"Iran",ItemTypeA:"Country",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00514289072192737},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.00514647441350092},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.00515702491318966},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.00517387507895318},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.00520383815185441},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.00521461470044542},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0052248518803437},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.0052599910394435},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.00528686511383265},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00535310108887046},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.00540727761693321},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.00544081133008985},{ItemIdA:"11_80910",ItemDescriptionA:"China",ItemTypeA:"Country",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00548638107602053},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00550787719394064},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.00552991302393281},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00553531110336494},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_418391245",ItemDescriptionB:"COVID-19",ItemTypeB:"Keyphrase",Weight:.00554571692640355},{ItemIdA:"11_81064",ItemDescriptionA:"Russia",ItemTypeA:"Country",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.00560417298687451},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.00562079371730027},{ItemIdA:"11_80938",ItemDescriptionA:"Europe",ItemTypeA:"Continent",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00564112376632231},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.00567723815189215},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.00568077022095251},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00568161989117103},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.00571256410095537},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_306282",ItemDescriptionB:"Stocks",ItemTypeB:"Keyphrase",Weight:.0058210235437486},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.00583013118626862},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_337171",ItemDescriptionB:"Market",ItemTypeB:"Keyphrase",Weight:.00586384550806434},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00586516794535819},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.00586801295717843},{ItemIdA:"11_81109",ItemDescriptionA:"Ukraine",ItemTypeA:"Country",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.00587201033836438},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.0059291244981686},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.00593542575962602},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.00596522355121854},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.00598552393973025},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00603062533981634},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00606291352027854},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.00606685917965842},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.00609201676962691},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00609584089318128},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_337171",ItemDescriptionB:"Market",ItemTypeB:"Keyphrase",Weight:.00609636334335392},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.00611355907321853},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.00612866844682968},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.00614039455985097},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00621002041220837},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.00622092126794366},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.00622708433648485},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.00623533015240918},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00625797384540971},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.00632634752161921},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00635111277315129},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.0063541616160257},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.00635534722805933},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0063573772989675},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.00637611436438182},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00638691056185775},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_338691",ItemDescriptionB:"Deaths",ItemTypeB:"Keyphrase",Weight:.00640838365661074},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00644287900152165},{ItemIdA:"11_80938",ItemDescriptionA:"Europe",ItemTypeA:"Continent",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.00649739540790709},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00650076855102067},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00652021804230068},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00653531149004783},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.00653607399476177},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.00655323013558211},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.0065908120100911},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.00661962441103905},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.00663404552221353},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00669986797376821},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.0067095687576943},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_121438399",ItemDescriptionB:"search",ItemTypeB:"Keyphrase",Weight:.00672937291733895},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.00673039341174095},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.00674601087548014},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.00675272891451193},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00681785949482384},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0068232790700117},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.00683308350057075},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00685878093388003},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.00686897824758154},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00689643489213251},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.00691113799987861},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.00694207620778894},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00703689437287017},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.00704566779339337},{ItemIdA:"11_6286371",ItemDescriptionA:"United Kingdom",ItemTypeA:"Country",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00705825836380885},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00709055325928293},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_337171",ItemDescriptionB:"Market",ItemTypeB:"Keyphrase",Weight:.00709419621585442},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.00709488444129274},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.00712216148302915},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.00716372857428042},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.00717733187938941},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.00718073762459231},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.00718328095752374},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00720751105491831},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00724483121099992},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.00724862283673409},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_338691",ItemDescriptionB:"Deaths",ItemTypeB:"Keyphrase",Weight:.00727304416881949},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.00728562586386722},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00732080153797743},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_418391245",ItemDescriptionB:"COVID-19",ItemTypeB:"Keyphrase",Weight:.00732916412735584},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.0073376580339168},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_302395",ItemDescriptionB:"Police",ItemTypeB:"Keyphrase",Weight:.00736097110733488},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00737008185140238},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.00737557344266622},{ItemIdA:"11_81095",ItemDescriptionA:"Taiwan",ItemTypeA:"Country",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00744705629172765},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.00745556650406351},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.00745691371316977},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.00753568190472062},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.00756479069258334},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.00757276986733971},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.00761488165074119},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.00767045474139309},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.00767550440211897},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.00770687709021447},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.00776254089543273},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.00779091705495706},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.00780042115973092},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00782777797729689},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00782980131852256},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00792888378942567},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.00794875829261923},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.00794967332968972},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.00796094340720196},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00798311720639698},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.00801146162746974},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.00804163192711599},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.00804809936721744},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00807241953277719},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.00811106841880337},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.0081257861116382},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.00813008825970952},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.00813426951257439},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00813993740849524},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00821793209534351},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.00827479548145606},{ItemIdA:"11_80932",ItemDescriptionA:"Egypt",ItemTypeA:"Country",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.00831091770248657},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00832710261638695},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_44573976",ItemDescriptionB:"Company",ItemTypeB:"Keyphrase",Weight:.00834410355383698},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.00843223621963627},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.00845007538391033},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.00847847909079526},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.00849971688279261},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.00851005976455894},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.00858133362219526},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.0086324787017668},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.00867093086556748},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00874037478521569},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0087750761738234},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.00879884962569688},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.00884455341583295},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00886976863811988},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.00887662599029576},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00889054831095336},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.00892326671017857},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.00894022234050647},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.00895792910733423},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.00898690234548825},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.00901081618257179},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0090250649277609},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_306282",ItemDescriptionB:"Stocks",ItemTypeB:"Keyphrase",Weight:.00910090280603448},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.00913794986670342},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.00914070652987308},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.00928810675081348},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.00929746801788643},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.00932076309196132},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.00933470743981964},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.00946792213874277},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.00949877129458414},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00950879763794213},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.00955719187555264},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.00960707502033218},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.00966041636222378},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.00969636089776158},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.00972463449655562},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.00974869243388357},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.00978391836963537},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.00978552353624852},{ItemIdA:"11_81109",ItemDescriptionA:"Ukraine",ItemTypeA:"Country",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.00983861679091956},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.00983958114544171},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.00985595669765872},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.00986805412938378},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_302395",ItemDescriptionB:"Police",ItemTypeB:"Keyphrase",Weight:.00987505284545579},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.00989235029655844},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.00995590421895669},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.00999251277877289},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0100332950858478},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_121438399",ItemDescriptionB:"search",ItemTypeB:"Keyphrase",Weight:.0100839471241738},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.0101212242058315},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0101752397753698},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.0102106053445883},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0102438166765323},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.0102748313294808},{ItemIdA:"11_6286371",ItemDescriptionA:"United Kingdom",ItemTypeA:"Country",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.010280371872059},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0102995316305903},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.0103390098511623},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0103618795699716},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0103818287139985},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.0103873605298515},{ItemIdA:"11_80938",ItemDescriptionA:"Europe",ItemTypeA:"Continent",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.0103961042737792},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0104417249137795},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.0104515493235304},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_121438399",ItemDescriptionB:"search",ItemTypeB:"Keyphrase",Weight:.0104530369734297},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0104550156577289},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.0104562884028488},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0104788017378973},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_302395",ItemDescriptionB:"Police",ItemTypeB:"Keyphrase",Weight:.0105572033243861},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0105682860435949},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0106410219960897},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0106519269658182},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0106982573317013},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.0107221099897065},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.0107363667844635},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0107457794918926},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0107805671131728},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0108004902485201},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0108175640949155},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0108416741294698},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.0108520561213731},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0108597593548758},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0109204775308931},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0109347577131029},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0109402333633729},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0109746718288148},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0110610966486928},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0110699045651229},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0110834338571473},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0110883998541578},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.0111030859227565},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.0111328347244527},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0111412351795569},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0112018747637246},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0112444599510095},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0112478114694983},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0112518139429941},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0113449816145079},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0113489093636492},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0113578924115841},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_338691",ItemDescriptionB:"Deaths",ItemTypeB:"Keyphrase",Weight:.0113857003428659},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.0114274429129124},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0114306278128621},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0114609234792577},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0114662188755872},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.0114978420014066},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0115337932893925},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0116588633845864},{ItemIdA:"11_80938",ItemDescriptionA:"Europe",ItemTypeA:"Continent",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0117333430747064},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0117671363673018},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0118438266032511},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_44573976",ItemDescriptionB:"Company",ItemTypeB:"Keyphrase",Weight:.0119326533873117},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0119869471168474},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.0120147320065882},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0120565161923797},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0120593336575862},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.0120906324583618},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0120954451400611},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0121232947596034},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0122697137077457},{ItemIdA:"11_80986",ItemDescriptionA:"Iran",ItemTypeA:"Country",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0122921464930512},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0122963631114407},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0123129236448684},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.012353472123811},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0123787989195765},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0123804723912132},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0124054692237551},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0124238339764545},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.0124498297209198},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0124649351122375},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0125271040509896},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0125612657150407},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0125670374229149},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.0125740933423984},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0126376184764637},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0126537907348064},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.0126572246600784},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0127042303159832},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0127695958821568},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.012782414203382},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0129605806885617},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0130241940555793},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0130676514367954},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0131075358382253},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_4429596",ItemDescriptionB:"Land Mine",ItemTypeB:"MilitaryEquipment",Weight:.013124284452235},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0131636685602278},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0131754767580691},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0132517349348754},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.013252083956315},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0132935115159348},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0133084657329617},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0133593685179071},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.013388046329026},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_337171",ItemDescriptionB:"Market",ItemTypeB:"Keyphrase",Weight:.013440420913268},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0134734729353519},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0134780859202029},{ItemIdA:"11_81112",ItemDescriptionA:"United States",ItemTypeA:"Country",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.013529931351507},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0135394782418738},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0135605930118606},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0135643333387564},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0136030541092464},{ItemIdA:"11_81112",ItemDescriptionA:"United States",ItemTypeA:"Country",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.0136407654171447},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.013655973327816},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0136693861664872},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0136937040063261},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0137169435831472},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0137505709238856},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0137754767851973},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.0137779064761662},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0137795338141487},{ItemIdA:"11_81095",ItemDescriptionA:"Taiwan",ItemTypeA:"Country",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0137919510314022},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0137989446149422},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0138132210885391},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0138160796390309},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0138655838027207},{ItemIdA:"11_80938",ItemDescriptionA:"Europe",ItemTypeA:"Continent",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.013906117574768},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.013910439413178},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0139809601869979},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0139821476923645},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0140614693695269},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.014152293659236},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_418391245",ItemDescriptionB:"COVID-19",ItemTypeB:"Keyphrase",Weight:.0141675680972019},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.014177017180761},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0142177511307373},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0142924577930509},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0143022590859839},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.0143949633116761},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0144200579117074},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0144206569549482},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.014423643908573},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0144812895110543},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0145979902605588},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_338691",ItemDescriptionB:"Deaths",ItemTypeB:"Keyphrase",Weight:.0146026405060843},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0146111469569157},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0146307011587972},{ItemIdA:"11_1415762",ItemDescriptionA:"Mar-a-Lago",ItemTypeA:"Place",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.0146346545179884},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0146447803396675},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0146721698878272},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.014687439296661},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.014808921547515},{ItemIdA:"11_80986",ItemDescriptionA:"Iran",ItemTypeA:"Country",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.0148138142009586},{ItemIdA:"11_80932",ItemDescriptionA:"Egypt",ItemTypeA:"Country",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0148373110541084},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0148790690057211},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0148817821247142},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.014898036642349},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.0149145778448568},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0149147178259129},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.0149527368992245},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.0151113179116538},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0151405285390537},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0152046761828063},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0152788186927374},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0153302301097066},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.0154762205928912},{ItemIdA:"11_81046",ItemDescriptionA:"Pakistan",ItemTypeA:"Country",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.0154991945725237},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0155523448930709},{ItemIdA:"11_81046",ItemDescriptionA:"Pakistan",ItemTypeA:"Country",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0156023594765236},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0156547866830155},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0156610829186451},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0157010839387033},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0157589963433567},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0159548603344857},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0159716620566301},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0161047581024966},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0161064601220934},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0162091816259472},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0162794283231301},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0162857330018162},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0162868096057583},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0163470938286888},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.0163657035906305},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0163867207012019},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0164079439009706},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0164666842457549},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.0165100911035317},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0165572180283228},{ItemIdA:"11_81064",ItemDescriptionA:"Russia",ItemTypeA:"Country",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.0165665449365012},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0166229088070901},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0166600103781018},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0167040131242364},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0168283004089598},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0168908740233383},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0169267896562946},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0169422187396177},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0169880589600345},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0169891311904368},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0172530239572617},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0172791309206637},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_311455",ItemDescriptionB:"Investigation",ItemTypeB:"Keyphrase",Weight:.0174263546557966},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.0175484638263162},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0175528837782538},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0175730976297238},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0176407717451718},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0176481621366441},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0176690169162625},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0177144754898812},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0177239122012157},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0177731645246008},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0177757537965281},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0179193520842426},{ItemIdA:"11_80932",ItemDescriptionA:"Egypt",ItemTypeA:"Country",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0179602628418762},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0179749281588342},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0180261085544232},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_44573976",ItemDescriptionB:"Company",ItemTypeB:"Keyphrase",Weight:.0180407512551536},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0180504343257554},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0180864249152435},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_44573976",ItemDescriptionB:"Company",ItemTypeB:"Keyphrase",Weight:.018144486316815},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0184291393658333},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_418391245",ItemDescriptionB:"COVID-19",ItemTypeB:"Keyphrase",Weight:.0184539034370976},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.018487548990105},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0185271434126143},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0185901456809385},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0186750738420082},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.0186931910080632},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0187005271626377},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.0187815954187255},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0188241207313547},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0188374751133909},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0188980883080864},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0188980973374746},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_338691",ItemDescriptionB:"Deaths",ItemTypeB:"Keyphrase",Weight:.0189424128434026},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.01903473672863},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0190986450410494},{ItemIdA:"11_80938",ItemDescriptionA:"Europe",ItemTypeA:"Continent",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0191436053537504},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0191671151468346},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0191793613905262},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0191972775201992},{ItemIdA:"11_317906",ItemDescriptionA:"Car",ItemTypeA:"Product",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0191984919317373},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_323284",ItemDescriptionB:"Fire",ItemTypeB:"Incident",Weight:.019233404014014},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0192520582150203},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.019315328879254},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.0194512493253263},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0194840033339745},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0195363461922166},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0196631225297244},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0198935871748689},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0199860673997856},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0200630679787644},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0200829103529376},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_44573976",ItemDescriptionB:"Company",ItemTypeB:"Keyphrase",Weight:.020094892264757},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.0201672091005095},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0202328320682429},{ItemIdA:"11_80932",ItemDescriptionA:"Egypt",ItemTypeA:"Country",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0202437167299037},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0202904978947293},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0203299592920673},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.0203518032635323},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0204597052535288},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0204639296764923},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0205020050369254},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0205402571541159},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0205750285079984},{ItemIdA:"11_80910",ItemDescriptionA:"China",ItemTypeA:"Country",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.020584976431179},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0208407119899911},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0208550779925941},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0208963045699208},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.0208970603203784},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_338691",ItemDescriptionB:"Deaths",ItemTypeB:"Keyphrase",Weight:.02097752343561},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.02098329500495},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.0209875684245945},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0210592858682376},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0210675882705044},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.0210889425150021},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0211128080820041},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0211771158576419},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0212145197844202},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0212785597260514},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0212948971736192},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.0214067638918254},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.021409294513703},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0214125779325461},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0214481114527697},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0214838551407238},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0215227451551275},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0215326793105127},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0215459311509294},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0215682888142949},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0215914723931682},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0216306762254245},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0216346703023485},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_311455",ItemDescriptionB:"Investigation",ItemTypeB:"Keyphrase",Weight:.0217785486597818},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0217971408802932},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.0218000931231396},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0218613598866169},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.0221223245625313},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0221979184664317},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.0222031173881781},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0224259976711068},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.0225543971163435},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_328292",ItemDescriptionB:"FBI Federal Bureau of Investigation",ItemTypeB:"GovernmentBody",Weight:.0226392533633998},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_316859",ItemDescriptionB:"Case",ItemTypeB:"Keyphrase",Weight:.0226619186583884},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0228767611969864},{ItemIdA:"11_81095",ItemDescriptionA:"Taiwan",ItemTypeA:"Country",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.0229749511012223},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0229782909413507},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0229816008106517},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0229821086085018},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0230787424110284},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0232205459846496},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.023313579073666},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0234088644750059},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0236194673772607},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0236596494791498},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0236711788226049},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0236716368631442},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0236733871371481},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0237862452657408},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0238406680770722},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.0239681593697324},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.024079484984987},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_316859",ItemDescriptionB:"Case",ItemTypeB:"Keyphrase",Weight:.0241609418724389},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0243825796577888},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.02442692241169},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.024505035403874},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0245439559057837},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0245981221901552},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0247053976348624},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0247094279016082},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0247787441899417},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0249753526563181},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0250392054184475},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.0251426051518191},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_316859",ItemDescriptionB:"Case",ItemTypeB:"Keyphrase",Weight:.0251669440504023},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0252182992398163},{ItemIdA:"11_81046",ItemDescriptionA:"Pakistan",ItemTypeA:"Country",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0252185775711641},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0252964874937055},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0254482229504379},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0255058412361651},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_311455",ItemDescriptionB:"Investigation",ItemTypeB:"Keyphrase",Weight:.0255101307340949},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0255278370775293},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_316859",ItemDescriptionB:"Case",ItemTypeB:"Keyphrase",Weight:.0256011132861057},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.02580138680955},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0258993774277178},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.026099552088121},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0262237724181685},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.0264688631677474},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0264695222593069},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0264725156107665},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.026594990791064},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0266038257785105},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.0267824803432198},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0269680853609728},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0270262338776448},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0271819704099537},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0272957868957473},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0274184089461676},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.02743759172247},{ItemIdA:"11_81112",ItemDescriptionA:"United States",ItemTypeA:"Country",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.0274456918476505},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.027564946940224},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0276375226435781},{ItemIdA:"11_366235",ItemDescriptionA:"Open",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.027707152336439},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0278750761347524},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0279813543078046},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.0279838838465541},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0280083376249158},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0283650109144883},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0284152538091542},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.0285453894511094},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.0285651384840672},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0286251999664043},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.02871564286471},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0288605716583227},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0288747638010745},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0291049709259387},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0291363491856763},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0294175955819841},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0295545744290411},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0295725730795032},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.0296094507567114},{ItemIdA:"11_81064",ItemDescriptionA:"Russia",ItemTypeA:"Country",ItemIdB:"11_80932",ItemDescriptionB:"Egypt",ItemTypeB:"Country",Weight:.0296330586969619},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0296635915818534},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.0297110097766929},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0299440764553944},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_1664189371",ItemDescriptionB:"Government",ItemTypeB:"Keyphrase",Weight:.0299748902802283},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_316859",ItemDescriptionB:"Case",ItemTypeB:"Keyphrase",Weight:.0301147714104327},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0301563244676744},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.0304054566853621},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0305198641828725},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0305772441138774},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0306153849029227},{ItemIdA:"11_80932",ItemDescriptionA:"Egypt",ItemTypeA:"Country",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0307046049012681},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0308327577625669},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.030896232436171},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0309722240597016},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0310385335380264},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.031138595761323},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0311777387827656},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0312366828304103},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0312931895774744},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.0313991008691203},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0314385775463338},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.0315394777400885},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0315937311946501},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0316516823360634},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0316524457013392},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0317178752208981},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0319365216040929},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0321577700045314},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.032271499138488},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0324817399721168},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0324861422155792},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0324903366793583},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0327873447669853},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0328312003515059},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0329911149930566},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_323284",ItemDescriptionB:"Fire",ItemTypeB:"Incident",Weight:.0330244140032903},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0331873819767831},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0331891470868554},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_346889",ItemDescriptionB:"Attack",ItemTypeB:"Incident",Weight:.0334590226714999},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.0335736342958244},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0337067473836776},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0337939171562308},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0338671552417446},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.0339646071170213},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0339845792298662},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0342536809310934},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.034314680662053},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0343450594991021},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.0343626363087382},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0344764604062356},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0346268005723131},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0349259935072864},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_316859",ItemDescriptionB:"Case",ItemTypeB:"Keyphrase",Weight:.0349319430829142},{ItemIdA:"11_109885510",ItemDescriptionA:"Announces",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0350334147011097},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0350833843560042},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0351381719009436},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.0352278464155607},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_121438399",ItemDescriptionB:"search",ItemTypeB:"Keyphrase",Weight:.0353375753409223},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0354333037520796},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.0356318306848004},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0358301167774519},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0359414990275232},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.0360167836569761},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0361622675738469},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0361749338457338},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0361860788762522},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0364183624514565},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0369015299406955},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_346889",ItemDescriptionB:"Attack",ItemTypeB:"Incident",Weight:.0372781395050025},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0376069808843465},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0376684624577278},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_338691",ItemDescriptionB:"Deaths",ItemTypeB:"Keyphrase",Weight:.0377275190104856},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0377768835759162},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.0379834088178643},{ItemIdA:"11_314818",ItemDescriptionA:"Hospital",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0382788980333567},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0383015129730586},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.038316312357152},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.038357245625422},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0384149834729706},{ItemIdA:"11_81046",ItemDescriptionA:"Pakistan",ItemTypeA:"Country",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.0384170843257279},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_311455",ItemDescriptionB:"Investigation",ItemTypeB:"Keyphrase",Weight:.0384266039104717},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0395713655638501},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0396114170824783},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0396245645316401},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0401864775489275},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0404522875786671},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.040477416153253},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_687",ItemDescriptionB:"Student",ItemTypeB:"Keyphrase",Weight:.0408988317921296},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0409665642252031},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0413935236794795},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0414590036200646},{ItemIdA:"11_81046",ItemDescriptionA:"Pakistan",ItemTypeA:"Country",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0416035972624086},{ItemIdA:"11_81046",ItemDescriptionA:"Pakistan",ItemTypeA:"Country",ItemIdB:"11_1787664305",ItemDescriptionB:"@usmansaeedbasra",ItemTypeB:"Username",Weight:.041890863729218},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.0420803045060026},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_316859",ItemDescriptionB:"Case",ItemTypeB:"Keyphrase",Weight:.0421001963228918},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_302395",ItemDescriptionB:"Police",ItemTypeB:"Keyphrase",Weight:.042119079967095},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0422661618364604},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_121438399",ItemDescriptionB:"search",ItemTypeB:"Keyphrase",Weight:.0425827443114017},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0427194529661346},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.04278383101824},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.0428907551390963},{ItemIdA:"11_303190",ItemDescriptionA:"Election",ItemTypeA:"Keyphrase",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.04329806212702},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0439309380513083},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.0439805456663715},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.0446934134181756},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0448704403810463},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0448773758655231},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0449726677093349},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.04520891975077},{ItemIdA:"11_300784",ItemDescriptionA:"President",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0453392915804652},{ItemIdA:"11_168716254",ItemDescriptionA:"Closure",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.0455366897519616},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.0455481842808906},{ItemIdA:"11_935331035",ItemDescriptionA:"Release",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0462928908326901},{ItemIdA:"11_81109",ItemDescriptionA:"Ukraine",ItemTypeA:"Country",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0463715032420638},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0464644469638661},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0464857726361674},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.046752490005616},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.0467713290557817},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.0467869177228617},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0470744897476241},{ItemIdA:"11_1664189371",ItemDescriptionA:"Government",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0475771605108539},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.0480373670198661},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_418391245",ItemDescriptionB:"COVID-19",ItemTypeB:"Keyphrase",Weight:.0480636031577784},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.0484303552077812},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0486213771265869},{ItemIdA:"11_14305609",ItemDescriptionA:"Risk",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0491693956914349},{ItemIdA:"11_373979",ItemDescriptionA:"Acquisition",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0492828719195627},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_366235",ItemDescriptionB:"Open",ItemTypeB:"Keyphrase",Weight:.049378209544169},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0495044834922547},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0496816055455875},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.051344599503488},{ItemIdA:"11_81109",ItemDescriptionA:"Ukraine",ItemTypeA:"Country",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0519227918865022},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0521491210020133},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0534881777352191},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_338691",ItemDescriptionB:"Deaths",ItemTypeB:"Keyphrase",Weight:.0536367172924931},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0537606153561773},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0538018569470627},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.054678903310841},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.0554217610369092},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0554535087456057},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.055987028601755},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_311455",ItemDescriptionB:"Investigation",ItemTypeB:"Keyphrase",Weight:.0560142322975196},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.05602280983822},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.0562839931615356},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0569243672346481},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_311455",ItemDescriptionB:"Investigation",ItemTypeB:"Keyphrase",Weight:.0570292543615472},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0570762244829668},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0576372319164884},{ItemIdA:"11_81109",ItemDescriptionA:"Ukraine",ItemTypeA:"Country",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.057886115015015},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0579592653125626},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0579995553835828},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0581141909304009},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0583586677872567},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0584253122479385},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_316859",ItemDescriptionB:"Case",ItemTypeB:"Keyphrase",Weight:.0585462440044557},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0587195234695642},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0587222788201081},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.059052090030306},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0590615365354381},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.0602838538277863},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0603144013380888},{ItemIdA:"11_81046",ItemDescriptionA:"Pakistan",ItemTypeA:"Country",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0613797291037399},{ItemIdA:"11_508558",ItemDescriptionA:"Employees",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0619776035792958},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.0625239184295305},{ItemIdA:"11_81064",ItemDescriptionA:"Russia",ItemTypeA:"Country",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.0627075924639459},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0631261476652502},{ItemIdA:"11_80910",ItemDescriptionA:"China",ItemTypeA:"Country",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0635677178365875},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0643820398537769},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0657029717279944},{ItemIdA:"11_658173411",ItemDescriptionA:"Imprisonment and Detention",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.0658988140569816},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.0659190870811574},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.0664951076851794},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0665518879772343},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0669118337880728},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.0671766050095487},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0674112740174931},{ItemIdA:"11_80910",ItemDescriptionA:"China",ItemTypeA:"Country",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.0675103348323135},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.0676962319861617},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.068145623844359},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_311455",ItemDescriptionB:"Investigation",ItemTypeB:"Keyphrase",Weight:.0688317180448393},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0692574545923165},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_316859",ItemDescriptionB:"Case",ItemTypeB:"Keyphrase",Weight:.069375262968238},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.069682213212991},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0698266731759901},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.069832788486121},{ItemIdA:"11_81112",ItemDescriptionA:"United States",ItemTypeA:"Country",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.0701092213281732},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.0704190615361389},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.0704350980348328},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.070863278311136},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_20246",ItemDescriptionB:"Inflation",ItemTypeB:"Keyphrase",Weight:.0708820441250642},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_346889",ItemDescriptionB:"Attack",ItemTypeB:"Incident",Weight:.0712341571038833},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_418391245",ItemDescriptionB:"COVID-19",ItemTypeB:"Keyphrase",Weight:.0712828745078014},{ItemIdA:"11_302582",ItemDescriptionA:"Security",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0713772109159964},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_302395",ItemDescriptionB:"Police",ItemTypeB:"Keyphrase",Weight:.071741042573858},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0742878467117929},{ItemIdA:"11_81046",ItemDescriptionA:"Pakistan",ItemTypeA:"Country",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0746539903594265},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_14305609",ItemDescriptionB:"Risk",ItemTypeB:"Keyphrase",Weight:.0752048457011033},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0753862469793183},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.0757062355743539},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.0761513604355549},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_311455",ItemDescriptionB:"Investigation",ItemTypeB:"Keyphrase",Weight:.0780905522767117},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_302395",ItemDescriptionB:"Police",ItemTypeB:"Keyphrase",Weight:.0781058061359659},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0785510214883143},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_418391245",ItemDescriptionB:"COVID-19",ItemTypeB:"Keyphrase",Weight:.0787810587906882},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.0791385219716292},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.0793270299570431},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_302395",ItemDescriptionB:"Police",ItemTypeB:"Keyphrase",Weight:.0803909796140116},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_80938",ItemDescriptionB:"Europe",ItemTypeB:"Continent",Weight:.0816865166823219},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_418391245",ItemDescriptionB:"COVID-19",ItemTypeB:"Keyphrase",Weight:.0849066250420715},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_311455",ItemDescriptionB:"Investigation",ItemTypeB:"Keyphrase",Weight:.0850111624577692},{ItemIdA:"11_305910",ItemDescriptionA:"Industry",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.0863243956203915},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.0892591481957422},{ItemIdA:"11_80910",ItemDescriptionA:"China",ItemTypeA:"Country",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.0911151855897149},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0926432813377573},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.094654063819731},{ItemIdA:"11_687",ItemDescriptionA:"Student",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.0948340487642819},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0949406129087348},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0950727771888102},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.095434918194379},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.0992986421493238},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.0995741855170471},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.100870861499897},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_302395",ItemDescriptionB:"Police",ItemTypeB:"Keyphrase",Weight:.10108022470987},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_168716254",ItemDescriptionB:"Closure",ItemTypeB:"Keyphrase",Weight:.102609108017971},{ItemIdA:"11_323284",ItemDescriptionA:"Fire",ItemTypeA:"Incident",ItemIdB:"11_302395",ItemDescriptionB:"Police",ItemTypeB:"Keyphrase",Weight:.102644567253039},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.104782174230286},{ItemIdA:"11_418391245",ItemDescriptionA:"COVID-19",ItemTypeA:"Keyphrase",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.105460340903906},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_303190",ItemDescriptionB:"Election",ItemTypeB:"Keyphrase",Weight:.106632036100905},{ItemIdA:"11_80938",ItemDescriptionA:"Europe",ItemTypeA:"Continent",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.107480956307087},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_109885510",ItemDescriptionB:"Announces",ItemTypeB:"Keyphrase",Weight:.1077015243598},{ItemIdA:"11_121438399",ItemDescriptionA:"search",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.109223771255477},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.111077459684277},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_302582",ItemDescriptionB:"Security",ItemTypeB:"Keyphrase",Weight:.111720927146666},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.111900702932485},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_418391245",ItemDescriptionB:"COVID-19",ItemTypeB:"Keyphrase",Weight:.114039569173573},{ItemIdA:"11_311455",ItemDescriptionA:"Investigation",ItemTypeA:"Keyphrase",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.114993461340565},{ItemIdA:"11_346889",ItemDescriptionA:"Attack",ItemTypeA:"Incident",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.116228221409261},{ItemIdA:"11_81064",ItemDescriptionA:"Russia",ItemTypeA:"Country",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.116448199300106},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.118073550786215},{ItemIdA:"11_81112",ItemDescriptionA:"United States",ItemTypeA:"Country",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.119026018964499},{ItemIdA:"11_305294",ItemDescriptionA:"Chief Executive Officer",ItemTypeA:"Keyphrase",ItemIdB:"11_300784",ItemDescriptionB:"President",ItemTypeB:"Keyphrase",Weight:.119061305259311},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.119071460559281},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_317906",ItemDescriptionB:"Car",ItemTypeB:"Product",Weight:.119673059845622},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.119759297342985},{ItemIdA:"11_20246",ItemDescriptionA:"Inflation",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.120232894266282},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_314818",ItemDescriptionB:"Hospital",ItemTypeB:"Keyphrase",Weight:.120406903850081},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.120753576078021},{ItemIdA:"11_81112",ItemDescriptionA:"United States",ItemTypeA:"Country",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.124448100936011},{ItemIdA:"11_80938",ItemDescriptionA:"Europe",ItemTypeA:"Continent",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.125386019337936},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_328292",ItemDescriptionB:"FBI Federal Bureau of Investigation",ItemTypeB:"GovernmentBody",Weight:.128320560024328},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.130269240875292},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_311455",ItemDescriptionB:"Investigation",ItemTypeB:"Keyphrase",Weight:.133702533368861},{ItemIdA:"11_338691",ItemDescriptionA:"Deaths",ItemTypeA:"Keyphrase",ItemIdB:"11_316859",ItemDescriptionB:"Case",ItemTypeB:"Keyphrase",Weight:.138919017088605},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.145418790152382},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_311455",ItemDescriptionB:"Investigation",ItemTypeB:"Keyphrase",Weight:.14912630623795},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.153915582168204},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_508558",ItemDescriptionB:"Employees",ItemTypeB:"Keyphrase",Weight:.154252975415809},{ItemIdA:"11_80938",ItemDescriptionA:"Europe",ItemTypeA:"Continent",ItemIdB:"11_6286371",ItemDescriptionB:"United Kingdom",ItemTypeB:"Country",Weight:.155051055743138},{ItemIdA:"11_81112",ItemDescriptionA:"United States",ItemTypeA:"Country",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:.158901713093534},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.161333346725231},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.166053722113664},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.167924472155223},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_337171",ItemDescriptionB:"Market",ItemTypeB:"Keyphrase",Weight:.172584694604609},{ItemIdA:"11_80938",ItemDescriptionA:"Europe",ItemTypeA:"Continent",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.17350339200506},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_204892",ItemDescriptionB:"Donald Trump",ItemTypeB:"Person",Weight:.179062126860913},{ItemIdA:"11_302712",ItemDescriptionA:"Technology",ItemTypeA:"Keyphrase",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.180744331957136},{ItemIdA:"11_44571088",ItemDescriptionA:"Business",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.183076844539477},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_935331035",ItemDescriptionB:"Release",ItemTypeB:"Keyphrase",Weight:.191664599644727},{ItemIdA:"11_81064",ItemDescriptionA:"Russia",ItemTypeA:"Country",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.194066338839203},{ItemIdA:"11_81064",ItemDescriptionA:"Russia",ItemTypeA:"Country",ItemIdB:"11_80986",ItemDescriptionB:"Iran",ItemTypeB:"Country",Weight:.204530178952118},{ItemIdA:"11_81064",ItemDescriptionA:"Russia",ItemTypeA:"Country",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.204628555097089},{ItemIdA:"11_316859",ItemDescriptionA:"Case",ItemTypeA:"Keyphrase",ItemIdB:"11_418391245",ItemDescriptionB:"COVID-19",ItemTypeB:"Keyphrase",Weight:.210730036270123},{ItemIdA:"11_337171",ItemDescriptionA:"Market",ItemTypeA:"Keyphrase",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.216338748417667},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_81046",ItemDescriptionB:"Pakistan",ItemTypeB:"Country",Weight:.226432806562919},{ItemIdA:"11_80938",ItemDescriptionA:"Europe",ItemTypeA:"Continent",ItemIdB:"11_81064",ItemDescriptionB:"Russia",ItemTypeB:"Country",Weight:.259011827149037},{ItemIdA:"11_81109",ItemDescriptionA:"Ukraine",ItemTypeA:"Country",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.261070623485362},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_311455",ItemDescriptionB:"Investigation",ItemTypeB:"Keyphrase",Weight:.267406492208513},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_302712",ItemDescriptionB:"Technology",ItemTypeB:"Keyphrase",Weight:.269642952857275},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_305910",ItemDescriptionB:"Industry",ItemTypeB:"Keyphrase",Weight:.274971364749843},{ItemIdA:"11_81112",ItemDescriptionA:"United States",ItemTypeA:"Country",ItemIdB:"11_80910",ItemDescriptionB:"China",ItemTypeB:"Country",Weight:.288816407060518},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_337171",ItemDescriptionB:"Market",ItemTypeB:"Keyphrase",Weight:.306665418955585},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_305294",ItemDescriptionB:"Chief Executive Officer",ItemTypeB:"Keyphrase",Weight:.312296580651479},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.326921009196722},{ItemIdA:"11_37100550",ItemDescriptionA:"Joe Biden",ItemTypeA:"Person",ItemIdB:"11_81112",ItemDescriptionB:"United States",ItemTypeB:"Country",Weight:.354610470886168},{ItemIdA:"11_302395",ItemDescriptionA:"Police",ItemTypeA:"Keyphrase",ItemIdB:"11_658173411",ItemDescriptionB:"Imprisonment and Detention",ItemTypeB:"Keyphrase",Weight:.356452751480435},{ItemIdA:"11_81112",ItemDescriptionA:"United States",ItemTypeA:"Country",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.362039573685093},{ItemIdA:"11_81064",ItemDescriptionA:"Russia",ItemTypeA:"Country",ItemIdB:"11_317951",ItemDescriptionB:"Crimea",ItemTypeB:"Province",Weight:.375466643666057},{ItemIdA:"11_204892",ItemDescriptionA:"Donald Trump",ItemTypeA:"Person",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.379371384677876},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_142996443",ItemDescriptionB:"twitter.com",ItemTypeB:"Domain",Weight:.498013990466405},{ItemIdA:"11_142996443",ItemDescriptionA:"twitter.com",ItemTypeA:"Domain",ItemIdB:"11_907319158",ItemDescriptionB:"@m_ebrard",ItemTypeB:"Username",Weight:.498674537558463},{ItemIdA:"11_328292",ItemDescriptionA:"FBI Federal Bureau of Investigation",ItemTypeA:"GovernmentBody",ItemIdB:"11_1415762",ItemDescriptionB:"Mar-a-Lago",ItemTypeB:"Place",Weight:.56871474815286},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.616536319821523},{ItemIdA:"11_4429596",ItemDescriptionA:"Land Mine",ItemTypeA:"MilitaryEquipment",ItemIdB:"11_1787664305",ItemDescriptionB:"@usmansaeedbasra",ItemTypeB:"Username",Weight:.643123534681052},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_44571088",ItemDescriptionB:"Business",ItemTypeB:"Keyphrase",Weight:.701803755249778},{ItemIdA:"11_306282",ItemDescriptionA:"Stocks",ItemTypeA:"Keyphrase",ItemIdB:"11_373979",ItemDescriptionB:"Acquisition",ItemTypeB:"Keyphrase",Weight:.724614288722982},{ItemIdA:"11_80910",ItemDescriptionA:"China",ItemTypeA:"Country",ItemIdB:"11_81095",ItemDescriptionB:"Taiwan",ItemTypeB:"Country",Weight:.843656952008247},{ItemIdA:"11_44573976",ItemDescriptionA:"Company",ItemTypeA:"Keyphrase",ItemIdB:"11_306282",ItemDescriptionB:"Stocks",ItemTypeB:"Keyphrase",Weight:.943618622421515},{ItemIdA:"11_81064",ItemDescriptionA:"Russia",ItemTypeA:"Country",ItemIdB:"11_81109",ItemDescriptionB:"Ukraine",ItemTypeB:"Country",Weight:1}],v=""+new URL("fire-7846bb9f.svg",import.meta.url).href,t=""+new URL("flag-7951e3fb.svg",import.meta.url).href,A=""+new URL("user-b3b79ba4.svg",import.meta.url).href,k=""+new URL("twitter-5cfb0014.svg",import.meta.url).href,E=""+new URL("key-87d035cf.svg",import.meta.url).href,f=""+new URL("trump-48fdb6cf.svg",import.meta.url).href,S=""+new URL("gov-c45a503f.svg",import.meta.url).href,U=""+new URL("product-bb5f9b0b.svg",import.meta.url).href,M=""+new URL("missle-6b823b69.svg",import.meta.url).href,J={title:"Demos/Use Cases",component:h},I={Incident:v,Country:t,Province:t,Place:t,Continent:t,Username:A,Person:A,"twitter.com":k,Keyphrase:E,"Donald Trump":f,GovernmentBody:S,MilitaryEquipment:M,Product:U},i=()=>{const r=B.useRef(null),[n,s]=B.useMemo(()=>{const y=[],o=[];for(const e of P){const m={id:e.ItemIdA,label:e.ItemDescriptionA,icon:I[e.ItemTypeA]||I[e.ItemDescriptionA]},p={id:e.ItemIdB,label:e.ItemDescriptionB,icon:I[e.ItemTypeB]||I[e.ItemDescriptionB]};y.push(m,p),o.push({id:`${m.id}-${p.id}`,source:m.id,target:p.id})}return[y,o]},[]),{selections:D,actives:T,onNodeClick:_,onCanvasClick:g,onNodePointerOver:K,onNodePointerOut:u}=C({ref:r,nodes:n,edges:s,pathSelectionType:"out"});return W.jsx(h,{selections:D,actives:T,onCanvasClick:g,onNodeClick:_,onNodePointerOver:K,onNodePointerOut:u,ref:r,labelType:"nodes",nodes:n,edges:s,theme:l,draggable:!0,layoutType:"forceDirected2d",edgeInterpolation:"curved"})};var c,d,a;i.parameters={...i.parameters,docs:{...(c=i.parameters)==null?void 0:c.docs,source:{originalSource:`() => { + const graphRef = useRef(null); + const [nodes, edges] = useMemo(() => { + const n: GraphNode[] = []; + const e: GraphEdge[] = []; + for (const node of cyberJson) { + const node1 = { + id: node.ItemIdA, + label: node.ItemDescriptionA, + icon: iconMap[node.ItemTypeA] || iconMap[node.ItemDescriptionA] + }; + const node2 = { + id: node.ItemIdB, + label: node.ItemDescriptionB, + icon: iconMap[node.ItemTypeB] || iconMap[node.ItemDescriptionB] + }; + n.push(node1, node2); + e.push({ + id: \`\${node1.id}-\${node2.id}\`, + source: node1.id, + target: node2.id + }); + } + return [n, e]; + }, []); + const { + selections, + actives, + onNodeClick, + onCanvasClick, + onNodePointerOver, + onNodePointerOut + } = useSelection({ + ref: graphRef, + nodes, + edges, + pathSelectionType: 'out' + }); + return ; +}`,...(a=(d=i.parameters)==null?void 0:d.docs)==null?void 0:a.source}}};export{i as CyberSecurity,J as default}; +//# sourceMappingURL=UseCases.story-69b2e666.js.map diff --git a/assets/UseCases.story-69b2e666.js.map b/assets/UseCases.story-69b2e666.js.map new file mode 100644 index 00000000..b2b6612f --- /dev/null +++ b/assets/UseCases.story-69b2e666.js.map @@ -0,0 +1 @@ +{"version":3,"file":"UseCases.story-69b2e666.js","sources":["../../docs/assets/fire.svg","../../docs/assets/flag.svg","../../docs/assets/user.svg","../../docs/assets/twitter.svg","../../docs/assets/key.svg","../../docs/assets/trump.svg","../../docs/assets/gov.svg","../../docs/assets/product.svg","../../docs/assets/missle.svg"],"sourcesContent":["export default \"__VITE_ASSET__13be3059__\"","export default \"__VITE_ASSET__6792f794__\"","export default \"__VITE_ASSET__5fb1701c__\"","export default \"__VITE_ASSET__4609027d__\"","export default \"__VITE_ASSET__d2adb5f0__\"","export default \"__VITE_ASSET__9e9cdd33__\"","export default \"__VITE_ASSET__82b02600__\"","export default \"__VITE_ASSET__3dbb797e__\"","export default \"__VITE_ASSET__9ef9afeb__\""],"names":["fireSvg","flagSvg","userSvg","twitterSvg","keySvg","trumpSvg","govSvg","productSvg","missleSvg"],"mappings":"q5gMAGAA,EAAe,GAA0B,IAAA,IAAA,oBAAA,YAAA,GAAA,EAAA,KCAzCC,EAAe,GAA0B,IAAA,IAAA,oBAAA,YAAA,GAAA,EAAA,KCAzCC,EAAe,GAA0B,IAAA,IAAA,oBAAA,YAAA,GAAA,EAAA,KCAzCC,EAAe,GAA0B,IAAA,IAAA,uBAAA,YAAA,GAAA,EAAA,KCAzCC,EAAe,GAA0B,IAAA,IAAA,mBAAA,YAAA,GAAA,EAAA,KCAzCC,EAAe,GAA0B,IAAA,IAAA,qBAAA,YAAA,GAAA,EAAA,KCAzCC,EAAe,GAA0B,IAAA,IAAA,mBAAA,YAAA,GAAA,EAAA,KCAzCC,EAAe,GAA0B,IAAA,IAAA,uBAAA,YAAA,GAAA,EAAA,KCAzCC,EAAe,GAA0B,IAAA,IAAA,sBAAA,YAAA,GAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/WithTooltip-FBT32F6Q-44391210.js b/assets/WithTooltip-FBT32F6Q-44391210.js new file mode 100644 index 00000000..7826a641 --- /dev/null +++ b/assets/WithTooltip-FBT32F6Q-44391210.js @@ -0,0 +1,2 @@ +import{W as l,W as s,a as f}from"./index-96a2bc4b.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./index-ebeaab24.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";export{l as WithToolTipState,s as WithTooltip,f as WithTooltipPure}; +//# sourceMappingURL=WithTooltip-FBT32F6Q-44391210.js.map diff --git a/assets/WithTooltip-FBT32F6Q-44391210.js.map b/assets/WithTooltip-FBT32F6Q-44391210.js.map new file mode 100644 index 00000000..12ff89e9 --- /dev/null +++ b/assets/WithTooltip-FBT32F6Q-44391210.js.map @@ -0,0 +1 @@ +{"version":3,"file":"WithTooltip-FBT32F6Q-44391210.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/chunk-4NMOSTKD-82fbb5f2.js b/assets/chunk-4NMOSTKD-82fbb5f2.js new file mode 100644 index 00000000..6984b8b5 --- /dev/null +++ b/assets/chunk-4NMOSTKD-82fbb5f2.js @@ -0,0 +1,150 @@ +import{s as K}from"./index-d475d2ea.js";const{logger:Q}=__STORYBOOK_MODULE_CLIENT_LOGGER__;var X=Object.create,N=Object.defineProperty,Z=Object.getOwnPropertyDescriptor,L=Object.getOwnPropertyNames,V=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty,We=(e,t)=>function(){return t||(0,e[L(e)[0]])((t={exports:{}}).exports,t),t.exports},te=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of L(t))!ee.call(e,n)&&n!==r&&N(e,n,{get:()=>t[n],enumerable:!(a=Z(t,n))||a.enumerable});return e},Ue=(e,t,r)=>(r=e!=null?X(V(e)):{},te(t||!e||!e.__esModule?N(r,"default",{value:e,enumerable:!0}):r,e));function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t"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 x(e,t,r){return oe()?x=Reflect.construct.bind():x=function(a,n,o){var i=[null];i.push.apply(i,n);var p=Function.bind.apply(a,i),l=new p;return o&&m(l,o.prototype),l},x.apply(null,arguments)}function z(e){var t=typeof Map=="function"?new Map:void 0;return z=function(r){if(r===null||!ne(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(r))return t.get(r);t.set(r,a)}function a(){return x(r,arguments,E(this).constructor)}return a.prototype=Object.create(r.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),m(a,r)},z(e)}var ie={1:`Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }). + +`,2:`Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }). + +`,3:`Passed an incorrect argument to a color function, please pass a string representation of a color. + +`,4:`Couldn't generate valid rgb string from %s, it returned %s. + +`,5:`Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation. + +`,6:`Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }). + +`,7:`Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }). + +`,8:`Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object. + +`,9:`Please provide a number of steps to the modularScale helper. + +`,10:`Please pass a number or one of the predefined scales to the modularScale helper as the ratio. + +`,11:`Invalid value passed as base to modularScale, expected number or em string but got "%s" + +`,12:`Expected a string ending in "px" or a number passed as the first argument to %s(), got "%s" instead. + +`,13:`Expected a string ending in "px" or a number passed as the second argument to %s(), got "%s" instead. + +`,14:`Passed invalid pixel value ("%s") to %s(), please pass a value like "12px" or 12. + +`,15:`Passed invalid base value ("%s") to %s(), please pass a value like "12px" or 12. + +`,16:`You must provide a template to this method. + +`,17:`You passed an unsupported selector state to this method. + +`,18:`minScreen and maxScreen must be provided as stringified numbers with the same units. + +`,19:`fromSize and toSize must be provided as stringified numbers with the same units. + +`,20:`expects either an array of objects or a single object with the properties prop, fromSize, and toSize. + +`,21:"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\n\n",22:"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\n\n",23:`fontFace expects a name of a font-family. + +`,24:`fontFace expects either the path to the font file(s) or a name of a local copy. + +`,25:`fontFace expects localFonts to be an array. + +`,26:`fontFace expects fileFormats to be an array. + +`,27:`radialGradient requries at least 2 color-stops to properly render. + +`,28:`Please supply a filename to retinaImage() as the first argument. + +`,29:`Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'. + +`,30:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",31:`The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation + +`,32:`To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s']) +To pass a single animation please supply them in simple values, e.g. animation('rotate', '2s') + +`,33:`The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation + +`,34:`borderRadius expects a radius value as a string or number as the second argument. + +`,35:`borderRadius expects one of "top", "bottom", "left" or "right" as the first argument. + +`,36:`Property must be a string value. + +`,37:`Syntax Error at %s. + +`,38:`Formula contains a function that needs parentheses at %s. + +`,39:`Formula is missing closing parenthesis at %s. + +`,40:`Formula has too many closing parentheses at %s. + +`,41:`All values in a formula must have the same unit or be unitless. + +`,42:`Please provide a number of steps to the modularScale helper. + +`,43:`Please pass a number or one of the predefined scales to the modularScale helper as the ratio. + +`,44:`Invalid value passed as base to modularScale, expected number or em/rem string but got %s. + +`,45:`Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object. + +`,46:`Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object. + +`,47:`minScreen and maxScreen must be provided as stringified numbers with the same units. + +`,48:`fromSize and toSize must be provided as stringified numbers with the same units. + +`,49:`Expects either an array of objects or a single object with the properties prop, fromSize, and toSize. + +`,50:`Expects the objects in the first argument array to have the properties prop, fromSize, and toSize. + +`,51:`Expects the first argument object to have the properties prop, fromSize, and toSize. + +`,52:`fontFace expects either the path to the font file(s) or a name of a local copy. + +`,53:`fontFace expects localFonts to be an array. + +`,54:`fontFace expects fileFormats to be an array. + +`,55:`fontFace expects a name of a font-family. + +`,56:`linearGradient requries at least 2 color-stops to properly render. + +`,57:`radialGradient requries at least 2 color-stops to properly render. + +`,58:`Please supply a filename to retinaImage() as the first argument. + +`,59:`Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'. + +`,60:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",61:`Property must be a string value. + +`,62:`borderRadius expects a radius value as a string or number as the second argument. + +`,63:`borderRadius expects one of "top", "bottom", "left" or "right" as the first argument. + +`,64:`The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation. + +`,65:`To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s'). + +`,66:`The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation. + +`,67:`You must provide a template to this method. + +`,68:`You passed an unsupported selector state to this method. + +`,69:`Expected a string ending in "px" or a number passed as the first argument to %s(), got %s instead. + +`,70:`Expected a string ending in "px" or a number passed as the second argument to %s(), got %s instead. + +`,71:`Passed invalid pixel value %s to %s(), please pass a value like "12px" or 12. + +`,72:`Passed invalid base value %s to %s(), please pass a value like "12px" or 12. + +`,73:`Please provide a valid CSS variable. + +`,74:`CSS variable not found and no default was provided. + +`,75:`important requires a valid style object, got a %s instead. + +`,76:`fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen. + +`,77:`remToPx expects a value in "rem" but you provided it in "%s". + +`,78:`base must be set in "px" or "%" but you set it in "%s". +`};function se(){for(var e=arguments.length,t=new Array(e),r=0;r1?n-1:0),i=1;i=0&&n<1?(p=o,l=i):n>=1&&n<2?(p=i,l=o):n>=2&&n<3?(l=o,d=i):n>=3&&n<4?(l=i,d=o):n>=4&&n<5?(p=i,d=o):n>=5&&n<6&&(p=o,d=i);var g=r-o/2,b=p+g,u=l+g,I=d+g;return a(b,u,I)}var A={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function le(e){if(typeof e!="string")return e;var t=e.toLowerCase();return A[t]?"#"+A[t]:e}var de=/^#[a-fA-F0-9]{6}$/,fe=/^#[a-fA-F0-9]{8}$/,ue=/^#[a-fA-F0-9]{3}$/,ce=/^#[a-fA-F0-9]{4}$/,j=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,ge=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,be=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,he=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function C(e){if(typeof e!="string")throw new f(3);var t=le(e);if(t.match(de))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(fe)){var r=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:r}}if(t.match(ue))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(ce)){var a=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:a}}var n=j.exec(t);if(n)return{red:parseInt(""+n[1],10),green:parseInt(""+n[2],10),blue:parseInt(""+n[3],10)};var o=ge.exec(t.substring(0,50));if(o)return{red:parseInt(""+o[1],10),green:parseInt(""+o[2],10),blue:parseInt(""+o[3],10),alpha:parseFloat(""+o[4])>1?parseFloat(""+o[4])/100:parseFloat(""+o[4])};var i=be.exec(t);if(i){var p=parseInt(""+i[1],10),l=parseInt(""+i[2],10)/100,d=parseInt(""+i[3],10)/100,g="rgb("+y(p,l,d)+")",b=j.exec(g);if(!b)throw new f(4,t,g);return{red:parseInt(""+b[1],10),green:parseInt(""+b[2],10),blue:parseInt(""+b[3],10)}}var u=he.exec(t.substring(0,50));if(u){var I=parseInt(""+u[1],10),U=parseInt(""+u[2],10)/100,J=parseInt(""+u[3],10)/100,H="rgb("+y(I,U,J)+")",F=j.exec(H);if(!F)throw new f(4,t,H);return{red:parseInt(""+F[1],10),green:parseInt(""+F[2],10),blue:parseInt(""+F[3],10),alpha:parseFloat(""+u[4])>1?parseFloat(""+u[4])/100:parseFloat(""+u[4])}}throw new f(5)}function me(e){var t=e.red/255,r=e.green/255,a=e.blue/255,n=Math.max(t,r,a),o=Math.min(t,r,a),i=(n+o)/2;if(n===o)return e.alpha!==void 0?{hue:0,saturation:0,lightness:i,alpha:e.alpha}:{hue:0,saturation:0,lightness:i};var p,l=n-o,d=i>.5?l/(2-n-o):l/(n+o);switch(n){case t:p=(r-a)/l+(r=1?w(e,t,r):"rgba("+y(e,t,r)+","+a+")";if(typeof e=="object"&&t===void 0&&r===void 0&&a===void 0)return e.alpha>=1?w(e.hue,e.saturation,e.lightness):"rgba("+y(e.hue,e.saturation,e.lightness)+","+e.alpha+")";throw new f(2)}function D(e,t,r){if(typeof e=="number"&&typeof t=="number"&&typeof r=="number")return M("#"+c(e)+c(t)+c(r));if(typeof e=="object"&&t===void 0&&r===void 0)return M("#"+c(e.red)+c(e.green)+c(e.blue));throw new f(6)}function v(e,t,r,a){if(typeof e=="string"&&typeof t=="number"){var n=C(e);return"rgba("+n.red+","+n.green+","+n.blue+","+t+")"}else{if(typeof e=="number"&&typeof t=="number"&&typeof r=="number"&&typeof a=="number")return a>=1?D(e,t,r):"rgba("+e+","+t+","+r+","+a+")";if(typeof e=="object"&&t===void 0&&r===void 0&&a===void 0)return e.alpha>=1?D(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")"}throw new f(7)}var we=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&(typeof e.alpha!="number"||typeof e.alpha>"u")},Se=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&typeof e.alpha=="number"},Ce=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&(typeof e.alpha!="number"||typeof e.alpha>"u")},Pe=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&typeof e.alpha=="number"};function Y(e){if(typeof e!="object")throw new f(8);if(Se(e))return v(e);if(we(e))return D(e);if(Pe(e))return xe(e);if(Ce(e))return Fe(e);throw new f(8)}function W(e,t,r){return function(){var a=r.concat(Array.prototype.slice.call(arguments));return a.length>=t?e.apply(this,a):W(e,t,a)}}function P(e){return W(e,e.length,[])}function k(e,t,r){return Math.max(e,Math.min(t,r))}function ke(e,t){if(t==="transparent")return t;var r=G(t);return Y(h({},r,{lightness:k(0,1,r.lightness-parseFloat(e))}))}var Ie=P(ke),Oe=Ie;function je(e,t){if(t==="transparent")return t;var r=G(t);return Y(h({},r,{lightness:k(0,1,r.lightness+parseFloat(e))}))}var Te=P(je),Be=Te;function Re(e,t){if(t==="transparent")return t;var r=C(t),a=typeof r.alpha=="number"?r.alpha:1,n=h({},r,{alpha:k(0,1,(a*100+parseFloat(e)*100)/100)});return v(n)}var _e=P(Re),Je=_e;function Ee(e,t){if(t==="transparent")return t;var r=C(t),a=typeof r.alpha=="number"?r.alpha:1,n=h({},r,{alpha:k(0,1,+(a*100-parseFloat(e)*100).toFixed(2)/100)});return v(n)}var ze=P(Ee),Me=ze,s={primary:"#FF4785",secondary:"#029CFD",tertiary:"#FAFBFC",ancillary:"#22a699",orange:"#FC521F",gold:"#FFAE00",green:"#66BF3C",seafoam:"#37D5D3",purple:"#6F2CAC",ultraviolet:"#2A0481",lightest:"#FFFFFF",lighter:"#F7FAFC",light:"#EEF3F6",mediumlight:"#ECF4F9",medium:"#D9E8F2",mediumdark:"#73828C",dark:"#5C6870",darker:"#454E54",darkest:"#2E3438",border:"hsla(203, 50%, 30%, 0.15)",positive:"#66BF3C",negative:"#FF4400",warning:"#E69D00",critical:"#FFFFFF",defaultText:"#2E3438",inverseText:"#FFFFFF",positiveText:"#448028",negativeText:"#D43900",warningText:"#A15C20"},$={app:"#F6F9FC",bar:s.lightest,content:s.lightest,gridCellSize:10,hoverable:Me(.93,s.secondary),positive:"#E1FFD4",negative:"#FEDED2",warning:"#FFF5CF",critical:"#FF4400"},S={fonts:{base:['"Nunito Sans"',"-apple-system",'".SFNSText-Regular"','"San Francisco"',"BlinkMacSystemFont",'"Segoe UI"','"Helvetica Neue"',"Helvetica","Arial","sans-serif"].join(", "),mono:["ui-monospace","Menlo","Monaco",'"Roboto Mono"','"Oxygen Mono"','"Ubuntu Monospace"','"Source Code Pro"','"Droid Sans Mono"','"Courier New"',"monospace"].join(", ")},weight:{regular:400,bold:700},size:{s1:12,s2:14,s3:16,m1:20,m2:24,m3:28,l1:32,l2:40,l3:48,code:90}},De={base:"light",colorPrimary:"#FF4785",colorSecondary:"#029CFD",appBg:$.app,appContentBg:s.lightest,appBorderColor:s.border,appBorderRadius:4,fontBase:S.fonts.base,fontCode:S.fonts.mono,textColor:s.darkest,textInverseColor:s.lightest,textMutedColor:s.mediumdark,barTextColor:s.mediumdark,barSelectedColor:s.secondary,barBg:s.lightest,buttonBg:$.app,buttonBorder:s.medium,booleanBg:s.mediumlight,booleanSelectedBg:s.lightest,inputBg:s.lightest,inputBorder:s.border,inputTextColor:s.darkest,inputBorderRadius:4},q=De,He={base:"dark",colorPrimary:"#FF4785",colorSecondary:"#029CFD",appBg:"#222425",appContentBg:"#1B1C1D",appBorderColor:"rgba(255,255,255,.1)",appBorderRadius:4,fontBase:S.fonts.base,fontCode:S.fonts.mono,textColor:"#C9CDCF",textInverseColor:"#222425",textMutedColor:"#798186",barTextColor:"#798186",barSelectedColor:s.secondary,barBg:"#292C2E",buttonBg:"#222425",buttonBorder:"rgba(255,255,255,.1)",booleanBg:"#222425",booleanSelectedBg:"#2E3438",inputBg:"#1B1C1D",inputBorder:"rgba(255,255,255,.1)",inputTextColor:s.lightest,inputBorderRadius:4},Ae=He,{window:B}=K,Ke=e=>({color:e}),$e=e=>typeof e!="string"?(Q.warn(`Color passed to theme object should be a string. Instead ${e}(${typeof e}) was passed.`),!1):!0,qe=e=>!/(gradient|var|calc)/.test(e),Ne=(e,t)=>e==="darken"?v(`${Oe(1,t)}`,.95):e==="lighten"?v(`${Be(1,t)}`,.95):t,Le=e=>t=>{if(!$e(t)||!qe(t))return t;try{return Ne(e,t)}catch{return t}},Qe=Le("lighten"),Ge=()=>!B||!B.matchMedia?"light":B.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",R={light:q,dark:Ae,normal:q},_=Ge(),Xe=(e={base:_},t)=>{let r={...R[_],...R[e.base]||{},...e,base:R[e.base]?e.base:_};return{...t,...r,barSelectedColor:e.barSelectedColor||r.colorSecondary}};export{Ue as _,We as a,$ as b,Xe as c,Je as d,R as e,h as f,Ge as g,s as h,Qe as i,q as l,Ke as m,S as t}; +//# sourceMappingURL=chunk-4NMOSTKD-82fbb5f2.js.map diff --git a/assets/chunk-4NMOSTKD-82fbb5f2.js.map b/assets/chunk-4NMOSTKD-82fbb5f2.js.map new file mode 100644 index 00000000..426dfba8 --- /dev/null +++ b/assets/chunk-4NMOSTKD-82fbb5f2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"chunk-4NMOSTKD-82fbb5f2.js","sources":["../../node_modules/@storybook/theming/dist/chunk-4NMOSTKD.mjs"],"sourcesContent":["import { global } from '@storybook/global';\nimport { logger } from '@storybook/client-logger';\n\nvar __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){return mod||(0, cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==\"object\"||typeof from==\"function\")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,\"default\",{value:mod,enumerable:!0}):target,mod));function _extends(){return _extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i\"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 _construct(Parent,args,Class){return _isNativeReflectConstruct()?_construct=Reflect.construct.bind():_construct=function(Parent2,args2,Class2){var a=[null];a.push.apply(a,args2);var Constructor=Function.bind.apply(Parent2,a),instance=new Constructor;return Class2&&_setPrototypeOf(instance,Class2.prototype),instance},_construct.apply(null,arguments)}function _wrapNativeSuper(Class){var _cache=typeof Map==\"function\"?new Map:void 0;return _wrapNativeSuper=function(Class2){if(Class2===null||!_isNativeFunction(Class2))return Class2;if(typeof Class2!=\"function\")throw new TypeError(\"Super expression must either be null or a function\");if(typeof _cache<\"u\"){if(_cache.has(Class2))return _cache.get(Class2);_cache.set(Class2,Wrapper);}function Wrapper(){return _construct(Class2,arguments,_getPrototypeOf(this).constructor)}return Wrapper.prototype=Object.create(Class2.prototype,{constructor:{value:Wrapper,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(Wrapper,Class2)},_wrapNativeSuper(Class)}var ERRORS={1:`Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\n\n`,2:`Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\n\n`,3:`Passed an incorrect argument to a color function, please pass a string representation of a color.\n\n`,4:`Couldn't generate valid rgb string from %s, it returned %s.\n\n`,5:`Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\n\n`,6:`Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\n\n`,7:`Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\n\n`,8:`Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\n\n`,9:`Please provide a number of steps to the modularScale helper.\n\n`,10:`Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n`,11:`Invalid value passed as base to modularScale, expected number or em string but got \"%s\"\n\n`,12:`Expected a string ending in \"px\" or a number passed as the first argument to %s(), got \"%s\" instead.\n\n`,13:`Expected a string ending in \"px\" or a number passed as the second argument to %s(), got \"%s\" instead.\n\n`,14:`Passed invalid pixel value (\"%s\") to %s(), please pass a value like \"12px\" or 12.\n\n`,15:`Passed invalid base value (\"%s\") to %s(), please pass a value like \"12px\" or 12.\n\n`,16:`You must provide a template to this method.\n\n`,17:`You passed an unsupported selector state to this method.\n\n`,18:`minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n`,19:`fromSize and toSize must be provided as stringified numbers with the same units.\n\n`,20:`expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n`,21:\"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",22:\"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",23:`fontFace expects a name of a font-family.\n\n`,24:`fontFace expects either the path to the font file(s) or a name of a local copy.\n\n`,25:`fontFace expects localFonts to be an array.\n\n`,26:`fontFace expects fileFormats to be an array.\n\n`,27:`radialGradient requries at least 2 color-stops to properly render.\n\n`,28:`Please supply a filename to retinaImage() as the first argument.\n\n`,29:`Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n`,30:\"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",31:`The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\n\n`,32:`To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\n\n`,33:`The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\n\n`,34:`borderRadius expects a radius value as a string or number as the second argument.\n\n`,35:`borderRadius expects one of \"top\", \"bottom\", \"left\" or \"right\" as the first argument.\n\n`,36:`Property must be a string value.\n\n`,37:`Syntax Error at %s.\n\n`,38:`Formula contains a function that needs parentheses at %s.\n\n`,39:`Formula is missing closing parenthesis at %s.\n\n`,40:`Formula has too many closing parentheses at %s.\n\n`,41:`All values in a formula must have the same unit or be unitless.\n\n`,42:`Please provide a number of steps to the modularScale helper.\n\n`,43:`Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n`,44:`Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\n\n`,45:`Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\n\n`,46:`Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\n\n`,47:`minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n`,48:`fromSize and toSize must be provided as stringified numbers with the same units.\n\n`,49:`Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n`,50:`Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\n\n`,51:`Expects the first argument object to have the properties prop, fromSize, and toSize.\n\n`,52:`fontFace expects either the path to the font file(s) or a name of a local copy.\n\n`,53:`fontFace expects localFonts to be an array.\n\n`,54:`fontFace expects fileFormats to be an array.\n\n`,55:`fontFace expects a name of a font-family.\n\n`,56:`linearGradient requries at least 2 color-stops to properly render.\n\n`,57:`radialGradient requries at least 2 color-stops to properly render.\n\n`,58:`Please supply a filename to retinaImage() as the first argument.\n\n`,59:`Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n`,60:\"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",61:`Property must be a string value.\n\n`,62:`borderRadius expects a radius value as a string or number as the second argument.\n\n`,63:`borderRadius expects one of \"top\", \"bottom\", \"left\" or \"right\" as the first argument.\n\n`,64:`The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\n\n`,65:`To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\n\n`,66:`The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\n\n`,67:`You must provide a template to this method.\n\n`,68:`You passed an unsupported selector state to this method.\n\n`,69:`Expected a string ending in \"px\" or a number passed as the first argument to %s(), got %s instead.\n\n`,70:`Expected a string ending in \"px\" or a number passed as the second argument to %s(), got %s instead.\n\n`,71:`Passed invalid pixel value %s to %s(), please pass a value like \"12px\" or 12.\n\n`,72:`Passed invalid base value %s to %s(), please pass a value like \"12px\" or 12.\n\n`,73:`Please provide a valid CSS variable.\n\n`,74:`CSS variable not found and no default was provided.\n\n`,75:`important requires a valid style object, got a %s instead.\n\n`,76:`fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\n\n`,77:`remToPx expects a value in \"rem\" but you provided it in \"%s\".\n\n`,78:`base must be set in \"px\" or \"%\" but you set it in \"%s\".\n`};function format(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];var a=args[0],b=[],c;for(c=1;c1?_len2-1:0),_key2=1;_key2<_len2;_key2++)args[_key2-1]=arguments[_key2];return _this=_Error.call(this,format.apply(void 0,[ERRORS[code]].concat(args)))||this,_assertThisInitialized(_this)}return PolishedError2}(_wrapNativeSuper(Error));function colorToInt(color2){return Math.round(color2*255)}function convertToInt(red,green,blue){return colorToInt(red)+\",\"+colorToInt(green)+\",\"+colorToInt(blue)}function hslToRgb(hue,saturation,lightness,convert){if(convert===void 0&&(convert=convertToInt),saturation===0)return convert(lightness,lightness,lightness);var huePrime=(hue%360+360)%360/60,chroma=(1-Math.abs(2*lightness-1))*saturation,secondComponent=chroma*(1-Math.abs(huePrime%2-1)),red=0,green=0,blue=0;huePrime>=0&&huePrime<1?(red=chroma,green=secondComponent):huePrime>=1&&huePrime<2?(red=secondComponent,green=chroma):huePrime>=2&&huePrime<3?(green=chroma,blue=secondComponent):huePrime>=3&&huePrime<4?(green=secondComponent,blue=chroma):huePrime>=4&&huePrime<5?(red=secondComponent,blue=chroma):huePrime>=5&&huePrime<6&&(red=chroma,blue=secondComponent);var lightnessModification=lightness-chroma/2,finalRed=red+lightnessModification,finalGreen=green+lightnessModification,finalBlue=blue+lightnessModification;return convert(finalRed,finalGreen,finalBlue)}var namedColorMap={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"00ffff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"0000ff\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"00ffff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"ff00ff\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"639\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"};function nameToHex(color2){if(typeof color2!=\"string\")return color2;var normalizedColorName=color2.toLowerCase();return namedColorMap[normalizedColorName]?\"#\"+namedColorMap[normalizedColorName]:color2}var hexRegex=/^#[a-fA-F0-9]{6}$/,hexRgbaRegex=/^#[a-fA-F0-9]{8}$/,reducedHexRegex=/^#[a-fA-F0-9]{3}$/,reducedRgbaHexRegex=/^#[a-fA-F0-9]{4}$/,rgbRegex=/^rgb\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*\\)$/i,rgbaRegex=/^rgb(?:a)?\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i,hslRegex=/^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i,hslaRegex=/^hsl(?:a)?\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;function parseToRgb(color2){if(typeof color2!=\"string\")throw new PolishedError(3);var normalizedColor=nameToHex(color2);if(normalizedColor.match(hexRegex))return {red:parseInt(\"\"+normalizedColor[1]+normalizedColor[2],16),green:parseInt(\"\"+normalizedColor[3]+normalizedColor[4],16),blue:parseInt(\"\"+normalizedColor[5]+normalizedColor[6],16)};if(normalizedColor.match(hexRgbaRegex)){var alpha=parseFloat((parseInt(\"\"+normalizedColor[7]+normalizedColor[8],16)/255).toFixed(2));return {red:parseInt(\"\"+normalizedColor[1]+normalizedColor[2],16),green:parseInt(\"\"+normalizedColor[3]+normalizedColor[4],16),blue:parseInt(\"\"+normalizedColor[5]+normalizedColor[6],16),alpha}}if(normalizedColor.match(reducedHexRegex))return {red:parseInt(\"\"+normalizedColor[1]+normalizedColor[1],16),green:parseInt(\"\"+normalizedColor[2]+normalizedColor[2],16),blue:parseInt(\"\"+normalizedColor[3]+normalizedColor[3],16)};if(normalizedColor.match(reducedRgbaHexRegex)){var _alpha=parseFloat((parseInt(\"\"+normalizedColor[4]+normalizedColor[4],16)/255).toFixed(2));return {red:parseInt(\"\"+normalizedColor[1]+normalizedColor[1],16),green:parseInt(\"\"+normalizedColor[2]+normalizedColor[2],16),blue:parseInt(\"\"+normalizedColor[3]+normalizedColor[3],16),alpha:_alpha}}var rgbMatched=rgbRegex.exec(normalizedColor);if(rgbMatched)return {red:parseInt(\"\"+rgbMatched[1],10),green:parseInt(\"\"+rgbMatched[2],10),blue:parseInt(\"\"+rgbMatched[3],10)};var rgbaMatched=rgbaRegex.exec(normalizedColor.substring(0,50));if(rgbaMatched)return {red:parseInt(\"\"+rgbaMatched[1],10),green:parseInt(\"\"+rgbaMatched[2],10),blue:parseInt(\"\"+rgbaMatched[3],10),alpha:parseFloat(\"\"+rgbaMatched[4])>1?parseFloat(\"\"+rgbaMatched[4])/100:parseFloat(\"\"+rgbaMatched[4])};var hslMatched=hslRegex.exec(normalizedColor);if(hslMatched){var hue=parseInt(\"\"+hslMatched[1],10),saturation=parseInt(\"\"+hslMatched[2],10)/100,lightness=parseInt(\"\"+hslMatched[3],10)/100,rgbColorString=\"rgb(\"+hslToRgb(hue,saturation,lightness)+\")\",hslRgbMatched=rgbRegex.exec(rgbColorString);if(!hslRgbMatched)throw new PolishedError(4,normalizedColor,rgbColorString);return {red:parseInt(\"\"+hslRgbMatched[1],10),green:parseInt(\"\"+hslRgbMatched[2],10),blue:parseInt(\"\"+hslRgbMatched[3],10)}}var hslaMatched=hslaRegex.exec(normalizedColor.substring(0,50));if(hslaMatched){var _hue=parseInt(\"\"+hslaMatched[1],10),_saturation=parseInt(\"\"+hslaMatched[2],10)/100,_lightness=parseInt(\"\"+hslaMatched[3],10)/100,_rgbColorString=\"rgb(\"+hslToRgb(_hue,_saturation,_lightness)+\")\",_hslRgbMatched=rgbRegex.exec(_rgbColorString);if(!_hslRgbMatched)throw new PolishedError(4,normalizedColor,_rgbColorString);return {red:parseInt(\"\"+_hslRgbMatched[1],10),green:parseInt(\"\"+_hslRgbMatched[2],10),blue:parseInt(\"\"+_hslRgbMatched[3],10),alpha:parseFloat(\"\"+hslaMatched[4])>1?parseFloat(\"\"+hslaMatched[4])/100:parseFloat(\"\"+hslaMatched[4])}}throw new PolishedError(5)}function rgbToHsl(color2){var red=color2.red/255,green=color2.green/255,blue=color2.blue/255,max=Math.max(red,green,blue),min=Math.min(red,green,blue),lightness=(max+min)/2;if(max===min)return color2.alpha!==void 0?{hue:0,saturation:0,lightness,alpha:color2.alpha}:{hue:0,saturation:0,lightness};var hue,delta=max-min,saturation=lightness>.5?delta/(2-max-min):delta/(max+min);switch(max){case red:hue=(green-blue)/delta+(green=1?hslToHex(value,saturation,lightness):\"rgba(\"+hslToRgb(value,saturation,lightness)+\",\"+alpha+\")\";if(typeof value==\"object\"&&saturation===void 0&&lightness===void 0&&alpha===void 0)return value.alpha>=1?hslToHex(value.hue,value.saturation,value.lightness):\"rgba(\"+hslToRgb(value.hue,value.saturation,value.lightness)+\",\"+value.alpha+\")\";throw new PolishedError(2)}function rgb(value,green,blue){if(typeof value==\"number\"&&typeof green==\"number\"&&typeof blue==\"number\")return reduceHexValue$1(\"#\"+numberToHex(value)+numberToHex(green)+numberToHex(blue));if(typeof value==\"object\"&&green===void 0&&blue===void 0)return reduceHexValue$1(\"#\"+numberToHex(value.red)+numberToHex(value.green)+numberToHex(value.blue));throw new PolishedError(6)}function rgba(firstValue,secondValue,thirdValue,fourthValue){if(typeof firstValue==\"string\"&&typeof secondValue==\"number\"){var rgbValue=parseToRgb(firstValue);return \"rgba(\"+rgbValue.red+\",\"+rgbValue.green+\",\"+rgbValue.blue+\",\"+secondValue+\")\"}else {if(typeof firstValue==\"number\"&&typeof secondValue==\"number\"&&typeof thirdValue==\"number\"&&typeof fourthValue==\"number\")return fourthValue>=1?rgb(firstValue,secondValue,thirdValue):\"rgba(\"+firstValue+\",\"+secondValue+\",\"+thirdValue+\",\"+fourthValue+\")\";if(typeof firstValue==\"object\"&&secondValue===void 0&&thirdValue===void 0&&fourthValue===void 0)return firstValue.alpha>=1?rgb(firstValue.red,firstValue.green,firstValue.blue):\"rgba(\"+firstValue.red+\",\"+firstValue.green+\",\"+firstValue.blue+\",\"+firstValue.alpha+\")\"}throw new PolishedError(7)}var isRgb=function(color2){return typeof color2.red==\"number\"&&typeof color2.green==\"number\"&&typeof color2.blue==\"number\"&&(typeof color2.alpha!=\"number\"||typeof color2.alpha>\"u\")},isRgba=function(color2){return typeof color2.red==\"number\"&&typeof color2.green==\"number\"&&typeof color2.blue==\"number\"&&typeof color2.alpha==\"number\"},isHsl=function(color2){return typeof color2.hue==\"number\"&&typeof color2.saturation==\"number\"&&typeof color2.lightness==\"number\"&&(typeof color2.alpha!=\"number\"||typeof color2.alpha>\"u\")},isHsla=function(color2){return typeof color2.hue==\"number\"&&typeof color2.saturation==\"number\"&&typeof color2.lightness==\"number\"&&typeof color2.alpha==\"number\"};function toColorString(color2){if(typeof color2!=\"object\")throw new PolishedError(8);if(isRgba(color2))return rgba(color2);if(isRgb(color2))return rgb(color2);if(isHsla(color2))return hsla(color2);if(isHsl(color2))return hsl(color2);throw new PolishedError(8)}function curried(f,length,acc){return function(){var combined=acc.concat(Array.prototype.slice.call(arguments));return combined.length>=length?f.apply(this,combined):curried(f,length,combined)}}function curry(f){return curried(f,f.length,[])}function guard(lowerBoundary,upperBoundary,value){return Math.max(lowerBoundary,Math.min(upperBoundary,value))}function darken(amount,color2){if(color2===\"transparent\")return color2;var hslColor=parseToHsl(color2);return toColorString(_extends({},hslColor,{lightness:guard(0,1,hslColor.lightness-parseFloat(amount))}))}var curriedDarken=curry(darken),curriedDarken$1=curriedDarken;function lighten(amount,color2){if(color2===\"transparent\")return color2;var hslColor=parseToHsl(color2);return toColorString(_extends({},hslColor,{lightness:guard(0,1,hslColor.lightness+parseFloat(amount))}))}var curriedLighten=curry(lighten),curriedLighten$1=curriedLighten;function opacify(amount,color2){if(color2===\"transparent\")return color2;var parsedColor=parseToRgb(color2),alpha=typeof parsedColor.alpha==\"number\"?parsedColor.alpha:1,colorWithAlpha=_extends({},parsedColor,{alpha:guard(0,1,(alpha*100+parseFloat(amount)*100)/100)});return rgba(colorWithAlpha)}var curriedOpacify=curry(opacify),curriedOpacify$1=curriedOpacify;function transparentize(amount,color2){if(color2===\"transparent\")return color2;var parsedColor=parseToRgb(color2),alpha=typeof parsedColor.alpha==\"number\"?parsedColor.alpha:1,colorWithAlpha=_extends({},parsedColor,{alpha:guard(0,1,+(alpha*100-parseFloat(amount)*100).toFixed(2)/100)});return rgba(colorWithAlpha)}var curriedTransparentize=curry(transparentize),curriedTransparentize$1=curriedTransparentize;var color={primary:\"#FF4785\",secondary:\"#029CFD\",tertiary:\"#FAFBFC\",ancillary:\"#22a699\",orange:\"#FC521F\",gold:\"#FFAE00\",green:\"#66BF3C\",seafoam:\"#37D5D3\",purple:\"#6F2CAC\",ultraviolet:\"#2A0481\",lightest:\"#FFFFFF\",lighter:\"#F7FAFC\",light:\"#EEF3F6\",mediumlight:\"#ECF4F9\",medium:\"#D9E8F2\",mediumdark:\"#73828C\",dark:\"#5C6870\",darker:\"#454E54\",darkest:\"#2E3438\",border:\"hsla(203, 50%, 30%, 0.15)\",positive:\"#66BF3C\",negative:\"#FF4400\",warning:\"#E69D00\",critical:\"#FFFFFF\",defaultText:\"#2E3438\",inverseText:\"#FFFFFF\",positiveText:\"#448028\",negativeText:\"#D43900\",warningText:\"#A15C20\"},background={app:\"#F6F9FC\",bar:color.lightest,content:color.lightest,gridCellSize:10,hoverable:curriedTransparentize$1(.93,color.secondary),positive:\"#E1FFD4\",negative:\"#FEDED2\",warning:\"#FFF5CF\",critical:\"#FF4400\"},typography={fonts:{base:['\"Nunito Sans\"',\"-apple-system\",'\".SFNSText-Regular\"','\"San Francisco\"',\"BlinkMacSystemFont\",'\"Segoe UI\"','\"Helvetica Neue\"',\"Helvetica\",\"Arial\",\"sans-serif\"].join(\", \"),mono:[\"ui-monospace\",\"Menlo\",\"Monaco\",'\"Roboto Mono\"','\"Oxygen Mono\"','\"Ubuntu Monospace\"','\"Source Code Pro\"','\"Droid Sans Mono\"','\"Courier New\"',\"monospace\"].join(\", \")},weight:{regular:400,bold:700},size:{s1:12,s2:14,s3:16,m1:20,m2:24,m3:28,l1:32,l2:40,l3:48,code:90}};var theme={base:\"light\",colorPrimary:\"#FF4785\",colorSecondary:\"#029CFD\",appBg:background.app,appContentBg:color.lightest,appBorderColor:color.border,appBorderRadius:4,fontBase:typography.fonts.base,fontCode:typography.fonts.mono,textColor:color.darkest,textInverseColor:color.lightest,textMutedColor:color.mediumdark,barTextColor:color.mediumdark,barSelectedColor:color.secondary,barBg:color.lightest,buttonBg:background.app,buttonBorder:color.medium,booleanBg:color.mediumlight,booleanSelectedBg:color.lightest,inputBg:color.lightest,inputBorder:color.border,inputTextColor:color.darkest,inputBorderRadius:4},light_default=theme;var theme2={base:\"dark\",colorPrimary:\"#FF4785\",colorSecondary:\"#029CFD\",appBg:\"#222425\",appContentBg:\"#1B1C1D\",appBorderColor:\"rgba(255,255,255,.1)\",appBorderRadius:4,fontBase:typography.fonts.base,fontCode:typography.fonts.mono,textColor:\"#C9CDCF\",textInverseColor:\"#222425\",textMutedColor:\"#798186\",barTextColor:\"#798186\",barSelectedColor:color.secondary,barBg:\"#292C2E\",buttonBg:\"#222425\",buttonBorder:\"rgba(255,255,255,.1)\",booleanBg:\"#222425\",booleanSelectedBg:\"#2E3438\",inputBg:\"#1B1C1D\",inputBorder:\"rgba(255,255,255,.1)\",inputTextColor:color.lightest,inputBorderRadius:4},dark_default=theme2;var {window:globalWindow}=global,mkColor=color2=>({color:color2}),isColorString=color2=>typeof color2!=\"string\"?(logger.warn(`Color passed to theme object should be a string. Instead ${color2}(${typeof color2}) was passed.`),!1):!0,isValidColorForPolished=color2=>!/(gradient|var|calc)/.test(color2),applyPolished=(type,color2)=>type===\"darken\"?rgba(`${curriedDarken$1(1,color2)}`,.95):type===\"lighten\"?rgba(`${curriedLighten$1(1,color2)}`,.95):color2,colorFactory=type=>color2=>{if(!isColorString(color2)||!isValidColorForPolished(color2))return color2;try{return applyPolished(type,color2)}catch{return color2}},lightenColor=colorFactory(\"lighten\"),darkenColor=colorFactory(\"darken\"),getPreferredColorScheme=()=>!globalWindow||!globalWindow.matchMedia?\"light\":globalWindow.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\";var themes={light:light_default,dark:dark_default,normal:light_default},preferredColorScheme=getPreferredColorScheme(),create=(vars={base:preferredColorScheme},rest)=>{let inherit={...themes[preferredColorScheme],...themes[vars.base]||{},...vars,base:themes[vars.base]?vars.base:preferredColorScheme};return {...rest,...inherit,barSelectedColor:vars.barSelectedColor||inherit.colorSecondary}};\n\nexport { __commonJS, __toESM, _extends, background, color, create, curriedOpacify$1, darkenColor, getPreferredColorScheme, light_default, lightenColor, mkColor, themes, typography };\n"],"names":["logger","__create","__defProp","__getOwnPropDesc","__getOwnPropNames","__getProtoOf","__hasOwnProp","__commonJS","cb","mod","__copyProps","to","from","except","desc","key","__toESM","isNodeMode","target","_extends","i","source","_assertThisInitialized","self","_setPrototypeOf","o","p","o2","p2","_inheritsLoose","subClass","superClass","_getPrototypeOf","_isNativeFunction","fn","_isNativeReflectConstruct","_construct","Parent","args","Class","Parent2","args2","Class2","a","Constructor","instance","_wrapNativeSuper","_cache","Wrapper","ERRORS","format","_len","_key","b","c","d","PolishedError","_Error","PolishedError2","code","_this","_len2","_key2","colorToInt","color2","convertToInt","red","green","blue","hslToRgb","hue","saturation","lightness","convert","huePrime","chroma","secondComponent","lightnessModification","finalRed","finalGreen","finalBlue","namedColorMap","nameToHex","normalizedColorName","hexRegex","hexRgbaRegex","reducedHexRegex","reducedRgbaHexRegex","rgbRegex","rgbaRegex","hslRegex","hslaRegex","parseToRgb","normalizedColor","alpha","_alpha","rgbMatched","rgbaMatched","hslMatched","rgbColorString","hslRgbMatched","hslaMatched","_hue","_saturation","_lightness","_rgbColorString","_hslRgbMatched","rgbToHsl","max","min","delta","parseToHsl","reduceHexValue","value","reduceHexValue$1","numberToHex","hex","colorToHex","convertToHex","hslToHex","hsl","hsla","rgb","rgba","firstValue","secondValue","thirdValue","fourthValue","rgbValue","isRgb","isRgba","isHsl","isHsla","toColorString","curried","f","length","acc","combined","curry","guard","lowerBoundary","upperBoundary","darken","amount","hslColor","curriedDarken","curriedDarken$1","lighten","curriedLighten","curriedLighten$1","opacify","parsedColor","colorWithAlpha","curriedOpacify","curriedOpacify$1","transparentize","curriedTransparentize","curriedTransparentize$1","color","background","typography","theme","light_default","theme2","dark_default","globalWindow","global","mkColor","isColorString","isValidColorForPolished","applyPolished","type","colorFactory","lightenColor","getPreferredColorScheme","themes","preferredColorScheme","create","vars","rest","inherit"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/assets/client-180092d5.js b/assets/client-180092d5.js new file mode 100644 index 00000000..f72dcba7 --- /dev/null +++ b/assets/client-180092d5.js @@ -0,0 +1,2 @@ +import{r}from"./index-9c09ad76.js";var o={},a,t=r;a=o.createRoot=t.createRoot,o.hydrateRoot=t.hydrateRoot;export{a,o as c}; +//# sourceMappingURL=client-180092d5.js.map diff --git a/assets/client-180092d5.js.map b/assets/client-180092d5.js.map new file mode 100644 index 00000000..f1f44830 --- /dev/null +++ b/assets/client-180092d5.js.map @@ -0,0 +1 @@ +{"version":3,"file":"client-180092d5.js","sources":["../../node_modules/react-dom/client.js"],"sourcesContent":["'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n"],"names":["m","require$$0","createRoot","client"],"mappings":"8CAEIA,EAAIC,EAENC,EAAkBC,EAAA,WAAGH,EAAE,WACJG,EAAA,YAAGH,EAAE","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/assets/computer-ee8dcbb6.svg b/assets/computer-ee8dcbb6.svg new file mode 100644 index 00000000..1b7d6874 --- /dev/null +++ b/assets/computer-ee8dcbb6.svg @@ -0,0 +1 @@ + diff --git a/assets/config-4826b8d2.js b/assets/config-4826b8d2.js new file mode 100644 index 00000000..1c49a9a2 --- /dev/null +++ b/assets/config-4826b8d2.js @@ -0,0 +1,55 @@ +import{s as Xn}from"./index-d475d2ea.js";import{g as ft,R as Le,r as Pe,c as lt,a as Hn}from"./index-ebeaab24.js";import{u as Ur,r as Qn}from"./react-18-c518c876.js";import{b as _i,c as Yn,d as Ei,u as Kn,e as Zn,f as es,S as ts,g as rs,h as te,j as is,k as Gr,l as Wr,m as pt,n as ns,o as ss,T as zr,p as as}from"./index-84cea9da.js";import{d as os}from"./index-356e4a49.js";import"./client-180092d5.js";import"./index-9c09ad76.js";var us=_i,ls=Yn,cs=Ei,hs="[object String]";function fs(e){return typeof e=="string"||!ls(e)&&cs(e)&&us(e)==hs}var ps=fs;const ds=ft(ps);var Ci={exports:{}},ms="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",gs=ms,ys=gs;function Ai(){}function wi(){}wi.resetWarningCache=Ai;var vs=function(){function e(i,s,a,c,f,p){if(p!==ys){var y=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 y.name="Invariant Violation",y}}e.isRequired=e;function t(){return e}var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:wi,resetWarningCache:Ai};return r.PropTypes=r,r};Ci.exports=vs();var xs=Ci.exports;const $r=ft(xs);var{FRAMEWORK_OPTIONS:Yt}=Xn,Bu=(e,t)=>{let{id:r,component:i}=t;if(!i)throw new Error(`Unable to render story ${r} as the component annotation is missing from the default export`);return Le.createElement(i,{...e})},bs=class extends Pe.Component{constructor(){super(...arguments),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidMount(){let{hasError:e}=this.state,{showMain:t}=this.props;e||t()}componentDidCatch(e){let{showException:t}=this.props;t(e)}render(){let{hasError:e}=this.state,{children:t}=this.props;return e?null:t}},Jr=Yt!=null&&Yt.strictMode?Pe.StrictMode:Pe.Fragment;async function Du({storyContext:e,unboundStoryFn:t,showMain:r,showException:i,forceRemount:s},a){let c=Le.createElement(bs,{showMain:r,showException:i},Le.createElement(t,{...e})),f=Jr?Le.createElement(Jr,null,c):c;return s&&Ur(a),await Qn(f,a),()=>Ur(a)}const Ss=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"];var _s=Ss;const Es=ft(_s);var ki={},Ti={};(function(e){(function t(r){var i,s,a,c,f,p;function y(m){var x={},_,k;for(_ in m)m.hasOwnProperty(_)&&(k=m[_],typeof k=="object"&&k!==null?x[_]=y(k):x[_]=k);return x}function g(m,x){var _,k,B,R;for(k=m.length,B=0;k;)_=k>>>1,R=B+_,x(m[R])?k=_:(B=R+1,k-=_+1);return B}i={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ChainExpression:"ChainExpression",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ComprehensionBlock:"ComprehensionBlock",ComprehensionExpression:"ComprehensionExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DirectiveStatement:"DirectiveStatement",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",GeneratorExpression:"GeneratorExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportExpression:"ImportExpression",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",ModuleSpecifier:"ModuleSpecifier",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",PrivateIdentifier:"PrivateIdentifier",Program:"Program",Property:"Property",PropertyDefinition:"PropertyDefinition",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"},a={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ComprehensionBlock:["left","right"],ComprehensionExpression:["blocks","filter","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],GeneratorExpression:["blocks","filter","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportExpression:["source"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],ModuleSpecifier:[],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},c={},f={},p={},s={Break:c,Skip:f,Remove:p};function b(m,x){this.parent=m,this.key=x}b.prototype.replace=function(x){this.parent[this.key]=x},b.prototype.remove=function(){return Array.isArray(this.parent)?(this.parent.splice(this.key,1),!0):(this.replace(null),!1)};function E(m,x,_,k){this.node=m,this.path=x,this.wrap=_,this.ref=k}function S(){}S.prototype.path=function(){var x,_,k,B,R,G;function q(D,H){if(Array.isArray(H))for(k=0,B=H.length;k=0;--_)if(m[_].node===x)return!0;return!1}S.prototype.traverse=function(x,_){var k,B,R,G,q,D,H,ne,ue,ie,Q,be;for(this.__initialize(x,_),be={},k=this.__worklist,B=this.__leavelist,k.push(new E(x,null,null,null)),B.push(new E(null,null,null,null));k.length;){if(R=k.pop(),R===be){if(R=B.pop(),D=this.__execute(_.leave,R),this.__state===c||D===c)return;continue}if(R.node){if(D=this.__execute(_.enter,R),this.__state===c||D===c)return;if(k.push(be),B.push(R),this.__state===f||D===f)continue;if(G=R.node,q=G.type||R.wrap,ie=this.__keys[q],!ie)if(this.__fallback)ie=this.__fallback(G);else throw new Error("Unknown node type "+q+".");for(ne=ie.length;(ne-=1)>=0;)if(H=ie[ne],Q=G[H],!!Q){if(Array.isArray(Q)){for(ue=Q.length;(ue-=1)>=0;)if(Q[ue]&&!P(B,Q[ue])){if(v(q,ie[ne]))R=new E(Q[ue],[H,ue],"Property",null);else if(C(Q[ue]))R=new E(Q[ue],[H,ue],null,null);else continue;k.push(R)}}else if(C(Q)){if(P(B,Q))continue;k.push(new E(Q,H,null,null))}}}}},S.prototype.replace=function(x,_){var k,B,R,G,q,D,H,ne,ue,ie,Q,be,we;function M(je){var tt,rt,K,ge;if(je.ref.remove()){for(rt=je.ref.key,ge=je.ref.parent,tt=k.length;tt--;)if(K=k[tt],K.ref&&K.ref.parent===ge){if(K.ref.key=0;)if(we=ue[H],ie=R[we],!!ie)if(Array.isArray(ie)){for(ne=ie.length;(ne-=1)>=0;)if(ie[ne]){if(v(G,ue[H]))D=new E(ie[ne],[we,ne],"Property",new b(ie,ne));else if(C(ie[ne]))D=new E(ie[ne],[we,ne],null,new b(ie,ne));else continue;k.push(D)}}else C(ie)&&k.push(new E(ie,we,null,new b(R,we)))}}return be.root};function O(m,x){var _=new S;return _.traverse(m,x)}function L(m,x){var _=new S;return _.replace(m,x)}function V(m,x){var _;return _=g(x,function(B){return B.range[0]>m.range[0]}),m.extendedRange=[m.range[0],m.range[1]],_!==x.length&&(m.extendedRange[1]=x[_].range[0]),_-=1,_>=0&&(m.extendedRange[0]=x[_].range[1]),m}function A(m,x,_){var k=[],B,R,G,q;if(!m.range)throw new Error("attachComments needs range information");if(!_.length){if(x.length){for(G=0,R=x.length;GD.range[0]));)H.extendedRange[1]===D.range[0]?(D.leadingComments||(D.leadingComments=[]),D.leadingComments.push(H),k.splice(q,1)):q+=1;if(q===k.length)return s.Break;if(k[q].extendedRange[0]>D.range[1])return s.Skip}}),q=0,O(m,{leave:function(D){for(var H;qD.range[1])return s.Skip}}),m}return r.Syntax=i,r.traverse=O,r.replace=L,r.attachComments=A,r.VisitorKeys=a,r.VisitorOption=s,r.Controller=S,r.cloneEnvironment=function(){return t({})},r})(e)})(Ti);var nt={},Kt={},_t={},Et={},Xr;function Cs(){if(Xr)return Et;Xr=1;var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");return Et.encode=function(t){if(0<=t&&t>1;return p?-y:y}return _t.encode=function(p){var y="",g,b=a(p);do g=b&i,b>>>=t,b>0&&(g|=s),y+=e.encode(g);while(b>0);return y},_t.decode=function(p,y,g){var b=p.length,E=0,S=0,C,v;do{if(y>=b)throw new Error("Expected more digits in base 64 VLQ value.");if(v=e.decode(p.charCodeAt(y++)),v===-1)throw new Error("Invalid base64 digit: "+p.charAt(y-1));C=!!(v&s),v&=i,E=E+(v<=0;G--)B=k[G],B==="."?k.splice(G,1):B===".."?R++:R>0&&(B===""?(k.splice(G+1,R),R=0):(k.splice(G,2),R--));return m=k.join("/"),m===""&&(m=_?"/":"."),x?(x.path=m,a(x)):m}e.normalize=c;function f(A,m){A===""&&(A="."),m===""&&(m=".");var x=s(m),_=s(A);if(_&&(A=_.path||"/"),x&&!x.scheme)return _&&(x.scheme=_.scheme),a(x);if(x||m.match(i))return m;if(_&&!_.host&&!_.path)return _.host=m,a(_);var k=m.charAt(0)==="/"?m:c(A.replace(/\/+$/,"")+"/"+m);return _?(_.path=k,a(_)):k}e.join=f,e.isAbsolute=function(A){return A.charAt(0)==="/"||r.test(A)};function p(A,m){A===""&&(A="."),A=A.replace(/\/$/,"");for(var x=0;m.indexOf(A+"/")!==0;){var _=A.lastIndexOf("/");if(_<0||(A=A.slice(0,_),A.match(/^([^\/]+:\/)?\/*$/)))return m;++x}return Array(x+1).join("../")+m.substr(A.length+1)}e.relative=p;var y=function(){var A=Object.create(null);return!("__proto__"in A)}();function g(A){return A}function b(A){return S(A)?"$"+A:A}e.toSetString=y?g:b;function E(A){return S(A)?A.slice(1):A}e.fromSetString=y?g:E;function S(A){if(!A)return!1;var m=A.length;if(m<9||A.charCodeAt(m-1)!==95||A.charCodeAt(m-2)!==95||A.charCodeAt(m-3)!==111||A.charCodeAt(m-4)!==116||A.charCodeAt(m-5)!==111||A.charCodeAt(m-6)!==114||A.charCodeAt(m-7)!==112||A.charCodeAt(m-8)!==95||A.charCodeAt(m-9)!==95)return!1;for(var x=m-10;x>=0;x--)if(A.charCodeAt(x)!==36)return!1;return!0}function C(A,m,x){var _=P(A.source,m.source);return _!==0||(_=A.originalLine-m.originalLine,_!==0)||(_=A.originalColumn-m.originalColumn,_!==0||x)||(_=A.generatedColumn-m.generatedColumn,_!==0)||(_=A.generatedLine-m.generatedLine,_!==0)?_:P(A.name,m.name)}e.compareByOriginalPositions=C;function v(A,m,x){var _=A.generatedLine-m.generatedLine;return _!==0||(_=A.generatedColumn-m.generatedColumn,_!==0||x)||(_=P(A.source,m.source),_!==0)||(_=A.originalLine-m.originalLine,_!==0)||(_=A.originalColumn-m.originalColumn,_!==0)?_:P(A.name,m.name)}e.compareByGeneratedPositionsDeflated=v;function P(A,m){return A===m?0:A===null?1:m===null?-1:A>m?1:-1}function O(A,m){var x=A.generatedLine-m.generatedLine;return x!==0||(x=A.generatedColumn-m.generatedColumn,x!==0)||(x=P(A.source,m.source),x!==0)||(x=A.originalLine-m.originalLine,x!==0)||(x=A.originalColumn-m.originalColumn,x!==0)?x:P(A.name,m.name)}e.compareByGeneratedPositionsInflated=O;function L(A){return JSON.parse(A.replace(/^\)]}'[^\n]*\n/,""))}e.parseSourceMapInput=L;function V(A,m,x){if(m=m||"",A&&(A[A.length-1]!=="/"&&m[0]!=="/"&&(A+="/"),m=A+m),x){var _=s(x);if(!_)throw new Error("sourceMapURL could not be parsed");if(_.path){var k=_.path.lastIndexOf("/");k>=0&&(_.path=_.path.substring(0,k+1))}m=f(a(_),m)}return c(m)}e.computeSourceURL=V}(Zt)),Zt}var er={},Yr;function Ii(){if(Yr)return er;Yr=1;var e=dt(),t=Object.prototype.hasOwnProperty,r=typeof Map<"u";function i(){this._array=[],this._set=r?new Map:Object.create(null)}return i.fromArray=function(a,c){for(var f=new i,p=0,y=a.length;p=0)return c}else{var f=e.toSetString(a);if(t.call(this._set,f))return this._set[f]}throw new Error('"'+a+'" is not in the set.')},i.prototype.at=function(a){if(a>=0&&aa||c==a&&p>=f||e.compareByGeneratedPositionsInflated(i,s)<=0}function r(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}return r.prototype.unsortedForEach=function(s,a){this._array.forEach(s,a)},r.prototype.add=function(s){t(this._last,s)?(this._last=s,this._array.push(s)):(this._sorted=!1,this._array.push(s))},r.prototype.toArray=function(){return this._sorted||(this._array.sort(e.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},tr.MappingList=r,tr}var Zr;function Ni(){if(Zr)return Kt;Zr=1;var e=Pi(),t=dt(),r=Ii().ArraySet,i=As().MappingList;function s(a){a||(a={}),this._file=t.getArg(a,"file",null),this._sourceRoot=t.getArg(a,"sourceRoot",null),this._skipValidation=t.getArg(a,"skipValidation",!1),this._sources=new r,this._names=new r,this._mappings=new i,this._sourcesContents=null}return s.prototype._version=3,s.fromSourceMap=function(c){var f=c.sourceRoot,p=new s({file:c.file,sourceRoot:f});return c.eachMapping(function(y){var g={generated:{line:y.generatedLine,column:y.generatedColumn}};y.source!=null&&(g.source=y.source,f!=null&&(g.source=t.relative(f,g.source)),g.original={line:y.originalLine,column:y.originalColumn},y.name!=null&&(g.name=y.name)),p.addMapping(g)}),c.sources.forEach(function(y){var g=y;f!==null&&(g=t.relative(f,y)),p._sources.has(g)||p._sources.add(g);var b=c.sourceContentFor(y);b!=null&&p.setSourceContent(y,b)}),p},s.prototype.addMapping=function(c){var f=t.getArg(c,"generated"),p=t.getArg(c,"original",null),y=t.getArg(c,"source",null),g=t.getArg(c,"name",null);this._skipValidation||this._validateMapping(f,p,y,g),y!=null&&(y=String(y),this._sources.has(y)||this._sources.add(y)),g!=null&&(g=String(g),this._names.has(g)||this._names.add(g)),this._mappings.add({generatedLine:f.line,generatedColumn:f.column,originalLine:p!=null&&p.line,originalColumn:p!=null&&p.column,source:y,name:g})},s.prototype.setSourceContent=function(c,f){var p=c;this._sourceRoot!=null&&(p=t.relative(this._sourceRoot,p)),f!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[t.toSetString(p)]=f):this._sourcesContents&&(delete this._sourcesContents[t.toSetString(p)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))},s.prototype.applySourceMap=function(c,f,p){var y=f;if(f==null){if(c.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);y=c.file}var g=this._sourceRoot;g!=null&&(y=t.relative(g,y));var b=new r,E=new r;this._mappings.unsortedForEach(function(S){if(S.source===y&&S.originalLine!=null){var C=c.originalPositionFor({line:S.originalLine,column:S.originalColumn});C.source!=null&&(S.source=C.source,p!=null&&(S.source=t.join(p,S.source)),g!=null&&(S.source=t.relative(g,S.source)),S.originalLine=C.line,S.originalColumn=C.column,C.name!=null&&(S.name=C.name))}var v=S.source;v!=null&&!b.has(v)&&b.add(v);var P=S.name;P!=null&&!E.has(P)&&E.add(P)},this),this._sources=b,this._names=E,c.sources.forEach(function(S){var C=c.sourceContentFor(S);C!=null&&(p!=null&&(S=t.join(p,S)),g!=null&&(S=t.relative(g,S)),this.setSourceContent(S,C))},this)},s.prototype._validateMapping=function(c,f,p,y){if(f&&typeof f.line!="number"&&typeof f.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(c&&"line"in c&&"column"in c&&c.line>0&&c.column>=0&&!f&&!p&&!y)){if(c&&"line"in c&&"column"in c&&f&&"line"in f&&"column"in f&&c.line>0&&c.column>=0&&f.line>0&&f.column>=0&&p)return;throw new Error("Invalid mapping: "+JSON.stringify({generated:c,source:p,original:f,name:y}))}},s.prototype._serializeMappings=function(){for(var c=0,f=1,p=0,y=0,g=0,b=0,E="",S,C,v,P,O=this._mappings.toArray(),L=0,V=O.length;L0){if(!t.compareByGeneratedPositionsInflated(C,O[L-1]))continue;S+=","}S+=e.encode(C.generatedColumn-c),c=C.generatedColumn,C.source!=null&&(P=this._sources.indexOf(C.source),S+=e.encode(P-b),b=P,S+=e.encode(C.originalLine-1-y),y=C.originalLine-1,S+=e.encode(C.originalColumn-p),p=C.originalColumn,C.name!=null&&(v=this._names.indexOf(C.name),S+=e.encode(v-g),g=v)),E+=S}return E},s.prototype._generateSourcesContent=function(c,f){return c.map(function(p){if(!this._sourcesContents)return null;f!=null&&(p=t.relative(f,p));var y=t.toSetString(p);return Object.prototype.hasOwnProperty.call(this._sourcesContents,y)?this._sourcesContents[y]:null},this)},s.prototype.toJSON=function(){var c={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(c.file=this._file),this._sourceRoot!=null&&(c.sourceRoot=this._sourceRoot),this._sourcesContents&&(c.sourcesContent=this._generateSourcesContent(c.sources,c.sourceRoot)),c},s.prototype.toString=function(){return JSON.stringify(this.toJSON())},Kt.SourceMapGenerator=s,Kt}var st={},rr={},ei;function ws(){return ei||(ei=1,function(e){e.GREATEST_LOWER_BOUND=1,e.LEAST_UPPER_BOUND=2;function t(r,i,s,a,c,f){var p=Math.floor((i-r)/2)+r,y=c(s,a[p],!0);return y===0?p:y>0?i-p>1?t(p,i,s,a,c,f):f==e.LEAST_UPPER_BOUND?i1?t(r,p,s,a,c,f):f==e.LEAST_UPPER_BOUND?p:r<0?-1:r}e.search=function(i,s,a,c){if(s.length===0)return-1;var f=t(-1,s.length,i,s,a,c||e.GREATEST_LOWER_BOUND);if(f<0)return-1;for(;f-1>=0&&a(s[f],s[f-1],!0)===0;)--f;return f}}(rr)),rr}var ir={},ti;function ks(){if(ti)return ir;ti=1;function e(i,s,a){var c=i[s];i[s]=i[a],i[a]=c}function t(i,s){return Math.round(i+Math.random()*(s-i))}function r(i,s,a,c){if(a=0){var v=this._originalMappings[C];if(g.column===void 0)for(var P=v.originalLine;v&&v.originalLine===P;)S.push({line:e.getArg(v,"generatedLine",null),column:e.getArg(v,"generatedColumn",null),lastColumn:e.getArg(v,"lastGeneratedColumn",null)}),v=this._originalMappings[++C];else for(var O=v.originalColumn;v&&v.originalLine===b&&v.originalColumn==O;)S.push({line:e.getArg(v,"generatedLine",null),column:e.getArg(v,"generatedColumn",null),lastColumn:e.getArg(v,"lastGeneratedColumn",null)}),v=this._originalMappings[++C]}return S},st.SourceMapConsumer=a;function c(y,g){var b=y;typeof y=="string"&&(b=e.parseSourceMapInput(y));var E=e.getArg(b,"version"),S=e.getArg(b,"sources"),C=e.getArg(b,"names",[]),v=e.getArg(b,"sourceRoot",null),P=e.getArg(b,"sourcesContent",null),O=e.getArg(b,"mappings"),L=e.getArg(b,"file",null);if(E!=this._version)throw new Error("Unsupported version: "+E);v&&(v=e.normalize(v)),S=S.map(String).map(e.normalize).map(function(V){return v&&e.isAbsolute(v)&&e.isAbsolute(V)?e.relative(v,V):V}),this._names=r.fromArray(C.map(String),!0),this._sources=r.fromArray(S,!0),this._absoluteSources=this._sources.toArray().map(function(V){return e.computeSourceURL(v,V,g)}),this.sourceRoot=v,this.sourcesContent=P,this._mappings=O,this._sourceMapURL=g,this.file=L}c.prototype=Object.create(a.prototype),c.prototype.consumer=a,c.prototype._findSourceIndex=function(y){var g=y;if(this.sourceRoot!=null&&(g=e.relative(this.sourceRoot,g)),this._sources.has(g))return this._sources.indexOf(g);var b;for(b=0;b1&&(k.source=P+R[1],P+=R[1],k.originalLine=C+R[2],C=k.originalLine,k.originalLine+=1,k.originalColumn=v+R[3],v=k.originalColumn,R.length>4&&(k.name=O+R[4],O+=R[4])),_.push(k),typeof k.originalLine=="number"&&x.push(k)}s(_,e.compareByGeneratedPositionsDeflated),this.__generatedMappings=_,s(x,e.compareByOriginalPositions),this.__originalMappings=x},c.prototype._findMapping=function(g,b,E,S,C,v){if(g[E]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+g[E]);if(g[S]<0)throw new TypeError("Column must be greater than or equal to 0, got "+g[S]);return t.search(g,b,C,v)},c.prototype.computeColumnSpans=function(){for(var g=0;g=0){var S=this._generatedMappings[E];if(S.generatedLine===b.generatedLine){var C=e.getArg(S,"source",null);C!==null&&(C=this._sources.at(C),C=e.computeSourceURL(this.sourceRoot,C,this._sourceMapURL));var v=e.getArg(S,"name",null);return v!==null&&(v=this._names.at(v)),{source:C,line:e.getArg(S,"originalLine",null),column:e.getArg(S,"originalColumn",null),name:v}}}return{source:null,line:null,column:null,name:null}},c.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(g){return g==null}):!1},c.prototype.sourceContentFor=function(g,b){if(!this.sourcesContent)return null;var E=this._findSourceIndex(g);if(E>=0)return this.sourcesContent[E];var S=g;this.sourceRoot!=null&&(S=e.relative(this.sourceRoot,S));var C;if(this.sourceRoot!=null&&(C=e.urlParse(this.sourceRoot))){var v=S.replace(/^file:\/\//,"");if(C.scheme=="file"&&this._sources.has(v))return this.sourcesContent[this._sources.indexOf(v)];if((!C.path||C.path=="/")&&this._sources.has("/"+S))return this.sourcesContent[this._sources.indexOf("/"+S)]}if(b)return null;throw new Error('"'+S+'" is not in the SourceMap.')},c.prototype.generatedPositionFor=function(g){var b=e.getArg(g,"source");if(b=this._findSourceIndex(b),b<0)return{line:null,column:null,lastColumn:null};var E={source:b,originalLine:e.getArg(g,"line"),originalColumn:e.getArg(g,"column")},S=this._findMapping(E,this._originalMappings,"originalLine","originalColumn",e.compareByOriginalPositions,e.getArg(g,"bias",a.GREATEST_LOWER_BOUND));if(S>=0){var C=this._originalMappings[S];if(C.source===E.source)return{line:e.getArg(C,"generatedLine",null),column:e.getArg(C,"generatedColumn",null),lastColumn:e.getArg(C,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},st.BasicSourceMapConsumer=c;function p(y,g){var b=y;typeof y=="string"&&(b=e.parseSourceMapInput(y));var E=e.getArg(b,"version"),S=e.getArg(b,"sections");if(E!=this._version)throw new Error("Unsupported version: "+E);this._sources=new r,this._names=new r;var C={line:-1,column:0};this._sections=S.map(function(v){if(v.url)throw new Error("Support for url field in sections not implemented.");var P=e.getArg(v,"offset"),O=e.getArg(P,"line"),L=e.getArg(P,"column");if(O=0;p--)this.prepend(f[p]);else if(f[s]||typeof f=="string")this.children.unshift(f);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+f);return this},a.prototype.walk=function(f){for(var p,y=0,g=this.children.length;y0){for(p=[],y=0;y=6.0"},Vs=[{name:"Yusuke Suzuki",email:"utatane.tea@gmail.com",web:"http://github.com/Constellation"}],js={type:"git",url:"http://github.com/estools/escodegen.git"},qs={estraverse:"^5.2.0",esutils:"^2.0.2",esprima:"^4.0.1",optionator:"^0.8.1"},Us={"source-map":"~0.6.1"},Gs={acorn:"^7.3.1",bluebird:"^3.4.7","bower-registry-client":"^1.0.0",chai:"^4.2.0","chai-exclude":"^2.0.2","commonjs-everywhere":"^0.9.7",gulp:"^3.8.10","gulp-eslint":"^3.0.1","gulp-mocha":"^3.0.1",semver:"^5.1.0"},Ws="BSD-2-Clause",zs={test:"gulp travis","unit-test":"gulp test",lint:"gulp lint",release:"node tools/release.js","build-min":"./node_modules/.bin/cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js",build:"./node_modules/.bin/cjsify -a path: tools/entry-point.js > escodegen.browser.js"},$s={name:Ns,description:Ls,homepage:Os,main:Rs,bin:Fs,files:Ms,version:Bs,engines:Ds,maintainers:Vs,repository:js,dependencies:qs,optionalDependencies:Us,devDependencies:Gs,license:Ws,scripts:zs};(function(e){(function(){var t,r,i,s,a,c,f,p,y,g,b,E,S,C,v,P,O,L,V,A,m,x,_,k,B,R;a=Ti,c=Kn,t=a.Syntax;function G(n){return oe.Expression.hasOwnProperty(n.type)}function q(n){return oe.Statement.hasOwnProperty(n.type)}r={Sequence:0,Yield:1,Assignment:1,Conditional:2,ArrowFunction:2,LogicalOR:3,LogicalAND:4,BitwiseOR:5,BitwiseXOR:6,BitwiseAND:7,Equality:8,Relational:9,BitwiseSHIFT:10,Additive:11,Multiplicative:12,Exponentiation:13,Await:14,Unary:14,Postfix:15,OptionalChaining:16,Call:17,New:18,TaggedTemplate:19,Member:20,Primary:21},i={"||":r.LogicalOR,"&&":r.LogicalAND,"|":r.BitwiseOR,"^":r.BitwiseXOR,"&":r.BitwiseAND,"==":r.Equality,"!=":r.Equality,"===":r.Equality,"!==":r.Equality,is:r.Equality,isnt:r.Equality,"<":r.Relational,">":r.Relational,"<=":r.Relational,">=":r.Relational,in:r.Relational,instanceof:r.Relational,"<<":r.BitwiseSHIFT,">>":r.BitwiseSHIFT,">>>":r.BitwiseSHIFT,"+":r.Additive,"-":r.Additive,"*":r.Multiplicative,"%":r.Multiplicative,"/":r.Multiplicative,"**":r.Exponentiation};var D=1,H=2,ne=4,ue=8,ie=16,Q=32,be=H|ne,we=D|H,M=D|H|ne,je=D,tt=ne,rt=D|ne,K=D,ge=D|Q,xt=0,Rn=D|ie,Fn=D|ue;function Or(){return{indent:null,base:null,parse:null,comment:!1,format:{indent:{style:" ",base:0,adjustMultilineComment:!1},newline:` +`,space:" ",json:!1,renumber:!1,hexadecimal:!1,quotes:"single",escapeless:!1,compact:!1,parentheses:!0,semicolons:!0,safeConcatenation:!1,preserveBlankLines:!1},moz:{comprehensionExpressionStartsWithAssignment:!1,starlessGenerator:!1},sourceMap:null,sourceMapRoot:null,sourceMapWithCode:!1,directive:!1,raw:!0,verbatim:null,sourceCode:null}}function qe(n,u){var o="";for(u|=0;u>0;u>>>=1,n+=n)u&1&&(o+=n);return o}function Mn(n){return/[\r\n]/g.test(n)}function he(n){var u=n.length;return u&&c.code.isLineTerminator(n.charCodeAt(u-1))}function Rr(n,u){var o;for(o in u)u.hasOwnProperty(o)&&(n[o]=u[o]);return n}function bt(n,u){var o,l;function d(w){return typeof w=="object"&&w instanceof Object&&!(w instanceof RegExp)}for(o in u)u.hasOwnProperty(o)&&(l=u[o],d(l)?d(n[o])?bt(n[o],l):n[o]=bt({},l):n[o]=l);return n}function Bn(n){var u,o,l,d,w;if(n!==n)throw new Error("Numeric literal whose value is NaN");if(n<0||n===0&&1/n<0)throw new Error("Numeric literal whose value is negative");if(n===1/0)return y?"null":g?"1e400":"1e+400";if(u=""+n,!g||u.length<3)return u;for(o=u.indexOf("."),!y&&u.charCodeAt(0)===48&&o===1&&(o=0,u=u.slice(1)),l=u,u=u.replace("e+","e"),d=0,(w=l.indexOf("e"))>0&&(d=+l.slice(w+1),l=l.slice(0,w)),o>=0&&(d-=l.length-o-1,l=+(l.slice(0,o)+l.slice(o+1))+""),w=0;l.charCodeAt(l.length+w-1)===48;)--w;return w!==0&&(d-=w,l=l.slice(0,w)),d!==0&&(l+="e"+d),(l.length1e12&&Math.floor(n)===n&&(l="0x"+n.toString(16)).length255?"\\u"+"0000".slice(o.length)+o:n===0&&!c.code.isDecimalDigit(u)?"\\0":n===11?"\\x0B":"\\x"+"00".slice(o.length)+o)}function jn(n){if(n===92)return"\\\\";if(n===10)return"\\n";if(n===13)return"\\r";if(n===8232)return"\\u2028";if(n===8233)return"\\u2029";throw new Error("Incorrectly classified character")}function qn(n){var u,o,l,d;for(d=E==="double"?'"':"'",u=0,o=n.length;u126))){u+=Vn(d,n.charCodeAt(o+1));continue}u+=String.fromCharCode(d)}if(I=!(E==="double"||E==="auto"&&T=0&&!c.code.isLineTerminator(n.charCodeAt(u));--u);return n.length-1-u}function Wn(n,u){var o,l,d,w,T,I,F,J;for(o=n.split(/\r\n|[\r\n]/),I=Number.MAX_VALUE,l=1,d=o.length;lT&&(I=T)}for(typeof u<"u"?(F=f,o[1][I]==="*"&&(u+=" "),f=u):(I&1&&--I,F=f),l=1,d=o.length;l0){if(w=u,k){for(d=n.leadingComments[0],u=[],J=d.extendedRange,ce=d.range,Xe=_.substring(J[0],ce[0]),ke=(Xe.match(/\n/g)||[]).length,ke>0?(u.push(qe(` +`,ke)),u.push(pe(Ie(d)))):(u.push(Xe),u.push(Ie(d))),Ue=ce,o=1,l=n.leadingComments.length;o0?(u.push(qe(` +`,ke)),u.push(pe(Ie(d)))):(u.push(Xe),u.push(Ie(d)));else for(T=!he(Z(u).toString()),I=qe(" ",Gn(Z([f,u,p]).toString())),o=0,l=n.trailingComments.length;o")),n.expression?(u.push(v),o=this.generateExpression(n.body,r.Assignment,M),o.toString().charAt(0)==="{"&&(o=["(",o,")"]),u.push(o)):u.push(this.maybeBlock(n.body,Fn)),u},oe.prototype.generateIterationForStatement=function(n,u,o){var l=["for"+(u.await?fe()+"await":"")+v+"("],d=this;return ae(function(){u.left.type===t.VariableDeclaration?ae(function(){l.push(u.left.kind+fe()),l.push(d.generateStatement(u.left.declarations[0],xt))}):l.push(d.generateExpression(u.left,r.Call,M)),l=U(l,n),l=[U(l,d.generateExpression(u.right,r.Assignment,M)),")"]}),l.push(this.maybeBlock(u.body,o)),l},oe.prototype.generatePropertyKey=function(n,u){var o=[];return u&&o.push("["),o.push(this.generateExpression(n,r.Assignment,M)),u&&o.push("]"),o},oe.prototype.generateAssignment=function(n,u,o,l,d){return r.Assignment2&&(l=_.substring(o[0]+1,o[1]-1),l[0]===` +`&&(d=["{"]),d.push(l)));var T,I,F,J;for(J=K,u&ue&&(J|=ie),T=0,I=n.body.length;T0&&!n.body[T-1].trailingComments&&!n.body[T].leadingComments&&Je(n.body[T-1].range[1],n.body[T].range[0],d)),T===I-1&&(J|=Q),n.body[T].leadingComments&&k?F=w.generateStatement(n.body[T],J):F=pe(w.generateStatement(n.body[T],J)),d.push(F),he(Z(F).toString())||k&&T1?ae(F):F(),o.push(this.semicolon(u)),o},ThrowStatement:function(n,u){return[U("throw",this.generateExpression(n.argument,r.Sequence,M)),this.semicolon(u)]},TryStatement:function(n,u){var o,l,d,w;if(o=["try",this.maybeBlock(n.block,K)],o=this.maybeBlockSuffix(n.block,o),n.handlers)for(l=0,d=n.handlers.length;l0?` +`:""],T=Rn,d=0;d0&&!n.body[d-1].trailingComments&&!n.body[d].leadingComments&&Je(n.body[d-1].range[1],n.body[d].range[0],o)),l=pe(this.generateStatement(n.body[d],T)),o.push(l),d+10){for(l.push("("),w=0,T=d;w=2&&d.charCodeAt(0)===48)&&l.push(" ")),l.push(n.optional?"?.":"."),l.push(ye(n.property))),le(l,r.Member,u)},MetaProperty:function(n,u,o){var l;return l=[],l.push(typeof n.meta=="string"?n.meta:ye(n.meta)),l.push("."),l.push(typeof n.property=="string"?n.property:ye(n.property)),le(l,r.Member,u)},UnaryExpression:function(n,u,o){var l,d,w,T,I;return d=this.generateExpression(n.argument,r.Unary,M),v===""?l=U(n.operator,d):(l=[n.operator],n.operator.length>2?l=U(l,d):(T=Z(l).toString(),I=T.charCodeAt(T.length-1),w=d.toString().charCodeAt(0),((I===43||I===45)&&I===w||c.code.isIdentifierPartES5(I)&&c.code.isIdentifierPartES5(w))&&l.push(fe()),l.push(d))),le(l,r.Unary,u)},YieldExpression:function(n,u,o){var l;return n.delegate?l="yield*":l="yield",n.argument&&(l=U(l,this.generateExpression(n.argument,r.Yield,M))),le(l,r.Yield,u)},AwaitExpression:function(n,u,o){var l=U(n.all?"await*":"await",this.generateExpression(n.argument,r.Await,M));return le(l,r.Await,u)},UpdateExpression:function(n,u,o){return n.prefix?le([n.operator,this.generateExpression(n.argument,r.Unary,M)],r.Unary,u):le([this.generateExpression(n.argument,r.Postfix,M),n.operator],r.Postfix,u)},FunctionExpression:function(n,u,o){var l=[it(n,!0),"function"];return n.id?(l.push(St(n)||fe()),l.push(ye(n.id))):l.push(St(n)||v),l.push(this.generateFunctionBody(n)),l},ArrayPattern:function(n,u,o){return this.ArrayExpression(n,u,o,!0)},ArrayExpression:function(n,u,o,l){var d,w,T=this;return n.elements.length?(w=l?!1:n.elements.length>1,d=["[",w?C:""],ae(function(I){var F,J;for(F=0,J=n.elements.length;F1,ae(function(){w=T.generateExpression(n.properties[0],r.Sequence,M)}),!l&&!Mn(Z(w).toString())?["{",v,w,v,"}"]:(ae(function(I){var F,J;if(d=["{",C,I,w],l)for(d.push(","+C),F=1,J=n.properties.length;F0||A.moz.comprehensionExpressionStartsWithAssignment?l=U(l,T):l.push(T)}),n.filter&&(l=U(l,"if"+v),T=this.generateExpression(n.filter,r.Sequence,M),l=U(l,["(",T,")"])),A.moz.comprehensionExpressionStartsWithAssignment||(T=this.generateExpression(n.body,r.Assignment,M),l=U(l,T)),l.push(n.type===t.GeneratorExpression?")":"]"),l},ComprehensionBlock:function(n,u,o){var l;return n.left.type===t.VariableDeclaration?l=[n.left.kind,fe(),this.generateStatement(n.left.declarations[0],xt)]:l=this.generateExpression(n.left,r.Call,M),l=U(l,n.of?"of":"in"),l=U(l,this.generateExpression(n.right,r.Sequence,M)),["for"+v+"(",l,")"]},SpreadElement:function(n,u,o){return["...",this.generateExpression(n.argument,r.Assignment,M)]},TaggedTemplateExpression:function(n,u,o){var l=we;o&H||(l=je);var d=[this.generateExpression(n.tag,r.Call,l),this.generateExpression(n.quasi,r.Primary,tt)];return le(d,r.TaggedTemplate,u)},TemplateElement:function(n,u,o){return n.value.raw},TemplateLiteral:function(n,u,o){var l,d,w;for(l=["`"],d=0,w=n.quasis.length;de)return!1;if(r+=t[i+1],r>=e)return!0}}function Re(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&Hs.test(String.fromCharCode(e)):t===!1?!1:ur(e,Oi)}function We(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&Qs.test(String.fromCharCode(e)):t===!1?!1:ur(e,Oi)||ur(e,Ys)}var Y=function(t,r){r===void 0&&(r={}),this.label=t,this.keyword=r.keyword,this.beforeExpr=!!r.beforeExpr,this.startsExpr=!!r.startsExpr,this.isLoop=!!r.isLoop,this.isAssign=!!r.isAssign,this.prefix=!!r.prefix,this.postfix=!!r.postfix,this.binop=r.binop||null,this.updateContext=null};function Se(e,t){return new Y(e,{beforeExpr:!0,binop:t})}var _e={beforeExpr:!0},ve={startsExpr:!0},Nt={};function X(e,t){return t===void 0&&(t={}),t.keyword=e,Nt[e]=new Y(e,t)}var h={num:new Y("num",ve),regexp:new Y("regexp",ve),string:new Y("string",ve),name:new Y("name",ve),eof:new Y("eof"),bracketL:new Y("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new Y("]"),braceL:new Y("{",{beforeExpr:!0,startsExpr:!0}),braceR:new Y("}"),parenL:new Y("(",{beforeExpr:!0,startsExpr:!0}),parenR:new Y(")"),comma:new Y(",",_e),semi:new Y(";",_e),colon:new Y(":",_e),dot:new Y("."),question:new Y("?",_e),questionDot:new Y("?."),arrow:new Y("=>",_e),template:new Y("template"),invalidTemplate:new Y("invalidTemplate"),ellipsis:new Y("...",_e),backQuote:new Y("`",ve),dollarBraceL:new Y("${",{beforeExpr:!0,startsExpr:!0}),eq:new Y("=",{beforeExpr:!0,isAssign:!0}),assign:new Y("_=",{beforeExpr:!0,isAssign:!0}),incDec:new Y("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new Y("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:Se("||",1),logicalAND:Se("&&",2),bitwiseOR:Se("|",3),bitwiseXOR:Se("^",4),bitwiseAND:Se("&",5),equality:Se("==/!=/===/!==",6),relational:Se("/<=/>=",7),bitShift:Se("<>/>>>",8),plusMin:new Y("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:Se("%",10),star:Se("*",10),slash:Se("/",10),starstar:new Y("**",{beforeExpr:!0}),coalesce:Se("??",1),_break:X("break"),_case:X("case",_e),_catch:X("catch"),_continue:X("continue"),_debugger:X("debugger"),_default:X("default",_e),_do:X("do",{isLoop:!0,beforeExpr:!0}),_else:X("else",_e),_finally:X("finally"),_for:X("for",{isLoop:!0}),_function:X("function",ve),_if:X("if"),_return:X("return",_e),_switch:X("switch"),_throw:X("throw",_e),_try:X("try"),_var:X("var"),_const:X("const"),_while:X("while",{isLoop:!0}),_with:X("with"),_new:X("new",{beforeExpr:!0,startsExpr:!0}),_this:X("this",ve),_super:X("super",ve),_class:X("class",ve),_extends:X("extends",_e),_export:X("export"),_import:X("import",ve),_null:X("null",ve),_true:X("true",ve),_false:X("false",ve),_in:X("in",{beforeExpr:!0,binop:7}),_instanceof:X("instanceof",{beforeExpr:!0,binop:7}),_typeof:X("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:X("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:X("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},xe=/\r\n?|\n|\u2028|\u2029/,He=new RegExp(xe.source,"g");function Ze(e,t){return e===10||e===13||!t&&(e===8232||e===8233)}var yr=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,Ce=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,Ri=Object.prototype,Ks=Ri.hasOwnProperty,Zs=Ri.toString;function Lt(e,t){return Ks.call(e,t)}var si=Array.isArray||function(e){return Zs.call(e)==="[object Array]"};function Ge(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}var Qe=function(t,r){this.line=t,this.column=r};Qe.prototype.offset=function(t){return new Qe(this.line,this.column+t)};var mt=function(t,r,i){this.start=r,this.end=i,t.sourceFile!==null&&(this.source=t.sourceFile)};function vr(e,t){for(var r=1,i=0;;){He.lastIndex=i;var s=He.exec(e);if(s&&s.index=2015&&(t.ecmaVersion-=2009),t.allowReserved==null&&(t.allowReserved=t.ecmaVersion<5),si(t.onToken)){var i=t.onToken;t.onToken=function(s){return i.push(s)}}return si(t.onComment)&&(t.onComment=ta(t,t.onComment)),t}function ta(e,t){return function(r,i,s,a,c,f){var p={type:r?"Block":"Line",value:i,start:s,end:a};e.locations&&(p.loc=new mt(this,c,f)),e.ranges&&(p.range=[s,a]),t.push(p)}}var ct=1,gt=2,xr=ct|gt,Fi=4,Mi=8,Bi=16,Di=32,Vi=64,ji=128;function br(e,t){return gt|(e?Fi:0)|(t?Mi:0)}var ai=0,Sr=1,Oe=2,qi=3,Ui=4,Gi=5,re=function(t,r,i){this.options=t=ea(t),this.sourceFile=t.sourceFile,this.keywords=Ge(Js[t.ecmaVersion>=6?6:t.sourceType==="module"?"5module":5]);var s="";if(t.allowReserved!==!0){for(var a=t.ecmaVersion;!(s=sr[a]);a--);t.sourceType==="module"&&(s+=" await")}this.reservedWords=Ge(s);var c=(s?s+" ":"")+sr.strict;this.reservedWordsStrict=Ge(c),this.reservedWordsStrictBind=Ge(c+" "+sr.strictBind),this.input=String(r),this.containsEsc=!1,i?(this.pos=i,this.lineStart=this.input.lastIndexOf(` +`,i-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(xe).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=h.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=t.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},this.pos===0&&t.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(ct),this.regexpState=null},ze={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0}};re.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)};ze.inFunction.get=function(){return(this.currentVarScope().flags>)>0};ze.inGenerator.get=function(){return(this.currentVarScope().flags&Mi)>0};ze.inAsync.get=function(){return(this.currentVarScope().flags&Fi)>0};ze.allowSuper.get=function(){return(this.currentThisScope().flags&Vi)>0};ze.allowDirectSuper.get=function(){return(this.currentThisScope().flags&ji)>0};ze.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())};re.prototype.inNonArrowFunction=function(){return(this.currentThisScope().flags>)>0};re.extend=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];for(var i=this,s=0;s=,?^&]/.test(s)||s==="!"&&this.input.charAt(i+1)==="=")}e+=t[0].length,Ce.lastIndex=e,e+=Ce.exec(this.input)[0].length,this.input[e]===";"&&e++}};me.eat=function(e){return this.type===e?(this.next(),!0):!1};me.isContextual=function(e){return this.type===h.name&&this.value===e&&!this.containsEsc};me.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1};me.expectContextual=function(e){this.eatContextual(e)||this.unexpected()};me.canInsertSemicolon=function(){return this.type===h.eof||this.type===h.braceR||xe.test(this.input.slice(this.lastTokEnd,this.start))};me.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0};me.semicolon=function(){!this.eat(h.semi)&&!this.insertSemicolon()&&this.unexpected()};me.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0};me.expect=function(e){this.eat(e)||this.unexpected()};me.unexpected=function(e){this.raise(e??this.start,"Unexpected token")};function Ot(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1}me.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var r=t?e.parenthesizedAssign:e.parenthesizedBind;r>-1&&this.raiseRecoverable(r,"Parenthesized pattern")}};me.checkExpressionErrors=function(e,t){if(!e)return!1;var r=e.shorthandAssign,i=e.doubleProto;if(!t)return r>=0||i>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),i>=0&&this.raiseRecoverable(i,"Redefinition of __proto__ property")};me.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos=6&&this.unexpected(),this.parseFunctionStatement(s,!1,!e);case h._class:return e&&this.unexpected(),this.parseClass(s,!0);case h._if:return this.parseIfStatement(s);case h._return:return this.parseReturnStatement(s);case h._switch:return this.parseSwitchStatement(s);case h._throw:return this.parseThrowStatement(s);case h._try:return this.parseTryStatement(s);case h._const:case h._var:return a=a||this.value,e&&a!=="var"&&this.unexpected(),this.parseVarStatement(s,a);case h._while:return this.parseWhileStatement(s);case h._with:return this.parseWithStatement(s);case h.braceL:return this.parseBlock(!0,s);case h.semi:return this.parseEmptyStatement(s);case h._export:case h._import:if(this.options.ecmaVersion>10&&i===h._import){Ce.lastIndex=this.pos;var c=Ce.exec(this.input),f=this.pos+c[0].length,p=this.input.charCodeAt(f);if(p===40||p===46)return this.parseExpressionStatement(s,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),i===h._import?this.parseImport(s):this.parseExport(s,r);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(s,!0,!e);var y=this.value,g=this.parseExpression();return i===h.name&&g.type==="Identifier"&&this.eat(h.colon)?this.parseLabeledStatement(s,y,g,e):this.parseExpressionStatement(s,g)}};W.parseBreakContinueStatement=function(e,t){var r=t==="break";this.next(),this.eat(h.semi)||this.insertSemicolon()?e.label=null:this.type!==h.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var i=0;i=6?this.eat(h.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")};W.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(_r),this.enterScope(0),this.expect(h.parenL),this.type===h.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var r=this.isLet();if(this.type===h._var||this.type===h._const||r){var i=this.startNode(),s=r?"let":this.value;return this.next(),this.parseVar(i,!0,s),this.finishNode(i,"VariableDeclaration"),(this.type===h._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&i.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===h._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,i)):(t>-1&&this.unexpected(t),this.parseFor(e,i))}var a=new Ot,c=this.parseExpression(!0,a);return this.type===h._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===h._in?t>-1&&this.unexpected(t):e.await=t>-1),this.toAssignable(c,!1,a),this.checkLVal(c),this.parseForIn(e,c)):(this.checkExpressionErrors(a,!0),t>-1&&this.unexpected(t),this.parseFor(e,c))};W.parseFunctionStatement=function(e,t,r){return this.next(),this.parseFunction(e,ot|(r?0:lr),!1,t)};W.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(h._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")};W.parseReturnStatement=function(e){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(h.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")};W.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(h.braceL),this.labels.push(ia),this.enterScope(0);for(var t,r=!1;this.type!==h.braceR;)if(this.type===h._case||this.type===h._default){var i=this.type===h._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),i?t.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,t.test=null),this.expect(h.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")};W.parseThrowStatement=function(e){return this.next(),xe.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var na=[];W.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===h._catch){var t=this.startNode();if(this.next(),this.eat(h.parenL)){t.param=this.parseBindingAtom();var r=t.param.type==="Identifier";this.enterScope(r?Di:0),this.checkLVal(t.param,r?Ui:Oe),this.expect(h.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(h._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")};W.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")};W.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(_r),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")};W.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")};W.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")};W.parseLabeledStatement=function(e,t,r,i){for(var s=0,a=this.labels;s=0;p--){var y=this.labels[p];if(y.statementStart===e.start)y.statementStart=this.start,y.kind=f;else break}return this.labels.push({name:t,kind:f,statementStart:this.start}),e.body=this.parseStatement(i?i.indexOf("label")===-1?i+"label":i:"label"),this.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")};W.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")};W.parseBlock=function(e,t,r){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(h.braceL),e&&this.enterScope(0);this.type!==h.braceR;){var i=this.parseStatement(null);t.body.push(i)}return r&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")};W.parseFor=function(e,t){return e.init=t,this.expect(h.semi),e.test=this.type===h.semi?null:this.parseExpression(),this.expect(h.semi),e.update=this.type===h.parenR?null:this.parseExpression(),this.expect(h.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")};W.parseForIn=function(e,t){var r=this.type===h._in;return this.next(),t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!r||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")?this.raise(t.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer"):t.type==="AssignmentPattern"&&this.raise(t.start,"Invalid left-hand side in for-loop"),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(h.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")};W.parseVar=function(e,t,r){for(e.declarations=[],e.kind=r;;){var i=this.startNode();if(this.parseVarId(i,r),this.eat(h.eq)?i.init=this.parseMaybeAssign(t):r==="const"&&!(this.type===h._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():i.id.type!=="Identifier"&&!(t&&(this.type===h._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):i.init=null,e.declarations.push(this.finishNode(i,"VariableDeclarator")),!this.eat(h.comma))break}return e};W.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,t==="var"?Sr:Oe,!1)};var ot=1,lr=2,Wi=4;W.parseFunction=function(e,t,r,i){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===h.star&&t&lr&&this.unexpected(),e.generator=this.eat(h.star)),this.options.ecmaVersion>=8&&(e.async=!!i),t&ot&&(e.id=t&Wi&&this.type!==h.name?null:this.parseIdent(),e.id&&!(t&lr)&&this.checkLVal(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?Sr:Oe:qi));var s=this.yieldPos,a=this.awaitPos,c=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(br(e.async,e.generator)),t&ot||(e.id=this.type===h.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,r,!1),this.yieldPos=s,this.awaitPos=a,this.awaitIdentPos=c,this.finishNode(e,t&ot?"FunctionDeclaration":"FunctionExpression")};W.parseFunctionParams=function(e){this.expect(h.parenL),e.params=this.parseBindingList(h.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()};W.parseClass=function(e,t){this.next();var r=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var i=this.startNode(),s=!1;for(i.body=[],this.expect(h.braceL);this.type!==h.braceR;){var a=this.parseClassElement(e.superClass!==null);a&&(i.body.push(a),a.type==="MethodDefinition"&&a.kind==="constructor"&&(s&&this.raise(a.start,"Duplicate constructor in the same class"),s=!0))}return this.strict=r,this.next(),e.body=this.finishNode(i,"ClassBody"),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")};W.parseClassElement=function(e){var t=this;if(this.eat(h.semi))return null;var r=this.startNode(),i=function(p,y){y===void 0&&(y=!1);var g=t.start,b=t.startLoc;return t.eatContextual(p)?t.type!==h.parenL&&(!y||!t.canInsertSemicolon())?!0:(r.key&&t.unexpected(),r.computed=!1,r.key=t.startNodeAt(g,b),r.key.name=p,t.finishNode(r.key,"Identifier"),!1):!1};r.kind="method",r.static=i("static");var s=this.eat(h.star),a=!1;s||(this.options.ecmaVersion>=8&&i("async",!0)?(a=!0,s=this.options.ecmaVersion>=9&&this.eat(h.star)):i("get")?r.kind="get":i("set")&&(r.kind="set")),r.key||this.parsePropertyName(r);var c=r.key,f=!1;return!r.computed&&!r.static&&(c.type==="Identifier"&&c.name==="constructor"||c.type==="Literal"&&c.value==="constructor")?(r.kind!=="method"&&this.raise(c.start,"Constructor can't have get/set modifier"),s&&this.raise(c.start,"Constructor can't be a generator"),a&&this.raise(c.start,"Constructor can't be an async method"),r.kind="constructor",f=e):r.static&&c.type==="Identifier"&&c.name==="prototype"&&this.raise(c.start,"Classes may not have a static property named prototype"),this.parseClassMethod(r,s,a,f),r.kind==="get"&&r.value.params.length!==0&&this.raiseRecoverable(r.value.start,"getter should have no params"),r.kind==="set"&&r.value.params.length!==1&&this.raiseRecoverable(r.value.start,"setter should have exactly one param"),r.kind==="set"&&r.value.params[0].type==="RestElement"&&this.raiseRecoverable(r.value.params[0].start,"Setter cannot use rest params"),r};W.parseClassMethod=function(e,t,r,i){return e.value=this.parseMethod(t,r,i),this.finishNode(e,"MethodDefinition")};W.parseClassId=function(e,t){this.type===h.name?(e.id=this.parseIdent(),t&&this.checkLVal(e.id,Oe,!1)):(t===!0&&this.unexpected(),e.id=null)};W.parseClassSuper=function(e){e.superClass=this.eat(h._extends)?this.parseExprSubscripts():null};W.parseExport=function(e,t){if(this.next(),this.eat(h.star))return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(e.exported=this.parseIdent(!0),this.checkExport(t,e.exported.name,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==h.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(h._default)){this.checkExport(t,"default",this.lastTokStart);var r;if(this.type===h._function||(r=this.isAsyncFunction())){var i=this.startNode();this.next(),r&&this.next(),e.declaration=this.parseFunction(i,ot|Wi,!1,r)}else if(this.type===h._class){var s=this.startNode();e.declaration=this.parseClass(s,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),e.declaration.type==="VariableDeclaration"?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id.name,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==h.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var a=0,c=e.specifiers;a=6&&e)switch(e.type){case"Identifier":this.inAsync&&e.name==="await"&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var i=0,s=e.properties;i=8&&!a&&c.name==="async"&&!this.canInsertSemicolon()&&this.eat(h._function))return this.parseFunction(this.startNodeAt(i,s),0,!1,!0);if(r&&!this.canInsertSemicolon()){if(this.eat(h.arrow))return this.parseArrowExpression(this.startNodeAt(i,s),[c],!1);if(this.options.ecmaVersion>=8&&c.name==="async"&&this.type===h.name&&!a)return c=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(h.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(i,s),[c],!0)}return c;case h.regexp:var f=this.value;return t=this.parseLiteral(f.value),t.regex={pattern:f.pattern,flags:f.flags},t;case h.num:case h.string:return this.parseLiteral(this.value);case h._null:case h._true:case h._false:return t=this.startNode(),t.value=this.type===h._null?null:this.type===h._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,"Literal");case h.parenL:var p=this.start,y=this.parseParenAndDistinguishExpression(r);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(y)&&(e.parenthesizedAssign=p),e.parenthesizedBind<0&&(e.parenthesizedBind=p)),y;case h.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(h.bracketR,!0,!0,e),this.finishNode(t,"ArrayExpression");case h.braceL:return this.parseObj(!1,e);case h._function:return t=this.startNode(),this.next(),this.parseFunction(t,0);case h._class:return this.parseClass(this.startNode(),!1);case h._new:return this.parseNew();case h.backQuote:return this.parseTemplate();case h._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}};z.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var t=this.parseIdent(!0);switch(this.type){case h.parenL:return this.parseDynamicImport(e);case h.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}};z.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(h.parenR)){var t=this.start;this.eat(h.comma)&&this.eat(h.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")};z.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="meta"&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),this.options.sourceType!=="module"&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")};z.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")};z.parseParenExpression=function(){this.expect(h.parenL);var e=this.parseExpression();return this.expect(h.parenR),e};z.parseParenAndDistinguishExpression=function(e){var t=this.start,r=this.startLoc,i,s=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var a=this.start,c=this.startLoc,f=[],p=!0,y=!1,g=new Ot,b=this.yieldPos,E=this.awaitPos,S;for(this.yieldPos=0,this.awaitPos=0;this.type!==h.parenR;)if(p?p=!1:this.expect(h.comma),s&&this.afterTrailingComma(h.parenR,!0)){y=!0;break}else if(this.type===h.ellipsis){S=this.start,f.push(this.parseParenItem(this.parseRestBinding())),this.type===h.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}else f.push(this.parseMaybeAssign(!1,g,this.parseParenItem));var C=this.start,v=this.startLoc;if(this.expect(h.parenR),e&&!this.canInsertSemicolon()&&this.eat(h.arrow))return this.checkPatternErrors(g,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=b,this.awaitPos=E,this.parseParenArrowList(t,r,f);(!f.length||y)&&this.unexpected(this.lastTokStart),S&&this.unexpected(S),this.checkExpressionErrors(g,!0),this.yieldPos=b||this.yieldPos,this.awaitPos=E||this.awaitPos,f.length>1?(i=this.startNodeAt(a,c),i.expressions=f,this.finishNodeAt(i,"SequenceExpression",C,v)):i=f[0]}else i=this.parseParenExpression();if(this.options.preserveParens){var P=this.startNodeAt(t,r);return P.expression=i,this.finishNode(P,"ParenthesizedExpression")}else return i};z.parseParenItem=function(e){return e};z.parseParenArrowList=function(e,t,r){return this.parseArrowExpression(this.startNodeAt(e,t),r)};var sa=[];z.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(h.dot)){e.meta=t;var r=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="target"&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),r&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.inNonArrowFunction()||this.raiseRecoverable(e.start,"'new.target' can only be used in functions"),this.finishNode(e,"MetaProperty")}var i=this.start,s=this.startLoc,a=this.type===h._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),i,s,!0),a&&e.callee.type==="ImportExpression"&&this.raise(i,"Cannot use new with import()"),this.eat(h.parenL)?e.arguments=this.parseExprList(h.parenR,this.options.ecmaVersion>=8,!1):e.arguments=sa,this.finishNode(e,"NewExpression")};z.parseTemplateElement=function(e){var t=e.isTagged,r=this.startNode();return this.type===h.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),r.value={raw:this.value,cooked:null}):r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,` +`),cooked:this.value},this.next(),r.tail=this.type===h.backQuote,this.finishNode(r,"TemplateElement")};z.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var r=this.startNode();this.next(),r.expressions=[];var i=this.parseTemplateElement({isTagged:t});for(r.quasis=[i];!i.tail;)this.type===h.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(h.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(h.braceR),r.quasis.push(i=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(r,"TemplateLiteral")};z.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===h.name||this.type===h.num||this.type===h.string||this.type===h.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===h.star)&&!xe.test(this.input.slice(this.lastTokEnd,this.start))};z.parseObj=function(e,t){var r=this.startNode(),i=!0,s={};for(r.properties=[],this.next();!this.eat(h.braceR);){if(i)i=!1;else if(this.expect(h.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(h.braceR))break;var a=this.parseProperty(e,t);e||this.checkPropClash(a,s,t),r.properties.push(a)}return this.finishNode(r,e?"ObjectPattern":"ObjectExpression")};z.parseProperty=function(e,t){var r=this.startNode(),i,s,a,c;if(this.options.ecmaVersion>=9&&this.eat(h.ellipsis))return e?(r.argument=this.parseIdent(!1),this.type===h.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(r,"RestElement")):(this.type===h.parenL&&t&&(t.parenthesizedAssign<0&&(t.parenthesizedAssign=this.start),t.parenthesizedBind<0&&(t.parenthesizedBind=this.start)),r.argument=this.parseMaybeAssign(!1,t),this.type===h.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(r,"SpreadElement"));this.options.ecmaVersion>=6&&(r.method=!1,r.shorthand=!1,(e||t)&&(a=this.start,c=this.startLoc),e||(i=this.eat(h.star)));var f=this.containsEsc;return this.parsePropertyName(r),!e&&!f&&this.options.ecmaVersion>=8&&!i&&this.isAsyncProp(r)?(s=!0,i=this.options.ecmaVersion>=9&&this.eat(h.star),this.parsePropertyName(r,t)):s=!1,this.parsePropertyValue(r,e,i,s,a,c,t,f),this.finishNode(r,"Property")};z.parsePropertyValue=function(e,t,r,i,s,a,c,f){if((r||i)&&this.type===h.colon&&this.unexpected(),this.eat(h.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,c),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===h.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(r,i);else if(!t&&!f&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.type!==h.comma&&this.type!==h.braceR&&this.type!==h.eq){(r||i)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var p=e.kind==="get"?0:1;if(e.value.params.length!==p){var y=e.value.start;e.kind==="get"?this.raiseRecoverable(y,"getter should have no params"):this.raiseRecoverable(y,"setter should have exactly one param")}else e.kind==="set"&&e.value.params[0].type==="RestElement"&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}else this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"?((r||i)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=s),e.kind="init",t?e.value=this.parseMaybeDefault(s,a,e.key):this.type===h.eq&&c?(c.shorthandAssign<0&&(c.shorthandAssign=this.start),e.value=this.parseMaybeDefault(s,a,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected()};z.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(h.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(h.bracketR),e.key;e.computed=!1}return e.key=this.type===h.num||this.type===h.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")};z.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)};z.parseMethod=function(e,t,r){var i=this.startNode(),s=this.yieldPos,a=this.awaitPos,c=this.awaitIdentPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=e),this.options.ecmaVersion>=8&&(i.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(br(t,i.generator)|Vi|(r?ji:0)),this.expect(h.parenL),i.params=this.parseBindingList(h.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1,!0),this.yieldPos=s,this.awaitPos=a,this.awaitIdentPos=c,this.finishNode(i,"FunctionExpression")};z.parseArrowExpression=function(e,t,r){var i=this.yieldPos,s=this.awaitPos,a=this.awaitIdentPos;return this.enterScope(br(r,!1)|Bi),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!r),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1),this.yieldPos=i,this.awaitPos=s,this.awaitIdentPos=a,this.finishNode(e,"ArrowFunctionExpression")};z.parseFunctionBody=function(e,t,r){var i=t&&this.type!==h.braceL,s=this.strict,a=!1;if(i)e.body=this.parseMaybeAssign(),e.expression=!0,this.checkParams(e,!1);else{var c=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!s||c)&&(a=this.strictDirective(this.end),a&&c&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var f=this.labels;this.labels=[],a&&(this.strict=!0),this.checkParams(e,!s&&!a&&!t&&!r&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLVal(e.id,Gi),e.body=this.parseBlock(!1,void 0,a&&!s),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=f}this.exitScope()};z.isSimpleParamList=function(e){for(var t=0,r=e;t-1||s.functions.indexOf(e)>-1||s.var.indexOf(e)>-1,s.lexical.push(e),this.inModule&&s.flags&ct&&delete this.undefinedExports[e]}else if(t===Ui){var a=this.currentScope();a.lexical.push(e)}else if(t===qi){var c=this.currentScope();this.treatFunctionsAsVar?i=c.lexical.indexOf(e)>-1:i=c.lexical.indexOf(e)>-1||c.var.indexOf(e)>-1,c.functions.push(e)}else for(var f=this.scopeStack.length-1;f>=0;--f){var p=this.scopeStack[f];if(p.lexical.indexOf(e)>-1&&!(p.flags&Di&&p.lexical[0]===e)||!this.treatFunctionsAsVarInScope(p)&&p.functions.indexOf(e)>-1){i=!0;break}if(p.var.push(e),this.inModule&&p.flags&ct&&delete this.undefinedExports[e],p.flags&xr)break}i&&this.raiseRecoverable(r,"Identifier '"+e+"' has already been declared")};Ve.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)};Ve.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]};Ve.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&xr)return t}};Ve.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&xr&&!(t.flags&Bi))return t}};var Rt=function(t,r,i){this.type="",this.start=r,this.end=0,t.options.locations&&(this.loc=new mt(t,i)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[r,0])},Ft=re.prototype;Ft.startNode=function(){return new Rt(this,this.start,this.startLoc)};Ft.startNodeAt=function(e,t){return new Rt(this,e,t)};function zi(e,t,r,i){return e.type=t,e.end=r,this.options.locations&&(e.loc.end=i),this.options.ranges&&(e.range[1]=r),e}Ft.finishNode=function(e,t){return zi.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)};Ft.finishNodeAt=function(e,t,r,i){return zi.call(this,e,t,r,i)};var Ee=function(t,r,i,s,a){this.token=t,this.isExpr=!!r,this.preserveSpace=!!i,this.override=s,this.generator=!!a},se={b_stat:new Ee("{",!1),b_expr:new Ee("{",!0),b_tmpl:new Ee("${",!1),p_stat:new Ee("(",!1),p_expr:new Ee("(",!0),q_tmpl:new Ee("`",!0,!0,function(e){return e.tryReadTemplateToken()}),f_stat:new Ee("function",!1),f_expr:new Ee("function",!0),f_expr_gen:new Ee("function",!0,!1,null,!0),f_gen:new Ee("function",!1,!1,null,!0)},Mt=re.prototype;Mt.initialContext=function(){return[se.b_stat]};Mt.braceIsBlock=function(e){var t=this.curContext();return t===se.f_expr||t===se.f_stat?!0:e===h.colon&&(t===se.b_stat||t===se.b_expr)?!t.isExpr:e===h._return||e===h.name&&this.exprAllowed?xe.test(this.input.slice(this.lastTokEnd,this.start)):e===h._else||e===h.semi||e===h.eof||e===h.parenR||e===h.arrow?!0:e===h.braceL?t===se.b_stat:e===h._var||e===h._const||e===h.name?!1:!this.exprAllowed};Mt.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if(t.token==="function")return t.generator}return!1};Mt.updateContext=function(e){var t,r=this.type;r.keyword&&e===h.dot?this.exprAllowed=!1:(t=r.updateContext)?t.call(this,e):this.exprAllowed=r.beforeExpr};h.parenR.updateContext=h.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===se.b_stat&&this.curContext().token==="function"&&(e=this.context.pop()),this.exprAllowed=!e.isExpr};h.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?se.b_stat:se.b_expr),this.exprAllowed=!0};h.dollarBraceL.updateContext=function(){this.context.push(se.b_tmpl),this.exprAllowed=!0};h.parenL.updateContext=function(e){var t=e===h._if||e===h._for||e===h._with||e===h._while;this.context.push(t?se.p_stat:se.p_expr),this.exprAllowed=!0};h.incDec.updateContext=function(){};h._function.updateContext=h._class.updateContext=function(e){e.beforeExpr&&e!==h.semi&&e!==h._else&&!(e===h._return&&xe.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===h.colon||e===h.braceL)&&this.curContext()===se.b_stat)?this.context.push(se.f_expr):this.context.push(se.f_stat),this.exprAllowed=!1};h.backQuote.updateContext=function(){this.curContext()===se.q_tmpl?this.context.pop():this.context.push(se.q_tmpl),this.exprAllowed=!1};h.star.updateContext=function(e){if(e===h._function){var t=this.context.length-1;this.context[t]===se.f_expr?this.context[t]=se.f_expr_gen:this.context[t]=se.f_gen}this.exprAllowed=!0};h.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==h.dot&&(this.value==="of"&&!this.exprAllowed||this.value==="yield"&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var $i="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Ji=$i+" Extended_Pictographic",oa=Ji,ua={9:$i,10:Ji,11:oa},oi="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Xi="Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Hi=Xi+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",la=Hi+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",ca={9:Xi,10:Hi,11:la},Qi={};function Er(e){var t=Qi[e]={binary:Ge(ua[e]+" "+oi),nonBinary:{General_Category:Ge(oi),Script:Ge(ca[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}Er(9);Er(10);Er(11);var j=re.prototype,Me=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":""),this.unicodeProperties=Qi[t.options.ecmaVersion>=11?11:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};Me.prototype.reset=function(t,r,i){var s=i.indexOf("u")!==-1;this.start=t|0,this.source=r+"",this.flags=i,this.switchU=s&&this.parser.options.ecmaVersion>=6,this.switchN=s&&this.parser.options.ecmaVersion>=9};Me.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)};Me.prototype.at=function(t,r){r===void 0&&(r=!1);var i=this.source,s=i.length;if(t>=s)return-1;var a=i.charCodeAt(t);if(!(r||this.switchU)||a<=55295||a>=57344||t+1>=s)return a;var c=i.charCodeAt(t+1);return c>=56320&&c<=57343?(a<<10)+c-56613888:a};Me.prototype.nextIndex=function(t,r){r===void 0&&(r=!1);var i=this.source,s=i.length;if(t>=s)return s;var a=i.charCodeAt(t),c;return!(r||this.switchU)||a<=55295||a>=57344||t+1>=s||(c=i.charCodeAt(t+1))<56320||c>57343?t+1:t+2};Me.prototype.current=function(t){return t===void 0&&(t=!1),this.at(this.pos,t)};Me.prototype.lookahead=function(t){return t===void 0&&(t=!1),this.at(this.nextIndex(this.pos,t),t)};Me.prototype.advance=function(t){t===void 0&&(t=!1),this.pos=this.nextIndex(this.pos,t)};Me.prototype.eat=function(t,r){return r===void 0&&(r=!1),this.current(r)===t?(this.advance(r),!0):!1};function Tt(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}j.validateRegExpFlags=function(e){for(var t=e.validFlags,r=e.flags,i=0;i-1&&this.raise(e.start,"Duplicate regular expression flag")}};j.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))};j.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,r=e.backReferenceNames;t=9&&(r=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!r,!0}return e.pos=t,!1};j.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1};j.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)};j.regexp_eatBracedQuantifier=function(e,t){var r=e.pos;if(e.eat(123)){var i=0,s=-1;if(this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(s=e.lastIntValue),e.eat(125)))return s!==-1&&s=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1};j.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)};j.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1};j.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Yi(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Yi(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}j.regexp_eatPatternCharacters=function(e){for(var t=e.pos,r=0;(r=e.current())!==-1&&!Yi(r);)e.advance();return e.pos!==t};j.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1};j.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){e.groupNames.indexOf(e.lastStringValue)!==-1&&e.raise("Duplicate capture group name"),e.groupNames.push(e.lastStringValue);return}e.raise("Invalid group")}};j.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1};j.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=Tt(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=Tt(e.lastIntValue);return!0}return!1};j.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,r=this.options.ecmaVersion>=11,i=e.current(r);return e.advance(r),i===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(i=e.lastIntValue),ha(i)?(e.lastIntValue=i,!0):(e.pos=t,!1)};function ha(e){return Re(e,!0)||e===36||e===95}j.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,r=this.options.ecmaVersion>=11,i=e.current(r);return e.advance(r),i===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(i=e.lastIntValue),fa(i)?(e.lastIntValue=i,!0):(e.pos=t,!1)};function fa(e){return We(e,!0)||e===36||e===95||e===8204||e===8205}j.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)};j.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var r=e.lastIntValue;if(e.switchU)return r>e.maxBackReference&&(e.maxBackReference=r),!0;if(r<=e.numCapturingParens)return!0;e.pos=t}return!1};j.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1};j.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)};j.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1};j.regexp_eatZero=function(e){return e.current()===48&&!Bt(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1};j.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1};j.regexp_eatControlLetter=function(e){var t=e.current();return Ki(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function Ki(e){return e>=65&&e<=90||e>=97&&e<=122}j.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var r=e.pos,i=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var s=e.lastIntValue;if(i&&s>=55296&&s<=56319){var a=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var c=e.lastIntValue;if(c>=56320&&c<=57343)return e.lastIntValue=(s-55296)*1024+(c-56320)+65536,!0}e.pos=a,e.lastIntValue=s}return!0}if(i&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&pa(e.lastIntValue))return!0;i&&e.raise("Invalid unicode escape"),e.pos=r}return!1};function pa(e){return e>=0&&e<=1114111}j.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1};j.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1};j.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(da(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(t===80||t===112)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise("Invalid property name")}return!1};function da(e){return e===100||e===68||e===115||e===83||e===119||e===87}j.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var r=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,r,i),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var s=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,s),!0}return!1};j.regexp_validateUnicodePropertyNameAndValue=function(e,t,r){Lt(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(r)||e.raise("Invalid property value")};j.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise("Invalid property name")};j.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";Zi(t=e.current());)e.lastStringValue+=Tt(t),e.advance();return e.lastStringValue!==""};function Zi(e){return Ki(e)||e===95}j.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";ma(t=e.current());)e.lastStringValue+=Tt(t),e.advance();return e.lastStringValue!==""};function ma(e){return Zi(e)||Bt(e)}j.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)};j.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise("Unterminated character class")}return!1};j.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var r=e.lastIntValue;e.switchU&&(t===-1||r===-1)&&e.raise("Invalid character class"),t!==-1&&r!==-1&&t>r&&e.raise("Range out of order in character class")}}};j.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var r=e.current();(r===99||rn(r))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var i=e.current();return i!==93?(e.lastIntValue=i,e.advance(),!0):!1};j.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)};j.regexp_eatClassControlLetter=function(e){var t=e.current();return Bt(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1};j.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1};j.regexp_eatDecimalDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;Bt(r=e.current());)e.lastIntValue=10*e.lastIntValue+(r-48),e.advance();return e.pos!==t};function Bt(e){return e>=48&&e<=57}j.regexp_eatHexDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;en(r=e.current());)e.lastIntValue=16*e.lastIntValue+tn(r),e.advance();return e.pos!==t};function en(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function tn(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}j.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var r=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+r*8+e.lastIntValue:e.lastIntValue=t*8+r}else e.lastIntValue=t;return!0}return!1};j.regexp_eatOctalDigit=function(e){var t=e.current();return rn(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function rn(e){return e>=48&&e<=55}j.regexp_eatFixedHexDigits=function(e,t){var r=e.pos;e.lastIntValue=0;for(var i=0;i=this.input.length)return this.finishToken(h.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())};$.readToken=function(e){return Re(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)};$.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=57344)return e;var t=this.input.charCodeAt(this.pos+1);return(e<<10)+t-56613888};$.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(r===-1&&this.raise(this.pos-2,"Unterminated comment"),this.pos=r+2,this.options.locations){He.lastIndex=t;for(var i;(i=He.exec(this.input))&&i.index8&&e<14||e>=5760&&yr.test(String.fromCharCode(e)))++this.pos;else break e}}};$.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=e,this.value=t,this.updateContext(r)};$.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(h.ellipsis)):(++this.pos,this.finishToken(h.dot))};$.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(h.assign,2):this.finishOp(h.slash,1)};$.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),r=1,i=e===42?h.star:h.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++r,i=h.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(h.assign,r+1):this.finishOp(i,r)};$.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12){var r=this.input.charCodeAt(this.pos+2);if(r===61)return this.finishOp(h.assign,3)}return this.finishOp(e===124?h.logicalOR:h.logicalAND,2)}return t===61?this.finishOp(h.assign,2):this.finishOp(e===124?h.bitwiseOR:h.bitwiseAND,1)};$.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);return e===61?this.finishOp(h.assign,2):this.finishOp(h.bitwiseXOR,1)};$.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||xe.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(h.incDec,2):t===61?this.finishOp(h.assign,2):this.finishOp(h.plusMin,1)};$.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),r=1;return t===e?(r=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+r)===61?this.finishOp(h.assign,r+1):this.finishOp(h.bitShift,r)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(r=2),this.finishOp(h.relational,r))};$.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(h.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(h.arrow)):this.finishOp(e===61?h.eq:h.prefix,1)};$.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var r=this.input.charCodeAt(this.pos+2);if(r<48||r>57)return this.finishOp(h.questionDot,2)}if(t===63){if(e>=12){var i=this.input.charCodeAt(this.pos+2);if(i===61)return this.finishOp(h.assign,3)}return this.finishOp(h.coalesce,2)}}return this.finishOp(h.question,1)};$.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(h.parenL);case 41:return++this.pos,this.finishToken(h.parenR);case 59:return++this.pos,this.finishToken(h.semi);case 44:return++this.pos,this.finishToken(h.comma);case 91:return++this.pos,this.finishToken(h.bracketL);case 93:return++this.pos,this.finishToken(h.bracketR);case 123:return++this.pos,this.finishToken(h.braceL);case 125:return++this.pos,this.finishToken(h.braceR);case 58:return++this.pos,this.finishToken(h.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(h.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(h.prefix,1)}this.raise(this.pos,"Unexpected character '"+Cr(e)+"'")};$.finishOp=function(e,t){var r=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,r)};$.readRegexp=function(){for(var e,t,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var i=this.input.charAt(this.pos);if(xe.test(i)&&this.raise(r,"Unterminated regular expression"),e)e=!1;else{if(i==="[")t=!0;else if(i==="]"&&t)t=!1;else if(i==="/"&&!t)break;e=i==="\\"}++this.pos}var s=this.input.slice(r,this.pos);++this.pos;var a=this.pos,c=this.readWord1();this.containsEsc&&this.unexpected(a);var f=this.regexpState||(this.regexpState=new Me(this));f.reset(r,s,c),this.validateRegExpFlags(f),this.validateRegExpPattern(f);var p=null;try{p=new RegExp(s,c)}catch{}return this.finishToken(h.regexp,{pattern:s,flags:c,value:p})};$.readInt=function(e,t,r){for(var i=this.options.ecmaVersion>=12&&t===void 0,s=r&&this.input.charCodeAt(this.pos)===48,a=this.pos,c=0,f=0,p=0,y=t??1/0;p=97?b=g-97+10:g>=65?b=g-65+10:g>=48&&g<=57?b=g-48:b=1/0,b>=e)break;f=g,c=c*e+b}return i&&f===95&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===a||t!=null&&this.pos-a!==t?null:c};function ga(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,""))}function nn(e){return typeof BigInt!="function"?null:BigInt(e.replace(/_/g,""))}$.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var r=this.readInt(e);return r==null&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(r=nn(this.input.slice(t,this.pos)),++this.pos):Re(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(h.num,r)};$.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,"Invalid number");var r=this.pos-t>=2&&this.input.charCodeAt(t)===48;r&&this.strict&&this.raise(t,"Invalid number");var i=this.input.charCodeAt(this.pos);if(!r&&!e&&this.options.ecmaVersion>=11&&i===110){var s=nn(this.input.slice(t,this.pos));return++this.pos,Re(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(h.num,s)}r&&/[89]/.test(this.input.slice(t,this.pos))&&(r=!1),i===46&&!r&&(++this.pos,this.readInt(10),i=this.input.charCodeAt(this.pos)),(i===69||i===101)&&!r&&(i=this.input.charCodeAt(++this.pos),(i===43||i===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,"Invalid number")),Re(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var a=ga(this.input.slice(t,this.pos),r);return this.finishToken(h.num,a)};$.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var r=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(r,"Code point out of bounds")}else t=this.readHexChar(4);return t};function Cr(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}$.readString=function(e){for(var t="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var i=this.input.charCodeAt(this.pos);if(i===e)break;i===92?(t+=this.input.slice(r,this.pos),t+=this.readEscapedChar(!1),r=this.pos):(Ze(i,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(r,this.pos++),this.finishToken(h.string,t)};var sn={};$.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===sn)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1};$.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw sn;this.raise(e,t)};$.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(r===96||r===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===h.template||this.type===h.invalidTemplate)?r===36?(this.pos+=2,this.finishToken(h.dollarBraceL)):(++this.pos,this.finishToken(h.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(h.template,e));if(r===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(Ze(r)){switch(e+=this.input.slice(t,this.pos),++this.pos,r){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=` +`;break;default:e+=String.fromCharCode(r);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}};$.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],s=parseInt(i,8);return s>255&&(i=i.slice(0,-1),s=parseInt(i,8)),this.pos+=i.length-1,t=this.input.charCodeAt(this.pos),(i!=="0"||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-i.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(s)}return Ze(t)?"":String.fromCharCode(t)}};$.readHexChar=function(e){var t=this.pos,r=this.readInt(16,e);return r===null&&this.invalidStringToken(t,"Bad character escape sequence"),r};$.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,r=this.pos,i=this.options.ecmaVersion>=6;this.pos",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"};const ui=Hn(ba);(function(e){const t=Sa,r=/^[\da-fA-F]+$/,i=/^\d+$/,s=new WeakMap;function a(p){p=p.Parser.acorn||p;let y=s.get(p);if(!y){const g=p.tokTypes,b=p.TokContext,E=p.TokenType,S=new b("...",!0,!0),P={tc_oTag:S,tc_cTag:C,tc_expr:v},O={jsxName:new E("jsxName"),jsxText:new E("jsxText",{beforeExpr:!0}),jsxTagStart:new E("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new E("jsxTagEnd")};O.jsxTagStart.updateContext=function(){this.context.push(v),this.context.push(S),this.exprAllowed=!1},O.jsxTagEnd.updateContext=function(L){let V=this.context.pop();V===S&&L===g.slash||V===C?(this.context.pop(),this.exprAllowed=this.curContext()===v):this.exprAllowed=!0},y={tokContexts:P,tokTypes:O},s.set(p,y)}return y}function c(p){if(!p)return p;if(p.type==="JSXIdentifier")return p.name;if(p.type==="JSXNamespacedName")return p.namespace.name+":"+p.name.name;if(p.type==="JSXMemberExpression")return c(p.object)+"."+c(p.property)}e.exports=function(p){return p=p||{},function(y){return f({allowNamespaces:p.allowNamespaces!==!1,allowNamespacedObjects:!!p.allowNamespacedObjects},y)}},Object.defineProperty(e.exports,"tokTypes",{get:function(){return a(ui).tokTypes},configurable:!0,enumerable:!0});function f(p,y){const g=y.acorn||ui,b=a(g),E=g.tokTypes,S=b.tokTypes,C=g.tokContexts,v=b.tokContexts.tc_oTag,P=b.tokContexts.tc_cTag,O=b.tokContexts.tc_expr,L=g.isNewLine,V=g.isIdentifierStart,A=g.isIdentifierChar;return class extends y{static get acornJsx(){return b}jsx_readToken(){let m="",x=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let _=this.input.charCodeAt(this.pos);switch(_){case 60:case 123:return this.pos===this.start?_===60&&this.exprAllowed?(++this.pos,this.finishToken(S.jsxTagStart)):this.getTokenFromCode(_):(m+=this.input.slice(x,this.pos),this.finishToken(S.jsxText,m));case 38:m+=this.input.slice(x,this.pos),m+=this.jsx_readEntity(),x=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(_===62?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:L(_)?(m+=this.input.slice(x,this.pos),m+=this.jsx_readNewLine(!0),x=this.pos):++this.pos}}}jsx_readNewLine(m){let x=this.input.charCodeAt(this.pos),_;return++this.pos,x===13&&this.input.charCodeAt(this.pos)===10?(++this.pos,_=m?` +`:`\r +`):_=String.fromCharCode(x),this.options.locations&&(++this.curLine,this.lineStart=this.pos),_}jsx_readString(m){let x="",_=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let k=this.input.charCodeAt(this.pos);if(k===m)break;k===38?(x+=this.input.slice(_,this.pos),x+=this.jsx_readEntity(),_=this.pos):L(k)?(x+=this.input.slice(_,this.pos),x+=this.jsx_readNewLine(!1),_=this.pos):++this.pos}return x+=this.input.slice(_,this.pos++),this.finishToken(E.string,x)}jsx_readEntity(){let m="",x=0,_,k=this.input[this.pos];k!=="&"&&this.raise(this.pos,"Entity must start with an ampersand");let B=++this.pos;for(;this.pos")}let G=B.name?"Element":"Fragment";return _["opening"+G]=B,_["closing"+G]=R,_.children=k,this.type===E.relational&&this.value==="<"&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(_,"JSX"+G)}jsx_parseText(){let m=this.parseLiteral(this.value);return m.type="JSXText",m}jsx_parseElement(){let m=this.start,x=this.startLoc;return this.next(),this.jsx_parseElementAt(m,x)}parseExprAtom(m){return this.type===S.jsxText?this.jsx_parseText():this.type===S.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(m)}readToken(m){let x=this.curContext();if(x===O)return this.jsx_readToken();if(x===v||x===P){if(V(m))return this.jsx_readWord();if(m==62)return++this.pos,this.finishToken(S.jsxTagEnd);if((m===34||m===39)&&x==v)return this.jsx_readString(m)}return m===60&&this.exprAllowed&&this.input.charCodeAt(this.pos+1)!==33?(++this.pos,this.finishToken(S.jsxTagStart)):super.readToken(m)}updateContext(m){if(this.type==E.braceL){var x=this.curContext();x==v?this.context.push(C.b_expr):x==O?this.context.push(C.b_tmpl):super.updateContext(m),this.exprAllowed=!0}else if(this.type===E.slash&&m===S.jsxTagStart)this.context.length-=2,this.context.push(P),this.exprAllowed=!1;else return super.updateContext(m)}}}})(on);var _a=on.exports;const Ea=ft(_a);function un(e,t,r,i,s){r||(r=N),function a(c,f,p){var y=p||c.type,g=t[y];r[y](c,f,a),g&&g(c,f)}(e,i,s)}function Ca(e,t,r,i,s){var a=[];r||(r=N),function c(f,p,y){var g=y||f.type,b=t[g],E=f!==a[a.length-1];E&&a.push(f),r[g](f,p,c),b&&b(f,p||a,a),E&&a.pop()}(e,i,s)}function Ar(e,t,r){r(e,t)}function $e(e,t,r){}var N={};N.Program=N.BlockStatement=function(e,t,r){for(var i=0,s=e.body;i + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */function li(e){return Object.prototype.toString.call(e)==="[object Object]"}function Ma(e){var t,r;return li(e)===!1?!1:(t=e.constructor,t===void 0?!0:(r=t.prototype,!(li(r)===!1||r.hasOwnProperty("isPrototypeOf")===!1)))}var cn={},Pt=lt&<.__assign||function(){return Pt=Object.assign||function(e){for(var t,r=1,i=arguments.length;re.length)&&(t=e.length);for(var r=0,i=new Array(t);r0?e.length-1:0),i=e[e.length-1];return i&&(t.type==="string"||t.type==="number")&&(i.type==="string"||i.type==="number")?r.push(pn(String(i.value)+String(t.value))):(i&&r.push(i),r.push(t)),r},lo=function(t){return["key","ref"].includes(t)},co=function(e){return function(t){var r=t.includes("key"),i=t.includes("ref"),s=t.filter(function(c){return!lo(c)}),a=ci(e?s.sort():s);return i&&a.unshift("ref"),r&&a.unshift("key"),a}};function ho(e,t){return Array.isArray(t)?function(r){return t.indexOf(r)===-1}:function(r){return t(e[r],r)}}var fo=function(t,r,i,s,a){var c=a.tabStop;return t.type==="string"?r.split(` +`).map(function(f,p){return p===0?f:"".concat(Ne(s,c)).concat(f)}).join(` +`):r},po=function(t,r,i){return function(s){return fo(s,Ht(s,t,r,i),t,r,i)}},mo=function(t,r){return function(i){var s=Object.keys(t).includes(i);return!s||s&&t[i]!==r[i]}},gn=function(t,r,i,s,a){return a?Ne(i,s).length+r.length>a:t.length>1},go=function(t,r,i,s,a,c,f){return(gn(t,r,a,c,f)||i)&&!s},yn=function(e,t,r,i){var s=e.type,a=e.displayName,c=a===void 0?"":a,f=e.childrens,p=e.props,y=p===void 0?{}:p,g=e.defaultProps,b=g===void 0?{}:g;if(s!=="ReactElement")throw new Error('The "formatReactElementNode" function could only format node of type "ReactElement". Given: '.concat(s));var E=i.filterProps,S=i.maxInlineAttributesLineLength,C=i.showDefaultProps,v=i.sortProps,P=i.tabStop,O="<".concat(c),L=O,V=O,A=!1,m=[],x=ho(y,E);Object.keys(y).filter(x).filter(mo(b,y)).forEach(function(B){return m.push(B)}),Object.keys(b).filter(x).filter(function(){return C}).filter(function(B){return!m.includes(B)}).forEach(function(B){return m.push(B)});var _=co(v)(m);if(_.forEach(function(B){var R=oo(B,Object.keys(y).includes(B),y[B],Object.keys(b).includes(B),b[B],t,r,i),G=R.attributeFormattedInline,q=R.attributeFormattedMultiline,D=R.isMultilineAttribute;D&&(A=!0),L+=G,V+=q}),V+=` +`.concat(Ne(r,P)),go(_,L,A,t,r,P,S)?O=V:O=L,f&&f.length>0){var k=r+1;O+=">",t||(O+=` +`,O+=Ne(k,P)),O+=f.reduce(uo,[]).map(po(t,k,i)).join(t?"":` +`.concat(Ne(k,P))),t||(O+=` +`,O+=Ne(k-1,P)),O+="")}else gn(_,L,r,P,S)||(O+=" "),O+="/>";return O},yo="",di="React.Fragment",vo=function(t,r,i){var s={};return r&&(s={key:r}),{type:"ReactElement",displayName:t,props:s,defaultProps:{},childrens:i}},xo=function(t){var r=t.key;return!!r},bo=function(t){var r=t.childrens;return r.length===0},So=function(e,t,r,i){var s=e.type,a=e.key,c=e.childrens;if(s!=="ReactFragment")throw new Error('The "formatReactFragmentNode" function could only format node of type "ReactFragment". Given: '.concat(s));var f=i.useFragmentShortSyntax,p;return f?bo(e)||xo(e)?p=di:p=yo:p=di,yn(vo(p,a,c),t,r,i)},_o=["<",">","{","}"],Eo=function(t){return _o.some(function(r){return t.includes(r)})},Co=function(t){return Eo(t)?"{`".concat(t,"`}"):t},Ao=function(t){var r=t;return r.endsWith(" ")&&(r=r.replace(/^(.*?)(\s+)$/,"$1{'$2'}")),r.startsWith(" ")&&(r=r.replace(/^(\s+)(.*)$/,"{'$1'}$2")),r},Ht=function(e,t,r,i){if(e.type==="number")return String(e.value);if(e.type==="string")return e.value?"".concat(Ao(Co(String(e.value)))):"";if(e.type==="ReactElement")return yn(e,t,r,i);if(e.type==="ReactFragment")return So(e,t,r,i);throw new TypeError('Unknow format type "'.concat(e.type,'"'))},wo=function(e,t){return Ht(e,!1,0,t)},ut=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.filterProps,s=i===void 0?[]:i,a=r.showDefaultProps,c=a===void 0?!0:a,f=r.showFunctions,p=f===void 0?!1:f,y=r.functionValue,g=r.tabStop,b=g===void 0?2:g,E=r.useBooleanShorthandSyntax,S=E===void 0?!0:E,C=r.useFragmentShortSyntax,v=C===void 0?!0:C,P=r.sortProps,O=P===void 0?!0:P,L=r.maxInlineAttributesLineLength,V=r.displayName;if(!t)throw new Error("react-element-to-jsx-string: Expected a ReactElement");var A={filterProps:s,showDefaultProps:c,showFunctions:p,functionValue:y,tabStop:b,useBooleanShorthandSyntax:S,useFragmentShortSyntax:v,sortProps:O,maxInlineAttributesLineLength:L,displayName:V};return wo(Tr(t,A),A)};const{defaultDecorateStory:ko,addons:To,useEffect:Po}=__STORYBOOK_MODULE_PREVIEW_API__,{logger:Ct}=__STORYBOOK_MODULE_CLIENT_LOGGER__;function Io(e,t){let r=e!=null,i=t!=null;if(!r&&!i)return"";let s=[];if(r){let a=e.map(c=>{let f=c.getPrettyName(),p=c.getTypeName();return p!=null?`${f}: ${p}`:f});s.push(`(${a.join(", ")})`)}else s.push("()");return i&&s.push(`=> ${t.getTypeName()}`),s.join(" ")}function No(e,t){let r=e!=null,i=t!=null;if(!r&&!i)return"";let s=[];return r?s.push("( ... )"):s.push("()"),i&&s.push(`=> ${t.getTypeName()}`),s.join(" ")}function Lo(e){return e.replace(/,/g,`,\r +`)}var fr="custom",yt="object",Pr="array",Oo="class",Ye="func",et="element";function Ir(e){return Es.includes(e.toLowerCase())}var vn={format:{indent:{style:" "},semicolons:!1}},Ro={...vn,format:{newline:""}},Fo={...vn};function Be(e,t=!1){return ki.generate(e,t?Ro:Fo)}function pr(e,t=!1){return t?Mo(e):Be(e)}function Mo(e){let t=Be(e,!0);return t.endsWith(" }")||(t=`${t.slice(0,-1)} }`),t}function mi(e,t=!1){return t?Do(e):Bo(e)}function Bo(e){let t=Be(e);return t.endsWith(" }]")&&(t=os(t)),t}function Do(e){let t=Be(e,!0);return t.startsWith("[ ")&&(t=t.replace("[ ","[")),t}var xn=e=>e.$$typeof===Symbol.for("react.memo"),Vo=e=>e.$$typeof===Symbol.for("react.forward_ref"),Nr={...N,JSXElement:()=>{}},jo=re.extend(Ea());function vt(e){return e!=null?e.name:null}function gi(e){return e.filter(t=>t.type==="ObjectExpression"||t.type==="ArrayExpression")}function bn(e){let t=[];return Ca(e,{ObjectExpression(r,i){t.push(gi(i).length)},ArrayExpression(r,i){t.push(gi(i).length)}},Nr),Math.max(...t)}function qo(e){return{inferredType:{type:"Identifier",identifier:vt(e)},ast:e}}function Uo(e){return{inferredType:{type:"Literal"},ast:e}}function Go(e){let t;un(e.body,{JSXElement(s){t=s}},Nr);let r={type:t!=null?"Element":"Function",params:e.params,hasParams:e.params.length!==0},i=vt(e.id);return i!=null&&(r.identifier=i),{inferredType:r,ast:e}}function Wo(e){let t;return un(e.body,{JSXElement(r){t=r}},Nr),{inferredType:{type:t!=null?"Element":"Class",identifier:vt(e.id)},ast:e}}function zo(e){let t={type:"Element"},r=vt(e.openingElement.name);return r!=null&&(t.identifier=r),{inferredType:t,ast:e}}function $o(e){let t=e.callee.type==="MemberExpression"?e.callee.property:e.callee;return vt(t)==="shape"?Sn(e.arguments[0]):null}function Sn(e){return{inferredType:{type:"Object",depth:bn(e)},ast:e}}function Jo(e){return{inferredType:{type:"Array",depth:bn(e)},ast:e}}function Xo(e){switch(e.type){case"Identifier":return qo(e);case"Literal":return Uo(e);case"FunctionExpression":case"ArrowFunctionExpression":return Go(e);case"ClassExpression":return Wo(e);case"JSXElement":return zo(e);case"CallExpression":return $o(e);case"ObjectExpression":return Sn(e);case"ArrayExpression":return Jo(e);default:return null}}function Ho(e){let t=jo.parse(`(${e})`),r={inferredType:{type:"Unknown"},ast:t};if(t.body[0]!=null){let i=t.body[0];switch(i.type){case"ExpressionStatement":{let s=Xo(i.expression);s!=null&&(r=s);break}}}return r}function De(e){try{return{...Ho(e)}}catch{}return{inferredType:{type:"Unknown"}}}var Qo=150;function de({name:e,short:t,compact:r,full:i,inferredType:s}){return{name:e,short:t,compact:r,full:i??t,inferredType:s}}function _n(e){return e.replace(/PropTypes./g,"").replace(/.isRequired/g,"")}function yi(e){return e.split(/\r?\n/)}function It(e,t=!1){return _n(pr(e,t))}function vi(e,t=!1){return _n(Be(e,t))}function Yo(e){switch(e){case"Object":return yt;case"Array":return Pr;case"Class":return Oo;case"Function":return Ye;case"Element":return et;default:return fr}}function En(e,t){let{inferredType:r,ast:i}=De(e),{type:s}=r,a,c,f;switch(s){case"Identifier":case"Literal":a=e,c=e;break;case"Object":{let{depth:p}=r;a=yt,c=p===1?It(i,!0):null,f=It(i);break}case"Element":{let{identifier:p}=r;a=p!=null&&!Ir(p)?p:et,c=yi(e).length===1?e:null,f=e;break}case"Array":{let{depth:p}=r;a=Pr,c=p<=2?vi(i,!0):null,f=vi(i);break}default:a=Yo(s),c=yi(e).length===1?e:null,f=e;break}return de({name:t,short:a,compact:c,full:f,inferredType:s})}function Ko({raw:e}){return e!=null?En(e,"custom"):de({name:"custom",short:fr,compact:fr})}function Zo(e){let{jsDocTags:t}=e;return t!=null&&(t.params!=null||t.returns!=null)?de({name:"func",short:No(t.params,t.returns),compact:null,full:Io(t.params,t.returns)}):de({name:"func",short:Ye,compact:Ye})}function eu(e,t){let r=Object.keys(e.value).map(c=>`${c}: ${Ke(e.value[c],t).full}`).join(", "),{inferredType:i,ast:s}=De(`{ ${r} }`),{depth:a}=i;return de({name:"shape",short:yt,compact:a===1&&s?It(s,!0):null,full:s?It(s):null})}function or(e){return`objectOf(${e})`}function tu(e,t){let{short:r,compact:i,full:s}=Ke(e.value,t);return de({name:"objectOf",short:or(r),compact:i!=null?or(i):null,full:s&&or(s)})}function ru(e,t){if(Array.isArray(e.value)){let r=e.value.reduce((i,s)=>{let{short:a,compact:c,full:f}=Ke(s,t);return i.short.push(a),i.compact.push(c),i.full.push(f),i},{short:[],compact:[],full:[]});return de({name:"union",short:r.short.join(" | "),compact:r.compact.every(i=>i!=null)?r.compact.join(" | "):null,full:r.full.join(" | ")})}return de({name:"union",short:e.value,compact:null})}function iu({value:e,computed:t}){return t?En(e,"enumvalue"):de({name:"enumvalue",short:e,compact:e})}function nu(e){if(Array.isArray(e.value)){let t=e.value.reduce((r,i)=>{let{short:s,compact:a,full:c}=iu(i);return r.short.push(s),r.compact.push(a),r.full.push(c),r},{short:[],compact:[],full:[]});return de({name:"enum",short:t.short.join(" | "),compact:t.compact.every(r=>r!=null)?t.compact.join(" | "):null,full:t.full.join(" | ")})}return de({name:"enum",short:e.value,compact:e.value})}function dr(e){return`${e}[]`}function xi(e){return`[${e}]`}function bi(e,t,r){return de({name:"arrayOf",short:dr(e),compact:t!=null?xi(t):null,full:r&&xi(r)})}function su(e,t){let{name:r,short:i,compact:s,full:a,inferredType:c}=Ke(e.value,t);if(r==="custom"){if(c==="Object")return bi(i,s,a)}else if(r==="shape")return bi(i,s,a);return de({name:"arrayOf",short:dr(i),compact:dr(i)})}function Ke(e,t){try{switch(e.name){case"custom":return Ko(e);case"func":return Zo(t);case"shape":return eu(e,t);case"instanceOf":return de({name:"instanceOf",short:e.value,compact:e.value});case"objectOf":return tu(e,t);case"union":return ru(e,t);case"enum":return nu(e);case"arrayOf":return su(e,t);default:return de({name:e.name,short:e.name,compact:e.name})}}catch(r){console.error(r)}return de({name:"unknown",short:"unknown",compact:"unknown"})}function au(e){let{type:t}=e.docgenInfo;if(t==null)return null;try{switch(t.name){case"custom":case"shape":case"instanceOf":case"objectOf":case"union":case"enum":case"arrayOf":{let{short:r,compact:i,full:s}=Ke(t,e);return i!=null&&!as(i)?te(i):s?te(r,s):te(r)}case"func":{let{short:r,full:i}=Ke(t,e),s=r,a;return i&&i.length`}function wn(e){let{type:t,identifier:r}=e;switch(t){case"Function":return Lr(r,e.hasParams);case"Element":return Qt(r);default:return r}}function ou({inferredType:e,ast:t}){let{identifier:r}=e;if(r!=null)return te(wn(e),Be(t));let i=Be(t,!0);return pt(i)?te(Ye,Be(t)):te(i)}function uu(e,t){let{inferredType:r}=t,{identifier:i}=r;if(i!=null&&!Ir(i)){let s=wn(r);return te(s,e)}return pt(e)?te(et,e):te(e)}function kn(e){try{let t=De(e);switch(t.inferredType.type){case"Object":return Cn(t);case"Function":return ou(t);case"Element":return uu(e,t);case"Array":return An(t);default:return null}}catch(t){console.error(t)}return null}function Tn(e){return e.$$typeof!=null}function Pn(e,t){let{name:r}=e;return r!==""&&r!=="anonymous"&&r!==t?r:null}var lu=e=>te(JSON.stringify(e));function cu(e){let{type:t}=e,{displayName:r}=t,i=ut(e,{});if(r!=null){let s=Qt(r);return te(s,i)}if(ds(t)&&Ir(t)){let s=ut(e,{tabStop:0}).replace(/\r?\n|\r/g,"");if(!pt(s))return te(s)}return te(et,i)}var hu=e=>{if(Tn(e)&&e.type!=null)return cu(e);if(Fa(e)){let t=De(JSON.stringify(e));return Cn(t)}if(Array.isArray(e)){let t=De(JSON.stringify(e));return An(t)}return te(yt)},fu=(e,t)=>{let r=!1,i;if(Wr(e.render))r=!0;else if(e.prototype!=null&&Wr(e.prototype.render))r=!0;else{let a;try{i=De(e.toString());let{hasParams:c,params:f}=i.inferredType;c?f.length===1&&f[0].type==="ObjectPattern"&&(a=e({})):a=e(),a!=null&&Tn(a)&&(r=!0)}catch{}}let s=Pn(e,t.name);if(s!=null){if(r)return te(Qt(s));i!=null&&(i=De(e.toString()));let{hasParams:a}=i.inferredType;return te(Lr(s,a))}return te(r?et:Ye)},pu=e=>te(e.toString()),In={string:lu,object:hu,function:fu,default:pu};function du(e={}){return{...In,...e}}function Nn(e,t,r=In){try{switch(typeof e){case"string":return r.string(e,t);case"object":return r.object(e,t);case"function":return r.function(e,t);default:return r.default(e,t)}}catch(i){console.error(i)}return null}function mu(e,t){let{propTypes:r}=t;return r!=null?Object.keys(r).map(i=>e.find(s=>s.name===i)).filter(Boolean):e}var gu=(e,{name:t,type:r})=>{let i=r.summary==="element"||r.summary==="elementType",s=Pn(e,t);if(s!=null){if(i)return te(Qt(s));let{hasParams:a}=De(e.toString()).inferredType;return te(Lr(s,a))}return te(i?et:Ye)},yu=du({function:gu});function vu(e,t){let{propDef:r}=e,i=au(e);i!=null&&(r.type=i);let{defaultValue:s}=e.docgenInfo;if(s!=null&&s.value!=null){let a=kn(s.value);a!=null&&(r.defaultValue=a)}else if(t!=null){let a=Nn(t,r,yu);a!=null&&(r.defaultValue=a)}return r}function xu(e,t){let r=t.defaultProps!=null?t.defaultProps:{},i=e.map(s=>vu(s,r[s.propDef.name]));return mu(i,t)}function bu(e,t){let{propDef:r}=e,{defaultValue:i}=e.docgenInfo;if(i!=null&&i.value!=null){let s=kn(i.value);s!=null&&(r.defaultValue=s)}else if(t!=null){let s=Nn(t,r);s!=null&&(r.defaultValue=s)}return r}function Su(e){return e.map(t=>bu(t))}var Si=new Map;Object.keys($r).forEach(e=>{let t=$r[e];Si.set(t,e),Si.set(t.isRequired,e)});function _u(e,t){let r=e;!ns(e)&&!e.propTypes&&xn(e)&&(r=e.type);let i=ss(r,t);if(i.length===0)return[];switch(i[0].typeSystem){case zr.JAVASCRIPT:return xu(i,e);case zr.TYPESCRIPT:return Su(i);default:return i.map(s=>s.propDef)}}var Eu=e=>({rows:_u(e,"props")}),Cu=e=>{if(e){let{rows:t}=Eu(e);if(t)return t.reduce((r,i)=>{let{name:s,description:a,type:c,sbType:f,defaultValue:p,jsDocTags:y,required:g}=i;return r[s]={name:s,description:a,type:{required:g,...f},table:{type:c,jsDocTags:y,defaultValue:p}},r},{})}return null};function mr(e){if(Pe.isValidElement(e)){let t=Object.keys(e.props).reduce((r,i)=>(r[i]=mr(e.props[i]),r),{});return{...e,props:t,_owner:null}}return Array.isArray(e)?e.map(mr):e}var Au=(e,t)=>{if(typeof e>"u")return Ct.warn("Too many skip or undefined component"),null;let r=e,i=r.type;for(let a=0;a"u")return Ct.warn("Cannot skip undefined element"),null;if(Le.Children.count(r)>1)return Ct.warn("Trying to skip an array of elements"),null;typeof r.props.children>"u"?(Ct.warn("Not enough children to skip elements."),typeof r.type=="function"&&r.type.name===""&&(r=Le.createElement(i,{...r.props}))):typeof r.props.children=="function"?r=r.props.children():r=r.props.children}let s={...typeof t.displayName=="string"?{showFunctions:!0,displayName:()=>t.displayName}:{displayName:a=>a.type.displayName||(a.type===Symbol.for("react.profiler")?"Profiler":null)||is(a.type,"displayName")||(a.type.name!=="_default"?a.type.name:null)||(typeof a.type=="function"?"No Display Name":null)||(Vo(a.type)?a.type.render.name:null)||(xn(a.type)?a.type.type.name:null)||a.type},filterProps:(a,c)=>a!==void 0,...t};return Le.Children.map(e,a=>{let c=typeof a=="number"?a.toString():a,f=(typeof ut=="function"?ut:ut.default)(mr(c),s);if(f.indexOf(""")>-1){let p=f.match(/\S+=\\"([^"]*)\\"/g);p&&p.forEach(y=>{f=f.replace(y,y.replace(/"/g,"'"))})}return f}).join(` +`).replace(/function\s+noRefCheck\(\)\s+\{\}/g,"() => {}")},wu={skip:0,showFunctions:!1,enableBeautify:!0,showDefaultProps:!1},ku=e=>{var i;let t=(i=e==null?void 0:e.parameters.docs)==null?void 0:i.source,r=e==null?void 0:e.parameters.__isArgsStory;return(t==null?void 0:t.type)===Gr.DYNAMIC?!1:!r||(t==null?void 0:t.code)||(t==null?void 0:t.type)===Gr.CODE},Tu=e=>{var t,r;return((t=e.type)==null?void 0:t.displayName)==="MDXCreateElement"&&!!((r=e.props)!=null&&r.mdxType)},Ln=e=>{if(!Tu(e))return e;let{mdxType:t,originalType:r,children:i,...s}=e.props,a=[];return i&&(a=(Array.isArray(i)?i:[i]).map(Ln)),Pe.createElement(r,s,...a)},On=(e,t)=>{var g,b;let r=To.getChannel(),i=ku(t),s="";Po(()=>{if(!i){let{id:E,unmappedArgs:S}=t;r.emit(ts,{id:E,source:s,args:S})}});let a=e();if(i)return a;let c={...wu,...(t==null?void 0:t.parameters.jsx)||{}},f=(b=(g=t==null?void 0:t.parameters.docs)==null?void 0:g.source)!=null&&b.excludeDecorators?t.originalStoryFn(t.args,t):a,p=Ln(f),y=Au(p,c);return y&&(s=y),a},Pu={docs:{story:{inline:!0},extractArgTypes:Cu,extractComponentDescription:rs}},Vu=[On],ju=[es],qu=(e,t)=>{let r=t.findIndex(s=>s.originalFn===On),i=r===-1?t:[...t.splice(r,1),...t];return ko(e,i)},Uu={renderer:"react",...Pu};export{qu as applyDecorators,ju as argTypesEnhancers,Vu as decorators,Uu as parameters,Bu as render,Du as renderToCanvas}; +//# sourceMappingURL=config-4826b8d2.js.map diff --git a/assets/config-4826b8d2.js.map b/assets/config-4826b8d2.js.map new file mode 100644 index 00000000..8e34037a --- /dev/null +++ b/assets/config-4826b8d2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"config-4826b8d2.js","sources":["../../node_modules/lodash/isString.js","../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../node_modules/prop-types/factoryWithThrowingShims.js","../../node_modules/prop-types/index.js","../../node_modules/@storybook/react/dist/chunk-JWY6Y6NU.mjs","../../node_modules/html-tags/index.js","../../node_modules/estraverse/estraverse.js","../../node_modules/source-map/lib/base64.js","../../node_modules/source-map/lib/base64-vlq.js","../../node_modules/source-map/lib/util.js","../../node_modules/source-map/lib/array-set.js","../../node_modules/source-map/lib/mapping-list.js","../../node_modules/source-map/lib/source-map-generator.js","../../node_modules/source-map/lib/binary-search.js","../../node_modules/source-map/lib/quick-sort.js","../../node_modules/source-map/lib/source-map-consumer.js","../../node_modules/source-map/lib/source-node.js","../../node_modules/source-map/source-map.js","../../node_modules/escodegen/escodegen.js","../../node_modules/@storybook/react/node_modules/acorn/dist/acorn.mjs","../../node_modules/@storybook/react/node_modules/acorn-jsx/xhtml.js","../../node_modules/@storybook/react/node_modules/acorn-jsx/index.js","../../node_modules/acorn-walk/dist/walk.mjs","../../node_modules/lodash/isPlainObject.js","../../node_modules/is-plain-object/dist/is-plain-object.mjs","../../node_modules/@base2/pretty-print-object/dist/index.js","../../node_modules/react-is/cjs/react-is.production.min.js","../../node_modules/react-is/index.js","../../node_modules/react-element-to-jsx-string/dist/esm/index.js","../../node_modules/@storybook/react/dist/config.mjs"],"sourcesContent":["var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import { global } from '@storybook/global';\nimport React, { StrictMode, Fragment, Component } from 'react';\nimport { unmountElement, renderElement } from '@storybook/react-dom-shim';\n\nvar {FRAMEWORK_OPTIONS}=global,render=(args,context)=>{let{id,component:Component}=context;if(!Component)throw new Error(`Unable to render story ${id} as the component annotation is missing from the default export`);return React.createElement(Component,{...args})},ErrorBoundary=class extends Component{constructor(){super(...arguments);this.state={hasError:!1};}static getDerivedStateFromError(){return {hasError:!0}}componentDidMount(){let{hasError}=this.state,{showMain}=this.props;hasError||showMain();}componentDidCatch(err){let{showException}=this.props;showException(err);}render(){let{hasError}=this.state,{children}=this.props;return hasError?null:children}},Wrapper=FRAMEWORK_OPTIONS?.strictMode?StrictMode:Fragment;async function renderToCanvas({storyContext,unboundStoryFn,showMain,showException,forceRemount},canvasElement){let content=React.createElement(ErrorBoundary,{showMain,showException},React.createElement(unboundStoryFn,{...storyContext})),element=Wrapper?React.createElement(Wrapper,null,content):content;return forceRemount&&unmountElement(canvasElement),await renderElement(element,canvasElement),()=>unmountElement(canvasElement)}\n\nexport { render, renderToCanvas };\n","'use strict';\nmodule.exports = require('./html-tags.json');\n","/*\n Copyright (C) 2012-2013 Yusuke Suzuki \n Copyright (C) 2012 Ariya Hidayat \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*jslint vars:false, bitwise:true*/\n/*jshint indent:4*/\n/*global exports:true*/\n(function clone(exports) {\n 'use strict';\n\n var Syntax,\n VisitorOption,\n VisitorKeys,\n BREAK,\n SKIP,\n REMOVE;\n\n function deepCopy(obj) {\n var ret = {}, key, val;\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n val = obj[key];\n if (typeof val === 'object' && val !== null) {\n ret[key] = deepCopy(val);\n } else {\n ret[key] = val;\n }\n }\n }\n return ret;\n }\n\n // based on LLVM libc++ upper_bound / lower_bound\n // MIT License\n\n function upperBound(array, func) {\n var diff, len, i, current;\n\n len = array.length;\n i = 0;\n\n while (len) {\n diff = len >>> 1;\n current = i + diff;\n if (func(array[current])) {\n len = diff;\n } else {\n i = current + 1;\n len -= diff + 1;\n }\n }\n return i;\n }\n\n Syntax = {\n AssignmentExpression: 'AssignmentExpression',\n AssignmentPattern: 'AssignmentPattern',\n ArrayExpression: 'ArrayExpression',\n ArrayPattern: 'ArrayPattern',\n ArrowFunctionExpression: 'ArrowFunctionExpression',\n AwaitExpression: 'AwaitExpression', // CAUTION: It's deferred to ES7.\n BlockStatement: 'BlockStatement',\n BinaryExpression: 'BinaryExpression',\n BreakStatement: 'BreakStatement',\n CallExpression: 'CallExpression',\n CatchClause: 'CatchClause',\n ChainExpression: 'ChainExpression',\n ClassBody: 'ClassBody',\n ClassDeclaration: 'ClassDeclaration',\n ClassExpression: 'ClassExpression',\n ComprehensionBlock: 'ComprehensionBlock', // CAUTION: It's deferred to ES7.\n ComprehensionExpression: 'ComprehensionExpression', // CAUTION: It's deferred to ES7.\n ConditionalExpression: 'ConditionalExpression',\n ContinueStatement: 'ContinueStatement',\n DebuggerStatement: 'DebuggerStatement',\n DirectiveStatement: 'DirectiveStatement',\n DoWhileStatement: 'DoWhileStatement',\n EmptyStatement: 'EmptyStatement',\n ExportAllDeclaration: 'ExportAllDeclaration',\n ExportDefaultDeclaration: 'ExportDefaultDeclaration',\n ExportNamedDeclaration: 'ExportNamedDeclaration',\n ExportSpecifier: 'ExportSpecifier',\n ExpressionStatement: 'ExpressionStatement',\n ForStatement: 'ForStatement',\n ForInStatement: 'ForInStatement',\n ForOfStatement: 'ForOfStatement',\n FunctionDeclaration: 'FunctionDeclaration',\n FunctionExpression: 'FunctionExpression',\n GeneratorExpression: 'GeneratorExpression', // CAUTION: It's deferred to ES7.\n Identifier: 'Identifier',\n IfStatement: 'IfStatement',\n ImportExpression: 'ImportExpression',\n ImportDeclaration: 'ImportDeclaration',\n ImportDefaultSpecifier: 'ImportDefaultSpecifier',\n ImportNamespaceSpecifier: 'ImportNamespaceSpecifier',\n ImportSpecifier: 'ImportSpecifier',\n Literal: 'Literal',\n LabeledStatement: 'LabeledStatement',\n LogicalExpression: 'LogicalExpression',\n MemberExpression: 'MemberExpression',\n MetaProperty: 'MetaProperty',\n MethodDefinition: 'MethodDefinition',\n ModuleSpecifier: 'ModuleSpecifier',\n NewExpression: 'NewExpression',\n ObjectExpression: 'ObjectExpression',\n ObjectPattern: 'ObjectPattern',\n PrivateIdentifier: 'PrivateIdentifier',\n Program: 'Program',\n Property: 'Property',\n PropertyDefinition: 'PropertyDefinition',\n RestElement: 'RestElement',\n ReturnStatement: 'ReturnStatement',\n SequenceExpression: 'SequenceExpression',\n SpreadElement: 'SpreadElement',\n Super: 'Super',\n SwitchStatement: 'SwitchStatement',\n SwitchCase: 'SwitchCase',\n TaggedTemplateExpression: 'TaggedTemplateExpression',\n TemplateElement: 'TemplateElement',\n TemplateLiteral: 'TemplateLiteral',\n ThisExpression: 'ThisExpression',\n ThrowStatement: 'ThrowStatement',\n TryStatement: 'TryStatement',\n UnaryExpression: 'UnaryExpression',\n UpdateExpression: 'UpdateExpression',\n VariableDeclaration: 'VariableDeclaration',\n VariableDeclarator: 'VariableDeclarator',\n WhileStatement: 'WhileStatement',\n WithStatement: 'WithStatement',\n YieldExpression: 'YieldExpression'\n };\n\n VisitorKeys = {\n AssignmentExpression: ['left', 'right'],\n AssignmentPattern: ['left', 'right'],\n ArrayExpression: ['elements'],\n ArrayPattern: ['elements'],\n ArrowFunctionExpression: ['params', 'body'],\n AwaitExpression: ['argument'], // CAUTION: It's deferred to ES7.\n BlockStatement: ['body'],\n BinaryExpression: ['left', 'right'],\n BreakStatement: ['label'],\n CallExpression: ['callee', 'arguments'],\n CatchClause: ['param', 'body'],\n ChainExpression: ['expression'],\n ClassBody: ['body'],\n ClassDeclaration: ['id', 'superClass', 'body'],\n ClassExpression: ['id', 'superClass', 'body'],\n ComprehensionBlock: ['left', 'right'], // CAUTION: It's deferred to ES7.\n ComprehensionExpression: ['blocks', 'filter', 'body'], // CAUTION: It's deferred to ES7.\n ConditionalExpression: ['test', 'consequent', 'alternate'],\n ContinueStatement: ['label'],\n DebuggerStatement: [],\n DirectiveStatement: [],\n DoWhileStatement: ['body', 'test'],\n EmptyStatement: [],\n ExportAllDeclaration: ['source'],\n ExportDefaultDeclaration: ['declaration'],\n ExportNamedDeclaration: ['declaration', 'specifiers', 'source'],\n ExportSpecifier: ['exported', 'local'],\n ExpressionStatement: ['expression'],\n ForStatement: ['init', 'test', 'update', 'body'],\n ForInStatement: ['left', 'right', 'body'],\n ForOfStatement: ['left', 'right', 'body'],\n FunctionDeclaration: ['id', 'params', 'body'],\n FunctionExpression: ['id', 'params', 'body'],\n GeneratorExpression: ['blocks', 'filter', 'body'], // CAUTION: It's deferred to ES7.\n Identifier: [],\n IfStatement: ['test', 'consequent', 'alternate'],\n ImportExpression: ['source'],\n ImportDeclaration: ['specifiers', 'source'],\n ImportDefaultSpecifier: ['local'],\n ImportNamespaceSpecifier: ['local'],\n ImportSpecifier: ['imported', 'local'],\n Literal: [],\n LabeledStatement: ['label', 'body'],\n LogicalExpression: ['left', 'right'],\n MemberExpression: ['object', 'property'],\n MetaProperty: ['meta', 'property'],\n MethodDefinition: ['key', 'value'],\n ModuleSpecifier: [],\n NewExpression: ['callee', 'arguments'],\n ObjectExpression: ['properties'],\n ObjectPattern: ['properties'],\n PrivateIdentifier: [],\n Program: ['body'],\n Property: ['key', 'value'],\n PropertyDefinition: ['key', 'value'],\n RestElement: [ 'argument' ],\n ReturnStatement: ['argument'],\n SequenceExpression: ['expressions'],\n SpreadElement: ['argument'],\n Super: [],\n SwitchStatement: ['discriminant', 'cases'],\n SwitchCase: ['test', 'consequent'],\n TaggedTemplateExpression: ['tag', 'quasi'],\n TemplateElement: [],\n TemplateLiteral: ['quasis', 'expressions'],\n ThisExpression: [],\n ThrowStatement: ['argument'],\n TryStatement: ['block', 'handler', 'finalizer'],\n UnaryExpression: ['argument'],\n UpdateExpression: ['argument'],\n VariableDeclaration: ['declarations'],\n VariableDeclarator: ['id', 'init'],\n WhileStatement: ['test', 'body'],\n WithStatement: ['object', 'body'],\n YieldExpression: ['argument']\n };\n\n // unique id\n BREAK = {};\n SKIP = {};\n REMOVE = {};\n\n VisitorOption = {\n Break: BREAK,\n Skip: SKIP,\n Remove: REMOVE\n };\n\n function Reference(parent, key) {\n this.parent = parent;\n this.key = key;\n }\n\n Reference.prototype.replace = function replace(node) {\n this.parent[this.key] = node;\n };\n\n Reference.prototype.remove = function remove() {\n if (Array.isArray(this.parent)) {\n this.parent.splice(this.key, 1);\n return true;\n } else {\n this.replace(null);\n return false;\n }\n };\n\n function Element(node, path, wrap, ref) {\n this.node = node;\n this.path = path;\n this.wrap = wrap;\n this.ref = ref;\n }\n\n function Controller() { }\n\n // API:\n // return property path array from root to current node\n Controller.prototype.path = function path() {\n var i, iz, j, jz, result, element;\n\n function addToPath(result, path) {\n if (Array.isArray(path)) {\n for (j = 0, jz = path.length; j < jz; ++j) {\n result.push(path[j]);\n }\n } else {\n result.push(path);\n }\n }\n\n // root node\n if (!this.__current.path) {\n return null;\n }\n\n // first node is sentinel, second node is root element\n result = [];\n for (i = 2, iz = this.__leavelist.length; i < iz; ++i) {\n element = this.__leavelist[i];\n addToPath(result, element.path);\n }\n addToPath(result, this.__current.path);\n return result;\n };\n\n // API:\n // return type of current node\n Controller.prototype.type = function () {\n var node = this.current();\n return node.type || this.__current.wrap;\n };\n\n // API:\n // return array of parent elements\n Controller.prototype.parents = function parents() {\n var i, iz, result;\n\n // first node is sentinel\n result = [];\n for (i = 1, iz = this.__leavelist.length; i < iz; ++i) {\n result.push(this.__leavelist[i].node);\n }\n\n return result;\n };\n\n // API:\n // return current node\n Controller.prototype.current = function current() {\n return this.__current.node;\n };\n\n Controller.prototype.__execute = function __execute(callback, element) {\n var previous, result;\n\n result = undefined;\n\n previous = this.__current;\n this.__current = element;\n this.__state = null;\n if (callback) {\n result = callback.call(this, element.node, this.__leavelist[this.__leavelist.length - 1].node);\n }\n this.__current = previous;\n\n return result;\n };\n\n // API:\n // notify control skip / break\n Controller.prototype.notify = function notify(flag) {\n this.__state = flag;\n };\n\n // API:\n // skip child nodes of current node\n Controller.prototype.skip = function () {\n this.notify(SKIP);\n };\n\n // API:\n // break traversals\n Controller.prototype['break'] = function () {\n this.notify(BREAK);\n };\n\n // API:\n // remove node\n Controller.prototype.remove = function () {\n this.notify(REMOVE);\n };\n\n Controller.prototype.__initialize = function(root, visitor) {\n this.visitor = visitor;\n this.root = root;\n this.__worklist = [];\n this.__leavelist = [];\n this.__current = null;\n this.__state = null;\n this.__fallback = null;\n if (visitor.fallback === 'iteration') {\n this.__fallback = Object.keys;\n } else if (typeof visitor.fallback === 'function') {\n this.__fallback = visitor.fallback;\n }\n\n this.__keys = VisitorKeys;\n if (visitor.keys) {\n this.__keys = Object.assign(Object.create(this.__keys), visitor.keys);\n }\n };\n\n function isNode(node) {\n if (node == null) {\n return false;\n }\n return typeof node === 'object' && typeof node.type === 'string';\n }\n\n function isProperty(nodeType, key) {\n return (nodeType === Syntax.ObjectExpression || nodeType === Syntax.ObjectPattern) && 'properties' === key;\n }\n \n function candidateExistsInLeaveList(leavelist, candidate) {\n for (var i = leavelist.length - 1; i >= 0; --i) {\n if (leavelist[i].node === candidate) {\n return true;\n }\n }\n return false;\n }\n\n Controller.prototype.traverse = function traverse(root, visitor) {\n var worklist,\n leavelist,\n element,\n node,\n nodeType,\n ret,\n key,\n current,\n current2,\n candidates,\n candidate,\n sentinel;\n\n this.__initialize(root, visitor);\n\n sentinel = {};\n\n // reference\n worklist = this.__worklist;\n leavelist = this.__leavelist;\n\n // initialize\n worklist.push(new Element(root, null, null, null));\n leavelist.push(new Element(null, null, null, null));\n\n while (worklist.length) {\n element = worklist.pop();\n\n if (element === sentinel) {\n element = leavelist.pop();\n\n ret = this.__execute(visitor.leave, element);\n\n if (this.__state === BREAK || ret === BREAK) {\n return;\n }\n continue;\n }\n\n if (element.node) {\n\n ret = this.__execute(visitor.enter, element);\n\n if (this.__state === BREAK || ret === BREAK) {\n return;\n }\n\n worklist.push(sentinel);\n leavelist.push(element);\n\n if (this.__state === SKIP || ret === SKIP) {\n continue;\n }\n\n node = element.node;\n nodeType = node.type || element.wrap;\n candidates = this.__keys[nodeType];\n if (!candidates) {\n if (this.__fallback) {\n candidates = this.__fallback(node);\n } else {\n throw new Error('Unknown node type ' + nodeType + '.');\n }\n }\n\n current = candidates.length;\n while ((current -= 1) >= 0) {\n key = candidates[current];\n candidate = node[key];\n if (!candidate) {\n continue;\n }\n\n if (Array.isArray(candidate)) {\n current2 = candidate.length;\n while ((current2 -= 1) >= 0) {\n if (!candidate[current2]) {\n continue;\n }\n\n if (candidateExistsInLeaveList(leavelist, candidate[current2])) {\n continue;\n }\n\n if (isProperty(nodeType, candidates[current])) {\n element = new Element(candidate[current2], [key, current2], 'Property', null);\n } else if (isNode(candidate[current2])) {\n element = new Element(candidate[current2], [key, current2], null, null);\n } else {\n continue;\n }\n worklist.push(element);\n }\n } else if (isNode(candidate)) {\n if (candidateExistsInLeaveList(leavelist, candidate)) {\n continue;\n }\n\n worklist.push(new Element(candidate, key, null, null));\n }\n }\n }\n }\n };\n\n Controller.prototype.replace = function replace(root, visitor) {\n var worklist,\n leavelist,\n node,\n nodeType,\n target,\n element,\n current,\n current2,\n candidates,\n candidate,\n sentinel,\n outer,\n key;\n\n function removeElem(element) {\n var i,\n key,\n nextElem,\n parent;\n\n if (element.ref.remove()) {\n // When the reference is an element of an array.\n key = element.ref.key;\n parent = element.ref.parent;\n\n // If removed from array, then decrease following items' keys.\n i = worklist.length;\n while (i--) {\n nextElem = worklist[i];\n if (nextElem.ref && nextElem.ref.parent === parent) {\n if (nextElem.ref.key < key) {\n break;\n }\n --nextElem.ref.key;\n }\n }\n }\n }\n\n this.__initialize(root, visitor);\n\n sentinel = {};\n\n // reference\n worklist = this.__worklist;\n leavelist = this.__leavelist;\n\n // initialize\n outer = {\n root: root\n };\n element = new Element(root, null, null, new Reference(outer, 'root'));\n worklist.push(element);\n leavelist.push(element);\n\n while (worklist.length) {\n element = worklist.pop();\n\n if (element === sentinel) {\n element = leavelist.pop();\n\n target = this.__execute(visitor.leave, element);\n\n // node may be replaced with null,\n // so distinguish between undefined and null in this place\n if (target !== undefined && target !== BREAK && target !== SKIP && target !== REMOVE) {\n // replace\n element.ref.replace(target);\n }\n\n if (this.__state === REMOVE || target === REMOVE) {\n removeElem(element);\n }\n\n if (this.__state === BREAK || target === BREAK) {\n return outer.root;\n }\n continue;\n }\n\n target = this.__execute(visitor.enter, element);\n\n // node may be replaced with null,\n // so distinguish between undefined and null in this place\n if (target !== undefined && target !== BREAK && target !== SKIP && target !== REMOVE) {\n // replace\n element.ref.replace(target);\n element.node = target;\n }\n\n if (this.__state === REMOVE || target === REMOVE) {\n removeElem(element);\n element.node = null;\n }\n\n if (this.__state === BREAK || target === BREAK) {\n return outer.root;\n }\n\n // node may be null\n node = element.node;\n if (!node) {\n continue;\n }\n\n worklist.push(sentinel);\n leavelist.push(element);\n\n if (this.__state === SKIP || target === SKIP) {\n continue;\n }\n\n nodeType = node.type || element.wrap;\n candidates = this.__keys[nodeType];\n if (!candidates) {\n if (this.__fallback) {\n candidates = this.__fallback(node);\n } else {\n throw new Error('Unknown node type ' + nodeType + '.');\n }\n }\n\n current = candidates.length;\n while ((current -= 1) >= 0) {\n key = candidates[current];\n candidate = node[key];\n if (!candidate) {\n continue;\n }\n\n if (Array.isArray(candidate)) {\n current2 = candidate.length;\n while ((current2 -= 1) >= 0) {\n if (!candidate[current2]) {\n continue;\n }\n if (isProperty(nodeType, candidates[current])) {\n element = new Element(candidate[current2], [key, current2], 'Property', new Reference(candidate, current2));\n } else if (isNode(candidate[current2])) {\n element = new Element(candidate[current2], [key, current2], null, new Reference(candidate, current2));\n } else {\n continue;\n }\n worklist.push(element);\n }\n } else if (isNode(candidate)) {\n worklist.push(new Element(candidate, key, null, new Reference(node, key)));\n }\n }\n }\n\n return outer.root;\n };\n\n function traverse(root, visitor) {\n var controller = new Controller();\n return controller.traverse(root, visitor);\n }\n\n function replace(root, visitor) {\n var controller = new Controller();\n return controller.replace(root, visitor);\n }\n\n function extendCommentRange(comment, tokens) {\n var target;\n\n target = upperBound(tokens, function search(token) {\n return token.range[0] > comment.range[0];\n });\n\n comment.extendedRange = [comment.range[0], comment.range[1]];\n\n if (target !== tokens.length) {\n comment.extendedRange[1] = tokens[target].range[0];\n }\n\n target -= 1;\n if (target >= 0) {\n comment.extendedRange[0] = tokens[target].range[1];\n }\n\n return comment;\n }\n\n function attachComments(tree, providedComments, tokens) {\n // At first, we should calculate extended comment ranges.\n var comments = [], comment, len, i, cursor;\n\n if (!tree.range) {\n throw new Error('attachComments needs range information');\n }\n\n // tokens array is empty, we attach comments to tree as 'leadingComments'\n if (!tokens.length) {\n if (providedComments.length) {\n for (i = 0, len = providedComments.length; i < len; i += 1) {\n comment = deepCopy(providedComments[i]);\n comment.extendedRange = [0, tree.range[0]];\n comments.push(comment);\n }\n tree.leadingComments = comments;\n }\n return tree;\n }\n\n for (i = 0, len = providedComments.length; i < len; i += 1) {\n comments.push(extendCommentRange(deepCopy(providedComments[i]), tokens));\n }\n\n // This is based on John Freeman's implementation.\n cursor = 0;\n traverse(tree, {\n enter: function (node) {\n var comment;\n\n while (cursor < comments.length) {\n comment = comments[cursor];\n if (comment.extendedRange[1] > node.range[0]) {\n break;\n }\n\n if (comment.extendedRange[1] === node.range[0]) {\n if (!node.leadingComments) {\n node.leadingComments = [];\n }\n node.leadingComments.push(comment);\n comments.splice(cursor, 1);\n } else {\n cursor += 1;\n }\n }\n\n // already out of owned node\n if (cursor === comments.length) {\n return VisitorOption.Break;\n }\n\n if (comments[cursor].extendedRange[0] > node.range[1]) {\n return VisitorOption.Skip;\n }\n }\n });\n\n cursor = 0;\n traverse(tree, {\n leave: function (node) {\n var comment;\n\n while (cursor < comments.length) {\n comment = comments[cursor];\n if (node.range[1] < comment.extendedRange[0]) {\n break;\n }\n\n if (node.range[1] === comment.extendedRange[0]) {\n if (!node.trailingComments) {\n node.trailingComments = [];\n }\n node.trailingComments.push(comment);\n comments.splice(cursor, 1);\n } else {\n cursor += 1;\n }\n }\n\n // already out of owned node\n if (cursor === comments.length) {\n return VisitorOption.Break;\n }\n\n if (comments[cursor].extendedRange[0] > node.range[1]) {\n return VisitorOption.Skip;\n }\n }\n });\n\n return tree;\n }\n\n exports.Syntax = Syntax;\n exports.traverse = traverse;\n exports.replace = replace;\n exports.attachComments = attachComments;\n exports.VisitorKeys = VisitorKeys;\n exports.VisitorOption = VisitorOption;\n exports.Controller = Controller;\n exports.cloneEnvironment = function () { return clone({}); };\n\n return exports;\n}(exports));\n/* vim: set sw=4 ts=4 et tw=80 : */\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n\n var parts = path.split(/\\/+/);\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 === null) {\n return 1; // aStr2 !== null\n }\n\n if (aStr2 === null) {\n return -1; // aStr1 !== null\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n sourceURL = sourceURL || '';\n\n if (sourceRoot) {\n // This follows what Chrome does.\n if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n sourceRoot += '/';\n }\n // The spec says:\n // Line 4: An optional source root, useful for relocating source\n // files on a server or removing repeated values in the\n // “sources” entry. This value is prepended to the individual\n // entries in the “source” field.\n sourceURL = sourceRoot + sourceURL;\n }\n\n // Historically, SourceMapConsumer did not take the sourceMapURL as\n // a parameter. This mode is still somewhat supported, which is why\n // this code block is conditional. However, it's preferable to pass\n // the source map URL to SourceMapConsumer, so that this function\n // can implement the source URL resolution algorithm as outlined in\n // the spec. This block is basically the equivalent of:\n // new URL(sourceURL, sourceMapURL).toString()\n // ... except it avoids using URL, which wasn't available in the\n // older releases of node still supported by this library.\n //\n // The spec says:\n // If the sources are not absolute URLs after prepending of the\n // “sourceRoot”, the sources are resolved relative to the\n // SourceMap (like resolving script src in a html document).\n if (sourceMapURL) {\n var parsed = urlParse(sourceMapURL);\n if (!parsed) {\n throw new Error(\"sourceMapURL could not be parsed\");\n }\n if (parsed.path) {\n // Strip the last path component, but keep the \"/\".\n var index = parsed.path.lastIndexOf('/');\n if (index >= 0) {\n parsed.path = parsed.path.substring(0, index + 1);\n }\n }\n sourceURL = join(urlGenerate(parsed), sourceURL);\n }\n\n return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n if (hasNativeMap) {\n this._set.set(aStr, idx);\n } else {\n this._set[sStr] = idx;\n }\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n if (hasNativeMap) {\n return this._set.has(aStr);\n } else {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n if (hasNativeMap) {\n var idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n } else {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n }\n\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator({\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n });\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var sourceRelative = sourceFile;\n if (sourceRoot !== null) {\n sourceRelative = util.relative(sourceRoot, sourceFile);\n }\n\n if (!generator._sources.has(sourceRelative)) {\n generator._sources.add(sourceRelative);\n }\n\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n this._validateMapping(generated, original, source, name);\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n throw new Error(\n 'original.line and original.column are not numbers -- you probably meant to omit ' +\n 'the original mapping entirely and only map the generated position. If so, pass ' +\n 'null for the original mapping instead of an object with empty or null values.'\n );\n }\n\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n throw new Error('Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n }));\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += ';';\n previousGeneratedLine++;\n }\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n var cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n }\n else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n } else {\n return mid;\n }\n }\n else {\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n } else {\n return aLow < 0 ? -1 : aLow;\n }\n }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n * The array.\n * @param {Number} x\n * The index of the first item.\n * @param {Number} y\n * The index of the second item.\n */\nfunction swap(ary, x, y) {\n var temp = ary[x];\n ary[x] = ary[y];\n ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n * The lower bound on the range.\n * @param {Number} high\n * The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n * @param {Number} p\n * Start index of the array\n * @param {Number} r\n * End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n // If our lower bound is less than our upper bound, we (1) partition the\n // array into two pieces and (2) recurse on each half. If it is not, this is\n // the empty array and our base case.\n\n if (p < r) {\n // (1) Partitioning.\n //\n // The partitioning chooses a pivot between `p` and `r` and moves all\n // elements that are less than or equal to the pivot to the before it, and\n // all the elements that are greater than it after it. The effect is that\n // once partition is done, the pivot is in the exact place it will be when\n // the array is put in sorted order, and it will not need to be moved\n // again. This runs in O(n) time.\n\n // Always choose a random pivot so that an input array which is reverse\n // sorted does not cause O(n^2) running time.\n var pivotIndex = randomIntInRange(p, r);\n var i = p - 1;\n\n swap(ary, pivotIndex, r);\n var pivot = ary[r];\n\n // Immediately after `j` is incremented in this loop, the following hold\n // true:\n //\n // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n //\n // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n for (var j = p; j < r; j++) {\n if (comparator(ary[j], pivot) <= 0) {\n i += 1;\n swap(ary, i, j);\n }\n }\n\n swap(ary, i + 1, j);\n var q = i + 1;\n\n // (2) Recurse on each half.\n\n doQuickSort(ary, comparator, p, q - 1);\n doQuickSort(ary, comparator, q + 1, r);\n }\n}\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n */\nexports.quickSort = function (ary, comparator) {\n doQuickSort(ary, comparator, 0, ary.length - 1);\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\nfunction SourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n return sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n// {\n// generatedLine: The line number in the generated code,\n// generatedColumn: The column number in the generated code,\n// source: The path to the original source file that generated this\n// chunk of code,\n// originalLine: The line number in the original source that\n// corresponds to this chunk of generated code,\n// originalColumn: The column number in the original source that\n// corresponds to this chunk of generated code,\n// name: The name of the original symbol which generated this chunk of\n// code.\n// }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__generatedMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappings;\n }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__originalMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappings;\n }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n var c = aStr.charAt(index);\n return c === \";\" || c === \",\";\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n var context = aContext || null;\n var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n var mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var sourceRoot = this.sourceRoot;\n mappings.map(function (mapping) {\n var source = mapping.source === null ? null : this._sources.at(mapping.source);\n source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);\n return {\n source: source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : this._names.at(mapping.name)\n };\n }, this).forEach(aCallback, context);\n };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number is 1-based.\n * - column: Optional. the column number in the original source.\n * The column number is 0-based.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n var line = util.getArg(aArgs, 'line');\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n var needle = {\n source: util.getArg(aArgs, 'source'),\n originalLine: line,\n originalColumn: util.getArg(aArgs, 'column', 0)\n };\n\n needle.source = this._findSourceIndex(needle.source);\n if (needle.source < 0) {\n return [];\n }\n\n var mappings = [];\n\n var index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n var originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n var originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The first parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referrenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sources = util.getArg(sourceMap, 'sources');\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n var names = util.getArg(sourceMap, 'names', []);\n var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n var mappings = util.getArg(sourceMap, 'mappings');\n var file = util.getArg(sourceMap, 'file', null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n if (sourceRoot) {\n sourceRoot = util.normalize(sourceRoot);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function (source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n this._names = ArraySet.fromArray(names.map(String), true);\n this._sources = ArraySet.fromArray(sources, true);\n\n this._absoluteSources = this._sources.toArray().map(function (s) {\n return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n });\n\n this.sourceRoot = sourceRoot;\n this.sourcesContent = sourcesContent;\n this._mappings = mappings;\n this._sourceMapURL = aSourceMapURL;\n this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Utility function to find the index of a source. Returns -1 if not\n * found.\n */\nBasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n if (this._sources.has(relativeSource)) {\n return this._sources.indexOf(relativeSource);\n }\n\n // Maybe aSource is an absolute URL as returned by |sources|. In\n // this case we can't simply undo the transform.\n var i;\n for (i = 0; i < this._absoluteSources.length; ++i) {\n if (this._absoluteSources[i] == aSource) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @param String aSourceMapURL\n * The URL at which the source map can be found (optional)\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {\n var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n smc.sourceRoot = aSourceMap._sourceRoot;\n smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n smc.sourceRoot);\n smc.file = aSourceMap._file;\n smc._sourceMapURL = aSourceMapURL;\n smc._absoluteSources = smc._sources.toArray().map(function (s) {\n return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);\n });\n\n // Because we are modifying the entries (by converting string sources and\n // names to indices into the sources and names ArraySets), we have to make\n // a copy of the entry or else bad things happen. Shared mutable state\n // strikes again! See github issue #191.\n\n var generatedMappings = aSourceMap._mappings.toArray().slice();\n var destGeneratedMappings = smc.__generatedMappings = [];\n var destOriginalMappings = smc.__originalMappings = [];\n\n for (var i = 0, length = generatedMappings.length; i < length; i++) {\n var srcMapping = generatedMappings[i];\n var destMapping = new Mapping;\n destMapping.generatedLine = srcMapping.generatedLine;\n destMapping.generatedColumn = srcMapping.generatedColumn;\n\n if (srcMapping.source) {\n destMapping.source = sources.indexOf(srcMapping.source);\n destMapping.originalLine = srcMapping.originalLine;\n destMapping.originalColumn = srcMapping.originalColumn;\n\n if (srcMapping.name) {\n destMapping.name = names.indexOf(srcMapping.name);\n }\n\n destOriginalMappings.push(destMapping);\n }\n\n destGeneratedMappings.push(destMapping);\n }\n\n quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n return smc;\n };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n get: function () {\n return this._absoluteSources.slice();\n }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nBasicSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n var generatedLine = 1;\n var previousGeneratedColumn = 0;\n var previousOriginalLine = 0;\n var previousOriginalColumn = 0;\n var previousSource = 0;\n var previousName = 0;\n var length = aStr.length;\n var index = 0;\n var cachedSegments = {};\n var temp = {};\n var originalMappings = [];\n var generatedMappings = [];\n var mapping, str, segment, end, value;\n\n while (index < length) {\n if (aStr.charAt(index) === ';') {\n generatedLine++;\n index++;\n previousGeneratedColumn = 0;\n }\n else if (aStr.charAt(index) === ',') {\n index++;\n }\n else {\n mapping = new Mapping();\n mapping.generatedLine = generatedLine;\n\n // Because each offset is encoded relative to the previous one,\n // many segments often have the same encoding. We can exploit this\n // fact by caching the parsed variable length fields of each segment,\n // allowing us to avoid a second parse if we encounter the same\n // segment again.\n for (end = index; end < length; end++) {\n if (this._charIsMappingSeparator(aStr, end)) {\n break;\n }\n }\n str = aStr.slice(index, end);\n\n segment = cachedSegments[str];\n if (segment) {\n index += str.length;\n } else {\n segment = [];\n while (index < end) {\n base64VLQ.decode(aStr, index, temp);\n value = temp.value;\n index = temp.rest;\n segment.push(value);\n }\n\n if (segment.length === 2) {\n throw new Error('Found a source, but no line and column');\n }\n\n if (segment.length === 3) {\n throw new Error('Found a source and line, but no column');\n }\n\n cachedSegments[str] = segment;\n }\n\n // Generated column.\n mapping.generatedColumn = previousGeneratedColumn + segment[0];\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (segment.length > 1) {\n // Original source.\n mapping.source = previousSource + segment[1];\n previousSource += segment[1];\n\n // Original line.\n mapping.originalLine = previousOriginalLine + segment[2];\n previousOriginalLine = mapping.originalLine;\n // Lines are stored 0-based\n mapping.originalLine += 1;\n\n // Original column.\n mapping.originalColumn = previousOriginalColumn + segment[3];\n previousOriginalColumn = mapping.originalColumn;\n\n if (segment.length > 4) {\n // Original name.\n mapping.name = previousName + segment[4];\n previousName += segment[4];\n }\n }\n\n generatedMappings.push(mapping);\n if (typeof mapping.originalLine === 'number') {\n originalMappings.push(mapping);\n }\n }\n }\n\n quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n this.__generatedMappings = generatedMappings;\n\n quickSort(originalMappings, util.compareByOriginalPositions);\n this.__originalMappings = originalMappings;\n };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError('Line must be greater than or equal to 1, got '\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError('Column must be greater than or equal to 0, got '\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n function SourceMapConsumer_computeColumnSpans() {\n for (var index = 0; index < this._generatedMappings.length; ++index) {\n var mapping = this._generatedMappings[index];\n\n // Mappings do not contain a field for the last generated columnt. We\n // can come up with an optimistic estimate, however, by assuming that\n // mappings are contiguous (i.e. given two consecutive mappings, the\n // first mapping ends where the second one starts).\n if (index + 1 < this._generatedMappings.length) {\n var nextMapping = this._generatedMappings[index + 1];\n\n if (mapping.generatedLine === nextMapping.generatedLine) {\n mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n continue;\n }\n }\n\n // The last mapping for each line spans the entire line.\n mapping.lastGeneratedColumn = Infinity;\n }\n };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n function SourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._generatedMappings,\n \"generatedLine\",\n \"generatedColumn\",\n util.compareByGeneratedPositionsDeflated,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._generatedMappings[index];\n\n if (mapping.generatedLine === needle.generatedLine) {\n var source = util.getArg(mapping, 'source', null);\n if (source !== null) {\n source = this._sources.at(source);\n source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n }\n var name = util.getArg(mapping, 'name', null);\n if (name !== null) {\n name = this._names.at(name);\n }\n return {\n source: source,\n line: util.getArg(mapping, 'originalLine', null),\n column: util.getArg(mapping, 'originalColumn', null),\n name: name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n function BasicSourceMapConsumer_hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function (sc) { return sc == null; });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n var index = this._findSourceIndex(aSource);\n if (index >= 0) {\n return this.sourcesContent[index];\n }\n\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n var url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n var fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + relativeSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n function SourceMapConsumer_generatedPositionFor(aArgs) {\n var source = util.getArg(aArgs, 'source');\n source = this._findSourceIndex(source);\n if (source < 0) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n\n var needle = {\n source: source,\n originalLine: util.getArg(aArgs, 'line'),\n originalColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (mapping.source === needle.source) {\n return {\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The first parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sections = util.getArg(sourceMap, 'sections');\n\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n this._sources = new ArraySet();\n this._names = new ArraySet();\n\n var lastOffset = {\n line: -1,\n column: 0\n };\n this._sections = sections.map(function (s) {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error('Support for url field in sections not implemented.');\n }\n var offset = util.getArg(s, 'offset');\n var offsetLine = util.getArg(offset, 'line');\n var offsetColumn = util.getArg(offset, 'column');\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error('Section offsets must be ordered and non-overlapping.');\n }\n lastOffset = offset;\n\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)\n }\n });\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n get: function () {\n var sources = [];\n for (var i = 0; i < this._sections.length; i++) {\n for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n sources.push(this._sections[i].consumer.sources[j]);\n }\n }\n return sources;\n }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n var sectionIndex = binarySearch.search(needle, this._sections,\n function(needle, section) {\n var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (needle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n var section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n return this._sections.every(function (s) {\n return s.consumer.hasContentsOfAllSources();\n });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n var content = section.consumer.sourceContentFor(aSource, true);\n if (content) {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based. \n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {\n continue;\n }\n var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n var ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n this.__generatedMappings = [];\n this.__originalMappings = [];\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n var sectionMappings = section.consumer._generatedMappings;\n for (var j = 0; j < sectionMappings.length; j++) {\n var mapping = sectionMappings[j];\n\n var source = section.consumer._sources.at(mapping.source);\n source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n var name = null;\n if (mapping.name) {\n name = section.consumer._names.at(mapping.name);\n this._names.add(name);\n name = this._names.indexOf(name);\n }\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n var adjustedMapping = {\n source: source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: name\n };\n\n this.__generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === 'number') {\n this.__originalMappings.push(adjustedMapping);\n }\n }\n }\n\n quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n quickSort(this.__originalMappings, util.compareByOriginalPositions);\n };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;\nvar util = require('./util');\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nvar REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nvar NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nvar isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n * generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n this.children = [];\n this.sourceContents = {};\n this.line = aLine == null ? null : aLine;\n this.column = aColumn == null ? null : aColumn;\n this.source = aSource == null ? null : aSource;\n this.name = aName == null ? null : aName;\n this[isSourceNode] = true;\n if (aChunks != null) this.add(aChunks);\n}\n\n/**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n * SourceMapConsumer should be relative to.\n */\nSourceNode.fromStringWithSourceMap =\n function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n // The SourceNode we want to fill with the generated code\n // and the SourceMap\n var node = new SourceNode();\n\n // All even indices of this array are one line of the generated code,\n // while all odd indices are the newlines between two adjacent lines\n // (since `REGEX_NEWLINE` captures its match).\n // Processed fragments are accessed by calling `shiftNextLine`.\n var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n var remainingLinesIndex = 0;\n var shiftNextLine = function() {\n var lineContents = getNextLine();\n // The last line of a file might not have a newline.\n var newLine = getNextLine() || \"\";\n return lineContents + newLine;\n\n function getNextLine() {\n return remainingLinesIndex < remainingLines.length ?\n remainingLines[remainingLinesIndex++] : undefined;\n }\n };\n\n // We need to remember the position of \"remainingLines\"\n var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n // The generate SourceNodes we need a code range.\n // To extract it current and last mapping is used.\n // Here we store the last mapping.\n var lastMapping = null;\n\n aSourceMapConsumer.eachMapping(function (mapping) {\n if (lastMapping !== null) {\n // We add the code from \"lastMapping\" to \"mapping\":\n // First check if there is a new line in between.\n if (lastGeneratedLine < mapping.generatedLine) {\n // Associate first line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n lastGeneratedLine++;\n lastGeneratedColumn = 0;\n // The remaining code is added without mapping\n } else {\n // There is no new line in between.\n // Associate the code between \"lastGeneratedColumn\" and\n // \"mapping.generatedColumn\" with \"lastMapping\"\n var nextLine = remainingLines[remainingLinesIndex] || '';\n var code = nextLine.substr(0, mapping.generatedColumn -\n lastGeneratedColumn);\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n lastGeneratedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n addMappingWithCode(lastMapping, code);\n // No more remaining code, continue\n lastMapping = mapping;\n return;\n }\n }\n // We add the generated code until the first mapping\n // to the SourceNode without any mapping.\n // Each line is added as separate string.\n while (lastGeneratedLine < mapping.generatedLine) {\n node.add(shiftNextLine());\n lastGeneratedLine++;\n }\n if (lastGeneratedColumn < mapping.generatedColumn) {\n var nextLine = remainingLines[remainingLinesIndex] || '';\n node.add(nextLine.substr(0, mapping.generatedColumn));\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n }\n lastMapping = mapping;\n }, this);\n // We have processed all mappings.\n if (remainingLinesIndex < remainingLines.length) {\n if (lastMapping) {\n // Associate the remaining code in the current line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n }\n // and add the remaining lines without any mapping\n node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n }\n\n // Copy sourcesContent into SourceNode\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aRelativePath != null) {\n sourceFile = util.join(aRelativePath, sourceFile);\n }\n node.setSourceContent(sourceFile, content);\n }\n });\n\n return node;\n\n function addMappingWithCode(mapping, code) {\n if (mapping === null || mapping.source === undefined) {\n node.add(code);\n } else {\n var source = aRelativePath\n ? util.join(aRelativePath, mapping.source)\n : mapping.source;\n node.add(new SourceNode(mapping.originalLine,\n mapping.originalColumn,\n source,\n code,\n mapping.name));\n }\n }\n };\n\n/**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.add = function SourceNode_add(aChunk) {\n if (Array.isArray(aChunk)) {\n aChunk.forEach(function (chunk) {\n this.add(chunk);\n }, this);\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n if (aChunk) {\n this.children.push(aChunk);\n }\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n if (Array.isArray(aChunk)) {\n for (var i = aChunk.length-1; i >= 0; i--) {\n this.prepend(aChunk[i]);\n }\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n this.children.unshift(aChunk);\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n var chunk;\n for (var i = 0, len = this.children.length; i < len; i++) {\n chunk = this.children[i];\n if (chunk[isSourceNode]) {\n chunk.walk(aFn);\n }\n else {\n if (chunk !== '') {\n aFn(chunk, { source: this.source,\n line: this.line,\n column: this.column,\n name: this.name });\n }\n }\n }\n};\n\n/**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\nSourceNode.prototype.join = function SourceNode_join(aSep) {\n var newChildren;\n var i;\n var len = this.children.length;\n if (len > 0) {\n newChildren = [];\n for (i = 0; i < len-1; i++) {\n newChildren.push(this.children[i]);\n newChildren.push(aSep);\n }\n newChildren.push(this.children[i]);\n this.children = newChildren;\n }\n return this;\n};\n\n/**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\nSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n var lastChild = this.children[this.children.length - 1];\n if (lastChild[isSourceNode]) {\n lastChild.replaceRight(aPattern, aReplacement);\n }\n else if (typeof lastChild === 'string') {\n this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n }\n else {\n this.children.push(''.replace(aPattern, aReplacement));\n }\n return this;\n};\n\n/**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\nSourceNode.prototype.setSourceContent =\n function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n };\n\n/**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walkSourceContents =\n function SourceNode_walkSourceContents(aFn) {\n for (var i = 0, len = this.children.length; i < len; i++) {\n if (this.children[i][isSourceNode]) {\n this.children[i].walkSourceContents(aFn);\n }\n }\n\n var sources = Object.keys(this.sourceContents);\n for (var i = 0, len = sources.length; i < len; i++) {\n aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n }\n };\n\n/**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\nSourceNode.prototype.toString = function SourceNode_toString() {\n var str = \"\";\n this.walk(function (chunk) {\n str += chunk;\n });\n return str;\n};\n\n/**\n * Returns the string representation of this source node along with a source\n * map.\n */\nSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n var generated = {\n code: \"\",\n line: 1,\n column: 0\n };\n var map = new SourceMapGenerator(aArgs);\n var sourceMappingActive = false;\n var lastOriginalSource = null;\n var lastOriginalLine = null;\n var lastOriginalColumn = null;\n var lastOriginalName = null;\n this.walk(function (chunk, original) {\n generated.code += chunk;\n if (original.source !== null\n && original.line !== null\n && original.column !== null) {\n if(lastOriginalSource !== original.source\n || lastOriginalLine !== original.line\n || lastOriginalColumn !== original.column\n || lastOriginalName !== original.name) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n lastOriginalSource = original.source;\n lastOriginalLine = original.line;\n lastOriginalColumn = original.column;\n lastOriginalName = original.name;\n sourceMappingActive = true;\n } else if (sourceMappingActive) {\n map.addMapping({\n generated: {\n line: generated.line,\n column: generated.column\n }\n });\n lastOriginalSource = null;\n sourceMappingActive = false;\n }\n for (var idx = 0, length = chunk.length; idx < length; idx++) {\n if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n generated.line++;\n generated.column = 0;\n // Mappings end at eol\n if (idx + 1 === length) {\n lastOriginalSource = null;\n sourceMappingActive = false;\n } else if (sourceMappingActive) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n } else {\n generated.column++;\n }\n }\n });\n this.walkSourceContents(function (sourceFile, sourceContent) {\n map.setSourceContent(sourceFile, sourceContent);\n });\n\n return { code: generated.code, map: map };\n};\n\nexports.SourceNode = SourceNode;\n","/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;\nexports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;\nexports.SourceNode = require('./lib/source-node').SourceNode;\n","/*\n Copyright (C) 2012-2014 Yusuke Suzuki \n Copyright (C) 2015 Ingvar Stepanyan \n Copyright (C) 2014 Ivan Nikulin \n Copyright (C) 2012-2013 Michael Ficarra \n Copyright (C) 2012-2013 Mathias Bynens \n Copyright (C) 2013 Irakli Gozalishvili \n Copyright (C) 2012 Robert Gust-Bardon \n Copyright (C) 2012 John Freeman \n Copyright (C) 2011-2012 Ariya Hidayat \n Copyright (C) 2012 Joost-Wim Boekesteijn \n Copyright (C) 2012 Kris Kowal \n Copyright (C) 2012 Arpad Borsos \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n/*global exports:true, require:true, global:true*/\n(function () {\n 'use strict';\n\n var Syntax,\n Precedence,\n BinaryPrecedence,\n SourceNode,\n estraverse,\n esutils,\n base,\n indent,\n json,\n renumber,\n hexadecimal,\n quotes,\n escapeless,\n newline,\n space,\n parentheses,\n semicolons,\n safeConcatenation,\n directive,\n extra,\n parse,\n sourceMap,\n sourceCode,\n preserveBlankLines,\n FORMAT_MINIFY,\n FORMAT_DEFAULTS;\n\n estraverse = require('estraverse');\n esutils = require('esutils');\n\n Syntax = estraverse.Syntax;\n\n // Generation is done by generateExpression.\n function isExpression(node) {\n return CodeGenerator.Expression.hasOwnProperty(node.type);\n }\n\n // Generation is done by generateStatement.\n function isStatement(node) {\n return CodeGenerator.Statement.hasOwnProperty(node.type);\n }\n\n Precedence = {\n Sequence: 0,\n Yield: 1,\n Assignment: 1,\n Conditional: 2,\n ArrowFunction: 2,\n LogicalOR: 3,\n LogicalAND: 4,\n BitwiseOR: 5,\n BitwiseXOR: 6,\n BitwiseAND: 7,\n Equality: 8,\n Relational: 9,\n BitwiseSHIFT: 10,\n Additive: 11,\n Multiplicative: 12,\n Exponentiation: 13,\n Await: 14,\n Unary: 14,\n Postfix: 15,\n OptionalChaining: 16,\n Call: 17,\n New: 18,\n TaggedTemplate: 19,\n Member: 20,\n Primary: 21\n };\n\n BinaryPrecedence = {\n '||': Precedence.LogicalOR,\n '&&': Precedence.LogicalAND,\n '|': Precedence.BitwiseOR,\n '^': Precedence.BitwiseXOR,\n '&': Precedence.BitwiseAND,\n '==': Precedence.Equality,\n '!=': Precedence.Equality,\n '===': Precedence.Equality,\n '!==': Precedence.Equality,\n 'is': Precedence.Equality,\n 'isnt': Precedence.Equality,\n '<': Precedence.Relational,\n '>': Precedence.Relational,\n '<=': Precedence.Relational,\n '>=': Precedence.Relational,\n 'in': Precedence.Relational,\n 'instanceof': Precedence.Relational,\n '<<': Precedence.BitwiseSHIFT,\n '>>': Precedence.BitwiseSHIFT,\n '>>>': Precedence.BitwiseSHIFT,\n '+': Precedence.Additive,\n '-': Precedence.Additive,\n '*': Precedence.Multiplicative,\n '%': Precedence.Multiplicative,\n '/': Precedence.Multiplicative,\n '**': Precedence.Exponentiation\n };\n\n //Flags\n var F_ALLOW_IN = 1,\n F_ALLOW_CALL = 1 << 1,\n F_ALLOW_UNPARATH_NEW = 1 << 2,\n F_FUNC_BODY = 1 << 3,\n F_DIRECTIVE_CTX = 1 << 4,\n F_SEMICOLON_OPT = 1 << 5;\n\n //Expression flag sets\n //NOTE: Flag order:\n // F_ALLOW_IN\n // F_ALLOW_CALL\n // F_ALLOW_UNPARATH_NEW\n var E_FTT = F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW,\n E_TTF = F_ALLOW_IN | F_ALLOW_CALL,\n E_TTT = F_ALLOW_IN | F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW,\n E_TFF = F_ALLOW_IN,\n E_FFT = F_ALLOW_UNPARATH_NEW,\n E_TFT = F_ALLOW_IN | F_ALLOW_UNPARATH_NEW;\n\n //Statement flag sets\n //NOTE: Flag order:\n // F_ALLOW_IN\n // F_FUNC_BODY\n // F_DIRECTIVE_CTX\n // F_SEMICOLON_OPT\n var S_TFFF = F_ALLOW_IN,\n S_TFFT = F_ALLOW_IN | F_SEMICOLON_OPT,\n S_FFFF = 0x00,\n S_TFTF = F_ALLOW_IN | F_DIRECTIVE_CTX,\n S_TTFF = F_ALLOW_IN | F_FUNC_BODY;\n\n function getDefaultOptions() {\n // default options\n return {\n indent: null,\n base: null,\n parse: null,\n comment: false,\n format: {\n indent: {\n style: ' ',\n base: 0,\n adjustMultilineComment: false\n },\n newline: '\\n',\n space: ' ',\n json: false,\n renumber: false,\n hexadecimal: false,\n quotes: 'single',\n escapeless: false,\n compact: false,\n parentheses: true,\n semicolons: true,\n safeConcatenation: false,\n preserveBlankLines: false\n },\n moz: {\n comprehensionExpressionStartsWithAssignment: false,\n starlessGenerator: false\n },\n sourceMap: null,\n sourceMapRoot: null,\n sourceMapWithCode: false,\n directive: false,\n raw: true,\n verbatim: null,\n sourceCode: null\n };\n }\n\n function stringRepeat(str, num) {\n var result = '';\n\n for (num |= 0; num > 0; num >>>= 1, str += str) {\n if (num & 1) {\n result += str;\n }\n }\n\n return result;\n }\n\n function hasLineTerminator(str) {\n return (/[\\r\\n]/g).test(str);\n }\n\n function endsWithLineTerminator(str) {\n var len = str.length;\n return len && esutils.code.isLineTerminator(str.charCodeAt(len - 1));\n }\n\n function merge(target, override) {\n var key;\n for (key in override) {\n if (override.hasOwnProperty(key)) {\n target[key] = override[key];\n }\n }\n return target;\n }\n\n function updateDeeply(target, override) {\n var key, val;\n\n function isHashObject(target) {\n return typeof target === 'object' && target instanceof Object && !(target instanceof RegExp);\n }\n\n for (key in override) {\n if (override.hasOwnProperty(key)) {\n val = override[key];\n if (isHashObject(val)) {\n if (isHashObject(target[key])) {\n updateDeeply(target[key], val);\n } else {\n target[key] = updateDeeply({}, val);\n }\n } else {\n target[key] = val;\n }\n }\n }\n return target;\n }\n\n function generateNumber(value) {\n var result, point, temp, exponent, pos;\n\n if (value !== value) {\n throw new Error('Numeric literal whose value is NaN');\n }\n if (value < 0 || (value === 0 && 1 / value < 0)) {\n throw new Error('Numeric literal whose value is negative');\n }\n\n if (value === 1 / 0) {\n return json ? 'null' : renumber ? '1e400' : '1e+400';\n }\n\n result = '' + value;\n if (!renumber || result.length < 3) {\n return result;\n }\n\n point = result.indexOf('.');\n if (!json && result.charCodeAt(0) === 0x30 /* 0 */ && point === 1) {\n point = 0;\n result = result.slice(1);\n }\n temp = result;\n result = result.replace('e+', 'e');\n exponent = 0;\n if ((pos = temp.indexOf('e')) > 0) {\n exponent = +temp.slice(pos + 1);\n temp = temp.slice(0, pos);\n }\n if (point >= 0) {\n exponent -= temp.length - point - 1;\n temp = +(temp.slice(0, point) + temp.slice(point + 1)) + '';\n }\n pos = 0;\n while (temp.charCodeAt(temp.length + pos - 1) === 0x30 /* 0 */) {\n --pos;\n }\n if (pos !== 0) {\n exponent -= pos;\n temp = temp.slice(0, pos);\n }\n if (exponent !== 0) {\n temp += 'e' + exponent;\n }\n if ((temp.length < result.length ||\n (hexadecimal && value > 1e12 && Math.floor(value) === value && (temp = '0x' + value.toString(16)).length < result.length)) &&\n +temp === value) {\n result = temp;\n }\n\n return result;\n }\n\n // Generate valid RegExp expression.\n // This function is based on https://github.com/Constellation/iv Engine\n\n function escapeRegExpCharacter(ch, previousIsBackslash) {\n // not handling '\\' and handling \\u2028 or \\u2029 to unicode escape sequence\n if ((ch & ~1) === 0x2028) {\n return (previousIsBackslash ? 'u' : '\\\\u') + ((ch === 0x2028) ? '2028' : '2029');\n } else if (ch === 10 || ch === 13) { // \\n, \\r\n return (previousIsBackslash ? '' : '\\\\') + ((ch === 10) ? 'n' : 'r');\n }\n return String.fromCharCode(ch);\n }\n\n function generateRegExp(reg) {\n var match, result, flags, i, iz, ch, characterInBrack, previousIsBackslash;\n\n result = reg.toString();\n\n if (reg.source) {\n // extract flag from toString result\n match = result.match(/\\/([^/]*)$/);\n if (!match) {\n return result;\n }\n\n flags = match[1];\n result = '';\n\n characterInBrack = false;\n previousIsBackslash = false;\n for (i = 0, iz = reg.source.length; i < iz; ++i) {\n ch = reg.source.charCodeAt(i);\n\n if (!previousIsBackslash) {\n if (characterInBrack) {\n if (ch === 93) { // ]\n characterInBrack = false;\n }\n } else {\n if (ch === 47) { // /\n result += '\\\\';\n } else if (ch === 91) { // [\n characterInBrack = true;\n }\n }\n result += escapeRegExpCharacter(ch, previousIsBackslash);\n previousIsBackslash = ch === 92; // \\\n } else {\n // if new RegExp(\"\\\\\\n') is provided, create /\\n/\n result += escapeRegExpCharacter(ch, previousIsBackslash);\n // prevent like /\\\\[/]/\n previousIsBackslash = false;\n }\n }\n\n return '/' + result + '/' + flags;\n }\n\n return result;\n }\n\n function escapeAllowedCharacter(code, next) {\n var hex;\n\n if (code === 0x08 /* \\b */) {\n return '\\\\b';\n }\n\n if (code === 0x0C /* \\f */) {\n return '\\\\f';\n }\n\n if (code === 0x09 /* \\t */) {\n return '\\\\t';\n }\n\n hex = code.toString(16).toUpperCase();\n if (json || code > 0xFF) {\n return '\\\\u' + '0000'.slice(hex.length) + hex;\n } else if (code === 0x0000 && !esutils.code.isDecimalDigit(next)) {\n return '\\\\0';\n } else if (code === 0x000B /* \\v */) { // '\\v'\n return '\\\\x0B';\n } else {\n return '\\\\x' + '00'.slice(hex.length) + hex;\n }\n }\n\n function escapeDisallowedCharacter(code) {\n if (code === 0x5C /* \\ */) {\n return '\\\\\\\\';\n }\n\n if (code === 0x0A /* \\n */) {\n return '\\\\n';\n }\n\n if (code === 0x0D /* \\r */) {\n return '\\\\r';\n }\n\n if (code === 0x2028) {\n return '\\\\u2028';\n }\n\n if (code === 0x2029) {\n return '\\\\u2029';\n }\n\n throw new Error('Incorrectly classified character');\n }\n\n function escapeDirective(str) {\n var i, iz, code, quote;\n\n quote = quotes === 'double' ? '\"' : '\\'';\n for (i = 0, iz = str.length; i < iz; ++i) {\n code = str.charCodeAt(i);\n if (code === 0x27 /* ' */) {\n quote = '\"';\n break;\n } else if (code === 0x22 /* \" */) {\n quote = '\\'';\n break;\n } else if (code === 0x5C /* \\ */) {\n ++i;\n }\n }\n\n return quote + str + quote;\n }\n\n function escapeString(str) {\n var result = '', i, len, code, singleQuotes = 0, doubleQuotes = 0, single, quote;\n\n for (i = 0, len = str.length; i < len; ++i) {\n code = str.charCodeAt(i);\n if (code === 0x27 /* ' */) {\n ++singleQuotes;\n } else if (code === 0x22 /* \" */) {\n ++doubleQuotes;\n } else if (code === 0x2F /* / */ && json) {\n result += '\\\\';\n } else if (esutils.code.isLineTerminator(code) || code === 0x5C /* \\ */) {\n result += escapeDisallowedCharacter(code);\n continue;\n } else if (!esutils.code.isIdentifierPartES5(code) && (json && code < 0x20 /* SP */ || !json && !escapeless && (code < 0x20 /* SP */ || code > 0x7E /* ~ */))) {\n result += escapeAllowedCharacter(code, str.charCodeAt(i + 1));\n continue;\n }\n result += String.fromCharCode(code);\n }\n\n single = !(quotes === 'double' || (quotes === 'auto' && doubleQuotes < singleQuotes));\n quote = single ? '\\'' : '\"';\n\n if (!(single ? singleQuotes : doubleQuotes)) {\n return quote + result + quote;\n }\n\n str = result;\n result = quote;\n\n for (i = 0, len = str.length; i < len; ++i) {\n code = str.charCodeAt(i);\n if ((code === 0x27 /* ' */ && single) || (code === 0x22 /* \" */ && !single)) {\n result += '\\\\';\n }\n result += String.fromCharCode(code);\n }\n\n return result + quote;\n }\n\n /**\n * flatten an array to a string, where the array can contain\n * either strings or nested arrays\n */\n function flattenToString(arr) {\n var i, iz, elem, result = '';\n for (i = 0, iz = arr.length; i < iz; ++i) {\n elem = arr[i];\n result += Array.isArray(elem) ? flattenToString(elem) : elem;\n }\n return result;\n }\n\n /**\n * convert generated to a SourceNode when source maps are enabled.\n */\n function toSourceNodeWhenNeeded(generated, node) {\n if (!sourceMap) {\n // with no source maps, generated is either an\n // array or a string. if an array, flatten it.\n // if a string, just return it\n if (Array.isArray(generated)) {\n return flattenToString(generated);\n } else {\n return generated;\n }\n }\n if (node == null) {\n if (generated instanceof SourceNode) {\n return generated;\n } else {\n node = {};\n }\n }\n if (node.loc == null) {\n return new SourceNode(null, null, sourceMap, generated, node.name || null);\n }\n return new SourceNode(node.loc.start.line, node.loc.start.column, (sourceMap === true ? node.loc.source || null : sourceMap), generated, node.name || null);\n }\n\n function noEmptySpace() {\n return (space) ? space : ' ';\n }\n\n function join(left, right) {\n var leftSource,\n rightSource,\n leftCharCode,\n rightCharCode;\n\n leftSource = toSourceNodeWhenNeeded(left).toString();\n if (leftSource.length === 0) {\n return [right];\n }\n\n rightSource = toSourceNodeWhenNeeded(right).toString();\n if (rightSource.length === 0) {\n return [left];\n }\n\n leftCharCode = leftSource.charCodeAt(leftSource.length - 1);\n rightCharCode = rightSource.charCodeAt(0);\n\n if ((leftCharCode === 0x2B /* + */ || leftCharCode === 0x2D /* - */) && leftCharCode === rightCharCode ||\n esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode) ||\n leftCharCode === 0x2F /* / */ && rightCharCode === 0x69 /* i */) { // infix word operators all start with `i`\n return [left, noEmptySpace(), right];\n } else if (esutils.code.isWhiteSpace(leftCharCode) || esutils.code.isLineTerminator(leftCharCode) ||\n esutils.code.isWhiteSpace(rightCharCode) || esutils.code.isLineTerminator(rightCharCode)) {\n return [left, right];\n }\n return [left, space, right];\n }\n\n function addIndent(stmt) {\n return [base, stmt];\n }\n\n function withIndent(fn) {\n var previousBase;\n previousBase = base;\n base += indent;\n fn(base);\n base = previousBase;\n }\n\n function calculateSpaces(str) {\n var i;\n for (i = str.length - 1; i >= 0; --i) {\n if (esutils.code.isLineTerminator(str.charCodeAt(i))) {\n break;\n }\n }\n return (str.length - 1) - i;\n }\n\n function adjustMultilineComment(value, specialBase) {\n var array, i, len, line, j, spaces, previousBase, sn;\n\n array = value.split(/\\r\\n|[\\r\\n]/);\n spaces = Number.MAX_VALUE;\n\n // first line doesn't have indentation\n for (i = 1, len = array.length; i < len; ++i) {\n line = array[i];\n j = 0;\n while (j < line.length && esutils.code.isWhiteSpace(line.charCodeAt(j))) {\n ++j;\n }\n if (spaces > j) {\n spaces = j;\n }\n }\n\n if (typeof specialBase !== 'undefined') {\n // pattern like\n // {\n // var t = 20; /*\n // * this is comment\n // */\n // }\n previousBase = base;\n if (array[1][spaces] === '*') {\n specialBase += ' ';\n }\n base = specialBase;\n } else {\n if (spaces & 1) {\n // /*\n // *\n // */\n // If spaces are odd number, above pattern is considered.\n // We waste 1 space.\n --spaces;\n }\n previousBase = base;\n }\n\n for (i = 1, len = array.length; i < len; ++i) {\n sn = toSourceNodeWhenNeeded(addIndent(array[i].slice(spaces)));\n array[i] = sourceMap ? sn.join('') : sn;\n }\n\n base = previousBase;\n\n return array.join('\\n');\n }\n\n function generateComment(comment, specialBase) {\n if (comment.type === 'Line') {\n if (endsWithLineTerminator(comment.value)) {\n return '//' + comment.value;\n } else {\n // Always use LineTerminator\n var result = '//' + comment.value;\n if (!preserveBlankLines) {\n result += '\\n';\n }\n return result;\n }\n }\n if (extra.format.indent.adjustMultilineComment && /[\\n\\r]/.test(comment.value)) {\n return adjustMultilineComment('/*' + comment.value + '*/', specialBase);\n }\n return '/*' + comment.value + '*/';\n }\n\n function addComments(stmt, result) {\n var i, len, comment, save, tailingToStatement, specialBase, fragment,\n extRange, range, prevRange, prefix, infix, suffix, count;\n\n if (stmt.leadingComments && stmt.leadingComments.length > 0) {\n save = result;\n\n if (preserveBlankLines) {\n comment = stmt.leadingComments[0];\n result = [];\n\n extRange = comment.extendedRange;\n range = comment.range;\n\n prefix = sourceCode.substring(extRange[0], range[0]);\n count = (prefix.match(/\\n/g) || []).length;\n if (count > 0) {\n result.push(stringRepeat('\\n', count));\n result.push(addIndent(generateComment(comment)));\n } else {\n result.push(prefix);\n result.push(generateComment(comment));\n }\n\n prevRange = range;\n\n for (i = 1, len = stmt.leadingComments.length; i < len; i++) {\n comment = stmt.leadingComments[i];\n range = comment.range;\n\n infix = sourceCode.substring(prevRange[1], range[0]);\n count = (infix.match(/\\n/g) || []).length;\n result.push(stringRepeat('\\n', count));\n result.push(addIndent(generateComment(comment)));\n\n prevRange = range;\n }\n\n suffix = sourceCode.substring(range[1], extRange[1]);\n count = (suffix.match(/\\n/g) || []).length;\n result.push(stringRepeat('\\n', count));\n } else {\n comment = stmt.leadingComments[0];\n result = [];\n if (safeConcatenation && stmt.type === Syntax.Program && stmt.body.length === 0) {\n result.push('\\n');\n }\n result.push(generateComment(comment));\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push('\\n');\n }\n\n for (i = 1, len = stmt.leadingComments.length; i < len; ++i) {\n comment = stmt.leadingComments[i];\n fragment = [generateComment(comment)];\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n fragment.push('\\n');\n }\n result.push(addIndent(fragment));\n }\n }\n\n result.push(addIndent(save));\n }\n\n if (stmt.trailingComments) {\n\n if (preserveBlankLines) {\n comment = stmt.trailingComments[0];\n extRange = comment.extendedRange;\n range = comment.range;\n\n prefix = sourceCode.substring(extRange[0], range[0]);\n count = (prefix.match(/\\n/g) || []).length;\n\n if (count > 0) {\n result.push(stringRepeat('\\n', count));\n result.push(addIndent(generateComment(comment)));\n } else {\n result.push(prefix);\n result.push(generateComment(comment));\n }\n } else {\n tailingToStatement = !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());\n specialBase = stringRepeat(' ', calculateSpaces(toSourceNodeWhenNeeded([base, result, indent]).toString()));\n for (i = 0, len = stmt.trailingComments.length; i < len; ++i) {\n comment = stmt.trailingComments[i];\n if (tailingToStatement) {\n // We assume target like following script\n //\n // var t = 20; /**\n // * This is comment of t\n // */\n if (i === 0) {\n // first case\n result = [result, indent];\n } else {\n result = [result, specialBase];\n }\n result.push(generateComment(comment, specialBase));\n } else {\n result = [result, addIndent(generateComment(comment))];\n }\n if (i !== len - 1 && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result = [result, '\\n'];\n }\n }\n }\n }\n\n return result;\n }\n\n function generateBlankLines(start, end, result) {\n var j, newlineCount = 0;\n\n for (j = start; j < end; j++) {\n if (sourceCode[j] === '\\n') {\n newlineCount++;\n }\n }\n\n for (j = 1; j < newlineCount; j++) {\n result.push(newline);\n }\n }\n\n function parenthesize(text, current, should) {\n if (current < should) {\n return ['(', text, ')'];\n }\n return text;\n }\n\n function generateVerbatimString(string) {\n var i, iz, result;\n result = string.split(/\\r\\n|\\n/);\n for (i = 1, iz = result.length; i < iz; i++) {\n result[i] = newline + base + result[i];\n }\n return result;\n }\n\n function generateVerbatim(expr, precedence) {\n var verbatim, result, prec;\n verbatim = expr[extra.verbatim];\n\n if (typeof verbatim === 'string') {\n result = parenthesize(generateVerbatimString(verbatim), Precedence.Sequence, precedence);\n } else {\n // verbatim is object\n result = generateVerbatimString(verbatim.content);\n prec = (verbatim.precedence != null) ? verbatim.precedence : Precedence.Sequence;\n result = parenthesize(result, prec, precedence);\n }\n\n return toSourceNodeWhenNeeded(result, expr);\n }\n\n function CodeGenerator() {\n }\n\n // Helpers.\n\n CodeGenerator.prototype.maybeBlock = function(stmt, flags) {\n var result, noLeadingComment, that = this;\n\n noLeadingComment = !extra.comment || !stmt.leadingComments;\n\n if (stmt.type === Syntax.BlockStatement && noLeadingComment) {\n return [space, this.generateStatement(stmt, flags)];\n }\n\n if (stmt.type === Syntax.EmptyStatement && noLeadingComment) {\n return ';';\n }\n\n withIndent(function () {\n result = [\n newline,\n addIndent(that.generateStatement(stmt, flags))\n ];\n });\n\n return result;\n };\n\n CodeGenerator.prototype.maybeBlockSuffix = function (stmt, result) {\n var ends = endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());\n if (stmt.type === Syntax.BlockStatement && (!extra.comment || !stmt.leadingComments) && !ends) {\n return [result, space];\n }\n if (ends) {\n return [result, base];\n }\n return [result, newline, base];\n };\n\n function generateIdentifier(node) {\n return toSourceNodeWhenNeeded(node.name, node);\n }\n\n function generateAsyncPrefix(node, spaceRequired) {\n return node.async ? 'async' + (spaceRequired ? noEmptySpace() : space) : '';\n }\n\n function generateStarSuffix(node) {\n var isGenerator = node.generator && !extra.moz.starlessGenerator;\n return isGenerator ? '*' + space : '';\n }\n\n function generateMethodPrefix(prop) {\n var func = prop.value, prefix = '';\n if (func.async) {\n prefix += generateAsyncPrefix(func, !prop.computed);\n }\n if (func.generator) {\n // avoid space before method name\n prefix += generateStarSuffix(func) ? '*' : '';\n }\n return prefix;\n }\n\n CodeGenerator.prototype.generatePattern = function (node, precedence, flags) {\n if (node.type === Syntax.Identifier) {\n return generateIdentifier(node);\n }\n return this.generateExpression(node, precedence, flags);\n };\n\n CodeGenerator.prototype.generateFunctionParams = function (node) {\n var i, iz, result, hasDefault;\n\n hasDefault = false;\n\n if (node.type === Syntax.ArrowFunctionExpression &&\n !node.rest && (!node.defaults || node.defaults.length === 0) &&\n node.params.length === 1 && node.params[0].type === Syntax.Identifier) {\n // arg => { } case\n result = [generateAsyncPrefix(node, true), generateIdentifier(node.params[0])];\n } else {\n result = node.type === Syntax.ArrowFunctionExpression ? [generateAsyncPrefix(node, false)] : [];\n result.push('(');\n if (node.defaults) {\n hasDefault = true;\n }\n for (i = 0, iz = node.params.length; i < iz; ++i) {\n if (hasDefault && node.defaults[i]) {\n // Handle default values.\n result.push(this.generateAssignment(node.params[i], node.defaults[i], '=', Precedence.Assignment, E_TTT));\n } else {\n result.push(this.generatePattern(node.params[i], Precedence.Assignment, E_TTT));\n }\n if (i + 1 < iz) {\n result.push(',' + space);\n }\n }\n\n if (node.rest) {\n if (node.params.length) {\n result.push(',' + space);\n }\n result.push('...');\n result.push(generateIdentifier(node.rest));\n }\n\n result.push(')');\n }\n\n return result;\n };\n\n CodeGenerator.prototype.generateFunctionBody = function (node) {\n var result, expr;\n\n result = this.generateFunctionParams(node);\n\n if (node.type === Syntax.ArrowFunctionExpression) {\n result.push(space);\n result.push('=>');\n }\n\n if (node.expression) {\n result.push(space);\n expr = this.generateExpression(node.body, Precedence.Assignment, E_TTT);\n if (expr.toString().charAt(0) === '{') {\n expr = ['(', expr, ')'];\n }\n result.push(expr);\n } else {\n result.push(this.maybeBlock(node.body, S_TTFF));\n }\n\n return result;\n };\n\n CodeGenerator.prototype.generateIterationForStatement = function (operator, stmt, flags) {\n var result = ['for' + (stmt.await ? noEmptySpace() + 'await' : '') + space + '('], that = this;\n withIndent(function () {\n if (stmt.left.type === Syntax.VariableDeclaration) {\n withIndent(function () {\n result.push(stmt.left.kind + noEmptySpace());\n result.push(that.generateStatement(stmt.left.declarations[0], S_FFFF));\n });\n } else {\n result.push(that.generateExpression(stmt.left, Precedence.Call, E_TTT));\n }\n\n result = join(result, operator);\n result = [join(\n result,\n that.generateExpression(stmt.right, Precedence.Assignment, E_TTT)\n ), ')'];\n });\n result.push(this.maybeBlock(stmt.body, flags));\n return result;\n };\n\n CodeGenerator.prototype.generatePropertyKey = function (expr, computed) {\n var result = [];\n\n if (computed) {\n result.push('[');\n }\n\n result.push(this.generateExpression(expr, Precedence.Assignment, E_TTT));\n\n if (computed) {\n result.push(']');\n }\n\n return result;\n };\n\n CodeGenerator.prototype.generateAssignment = function (left, right, operator, precedence, flags) {\n if (Precedence.Assignment < precedence) {\n flags |= F_ALLOW_IN;\n }\n\n return parenthesize(\n [\n this.generateExpression(left, Precedence.Call, flags),\n space + operator + space,\n this.generateExpression(right, Precedence.Assignment, flags)\n ],\n Precedence.Assignment,\n precedence\n );\n };\n\n CodeGenerator.prototype.semicolon = function (flags) {\n if (!semicolons && flags & F_SEMICOLON_OPT) {\n return '';\n }\n return ';';\n };\n\n // Statements.\n\n CodeGenerator.Statement = {\n\n BlockStatement: function (stmt, flags) {\n var range, content, result = ['{', newline], that = this;\n\n withIndent(function () {\n // handle functions without any code\n if (stmt.body.length === 0 && preserveBlankLines) {\n range = stmt.range;\n if (range[1] - range[0] > 2) {\n content = sourceCode.substring(range[0] + 1, range[1] - 1);\n if (content[0] === '\\n') {\n result = ['{'];\n }\n result.push(content);\n }\n }\n\n var i, iz, fragment, bodyFlags;\n bodyFlags = S_TFFF;\n if (flags & F_FUNC_BODY) {\n bodyFlags |= F_DIRECTIVE_CTX;\n }\n\n for (i = 0, iz = stmt.body.length; i < iz; ++i) {\n if (preserveBlankLines) {\n // handle spaces before the first line\n if (i === 0) {\n if (stmt.body[0].leadingComments) {\n range = stmt.body[0].leadingComments[0].extendedRange;\n content = sourceCode.substring(range[0], range[1]);\n if (content[0] === '\\n') {\n result = ['{'];\n }\n }\n if (!stmt.body[0].leadingComments) {\n generateBlankLines(stmt.range[0], stmt.body[0].range[0], result);\n }\n }\n\n // handle spaces between lines\n if (i > 0) {\n if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) {\n generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result);\n }\n }\n }\n\n if (i === iz - 1) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n\n if (stmt.body[i].leadingComments && preserveBlankLines) {\n fragment = that.generateStatement(stmt.body[i], bodyFlags);\n } else {\n fragment = addIndent(that.generateStatement(stmt.body[i], bodyFlags));\n }\n\n result.push(fragment);\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n if (preserveBlankLines && i < iz - 1) {\n // don't add a new line if there are leading coments\n // in the next statement\n if (!stmt.body[i + 1].leadingComments) {\n result.push(newline);\n }\n } else {\n result.push(newline);\n }\n }\n\n if (preserveBlankLines) {\n // handle spaces after the last line\n if (i === iz - 1) {\n if (!stmt.body[i].trailingComments) {\n generateBlankLines(stmt.body[i].range[1], stmt.range[1], result);\n }\n }\n }\n }\n });\n\n result.push(addIndent('}'));\n return result;\n },\n\n BreakStatement: function (stmt, flags) {\n if (stmt.label) {\n return 'break ' + stmt.label.name + this.semicolon(flags);\n }\n return 'break' + this.semicolon(flags);\n },\n\n ContinueStatement: function (stmt, flags) {\n if (stmt.label) {\n return 'continue ' + stmt.label.name + this.semicolon(flags);\n }\n return 'continue' + this.semicolon(flags);\n },\n\n ClassBody: function (stmt, flags) {\n var result = [ '{', newline], that = this;\n\n withIndent(function (indent) {\n var i, iz;\n\n for (i = 0, iz = stmt.body.length; i < iz; ++i) {\n result.push(indent);\n result.push(that.generateExpression(stmt.body[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(newline);\n }\n }\n });\n\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(base);\n result.push('}');\n return result;\n },\n\n ClassDeclaration: function (stmt, flags) {\n var result, fragment;\n result = ['class'];\n if (stmt.id) {\n result = join(result, this.generateExpression(stmt.id, Precedence.Sequence, E_TTT));\n }\n if (stmt.superClass) {\n fragment = join('extends', this.generateExpression(stmt.superClass, Precedence.Unary, E_TTT));\n result = join(result, fragment);\n }\n result.push(space);\n result.push(this.generateStatement(stmt.body, S_TFFT));\n return result;\n },\n\n DirectiveStatement: function (stmt, flags) {\n if (extra.raw && stmt.raw) {\n return stmt.raw + this.semicolon(flags);\n }\n return escapeDirective(stmt.directive) + this.semicolon(flags);\n },\n\n DoWhileStatement: function (stmt, flags) {\n // Because `do 42 while (cond)` is Syntax Error. We need semicolon.\n var result = join('do', this.maybeBlock(stmt.body, S_TFFF));\n result = this.maybeBlockSuffix(stmt.body, result);\n return join(result, [\n 'while' + space + '(',\n this.generateExpression(stmt.test, Precedence.Sequence, E_TTT),\n ')' + this.semicolon(flags)\n ]);\n },\n\n CatchClause: function (stmt, flags) {\n var result, that = this;\n withIndent(function () {\n var guard;\n\n if (stmt.param) {\n result = [\n 'catch' + space + '(',\n that.generateExpression(stmt.param, Precedence.Sequence, E_TTT),\n ')'\n ];\n\n if (stmt.guard) {\n guard = that.generateExpression(stmt.guard, Precedence.Sequence, E_TTT);\n result.splice(2, 0, ' if ', guard);\n }\n } else {\n result = ['catch'];\n }\n });\n result.push(this.maybeBlock(stmt.body, S_TFFF));\n return result;\n },\n\n DebuggerStatement: function (stmt, flags) {\n return 'debugger' + this.semicolon(flags);\n },\n\n EmptyStatement: function (stmt, flags) {\n return ';';\n },\n\n ExportDefaultDeclaration: function (stmt, flags) {\n var result = [ 'export' ], bodyFlags;\n\n bodyFlags = (flags & F_SEMICOLON_OPT) ? S_TFFT : S_TFFF;\n\n // export default HoistableDeclaration[Default]\n // export default AssignmentExpression[In] ;\n result = join(result, 'default');\n if (isStatement(stmt.declaration)) {\n result = join(result, this.generateStatement(stmt.declaration, bodyFlags));\n } else {\n result = join(result, this.generateExpression(stmt.declaration, Precedence.Assignment, E_TTT) + this.semicolon(flags));\n }\n return result;\n },\n\n ExportNamedDeclaration: function (stmt, flags) {\n var result = [ 'export' ], bodyFlags, that = this;\n\n bodyFlags = (flags & F_SEMICOLON_OPT) ? S_TFFT : S_TFFF;\n\n // export VariableStatement\n // export Declaration[Default]\n if (stmt.declaration) {\n return join(result, this.generateStatement(stmt.declaration, bodyFlags));\n }\n\n // export ExportClause[NoReference] FromClause ;\n // export ExportClause ;\n if (stmt.specifiers) {\n if (stmt.specifiers.length === 0) {\n result = join(result, '{' + space + '}');\n } else if (stmt.specifiers[0].type === Syntax.ExportBatchSpecifier) {\n result = join(result, this.generateExpression(stmt.specifiers[0], Precedence.Sequence, E_TTT));\n } else {\n result = join(result, '{');\n withIndent(function (indent) {\n var i, iz;\n result.push(newline);\n for (i = 0, iz = stmt.specifiers.length; i < iz; ++i) {\n result.push(indent);\n result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(',' + newline);\n }\n }\n });\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(base + '}');\n }\n\n if (stmt.source) {\n result = join(result, [\n 'from' + space,\n // ModuleSpecifier\n this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),\n this.semicolon(flags)\n ]);\n } else {\n result.push(this.semicolon(flags));\n }\n }\n return result;\n },\n\n ExportAllDeclaration: function (stmt, flags) {\n // export * FromClause ;\n return [\n 'export' + space,\n '*' + space,\n 'from' + space,\n // ModuleSpecifier\n this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),\n this.semicolon(flags)\n ];\n },\n\n ExpressionStatement: function (stmt, flags) {\n var result, fragment;\n\n function isClassPrefixed(fragment) {\n var code;\n if (fragment.slice(0, 5) !== 'class') {\n return false;\n }\n code = fragment.charCodeAt(5);\n return code === 0x7B /* '{' */ || esutils.code.isWhiteSpace(code) || esutils.code.isLineTerminator(code);\n }\n\n function isFunctionPrefixed(fragment) {\n var code;\n if (fragment.slice(0, 8) !== 'function') {\n return false;\n }\n code = fragment.charCodeAt(8);\n return code === 0x28 /* '(' */ || esutils.code.isWhiteSpace(code) || code === 0x2A /* '*' */ || esutils.code.isLineTerminator(code);\n }\n\n function isAsyncPrefixed(fragment) {\n var code, i, iz;\n if (fragment.slice(0, 5) !== 'async') {\n return false;\n }\n if (!esutils.code.isWhiteSpace(fragment.charCodeAt(5))) {\n return false;\n }\n for (i = 6, iz = fragment.length; i < iz; ++i) {\n if (!esutils.code.isWhiteSpace(fragment.charCodeAt(i))) {\n break;\n }\n }\n if (i === iz) {\n return false;\n }\n if (fragment.slice(i, i + 8) !== 'function') {\n return false;\n }\n code = fragment.charCodeAt(i + 8);\n return code === 0x28 /* '(' */ || esutils.code.isWhiteSpace(code) || code === 0x2A /* '*' */ || esutils.code.isLineTerminator(code);\n }\n\n result = [this.generateExpression(stmt.expression, Precedence.Sequence, E_TTT)];\n // 12.4 '{', 'function', 'class' is not allowed in this position.\n // wrap expression with parentheses\n fragment = toSourceNodeWhenNeeded(result).toString();\n if (fragment.charCodeAt(0) === 0x7B /* '{' */ || // ObjectExpression\n isClassPrefixed(fragment) ||\n isFunctionPrefixed(fragment) ||\n isAsyncPrefixed(fragment) ||\n (directive && (flags & F_DIRECTIVE_CTX) && stmt.expression.type === Syntax.Literal && typeof stmt.expression.value === 'string')) {\n result = ['(', result, ')' + this.semicolon(flags)];\n } else {\n result.push(this.semicolon(flags));\n }\n return result;\n },\n\n ImportDeclaration: function (stmt, flags) {\n // ES6: 15.2.1 valid import declarations:\n // - import ImportClause FromClause ;\n // - import ModuleSpecifier ;\n var result, cursor, that = this;\n\n // If no ImportClause is present,\n // this should be `import ModuleSpecifier` so skip `from`\n // ModuleSpecifier is StringLiteral.\n if (stmt.specifiers.length === 0) {\n // import ModuleSpecifier ;\n return [\n 'import',\n space,\n // ModuleSpecifier\n this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),\n this.semicolon(flags)\n ];\n }\n\n // import ImportClause FromClause ;\n result = [\n 'import'\n ];\n cursor = 0;\n\n // ImportedBinding\n if (stmt.specifiers[cursor].type === Syntax.ImportDefaultSpecifier) {\n result = join(result, [\n this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)\n ]);\n ++cursor;\n }\n\n if (stmt.specifiers[cursor]) {\n if (cursor !== 0) {\n result.push(',');\n }\n\n if (stmt.specifiers[cursor].type === Syntax.ImportNamespaceSpecifier) {\n // NameSpaceImport\n result = join(result, [\n space,\n this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)\n ]);\n } else {\n // NamedImports\n result.push(space + '{');\n\n if ((stmt.specifiers.length - cursor) === 1) {\n // import { ... } from \"...\";\n result.push(space);\n result.push(this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT));\n result.push(space + '}' + space);\n } else {\n // import {\n // ...,\n // ...,\n // } from \"...\";\n withIndent(function (indent) {\n var i, iz;\n result.push(newline);\n for (i = cursor, iz = stmt.specifiers.length; i < iz; ++i) {\n result.push(indent);\n result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(',' + newline);\n }\n }\n });\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(base + '}' + space);\n }\n }\n }\n\n result = join(result, [\n 'from' + space,\n // ModuleSpecifier\n this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),\n this.semicolon(flags)\n ]);\n return result;\n },\n\n VariableDeclarator: function (stmt, flags) {\n var itemFlags = (flags & F_ALLOW_IN) ? E_TTT : E_FTT;\n if (stmt.init) {\n return [\n this.generateExpression(stmt.id, Precedence.Assignment, itemFlags),\n space,\n '=',\n space,\n this.generateExpression(stmt.init, Precedence.Assignment, itemFlags)\n ];\n }\n return this.generatePattern(stmt.id, Precedence.Assignment, itemFlags);\n },\n\n VariableDeclaration: function (stmt, flags) {\n // VariableDeclarator is typed as Statement,\n // but joined with comma (not LineTerminator).\n // So if comment is attached to target node, we should specialize.\n var result, i, iz, node, bodyFlags, that = this;\n\n result = [ stmt.kind ];\n\n bodyFlags = (flags & F_ALLOW_IN) ? S_TFFF : S_FFFF;\n\n function block() {\n node = stmt.declarations[0];\n if (extra.comment && node.leadingComments) {\n result.push('\\n');\n result.push(addIndent(that.generateStatement(node, bodyFlags)));\n } else {\n result.push(noEmptySpace());\n result.push(that.generateStatement(node, bodyFlags));\n }\n\n for (i = 1, iz = stmt.declarations.length; i < iz; ++i) {\n node = stmt.declarations[i];\n if (extra.comment && node.leadingComments) {\n result.push(',' + newline);\n result.push(addIndent(that.generateStatement(node, bodyFlags)));\n } else {\n result.push(',' + space);\n result.push(that.generateStatement(node, bodyFlags));\n }\n }\n }\n\n if (stmt.declarations.length > 1) {\n withIndent(block);\n } else {\n block();\n }\n\n result.push(this.semicolon(flags));\n\n return result;\n },\n\n ThrowStatement: function (stmt, flags) {\n return [join(\n 'throw',\n this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)\n ), this.semicolon(flags)];\n },\n\n TryStatement: function (stmt, flags) {\n var result, i, iz, guardedHandlers;\n\n result = ['try', this.maybeBlock(stmt.block, S_TFFF)];\n result = this.maybeBlockSuffix(stmt.block, result);\n\n if (stmt.handlers) {\n // old interface\n for (i = 0, iz = stmt.handlers.length; i < iz; ++i) {\n result = join(result, this.generateStatement(stmt.handlers[i], S_TFFF));\n if (stmt.finalizer || i + 1 !== iz) {\n result = this.maybeBlockSuffix(stmt.handlers[i].body, result);\n }\n }\n } else {\n guardedHandlers = stmt.guardedHandlers || [];\n\n for (i = 0, iz = guardedHandlers.length; i < iz; ++i) {\n result = join(result, this.generateStatement(guardedHandlers[i], S_TFFF));\n if (stmt.finalizer || i + 1 !== iz) {\n result = this.maybeBlockSuffix(guardedHandlers[i].body, result);\n }\n }\n\n // new interface\n if (stmt.handler) {\n if (Array.isArray(stmt.handler)) {\n for (i = 0, iz = stmt.handler.length; i < iz; ++i) {\n result = join(result, this.generateStatement(stmt.handler[i], S_TFFF));\n if (stmt.finalizer || i + 1 !== iz) {\n result = this.maybeBlockSuffix(stmt.handler[i].body, result);\n }\n }\n } else {\n result = join(result, this.generateStatement(stmt.handler, S_TFFF));\n if (stmt.finalizer) {\n result = this.maybeBlockSuffix(stmt.handler.body, result);\n }\n }\n }\n }\n if (stmt.finalizer) {\n result = join(result, ['finally', this.maybeBlock(stmt.finalizer, S_TFFF)]);\n }\n return result;\n },\n\n SwitchStatement: function (stmt, flags) {\n var result, fragment, i, iz, bodyFlags, that = this;\n withIndent(function () {\n result = [\n 'switch' + space + '(',\n that.generateExpression(stmt.discriminant, Precedence.Sequence, E_TTT),\n ')' + space + '{' + newline\n ];\n });\n if (stmt.cases) {\n bodyFlags = S_TFFF;\n for (i = 0, iz = stmt.cases.length; i < iz; ++i) {\n if (i === iz - 1) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n fragment = addIndent(this.generateStatement(stmt.cases[i], bodyFlags));\n result.push(fragment);\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n result.push(newline);\n }\n }\n }\n result.push(addIndent('}'));\n return result;\n },\n\n SwitchCase: function (stmt, flags) {\n var result, fragment, i, iz, bodyFlags, that = this;\n withIndent(function () {\n if (stmt.test) {\n result = [\n join('case', that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)),\n ':'\n ];\n } else {\n result = ['default:'];\n }\n\n i = 0;\n iz = stmt.consequent.length;\n if (iz && stmt.consequent[0].type === Syntax.BlockStatement) {\n fragment = that.maybeBlock(stmt.consequent[0], S_TFFF);\n result.push(fragment);\n i = 1;\n }\n\n if (i !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n\n bodyFlags = S_TFFF;\n for (; i < iz; ++i) {\n if (i === iz - 1 && flags & F_SEMICOLON_OPT) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n fragment = addIndent(that.generateStatement(stmt.consequent[i], bodyFlags));\n result.push(fragment);\n if (i + 1 !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n result.push(newline);\n }\n }\n });\n return result;\n },\n\n IfStatement: function (stmt, flags) {\n var result, bodyFlags, semicolonOptional, that = this;\n withIndent(function () {\n result = [\n 'if' + space + '(',\n that.generateExpression(stmt.test, Precedence.Sequence, E_TTT),\n ')'\n ];\n });\n semicolonOptional = flags & F_SEMICOLON_OPT;\n bodyFlags = S_TFFF;\n if (semicolonOptional) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n if (stmt.alternate) {\n result.push(this.maybeBlock(stmt.consequent, S_TFFF));\n result = this.maybeBlockSuffix(stmt.consequent, result);\n if (stmt.alternate.type === Syntax.IfStatement) {\n result = join(result, ['else ', this.generateStatement(stmt.alternate, bodyFlags)]);\n } else {\n result = join(result, join('else', this.maybeBlock(stmt.alternate, bodyFlags)));\n }\n } else {\n result.push(this.maybeBlock(stmt.consequent, bodyFlags));\n }\n return result;\n },\n\n ForStatement: function (stmt, flags) {\n var result, that = this;\n withIndent(function () {\n result = ['for' + space + '('];\n if (stmt.init) {\n if (stmt.init.type === Syntax.VariableDeclaration) {\n result.push(that.generateStatement(stmt.init, S_FFFF));\n } else {\n // F_ALLOW_IN becomes false.\n result.push(that.generateExpression(stmt.init, Precedence.Sequence, E_FTT));\n result.push(';');\n }\n } else {\n result.push(';');\n }\n\n if (stmt.test) {\n result.push(space);\n result.push(that.generateExpression(stmt.test, Precedence.Sequence, E_TTT));\n result.push(';');\n } else {\n result.push(';');\n }\n\n if (stmt.update) {\n result.push(space);\n result.push(that.generateExpression(stmt.update, Precedence.Sequence, E_TTT));\n result.push(')');\n } else {\n result.push(')');\n }\n });\n\n result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));\n return result;\n },\n\n ForInStatement: function (stmt, flags) {\n return this.generateIterationForStatement('in', stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF);\n },\n\n ForOfStatement: function (stmt, flags) {\n return this.generateIterationForStatement('of', stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF);\n },\n\n LabeledStatement: function (stmt, flags) {\n return [stmt.label.name + ':', this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)];\n },\n\n Program: function (stmt, flags) {\n var result, fragment, i, iz, bodyFlags;\n iz = stmt.body.length;\n result = [safeConcatenation && iz > 0 ? '\\n' : ''];\n bodyFlags = S_TFTF;\n for (i = 0; i < iz; ++i) {\n if (!safeConcatenation && i === iz - 1) {\n bodyFlags |= F_SEMICOLON_OPT;\n }\n\n if (preserveBlankLines) {\n // handle spaces before the first line\n if (i === 0) {\n if (!stmt.body[0].leadingComments) {\n generateBlankLines(stmt.range[0], stmt.body[i].range[0], result);\n }\n }\n\n // handle spaces between lines\n if (i > 0) {\n if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) {\n generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result);\n }\n }\n }\n\n fragment = addIndent(this.generateStatement(stmt.body[i], bodyFlags));\n result.push(fragment);\n if (i + 1 < iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n if (preserveBlankLines) {\n if (!stmt.body[i + 1].leadingComments) {\n result.push(newline);\n }\n } else {\n result.push(newline);\n }\n }\n\n if (preserveBlankLines) {\n // handle spaces after the last line\n if (i === iz - 1) {\n if (!stmt.body[i].trailingComments) {\n generateBlankLines(stmt.body[i].range[1], stmt.range[1], result);\n }\n }\n }\n }\n return result;\n },\n\n FunctionDeclaration: function (stmt, flags) {\n return [\n generateAsyncPrefix(stmt, true),\n 'function',\n generateStarSuffix(stmt) || noEmptySpace(),\n stmt.id ? generateIdentifier(stmt.id) : '',\n this.generateFunctionBody(stmt)\n ];\n },\n\n ReturnStatement: function (stmt, flags) {\n if (stmt.argument) {\n return [join(\n 'return',\n this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)\n ), this.semicolon(flags)];\n }\n return ['return' + this.semicolon(flags)];\n },\n\n WhileStatement: function (stmt, flags) {\n var result, that = this;\n withIndent(function () {\n result = [\n 'while' + space + '(',\n that.generateExpression(stmt.test, Precedence.Sequence, E_TTT),\n ')'\n ];\n });\n result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));\n return result;\n },\n\n WithStatement: function (stmt, flags) {\n var result, that = this;\n withIndent(function () {\n result = [\n 'with' + space + '(',\n that.generateExpression(stmt.object, Precedence.Sequence, E_TTT),\n ')'\n ];\n });\n result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));\n return result;\n }\n\n };\n\n merge(CodeGenerator.prototype, CodeGenerator.Statement);\n\n // Expressions.\n\n CodeGenerator.Expression = {\n\n SequenceExpression: function (expr, precedence, flags) {\n var result, i, iz;\n if (Precedence.Sequence < precedence) {\n flags |= F_ALLOW_IN;\n }\n result = [];\n for (i = 0, iz = expr.expressions.length; i < iz; ++i) {\n result.push(this.generateExpression(expr.expressions[i], Precedence.Assignment, flags));\n if (i + 1 < iz) {\n result.push(',' + space);\n }\n }\n return parenthesize(result, Precedence.Sequence, precedence);\n },\n\n AssignmentExpression: function (expr, precedence, flags) {\n return this.generateAssignment(expr.left, expr.right, expr.operator, precedence, flags);\n },\n\n ArrowFunctionExpression: function (expr, precedence, flags) {\n return parenthesize(this.generateFunctionBody(expr), Precedence.ArrowFunction, precedence);\n },\n\n ConditionalExpression: function (expr, precedence, flags) {\n if (Precedence.Conditional < precedence) {\n flags |= F_ALLOW_IN;\n }\n return parenthesize(\n [\n this.generateExpression(expr.test, Precedence.LogicalOR, flags),\n space + '?' + space,\n this.generateExpression(expr.consequent, Precedence.Assignment, flags),\n space + ':' + space,\n this.generateExpression(expr.alternate, Precedence.Assignment, flags)\n ],\n Precedence.Conditional,\n precedence\n );\n },\n\n LogicalExpression: function (expr, precedence, flags) {\n return this.BinaryExpression(expr, precedence, flags);\n },\n\n BinaryExpression: function (expr, precedence, flags) {\n var result, leftPrecedence, rightPrecedence, currentPrecedence, fragment, leftSource;\n currentPrecedence = BinaryPrecedence[expr.operator];\n leftPrecedence = expr.operator === '**' ? Precedence.Postfix : currentPrecedence;\n rightPrecedence = expr.operator === '**' ? currentPrecedence : currentPrecedence + 1;\n\n if (currentPrecedence < precedence) {\n flags |= F_ALLOW_IN;\n }\n\n fragment = this.generateExpression(expr.left, leftPrecedence, flags);\n\n leftSource = fragment.toString();\n\n if (leftSource.charCodeAt(leftSource.length - 1) === 0x2F /* / */ && esutils.code.isIdentifierPartES5(expr.operator.charCodeAt(0))) {\n result = [fragment, noEmptySpace(), expr.operator];\n } else {\n result = join(fragment, expr.operator);\n }\n\n fragment = this.generateExpression(expr.right, rightPrecedence, flags);\n\n if (expr.operator === '/' && fragment.toString().charAt(0) === '/' ||\n expr.operator.slice(-1) === '<' && fragment.toString().slice(0, 3) === '!--') {\n // If '/' concats with '/' or `<` concats with `!--`, it is interpreted as comment start\n result.push(noEmptySpace());\n result.push(fragment);\n } else {\n result = join(result, fragment);\n }\n\n if (expr.operator === 'in' && !(flags & F_ALLOW_IN)) {\n return ['(', result, ')'];\n }\n return parenthesize(result, currentPrecedence, precedence);\n },\n\n CallExpression: function (expr, precedence, flags) {\n var result, i, iz;\n\n // F_ALLOW_UNPARATH_NEW becomes false.\n result = [this.generateExpression(expr.callee, Precedence.Call, E_TTF)];\n\n if (expr.optional) {\n result.push('?.');\n }\n\n result.push('(');\n for (i = 0, iz = expr['arguments'].length; i < iz; ++i) {\n result.push(this.generateExpression(expr['arguments'][i], Precedence.Assignment, E_TTT));\n if (i + 1 < iz) {\n result.push(',' + space);\n }\n }\n result.push(')');\n\n if (!(flags & F_ALLOW_CALL)) {\n return ['(', result, ')'];\n }\n\n return parenthesize(result, Precedence.Call, precedence);\n },\n\n ChainExpression: function (expr, precedence, flags) {\n if (Precedence.OptionalChaining < precedence) {\n flags |= F_ALLOW_CALL;\n }\n\n var result = this.generateExpression(expr.expression, Precedence.OptionalChaining, flags);\n\n return parenthesize(result, Precedence.OptionalChaining, precedence);\n },\n\n NewExpression: function (expr, precedence, flags) {\n var result, length, i, iz, itemFlags;\n length = expr['arguments'].length;\n\n // F_ALLOW_CALL becomes false.\n // F_ALLOW_UNPARATH_NEW may become false.\n itemFlags = (flags & F_ALLOW_UNPARATH_NEW && !parentheses && length === 0) ? E_TFT : E_TFF;\n\n result = join(\n 'new',\n this.generateExpression(expr.callee, Precedence.New, itemFlags)\n );\n\n if (!(flags & F_ALLOW_UNPARATH_NEW) || parentheses || length > 0) {\n result.push('(');\n for (i = 0, iz = length; i < iz; ++i) {\n result.push(this.generateExpression(expr['arguments'][i], Precedence.Assignment, E_TTT));\n if (i + 1 < iz) {\n result.push(',' + space);\n }\n }\n result.push(')');\n }\n\n return parenthesize(result, Precedence.New, precedence);\n },\n\n MemberExpression: function (expr, precedence, flags) {\n var result, fragment;\n\n // F_ALLOW_UNPARATH_NEW becomes false.\n result = [this.generateExpression(expr.object, Precedence.Call, (flags & F_ALLOW_CALL) ? E_TTF : E_TFF)];\n\n if (expr.computed) {\n if (expr.optional) {\n result.push('?.');\n }\n\n result.push('[');\n result.push(this.generateExpression(expr.property, Precedence.Sequence, flags & F_ALLOW_CALL ? E_TTT : E_TFT));\n result.push(']');\n } else {\n if (!expr.optional && expr.object.type === Syntax.Literal && typeof expr.object.value === 'number') {\n fragment = toSourceNodeWhenNeeded(result).toString();\n // When the following conditions are all true,\n // 1. No floating point\n // 2. Don't have exponents\n // 3. The last character is a decimal digit\n // 4. Not hexadecimal OR octal number literal\n // we should add a floating point.\n if (\n fragment.indexOf('.') < 0 &&\n !/[eExX]/.test(fragment) &&\n esutils.code.isDecimalDigit(fragment.charCodeAt(fragment.length - 1)) &&\n !(fragment.length >= 2 && fragment.charCodeAt(0) === 48) // '0'\n ) {\n result.push(' ');\n }\n }\n result.push(expr.optional ? '?.' : '.');\n result.push(generateIdentifier(expr.property));\n }\n\n return parenthesize(result, Precedence.Member, precedence);\n },\n\n MetaProperty: function (expr, precedence, flags) {\n var result;\n result = [];\n result.push(typeof expr.meta === \"string\" ? expr.meta : generateIdentifier(expr.meta));\n result.push('.');\n result.push(typeof expr.property === \"string\" ? expr.property : generateIdentifier(expr.property));\n return parenthesize(result, Precedence.Member, precedence);\n },\n\n UnaryExpression: function (expr, precedence, flags) {\n var result, fragment, rightCharCode, leftSource, leftCharCode;\n fragment = this.generateExpression(expr.argument, Precedence.Unary, E_TTT);\n\n if (space === '') {\n result = join(expr.operator, fragment);\n } else {\n result = [expr.operator];\n if (expr.operator.length > 2) {\n // delete, void, typeof\n // get `typeof []`, not `typeof[]`\n result = join(result, fragment);\n } else {\n // Prevent inserting spaces between operator and argument if it is unnecessary\n // like, `!cond`\n leftSource = toSourceNodeWhenNeeded(result).toString();\n leftCharCode = leftSource.charCodeAt(leftSource.length - 1);\n rightCharCode = fragment.toString().charCodeAt(0);\n\n if (((leftCharCode === 0x2B /* + */ || leftCharCode === 0x2D /* - */) && leftCharCode === rightCharCode) ||\n (esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode))) {\n result.push(noEmptySpace());\n result.push(fragment);\n } else {\n result.push(fragment);\n }\n }\n }\n return parenthesize(result, Precedence.Unary, precedence);\n },\n\n YieldExpression: function (expr, precedence, flags) {\n var result;\n if (expr.delegate) {\n result = 'yield*';\n } else {\n result = 'yield';\n }\n if (expr.argument) {\n result = join(\n result,\n this.generateExpression(expr.argument, Precedence.Yield, E_TTT)\n );\n }\n return parenthesize(result, Precedence.Yield, precedence);\n },\n\n AwaitExpression: function (expr, precedence, flags) {\n var result = join(\n expr.all ? 'await*' : 'await',\n this.generateExpression(expr.argument, Precedence.Await, E_TTT)\n );\n return parenthesize(result, Precedence.Await, precedence);\n },\n\n UpdateExpression: function (expr, precedence, flags) {\n if (expr.prefix) {\n return parenthesize(\n [\n expr.operator,\n this.generateExpression(expr.argument, Precedence.Unary, E_TTT)\n ],\n Precedence.Unary,\n precedence\n );\n }\n return parenthesize(\n [\n this.generateExpression(expr.argument, Precedence.Postfix, E_TTT),\n expr.operator\n ],\n Precedence.Postfix,\n precedence\n );\n },\n\n FunctionExpression: function (expr, precedence, flags) {\n var result = [\n generateAsyncPrefix(expr, true),\n 'function'\n ];\n if (expr.id) {\n result.push(generateStarSuffix(expr) || noEmptySpace());\n result.push(generateIdentifier(expr.id));\n } else {\n result.push(generateStarSuffix(expr) || space);\n }\n result.push(this.generateFunctionBody(expr));\n return result;\n },\n\n ArrayPattern: function (expr, precedence, flags) {\n return this.ArrayExpression(expr, precedence, flags, true);\n },\n\n ArrayExpression: function (expr, precedence, flags, isPattern) {\n var result, multiline, that = this;\n if (!expr.elements.length) {\n return '[]';\n }\n multiline = isPattern ? false : expr.elements.length > 1;\n result = ['[', multiline ? newline : ''];\n withIndent(function (indent) {\n var i, iz;\n for (i = 0, iz = expr.elements.length; i < iz; ++i) {\n if (!expr.elements[i]) {\n if (multiline) {\n result.push(indent);\n }\n if (i + 1 === iz) {\n result.push(',');\n }\n } else {\n result.push(multiline ? indent : '');\n result.push(that.generateExpression(expr.elements[i], Precedence.Assignment, E_TTT));\n }\n if (i + 1 < iz) {\n result.push(',' + (multiline ? newline : space));\n }\n }\n });\n if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(multiline ? base : '');\n result.push(']');\n return result;\n },\n\n RestElement: function(expr, precedence, flags) {\n return '...' + this.generatePattern(expr.argument);\n },\n\n ClassExpression: function (expr, precedence, flags) {\n var result, fragment;\n result = ['class'];\n if (expr.id) {\n result = join(result, this.generateExpression(expr.id, Precedence.Sequence, E_TTT));\n }\n if (expr.superClass) {\n fragment = join('extends', this.generateExpression(expr.superClass, Precedence.Unary, E_TTT));\n result = join(result, fragment);\n }\n result.push(space);\n result.push(this.generateStatement(expr.body, S_TFFT));\n return result;\n },\n\n MethodDefinition: function (expr, precedence, flags) {\n var result, fragment;\n if (expr['static']) {\n result = ['static' + space];\n } else {\n result = [];\n }\n if (expr.kind === 'get' || expr.kind === 'set') {\n fragment = [\n join(expr.kind, this.generatePropertyKey(expr.key, expr.computed)),\n this.generateFunctionBody(expr.value)\n ];\n } else {\n fragment = [\n generateMethodPrefix(expr),\n this.generatePropertyKey(expr.key, expr.computed),\n this.generateFunctionBody(expr.value)\n ];\n }\n return join(result, fragment);\n },\n\n Property: function (expr, precedence, flags) {\n if (expr.kind === 'get' || expr.kind === 'set') {\n return [\n expr.kind, noEmptySpace(),\n this.generatePropertyKey(expr.key, expr.computed),\n this.generateFunctionBody(expr.value)\n ];\n }\n\n if (expr.shorthand) {\n if (expr.value.type === \"AssignmentPattern\") {\n return this.AssignmentPattern(expr.value, Precedence.Sequence, E_TTT);\n }\n return this.generatePropertyKey(expr.key, expr.computed);\n }\n\n if (expr.method) {\n return [\n generateMethodPrefix(expr),\n this.generatePropertyKey(expr.key, expr.computed),\n this.generateFunctionBody(expr.value)\n ];\n }\n\n return [\n this.generatePropertyKey(expr.key, expr.computed),\n ':' + space,\n this.generateExpression(expr.value, Precedence.Assignment, E_TTT)\n ];\n },\n\n ObjectExpression: function (expr, precedence, flags) {\n var multiline, result, fragment, that = this;\n\n if (!expr.properties.length) {\n return '{}';\n }\n multiline = expr.properties.length > 1;\n\n withIndent(function () {\n fragment = that.generateExpression(expr.properties[0], Precedence.Sequence, E_TTT);\n });\n\n if (!multiline) {\n // issues 4\n // Do not transform from\n // dejavu.Class.declare({\n // method2: function () {}\n // });\n // to\n // dejavu.Class.declare({method2: function () {\n // }});\n if (!hasLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {\n return [ '{', space, fragment, space, '}' ];\n }\n }\n\n withIndent(function (indent) {\n var i, iz;\n result = [ '{', newline, indent, fragment ];\n\n if (multiline) {\n result.push(',' + newline);\n for (i = 1, iz = expr.properties.length; i < iz; ++i) {\n result.push(indent);\n result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(',' + newline);\n }\n }\n }\n });\n\n if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(base);\n result.push('}');\n return result;\n },\n\n AssignmentPattern: function(expr, precedence, flags) {\n return this.generateAssignment(expr.left, expr.right, '=', precedence, flags);\n },\n\n ObjectPattern: function (expr, precedence, flags) {\n var result, i, iz, multiline, property, that = this;\n if (!expr.properties.length) {\n return '{}';\n }\n\n multiline = false;\n if (expr.properties.length === 1) {\n property = expr.properties[0];\n if (\n property.type === Syntax.Property\n && property.value.type !== Syntax.Identifier\n ) {\n multiline = true;\n }\n } else {\n for (i = 0, iz = expr.properties.length; i < iz; ++i) {\n property = expr.properties[i];\n if (\n property.type === Syntax.Property\n && !property.shorthand\n ) {\n multiline = true;\n break;\n }\n }\n }\n result = ['{', multiline ? newline : '' ];\n\n withIndent(function (indent) {\n var i, iz;\n for (i = 0, iz = expr.properties.length; i < iz; ++i) {\n result.push(multiline ? indent : '');\n result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT));\n if (i + 1 < iz) {\n result.push(',' + (multiline ? newline : space));\n }\n }\n });\n\n if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {\n result.push(newline);\n }\n result.push(multiline ? base : '');\n result.push('}');\n return result;\n },\n\n ThisExpression: function (expr, precedence, flags) {\n return 'this';\n },\n\n Super: function (expr, precedence, flags) {\n return 'super';\n },\n\n Identifier: function (expr, precedence, flags) {\n return generateIdentifier(expr);\n },\n\n ImportDefaultSpecifier: function (expr, precedence, flags) {\n return generateIdentifier(expr.id || expr.local);\n },\n\n ImportNamespaceSpecifier: function (expr, precedence, flags) {\n var result = ['*'];\n var id = expr.id || expr.local;\n if (id) {\n result.push(space + 'as' + noEmptySpace() + generateIdentifier(id));\n }\n return result;\n },\n\n ImportSpecifier: function (expr, precedence, flags) {\n var imported = expr.imported;\n var result = [ imported.name ];\n var local = expr.local;\n if (local && local.name !== imported.name) {\n result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(local));\n }\n return result;\n },\n\n ExportSpecifier: function (expr, precedence, flags) {\n var local = expr.local;\n var result = [ local.name ];\n var exported = expr.exported;\n if (exported && exported.name !== local.name) {\n result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(exported));\n }\n return result;\n },\n\n Literal: function (expr, precedence, flags) {\n var raw;\n if (expr.hasOwnProperty('raw') && parse && extra.raw) {\n try {\n raw = parse(expr.raw).body[0].expression;\n if (raw.type === Syntax.Literal) {\n if (raw.value === expr.value) {\n return expr.raw;\n }\n }\n } catch (e) {\n // not use raw property\n }\n }\n\n if (expr.regex) {\n return '/' + expr.regex.pattern + '/' + expr.regex.flags;\n }\n\n if (expr.value === null) {\n return 'null';\n }\n\n if (typeof expr.value === 'string') {\n return escapeString(expr.value);\n }\n\n if (typeof expr.value === 'number') {\n return generateNumber(expr.value);\n }\n\n if (typeof expr.value === 'boolean') {\n return expr.value ? 'true' : 'false';\n }\n\n return generateRegExp(expr.value);\n },\n\n GeneratorExpression: function (expr, precedence, flags) {\n return this.ComprehensionExpression(expr, precedence, flags);\n },\n\n ComprehensionExpression: function (expr, precedence, flags) {\n // GeneratorExpression should be parenthesized with (...), ComprehensionExpression with [...]\n // Due to https://bugzilla.mozilla.org/show_bug.cgi?id=883468 position of expr.body can differ in Spidermonkey and ES6\n\n var result, i, iz, fragment, that = this;\n result = (expr.type === Syntax.GeneratorExpression) ? ['('] : ['['];\n\n if (extra.moz.comprehensionExpressionStartsWithAssignment) {\n fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT);\n result.push(fragment);\n }\n\n if (expr.blocks) {\n withIndent(function () {\n for (i = 0, iz = expr.blocks.length; i < iz; ++i) {\n fragment = that.generateExpression(expr.blocks[i], Precedence.Sequence, E_TTT);\n if (i > 0 || extra.moz.comprehensionExpressionStartsWithAssignment) {\n result = join(result, fragment);\n } else {\n result.push(fragment);\n }\n }\n });\n }\n\n if (expr.filter) {\n result = join(result, 'if' + space);\n fragment = this.generateExpression(expr.filter, Precedence.Sequence, E_TTT);\n result = join(result, [ '(', fragment, ')' ]);\n }\n\n if (!extra.moz.comprehensionExpressionStartsWithAssignment) {\n fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT);\n\n result = join(result, fragment);\n }\n\n result.push((expr.type === Syntax.GeneratorExpression) ? ')' : ']');\n return result;\n },\n\n ComprehensionBlock: function (expr, precedence, flags) {\n var fragment;\n if (expr.left.type === Syntax.VariableDeclaration) {\n fragment = [\n expr.left.kind, noEmptySpace(),\n this.generateStatement(expr.left.declarations[0], S_FFFF)\n ];\n } else {\n fragment = this.generateExpression(expr.left, Precedence.Call, E_TTT);\n }\n\n fragment = join(fragment, expr.of ? 'of' : 'in');\n fragment = join(fragment, this.generateExpression(expr.right, Precedence.Sequence, E_TTT));\n\n return [ 'for' + space + '(', fragment, ')' ];\n },\n\n SpreadElement: function (expr, precedence, flags) {\n return [\n '...',\n this.generateExpression(expr.argument, Precedence.Assignment, E_TTT)\n ];\n },\n\n TaggedTemplateExpression: function (expr, precedence, flags) {\n var itemFlags = E_TTF;\n if (!(flags & F_ALLOW_CALL)) {\n itemFlags = E_TFF;\n }\n var result = [\n this.generateExpression(expr.tag, Precedence.Call, itemFlags),\n this.generateExpression(expr.quasi, Precedence.Primary, E_FFT)\n ];\n return parenthesize(result, Precedence.TaggedTemplate, precedence);\n },\n\n TemplateElement: function (expr, precedence, flags) {\n // Don't use \"cooked\". Since tagged template can use raw template\n // representation. So if we do so, it breaks the script semantics.\n return expr.value.raw;\n },\n\n TemplateLiteral: function (expr, precedence, flags) {\n var result, i, iz;\n result = [ '`' ];\n for (i = 0, iz = expr.quasis.length; i < iz; ++i) {\n result.push(this.generateExpression(expr.quasis[i], Precedence.Primary, E_TTT));\n if (i + 1 < iz) {\n result.push('${' + space);\n result.push(this.generateExpression(expr.expressions[i], Precedence.Sequence, E_TTT));\n result.push(space + '}');\n }\n }\n result.push('`');\n return result;\n },\n\n ModuleSpecifier: function (expr, precedence, flags) {\n return this.Literal(expr, precedence, flags);\n },\n\n ImportExpression: function(expr, precedence, flag) {\n return parenthesize([\n 'import(',\n this.generateExpression(expr.source, Precedence.Assignment, E_TTT),\n ')'\n ], Precedence.Call, precedence);\n }\n };\n\n merge(CodeGenerator.prototype, CodeGenerator.Expression);\n\n CodeGenerator.prototype.generateExpression = function (expr, precedence, flags) {\n var result, type;\n\n type = expr.type || Syntax.Property;\n\n if (extra.verbatim && expr.hasOwnProperty(extra.verbatim)) {\n return generateVerbatim(expr, precedence);\n }\n\n result = this[type](expr, precedence, flags);\n\n\n if (extra.comment) {\n result = addComments(expr, result);\n }\n return toSourceNodeWhenNeeded(result, expr);\n };\n\n CodeGenerator.prototype.generateStatement = function (stmt, flags) {\n var result,\n fragment;\n\n result = this[stmt.type](stmt, flags);\n\n // Attach comments\n\n if (extra.comment) {\n result = addComments(stmt, result);\n }\n\n fragment = toSourceNodeWhenNeeded(result).toString();\n if (stmt.type === Syntax.Program && !safeConcatenation && newline === '' && fragment.charAt(fragment.length - 1) === '\\n') {\n result = sourceMap ? toSourceNodeWhenNeeded(result).replaceRight(/\\s+$/, '') : fragment.replace(/\\s+$/, '');\n }\n\n return toSourceNodeWhenNeeded(result, stmt);\n };\n\n function generateInternal(node) {\n var codegen;\n\n codegen = new CodeGenerator();\n if (isStatement(node)) {\n return codegen.generateStatement(node, S_TFFF);\n }\n\n if (isExpression(node)) {\n return codegen.generateExpression(node, Precedence.Sequence, E_TTT);\n }\n\n throw new Error('Unknown node type: ' + node.type);\n }\n\n function generate(node, options) {\n var defaultOptions = getDefaultOptions(), result, pair;\n\n if (options != null) {\n // Obsolete options\n //\n // `options.indent`\n // `options.base`\n //\n // Instead of them, we can use `option.format.indent`.\n if (typeof options.indent === 'string') {\n defaultOptions.format.indent.style = options.indent;\n }\n if (typeof options.base === 'number') {\n defaultOptions.format.indent.base = options.base;\n }\n options = updateDeeply(defaultOptions, options);\n indent = options.format.indent.style;\n if (typeof options.base === 'string') {\n base = options.base;\n } else {\n base = stringRepeat(indent, options.format.indent.base);\n }\n } else {\n options = defaultOptions;\n indent = options.format.indent.style;\n base = stringRepeat(indent, options.format.indent.base);\n }\n json = options.format.json;\n renumber = options.format.renumber;\n hexadecimal = json ? false : options.format.hexadecimal;\n quotes = json ? 'double' : options.format.quotes;\n escapeless = options.format.escapeless;\n newline = options.format.newline;\n space = options.format.space;\n if (options.format.compact) {\n newline = space = indent = base = '';\n }\n parentheses = options.format.parentheses;\n semicolons = options.format.semicolons;\n safeConcatenation = options.format.safeConcatenation;\n directive = options.directive;\n parse = json ? null : options.parse;\n sourceMap = options.sourceMap;\n sourceCode = options.sourceCode;\n preserveBlankLines = options.format.preserveBlankLines && sourceCode !== null;\n extra = options;\n\n if (sourceMap) {\n if (!exports.browser) {\n // We assume environment is node.js\n // And prevent from including source-map by browserify\n SourceNode = require('source-map').SourceNode;\n } else {\n SourceNode = global.sourceMap.SourceNode;\n }\n }\n\n result = generateInternal(node);\n\n if (!sourceMap) {\n pair = {code: result.toString(), map: null};\n return options.sourceMapWithCode ? pair : pair.code;\n }\n\n\n pair = result.toStringWithSourceMap({\n file: options.file,\n sourceRoot: options.sourceMapRoot\n });\n\n if (options.sourceContent) {\n pair.map.setSourceContent(options.sourceMap,\n options.sourceContent);\n }\n\n if (options.sourceMapWithCode) {\n return pair;\n }\n\n return pair.map.toString();\n }\n\n FORMAT_MINIFY = {\n indent: {\n style: '',\n base: 0\n },\n renumber: true,\n hexadecimal: true,\n quotes: 'auto',\n escapeless: true,\n compact: true,\n parentheses: false,\n semicolons: false\n };\n\n FORMAT_DEFAULTS = getDefaultOptions().format;\n\n exports.version = require('./package.json').version;\n exports.generate = generate;\n exports.attachComments = estraverse.attachComments;\n exports.Precedence = updateDeeply({}, Precedence);\n exports.browser = false;\n exports.FORMAT_MINIFY = FORMAT_MINIFY;\n exports.FORMAT_DEFAULTS = FORMAT_DEFAULTS;\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n","// Reserved word lists for various dialects of the language\n\nvar reservedWords = {\n 3: \"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile\",\n 5: \"class enum extends super const export import\",\n 6: \"enum\",\n strict: \"implements interface let package private protected public static yield\",\n strictBind: \"eval arguments\"\n};\n\n// And the keywords\n\nvar ecma5AndLessKeywords = \"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this\";\n\nvar keywords = {\n 5: ecma5AndLessKeywords,\n \"5module\": ecma5AndLessKeywords + \" export import\",\n 6: ecma5AndLessKeywords + \" const class extends export import super\"\n};\n\nvar keywordRelationalOperator = /^in(stanceof)?$/;\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point above 128.\n// Generated by `bin/generate-identifier-regex.js`.\nvar nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u08a0-\\u08b4\\u08b6-\\u08c7\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\u9ffc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7bf\\ua7c2-\\ua7ca\\ua7f5-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\nvar nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08d3-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf\\u1ac0\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1df9\\u1dfb-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\";\n\nvar nonASCIIidentifierStart = new RegExp(\"[\" + nonASCIIidentifierStartChars + \"]\");\nvar nonASCIIidentifier = new RegExp(\"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\");\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n\n// These are a run-length and offset encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by bin/generate-identifier-regex.js\n\n// eslint-disable-next-line comma-spacing\nvar astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938];\n\n// eslint-disable-next-line comma-spacing\nvar astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code, set) {\n var pos = 0x10000;\n for (var i = 0; i < set.length; i += 2) {\n pos += set[i];\n if (pos > code) { return false }\n pos += set[i + 1];\n if (pos >= code) { return true }\n }\n}\n\n// Test whether a given character code starts an identifier.\n\nfunction isIdentifierStart(code, astral) {\n if (code < 65) { return code === 36 }\n if (code < 91) { return true }\n if (code < 97) { return code === 95 }\n if (code < 123) { return true }\n if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)) }\n if (astral === false) { return false }\n return isInAstralSet(code, astralIdentifierStartCodes)\n}\n\n// Test whether a given character is part of an identifier.\n\nfunction isIdentifierChar(code, astral) {\n if (code < 48) { return code === 36 }\n if (code < 58) { return true }\n if (code < 65) { return false }\n if (code < 91) { return true }\n if (code < 97) { return code === 95 }\n if (code < 123) { return true }\n if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)) }\n if (astral === false) { return false }\n return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes)\n}\n\n// ## Token types\n\n// The assignment of fine-grained, information-carrying type objects\n// allows the tokenizer to store the information it has about a\n// token in a way that is very cheap for the parser to look up.\n\n// All token type variables start with an underscore, to make them\n// easy to recognize.\n\n// The `beforeExpr` property is used to disambiguate between regular\n// expressions and divisions. It is set on all token types that can\n// be followed by an expression (thus, a slash after them would be a\n// regular expression).\n//\n// The `startsExpr` property is used to check if the token ends a\n// `yield` expression. It is set on all token types that either can\n// directly start an expression (like a quotation mark) or can\n// continue an expression (like the body of a string).\n//\n// `isLoop` marks a keyword as starting a loop, which is important\n// to know when parsing a label, in order to allow or disallow\n// continue jumps to that label.\n\nvar TokenType = function TokenType(label, conf) {\n if ( conf === void 0 ) conf = {};\n\n this.label = label;\n this.keyword = conf.keyword;\n this.beforeExpr = !!conf.beforeExpr;\n this.startsExpr = !!conf.startsExpr;\n this.isLoop = !!conf.isLoop;\n this.isAssign = !!conf.isAssign;\n this.prefix = !!conf.prefix;\n this.postfix = !!conf.postfix;\n this.binop = conf.binop || null;\n this.updateContext = null;\n};\n\nfunction binop(name, prec) {\n return new TokenType(name, {beforeExpr: true, binop: prec})\n}\nvar beforeExpr = {beforeExpr: true}, startsExpr = {startsExpr: true};\n\n// Map keyword names to token types.\n\nvar keywords$1 = {};\n\n// Succinct definitions of keyword token types\nfunction kw(name, options) {\n if ( options === void 0 ) options = {};\n\n options.keyword = name;\n return keywords$1[name] = new TokenType(name, options)\n}\n\nvar types = {\n num: new TokenType(\"num\", startsExpr),\n regexp: new TokenType(\"regexp\", startsExpr),\n string: new TokenType(\"string\", startsExpr),\n name: new TokenType(\"name\", startsExpr),\n eof: new TokenType(\"eof\"),\n\n // Punctuation token types.\n bracketL: new TokenType(\"[\", {beforeExpr: true, startsExpr: true}),\n bracketR: new TokenType(\"]\"),\n braceL: new TokenType(\"{\", {beforeExpr: true, startsExpr: true}),\n braceR: new TokenType(\"}\"),\n parenL: new TokenType(\"(\", {beforeExpr: true, startsExpr: true}),\n parenR: new TokenType(\")\"),\n comma: new TokenType(\",\", beforeExpr),\n semi: new TokenType(\";\", beforeExpr),\n colon: new TokenType(\":\", beforeExpr),\n dot: new TokenType(\".\"),\n question: new TokenType(\"?\", beforeExpr),\n questionDot: new TokenType(\"?.\"),\n arrow: new TokenType(\"=>\", beforeExpr),\n template: new TokenType(\"template\"),\n invalidTemplate: new TokenType(\"invalidTemplate\"),\n ellipsis: new TokenType(\"...\", beforeExpr),\n backQuote: new TokenType(\"`\", startsExpr),\n dollarBraceL: new TokenType(\"${\", {beforeExpr: true, startsExpr: true}),\n\n // Operators. These carry several kinds of properties to help the\n // parser use them properly (the presence of these properties is\n // what categorizes them as operators).\n //\n // `binop`, when present, specifies that this operator is a binary\n // operator, and will refer to its precedence.\n //\n // `prefix` and `postfix` mark the operator as a prefix or postfix\n // unary operator.\n //\n // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as\n // binary operators with a very low precedence, that should result\n // in AssignmentExpression nodes.\n\n eq: new TokenType(\"=\", {beforeExpr: true, isAssign: true}),\n assign: new TokenType(\"_=\", {beforeExpr: true, isAssign: true}),\n incDec: new TokenType(\"++/--\", {prefix: true, postfix: true, startsExpr: true}),\n prefix: new TokenType(\"!/~\", {beforeExpr: true, prefix: true, startsExpr: true}),\n logicalOR: binop(\"||\", 1),\n logicalAND: binop(\"&&\", 2),\n bitwiseOR: binop(\"|\", 3),\n bitwiseXOR: binop(\"^\", 4),\n bitwiseAND: binop(\"&\", 5),\n equality: binop(\"==/!=/===/!==\", 6),\n relational: binop(\"/<=/>=\", 7),\n bitShift: binop(\"<>/>>>\", 8),\n plusMin: new TokenType(\"+/-\", {beforeExpr: true, binop: 9, prefix: true, startsExpr: true}),\n modulo: binop(\"%\", 10),\n star: binop(\"*\", 10),\n slash: binop(\"/\", 10),\n starstar: new TokenType(\"**\", {beforeExpr: true}),\n coalesce: binop(\"??\", 1),\n\n // Keyword token types.\n _break: kw(\"break\"),\n _case: kw(\"case\", beforeExpr),\n _catch: kw(\"catch\"),\n _continue: kw(\"continue\"),\n _debugger: kw(\"debugger\"),\n _default: kw(\"default\", beforeExpr),\n _do: kw(\"do\", {isLoop: true, beforeExpr: true}),\n _else: kw(\"else\", beforeExpr),\n _finally: kw(\"finally\"),\n _for: kw(\"for\", {isLoop: true}),\n _function: kw(\"function\", startsExpr),\n _if: kw(\"if\"),\n _return: kw(\"return\", beforeExpr),\n _switch: kw(\"switch\"),\n _throw: kw(\"throw\", beforeExpr),\n _try: kw(\"try\"),\n _var: kw(\"var\"),\n _const: kw(\"const\"),\n _while: kw(\"while\", {isLoop: true}),\n _with: kw(\"with\"),\n _new: kw(\"new\", {beforeExpr: true, startsExpr: true}),\n _this: kw(\"this\", startsExpr),\n _super: kw(\"super\", startsExpr),\n _class: kw(\"class\", startsExpr),\n _extends: kw(\"extends\", beforeExpr),\n _export: kw(\"export\"),\n _import: kw(\"import\", startsExpr),\n _null: kw(\"null\", startsExpr),\n _true: kw(\"true\", startsExpr),\n _false: kw(\"false\", startsExpr),\n _in: kw(\"in\", {beforeExpr: true, binop: 7}),\n _instanceof: kw(\"instanceof\", {beforeExpr: true, binop: 7}),\n _typeof: kw(\"typeof\", {beforeExpr: true, prefix: true, startsExpr: true}),\n _void: kw(\"void\", {beforeExpr: true, prefix: true, startsExpr: true}),\n _delete: kw(\"delete\", {beforeExpr: true, prefix: true, startsExpr: true})\n};\n\n// Matches a whole line break (where CRLF is considered a single\n// line break). Used to count lines.\n\nvar lineBreak = /\\r\\n?|\\n|\\u2028|\\u2029/;\nvar lineBreakG = new RegExp(lineBreak.source, \"g\");\n\nfunction isNewLine(code, ecma2019String) {\n return code === 10 || code === 13 || (!ecma2019String && (code === 0x2028 || code === 0x2029))\n}\n\nvar nonASCIIwhitespace = /[\\u1680\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/;\n\nvar skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\n\nvar ref = Object.prototype;\nvar hasOwnProperty = ref.hasOwnProperty;\nvar toString = ref.toString;\n\n// Checks if an object has a property.\n\nfunction has(obj, propName) {\n return hasOwnProperty.call(obj, propName)\n}\n\nvar isArray = Array.isArray || (function (obj) { return (\n toString.call(obj) === \"[object Array]\"\n); });\n\nfunction wordsRegexp(words) {\n return new RegExp(\"^(?:\" + words.replace(/ /g, \"|\") + \")$\")\n}\n\n// These are used when `options.locations` is on, for the\n// `startLoc` and `endLoc` properties.\n\nvar Position = function Position(line, col) {\n this.line = line;\n this.column = col;\n};\n\nPosition.prototype.offset = function offset (n) {\n return new Position(this.line, this.column + n)\n};\n\nvar SourceLocation = function SourceLocation(p, start, end) {\n this.start = start;\n this.end = end;\n if (p.sourceFile !== null) { this.source = p.sourceFile; }\n};\n\n// The `getLineInfo` function is mostly useful when the\n// `locations` option is off (for performance reasons) and you\n// want to find the line/column position for a given character\n// offset. `input` should be the code string that the offset refers\n// into.\n\nfunction getLineInfo(input, offset) {\n for (var line = 1, cur = 0;;) {\n lineBreakG.lastIndex = cur;\n var match = lineBreakG.exec(input);\n if (match && match.index < offset) {\n ++line;\n cur = match.index + match[0].length;\n } else {\n return new Position(line, offset - cur)\n }\n }\n}\n\n// A second optional argument can be given to further configure\n// the parser process. These options are recognized:\n\nvar defaultOptions = {\n // `ecmaVersion` indicates the ECMAScript version to parse. Must be\n // either 3, 5, 6 (2015), 7 (2016), 8 (2017), 9 (2018), or 10\n // (2019). This influences support for strict mode, the set of\n // reserved words, and support for new syntax features. The default\n // is 10.\n ecmaVersion: 10,\n // `sourceType` indicates the mode the code should be parsed in.\n // Can be either `\"script\"` or `\"module\"`. This influences global\n // strict mode and parsing of `import` and `export` declarations.\n sourceType: \"script\",\n // `onInsertedSemicolon` can be a callback that will be called\n // when a semicolon is automatically inserted. It will be passed\n // the position of the comma as an offset, and if `locations` is\n // enabled, it is given the location as a `{line, column}` object\n // as second argument.\n onInsertedSemicolon: null,\n // `onTrailingComma` is similar to `onInsertedSemicolon`, but for\n // trailing commas.\n onTrailingComma: null,\n // By default, reserved words are only enforced if ecmaVersion >= 5.\n // Set `allowReserved` to a boolean value to explicitly turn this on\n // an off. When this option has the value \"never\", reserved words\n // and keywords can also not be used as property names.\n allowReserved: null,\n // When enabled, a return at the top level is not considered an\n // error.\n allowReturnOutsideFunction: false,\n // When enabled, import/export statements are not constrained to\n // appearing at the top of the program.\n allowImportExportEverywhere: false,\n // When enabled, await identifiers are allowed to appear at the top-level scope,\n // but they are still not allowed in non-async functions.\n allowAwaitOutsideFunction: false,\n // When enabled, hashbang directive in the beginning of file\n // is allowed and treated as a line comment.\n allowHashBang: false,\n // When `locations` is on, `loc` properties holding objects with\n // `start` and `end` properties in `{line, column}` form (with\n // line being 1-based and column 0-based) will be attached to the\n // nodes.\n locations: false,\n // A function can be passed as `onToken` option, which will\n // cause Acorn to call that function with object in the same\n // format as tokens returned from `tokenizer().getToken()`. Note\n // that you are not allowed to call the parser from the\n // callback—that will corrupt its internal state.\n onToken: null,\n // A function can be passed as `onComment` option, which will\n // cause Acorn to call that function with `(block, text, start,\n // end)` parameters whenever a comment is skipped. `block` is a\n // boolean indicating whether this is a block (`/* */`) comment,\n // `text` is the content of the comment, and `start` and `end` are\n // character offsets that denote the start and end of the comment.\n // When the `locations` option is on, two more parameters are\n // passed, the full `{line, column}` locations of the start and\n // end of the comments. Note that you are not allowed to call the\n // parser from the callback—that will corrupt its internal state.\n onComment: null,\n // Nodes have their start and end characters offsets recorded in\n // `start` and `end` properties (directly on the node, rather than\n // the `loc` object, which holds line/column data. To also add a\n // [semi-standardized][range] `range` property holding a `[start,\n // end]` array with the same numbers, set the `ranges` option to\n // `true`.\n //\n // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678\n ranges: false,\n // It is possible to parse multiple files into a single AST by\n // passing the tree produced by parsing the first file as\n // `program` option in subsequent parses. This will add the\n // toplevel forms of the parsed file to the `Program` (top) node\n // of an existing parse tree.\n program: null,\n // When `locations` is on, you can pass this to record the source\n // file in every node's `loc` object.\n sourceFile: null,\n // This value, if given, is stored in every node, whether\n // `locations` is on or off.\n directSourceFile: null,\n // When enabled, parenthesized expressions are represented by\n // (non-standard) ParenthesizedExpression nodes\n preserveParens: false\n};\n\n// Interpret and default an options object\n\nfunction getOptions(opts) {\n var options = {};\n\n for (var opt in defaultOptions)\n { options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]; }\n\n if (options.ecmaVersion >= 2015)\n { options.ecmaVersion -= 2009; }\n\n if (options.allowReserved == null)\n { options.allowReserved = options.ecmaVersion < 5; }\n\n if (isArray(options.onToken)) {\n var tokens = options.onToken;\n options.onToken = function (token) { return tokens.push(token); };\n }\n if (isArray(options.onComment))\n { options.onComment = pushComment(options, options.onComment); }\n\n return options\n}\n\nfunction pushComment(options, array) {\n return function(block, text, start, end, startLoc, endLoc) {\n var comment = {\n type: block ? \"Block\" : \"Line\",\n value: text,\n start: start,\n end: end\n };\n if (options.locations)\n { comment.loc = new SourceLocation(this, startLoc, endLoc); }\n if (options.ranges)\n { comment.range = [start, end]; }\n array.push(comment);\n }\n}\n\n// Each scope gets a bitset that may contain these flags\nvar\n SCOPE_TOP = 1,\n SCOPE_FUNCTION = 2,\n SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION,\n SCOPE_ASYNC = 4,\n SCOPE_GENERATOR = 8,\n SCOPE_ARROW = 16,\n SCOPE_SIMPLE_CATCH = 32,\n SCOPE_SUPER = 64,\n SCOPE_DIRECT_SUPER = 128;\n\nfunction functionFlags(async, generator) {\n return SCOPE_FUNCTION | (async ? SCOPE_ASYNC : 0) | (generator ? SCOPE_GENERATOR : 0)\n}\n\n// Used in checkLVal and declareName to determine the type of a binding\nvar\n BIND_NONE = 0, // Not a binding\n BIND_VAR = 1, // Var-style binding\n BIND_LEXICAL = 2, // Let- or const-style binding\n BIND_FUNCTION = 3, // Function declaration\n BIND_SIMPLE_CATCH = 4, // Simple (identifier pattern) catch binding\n BIND_OUTSIDE = 5; // Special case for function names as bound inside the function\n\nvar Parser = function Parser(options, input, startPos) {\n this.options = options = getOptions(options);\n this.sourceFile = options.sourceFile;\n this.keywords = wordsRegexp(keywords[options.ecmaVersion >= 6 ? 6 : options.sourceType === \"module\" ? \"5module\" : 5]);\n var reserved = \"\";\n if (options.allowReserved !== true) {\n for (var v = options.ecmaVersion;; v--)\n { if (reserved = reservedWords[v]) { break } }\n if (options.sourceType === \"module\") { reserved += \" await\"; }\n }\n this.reservedWords = wordsRegexp(reserved);\n var reservedStrict = (reserved ? reserved + \" \" : \"\") + reservedWords.strict;\n this.reservedWordsStrict = wordsRegexp(reservedStrict);\n this.reservedWordsStrictBind = wordsRegexp(reservedStrict + \" \" + reservedWords.strictBind);\n this.input = String(input);\n\n // Used to signal to callers of `readWord1` whether the word\n // contained any escape sequences. This is needed because words with\n // escape sequences must not be interpreted as keywords.\n this.containsEsc = false;\n\n // Set up token state\n\n // The current position of the tokenizer in the input.\n if (startPos) {\n this.pos = startPos;\n this.lineStart = this.input.lastIndexOf(\"\\n\", startPos - 1) + 1;\n this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length;\n } else {\n this.pos = this.lineStart = 0;\n this.curLine = 1;\n }\n\n // Properties of the current token:\n // Its type\n this.type = types.eof;\n // For tokens that include more information than their type, the value\n this.value = null;\n // Its start and end offset\n this.start = this.end = this.pos;\n // And, if locations are used, the {line, column} object\n // corresponding to those offsets\n this.startLoc = this.endLoc = this.curPosition();\n\n // Position information for the previous token\n this.lastTokEndLoc = this.lastTokStartLoc = null;\n this.lastTokStart = this.lastTokEnd = this.pos;\n\n // The context stack is used to superficially track syntactic\n // context to predict whether a regular expression is allowed in a\n // given position.\n this.context = this.initialContext();\n this.exprAllowed = true;\n\n // Figure out if it's a module code.\n this.inModule = options.sourceType === \"module\";\n this.strict = this.inModule || this.strictDirective(this.pos);\n\n // Used to signify the start of a potential arrow function\n this.potentialArrowAt = -1;\n\n // Positions to delayed-check that yield/await does not exist in default parameters.\n this.yieldPos = this.awaitPos = this.awaitIdentPos = 0;\n // Labels in scope.\n this.labels = [];\n // Thus-far undefined exports.\n this.undefinedExports = {};\n\n // If enabled, skip leading hashbang line.\n if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === \"#!\")\n { this.skipLineComment(2); }\n\n // Scope tracking for duplicate variable names (see scope.js)\n this.scopeStack = [];\n this.enterScope(SCOPE_TOP);\n\n // For RegExp validation\n this.regexpState = null;\n};\n\nvar prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true } };\n\nParser.prototype.parse = function parse () {\n var node = this.options.program || this.startNode();\n this.nextToken();\n return this.parseTopLevel(node)\n};\n\nprototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };\nprototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 };\nprototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 };\nprototypeAccessors.allowSuper.get = function () { return (this.currentThisScope().flags & SCOPE_SUPER) > 0 };\nprototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };\nprototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };\n\n// Switch to a getter for 7.0.0.\nParser.prototype.inNonArrowFunction = function inNonArrowFunction () { return (this.currentThisScope().flags & SCOPE_FUNCTION) > 0 };\n\nParser.extend = function extend () {\n var plugins = [], len = arguments.length;\n while ( len-- ) plugins[ len ] = arguments[ len ];\n\n var cls = this;\n for (var i = 0; i < plugins.length; i++) { cls = plugins[i](cls); }\n return cls\n};\n\nParser.parse = function parse (input, options) {\n return new this(options, input).parse()\n};\n\nParser.parseExpressionAt = function parseExpressionAt (input, pos, options) {\n var parser = new this(options, input, pos);\n parser.nextToken();\n return parser.parseExpression()\n};\n\nParser.tokenizer = function tokenizer (input, options) {\n return new this(options, input)\n};\n\nObject.defineProperties( Parser.prototype, prototypeAccessors );\n\nvar pp = Parser.prototype;\n\n// ## Parser utilities\n\nvar literal = /^(?:'((?:\\\\.|[^'\\\\])*?)'|\"((?:\\\\.|[^\"\\\\])*?)\")/;\npp.strictDirective = function(start) {\n for (;;) {\n // Try to find string literal.\n skipWhiteSpace.lastIndex = start;\n start += skipWhiteSpace.exec(this.input)[0].length;\n var match = literal.exec(this.input.slice(start));\n if (!match) { return false }\n if ((match[1] || match[2]) === \"use strict\") {\n skipWhiteSpace.lastIndex = start + match[0].length;\n var spaceAfter = skipWhiteSpace.exec(this.input), end = spaceAfter.index + spaceAfter[0].length;\n var next = this.input.charAt(end);\n return next === \";\" || next === \"}\" ||\n (lineBreak.test(spaceAfter[0]) &&\n !(/[(`.[+\\-/*%<>=,?^&]/.test(next) || next === \"!\" && this.input.charAt(end + 1) === \"=\"))\n }\n start += match[0].length;\n\n // Skip semicolon, if any.\n skipWhiteSpace.lastIndex = start;\n start += skipWhiteSpace.exec(this.input)[0].length;\n if (this.input[start] === \";\")\n { start++; }\n }\n};\n\n// Predicate that tests whether the next token is of the given\n// type, and if yes, consumes it as a side effect.\n\npp.eat = function(type) {\n if (this.type === type) {\n this.next();\n return true\n } else {\n return false\n }\n};\n\n// Tests whether parsed token is a contextual keyword.\n\npp.isContextual = function(name) {\n return this.type === types.name && this.value === name && !this.containsEsc\n};\n\n// Consumes contextual keyword if possible.\n\npp.eatContextual = function(name) {\n if (!this.isContextual(name)) { return false }\n this.next();\n return true\n};\n\n// Asserts that following token is given contextual keyword.\n\npp.expectContextual = function(name) {\n if (!this.eatContextual(name)) { this.unexpected(); }\n};\n\n// Test whether a semicolon can be inserted at the current position.\n\npp.canInsertSemicolon = function() {\n return this.type === types.eof ||\n this.type === types.braceR ||\n lineBreak.test(this.input.slice(this.lastTokEnd, this.start))\n};\n\npp.insertSemicolon = function() {\n if (this.canInsertSemicolon()) {\n if (this.options.onInsertedSemicolon)\n { this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc); }\n return true\n }\n};\n\n// Consume a semicolon, or, failing that, see if we are allowed to\n// pretend that there is a semicolon at this position.\n\npp.semicolon = function() {\n if (!this.eat(types.semi) && !this.insertSemicolon()) { this.unexpected(); }\n};\n\npp.afterTrailingComma = function(tokType, notNext) {\n if (this.type === tokType) {\n if (this.options.onTrailingComma)\n { this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc); }\n if (!notNext)\n { this.next(); }\n return true\n }\n};\n\n// Expect a token of a given type. If found, consume it, otherwise,\n// raise an unexpected token error.\n\npp.expect = function(type) {\n this.eat(type) || this.unexpected();\n};\n\n// Raise an unexpected token error.\n\npp.unexpected = function(pos) {\n this.raise(pos != null ? pos : this.start, \"Unexpected token\");\n};\n\nfunction DestructuringErrors() {\n this.shorthandAssign =\n this.trailingComma =\n this.parenthesizedAssign =\n this.parenthesizedBind =\n this.doubleProto =\n -1;\n}\n\npp.checkPatternErrors = function(refDestructuringErrors, isAssign) {\n if (!refDestructuringErrors) { return }\n if (refDestructuringErrors.trailingComma > -1)\n { this.raiseRecoverable(refDestructuringErrors.trailingComma, \"Comma is not permitted after the rest element\"); }\n var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind;\n if (parens > -1) { this.raiseRecoverable(parens, \"Parenthesized pattern\"); }\n};\n\npp.checkExpressionErrors = function(refDestructuringErrors, andThrow) {\n if (!refDestructuringErrors) { return false }\n var shorthandAssign = refDestructuringErrors.shorthandAssign;\n var doubleProto = refDestructuringErrors.doubleProto;\n if (!andThrow) { return shorthandAssign >= 0 || doubleProto >= 0 }\n if (shorthandAssign >= 0)\n { this.raise(shorthandAssign, \"Shorthand property assignments are valid only in destructuring patterns\"); }\n if (doubleProto >= 0)\n { this.raiseRecoverable(doubleProto, \"Redefinition of __proto__ property\"); }\n};\n\npp.checkYieldAwaitInDefaultParams = function() {\n if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos))\n { this.raise(this.yieldPos, \"Yield expression cannot be a default value\"); }\n if (this.awaitPos)\n { this.raise(this.awaitPos, \"Await expression cannot be a default value\"); }\n};\n\npp.isSimpleAssignTarget = function(expr) {\n if (expr.type === \"ParenthesizedExpression\")\n { return this.isSimpleAssignTarget(expr.expression) }\n return expr.type === \"Identifier\" || expr.type === \"MemberExpression\"\n};\n\nvar pp$1 = Parser.prototype;\n\n// ### Statement parsing\n\n// Parse a program. Initializes the parser, reads any number of\n// statements, and wraps them in a Program node. Optionally takes a\n// `program` argument. If present, the statements will be appended\n// to its body instead of creating a new node.\n\npp$1.parseTopLevel = function(node) {\n var exports = {};\n if (!node.body) { node.body = []; }\n while (this.type !== types.eof) {\n var stmt = this.parseStatement(null, true, exports);\n node.body.push(stmt);\n }\n if (this.inModule)\n { for (var i = 0, list = Object.keys(this.undefinedExports); i < list.length; i += 1)\n {\n var name = list[i];\n\n this.raiseRecoverable(this.undefinedExports[name].start, (\"Export '\" + name + \"' is not defined\"));\n } }\n this.adaptDirectivePrologue(node.body);\n this.next();\n node.sourceType = this.options.sourceType;\n return this.finishNode(node, \"Program\")\n};\n\nvar loopLabel = {kind: \"loop\"}, switchLabel = {kind: \"switch\"};\n\npp$1.isLet = function(context) {\n if (this.options.ecmaVersion < 6 || !this.isContextual(\"let\")) { return false }\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);\n // For ambiguous cases, determine if a LexicalDeclaration (or only a\n // Statement) is allowed here. If context is not empty then only a Statement\n // is allowed. However, `let [` is an explicit negative lookahead for\n // ExpressionStatement, so special-case it first.\n if (nextCh === 91) { return true } // '['\n if (context) { return false }\n\n if (nextCh === 123) { return true } // '{'\n if (isIdentifierStart(nextCh, true)) {\n var pos = next + 1;\n while (isIdentifierChar(this.input.charCodeAt(pos), true)) { ++pos; }\n var ident = this.input.slice(next, pos);\n if (!keywordRelationalOperator.test(ident)) { return true }\n }\n return false\n};\n\n// check 'async [no LineTerminator here] function'\n// - 'async /*foo*/ function' is OK.\n// - 'async /*\\n*/ function' is invalid.\npp$1.isAsyncFunction = function() {\n if (this.options.ecmaVersion < 8 || !this.isContextual(\"async\"))\n { return false }\n\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length;\n return !lineBreak.test(this.input.slice(this.pos, next)) &&\n this.input.slice(next, next + 8) === \"function\" &&\n (next + 8 === this.input.length || !isIdentifierChar(this.input.charAt(next + 8)))\n};\n\n// Parse a single statement.\n//\n// If expecting a statement and finding a slash operator, parse a\n// regular expression literal. This is to handle cases like\n// `if (foo) /blah/.exec(foo)`, where looking at the previous token\n// does not help.\n\npp$1.parseStatement = function(context, topLevel, exports) {\n var starttype = this.type, node = this.startNode(), kind;\n\n if (this.isLet(context)) {\n starttype = types._var;\n kind = \"let\";\n }\n\n // Most types of statements are recognized by the keyword they\n // start with. Many are trivial to parse, some require a bit of\n // complexity.\n\n switch (starttype) {\n case types._break: case types._continue: return this.parseBreakContinueStatement(node, starttype.keyword)\n case types._debugger: return this.parseDebuggerStatement(node)\n case types._do: return this.parseDoStatement(node)\n case types._for: return this.parseForStatement(node)\n case types._function:\n // Function as sole body of either an if statement or a labeled statement\n // works, but not when it is part of a labeled statement that is the sole\n // body of an if statement.\n if ((context && (this.strict || context !== \"if\" && context !== \"label\")) && this.options.ecmaVersion >= 6) { this.unexpected(); }\n return this.parseFunctionStatement(node, false, !context)\n case types._class:\n if (context) { this.unexpected(); }\n return this.parseClass(node, true)\n case types._if: return this.parseIfStatement(node)\n case types._return: return this.parseReturnStatement(node)\n case types._switch: return this.parseSwitchStatement(node)\n case types._throw: return this.parseThrowStatement(node)\n case types._try: return this.parseTryStatement(node)\n case types._const: case types._var:\n kind = kind || this.value;\n if (context && kind !== \"var\") { this.unexpected(); }\n return this.parseVarStatement(node, kind)\n case types._while: return this.parseWhileStatement(node)\n case types._with: return this.parseWithStatement(node)\n case types.braceL: return this.parseBlock(true, node)\n case types.semi: return this.parseEmptyStatement(node)\n case types._export:\n case types._import:\n if (this.options.ecmaVersion > 10 && starttype === types._import) {\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);\n if (nextCh === 40 || nextCh === 46) // '(' or '.'\n { return this.parseExpressionStatement(node, this.parseExpression()) }\n }\n\n if (!this.options.allowImportExportEverywhere) {\n if (!topLevel)\n { this.raise(this.start, \"'import' and 'export' may only appear at the top level\"); }\n if (!this.inModule)\n { this.raise(this.start, \"'import' and 'export' may appear only with 'sourceType: module'\"); }\n }\n return starttype === types._import ? this.parseImport(node) : this.parseExport(node, exports)\n\n // If the statement does not start with a statement keyword or a\n // brace, it's an ExpressionStatement or LabeledStatement. We\n // simply start parsing an expression, and afterwards, if the\n // next token is a colon and the expression was a simple\n // Identifier node, we switch to interpreting it as a label.\n default:\n if (this.isAsyncFunction()) {\n if (context) { this.unexpected(); }\n this.next();\n return this.parseFunctionStatement(node, true, !context)\n }\n\n var maybeName = this.value, expr = this.parseExpression();\n if (starttype === types.name && expr.type === \"Identifier\" && this.eat(types.colon))\n { return this.parseLabeledStatement(node, maybeName, expr, context) }\n else { return this.parseExpressionStatement(node, expr) }\n }\n};\n\npp$1.parseBreakContinueStatement = function(node, keyword) {\n var isBreak = keyword === \"break\";\n this.next();\n if (this.eat(types.semi) || this.insertSemicolon()) { node.label = null; }\n else if (this.type !== types.name) { this.unexpected(); }\n else {\n node.label = this.parseIdent();\n this.semicolon();\n }\n\n // Verify that there is an actual destination to break or\n // continue to.\n var i = 0;\n for (; i < this.labels.length; ++i) {\n var lab = this.labels[i];\n if (node.label == null || lab.name === node.label.name) {\n if (lab.kind != null && (isBreak || lab.kind === \"loop\")) { break }\n if (node.label && isBreak) { break }\n }\n }\n if (i === this.labels.length) { this.raise(node.start, \"Unsyntactic \" + keyword); }\n return this.finishNode(node, isBreak ? \"BreakStatement\" : \"ContinueStatement\")\n};\n\npp$1.parseDebuggerStatement = function(node) {\n this.next();\n this.semicolon();\n return this.finishNode(node, \"DebuggerStatement\")\n};\n\npp$1.parseDoStatement = function(node) {\n this.next();\n this.labels.push(loopLabel);\n node.body = this.parseStatement(\"do\");\n this.labels.pop();\n this.expect(types._while);\n node.test = this.parseParenExpression();\n if (this.options.ecmaVersion >= 6)\n { this.eat(types.semi); }\n else\n { this.semicolon(); }\n return this.finishNode(node, \"DoWhileStatement\")\n};\n\n// Disambiguating between a `for` and a `for`/`in` or `for`/`of`\n// loop is non-trivial. Basically, we have to parse the init `var`\n// statement or expression, disallowing the `in` operator (see\n// the second parameter to `parseExpression`), and then check\n// whether the next token is `in` or `of`. When there is no init\n// part (semicolon immediately after the opening parenthesis), it\n// is a regular `for` loop.\n\npp$1.parseForStatement = function(node) {\n this.next();\n var awaitAt = (this.options.ecmaVersion >= 9 && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction)) && this.eatContextual(\"await\")) ? this.lastTokStart : -1;\n this.labels.push(loopLabel);\n this.enterScope(0);\n this.expect(types.parenL);\n if (this.type === types.semi) {\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n return this.parseFor(node, null)\n }\n var isLet = this.isLet();\n if (this.type === types._var || this.type === types._const || isLet) {\n var init$1 = this.startNode(), kind = isLet ? \"let\" : this.value;\n this.next();\n this.parseVar(init$1, true, kind);\n this.finishNode(init$1, \"VariableDeclaration\");\n if ((this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\"))) && init$1.declarations.length === 1) {\n if (this.options.ecmaVersion >= 9) {\n if (this.type === types._in) {\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n } else { node.await = awaitAt > -1; }\n }\n return this.parseForIn(node, init$1)\n }\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n return this.parseFor(node, init$1)\n }\n var refDestructuringErrors = new DestructuringErrors;\n var init = this.parseExpression(true, refDestructuringErrors);\n if (this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\"))) {\n if (this.options.ecmaVersion >= 9) {\n if (this.type === types._in) {\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n } else { node.await = awaitAt > -1; }\n }\n this.toAssignable(init, false, refDestructuringErrors);\n this.checkLVal(init);\n return this.parseForIn(node, init)\n } else {\n this.checkExpressionErrors(refDestructuringErrors, true);\n }\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n return this.parseFor(node, init)\n};\n\npp$1.parseFunctionStatement = function(node, isAsync, declarationPosition) {\n this.next();\n return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)\n};\n\npp$1.parseIfStatement = function(node) {\n this.next();\n node.test = this.parseParenExpression();\n // allow function declarations in branches, but only in non-strict mode\n node.consequent = this.parseStatement(\"if\");\n node.alternate = this.eat(types._else) ? this.parseStatement(\"if\") : null;\n return this.finishNode(node, \"IfStatement\")\n};\n\npp$1.parseReturnStatement = function(node) {\n if (!this.inFunction && !this.options.allowReturnOutsideFunction)\n { this.raise(this.start, \"'return' outside of function\"); }\n this.next();\n\n // In `return` (and `break`/`continue`), the keywords with\n // optional arguments, we eagerly look for a semicolon or the\n // possibility to insert one.\n\n if (this.eat(types.semi) || this.insertSemicolon()) { node.argument = null; }\n else { node.argument = this.parseExpression(); this.semicolon(); }\n return this.finishNode(node, \"ReturnStatement\")\n};\n\npp$1.parseSwitchStatement = function(node) {\n this.next();\n node.discriminant = this.parseParenExpression();\n node.cases = [];\n this.expect(types.braceL);\n this.labels.push(switchLabel);\n this.enterScope(0);\n\n // Statements under must be grouped (by label) in SwitchCase\n // nodes. `cur` is used to keep the node that we are currently\n // adding statements to.\n\n var cur;\n for (var sawDefault = false; this.type !== types.braceR;) {\n if (this.type === types._case || this.type === types._default) {\n var isCase = this.type === types._case;\n if (cur) { this.finishNode(cur, \"SwitchCase\"); }\n node.cases.push(cur = this.startNode());\n cur.consequent = [];\n this.next();\n if (isCase) {\n cur.test = this.parseExpression();\n } else {\n if (sawDefault) { this.raiseRecoverable(this.lastTokStart, \"Multiple default clauses\"); }\n sawDefault = true;\n cur.test = null;\n }\n this.expect(types.colon);\n } else {\n if (!cur) { this.unexpected(); }\n cur.consequent.push(this.parseStatement(null));\n }\n }\n this.exitScope();\n if (cur) { this.finishNode(cur, \"SwitchCase\"); }\n this.next(); // Closing brace\n this.labels.pop();\n return this.finishNode(node, \"SwitchStatement\")\n};\n\npp$1.parseThrowStatement = function(node) {\n this.next();\n if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start)))\n { this.raise(this.lastTokEnd, \"Illegal newline after throw\"); }\n node.argument = this.parseExpression();\n this.semicolon();\n return this.finishNode(node, \"ThrowStatement\")\n};\n\n// Reused empty array added for node fields that are always empty.\n\nvar empty = [];\n\npp$1.parseTryStatement = function(node) {\n this.next();\n node.block = this.parseBlock();\n node.handler = null;\n if (this.type === types._catch) {\n var clause = this.startNode();\n this.next();\n if (this.eat(types.parenL)) {\n clause.param = this.parseBindingAtom();\n var simple = clause.param.type === \"Identifier\";\n this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0);\n this.checkLVal(clause.param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);\n this.expect(types.parenR);\n } else {\n if (this.options.ecmaVersion < 10) { this.unexpected(); }\n clause.param = null;\n this.enterScope(0);\n }\n clause.body = this.parseBlock(false);\n this.exitScope();\n node.handler = this.finishNode(clause, \"CatchClause\");\n }\n node.finalizer = this.eat(types._finally) ? this.parseBlock() : null;\n if (!node.handler && !node.finalizer)\n { this.raise(node.start, \"Missing catch or finally clause\"); }\n return this.finishNode(node, \"TryStatement\")\n};\n\npp$1.parseVarStatement = function(node, kind) {\n this.next();\n this.parseVar(node, false, kind);\n this.semicolon();\n return this.finishNode(node, \"VariableDeclaration\")\n};\n\npp$1.parseWhileStatement = function(node) {\n this.next();\n node.test = this.parseParenExpression();\n this.labels.push(loopLabel);\n node.body = this.parseStatement(\"while\");\n this.labels.pop();\n return this.finishNode(node, \"WhileStatement\")\n};\n\npp$1.parseWithStatement = function(node) {\n if (this.strict) { this.raise(this.start, \"'with' in strict mode\"); }\n this.next();\n node.object = this.parseParenExpression();\n node.body = this.parseStatement(\"with\");\n return this.finishNode(node, \"WithStatement\")\n};\n\npp$1.parseEmptyStatement = function(node) {\n this.next();\n return this.finishNode(node, \"EmptyStatement\")\n};\n\npp$1.parseLabeledStatement = function(node, maybeName, expr, context) {\n for (var i$1 = 0, list = this.labels; i$1 < list.length; i$1 += 1)\n {\n var label = list[i$1];\n\n if (label.name === maybeName)\n { this.raise(expr.start, \"Label '\" + maybeName + \"' is already declared\");\n } }\n var kind = this.type.isLoop ? \"loop\" : this.type === types._switch ? \"switch\" : null;\n for (var i = this.labels.length - 1; i >= 0; i--) {\n var label$1 = this.labels[i];\n if (label$1.statementStart === node.start) {\n // Update information about previous labels on this node\n label$1.statementStart = this.start;\n label$1.kind = kind;\n } else { break }\n }\n this.labels.push({name: maybeName, kind: kind, statementStart: this.start});\n node.body = this.parseStatement(context ? context.indexOf(\"label\") === -1 ? context + \"label\" : context : \"label\");\n this.labels.pop();\n node.label = expr;\n return this.finishNode(node, \"LabeledStatement\")\n};\n\npp$1.parseExpressionStatement = function(node, expr) {\n node.expression = expr;\n this.semicolon();\n return this.finishNode(node, \"ExpressionStatement\")\n};\n\n// Parse a semicolon-enclosed block of statements, handling `\"use\n// strict\"` declarations when `allowStrict` is true (used for\n// function bodies).\n\npp$1.parseBlock = function(createNewLexicalScope, node, exitStrict) {\n if ( createNewLexicalScope === void 0 ) createNewLexicalScope = true;\n if ( node === void 0 ) node = this.startNode();\n\n node.body = [];\n this.expect(types.braceL);\n if (createNewLexicalScope) { this.enterScope(0); }\n while (this.type !== types.braceR) {\n var stmt = this.parseStatement(null);\n node.body.push(stmt);\n }\n if (exitStrict) { this.strict = false; }\n this.next();\n if (createNewLexicalScope) { this.exitScope(); }\n return this.finishNode(node, \"BlockStatement\")\n};\n\n// Parse a regular `for` loop. The disambiguation code in\n// `parseStatement` will already have parsed the init statement or\n// expression.\n\npp$1.parseFor = function(node, init) {\n node.init = init;\n this.expect(types.semi);\n node.test = this.type === types.semi ? null : this.parseExpression();\n this.expect(types.semi);\n node.update = this.type === types.parenR ? null : this.parseExpression();\n this.expect(types.parenR);\n node.body = this.parseStatement(\"for\");\n this.exitScope();\n this.labels.pop();\n return this.finishNode(node, \"ForStatement\")\n};\n\n// Parse a `for`/`in` and `for`/`of` loop, which are almost\n// same from parser's perspective.\n\npp$1.parseForIn = function(node, init) {\n var isForIn = this.type === types._in;\n this.next();\n\n if (\n init.type === \"VariableDeclaration\" &&\n init.declarations[0].init != null &&\n (\n !isForIn ||\n this.options.ecmaVersion < 8 ||\n this.strict ||\n init.kind !== \"var\" ||\n init.declarations[0].id.type !== \"Identifier\"\n )\n ) {\n this.raise(\n init.start,\n ((isForIn ? \"for-in\" : \"for-of\") + \" loop variable declaration may not have an initializer\")\n );\n } else if (init.type === \"AssignmentPattern\") {\n this.raise(init.start, \"Invalid left-hand side in for-loop\");\n }\n node.left = init;\n node.right = isForIn ? this.parseExpression() : this.parseMaybeAssign();\n this.expect(types.parenR);\n node.body = this.parseStatement(\"for\");\n this.exitScope();\n this.labels.pop();\n return this.finishNode(node, isForIn ? \"ForInStatement\" : \"ForOfStatement\")\n};\n\n// Parse a list of variable declarations.\n\npp$1.parseVar = function(node, isFor, kind) {\n node.declarations = [];\n node.kind = kind;\n for (;;) {\n var decl = this.startNode();\n this.parseVarId(decl, kind);\n if (this.eat(types.eq)) {\n decl.init = this.parseMaybeAssign(isFor);\n } else if (kind === \"const\" && !(this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\")))) {\n this.unexpected();\n } else if (decl.id.type !== \"Identifier\" && !(isFor && (this.type === types._in || this.isContextual(\"of\")))) {\n this.raise(this.lastTokEnd, \"Complex binding patterns require an initialization value\");\n } else {\n decl.init = null;\n }\n node.declarations.push(this.finishNode(decl, \"VariableDeclarator\"));\n if (!this.eat(types.comma)) { break }\n }\n return node\n};\n\npp$1.parseVarId = function(decl, kind) {\n decl.id = this.parseBindingAtom();\n this.checkLVal(decl.id, kind === \"var\" ? BIND_VAR : BIND_LEXICAL, false);\n};\n\nvar FUNC_STATEMENT = 1, FUNC_HANGING_STATEMENT = 2, FUNC_NULLABLE_ID = 4;\n\n// Parse a function declaration or literal (depending on the\n// `statement & FUNC_STATEMENT`).\n\n// Remove `allowExpressionBody` for 7.0.0, as it is only called with false\npp$1.parseFunction = function(node, statement, allowExpressionBody, isAsync) {\n this.initFunction(node);\n if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) {\n if (this.type === types.star && (statement & FUNC_HANGING_STATEMENT))\n { this.unexpected(); }\n node.generator = this.eat(types.star);\n }\n if (this.options.ecmaVersion >= 8)\n { node.async = !!isAsync; }\n\n if (statement & FUNC_STATEMENT) {\n node.id = (statement & FUNC_NULLABLE_ID) && this.type !== types.name ? null : this.parseIdent();\n if (node.id && !(statement & FUNC_HANGING_STATEMENT))\n // If it is a regular function declaration in sloppy mode, then it is\n // subject to Annex B semantics (BIND_FUNCTION). Otherwise, the binding\n // mode depends on properties of the current scope (see\n // treatFunctionsAsVar).\n { this.checkLVal(node.id, (this.strict || node.generator || node.async) ? this.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION); }\n }\n\n var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.awaitIdentPos = 0;\n this.enterScope(functionFlags(node.async, node.generator));\n\n if (!(statement & FUNC_STATEMENT))\n { node.id = this.type === types.name ? this.parseIdent() : null; }\n\n this.parseFunctionParams(node);\n this.parseFunctionBody(node, allowExpressionBody, false);\n\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.awaitIdentPos = oldAwaitIdentPos;\n return this.finishNode(node, (statement & FUNC_STATEMENT) ? \"FunctionDeclaration\" : \"FunctionExpression\")\n};\n\npp$1.parseFunctionParams = function(node) {\n this.expect(types.parenL);\n node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);\n this.checkYieldAwaitInDefaultParams();\n};\n\n// Parse a class declaration or literal (depending on the\n// `isStatement` parameter).\n\npp$1.parseClass = function(node, isStatement) {\n this.next();\n\n // ecma-262 14.6 Class Definitions\n // A class definition is always strict mode code.\n var oldStrict = this.strict;\n this.strict = true;\n\n this.parseClassId(node, isStatement);\n this.parseClassSuper(node);\n var classBody = this.startNode();\n var hadConstructor = false;\n classBody.body = [];\n this.expect(types.braceL);\n while (this.type !== types.braceR) {\n var element = this.parseClassElement(node.superClass !== null);\n if (element) {\n classBody.body.push(element);\n if (element.type === \"MethodDefinition\" && element.kind === \"constructor\") {\n if (hadConstructor) { this.raise(element.start, \"Duplicate constructor in the same class\"); }\n hadConstructor = true;\n }\n }\n }\n this.strict = oldStrict;\n this.next();\n node.body = this.finishNode(classBody, \"ClassBody\");\n return this.finishNode(node, isStatement ? \"ClassDeclaration\" : \"ClassExpression\")\n};\n\npp$1.parseClassElement = function(constructorAllowsSuper) {\n var this$1 = this;\n\n if (this.eat(types.semi)) { return null }\n\n var method = this.startNode();\n var tryContextual = function (k, noLineBreak) {\n if ( noLineBreak === void 0 ) noLineBreak = false;\n\n var start = this$1.start, startLoc = this$1.startLoc;\n if (!this$1.eatContextual(k)) { return false }\n if (this$1.type !== types.parenL && (!noLineBreak || !this$1.canInsertSemicolon())) { return true }\n if (method.key) { this$1.unexpected(); }\n method.computed = false;\n method.key = this$1.startNodeAt(start, startLoc);\n method.key.name = k;\n this$1.finishNode(method.key, \"Identifier\");\n return false\n };\n\n method.kind = \"method\";\n method.static = tryContextual(\"static\");\n var isGenerator = this.eat(types.star);\n var isAsync = false;\n if (!isGenerator) {\n if (this.options.ecmaVersion >= 8 && tryContextual(\"async\", true)) {\n isAsync = true;\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);\n } else if (tryContextual(\"get\")) {\n method.kind = \"get\";\n } else if (tryContextual(\"set\")) {\n method.kind = \"set\";\n }\n }\n if (!method.key) { this.parsePropertyName(method); }\n var key = method.key;\n var allowsDirectSuper = false;\n if (!method.computed && !method.static && (key.type === \"Identifier\" && key.name === \"constructor\" ||\n key.type === \"Literal\" && key.value === \"constructor\")) {\n if (method.kind !== \"method\") { this.raise(key.start, \"Constructor can't have get/set modifier\"); }\n if (isGenerator) { this.raise(key.start, \"Constructor can't be a generator\"); }\n if (isAsync) { this.raise(key.start, \"Constructor can't be an async method\"); }\n method.kind = \"constructor\";\n allowsDirectSuper = constructorAllowsSuper;\n } else if (method.static && key.type === \"Identifier\" && key.name === \"prototype\") {\n this.raise(key.start, \"Classes may not have a static property named prototype\");\n }\n this.parseClassMethod(method, isGenerator, isAsync, allowsDirectSuper);\n if (method.kind === \"get\" && method.value.params.length !== 0)\n { this.raiseRecoverable(method.value.start, \"getter should have no params\"); }\n if (method.kind === \"set\" && method.value.params.length !== 1)\n { this.raiseRecoverable(method.value.start, \"setter should have exactly one param\"); }\n if (method.kind === \"set\" && method.value.params[0].type === \"RestElement\")\n { this.raiseRecoverable(method.value.params[0].start, \"Setter cannot use rest params\"); }\n return method\n};\n\npp$1.parseClassMethod = function(method, isGenerator, isAsync, allowsDirectSuper) {\n method.value = this.parseMethod(isGenerator, isAsync, allowsDirectSuper);\n return this.finishNode(method, \"MethodDefinition\")\n};\n\npp$1.parseClassId = function(node, isStatement) {\n if (this.type === types.name) {\n node.id = this.parseIdent();\n if (isStatement)\n { this.checkLVal(node.id, BIND_LEXICAL, false); }\n } else {\n if (isStatement === true)\n { this.unexpected(); }\n node.id = null;\n }\n};\n\npp$1.parseClassSuper = function(node) {\n node.superClass = this.eat(types._extends) ? this.parseExprSubscripts() : null;\n};\n\n// Parses module export declaration.\n\npp$1.parseExport = function(node, exports) {\n this.next();\n // export * from '...'\n if (this.eat(types.star)) {\n if (this.options.ecmaVersion >= 11) {\n if (this.eatContextual(\"as\")) {\n node.exported = this.parseIdent(true);\n this.checkExport(exports, node.exported.name, this.lastTokStart);\n } else {\n node.exported = null;\n }\n }\n this.expectContextual(\"from\");\n if (this.type !== types.string) { this.unexpected(); }\n node.source = this.parseExprAtom();\n this.semicolon();\n return this.finishNode(node, \"ExportAllDeclaration\")\n }\n if (this.eat(types._default)) { // export default ...\n this.checkExport(exports, \"default\", this.lastTokStart);\n var isAsync;\n if (this.type === types._function || (isAsync = this.isAsyncFunction())) {\n var fNode = this.startNode();\n this.next();\n if (isAsync) { this.next(); }\n node.declaration = this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync);\n } else if (this.type === types._class) {\n var cNode = this.startNode();\n node.declaration = this.parseClass(cNode, \"nullableID\");\n } else {\n node.declaration = this.parseMaybeAssign();\n this.semicolon();\n }\n return this.finishNode(node, \"ExportDefaultDeclaration\")\n }\n // export var|const|let|function|class ...\n if (this.shouldParseExportStatement()) {\n node.declaration = this.parseStatement(null);\n if (node.declaration.type === \"VariableDeclaration\")\n { this.checkVariableExport(exports, node.declaration.declarations); }\n else\n { this.checkExport(exports, node.declaration.id.name, node.declaration.id.start); }\n node.specifiers = [];\n node.source = null;\n } else { // export { x, y as z } [from '...']\n node.declaration = null;\n node.specifiers = this.parseExportSpecifiers(exports);\n if (this.eatContextual(\"from\")) {\n if (this.type !== types.string) { this.unexpected(); }\n node.source = this.parseExprAtom();\n } else {\n for (var i = 0, list = node.specifiers; i < list.length; i += 1) {\n // check for keywords used as local names\n var spec = list[i];\n\n this.checkUnreserved(spec.local);\n // check if export is defined\n this.checkLocalExport(spec.local);\n }\n\n node.source = null;\n }\n this.semicolon();\n }\n return this.finishNode(node, \"ExportNamedDeclaration\")\n};\n\npp$1.checkExport = function(exports, name, pos) {\n if (!exports) { return }\n if (has(exports, name))\n { this.raiseRecoverable(pos, \"Duplicate export '\" + name + \"'\"); }\n exports[name] = true;\n};\n\npp$1.checkPatternExport = function(exports, pat) {\n var type = pat.type;\n if (type === \"Identifier\")\n { this.checkExport(exports, pat.name, pat.start); }\n else if (type === \"ObjectPattern\")\n { for (var i = 0, list = pat.properties; i < list.length; i += 1)\n {\n var prop = list[i];\n\n this.checkPatternExport(exports, prop);\n } }\n else if (type === \"ArrayPattern\")\n { for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {\n var elt = list$1[i$1];\n\n if (elt) { this.checkPatternExport(exports, elt); }\n } }\n else if (type === \"Property\")\n { this.checkPatternExport(exports, pat.value); }\n else if (type === \"AssignmentPattern\")\n { this.checkPatternExport(exports, pat.left); }\n else if (type === \"RestElement\")\n { this.checkPatternExport(exports, pat.argument); }\n else if (type === \"ParenthesizedExpression\")\n { this.checkPatternExport(exports, pat.expression); }\n};\n\npp$1.checkVariableExport = function(exports, decls) {\n if (!exports) { return }\n for (var i = 0, list = decls; i < list.length; i += 1)\n {\n var decl = list[i];\n\n this.checkPatternExport(exports, decl.id);\n }\n};\n\npp$1.shouldParseExportStatement = function() {\n return this.type.keyword === \"var\" ||\n this.type.keyword === \"const\" ||\n this.type.keyword === \"class\" ||\n this.type.keyword === \"function\" ||\n this.isLet() ||\n this.isAsyncFunction()\n};\n\n// Parses a comma-separated list of module exports.\n\npp$1.parseExportSpecifiers = function(exports) {\n var nodes = [], first = true;\n // export { x, y as z } [from '...']\n this.expect(types.braceL);\n while (!this.eat(types.braceR)) {\n if (!first) {\n this.expect(types.comma);\n if (this.afterTrailingComma(types.braceR)) { break }\n } else { first = false; }\n\n var node = this.startNode();\n node.local = this.parseIdent(true);\n node.exported = this.eatContextual(\"as\") ? this.parseIdent(true) : node.local;\n this.checkExport(exports, node.exported.name, node.exported.start);\n nodes.push(this.finishNode(node, \"ExportSpecifier\"));\n }\n return nodes\n};\n\n// Parses import declaration.\n\npp$1.parseImport = function(node) {\n this.next();\n // import '...'\n if (this.type === types.string) {\n node.specifiers = empty;\n node.source = this.parseExprAtom();\n } else {\n node.specifiers = this.parseImportSpecifiers();\n this.expectContextual(\"from\");\n node.source = this.type === types.string ? this.parseExprAtom() : this.unexpected();\n }\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\")\n};\n\n// Parses a comma-separated list of module imports.\n\npp$1.parseImportSpecifiers = function() {\n var nodes = [], first = true;\n if (this.type === types.name) {\n // import defaultObj, { x, y as z } from '...'\n var node = this.startNode();\n node.local = this.parseIdent();\n this.checkLVal(node.local, BIND_LEXICAL);\n nodes.push(this.finishNode(node, \"ImportDefaultSpecifier\"));\n if (!this.eat(types.comma)) { return nodes }\n }\n if (this.type === types.star) {\n var node$1 = this.startNode();\n this.next();\n this.expectContextual(\"as\");\n node$1.local = this.parseIdent();\n this.checkLVal(node$1.local, BIND_LEXICAL);\n nodes.push(this.finishNode(node$1, \"ImportNamespaceSpecifier\"));\n return nodes\n }\n this.expect(types.braceL);\n while (!this.eat(types.braceR)) {\n if (!first) {\n this.expect(types.comma);\n if (this.afterTrailingComma(types.braceR)) { break }\n } else { first = false; }\n\n var node$2 = this.startNode();\n node$2.imported = this.parseIdent(true);\n if (this.eatContextual(\"as\")) {\n node$2.local = this.parseIdent();\n } else {\n this.checkUnreserved(node$2.imported);\n node$2.local = node$2.imported;\n }\n this.checkLVal(node$2.local, BIND_LEXICAL);\n nodes.push(this.finishNode(node$2, \"ImportSpecifier\"));\n }\n return nodes\n};\n\n// Set `ExpressionStatement#directive` property for directive prologues.\npp$1.adaptDirectivePrologue = function(statements) {\n for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {\n statements[i].directive = statements[i].expression.raw.slice(1, -1);\n }\n};\npp$1.isDirectiveCandidate = function(statement) {\n return (\n statement.type === \"ExpressionStatement\" &&\n statement.expression.type === \"Literal\" &&\n typeof statement.expression.value === \"string\" &&\n // Reject parenthesized strings.\n (this.input[statement.start] === \"\\\"\" || this.input[statement.start] === \"'\")\n )\n};\n\nvar pp$2 = Parser.prototype;\n\n// Convert existing expression atom to assignable pattern\n// if possible.\n\npp$2.toAssignable = function(node, isBinding, refDestructuringErrors) {\n if (this.options.ecmaVersion >= 6 && node) {\n switch (node.type) {\n case \"Identifier\":\n if (this.inAsync && node.name === \"await\")\n { this.raise(node.start, \"Cannot use 'await' as identifier inside an async function\"); }\n break\n\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"RestElement\":\n break\n\n case \"ObjectExpression\":\n node.type = \"ObjectPattern\";\n if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }\n for (var i = 0, list = node.properties; i < list.length; i += 1) {\n var prop = list[i];\n\n this.toAssignable(prop, isBinding);\n // Early error:\n // AssignmentRestProperty[Yield, Await] :\n // `...` DestructuringAssignmentTarget[Yield, Await]\n //\n // It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|.\n if (\n prop.type === \"RestElement\" &&\n (prop.argument.type === \"ArrayPattern\" || prop.argument.type === \"ObjectPattern\")\n ) {\n this.raise(prop.argument.start, \"Unexpected token\");\n }\n }\n break\n\n case \"Property\":\n // AssignmentProperty has type === \"Property\"\n if (node.kind !== \"init\") { this.raise(node.key.start, \"Object pattern can't contain getter or setter\"); }\n this.toAssignable(node.value, isBinding);\n break\n\n case \"ArrayExpression\":\n node.type = \"ArrayPattern\";\n if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }\n this.toAssignableList(node.elements, isBinding);\n break\n\n case \"SpreadElement\":\n node.type = \"RestElement\";\n this.toAssignable(node.argument, isBinding);\n if (node.argument.type === \"AssignmentPattern\")\n { this.raise(node.argument.start, \"Rest elements cannot have a default value\"); }\n break\n\n case \"AssignmentExpression\":\n if (node.operator !== \"=\") { this.raise(node.left.end, \"Only '=' operator can be used for specifying default value.\"); }\n node.type = \"AssignmentPattern\";\n delete node.operator;\n this.toAssignable(node.left, isBinding);\n // falls through to AssignmentPattern\n\n case \"AssignmentPattern\":\n break\n\n case \"ParenthesizedExpression\":\n this.toAssignable(node.expression, isBinding, refDestructuringErrors);\n break\n\n case \"ChainExpression\":\n this.raiseRecoverable(node.start, \"Optional chaining cannot appear in left-hand side\");\n break\n\n case \"MemberExpression\":\n if (!isBinding) { break }\n\n default:\n this.raise(node.start, \"Assigning to rvalue\");\n }\n } else if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }\n return node\n};\n\n// Convert list of expression atoms to binding list.\n\npp$2.toAssignableList = function(exprList, isBinding) {\n var end = exprList.length;\n for (var i = 0; i < end; i++) {\n var elt = exprList[i];\n if (elt) { this.toAssignable(elt, isBinding); }\n }\n if (end) {\n var last = exprList[end - 1];\n if (this.options.ecmaVersion === 6 && isBinding && last && last.type === \"RestElement\" && last.argument.type !== \"Identifier\")\n { this.unexpected(last.argument.start); }\n }\n return exprList\n};\n\n// Parses spread element.\n\npp$2.parseSpread = function(refDestructuringErrors) {\n var node = this.startNode();\n this.next();\n node.argument = this.parseMaybeAssign(false, refDestructuringErrors);\n return this.finishNode(node, \"SpreadElement\")\n};\n\npp$2.parseRestBinding = function() {\n var node = this.startNode();\n this.next();\n\n // RestElement inside of a function parameter must be an identifier\n if (this.options.ecmaVersion === 6 && this.type !== types.name)\n { this.unexpected(); }\n\n node.argument = this.parseBindingAtom();\n\n return this.finishNode(node, \"RestElement\")\n};\n\n// Parses lvalue (assignable) atom.\n\npp$2.parseBindingAtom = function() {\n if (this.options.ecmaVersion >= 6) {\n switch (this.type) {\n case types.bracketL:\n var node = this.startNode();\n this.next();\n node.elements = this.parseBindingList(types.bracketR, true, true);\n return this.finishNode(node, \"ArrayPattern\")\n\n case types.braceL:\n return this.parseObj(true)\n }\n }\n return this.parseIdent()\n};\n\npp$2.parseBindingList = function(close, allowEmpty, allowTrailingComma) {\n var elts = [], first = true;\n while (!this.eat(close)) {\n if (first) { first = false; }\n else { this.expect(types.comma); }\n if (allowEmpty && this.type === types.comma) {\n elts.push(null);\n } else if (allowTrailingComma && this.afterTrailingComma(close)) {\n break\n } else if (this.type === types.ellipsis) {\n var rest = this.parseRestBinding();\n this.parseBindingListItem(rest);\n elts.push(rest);\n if (this.type === types.comma) { this.raise(this.start, \"Comma is not permitted after the rest element\"); }\n this.expect(close);\n break\n } else {\n var elem = this.parseMaybeDefault(this.start, this.startLoc);\n this.parseBindingListItem(elem);\n elts.push(elem);\n }\n }\n return elts\n};\n\npp$2.parseBindingListItem = function(param) {\n return param\n};\n\n// Parses assignment pattern around given atom if possible.\n\npp$2.parseMaybeDefault = function(startPos, startLoc, left) {\n left = left || this.parseBindingAtom();\n if (this.options.ecmaVersion < 6 || !this.eat(types.eq)) { return left }\n var node = this.startNodeAt(startPos, startLoc);\n node.left = left;\n node.right = this.parseMaybeAssign();\n return this.finishNode(node, \"AssignmentPattern\")\n};\n\n// Verify that a node is an lval — something that can be assigned\n// to.\n// bindingType can be either:\n// 'var' indicating that the lval creates a 'var' binding\n// 'let' indicating that the lval creates a lexical ('let' or 'const') binding\n// 'none' indicating that the binding should be checked for illegal identifiers, but not for duplicate references\n\npp$2.checkLVal = function(expr, bindingType, checkClashes) {\n if ( bindingType === void 0 ) bindingType = BIND_NONE;\n\n switch (expr.type) {\n case \"Identifier\":\n if (bindingType === BIND_LEXICAL && expr.name === \"let\")\n { this.raiseRecoverable(expr.start, \"let is disallowed as a lexically bound name\"); }\n if (this.strict && this.reservedWordsStrictBind.test(expr.name))\n { this.raiseRecoverable(expr.start, (bindingType ? \"Binding \" : \"Assigning to \") + expr.name + \" in strict mode\"); }\n if (checkClashes) {\n if (has(checkClashes, expr.name))\n { this.raiseRecoverable(expr.start, \"Argument name clash\"); }\n checkClashes[expr.name] = true;\n }\n if (bindingType !== BIND_NONE && bindingType !== BIND_OUTSIDE) { this.declareName(expr.name, bindingType, expr.start); }\n break\n\n case \"ChainExpression\":\n this.raiseRecoverable(expr.start, \"Optional chaining cannot appear in left-hand side\");\n break\n\n case \"MemberExpression\":\n if (bindingType) { this.raiseRecoverable(expr.start, \"Binding member expression\"); }\n break\n\n case \"ObjectPattern\":\n for (var i = 0, list = expr.properties; i < list.length; i += 1)\n {\n var prop = list[i];\n\n this.checkLVal(prop, bindingType, checkClashes);\n }\n break\n\n case \"Property\":\n // AssignmentProperty has type === \"Property\"\n this.checkLVal(expr.value, bindingType, checkClashes);\n break\n\n case \"ArrayPattern\":\n for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) {\n var elem = list$1[i$1];\n\n if (elem) { this.checkLVal(elem, bindingType, checkClashes); }\n }\n break\n\n case \"AssignmentPattern\":\n this.checkLVal(expr.left, bindingType, checkClashes);\n break\n\n case \"RestElement\":\n this.checkLVal(expr.argument, bindingType, checkClashes);\n break\n\n case \"ParenthesizedExpression\":\n this.checkLVal(expr.expression, bindingType, checkClashes);\n break\n\n default:\n this.raise(expr.start, (bindingType ? \"Binding\" : \"Assigning to\") + \" rvalue\");\n }\n};\n\n// A recursive descent parser operates by defining functions for all\n\nvar pp$3 = Parser.prototype;\n\n// Check if property name clashes with already added.\n// Object/class getters and setters are not allowed to clash —\n// either with each other or with an init property — and in\n// strict mode, init properties are also not allowed to be repeated.\n\npp$3.checkPropClash = function(prop, propHash, refDestructuringErrors) {\n if (this.options.ecmaVersion >= 9 && prop.type === \"SpreadElement\")\n { return }\n if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))\n { return }\n var key = prop.key;\n var name;\n switch (key.type) {\n case \"Identifier\": name = key.name; break\n case \"Literal\": name = String(key.value); break\n default: return\n }\n var kind = prop.kind;\n if (this.options.ecmaVersion >= 6) {\n if (name === \"__proto__\" && kind === \"init\") {\n if (propHash.proto) {\n if (refDestructuringErrors) {\n if (refDestructuringErrors.doubleProto < 0)\n { refDestructuringErrors.doubleProto = key.start; }\n // Backwards-compat kludge. Can be removed in version 6.0\n } else { this.raiseRecoverable(key.start, \"Redefinition of __proto__ property\"); }\n }\n propHash.proto = true;\n }\n return\n }\n name = \"$\" + name;\n var other = propHash[name];\n if (other) {\n var redefinition;\n if (kind === \"init\") {\n redefinition = this.strict && other.init || other.get || other.set;\n } else {\n redefinition = other.init || other[kind];\n }\n if (redefinition)\n { this.raiseRecoverable(key.start, \"Redefinition of property\"); }\n } else {\n other = propHash[name] = {\n init: false,\n get: false,\n set: false\n };\n }\n other[kind] = true;\n};\n\n// ### Expression parsing\n\n// These nest, from the most general expression type at the top to\n// 'atomic', nondivisible expression types at the bottom. Most of\n// the functions will simply let the function(s) below them parse,\n// and, *if* the syntactic construct they handle is present, wrap\n// the AST node that the inner parser gave them in another node.\n\n// Parse a full expression. The optional arguments are used to\n// forbid the `in` operator (in for loops initalization expressions)\n// and provide reference for storing '=' operator inside shorthand\n// property assignment in contexts where both object expression\n// and object pattern might appear (so it's possible to raise\n// delayed syntax error at correct position).\n\npp$3.parseExpression = function(noIn, refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseMaybeAssign(noIn, refDestructuringErrors);\n if (this.type === types.comma) {\n var node = this.startNodeAt(startPos, startLoc);\n node.expressions = [expr];\n while (this.eat(types.comma)) { node.expressions.push(this.parseMaybeAssign(noIn, refDestructuringErrors)); }\n return this.finishNode(node, \"SequenceExpression\")\n }\n return expr\n};\n\n// Parse an assignment expression. This includes applications of\n// operators like `+=`.\n\npp$3.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) {\n if (this.isContextual(\"yield\")) {\n if (this.inGenerator) { return this.parseYield(noIn) }\n // The tokenizer will assume an expression is allowed after\n // `yield`, but this isn't that kind of yield\n else { this.exprAllowed = false; }\n }\n\n var ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1;\n if (refDestructuringErrors) {\n oldParenAssign = refDestructuringErrors.parenthesizedAssign;\n oldTrailingComma = refDestructuringErrors.trailingComma;\n refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = -1;\n } else {\n refDestructuringErrors = new DestructuringErrors;\n ownDestructuringErrors = true;\n }\n\n var startPos = this.start, startLoc = this.startLoc;\n if (this.type === types.parenL || this.type === types.name)\n { this.potentialArrowAt = this.start; }\n var left = this.parseMaybeConditional(noIn, refDestructuringErrors);\n if (afterLeftParse) { left = afterLeftParse.call(this, left, startPos, startLoc); }\n if (this.type.isAssign) {\n var node = this.startNodeAt(startPos, startLoc);\n node.operator = this.value;\n node.left = this.type === types.eq ? this.toAssignable(left, false, refDestructuringErrors) : left;\n if (!ownDestructuringErrors) {\n refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.doubleProto = -1;\n }\n if (refDestructuringErrors.shorthandAssign >= node.left.start)\n { refDestructuringErrors.shorthandAssign = -1; } // reset because shorthand default was used correctly\n this.checkLVal(left);\n this.next();\n node.right = this.parseMaybeAssign(noIn);\n return this.finishNode(node, \"AssignmentExpression\")\n } else {\n if (ownDestructuringErrors) { this.checkExpressionErrors(refDestructuringErrors, true); }\n }\n if (oldParenAssign > -1) { refDestructuringErrors.parenthesizedAssign = oldParenAssign; }\n if (oldTrailingComma > -1) { refDestructuringErrors.trailingComma = oldTrailingComma; }\n return left\n};\n\n// Parse a ternary conditional (`?:`) operator.\n\npp$3.parseMaybeConditional = function(noIn, refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseExprOps(noIn, refDestructuringErrors);\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\n if (this.eat(types.question)) {\n var node = this.startNodeAt(startPos, startLoc);\n node.test = expr;\n node.consequent = this.parseMaybeAssign();\n this.expect(types.colon);\n node.alternate = this.parseMaybeAssign(noIn);\n return this.finishNode(node, \"ConditionalExpression\")\n }\n return expr\n};\n\n// Start the precedence parser.\n\npp$3.parseExprOps = function(noIn, refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseMaybeUnary(refDestructuringErrors, false);\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\n return expr.start === startPos && expr.type === \"ArrowFunctionExpression\" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, noIn)\n};\n\n// Parse binary operators with the operator precedence parsing\n// algorithm. `left` is the left-hand side of the operator.\n// `minPrec` provides context that allows the function to stop and\n// defer further parser to one of its callers when it encounters an\n// operator that has a lower precedence than the set it is parsing.\n\npp$3.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) {\n var prec = this.type.binop;\n if (prec != null && (!noIn || this.type !== types._in)) {\n if (prec > minPrec) {\n var logical = this.type === types.logicalOR || this.type === types.logicalAND;\n var coalesce = this.type === types.coalesce;\n if (coalesce) {\n // Handle the precedence of `tt.coalesce` as equal to the range of logical expressions.\n // In other words, `node.right` shouldn't contain logical expressions in order to check the mixed error.\n prec = types.logicalAND.binop;\n }\n var op = this.value;\n this.next();\n var startPos = this.start, startLoc = this.startLoc;\n var right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn);\n var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical || coalesce);\n if ((logical && this.type === types.coalesce) || (coalesce && (this.type === types.logicalOR || this.type === types.logicalAND))) {\n this.raiseRecoverable(this.start, \"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses\");\n }\n return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn)\n }\n }\n return left\n};\n\npp$3.buildBinary = function(startPos, startLoc, left, right, op, logical) {\n var node = this.startNodeAt(startPos, startLoc);\n node.left = left;\n node.operator = op;\n node.right = right;\n return this.finishNode(node, logical ? \"LogicalExpression\" : \"BinaryExpression\")\n};\n\n// Parse unary operators, both prefix and postfix.\n\npp$3.parseMaybeUnary = function(refDestructuringErrors, sawUnary) {\n var startPos = this.start, startLoc = this.startLoc, expr;\n if (this.isContextual(\"await\") && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction))) {\n expr = this.parseAwait();\n sawUnary = true;\n } else if (this.type.prefix) {\n var node = this.startNode(), update = this.type === types.incDec;\n node.operator = this.value;\n node.prefix = true;\n this.next();\n node.argument = this.parseMaybeUnary(null, true);\n this.checkExpressionErrors(refDestructuringErrors, true);\n if (update) { this.checkLVal(node.argument); }\n else if (this.strict && node.operator === \"delete\" &&\n node.argument.type === \"Identifier\")\n { this.raiseRecoverable(node.start, \"Deleting local variable in strict mode\"); }\n else { sawUnary = true; }\n expr = this.finishNode(node, update ? \"UpdateExpression\" : \"UnaryExpression\");\n } else {\n expr = this.parseExprSubscripts(refDestructuringErrors);\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\n while (this.type.postfix && !this.canInsertSemicolon()) {\n var node$1 = this.startNodeAt(startPos, startLoc);\n node$1.operator = this.value;\n node$1.prefix = false;\n node$1.argument = expr;\n this.checkLVal(expr);\n this.next();\n expr = this.finishNode(node$1, \"UpdateExpression\");\n }\n }\n\n if (!sawUnary && this.eat(types.starstar))\n { return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false), \"**\", false) }\n else\n { return expr }\n};\n\n// Parse call, dot, and `[]`-subscript expressions.\n\npp$3.parseExprSubscripts = function(refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseExprAtom(refDestructuringErrors);\n if (expr.type === \"ArrowFunctionExpression\" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== \")\")\n { return expr }\n var result = this.parseSubscripts(expr, startPos, startLoc);\n if (refDestructuringErrors && result.type === \"MemberExpression\") {\n if (refDestructuringErrors.parenthesizedAssign >= result.start) { refDestructuringErrors.parenthesizedAssign = -1; }\n if (refDestructuringErrors.parenthesizedBind >= result.start) { refDestructuringErrors.parenthesizedBind = -1; }\n }\n return result\n};\n\npp$3.parseSubscripts = function(base, startPos, startLoc, noCalls) {\n var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === \"Identifier\" && base.name === \"async\" &&\n this.lastTokEnd === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 &&\n this.potentialArrowAt === base.start;\n var optionalChained = false;\n\n while (true) {\n var element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained);\n\n if (element.optional) { optionalChained = true; }\n if (element === base || element.type === \"ArrowFunctionExpression\") {\n if (optionalChained) {\n var chainNode = this.startNodeAt(startPos, startLoc);\n chainNode.expression = element;\n element = this.finishNode(chainNode, \"ChainExpression\");\n }\n return element\n }\n\n base = element;\n }\n};\n\npp$3.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained) {\n var optionalSupported = this.options.ecmaVersion >= 11;\n var optional = optionalSupported && this.eat(types.questionDot);\n if (noCalls && optional) { this.raise(this.lastTokStart, \"Optional chaining cannot appear in the callee of new expressions\"); }\n\n var computed = this.eat(types.bracketL);\n if (computed || (optional && this.type !== types.parenL && this.type !== types.backQuote) || this.eat(types.dot)) {\n var node = this.startNodeAt(startPos, startLoc);\n node.object = base;\n node.property = computed ? this.parseExpression() : this.parseIdent(this.options.allowReserved !== \"never\");\n node.computed = !!computed;\n if (computed) { this.expect(types.bracketR); }\n if (optionalSupported) {\n node.optional = optional;\n }\n base = this.finishNode(node, \"MemberExpression\");\n } else if (!noCalls && this.eat(types.parenL)) {\n var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.awaitIdentPos = 0;\n var exprList = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors);\n if (maybeAsyncArrow && !optional && !this.canInsertSemicolon() && this.eat(types.arrow)) {\n this.checkPatternErrors(refDestructuringErrors, false);\n this.checkYieldAwaitInDefaultParams();\n if (this.awaitIdentPos > 0)\n { this.raise(this.awaitIdentPos, \"Cannot use 'await' as identifier inside an async function\"); }\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.awaitIdentPos = oldAwaitIdentPos;\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true)\n }\n this.checkExpressionErrors(refDestructuringErrors, true);\n this.yieldPos = oldYieldPos || this.yieldPos;\n this.awaitPos = oldAwaitPos || this.awaitPos;\n this.awaitIdentPos = oldAwaitIdentPos || this.awaitIdentPos;\n var node$1 = this.startNodeAt(startPos, startLoc);\n node$1.callee = base;\n node$1.arguments = exprList;\n if (optionalSupported) {\n node$1.optional = optional;\n }\n base = this.finishNode(node$1, \"CallExpression\");\n } else if (this.type === types.backQuote) {\n if (optional || optionalChained) {\n this.raise(this.start, \"Optional chaining cannot appear in the tag of tagged template expressions\");\n }\n var node$2 = this.startNodeAt(startPos, startLoc);\n node$2.tag = base;\n node$2.quasi = this.parseTemplate({isTagged: true});\n base = this.finishNode(node$2, \"TaggedTemplateExpression\");\n }\n return base\n};\n\n// Parse an atomic expression — either a single token that is an\n// expression, an expression started by a keyword like `function` or\n// `new`, or an expression wrapped in punctuation like `()`, `[]`,\n// or `{}`.\n\npp$3.parseExprAtom = function(refDestructuringErrors) {\n // If a division operator appears in an expression position, the\n // tokenizer got confused, and we force it to read a regexp instead.\n if (this.type === types.slash) { this.readRegexp(); }\n\n var node, canBeArrow = this.potentialArrowAt === this.start;\n switch (this.type) {\n case types._super:\n if (!this.allowSuper)\n { this.raise(this.start, \"'super' keyword outside a method\"); }\n node = this.startNode();\n this.next();\n if (this.type === types.parenL && !this.allowDirectSuper)\n { this.raise(node.start, \"super() call outside constructor of a subclass\"); }\n // The `super` keyword can appear at below:\n // SuperProperty:\n // super [ Expression ]\n // super . IdentifierName\n // SuperCall:\n // super ( Arguments )\n if (this.type !== types.dot && this.type !== types.bracketL && this.type !== types.parenL)\n { this.unexpected(); }\n return this.finishNode(node, \"Super\")\n\n case types._this:\n node = this.startNode();\n this.next();\n return this.finishNode(node, \"ThisExpression\")\n\n case types.name:\n var startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc;\n var id = this.parseIdent(false);\n if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === \"async\" && !this.canInsertSemicolon() && this.eat(types._function))\n { return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true) }\n if (canBeArrow && !this.canInsertSemicolon()) {\n if (this.eat(types.arrow))\n { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false) }\n if (this.options.ecmaVersion >= 8 && id.name === \"async\" && this.type === types.name && !containsEsc) {\n id = this.parseIdent(false);\n if (this.canInsertSemicolon() || !this.eat(types.arrow))\n { this.unexpected(); }\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true)\n }\n }\n return id\n\n case types.regexp:\n var value = this.value;\n node = this.parseLiteral(value.value);\n node.regex = {pattern: value.pattern, flags: value.flags};\n return node\n\n case types.num: case types.string:\n return this.parseLiteral(this.value)\n\n case types._null: case types._true: case types._false:\n node = this.startNode();\n node.value = this.type === types._null ? null : this.type === types._true;\n node.raw = this.type.keyword;\n this.next();\n return this.finishNode(node, \"Literal\")\n\n case types.parenL:\n var start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow);\n if (refDestructuringErrors) {\n if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr))\n { refDestructuringErrors.parenthesizedAssign = start; }\n if (refDestructuringErrors.parenthesizedBind < 0)\n { refDestructuringErrors.parenthesizedBind = start; }\n }\n return expr\n\n case types.bracketL:\n node = this.startNode();\n this.next();\n node.elements = this.parseExprList(types.bracketR, true, true, refDestructuringErrors);\n return this.finishNode(node, \"ArrayExpression\")\n\n case types.braceL:\n return this.parseObj(false, refDestructuringErrors)\n\n case types._function:\n node = this.startNode();\n this.next();\n return this.parseFunction(node, 0)\n\n case types._class:\n return this.parseClass(this.startNode(), false)\n\n case types._new:\n return this.parseNew()\n\n case types.backQuote:\n return this.parseTemplate()\n\n case types._import:\n if (this.options.ecmaVersion >= 11) {\n return this.parseExprImport()\n } else {\n return this.unexpected()\n }\n\n default:\n this.unexpected();\n }\n};\n\npp$3.parseExprImport = function() {\n var node = this.startNode();\n\n // Consume `import` as an identifier for `import.meta`.\n // Because `this.parseIdent(true)` doesn't check escape sequences, it needs the check of `this.containsEsc`.\n if (this.containsEsc) { this.raiseRecoverable(this.start, \"Escape sequence in keyword import\"); }\n var meta = this.parseIdent(true);\n\n switch (this.type) {\n case types.parenL:\n return this.parseDynamicImport(node)\n case types.dot:\n node.meta = meta;\n return this.parseImportMeta(node)\n default:\n this.unexpected();\n }\n};\n\npp$3.parseDynamicImport = function(node) {\n this.next(); // skip `(`\n\n // Parse node.source.\n node.source = this.parseMaybeAssign();\n\n // Verify ending.\n if (!this.eat(types.parenR)) {\n var errorPos = this.start;\n if (this.eat(types.comma) && this.eat(types.parenR)) {\n this.raiseRecoverable(errorPos, \"Trailing comma is not allowed in import()\");\n } else {\n this.unexpected(errorPos);\n }\n }\n\n return this.finishNode(node, \"ImportExpression\")\n};\n\npp$3.parseImportMeta = function(node) {\n this.next(); // skip `.`\n\n var containsEsc = this.containsEsc;\n node.property = this.parseIdent(true);\n\n if (node.property.name !== \"meta\")\n { this.raiseRecoverable(node.property.start, \"The only valid meta property for import is 'import.meta'\"); }\n if (containsEsc)\n { this.raiseRecoverable(node.start, \"'import.meta' must not contain escaped characters\"); }\n if (this.options.sourceType !== \"module\")\n { this.raiseRecoverable(node.start, \"Cannot use 'import.meta' outside a module\"); }\n\n return this.finishNode(node, \"MetaProperty\")\n};\n\npp$3.parseLiteral = function(value) {\n var node = this.startNode();\n node.value = value;\n node.raw = this.input.slice(this.start, this.end);\n if (node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0, -1).replace(/_/g, \"\"); }\n this.next();\n return this.finishNode(node, \"Literal\")\n};\n\npp$3.parseParenExpression = function() {\n this.expect(types.parenL);\n var val = this.parseExpression();\n this.expect(types.parenR);\n return val\n};\n\npp$3.parseParenAndDistinguishExpression = function(canBeArrow) {\n var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8;\n if (this.options.ecmaVersion >= 6) {\n this.next();\n\n var innerStartPos = this.start, innerStartLoc = this.startLoc;\n var exprList = [], first = true, lastIsComma = false;\n var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart;\n this.yieldPos = 0;\n this.awaitPos = 0;\n // Do not save awaitIdentPos to allow checking awaits nested in parameters\n while (this.type !== types.parenR) {\n first ? first = false : this.expect(types.comma);\n if (allowTrailingComma && this.afterTrailingComma(types.parenR, true)) {\n lastIsComma = true;\n break\n } else if (this.type === types.ellipsis) {\n spreadStart = this.start;\n exprList.push(this.parseParenItem(this.parseRestBinding()));\n if (this.type === types.comma) { this.raise(this.start, \"Comma is not permitted after the rest element\"); }\n break\n } else {\n exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem));\n }\n }\n var innerEndPos = this.start, innerEndLoc = this.startLoc;\n this.expect(types.parenR);\n\n if (canBeArrow && !this.canInsertSemicolon() && this.eat(types.arrow)) {\n this.checkPatternErrors(refDestructuringErrors, false);\n this.checkYieldAwaitInDefaultParams();\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n return this.parseParenArrowList(startPos, startLoc, exprList)\n }\n\n if (!exprList.length || lastIsComma) { this.unexpected(this.lastTokStart); }\n if (spreadStart) { this.unexpected(spreadStart); }\n this.checkExpressionErrors(refDestructuringErrors, true);\n this.yieldPos = oldYieldPos || this.yieldPos;\n this.awaitPos = oldAwaitPos || this.awaitPos;\n\n if (exprList.length > 1) {\n val = this.startNodeAt(innerStartPos, innerStartLoc);\n val.expressions = exprList;\n this.finishNodeAt(val, \"SequenceExpression\", innerEndPos, innerEndLoc);\n } else {\n val = exprList[0];\n }\n } else {\n val = this.parseParenExpression();\n }\n\n if (this.options.preserveParens) {\n var par = this.startNodeAt(startPos, startLoc);\n par.expression = val;\n return this.finishNode(par, \"ParenthesizedExpression\")\n } else {\n return val\n }\n};\n\npp$3.parseParenItem = function(item) {\n return item\n};\n\npp$3.parseParenArrowList = function(startPos, startLoc, exprList) {\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList)\n};\n\n// New's precedence is slightly tricky. It must allow its argument to\n// be a `[]` or dot subscript expression, but not a call — at least,\n// not without wrapping it in parentheses. Thus, it uses the noCalls\n// argument to parseSubscripts to prevent it from consuming the\n// argument list.\n\nvar empty$1 = [];\n\npp$3.parseNew = function() {\n if (this.containsEsc) { this.raiseRecoverable(this.start, \"Escape sequence in keyword new\"); }\n var node = this.startNode();\n var meta = this.parseIdent(true);\n if (this.options.ecmaVersion >= 6 && this.eat(types.dot)) {\n node.meta = meta;\n var containsEsc = this.containsEsc;\n node.property = this.parseIdent(true);\n if (node.property.name !== \"target\")\n { this.raiseRecoverable(node.property.start, \"The only valid meta property for new is 'new.target'\"); }\n if (containsEsc)\n { this.raiseRecoverable(node.start, \"'new.target' must not contain escaped characters\"); }\n if (!this.inNonArrowFunction())\n { this.raiseRecoverable(node.start, \"'new.target' can only be used in functions\"); }\n return this.finishNode(node, \"MetaProperty\")\n }\n var startPos = this.start, startLoc = this.startLoc, isImport = this.type === types._import;\n node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true);\n if (isImport && node.callee.type === \"ImportExpression\") {\n this.raise(startPos, \"Cannot use new with import()\");\n }\n if (this.eat(types.parenL)) { node.arguments = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8, false); }\n else { node.arguments = empty$1; }\n return this.finishNode(node, \"NewExpression\")\n};\n\n// Parse template expression.\n\npp$3.parseTemplateElement = function(ref) {\n var isTagged = ref.isTagged;\n\n var elem = this.startNode();\n if (this.type === types.invalidTemplate) {\n if (!isTagged) {\n this.raiseRecoverable(this.start, \"Bad escape sequence in untagged template literal\");\n }\n elem.value = {\n raw: this.value,\n cooked: null\n };\n } else {\n elem.value = {\n raw: this.input.slice(this.start, this.end).replace(/\\r\\n?/g, \"\\n\"),\n cooked: this.value\n };\n }\n this.next();\n elem.tail = this.type === types.backQuote;\n return this.finishNode(elem, \"TemplateElement\")\n};\n\npp$3.parseTemplate = function(ref) {\n if ( ref === void 0 ) ref = {};\n var isTagged = ref.isTagged; if ( isTagged === void 0 ) isTagged = false;\n\n var node = this.startNode();\n this.next();\n node.expressions = [];\n var curElt = this.parseTemplateElement({isTagged: isTagged});\n node.quasis = [curElt];\n while (!curElt.tail) {\n if (this.type === types.eof) { this.raise(this.pos, \"Unterminated template literal\"); }\n this.expect(types.dollarBraceL);\n node.expressions.push(this.parseExpression());\n this.expect(types.braceR);\n node.quasis.push(curElt = this.parseTemplateElement({isTagged: isTagged}));\n }\n this.next();\n return this.finishNode(node, \"TemplateLiteral\")\n};\n\npp$3.isAsyncProp = function(prop) {\n return !prop.computed && prop.key.type === \"Identifier\" && prop.key.name === \"async\" &&\n (this.type === types.name || this.type === types.num || this.type === types.string || this.type === types.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === types.star)) &&\n !lineBreak.test(this.input.slice(this.lastTokEnd, this.start))\n};\n\n// Parse an object literal or binding pattern.\n\npp$3.parseObj = function(isPattern, refDestructuringErrors) {\n var node = this.startNode(), first = true, propHash = {};\n node.properties = [];\n this.next();\n while (!this.eat(types.braceR)) {\n if (!first) {\n this.expect(types.comma);\n if (this.options.ecmaVersion >= 5 && this.afterTrailingComma(types.braceR)) { break }\n } else { first = false; }\n\n var prop = this.parseProperty(isPattern, refDestructuringErrors);\n if (!isPattern) { this.checkPropClash(prop, propHash, refDestructuringErrors); }\n node.properties.push(prop);\n }\n return this.finishNode(node, isPattern ? \"ObjectPattern\" : \"ObjectExpression\")\n};\n\npp$3.parseProperty = function(isPattern, refDestructuringErrors) {\n var prop = this.startNode(), isGenerator, isAsync, startPos, startLoc;\n if (this.options.ecmaVersion >= 9 && this.eat(types.ellipsis)) {\n if (isPattern) {\n prop.argument = this.parseIdent(false);\n if (this.type === types.comma) {\n this.raise(this.start, \"Comma is not permitted after the rest element\");\n }\n return this.finishNode(prop, \"RestElement\")\n }\n // To disallow parenthesized identifier via `this.toAssignable()`.\n if (this.type === types.parenL && refDestructuringErrors) {\n if (refDestructuringErrors.parenthesizedAssign < 0) {\n refDestructuringErrors.parenthesizedAssign = this.start;\n }\n if (refDestructuringErrors.parenthesizedBind < 0) {\n refDestructuringErrors.parenthesizedBind = this.start;\n }\n }\n // Parse argument.\n prop.argument = this.parseMaybeAssign(false, refDestructuringErrors);\n // To disallow trailing comma via `this.toAssignable()`.\n if (this.type === types.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {\n refDestructuringErrors.trailingComma = this.start;\n }\n // Finish\n return this.finishNode(prop, \"SpreadElement\")\n }\n if (this.options.ecmaVersion >= 6) {\n prop.method = false;\n prop.shorthand = false;\n if (isPattern || refDestructuringErrors) {\n startPos = this.start;\n startLoc = this.startLoc;\n }\n if (!isPattern)\n { isGenerator = this.eat(types.star); }\n }\n var containsEsc = this.containsEsc;\n this.parsePropertyName(prop);\n if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {\n isAsync = true;\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);\n this.parsePropertyName(prop, refDestructuringErrors);\n } else {\n isAsync = false;\n }\n this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc);\n return this.finishNode(prop, \"Property\")\n};\n\npp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {\n if ((isGenerator || isAsync) && this.type === types.colon)\n { this.unexpected(); }\n\n if (this.eat(types.colon)) {\n prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors);\n prop.kind = \"init\";\n } else if (this.options.ecmaVersion >= 6 && this.type === types.parenL) {\n if (isPattern) { this.unexpected(); }\n prop.kind = \"init\";\n prop.method = true;\n prop.value = this.parseMethod(isGenerator, isAsync);\n } else if (!isPattern && !containsEsc &&\n this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === \"Identifier\" &&\n (prop.key.name === \"get\" || prop.key.name === \"set\") &&\n (this.type !== types.comma && this.type !== types.braceR && this.type !== types.eq)) {\n if (isGenerator || isAsync) { this.unexpected(); }\n prop.kind = prop.key.name;\n this.parsePropertyName(prop);\n prop.value = this.parseMethod(false);\n var paramCount = prop.kind === \"get\" ? 0 : 1;\n if (prop.value.params.length !== paramCount) {\n var start = prop.value.start;\n if (prop.kind === \"get\")\n { this.raiseRecoverable(start, \"getter should have no params\"); }\n else\n { this.raiseRecoverable(start, \"setter should have exactly one param\"); }\n } else {\n if (prop.kind === \"set\" && prop.value.params[0].type === \"RestElement\")\n { this.raiseRecoverable(prop.value.params[0].start, \"Setter cannot use rest params\"); }\n }\n } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === \"Identifier\") {\n if (isGenerator || isAsync) { this.unexpected(); }\n this.checkUnreserved(prop.key);\n if (prop.key.name === \"await\" && !this.awaitIdentPos)\n { this.awaitIdentPos = startPos; }\n prop.kind = \"init\";\n if (isPattern) {\n prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);\n } else if (this.type === types.eq && refDestructuringErrors) {\n if (refDestructuringErrors.shorthandAssign < 0)\n { refDestructuringErrors.shorthandAssign = this.start; }\n prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);\n } else {\n prop.value = prop.key;\n }\n prop.shorthand = true;\n } else { this.unexpected(); }\n};\n\npp$3.parsePropertyName = function(prop) {\n if (this.options.ecmaVersion >= 6) {\n if (this.eat(types.bracketL)) {\n prop.computed = true;\n prop.key = this.parseMaybeAssign();\n this.expect(types.bracketR);\n return prop.key\n } else {\n prop.computed = false;\n }\n }\n return prop.key = this.type === types.num || this.type === types.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== \"never\")\n};\n\n// Initialize empty function node.\n\npp$3.initFunction = function(node) {\n node.id = null;\n if (this.options.ecmaVersion >= 6) { node.generator = node.expression = false; }\n if (this.options.ecmaVersion >= 8) { node.async = false; }\n};\n\n// Parse object or class method.\n\npp$3.parseMethod = function(isGenerator, isAsync, allowDirectSuper) {\n var node = this.startNode(), oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;\n\n this.initFunction(node);\n if (this.options.ecmaVersion >= 6)\n { node.generator = isGenerator; }\n if (this.options.ecmaVersion >= 8)\n { node.async = !!isAsync; }\n\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.awaitIdentPos = 0;\n this.enterScope(functionFlags(isAsync, node.generator) | SCOPE_SUPER | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0));\n\n this.expect(types.parenL);\n node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);\n this.checkYieldAwaitInDefaultParams();\n this.parseFunctionBody(node, false, true);\n\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.awaitIdentPos = oldAwaitIdentPos;\n return this.finishNode(node, \"FunctionExpression\")\n};\n\n// Parse arrow function expression with given parameters.\n\npp$3.parseArrowExpression = function(node, params, isAsync) {\n var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;\n\n this.enterScope(functionFlags(isAsync, false) | SCOPE_ARROW);\n this.initFunction(node);\n if (this.options.ecmaVersion >= 8) { node.async = !!isAsync; }\n\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.awaitIdentPos = 0;\n\n node.params = this.toAssignableList(params, true);\n this.parseFunctionBody(node, true, false);\n\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.awaitIdentPos = oldAwaitIdentPos;\n return this.finishNode(node, \"ArrowFunctionExpression\")\n};\n\n// Parse function body and check parameters.\n\npp$3.parseFunctionBody = function(node, isArrowFunction, isMethod) {\n var isExpression = isArrowFunction && this.type !== types.braceL;\n var oldStrict = this.strict, useStrict = false;\n\n if (isExpression) {\n node.body = this.parseMaybeAssign();\n node.expression = true;\n this.checkParams(node, false);\n } else {\n var nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params);\n if (!oldStrict || nonSimple) {\n useStrict = this.strictDirective(this.end);\n // If this is a strict mode function, verify that argument names\n // are not repeated, and it does not try to bind the words `eval`\n // or `arguments`.\n if (useStrict && nonSimple)\n { this.raiseRecoverable(node.start, \"Illegal 'use strict' directive in function with non-simple parameter list\"); }\n }\n // Start a new scope with regard to labels and the `inFunction`\n // flag (restore them to their old value afterwards).\n var oldLabels = this.labels;\n this.labels = [];\n if (useStrict) { this.strict = true; }\n\n // Add the params to varDeclaredNames to ensure that an error is thrown\n // if a let/const declaration in the function clashes with one of the params.\n this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && !isMethod && this.isSimpleParamList(node.params));\n // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval'\n if (this.strict && node.id) { this.checkLVal(node.id, BIND_OUTSIDE); }\n node.body = this.parseBlock(false, undefined, useStrict && !oldStrict);\n node.expression = false;\n this.adaptDirectivePrologue(node.body.body);\n this.labels = oldLabels;\n }\n this.exitScope();\n};\n\npp$3.isSimpleParamList = function(params) {\n for (var i = 0, list = params; i < list.length; i += 1)\n {\n var param = list[i];\n\n if (param.type !== \"Identifier\") { return false\n } }\n return true\n};\n\n// Checks function params for various disallowed patterns such as using \"eval\"\n// or \"arguments\" and duplicate parameters.\n\npp$3.checkParams = function(node, allowDuplicates) {\n var nameHash = {};\n for (var i = 0, list = node.params; i < list.length; i += 1)\n {\n var param = list[i];\n\n this.checkLVal(param, BIND_VAR, allowDuplicates ? null : nameHash);\n }\n};\n\n// Parses a comma-separated list of expressions, and returns them as\n// an array. `close` is the token type that ends the list, and\n// `allowEmpty` can be turned on to allow subsequent commas with\n// nothing in between them to be parsed as `null` (which is needed\n// for array literals).\n\npp$3.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {\n var elts = [], first = true;\n while (!this.eat(close)) {\n if (!first) {\n this.expect(types.comma);\n if (allowTrailingComma && this.afterTrailingComma(close)) { break }\n } else { first = false; }\n\n var elt = (void 0);\n if (allowEmpty && this.type === types.comma)\n { elt = null; }\n else if (this.type === types.ellipsis) {\n elt = this.parseSpread(refDestructuringErrors);\n if (refDestructuringErrors && this.type === types.comma && refDestructuringErrors.trailingComma < 0)\n { refDestructuringErrors.trailingComma = this.start; }\n } else {\n elt = this.parseMaybeAssign(false, refDestructuringErrors);\n }\n elts.push(elt);\n }\n return elts\n};\n\npp$3.checkUnreserved = function(ref) {\n var start = ref.start;\n var end = ref.end;\n var name = ref.name;\n\n if (this.inGenerator && name === \"yield\")\n { this.raiseRecoverable(start, \"Cannot use 'yield' as identifier inside a generator\"); }\n if (this.inAsync && name === \"await\")\n { this.raiseRecoverable(start, \"Cannot use 'await' as identifier inside an async function\"); }\n if (this.keywords.test(name))\n { this.raise(start, (\"Unexpected keyword '\" + name + \"'\")); }\n if (this.options.ecmaVersion < 6 &&\n this.input.slice(start, end).indexOf(\"\\\\\") !== -1) { return }\n var re = this.strict ? this.reservedWordsStrict : this.reservedWords;\n if (re.test(name)) {\n if (!this.inAsync && name === \"await\")\n { this.raiseRecoverable(start, \"Cannot use keyword 'await' outside an async function\"); }\n this.raiseRecoverable(start, (\"The keyword '\" + name + \"' is reserved\"));\n }\n};\n\n// Parse the next token as an identifier. If `liberal` is true (used\n// when parsing properties), it will also convert keywords into\n// identifiers.\n\npp$3.parseIdent = function(liberal, isBinding) {\n var node = this.startNode();\n if (this.type === types.name) {\n node.name = this.value;\n } else if (this.type.keyword) {\n node.name = this.type.keyword;\n\n // To fix https://github.com/acornjs/acorn/issues/575\n // `class` and `function` keywords push new context into this.context.\n // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name.\n // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword\n if ((node.name === \"class\" || node.name === \"function\") &&\n (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {\n this.context.pop();\n }\n } else {\n this.unexpected();\n }\n this.next(!!liberal);\n this.finishNode(node, \"Identifier\");\n if (!liberal) {\n this.checkUnreserved(node);\n if (node.name === \"await\" && !this.awaitIdentPos)\n { this.awaitIdentPos = node.start; }\n }\n return node\n};\n\n// Parses yield expression inside generator.\n\npp$3.parseYield = function(noIn) {\n if (!this.yieldPos) { this.yieldPos = this.start; }\n\n var node = this.startNode();\n this.next();\n if (this.type === types.semi || this.canInsertSemicolon() || (this.type !== types.star && !this.type.startsExpr)) {\n node.delegate = false;\n node.argument = null;\n } else {\n node.delegate = this.eat(types.star);\n node.argument = this.parseMaybeAssign(noIn);\n }\n return this.finishNode(node, \"YieldExpression\")\n};\n\npp$3.parseAwait = function() {\n if (!this.awaitPos) { this.awaitPos = this.start; }\n\n var node = this.startNode();\n this.next();\n node.argument = this.parseMaybeUnary(null, false);\n return this.finishNode(node, \"AwaitExpression\")\n};\n\nvar pp$4 = Parser.prototype;\n\n// This function is used to raise exceptions on parse errors. It\n// takes an offset integer (into the current `input`) to indicate\n// the location of the error, attaches the position to the end\n// of the error message, and then raises a `SyntaxError` with that\n// message.\n\npp$4.raise = function(pos, message) {\n var loc = getLineInfo(this.input, pos);\n message += \" (\" + loc.line + \":\" + loc.column + \")\";\n var err = new SyntaxError(message);\n err.pos = pos; err.loc = loc; err.raisedAt = this.pos;\n throw err\n};\n\npp$4.raiseRecoverable = pp$4.raise;\n\npp$4.curPosition = function() {\n if (this.options.locations) {\n return new Position(this.curLine, this.pos - this.lineStart)\n }\n};\n\nvar pp$5 = Parser.prototype;\n\nvar Scope = function Scope(flags) {\n this.flags = flags;\n // A list of var-declared names in the current lexical scope\n this.var = [];\n // A list of lexically-declared names in the current lexical scope\n this.lexical = [];\n // A list of lexically-declared FunctionDeclaration names in the current lexical scope\n this.functions = [];\n};\n\n// The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.\n\npp$5.enterScope = function(flags) {\n this.scopeStack.push(new Scope(flags));\n};\n\npp$5.exitScope = function() {\n this.scopeStack.pop();\n};\n\n// The spec says:\n// > At the top level of a function, or script, function declarations are\n// > treated like var declarations rather than like lexical declarations.\npp$5.treatFunctionsAsVarInScope = function(scope) {\n return (scope.flags & SCOPE_FUNCTION) || !this.inModule && (scope.flags & SCOPE_TOP)\n};\n\npp$5.declareName = function(name, bindingType, pos) {\n var redeclared = false;\n if (bindingType === BIND_LEXICAL) {\n var scope = this.currentScope();\n redeclared = scope.lexical.indexOf(name) > -1 || scope.functions.indexOf(name) > -1 || scope.var.indexOf(name) > -1;\n scope.lexical.push(name);\n if (this.inModule && (scope.flags & SCOPE_TOP))\n { delete this.undefinedExports[name]; }\n } else if (bindingType === BIND_SIMPLE_CATCH) {\n var scope$1 = this.currentScope();\n scope$1.lexical.push(name);\n } else if (bindingType === BIND_FUNCTION) {\n var scope$2 = this.currentScope();\n if (this.treatFunctionsAsVar)\n { redeclared = scope$2.lexical.indexOf(name) > -1; }\n else\n { redeclared = scope$2.lexical.indexOf(name) > -1 || scope$2.var.indexOf(name) > -1; }\n scope$2.functions.push(name);\n } else {\n for (var i = this.scopeStack.length - 1; i >= 0; --i) {\n var scope$3 = this.scopeStack[i];\n if (scope$3.lexical.indexOf(name) > -1 && !((scope$3.flags & SCOPE_SIMPLE_CATCH) && scope$3.lexical[0] === name) ||\n !this.treatFunctionsAsVarInScope(scope$3) && scope$3.functions.indexOf(name) > -1) {\n redeclared = true;\n break\n }\n scope$3.var.push(name);\n if (this.inModule && (scope$3.flags & SCOPE_TOP))\n { delete this.undefinedExports[name]; }\n if (scope$3.flags & SCOPE_VAR) { break }\n }\n }\n if (redeclared) { this.raiseRecoverable(pos, (\"Identifier '\" + name + \"' has already been declared\")); }\n};\n\npp$5.checkLocalExport = function(id) {\n // scope.functions must be empty as Module code is always strict.\n if (this.scopeStack[0].lexical.indexOf(id.name) === -1 &&\n this.scopeStack[0].var.indexOf(id.name) === -1) {\n this.undefinedExports[id.name] = id;\n }\n};\n\npp$5.currentScope = function() {\n return this.scopeStack[this.scopeStack.length - 1]\n};\n\npp$5.currentVarScope = function() {\n for (var i = this.scopeStack.length - 1;; i--) {\n var scope = this.scopeStack[i];\n if (scope.flags & SCOPE_VAR) { return scope }\n }\n};\n\n// Could be useful for `this`, `new.target`, `super()`, `super.property`, and `super[property]`.\npp$5.currentThisScope = function() {\n for (var i = this.scopeStack.length - 1;; i--) {\n var scope = this.scopeStack[i];\n if (scope.flags & SCOPE_VAR && !(scope.flags & SCOPE_ARROW)) { return scope }\n }\n};\n\nvar Node = function Node(parser, pos, loc) {\n this.type = \"\";\n this.start = pos;\n this.end = 0;\n if (parser.options.locations)\n { this.loc = new SourceLocation(parser, loc); }\n if (parser.options.directSourceFile)\n { this.sourceFile = parser.options.directSourceFile; }\n if (parser.options.ranges)\n { this.range = [pos, 0]; }\n};\n\n// Start an AST node, attaching a start offset.\n\nvar pp$6 = Parser.prototype;\n\npp$6.startNode = function() {\n return new Node(this, this.start, this.startLoc)\n};\n\npp$6.startNodeAt = function(pos, loc) {\n return new Node(this, pos, loc)\n};\n\n// Finish an AST node, adding `type` and `end` properties.\n\nfunction finishNodeAt(node, type, pos, loc) {\n node.type = type;\n node.end = pos;\n if (this.options.locations)\n { node.loc.end = loc; }\n if (this.options.ranges)\n { node.range[1] = pos; }\n return node\n}\n\npp$6.finishNode = function(node, type) {\n return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc)\n};\n\n// Finish node at given position\n\npp$6.finishNodeAt = function(node, type, pos, loc) {\n return finishNodeAt.call(this, node, type, pos, loc)\n};\n\n// The algorithm used to determine whether a regexp can appear at a\n\nvar TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) {\n this.token = token;\n this.isExpr = !!isExpr;\n this.preserveSpace = !!preserveSpace;\n this.override = override;\n this.generator = !!generator;\n};\n\nvar types$1 = {\n b_stat: new TokContext(\"{\", false),\n b_expr: new TokContext(\"{\", true),\n b_tmpl: new TokContext(\"${\", false),\n p_stat: new TokContext(\"(\", false),\n p_expr: new TokContext(\"(\", true),\n q_tmpl: new TokContext(\"`\", true, true, function (p) { return p.tryReadTemplateToken(); }),\n f_stat: new TokContext(\"function\", false),\n f_expr: new TokContext(\"function\", true),\n f_expr_gen: new TokContext(\"function\", true, false, null, true),\n f_gen: new TokContext(\"function\", false, false, null, true)\n};\n\nvar pp$7 = Parser.prototype;\n\npp$7.initialContext = function() {\n return [types$1.b_stat]\n};\n\npp$7.braceIsBlock = function(prevType) {\n var parent = this.curContext();\n if (parent === types$1.f_expr || parent === types$1.f_stat)\n { return true }\n if (prevType === types.colon && (parent === types$1.b_stat || parent === types$1.b_expr))\n { return !parent.isExpr }\n\n // The check for `tt.name && exprAllowed` detects whether we are\n // after a `yield` or `of` construct. See the `updateContext` for\n // `tt.name`.\n if (prevType === types._return || prevType === types.name && this.exprAllowed)\n { return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) }\n if (prevType === types._else || prevType === types.semi || prevType === types.eof || prevType === types.parenR || prevType === types.arrow)\n { return true }\n if (prevType === types.braceL)\n { return parent === types$1.b_stat }\n if (prevType === types._var || prevType === types._const || prevType === types.name)\n { return false }\n return !this.exprAllowed\n};\n\npp$7.inGeneratorContext = function() {\n for (var i = this.context.length - 1; i >= 1; i--) {\n var context = this.context[i];\n if (context.token === \"function\")\n { return context.generator }\n }\n return false\n};\n\npp$7.updateContext = function(prevType) {\n var update, type = this.type;\n if (type.keyword && prevType === types.dot)\n { this.exprAllowed = false; }\n else if (update = type.updateContext)\n { update.call(this, prevType); }\n else\n { this.exprAllowed = type.beforeExpr; }\n};\n\n// Token-specific context update code\n\ntypes.parenR.updateContext = types.braceR.updateContext = function() {\n if (this.context.length === 1) {\n this.exprAllowed = true;\n return\n }\n var out = this.context.pop();\n if (out === types$1.b_stat && this.curContext().token === \"function\") {\n out = this.context.pop();\n }\n this.exprAllowed = !out.isExpr;\n};\n\ntypes.braceL.updateContext = function(prevType) {\n this.context.push(this.braceIsBlock(prevType) ? types$1.b_stat : types$1.b_expr);\n this.exprAllowed = true;\n};\n\ntypes.dollarBraceL.updateContext = function() {\n this.context.push(types$1.b_tmpl);\n this.exprAllowed = true;\n};\n\ntypes.parenL.updateContext = function(prevType) {\n var statementParens = prevType === types._if || prevType === types._for || prevType === types._with || prevType === types._while;\n this.context.push(statementParens ? types$1.p_stat : types$1.p_expr);\n this.exprAllowed = true;\n};\n\ntypes.incDec.updateContext = function() {\n // tokExprAllowed stays unchanged\n};\n\ntypes._function.updateContext = types._class.updateContext = function(prevType) {\n if (prevType.beforeExpr && prevType !== types.semi && prevType !== types._else &&\n !(prevType === types._return && lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) &&\n !((prevType === types.colon || prevType === types.braceL) && this.curContext() === types$1.b_stat))\n { this.context.push(types$1.f_expr); }\n else\n { this.context.push(types$1.f_stat); }\n this.exprAllowed = false;\n};\n\ntypes.backQuote.updateContext = function() {\n if (this.curContext() === types$1.q_tmpl)\n { this.context.pop(); }\n else\n { this.context.push(types$1.q_tmpl); }\n this.exprAllowed = false;\n};\n\ntypes.star.updateContext = function(prevType) {\n if (prevType === types._function) {\n var index = this.context.length - 1;\n if (this.context[index] === types$1.f_expr)\n { this.context[index] = types$1.f_expr_gen; }\n else\n { this.context[index] = types$1.f_gen; }\n }\n this.exprAllowed = true;\n};\n\ntypes.name.updateContext = function(prevType) {\n var allowed = false;\n if (this.options.ecmaVersion >= 6 && prevType !== types.dot) {\n if (this.value === \"of\" && !this.exprAllowed ||\n this.value === \"yield\" && this.inGeneratorContext())\n { allowed = true; }\n }\n this.exprAllowed = allowed;\n};\n\n// This file contains Unicode properties extracted from the ECMAScript\n// specification. The lists are extracted like so:\n// $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)\n\n// #table-binary-unicode-properties\nvar ecma9BinaryProperties = \"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS\";\nvar ecma10BinaryProperties = ecma9BinaryProperties + \" Extended_Pictographic\";\nvar ecma11BinaryProperties = ecma10BinaryProperties;\nvar unicodeBinaryProperties = {\n 9: ecma9BinaryProperties,\n 10: ecma10BinaryProperties,\n 11: ecma11BinaryProperties\n};\n\n// #table-unicode-general-category-values\nvar unicodeGeneralCategoryValues = \"Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu\";\n\n// #table-unicode-script-values\nvar ecma9ScriptValues = \"Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb\";\nvar ecma10ScriptValues = ecma9ScriptValues + \" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd\";\nvar ecma11ScriptValues = ecma10ScriptValues + \" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho\";\nvar unicodeScriptValues = {\n 9: ecma9ScriptValues,\n 10: ecma10ScriptValues,\n 11: ecma11ScriptValues\n};\n\nvar data = {};\nfunction buildUnicodeData(ecmaVersion) {\n var d = data[ecmaVersion] = {\n binary: wordsRegexp(unicodeBinaryProperties[ecmaVersion] + \" \" + unicodeGeneralCategoryValues),\n nonBinary: {\n General_Category: wordsRegexp(unicodeGeneralCategoryValues),\n Script: wordsRegexp(unicodeScriptValues[ecmaVersion])\n }\n };\n d.nonBinary.Script_Extensions = d.nonBinary.Script;\n\n d.nonBinary.gc = d.nonBinary.General_Category;\n d.nonBinary.sc = d.nonBinary.Script;\n d.nonBinary.scx = d.nonBinary.Script_Extensions;\n}\nbuildUnicodeData(9);\nbuildUnicodeData(10);\nbuildUnicodeData(11);\n\nvar pp$8 = Parser.prototype;\n\nvar RegExpValidationState = function RegExpValidationState(parser) {\n this.parser = parser;\n this.validFlags = \"gim\" + (parser.options.ecmaVersion >= 6 ? \"uy\" : \"\") + (parser.options.ecmaVersion >= 9 ? \"s\" : \"\");\n this.unicodeProperties = data[parser.options.ecmaVersion >= 11 ? 11 : parser.options.ecmaVersion];\n this.source = \"\";\n this.flags = \"\";\n this.start = 0;\n this.switchU = false;\n this.switchN = false;\n this.pos = 0;\n this.lastIntValue = 0;\n this.lastStringValue = \"\";\n this.lastAssertionIsQuantifiable = false;\n this.numCapturingParens = 0;\n this.maxBackReference = 0;\n this.groupNames = [];\n this.backReferenceNames = [];\n};\n\nRegExpValidationState.prototype.reset = function reset (start, pattern, flags) {\n var unicode = flags.indexOf(\"u\") !== -1;\n this.start = start | 0;\n this.source = pattern + \"\";\n this.flags = flags;\n this.switchU = unicode && this.parser.options.ecmaVersion >= 6;\n this.switchN = unicode && this.parser.options.ecmaVersion >= 9;\n};\n\nRegExpValidationState.prototype.raise = function raise (message) {\n this.parser.raiseRecoverable(this.start, (\"Invalid regular expression: /\" + (this.source) + \"/: \" + message));\n};\n\n// If u flag is given, this returns the code point at the index (it combines a surrogate pair).\n// Otherwise, this returns the code unit of the index (can be a part of a surrogate pair).\nRegExpValidationState.prototype.at = function at (i, forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n var s = this.source;\n var l = s.length;\n if (i >= l) {\n return -1\n }\n var c = s.charCodeAt(i);\n if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {\n return c\n }\n var next = s.charCodeAt(i + 1);\n return next >= 0xDC00 && next <= 0xDFFF ? (c << 10) + next - 0x35FDC00 : c\n};\n\nRegExpValidationState.prototype.nextIndex = function nextIndex (i, forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n var s = this.source;\n var l = s.length;\n if (i >= l) {\n return l\n }\n var c = s.charCodeAt(i), next;\n if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l ||\n (next = s.charCodeAt(i + 1)) < 0xDC00 || next > 0xDFFF) {\n return i + 1\n }\n return i + 2\n};\n\nRegExpValidationState.prototype.current = function current (forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n return this.at(this.pos, forceU)\n};\n\nRegExpValidationState.prototype.lookahead = function lookahead (forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n return this.at(this.nextIndex(this.pos, forceU), forceU)\n};\n\nRegExpValidationState.prototype.advance = function advance (forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n this.pos = this.nextIndex(this.pos, forceU);\n};\n\nRegExpValidationState.prototype.eat = function eat (ch, forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n if (this.current(forceU) === ch) {\n this.advance(forceU);\n return true\n }\n return false\n};\n\nfunction codePointToString(ch) {\n if (ch <= 0xFFFF) { return String.fromCharCode(ch) }\n ch -= 0x10000;\n return String.fromCharCode((ch >> 10) + 0xD800, (ch & 0x03FF) + 0xDC00)\n}\n\n/**\n * Validate the flags part of a given RegExpLiteral.\n *\n * @param {RegExpValidationState} state The state to validate RegExp.\n * @returns {void}\n */\npp$8.validateRegExpFlags = function(state) {\n var validFlags = state.validFlags;\n var flags = state.flags;\n\n for (var i = 0; i < flags.length; i++) {\n var flag = flags.charAt(i);\n if (validFlags.indexOf(flag) === -1) {\n this.raise(state.start, \"Invalid regular expression flag\");\n }\n if (flags.indexOf(flag, i + 1) > -1) {\n this.raise(state.start, \"Duplicate regular expression flag\");\n }\n }\n};\n\n/**\n * Validate the pattern part of a given RegExpLiteral.\n *\n * @param {RegExpValidationState} state The state to validate RegExp.\n * @returns {void}\n */\npp$8.validateRegExpPattern = function(state) {\n this.regexp_pattern(state);\n\n // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of\n // parsing contains a |GroupName|, reparse with the goal symbol\n // |Pattern[~U, +N]| and use this result instead. Throw a *SyntaxError*\n // exception if _P_ did not conform to the grammar, if any elements of _P_\n // were not matched by the parse, or if any Early Error conditions exist.\n if (!state.switchN && this.options.ecmaVersion >= 9 && state.groupNames.length > 0) {\n state.switchN = true;\n this.regexp_pattern(state);\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern\npp$8.regexp_pattern = function(state) {\n state.pos = 0;\n state.lastIntValue = 0;\n state.lastStringValue = \"\";\n state.lastAssertionIsQuantifiable = false;\n state.numCapturingParens = 0;\n state.maxBackReference = 0;\n state.groupNames.length = 0;\n state.backReferenceNames.length = 0;\n\n this.regexp_disjunction(state);\n\n if (state.pos !== state.source.length) {\n // Make the same messages as V8.\n if (state.eat(0x29 /* ) */)) {\n state.raise(\"Unmatched ')'\");\n }\n if (state.eat(0x5D /* ] */) || state.eat(0x7D /* } */)) {\n state.raise(\"Lone quantifier brackets\");\n }\n }\n if (state.maxBackReference > state.numCapturingParens) {\n state.raise(\"Invalid escape\");\n }\n for (var i = 0, list = state.backReferenceNames; i < list.length; i += 1) {\n var name = list[i];\n\n if (state.groupNames.indexOf(name) === -1) {\n state.raise(\"Invalid named capture referenced\");\n }\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction\npp$8.regexp_disjunction = function(state) {\n this.regexp_alternative(state);\n while (state.eat(0x7C /* | */)) {\n this.regexp_alternative(state);\n }\n\n // Make the same message as V8.\n if (this.regexp_eatQuantifier(state, true)) {\n state.raise(\"Nothing to repeat\");\n }\n if (state.eat(0x7B /* { */)) {\n state.raise(\"Lone quantifier brackets\");\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative\npp$8.regexp_alternative = function(state) {\n while (state.pos < state.source.length && this.regexp_eatTerm(state))\n { }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term\npp$8.regexp_eatTerm = function(state) {\n if (this.regexp_eatAssertion(state)) {\n // Handle `QuantifiableAssertion Quantifier` alternative.\n // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion\n // is a QuantifiableAssertion.\n if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) {\n // Make the same message as V8.\n if (state.switchU) {\n state.raise(\"Invalid quantifier\");\n }\n }\n return true\n }\n\n if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) {\n this.regexp_eatQuantifier(state);\n return true\n }\n\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion\npp$8.regexp_eatAssertion = function(state) {\n var start = state.pos;\n state.lastAssertionIsQuantifiable = false;\n\n // ^, $\n if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) {\n return true\n }\n\n // \\b \\B\n if (state.eat(0x5C /* \\ */)) {\n if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) {\n return true\n }\n state.pos = start;\n }\n\n // Lookahead / Lookbehind\n if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) {\n var lookbehind = false;\n if (this.options.ecmaVersion >= 9) {\n lookbehind = state.eat(0x3C /* < */);\n }\n if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) {\n this.regexp_disjunction(state);\n if (!state.eat(0x29 /* ) */)) {\n state.raise(\"Unterminated group\");\n }\n state.lastAssertionIsQuantifiable = !lookbehind;\n return true\n }\n }\n\n state.pos = start;\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier\npp$8.regexp_eatQuantifier = function(state, noError) {\n if ( noError === void 0 ) noError = false;\n\n if (this.regexp_eatQuantifierPrefix(state, noError)) {\n state.eat(0x3F /* ? */);\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix\npp$8.regexp_eatQuantifierPrefix = function(state, noError) {\n return (\n state.eat(0x2A /* * */) ||\n state.eat(0x2B /* + */) ||\n state.eat(0x3F /* ? */) ||\n this.regexp_eatBracedQuantifier(state, noError)\n )\n};\npp$8.regexp_eatBracedQuantifier = function(state, noError) {\n var start = state.pos;\n if (state.eat(0x7B /* { */)) {\n var min = 0, max = -1;\n if (this.regexp_eatDecimalDigits(state)) {\n min = state.lastIntValue;\n if (state.eat(0x2C /* , */) && this.regexp_eatDecimalDigits(state)) {\n max = state.lastIntValue;\n }\n if (state.eat(0x7D /* } */)) {\n // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term\n if (max !== -1 && max < min && !noError) {\n state.raise(\"numbers out of order in {} quantifier\");\n }\n return true\n }\n }\n if (state.switchU && !noError) {\n state.raise(\"Incomplete quantifier\");\n }\n state.pos = start;\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Atom\npp$8.regexp_eatAtom = function(state) {\n return (\n this.regexp_eatPatternCharacters(state) ||\n state.eat(0x2E /* . */) ||\n this.regexp_eatReverseSolidusAtomEscape(state) ||\n this.regexp_eatCharacterClass(state) ||\n this.regexp_eatUncapturingGroup(state) ||\n this.regexp_eatCapturingGroup(state)\n )\n};\npp$8.regexp_eatReverseSolidusAtomEscape = function(state) {\n var start = state.pos;\n if (state.eat(0x5C /* \\ */)) {\n if (this.regexp_eatAtomEscape(state)) {\n return true\n }\n state.pos = start;\n }\n return false\n};\npp$8.regexp_eatUncapturingGroup = function(state) {\n var start = state.pos;\n if (state.eat(0x28 /* ( */)) {\n if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {\n this.regexp_disjunction(state);\n if (state.eat(0x29 /* ) */)) {\n return true\n }\n state.raise(\"Unterminated group\");\n }\n state.pos = start;\n }\n return false\n};\npp$8.regexp_eatCapturingGroup = function(state) {\n if (state.eat(0x28 /* ( */)) {\n if (this.options.ecmaVersion >= 9) {\n this.regexp_groupSpecifier(state);\n } else if (state.current() === 0x3F /* ? */) {\n state.raise(\"Invalid group\");\n }\n this.regexp_disjunction(state);\n if (state.eat(0x29 /* ) */)) {\n state.numCapturingParens += 1;\n return true\n }\n state.raise(\"Unterminated group\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom\npp$8.regexp_eatExtendedAtom = function(state) {\n return (\n state.eat(0x2E /* . */) ||\n this.regexp_eatReverseSolidusAtomEscape(state) ||\n this.regexp_eatCharacterClass(state) ||\n this.regexp_eatUncapturingGroup(state) ||\n this.regexp_eatCapturingGroup(state) ||\n this.regexp_eatInvalidBracedQuantifier(state) ||\n this.regexp_eatExtendedPatternCharacter(state)\n )\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier\npp$8.regexp_eatInvalidBracedQuantifier = function(state) {\n if (this.regexp_eatBracedQuantifier(state, true)) {\n state.raise(\"Nothing to repeat\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter\npp$8.regexp_eatSyntaxCharacter = function(state) {\n var ch = state.current();\n if (isSyntaxCharacter(ch)) {\n state.lastIntValue = ch;\n state.advance();\n return true\n }\n return false\n};\nfunction isSyntaxCharacter(ch) {\n return (\n ch === 0x24 /* $ */ ||\n ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ ||\n ch === 0x2E /* . */ ||\n ch === 0x3F /* ? */ ||\n ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ ||\n ch >= 0x7B /* { */ && ch <= 0x7D /* } */\n )\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter\n// But eat eager.\npp$8.regexp_eatPatternCharacters = function(state) {\n var start = state.pos;\n var ch = 0;\n while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) {\n state.advance();\n }\n return state.pos !== start\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter\npp$8.regexp_eatExtendedPatternCharacter = function(state) {\n var ch = state.current();\n if (\n ch !== -1 &&\n ch !== 0x24 /* $ */ &&\n !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) &&\n ch !== 0x2E /* . */ &&\n ch !== 0x3F /* ? */ &&\n ch !== 0x5B /* [ */ &&\n ch !== 0x5E /* ^ */ &&\n ch !== 0x7C /* | */\n ) {\n state.advance();\n return true\n }\n return false\n};\n\n// GroupSpecifier ::\n// [empty]\n// `?` GroupName\npp$8.regexp_groupSpecifier = function(state) {\n if (state.eat(0x3F /* ? */)) {\n if (this.regexp_eatGroupName(state)) {\n if (state.groupNames.indexOf(state.lastStringValue) !== -1) {\n state.raise(\"Duplicate capture group name\");\n }\n state.groupNames.push(state.lastStringValue);\n return\n }\n state.raise(\"Invalid group\");\n }\n};\n\n// GroupName ::\n// `<` RegExpIdentifierName `>`\n// Note: this updates `state.lastStringValue` property with the eaten name.\npp$8.regexp_eatGroupName = function(state) {\n state.lastStringValue = \"\";\n if (state.eat(0x3C /* < */)) {\n if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) {\n return true\n }\n state.raise(\"Invalid capture group name\");\n }\n return false\n};\n\n// RegExpIdentifierName ::\n// RegExpIdentifierStart\n// RegExpIdentifierName RegExpIdentifierPart\n// Note: this updates `state.lastStringValue` property with the eaten name.\npp$8.regexp_eatRegExpIdentifierName = function(state) {\n state.lastStringValue = \"\";\n if (this.regexp_eatRegExpIdentifierStart(state)) {\n state.lastStringValue += codePointToString(state.lastIntValue);\n while (this.regexp_eatRegExpIdentifierPart(state)) {\n state.lastStringValue += codePointToString(state.lastIntValue);\n }\n return true\n }\n return false\n};\n\n// RegExpIdentifierStart ::\n// UnicodeIDStart\n// `$`\n// `_`\n// `\\` RegExpUnicodeEscapeSequence[+U]\npp$8.regexp_eatRegExpIdentifierStart = function(state) {\n var start = state.pos;\n var forceU = this.options.ecmaVersion >= 11;\n var ch = state.current(forceU);\n state.advance(forceU);\n\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) {\n ch = state.lastIntValue;\n }\n if (isRegExpIdentifierStart(ch)) {\n state.lastIntValue = ch;\n return true\n }\n\n state.pos = start;\n return false\n};\nfunction isRegExpIdentifierStart(ch) {\n return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */\n}\n\n// RegExpIdentifierPart ::\n// UnicodeIDContinue\n// `$`\n// `_`\n// `\\` RegExpUnicodeEscapeSequence[+U]\n// \n// \npp$8.regexp_eatRegExpIdentifierPart = function(state) {\n var start = state.pos;\n var forceU = this.options.ecmaVersion >= 11;\n var ch = state.current(forceU);\n state.advance(forceU);\n\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) {\n ch = state.lastIntValue;\n }\n if (isRegExpIdentifierPart(ch)) {\n state.lastIntValue = ch;\n return true\n }\n\n state.pos = start;\n return false\n};\nfunction isRegExpIdentifierPart(ch) {\n return isIdentifierChar(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* */ || ch === 0x200D /* */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape\npp$8.regexp_eatAtomEscape = function(state) {\n if (\n this.regexp_eatBackReference(state) ||\n this.regexp_eatCharacterClassEscape(state) ||\n this.regexp_eatCharacterEscape(state) ||\n (state.switchN && this.regexp_eatKGroupName(state))\n ) {\n return true\n }\n if (state.switchU) {\n // Make the same message as V8.\n if (state.current() === 0x63 /* c */) {\n state.raise(\"Invalid unicode escape\");\n }\n state.raise(\"Invalid escape\");\n }\n return false\n};\npp$8.regexp_eatBackReference = function(state) {\n var start = state.pos;\n if (this.regexp_eatDecimalEscape(state)) {\n var n = state.lastIntValue;\n if (state.switchU) {\n // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape\n if (n > state.maxBackReference) {\n state.maxBackReference = n;\n }\n return true\n }\n if (n <= state.numCapturingParens) {\n return true\n }\n state.pos = start;\n }\n return false\n};\npp$8.regexp_eatKGroupName = function(state) {\n if (state.eat(0x6B /* k */)) {\n if (this.regexp_eatGroupName(state)) {\n state.backReferenceNames.push(state.lastStringValue);\n return true\n }\n state.raise(\"Invalid named reference\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape\npp$8.regexp_eatCharacterEscape = function(state) {\n return (\n this.regexp_eatControlEscape(state) ||\n this.regexp_eatCControlLetter(state) ||\n this.regexp_eatZero(state) ||\n this.regexp_eatHexEscapeSequence(state) ||\n this.regexp_eatRegExpUnicodeEscapeSequence(state, false) ||\n (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) ||\n this.regexp_eatIdentityEscape(state)\n )\n};\npp$8.regexp_eatCControlLetter = function(state) {\n var start = state.pos;\n if (state.eat(0x63 /* c */)) {\n if (this.regexp_eatControlLetter(state)) {\n return true\n }\n state.pos = start;\n }\n return false\n};\npp$8.regexp_eatZero = function(state) {\n if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) {\n state.lastIntValue = 0;\n state.advance();\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape\npp$8.regexp_eatControlEscape = function(state) {\n var ch = state.current();\n if (ch === 0x74 /* t */) {\n state.lastIntValue = 0x09; /* \\t */\n state.advance();\n return true\n }\n if (ch === 0x6E /* n */) {\n state.lastIntValue = 0x0A; /* \\n */\n state.advance();\n return true\n }\n if (ch === 0x76 /* v */) {\n state.lastIntValue = 0x0B; /* \\v */\n state.advance();\n return true\n }\n if (ch === 0x66 /* f */) {\n state.lastIntValue = 0x0C; /* \\f */\n state.advance();\n return true\n }\n if (ch === 0x72 /* r */) {\n state.lastIntValue = 0x0D; /* \\r */\n state.advance();\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter\npp$8.regexp_eatControlLetter = function(state) {\n var ch = state.current();\n if (isControlLetter(ch)) {\n state.lastIntValue = ch % 0x20;\n state.advance();\n return true\n }\n return false\n};\nfunction isControlLetter(ch) {\n return (\n (ch >= 0x41 /* A */ && ch <= 0x5A /* Z */) ||\n (ch >= 0x61 /* a */ && ch <= 0x7A /* z */)\n )\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence\npp$8.regexp_eatRegExpUnicodeEscapeSequence = function(state, forceU) {\n if ( forceU === void 0 ) forceU = false;\n\n var start = state.pos;\n var switchU = forceU || state.switchU;\n\n if (state.eat(0x75 /* u */)) {\n if (this.regexp_eatFixedHexDigits(state, 4)) {\n var lead = state.lastIntValue;\n if (switchU && lead >= 0xD800 && lead <= 0xDBFF) {\n var leadSurrogateEnd = state.pos;\n if (state.eat(0x5C /* \\ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) {\n var trail = state.lastIntValue;\n if (trail >= 0xDC00 && trail <= 0xDFFF) {\n state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000;\n return true\n }\n }\n state.pos = leadSurrogateEnd;\n state.lastIntValue = lead;\n }\n return true\n }\n if (\n switchU &&\n state.eat(0x7B /* { */) &&\n this.regexp_eatHexDigits(state) &&\n state.eat(0x7D /* } */) &&\n isValidUnicode(state.lastIntValue)\n ) {\n return true\n }\n if (switchU) {\n state.raise(\"Invalid unicode escape\");\n }\n state.pos = start;\n }\n\n return false\n};\nfunction isValidUnicode(ch) {\n return ch >= 0 && ch <= 0x10FFFF\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape\npp$8.regexp_eatIdentityEscape = function(state) {\n if (state.switchU) {\n if (this.regexp_eatSyntaxCharacter(state)) {\n return true\n }\n if (state.eat(0x2F /* / */)) {\n state.lastIntValue = 0x2F; /* / */\n return true\n }\n return false\n }\n\n var ch = state.current();\n if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) {\n state.lastIntValue = ch;\n state.advance();\n return true\n }\n\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape\npp$8.regexp_eatDecimalEscape = function(state) {\n state.lastIntValue = 0;\n var ch = state.current();\n if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) {\n do {\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);\n state.advance();\n } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */)\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape\npp$8.regexp_eatCharacterClassEscape = function(state) {\n var ch = state.current();\n\n if (isCharacterClassEscape(ch)) {\n state.lastIntValue = -1;\n state.advance();\n return true\n }\n\n if (\n state.switchU &&\n this.options.ecmaVersion >= 9 &&\n (ch === 0x50 /* P */ || ch === 0x70 /* p */)\n ) {\n state.lastIntValue = -1;\n state.advance();\n if (\n state.eat(0x7B /* { */) &&\n this.regexp_eatUnicodePropertyValueExpression(state) &&\n state.eat(0x7D /* } */)\n ) {\n return true\n }\n state.raise(\"Invalid property name\");\n }\n\n return false\n};\nfunction isCharacterClassEscape(ch) {\n return (\n ch === 0x64 /* d */ ||\n ch === 0x44 /* D */ ||\n ch === 0x73 /* s */ ||\n ch === 0x53 /* S */ ||\n ch === 0x77 /* w */ ||\n ch === 0x57 /* W */\n )\n}\n\n// UnicodePropertyValueExpression ::\n// UnicodePropertyName `=` UnicodePropertyValue\n// LoneUnicodePropertyNameOrValue\npp$8.regexp_eatUnicodePropertyValueExpression = function(state) {\n var start = state.pos;\n\n // UnicodePropertyName `=` UnicodePropertyValue\n if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) {\n var name = state.lastStringValue;\n if (this.regexp_eatUnicodePropertyValue(state)) {\n var value = state.lastStringValue;\n this.regexp_validateUnicodePropertyNameAndValue(state, name, value);\n return true\n }\n }\n state.pos = start;\n\n // LoneUnicodePropertyNameOrValue\n if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) {\n var nameOrValue = state.lastStringValue;\n this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue);\n return true\n }\n return false\n};\npp$8.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {\n if (!has(state.unicodeProperties.nonBinary, name))\n { state.raise(\"Invalid property name\"); }\n if (!state.unicodeProperties.nonBinary[name].test(value))\n { state.raise(\"Invalid property value\"); }\n};\npp$8.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {\n if (!state.unicodeProperties.binary.test(nameOrValue))\n { state.raise(\"Invalid property name\"); }\n};\n\n// UnicodePropertyName ::\n// UnicodePropertyNameCharacters\npp$8.regexp_eatUnicodePropertyName = function(state) {\n var ch = 0;\n state.lastStringValue = \"\";\n while (isUnicodePropertyNameCharacter(ch = state.current())) {\n state.lastStringValue += codePointToString(ch);\n state.advance();\n }\n return state.lastStringValue !== \"\"\n};\nfunction isUnicodePropertyNameCharacter(ch) {\n return isControlLetter(ch) || ch === 0x5F /* _ */\n}\n\n// UnicodePropertyValue ::\n// UnicodePropertyValueCharacters\npp$8.regexp_eatUnicodePropertyValue = function(state) {\n var ch = 0;\n state.lastStringValue = \"\";\n while (isUnicodePropertyValueCharacter(ch = state.current())) {\n state.lastStringValue += codePointToString(ch);\n state.advance();\n }\n return state.lastStringValue !== \"\"\n};\nfunction isUnicodePropertyValueCharacter(ch) {\n return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch)\n}\n\n// LoneUnicodePropertyNameOrValue ::\n// UnicodePropertyValueCharacters\npp$8.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {\n return this.regexp_eatUnicodePropertyValue(state)\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass\npp$8.regexp_eatCharacterClass = function(state) {\n if (state.eat(0x5B /* [ */)) {\n state.eat(0x5E /* ^ */);\n this.regexp_classRanges(state);\n if (state.eat(0x5D /* ] */)) {\n return true\n }\n // Unreachable since it threw \"unterminated regular expression\" error before.\n state.raise(\"Unterminated character class\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges\n// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges\n// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash\npp$8.regexp_classRanges = function(state) {\n while (this.regexp_eatClassAtom(state)) {\n var left = state.lastIntValue;\n if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) {\n var right = state.lastIntValue;\n if (state.switchU && (left === -1 || right === -1)) {\n state.raise(\"Invalid character class\");\n }\n if (left !== -1 && right !== -1 && left > right) {\n state.raise(\"Range out of order in character class\");\n }\n }\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash\npp$8.regexp_eatClassAtom = function(state) {\n var start = state.pos;\n\n if (state.eat(0x5C /* \\ */)) {\n if (this.regexp_eatClassEscape(state)) {\n return true\n }\n if (state.switchU) {\n // Make the same message as V8.\n var ch$1 = state.current();\n if (ch$1 === 0x63 /* c */ || isOctalDigit(ch$1)) {\n state.raise(\"Invalid class escape\");\n }\n state.raise(\"Invalid escape\");\n }\n state.pos = start;\n }\n\n var ch = state.current();\n if (ch !== 0x5D /* ] */) {\n state.lastIntValue = ch;\n state.advance();\n return true\n }\n\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape\npp$8.regexp_eatClassEscape = function(state) {\n var start = state.pos;\n\n if (state.eat(0x62 /* b */)) {\n state.lastIntValue = 0x08; /* */\n return true\n }\n\n if (state.switchU && state.eat(0x2D /* - */)) {\n state.lastIntValue = 0x2D; /* - */\n return true\n }\n\n if (!state.switchU && state.eat(0x63 /* c */)) {\n if (this.regexp_eatClassControlLetter(state)) {\n return true\n }\n state.pos = start;\n }\n\n return (\n this.regexp_eatCharacterClassEscape(state) ||\n this.regexp_eatCharacterEscape(state)\n )\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter\npp$8.regexp_eatClassControlLetter = function(state) {\n var ch = state.current();\n if (isDecimalDigit(ch) || ch === 0x5F /* _ */) {\n state.lastIntValue = ch % 0x20;\n state.advance();\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\npp$8.regexp_eatHexEscapeSequence = function(state) {\n var start = state.pos;\n if (state.eat(0x78 /* x */)) {\n if (this.regexp_eatFixedHexDigits(state, 2)) {\n return true\n }\n if (state.switchU) {\n state.raise(\"Invalid escape\");\n }\n state.pos = start;\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits\npp$8.regexp_eatDecimalDigits = function(state) {\n var start = state.pos;\n var ch = 0;\n state.lastIntValue = 0;\n while (isDecimalDigit(ch = state.current())) {\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);\n state.advance();\n }\n return state.pos !== start\n};\nfunction isDecimalDigit(ch) {\n return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits\npp$8.regexp_eatHexDigits = function(state) {\n var start = state.pos;\n var ch = 0;\n state.lastIntValue = 0;\n while (isHexDigit(ch = state.current())) {\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);\n state.advance();\n }\n return state.pos !== start\n};\nfunction isHexDigit(ch) {\n return (\n (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) ||\n (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) ||\n (ch >= 0x61 /* a */ && ch <= 0x66 /* f */)\n )\n}\nfunction hexToInt(ch) {\n if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) {\n return 10 + (ch - 0x41 /* A */)\n }\n if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) {\n return 10 + (ch - 0x61 /* a */)\n }\n return ch - 0x30 /* 0 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence\n// Allows only 0-377(octal) i.e. 0-255(decimal).\npp$8.regexp_eatLegacyOctalEscapeSequence = function(state) {\n if (this.regexp_eatOctalDigit(state)) {\n var n1 = state.lastIntValue;\n if (this.regexp_eatOctalDigit(state)) {\n var n2 = state.lastIntValue;\n if (n1 <= 3 && this.regexp_eatOctalDigit(state)) {\n state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue;\n } else {\n state.lastIntValue = n1 * 8 + n2;\n }\n } else {\n state.lastIntValue = n1;\n }\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit\npp$8.regexp_eatOctalDigit = function(state) {\n var ch = state.current();\n if (isOctalDigit(ch)) {\n state.lastIntValue = ch - 0x30; /* 0 */\n state.advance();\n return true\n }\n state.lastIntValue = 0;\n return false\n};\nfunction isOctalDigit(ch) {\n return ch >= 0x30 /* 0 */ && ch <= 0x37 /* 7 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit\n// And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\npp$8.regexp_eatFixedHexDigits = function(state, length) {\n var start = state.pos;\n state.lastIntValue = 0;\n for (var i = 0; i < length; ++i) {\n var ch = state.current();\n if (!isHexDigit(ch)) {\n state.pos = start;\n return false\n }\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);\n state.advance();\n }\n return true\n};\n\n// Object type used to represent tokens. Note that normally, tokens\n// simply exist as properties on the parser object. This is only\n// used for the onToken callback and the external tokenizer.\n\nvar Token = function Token(p) {\n this.type = p.type;\n this.value = p.value;\n this.start = p.start;\n this.end = p.end;\n if (p.options.locations)\n { this.loc = new SourceLocation(p, p.startLoc, p.endLoc); }\n if (p.options.ranges)\n { this.range = [p.start, p.end]; }\n};\n\n// ## Tokenizer\n\nvar pp$9 = Parser.prototype;\n\n// Move to the next token\n\npp$9.next = function(ignoreEscapeSequenceInKeyword) {\n if (!ignoreEscapeSequenceInKeyword && this.type.keyword && this.containsEsc)\n { this.raiseRecoverable(this.start, \"Escape sequence in keyword \" + this.type.keyword); }\n if (this.options.onToken)\n { this.options.onToken(new Token(this)); }\n\n this.lastTokEnd = this.end;\n this.lastTokStart = this.start;\n this.lastTokEndLoc = this.endLoc;\n this.lastTokStartLoc = this.startLoc;\n this.nextToken();\n};\n\npp$9.getToken = function() {\n this.next();\n return new Token(this)\n};\n\n// If we're in an ES6 environment, make parsers iterable\nif (typeof Symbol !== \"undefined\")\n { pp$9[Symbol.iterator] = function() {\n var this$1 = this;\n\n return {\n next: function () {\n var token = this$1.getToken();\n return {\n done: token.type === types.eof,\n value: token\n }\n }\n }\n }; }\n\n// Toggle strict mode. Re-reads the next number or string to please\n// pedantic tests (`\"use strict\"; 010;` should fail).\n\npp$9.curContext = function() {\n return this.context[this.context.length - 1]\n};\n\n// Read a single token, updating the parser object's token-related\n// properties.\n\npp$9.nextToken = function() {\n var curContext = this.curContext();\n if (!curContext || !curContext.preserveSpace) { this.skipSpace(); }\n\n this.start = this.pos;\n if (this.options.locations) { this.startLoc = this.curPosition(); }\n if (this.pos >= this.input.length) { return this.finishToken(types.eof) }\n\n if (curContext.override) { return curContext.override(this) }\n else { this.readToken(this.fullCharCodeAtPos()); }\n};\n\npp$9.readToken = function(code) {\n // Identifier or keyword. '\\uXXXX' sequences are allowed in\n // identifiers, so '\\' also dispatches to that.\n if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\\' */)\n { return this.readWord() }\n\n return this.getTokenFromCode(code)\n};\n\npp$9.fullCharCodeAtPos = function() {\n var code = this.input.charCodeAt(this.pos);\n if (code <= 0xd7ff || code >= 0xe000) { return code }\n var next = this.input.charCodeAt(this.pos + 1);\n return (code << 10) + next - 0x35fdc00\n};\n\npp$9.skipBlockComment = function() {\n var startLoc = this.options.onComment && this.curPosition();\n var start = this.pos, end = this.input.indexOf(\"*/\", this.pos += 2);\n if (end === -1) { this.raise(this.pos - 2, \"Unterminated comment\"); }\n this.pos = end + 2;\n if (this.options.locations) {\n lineBreakG.lastIndex = start;\n var match;\n while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {\n ++this.curLine;\n this.lineStart = match.index + match[0].length;\n }\n }\n if (this.options.onComment)\n { this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos,\n startLoc, this.curPosition()); }\n};\n\npp$9.skipLineComment = function(startSkip) {\n var start = this.pos;\n var startLoc = this.options.onComment && this.curPosition();\n var ch = this.input.charCodeAt(this.pos += startSkip);\n while (this.pos < this.input.length && !isNewLine(ch)) {\n ch = this.input.charCodeAt(++this.pos);\n }\n if (this.options.onComment)\n { this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos,\n startLoc, this.curPosition()); }\n};\n\n// Called at the start of the parse and after every token. Skips\n// whitespace and comments, and.\n\npp$9.skipSpace = function() {\n loop: while (this.pos < this.input.length) {\n var ch = this.input.charCodeAt(this.pos);\n switch (ch) {\n case 32: case 160: // ' '\n ++this.pos;\n break\n case 13:\n if (this.input.charCodeAt(this.pos + 1) === 10) {\n ++this.pos;\n }\n case 10: case 8232: case 8233:\n ++this.pos;\n if (this.options.locations) {\n ++this.curLine;\n this.lineStart = this.pos;\n }\n break\n case 47: // '/'\n switch (this.input.charCodeAt(this.pos + 1)) {\n case 42: // '*'\n this.skipBlockComment();\n break\n case 47:\n this.skipLineComment(2);\n break\n default:\n break loop\n }\n break\n default:\n if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {\n ++this.pos;\n } else {\n break loop\n }\n }\n }\n};\n\n// Called at the end of every token. Sets `end`, `val`, and\n// maintains `context` and `exprAllowed`, and skips the space after\n// the token, so that the next one's `start` will point at the\n// right position.\n\npp$9.finishToken = function(type, val) {\n this.end = this.pos;\n if (this.options.locations) { this.endLoc = this.curPosition(); }\n var prevType = this.type;\n this.type = type;\n this.value = val;\n\n this.updateContext(prevType);\n};\n\n// ### Token reading\n\n// This is the function that is called to fetch the next token. It\n// is somewhat obscure, because it works in character codes rather\n// than characters, and because operator parsing has been inlined\n// into it.\n//\n// All in the name of speed.\n//\npp$9.readToken_dot = function() {\n var next = this.input.charCodeAt(this.pos + 1);\n if (next >= 48 && next <= 57) { return this.readNumber(true) }\n var next2 = this.input.charCodeAt(this.pos + 2);\n if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'\n this.pos += 3;\n return this.finishToken(types.ellipsis)\n } else {\n ++this.pos;\n return this.finishToken(types.dot)\n }\n};\n\npp$9.readToken_slash = function() { // '/'\n var next = this.input.charCodeAt(this.pos + 1);\n if (this.exprAllowed) { ++this.pos; return this.readRegexp() }\n if (next === 61) { return this.finishOp(types.assign, 2) }\n return this.finishOp(types.slash, 1)\n};\n\npp$9.readToken_mult_modulo_exp = function(code) { // '%*'\n var next = this.input.charCodeAt(this.pos + 1);\n var size = 1;\n var tokentype = code === 42 ? types.star : types.modulo;\n\n // exponentiation operator ** and **=\n if (this.options.ecmaVersion >= 7 && code === 42 && next === 42) {\n ++size;\n tokentype = types.starstar;\n next = this.input.charCodeAt(this.pos + 2);\n }\n\n if (next === 61) { return this.finishOp(types.assign, size + 1) }\n return this.finishOp(tokentype, size)\n};\n\npp$9.readToken_pipe_amp = function(code) { // '|&'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === code) {\n if (this.options.ecmaVersion >= 12) {\n var next2 = this.input.charCodeAt(this.pos + 2);\n if (next2 === 61) { return this.finishOp(types.assign, 3) }\n }\n return this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2)\n }\n if (next === 61) { return this.finishOp(types.assign, 2) }\n return this.finishOp(code === 124 ? types.bitwiseOR : types.bitwiseAND, 1)\n};\n\npp$9.readToken_caret = function() { // '^'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === 61) { return this.finishOp(types.assign, 2) }\n return this.finishOp(types.bitwiseXOR, 1)\n};\n\npp$9.readToken_plus_min = function(code) { // '+-'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === code) {\n if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 &&\n (this.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.lastTokEnd, this.pos)))) {\n // A `-->` line comment\n this.skipLineComment(3);\n this.skipSpace();\n return this.nextToken()\n }\n return this.finishOp(types.incDec, 2)\n }\n if (next === 61) { return this.finishOp(types.assign, 2) }\n return this.finishOp(types.plusMin, 1)\n};\n\npp$9.readToken_lt_gt = function(code) { // '<>'\n var next = this.input.charCodeAt(this.pos + 1);\n var size = 1;\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;\n if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) }\n return this.finishOp(types.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // `/.test(Pe)}function Ee(Pe){return` + +`+Pe.replace(/^\s*\n/,"")}re.exports={hasPragma:ge,insertPragma:Ee}}}),Uu=he({"src/language-html/ast.js"(L,re){$();var ge={attrs:!0,children:!0},Ee=new Set(["parent"]),Pe=class{constructor(){let de=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};for(let Ue of new Set([...Ee,...Object.keys(de)]))this.setProperty(Ue,de[Ue])}setProperty(de,Ue){if(this[de]!==Ue){if(de in ge&&(Ue=Ue.map(Ge=>this.createChild(Ge))),!Ee.has(de)){this[de]=Ue;return}Object.defineProperty(this,de,{value:Ue,enumerable:!1,configurable:!0})}}map(de){let Ue;for(let Ge in ge){let gt=this[Ge];if(gt){let ce=ie(gt,ve=>ve.map(de));Ue!==gt&&(Ue||(Ue=new Pe({parent:this.parent})),Ue.setProperty(Ge,ce))}}if(Ue)for(let Ge in this)Ge in ge||(Ue[Ge]=this[Ge]);return de(Ue||this)}walk(de){for(let Ue in ge){let Ge=this[Ue];if(Ge)for(let gt=0;gt[de.fullName,de.value]))}};function ie(de,Ue){let Ge=de.map(Ue);return Ge.some((gt,ce)=>gt!==de[ce])?Ge:de}re.exports={Node:Pe}}}),wn=he({"src/language-html/conditional-comment.js"(L,re){$();var{ParseSourceSpan:ge}=Zt(),Ee=[{regex:/^(\[if([^\]]*)]>)(.*?){try{return[!0,gt(He,Qe).children]}catch{return[!1,[{type:"text",value:He,sourceSpan:new ge(Qe,yt)}]]}})();return{type:"ieConditionalComment",complete:_t,children:ct,condition:Ve.trim().replace(/\s+/g," "),sourceSpan:Ge.sourceSpan,startSourceSpan:new ge(Ge.sourceSpan.start,Qe),endSourceSpan:new ge(yt,Ge.sourceSpan.end)}}function de(Ge,gt,ce){let[,ve]=ce;return{type:"ieConditionalStartComment",condition:ve.trim().replace(/\s+/g," "),sourceSpan:Ge.sourceSpan}}function Ue(Ge){return{type:"ieConditionalEndComment",sourceSpan:Ge.sourceSpan}}re.exports={parseIeConditionalComment:Pe}}}),iu=he({"src/language-html/loc.js"(L,re){$();function ge(Pe){return Pe.sourceSpan.start.offset}function Ee(Pe){return Pe.sourceSpan.end.offset}re.exports={locStart:ge,locEnd:Ee}}}),ln=he({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/tags.js"(L){$(),Object.defineProperty(L,"__esModule",{value:!0}),function(Ue){Ue[Ue.RAW_TEXT=0]="RAW_TEXT",Ue[Ue.ESCAPABLE_RAW_TEXT=1]="ESCAPABLE_RAW_TEXT",Ue[Ue.PARSABLE_DATA=2]="PARSABLE_DATA"}(L.TagContentType||(L.TagContentType={}));function re(Ue){if(Ue[0]!=":")return[null,Ue];let Ge=Ue.indexOf(":",1);if(Ge==-1)throw new Error(`Unsupported format "${Ue}" expecting ":namespace:name"`);return[Ue.slice(1,Ge),Ue.slice(Ge+1)]}L.splitNsName=re;function ge(Ue){return re(Ue)[1]==="ng-container"}L.isNgContainer=ge;function Ee(Ue){return re(Ue)[1]==="ng-content"}L.isNgContent=Ee;function Pe(Ue){return re(Ue)[1]==="ng-template"}L.isNgTemplate=Pe;function ie(Ue){return Ue===null?null:re(Ue)[0]}L.getNsPrefix=ie;function de(Ue,Ge){return Ue?`:${Ue}:${Ge}`:Ge}L.mergeNsAndName=de,L.NAMED_ENTITIES={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",AMP:"&",amp:"&",And:"⩓",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",ap:"≈",apacir:"⩯",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",Barwed:"⌆",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",Because:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxDL:"╗",boxDl:"╖",boxdL:"╕",boxdl:"┐",boxDR:"╔",boxDr:"╓",boxdR:"╒",boxdr:"┌",boxH:"═",boxh:"─",boxHD:"╦",boxHd:"╤",boxhD:"╥",boxhd:"┬",boxHU:"╩",boxHu:"╧",boxhU:"╨",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxUL:"╝",boxUl:"╜",boxuL:"╛",boxul:"┘",boxUR:"╚",boxUr:"╙",boxuR:"╘",boxur:"└",boxV:"║",boxv:"│",boxVH:"╬",boxVh:"╫",boxvH:"╪",boxvh:"┼",boxVL:"╣",boxVl:"╢",boxvL:"╡",boxvl:"┤",boxVR:"╠",boxVr:"╟",boxvR:"╞",boxvr:"├",bprime:"‵",Breve:"˘",breve:"˘",brvbar:"¦",Bscr:"ℬ",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",Cap:"⋒",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",CenterDot:"·",centerdot:"·",Cfr:"ℭ",cfr:"𝔠",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",Colon:"∷",colon:":",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",Conint:"∯",conint:"∮",ContourIntegral:"∮",Copf:"ℂ",copf:"𝕔",coprod:"∐",Coproduct:"∐",COPY:"©",copy:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",Cross:"⨯",cross:"✗",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",Cup:"⋓",cup:"∪",cupbrcap:"⩈",CupCap:"≍",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",Dagger:"‡",dagger:"†",daleth:"ℸ",Darr:"↡",dArr:"⇓",darr:"↓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",DD:"ⅅ",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",Diamond:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",Downarrow:"⇓",downarrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",ecir:"≖",Ecirc:"Ê",ecirc:"ê",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",eDot:"≑",edot:"ė",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",Escr:"ℰ",escr:"ℯ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",ExponentialE:"ⅇ",exponentiale:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",ForAll:"∀",forall:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",Fscr:"ℱ",fscr:"𝒻",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",gE:"≧",ge:"≥",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",Gg:"⋙",gg:"≫",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gnE:"≩",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",GT:">",Gt:"≫",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",hArr:"⇔",harr:"↔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",Hfr:"ℌ",hfr:"𝔥",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",Hopf:"ℍ",hopf:"𝕙",horbar:"―",HorizontalLine:"─",Hscr:"ℋ",hscr:"𝒽",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",Ifr:"ℑ",ifr:"𝔦",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Im:"ℑ",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",Int:"∬",int:"∫",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",Iscr:"ℐ",iscr:"𝒾",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",Lang:"⟪",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",Larr:"↞",lArr:"⇐",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",lAtail:"⤛",latail:"⤙",late:"⪭",lates:"⪭︀",lBarr:"⤎",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",lE:"≦",le:"≤",LeftAngleBracket:"⟨",LeftArrow:"←",Leftarrow:"⇐",leftarrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",Ll:"⋘",ll:"≪",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lnE:"≨",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftarrow:"⟵",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longleftrightarrow:"⟷",longmapsto:"⟼",LongRightArrow:"⟶",Longrightarrow:"⟹",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",Lscr:"ℒ",lscr:"𝓁",Lsh:"↰",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",LT:"<",Lt:"≪",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",Mscr:"ℳ",mscr:"𝓂",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",ne:"≠",nearhk:"⤤",neArr:"⇗",nearr:"↗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:` +`,nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},L.NGSP_UNICODE="",L.NAMED_ENTITIES.ngsp=L.NGSP_UNICODE}}),su=he({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/html_tags.js"(L){$(),Object.defineProperty(L,"__esModule",{value:!0});var re=ln(),ge=class{constructor(){let{closedByChildren:de,implicitNamespacePrefix:Ue,contentType:Ge=re.TagContentType.PARSABLE_DATA,closedByParent:gt=!1,isVoid:ce=!1,ignoreFirstLf:ve=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,de&&de.length>0&&de.forEach(Ve=>this.closedByChildren[Ve]=!0),this.isVoid=ce,this.closedByParent=gt||ce,this.implicitNamespacePrefix=Ue||null,this.contentType=Ge,this.ignoreFirstLf=ve}isClosedByChild(de){return this.isVoid||de.toLowerCase()in this.closedByChildren}};L.HtmlTagDefinition=ge;var Ee,Pe;function ie(de){return Pe||(Ee=new ge,Pe={base:new ge({isVoid:!0}),meta:new ge({isVoid:!0}),area:new ge({isVoid:!0}),embed:new ge({isVoid:!0}),link:new ge({isVoid:!0}),img:new ge({isVoid:!0}),input:new ge({isVoid:!0}),param:new ge({isVoid:!0}),hr:new ge({isVoid:!0}),br:new ge({isVoid:!0}),source:new ge({isVoid:!0}),track:new ge({isVoid:!0}),wbr:new ge({isVoid:!0}),p:new ge({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new ge({closedByChildren:["tbody","tfoot"]}),tbody:new ge({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new ge({closedByChildren:["tbody"],closedByParent:!0}),tr:new ge({closedByChildren:["tr"],closedByParent:!0}),td:new ge({closedByChildren:["td","th"],closedByParent:!0}),th:new ge({closedByChildren:["td","th"],closedByParent:!0}),col:new ge({isVoid:!0}),svg:new ge({implicitNamespacePrefix:"svg"}),math:new ge({implicitNamespacePrefix:"math"}),li:new ge({closedByChildren:["li"],closedByParent:!0}),dt:new ge({closedByChildren:["dt","dd"]}),dd:new ge({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new ge({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new ge({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new ge({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new ge({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new ge({closedByChildren:["optgroup"],closedByParent:!0}),option:new ge({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new ge({ignoreFirstLf:!0}),listing:new ge({ignoreFirstLf:!0}),style:new ge({contentType:re.TagContentType.RAW_TEXT}),script:new ge({contentType:re.TagContentType.RAW_TEXT}),title:new ge({contentType:re.TagContentType.ESCAPABLE_RAW_TEXT}),textarea:new ge({contentType:re.TagContentType.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),Pe[de]||Ee}L.getHtmlTagDefinition=ie}}),Gu=he({"node_modules/angular-html-parser/lib/compiler/src/ast_path.js"(L){$(),Object.defineProperty(L,"__esModule",{value:!0});var re=class{constructor(ge){let Ee=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1;this.path=ge,this.position=Ee}get empty(){return!this.path||!this.path.length}get head(){return this.path[0]}get tail(){return this.path[this.path.length-1]}parentOf(ge){return ge&&this.path[this.path.indexOf(ge)-1]}childOf(ge){return this.path[this.path.indexOf(ge)+1]}first(ge){for(let Ee=this.path.length-1;Ee>=0;Ee--){let Pe=this.path[Ee];if(Pe instanceof ge)return Pe}}push(ge){this.path.push(ge)}pop(){return this.path.pop()}};L.AstPath=re}}),au=he({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/ast.js"(L){$(),Object.defineProperty(L,"__esModule",{value:!0});var re=Gu(),ge=class{constructor(Je,Qe,yt){this.value=Je,this.sourceSpan=Qe,this.i18n=yt,this.type="text"}visit(Je,Qe){return Je.visitText(this,Qe)}};L.Text=ge;var Ee=class{constructor(Je,Qe){this.value=Je,this.sourceSpan=Qe,this.type="cdata"}visit(Je,Qe){return Je.visitCdata(this,Qe)}};L.CDATA=Ee;var Pe=class{constructor(Je,Qe,yt,_t,ct,kt){this.switchValue=Je,this.type=Qe,this.cases=yt,this.sourceSpan=_t,this.switchValueSourceSpan=ct,this.i18n=kt}visit(Je,Qe){return Je.visitExpansion(this,Qe)}};L.Expansion=Pe;var ie=class{constructor(Je,Qe,yt,_t,ct){this.value=Je,this.expression=Qe,this.sourceSpan=yt,this.valueSourceSpan=_t,this.expSourceSpan=ct}visit(Je,Qe){return Je.visitExpansionCase(this,Qe)}};L.ExpansionCase=ie;var de=class{constructor(Je,Qe,yt){let _t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,ct=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null,kt=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null;this.name=Je,this.value=Qe,this.sourceSpan=yt,this.valueSpan=_t,this.nameSpan=ct,this.i18n=kt,this.type="attribute"}visit(Je,Qe){return Je.visitAttribute(this,Qe)}};L.Attribute=de;var Ue=class{constructor(Je,Qe,yt,_t){let ct=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null,kt=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null,$t=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,ir=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null;this.name=Je,this.attrs=Qe,this.children=yt,this.sourceSpan=_t,this.startSourceSpan=ct,this.endSourceSpan=kt,this.nameSpan=$t,this.i18n=ir,this.type="element"}visit(Je,Qe){return Je.visitElement(this,Qe)}};L.Element=Ue;var Ge=class{constructor(Je,Qe){this.value=Je,this.sourceSpan=Qe,this.type="comment"}visit(Je,Qe){return Je.visitComment(this,Qe)}};L.Comment=Ge;var gt=class{constructor(Je,Qe){this.value=Je,this.sourceSpan=Qe,this.type="docType"}visit(Je,Qe){return Je.visitDocType(this,Qe)}};L.DocType=gt;function ce(Je,Qe){let yt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,_t=[],ct=Je.visit?kt=>Je.visit(kt,yt)||kt.visit(Je,yt):kt=>kt.visit(Je,yt);return Qe.forEach(kt=>{let $t=ct(kt);$t&&_t.push($t)}),_t}L.visitAll=ce;var ve=class{constructor(){}visitElement(Je,Qe){this.visitChildren(Qe,yt=>{yt(Je.attrs),yt(Je.children)})}visitAttribute(Je,Qe){}visitText(Je,Qe){}visitCdata(Je,Qe){}visitComment(Je,Qe){}visitDocType(Je,Qe){}visitExpansion(Je,Qe){return this.visitChildren(Qe,yt=>{yt(Je.cases)})}visitExpansionCase(Je,Qe){}visitChildren(Je,Qe){let yt=[],_t=this;function ct(kt){kt&&yt.push(ce(_t,kt,Je))}return Qe(ct),Array.prototype.concat.apply([],yt)}};L.RecursiveVisitor=ve;function Ve(Je){let Qe=Je.sourceSpan.start.offset,yt=Je.sourceSpan.end.offset;return Je instanceof Ue&&(Je.endSourceSpan?yt=Je.endSourceSpan.end.offset:Je.children&&Je.children.length&&(yt=Ve(Je.children[Je.children.length-1]).end)),{start:Qe,end:yt}}function He(Je,Qe){let yt=[],_t=new class extends ve{visit(ct,kt){let $t=Ve(ct);if($t.start<=Qe&&Qe<$t.end)yt.push(ct);else return!0}};return ce(_t,Je),new re.AstPath(yt,Qe)}L.findNode=He}}),Ju=he({"node_modules/angular-html-parser/lib/compiler/src/assertions.js"(L){$(),Object.defineProperty(L,"__esModule",{value:!0});function re(Pe,ie){if(ie!=null){if(!Array.isArray(ie))throw new Error(`Expected '${Pe}' to be an array of strings.`);for(let de=0;de]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];function Ee(Pe,ie){if(ie!=null&&!(Array.isArray(ie)&&ie.length==2))throw new Error(`Expected '${Pe}' to be an array, [start, end].`);if(ie!=null){let de=ie[0],Ue=ie[1];ge.forEach(Ge=>{if(Ge.test(de)||Ge.test(Ue))throw new Error(`['${de}', '${Ue}'] contains unusable interpolation symbol.`)})}}L.assertInterpolationSymbols=Ee}}),Xu=he({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/interpolation_config.js"(L){$(),Object.defineProperty(L,"__esModule",{value:!0});var re=Ju(),ge=class{constructor(Ee,Pe){this.start=Ee,this.end=Pe}static fromArray(Ee){return Ee?(re.assertInterpolationSymbols("interpolation",Ee),new ge(Ee[0],Ee[1])):L.DEFAULT_INTERPOLATION_CONFIG}};L.InterpolationConfig=ge,L.DEFAULT_INTERPOLATION_CONFIG=new ge("{{","}}")}}),ou=he({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/lexer.js"(L){$(),Object.defineProperty(L,"__esModule",{value:!0});var re=Ft(),ge=Zt(),Ee=Xu(),Pe=ln(),ie;(function(z){z[z.TAG_OPEN_START=0]="TAG_OPEN_START",z[z.TAG_OPEN_END=1]="TAG_OPEN_END",z[z.TAG_OPEN_END_VOID=2]="TAG_OPEN_END_VOID",z[z.TAG_CLOSE=3]="TAG_CLOSE",z[z.TEXT=4]="TEXT",z[z.ESCAPABLE_RAW_TEXT=5]="ESCAPABLE_RAW_TEXT",z[z.RAW_TEXT=6]="RAW_TEXT",z[z.COMMENT_START=7]="COMMENT_START",z[z.COMMENT_END=8]="COMMENT_END",z[z.CDATA_START=9]="CDATA_START",z[z.CDATA_END=10]="CDATA_END",z[z.ATTR_NAME=11]="ATTR_NAME",z[z.ATTR_QUOTE=12]="ATTR_QUOTE",z[z.ATTR_VALUE=13]="ATTR_VALUE",z[z.DOC_TYPE_START=14]="DOC_TYPE_START",z[z.DOC_TYPE_END=15]="DOC_TYPE_END",z[z.EXPANSION_FORM_START=16]="EXPANSION_FORM_START",z[z.EXPANSION_CASE_VALUE=17]="EXPANSION_CASE_VALUE",z[z.EXPANSION_CASE_EXP_START=18]="EXPANSION_CASE_EXP_START",z[z.EXPANSION_CASE_EXP_END=19]="EXPANSION_CASE_EXP_END",z[z.EXPANSION_FORM_END=20]="EXPANSION_FORM_END",z[z.EOF=21]="EOF"})(ie=L.TokenType||(L.TokenType={}));var de=class{constructor(z,le,We){this.type=z,this.parts=le,this.sourceSpan=We}};L.Token=de;var Ue=class extends ge.ParseError{constructor(z,le,We){super(We,z),this.tokenType=le}};L.TokenError=Ue;var Ge=class{constructor(z,le){this.tokens=z,this.errors=le}};L.TokenizeResult=Ge;function gt(z,le,We){let Me=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return new Je(new ge.ParseSourceFile(z,le),We,Me).tokenize()}L.tokenize=gt;var ce=/\r\n?/g;function ve(z){return`Unexpected character "${z===re.$EOF?"EOF":String.fromCharCode(z)}"`}function Ve(z){return`Unknown entity "${z}" - use the "&#;" or "&#x;" syntax`}var He=class{constructor(z){this.error=z}},Je=class{constructor(z,le,We){this._getTagContentType=le,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this._fullNameStack=[],this.tokens=[],this.errors=[],this._tokenizeIcu=We.tokenizeExpansionForms||!1,this._interpolationConfig=We.interpolationConfig||Ee.DEFAULT_INTERPOLATION_CONFIG,this._leadingTriviaCodePoints=We.leadingTriviaChars&&We.leadingTriviaChars.map(at=>at.codePointAt(0)||0),this._canSelfClose=We.canSelfClose||!1,this._allowHtmComponentClosingTags=We.allowHtmComponentClosingTags||!1;let Me=We.range||{endPos:z.content.length,startPos:0,startLine:0,startCol:0};this._cursor=We.escapedString?new Ut(z,Me):new Vt(z,Me);try{this._cursor.init()}catch(at){this.handleError(at)}}_processCarriageReturns(z){return z.replace(ce,` +`)}tokenize(){for(;this._cursor.peek()!==re.$EOF;){let z=this._cursor.clone();try{if(this._attemptCharCode(re.$LT))if(this._attemptCharCode(re.$BANG))this._attemptStr("[CDATA[")?this._consumeCdata(z):this._attemptStr("--")?this._consumeComment(z):this._attemptStrCaseInsensitive("doctype")?this._consumeDocType(z):this._consumeBogusComment(z);else if(this._attemptCharCode(re.$SLASH))this._consumeTagClose(z);else{let le=this._cursor.clone();this._attemptCharCode(re.$QUESTION)?(this._cursor=le,this._consumeBogusComment(z)):this._consumeTagOpen(z)}else this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(le){this.handleError(le)}}return this._beginToken(ie.EOF),this._endToken([]),new Ge(Ot(this.tokens),this.errors)}_tokenizeExpansionForm(){if(this.isExpansionFormStart())return this._consumeExpansionFormStart(),!0;if($t(this._cursor.peek())&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;if(this._cursor.peek()===re.$RBRACE){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1}_beginToken(z){let le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._cursor.clone();this._currentTokenStart=le,this._currentTokenType=z}_endToken(z){let le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._cursor.clone();if(this._currentTokenStart===null)throw new Ue("Programming error - attempted to end a token when there was no start to the token",this._currentTokenType,this._cursor.getSpan(le));if(this._currentTokenType===null)throw new Ue("Programming error - attempted to end a token which has no token type",null,this._cursor.getSpan(this._currentTokenStart));let We=new de(this._currentTokenType,z,this._cursor.getSpan(this._currentTokenStart,this._leadingTriviaCodePoints));return this.tokens.push(We),this._currentTokenStart=null,this._currentTokenType=null,We}_createError(z,le){this._isInExpansionForm()&&(z+=` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);let We=new Ue(z,this._currentTokenType,le);return this._currentTokenStart=null,this._currentTokenType=null,new He(We)}handleError(z){if(z instanceof rr&&(z=this._createError(z.msg,this._cursor.getSpan(z.cursor))),z instanceof He)this.errors.push(z.error);else throw z}_attemptCharCode(z){return this._cursor.peek()===z?(this._cursor.advance(),!0):!1}_attemptCharCodeCaseInsensitive(z){return ir(this._cursor.peek(),z)?(this._cursor.advance(),!0):!1}_requireCharCode(z){let le=this._cursor.clone();if(!this._attemptCharCode(z))throw this._createError(ve(this._cursor.peek()),this._cursor.getSpan(le))}_attemptStr(z){let le=z.length;if(this._cursor.charsLeft()this._attemptStr("-->")),this._beginToken(ie.COMMENT_END),this._requireStr("-->"),this._endToken([])}_consumeBogusComment(z){this._beginToken(ie.COMMENT_START,z),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===re.$GT),this._beginToken(ie.COMMENT_END),this._cursor.advance(),this._endToken([])}_consumeCdata(z){this._beginToken(ie.CDATA_START,z),this._endToken([]),this._consumeRawText(!1,()=>this._attemptStr("]]>")),this._beginToken(ie.CDATA_END),this._requireStr("]]>"),this._endToken([])}_consumeDocType(z){this._beginToken(ie.DOC_TYPE_START,z),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===re.$GT),this._beginToken(ie.DOC_TYPE_END),this._cursor.advance(),this._endToken([])}_consumePrefixAndName(){let z=this._cursor.clone(),le="";for(;this._cursor.peek()!==re.$COLON&&!_t(this._cursor.peek());)this._cursor.advance();let We;this._cursor.peek()===re.$COLON?(le=this._cursor.getChars(z),this._cursor.advance(),We=this._cursor.clone()):We=z,this._requireCharCodeUntilFn(yt,le===""?0:1);let Me=this._cursor.getChars(We);return[le,Me]}_consumeTagOpen(z){let le,We,Me,at=this.tokens.length,Jt=this._cursor.clone(),er=[];try{if(!re.isAsciiLetter(this._cursor.peek()))throw this._createError(ve(this._cursor.peek()),this._cursor.getSpan(z));for(Me=this._consumeTagOpenStart(z),We=Me.parts[0],le=Me.parts[1],this._attemptCharCodeUntilFn(Qe);this._cursor.peek()!==re.$SLASH&&this._cursor.peek()!==re.$GT;){let[Er,_r]=this._consumeAttributeName();if(this._attemptCharCodeUntilFn(Qe),this._attemptCharCode(re.$EQ)){this._attemptCharCodeUntilFn(Qe);let xr=this._consumeAttributeValue();er.push({prefix:Er,name:_r,value:xr})}else er.push({prefix:Er,name:_r});this._attemptCharCodeUntilFn(Qe)}this._consumeTagOpenEnd()}catch(Er){if(Er instanceof He){this._cursor=Jt,Me&&(this.tokens.length=at),this._beginToken(ie.TEXT,z),this._endToken(["<"]);return}throw Er}if(this._canSelfClose&&this.tokens[this.tokens.length-1].type===ie.TAG_OPEN_END_VOID)return;let Ar=this._getTagContentType(le,We,this._fullNameStack.length>0,er);this._handleFullNameStackForTagOpen(We,le),Ar===Pe.TagContentType.RAW_TEXT?this._consumeRawTextWithTagClose(We,le,!1):Ar===Pe.TagContentType.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(We,le,!0)}_consumeRawTextWithTagClose(z,le,We){this._consumeRawText(We,()=>!this._attemptCharCode(re.$LT)||!this._attemptCharCode(re.$SLASH)||(this._attemptCharCodeUntilFn(Qe),!this._attemptStrCaseInsensitive(z?`${z}:${le}`:le))?!1:(this._attemptCharCodeUntilFn(Qe),this._attemptCharCode(re.$GT))),this._beginToken(ie.TAG_CLOSE),this._requireCharCodeUntilFn(Me=>Me===re.$GT,3),this._cursor.advance(),this._endToken([z,le]),this._handleFullNameStackForTagClose(z,le)}_consumeTagOpenStart(z){this._beginToken(ie.TAG_OPEN_START,z);let le=this._consumePrefixAndName();return this._endToken(le)}_consumeAttributeName(){let z=this._cursor.peek();if(z===re.$SQ||z===re.$DQ)throw this._createError(ve(z),this._cursor.getSpan());this._beginToken(ie.ATTR_NAME);let le=this._consumePrefixAndName();return this._endToken(le),le}_consumeAttributeValue(){let z;if(this._cursor.peek()===re.$SQ||this._cursor.peek()===re.$DQ){this._beginToken(ie.ATTR_QUOTE);let le=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(le)]),this._beginToken(ie.ATTR_VALUE);let We=[];for(;this._cursor.peek()!==le;)We.push(this._readChar(!0));z=this._processCarriageReturns(We.join("")),this._endToken([z]),this._beginToken(ie.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(le)])}else{this._beginToken(ie.ATTR_VALUE);let le=this._cursor.clone();this._requireCharCodeUntilFn(yt,1),z=this._processCarriageReturns(this._cursor.getChars(le)),this._endToken([z])}return z}_consumeTagOpenEnd(){let z=this._attemptCharCode(re.$SLASH)?ie.TAG_OPEN_END_VOID:ie.TAG_OPEN_END;this._beginToken(z),this._requireCharCode(re.$GT),this._endToken([])}_consumeTagClose(z){if(this._beginToken(ie.TAG_CLOSE,z),this._attemptCharCodeUntilFn(Qe),this._allowHtmComponentClosingTags&&this._attemptCharCode(re.$SLASH))this._attemptCharCodeUntilFn(Qe),this._requireCharCode(re.$GT),this._endToken([]);else{let[le,We]=this._consumePrefixAndName();this._attemptCharCodeUntilFn(Qe),this._requireCharCode(re.$GT),this._endToken([le,We]),this._handleFullNameStackForTagClose(le,We)}}_consumeExpansionFormStart(){this._beginToken(ie.EXPANSION_FORM_START),this._requireCharCode(re.$LBRACE),this._endToken([]),this._expansionCaseStack.push(ie.EXPANSION_FORM_START),this._beginToken(ie.RAW_TEXT);let z=this._readUntil(re.$COMMA);this._endToken([z]),this._requireCharCode(re.$COMMA),this._attemptCharCodeUntilFn(Qe),this._beginToken(ie.RAW_TEXT);let le=this._readUntil(re.$COMMA);this._endToken([le]),this._requireCharCode(re.$COMMA),this._attemptCharCodeUntilFn(Qe)}_consumeExpansionCaseStart(){this._beginToken(ie.EXPANSION_CASE_VALUE);let z=this._readUntil(re.$LBRACE).trim();this._endToken([z]),this._attemptCharCodeUntilFn(Qe),this._beginToken(ie.EXPANSION_CASE_EXP_START),this._requireCharCode(re.$LBRACE),this._endToken([]),this._attemptCharCodeUntilFn(Qe),this._expansionCaseStack.push(ie.EXPANSION_CASE_EXP_START)}_consumeExpansionCaseEnd(){this._beginToken(ie.EXPANSION_CASE_EXP_END),this._requireCharCode(re.$RBRACE),this._endToken([]),this._attemptCharCodeUntilFn(Qe),this._expansionCaseStack.pop()}_consumeExpansionFormEnd(){this._beginToken(ie.EXPANSION_FORM_END),this._requireCharCode(re.$RBRACE),this._endToken([]),this._expansionCaseStack.pop()}_consumeText(){let z=this._cursor.clone();this._beginToken(ie.TEXT,z);let le=[];do this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(le.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(le.push(this._interpolationConfig.end),this._inInterpolation=!1):le.push(this._readChar(!0));while(!this._isTextEnd());this._endToken([this._processCarriageReturns(le.join(""))])}_isTextEnd(){return!!(this._cursor.peek()===re.$LT||this._cursor.peek()===re.$EOF||this._tokenizeIcu&&!this._inInterpolation&&(this.isExpansionFormStart()||this._cursor.peek()===re.$RBRACE&&this._isInExpansionCase()))}_readUntil(z){let le=this._cursor.clone();return this._attemptUntilChar(z),this._cursor.getChars(le)}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===ie.EXPANSION_CASE_EXP_START}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===ie.EXPANSION_FORM_START}isExpansionFormStart(){if(this._cursor.peek()!==re.$LBRACE)return!1;if(this._interpolationConfig){let z=this._cursor.clone(),le=this._attemptStr(this._interpolationConfig.start);return this._cursor=z,!le}return!0}_handleFullNameStackForTagOpen(z,le){let We=Pe.mergeNsAndName(z,le);(this._fullNameStack.length===0||this._fullNameStack[this._fullNameStack.length-1]===We)&&this._fullNameStack.push(We)}_handleFullNameStackForTagClose(z,le){let We=Pe.mergeNsAndName(z,le);this._fullNameStack.length!==0&&this._fullNameStack[this._fullNameStack.length-1]===We&&this._fullNameStack.pop()}};function Qe(z){return!re.isWhitespace(z)||z===re.$EOF}function yt(z){return re.isWhitespace(z)||z===re.$GT||z===re.$SLASH||z===re.$SQ||z===re.$DQ||z===re.$EQ}function _t(z){return(zre.$9)}function ct(z){return z==re.$SEMICOLON||z==re.$EOF||!re.isAsciiHexDigit(z)}function kt(z){return z==re.$SEMICOLON||z==re.$EOF||!re.isAsciiLetter(z)}function $t(z){return z===re.$EQ||re.isAsciiLetter(z)||re.isDigit(z)}function ir(z,le){return st(z)==st(le)}function st(z){return z>=re.$a&&z<=re.$z?z-re.$a+re.$A:z}function Ot(z){let le=[],We;for(let Me=0;Me0&&le.indexOf(z.peek())!==-1;)z.advance();return new ge.ParseSourceSpan(new ge.ParseLocation(z.file,z.state.offset,z.state.line,z.state.column),new ge.ParseLocation(this.file,this.state.offset,this.state.line,this.state.column))}getChars(z){return this.input.substring(z.state.offset,this.state.offset)}charAt(z){return this.input.charCodeAt(z)}advanceState(z){if(z.offset>=this.end)throw this.state=z,new rr('Unexpected character "EOF"',this);let le=this.charAt(z.offset);le===re.$LF?(z.line++,z.column=0):re.isNewLine(le)||z.column++,z.offset++,this.updatePeek(z)}updatePeek(z){z.peek=z.offset>=this.end?re.$EOF:this.charAt(z.offset)}},Ut=class extends Vt{constructor(z,le){z instanceof Ut?(super(z),this.internalState=Object.assign({},z.internalState)):(super(z,le),this.internalState=this.state)}advance(){this.state=this.internalState,super.advance(),this.processEscapeSequence()}init(){super.init(),this.processEscapeSequence()}clone(){return new Ut(this)}getChars(z){let le=z.clone(),We="";for(;le.internalState.offsetthis.internalState.peek;if(z()===re.$BACKSLASH)if(this.internalState=Object.assign({},this.state),this.advanceState(this.internalState),z()===re.$n)this.state.peek=re.$LF;else if(z()===re.$r)this.state.peek=re.$CR;else if(z()===re.$v)this.state.peek=re.$VTAB;else if(z()===re.$t)this.state.peek=re.$TAB;else if(z()===re.$b)this.state.peek=re.$BSPACE;else if(z()===re.$f)this.state.peek=re.$FF;else if(z()===re.$u)if(this.advanceState(this.internalState),z()===re.$LBRACE){this.advanceState(this.internalState);let le=this.clone(),We=0;for(;z()!==re.$RBRACE;)this.advanceState(this.internalState),We++;this.state.peek=this.decodeHexDigits(le,We)}else{let le=this.clone();this.advanceState(this.internalState),this.advanceState(this.internalState),this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(le,4)}else if(z()===re.$x){this.advanceState(this.internalState);let le=this.clone();this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(le,2)}else if(re.isOctalDigit(z())){let le="",We=0,Me=this.clone();for(;re.isOctalDigit(z())&&We<3;)Me=this.clone(),le+=String.fromCodePoint(z()),this.advanceState(this.internalState),We++;this.state.peek=parseInt(le,8),this.internalState=Me.internalState}else re.isNewLine(this.internalState.peek)?(this.advanceState(this.internalState),this.state=this.internalState):this.state.peek=this.internalState.peek}decodeHexDigits(z,le){let We=this.input.substr(z.internalState.offset,le),Me=parseInt(We,16);if(isNaN(Me))throw z.state=z.internalState,new rr("Invalid hexadecimal escape sequence",z);return Me}},rr=class{constructor(z,le){this.msg=z,this.cursor=le}};L.CursorError=rr}}),lu=he({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/parser.js"(L){$(),Object.defineProperty(L,"__esModule",{value:!0});var re=Zt(),ge=au(),Ee=ou(),Pe=ln(),ie=class extends re.ParseError{constructor(ce,ve,Ve){super(ve,Ve),this.elementName=ce}static create(ce,ve,Ve){return new ie(ce,ve,Ve)}};L.TreeError=ie;var de=class{constructor(ce,ve){this.rootNodes=ce,this.errors=ve}};L.ParseTreeResult=de;var Ue=class{constructor(ce){this.getTagDefinition=ce}parse(ce,ve,Ve){let He=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,Je=arguments.length>4?arguments[4]:void 0,Qe=Vt=>function(Ut){for(var rr=arguments.length,z=new Array(rr>1?rr-1:0),le=1;leyt(Vt).contentType,ct=He?Je:Qe(Je),kt=Je?(Vt,Ut,rr,z)=>{let le=ct(Vt,Ut,rr,z);return le!==void 0?le:_t(Vt)}:_t,$t=Ee.tokenize(ce,ve,kt,Ve),ir=Ve&&Ve.canSelfClose||!1,st=Ve&&Ve.allowHtmComponentClosingTags||!1,Ot=new Ge($t.tokens,yt,ir,st,He).build();return new de(Ot.rootNodes,$t.errors.concat(Ot.errors))}};L.Parser=Ue;var Ge=class{constructor(ce,ve,Ve,He,Je){this.tokens=ce,this.getTagDefinition=ve,this.canSelfClose=Ve,this.allowHtmComponentClosingTags=He,this.isTagNameCaseSensitive=Je,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}build(){for(;this._peek.type!==Ee.TokenType.EOF;)this._peek.type===Ee.TokenType.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===Ee.TokenType.TAG_CLOSE?(this._closeVoidElement(),this._consumeEndTag(this._advance())):this._peek.type===Ee.TokenType.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===Ee.TokenType.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===Ee.TokenType.TEXT||this._peek.type===Ee.TokenType.RAW_TEXT||this._peek.type===Ee.TokenType.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===Ee.TokenType.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._peek.type===Ee.TokenType.DOC_TYPE_START?this._consumeDocType(this._advance()):this._advance();return new de(this._rootNodes,this._errors)}_advance(){let ce=this._peek;return this._index0)return this._errors=this._errors.concat(Je.errors),null;let Qe=new re.ParseSourceSpan(ce.sourceSpan.start,He.sourceSpan.end),yt=new re.ParseSourceSpan(ve.sourceSpan.start,He.sourceSpan.end);return new ge.ExpansionCase(ce.parts[0],Je.rootNodes,Qe,ce.sourceSpan,yt)}_collectExpansionExpTokens(ce){let ve=[],Ve=[Ee.TokenType.EXPANSION_CASE_EXP_START];for(;;){if((this._peek.type===Ee.TokenType.EXPANSION_FORM_START||this._peek.type===Ee.TokenType.EXPANSION_CASE_EXP_START)&&Ve.push(this._peek.type),this._peek.type===Ee.TokenType.EXPANSION_CASE_EXP_END)if(gt(Ve,Ee.TokenType.EXPANSION_CASE_EXP_START)){if(Ve.pop(),Ve.length==0)return ve}else return this._errors.push(ie.create(null,ce.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(this._peek.type===Ee.TokenType.EXPANSION_FORM_END)if(gt(Ve,Ee.TokenType.EXPANSION_FORM_START))Ve.pop();else return this._errors.push(ie.create(null,ce.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(this._peek.type===Ee.TokenType.EOF)return this._errors.push(ie.create(null,ce.sourceSpan,"Invalid ICU message. Missing '}'.")),null;ve.push(this._advance())}}_getText(ce){let ve=ce.parts[0];if(ve.length>0&&ve[0]==` +`){let Ve=this._getParentElement();Ve!=null&&Ve.children.length==0&&this.getTagDefinition(Ve.name).ignoreFirstLf&&(ve=ve.substring(1))}return ve}_consumeText(ce){let ve=this._getText(ce);ve.length>0&&this._addToParent(new ge.Text(ve,ce.sourceSpan))}_closeVoidElement(){let ce=this._getParentElement();ce&&this.getTagDefinition(ce.name).isVoid&&this._elementStack.pop()}_consumeStartTag(ce){let ve=ce.parts[0],Ve=ce.parts[1],He=[];for(;this._peek.type===Ee.TokenType.ATTR_NAME;)He.push(this._consumeAttr(this._advance()));let Je=this._getElementFullName(ve,Ve,this._getParentElement()),Qe=!1;if(this._peek.type===Ee.TokenType.TAG_OPEN_END_VOID){this._advance(),Qe=!0;let $t=this.getTagDefinition(Je);this.canSelfClose||$t.canSelfClose||Pe.getNsPrefix(Je)!==null||$t.isVoid||this._errors.push(ie.create(Je,ce.sourceSpan,`Only void and foreign elements can be self closed "${ce.parts[1]}"`))}else this._peek.type===Ee.TokenType.TAG_OPEN_END&&(this._advance(),Qe=!1);let yt=this._peek.sourceSpan.start,_t=new re.ParseSourceSpan(ce.sourceSpan.start,yt),ct=new re.ParseSourceSpan(ce.sourceSpan.start.moveBy(1),ce.sourceSpan.end),kt=new ge.Element(Je,He,[],_t,_t,void 0,ct);this._pushElement(kt),Qe&&(this._popElement(Je),kt.endSourceSpan=_t)}_pushElement(ce){let ve=this._getParentElement();ve&&this.getTagDefinition(ve.name).isClosedByChild(ce.name)&&this._elementStack.pop(),this._addToParent(ce),this._elementStack.push(ce)}_consumeEndTag(ce){let ve=this.allowHtmComponentClosingTags&&ce.parts.length===0?null:this._getElementFullName(ce.parts[0],ce.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=ce.sourceSpan),ve&&this.getTagDefinition(ve).isVoid)this._errors.push(ie.create(ve,ce.sourceSpan,`Void elements do not have end tags "${ce.parts[1]}"`));else if(!this._popElement(ve)){let Ve=`Unexpected closing tag "${ve}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;this._errors.push(ie.create(ve,ce.sourceSpan,Ve))}}_popElement(ce){for(let ve=this._elementStack.length-1;ve>=0;ve--){let Ve=this._elementStack[ve];if(!ce||(Pe.getNsPrefix(Ve.name)?Ve.name==ce:Ve.name.toLowerCase()==ce.toLowerCase()))return this._elementStack.splice(ve,this._elementStack.length-ve),!0;if(!this.getTagDefinition(Ve.name).closedByParent)return!1}return!1}_consumeAttr(ce){let ve=Pe.mergeNsAndName(ce.parts[0],ce.parts[1]),Ve=ce.sourceSpan.end,He="",Je,Qe;if(this._peek.type===Ee.TokenType.ATTR_QUOTE&&(Qe=this._advance().sourceSpan.start),this._peek.type===Ee.TokenType.ATTR_VALUE){let yt=this._advance();He=yt.parts[0],Ve=yt.sourceSpan.end,Je=yt.sourceSpan}return this._peek.type===Ee.TokenType.ATTR_QUOTE&&(Ve=this._advance().sourceSpan.end,Je=new re.ParseSourceSpan(Qe,Ve)),new ge.Attribute(ve,He,new re.ParseSourceSpan(ce.sourceSpan.start,Ve),Je,ce.sourceSpan)}_getParentElement(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}_getParentElementSkippingContainers(){let ce=null;for(let ve=this._elementStack.length-1;ve>=0;ve--){if(!Pe.isNgContainer(this._elementStack[ve].name))return{parent:this._elementStack[ve],container:ce};ce=this._elementStack[ve]}return{parent:null,container:ce}}_addToParent(ce){let ve=this._getParentElement();ve!=null?ve.children.push(ce):this._rootNodes.push(ce)}_insertBeforeContainer(ce,ve,Ve){if(!ve)this._addToParent(Ve),this._elementStack.push(Ve);else{if(ce){let He=ce.children.indexOf(ve);ce.children[He]=Ve}else this._rootNodes.push(Ve);Ve.children.push(ve),this._elementStack.splice(this._elementStack.indexOf(ve),0,Ve)}}_getElementFullName(ce,ve,Ve){return ce===""&&(ce=this.getTagDefinition(ve).implicitNamespacePrefix||"",ce===""&&Ve!=null&&(ce=Pe.getNsPrefix(Ve.name))),Pe.mergeNsAndName(ce,ve)}};function gt(ce,ve){return ce.length>0&&ce[ce.length-1]===ve}}}),Nn=he({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/html_parser.js"(L){$(),Object.defineProperty(L,"__esModule",{value:!0});var re=su(),ge=lu(),Ee=lu();L.ParseTreeResult=Ee.ParseTreeResult,L.TreeError=Ee.TreeError;var Pe=class extends ge.Parser{constructor(){super(re.getHtmlTagDefinition)}parse(ie,de,Ue){let Ge=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,gt=arguments.length>4?arguments[4]:void 0;return super.parse(ie,de,Ue,Ge,gt)}};L.HtmlParser=Pe}}),_n=he({"node_modules/angular-html-parser/lib/angular-html-parser/src/index.js"(L){$(),Object.defineProperty(L,"__esModule",{value:!0});var re=Nn(),ge=ln();L.TagContentType=ge.TagContentType;var Ee=null,Pe=()=>(Ee||(Ee=new re.HtmlParser),Ee);function ie(de){let Ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{canSelfClose:Ge=!1,allowHtmComponentClosingTags:gt=!1,isTagNameCaseSensitive:ce=!1,getTagContentType:ve}=Ue;return Pe().parse(de,"angular-html-parser",{tokenizeExpansionForms:!1,interpolationConfig:void 0,canSelfClose:Ge,allowHtmComponentClosingTags:gt},ce,ve)}L.parse=ie}});$();var{ParseSourceSpan:pn,ParseLocation:pu,ParseSourceFile:Wu}=Zt(),Hi=ue(),Yi=yr(),Fn=Pr(),{inferParserByLanguage:Yr}=nu(),Ki=Ru(),cu=zi(),zu=Gt(),{hasPragma:Qi}=Vu(),{Node:Zi}=Uu(),{parseIeConditionalComment:es}=wn(),{locStart:ts,locEnd:rs}=iu();function ns(L,re,ge){let{canSelfClose:Ee,normalizeTagName:Pe,normalizeAttributeName:ie,allowHtmComponentClosingTags:de,isTagNameCaseSensitive:Ue,getTagContentType:Ge}=re,gt=_n(),{RecursiveVisitor:ce,visitAll:ve}=au(),{ParseSourceSpan:Ve}=Zt(),{getHtmlTagDefinition:He}=su(),{rootNodes:Je,errors:Qe}=gt.parse(L,{canSelfClose:Ee,allowHtmComponentClosingTags:de,isTagNameCaseSensitive:Ue,getTagContentType:Ge});if(ge.parser==="vue")if(Je.some(st=>st.type==="docType"&&st.value==="html"||st.type==="element"&&st.name.toLowerCase()==="html")){Ee=!0,Pe=!0,ie=!0,de=!0,Ue=!1;let st=gt.parse(L,{canSelfClose:Ee,allowHtmComponentClosingTags:de,isTagNameCaseSensitive:Ue});Je=st.rootNodes,Qe=st.errors}else{let st=Ot=>{if(!Ot||Ot.type!=="element"||Ot.name!=="template")return!1;let Vt=Ot.attrs.find(rr=>rr.name==="lang"),Ut=Vt&&Vt.value;return!Ut||Yr(Ut,ge)==="html"};if(Je.some(st)){let Ot,Vt=()=>gt.parse(L,{canSelfClose:Ee,allowHtmComponentClosingTags:de,isTagNameCaseSensitive:Ue}),Ut=()=>Ot||(Ot=Vt()),rr=z=>Ut().rootNodes.find(le=>{let{startSourceSpan:We}=le;return We&&We.start.offset===z.startSourceSpan.start.offset});for(let z=0;z0){let{msg:st,span:{start:Ot,end:Vt}}=Qe[0];throw Fn(st,{start:{line:Ot.line+1,column:Ot.col+1},end:{line:Vt.line+1,column:Vt.col+1}})}let yt=st=>{let Ot=st.name.startsWith(":")?st.name.slice(1).split(":")[0]:null,Vt=st.nameSpan.toString(),Ut=Ot!==null&&Vt.startsWith(`${Ot}:`),rr=Ut?Vt.slice(Ot.length+1):Vt;st.name=rr,st.namespace=Ot,st.hasExplicitNamespace=Ut},_t=st=>{switch(st.type){case"element":yt(st);for(let Ot of st.attrs)yt(Ot),Ot.valueSpan?(Ot.value=Ot.valueSpan.toString(),/["']/.test(Ot.value[0])&&(Ot.value=Ot.value.slice(1,-1))):Ot.value=null;break;case"comment":st.value=st.sourceSpan.toString().slice(4,-3);break;case"text":st.value=st.sourceSpan.toString();break}},ct=(st,Ot)=>{let Vt=st.toLowerCase();return Ot(Vt)?Vt:st},kt=st=>{if(st.type==="element"&&(Pe&&(!st.namespace||st.namespace===st.tagDefinition.implicitNamespacePrefix||zu(st))&&(st.name=ct(st.name,Ot=>Ot in Ki)),ie)){let Ot=cu[st.name]||Object.create(null);for(let Vt of st.attrs)Vt.namespace||(Vt.name=ct(Vt.name,Ut=>st.name in cu&&(Ut in cu["*"]||Ut in Ot)))}},$t=st=>{st.sourceSpan&&st.endSourceSpan&&(st.sourceSpan=new Ve(st.sourceSpan.start,st.endSourceSpan.end))},ir=st=>{if(st.type==="element"){let Ot=He(Ue?st.name:st.name.toLowerCase());!st.namespace||st.namespace===Ot.implicitNamespacePrefix||zu(st)?st.tagDefinition=Ot:st.tagDefinition=He("")}};return ve(new class extends ce{visit(st){_t(st),ir(st),kt(st),$t(st)}},Je),Je}function kn(L,re,ge){let Ee=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,{frontMatter:Pe,content:ie}=Ee?Hi(L):{frontMatter:null,content:L},de=new Wu(L,re.filepath),Ue=new pu(de,0,0,0),Ge=Ue.moveBy(L.length),gt={type:"root",sourceSpan:new pn(Ue,Ge),children:ns(ie,ge,re)};if(Pe){let Ve=new pu(de,0,0,0),He=Ve.moveBy(Pe.raw.length);Pe.sourceSpan=new pn(Ve,He),gt.children.unshift(Pe)}let ce=new Zi(gt),ve=(Ve,He)=>{let{offset:Je}=He,Qe=L.slice(0,Je).replace(/[^\n\r]/g," "),yt=kn(Qe+Ve,re,ge,!1);yt.sourceSpan=new pn(He,Yi(yt.children).sourceSpan.end);let _t=yt.children[0];return _t.length===Je?yt.children.shift():(_t.sourceSpan=new pn(_t.sourceSpan.start.moveBy(Je),_t.sourceSpan.end),_t.value=_t.value.slice(Je)),yt};return ce.walk(Ve=>{if(Ve.type==="comment"){let He=es(Ve,ve);He&&Ve.parent.replaceChild(Ve,He)}}),ce}function An(){let{name:L,canSelfClose:re=!1,normalizeTagName:ge=!1,normalizeAttributeName:Ee=!1,allowHtmComponentClosingTags:Pe=!1,isTagNameCaseSensitive:ie=!1,getTagContentType:de}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return{parse:(Ue,Ge,gt)=>kn(Ue,Object.assign({parser:L},gt),{canSelfClose:re,normalizeTagName:ge,normalizeAttributeName:Ee,allowHtmComponentClosingTags:Pe,isTagNameCaseSensitive:ie,getTagContentType:de}),hasPragma:Qi,astFormat:"html",locStart:ts,locEnd:rs}}Ne.exports={parsers:{html:An({name:"html",canSelfClose:!0,normalizeTagName:!0,normalizeAttributeName:!0,allowHtmComponentClosingTags:!0}),angular:An({name:"angular",canSelfClose:!0}),vue:An({name:"vue",canSelfClose:!0,isTagNameCaseSensitive:!0,getTagContentType:(L,re,ge,Ee)=>{if(L.toLowerCase()!=="html"&&!ge&&(L!=="template"||Ee.some(Pe=>{let{name:ie,value:de}=Pe;return ie==="lang"&&de!=="html"&&de!==""&&de!==void 0})))return _n().TagContentType.RAW_TEXT}}),lwc:An({name:"lwc"})}}});return $i()})}}),Dl=ta({"node_modules/prettier/standalone.js"(Jr,Xr){(function(Ae){if(typeof Jr=="object"&&typeof Xr=="object")Xr.exports=Ae();else if(typeof define=="function"&&define.amd)define(Ae);else{var Yt=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};Yt.prettier=Ae()}})(function(){var Ae=(ee,V)=>()=>(V||ee((V={exports:{}}).exports,V),V.exports),Yt=Ae((ee,V)=>{var W=function(Z){return Z&&Z.Math==Math&&Z};V.exports=W(typeof globalThis=="object"&&globalThis)||W(typeof window=="object"&&window)||W(typeof self=="object"&&self)||W(typeof global=="object"&&global)||function(){return this}()||Function("return this")()}),hr=Ae((ee,V)=>{V.exports=function(W){try{return!!W()}catch{return!0}}}),br=Ae((ee,V)=>{var W=hr();V.exports=!W(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})}),Hr=Ae((ee,V)=>{var W=hr();V.exports=!W(function(){var Z=(function(){}).bind();return typeof Z!="function"||Z.hasOwnProperty("prototype")})}),gr=Ae((ee,V)=>{var W=Hr(),Z=Function.prototype.call;V.exports=W?Z.bind(Z):function(){return Z.apply(Z,arguments)}}),Dn=Ae(ee=>{var V={}.propertyIsEnumerable,W=Object.getOwnPropertyDescriptor,Z=W&&!V.call({1:2},1);ee.f=Z?function(Y){var ne=W(this,Y);return!!ne&&ne.enumerable}:V}),Lr=Ae((ee,V)=>{V.exports=function(W,Z){return{enumerable:!(W&1),configurable:!(W&2),writable:!(W&4),value:Z}}}),Dr=Ae((ee,V)=>{var W=Hr(),Z=Function.prototype,Y=Z.call,ne=W&&Z.bind.bind(Y,Y);V.exports=W?ne:function(Fe){return function(){return Y.apply(Fe,arguments)}}}),Br=Ae((ee,V)=>{var W=Dr(),Z=W({}.toString),Y=W("".slice);V.exports=function(ne){return Y(Z(ne),8,-1)}}),Zr=Ae((ee,V)=>{var W=Dr(),Z=hr(),Y=Br(),ne=Object,Fe=W("".split);V.exports=Z(function(){return!ne("z").propertyIsEnumerable(0)})?function(je){return Y(je)=="String"?Fe(je,""):ne(je)}:ne}),nn=Ae((ee,V)=>{V.exports=function(W){return W==null}}),qn=Ae((ee,V)=>{var W=nn(),Z=TypeError;V.exports=function(Y){if(W(Y))throw Z("Can't call method on "+Y);return Y}}),dn=Ae((ee,V)=>{var W=Zr(),Z=qn();V.exports=function(Y){return W(Z(Y))}}),Vn=Ae((ee,V)=>{var W=typeof document=="object"&&document.all,Z=typeof W>"u"&&W!==void 0;V.exports={all:W,IS_HTMLDDA:Z}}),dr=Ae((ee,V)=>{var W=Vn(),Z=W.all;V.exports=W.IS_HTMLDDA?function(Y){return typeof Y=="function"||Y===Z}:function(Y){return typeof Y=="function"}}),Or=Ae((ee,V)=>{var W=dr(),Z=Vn(),Y=Z.all;V.exports=Z.IS_HTMLDDA?function(ne){return typeof ne=="object"?ne!==null:W(ne)||ne===Y}:function(ne){return typeof ne=="object"?ne!==null:W(ne)}}),un=Ae((ee,V)=>{var W=Yt(),Z=dr(),Y=function(ne){return Z(ne)?ne:void 0};V.exports=function(ne,Fe){return arguments.length<2?Y(W[ne]):W[ne]&&W[ne][Fe]}}),Un=Ae((ee,V)=>{var W=Dr();V.exports=W({}.isPrototypeOf)}),ii=Ae((ee,V)=>{var W=un();V.exports=W("navigator","userAgent")||""}),si=Ae((ee,V)=>{var W=Yt(),Z=ii(),Y=W.process,ne=W.Deno,Fe=Y&&Y.versions||ne&&ne.version,je=Fe&&Fe.v8,he,qe;je&&(he=je.split("."),qe=he[0]>0&&he[0]<4?1:+(he[0]+he[1])),!qe&&Z&&(he=Z.match(/Edge\/(\d+)/),(!he||he[1]>=74)&&(he=Z.match(/Chrome\/(\d+)/),he&&(qe=+he[1]))),V.exports=qe}),Gn=Ae((ee,V)=>{var W=si(),Z=hr();V.exports=!!Object.getOwnPropertySymbols&&!Z(function(){var Y=Symbol();return!String(Y)||!(Object(Y)instanceof Symbol)||!Symbol.sham&&W&&W<41})}),Jn=Ae((ee,V)=>{var W=Gn();V.exports=W&&!Symbol.sham&&typeof Symbol.iterator=="symbol"}),Xn=Ae((ee,V)=>{var W=un(),Z=dr(),Y=Un(),ne=Jn(),Fe=Object;V.exports=ne?function(je){return typeof je=="symbol"}:function(je){var he=W("Symbol");return Z(he)&&Y(he.prototype,Fe(je))}}),fn=Ae((ee,V)=>{var W=String;V.exports=function(Z){try{return W(Z)}catch{return"Object"}}}),sn=Ae((ee,V)=>{var W=dr(),Z=fn(),Y=TypeError;V.exports=function(ne){if(W(ne))return ne;throw Y(Z(ne)+" is not a function")}}),mn=Ae((ee,V)=>{var W=sn(),Z=nn();V.exports=function(Y,ne){var Fe=Y[ne];return Z(Fe)?void 0:W(Fe)}}),ai=Ae((ee,V)=>{var W=gr(),Z=dr(),Y=Or(),ne=TypeError;V.exports=function(Fe,je){var he,qe;if(je==="string"&&Z(he=Fe.toString)&&!Y(qe=W(he,Fe))||Z(he=Fe.valueOf)&&!Y(qe=W(he,Fe))||je!=="string"&&Z(he=Fe.toString)&&!Y(qe=W(he,Fe)))return qe;throw ne("Can't convert object to primitive value")}}),oi=Ae((ee,V)=>{V.exports=!1}),hn=Ae((ee,V)=>{var W=Yt(),Z=Object.defineProperty;V.exports=function(Y,ne){try{Z(W,Y,{value:ne,configurable:!0,writable:!0})}catch{W[Y]=ne}return ne}}),gn=Ae((ee,V)=>{var W=Yt(),Z=hn(),Y="__core-js_shared__",ne=W[Y]||Z(Y,{});V.exports=ne}),Wn=Ae((ee,V)=>{var W=oi(),Z=gn();(V.exports=function(Y,ne){return Z[Y]||(Z[Y]=ne!==void 0?ne:{})})("versions",[]).push({version:"3.26.1",mode:W?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})}),Sn=Ae((ee,V)=>{var W=qn(),Z=Object;V.exports=function(Y){return Z(W(Y))}}),kr=Ae((ee,V)=>{var W=Dr(),Z=Sn(),Y=W({}.hasOwnProperty);V.exports=Object.hasOwn||function(ne,Fe){return Y(Z(ne),Fe)}}),zn=Ae((ee,V)=>{var W=Dr(),Z=0,Y=Math.random(),ne=W(1 .toString);V.exports=function(Fe){return"Symbol("+(Fe===void 0?"":Fe)+")_"+ne(++Z+Y,36)}}),$r=Ae((ee,V)=>{var W=Yt(),Z=Wn(),Y=kr(),ne=zn(),Fe=Gn(),je=Jn(),he=Z("wks"),qe=W.Symbol,et=qe&&qe.for,Ze=je?qe:qe&&qe.withoutSetter||ne;V.exports=function(nt){if(!Y(he,nt)||!(Fe||typeof he[nt]=="string")){var rt="Symbol."+nt;Fe&&Y(qe,nt)?he[nt]=qe[nt]:je&&et?he[nt]=et(rt):he[nt]=Ze(rt)}return he[nt]}}),li=Ae((ee,V)=>{var W=gr(),Z=Or(),Y=Xn(),ne=mn(),Fe=ai(),je=$r(),he=TypeError,qe=je("toPrimitive");V.exports=function(et,Ze){if(!Z(et)||Y(et))return et;var nt=ne(et,qe),rt;if(nt){if(Ze===void 0&&(Ze="default"),rt=W(nt,et,Ze),!Z(rt)||Y(rt))return rt;throw he("Can't convert object to primitive value")}return Ze===void 0&&(Ze="number"),Fe(et,Ze)}}),yn=Ae((ee,V)=>{var W=li(),Z=Xn();V.exports=function(Y){var ne=W(Y,"string");return Z(ne)?ne:ne+""}}),pi=Ae((ee,V)=>{var W=Yt(),Z=Or(),Y=W.document,ne=Z(Y)&&Z(Y.createElement);V.exports=function(Fe){return ne?Y.createElement(Fe):{}}}),Hn=Ae((ee,V)=>{var W=br(),Z=hr(),Y=pi();V.exports=!W&&!Z(function(){return Object.defineProperty(Y("div"),"a",{get:function(){return 7}}).a!=7})}),Yn=Ae(ee=>{var V=br(),W=gr(),Z=Dn(),Y=Lr(),ne=dn(),Fe=yn(),je=kr(),he=Hn(),qe=Object.getOwnPropertyDescriptor;ee.f=V?qe:function(et,Ze){if(et=ne(et),Ze=Fe(Ze),he)try{return qe(et,Ze)}catch{}if(je(et,Ze))return Y(!W(Z.f,et,Ze),et[Ze])}}),ci=Ae((ee,V)=>{var W=br(),Z=hr();V.exports=W&&Z(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})}),Wr=Ae((ee,V)=>{var W=Or(),Z=String,Y=TypeError;V.exports=function(ne){if(W(ne))return ne;throw Y(Z(ne)+" is not an object")}}),en=Ae(ee=>{var V=br(),W=Hn(),Z=ci(),Y=Wr(),ne=yn(),Fe=TypeError,je=Object.defineProperty,he=Object.getOwnPropertyDescriptor,qe="enumerable",et="configurable",Ze="writable";ee.f=V?Z?function(nt,rt,$){if(Y(nt),rt=ne(rt),Y($),typeof nt=="function"&&rt==="prototype"&&"value"in $&&Ze in $&&!$[Ze]){var Ft=he(nt,rt);Ft&&Ft[Ze]&&(nt[rt]=$.value,$={configurable:et in $?$[et]:Ft[et],enumerable:qe in $?$[qe]:Ft[qe],writable:!1})}return je(nt,rt,$)}:je:function(nt,rt,$){if(Y(nt),rt=ne(rt),Y($),W)try{return je(nt,rt,$)}catch{}if("get"in $||"set"in $)throw Fe("Accessors not supported");return"value"in $&&(nt[rt]=$.value),nt}}),Kn=Ae((ee,V)=>{var W=br(),Z=en(),Y=Lr();V.exports=W?function(ne,Fe,je){return Z.f(ne,Fe,Y(1,je))}:function(ne,Fe,je){return ne[Fe]=je,ne}}),Di=Ae((ee,V)=>{var W=br(),Z=kr(),Y=Function.prototype,ne=W&&Object.getOwnPropertyDescriptor,Fe=Z(Y,"name"),je=Fe&&(function(){}).name==="something",he=Fe&&(!W||W&&ne(Y,"name").configurable);V.exports={EXISTS:Fe,PROPER:je,CONFIGURABLE:he}}),Qn=Ae((ee,V)=>{var W=Dr(),Z=dr(),Y=gn(),ne=W(Function.toString);Z(Y.inspectSource)||(Y.inspectSource=function(Fe){return ne(Fe)}),V.exports=Y.inspectSource}),di=Ae((ee,V)=>{var W=Yt(),Z=dr(),Y=W.WeakMap;V.exports=Z(Y)&&/native code/.test(String(Y))}),fi=Ae((ee,V)=>{var W=Wn(),Z=zn(),Y=W("keys");V.exports=function(ne){return Y[ne]||(Y[ne]=Z(ne))}}),Zn=Ae((ee,V)=>{V.exports={}}),mi=Ae((ee,V)=>{var W=di(),Z=Yt(),Y=Or(),ne=Kn(),Fe=kr(),je=gn(),he=fi(),qe=Zn(),et="Object already initialized",Ze=Z.TypeError,nt=Z.WeakMap,rt,$,Ft,At=function(ue){return Ft(ue)?$(ue):rt(ue,{})},Lt=function(ue){return function(yr){var Pr;if(!Y(yr)||(Pr=$(yr)).type!==ue)throw Ze("Incompatible receiver, "+ue+" required");return Pr}};W||je.state?(qt=je.state||(je.state=new nt),qt.get=qt.get,qt.has=qt.has,qt.set=qt.set,rt=function(ue,yr){if(qt.has(ue))throw Ze(et);return yr.facade=ue,qt.set(ue,yr),yr},$=function(ue){return qt.get(ue)||{}},Ft=function(ue){return qt.has(ue)}):(Zt=he("state"),qe[Zt]=!0,rt=function(ue,yr){if(Fe(ue,Zt))throw Ze(et);return yr.facade=ue,ne(ue,Zt,yr),yr},$=function(ue){return Fe(ue,Zt)?ue[Zt]:{}},Ft=function(ue){return Fe(ue,Zt)});var qt,Zt;V.exports={set:rt,get:$,has:Ft,enforce:At,getterFor:Lt}}),gu=Ae((ee,V)=>{var W=hr(),Z=dr(),Y=kr(),ne=br(),Fe=Di().CONFIGURABLE,je=Qn(),he=mi(),qe=he.enforce,et=he.get,Ze=Object.defineProperty,nt=ne&&!W(function(){return Ze(function(){},"length",{value:8}).length!==8}),rt=String(String).split("String"),$=V.exports=function(Ft,At,Lt){String(At).slice(0,7)==="Symbol("&&(At="["+String(At).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),Lt&&Lt.getter&&(At="get "+At),Lt&&Lt.setter&&(At="set "+At),(!Y(Ft,"name")||Fe&&Ft.name!==At)&&(ne?Ze(Ft,"name",{value:At,configurable:!0}):Ft.name=At),nt&&Lt&&Y(Lt,"arity")&&Ft.length!==Lt.arity&&Ze(Ft,"length",{value:Lt.arity});try{Lt&&Y(Lt,"constructor")&&Lt.constructor?ne&&Ze(Ft,"prototype",{writable:!1}):Ft.prototype&&(Ft.prototype=void 0)}catch{}var qt=qe(Ft);return Y(qt,"source")||(qt.source=rt.join(typeof At=="string"?At:"")),Ft};Function.prototype.toString=$(function(){return Z(this)&&et(this).source||je(this)},"toString")}),hi=Ae((ee,V)=>{var W=dr(),Z=en(),Y=gu(),ne=hn();V.exports=function(Fe,je,he,qe){qe||(qe={});var et=qe.enumerable,Ze=qe.name!==void 0?qe.name:je;if(W(he)&&Y(he,Ze,qe),qe.global)et?Fe[je]=he:ne(je,he);else{try{qe.unsafe?Fe[je]&&(et=!0):delete Fe[je]}catch{}et?Fe[je]=he:Z.f(Fe,je,{value:he,enumerable:!1,configurable:!qe.nonConfigurable,writable:!qe.nonWritable})}return Fe}}),gi=Ae((ee,V)=>{var W=Math.ceil,Z=Math.floor;V.exports=Math.trunc||function(Y){var ne=+Y;return(ne>0?Z:W)(ne)}}),xn=Ae((ee,V)=>{var W=gi();V.exports=function(Z){var Y=+Z;return Y!==Y||Y===0?0:W(Y)}}),yi=Ae((ee,V)=>{var W=xn(),Z=Math.max,Y=Math.min;V.exports=function(ne,Fe){var je=W(ne);return je<0?Z(je+Fe,0):Y(je,Fe)}}),Ei=Ae((ee,V)=>{var W=xn(),Z=Math.min;V.exports=function(Y){return Y>0?Z(W(Y),9007199254740991):0}}),tn=Ae((ee,V)=>{var W=Ei();V.exports=function(Z){return W(Z.length)}}),Ci=Ae((ee,V)=>{var W=dn(),Z=yi(),Y=tn(),ne=function(Fe){return function(je,he,qe){var et=W(je),Ze=Y(et),nt=Z(qe,Ze),rt;if(Fe&&he!=he){for(;Ze>nt;)if(rt=et[nt++],rt!=rt)return!0}else for(;Ze>nt;nt++)if((Fe||nt in et)&&et[nt]===he)return Fe||nt||0;return!Fe&&-1}};V.exports={includes:ne(!0),indexOf:ne(!1)}}),Fi=Ae((ee,V)=>{var W=Dr(),Z=kr(),Y=dn(),ne=Ci().indexOf,Fe=Zn(),je=W([].push);V.exports=function(he,qe){var et=Y(he),Ze=0,nt=[],rt;for(rt in et)!Z(Fe,rt)&&Z(et,rt)&&je(nt,rt);for(;qe.length>Ze;)Z(et,rt=qe[Ze++])&&(~ne(nt,rt)||je(nt,rt));return nt}}),Ai=Ae((ee,V)=>{V.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]}),vi=Ae(ee=>{var V=Fi(),W=Ai(),Z=W.concat("length","prototype");ee.f=Object.getOwnPropertyNames||function(Y){return V(Y,Z)}}),bi=Ae(ee=>{ee.f=Object.getOwnPropertySymbols}),Si=Ae((ee,V)=>{var W=un(),Z=Dr(),Y=vi(),ne=bi(),Fe=Wr(),je=Z([].concat);V.exports=W("Reflect","ownKeys")||function(he){var qe=Y.f(Fe(he)),et=ne.f;return et?je(qe,et(he)):qe}}),xi=Ae((ee,V)=>{var W=kr(),Z=Si(),Y=Yn(),ne=en();V.exports=function(Fe,je,he){for(var qe=Z(je),et=ne.f,Ze=Y.f,nt=0;nt{var W=hr(),Z=dr(),Y=/#|\.prototype\./,ne=function(et,Ze){var nt=je[Fe(et)];return nt==qe?!0:nt==he?!1:Z(Ze)?W(Ze):!!Ze},Fe=ne.normalize=function(et){return String(et).replace(Y,".").toLowerCase()},je=ne.data={},he=ne.NATIVE="N",qe=ne.POLYFILL="P";V.exports=ne}),an=Ae((ee,V)=>{var W=Yt(),Z=Yn().f,Y=Kn(),ne=hi(),Fe=hn(),je=xi(),he=Ti();V.exports=function(qe,et){var Ze=qe.target,nt=qe.global,rt=qe.stat,$,Ft,At,Lt,qt,Zt;if(nt?Ft=W:rt?Ft=W[Ze]||Fe(Ze,{}):Ft=(W[Ze]||{}).prototype,Ft)for(At in et){if(qt=et[At],qe.dontCallGetSet?(Zt=Z(Ft,At),Lt=Zt&&Zt.value):Lt=Ft[At],$=he(nt?At:Ze+(rt?".":"#")+At,qe.forced),!$&&Lt!==void 0){if(typeof qt==typeof Lt)continue;je(qt,Lt)}(qe.sham||Lt&&Lt.sham)&&Y(qt,"sham",!0),ne(Ft,At,qt,qe)}}}),yu=Ae((ee,V)=>{var W=Br();V.exports=Array.isArray||function(Z){return W(Z)=="Array"}}),Bi=Ae((ee,V)=>{var W=TypeError,Z=9007199254740991;V.exports=function(Y){if(Y>Z)throw W("Maximum allowed index exceeded");return Y}}),Eu=Ae((ee,V)=>{var W=Br(),Z=Dr();V.exports=function(Y){if(W(Y)==="Function")return Z(Y)}}),Cu=Ae((ee,V)=>{var W=Eu(),Z=sn(),Y=Hr(),ne=W(W.bind);V.exports=function(Fe,je){return Z(Fe),je===void 0?Fe:Y?ne(Fe,je):function(){return Fe.apply(je,arguments)}}}),Fu=Ae((ee,V)=>{var W=yu(),Z=tn(),Y=Bi(),ne=Cu(),Fe=function(je,he,qe,et,Ze,nt,rt,$){for(var Ft=Ze,At=0,Lt=rt?ne(rt,$):!1,qt,Zt;At0&&W(qt)?(Zt=Z(qt),Ft=Fe(je,he,qt,Zt,Ft,nt-1)-1):(Y(Ft+1),je[Ft]=qt),Ft++),At++;return Ft};V.exports=Fe}),Au=Ae((ee,V)=>{var W=$r(),Z=W("toStringTag"),Y={};Y[Z]="z",V.exports=String(Y)==="[object z]"}),vu=Ae((ee,V)=>{var W=Au(),Z=dr(),Y=Br(),ne=$r(),Fe=ne("toStringTag"),je=Object,he=Y(function(){return arguments}())=="Arguments",qe=function(et,Ze){try{return et[Ze]}catch{}};V.exports=W?Y:function(et){var Ze,nt,rt;return et===void 0?"Undefined":et===null?"Null":typeof(nt=qe(Ze=je(et),Fe))=="string"?nt:he?Y(Ze):(rt=Y(Ze))=="Object"&&Z(Ze.callee)?"Arguments":rt}}),wi=Ae((ee,V)=>{var W=Dr(),Z=hr(),Y=dr(),ne=vu(),Fe=un(),je=Qn(),he=function(){},qe=[],et=Fe("Reflect","construct"),Ze=/^\s*(?:class|function)\b/,nt=W(Ze.exec),rt=!Ze.exec(he),$=function(At){if(!Y(At))return!1;try{return et(he,qe,At),!0}catch{return!1}},Ft=function(At){if(!Y(At))return!1;switch(ne(At)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return rt||!!nt(Ze,je(At))}catch{return!0}};Ft.sham=!0,V.exports=!et||Z(function(){var At;return $($.call)||!$(Object)||!$(function(){At=!0})||At})?Ft:$}),bu=Ae((ee,V)=>{var W=yu(),Z=wi(),Y=Or(),ne=$r(),Fe=ne("species"),je=Array;V.exports=function(he){var qe;return W(he)&&(qe=he.constructor,Z(qe)&&(qe===je||W(qe.prototype))?qe=void 0:Y(qe)&&(qe=qe[Fe],qe===null&&(qe=void 0))),qe===void 0?je:qe}}),Su=Ae((ee,V)=>{var W=bu();V.exports=function(Z,Y){return new(W(Z))(Y===0?0:Y)}}),Ni=Ae(()=>{var ee=an(),V=Fu(),W=sn(),Z=Sn(),Y=tn(),ne=Su();ee({target:"Array",proto:!0},{flatMap:function(Fe){var je=Z(this),he=Y(je),qe;return W(Fe),qe=ne(je,0),qe.length=V(qe,je,je,he,0,1,Fe,arguments.length>1?arguments[1]:void 0),qe}})}),xu=Ae((ee,V)=>{V.exports={}}),_i=Ae((ee,V)=>{var W=$r(),Z=xu(),Y=W("iterator"),ne=Array.prototype;V.exports=function(Fe){return Fe!==void 0&&(Z.Array===Fe||ne[Y]===Fe)}}),eu=Ae((ee,V)=>{var W=vu(),Z=mn(),Y=nn(),ne=xu(),Fe=$r(),je=Fe("iterator");V.exports=function(he){if(!Y(he))return Z(he,je)||Z(he,"@@iterator")||ne[W(he)]}}),ki=Ae((ee,V)=>{var W=gr(),Z=sn(),Y=Wr(),ne=fn(),Fe=eu(),je=TypeError;V.exports=function(he,qe){var et=arguments.length<2?Fe(he):qe;if(Z(et))return Y(W(et,he));throw je(ne(he)+" is not iterable")}}),Tu=Ae((ee,V)=>{var W=gr(),Z=Wr(),Y=mn();V.exports=function(ne,Fe,je){var he,qe;Z(ne);try{if(he=Y(ne,"return"),!he){if(Fe==="throw")throw je;return je}he=W(he,ne)}catch(et){qe=!0,he=et}if(Fe==="throw")throw je;if(qe)throw he;return Z(he),je}}),Pi=Ae((ee,V)=>{var W=Cu(),Z=gr(),Y=Wr(),ne=fn(),Fe=_i(),je=tn(),he=Un(),qe=ki(),et=eu(),Ze=Tu(),nt=TypeError,rt=function(Ft,At){this.stopped=Ft,this.result=At},$=rt.prototype;V.exports=function(Ft,At,Lt){var qt=Lt&&Lt.that,Zt=!!(Lt&&Lt.AS_ENTRIES),ue=!!(Lt&&Lt.IS_RECORD),yr=!!(Lt&&Lt.IS_ITERATOR),Pr=!!(Lt&&Lt.INTERRUPTED),zr=W(At,qt),fr,Rr,mr,rn,wr,Fr,Tn,Bn=function(Nr){return fr&&Ze(fr,"normal",Nr),new rt(!0,Nr)},on=function(Nr){return Zt?(Y(Nr),Pr?zr(Nr[0],Nr[1],Bn):zr(Nr[0],Nr[1])):Pr?zr(Nr,Bn):zr(Nr)};if(ue)fr=Ft.iterator;else if(yr)fr=Ft;else{if(Rr=et(Ft),!Rr)throw nt(ne(Ft)+" is not iterable");if(Fe(Rr)){for(mr=0,rn=je(Ft);rn>mr;mr++)if(wr=on(Ft[mr]),wr&&he($,wr))return wr;return new rt(!1)}fr=qe(Ft,Rr)}for(Fr=ue?Ft.next:fr.next;!(Tn=Z(Fr,fr)).done;){try{wr=on(Tn.value)}catch(Nr){Ze(fr,"throw",Nr)}if(typeof wr=="object"&&wr&&he($,wr))return wr}return new rt(!1)}}),Ii=Ae((ee,V)=>{var W=yn(),Z=en(),Y=Lr();V.exports=function(ne,Fe,je){var he=W(Fe);he in ne?Z.f(ne,he,Y(0,je)):ne[he]=je}}),ji=Ae(()=>{var ee=an(),V=Pi(),W=Ii();ee({target:"Object",stat:!0},{fromEntries:function(Z){var Y={};return V(Z,function(ne,Fe){W(Y,ne,Fe)},{AS_ENTRIES:!0}),Y}})}),Li=Ae((ee,V)=>{var W=gu(),Z=en();V.exports=function(Y,ne,Fe){return Fe.get&&W(Fe.get,ne,{getter:!0}),Fe.set&&W(Fe.set,ne,{setter:!0}),Z.f(Y,ne,Fe)}}),Oi=Ae((ee,V)=>{var W=Wr();V.exports=function(){var Z=W(this),Y="";return Z.hasIndices&&(Y+="d"),Z.global&&(Y+="g"),Z.ignoreCase&&(Y+="i"),Z.multiline&&(Y+="m"),Z.dotAll&&(Y+="s"),Z.unicode&&(Y+="u"),Z.unicodeSets&&(Y+="v"),Z.sticky&&(Y+="y"),Y}}),$i=Ae(()=>{var ee=Yt(),V=br(),W=Li(),Z=Oi(),Y=hr(),ne=ee.RegExp,Fe=ne.prototype,je=V&&Y(function(){var he=!0;try{ne(".","d")}catch{he=!1}var qe={},et="",Ze=he?"dgimsy":"gimsy",nt=function(At,Lt){Object.defineProperty(qe,At,{get:function(){return et+=Lt,!0}})},rt={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};he&&(rt.hasIndices="d");for(var $ in rt)nt($,rt[$]);var Ft=Object.getOwnPropertyDescriptor(Fe,"flags").get.call(qe);return Ft!==Ze||et!==Ze});je&&W(Fe,"flags",{configurable:!0,get:Z})}),ot=Ae(()=>{var ee=an(),V=Yt();ee({global:!0,forced:V.globalThis!==V},{globalThis:V})}),Ne=Ae(()=>{ot()}),Se=Ae(()=>{var ee=an(),V=Fu(),W=Sn(),Z=tn(),Y=xn(),ne=Su();ee({target:"Array",proto:!0},{flat:function(){var Fe=arguments.length?arguments[0]:void 0,je=W(this),he=Z(je),qe=ne(je,0);return qe.length=V(qe,je,je,he,0,Fe===void 0?1:Y(Fe)),qe}})}),Oe=Ae((ee,V)=>{var W=["cliName","cliCategory","cliDescription"],Z=["_"],Y=["languageId"];function ne(u,l){if(u==null)return{};var t=Fe(u,l),a,s;if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(u);for(s=0;s=0)&&Object.prototype.propertyIsEnumerable.call(u,a)&&(t[a]=u[a])}return t}function Fe(u,l){if(u==null)return{};var t={},a=Object.keys(u),s,e;for(e=0;e=0)&&(t[s]=u[s]);return t}Ni(),ji(),$i(),Ne(),Se();var je=Object.create,he=Object.defineProperty,qe=Object.getOwnPropertyDescriptor,et=Object.getOwnPropertyNames,Ze=Object.getPrototypeOf,nt=Object.prototype.hasOwnProperty,rt=(u,l)=>function(){return u&&(l=(0,u[et(u)[0]])(u=0)),l},$=(u,l)=>function(){return l||(0,u[et(u)[0]])((l={exports:{}}).exports,l),l.exports},Ft=(u,l)=>{for(var t in l)he(u,t,{get:l[t],enumerable:!0})},At=(u,l,t,a)=>{if(l&&typeof l=="object"||typeof l=="function")for(let s of et(l))!nt.call(u,s)&&s!==t&&he(u,s,{get:()=>l[s],enumerable:!(a=qe(l,s))||a.enumerable});return u},Lt=(u,l,t)=>(t=u!=null?je(Ze(u)):{},At(l||!u||!u.__esModule?he(t,"default",{value:u,enumerable:!0}):t,u)),qt=u=>At(he({},"__esModule",{value:!0}),u),Zt,ue=rt({""(){Zt={env:{},argv:[]}}}),yr=$({"package.json"(u,l){l.exports={version:"2.8.7"}}}),Pr=$({"node_modules/diff/lib/diff/base.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0}),u.default=l;function l(){}l.prototype={diff:function(s,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=r.callback;typeof r=="function"&&(n=r,r={}),this.options=r;var o=this;function c(A){return n?(setTimeout(function(){n(void 0,A)},0),!0):A}s=this.castInput(s),e=this.castInput(e),s=this.removeEmpty(this.tokenize(s)),e=this.removeEmpty(this.tokenize(e));var y=e.length,m=s.length,g=1,p=y+m,D=[{newPos:-1,components:[]}],C=this.extractCommon(D[0],e,s,0);if(D[0].newPos+1>=y&&C+1>=m)return c([{value:this.join(e),count:e.length}]);function w(){for(var A=-1*g;A<=g;A+=2){var N=void 0,x=D[A-1],P=D[A+1],_=(P?P.newPos:0)-A;x&&(D[A-1]=void 0);var J=x&&x.newPos+1=y&&_+1>=m)return c(t(o,N.components,e,s,o.useLongestToken));D[A]=N}g++}if(n)(function A(){setTimeout(function(){if(g>p)return n();w()||A()},0)})();else for(;g<=p;){var k=w();if(k)return k}},pushComponent:function(s,e,r){var n=s[s.length-1];n&&n.added===e&&n.removed===r?s[s.length-1]={count:n.count+1,added:e,removed:r}:s.push({count:1,added:e,removed:r})},extractCommon:function(s,e,r,n){for(var o=e.length,c=r.length,y=s.newPos,m=y-n,g=0;y+1k.length?N:k}),p.value=s.join(C)}else p.value=s.join(r.slice(m,m+p.count));m+=p.count,p.added||(g+=p.count)}}var w=e[y-1];return y>1&&typeof w.value=="string"&&(w.added||w.removed)&&s.equals("",w.value)&&(e[y-2].value+=w.value,e.pop()),e}function a(s){return{newPos:s.newPos,components:s.components.slice(0)}}}}),zr=$({"node_modules/diff/lib/diff/array.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0}),u.diffArrays=s,u.arrayDiff=void 0;var l=t(Pr());function t(e){return e&&e.__esModule?e:{default:e}}var a=new l.default;u.arrayDiff=a,a.tokenize=function(e){return e.slice()},a.join=a.removeEmpty=function(e){return e};function s(e,r,n){return a.diff(e,r,n)}}}),fr=$({"src/document/doc-builders.js"(u,l){ue();function t(F){return{type:"concat",parts:F}}function a(F){return{type:"indent",contents:F}}function s(F,i){return{type:"align",contents:i,n:F}}function e(F){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return{type:"group",id:i.id,contents:F,break:!!i.shouldBreak,expandedStates:i.expandedStates}}function r(F){return s(Number.NEGATIVE_INFINITY,F)}function n(F){return s({type:"root"},F)}function o(F){return s(-1,F)}function c(F,i){return e(F[0],Object.assign(Object.assign({},i),{},{expandedStates:F}))}function y(F){return{type:"fill",parts:F}}function m(F,i){let h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return{type:"if-break",breakContents:F,flatContents:i,groupId:h.groupId}}function g(F,i){return{type:"indent-if-break",contents:F,groupId:i.groupId,negate:i.negate}}function p(F){return{type:"line-suffix",contents:F}}var D={type:"line-suffix-boundary"},C={type:"break-parent"},w={type:"trim"},k={type:"line",hard:!0},A={type:"line",hard:!0,literal:!0},N={type:"line"},x={type:"line",soft:!0},P=t([k,C]),_=t([A,C]),J={type:"cursor",placeholder:Symbol("cursor")};function d(F,i){let h=[];for(let E=0;E0){for(let b=0;b=0?r.charAt(n+1)===` +`?"crlf":"cr":"lf"}function a(r){switch(r){case"cr":return"\r";case"crlf":return`\r +`;default:return` +`}}function s(r,n){let o;switch(n){case` +`:o=/\n/g;break;case"\r":o=/\r/g;break;case`\r +`:o=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(n)}.`)}let c=r.match(o);return c?c.length:0}function e(r){return r.replace(/\r\n?/g,` +`)}l.exports={guessEndOfLine:t,convertEndOfLineToChars:a,countEndOfLineChars:s,normalizeEndOfLine:e}}}),mr=$({"src/utils/get-last.js"(u,l){ue();var t=a=>a[a.length-1];l.exports=t}});function rn(){let{onlyFirst:u=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(l,u?void 0:"g")}var wr=rt({"node_modules/strip-ansi/node_modules/ansi-regex/index.js"(){ue()}});function Fr(u){if(typeof u!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof u}\``);return u.replace(rn(),"")}var Tn=rt({"node_modules/strip-ansi/index.js"(){ue(),wr()}});function Bn(u){return Number.isInteger(u)?u>=4352&&(u<=4447||u===9001||u===9002||11904<=u&&u<=12871&&u!==12351||12880<=u&&u<=19903||19968<=u&&u<=42182||43360<=u&&u<=43388||44032<=u&&u<=55203||63744<=u&&u<=64255||65040<=u&&u<=65049||65072<=u&&u<=65131||65281<=u&&u<=65376||65504<=u&&u<=65510||110592<=u&&u<=110593||127488<=u&&u<=127569||131072<=u&&u<=262141):!1}var on=rt({"node_modules/is-fullwidth-code-point/index.js"(){ue()}}),Nr=$({"node_modules/emoji-regex/index.js"(u,l){ue(),l.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}}}),Bu={};Ft(Bu,{default:()=>Ri});function Ri(u){if(typeof u!="string"||u.length===0||(u=Fr(u),u.length===0))return 0;u=u.replace((0,wu.default)()," ");let l=0;for(let t=0;t=127&&a<=159||a>=768&&a<=879||(a>65535&&t++,l+=Bn(a)?2:1)}return l}var wu,Mi=rt({"node_modules/string-width/index.js"(){ue(),Tn(),on(),wu=Lt(Nr())}}),Nu=$({"src/utils/get-string-width.js"(u,l){ue();var t=(Mi(),qt(Bu)).default,a=/[^\x20-\x7F]/;function s(e){return e?a.test(e)?t(e):e.length:0}l.exports=s}}),En=$({"src/document/doc-utils.js"(u,l){ue();var t=mr(),{literalline:a,join:s}=fr(),e=i=>Array.isArray(i)||i&&i.type==="concat",r=i=>{if(Array.isArray(i))return i;if(i.type!=="concat"&&i.type!=="fill")throw new Error("Expect doc type to be `concat` or `fill`.");return i.parts},n={};function o(i,h,E,b){let S=[i];for(;S.length>0;){let B=S.pop();if(B===n){E(S.pop());continue}if(E&&S.push(B,n),!h||h(B)!==!1)if(e(B)||B.type==="fill"){let I=r(B);for(let q=I.length,G=q-1;G>=0;--G)S.push(I[G])}else if(B.type==="if-break")B.flatContents&&S.push(B.flatContents),B.breakContents&&S.push(B.breakContents);else if(B.type==="group"&&B.expandedStates)if(b)for(let I=B.expandedStates.length,q=I-1;q>=0;--q)S.push(B.expandedStates[q]);else S.push(B.contents);else B.contents&&S.push(B.contents)}}function c(i,h){let E=new Map;return b(i);function b(B){if(E.has(B))return E.get(B);let I=S(B);return E.set(B,I),I}function S(B){if(Array.isArray(B))return h(B.map(b));if(B.type==="concat"||B.type==="fill"){let I=B.parts.map(b);return h(Object.assign(Object.assign({},B),{},{parts:I}))}if(B.type==="if-break"){let I=B.breakContents&&b(B.breakContents),q=B.flatContents&&b(B.flatContents);return h(Object.assign(Object.assign({},B),{},{breakContents:I,flatContents:q}))}if(B.type==="group"&&B.expandedStates){let I=B.expandedStates.map(b),q=I[0];return h(Object.assign(Object.assign({},B),{},{contents:q,expandedStates:I}))}if(B.contents){let I=b(B.contents);return h(Object.assign(Object.assign({},B),{},{contents:I}))}return h(B)}}function y(i,h,E){let b=E,S=!1;function B(I){let q=h(I);if(q!==void 0&&(S=!0,b=q),S)return!1}return o(i,B),b}function m(i){if(i.type==="group"&&i.break||i.type==="line"&&i.hard||i.type==="break-parent")return!0}function g(i){return y(i,m,!1)}function p(i){if(i.length>0){let h=t(i);!h.expandedStates&&!h.break&&(h.break="propagated")}return null}function D(i){let h=new Set,E=[];function b(B){if(B.type==="break-parent"&&p(E),B.type==="group"){if(E.push(B),h.has(B))return!1;h.add(B)}}function S(B){B.type==="group"&&E.pop().break&&p(E)}o(i,b,S,!0)}function C(i){return i.type==="line"&&!i.hard?i.soft?"":" ":i.type==="if-break"?i.flatContents||"":i}function w(i){return c(i,C)}var k=(i,h)=>i&&i.type==="line"&&i.hard&&h&&h.type==="break-parent";function A(i){if(!i)return i;if(e(i)||i.type==="fill"){let h=r(i);for(;h.length>1&&k(...h.slice(-2));)h.length-=2;if(h.length>0){let E=A(t(h));h[h.length-1]=E}return Array.isArray(i)?h:Object.assign(Object.assign({},i),{},{parts:h})}switch(i.type){case"align":case"indent":case"indent-if-break":case"group":case"line-suffix":case"label":{let h=A(i.contents);return Object.assign(Object.assign({},i),{},{contents:h})}case"if-break":{let h=A(i.breakContents),E=A(i.flatContents);return Object.assign(Object.assign({},i),{},{breakContents:h,flatContents:E})}}return i}function N(i){return A(P(i))}function x(i){switch(i.type){case"fill":if(i.parts.every(E=>E===""))return"";break;case"group":if(!i.contents&&!i.id&&!i.break&&!i.expandedStates)return"";if(i.contents.type==="group"&&i.contents.id===i.id&&i.contents.break===i.break&&i.contents.expandedStates===i.expandedStates)return i.contents;break;case"align":case"indent":case"indent-if-break":case"line-suffix":if(!i.contents)return"";break;case"if-break":if(!i.flatContents&&!i.breakContents)return"";break}if(!e(i))return i;let h=[];for(let E of r(i)){if(!E)continue;let[b,...S]=e(E)?r(E):[E];typeof b=="string"&&typeof t(h)=="string"?h[h.length-1]+=b:h.push(b),h.push(...S)}return h.length===0?"":h.length===1?h[0]:Array.isArray(i)?h:Object.assign(Object.assign({},i),{},{parts:h})}function P(i){return c(i,h=>x(h))}function _(i){let h=[],E=i.filter(Boolean);for(;E.length>0;){let b=E.shift();if(b){if(e(b)){E.unshift(...r(b));continue}if(h.length>0&&typeof t(h)=="string"&&typeof b=="string"){h[h.length-1]+=b;continue}h.push(b)}}return h}function J(i){return c(i,h=>Array.isArray(h)?_(h):h.parts?Object.assign(Object.assign({},h),{},{parts:_(h.parts)}):h)}function d(i){return c(i,h=>typeof h=="string"&&h.includes(` +`)?T(h):h)}function T(i){let h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:a;return s(h,i.split(` +`)).parts}function f(i){if(i.type==="line")return!0}function F(i){return y(i,f,!1)}l.exports={isConcat:e,getDocParts:r,willBreak:g,traverseDoc:o,findInDoc:y,mapDoc:c,propagateBreaks:D,removeLines:w,stripTrailingHardline:N,normalizeParts:_,normalizeDoc:J,cleanDoc:P,replaceTextEndOfLine:T,replaceEndOfLine:d,canBreak:F}}}),qi=$({"src/document/doc-printer.js"(u,l){ue();var{convertEndOfLineToChars:t}=Rr(),a=mr(),s=Nu(),{fill:e,cursor:r,indent:n}=fr(),{isConcat:o,getDocParts:c}=En(),y,m=1,g=2;function p(){return{value:"",length:0,queue:[]}}function D(x,P){return w(x,{type:"indent"},P)}function C(x,P,_){return P===Number.NEGATIVE_INFINITY?x.root||p():P<0?w(x,{type:"dedent"},_):P?P.type==="root"?Object.assign(Object.assign({},x),{},{root:x}):w(x,{type:typeof P=="string"?"stringAlign":"numberAlign",n:P},_):x}function w(x,P,_){let J=P.type==="dedent"?x.queue.slice(0,-1):[...x.queue,P],d="",T=0,f=0,F=0;for(let I of J)switch(I.type){case"indent":E(),_.useTabs?i(1):h(_.tabWidth);break;case"stringAlign":E(),d+=I.n,T+=I.n.length;break;case"numberAlign":f+=1,F+=I.n;break;default:throw new Error(`Unexpected type '${I.type}'`)}return S(),Object.assign(Object.assign({},x),{},{value:d,length:T,queue:J});function i(I){d+=" ".repeat(I),T+=_.tabWidth*I}function h(I){d+=" ".repeat(I),T+=I}function E(){_.useTabs?b():S()}function b(){f>0&&i(f),B()}function S(){F>0&&h(F),B()}function B(){f=0,F=0}}function k(x){if(x.length===0)return 0;let P=0;for(;x.length>0&&typeof a(x)=="string"&&/^[\t ]*$/.test(a(x));)P+=x.pop().length;if(x.length>0&&typeof a(x)=="string"){let _=a(x).replace(/[\t ]*$/,"");P+=a(x).length-_.length,x[x.length-1]=_}return P}function A(x,P,_,J,d){let T=P.length,f=[x],F=[];for(;_>=0;){if(f.length===0){if(T===0)return!0;f.push(P[--T]);continue}let{mode:i,doc:h}=f.pop();if(typeof h=="string")F.push(h),_-=s(h);else if(o(h)||h.type==="fill"){let E=c(h);for(let b=E.length-1;b>=0;b--)f.push({mode:i,doc:E[b]})}else switch(h.type){case"indent":case"align":case"indent-if-break":case"label":f.push({mode:i,doc:h.contents});break;case"trim":_+=k(F);break;case"group":{if(d&&h.break)return!1;let E=h.break?m:i,b=h.expandedStates&&E===m?a(h.expandedStates):h.contents;f.push({mode:E,doc:b});break}case"if-break":{let E=(h.groupId?y[h.groupId]||g:i)===m?h.breakContents:h.flatContents;E&&f.push({mode:i,doc:E});break}case"line":if(i===m||h.hard)return!0;h.soft||(F.push(" "),_--);break;case"line-suffix":J=!0;break;case"line-suffix-boundary":if(J)return!1;break}}return!1}function N(x,P){y={};let _=P.printWidth,J=t(P.endOfLine),d=0,T=[{ind:p(),mode:m,doc:x}],f=[],F=!1,i=[];for(;T.length>0;){let{ind:E,mode:b,doc:S}=T.pop();if(typeof S=="string"){let B=J!==` +`?S.replace(/\n/g,J):S;f.push(B),d+=s(B)}else if(o(S)){let B=c(S);for(let I=B.length-1;I>=0;I--)T.push({ind:E,mode:b,doc:B[I]})}else switch(S.type){case"cursor":f.push(r.placeholder);break;case"indent":T.push({ind:D(E,P),mode:b,doc:S.contents});break;case"align":T.push({ind:C(E,S.n,P),mode:b,doc:S.contents});break;case"trim":d-=k(f);break;case"group":switch(b){case g:if(!F){T.push({ind:E,mode:S.break?m:g,doc:S.contents});break}case m:{F=!1;let B={ind:E,mode:g,doc:S.contents},I=_-d,q=i.length>0;if(!S.break&&A(B,T,I,q))T.push(B);else if(S.expandedStates){let G=a(S.expandedStates);if(S.break){T.push({ind:E,mode:m,doc:G});break}else for(let M=1;M=S.expandedStates.length){T.push({ind:E,mode:m,doc:G});break}else{let te=S.expandedStates[M],j={ind:E,mode:g,doc:te};if(A(j,T,I,q)){T.push(j);break}}}else T.push({ind:E,mode:m,doc:S.contents});break}}S.id&&(y[S.id]=a(T).mode);break;case"fill":{let B=_-d,{parts:I}=S;if(I.length===0)break;let[q,G]=I,M={ind:E,mode:g,doc:q},te={ind:E,mode:m,doc:q},j=A(M,[],B,i.length>0,!0);if(I.length===1){j?T.push(M):T.push(te);break}let De={ind:E,mode:g,doc:G},U={ind:E,mode:m,doc:G};if(I.length===2){j?T.push(De,M):T.push(U,te);break}I.splice(0,2);let R={ind:E,mode:b,doc:e(I)},pe=I[0];A({ind:E,mode:g,doc:[q,G,pe]},[],B,i.length>0,!0)?T.push(R,De,M):j?T.push(R,U,M):T.push(R,U,te);break}case"if-break":case"indent-if-break":{let B=S.groupId?y[S.groupId]:b;if(B===m){let I=S.type==="if-break"?S.breakContents:S.negate?S.contents:n(S.contents);I&&T.push({ind:E,mode:b,doc:I})}if(B===g){let I=S.type==="if-break"?S.flatContents:S.negate?n(S.contents):S.contents;I&&T.push({ind:E,mode:b,doc:I})}break}case"line-suffix":i.push({ind:E,mode:b,doc:S.contents});break;case"line-suffix-boundary":i.length>0&&T.push({ind:E,mode:b,doc:{type:"line",hard:!0}});break;case"line":switch(b){case g:if(S.hard)F=!0;else{S.soft||(f.push(" "),d+=1);break}case m:if(i.length>0){T.push({ind:E,mode:b,doc:S},...i.reverse()),i.length=0;break}S.literal?E.root?(f.push(J,E.root.value),d=E.root.length):(f.push(J),d=0):(d-=k(f),f.push(J+E.value),d=E.length);break}break;case"label":T.push({ind:E,mode:b,doc:S.contents});break}T.length===0&&i.length>0&&(T.push(...i.reverse()),i.length=0)}let h=f.indexOf(r.placeholder);if(h!==-1){let E=f.indexOf(r.placeholder,h+1),b=f.slice(0,h).join(""),S=f.slice(h+1,E).join(""),B=f.slice(E+1).join("");return{formatted:b+S+B,cursorNodeStart:b.length,cursorNodeText:S}}return{formatted:f.join("")}}l.exports={printDocToString:N}}}),Vi=$({"src/document/doc-debug.js"(u,l){ue();var{isConcat:t,getDocParts:a}=En();function s(r){if(!r)return"";if(t(r)){let n=[];for(let o of a(r))if(t(o))n.push(...s(o).parts);else{let c=s(o);c!==""&&n.push(c)}return{type:"concat",parts:n}}return r.type==="if-break"?Object.assign(Object.assign({},r),{},{breakContents:s(r.breakContents),flatContents:s(r.flatContents)}):r.type==="group"?Object.assign(Object.assign({},r),{},{contents:s(r.contents),expandedStates:r.expandedStates&&r.expandedStates.map(s)}):r.type==="fill"?{type:"fill",parts:r.parts.map(s)}:r.contents?Object.assign(Object.assign({},r),{},{contents:s(r.contents)}):r}function e(r){let n=Object.create(null),o=new Set;return c(s(r));function c(m,g,p){if(typeof m=="string")return JSON.stringify(m);if(t(m)){let D=a(m).map(c).filter(Boolean);return D.length===1?D[0]:`[${D.join(", ")}]`}if(m.type==="line"){let D=Array.isArray(p)&&p[g+1]&&p[g+1].type==="break-parent";return m.literal?D?"literalline":"literallineWithoutBreakParent":m.hard?D?"hardline":"hardlineWithoutBreakParent":m.soft?"softline":"line"}if(m.type==="break-parent")return Array.isArray(p)&&p[g-1]&&p[g-1].type==="line"&&p[g-1].hard?void 0:"breakParent";if(m.type==="trim")return"trim";if(m.type==="indent")return"indent("+c(m.contents)+")";if(m.type==="align")return m.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+c(m.contents)+")":m.n<0?"dedent("+c(m.contents)+")":m.n.type==="root"?"markAsRoot("+c(m.contents)+")":"align("+JSON.stringify(m.n)+", "+c(m.contents)+")";if(m.type==="if-break")return"ifBreak("+c(m.breakContents)+(m.flatContents?", "+c(m.flatContents):"")+(m.groupId?(m.flatContents?"":', ""')+`, { groupId: ${y(m.groupId)} }`:"")+")";if(m.type==="indent-if-break"){let D=[];m.negate&&D.push("negate: true"),m.groupId&&D.push(`groupId: ${y(m.groupId)}`);let C=D.length>0?`, { ${D.join(", ")} }`:"";return`indentIfBreak(${c(m.contents)}${C})`}if(m.type==="group"){let D=[];m.break&&m.break!=="propagated"&&D.push("shouldBreak: true"),m.id&&D.push(`id: ${y(m.id)}`);let C=D.length>0?`, { ${D.join(", ")} }`:"";return m.expandedStates?`conditionalGroup([${m.expandedStates.map(w=>c(w)).join(",")}]${C})`:`group(${c(m.contents)}${C})`}if(m.type==="fill")return`fill([${m.parts.map(D=>c(D)).join(", ")}])`;if(m.type==="line-suffix")return"lineSuffix("+c(m.contents)+")";if(m.type==="line-suffix-boundary")return"lineSuffixBoundary";if(m.type==="label")return`label(${JSON.stringify(m.label)}, ${c(m.contents)})`;throw new Error("Unknown doc type "+m.type)}function y(m){if(typeof m!="symbol")return JSON.stringify(String(m));if(m in n)return n[m];let g=String(m).slice(7,-1)||"symbol";for(let p=0;;p++){let D=g+(p>0?` #${p}`:"");if(!o.has(D))return o.add(D),n[m]=`Symbol.for(${JSON.stringify(D)})`}}}l.exports={printDocToDebug:e}}}),wt=$({"src/document/index.js"(u,l){ue(),l.exports={builders:fr(),printer:qi(),utils:En(),debug:Vi()}}}),_u={};Ft(_u,{default:()=>Ui});function Ui(u){if(typeof u!="string")throw new TypeError("Expected a string");return u.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var Gi=rt({"node_modules/escape-string-regexp/index.js"(){ue()}}),ku=$({"node_modules/semver/internal/debug.js"(u,l){ue();var t=typeof Zt=="object"&&Zt.env&&Zt.env.NODE_DEBUG&&/\bsemver\b/i.test(Zt.env.NODE_DEBUG)?function(){for(var a=arguments.length,s=new Array(a),e=0;e{};l.exports=t}}),Pu=$({"node_modules/semver/internal/constants.js"(u,l){ue();var t="2.0.0",a=256,s=Number.MAX_SAFE_INTEGER||9007199254740991,e=16;l.exports={SEMVER_SPEC_VERSION:t,MAX_LENGTH:a,MAX_SAFE_INTEGER:s,MAX_SAFE_COMPONENT_LENGTH:e}}}),Iu=$({"node_modules/semver/internal/re.js"(u,l){ue();var{MAX_SAFE_COMPONENT_LENGTH:t}=Pu(),a=ku();u=l.exports={};var s=u.re=[],e=u.src=[],r=u.t={},n=0,o=(c,y,m)=>{let g=n++;a(c,g,y),r[c]=g,e[g]=y,s[g]=new RegExp(y,m?"g":void 0)};o("NUMERICIDENTIFIER","0|[1-9]\\d*"),o("NUMERICIDENTIFIERLOOSE","[0-9]+"),o("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),o("MAINVERSION",`(${e[r.NUMERICIDENTIFIER]})\\.(${e[r.NUMERICIDENTIFIER]})\\.(${e[r.NUMERICIDENTIFIER]})`),o("MAINVERSIONLOOSE",`(${e[r.NUMERICIDENTIFIERLOOSE]})\\.(${e[r.NUMERICIDENTIFIERLOOSE]})\\.(${e[r.NUMERICIDENTIFIERLOOSE]})`),o("PRERELEASEIDENTIFIER",`(?:${e[r.NUMERICIDENTIFIER]}|${e[r.NONNUMERICIDENTIFIER]})`),o("PRERELEASEIDENTIFIERLOOSE",`(?:${e[r.NUMERICIDENTIFIERLOOSE]}|${e[r.NONNUMERICIDENTIFIER]})`),o("PRERELEASE",`(?:-(${e[r.PRERELEASEIDENTIFIER]}(?:\\.${e[r.PRERELEASEIDENTIFIER]})*))`),o("PRERELEASELOOSE",`(?:-?(${e[r.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${e[r.PRERELEASEIDENTIFIERLOOSE]})*))`),o("BUILDIDENTIFIER","[0-9A-Za-z-]+"),o("BUILD",`(?:\\+(${e[r.BUILDIDENTIFIER]}(?:\\.${e[r.BUILDIDENTIFIER]})*))`),o("FULLPLAIN",`v?${e[r.MAINVERSION]}${e[r.PRERELEASE]}?${e[r.BUILD]}?`),o("FULL",`^${e[r.FULLPLAIN]}$`),o("LOOSEPLAIN",`[v=\\s]*${e[r.MAINVERSIONLOOSE]}${e[r.PRERELEASELOOSE]}?${e[r.BUILD]}?`),o("LOOSE",`^${e[r.LOOSEPLAIN]}$`),o("GTLT","((?:<|>)?=?)"),o("XRANGEIDENTIFIERLOOSE",`${e[r.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),o("XRANGEIDENTIFIER",`${e[r.NUMERICIDENTIFIER]}|x|X|\\*`),o("XRANGEPLAIN",`[v=\\s]*(${e[r.XRANGEIDENTIFIER]})(?:\\.(${e[r.XRANGEIDENTIFIER]})(?:\\.(${e[r.XRANGEIDENTIFIER]})(?:${e[r.PRERELEASE]})?${e[r.BUILD]}?)?)?`),o("XRANGEPLAINLOOSE",`[v=\\s]*(${e[r.XRANGEIDENTIFIERLOOSE]})(?:\\.(${e[r.XRANGEIDENTIFIERLOOSE]})(?:\\.(${e[r.XRANGEIDENTIFIERLOOSE]})(?:${e[r.PRERELEASELOOSE]})?${e[r.BUILD]}?)?)?`),o("XRANGE",`^${e[r.GTLT]}\\s*${e[r.XRANGEPLAIN]}$`),o("XRANGELOOSE",`^${e[r.GTLT]}\\s*${e[r.XRANGEPLAINLOOSE]}$`),o("COERCE",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?(?:$|[^\\d])`),o("COERCERTL",e[r.COERCE],!0),o("LONETILDE","(?:~>?)"),o("TILDETRIM",`(\\s*)${e[r.LONETILDE]}\\s+`,!0),u.tildeTrimReplace="$1~",o("TILDE",`^${e[r.LONETILDE]}${e[r.XRANGEPLAIN]}$`),o("TILDELOOSE",`^${e[r.LONETILDE]}${e[r.XRANGEPLAINLOOSE]}$`),o("LONECARET","(?:\\^)"),o("CARETTRIM",`(\\s*)${e[r.LONECARET]}\\s+`,!0),u.caretTrimReplace="$1^",o("CARET",`^${e[r.LONECARET]}${e[r.XRANGEPLAIN]}$`),o("CARETLOOSE",`^${e[r.LONECARET]}${e[r.XRANGEPLAINLOOSE]}$`),o("COMPARATORLOOSE",`^${e[r.GTLT]}\\s*(${e[r.LOOSEPLAIN]})$|^$`),o("COMPARATOR",`^${e[r.GTLT]}\\s*(${e[r.FULLPLAIN]})$|^$`),o("COMPARATORTRIM",`(\\s*)${e[r.GTLT]}\\s*(${e[r.LOOSEPLAIN]}|${e[r.XRANGEPLAIN]})`,!0),u.comparatorTrimReplace="$1$2$3",o("HYPHENRANGE",`^\\s*(${e[r.XRANGEPLAIN]})\\s+-\\s+(${e[r.XRANGEPLAIN]})\\s*$`),o("HYPHENRANGELOOSE",`^\\s*(${e[r.XRANGEPLAINLOOSE]})\\s+-\\s+(${e[r.XRANGEPLAINLOOSE]})\\s*$`),o("STAR","(<|>)?=?\\s*\\*"),o("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),o("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),Ji=$({"node_modules/semver/internal/parse-options.js"(u,l){ue();var t=["includePrerelease","loose","rtl"],a=s=>s?typeof s!="object"?{loose:!0}:t.filter(e=>s[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};l.exports=a}}),ju=$({"node_modules/semver/internal/identifiers.js"(u,l){ue();var t=/^[0-9]+$/,a=(e,r)=>{let n=t.test(e),o=t.test(r);return n&&o&&(e=+e,r=+r),e===r?0:n&&!o?-1:o&&!n?1:ea(r,e);l.exports={compareIdentifiers:a,rcompareIdentifiers:s}}}),Xi=$({"node_modules/semver/classes/semver.js"(u,l){ue();var t=ku(),{MAX_LENGTH:a,MAX_SAFE_INTEGER:s}=Pu(),{re:e,t:r}=Iu(),n=Ji(),{compareIdentifiers:o}=ju(),c=class{constructor(y,m){if(m=n(m),y instanceof c){if(y.loose===!!m.loose&&y.includePrerelease===!!m.includePrerelease)return y;y=y.version}else if(typeof y!="string")throw new TypeError(`Invalid Version: ${y}`);if(y.length>a)throw new TypeError(`version is longer than ${a} characters`);t("SemVer",y,m),this.options=m,this.loose=!!m.loose,this.includePrerelease=!!m.includePrerelease;let g=y.trim().match(m.loose?e[r.LOOSE]:e[r.FULL]);if(!g)throw new TypeError(`Invalid Version: ${y}`);if(this.raw=y,this.major=+g[1],this.minor=+g[2],this.patch=+g[3],this.major>s||this.major<0)throw new TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw new TypeError("Invalid patch version");g[4]?this.prerelease=g[4].split(".").map(p=>{if(/^[0-9]+$/.test(p)){let D=+p;if(D>=0&&D=0;)typeof this.prerelease[g]=="number"&&(this.prerelease[g]++,g=-2);g===-1&&this.prerelease.push(0)}m&&(o(this.prerelease[0],m)===0?isNaN(this.prerelease[1])&&(this.prerelease=[m,0]):this.prerelease=[m,0]);break;default:throw new Error(`invalid increment argument: ${y}`)}return this.format(),this.raw=this.version,this}};l.exports=c}}),tu=$({"node_modules/semver/functions/compare.js"(u,l){ue();var t=Xi(),a=(s,e,r)=>new t(s,r).compare(new t(e,r));l.exports=a}}),ru=$({"node_modules/semver/functions/lt.js"(u,l){ue();var t=tu(),a=(s,e,r)=>t(s,e,r)<0;l.exports=a}}),Lu=$({"node_modules/semver/functions/gte.js"(u,l){ue();var t=tu(),a=(s,e,r)=>t(s,e,r)>=0;l.exports=a}}),Ou=$({"src/utils/arrayify.js"(u,l){ue(),l.exports=(t,a)=>Object.entries(t).map(s=>{let[e,r]=s;return Object.assign({[a]:e},r)})}}),$u=$({"node_modules/outdent/lib/index.js"(u,l){ue(),Object.defineProperty(u,"__esModule",{value:!0}),u.outdent=void 0;function t(){for(var A=[],N=0;Ntypeof m=="string"||typeof m=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"acorn",since:"2.6.0",description:"JavaScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:o,description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:m=>typeof m=="string"||typeof m=="object",cliName:"plugin",cliCategory:a},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:o,description:t` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `,exception:m=>typeof m=="string"||typeof m=="object",cliName:"plugin-search-dir",cliCategory:a},printWidth:{since:"0.0.0",category:o,type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:c,type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:t` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:s},rangeStart:{since:"1.4.0",category:c,type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:t` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:s},requirePragma:{since:"1.7.0",category:c,type:"boolean",default:!1,description:t` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `,cliCategory:r},tabWidth:{type:"int",category:o,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:o,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:o,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};l.exports={CATEGORY_CONFIG:a,CATEGORY_EDITOR:s,CATEGORY_FORMAT:e,CATEGORY_OTHER:r,CATEGORY_OUTPUT:n,CATEGORY_GLOBAL:o,CATEGORY_SPECIAL:c,options:y}}}),nu=$({"src/main/support.js"(u,l){ue();var t={compare:tu(),lt:ru(),gte:Lu()},a=Ou(),s=yr().version,e=Wi().options;function r(){let{plugins:o=[],showUnreleased:c=!1,showDeprecated:y=!1,showInternal:m=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},g=s.split("-",1)[0],p=o.flatMap(A=>A.languages||[]).filter(C),D=a(Object.assign({},...o.map(A=>{let{options:N}=A;return N}),e),"name").filter(A=>C(A)&&w(A)).sort((A,N)=>A.name===N.name?0:A.name{A=Object.assign({},A),Array.isArray(A.default)&&(A.default=A.default.length===1?A.default[0].value:A.default.filter(C).sort((x,P)=>t.compare(P.since,x.since))[0].value),Array.isArray(A.choices)&&(A.choices=A.choices.filter(x=>C(x)&&w(x)),A.name==="parser"&&n(A,p,o));let N=Object.fromEntries(o.filter(x=>x.defaultOptions&&x.defaultOptions[A.name]!==void 0).map(x=>[x.name,x.defaultOptions[A.name]]));return Object.assign(Object.assign({},A),{},{pluginDefaults:N})});return{languages:p,options:D};function C(A){return c||!("since"in A)||A.since&&t.gte(g,A.since)}function w(A){return y||!("deprecated"in A)||A.deprecated&&t.lt(g,A.deprecated)}function k(A){return m?A:ne(A,W)}}function n(o,c,y){let m=new Set(o.choices.map(g=>g.value));for(let g of c)if(g.parsers){for(let p of g.parsers)if(!m.has(p)){m.add(p);let D=y.find(w=>w.parsers&&w.parsers[p]),C=g.name;D&&D.name&&(C+=` (plugin: ${D.name})`),o.choices.push({value:p,description:C})}}}l.exports={getSupportInfo:r}}}),uu=$({"src/utils/is-non-empty-array.js"(u,l){ue();function t(a){return Array.isArray(a)&&a.length>0}l.exports=t}}),Cn=$({"src/utils/text/skip.js"(u,l){ue();function t(n){return(o,c,y)=>{let m=y&&y.backwards;if(c===!1)return!1;let{length:g}=o,p=c;for(;p>=0&&pU[U.length-2];function w(U){return(R,pe,be)=>{let fe=be&&be.backwards;if(pe===!1)return!1;let{length:Ie}=R,X=pe;for(;X>=0&&X2&&arguments[2]!==void 0?arguments[2]:{},be=o(U,pe.backwards?R-1:R,pe),fe=p(U,be,pe);return be!==fe}function A(U,R,pe){for(let be=R;be2&&arguments[2]!==void 0?arguments[2]:{};return o(U,pe.backwards?R-1:R,pe)!==R}function T(U,R){let pe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,be=0;for(let fe=pe;fewe?Ie:fe}return X}function i(U,R){let pe=U.slice(1,-1),be=R.parser==="json"||R.parser==="json5"&&R.quoteProps==="preserve"&&!R.singleQuote?'"':R.__isInHtmlAttribute?"'":F(pe,R.singleQuote?"'":'"').quote;return h(pe,be,!(R.parser==="css"||R.parser==="less"||R.parser==="scss"||R.__embeddedInHtml))}function h(U,R,pe){let be=R==='"'?"'":'"',fe=/\\(.)|(["'])/gs,Ie=U.replace(fe,(X,se,we)=>se===be?se:we===R?"\\"+we:we||(pe&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(se)?se:"\\"+se));return R+Ie+R}function E(U){return U.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")}function b(U,R){let pe=U.match(new RegExp(`(${t(R)})+`,"g"));return pe===null?0:pe.reduce((be,fe)=>Math.max(be,fe.length/R.length),0)}function S(U,R){let pe=U.match(new RegExp(`(${t(R)})+`,"g"));if(pe===null)return 0;let be=new Map,fe=0;for(let Ie of pe){let X=Ie.length/R.length;be.set(X,!0),X>fe&&(fe=X)}for(let Ie=1;Ie{let{name:Ie}=fe;return Ie.toLowerCase()===U})||pe.find(fe=>{let{aliases:Ie}=fe;return Array.isArray(Ie)&&Ie.includes(U)})||pe.find(fe=>{let{extensions:Ie}=fe;return Array.isArray(Ie)&&Ie.includes(`.${U}`)});return be&&be.parsers[0]}function te(U){return U&&U.type==="front-matter"}function j(U){let R=new WeakMap;return function(pe){return R.has(pe)||R.set(pe,Symbol(U)),R.get(pe)}}function De(U){let R=U.type||U.kind||"(unknown type)",pe=String(U.name||U.id&&(typeof U.id=="object"?U.id.name:U.id)||U.key&&(typeof U.key=="object"?U.key.name:U.key)||U.value&&(typeof U.value=="object"?"":String(U.value))||U.operator||"");return pe.length>20&&(pe=pe.slice(0,19)+"…"),R+(pe?" "+pe:"")}l.exports={inferParserByLanguage:M,getStringWidth:r,getMaxContinuousCount:b,getMinNotPresentContinuousCount:S,getPenultimate:C,getLast:a,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:D,getNextNonSpaceNonCommentCharacterIndex:_,getNextNonSpaceNonCommentCharacter:J,skip:w,skipWhitespace:n,skipSpaces:o,skipToLineEnd:c,skipEverythingButNewLine:y,skipInlineComment:m,skipTrailingComment:g,skipNewline:p,isNextLineEmptyAfterIndex:x,isNextLineEmpty:P,isPreviousLineEmpty:N,hasNewline:k,hasNewlineInRange:A,hasSpaces:d,getAlignmentSize:T,getIndentSize:f,getPreferredQuote:F,printString:i,printNumber:E,makeString:h,addLeadingComment:I,addDanglingComment:q,addTrailingComment:G,isFrontMatterNode:te,isNonEmptyArray:e,createGroupIdMapper:j}}}),Vu={};Ft(Vu,{basename:()=>Ju,default:()=>pu,delimiter:()=>pn,dirname:()=>au,extname:()=>Xu,isAbsolute:()=>ln,join:()=>su,normalize:()=>iu,relative:()=>Gu,resolve:()=>wn,sep:()=>_n});function Uu(u,l){for(var t=0,a=u.length-1;a>=0;a--){var s=u[a];s==="."?u.splice(a,1):s===".."?(u.splice(a,1),t++):t&&(u.splice(a,1),t--)}if(l)for(;t--;t)u.unshift("..");return u}function wn(){for(var u="",l=!1,t=arguments.length-1;t>=-1&&!l;t--){var a=t>=0?arguments[t]:"/";if(typeof a!="string")throw new TypeError("Arguments to path.resolve must be strings");a&&(u=a+"/"+u,l=a.charAt(0)==="/")}return u=Uu(ou(u.split("/"),function(s){return!!s}),!l).join("/"),(l?"/":"")+u||"."}function iu(u){var l=ln(u),t=Wu(u,-1)==="/";return u=Uu(ou(u.split("/"),function(a){return!!a}),!l).join("/"),!u&&!l&&(u="."),u&&t&&(u+="/"),(l?"/":"")+u}function ln(u){return u.charAt(0)==="/"}function su(){var u=Array.prototype.slice.call(arguments,0);return iu(ou(u,function(l,t){if(typeof l!="string")throw new TypeError("Arguments to path.join must be strings");return l}).join("/"))}function Gu(u,l){u=wn(u).substr(1),l=wn(l).substr(1);function t(c){for(var y=0;y=0&&c[m]==="";m--);return y>m?[]:c.slice(y,m-y+1)}for(var a=t(u.split("/")),s=t(l.split("/")),e=Math.min(a.length,s.length),r=e,n=0;nVe,__asyncDelegator:()=>Pe,__asyncGenerator:()=>Ee,__asyncValues:()=>ie,__await:()=>ge,__awaiter:()=>es,__classPrivateFieldGet:()=>gt,__classPrivateFieldSet:()=>ce,__createBinding:()=>rs,__decorate:()=>zu,__exportStar:()=>ns,__extends:()=>Ki,__generator:()=>ts,__importDefault:()=>Ge,__importStar:()=>Ue,__makeTemplateObject:()=>de,__metadata:()=>Zi,__param:()=>Qi,__read:()=>An,__rest:()=>cu,__spread:()=>L,__spreadArrays:()=>re,__values:()=>kn});function Ki(u,l){ve(u,l);function t(){this.constructor=u}u.prototype=l===null?Object.create(l):(t.prototype=l.prototype,new t)}function cu(u,l){var t={};for(var a in u)Object.prototype.hasOwnProperty.call(u,a)&&l.indexOf(a)<0&&(t[a]=u[a]);if(u!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,a=Object.getOwnPropertySymbols(u);s=0;n--)(r=u[n])&&(e=(s<3?r(e):s>3?r(l,t,e):r(l,t))||e);return s>3&&e&&Object.defineProperty(l,t,e),e}function Qi(u,l){return function(t,a){l(t,a,u)}}function Zi(u,l){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(u,l)}function es(u,l,t,a){function s(e){return e instanceof t?e:new t(function(r){r(e)})}return new(t||(t=Promise))(function(e,r){function n(y){try{c(a.next(y))}catch(m){r(m)}}function o(y){try{c(a.throw(y))}catch(m){r(m)}}function c(y){y.done?e(y.value):s(y.value).then(n,o)}c((a=a.apply(u,l||[])).next())})}function ts(u,l){var t={label:0,sent:function(){if(e[0]&1)throw e[1];return e[1]},trys:[],ops:[]},a,s,e,r;return r={next:n(0),throw:n(1),return:n(2)},typeof Symbol=="function"&&(r[Symbol.iterator]=function(){return this}),r;function n(c){return function(y){return o([c,y])}}function o(c){if(a)throw new TypeError("Generator is already executing.");for(;t;)try{if(a=1,s&&(e=c[0]&2?s.return:c[0]?s.throw||((e=s.return)&&e.call(s),0):s.next)&&!(e=e.call(s,c[1])).done)return e;switch(s=0,e&&(c=[c[0]&2,e.value]),c[0]){case 0:case 1:e=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,s=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(e=t.trys,!(e=e.length>0&&e[e.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!e||c[1]>e[0]&&c[1]=u.length&&(u=void 0),{value:u&&u[a++],done:!u}}};throw new TypeError(l?"Object is not iterable.":"Symbol.iterator is not defined.")}function An(u,l){var t=typeof Symbol=="function"&&u[Symbol.iterator];if(!t)return u;var a=t.call(u),s,e=[],r;try{for(;(l===void 0||l-- >0)&&!(s=a.next()).done;)e.push(s.value)}catch(n){r={error:n}}finally{try{s&&!s.done&&(t=a.return)&&t.call(a)}finally{if(r)throw r.error}}return e}function L(){for(var u=[],l=0;l1||n(g,p)})})}function n(g,p){try{o(a[g](p))}catch(D){m(e[0][3],D)}}function o(g){g.value instanceof ge?Promise.resolve(g.value.v).then(c,y):m(e[0][2],g)}function c(g){n("next",g)}function y(g){n("throw",g)}function m(g,p){g(p),e.shift(),e.length&&n(e[0][0],e[0][1])}}function Pe(u){var l,t;return l={},a("next"),a("throw",function(s){throw s}),a("return"),l[Symbol.iterator]=function(){return this},l;function a(s,e){l[s]=u[s]?function(r){return(t=!t)?{value:ge(u[s](r)),done:s==="return"}:e?e(r):r}:e}}function ie(u){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var l=u[Symbol.asyncIterator],t;return l?l.call(u):(u=typeof kn=="function"?kn(u):u[Symbol.iterator](),t={},a("next"),a("throw"),a("return"),t[Symbol.asyncIterator]=function(){return this},t);function a(e){t[e]=u[e]&&function(r){return new Promise(function(n,o){r=u[e](r),s(n,o,r.done,r.value)})}}function s(e,r,n,o){Promise.resolve(o).then(function(c){e({value:c,done:n})},r)}}function de(u,l){return Object.defineProperty?Object.defineProperty(u,"raw",{value:l}):u.raw=l,u}function Ue(u){if(u&&u.__esModule)return u;var l={};if(u!=null)for(var t in u)Object.hasOwnProperty.call(u,t)&&(l[t]=u[t]);return l.default=u,l}function Ge(u){return u&&u.__esModule?u:{default:u}}function gt(u,l){if(!l.has(u))throw new TypeError("attempted to get private field on non-instance");return l.get(u)}function ce(u,l,t){if(!l.has(u))throw new TypeError("attempted to set private field on non-instance");return l.set(u,t),t}var ve,Ve,He=rt({"node_modules/tslib/tslib.es6.js"(){ue(),ve=function(u,l){return ve=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,a){t.__proto__=a}||function(t,a){for(var s in a)a.hasOwnProperty(s)&&(t[s]=a[s])},ve(u,l)},Ve=function(){return Ve=Object.assign||function(u){for(var l,t=1,a=arguments.length;t/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(l)?l:JSON.stringify(l),value(l){if(l===null||typeof l!="object")return JSON.stringify(l);if(Array.isArray(l))return`[${l.map(a=>u.apiDescriptor.value(a)).join(", ")}]`;let t=Object.keys(l);return t.length===0?"{}":`{ ${t.map(a=>`${u.apiDescriptor.key(a)}: ${u.apiDescriptor.value(l[a])}`).join(", ")} }`},pair:l=>{let{key:t,value:a}=l;return u.apiDescriptor.value({[t]:a})}}}}),Qe=$({"node_modules/vnopts/lib/descriptors/index.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=(He(),qt(Yr));l.__exportStar(Je(),u)}}),yt=$({"scripts/build/shims/chalk.cjs"(u,l){ue();var t=a=>a;t.grey=t,t.red=t,t.bold=t,t.yellow=t,t.blue=t,t.default=t,l.exports=t}}),_t=$({"node_modules/vnopts/lib/handlers/deprecated/common.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=yt();u.commonDeprecatedHandler=(t,a,s)=>{let{descriptor:e}=s,r=[`${l.default.yellow(typeof t=="string"?e.key(t):e.pair(t))} is deprecated`];return a&&r.push(`we now treat it as ${l.default.blue(typeof a=="string"?e.key(a):e.pair(a))}`),r.join("; ")+"."}}}),ct=$({"node_modules/vnopts/lib/handlers/deprecated/index.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=(He(),qt(Yr));l.__exportStar(_t(),u)}}),kt=$({"node_modules/vnopts/lib/handlers/invalid/common.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=yt();u.commonInvalidHandler=(t,a,s)=>[`Invalid ${l.default.red(s.descriptor.key(t))} value.`,`Expected ${l.default.blue(s.schemas[t].expected(s))},`,`but received ${l.default.red(s.descriptor.value(a))}.`].join(" ")}}),$t=$({"node_modules/vnopts/lib/handlers/invalid/index.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=(He(),qt(Yr));l.__exportStar(kt(),u)}}),ir=$({"node_modules/vnopts/node_modules/leven/index.js"(u,l){ue();var t=[],a=[];l.exports=function(s,e){if(s===e)return 0;var r=s;s.length>e.length&&(s=e,e=r);var n=s.length,o=e.length;if(n===0)return o;if(o===0)return n;for(;n>0&&s.charCodeAt(~-n)===e.charCodeAt(~-o);)n--,o--;if(n===0)return o;for(var c=0;cm?p>m?m+1:p:p>g?g+1:p;return m}}}),st=$({"node_modules/vnopts/lib/handlers/unknown/leven.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=yt(),t=ir();u.levenUnknownHandler=(a,s,e)=>{let{descriptor:r,logger:n,schemas:o}=e,c=[`Ignored unknown option ${l.default.yellow(r.pair({key:a,value:s}))}.`],y=Object.keys(o).sort().find(m=>t(a,m)<3);y&&c.push(`Did you mean ${l.default.blue(r.key(y))}?`),n.warn(c.join(" "))}}}),Ot=$({"node_modules/vnopts/lib/handlers/unknown/index.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=(He(),qt(Yr));l.__exportStar(st(),u)}}),Vt=$({"node_modules/vnopts/lib/handlers/index.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=(He(),qt(Yr));l.__exportStar(ct(),u),l.__exportStar($t(),u),l.__exportStar(Ot(),u)}}),Ut=$({"node_modules/vnopts/lib/schema.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];function t(e,r){let n=new e(r),o=Object.create(n);for(let c of l)c in r&&(o[c]=s(r[c],n,a.prototype[c].length));return o}u.createSchema=t;var a=class{constructor(e){this.name=e.name}static create(e){return t(this,e)}default(e){}expected(e){return"nothing"}validate(e,r){return!1}deprecated(e,r){return!1}forward(e,r){}redirect(e,r){}overlap(e,r,n){return e}preprocess(e,r){return e}postprocess(e,r){return e}};u.Schema=a;function s(e,r,n){return typeof e=="function"?function(){for(var o=arguments.length,c=new Array(o),y=0;ye}}}),rr=$({"node_modules/vnopts/lib/schemas/alias.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=Ut(),t=class extends l.Schema{constructor(a){super(a),this._sourceName=a.sourceName}expected(a){return a.schemas[this._sourceName].expected(a)}validate(a,s){return s.schemas[this._sourceName].validate(a,s)}redirect(a,s){return this._sourceName}};u.AliasSchema=t}}),z=$({"node_modules/vnopts/lib/schemas/any.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=Ut(),t=class extends l.Schema{expected(){return"anything"}validate(){return!0}};u.AnySchema=t}}),le=$({"node_modules/vnopts/lib/schemas/array.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=(He(),qt(Yr)),t=Ut(),a=class extends t.Schema{constructor(e){var{valueSchema:r,name:n=r.name}=e,o=l.__rest(e,["valueSchema","name"]);super(Object.assign({},o,{name:n})),this._valueSchema=r}expected(e){return`an array of ${this._valueSchema.expected(e)}`}validate(e,r){if(!Array.isArray(e))return!1;let n=[];for(let o of e){let c=r.normalizeValidateResult(this._valueSchema.validate(o,r),o);c!==!0&&n.push(c.value)}return n.length===0?!0:{value:n}}deprecated(e,r){let n=[];for(let o of e){let c=r.normalizeDeprecatedResult(this._valueSchema.deprecated(o,r),o);c!==!1&&n.push(...c.map(y=>{let{value:m}=y;return{value:[m]}}))}return n}forward(e,r){let n=[];for(let o of e){let c=r.normalizeForwardResult(this._valueSchema.forward(o,r),o);n.push(...c.map(s))}return n}redirect(e,r){let n=[],o=[];for(let c of e){let y=r.normalizeRedirectResult(this._valueSchema.redirect(c,r),c);"remain"in y&&n.push(y.remain),o.push(...y.redirect.map(s))}return n.length===0?{redirect:o}:{redirect:o,remain:n}}overlap(e,r){return e.concat(r)}};u.ArraySchema=a;function s(e){let{from:r,to:n}=e;return{from:[r],to:n}}}}),We=$({"node_modules/vnopts/lib/schemas/boolean.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=Ut(),t=class extends l.Schema{expected(){return"true or false"}validate(a){return typeof a=="boolean"}};u.BooleanSchema=t}}),Me=$({"node_modules/vnopts/lib/utils.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});function l(p,D){let C=Object.create(null);for(let w of p){let k=w[D];if(C[k])throw new Error(`Duplicate ${D} ${JSON.stringify(k)}`);C[k]=w}return C}u.recordFromArray=l;function t(p,D){let C=new Map;for(let w of p){let k=w[D];if(C.has(k))throw new Error(`Duplicate ${D} ${JSON.stringify(k)}`);C.set(k,w)}return C}u.mapFromArray=t;function a(){let p=Object.create(null);return D=>{let C=JSON.stringify(D);return p[C]?!0:(p[C]=!0,!1)}}u.createAutoChecklist=a;function s(p,D){let C=[],w=[];for(let k of p)D(k)?C.push(k):w.push(k);return[C,w]}u.partition=s;function e(p){return p===Math.floor(p)}u.isInt=e;function r(p,D){if(p===D)return 0;let C=typeof p,w=typeof D,k=["undefined","object","boolean","number","string"];return C!==w?k.indexOf(C)-k.indexOf(w):C!=="string"?Number(p)-Number(D):p.localeCompare(D)}u.comparePrimitive=r;function n(p){return p===void 0?{}:p}u.normalizeDefaultResult=n;function o(p,D){return p===!0?!0:p===!1?{value:D}:p}u.normalizeValidateResult=o;function c(p,D){let C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return p===!1?!1:p===!0?C?!0:[{value:D}]:"value"in p?[p]:p.length===0?!1:p}u.normalizeDeprecatedResult=c;function y(p,D){return typeof p=="string"||"key"in p?{from:D,to:p}:"from"in p?{from:p.from,to:p.to}:{from:D,to:p.to}}u.normalizeTransferResult=y;function m(p,D){return p===void 0?[]:Array.isArray(p)?p.map(C=>y(C,D)):[y(p,D)]}u.normalizeForwardResult=m;function g(p,D){let C=m(typeof p=="object"&&"redirect"in p?p.redirect:p,D);return C.length===0?{remain:D,redirect:C}:typeof p=="object"&&"remain"in p?{remain:p.remain,redirect:C}:{redirect:C}}u.normalizeRedirectResult=g}}),at=$({"node_modules/vnopts/lib/schemas/choice.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=Ut(),t=Me(),a=class extends l.Schema{constructor(s){super(s),this._choices=t.mapFromArray(s.choices.map(e=>e&&typeof e=="object"?e:{value:e}),"value")}expected(s){let{descriptor:e}=s,r=Array.from(this._choices.keys()).map(c=>this._choices.get(c)).filter(c=>!c.deprecated).map(c=>c.value).sort(t.comparePrimitive).map(e.value),n=r.slice(0,-2),o=r.slice(-2);return n.concat(o.join(" or ")).join(", ")}validate(s){return this._choices.has(s)}deprecated(s){let e=this._choices.get(s);return e&&e.deprecated?{value:s}:!1}forward(s){let e=this._choices.get(s);return e?e.forward:void 0}redirect(s){let e=this._choices.get(s);return e?e.redirect:void 0}};u.ChoiceSchema=a}}),Jt=$({"node_modules/vnopts/lib/schemas/number.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=Ut(),t=class extends l.Schema{expected(){return"a number"}validate(a,s){return typeof a=="number"}};u.NumberSchema=t}}),er=$({"node_modules/vnopts/lib/schemas/integer.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=Me(),t=Jt(),a=class extends t.NumberSchema{expected(){return"an integer"}validate(s,e){return e.normalizeValidateResult(super.validate(s,e),s)===!0&&l.isInt(s)}};u.IntegerSchema=a}}),Ar=$({"node_modules/vnopts/lib/schemas/string.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=Ut(),t=class extends l.Schema{expected(){return"a string"}validate(a){return typeof a=="string"}};u.StringSchema=t}}),Er=$({"node_modules/vnopts/lib/schemas/index.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=(He(),qt(Yr));l.__exportStar(rr(),u),l.__exportStar(z(),u),l.__exportStar(le(),u),l.__exportStar(We(),u),l.__exportStar(at(),u),l.__exportStar(er(),u),l.__exportStar(Jt(),u),l.__exportStar(Ar(),u)}}),_r=$({"node_modules/vnopts/lib/defaults.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=Je(),t=_t(),a=$t(),s=st();u.defaultDescriptor=l.apiDescriptor,u.defaultUnknownHandler=s.levenUnknownHandler,u.defaultInvalidHandler=a.commonInvalidHandler,u.defaultDeprecatedHandler=t.commonDeprecatedHandler}}),xr=$({"node_modules/vnopts/lib/normalize.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=_r(),t=Me();u.normalize=(s,e,r)=>new a(e,r).normalize(s);var a=class{constructor(s,e){let{logger:r=console,descriptor:n=l.defaultDescriptor,unknown:o=l.defaultUnknownHandler,invalid:c=l.defaultInvalidHandler,deprecated:y=l.defaultDeprecatedHandler}=e||{};this._utils={descriptor:n,logger:r||{warn:()=>{}},schemas:t.recordFromArray(s,"name"),normalizeDefaultResult:t.normalizeDefaultResult,normalizeDeprecatedResult:t.normalizeDeprecatedResult,normalizeForwardResult:t.normalizeForwardResult,normalizeRedirectResult:t.normalizeRedirectResult,normalizeValidateResult:t.normalizeValidateResult},this._unknownHandler=o,this._invalidHandler=c,this._deprecatedHandler=y,this.cleanHistory()}cleanHistory(){this._hasDeprecationWarned=t.createAutoChecklist()}normalize(s){let e={},r=[s],n=()=>{for(;r.length!==0;){let o=r.shift(),c=this._applyNormalization(o,e);r.push(...c)}};n();for(let o of Object.keys(this._utils.schemas)){let c=this._utils.schemas[o];if(!(o in e)){let y=t.normalizeDefaultResult(c.default(this._utils));"value"in y&&r.push({[o]:y.value})}}n();for(let o of Object.keys(this._utils.schemas)){let c=this._utils.schemas[o];o in e&&(e[o]=c.postprocess(e[o],this._utils))}return e}_applyNormalization(s,e){let r=[],[n,o]=t.partition(Object.keys(s),c=>c in this._utils.schemas);for(let c of n){let y=this._utils.schemas[c],m=y.preprocess(s[c],this._utils),g=t.normalizeValidateResult(y.validate(m,this._utils),m);if(g!==!0){let{value:w}=g,k=this._invalidHandler(c,w,this._utils);throw typeof k=="string"?new Error(k):k}let p=w=>{let{from:k,to:A}=w;r.push(typeof A=="string"?{[A]:k}:{[A.key]:A.value})},D=w=>{let{value:k,redirectTo:A}=w,N=t.normalizeDeprecatedResult(y.deprecated(k,this._utils),m,!0);if(N!==!1)if(N===!0)this._hasDeprecationWarned(c)||this._utils.logger.warn(this._deprecatedHandler(c,A,this._utils));else for(let{value:x}of N){let P={key:c,value:x};if(!this._hasDeprecationWarned(P)){let _=typeof A=="string"?{key:A,value:x}:A;this._utils.logger.warn(this._deprecatedHandler(P,_,this._utils))}}};t.normalizeForwardResult(y.forward(m,this._utils),m).forEach(p);let C=t.normalizeRedirectResult(y.redirect(m,this._utils),m);if(C.redirect.forEach(p),"remain"in C){let w=C.remain;e[c]=c in e?y.overlap(e[c],w,this._utils):w,D({value:w})}for(let{from:w,to:k}of C.redirect)D({value:w,redirectTo:k})}for(let c of o){let y=s[c],m=this._unknownHandler(c,y,this._utils);if(m)for(let g of Object.keys(m)){let p={[g]:m[g]};g in this._utils.schemas?r.push(p):Object.assign(e,p)}}return r}};u.Normalizer=a}}),Ir=$({"node_modules/vnopts/lib/index.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=(He(),qt(Yr));l.__exportStar(Qe(),u),l.__exportStar(Vt(),u),l.__exportStar(Er(),u),l.__exportStar(xr(),u),l.__exportStar(Ut(),u)}}),Mr=$({"src/main/options-normalizer.js"(u,l){ue();var t=Ir(),a=mr(),s={key:g=>g.length===1?`-${g}`:`--${g}`,value:g=>t.apiDescriptor.value(g),pair:g=>{let{key:p,value:D}=g;return D===!1?`--no-${p}`:D===!0?s.key(p):D===""?`${s.key(p)} without an argument`:`${s.key(p)}=${D}`}},e=g=>{let{colorsModule:p,levenshteinDistance:D}=g;return class extends t.ChoiceSchema{constructor(C){let{name:w,flags:k}=C;super({name:w,choices:k}),this._flags=[...k].sort()}preprocess(C,w){if(typeof C=="string"&&C.length>0&&!this._flags.includes(C)){let k=this._flags.find(A=>D(A,C)<3);if(k)return w.logger.warn([`Unknown flag ${p.yellow(w.descriptor.value(C))},`,`did you mean ${p.blue(w.descriptor.value(k))}?`].join(" ")),k}return C}expected(){return"a flag"}}},r;function n(g,p){let{logger:D=!1,isCLI:C=!1,passThrough:w=!1,colorsModule:k=null,levenshteinDistance:A=null}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},N=w?Array.isArray(w)?(T,f)=>w.includes(T)?{[T]:f}:void 0:(T,f)=>({[T]:f}):(T,f,F)=>{let i=F.schemas,h=ne(i,Z);return t.levenUnknownHandler(T,f,Object.assign(Object.assign({},F),{},{schemas:h}))},x=C?s:t.apiDescriptor,P=o(p,{isCLI:C,colorsModule:k,levenshteinDistance:A}),_=new t.Normalizer(P,{logger:D,unknown:N,descriptor:x}),J=D!==!1;J&&r&&(_._hasDeprecationWarned=r);let d=_.normalize(g);return J&&(r=_._hasDeprecationWarned),C&&d["plugin-search"]===!1&&(d["plugin-search-dir"]=!1),d}function o(g,p){let{isCLI:D,colorsModule:C,levenshteinDistance:w}=p,k=[];D&&k.push(t.AnySchema.create({name:"_"}));for(let A of g)k.push(c(A,{isCLI:D,optionInfos:g,colorsModule:C,levenshteinDistance:w})),A.alias&&D&&k.push(t.AliasSchema.create({name:A.alias,sourceName:A.name}));return k}function c(g,p){let{isCLI:D,optionInfos:C,colorsModule:w,levenshteinDistance:k}=p,{name:A}=g;if(A==="plugin-search-dir"||A==="pluginSearchDirs")return t.AnySchema.create({name:A,preprocess(_){return _===!1||(_=Array.isArray(_)?_:[_]),_},validate(_){return _===!1?!0:_.every(J=>typeof J=="string")},expected(){return"false or paths to plugin search dir"}});let N={name:A},x,P={};switch(g.type){case"int":x=t.IntegerSchema,D&&(N.preprocess=Number);break;case"string":x=t.StringSchema;break;case"choice":x=t.ChoiceSchema,N.choices=g.choices.map(_=>typeof _=="object"&&_.redirect?Object.assign(Object.assign({},_),{},{redirect:{to:{key:g.name,value:_.redirect}}}):_);break;case"boolean":x=t.BooleanSchema;break;case"flag":x=e({colorsModule:w,levenshteinDistance:k}),N.flags=C.flatMap(_=>[_.alias,_.description&&_.name,_.oppositeDescription&&`no-${_.name}`].filter(Boolean));break;case"path":x=t.StringSchema;break;default:throw new Error(`Unexpected type ${g.type}`)}if(g.exception?N.validate=(_,J,d)=>g.exception(_)||J.validate(_,d):N.validate=(_,J,d)=>_===void 0||J.validate(_,d),g.redirect&&(P.redirect=_=>_?{to:{key:g.redirect.option,value:g.redirect.value}}:void 0),g.deprecated&&(P.deprecated=!0),D&&!g.array){let _=N.preprocess||(J=>J);N.preprocess=(J,d,T)=>d.preprocess(_(Array.isArray(J)?a(J):J),T)}return g.array?t.ArraySchema.create(Object.assign(Object.assign(Object.assign({},D?{preprocess:_=>Array.isArray(_)?_:[_]}:{}),P),{},{valueSchema:x.create(N)})):x.create(Object.assign(Object.assign({},N),P))}function y(g,p,D){return n(g,p,D)}function m(g,p,D){return n(g,p,Object.assign({isCLI:!0},D))}l.exports={normalizeApiOptions:y,normalizeCliOptions:m}}}),or=$({"src/language-js/loc.js"(u,l){ue();var t=uu();function a(o){var c,y;let m=o.range?o.range[0]:o.start,g=(c=(y=o.declaration)===null||y===void 0?void 0:y.decorators)!==null&&c!==void 0?c:o.decorators;return t(g)?Math.min(a(g[0]),m):m}function s(o){return o.range?o.range[1]:o.end}function e(o,c){let y=a(o);return Number.isInteger(y)&&y===a(c)}function r(o,c){let y=s(o);return Number.isInteger(y)&&y===s(c)}function n(o,c){return e(o,c)&&r(o,c)}l.exports={locStart:a,locEnd:s,hasSameLocStart:e,hasSameLoc:n}}}),lt=$({"src/main/load-parser.js"(u,l){ue(),l.exports=()=>{}}}),mt=$({"scripts/build/shims/babel-highlight.cjs"(u,l){ue();var t=yt(),a={shouldHighlight:()=>!1,getChalk:()=>t};l.exports=a}}),St=$({"node_modules/@babel/code-frame/lib/index.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0}),u.codeFrameColumns=r,u.default=n;var l=mt(),t=!1;function a(o){return{gutter:o.grey,marker:o.red.bold,message:o.red.bold}}var s=/\r\n|[\n\r\u2028\u2029]/;function e(o,c,y){let m=Object.assign({column:0,line:-1},o.start),g=Object.assign({},m,o.end),{linesAbove:p=2,linesBelow:D=3}=y||{},C=m.line,w=m.column,k=g.line,A=g.column,N=Math.max(C-(p+1),0),x=Math.min(c.length,k+D);C===-1&&(N=0),k===-1&&(x=c.length);let P=k-C,_={};if(P)for(let J=0;J<=P;J++){let d=J+C;if(!w)_[d]=!0;else if(J===0){let T=c[d-1].length;_[d]=[w,T-w+1]}else if(J===P)_[d]=[0,A];else{let T=c[d-J].length;_[d]=[0,T]}}else w===A?w?_[C]=[w,0]:_[C]=!0:_[C]=[w,A-w];return{start:N,end:x,markerLines:_}}function r(o,c){let y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},m=(y.highlightCode||y.forceColor)&&(0,l.shouldHighlight)(y),g=(0,l.getChalk)(y),p=a(g),D=(_,J)=>m?_(J):J,C=o.split(s),{start:w,end:k,markerLines:A}=e(c,C,y),N=c.start&&typeof c.start.column=="number",x=String(k).length,P=(m?(0,l.default)(o,y):o).split(s,k).slice(w,k).map((_,J)=>{let d=w+1+J,T=` ${` ${d}`.slice(-x)} |`,f=A[d],F=!A[d+1];if(f){let i="";if(Array.isArray(f)){let h=_.slice(0,Math.max(f[0]-1,0)).replace(/[^\t]/g," "),E=f[1]||1;i=[` + `,D(p.gutter,T.replace(/\d/g," "))," ",h,D(p.marker,"^").repeat(E)].join(""),F&&y.message&&(i+=" "+D(p.message,y.message))}return[D(p.marker,">"),D(p.gutter,T),_.length>0?` ${_}`:"",i].join("")}else return` ${D(p.gutter,T)}${_.length>0?` ${_}`:""}`}).join(` +`);return y.message&&!N&&(P=`${" ".repeat(x+1)}${y.message} +${P}`),m?g.reset(P):P}function n(o,c,y){let m=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(!t){t=!0;let g="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";if(Zt.emitWarning)Zt.emitWarning(g,"DeprecationWarning");else{let p=new Error(g);p.name="DeprecationWarning",console.warn(new Error(g))}}return y=Math.max(y,0),r(o,{start:{column:y,line:c}},m)}}}),xt=$({"src/main/parser.js"(u,l){ue();var{ConfigError:t}=Fn(),a=or();lt();var{locStart:s,locEnd:e}=a,r=Object.getOwnPropertyNames,n=Object.getOwnPropertyDescriptor;function o(m){let g={};for(let p of m.plugins)if(p.parsers)for(let D of r(p.parsers))Object.defineProperty(g,D,n(p.parsers,D));return g}function c(m){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:o(m);if(typeof m.parser=="function")return{parse:m.parser,astFormat:"estree",locStart:s,locEnd:e};if(typeof m.parser=="string"){if(Object.prototype.hasOwnProperty.call(g,m.parser))return g[m.parser];throw new t(`Couldn't resolve parser "${m.parser}". Parsers must be explicitly added to the standalone bundle.`)}}function y(m,g){let p=o(g),D=Object.defineProperties({},Object.fromEntries(Object.keys(p).map(w=>[w,{enumerable:!0,get(){return p[w].parse}}]))),C=c(g,p);try{return C.preprocess&&(m=C.preprocess(m,g)),{text:m,ast:C.parse(m,D,g)}}catch(w){let{loc:k}=w;if(k){let{codeFrameColumns:A}=St();throw w.codeFrame=A(m,k,{highlightCode:!0}),w.message+=` +`+w.codeFrame,w}throw w}}l.exports={parse:y,resolveParser:c}}}),Kt=$({"src/main/options.js"(u,l){ue();var t=Yi(),{UndefinedParserError:a}=Fn(),{getSupportInfo:s}=nu(),e=Mr(),{resolveParser:r}=xt(),n={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};function o(m){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},p=Object.assign({},m),D=s({plugins:m.plugins,showUnreleased:!0,showDeprecated:!0}).options,C=Object.assign(Object.assign({},n),Object.fromEntries(D.filter(x=>x.default!==void 0).map(x=>[x.name,x.default])));if(!p.parser){if(!p.filepath)(g.logger||console).warn("No parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred."),p.parser="babel";else if(p.parser=y(p.filepath,p.plugins),!p.parser)throw new a(`No parser could be inferred for file: ${p.filepath}`)}let w=r(e.normalizeApiOptions(p,[D.find(x=>x.name==="parser")],{passThrough:!0,logger:!1}));p.astFormat=w.astFormat,p.locEnd=w.locEnd,p.locStart=w.locStart;let k=c(p);p.printer=k.printers[p.astFormat];let A=Object.fromEntries(D.filter(x=>x.pluginDefaults&&x.pluginDefaults[k.name]!==void 0).map(x=>[x.name,x.pluginDefaults[k.name]])),N=Object.assign(Object.assign({},C),A);for(let[x,P]of Object.entries(N))(p[x]===null||p[x]===void 0)&&(p[x]=P);return p.parser==="json"&&(p.trailingComma="none"),e.normalizeApiOptions(p,D,Object.assign({passThrough:Object.keys(n)},g))}function c(m){let{astFormat:g}=m;if(!g)throw new Error("getPlugin() requires astFormat to be set");let p=m.plugins.find(D=>D.printers&&D.printers[g]);if(!p)throw new Error(`Couldn't find plugin for AST format "${g}"`);return p}function y(m,g){let p=t.basename(m).toLowerCase(),D=s({plugins:g}).languages.filter(C=>C.since!==null).find(C=>C.extensions&&C.extensions.some(w=>p.endsWith(w))||C.filenames&&C.filenames.some(w=>w.toLowerCase()===p));return D&&D.parsers[0]}l.exports={normalize:o,hiddenDefaults:n,inferParser:y}}}),sr=$({"src/main/massage-ast.js"(u,l){ue();function t(a,s,e){if(Array.isArray(a))return a.map(c=>t(c,s,e)).filter(Boolean);if(!a||typeof a!="object")return a;let r=s.printer.massageAstNode,n;r&&r.ignoredProperties?n=r.ignoredProperties:n=new Set;let o={};for(let[c,y]of Object.entries(a))!n.has(c)&&typeof y!="function"&&(o[c]=t(y,s,a));if(r){let c=r(a,o,e);if(c===null)return;if(c)return c}return o}l.exports=t}}),lr=$({"scripts/build/shims/assert.cjs"(u,l){ue();var t=()=>{};t.ok=t,t.strictEqual=t,l.exports=t}}),Qt=$({"src/main/comments.js"(u,l){ue();var t=lr(),{builders:{line:a,hardline:s,breakParent:e,indent:r,lineSuffix:n,join:o,cursor:c}}=wt(),{hasNewline:y,skipNewline:m,skipSpaces:g,isPreviousLineEmpty:p,addLeadingComment:D,addDanglingComment:C,addTrailingComment:w}=Gt(),k=new WeakMap;function A(I,q,G){if(!I)return;let{printer:M,locStart:te,locEnd:j}=q;if(G){if(M.canAttachComment&&M.canAttachComment(I)){let U;for(U=G.length-1;U>=0&&!(te(G[U])<=te(I)&&j(G[U])<=j(I));--U);G.splice(U+1,0,I);return}}else if(k.has(I))return k.get(I);let De=M.getCommentChildNodes&&M.getCommentChildNodes(I,q)||typeof I=="object"&&Object.entries(I).filter(U=>{let[R]=U;return R!=="enclosingNode"&&R!=="precedingNode"&&R!=="followingNode"&&R!=="tokens"&&R!=="comments"&&R!=="parent"}).map(U=>{let[,R]=U;return R});if(De){G||(G=[],k.set(I,G));for(let U of De)A(U,q,G);return G}}function N(I,q,G,M){let{locStart:te,locEnd:j}=G,De=te(q),U=j(q),R=A(I,G),pe,be,fe=0,Ie=R.length;for(;fe>1,se=R[X],we=te(se),_e=j(se);if(we<=De&&U<=_e)return N(se,q,G,se);if(_e<=De){pe=se,fe=X+1;continue}if(U<=we){be=se,Ie=X;continue}throw new Error("Comment location overlaps with node location")}if(M&&M.type==="TemplateLiteral"){let{quasis:X}=M,se=F(X,q,G);pe&&F(X,pe,G)!==se&&(pe=null),be&&F(X,be,G)!==se&&(be=null)}return{enclosingNode:M,precedingNode:pe,followingNode:be}}var x=()=>!1;function P(I,q,G,M){if(!Array.isArray(I))return;let te=[],{locStart:j,locEnd:De,printer:{handleComments:U={}}}=M,{avoidAstMutation:R,ownLine:pe=x,endOfLine:be=x,remaining:fe=x}=U,Ie=I.map((X,se)=>Object.assign(Object.assign({},N(q,X,M)),{},{comment:X,text:G,options:M,ast:q,isLastComment:I.length-1===se}));for(let[X,se]of Ie.entries()){let{comment:we,precedingNode:_e,enclosingNode:it,followingNode:ae,text:Q,options:me,ast:Ce,isLastComment:Re}=se;if(me.parser==="json"||me.parser==="json5"||me.parser==="__js_expression"||me.parser==="__vue_expression"||me.parser==="__vue_ts_expression"){if(j(we)-j(Ce)<=0){D(Ce,we);continue}if(De(we)-De(Ce)>=0){w(Ce,we);continue}}let Xe;if(R?Xe=[se]:(we.enclosingNode=it,we.precedingNode=_e,we.followingNode=ae,Xe=[we,Q,me,Ce,Re]),J(Q,me,Ie,X))we.placement="ownLine",pe(...Xe)||(ae?D(ae,we):_e?w(_e,we):C(it||Ce,we));else if(d(Q,me,Ie,X))we.placement="endOfLine",be(...Xe)||(_e?w(_e,we):ae?D(ae,we):C(it||Ce,we));else if(we.placement="remaining",!fe(...Xe))if(_e&&ae){let Ye=te.length;Ye>0&&te[Ye-1].followingNode!==ae&&T(te,Q,me),te.push(se)}else _e?w(_e,we):ae?D(ae,we):C(it||Ce,we)}if(T(te,G,M),!R)for(let X of I)delete X.precedingNode,delete X.enclosingNode,delete X.followingNode}var _=I=>!/[\S\n\u2028\u2029]/.test(I);function J(I,q,G,M){let{comment:te,precedingNode:j}=G[M],{locStart:De,locEnd:U}=q,R=De(te);if(j)for(let pe=M-1;pe>=0;pe--){let{comment:be,precedingNode:fe}=G[pe];if(fe!==j||!_(I.slice(U(be),R)))break;R=De(be)}return y(I,R,{backwards:!0})}function d(I,q,G,M){let{comment:te,followingNode:j}=G[M],{locStart:De,locEnd:U}=q,R=U(te);if(j)for(let pe=M+1;pe0;--pe){let{comment:be,precedingNode:fe,followingNode:Ie}=I[pe-1];t.strictEqual(fe,te),t.strictEqual(Ie,j);let X=q.slice(G.locEnd(be),R);if(U.test(X))R=G.locStart(be);else break}for(let[be,{comment:fe}]of I.entries())be1&&be.comments.sort((fe,Ie)=>G.locStart(fe)-G.locStart(Ie));I.length=0}function f(I,q){let G=I.getValue();return G.printed=!0,q.printer.printComment(I,q)}function F(I,q,G){let M=G.locStart(q)-1;for(let te=1;te{let De=I.getValue();!De.leading&&!De.trailing&&(!M||M(De))&&te.push(f(I,q))},"comments"),te.length===0)?"":G?o(s,te):r([s,o(s,te)])}function b(I,q,G){let M=I.getValue();if(!M)return{};let te=M.comments||[];G&&(te=te.filter(R=>!G.has(R)));let j=M===q.cursorNode;if(te.length===0){let R=j?c:"";return{leading:R,trailing:R}}let De=[],U=[];return I.each(()=>{let R=I.getValue();if(G&&G.has(R))return;let{leading:pe,trailing:be}=R;pe?De.push(i(I,q)):be&&U.push(h(I,q))},"comments"),j&&(De.unshift(c),U.push(c)),{leading:De,trailing:U}}function S(I,q,G,M){let{leading:te,trailing:j}=b(I,G,M);return!te&&!j?q:[te,q,j]}function B(I){if(I)for(let q of I){if(!q.printed)throw new Error('Comment "'+q.value.trim()+'" was not printed. Please report this error!');delete q.printed}}l.exports={attach:P,printComments:S,printCommentsSeparately:b,printDanglingComments:E,getSortedChildNodes:A,ensureAllCommentsPrinted:B}}}),Kr=$({"src/common/ast-path.js"(u,l){ue();var t=mr();function a(r,n){let o=s(r.stack,n);return o===-1?null:r.stack[o]}function s(r,n){for(let o=r.length-1;o>=0;o-=2){let c=r[o];if(c&&!Array.isArray(c)&&--n<0)return o}return-1}var e=class{constructor(r){this.stack=[r]}getName(){let{stack:r}=this,{length:n}=r;return n>1?r[n-2]:null}getValue(){return t(this.stack)}getNode(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return a(this,r)}getParentNode(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return a(this,r+1)}call(r){let{stack:n}=this,{length:o}=n,c=t(n);for(var y=arguments.length,m=new Array(y>1?y-1:0),g=1;g1&&arguments[1]!==void 0?arguments[1]:0,o=s(this.stack,n+1),c=this.stack.splice(o+1),y=r(this);return this.stack.push(...c),y}each(r){let{stack:n}=this,{length:o}=n,c=t(n);for(var y=arguments.length,m=new Array(y>1?y-1:0),g=1;g1?o-1:0),y=1;y{n[g]=r(m,g,p)},...c),n}try(r){let{stack:n}=this,o=[...n];try{return r()}finally{n.length=0,n.push(...o)}}match(){let r=this.stack.length-1,n=null,o=this.stack[r--];for(var c=arguments.length,y=new Array(c),m=0;mr(m,g,c,y,p),c)}function r(n,o,c,y){let{stripTrailingHardline:m=!1}=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{},g=a(Object.assign(Object.assign(Object.assign({},c),o),{},{parentParser:c.parser,originalText:n}),{passThrough:!0}),p=xt().parse(n,g),{ast:D}=p;n=p.text;let C=D.comments;delete D.comments,s.attach(C,D,n,g),g[Symbol.for("comments")]=C||[],g[Symbol.for("tokens")]=D.tokens||[];let w=y(D,g);return s.ensureAllCommentsPrinted(C),m?typeof w=="string"?w.replace(/(?:\r?\n)*$/,""):t(w):w}l.exports={printSubtree:e}}}),In=$({"src/main/ast-to-doc.js"(u,l){ue();var t=Kr(),{builders:{hardline:a,addAlignmentToDoc:s},utils:{propagateBreaks:e}}=wt(),{printComments:r}=Qt(),n=Pn();function o(m,g){let p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,{printer:D}=g;D.preprocess&&(m=D.preprocess(m,g));let C=new Map,w=new t(m),k=A();return p>0&&(k=s([a,k],p,g.tabWidth)),e(k),k;function A(x,P){return x===void 0||x===w?N(P):Array.isArray(x)?w.call(()=>N(P),...x):w.call(()=>N(P),x)}function N(x){let P=w.getValue(),_=P&&typeof P=="object"&&x===void 0;if(_&&C.has(P))return C.get(P);let J=y(w,g,A,x);return _&&C.set(P,J),J}}function c(m,g){let{originalText:p,[Symbol.for("comments")]:D,locStart:C,locEnd:w}=g,k=C(m),A=w(m),N=new Set;for(let x of D)C(x)>=k&&w(x)<=A&&(x.printed=!0,N.add(x));return{doc:p.slice(k,A),printedComments:N}}function y(m,g,p,D){let C=m.getValue(),{printer:w}=g,k,A;if(w.hasPrettierIgnore&&w.hasPrettierIgnore(m))({doc:k,printedComments:A}=c(C,g));else{if(C)try{k=n.printSubtree(m,p,g,o)}catch(N){if(globalThis.PRETTIER_DEBUG)throw N}k||(k=w.print(m,g,p,D))}return(!w.willPrintOwnComments||!w.willPrintOwnComments(m,g))&&(k=r(m,k,g,A)),k}l.exports=o}}),Hu=$({"src/main/range-util.js"(u,l){ue();var t=lr(),a=Qt(),s=D=>{let{parser:C}=D;return C==="json"||C==="json5"||C==="json-stringify"};function e(D,C){let w=[D.node,...D.parentNodes],k=new Set([C.node,...C.parentNodes]);return w.find(A=>y.has(A.type)&&k.has(A))}function r(D){let C=D.length-1;for(;;){let w=D[C];if(w&&(w.type==="Program"||w.type==="File"))C--;else break}return D.slice(0,C+1)}function n(D,C,w){let{locStart:k,locEnd:A}=w,N=D.node,x=C.node;if(N===x)return{startNode:N,endNode:x};let P=k(D.node);for(let J of r(C.parentNodes))if(k(J)>=P)x=J;else break;let _=A(C.node);for(let J of r(D.parentNodes)){if(A(J)<=_)N=J;else break;if(N===x)break}return{startNode:N,endNode:x}}function o(D,C,w,k){let A=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],N=arguments.length>5?arguments[5]:void 0,{locStart:x,locEnd:P}=w,_=x(D),J=P(D);if(!(C>J||C<_||N==="rangeEnd"&&C===_||N==="rangeStart"&&C===J)){for(let d of a.getSortedChildNodes(D,w)){let T=o(d,C,w,k,[D,...A],N);if(T)return T}if(!k||k(D,A[0]))return{node:D,parentNodes:A}}}function c(D,C){return C!=="DeclareExportDeclaration"&&D!=="TypeParameterDeclaration"&&(D==="Directive"||D==="TypeAlias"||D==="TSExportAssignment"||D.startsWith("Declare")||D.startsWith("TSDeclare")||D.endsWith("Statement")||D.endsWith("Declaration"))}var y=new Set(["ObjectExpression","ArrayExpression","StringLiteral","NumericLiteral","BooleanLiteral","NullLiteral","UnaryExpression","TemplateLiteral"]),m=new Set(["OperationDefinition","FragmentDefinition","VariableDefinition","TypeExtensionDefinition","ObjectTypeDefinition","FieldDefinition","DirectiveDefinition","EnumTypeDefinition","EnumValueDefinition","InputValueDefinition","InputObjectTypeDefinition","SchemaDefinition","OperationTypeDefinition","InterfaceTypeDefinition","UnionTypeDefinition","ScalarTypeDefinition"]);function g(D,C,w){if(!C)return!1;switch(D.parser){case"flow":case"babel":case"babel-flow":case"babel-ts":case"typescript":case"acorn":case"espree":case"meriyah":case"__babel_estree":return c(C.type,w&&w.type);case"json":case"json5":case"json-stringify":return y.has(C.type);case"graphql":return m.has(C.kind);case"vue":return C.tag!=="root"}return!1}function p(D,C,w){let{rangeStart:k,rangeEnd:A,locStart:N,locEnd:x}=C;t.ok(A>k);let P=D.slice(k,A).search(/\S/),_=P===-1;if(!_)for(k+=P;A>k&&!/\S/.test(D[A-1]);--A);let J=o(w,k,C,(F,i)=>g(C,F,i),[],"rangeStart"),d=_?J:o(w,A,C,F=>g(C,F),[],"rangeEnd");if(!J||!d)return{rangeStart:0,rangeEnd:0};let T,f;if(s(C)){let F=e(J,d);T=F,f=F}else({startNode:T,endNode:f}=n(J,d,C));return{rangeStart:Math.min(N(T),N(f)),rangeEnd:Math.max(x(T),x(f))}}l.exports={calculateRange:p,findNodeAtOffset:o}}}),Yu=$({"src/main/core.js"(u,l){ue();var{diffArrays:t}=zr(),{printer:{printDocToString:a},debug:{printDocToDebug:s}}=wt(),{getAlignmentSize:e}=Gt(),{guessEndOfLine:r,convertEndOfLineToChars:n,countEndOfLineChars:o,normalizeEndOfLine:c}=Rr(),y=Kt().normalize,m=sr(),g=Qt(),p=xt(),D=In(),C=Hu(),w="\uFEFF",k=Symbol("cursor");function A(f,F,i){let h=F.comments;return h&&(delete F.comments,g.attach(h,F,f,i)),i[Symbol.for("comments")]=h||[],i[Symbol.for("tokens")]=F.tokens||[],i.originalText=f,h}function N(f,F){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(!f||f.trim().length===0)return{formatted:"",cursorOffset:-1,comments:[]};let{ast:h,text:E}=p.parse(f,F);if(F.cursorOffset>=0){let I=C.findNodeAtOffset(h,F.cursorOffset,F);I&&I.node&&(F.cursorNode=I.node)}let b=A(E,h,F),S=D(h,F,i),B=a(S,F);if(g.ensureAllCommentsPrinted(b),i>0){let I=B.formatted.trim();B.cursorNodeStart!==void 0&&(B.cursorNodeStart-=B.formatted.indexOf(I)),B.formatted=I+n(F.endOfLine)}if(F.cursorOffset>=0){let I,q,G,M,te;if(F.cursorNode&&B.cursorNodeText?(I=F.locStart(F.cursorNode),q=E.slice(I,F.locEnd(F.cursorNode)),G=F.cursorOffset-I,M=B.cursorNodeStart,te=B.cursorNodeText):(I=0,q=E,G=F.cursorOffset,M=0,te=B.formatted),q===te)return{formatted:B.formatted,cursorOffset:M+G,comments:b};let j=[...q];j.splice(G,0,k);let De=[...te],U=t(j,De),R=M;for(let pe of U)if(pe.removed){if(pe.value.includes(k))break}else R+=pe.count;return{formatted:B.formatted,cursorOffset:R,comments:b}}return{formatted:B.formatted,cursorOffset:-1,comments:b}}function x(f,F){let{ast:i,text:h}=p.parse(f,F),{rangeStart:E,rangeEnd:b}=C.calculateRange(h,F,i),S=h.slice(E,b),B=Math.min(E,h.lastIndexOf(` +`,E)+1),I=h.slice(B,E).match(/^\s*/)[0],q=e(I,F.tabWidth),G=N(S,Object.assign(Object.assign({},F),{},{rangeStart:0,rangeEnd:Number.POSITIVE_INFINITY,cursorOffset:F.cursorOffset>E&&F.cursorOffset<=b?F.cursorOffset-E:-1,endOfLine:"lf"}),q),M=G.formatted.trimEnd(),{cursorOffset:te}=F;te>b?te+=M.length-S.length:G.cursorOffset>=0&&(te=G.cursorOffset+E);let j=h.slice(0,E)+M+h.slice(b);if(F.endOfLine!=="lf"){let De=n(F.endOfLine);te>=0&&De===`\r +`&&(te+=o(j.slice(0,te),` +`)),j=j.replace(/\n/g,De)}return{formatted:j,cursorOffset:te,comments:G.comments}}function P(f,F,i){return typeof F!="number"||Number.isNaN(F)||F<0||F>f.length?i:F}function _(f,F){let{cursorOffset:i,rangeStart:h,rangeEnd:E}=F;return i=P(f,i,-1),h=P(f,h,0),E=P(f,E,f.length),Object.assign(Object.assign({},F),{},{cursorOffset:i,rangeStart:h,rangeEnd:E})}function J(f,F){let{cursorOffset:i,rangeStart:h,rangeEnd:E,endOfLine:b}=_(f,F),S=f.charAt(0)===w;if(S&&(f=f.slice(1),i--,h--,E--),b==="auto"&&(b=r(f)),f.includes("\r")){let B=I=>o(f.slice(0,Math.max(I,0)),`\r +`);i-=B(i),h-=B(h),E-=B(E),f=c(f)}return{hasBOM:S,text:f,options:_(f,Object.assign(Object.assign({},F),{},{cursorOffset:i,rangeStart:h,rangeEnd:E,endOfLine:b}))}}function d(f,F){let i=p.resolveParser(F);return!i.hasPragma||i.hasPragma(f)}function T(f,F){let{hasBOM:i,text:h,options:E}=J(f,y(F));if(E.rangeStart>=E.rangeEnd&&h!==""||E.requirePragma&&!d(h,E))return{formatted:f,cursorOffset:F.cursorOffset,comments:[]};let b;return E.rangeStart>0||E.rangeEnd=0&&b.cursorOffset++),b}l.exports={formatWithCursor:T,parse(f,F,i){let{text:h,options:E}=J(f,y(F)),b=p.parse(h,E);return i&&(b.ast=m(b.ast,E)),b},formatAST(f,F){F=y(F);let i=D(f,F);return a(i,F)},formatDoc(f,F){return T(s(f),Object.assign(Object.assign({},F),{},{parser:"__js_expression"})).formatted},printToDoc(f,F){F=y(F);let{ast:i,text:h}=p.parse(f,F);return A(h,i,F),D(i,F)},printDocToString(f,F){return a(f,y(F))}}}}),Ku=$({"src/common/util-shared.js"(u,l){ue();var{getMaxContinuousCount:t,getStringWidth:a,getAlignmentSize:s,getIndentSize:e,skip:r,skipWhitespace:n,skipSpaces:o,skipNewline:c,skipToLineEnd:y,skipEverythingButNewLine:m,skipInlineComment:g,skipTrailingComment:p,hasNewline:D,hasNewlineInRange:C,hasSpaces:w,isNextLineEmpty:k,isNextLineEmptyAfterIndex:A,isPreviousLineEmpty:N,getNextNonSpaceNonCommentCharacterIndex:x,makeString:P,addLeadingComment:_,addDanglingComment:J,addTrailingComment:d}=Gt();l.exports={getMaxContinuousCount:t,getStringWidth:a,getAlignmentSize:s,getIndentSize:e,skip:r,skipWhitespace:n,skipSpaces:o,skipNewline:c,skipToLineEnd:y,skipEverythingButNewLine:m,skipInlineComment:g,skipTrailingComment:p,hasNewline:D,hasNewlineInRange:C,hasSpaces:w,isNextLineEmpty:k,isNextLineEmptyAfterIndex:A,isPreviousLineEmpty:N,getNextNonSpaceNonCommentCharacterIndex:x,makeString:P,addLeadingComment:_,addDanglingComment:J,addTrailingComment:d}}}),vr=$({"src/utils/create-language.js"(u,l){ue(),l.exports=function(t,a){let{languageId:s}=t,e=ne(t,Y);return Object.assign(Object.assign({linguistLanguageId:s},e),a(t))}}}),Qr=$({"node_modules/esutils/lib/ast.js"(u,l){ue(),function(){function t(o){if(o==null)return!1;switch(o.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1}function a(o){if(o==null)return!1;switch(o.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1}function s(o){if(o==null)return!1;switch(o.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function e(o){return s(o)||o!=null&&o.type==="FunctionDeclaration"}function r(o){switch(o.type){case"IfStatement":return o.alternate!=null?o.alternate:o.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return o.body}return null}function n(o){var c;if(o.type!=="IfStatement"||o.alternate==null)return!1;c=o.consequent;do{if(c.type==="IfStatement"&&c.alternate==null)return!0;c=r(c)}while(c);return!1}l.exports={isExpression:t,isStatement:s,isIterationStatement:a,isSourceElement:e,isProblematicIfStatement:n,trailingStatement:r}}()}}),cn=$({"node_modules/esutils/lib/code.js"(u,l){ue(),function(){var t,a,s,e,r,n;a={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};function o(A){return 48<=A&&A<=57}function c(A){return 48<=A&&A<=57||97<=A&&A<=102||65<=A&&A<=70}function y(A){return A>=48&&A<=55}s=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];function m(A){return A===32||A===9||A===11||A===12||A===160||A>=5760&&s.indexOf(A)>=0}function g(A){return A===10||A===13||A===8232||A===8233}function p(A){if(A<=65535)return String.fromCharCode(A);var N=String.fromCharCode(Math.floor((A-65536)/1024)+55296),x=String.fromCharCode((A-65536)%1024+56320);return N+x}for(e=new Array(128),n=0;n<128;++n)e[n]=n>=97&&n<=122||n>=65&&n<=90||n===36||n===95;for(r=new Array(128),n=0;n<128;++n)r[n]=n>=97&&n<=122||n>=65&&n<=90||n>=48&&n<=57||n===36||n===95;function D(A){return A<128?e[A]:a.NonAsciiIdentifierStart.test(p(A))}function C(A){return A<128?r[A]:a.NonAsciiIdentifierPart.test(p(A))}function w(A){return A<128?e[A]:t.NonAsciiIdentifierStart.test(p(A))}function k(A){return A<128?r[A]:t.NonAsciiIdentifierPart.test(p(A))}l.exports={isDecimalDigit:o,isHexDigit:c,isOctalDigit:y,isWhiteSpace:m,isLineTerminator:g,isIdentifierStartES5:D,isIdentifierPartES5:C,isIdentifierStartES6:w,isIdentifierPartES6:k}}()}}),ra=$({"node_modules/esutils/lib/keyword.js"(u,l){ue(),function(){var t=cn();function a(D){switch(D){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}function s(D,C){return!C&&D==="yield"?!1:e(D,C)}function e(D,C){if(C&&a(D))return!0;switch(D.length){case 2:return D==="if"||D==="in"||D==="do";case 3:return D==="var"||D==="for"||D==="new"||D==="try";case 4:return D==="this"||D==="else"||D==="case"||D==="void"||D==="with"||D==="enum";case 5:return D==="while"||D==="break"||D==="catch"||D==="throw"||D==="const"||D==="yield"||D==="class"||D==="super";case 6:return D==="return"||D==="typeof"||D==="delete"||D==="switch"||D==="export"||D==="import";case 7:return D==="default"||D==="finally"||D==="extends";case 8:return D==="function"||D==="continue"||D==="debugger";case 10:return D==="instanceof";default:return!1}}function r(D,C){return D==="null"||D==="true"||D==="false"||s(D,C)}function n(D,C){return D==="null"||D==="true"||D==="false"||e(D,C)}function o(D){return D==="eval"||D==="arguments"}function c(D){var C,w,k;if(D.length===0||(k=D.charCodeAt(0),!t.isIdentifierStartES5(k)))return!1;for(C=1,w=D.length;C=w||(A=D.charCodeAt(C),!(56320<=A&&A<=57343)))return!1;k=y(k,A)}if(!N(k))return!1;N=t.isIdentifierPartES6}return!0}function g(D,C){return c(D)&&!r(D,C)}function p(D,C){return m(D)&&!n(D,C)}l.exports={isKeywordES5:s,isKeywordES6:e,isReservedWordES5:r,isReservedWordES6:n,isRestrictedWord:o,isIdentifierNameES5:c,isIdentifierNameES6:m,isIdentifierES5:g,isIdentifierES6:p}}()}}),na=$({"node_modules/esutils/lib/utils.js"(u){ue(),function(){u.ast=Qr(),u.code=cn(),u.keyword=ra()}()}}),vn=$({"src/language-js/utils/is-block-comment.js"(u,l){ue();var t=new Set(["Block","CommentBlock","MultiLine"]),a=s=>t.has(s==null?void 0:s.type);l.exports=a}}),ua=$({"src/language-js/utils/is-node-matches.js"(u,l){ue();function t(s,e){let r=e.split(".");for(let n=r.length-1;n>=0;n--){let o=r[n];if(n===0)return s.type==="Identifier"&&s.name===o;if(s.type!=="MemberExpression"||s.optional||s.computed||s.property.type!=="Identifier"||s.property.name!==o)return!1;s=s.object}}function a(s,e){return e.some(r=>t(s,r))}l.exports=a}}),ur=$({"src/language-js/utils/index.js"(u,l){ue();var t=na().keyword.isIdentifierNameES5,{getLast:a,hasNewline:s,skipWhitespace:e,isNonEmptyArray:r,isNextLineEmptyAfterIndex:n,getStringWidth:o}=Gt(),{locStart:c,locEnd:y,hasSameLocStart:m}=or(),g=vn(),p=ua(),D="(?:(?=.)\\s)",C=new RegExp(`^${D}*:`),w=new RegExp(`^${D}*::`);function k(O){var $e,vt;return(($e=O.extra)===null||$e===void 0?void 0:$e.parenthesized)&&g((vt=O.trailingComments)===null||vt===void 0?void 0:vt[0])&&C.test(O.trailingComments[0].value)}function A(O){let $e=O==null?void 0:O[0];return g($e)&&w.test($e.value)}function N(O,$e){if(!O||typeof O!="object")return!1;if(Array.isArray(O))return O.some(zt=>N(zt,$e));let vt=$e(O);return typeof vt=="boolean"?vt:Object.values(O).some(zt=>N(zt,$e))}function x(O){return O.type==="AssignmentExpression"||O.type==="BinaryExpression"||O.type==="LogicalExpression"||O.type==="NGPipeExpression"||O.type==="ConditionalExpression"||we(O)||_e(O)||O.type==="SequenceExpression"||O.type==="TaggedTemplateExpression"||O.type==="BindExpression"||O.type==="UpdateExpression"&&!O.prefix||Ur(O)||O.type==="TSNonNullExpression"}function P(O){var $e,vt,zt,Ht,jr,cr;return O.expressions?O.expressions[0]:($e=(vt=(zt=(Ht=(jr=(cr=O.left)!==null&&cr!==void 0?cr:O.test)!==null&&jr!==void 0?jr:O.callee)!==null&&Ht!==void 0?Ht:O.object)!==null&&zt!==void 0?zt:O.tag)!==null&&vt!==void 0?vt:O.argument)!==null&&$e!==void 0?$e:O.expression}function _(O,$e){if($e.expressions)return["expressions",0];if($e.left)return["left"];if($e.test)return["test"];if($e.object)return["object"];if($e.callee)return["callee"];if($e.tag)return["tag"];if($e.argument)return["argument"];if($e.expression)return["expression"];throw new Error("Unexpected node has no left side.")}function J(O){return O=new Set(O),$e=>O.has($e==null?void 0:$e.type)}var d=J(["Line","CommentLine","SingleLine","HashbangComment","HTMLOpen","HTMLClose"]),T=J(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function f(O){let $e=O.getParentNode();return O.getName()==="declaration"&&T($e)?$e:null}var F=J(["BooleanLiteral","DirectiveLiteral","Literal","NullLiteral","NumericLiteral","BigIntLiteral","DecimalLiteral","RegExpLiteral","StringLiteral","TemplateLiteral","TSTypeLiteral","JSXText"]);function i(O){return O.type==="NumericLiteral"||O.type==="Literal"&&typeof O.value=="number"}function h(O){return O.type==="UnaryExpression"&&(O.operator==="+"||O.operator==="-")&&i(O.argument)}function E(O){return O.type==="StringLiteral"||O.type==="Literal"&&typeof O.value=="string"}var b=J(["ObjectTypeAnnotation","TSTypeLiteral","TSMappedType"]),S=J(["FunctionExpression","ArrowFunctionExpression"]);function B(O){return O.type==="FunctionExpression"||O.type==="ArrowFunctionExpression"&&O.body.type==="BlockStatement"}function I(O){return we(O)&&O.callee.type==="Identifier"&&["async","inject","fakeAsync","waitForAsync"].includes(O.callee.name)}var q=J(["JSXElement","JSXFragment"]);function G(O,$e){if(O.parentParser!=="markdown"&&O.parentParser!=="mdx")return!1;let vt=$e.getNode();if(!vt.expression||!q(vt.expression))return!1;let zt=$e.getParentNode();return zt.type==="Program"&&zt.body.length===1}function M(O){return O.kind==="get"||O.kind==="set"}function te(O){return M(O)||m(O,O.value)}function j(O){return(O.type==="ObjectTypeProperty"||O.type==="ObjectTypeInternalSlot")&&O.value.type==="FunctionTypeAnnotation"&&!O.static&&!te(O)}function De(O){return(O.type==="TypeAnnotation"||O.type==="TSTypeAnnotation")&&O.typeAnnotation.type==="FunctionTypeAnnotation"&&!O.static&&!m(O,O.typeAnnotation)}var U=J(["BinaryExpression","LogicalExpression","NGPipeExpression"]);function R(O){return _e(O)||O.type==="BindExpression"&&!!O.object}var pe=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);function be(O){return O?!!((O.type==="GenericTypeAnnotation"||O.type==="TSTypeReference")&&!O.typeParameters||pe.has(O.type)):!1}function fe(O){let $e=/^(?:before|after)(?:Each|All)$/;return O.callee.type==="Identifier"&&$e.test(O.callee.name)&&O.arguments.length===1}var Ie=["it","it.only","it.skip","describe","describe.only","describe.skip","test","test.only","test.skip","test.step","test.describe","test.describe.only","test.describe.parallel","test.describe.parallel.only","test.describe.serial","test.describe.serial.only","skip","xit","xdescribe","xtest","fit","fdescribe","ftest"];function X(O){return p(O,Ie)}function se(O,$e){if(O.type!=="CallExpression")return!1;if(O.arguments.length===1){if(I(O)&&$e&&se($e))return S(O.arguments[0]);if(fe(O))return I(O.arguments[0])}else if((O.arguments.length===2||O.arguments.length===3)&&(O.arguments[0].type==="TemplateLiteral"||E(O.arguments[0]))&&X(O.callee))return O.arguments[2]&&!i(O.arguments[2])?!1:(O.arguments.length===2?S(O.arguments[1]):B(O.arguments[1])&&Ke(O.arguments[1]).length<=1)||I(O.arguments[1]);return!1}var we=J(["CallExpression","OptionalCallExpression"]),_e=J(["MemberExpression","OptionalMemberExpression"]);function it(O){let $e="expressions";O.type==="TSTemplateLiteralType"&&($e="types");let vt=O[$e];return vt.length===0?!1:vt.every(zt=>{if(Bt(zt))return!1;if(zt.type==="Identifier"||zt.type==="ThisExpression")return!0;if(_e(zt)){let Ht=zt;for(;_e(Ht);)if(Ht.property.type!=="Identifier"&&Ht.property.type!=="Literal"&&Ht.property.type!=="StringLiteral"&&Ht.property.type!=="NumericLiteral"||(Ht=Ht.object,Bt(Ht)))return!1;return Ht.type==="Identifier"||Ht.type==="ThisExpression"}return!1})}function ae(O,$e){return O==="+"||O==="-"?O+$e:$e}function Q(O,$e){let vt=c($e),zt=e(O,y($e));return zt!==!1&&O.slice(vt,vt+2)==="/*"&&O.slice(zt,zt+2)==="*/"}function me(O,$e){return q($e)?jt($e):Bt($e,ft.Leading,vt=>s(O,y(vt)))}function Ce(O,$e){return $e.parser!=="json"&&E(O.key)&&xe(O.key).slice(1,-1)===O.key.value&&(t(O.key.value)&&!($e.parser==="babel-ts"&&O.type==="ClassProperty"||$e.parser==="typescript"&&O.type==="PropertyDefinition")||Re(O.key.value)&&String(Number(O.key.value))===O.key.value&&($e.parser==="babel"||$e.parser==="acorn"||$e.parser==="espree"||$e.parser==="meriyah"||$e.parser==="__babel_estree"))}function Re(O){return/^(?:\d+|\d+\.\d+)$/.test(O)}function Xe(O,$e){let vt=/^[fx]?(?:describe|it|test)$/;return $e.type==="TaggedTemplateExpression"&&$e.quasi===O&&$e.tag.type==="MemberExpression"&&$e.tag.property.type==="Identifier"&&$e.tag.property.name==="each"&&($e.tag.object.type==="Identifier"&&vt.test($e.tag.object.name)||$e.tag.object.type==="MemberExpression"&&$e.tag.object.property.type==="Identifier"&&($e.tag.object.property.name==="only"||$e.tag.object.property.name==="skip")&&$e.tag.object.object.type==="Identifier"&&vt.test($e.tag.object.object.name))}function Ye(O){return O.quasis.some($e=>$e.value.raw.includes(` +`))}function Ct(O,$e){return(O.type==="TemplateLiteral"&&Ye(O)||O.type==="TaggedTemplateExpression"&&Ye(O.quasi))&&!s($e,c(O),{backwards:!0})}function Rt(O){if(!Bt(O))return!1;let $e=a(Te(O,ft.Dangling));return $e&&!g($e)}function It(O){if(O.length<=1)return!1;let $e=0;for(let vt of O)if(S(vt)){if($e+=1,$e>1)return!0}else if(we(vt)){for(let zt of vt.arguments)if(S(zt))return!0}return!1}function Et(O){let $e=O.getValue(),vt=O.getParentNode();return we($e)&&we(vt)&&vt.callee===$e&&$e.arguments.length>vt.arguments.length&&vt.arguments.length>0}function bt(O,$e){if($e>=2)return!1;let vt=cr=>bt(cr,$e+1),zt=O.type==="Literal"&&"regex"in O&&O.regex.pattern||O.type==="RegExpLiteral"&&O.pattern;if(zt&&o(zt)>5)return!1;if(O.type==="Literal"||O.type==="BigIntLiteral"||O.type==="DecimalLiteral"||O.type==="BooleanLiteral"||O.type==="NullLiteral"||O.type==="NumericLiteral"||O.type==="RegExpLiteral"||O.type==="StringLiteral"||O.type==="Identifier"||O.type==="ThisExpression"||O.type==="Super"||O.type==="PrivateName"||O.type==="PrivateIdentifier"||O.type==="ArgumentPlaceholder"||O.type==="Import")return!0;if(O.type==="TemplateLiteral")return O.quasis.every(cr=>!cr.value.raw.includes(` +`))&&O.expressions.every(vt);if(O.type==="ObjectExpression")return O.properties.every(cr=>!cr.computed&&(cr.shorthand||cr.value&&vt(cr.value)));if(O.type==="ArrayExpression")return O.elements.every(cr=>cr===null||vt(cr));if(Sr(O))return(O.type==="ImportExpression"||bt(O.callee,$e))&&ar(O).every(vt);if(_e(O))return bt(O.object,$e)&&bt(O.property,$e);let Ht={"!":!0,"-":!0,"+":!0,"~":!0};if(O.type==="UnaryExpression"&&Ht[O.operator])return bt(O.argument,$e);let jr={"++":!0,"--":!0};return O.type==="UpdateExpression"&&jr[O.operator]?bt(O.argument,$e):O.type==="TSNonNullExpression"?bt(O.expression,$e):!1}function xe(O){var $e,vt;return($e=(vt=O.extra)===null||vt===void 0?void 0:vt.raw)!==null&&$e!==void 0?$e:O.raw}function H(O){return O}function ke(O){return O.filepath&&/\.tsx$/i.test(O.filepath)}function oe(O){let $e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"es5";return O.trailingComma==="es5"&&$e==="es5"||O.trailingComma==="all"&&($e==="all"||$e==="es5")}function Be(O,$e){switch(O.type){case"BinaryExpression":case"LogicalExpression":case"AssignmentExpression":case"NGPipeExpression":return Be(O.left,$e);case"MemberExpression":case"OptionalMemberExpression":return Be(O.object,$e);case"TaggedTemplateExpression":return O.tag.type==="FunctionExpression"?!1:Be(O.tag,$e);case"CallExpression":case"OptionalCallExpression":return O.callee.type==="FunctionExpression"?!1:Be(O.callee,$e);case"ConditionalExpression":return Be(O.test,$e);case"UpdateExpression":return!O.prefix&&Be(O.argument,$e);case"BindExpression":return O.object&&Be(O.object,$e);case"SequenceExpression":return Be(O.expressions[0],$e);case"TSSatisfiesExpression":case"TSAsExpression":case"TSNonNullExpression":return Be(O.expression,$e);default:return $e(O)}}var pt={"==":!0,"!=":!0,"===":!0,"!==":!0},ut={"*":!0,"/":!0,"%":!0},Le={">>":!0,">>>":!0,"<<":!0};function v(O,$e){return!(ye($e)!==ye(O)||O==="**"||pt[O]&&pt[$e]||$e==="%"&&ut[O]||O==="%"&&ut[$e]||$e!==O&&ut[$e]&&ut[O]||Le[O]&&Le[$e])}var K=new Map([["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].flatMap((O,$e)=>O.map(vt=>[vt,$e])));function ye(O){return K.get(O)}function ze(O){return!!Le[O]||O==="|"||O==="^"||O==="&"}function tt(O){var $e;if(O.rest)return!0;let vt=Ke(O);return(($e=a(vt))===null||$e===void 0?void 0:$e.type)==="RestElement"}var ht=new WeakMap;function Ke(O){if(ht.has(O))return ht.get(O);let $e=[];return O.this&&$e.push(O.this),Array.isArray(O.parameters)?$e.push(...O.parameters):Array.isArray(O.params)&&$e.push(...O.params),O.rest&&$e.push(O.rest),ht.set(O,$e),$e}function pr(O,$e){let vt=O.getValue(),zt=0,Ht=jr=>$e(jr,zt++);vt.this&&O.call(Ht,"this"),Array.isArray(vt.parameters)?O.each(Ht,"parameters"):Array.isArray(vt.params)&&O.each(Ht,"params"),vt.rest&&O.call(Ht,"rest")}var dt=new WeakMap;function ar(O){if(dt.has(O))return dt.get(O);let $e=O.arguments;return O.type==="ImportExpression"&&($e=[O.source],O.attributes&&$e.push(O.attributes)),dt.set(O,$e),$e}function Dt(O,$e){let vt=O.getValue();vt.type==="ImportExpression"?(O.call(zt=>$e(zt,0),"source"),vt.attributes&&O.call(zt=>$e(zt,1),"attributes")):O.each($e,"arguments")}function Tt(O){return O.value.trim()==="prettier-ignore"&&!O.unignore}function jt(O){return O&&(O.prettierIgnore||Bt(O,ft.PrettierIgnore))}function tr(O){let $e=O.getValue();return jt($e)}var ft={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},Pt=(O,$e)=>{if(typeof O=="function"&&($e=O,O=0),O||$e)return(vt,zt,Ht)=>!(O&ft.Leading&&!vt.leading||O&ft.Trailing&&!vt.trailing||O&ft.Dangling&&(vt.leading||vt.trailing)||O&ft.Block&&!g(vt)||O&ft.Line&&!d(vt)||O&ft.First&&zt!==0||O&ft.Last&&zt!==Ht.length-1||O&ft.PrettierIgnore&&!Tt(vt)||$e&&!$e(vt))};function Bt(O,$e,vt){if(!r(O==null?void 0:O.comments))return!1;let zt=Pt($e,vt);return zt?O.comments.some(zt):!0}function Te(O,$e,vt){if(!Array.isArray(O==null?void 0:O.comments))return[];let zt=Pt($e,vt);return zt?O.comments.filter(zt):O.comments}var Vr=(O,$e)=>{let{originalText:vt}=$e;return n(vt,y(O))};function Sr(O){return we(O)||O.type==="NewExpression"||O.type==="ImportExpression"}function Xt(O){return O&&(O.type==="ObjectProperty"||O.type==="Property"&&!O.method&&O.kind==="init")}function Wt(O){return!!O.__isUsingHackPipeline}var nr=Symbol("ifWithoutBlockAndSameLineComment");function Ur(O){return O.type==="TSAsExpression"||O.type==="TSSatisfiesExpression"}l.exports={getFunctionParameters:Ke,iterateFunctionParametersPath:pr,getCallArguments:ar,iterateCallArgumentsPath:Dt,hasRestParameter:tt,getLeftSide:P,getLeftSidePathName:_,getParentExportDeclaration:f,getTypeScriptMappedTypeModifier:ae,hasFlowAnnotationComment:A,hasFlowShorthandAnnotationComment:k,hasLeadingOwnLineComment:me,hasNakedLeftSide:x,hasNode:N,hasIgnoreComment:tr,hasNodeIgnoreComment:jt,identity:H,isBinaryish:U,isCallLikeExpression:Sr,isEnabledHackPipeline:Wt,isLineComment:d,isPrettierIgnoreComment:Tt,isCallExpression:we,isMemberExpression:_e,isExportDeclaration:T,isFlowAnnotationComment:Q,isFunctionCompositionArgs:It,isFunctionNotation:te,isFunctionOrArrowExpression:S,isGetterOrSetter:M,isJestEachTemplateLiteral:Xe,isJsxNode:q,isLiteral:F,isLongCurriedCallExpression:Et,isSimpleCallArgument:bt,isMemberish:R,isNumericLiteral:i,isSignedNumericLiteral:h,isObjectProperty:Xt,isObjectType:b,isObjectTypePropertyAFunction:j,isSimpleType:be,isSimpleNumber:Re,isSimpleTemplateLiteral:it,isStringLiteral:E,isStringPropSafeToUnquote:Ce,isTemplateOnItsOwnLine:Ct,isTestCall:se,isTheOnlyJsxElementInMarkdown:G,isTSXFile:ke,isTypeAnnotationAFunction:De,isNextLineEmpty:Vr,needsHardlineAfterDanglingComment:Rt,rawText:xe,shouldPrintComma:oe,isBitwiseOperator:ze,shouldFlatten:v,startsWithNoLookaheadToken:Be,getPrecedence:ye,hasComment:Bt,getComments:Te,CommentCheckFlags:ft,markerForIfWithoutBlockAndSameLineComment:nr,isTSTypeExpression:Ur}}}),jn=$({"src/language-js/print/template-literal.js"(u,l){ue();var t=mr(),{getStringWidth:a,getIndentSize:s}=Gt(),{builders:{join:e,hardline:r,softline:n,group:o,indent:c,align:y,lineSuffixBoundary:m,addAlignmentToDoc:g},printer:{printDocToString:p},utils:{mapDoc:D}}=wt(),{isBinaryish:C,isJestEachTemplateLiteral:w,isSimpleTemplateLiteral:k,hasComment:A,isMemberExpression:N,isTSTypeExpression:x}=ur();function P(F,i,h){let E=F.getValue();if(E.type==="TemplateLiteral"&&w(E,F.getParentNode())){let q=_(F,h,i);if(q)return q}let b="expressions";E.type==="TSTemplateLiteralType"&&(b="types");let S=[],B=F.map(i,b),I=k(E);return I&&(B=B.map(q=>p(q,Object.assign(Object.assign({},h),{},{printWidth:Number.POSITIVE_INFINITY})).formatted)),S.push(m,"`"),F.each(q=>{let G=q.getName();if(S.push(i()),G1||b.some(S=>S.length>0)){i.__inJestEach=!0;let S=F.map(h,"expressions");i.__inJestEach=!1;let B=[],I=S.map(j=>"${"+p(j,Object.assign(Object.assign({},i),{},{printWidth:Number.POSITIVE_INFINITY,endOfLine:"lf"})).formatted+"}"),q=[{hasLineBreak:!1,cells:[]}];for(let j=1;jj.cells.length)),M=Array.from({length:G}).fill(0),te=[{cells:b},...q.filter(j=>j.cells.length>0)];for(let{cells:j}of te.filter(De=>!De.hasLineBreak))for(let[De,U]of j.entries())M[De]=Math.max(M[De],a(U));return B.push(m,"`",c([r,e(r,te.map(j=>e(" | ",j.cells.map((De,U)=>j.hasLineBreak?De:De+" ".repeat(M[U]-a(De))))))]),r,"`"),B}}function J(F,i){let h=F.getValue(),E=i();return A(h)&&(E=o([c([n,E]),n])),["${",E,m,"}"]}function d(F,i){return F.map(h=>J(h,i),"expressions")}function T(F,i){return D(F,h=>typeof h=="string"?i?h.replace(/(\\*)`/g,"$1$1\\`"):f(h):h)}function f(F){return F.replace(/([\\`]|\${)/g,"\\$1")}l.exports={printTemplateLiteral:P,printTemplateExpressions:d,escapeTemplateCharacters:T,uncookTemplateElementValue:f}}}),ia=$({"src/language-js/embed/markdown.js"(u,l){ue();var{builders:{indent:t,softline:a,literalline:s,dedentToRoot:e}}=wt(),{escapeTemplateCharacters:r}=jn();function n(c,y,m){let g=c.getValue().quasis[0].value.raw.replace(/((?:\\\\)*)\\`/g,(w,k)=>"\\".repeat(k.length/2)+"`"),p=o(g),D=p!=="";D&&(g=g.replace(new RegExp(`^${p}`,"gm"),""));let C=r(m(g,{parser:"markdown",__inJsTemplate:!0},{stripTrailingHardline:!0}),!0);return["`",D?t([a,C]):[s,e(C)],a,"`"]}function o(c){let y=c.match(/^([^\S\n]*)\S/m);return y===null?"":y[1]}l.exports=n}}),sa=$({"src/language-js/embed/css.js"(u,l){ue();var{isNonEmptyArray:t}=Gt(),{builders:{indent:a,hardline:s,softline:e},utils:{mapDoc:r,replaceEndOfLine:n,cleanDoc:o}}=wt(),{printTemplateExpressions:c}=jn();function y(p,D,C){let w=p.getValue(),k=w.quasis.map(_=>_.value.raw),A=0,N=k.reduce((_,J,d)=>d===0?J:_+"@prettier-placeholder-"+A+++"-id"+J,""),x=C(N,{parser:"scss"},{stripTrailingHardline:!0}),P=c(p,D);return m(x,w,P)}function m(p,D,C){if(D.quasis.length===1&&!D.quasis[0].value.raw.trim())return"``";let w=g(p,C);if(!w)throw new Error("Couldn't insert all the expressions");return["`",a([s,w]),e,"`"]}function g(p,D){if(!t(D))return p;let C=0,w=r(o(p),k=>typeof k!="string"||!k.includes("@prettier-placeholder")?k:k.split(/@prettier-placeholder-(\d+)-id/).map((A,N)=>N%2===0?n(A):(C++,D[A])));return D.length===C?w:null}l.exports=y}}),aa=$({"src/language-js/embed/graphql.js"(u,l){ue();var{builders:{indent:t,join:a,hardline:s}}=wt(),{escapeTemplateCharacters:e,printTemplateExpressions:r}=jn();function n(c,y,m){let g=c.getValue(),p=g.quasis.length;if(p===1&&g.quasis[0].value.raw.trim()==="")return"``";let D=r(c,y),C=[];for(let w=0;w2&&P[0].trim()===""&&P[1].trim()==="",T=_>2&&P[_-1].trim()===""&&P[_-2].trim()==="",f=P.every(i=>/^\s*(?:#[^\n\r]*)?$/.test(i));if(!N&&/#[^\n\r]*$/.test(P[_-1]))return null;let F=null;f?F=o(P):F=m(x,{parser:"graphql"},{stripTrailingHardline:!0}),F?(F=e(F,!1),!A&&d&&C.push(""),C.push(F),!N&&T&&C.push("")):!A&&!N&&d&&C.push(""),J&&C.push(J)}return["`",t([s,a(s,C)]),s,"`"]}function o(c){let y=[],m=!1,g=c.map(p=>p.trim());for(let[p,D]of g.entries())D!==""&&(g[p-1]===""&&m?y.push([s,D]):y.push(D),m=!0);return y.length===0?null:a(s,y)}l.exports=n}}),oa=$({"src/language-js/embed/html.js"(u,l){ue();var{builders:{indent:t,line:a,hardline:s,group:e},utils:{mapDoc:r}}=wt(),{printTemplateExpressions:n,uncookTemplateElementValue:o}=jn(),c=0;function y(m,g,p,D,C){let{parser:w}=C,k=m.getValue(),A=c;c=c+1>>>0;let N=h=>`PRETTIER_HTML_PLACEHOLDER_${h}_${A}_IN_JS`,x=k.quasis.map((h,E,b)=>E===b.length-1?h.value.cooked:h.value.cooked+N(E)).join(""),P=n(m,g);if(P.length===0&&x.trim().length===0)return"``";let _=new RegExp(N("(\\d+)"),"g"),J=0,d=p(x,{parser:w,__onHtmlRoot(h){J=h.children.length}},{stripTrailingHardline:!0}),T=r(d,h=>{if(typeof h!="string")return h;let E=[],b=h.split(_);for(let S=0;S1?t(e(T)):e(T),F,"`"])}l.exports=y}}),la=$({"src/language-js/embed.js"(u,l){ue();var{hasComment:t,CommentCheckFlags:a,isObjectProperty:s}=ur(),e=ia(),r=sa(),n=aa(),o=oa();function c(d){if(g(d)||w(d)||k(d)||p(d))return"css";if(x(d))return"graphql";if(_(d))return"html";if(D(d))return"angular";if(m(d))return"markdown"}function y(d,T,f,F){let i=d.getValue();if(i.type!=="TemplateLiteral"||J(i))return;let h=c(d);if(h){if(h==="markdown")return e(d,T,f);if(h==="css")return r(d,T,f);if(h==="graphql")return n(d,T,f);if(h==="html"||h==="angular")return o(d,T,f,F,{parser:h})}}function m(d){let T=d.getValue(),f=d.getParentNode();return f&&f.type==="TaggedTemplateExpression"&&T.quasis.length===1&&f.tag.type==="Identifier"&&(f.tag.name==="md"||f.tag.name==="markdown")}function g(d){let T=d.getValue(),f=d.getParentNode(),F=d.getParentNode(1);return F&&T.quasis&&f.type==="JSXExpressionContainer"&&F.type==="JSXElement"&&F.openingElement.name.name==="style"&&F.openingElement.attributes.some(i=>i.name.name==="jsx")||f&&f.type==="TaggedTemplateExpression"&&f.tag.type==="Identifier"&&f.tag.name==="css"||f&&f.type==="TaggedTemplateExpression"&&f.tag.type==="MemberExpression"&&f.tag.object.name==="css"&&(f.tag.property.name==="global"||f.tag.property.name==="resolve")}function p(d){return d.match(T=>T.type==="TemplateLiteral",(T,f)=>T.type==="ArrayExpression"&&f==="elements",(T,f)=>s(T)&&T.key.type==="Identifier"&&T.key.name==="styles"&&f==="value",...C)}function D(d){return d.match(T=>T.type==="TemplateLiteral",(T,f)=>s(T)&&T.key.type==="Identifier"&&T.key.name==="template"&&f==="value",...C)}var C=[(d,T)=>d.type==="ObjectExpression"&&T==="properties",(d,T)=>d.type==="CallExpression"&&d.callee.type==="Identifier"&&d.callee.name==="Component"&&T==="arguments",(d,T)=>d.type==="Decorator"&&T==="expression"];function w(d){let T=d.getParentNode();if(!T||T.type!=="TaggedTemplateExpression")return!1;let f=T.tag.type==="ParenthesizedExpression"?T.tag.expression:T.tag;switch(f.type){case"MemberExpression":return A(f.object)||N(f);case"CallExpression":return A(f.callee)||f.callee.type==="MemberExpression"&&(f.callee.object.type==="MemberExpression"&&(A(f.callee.object.object)||N(f.callee.object))||f.callee.object.type==="CallExpression"&&A(f.callee.object.callee));case"Identifier":return f.name==="css";default:return!1}}function k(d){let T=d.getParentNode(),f=d.getParentNode(1);return f&&T.type==="JSXExpressionContainer"&&f.type==="JSXAttribute"&&f.name.type==="JSXIdentifier"&&f.name.name==="css"}function A(d){return d.type==="Identifier"&&d.name==="styled"}function N(d){return/^[A-Z]/.test(d.object.name)&&d.property.name==="extend"}function x(d){let T=d.getValue(),f=d.getParentNode();return P(T,"GraphQL")||f&&(f.type==="TaggedTemplateExpression"&&(f.tag.type==="MemberExpression"&&f.tag.object.name==="graphql"&&f.tag.property.name==="experimental"||f.tag.type==="Identifier"&&(f.tag.name==="gql"||f.tag.name==="graphql"))||f.type==="CallExpression"&&f.callee.type==="Identifier"&&f.callee.name==="graphql")}function P(d,T){return t(d,a.Block|a.Leading,f=>{let{value:F}=f;return F===` ${T} `})}function _(d){return P(d.getValue(),"HTML")||d.match(T=>T.type==="TemplateLiteral",(T,f)=>T.type==="TaggedTemplateExpression"&&T.tag.type==="Identifier"&&T.tag.name==="html"&&f==="quasi")}function J(d){let{quasis:T}=d;return T.some(f=>{let{value:{cooked:F}}=f;return F===null})}l.exports=y}}),pa=$({"src/language-js/clean.js"(u,l){ue();var t=vn(),a=new Set(["range","raw","comments","leadingComments","trailingComments","innerComments","extra","start","end","loc","flags","errors","tokens"]),s=r=>{for(let n of r.quasis)delete n.value};function e(r,n,o){if(r.type==="Program"&&delete n.sourceType,(r.type==="BigIntLiteral"||r.type==="BigIntLiteralTypeAnnotation")&&n.value&&(n.value=n.value.toLowerCase()),(r.type==="BigIntLiteral"||r.type==="Literal")&&n.bigint&&(n.bigint=n.bigint.toLowerCase()),r.type==="DecimalLiteral"&&(n.value=Number(n.value)),r.type==="Literal"&&n.decimal&&(n.decimal=Number(n.decimal)),r.type==="EmptyStatement"||r.type==="JSXText"||r.type==="JSXExpressionContainer"&&(r.expression.type==="Literal"||r.expression.type==="StringLiteral")&&r.expression.value===" ")return null;if((r.type==="Property"||r.type==="ObjectProperty"||r.type==="MethodDefinition"||r.type==="ClassProperty"||r.type==="ClassMethod"||r.type==="PropertyDefinition"||r.type==="TSDeclareMethod"||r.type==="TSPropertySignature"||r.type==="ObjectTypeProperty")&&typeof r.key=="object"&&r.key&&(r.key.type==="Literal"||r.key.type==="NumericLiteral"||r.key.type==="StringLiteral"||r.key.type==="Identifier")&&delete n.key,r.type==="JSXElement"&&r.openingElement.name.name==="style"&&r.openingElement.attributes.some(m=>m.name.name==="jsx"))for(let{type:m,expression:g}of n.children)m==="JSXExpressionContainer"&&g.type==="TemplateLiteral"&&s(g);r.type==="JSXAttribute"&&r.name.name==="css"&&r.value.type==="JSXExpressionContainer"&&r.value.expression.type==="TemplateLiteral"&&s(n.value.expression),r.type==="JSXAttribute"&&r.value&&r.value.type==="Literal"&&/["']|"|'/.test(r.value.value)&&(n.value.value=n.value.value.replace(/["']|"|'/g,'"'));let c=r.expression||r.callee;if(r.type==="Decorator"&&c.type==="CallExpression"&&c.callee.name==="Component"&&c.arguments.length===1){let m=r.expression.arguments[0].properties;for(let[g,p]of n.expression.arguments[0].properties.entries())switch(m[g].key.name){case"styles":p.value.type==="ArrayExpression"&&s(p.value.elements[0]);break;case"template":p.value.type==="TemplateLiteral"&&s(p.value);break}}if(r.type==="TaggedTemplateExpression"&&(r.tag.type==="MemberExpression"||r.tag.type==="Identifier"&&(r.tag.name==="gql"||r.tag.name==="graphql"||r.tag.name==="css"||r.tag.name==="md"||r.tag.name==="markdown"||r.tag.name==="html")||r.tag.type==="CallExpression")&&s(n.quasi),r.type==="TemplateLiteral"){var y;(!((y=r.leadingComments)===null||y===void 0)&&y.some(m=>t(m)&&["GraphQL","HTML"].some(g=>m.value===` ${g} `))||o.type==="CallExpression"&&o.callee.name==="graphql"||!r.leadingComments)&&s(n)}if(r.type==="InterpreterDirective"&&(n.value=n.value.trimEnd()),(r.type==="TSIntersectionType"||r.type==="TSUnionType")&&r.types.length===1)return n.types[0]}e.ignoredProperties=a,l.exports=e}}),Es={};Ft(Es,{EOL:()=>ss,arch:()=>ca,cpus:()=>xs,default:()=>_s,endianness:()=>Cs,freemem:()=>bs,getNetworkInterfaces:()=>Ns,hostname:()=>Fs,loadavg:()=>As,networkInterfaces:()=>ws,platform:()=>Da,release:()=>Bs,tmpDir:()=>us,tmpdir:()=>is,totalmem:()=>Ss,type:()=>Ts,uptime:()=>vs});function Cs(){if(typeof Qu>"u"){var u=new ArrayBuffer(2),l=new Uint8Array(u),t=new Uint16Array(u);if(l[0]=1,l[1]=2,t[0]===258)Qu="BE";else if(t[0]===513)Qu="LE";else throw new Error("unable to figure out endianess")}return Qu}function Fs(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function As(){return[]}function vs(){return 0}function bs(){return Number.MAX_VALUE}function Ss(){return Number.MAX_VALUE}function xs(){return[]}function Ts(){return"Browser"}function Bs(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function ws(){}function Ns(){}function ca(){return"javascript"}function Da(){return"browser"}function us(){return"/tmp"}var Qu,is,ss,_s,da=rt({"node-modules-polyfills:os"(){ue(),is=us,ss=` +`,_s={EOL:ss,tmpdir:is,tmpDir:us,networkInterfaces:ws,getNetworkInterfaces:Ns,release:Bs,type:Ts,cpus:xs,totalmem:Ss,freemem:bs,uptime:vs,loadavg:As,hostname:Fs,endianness:Cs}}}),fa=$({"node-modules-polyfills-commonjs:os"(u,l){ue();var t=(da(),qt(Es));if(t&&t.default){l.exports=t.default;for(let a in t)l.exports[a]=t[a]}else t&&(l.exports=t)}}),ma=$({"node_modules/detect-newline/index.js"(u,l){ue();var t=a=>{if(typeof a!="string")throw new TypeError("Expected a string");let s=a.match(/(?:\r?\n)/g)||[];if(s.length===0)return;let e=s.filter(n=>n===`\r +`).length,r=s.length-e;return e>r?`\r +`:` +`};l.exports=t,l.exports.graceful=a=>typeof a=="string"&&t(a)||` +`}}),ha=$({"node_modules/jest-docblock/build/index.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0}),u.extract=p,u.parse=C,u.parseWithComments=w,u.print=k,u.strip=D;function l(){let N=fa();return l=function(){return N},N}function t(){let N=a(ma());return t=function(){return N},N}function a(N){return N&&N.__esModule?N:{default:N}}var s=/\*\/$/,e=/^\/\*\*?/,r=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,n=/(^|\s+)\/\/([^\r\n]*)/g,o=/^(\r?\n)+/,c=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,y=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,m=/(\r?\n|^) *\* ?/g,g=[];function p(N){let x=N.match(r);return x?x[0].trimLeft():""}function D(N){let x=N.match(r);return x&&x[0]?N.substring(x[0].length):N}function C(N){return w(N).pragmas}function w(N){let x=(0,t().default)(N)||l().EOL;N=N.replace(e,"").replace(s,"").replace(m,"$1");let P="";for(;P!==N;)P=N,N=N.replace(c,`${x}$1 $2${x}`);N=N.replace(o,"").trimRight();let _=Object.create(null),J=N.replace(y,"").replace(o,"").trimRight(),d;for(;d=y.exec(N);){let T=d[2].replace(n,"");typeof _[d[1]]=="string"||Array.isArray(_[d[1]])?_[d[1]]=g.concat(_[d[1]],T):_[d[1]]=T}return{comments:J,pragmas:_}}function k(N){let{comments:x="",pragmas:P={}}=N,_=(0,t().default)(x)||l().EOL,J="/**",d=" *",T=" */",f=Object.keys(P),F=f.map(h=>A(h,P[h])).reduce((h,E)=>h.concat(E),[]).map(h=>`${d} ${h}${_}`).join("");if(!x){if(f.length===0)return"";if(f.length===1&&!Array.isArray(P[f[0]])){let h=P[f[0]];return`${J} ${A(f[0],h)[0]}${T}`}}let i=x.split(_).map(h=>`${d} ${h}`).join(_)+_;return J+_+(x?i:"")+(x&&f.length?d+_:"")+F+T}function A(N,x){return g.concat(x).map(P=>`@${N} ${P}`.trim())}}}),ga=$({"src/language-js/utils/get-shebang.js"(u,l){ue();function t(a){if(!a.startsWith("#!"))return"";let s=a.indexOf(` +`);return s===-1?a:a.slice(0,s)}l.exports=t}}),ks=$({"src/language-js/pragma.js"(u,l){ue();var{parseWithComments:t,strip:a,extract:s,print:e}=ha(),{normalizeEndOfLine:r}=Rr(),n=ga();function o(m){let g=n(m);g&&(m=m.slice(g.length+1));let p=s(m),{pragmas:D,comments:C}=t(p);return{shebang:g,text:m,pragmas:D,comments:C}}function c(m){let g=Object.keys(o(m).pragmas);return g.includes("prettier")||g.includes("format")}function y(m){let{shebang:g,text:p,pragmas:D,comments:C}=o(m),w=a(p),k=e({pragmas:Object.assign({format:""},D),comments:C.trimStart()});return(g?`${g} +`:"")+r(k)+(w.startsWith(` +`)?` +`:` + +`)+w}l.exports={hasPragma:c,insertPragma:y}}}),ya=$({"src/language-js/utils/is-type-cast-comment.js"(u,l){ue();var t=vn();function a(s){return t(s)&&s.value[0]==="*"&&/@(?:type|satisfies)\b/.test(s.value)}l.exports=a}}),Ps=$({"src/language-js/comments.js"(u,l){ue();var{getLast:t,hasNewline:a,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:s,getNextNonSpaceNonCommentCharacter:e,hasNewlineInRange:r,addLeadingComment:n,addTrailingComment:o,addDanglingComment:c,getNextNonSpaceNonCommentCharacterIndex:y,isNonEmptyArray:m}=Gt(),{getFunctionParameters:g,isPrettierIgnoreComment:p,isJsxNode:D,hasFlowShorthandAnnotationComment:C,hasFlowAnnotationComment:w,hasIgnoreComment:k,isCallLikeExpression:A,getCallArguments:N,isCallExpression:x,isMemberExpression:P,isObjectProperty:_,isLineComment:J,getComments:d,CommentCheckFlags:T,markerForIfWithoutBlockAndSameLineComment:f}=ur(),{locStart:F,locEnd:i}=or(),h=vn(),E=ya();function b(Le){return[H,it,De,M,te,j,be,Ye,Ce,Xe,Ct,Rt,Ie,ae,Q].some(v=>v(Le))}function S(Le){return[G,it,U,Ct,M,te,j,be,ae,me,Re,Xe,bt,Q,oe].some(v=>v(Le))}function B(Le){return[H,M,te,R,_e,Ie,Xe,we,se,ke,Q,xe].some(v=>v(Le))}function I(Le,v){let K=(Le.body||Le.properties).find(ye=>{let{type:ze}=ye;return ze!=="EmptyStatement"});K?n(K,v):c(Le,v)}function q(Le,v){Le.type==="BlockStatement"?I(Le,v):n(Le,v)}function G(Le){let{comment:v,followingNode:K}=Le;return K&&E(v)?(n(K,v),!0):!1}function M(Le){let{comment:v,precedingNode:K,enclosingNode:ye,followingNode:ze,text:tt}=Le;if((ye==null?void 0:ye.type)!=="IfStatement"||!ze)return!1;if(e(tt,v,i)===")")return o(K,v),!0;if(K===ye.consequent&&ze===ye.alternate){if(K.type==="BlockStatement")o(K,v);else{let ht=v.type==="SingleLine"||v.loc.start.line===v.loc.end.line,Ke=v.loc.start.line===K.loc.start.line;ht&&Ke?c(K,v,f):c(ye,v)}return!0}return ze.type==="BlockStatement"?(I(ze,v),!0):ze.type==="IfStatement"?(q(ze.consequent,v),!0):ye.consequent===ze?(n(ze,v),!0):!1}function te(Le){let{comment:v,precedingNode:K,enclosingNode:ye,followingNode:ze,text:tt}=Le;return(ye==null?void 0:ye.type)!=="WhileStatement"||!ze?!1:e(tt,v,i)===")"?(o(K,v),!0):ze.type==="BlockStatement"?(I(ze,v),!0):ye.body===ze?(n(ze,v),!0):!1}function j(Le){let{comment:v,precedingNode:K,enclosingNode:ye,followingNode:ze}=Le;return(ye==null?void 0:ye.type)!=="TryStatement"&&(ye==null?void 0:ye.type)!=="CatchClause"||!ze?!1:ye.type==="CatchClause"&&K?(o(K,v),!0):ze.type==="BlockStatement"?(I(ze,v),!0):ze.type==="TryStatement"?(q(ze.finalizer,v),!0):ze.type==="CatchClause"?(q(ze.body,v),!0):!1}function De(Le){let{comment:v,enclosingNode:K,followingNode:ye}=Le;return P(K)&&(ye==null?void 0:ye.type)==="Identifier"?(n(K,v),!0):!1}function U(Le){let{comment:v,precedingNode:K,enclosingNode:ye,followingNode:ze,text:tt}=Le,ht=K&&!r(tt,i(K),F(v));return(!K||!ht)&&((ye==null?void 0:ye.type)==="ConditionalExpression"||(ye==null?void 0:ye.type)==="TSConditionalType")&&ze?(n(ze,v),!0):!1}function R(Le){let{comment:v,precedingNode:K,enclosingNode:ye}=Le;return _(ye)&&ye.shorthand&&ye.key===K&&ye.value.type==="AssignmentPattern"?(o(ye.value.left,v),!0):!1}var pe=new Set(["ClassDeclaration","ClassExpression","DeclareClass","DeclareInterface","InterfaceDeclaration","TSInterfaceDeclaration"]);function be(Le){let{comment:v,precedingNode:K,enclosingNode:ye,followingNode:ze}=Le;if(pe.has(ye==null?void 0:ye.type)){if(m(ye.decorators)&&!(ze&&ze.type==="Decorator"))return o(t(ye.decorators),v),!0;if(ye.body&&ze===ye.body)return I(ye.body,v),!0;if(ze){if(ye.superClass&&ze===ye.superClass&&K&&(K===ye.id||K===ye.typeParameters))return o(K,v),!0;for(let tt of["implements","extends","mixins"])if(ye[tt]&&ze===ye[tt][0])return K&&(K===ye.id||K===ye.typeParameters||K===ye.superClass)?o(K,v):c(ye,v,tt),!0}}return!1}var fe=new Set(["ClassMethod","ClassProperty","PropertyDefinition","TSAbstractPropertyDefinition","TSAbstractMethodDefinition","TSDeclareMethod","MethodDefinition","ClassAccessorProperty","AccessorProperty","TSAbstractAccessorProperty"]);function Ie(Le){let{comment:v,precedingNode:K,enclosingNode:ye,text:ze}=Le;return ye&&K&&e(ze,v,i)==="("&&(ye.type==="Property"||ye.type==="TSDeclareMethod"||ye.type==="TSAbstractMethodDefinition")&&K.type==="Identifier"&&ye.key===K&&e(ze,K,i)!==":"||(K==null?void 0:K.type)==="Decorator"&&fe.has(ye==null?void 0:ye.type)?(o(K,v),!0):!1}var X=new Set(["FunctionDeclaration","FunctionExpression","ClassMethod","MethodDefinition","ObjectMethod"]);function se(Le){let{comment:v,precedingNode:K,enclosingNode:ye,text:ze}=Le;return e(ze,v,i)!=="("?!1:K&&X.has(ye==null?void 0:ye.type)?(o(K,v),!0):!1}function we(Le){let{comment:v,enclosingNode:K,text:ye}=Le;if((K==null?void 0:K.type)!=="ArrowFunctionExpression")return!1;let ze=y(ye,v,i);return ze!==!1&&ye.slice(ze,ze+2)==="=>"?(c(K,v),!0):!1}function _e(Le){let{comment:v,enclosingNode:K,text:ye}=Le;return e(ye,v,i)!==")"?!1:K&&(Be(K)&&g(K).length===0||A(K)&&N(K).length===0)?(c(K,v),!0):((K==null?void 0:K.type)==="MethodDefinition"||(K==null?void 0:K.type)==="TSAbstractMethodDefinition")&&g(K.value).length===0?(c(K.value,v),!0):!1}function it(Le){let{comment:v,precedingNode:K,enclosingNode:ye,followingNode:ze,text:tt}=Le;if((K==null?void 0:K.type)==="FunctionTypeParam"&&(ye==null?void 0:ye.type)==="FunctionTypeAnnotation"&&(ze==null?void 0:ze.type)!=="FunctionTypeParam"||((K==null?void 0:K.type)==="Identifier"||(K==null?void 0:K.type)==="AssignmentPattern")&&ye&&Be(ye)&&e(tt,v,i)===")")return o(K,v),!0;if((ye==null?void 0:ye.type)==="FunctionDeclaration"&&(ze==null?void 0:ze.type)==="BlockStatement"){let ht=(()=>{let Ke=g(ye);if(Ke.length>0)return s(tt,i(t(Ke)));let pr=s(tt,i(ye.id));return pr!==!1&&s(tt,pr+1)})();if(F(v)>ht)return I(ze,v),!0}return!1}function ae(Le){let{comment:v,enclosingNode:K}=Le;return(K==null?void 0:K.type)==="LabeledStatement"?(n(K,v),!0):!1}function Q(Le){let{comment:v,enclosingNode:K}=Le;return((K==null?void 0:K.type)==="ContinueStatement"||(K==null?void 0:K.type)==="BreakStatement")&&!K.label?(o(K,v),!0):!1}function me(Le){let{comment:v,precedingNode:K,enclosingNode:ye}=Le;return x(ye)&&K&&ye.callee===K&&ye.arguments.length>0?(n(ye.arguments[0],v),!0):!1}function Ce(Le){let{comment:v,precedingNode:K,enclosingNode:ye,followingNode:ze}=Le;return(ye==null?void 0:ye.type)==="UnionTypeAnnotation"||(ye==null?void 0:ye.type)==="TSUnionType"?(p(v)&&(ze.prettierIgnore=!0,v.unignore=!0),K?(o(K,v),!0):!1):(((ze==null?void 0:ze.type)==="UnionTypeAnnotation"||(ze==null?void 0:ze.type)==="TSUnionType")&&p(v)&&(ze.types[0].prettierIgnore=!0,v.unignore=!0),!1)}function Re(Le){let{comment:v,enclosingNode:K}=Le;return _(K)?(n(K,v),!0):!1}function Xe(Le){let{comment:v,enclosingNode:K,followingNode:ye,ast:ze,isLastComment:tt}=Le;return ze&&ze.body&&ze.body.length===0?(tt?c(ze,v):n(ze,v),!0):(K==null?void 0:K.type)==="Program"&&(K==null?void 0:K.body.length)===0&&!m(K.directives)?(tt?c(K,v):n(K,v),!0):(ye==null?void 0:ye.type)==="Program"&&(ye==null?void 0:ye.body.length)===0&&(K==null?void 0:K.type)==="ModuleExpression"?(c(ye,v),!0):!1}function Ye(Le){let{comment:v,enclosingNode:K}=Le;return(K==null?void 0:K.type)==="ForInStatement"||(K==null?void 0:K.type)==="ForOfStatement"?(n(K,v),!0):!1}function Ct(Le){let{comment:v,precedingNode:K,enclosingNode:ye,text:ze}=Le;if((ye==null?void 0:ye.type)==="ImportSpecifier"||(ye==null?void 0:ye.type)==="ExportSpecifier")return n(ye,v),!0;let tt=(K==null?void 0:K.type)==="ImportSpecifier"&&(ye==null?void 0:ye.type)==="ImportDeclaration",ht=(K==null?void 0:K.type)==="ExportSpecifier"&&(ye==null?void 0:ye.type)==="ExportNamedDeclaration";return(tt||ht)&&a(ze,i(v))?(o(K,v),!0):!1}function Rt(Le){let{comment:v,enclosingNode:K}=Le;return(K==null?void 0:K.type)==="AssignmentPattern"?(n(K,v),!0):!1}var It=new Set(["VariableDeclarator","AssignmentExpression","TypeAlias","TSTypeAliasDeclaration"]),Et=new Set(["ObjectExpression","ArrayExpression","TemplateLiteral","TaggedTemplateExpression","ObjectTypeAnnotation","TSTypeLiteral"]);function bt(Le){let{comment:v,enclosingNode:K,followingNode:ye}=Le;return It.has(K==null?void 0:K.type)&&ye&&(Et.has(ye.type)||h(v))?(n(ye,v),!0):!1}function xe(Le){let{comment:v,enclosingNode:K,followingNode:ye,text:ze}=Le;return!ye&&((K==null?void 0:K.type)==="TSMethodSignature"||(K==null?void 0:K.type)==="TSDeclareFunction"||(K==null?void 0:K.type)==="TSAbstractMethodDefinition")&&e(ze,v,i)===";"?(o(K,v),!0):!1}function H(Le){let{comment:v,enclosingNode:K,followingNode:ye}=Le;if(p(v)&&(K==null?void 0:K.type)==="TSMappedType"&&(ye==null?void 0:ye.type)==="TSTypeParameter"&&ye.constraint)return K.prettierIgnore=!0,v.unignore=!0,!0}function ke(Le){let{comment:v,precedingNode:K,enclosingNode:ye,followingNode:ze}=Le;return(ye==null?void 0:ye.type)!=="TSMappedType"?!1:(ze==null?void 0:ze.type)==="TSTypeParameter"&&ze.name?(n(ze.name,v),!0):(K==null?void 0:K.type)==="TSTypeParameter"&&K.constraint?(o(K.constraint,v),!0):!1}function oe(Le){let{comment:v,enclosingNode:K,followingNode:ye}=Le;return!K||K.type!=="SwitchCase"||K.test||!ye||ye!==K.consequent[0]?!1:(ye.type==="BlockStatement"&&J(v)?I(ye,v):c(K,v),!0)}function Be(Le){return Le.type==="ArrowFunctionExpression"||Le.type==="FunctionExpression"||Le.type==="FunctionDeclaration"||Le.type==="ObjectMethod"||Le.type==="ClassMethod"||Le.type==="TSDeclareFunction"||Le.type==="TSCallSignatureDeclaration"||Le.type==="TSConstructSignatureDeclaration"||Le.type==="TSMethodSignature"||Le.type==="TSConstructorType"||Le.type==="TSFunctionType"||Le.type==="TSDeclareMethod"}function pt(Le,v){if((v.parser==="typescript"||v.parser==="flow"||v.parser==="acorn"||v.parser==="espree"||v.parser==="meriyah"||v.parser==="__babel_estree")&&Le.type==="MethodDefinition"&&Le.value&&Le.value.type==="FunctionExpression"&&g(Le.value).length===0&&!Le.value.returnType&&!m(Le.value.typeParameters)&&Le.value.body)return[...Le.decorators||[],Le.key,Le.value.body]}function ut(Le){let v=Le.getValue(),K=Le.getParentNode(),ye=ze=>w(d(ze,T.Leading))||w(d(ze,T.Trailing));return(v&&(D(v)||C(v)||x(K)&&ye(v))||K&&(K.type==="JSXSpreadAttribute"||K.type==="JSXSpreadChild"||K.type==="UnionTypeAnnotation"||K.type==="TSUnionType"||(K.type==="ClassDeclaration"||K.type==="ClassExpression")&&K.superClass===v))&&(!k(Le)||K.type==="UnionTypeAnnotation"||K.type==="TSUnionType")}l.exports={handleOwnLineComment:b,handleEndOfLineComment:S,handleRemainingComment:B,getCommentChildNodes:pt,willPrintOwnComments:ut}}}),Ln=$({"src/language-js/needs-parens.js"(u,l){ue();var t=mr(),a=uu(),{getFunctionParameters:s,getLeftSidePathName:e,hasFlowShorthandAnnotationComment:r,hasNakedLeftSide:n,hasNode:o,isBitwiseOperator:c,startsWithNoLookaheadToken:y,shouldFlatten:m,getPrecedence:g,isCallExpression:p,isMemberExpression:D,isObjectProperty:C,isTSTypeExpression:w}=ur();function k(d,T){let f=d.getParentNode();if(!f)return!1;let F=d.getName(),i=d.getNode();if(T.__isInHtmlInterpolation&&!T.bracketSpacing&&P(i)&&_(d))return!0;if(A(i))return!1;if(T.parser!=="flow"&&r(d.getValue()))return!0;if(i.type==="Identifier"){if(i.extra&&i.extra.parenthesized&&/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(i.name)||F==="left"&&(i.name==="async"&&!f.await||i.name==="let")&&f.type==="ForOfStatement")return!0;if(i.name==="let"){var h;let b=(h=d.findAncestor(S=>S.type==="ForOfStatement"))===null||h===void 0?void 0:h.left;if(b&&y(b,S=>S===i))return!0}if(F==="object"&&i.name==="let"&&f.type==="MemberExpression"&&f.computed&&!f.optional){let b=d.findAncestor(B=>B.type==="ExpressionStatement"||B.type==="ForStatement"||B.type==="ForInStatement"),S=b?b.type==="ExpressionStatement"?b.expression:b.type==="ForStatement"?b.init:b.left:void 0;if(S&&y(S,B=>B===i))return!0}return!1}if(i.type==="ObjectExpression"||i.type==="FunctionExpression"||i.type==="ClassExpression"||i.type==="DoExpression"){var E;let b=(E=d.findAncestor(S=>S.type==="ExpressionStatement"))===null||E===void 0?void 0:E.expression;if(b&&y(b,S=>S===i))return!0}switch(f.type){case"ParenthesizedExpression":return!1;case"ClassDeclaration":case"ClassExpression":{if(F==="superClass"&&(i.type==="ArrowFunctionExpression"||i.type==="AssignmentExpression"||i.type==="AwaitExpression"||i.type==="BinaryExpression"||i.type==="ConditionalExpression"||i.type==="LogicalExpression"||i.type==="NewExpression"||i.type==="ObjectExpression"||i.type==="SequenceExpression"||i.type==="TaggedTemplateExpression"||i.type==="UnaryExpression"||i.type==="UpdateExpression"||i.type==="YieldExpression"||i.type==="TSNonNullExpression"))return!0;break}case"ExportDefaultDeclaration":return J(d,T)||i.type==="SequenceExpression";case"Decorator":{if(F==="expression"){if(D(i)&&i.computed)return!0;let b=!1,S=!1,B=i;for(;B;)switch(B.type){case"MemberExpression":S=!0,B=B.object;break;case"CallExpression":if(S||b)return T.parser!=="typescript";b=!0,B=B.callee;break;case"Identifier":return!1;case"TaggedTemplateExpression":return T.parser!=="typescript";default:return!0}return!0}break}case"ArrowFunctionExpression":{if(F==="body"&&i.type!=="SequenceExpression"&&y(i,b=>b.type==="ObjectExpression"))return!0;break}}switch(i.type){case"UpdateExpression":if(f.type==="UnaryExpression")return i.prefix&&(i.operator==="++"&&f.operator==="+"||i.operator==="--"&&f.operator==="-");case"UnaryExpression":switch(f.type){case"UnaryExpression":return i.operator===f.operator&&(i.operator==="+"||i.operator==="-");case"BindExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return F==="object";case"TaggedTemplateExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return F==="callee";case"BinaryExpression":return F==="left"&&f.operator==="**";case"TSNonNullExpression":return!0;default:return!1}case"BinaryExpression":{if(f.type==="UpdateExpression"||i.operator==="in"&&N(d))return!0;if(i.operator==="|>"&&i.extra&&i.extra.parenthesized){let b=d.getParentNode(1);if(b.type==="BinaryExpression"&&b.operator==="|>")return!0}}case"TSTypeAssertion":case"TSAsExpression":case"TSSatisfiesExpression":case"LogicalExpression":switch(f.type){case"TSSatisfiesExpression":case"TSAsExpression":return!w(i);case"ConditionalExpression":return w(i);case"CallExpression":case"NewExpression":case"OptionalCallExpression":return F==="callee";case"ClassExpression":case"ClassDeclaration":return F==="superClass";case"TSTypeAssertion":case"TaggedTemplateExpression":case"UnaryExpression":case"JSXSpreadAttribute":case"SpreadElement":case"SpreadProperty":case"BindExpression":case"AwaitExpression":case"TSNonNullExpression":case"UpdateExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return F==="object";case"AssignmentExpression":case"AssignmentPattern":return F==="left"&&(i.type==="TSTypeAssertion"||w(i));case"LogicalExpression":if(i.type==="LogicalExpression")return f.operator!==i.operator;case"BinaryExpression":{let{operator:b,type:S}=i;if(!b&&S!=="TSTypeAssertion")return!0;let B=g(b),I=f.operator,q=g(I);return q>B||F==="right"&&q===B||q===B&&!m(I,b)?!0:q");default:return!1}case"TSConditionalType":case"TSFunctionType":case"TSConstructorType":if(F==="extendsType"&&f.type==="TSConditionalType"){if(i.type==="TSConditionalType")return!0;let{typeAnnotation:b}=i.returnType||i.typeAnnotation;if(b.type==="TSTypePredicate"&&b.typeAnnotation&&(b=b.typeAnnotation.typeAnnotation),b.type==="TSInferType"&&b.typeParameter.constraint)return!0}if(F==="checkType"&&f.type==="TSConditionalType")return!0;case"TSUnionType":case"TSIntersectionType":if((f.type==="TSUnionType"||f.type==="TSIntersectionType")&&f.types.length>1&&(!i.types||i.types.length>1))return!0;case"TSInferType":if(i.type==="TSInferType"&&f.type==="TSRestType")return!1;case"TSTypeOperator":return f.type==="TSArrayType"||f.type==="TSOptionalType"||f.type==="TSRestType"||F==="objectType"&&f.type==="TSIndexedAccessType"||f.type==="TSTypeOperator"||f.type==="TSTypeAnnotation"&&d.getParentNode(1).type.startsWith("TSJSDoc");case"TSTypeQuery":return F==="objectType"&&f.type==="TSIndexedAccessType"||F==="elementType"&&f.type==="TSArrayType";case"TypeofTypeAnnotation":return F==="objectType"&&(f.type==="IndexedAccessType"||f.type==="OptionalIndexedAccessType")||F==="elementType"&&f.type==="ArrayTypeAnnotation";case"ArrayTypeAnnotation":return f.type==="NullableTypeAnnotation";case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return f.type==="ArrayTypeAnnotation"||f.type==="NullableTypeAnnotation"||f.type==="IntersectionTypeAnnotation"||f.type==="UnionTypeAnnotation"||F==="objectType"&&(f.type==="IndexedAccessType"||f.type==="OptionalIndexedAccessType");case"NullableTypeAnnotation":return f.type==="ArrayTypeAnnotation"||F==="objectType"&&(f.type==="IndexedAccessType"||f.type==="OptionalIndexedAccessType");case"FunctionTypeAnnotation":{let b=f.type==="NullableTypeAnnotation"?d.getParentNode(1):f;return b.type==="UnionTypeAnnotation"||b.type==="IntersectionTypeAnnotation"||b.type==="ArrayTypeAnnotation"||F==="objectType"&&(b.type==="IndexedAccessType"||b.type==="OptionalIndexedAccessType")||b.type==="NullableTypeAnnotation"||f.type==="FunctionTypeParam"&&f.name===null&&s(i).some(S=>S.typeAnnotation&&S.typeAnnotation.type==="NullableTypeAnnotation")}case"OptionalIndexedAccessType":return F==="objectType"&&f.type==="IndexedAccessType";case"StringLiteral":case"NumericLiteral":case"Literal":if(typeof i.value=="string"&&f.type==="ExpressionStatement"&&!f.directive){let b=d.getParentNode(1);return b.type==="Program"||b.type==="BlockStatement"}return F==="object"&&f.type==="MemberExpression"&&typeof i.value=="number";case"AssignmentExpression":{let b=d.getParentNode(1);return F==="body"&&f.type==="ArrowFunctionExpression"?!0:F==="key"&&(f.type==="ClassProperty"||f.type==="PropertyDefinition")&&f.computed||(F==="init"||F==="update")&&f.type==="ForStatement"?!1:f.type==="ExpressionStatement"?i.left.type==="ObjectPattern":!(F==="key"&&f.type==="TSPropertySignature"||f.type==="AssignmentExpression"||f.type==="SequenceExpression"&&b&&b.type==="ForStatement"&&(b.init===f||b.update===f)||F==="value"&&f.type==="Property"&&b&&b.type==="ObjectPattern"&&b.properties.includes(f)||f.type==="NGChainedExpression")}case"ConditionalExpression":switch(f.type){case"TaggedTemplateExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":case"NGPipeExpression":case"ExportDefaultDeclaration":case"AwaitExpression":case"JSXSpreadAttribute":case"TSTypeAssertion":case"TypeCastExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return F==="callee";case"ConditionalExpression":return F==="test";case"MemberExpression":case"OptionalMemberExpression":return F==="object";default:return!1}case"FunctionExpression":switch(f.type){case"NewExpression":case"CallExpression":case"OptionalCallExpression":return F==="callee";case"TaggedTemplateExpression":return!0;default:return!1}case"ArrowFunctionExpression":switch(f.type){case"BinaryExpression":return f.operator!=="|>"||i.extra&&i.extra.parenthesized;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return F==="callee";case"MemberExpression":case"OptionalMemberExpression":return F==="object";case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"BindExpression":case"TaggedTemplateExpression":case"UnaryExpression":case"LogicalExpression":case"AwaitExpression":case"TSTypeAssertion":return!0;case"ConditionalExpression":return F==="test";default:return!1}case"ClassExpression":if(a(i.decorators))return!0;switch(f.type){case"NewExpression":return F==="callee";default:return!1}case"OptionalMemberExpression":case"OptionalCallExpression":{let b=d.getParentNode(1);if(F==="object"&&f.type==="MemberExpression"||F==="callee"&&(f.type==="CallExpression"||f.type==="NewExpression")||f.type==="TSNonNullExpression"&&b.type==="MemberExpression"&&b.object===f)return!0}case"CallExpression":case"MemberExpression":case"TaggedTemplateExpression":case"TSNonNullExpression":if(F==="callee"&&(f.type==="BindExpression"||f.type==="NewExpression")){let b=i;for(;b;)switch(b.type){case"CallExpression":case"OptionalCallExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":case"BindExpression":b=b.object;break;case"TaggedTemplateExpression":b=b.tag;break;case"TSNonNullExpression":b=b.expression;break;default:return!1}}return!1;case"BindExpression":return F==="callee"&&(f.type==="BindExpression"||f.type==="NewExpression")||F==="object"&&D(f);case"NGPipeExpression":return!(f.type==="NGRoot"||f.type==="NGMicrosyntaxExpression"||f.type==="ObjectProperty"&&!(i.extra&&i.extra.parenthesized)||f.type==="ArrayExpression"||p(f)&&f.arguments[F]===i||F==="right"&&f.type==="NGPipeExpression"||F==="property"&&f.type==="MemberExpression"||f.type==="AssignmentExpression");case"JSXFragment":case"JSXElement":return F==="callee"||F==="left"&&f.type==="BinaryExpression"&&f.operator==="<"||f.type!=="ArrayExpression"&&f.type!=="ArrowFunctionExpression"&&f.type!=="AssignmentExpression"&&f.type!=="AssignmentPattern"&&f.type!=="BinaryExpression"&&f.type!=="NewExpression"&&f.type!=="ConditionalExpression"&&f.type!=="ExpressionStatement"&&f.type!=="JsExpressionRoot"&&f.type!=="JSXAttribute"&&f.type!=="JSXElement"&&f.type!=="JSXExpressionContainer"&&f.type!=="JSXFragment"&&f.type!=="LogicalExpression"&&!p(f)&&!C(f)&&f.type!=="ReturnStatement"&&f.type!=="ThrowStatement"&&f.type!=="TypeCastExpression"&&f.type!=="VariableDeclarator"&&f.type!=="YieldExpression";case"TypeAnnotation":return F==="returnType"&&f.type==="ArrowFunctionExpression"&&x(i)}return!1}function A(d){return d.type==="BlockStatement"||d.type==="BreakStatement"||d.type==="ClassBody"||d.type==="ClassDeclaration"||d.type==="ClassMethod"||d.type==="ClassProperty"||d.type==="PropertyDefinition"||d.type==="ClassPrivateProperty"||d.type==="ContinueStatement"||d.type==="DebuggerStatement"||d.type==="DeclareClass"||d.type==="DeclareExportAllDeclaration"||d.type==="DeclareExportDeclaration"||d.type==="DeclareFunction"||d.type==="DeclareInterface"||d.type==="DeclareModule"||d.type==="DeclareModuleExports"||d.type==="DeclareVariable"||d.type==="DoWhileStatement"||d.type==="EnumDeclaration"||d.type==="ExportAllDeclaration"||d.type==="ExportDefaultDeclaration"||d.type==="ExportNamedDeclaration"||d.type==="ExpressionStatement"||d.type==="ForInStatement"||d.type==="ForOfStatement"||d.type==="ForStatement"||d.type==="FunctionDeclaration"||d.type==="IfStatement"||d.type==="ImportDeclaration"||d.type==="InterfaceDeclaration"||d.type==="LabeledStatement"||d.type==="MethodDefinition"||d.type==="ReturnStatement"||d.type==="SwitchStatement"||d.type==="ThrowStatement"||d.type==="TryStatement"||d.type==="TSDeclareFunction"||d.type==="TSEnumDeclaration"||d.type==="TSImportEqualsDeclaration"||d.type==="TSInterfaceDeclaration"||d.type==="TSModuleDeclaration"||d.type==="TSNamespaceExportDeclaration"||d.type==="TypeAlias"||d.type==="VariableDeclaration"||d.type==="WhileStatement"||d.type==="WithStatement"}function N(d){let T=0,f=d.getValue();for(;f;){let F=d.getParentNode(T++);if(F&&F.type==="ForStatement"&&F.init===f)return!0;f=F}return!1}function x(d){return o(d,T=>T.type==="ObjectTypeAnnotation"&&o(T,f=>f.type==="FunctionTypeAnnotation"||void 0)||void 0)}function P(d){switch(d.type){case"ObjectExpression":return!0;default:return!1}}function _(d){let T=d.getValue(),f=d.getParentNode(),F=d.getName();switch(f.type){case"NGPipeExpression":if(typeof F=="number"&&f.arguments[F]===T&&f.arguments.length-1===F)return d.callParent(_);break;case"ObjectProperty":if(F==="value"){let i=d.getParentNode(1);return t(i.properties)===f}break;case"BinaryExpression":case"LogicalExpression":if(F==="right")return d.callParent(_);break;case"ConditionalExpression":if(F==="alternate")return d.callParent(_);break;case"UnaryExpression":if(f.prefix)return d.callParent(_);break}return!1}function J(d,T){let f=d.getValue(),F=d.getParentNode();return f.type==="FunctionExpression"||f.type==="ClassExpression"?F.type==="ExportDefaultDeclaration"||!k(d,T):!n(f)||F.type!=="ExportDefaultDeclaration"&&k(d,T)?!1:d.call(i=>J(i,T),...e(d,f))}l.exports=k}}),Is=$({"src/language-js/print-preprocess.js"(u,l){ue();function t(a,s){switch(s.parser){case"json":case"json5":case"json-stringify":case"__js_expression":case"__vue_expression":case"__vue_ts_expression":return Object.assign(Object.assign({},a),{},{type:s.parser.startsWith("__")?"JsExpressionRoot":"JsonRoot",node:a,comments:[],rootMarker:s.rootMarker});default:return a}}l.exports=t}}),Ea=$({"src/language-js/print/html-binding.js"(u,l){ue();var{builders:{join:t,line:a,group:s,softline:e,indent:r}}=wt();function n(c,y,m){let g=c.getValue();if(y.__onHtmlBindingRoot&&c.getName()===null&&y.__onHtmlBindingRoot(g,y),g.type==="File"){if(y.__isVueForBindingLeft)return c.call(p=>{let D=t([",",a],p.map(m,"params")),{params:C}=p.getValue();return C.length===1?D:["(",r([e,s(D)]),e,")"]},"program","body",0);if(y.__isVueBindings)return c.call(p=>t([",",a],p.map(m,"params")),"program","body",0)}}function o(c){switch(c.type){case"MemberExpression":switch(c.property.type){case"Identifier":case"NumericLiteral":case"StringLiteral":return o(c.object)}return!1;case"Identifier":return!0;default:return!1}}l.exports={isVueEventBindingExpression:o,printHtmlBinding:n}}}),as=$({"src/language-js/print/binaryish.js"(u,l){ue();var{printComments:t}=Qt(),{getLast:a}=Gt(),{builders:{join:s,line:e,softline:r,group:n,indent:o,align:c,indentIfBreak:y},utils:{cleanDoc:m,getDocParts:g,isConcat:p}}=wt(),{hasLeadingOwnLineComment:D,isBinaryish:C,isJsxNode:w,shouldFlatten:k,hasComment:A,CommentCheckFlags:N,isCallExpression:x,isMemberExpression:P,isObjectProperty:_,isEnabledHackPipeline:J}=ur(),d=0;function T(i,h,E){let b=i.getValue(),S=i.getParentNode(),B=i.getParentNode(1),I=b!==S.body&&(S.type==="IfStatement"||S.type==="WhileStatement"||S.type==="SwitchStatement"||S.type==="DoWhileStatement"),q=J(h)&&b.operator==="|>",G=f(i,E,h,!1,I);if(I)return G;if(q)return n(G);if(x(S)&&S.callee===b||S.type==="UnaryExpression"||P(S)&&!S.computed)return n([o([r,...G]),r]);let M=S.type==="ReturnStatement"||S.type==="ThrowStatement"||S.type==="JSXExpressionContainer"&&B.type==="JSXAttribute"||b.operator!=="|"&&S.type==="JsExpressionRoot"||b.type!=="NGPipeExpression"&&(S.type==="NGRoot"&&h.parser==="__ng_binding"||S.type==="NGMicrosyntaxExpression"&&B.type==="NGMicrosyntax"&&B.body.length===1)||b===S.body&&S.type==="ArrowFunctionExpression"||b!==S.body&&S.type==="ForStatement"||S.type==="ConditionalExpression"&&B.type!=="ReturnStatement"&&B.type!=="ThrowStatement"&&!x(B)||S.type==="TemplateLiteral",te=S.type==="AssignmentExpression"||S.type==="VariableDeclarator"||S.type==="ClassProperty"||S.type==="PropertyDefinition"||S.type==="TSAbstractPropertyDefinition"||S.type==="ClassPrivateProperty"||_(S),j=C(b.left)&&k(b.operator,b.left.operator);if(M||F(b)&&!j||!F(b)&&te)return n(G);if(G.length===0)return"";let De=w(b.right),U=G.findIndex(X=>typeof X!="string"&&!Array.isArray(X)&&X.type==="group"),R=G.slice(0,U===-1?1:U+1),pe=G.slice(R.length,De?-1:void 0),be=Symbol("logicalChain-"+ ++d),fe=n([...R,o(pe)],{id:be});if(!De)return fe;let Ie=a(G);return n([fe,y(Ie,{groupId:be})])}function f(i,h,E,b,S){let B=i.getValue();if(!C(B))return[n(h())];let I=[];k(B.operator,B.left.operator)?I=i.call(pe=>f(pe,h,E,!0,S),"left"):I.push(n(h("left")));let q=F(B),G=(B.operator==="|>"||B.type==="NGPipeExpression"||B.operator==="|"&&E.parser==="__vue_expression")&&!D(E.originalText,B.right),M=B.type==="NGPipeExpression"?"|":B.operator,te=B.type==="NGPipeExpression"&&B.arguments.length>0?n(o([e,": ",s([e,": "],i.map(h,"arguments").map(pe=>c(2,n(pe))))])):"",j;if(q)j=[M," ",h("right"),te];else{let pe=J(E)&&M==="|>"?i.call(be=>f(be,h,E,!0,S),"right"):h("right");j=[G?e:"",M,G?" ":e,pe,te]}let De=i.getParentNode(),U=A(B.left,N.Trailing|N.Line),R=U||!(S&&B.type==="LogicalExpression")&&De.type!==B.type&&B.left.type!==B.type&&B.right.type!==B.type;if(I.push(G?"":" ",R?n(j,{shouldBreak:U}):j),b&&A(B)){let pe=m(t(i,I,E));return p(pe)||pe.type==="fill"?g(pe):[pe]}return I}function F(i){return i.type!=="LogicalExpression"?!1:!!(i.right.type==="ObjectExpression"&&i.right.properties.length>0||i.right.type==="ArrayExpression"&&i.right.elements.length>0||w(i.right))}l.exports={printBinaryishExpression:T,shouldInlineLogicalExpression:F}}}),Ca=$({"src/language-js/print/angular.js"(u,l){ue();var{builders:{join:t,line:a,group:s}}=wt(),{hasNode:e,hasComment:r,getComments:n}=ur(),{printBinaryishExpression:o}=as();function c(g,p,D){let C=g.getValue();if(C.type.startsWith("NG"))switch(C.type){case"NGRoot":return[D("node"),r(C.node)?" //"+n(C.node)[0].value.trimEnd():""];case"NGPipeExpression":return o(g,p,D);case"NGChainedExpression":return s(t([";",a],g.map(w=>m(w)?D():["(",D(),")"],"expressions")));case"NGEmptyExpression":return"";case"NGQuotedExpression":return[C.prefix,": ",C.value.trim()];case"NGMicrosyntax":return g.map((w,k)=>[k===0?"":y(w.getValue(),k,C)?" ":[";",a],D()],"body");case"NGMicrosyntaxKey":return/^[$_a-z][\w$]*(?:-[$_a-z][\w$])*$/i.test(C.name)?C.name:JSON.stringify(C.name);case"NGMicrosyntaxExpression":return[D("expression"),C.alias===null?"":[" as ",D("alias")]];case"NGMicrosyntaxKeyedExpression":{let w=g.getName(),k=g.getParentNode(),A=y(C,w,k)||(w===1&&(C.key.name==="then"||C.key.name==="else")||w===2&&C.key.name==="else"&&k.body[w-1].type==="NGMicrosyntaxKeyedExpression"&&k.body[w-1].key.name==="then")&&k.body[0].type==="NGMicrosyntaxExpression";return[D("key"),A?" ":": ",D("expression")]}case"NGMicrosyntaxLet":return["let ",D("key"),C.value===null?"":[" = ",D("value")]];case"NGMicrosyntaxAs":return[D("key")," as ",D("alias")];default:throw new Error(`Unknown Angular node type: ${JSON.stringify(C.type)}.`)}}function y(g,p,D){return g.type==="NGMicrosyntaxKeyedExpression"&&g.key.name==="of"&&p===1&&D.body[0].type==="NGMicrosyntaxLet"&&D.body[0].value===null}function m(g){return e(g.getValue(),p=>{switch(p.type){case void 0:return!1;case"CallExpression":case"OptionalCallExpression":case"AssignmentExpression":return!0}})}l.exports={printAngular:c}}}),Fa=$({"src/language-js/print/jsx.js"(u,l){ue();var{printComments:t,printDanglingComments:a,printCommentsSeparately:s}=Qt(),{builders:{line:e,hardline:r,softline:n,group:o,indent:c,conditionalGroup:y,fill:m,ifBreak:g,lineSuffixBoundary:p,join:D},utils:{willBreak:C}}=wt(),{getLast:w,getPreferredQuote:k}=Gt(),{isJsxNode:A,rawText:N,isCallExpression:x,isStringLiteral:P,isBinaryish:_,hasComment:J,CommentCheckFlags:d,hasNodeIgnoreComment:T}=ur(),f=Ln(),{willPrintOwnComments:F}=Ps(),i=Q=>Q===""||Q===e||Q===r||Q===n;function h(Q,me,Ce){let Re=Q.getValue();if(Re.type==="JSXElement"&&we(Re))return[Ce("openingElement"),Ce("closingElement")];let Xe=Re.type==="JSXElement"?Ce("openingElement"):Ce("openingFragment"),Ye=Re.type==="JSXElement"?Ce("closingElement"):Ce("closingFragment");if(Re.children.length===1&&Re.children[0].type==="JSXExpressionContainer"&&(Re.children[0].expression.type==="TemplateLiteral"||Re.children[0].expression.type==="TaggedTemplateExpression"))return[Xe,...Q.map(Ce,"children"),Ye];Re.children=Re.children.map(v=>it(v)?{type:"JSXText",value:" ",raw:" "}:v);let Ct=Re.children.some(A),Rt=Re.children.filter(v=>v.type==="JSXExpressionContainer").length>1,It=Re.type==="JSXElement"&&Re.openingElement.attributes.length>1,Et=C(Xe)||Ct||It||Rt,bt=Q.getParentNode().rootMarker==="mdx",xe=me.singleQuote?"{' '}":'{" "}',H=bt?" ":g([xe,n]," "),ke=Re.openingElement&&Re.openingElement.name&&Re.openingElement.name.name==="fbt",oe=E(Q,me,Ce,H,ke),Be=Re.children.some(v=>_e(v));for(let v=oe.length-2;v>=0;v--){let K=oe[v]===""&&oe[v+1]==="",ye=oe[v]===r&&oe[v+1]===""&&oe[v+2]===r,ze=(oe[v]===n||oe[v]===r)&&oe[v+1]===""&&oe[v+2]===H,tt=oe[v]===H&&oe[v+1]===""&&(oe[v+2]===n||oe[v+2]===r),ht=oe[v]===H&&oe[v+1]===""&&oe[v+2]===H,Ke=oe[v]===n&&oe[v+1]===""&&oe[v+2]===r||oe[v]===r&&oe[v+1]===""&&oe[v+2]===n;ye&&Be||K||ze||ht||Ke?oe.splice(v,2):tt&&oe.splice(v+1,2)}for(;oe.length>0&&i(w(oe));)oe.pop();for(;oe.length>1&&i(oe[0])&&i(oe[1]);)oe.shift(),oe.shift();let pt=[];for(let[v,K]of oe.entries()){if(K===H){if(v===1&&oe[v-1]===""){if(oe.length===2){pt.push(xe);continue}pt.push([xe,r]);continue}else if(v===oe.length-1){pt.push(xe);continue}else if(oe[v-1]===""&&oe[v-2]===r){pt.push(xe);continue}}pt.push(K),C(K)&&(Et=!0)}let ut=Be?m(pt):o(pt,{shouldBreak:!0});if(bt)return ut;let Le=o([Xe,c([r,ut]),r,Ye]);return Et?Le:y([o([Xe,...oe,Ye]),Le])}function E(Q,me,Ce,Re,Xe){let Ye=[];return Q.each((Ct,Rt,It)=>{let Et=Ct.getValue();if(Et.type==="JSXText"){let bt=N(Et);if(_e(Et)){let xe=bt.split(Ie);if(xe[0]===""){if(Ye.push(""),xe.shift(),/\n/.test(xe[0])){let ke=It[Rt+1];Ye.push(S(Xe,xe[1],Et,ke))}else Ye.push(Re);xe.shift()}let H;if(w(xe)===""&&(xe.pop(),H=xe.pop()),xe.length===0)return;for(let[ke,oe]of xe.entries())ke%2===1?Ye.push(e):Ye.push(oe);if(H!==void 0)if(/\n/.test(H)){let ke=It[Rt+1];Ye.push(S(Xe,w(Ye),Et,ke))}else Ye.push(Re);else{let ke=It[Rt+1];Ye.push(b(Xe,w(Ye),Et,ke))}}else/\n/.test(bt)?bt.match(/\n/g).length>1&&Ye.push("",r):Ye.push("",Re)}else{let bt=Ce();Ye.push(bt);let xe=It[Rt+1];if(xe&&_e(xe)){let H=se(N(xe)).split(Ie)[0];Ye.push(b(Xe,H,Et,xe))}else Ye.push(r)}},"children"),Ye}function b(Q,me,Ce,Re){return Q?"":Ce.type==="JSXElement"&&!Ce.closingElement||Re&&Re.type==="JSXElement"&&!Re.closingElement?me.length===1?n:r:n}function S(Q,me,Ce,Re){return Q?r:me.length===1?Ce.type==="JSXElement"&&!Ce.closingElement||Re&&Re.type==="JSXElement"&&!Re.closingElement?r:n:r}function B(Q,me,Ce){let Re=Q.getParentNode();if(!Re||{ArrayExpression:!0,JSXAttribute:!0,JSXElement:!0,JSXExpressionContainer:!0,JSXFragment:!0,ExpressionStatement:!0,CallExpression:!0,OptionalCallExpression:!0,ConditionalExpression:!0,JsExpressionRoot:!0}[Re.type])return me;let Xe=Q.match(void 0,Ct=>Ct.type==="ArrowFunctionExpression",x,Ct=>Ct.type==="JSXExpressionContainer"),Ye=f(Q,Ce);return o([Ye?"":g("("),c([n,me]),n,Ye?"":g(")")],{shouldBreak:Xe})}function I(Q,me,Ce){let Re=Q.getValue(),Xe=[];if(Xe.push(Ce("name")),Re.value){let Ye;if(P(Re.value)){let Ct=N(Re.value).slice(1,-1).replace(/'/g,"'").replace(/"/g,'"'),{escaped:Rt,quote:It,regex:Et}=k(Ct,me.jsxSingleQuote?"'":'"');Ct=Ct.replace(Et,Rt);let{leading:bt,trailing:xe}=Q.call(()=>s(Q,me),"value");Ye=[bt,It,Ct,It,xe]}else Ye=Ce("value");Xe.push("=",Ye)}return Xe}function q(Q,me,Ce){let Re=Q.getValue(),Xe=(Ye,Ct)=>Ye.type==="JSXEmptyExpression"||!J(Ye)&&(Ye.type==="ArrayExpression"||Ye.type==="ObjectExpression"||Ye.type==="ArrowFunctionExpression"||Ye.type==="AwaitExpression"&&(Xe(Ye.argument,Ye)||Ye.argument.type==="JSXElement")||x(Ye)||Ye.type==="FunctionExpression"||Ye.type==="TemplateLiteral"||Ye.type==="TaggedTemplateExpression"||Ye.type==="DoExpression"||A(Ct)&&(Ye.type==="ConditionalExpression"||_(Ye)));return Xe(Re.expression,Q.getParentNode(0))?o(["{",Ce("expression"),p,"}"]):o(["{",c([n,Ce("expression")]),n,p,"}"])}function G(Q,me,Ce){let Re=Q.getValue(),Xe=Re.name&&J(Re.name)||Re.typeParameters&&J(Re.typeParameters);if(Re.selfClosing&&Re.attributes.length===0&&!Xe)return["<",Ce("name"),Ce("typeParameters")," />"];if(Re.attributes&&Re.attributes.length===1&&Re.attributes[0].value&&P(Re.attributes[0].value)&&!Re.attributes[0].value.value.includes(` +`)&&!Xe&&!J(Re.attributes[0]))return o(["<",Ce("name"),Ce("typeParameters")," ",...Q.map(Ce,"attributes"),Re.selfClosing?" />":">"]);let Ye=Re.attributes&&Re.attributes.some(Rt=>Rt.value&&P(Rt.value)&&Rt.value.value.includes(` +`)),Ct=me.singleAttributePerLine&&Re.attributes.length>1?r:e;return o(["<",Ce("name"),Ce("typeParameters"),c(Q.map(()=>[Ct,Ce()],"attributes")),...M(Re,me,Xe)],{shouldBreak:Ye})}function M(Q,me,Ce){return Q.selfClosing?[e,"/>"]:te(Q,me,Ce)?[">"]:[n,">"]}function te(Q,me,Ce){let Re=Q.attributes.length>0&&J(w(Q.attributes),d.Trailing);return Q.attributes.length===0&&!Ce||(me.bracketSameLine||me.jsxBracketSameLine)&&(!Ce||Q.attributes.length>0)&&!Re}function j(Q,me,Ce){let Re=Q.getValue(),Xe=[];Xe.push(""),Xe}function De(Q,me){let Ce=Q.getValue(),Re=J(Ce),Xe=J(Ce,d.Line),Ye=Ce.type==="JSXOpeningFragment";return[Ye?"<":""]}function U(Q,me,Ce){let Re=t(Q,h(Q,me,Ce),me);return B(Q,Re,me)}function R(Q,me){let Ce=Q.getValue(),Re=J(Ce,d.Line);return[a(Q,me,!Re),Re?r:""]}function pe(Q,me,Ce){let Re=Q.getValue();return["{",Q.call(Xe=>{let Ye=["...",Ce()],Ct=Xe.getValue();return!J(Ct)||!F(Xe)?Ye:[c([n,t(Xe,Ye,me)]),n]},Re.type==="JSXSpreadAttribute"?"argument":"expression"),"}"]}function be(Q,me,Ce){let Re=Q.getValue();if(Re.type.startsWith("JSX"))switch(Re.type){case"JSXAttribute":return I(Q,me,Ce);case"JSXIdentifier":return String(Re.name);case"JSXNamespacedName":return D(":",[Ce("namespace"),Ce("name")]);case"JSXMemberExpression":return D(".",[Ce("object"),Ce("property")]);case"JSXSpreadAttribute":return pe(Q,me,Ce);case"JSXSpreadChild":return pe(Q,me,Ce);case"JSXExpressionContainer":return q(Q,me,Ce);case"JSXFragment":case"JSXElement":return U(Q,me,Ce);case"JSXOpeningElement":return G(Q,me,Ce);case"JSXClosingElement":return j(Q,me,Ce);case"JSXOpeningFragment":case"JSXClosingFragment":return De(Q,me);case"JSXEmptyExpression":return R(Q,me);case"JSXText":throw new Error("JSXText should be handled by JSXElement");default:throw new Error(`Unknown JSX node type: ${JSON.stringify(Re.type)}.`)}}var fe=` +\r `,Ie=new RegExp("(["+fe+"]+)"),X=new RegExp("[^"+fe+"]"),se=Q=>Q.replace(new RegExp("(?:^"+Ie.source+"|"+Ie.source+"$)"),"");function we(Q){if(Q.children.length===0)return!0;if(Q.children.length>1)return!1;let me=Q.children[0];return me.type==="JSXText"&&!_e(me)}function _e(Q){return Q.type==="JSXText"&&(X.test(N(Q))||!/\n/.test(N(Q)))}function it(Q){return Q.type==="JSXExpressionContainer"&&P(Q.expression)&&Q.expression.value===" "&&!J(Q.expression)}function ae(Q){let me=Q.getValue(),Ce=Q.getParentNode();if(!Ce||!me||!A(me)||!A(Ce))return!1;let Re=Ce.children.indexOf(me),Xe=null;for(let Ye=Re;Ye>0;Ye--){let Ct=Ce.children[Ye-1];if(!(Ct.type==="JSXText"&&!_e(Ct))){Xe=Ct;break}}return Xe&&Xe.type==="JSXExpressionContainer"&&Xe.expression.type==="JSXEmptyExpression"&&T(Xe.expression)}l.exports={hasJsxIgnoreComment:ae,printJsx:be}}}),qr=$({"src/language-js/print/misc.js"(u,l){ue();var{isNonEmptyArray:t}=Gt(),{builders:{indent:a,join:s,line:e}}=wt(),{isFlowAnnotationComment:r}=ur();function n(w){let k=w.getValue();return!k.optional||k.type==="Identifier"&&k===w.getParentNode().key?"":k.type==="OptionalCallExpression"||k.type==="OptionalMemberExpression"&&k.computed?"?.":"?"}function o(w){return w.getValue().definite||w.match(void 0,(k,A)=>A==="id"&&k.type==="VariableDeclarator"&&k.definite)?"!":""}function c(w,k,A){let N=w.getValue();return N.typeArguments?A("typeArguments"):N.typeParameters?A("typeParameters"):""}function y(w,k,A){let N=w.getValue();if(!N.typeAnnotation)return"";let x=w.getParentNode(),P=x.type==="DeclareFunction"&&x.id===N;return r(k.originalText,N.typeAnnotation)?[" /*: ",A("typeAnnotation")," */"]:[P?"":": ",A("typeAnnotation")]}function m(w,k,A){return["::",A("callee")]}function g(w,k,A){let N=w.getValue();return t(N.modifiers)?[s(" ",w.map(A,"modifiers"))," "]:""}function p(w,k,A){return w.type==="EmptyStatement"?";":w.type==="BlockStatement"||A?[" ",k]:a([e,k])}function D(w,k,A){return["...",A("argument"),y(w,k,A)]}function C(w,k){let A=w.slice(1,-1);if(A.includes('"')||A.includes("'"))return w;let N=k.singleQuote?"'":'"';return N+A+N}l.exports={printOptionalToken:n,printDefiniteToken:o,printFunctionTypeParameters:c,printBindExpressionCallee:m,printTypeScriptModifiers:g,printTypeAnnotation:y,printRestSpread:D,adjustClause:p,printDirective:C}}}),Du=$({"src/language-js/print/array.js"(u,l){ue();var{printDanglingComments:t}=Qt(),{builders:{line:a,softline:s,hardline:e,group:r,indent:n,ifBreak:o,fill:c}}=wt(),{getLast:y,hasNewline:m}=Gt(),{shouldPrintComma:g,hasComment:p,CommentCheckFlags:D,isNextLineEmpty:C,isNumericLiteral:w,isSignedNumericLiteral:k}=ur(),{locStart:A}=or(),{printOptionalToken:N,printTypeAnnotation:x}=qr();function P(T,f,F){let i=T.getValue(),h=[],E=i.type==="TupleExpression"?"#[":"[",b="]";if(i.elements.length===0)p(i,D.Dangling)?h.push(r([E,t(T,f),s,b])):h.push(E,b);else{let S=y(i.elements),B=!(S&&S.type==="RestElement"),I=S===null,q=Symbol("array"),G=!f.__inJestEach&&i.elements.length>1&&i.elements.every((j,De,U)=>{let R=j&&j.type;if(R!=="ArrayExpression"&&R!=="ObjectExpression")return!1;let pe=U[De+1];if(pe&&R!==pe.type)return!1;let be=R==="ArrayExpression"?"elements":"properties";return j[be]&&j[be].length>1}),M=_(i,f),te=B?I?",":g(f)?M?o(",","",{groupId:q}):o(","):"":"";h.push(r([E,n([s,M?d(T,f,F,te):[J(T,f,"elements",F),te],t(T,f,!0)]),s,b],{shouldBreak:G,id:q}))}return h.push(N(T),x(T,f,F)),h}function _(T,f){return T.elements.length>1&&T.elements.every(F=>F&&(w(F)||k(F)&&!p(F.argument))&&!p(F,D.Trailing|D.Line,i=>!m(f.originalText,A(i),{backwards:!0})))}function J(T,f,F,i){let h=[],E=[];return T.each(b=>{h.push(E,r(i())),E=[",",a],b.getValue()&&C(b.getValue(),f)&&E.push(s)},F),h}function d(T,f,F,i){let h=[];return T.each((E,b,S)=>{let B=b===S.length-1;h.push([F(),B?i:","]),B||h.push(C(E.getValue(),f)?[e,e]:p(S[b+1],D.Leading|D.Line)?e:a)},"elements"),c(h)}l.exports={printArray:P,printArrayItems:J,isConciselyPrintedArray:_}}}),js=$({"src/language-js/print/call-arguments.js"(u,l){ue();var{printDanglingComments:t}=Qt(),{getLast:a,getPenultimate:s}=Gt(),{getFunctionParameters:e,hasComment:r,CommentCheckFlags:n,isFunctionCompositionArgs:o,isJsxNode:c,isLongCurriedCallExpression:y,shouldPrintComma:m,getCallArguments:g,iterateCallArgumentsPath:p,isNextLineEmpty:D,isCallExpression:C,isStringLiteral:w,isObjectProperty:k,isTSTypeExpression:A}=ur(),{builders:{line:N,hardline:x,softline:P,group:_,indent:J,conditionalGroup:d,ifBreak:T,breakParent:f},utils:{willBreak:F}}=wt(),{ArgExpansionBailout:i}=Fn(),{isConciselyPrintedArray:h}=Du();function E(M,te,j){let De=M.getValue(),U=De.type==="ImportExpression",R=g(De);if(R.length===0)return["(",t(M,te,!0),")"];if(I(R))return["(",j(["arguments",0]),", ",j(["arguments",1]),")"];let pe=!1,be=!1,fe=R.length-1,Ie=[];p(M,(ae,Q)=>{let me=ae.getNode(),Ce=[j()];Q===fe||(D(me,te)?(Q===0&&(be=!0),pe=!0,Ce.push(",",x,x)):Ce.push(",",N)),Ie.push(Ce)});let X=!(U||De.callee&&De.callee.type==="Import")&&m(te,"all")?",":"";function se(){return _(["(",J([N,...Ie]),X,N,")"],{shouldBreak:!0})}if(pe||M.getParentNode().type!=="Decorator"&&o(R))return se();let we=B(R),_e=S(R,te);if(we||_e){if(we?Ie.slice(1).some(F):Ie.slice(0,-1).some(F))return se();let ae=[];try{M.try(()=>{p(M,(Q,me)=>{we&&me===0&&(ae=[[j([],{expandFirstArg:!0}),Ie.length>1?",":"",be?x:N,be?x:""],...Ie.slice(1)]),_e&&me===fe&&(ae=[...Ie.slice(0,-1),j([],{expandLastArg:!0})])})})}catch(Q){if(Q instanceof i)return se();throw Q}return[Ie.some(F)?f:"",d([["(",...ae,")"],we?["(",_(ae[0],{shouldBreak:!0}),...ae.slice(1),")"]:["(",...Ie.slice(0,-1),_(a(ae),{shouldBreak:!0}),")"],se()])]}let it=["(",J([P,...Ie]),T(X),P,")"];return y(M)?it:_(it,{shouldBreak:Ie.some(F)||pe})}function b(M){let te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return M.type==="ObjectExpression"&&(M.properties.length>0||r(M))||M.type==="ArrayExpression"&&(M.elements.length>0||r(M))||M.type==="TSTypeAssertion"&&b(M.expression)||A(M)&&b(M.expression)||M.type==="FunctionExpression"||M.type==="ArrowFunctionExpression"&&(!M.returnType||!M.returnType.typeAnnotation||M.returnType.typeAnnotation.type!=="TSTypeReference"||q(M.body))&&(M.body.type==="BlockStatement"||M.body.type==="ArrowFunctionExpression"&&b(M.body,!0)||M.body.type==="ObjectExpression"||M.body.type==="ArrayExpression"||!te&&(C(M.body)||M.body.type==="ConditionalExpression")||c(M.body))||M.type==="DoExpression"||M.type==="ModuleExpression"}function S(M,te){let j=a(M),De=s(M);return!r(j,n.Leading)&&!r(j,n.Trailing)&&b(j)&&(!De||De.type!==j.type)&&(M.length!==2||De.type!=="ArrowFunctionExpression"||j.type!=="ArrayExpression")&&!(M.length>1&&j.type==="ArrayExpression"&&h(j,te))}function B(M){if(M.length!==2)return!1;let[te,j]=M;return te.type==="ModuleExpression"&&G(j)?!0:!r(te)&&(te.type==="FunctionExpression"||te.type==="ArrowFunctionExpression"&&te.body.type==="BlockStatement")&&j.type!=="FunctionExpression"&&j.type!=="ArrowFunctionExpression"&&j.type!=="ConditionalExpression"&&!b(j)}function I(M){return M.length===2&&M[0].type==="ArrowFunctionExpression"&&e(M[0]).length===0&&M[0].body.type==="BlockStatement"&&M[1].type==="ArrayExpression"&&!M.some(te=>r(te))}function q(M){return M.type==="BlockStatement"&&(M.body.some(te=>te.type!=="EmptyStatement")||r(M,n.Dangling))}function G(M){return M.type==="ObjectExpression"&&M.properties.length===1&&k(M.properties[0])&&M.properties[0].key.type==="Identifier"&&M.properties[0].key.name==="type"&&w(M.properties[0].value)&&M.properties[0].value.value==="module"}l.exports=E}}),Ls=$({"src/language-js/print/member.js"(u,l){ue();var{builders:{softline:t,group:a,indent:s,label:e}}=wt(),{isNumericLiteral:r,isMemberExpression:n,isCallExpression:o}=ur(),{printOptionalToken:c}=qr();function y(g,p,D){let C=g.getValue(),w=g.getParentNode(),k,A=0;do k=g.getParentNode(A),A++;while(k&&(n(k)||k.type==="TSNonNullExpression"));let N=D("object"),x=m(g,p,D),P=k&&(k.type==="NewExpression"||k.type==="BindExpression"||k.type==="AssignmentExpression"&&k.left.type!=="Identifier")||C.computed||C.object.type==="Identifier"&&C.property.type==="Identifier"&&!n(w)||(w.type==="AssignmentExpression"||w.type==="VariableDeclarator")&&(o(C.object)&&C.object.arguments.length>0||C.object.type==="TSNonNullExpression"&&o(C.object.expression)&&C.object.expression.arguments.length>0||N.label==="member-chain");return e(N.label==="member-chain"?"member-chain":"member",[N,P?x:a(s([t,x]))])}function m(g,p,D){let C=D("property"),w=g.getValue(),k=c(g);return w.computed?!w.property||r(w.property)?[k,"[",C,"]"]:a([k,"[",s([t,C]),t,"]"]):[k,".",C]}l.exports={printMemberExpression:y,printMemberLookup:m}}}),Aa=$({"src/language-js/print/member-chain.js"(u,l){ue();var{printComments:t}=Qt(),{getLast:a,isNextLineEmptyAfterIndex:s,getNextNonSpaceNonCommentCharacterIndex:e}=Gt(),r=Ln(),{isCallExpression:n,isMemberExpression:o,isFunctionOrArrowExpression:c,isLongCurriedCallExpression:y,isMemberish:m,isNumericLiteral:g,isSimpleCallArgument:p,hasComment:D,CommentCheckFlags:C,isNextLineEmpty:w}=ur(),{locEnd:k}=or(),{builders:{join:A,hardline:N,group:x,indent:P,conditionalGroup:_,breakParent:J,label:d},utils:{willBreak:T}}=wt(),f=js(),{printMemberLookup:F}=Ls(),{printOptionalToken:i,printFunctionTypeParameters:h,printBindExpressionCallee:E}=qr();function b(S,B,I){let q=S.getParentNode(),G=!q||q.type==="ExpressionStatement",M=[];function te(Et){let{originalText:bt}=B,xe=e(bt,Et,k);return bt.charAt(xe)===")"?xe!==!1&&s(bt,xe+1):w(Et,B)}function j(Et){let bt=Et.getValue();n(bt)&&(m(bt.callee)||n(bt.callee))?(M.unshift({node:bt,printed:[t(Et,[i(Et),h(Et,B,I),f(Et,B,I)],B),te(bt)?N:""]}),Et.call(xe=>j(xe),"callee")):m(bt)?(M.unshift({node:bt,needsParens:r(Et,B),printed:t(Et,o(bt)?F(Et,B,I):E(Et,B,I),B)}),Et.call(xe=>j(xe),"object")):bt.type==="TSNonNullExpression"?(M.unshift({node:bt,printed:t(Et,"!",B)}),Et.call(xe=>j(xe),"expression")):M.unshift({node:bt,printed:I()})}let De=S.getValue();M.unshift({node:De,printed:[i(S),h(S,B,I),f(S,B,I)]}),De.callee&&S.call(Et=>j(Et),"callee");let U=[],R=[M[0]],pe=1;for(;pe0&&U.push(R);function fe(Et){return/^[A-Z]|^[$_]+$/.test(Et)}function Ie(Et){return Et.length<=B.tabWidth}function X(Et){let bt=Et[1].length>0&&Et[1][0].node.computed;if(Et[0].length===1){let H=Et[0][0].node;return H.type==="ThisExpression"||H.type==="Identifier"&&(fe(H.name)||G&&Ie(H.name)||bt)}let xe=a(Et[0]).node;return o(xe)&&xe.property.type==="Identifier"&&(fe(xe.property.name)||bt)}let se=U.length>=2&&!D(U[1][0].node)&&X(U);function we(Et){let bt=Et.map(xe=>xe.printed);return Et.length>0&&a(Et).needsParens?["(",...bt,")"]:bt}function _e(Et){return Et.length===0?"":P(x([N,A(N,Et.map(we))]))}let it=U.map(we),ae=it,Q=se?3:2,me=U.flat(),Ce=me.slice(1,-1).some(Et=>D(Et.node,C.Leading))||me.slice(0,-1).some(Et=>D(Et.node,C.Trailing))||U[Q]&&D(U[Q][0].node,C.Leading);if(U.length<=Q&&!Ce)return y(S)?ae:x(ae);let Re=a(U[se?1:0]).node,Xe=!n(Re)&&te(Re),Ye=[we(U[0]),se?U.slice(1,2).map(we):"",Xe?N:"",_e(U.slice(se?2:1))],Ct=M.map(Et=>{let{node:bt}=Et;return bt}).filter(n);function Rt(){let Et=a(a(U)).node,bt=a(it);return n(Et)&&T(bt)&&Ct.slice(0,-1).some(xe=>xe.arguments.some(c))}let It;return Ce||Ct.length>2&&Ct.some(Et=>!Et.arguments.every(bt=>p(bt,0)))||it.slice(0,-1).some(T)||Rt()?It=x(Ye):It=[T(ae)||Xe?J:"",_([ae,Ye])],d("member-chain",It)}l.exports=b}}),Os=$({"src/language-js/print/call-expression.js"(u,l){ue();var{builders:{join:t,group:a}}=wt(),s=Ln(),{getCallArguments:e,hasFlowAnnotationComment:r,isCallExpression:n,isMemberish:o,isStringLiteral:c,isTemplateOnItsOwnLine:y,isTestCall:m,iterateCallArgumentsPath:g}=ur(),p=Aa(),D=js(),{printOptionalToken:C,printFunctionTypeParameters:w}=qr();function k(N,x,P){let _=N.getValue(),J=N.getParentNode(),d=_.type==="NewExpression",T=_.type==="ImportExpression",f=C(N),F=e(_);if(F.length>0&&(!T&&!d&&A(_,J)||F.length===1&&y(F[0],x.originalText)||!d&&m(_,J))){let E=[];return g(N,()=>{E.push(P())}),[d?"new ":"",P("callee"),f,w(N,x,P),"(",t(", ",E),")"]}let i=(x.parser==="babel"||x.parser==="babel-flow")&&_.callee&&_.callee.type==="Identifier"&&r(_.callee.trailingComments);if(i&&(_.callee.trailingComments[0].printed=!0),!T&&!d&&o(_.callee)&&!N.call(E=>s(E,x),"callee"))return p(N,x,P);let h=[d?"new ":"",T?"import":P("callee"),f,i?`/*:: ${_.callee.trailingComments[0].value.slice(2).trim()} */`:"",w(N,x,P),D(N,x,P)];return T||n(_.callee)?a(h):h}function A(N,x){if(N.callee.type!=="Identifier")return!1;if(N.callee.name==="require")return!0;if(N.callee.name==="define"){let P=e(N);return x.type==="ExpressionStatement"&&(P.length===1||P.length===2&&P[0].type==="ArrayExpression"||P.length===3&&c(P[0])&&P[1].type==="ArrayExpression")}return!1}l.exports={printCallExpression:k}}}),du=$({"src/language-js/print/assignment.js"(u,l){ue();var{isNonEmptyArray:t,getStringWidth:a}=Gt(),{builders:{line:s,group:e,indent:r,indentIfBreak:n,lineSuffixBoundary:o},utils:{cleanDoc:c,willBreak:y,canBreak:m}}=wt(),{hasLeadingOwnLineComment:g,isBinaryish:p,isStringLiteral:D,isLiteral:C,isNumericLiteral:w,isCallExpression:k,isMemberExpression:A,getCallArguments:N,rawText:x,hasComment:P,isSignedNumericLiteral:_,isObjectProperty:J}=ur(),{shouldInlineLogicalExpression:d}=as(),{printCallExpression:T}=Os();function f(X,se,we,_e,it,ae){let Q=h(X,se,we,_e,ae),me=we(ae,{assignmentLayout:Q});switch(Q){case"break-after-operator":return e([e(_e),it,e(r([s,me]))]);case"never-break-after-operator":return e([e(_e),it," ",me]);case"fluid":{let Ce=Symbol("assignment");return e([e(_e),it,e(r(s),{id:Ce}),o,n(me,{groupId:Ce})])}case"break-lhs":return e([_e,it," ",e(me)]);case"chain":return[e(_e),it,s,me];case"chain-tail":return[e(_e),it,r([s,me])];case"chain-tail-arrow-chain":return[e(_e),it,me];case"only-left":return _e}}function F(X,se,we){let _e=X.getValue();return f(X,se,we,we("left"),[" ",_e.operator],"right")}function i(X,se,we){return f(X,se,we,we("id")," =","init")}function h(X,se,we,_e,it){let ae=X.getValue(),Q=ae[it];if(!Q)return"only-left";let me=!S(Q);if(X.match(S,B,Re=>!me||Re.type!=="ExpressionStatement"&&Re.type!=="VariableDeclaration"))return me?Q.type==="ArrowFunctionExpression"&&Q.body.type==="ArrowFunctionExpression"?"chain-tail-arrow-chain":"chain-tail":"chain";if(!me&&S(Q.right)||g(se.originalText,Q))return"break-after-operator";if(Q.type==="CallExpression"&&Q.callee.name==="require"||se.parser==="json5"||se.parser==="json")return"never-break-after-operator";if(b(ae)||I(ae)||M(ae)||te(ae)&&m(_e))return"break-lhs";let Ce=be(ae,_e,se);return X.call(()=>E(X,se,we,Ce),it)?"break-after-operator":Ce||Q.type==="TemplateLiteral"||Q.type==="TaggedTemplateExpression"||Q.type==="BooleanLiteral"||w(Q)||Q.type==="ClassExpression"?"never-break-after-operator":"fluid"}function E(X,se,we,_e){let it=X.getValue();if(p(it)&&!d(it))return!0;switch(it.type){case"StringLiteralTypeAnnotation":case"SequenceExpression":return!0;case"ConditionalExpression":{let{test:me}=it;return p(me)&&!d(me)}case"ClassExpression":return t(it.decorators)}if(_e)return!1;let ae=it,Q=[];for(;;)if(ae.type==="UnaryExpression")ae=ae.argument,Q.push("argument");else if(ae.type==="TSNonNullExpression")ae=ae.expression,Q.push("expression");else break;return!!(D(ae)||X.call(()=>U(X,se,we),...Q))}function b(X){if(B(X)){let se=X.left||X.id;return se.type==="ObjectPattern"&&se.properties.length>2&&se.properties.some(we=>J(we)&&(!we.shorthand||we.value&&we.value.type==="AssignmentPattern"))}return!1}function S(X){return X.type==="AssignmentExpression"}function B(X){return S(X)||X.type==="VariableDeclarator"}function I(X){let se=q(X);if(t(se)){let we=X.type==="TSTypeAliasDeclaration"?"constraint":"bound";if(se.length>1&&se.some(_e=>_e[we]||_e.default))return!0}return!1}function q(X){return G(X)&&X.typeParameters&&X.typeParameters.params?X.typeParameters.params:null}function G(X){return X.type==="TSTypeAliasDeclaration"||X.type==="TypeAlias"}function M(X){if(X.type!=="VariableDeclarator")return!1;let{typeAnnotation:se}=X.id;if(!se||!se.typeAnnotation)return!1;let we=j(se.typeAnnotation);return t(we)&&we.length>1&&we.some(_e=>t(j(_e))||_e.type==="TSConditionalType")}function te(X){return X.type==="VariableDeclarator"&&X.init&&X.init.type==="ArrowFunctionExpression"}function j(X){return De(X)&&X.typeParameters&&X.typeParameters.params?X.typeParameters.params:null}function De(X){return X.type==="TSTypeReference"||X.type==="GenericTypeAnnotation"}function U(X,se,we){let _e=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,it=X.getValue(),ae=()=>U(X,se,we,!0);if(it.type==="TSNonNullExpression")return X.call(ae,"expression");if(k(it)){if(T(X,se,we).label==="member-chain")return!1;let Q=N(it);return!(Q.length===0||Q.length===1&&pe(Q[0],se))||fe(it,we)?!1:X.call(ae,"callee")}return A(it)?X.call(ae,"object"):_e&&(it.type==="Identifier"||it.type==="ThisExpression")}var R=.25;function pe(X,se){let{printWidth:we}=se;if(P(X))return!1;let _e=we*R;if(X.type==="ThisExpression"||X.type==="Identifier"&&X.name.length<=_e||_(X)&&!P(X.argument))return!0;let it=X.type==="Literal"&&"regex"in X&&X.regex.pattern||X.type==="RegExpLiteral"&&X.pattern;return it?it.length<=_e:D(X)?x(X).length<=_e:X.type==="TemplateLiteral"?X.expressions.length===0&&X.quasis[0].value.raw.length<=_e&&!X.quasis[0].value.raw.includes(` +`):C(X)}function be(X,se,we){if(!J(X))return!1;se=c(se);let _e=3;return typeof se=="string"&&a(se)1)return!0;if(we.length===1){let it=we[0];if(it.type==="TSUnionType"||it.type==="UnionTypeAnnotation"||it.type==="TSIntersectionType"||it.type==="IntersectionTypeAnnotation"||it.type==="TSTypeLiteral"||it.type==="ObjectTypeAnnotation")return!0}let _e=X.typeParameters?"typeParameters":"typeArguments";if(y(se(_e)))return!0}return!1}function Ie(X){return X.typeParameters&&X.typeParameters.params||X.typeArguments&&X.typeArguments.params}l.exports={printVariableDeclarator:i,printAssignmentExpression:F,printAssignment:f,isArrowFunctionVariableDeclarator:te}}}),Zu=$({"src/language-js/print/function-parameters.js"(u,l){ue();var{getNextNonSpaceNonCommentCharacter:t}=Gt(),{printDanglingComments:a}=Qt(),{builders:{line:s,hardline:e,softline:r,group:n,indent:o,ifBreak:c},utils:{removeLines:y,willBreak:m}}=wt(),{getFunctionParameters:g,iterateFunctionParametersPath:p,isSimpleType:D,isTestCall:C,isTypeAnnotationAFunction:w,isObjectType:k,isObjectTypePropertyAFunction:A,hasRestParameter:N,shouldPrintComma:x,hasComment:P,isNextLineEmpty:_}=ur(),{locEnd:J}=or(),{ArgExpansionBailout:d}=Fn(),{printFunctionTypeParameters:T}=qr();function f(E,b,S,B,I){let q=E.getValue(),G=g(q),M=I?T(E,S,b):"";if(G.length===0)return[M,"(",a(E,S,!0,pe=>t(S.originalText,pe,J)===")"),")"];let te=E.getParentNode(),j=C(te),De=F(q),U=[];if(p(E,(pe,be)=>{let fe=be===G.length-1;fe&&q.rest&&U.push("..."),U.push(b()),!fe&&(U.push(","),j||De?U.push(" "):_(G[be],S)?U.push(e,e):U.push(s))}),B){if(m(M)||m(U))throw new d;return n([y(M),"(",y(U),")"])}let R=G.every(pe=>!pe.decorators);return De&&R?[M,"(",...U,")"]:j?[M,"(",...U,")"]:(A(te)||w(te)||te.type==="TypeAlias"||te.type==="UnionTypeAnnotation"||te.type==="TSUnionType"||te.type==="IntersectionTypeAnnotation"||te.type==="FunctionTypeAnnotation"&&te.returnType===q)&&G.length===1&&G[0].name===null&&q.this!==G[0]&&G[0].typeAnnotation&&q.typeParameters===null&&D(G[0].typeAnnotation)&&!q.rest?S.arrowParens==="always"?["(",...U,")"]:U:[M,"(",o([r,...U]),c(!N(q)&&x(S,"all")?",":""),r,")"]}function F(E){if(!E)return!1;let b=g(E);if(b.length!==1)return!1;let[S]=b;return!P(S)&&(S.type==="ObjectPattern"||S.type==="ArrayPattern"||S.type==="Identifier"&&S.typeAnnotation&&(S.typeAnnotation.type==="TypeAnnotation"||S.typeAnnotation.type==="TSTypeAnnotation")&&k(S.typeAnnotation.typeAnnotation)||S.type==="FunctionTypeParam"&&k(S.typeAnnotation)||S.type==="AssignmentPattern"&&(S.left.type==="ObjectPattern"||S.left.type==="ArrayPattern")&&(S.right.type==="Identifier"||S.right.type==="ObjectExpression"&&S.right.properties.length===0||S.right.type==="ArrayExpression"&&S.right.elements.length===0))}function i(E){let b;return E.returnType?(b=E.returnType,b.typeAnnotation&&(b=b.typeAnnotation)):E.typeAnnotation&&(b=E.typeAnnotation),b}function h(E,b){let S=i(E);if(!S)return!1;let B=E.typeParameters&&E.typeParameters.params;if(B){if(B.length>1)return!1;if(B.length===1){let I=B[0];if(I.constraint||I.default)return!1}}return g(E).length===1&&(k(S)||m(b))}l.exports={printFunctionParameters:f,shouldHugFunctionParameters:F,shouldGroupFunctionParameters:h}}}),ei=$({"src/language-js/print/type-annotation.js"(u,l){ue();var{printComments:t,printDanglingComments:a}=Qt(),{isNonEmptyArray:s}=Gt(),{builders:{group:e,join:r,line:n,softline:o,indent:c,align:y,ifBreak:m}}=wt(),g=Ln(),{locStart:p}=or(),{isSimpleType:D,isObjectType:C,hasLeadingOwnLineComment:w,isObjectTypePropertyAFunction:k,shouldPrintComma:A}=ur(),{printAssignment:N}=du(),{printFunctionParameters:x,shouldGroupFunctionParameters:P}=Zu(),{printArrayItems:_}=Du();function J(S){if(D(S)||C(S))return!0;if(S.type==="UnionTypeAnnotation"||S.type==="TSUnionType"){let B=S.types.filter(q=>q.type==="VoidTypeAnnotation"||q.type==="TSVoidKeyword"||q.type==="NullLiteralTypeAnnotation"||q.type==="TSNullKeyword").length,I=S.types.some(q=>q.type==="ObjectTypeAnnotation"||q.type==="TSTypeLiteral"||q.type==="GenericTypeAnnotation"||q.type==="TSTypeReference");if(S.types.length-1===B&&I)return!0}return!1}function d(S,B,I){let q=B.semi?";":"",G=S.getValue(),M=[];return M.push("opaque type ",I("id"),I("typeParameters")),G.supertype&&M.push(": ",I("supertype")),G.impltype&&M.push(" = ",I("impltype")),M.push(q),M}function T(S,B,I){let q=B.semi?";":"",G=S.getValue(),M=[];G.declare&&M.push("declare "),M.push("type ",I("id"),I("typeParameters"));let te=G.type==="TSTypeAliasDeclaration"?"typeAnnotation":"right";return[N(S,B,I,M," =",te),q]}function f(S,B,I){let q=S.getValue(),G=S.map(I,"types"),M=[],te=!1;for(let j=0;j1&&(te=!0),M.push(" & ",j>1?c(G[j]):G[j]));return e(M)}function F(S,B,I){let q=S.getValue(),G=S.getParentNode(),M=G.type!=="TypeParameterInstantiation"&&G.type!=="TSTypeParameterInstantiation"&&G.type!=="GenericTypeAnnotation"&&G.type!=="TSTypeReference"&&G.type!=="TSTypeAssertion"&&G.type!=="TupleTypeAnnotation"&&G.type!=="TSTupleType"&&!(G.type==="FunctionTypeParam"&&!G.name&&S.getParentNode(1).this!==G)&&!((G.type==="TypeAlias"||G.type==="VariableDeclarator"||G.type==="TSTypeAliasDeclaration")&&w(B.originalText,q)),te=J(q),j=S.map(R=>{let pe=I();return te||(pe=y(2,pe)),t(R,pe,B)},"types");if(te)return r(" | ",j);let De=M&&!w(B.originalText,q),U=[m([De?n:"","| "]),r([n,"| "],j)];return g(S,B)?e([c(U),o]):G.type==="TupleTypeAnnotation"&&G.types.length>1||G.type==="TSTupleType"&&G.elementTypes.length>1?e([c([m(["(",o]),U]),o,m(")")]):e(M?c(U):U)}function i(S,B,I){let q=S.getValue(),G=[],M=S.getParentNode(0),te=S.getParentNode(1),j=S.getParentNode(2),De=q.type==="TSFunctionType"||!((M.type==="ObjectTypeProperty"||M.type==="ObjectTypeInternalSlot")&&!M.variance&&!M.optional&&p(M)===p(q)||M.type==="ObjectTypeCallProperty"||j&&j.type==="DeclareFunction"),U=De&&(M.type==="TypeAnnotation"||M.type==="TSTypeAnnotation"),R=U&&De&&(M.type==="TypeAnnotation"||M.type==="TSTypeAnnotation")&&te.type==="ArrowFunctionExpression";k(M)&&(De=!0,U=!0),R&&G.push("(");let pe=x(S,I,B,!1,!0),be=q.returnType||q.predicate||q.typeAnnotation?[De?" => ":": ",I("returnType"),I("predicate"),I("typeAnnotation")]:"",fe=P(q,be);return G.push(fe?e(pe):pe),be&&G.push(be),R&&G.push(")"),e(G)}function h(S,B,I){let q=S.getValue(),G=q.type==="TSTupleType"?"elementTypes":"types",M=q[G],te=s(M),j=te?o:"";return e(["[",c([j,_(S,B,G,I)]),m(te&&A(B,"all")?",":""),a(S,B,!0),j,"]"])}function E(S,B,I){let q=S.getValue(),G=q.type==="OptionalIndexedAccessType"&&q.optional?"?.[":"[";return[I("objectType"),G,I("indexType"),"]"]}function b(S,B,I){let q=S.getValue();return[q.postfix?"":I,B("typeAnnotation"),q.postfix?I:""]}l.exports={printOpaqueType:d,printTypeAlias:T,printIntersectionType:f,printUnionType:F,printFunctionType:i,printTupleType:h,printIndexedAccessType:E,shouldHugType:J,printJSDocType:b}}}),ti=$({"src/language-js/print/type-parameters.js"(u,l){ue();var{printDanglingComments:t}=Qt(),{builders:{join:a,line:s,hardline:e,softline:r,group:n,indent:o,ifBreak:c}}=wt(),{isTestCall:y,hasComment:m,CommentCheckFlags:g,isTSXFile:p,shouldPrintComma:D,getFunctionParameters:C,isObjectType:w,getTypeScriptMappedTypeModifier:k}=ur(),{createGroupIdMapper:A}=Gt(),{shouldHugType:N}=ei(),{isArrowFunctionVariableDeclarator:x}=du(),P=A("typeParameters");function _(T,f,F,i){let h=T.getValue();if(!h[i])return"";if(!Array.isArray(h[i]))return F(i);let E=T.getNode(2),b=E&&y(E),S=T.match(I=>!(I[i].length===1&&w(I[i][0])),void 0,(I,q)=>q==="typeAnnotation",I=>I.type==="Identifier",x);if(h[i].length===0||!S&&(b||h[i].length===1&&(h[i][0].type==="NullableTypeAnnotation"||N(h[i][0]))))return["<",a(", ",T.map(F,i)),J(T,f),">"];let B=h.type==="TSTypeParameterInstantiation"?"":C(h).length===1&&p(f)&&!h[i][0].constraint&&T.getParentNode().type==="ArrowFunctionExpression"?",":D(f,"all")?c(","):"";return n(["<",o([r,a([",",s],T.map(F,i))]),B,r,">"],{id:P(h)})}function J(T,f){let F=T.getValue();if(!m(F,g.Dangling))return"";let i=!m(F,g.Line),h=t(T,f,i);return i?h:[h,e]}function d(T,f,F){let i=T.getValue(),h=[i.type==="TSTypeParameter"&&i.const?"const ":""],E=T.getParentNode();return E.type==="TSMappedType"?(E.readonly&&h.push(k(E.readonly,"readonly")," "),h.push("[",F("name")),i.constraint&&h.push(" in ",F("constraint")),E.nameType&&h.push(" as ",T.callParent(()=>F("nameType"))),h.push("]"),h):(i.variance&&h.push(F("variance")),i.in&&h.push("in "),i.out&&h.push("out "),h.push(F("name")),i.bound&&h.push(": ",F("bound")),i.constraint&&h.push(" extends ",F("constraint")),i.default&&h.push(" = ",F("default")),h)}l.exports={printTypeParameter:d,printTypeParameters:_,getTypeParametersGroupId:P}}}),fu=$({"src/language-js/print/property.js"(u,l){ue();var{printComments:t}=Qt(),{printString:a,printNumber:s}=Gt(),{isNumericLiteral:e,isSimpleNumber:r,isStringLiteral:n,isStringPropSafeToUnquote:o,rawText:c}=ur(),{printAssignment:y}=du(),m=new WeakMap;function g(D,C,w){let k=D.getNode();if(k.computed)return["[",w("key"),"]"];let A=D.getParentNode(),{key:N}=k;if(C.quoteProps==="consistent"&&!m.has(A)){let x=(A.properties||A.body||A.members).some(P=>!P.computed&&P.key&&n(P.key)&&!o(P,C));m.set(A,x)}if((N.type==="Identifier"||e(N)&&r(s(c(N)))&&String(N.value)===s(c(N))&&!(C.parser==="typescript"||C.parser==="babel-ts"))&&(C.parser==="json"||C.quoteProps==="consistent"&&m.get(A))){let x=a(JSON.stringify(N.type==="Identifier"?N.name:N.value.toString()),C);return D.call(P=>t(P,x,C),"key")}return o(k,C)&&(C.quoteProps==="as-needed"||C.quoteProps==="consistent"&&!m.get(A))?D.call(x=>t(x,/^\d/.test(N.value)?s(N.value):N.value,C),"key"):w("key")}function p(D,C,w){return D.getValue().shorthand?w("value"):y(D,C,w,g(D,C,w),":","value")}l.exports={printProperty:p,printPropertyKey:g}}}),ri=$({"src/language-js/print/function.js"(u,l){ue();var t=lr(),{printDanglingComments:a,printCommentsSeparately:s}=Qt(),e=mr(),{getNextNonSpaceNonCommentCharacterIndex:r}=Gt(),{builders:{line:n,softline:o,group:c,indent:y,ifBreak:m,hardline:g,join:p,indentIfBreak:D},utils:{removeLines:C,willBreak:w}}=wt(),{ArgExpansionBailout:k}=Fn(),{getFunctionParameters:A,hasLeadingOwnLineComment:N,isFlowAnnotationComment:x,isJsxNode:P,isTemplateOnItsOwnLine:_,shouldPrintComma:J,startsWithNoLookaheadToken:d,isBinaryish:T,isLineComment:f,hasComment:F,getComments:i,CommentCheckFlags:h,isCallLikeExpression:E,isCallExpression:b,getCallArguments:S,hasNakedLeftSide:B,getLeftSide:I}=ur(),{locEnd:q}=or(),{printFunctionParameters:G,shouldGroupFunctionParameters:M}=Zu(),{printPropertyKey:te}=fu(),{printFunctionTypeParameters:j}=qr();function De(Q,me,Ce,Re){let Xe=Q.getValue(),Ye=!1;if((Xe.type==="FunctionDeclaration"||Xe.type==="FunctionExpression")&&Re&&Re.expandLastArg){let bt=Q.getParentNode();b(bt)&&S(bt).length>1&&(Ye=!0)}let Ct=[];Xe.type==="TSDeclareFunction"&&Xe.declare&&Ct.push("declare "),Xe.async&&Ct.push("async "),Xe.generator?Ct.push("function* "):Ct.push("function "),Xe.id&&Ct.push(me("id"));let Rt=G(Q,me,Ce,Ye),It=se(Q,me,Ce),Et=M(Xe,It);return Ct.push(j(Q,Ce,me),c([Et?c(Rt):Rt,It]),Xe.body?" ":"",me("body")),Ce.semi&&(Xe.declare||!Xe.body)&&Ct.push(";"),Ct}function U(Q,me,Ce){let Re=Q.getNode(),{kind:Xe}=Re,Ye=Re.value||Re,Ct=[];return!Xe||Xe==="init"||Xe==="method"||Xe==="constructor"?Ye.async&&Ct.push("async "):(t.ok(Xe==="get"||Xe==="set"),Ct.push(Xe," ")),Ye.generator&&Ct.push("*"),Ct.push(te(Q,me,Ce),Re.optional||Re.key.optional?"?":""),Re===Ye?Ct.push(R(Q,me,Ce)):Ye.type==="FunctionExpression"?Ct.push(Q.call(Rt=>R(Rt,me,Ce),"value")):Ct.push(Ce("value")),Ct}function R(Q,me,Ce){let Re=Q.getNode(),Xe=G(Q,Ce,me),Ye=se(Q,Ce,me),Ct=M(Re,Ye),Rt=[j(Q,me,Ce),c([Ct?c(Xe):Xe,Ye])];return Re.body?Rt.push(" ",Ce("body")):Rt.push(me.semi?";":""),Rt}function pe(Q,me,Ce,Re){let Xe=Q.getValue(),Ye=[];if(Xe.async&&Ye.push("async "),X(Q,me))Ye.push(Ce(["params",0]));else{let Rt=Re&&(Re.expandLastArg||Re.expandFirstArg),It=se(Q,Ce,me);if(Rt){if(w(It))throw new k;It=c(C(It))}Ye.push(c([G(Q,Ce,me,Rt,!0),It]))}let Ct=a(Q,me,!0,Rt=>{let It=r(me.originalText,Rt,q);return It!==!1&&me.originalText.slice(It,It+2)==="=>"});return Ct&&Ye.push(" ",Ct),Ye}function be(Q,me,Ce,Re,Xe,Ye){let Ct=Q.getName(),Rt=Q.getParentNode(),It=E(Rt)&&Ct==="callee",Et=!!(me&&me.assignmentLayout),bt=Ye.body.type!=="BlockStatement"&&Ye.body.type!=="ObjectExpression"&&Ye.body.type!=="SequenceExpression",xe=It&&bt||me&&me.assignmentLayout==="chain-tail-arrow-chain",H=Symbol("arrow-chain");return Ye.body.type==="SequenceExpression"&&(Xe=c(["(",y([o,Xe]),o,")"])),c([c(y([It||Et?o:"",c(p([" =>",n],Ce),{shouldBreak:Re})]),{id:H,shouldBreak:xe})," =>",D(bt?y([n,Xe]):[" ",Xe],{groupId:H}),It?m(o,"",{groupId:H}):""])}function fe(Q,me,Ce,Re){let Xe=Q.getValue(),Ye=[],Ct=[],Rt=!1;if(function H(){let ke=pe(Q,me,Ce,Re);if(Ye.length===0)Ye.push(ke);else{let{leading:oe,trailing:Be}=s(Q,me);Ye.push([oe,ke]),Ct.unshift(Be)}Rt=Rt||Xe.returnType&&A(Xe).length>0||Xe.typeParameters||A(Xe).some(oe=>oe.type!=="Identifier"),Xe.body.type!=="ArrowFunctionExpression"||Re&&Re.expandLastArg?Ct.unshift(Ce("body",Re)):(Xe=Xe.body,Q.call(H,"body"))}(),Ye.length>1)return be(Q,Re,Ye,Rt,Ct,Xe);let It=Ye;if(It.push(" =>"),!N(me.originalText,Xe.body)&&(Xe.body.type==="ArrayExpression"||Xe.body.type==="ObjectExpression"||Xe.body.type==="BlockStatement"||P(Xe.body)||_(Xe.body,me.originalText)||Xe.body.type==="ArrowFunctionExpression"||Xe.body.type==="DoExpression"))return c([...It," ",Ct]);if(Xe.body.type==="SequenceExpression")return c([...It,c([" (",y([o,Ct]),o,")"])]);let Et=(Re&&Re.expandLastArg||Q.getParentNode().type==="JSXExpressionContainer")&&!F(Xe),bt=Re&&Re.expandLastArg&&J(me,"all"),xe=Xe.body.type==="ConditionalExpression"&&!d(Xe.body,H=>H.type==="ObjectExpression");return c([...It,c([y([n,xe?m("","("):"",Ct,xe?m("",")"):""]),Et?[m(bt?",":""),o]:""])])}function Ie(Q){let me=A(Q);return me.length===1&&!Q.typeParameters&&!F(Q,h.Dangling)&&me[0].type==="Identifier"&&!me[0].typeAnnotation&&!F(me[0])&&!me[0].optional&&!Q.predicate&&!Q.returnType}function X(Q,me){if(me.arrowParens==="always")return!1;if(me.arrowParens==="avoid"){let Ce=Q.getValue();return Ie(Ce)}return!1}function se(Q,me,Ce){let Re=Q.getValue(),Xe=me("returnType");if(Re.returnType&&x(Ce.originalText,Re.returnType))return[" /*: ",Xe," */"];let Ye=[Xe];return Re.returnType&&Re.returnType.typeAnnotation&&Ye.unshift(": "),Re.predicate&&Ye.push(Re.returnType?" ":": ",me("predicate")),Ye}function we(Q,me,Ce){let Re=Q.getValue(),Xe=me.semi?";":"",Ye=[];Re.argument&&(ae(me,Re.argument)?Ye.push([" (",y([g,Ce("argument")]),g,")"]):T(Re.argument)||Re.argument.type==="SequenceExpression"?Ye.push(c([m(" ("," "),y([o,Ce("argument")]),o,m(")")])):Ye.push(" ",Ce("argument")));let Ct=i(Re),Rt=e(Ct),It=Rt&&f(Rt);return It&&Ye.push(Xe),F(Re,h.Dangling)&&Ye.push(" ",a(Q,me,!0)),It||Ye.push(Xe),Ye}function _e(Q,me,Ce){return["return",we(Q,me,Ce)]}function it(Q,me,Ce){return["throw",we(Q,me,Ce)]}function ae(Q,me){if(N(Q.originalText,me))return!0;if(B(me)){let Ce=me,Re;for(;Re=I(Ce);)if(Ce=Re,N(Q.originalText,Ce))return!0}return!1}l.exports={printFunction:De,printArrowFunction:fe,printMethod:U,printReturnStatement:_e,printThrowStatement:it,printMethodInternal:R,shouldPrintParamsWithoutParens:X}}}),os=$({"src/language-js/print/decorators.js"(u,l){ue();var{isNonEmptyArray:t,hasNewline:a}=Gt(),{builders:{line:s,hardline:e,join:r,breakParent:n,group:o}}=wt(),{locStart:c,locEnd:y}=or(),{getParentExportDeclaration:m}=ur();function g(k,A,N){let x=k.getValue();return o([r(s,k.map(N,"decorators")),C(x,A)?e:s])}function p(k,A,N){return[r(e,k.map(N,"declaration","decorators")),e]}function D(k,A,N){let x=k.getValue(),{decorators:P}=x;if(!t(P)||w(k.getParentNode()))return;let _=x.type==="ClassExpression"||x.type==="ClassDeclaration"||C(x,A);return[m(k)?e:_?n:"",r(s,k.map(N,"decorators")),s]}function C(k,A){return k.decorators.some(N=>a(A.originalText,y(N)))}function w(k){if(k.type!=="ExportDefaultDeclaration"&&k.type!=="ExportNamedDeclaration"&&k.type!=="DeclareExportDeclaration")return!1;let A=k.declaration&&k.declaration.decorators;return t(A)&&c(k)===c(A[0])}l.exports={printDecorators:D,printClassMemberDecorators:g,printDecoratorsBeforeExport:p,hasDecoratorsBeforeExport:w}}}),mu=$({"src/language-js/print/class.js"(u,l){ue();var{isNonEmptyArray:t,createGroupIdMapper:a}=Gt(),{printComments:s,printDanglingComments:e}=Qt(),{builders:{join:r,line:n,hardline:o,softline:c,group:y,indent:m,ifBreak:g}}=wt(),{hasComment:p,CommentCheckFlags:D}=ur(),{getTypeParametersGroupId:C}=ti(),{printMethod:w}=ri(),{printOptionalToken:k,printTypeAnnotation:A,printDefiniteToken:N}=qr(),{printPropertyKey:x}=fu(),{printAssignment:P}=du(),{printClassMemberDecorators:_}=os();function J(S,B,I){let q=S.getValue(),G=[];q.declare&&G.push("declare "),q.abstract&&G.push("abstract "),G.push("class");let M=q.id&&p(q.id,D.Trailing)||q.typeParameters&&p(q.typeParameters,D.Trailing)||q.superClass&&p(q.superClass)||t(q.extends)||t(q.mixins)||t(q.implements),te=[],j=[];if(q.id&&te.push(" ",I("id")),te.push(I("typeParameters")),q.superClass){let De=[h(S,B,I),I("superTypeParameters")],U=S.call(R=>["extends ",s(R,De,B)],"superClass");M?j.push(n,y(U)):j.push(" ",U)}else j.push(i(S,B,I,"extends"));if(j.push(i(S,B,I,"mixins"),i(S,B,I,"implements")),M){let De;F(q)?De=[...te,m(j)]:De=m([...te,j]),G.push(y(De,{id:d(q)}))}else G.push(...te,...j);return G.push(" ",I("body")),G}var d=a("heritageGroup");function T(S){return g(o,"",{groupId:d(S)})}function f(S){return["superClass","extends","mixins","implements"].filter(B=>!!S[B]).length>1}function F(S){return S.typeParameters&&!p(S.typeParameters,D.Trailing|D.Line)&&!f(S)}function i(S,B,I,q){let G=S.getValue();if(!t(G[q]))return"";let M=e(S,B,!0,te=>{let{marker:j}=te;return j===q});return[F(G)?g(" ",n,{groupId:C(G.typeParameters)}):n,M,M&&o,q,y(m([n,r([",",n],S.map(I,q))]))]}function h(S,B,I){let q=I("superClass");return S.getParentNode().type==="AssignmentExpression"?y(g(["(",m([c,q]),c,")"],q)):q}function E(S,B,I){let q=S.getValue(),G=[];return t(q.decorators)&&G.push(_(S,B,I)),q.accessibility&&G.push(q.accessibility+" "),q.readonly&&G.push("readonly "),q.declare&&G.push("declare "),q.static&&G.push("static "),(q.type==="TSAbstractMethodDefinition"||q.abstract)&&G.push("abstract "),q.override&&G.push("override "),G.push(w(S,B,I)),G}function b(S,B,I){let q=S.getValue(),G=[],M=B.semi?";":"";return t(q.decorators)&&G.push(_(S,B,I)),q.accessibility&&G.push(q.accessibility+" "),q.declare&&G.push("declare "),q.static&&G.push("static "),(q.type==="TSAbstractPropertyDefinition"||q.type==="TSAbstractAccessorProperty"||q.abstract)&&G.push("abstract "),q.override&&G.push("override "),q.readonly&&G.push("readonly "),q.variance&&G.push(I("variance")),(q.type==="ClassAccessorProperty"||q.type==="AccessorProperty"||q.type==="TSAbstractAccessorProperty")&&G.push("accessor "),G.push(x(S,B,I),k(S),N(S),A(S,B,I)),[P(S,B,I,G," =","value"),M]}l.exports={printClass:J,printClassMethod:E,printClassProperty:b,printHardlineAfterHeritage:T}}}),$s=$({"src/language-js/print/interface.js"(u,l){ue();var{isNonEmptyArray:t}=Gt(),{builders:{join:a,line:s,group:e,indent:r,ifBreak:n}}=wt(),{hasComment:o,identity:c,CommentCheckFlags:y}=ur(),{getTypeParametersGroupId:m}=ti(),{printTypeScriptModifiers:g}=qr();function p(D,C,w){let k=D.getValue(),A=[];k.declare&&A.push("declare "),k.type==="TSInterfaceDeclaration"&&A.push(k.abstract?"abstract ":"",g(D,C,w)),A.push("interface");let N=[],x=[];k.type!=="InterfaceTypeAnnotation"&&N.push(" ",w("id"),w("typeParameters"));let P=k.typeParameters&&!o(k.typeParameters,y.Trailing|y.Line);return t(k.extends)&&x.push(P?n(" ",s,{groupId:m(k.typeParameters)}):s,"extends ",(k.extends.length===1?c:r)(a([",",s],D.map(w,"extends")))),k.id&&o(k.id,y.Trailing)||t(k.extends)?P?A.push(e([...N,r(x)])):A.push(e(r([...N,...x]))):A.push(...N,...x),A.push(" ",w("body")),e(A)}l.exports={printInterface:p}}}),Rs=$({"src/language-js/print/module.js"(u,l){ue();var{isNonEmptyArray:t}=Gt(),{builders:{softline:a,group:s,indent:e,join:r,line:n,ifBreak:o,hardline:c}}=wt(),{printDanglingComments:y}=Qt(),{hasComment:m,CommentCheckFlags:g,shouldPrintComma:p,needsHardlineAfterDanglingComment:D,isStringLiteral:C,rawText:w}=ur(),{locStart:k,hasSameLoc:A}=or(),{hasDecoratorsBeforeExport:N,printDecoratorsBeforeExport:x}=os();function P(b,S,B){let I=b.getValue(),q=S.semi?";":"",G=[],{importKind:M}=I;return G.push("import"),M&&M!=="value"&&G.push(" ",M),G.push(f(b,S,B),T(b,S,B),i(b,S,B),q),G}function _(b,S,B){let I=b.getValue(),q=[];N(I)&&q.push(x(b,S,B));let{type:G,exportKind:M,declaration:te}=I;return q.push("export"),(I.default||G==="ExportDefaultDeclaration")&&q.push(" default"),m(I,g.Dangling)&&(q.push(" ",y(b,S,!0)),D(I)&&q.push(c)),te?q.push(" ",B("declaration")):q.push(M==="type"?" type":"",f(b,S,B),T(b,S,B),i(b,S,B)),d(I,S)&&q.push(";"),q}function J(b,S,B){let I=b.getValue(),q=S.semi?";":"",G=[],{exportKind:M,exported:te}=I;return G.push("export"),M==="type"&&G.push(" type"),G.push(" *"),te&&G.push(" as ",B("exported")),G.push(T(b,S,B),i(b,S,B),q),G}function d(b,S){if(!S.semi)return!1;let{type:B,declaration:I}=b,q=b.default||B==="ExportDefaultDeclaration";if(!I)return!0;let{type:G}=I;return!!(q&&G!=="ClassDeclaration"&&G!=="FunctionDeclaration"&&G!=="TSInterfaceDeclaration"&&G!=="DeclareClass"&&G!=="DeclareFunction"&&G!=="TSDeclareFunction"&&G!=="EnumDeclaration")}function T(b,S,B){let I=b.getValue();if(!I.source)return"";let q=[];return F(I,S)||q.push(" from"),q.push(" ",B("source")),q}function f(b,S,B){let I=b.getValue();if(F(I,S))return"";let q=[" "];if(t(I.specifiers)){let G=[],M=[];b.each(()=>{let te=b.getValue().type;if(te==="ExportNamespaceSpecifier"||te==="ExportDefaultSpecifier"||te==="ImportNamespaceSpecifier"||te==="ImportDefaultSpecifier")G.push(B());else if(te==="ExportSpecifier"||te==="ImportSpecifier")M.push(B());else throw new Error(`Unknown specifier type ${JSON.stringify(te)}`)},"specifiers"),q.push(r(", ",G)),M.length>0&&(G.length>0&&q.push(", "),M.length>1||G.length>0||I.specifiers.some(te=>m(te))?q.push(s(["{",e([S.bracketSpacing?n:a,r([",",n],M)]),o(p(S)?",":""),S.bracketSpacing?n:a,"}"])):q.push(["{",S.bracketSpacing?" ":"",...M,S.bracketSpacing?" ":"","}"]))}else q.push("{}");return q}function F(b,S){let{type:B,importKind:I,source:q,specifiers:G}=b;return B!=="ImportDeclaration"||t(G)||I==="type"?!1:!/{\s*}/.test(S.originalText.slice(k(b),k(q)))}function i(b,S,B){let I=b.getNode();return t(I.assertions)?[" assert {",S.bracketSpacing?" ":"",r(", ",b.map(B,"assertions")),S.bracketSpacing?" ":"","}"]:""}function h(b,S,B){let I=b.getNode(),{type:q}=I,G=[],M=q==="ImportSpecifier"?I.importKind:I.exportKind;M&&M!=="value"&&G.push(M," ");let te=q.startsWith("Import"),j=te?"imported":"local",De=te?"local":"exported",U=I[j],R=I[De],pe="",be="";return q==="ExportNamespaceSpecifier"||q==="ImportNamespaceSpecifier"?pe="*":U&&(pe=B(j)),R&&!E(I)&&(be=B(De)),G.push(pe,pe&&be?" as ":"",be),G}function E(b){if(b.type!=="ImportSpecifier"&&b.type!=="ExportSpecifier")return!1;let{local:S,[b.type==="ImportSpecifier"?"imported":"exported"]:B}=b;if(S.type!==B.type||!A(S,B))return!1;if(C(S))return S.value===B.value&&w(S)===w(B);switch(S.type){case"Identifier":return S.name===B.name;default:return!1}}l.exports={printImportDeclaration:P,printExportDeclaration:_,printExportAllDeclaration:J,printModuleSpecifier:h}}}),ls=$({"src/language-js/print/object.js"(u,l){ue();var{printDanglingComments:t}=Qt(),{builders:{line:a,softline:s,group:e,indent:r,ifBreak:n,hardline:o}}=wt(),{getLast:c,hasNewlineInRange:y,hasNewline:m,isNonEmptyArray:g}=Gt(),{shouldPrintComma:p,hasComment:D,getComments:C,CommentCheckFlags:w,isNextLineEmpty:k}=ur(),{locStart:A,locEnd:N}=or(),{printOptionalToken:x,printTypeAnnotation:P}=qr(),{shouldHugFunctionParameters:_}=Zu(),{shouldHugType:J}=ei(),{printHardlineAfterHeritage:d}=mu();function T(f,F,i){let h=F.semi?";":"",E=f.getValue(),b;E.type==="TSTypeLiteral"?b="members":E.type==="TSInterfaceBody"?b="body":b="properties";let S=E.type==="ObjectTypeAnnotation",B=[b];S&&B.push("indexers","callProperties","internalSlots");let I=B.map(X=>E[X][0]).sort((X,se)=>A(X)-A(se))[0],q=f.getParentNode(0),G=S&&q&&(q.type==="InterfaceDeclaration"||q.type==="DeclareInterface"||q.type==="DeclareClass")&&f.getName()==="body",M=E.type==="TSInterfaceBody"||G||E.type==="ObjectPattern"&&q.type!=="FunctionDeclaration"&&q.type!=="FunctionExpression"&&q.type!=="ArrowFunctionExpression"&&q.type!=="ObjectMethod"&&q.type!=="ClassMethod"&&q.type!=="ClassPrivateMethod"&&q.type!=="AssignmentPattern"&&q.type!=="CatchClause"&&E.properties.some(X=>X.value&&(X.value.type==="ObjectPattern"||X.value.type==="ArrayPattern"))||E.type!=="ObjectPattern"&&I&&y(F.originalText,A(E),A(I)),te=G?";":E.type==="TSInterfaceBody"||E.type==="TSTypeLiteral"?n(h,";"):",",j=E.type==="RecordExpression"?"#{":E.exact?"{|":"{",De=E.exact?"|}":"}",U=[];for(let X of B)f.each(se=>{let we=se.getValue();U.push({node:we,printed:i(),loc:A(we)})},X);B.length>1&&U.sort((X,se)=>X.loc-se.loc);let R=[],pe=U.map(X=>{let se=[...R,e(X.printed)];return R=[te,a],(X.node.type==="TSPropertySignature"||X.node.type==="TSMethodSignature"||X.node.type==="TSConstructSignatureDeclaration")&&D(X.node,w.PrettierIgnore)&&R.shift(),k(X.node,F)&&R.push(o),se});if(E.inexact){let X;if(D(E,w.Dangling)){let se=D(E,w.Line);X=[t(f,F,!0),se||m(F.originalText,N(c(C(E))))?o:a,"..."]}else X=["..."];pe.push([...R,...X])}let be=c(E[b]),fe=!(E.inexact||be&&be.type==="RestElement"||be&&(be.type==="TSPropertySignature"||be.type==="TSCallSignatureDeclaration"||be.type==="TSMethodSignature"||be.type==="TSConstructSignatureDeclaration")&&D(be,w.PrettierIgnore)),Ie;if(pe.length===0){if(!D(E,w.Dangling))return[j,De,P(f,F,i)];Ie=e([j,t(f,F),s,De,x(f),P(f,F,i)])}else Ie=[G&&g(E.properties)?d(q):"",j,r([F.bracketSpacing?a:s,...pe]),n(fe&&(te!==","||p(F))?te:""),F.bracketSpacing?a:s,De,x(f),P(f,F,i)];return f.match(X=>X.type==="ObjectPattern"&&!X.decorators,(X,se,we)=>_(X)&&(se==="params"||se==="parameters"||se==="this"||se==="rest")&&we===0)||f.match(J,(X,se)=>se==="typeAnnotation",(X,se)=>se==="typeAnnotation",(X,se,we)=>_(X)&&(se==="params"||se==="parameters"||se==="this"||se==="rest")&&we===0)||!M&&f.match(X=>X.type==="ObjectPattern",X=>X.type==="AssignmentExpression"||X.type==="VariableDeclarator")?Ie:e(Ie,{shouldBreak:M})}l.exports={printObject:T}}}),va=$({"src/language-js/print/flow.js"(u,l){ue();var t=lr(),{printDanglingComments:a}=Qt(),{printString:s,printNumber:e}=Gt(),{builders:{hardline:r,softline:n,group:o,indent:c}}=wt(),{getParentExportDeclaration:y,isFunctionNotation:m,isGetterOrSetter:g,rawText:p,shouldPrintComma:D}=ur(),{locStart:C,locEnd:w}=or(),{replaceTextEndOfLine:k}=En(),{printClass:A}=mu(),{printOpaqueType:N,printTypeAlias:x,printIntersectionType:P,printUnionType:_,printFunctionType:J,printTupleType:d,printIndexedAccessType:T}=ei(),{printInterface:f}=$s(),{printTypeParameter:F,printTypeParameters:i}=ti(),{printExportDeclaration:h,printExportAllDeclaration:E}=Rs(),{printArrayItems:b}=Du(),{printObject:S}=ls(),{printPropertyKey:B}=fu(),{printOptionalToken:I,printTypeAnnotation:q,printRestSpread:G}=qr();function M(j,De,U){let R=j.getValue(),pe=De.semi?";":"",be=[];switch(R.type){case"DeclareClass":return te(j,A(j,De,U));case"DeclareFunction":return te(j,["function ",U("id"),R.predicate?" ":"",U("predicate"),pe]);case"DeclareModule":return te(j,["module ",U("id")," ",U("body")]);case"DeclareModuleExports":return te(j,["module.exports",": ",U("typeAnnotation"),pe]);case"DeclareVariable":return te(j,["var ",U("id"),pe]);case"DeclareOpaqueType":return te(j,N(j,De,U));case"DeclareInterface":return te(j,f(j,De,U));case"DeclareTypeAlias":return te(j,x(j,De,U));case"DeclareExportDeclaration":return te(j,h(j,De,U));case"DeclareExportAllDeclaration":return te(j,E(j,De,U));case"OpaqueType":return N(j,De,U);case"TypeAlias":return x(j,De,U);case"IntersectionTypeAnnotation":return P(j,De,U);case"UnionTypeAnnotation":return _(j,De,U);case"FunctionTypeAnnotation":return J(j,De,U);case"TupleTypeAnnotation":return d(j,De,U);case"GenericTypeAnnotation":return[U("id"),i(j,De,U,"typeParameters")];case"IndexedAccessType":case"OptionalIndexedAccessType":return T(j,De,U);case"TypeAnnotation":return U("typeAnnotation");case"TypeParameter":return F(j,De,U);case"TypeofTypeAnnotation":return["typeof ",U("argument")];case"ExistsTypeAnnotation":return"*";case"EmptyTypeAnnotation":return"empty";case"MixedTypeAnnotation":return"mixed";case"ArrayTypeAnnotation":return[U("elementType"),"[]"];case"BooleanLiteralTypeAnnotation":return String(R.value);case"EnumDeclaration":return["enum ",U("id")," ",U("body")];case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":{if(R.type==="EnumSymbolBody"||R.explicitType){let fe=null;switch(R.type){case"EnumBooleanBody":fe="boolean";break;case"EnumNumberBody":fe="number";break;case"EnumStringBody":fe="string";break;case"EnumSymbolBody":fe="symbol";break}be.push("of ",fe," ")}if(R.members.length===0&&!R.hasUnknownMembers)be.push(o(["{",a(j,De),n,"}"]));else{let fe=R.members.length>0?[r,b(j,De,"members",U),R.hasUnknownMembers||D(De)?",":""]:[];be.push(o(["{",c([...fe,...R.hasUnknownMembers?[r,"..."]:[]]),a(j,De,!0),r,"}"]))}return be}case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":return[U("id")," = ",typeof R.init=="object"?U("init"):String(R.init)];case"EnumDefaultedMember":return U("id");case"FunctionTypeParam":{let fe=R.name?U("name"):j.getParentNode().this===R?"this":"";return[fe,I(j),fe?": ":"",U("typeAnnotation")]}case"InterfaceDeclaration":case"InterfaceTypeAnnotation":return f(j,De,U);case"ClassImplements":case"InterfaceExtends":return[U("id"),U("typeParameters")];case"NullableTypeAnnotation":return["?",U("typeAnnotation")];case"Variance":{let{kind:fe}=R;return t.ok(fe==="plus"||fe==="minus"),fe==="plus"?"+":"-"}case"ObjectTypeCallProperty":return R.static&&be.push("static "),be.push(U("value")),be;case"ObjectTypeIndexer":return[R.static?"static ":"",R.variance?U("variance"):"","[",U("id"),R.id?": ":"",U("key"),"]: ",U("value")];case"ObjectTypeProperty":{let fe="";return R.proto?fe="proto ":R.static&&(fe="static "),[fe,g(R)?R.kind+" ":"",R.variance?U("variance"):"",B(j,De,U),I(j),m(R)?"":": ",U("value")]}case"ObjectTypeAnnotation":return S(j,De,U);case"ObjectTypeInternalSlot":return[R.static?"static ":"","[[",U("id"),"]]",I(j),R.method?"":": ",U("value")];case"ObjectTypeSpreadProperty":return G(j,De,U);case"QualifiedTypeofIdentifier":case"QualifiedTypeIdentifier":return[U("qualification"),".",U("id")];case"StringLiteralTypeAnnotation":return k(s(p(R),De));case"NumberLiteralTypeAnnotation":t.strictEqual(typeof R.value,"number");case"BigIntLiteralTypeAnnotation":return R.extra?e(R.extra.raw):e(R.raw);case"TypeCastExpression":return["(",U("expression"),q(j,De,U),")"];case"TypeParameterDeclaration":case"TypeParameterInstantiation":{let fe=i(j,De,U,"params");if(De.parser==="flow"){let Ie=C(R),X=w(R),se=De.originalText.lastIndexOf("/*",Ie),we=De.originalText.indexOf("*/",X);if(se!==-1&&we!==-1){let _e=De.originalText.slice(se+2,we).trim();if(_e.startsWith("::")&&!_e.includes("/*")&&!_e.includes("*/"))return["/*:: ",fe," */"]}}return fe}case"InferredPredicate":return"%checks";case"DeclaredPredicate":return["%checks(",U("value"),")"];case"AnyTypeAnnotation":return"any";case"BooleanTypeAnnotation":return"boolean";case"BigIntTypeAnnotation":return"bigint";case"NullLiteralTypeAnnotation":return"null";case"NumberTypeAnnotation":return"number";case"SymbolTypeAnnotation":return"symbol";case"StringTypeAnnotation":return"string";case"VoidTypeAnnotation":return"void";case"ThisTypeAnnotation":return"this";case"Node":case"Printable":case"SourceLocation":case"Position":case"Statement":case"Function":case"Pattern":case"Expression":case"Declaration":case"Specifier":case"NamedSpecifier":case"Comment":case"MemberTypeAnnotation":case"Type":throw new Error("unprintable type: "+JSON.stringify(R.type))}}function te(j,De){let U=y(j);return U?(t.strictEqual(U.type,"DeclareExportDeclaration"),De):["declare ",De]}l.exports={printFlow:M}}}),ba=$({"src/language-js/utils/is-ts-keyword-type.js"(u,l){ue();function t(a){let{type:s}=a;return s.startsWith("TS")&&s.endsWith("Keyword")}l.exports=t}}),Ms=$({"src/language-js/print/ternary.js"(u,l){ue();var{hasNewlineInRange:t}=Gt(),{isJsxNode:a,getComments:s,isCallExpression:e,isMemberExpression:r,isTSTypeExpression:n}=ur(),{locStart:o,locEnd:c}=or(),y=vn(),{builders:{line:m,softline:g,group:p,indent:D,align:C,ifBreak:w,dedent:k,breakParent:A}}=wt();function N(d){let T=[d];for(let f=0;fG[we]===F),te=G.type===F.type&&!M,j,De,U=0;do De=j||F,j=d.getParentNode(U),U++;while(j&&j.type===F.type&&b.every(we=>j[we]!==De));let R=j||G,pe=De;if(i&&(a(F[b[0]])||a(S)||a(B)||N(pe))){q=!0,te=!0;let we=it=>[w("("),D([g,it]),g,w(")")],_e=it=>it.type==="NullLiteral"||it.type==="Literal"&&it.value===null||it.type==="Identifier"&&it.name==="undefined";I.push(" ? ",_e(S)?f(h):we(f(h))," : ",B.type===F.type||_e(B)?f(E):we(f(E)))}else{let we=[m,"? ",S.type===F.type?w("","("):"",C(2,f(h)),S.type===F.type?w("",")"):"",m,": ",B.type===F.type?f(E):C(2,f(E))];I.push(G.type!==F.type||G[E]===F||M?we:T.useTabs?k(D(we)):C(Math.max(0,T.tabWidth-2),we))}let be=[...b.map(we=>s(F[we])),s(S),s(B)].flat().some(we=>y(we)&&t(T.originalText,o(we),c(we))),fe=we=>G===R?p(we,{shouldBreak:be}):be?[we,A]:we,Ie=!q&&(r(G)||G.type==="NGPipeExpression"&&G.left===F)&&!G.computed,X=_(d),se=fe([x(d,T,f),te?I:D(I),i&&Ie&&!X?g:""]);return M||X?p([D([g,se]),g]):se}l.exports={printTernary:J}}}),qs=$({"src/language-js/print/statement.js"(u,l){ue();var{builders:{hardline:t}}=wt(),a=Ln(),{getLeftSidePathName:s,hasNakedLeftSide:e,isJsxNode:r,isTheOnlyJsxElementInMarkdown:n,hasComment:o,CommentCheckFlags:c,isNextLineEmpty:y}=ur(),{shouldPrintParamsWithoutParens:m}=ri();function g(x,P,_,J){let d=x.getValue(),T=[],f=d.type==="ClassBody",F=p(d[J]);return x.each((i,h,E)=>{let b=i.getValue();if(b.type==="EmptyStatement")return;let S=_();!P.semi&&!f&&!n(P,i)&&D(i,P)?o(b,c.Leading)?T.push(_([],{needsSemi:!0})):T.push(";",S):T.push(S),!P.semi&&f&&A(b)&&N(b,E[h+1])&&T.push(";"),b!==F&&(T.push(t),y(b,P)&&T.push(t))},J),T}function p(x){for(let P=x.length-1;P>=0;P--){let _=x[P];if(_.type!=="EmptyStatement")return _}}function D(x,P){return x.getNode().type!=="ExpressionStatement"?!1:x.call(_=>C(_,P),"expression")}function C(x,P){let _=x.getValue();switch(_.type){case"ParenthesizedExpression":case"TypeCastExpression":case"ArrayExpression":case"ArrayPattern":case"TemplateLiteral":case"TemplateElement":case"RegExpLiteral":return!0;case"ArrowFunctionExpression":{if(!m(x,P))return!0;break}case"UnaryExpression":{let{prefix:J,operator:d}=_;if(J&&(d==="+"||d==="-"))return!0;break}case"BindExpression":{if(!_.object)return!0;break}case"Literal":{if(_.regex)return!0;break}default:if(r(_))return!0}return a(x,P)?!0:e(_)?x.call(J=>C(J,P),...s(x,_)):!1}function w(x,P,_){return g(x,P,_,"body")}function k(x,P,_){return g(x,P,_,"consequent")}var A=x=>{let{type:P}=x;return P==="ClassProperty"||P==="PropertyDefinition"||P==="ClassPrivateProperty"||P==="ClassAccessorProperty"||P==="AccessorProperty"||P==="TSAbstractPropertyDefinition"||P==="TSAbstractAccessorProperty"};function N(x,P){let{type:_,name:J}=x.key;if(!x.computed&&_==="Identifier"&&(J==="static"||J==="get"||J==="set"||J==="accessor")&&!x.value&&!x.typeAnnotation)return!0;if(!P||P.static||P.accessibility)return!1;if(!P.computed){let d=P.key&&P.key.name;if(d==="in"||d==="instanceof")return!0}if(A(P)&&P.variance&&!P.static&&!P.declare)return!0;switch(P.type){case"ClassProperty":case"PropertyDefinition":case"TSAbstractPropertyDefinition":return P.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{if((P.value?P.value.async:P.async)||P.kind==="get"||P.kind==="set")return!1;let d=P.value?P.value.generator:P.generator;return!!(P.computed||d)}case"TSIndexSignature":return!0}return!1}l.exports={printBody:w,printSwitchCaseConsequent:k}}}),Vs=$({"src/language-js/print/block.js"(u,l){ue();var{printDanglingComments:t}=Qt(),{isNonEmptyArray:a}=Gt(),{builders:{hardline:s,indent:e}}=wt(),{hasComment:r,CommentCheckFlags:n,isNextLineEmpty:o}=ur(),{printHardlineAfterHeritage:c}=mu(),{printBody:y}=qs();function m(p,D,C){let w=p.getValue(),k=[];if(w.type==="StaticBlock"&&k.push("static "),w.type==="ClassBody"&&a(w.body)){let N=p.getParentNode();k.push(c(N))}k.push("{");let A=g(p,D,C);if(A)k.push(e([s,A]),s);else{let N=p.getParentNode(),x=p.getParentNode(1);N.type==="ArrowFunctionExpression"||N.type==="FunctionExpression"||N.type==="FunctionDeclaration"||N.type==="ObjectMethod"||N.type==="ClassMethod"||N.type==="ClassPrivateMethod"||N.type==="ForStatement"||N.type==="WhileStatement"||N.type==="DoWhileStatement"||N.type==="DoExpression"||N.type==="CatchClause"&&!x.finalizer||N.type==="TSModuleDeclaration"||N.type==="TSDeclareFunction"||w.type==="StaticBlock"||w.type==="ClassBody"||k.push(s)}return k.push("}"),k}function g(p,D,C){let w=p.getValue(),k=a(w.directives),A=w.body.some(P=>P.type!=="EmptyStatement"),N=r(w,n.Dangling);if(!k&&!A&&!N)return"";let x=[];if(k&&p.each((P,_,J)=>{x.push(C()),(_"]),Q=[m("("),c([n,X("expression")]),n,m(")")];return it?y([[ae,X("expression")],[ae,o(Q,{shouldBreak:!0})],[ae,X("expression")]]):o([ae,X("expression")])}case"TSDeclareFunction":return B(fe,X,Ie);case"TSExportAssignment":return["export = ",X("expression"),we];case"TSModuleBlock":return G(fe,Ie,X);case"TSInterfaceBody":case"TSTypeLiteral":return F(fe,Ie,X);case"TSTypeAliasDeclaration":return M(fe,Ie,X);case"TSQualifiedName":return s(".",[X("left"),X("right")]);case"TSAbstractMethodDefinition":case"TSDeclareMethod":return h(fe,Ie,X);case"TSAbstractAccessorProperty":case"TSAbstractPropertyDefinition":return i(fe,Ie,X);case"TSInterfaceHeritage":case"TSExpressionWithTypeArguments":return _e.push(X("expression")),se.typeParameters&&_e.push(X("typeParameters")),_e;case"TSTemplateLiteralType":return T(fe,X,Ie);case"TSNamedTupleMember":return[X("label"),se.optional?"?":"",": ",X("elementType")];case"TSRestType":return["...",X("typeAnnotation")];case"TSOptionalType":return[X("typeAnnotation"),"?"];case"TSInterfaceDeclaration":return q(fe,Ie,X);case"TSClassImplements":return[X("expression"),X("typeParameters")];case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return b(fe,Ie,X,"params");case"TSTypeParameter":return E(fe,Ie,X);case"TSSatisfiesExpression":case"TSAsExpression":{let it=se.type==="TSAsExpression"?"as":"satisfies";_e.push(X("expression"),` ${it} `,X("typeAnnotation"));let ae=fe.getParentNode();return C(ae)&&ae.callee===se||w(ae)&&ae.object===se?o([c([n,..._e]),n]):_e}case"TSArrayType":return[X("elementType"),"[]"];case"TSPropertySignature":return se.readonly&&_e.push("readonly "),_e.push(S(fe,Ie,X),x(fe)),se.typeAnnotation&&_e.push(": ",X("typeAnnotation")),se.initializer&&_e.push(" = ",X("initializer")),_e;case"TSParameterProperty":return se.accessibility&&_e.push(se.accessibility+" "),se.export&&_e.push("export "),se.static&&_e.push("static "),se.override&&_e.push("override "),se.readonly&&_e.push("readonly "),_e.push(X("parameter")),_e;case"TSTypeQuery":return["typeof ",X("exprName"),X("typeParameters")];case"TSIndexSignature":{let it=fe.getParentNode(),ae=se.parameters.length>1?m(D(Ie)?",":""):"",Q=o([c([n,s([", ",n],fe.map(X,"parameters"))]),ae,n]);return[se.export?"export ":"",se.accessibility?[se.accessibility," "]:"",se.static?"static ":"",se.readonly?"readonly ":"",se.declare?"declare ":"","[",se.parameters?Q:"",se.typeAnnotation?"]: ":"]",se.typeAnnotation?X("typeAnnotation"):"",it.type==="ClassBody"?we:""]}case"TSTypePredicate":return[se.asserts?"asserts ":"",X("parameterName"),se.typeAnnotation?[" is ",X("typeAnnotation")]:""];case"TSNonNullExpression":return[X("expression"),"!"];case"TSImportType":return[se.isTypeOf?"typeof ":"","import(",X(se.parameter?"parameter":"argument"),")",se.qualifier?[".",X("qualifier")]:"",b(fe,Ie,X,"typeParameters")];case"TSLiteralType":return X("literal");case"TSIndexedAccessType":return R(fe,Ie,X);case"TSConstructSignatureDeclaration":case"TSCallSignatureDeclaration":case"TSConstructorType":{if(se.type==="TSConstructorType"&&se.abstract&&_e.push("abstract "),se.type!=="TSCallSignatureDeclaration"&&_e.push("new "),_e.push(o(J(fe,X,Ie,!1,!0))),se.returnType||se.typeAnnotation){let it=se.type==="TSConstructorType";_e.push(it?" => ":": ",X("returnType"),X("typeAnnotation"))}return _e}case"TSTypeOperator":return[se.operator," ",X("typeAnnotation")];case"TSMappedType":{let it=a(Ie.originalText,A(se),N(se));return o(["{",c([Ie.bracketSpacing?e:n,X("typeParameter"),se.optional?p(se.optional,"?"):"",se.typeAnnotation?": ":"",X("typeAnnotation"),m(we)]),t(fe,Ie,!0),Ie.bracketSpacing?e:n,"}"],{shouldBreak:it})}case"TSMethodSignature":{let it=se.kind&&se.kind!=="method"?`${se.kind} `:"";_e.push(se.accessibility?[se.accessibility," "]:"",it,se.export?"export ":"",se.static?"static ":"",se.readonly?"readonly ":"",se.abstract?"abstract ":"",se.declare?"declare ":"",se.computed?"[":"",X("key"),se.computed?"]":"",x(fe));let ae=J(fe,X,Ie,!1,!0),Q=se.returnType?"returnType":"typeAnnotation",me=se[Q],Ce=me?X(Q):"",Re=d(se,Ce);return _e.push(Re?o(ae):ae),me&&_e.push(": ",o(Ce)),o(_e)}case"TSNamespaceExportDeclaration":return _e.push("export as namespace ",X("id")),Ie.semi&&_e.push(";"),o(_e);case"TSEnumDeclaration":return se.declare&&_e.push("declare "),se.modifiers&&_e.push(P(fe,Ie,X)),se.const&&_e.push("const "),_e.push("enum ",X("id")," "),se.members.length===0?_e.push(o(["{",t(fe,Ie),n,"}"])):_e.push(o(["{",c([r,f(fe,Ie,"members",X),D(Ie,"es5")?",":""]),t(fe,Ie,!0),r,"}"])),_e;case"TSEnumMember":return se.computed?_e.push("[",X("id"),"]"):_e.push(X("id")),se.initializer&&_e.push(" = ",X("initializer")),_e;case"TSImportEqualsDeclaration":return se.isExport&&_e.push("export "),_e.push("import "),se.importKind&&se.importKind!=="value"&&_e.push(se.importKind," "),_e.push(X("id")," = ",X("moduleReference")),Ie.semi&&_e.push(";"),o(_e);case"TSExternalModuleReference":return["require(",X("expression"),")"];case"TSModuleDeclaration":{let it=fe.getParentNode(),ae=g(se.id),Q=it.type==="TSModuleDeclaration",me=se.body&&se.body.type==="TSModuleDeclaration";if(Q)_e.push(".");else{se.declare&&_e.push("declare "),_e.push(P(fe,Ie,X));let Ce=Ie.originalText.slice(A(se),A(se.id));se.id.type==="Identifier"&&se.id.name==="global"&&!/namespace|module/.test(Ce)||_e.push(ae||/(?:^|\s)module(?:\s|$)/.test(Ce)?"module ":"namespace ")}return _e.push(X("id")),me?_e.push(X("body")):se.body?_e.push(" ",o(X("body"))):_e.push(we),_e}case"TSConditionalType":return _(fe,Ie,X);case"TSInferType":return["infer"," ",X("typeParameter")];case"TSIntersectionType":return te(fe,Ie,X);case"TSUnionType":return j(fe,Ie,X);case"TSFunctionType":return De(fe,Ie,X);case"TSTupleType":return U(fe,Ie,X);case"TSTypeReference":return[X("typeName"),b(fe,Ie,X,"typeParameters")];case"TSTypeAnnotation":return X("typeAnnotation");case"TSEmptyBodyFunctionExpression":return I(fe,Ie,X);case"TSJSDocAllType":return"*";case"TSJSDocUnknownType":return"?";case"TSJSDocNullableType":return pe(fe,X,"?");case"TSJSDocNonNullableType":return pe(fe,X,"!");case"TSInstantiationExpression":return[X("expression"),X("typeParameters")];default:throw new Error(`Unknown TypeScript node type: ${JSON.stringify(se.type)}.`)}}l.exports={printTypescript:be}}}),xa=$({"src/language-js/print/comment.js"(u,l){ue();var{hasNewline:t}=Gt(),{builders:{join:a,hardline:s},utils:{replaceTextEndOfLine:e}}=wt(),{isLineComment:r}=ur(),{locStart:n,locEnd:o}=or(),c=vn();function y(p,D){let C=p.getValue();if(r(C))return D.originalText.slice(n(C),o(C)).trimEnd();if(c(C)){if(m(C)){let A=g(C);return C.trailing&&!t(D.originalText,n(C),{backwards:!0})?[s,A]:A}let w=o(C),k=D.originalText.slice(w-3,w)==="*-/";return["/*",e(C.value),k?"*-/":"*/"]}throw new Error("Not a comment: "+JSON.stringify(C))}function m(p){let D=`*${p.value}*`.split(` +`);return D.length>1&&D.every(C=>C.trim()[0]==="*")}function g(p){let D=p.value.split(` +`);return["/*",a(s,D.map((C,w)=>w===0?C.trimEnd():" "+(w{let{marker:tr}=jt;return tr===F});return[Ke("expression"),x(ht,tt)?"":ar,Tt?[" ",Tt]:""]}case"ParenthesizedExpression":return!A(dt.expression)&&(dt.expression.type==="ObjectExpression"||dt.expression.type==="ArrayExpression")?["(",Ke("expression"),")"]:o(["(",c([n,Ke("expression")]),n,")"]);case"AssignmentExpression":return xe(tt,ht,Ke);case"VariableDeclarator":return bt(tt,ht,Ke);case"BinaryExpression":case"LogicalExpression":return H(tt,ht,Ke);case"AssignmentPattern":return[Ke("left")," = ",Ke("right")];case"OptionalMemberExpression":case"MemberExpression":return oe(tt,ht,Ke);case"MetaProperty":return[Ke("meta"),".",Ke("property")];case"BindExpression":return dt.object&&Dt.push(Ke("object")),Dt.push(o(c([n,j(tt,ht,Ke)]))),Dt;case"Identifier":return[dt.name,te(tt),pe(tt),De(tt,ht,Ke)];case"V8IntrinsicIdentifier":return["%",dt.name];case"SpreadElement":case"SpreadElementPattern":case"SpreadProperty":case"SpreadPropertyPattern":case"RestElement":return R(tt,ht,Ke);case"FunctionDeclaration":case"FunctionExpression":return Xe(tt,Ke,ht,pr);case"ArrowFunctionExpression":return Ye(tt,ht,Ke,pr);case"YieldExpression":return Dt.push("yield"),dt.delegate&&Dt.push("*"),dt.argument&&Dt.push(" ",Ke("argument")),Dt;case"AwaitExpression":{if(Dt.push("await"),dt.argument){Dt.push(" ",Ke("argument"));let Tt=tt.getParentNode();if(T(Tt)&&Tt.callee===dt||f(Tt)&&Tt.object===dt){Dt=[c([n,...Dt]),n];let jt=tt.findAncestor(tr=>tr.type==="AwaitExpression"||tr.type==="BlockStatement");if(!jt||jt.type!=="AwaitExpression")return o(Dt)}}return Dt}case"ExportDefaultDeclaration":case"ExportNamedDeclaration":return Ie(tt,ht,Ke);case"ExportAllDeclaration":return X(tt,ht,Ke);case"ImportDeclaration":return fe(tt,ht,Ke);case"ImportSpecifier":case"ExportSpecifier":case"ImportNamespaceSpecifier":case"ExportNamespaceSpecifier":case"ImportDefaultSpecifier":case"ExportDefaultSpecifier":return se(tt,ht,Ke);case"ImportAttribute":return[Ke("key"),": ",Ke("value")];case"Import":return"import";case"BlockStatement":case"StaticBlock":case"ClassBody":return Be(tt,ht,Ke);case"ThrowStatement":return It(tt,ht,Ke);case"ReturnStatement":return Rt(tt,ht,Ke);case"NewExpression":case"ImportExpression":case"OptionalCallExpression":case"CallExpression":return Et(tt,ht,Ke);case"ObjectExpression":case"ObjectPattern":case"RecordExpression":return ae(tt,ht,Ke);case"ObjectProperty":case"Property":return dt.method||dt.kind==="get"||dt.kind==="set"?Ct(tt,ht,Ke):Re(tt,ht,Ke);case"ObjectMethod":return Ct(tt,ht,Ke);case"Decorator":return["@",Ke("expression")];case"ArrayExpression":case"ArrayPattern":case"TupleExpression":return it(tt,ht,Ke);case"SequenceExpression":{let Tt=tt.getParentNode(0);if(Tt.type==="ExpressionStatement"||Tt.type==="ForStatement"){let jt=[];return tt.each((tr,ft)=>{ft===0?jt.push(Ke()):jt.push(",",c([e,Ke()]))},"expressions"),o(jt)}return o(s([",",e],tt.map(Ke,"expressions")))}case"ThisExpression":return"this";case"Super":return"super";case"Directive":return[Ke("value"),ar];case"DirectiveLiteral":return be(dt.extra.raw,ht);case"UnaryExpression":return Dt.push(dt.operator),/[a-z]$/.test(dt.operator)&&Dt.push(" "),A(dt.argument)?Dt.push(o(["(",c([n,Ke("argument")]),n,")"])):Dt.push(Ke("argument")),Dt;case"UpdateExpression":return Dt.push(Ke("argument"),dt.operator),dt.prefix&&Dt.reverse(),Dt;case"ConditionalExpression":return we(tt,ht,Ke);case"VariableDeclaration":{let Tt=tt.map(Ke,"declarations"),jt=tt.getParentNode(),tr=jt.type==="ForStatement"||jt.type==="ForInStatement"||jt.type==="ForOfStatement",ft=dt.declarations.some(Bt=>Bt.init),Pt;return Tt.length===1&&!A(dt.declarations[0])?Pt=Tt[0]:Tt.length>0&&(Pt=c(Tt[0])),Dt=[dt.declare?"declare ":"",dt.kind,Pt?[" ",Pt]:"",c(Tt.slice(1).map(Bt=>[",",ft&&!tr?r:e,Bt]))],tr&&jt.body!==dt||Dt.push(ar),o(Dt)}case"WithStatement":return o(["with (",Ke("object"),")",U(dt.body,Ke("body"))]);case"IfStatement":{let Tt=U(dt.consequent,Ke("consequent")),jt=o(["if (",o([c([n,Ke("test")]),n]),")",Tt]);if(Dt.push(jt),dt.alternate){let tr=A(dt.consequent,N.Trailing|N.Line)||J(dt),ft=dt.consequent.type==="BlockStatement"&&!tr;Dt.push(ft?" ":r),A(dt,N.Dangling)&&Dt.push(t(tt,ht,!0),tr?r:" "),Dt.push("else",o(U(dt.alternate,Ke("alternate"),dt.alternate.type==="IfStatement")))}return Dt}case"ForStatement":{let Tt=U(dt.body,Ke("body")),jt=t(tt,ht,!0),tr=jt?[jt,n]:"";return!dt.init&&!dt.test&&!dt.update?[tr,o(["for (;;)",Tt])]:[tr,o(["for (",o([c([n,Ke("init"),";",e,Ke("test"),";",e,Ke("update")]),n]),")",Tt])]}case"WhileStatement":return o(["while (",o([c([n,Ke("test")]),n]),")",U(dt.body,Ke("body"))]);case"ForInStatement":return o(["for (",Ke("left")," in ",Ke("right"),")",U(dt.body,Ke("body"))]);case"ForOfStatement":return o(["for",dt.await?" await":""," (",Ke("left")," of ",Ke("right"),")",U(dt.body,Ke("body"))]);case"DoWhileStatement":{let Tt=U(dt.body,Ke("body"));return Dt=[o(["do",Tt])],dt.body.type==="BlockStatement"?Dt.push(" "):Dt.push(r),Dt.push("while (",o([c([n,Ke("test")]),n]),")",ar),Dt}case"DoExpression":return[dt.async?"async ":"","do ",Ke("body")];case"BreakStatement":return Dt.push("break"),dt.label&&Dt.push(" ",Ke("label")),Dt.push(ar),Dt;case"ContinueStatement":return Dt.push("continue"),dt.label&&Dt.push(" ",Ke("label")),Dt.push(ar),Dt;case"LabeledStatement":return dt.body.type==="EmptyStatement"?[Ke("label"),":;"]:[Ke("label"),": ",Ke("body")];case"TryStatement":return["try ",Ke("block"),dt.handler?[" ",Ke("handler")]:"",dt.finalizer?[" finally ",Ke("finalizer")]:""];case"CatchClause":if(dt.param){let Tt=A(dt.param,tr=>!E(tr)||tr.leading&&a(ht.originalText,h(tr))||tr.trailing&&a(ht.originalText,i(tr),{backwards:!0})),jt=Ke("param");return["catch ",Tt?["(",c([n,jt]),n,") "]:["(",jt,") "],Ke("body")]}return["catch ",Ke("body")];case"SwitchStatement":return[o(["switch (",c([n,Ke("discriminant")]),n,")"])," {",dt.cases.length>0?c([r,s(r,tt.map((Tt,jt,tr)=>{let ft=Tt.getValue();return[Ke(),jt!==tr.length-1&&_(ft,ht)?r:""]},"cases"))]):"",r,"}"];case"SwitchCase":{dt.test?Dt.push("case ",Ke("test"),":"):Dt.push("default:"),A(dt,N.Dangling)&&Dt.push(" ",t(tt,ht,!0));let Tt=dt.consequent.filter(jt=>jt.type!=="EmptyStatement");if(Tt.length>0){let jt=ke(tt,ht,Ke);Dt.push(Tt.length===1&&Tt[0].type==="BlockStatement"?[" ",jt]:c([r,jt]))}return Dt}case"DebuggerStatement":return["debugger",ar];case"ClassDeclaration":case"ClassExpression":return Q(tt,ht,Ke);case"ClassMethod":case"ClassPrivateMethod":case"MethodDefinition":return me(tt,ht,Ke);case"ClassProperty":case"PropertyDefinition":case"ClassPrivateProperty":case"ClassAccessorProperty":case"AccessorProperty":return Ce(tt,ht,Ke);case"TemplateElement":return y(dt.value.raw);case"TemplateLiteral":return _e(tt,Ke,ht);case"TaggedTemplateExpression":return[Ke("tag"),Ke("typeParameters"),Ke("quasi")];case"PrivateIdentifier":return["#",Ke("name")];case"PrivateName":return["#",Ke("id")];case"InterpreterDirective":return Dt.push("#!",dt.value,r),_(dt,ht)&&Dt.push(r),Dt;case"TopicReference":return"%";case"ArgumentPlaceholder":return"?";case"ModuleExpression":{Dt.push("module {");let Tt=Ke("body");return Tt&&Dt.push(c([r,Tt]),r),Dt.push("}"),Dt}default:throw new Error("unknown type: "+JSON.stringify(dt.type))}}function ze(tt){return tt.type&&!E(tt)&&!P(tt)&&tt.type!=="EmptyStatement"&&tt.type!=="TemplateElement"&&tt.type!=="Import"&&tt.type!=="TSEmptyBodyFunctionExpression"}l.exports={preprocess:w,print:K,embed:m,insertPragma:p,massageAstNode:g,hasPrettierIgnore(tt){return d(tt)||q(tt)},willPrintOwnComments:D.willPrintOwnComments,canAttachComment:ze,printComment:ut,isBlockComment:E,handleComments:{avoidAstMutation:!0,ownLine:D.handleOwnLineComment,endOfLine:D.handleEndOfLineComment,remaining:D.handleRemainingComment},getCommentChildNodes:D.getCommentChildNodes}}}),wa=$({"src/language-js/printer-estree-json.js"(u,l){ue();var{builders:{hardline:t,indent:a,join:s}}=wt(),e=Is();function r(y,m,g){let p=y.getValue();switch(p.type){case"JsonRoot":return[g("node"),t];case"ArrayExpression":{if(p.elements.length===0)return"[]";let D=y.map(()=>y.getValue()===null?"null":g(),"elements");return["[",a([t,s([",",t],D)]),t,"]"]}case"ObjectExpression":return p.properties.length===0?"{}":["{",a([t,s([",",t],y.map(g,"properties"))]),t,"}"];case"ObjectProperty":return[g("key"),": ",g("value")];case"UnaryExpression":return[p.operator==="+"?"":p.operator,g("argument")];case"NullLiteral":return"null";case"BooleanLiteral":return p.value?"true":"false";case"StringLiteral":return JSON.stringify(p.value);case"NumericLiteral":return n(y)?JSON.stringify(String(p.value)):JSON.stringify(p.value);case"Identifier":return n(y)?JSON.stringify(p.name):p.name;case"TemplateLiteral":return g(["quasis",0]);case"TemplateElement":return JSON.stringify(p.value.cooked);default:throw new Error("unknown type: "+JSON.stringify(p.type))}}function n(y){return y.getName()==="key"&&y.getParentNode().type==="ObjectProperty"}var o=new Set(["start","end","extra","loc","comments","leadingComments","trailingComments","innerComments","errors","range","tokens"]);function c(y,m){let{type:g}=y;if(g==="ObjectProperty"){let{key:p}=y;p.type==="Identifier"?m.key={type:"StringLiteral",value:p.name}:p.type==="NumericLiteral"&&(m.key={type:"StringLiteral",value:String(p.value)});return}if(g==="UnaryExpression"&&y.operator==="+")return m.argument;if(g==="ArrayExpression"){for(let[p,D]of y.elements.entries())D===null&&m.elements.splice(p,0,{type:"NullLiteral"});return}if(g==="TemplateLiteral")return{type:"StringLiteral",value:y.quasis[0].value.cooked}}c.ignoredProperties=o,l.exports={preprocess:e,print:r,massageAstNode:c}}}),On=$({"src/common/common-options.js"(u,l){ue();var t="Common";l.exports={bracketSpacing:{since:"0.0.0",category:t,type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{since:"0.0.0",category:t,type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{since:"1.8.2",category:t,type:"choice",default:[{since:"1.8.2",value:!0},{since:"1.9.0",value:"preserve"}],description:"How to wrap prose.",choices:[{since:"1.9.0",value:"always",description:"Wrap prose if it exceeds the print width."},{since:"1.9.0",value:"never",description:"Do not wrap prose."},{since:"1.9.0",value:"preserve",description:"Wrap prose as-is."}]},bracketSameLine:{since:"2.4.0",category:t,type:"boolean",default:!1,description:"Put > of opening tags on the last line instead of on a new line."},singleAttributePerLine:{since:"2.6.0",category:t,type:"boolean",default:!1,description:"Enforce single attribute per line in HTML, Vue and JSX."}}}}),Na=$({"src/language-js/options.js"(u,l){ue();var t=On(),a="JavaScript";l.exports={arrowParens:{since:"1.9.0",category:a,type:"choice",default:[{since:"1.9.0",value:"avoid"},{since:"2.0.0",value:"always"}],description:"Include parentheses around a sole arrow function parameter.",choices:[{value:"always",description:"Always include parens. Example: `(x) => x`"},{value:"avoid",description:"Omit parens when possible. Example: `x => x`"}]},bracketSameLine:t.bracketSameLine,bracketSpacing:t.bracketSpacing,jsxBracketSameLine:{since:"0.17.0",category:a,type:"boolean",description:"Put > on the last line instead of at a new line.",deprecated:"2.4.0"},semi:{since:"1.0.0",category:a,type:"boolean",default:!0,description:"Print semicolons.",oppositeDescription:"Do not print semicolons, except at the beginning of lines which may need them."},singleQuote:t.singleQuote,jsxSingleQuote:{since:"1.15.0",category:a,type:"boolean",default:!1,description:"Use single quotes in JSX."},quoteProps:{since:"1.17.0",category:a,type:"choice",default:"as-needed",description:"Change when properties in objects are quoted.",choices:[{value:"as-needed",description:"Only add quotes around object properties where required."},{value:"consistent",description:"If at least one property in an object requires quotes, quote all properties."},{value:"preserve",description:"Respect the input use of quotes in object properties."}]},trailingComma:{since:"0.0.0",category:a,type:"choice",default:[{since:"0.0.0",value:!1},{since:"0.19.0",value:"none"},{since:"2.0.0",value:"es5"}],description:"Print trailing commas wherever possible when multi-line.",choices:[{value:"es5",description:"Trailing commas where valid in ES5 (objects, arrays, etc.)"},{value:"none",description:"No trailing commas."},{value:"all",description:"Trailing commas wherever possible (including function arguments)."}]},singleAttributePerLine:t.singleAttributePerLine}}}),_a=$({"src/language-js/parse/parsers.js"(){ue()}}),ps=$({"node_modules/linguist-languages/data/JavaScript.json"(u,l){l.exports={name:"JavaScript",type:"programming",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",color:"#f1e05a",aliases:["js","node"],extensions:[".js","._js",".bones",".cjs",".es",".es6",".frag",".gs",".jake",".javascript",".jsb",".jscad",".jsfl",".jslib",".jsm",".jspre",".jss",".jsx",".mjs",".njs",".pac",".sjs",".ssjs",".xsjs",".xsjslib"],filenames:["Jakefile"],interpreters:["chakra","d8","gjs","js","node","nodejs","qjs","rhino","v8","v8-shell"],languageId:183}}}),ka=$({"node_modules/linguist-languages/data/TypeScript.json"(u,l){l.exports={name:"TypeScript",type:"programming",color:"#3178c6",aliases:["ts"],interpreters:["deno","ts-node"],extensions:[".ts",".cts",".mts"],tmScope:"source.ts",aceMode:"typescript",codemirrorMode:"javascript",codemirrorMimeType:"application/typescript",languageId:378}}}),Pa=$({"node_modules/linguist-languages/data/TSX.json"(u,l){l.exports={name:"TSX",type:"programming",color:"#3178c6",group:"TypeScript",extensions:[".tsx"],tmScope:"source.tsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",languageId:94901924}}}),Us=$({"node_modules/linguist-languages/data/JSON.json"(u,l){l.exports={name:"JSON",type:"data",color:"#292929",tmScope:"source.json",aceMode:"json",codemirrorMode:"javascript",codemirrorMimeType:"application/json",aliases:["geojson","jsonl","topojson"],extensions:[".json",".4DForm",".4DProject",".avsc",".geojson",".gltf",".har",".ice",".JSON-tmLanguage",".jsonl",".mcmeta",".tfstate",".tfstate.backup",".topojson",".webapp",".webmanifest",".yy",".yyp"],filenames:[".arcconfig",".auto-changelog",".c8rc",".htmlhintrc",".imgbotconfig",".nycrc",".tern-config",".tern-project",".watchmanconfig","Pipfile.lock","composer.lock","mcmod.info"],languageId:174}}}),Ia=$({"node_modules/linguist-languages/data/JSON with Comments.json"(u,l){l.exports={name:"JSON with Comments",type:"data",color:"#292929",group:"JSON",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",aliases:["jsonc"],extensions:[".jsonc",".code-snippets",".sublime-build",".sublime-commands",".sublime-completions",".sublime-keymap",".sublime-macro",".sublime-menu",".sublime-mousemap",".sublime-project",".sublime-settings",".sublime-theme",".sublime-workspace",".sublime_metrics",".sublime_session"],filenames:[".babelrc",".devcontainer.json",".eslintrc.json",".jscsrc",".jshintrc",".jslintrc","api-extractor.json","devcontainer.json","jsconfig.json","language-configuration.json","tsconfig.json","tslint.json"],languageId:423}}}),ja=$({"node_modules/linguist-languages/data/JSON5.json"(u,l){l.exports={name:"JSON5",type:"data",color:"#267CB9",extensions:[".json5"],tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"application/json",languageId:175}}}),La=$({"src/language-js/index.js"(u,l){ue();var t=vr(),a=Ba(),s=wa(),e=Na(),r=_a(),n=[t(ps(),c=>({since:"0.0.0",parsers:["babel","acorn","espree","meriyah","babel-flow","babel-ts","flow","typescript"],vscodeLanguageIds:["javascript","mongo"],interpreters:[...c.interpreters,"zx"],extensions:[...c.extensions.filter(y=>y!==".jsx"),".wxs"]})),t(ps(),()=>({name:"Flow",since:"0.0.0",parsers:["flow","babel-flow"],vscodeLanguageIds:["javascript"],aliases:[],filenames:[],extensions:[".js.flow"]})),t(ps(),()=>({name:"JSX",since:"0.0.0",parsers:["babel","babel-flow","babel-ts","flow","typescript","espree","meriyah"],vscodeLanguageIds:["javascriptreact"],aliases:void 0,filenames:void 0,extensions:[".jsx"],group:"JavaScript",interpreters:void 0,tmScope:"source.js.jsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",color:void 0})),t(ka(),()=>({since:"1.4.0",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescript"]})),t(Pa(),()=>({since:"1.4.0",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescriptreact"]})),t(Us(),()=>({name:"JSON.stringify",since:"1.13.0",parsers:["json-stringify"],vscodeLanguageIds:["json"],extensions:[".importmap"],filenames:["package.json","package-lock.json","composer.json"]})),t(Us(),c=>({since:"1.5.0",parsers:["json"],vscodeLanguageIds:["json"],extensions:c.extensions.filter(y=>y!==".jsonl")})),t(Ia(),c=>({since:"1.5.0",parsers:["json"],vscodeLanguageIds:["jsonc"],filenames:[...c.filenames,".eslintrc",".swcrc"]})),t(ja(),()=>({since:"1.13.0",parsers:["json5"],vscodeLanguageIds:["json5"]}))],o={estree:a,"estree-json":s};l.exports={languages:n,options:e,printers:o,parsers:r}}}),Oa=$({"src/language-css/clean.js"(u,l){ue();var{isFrontMatterNode:t}=Gt(),a=mr(),s=new Set(["raw","raws","sourceIndex","source","before","after","trailingComma"]);function e(n,o,c){if(t(n)&&n.lang==="yaml"&&delete o.value,n.type==="css-comment"&&c.type==="css-root"&&c.nodes.length>0&&((c.nodes[0]===n||t(c.nodes[0])&&c.nodes[1]===n)&&(delete o.text,/^\*\s*@(?:format|prettier)\s*$/.test(n.text))||c.type==="css-root"&&a(c.nodes)===n))return null;if(n.type==="value-root"&&delete o.text,(n.type==="media-query"||n.type==="media-query-list"||n.type==="media-feature-expression")&&delete o.value,n.type==="css-rule"&&delete o.params,n.type==="selector-combinator"&&(o.value=o.value.replace(/\s+/g," ")),n.type==="media-feature"&&(o.value=o.value.replace(/ /g,"")),(n.type==="value-word"&&(n.isColor&&n.isHex||["initial","inherit","unset","revert"].includes(o.value.replace().toLowerCase()))||n.type==="media-feature"||n.type==="selector-root-invalid"||n.type==="selector-pseudo")&&(o.value=o.value.toLowerCase()),n.type==="css-decl"&&(o.prop=o.prop.toLowerCase()),(n.type==="css-atrule"||n.type==="css-import")&&(o.name=o.name.toLowerCase()),n.type==="value-number"&&(o.unit=o.unit.toLowerCase()),(n.type==="media-feature"||n.type==="media-keyword"||n.type==="media-type"||n.type==="media-unknown"||n.type==="media-url"||n.type==="media-value"||n.type==="selector-attribute"||n.type==="selector-string"||n.type==="selector-class"||n.type==="selector-combinator"||n.type==="value-string")&&o.value&&(o.value=r(o.value)),n.type==="selector-attribute"&&(o.attribute=o.attribute.trim(),o.namespace&&typeof o.namespace=="string"&&(o.namespace=o.namespace.trim(),o.namespace.length===0&&(o.namespace=!0)),o.value&&(o.value=o.value.trim().replace(/^["']|["']$/g,""),delete o.quoted)),(n.type==="media-value"||n.type==="media-type"||n.type==="value-number"||n.type==="selector-root-invalid"||n.type==="selector-class"||n.type==="selector-combinator"||n.type==="selector-tag")&&o.value&&(o.value=o.value.replace(/([\d+.Ee-]+)([A-Za-z]*)/g,(y,m,g)=>{let p=Number(m);return Number.isNaN(p)?y:p+g.toLowerCase()})),n.type==="selector-tag"){let y=n.value.toLowerCase();["from","to"].includes(y)&&(o.value=y)}if(n.type==="css-atrule"&&n.name.toLowerCase()==="supports"&&delete o.value,n.type==="selector-unknown"&&delete o.value,n.type==="value-comma_group"){let y=n.groups.findIndex(m=>m.type==="value-number"&&m.unit==="...");y!==-1&&(o.groups[y].unit="",o.groups.splice(y+1,0,{type:"value-word",value:"...",isColor:!1,isHex:!1}))}if(n.type==="value-comma_group"&&n.groups.some(y=>y.type==="value-atword"&&y.value.endsWith("[")||y.type==="value-word"&&y.value.startsWith("]")))return{type:"value-atword",value:n.groups.map(y=>y.value).join(""),group:{open:null,close:null,groups:[],type:"value-paren_group"}}}e.ignoredProperties=s;function r(n){return n.replace(/'/g,'"').replace(/\\([^\dA-Fa-f])/g,"$1")}l.exports=e}}),cs=$({"src/utils/front-matter/print.js"(u,l){ue();var{builders:{hardline:t,markAsRoot:a}}=wt();function s(e,r){if(e.lang==="yaml"){let n=e.value.trim(),o=n?r(n,{parser:"yaml"},{stripTrailingHardline:!0}):"";return a([e.startDelimiter,t,o,o?t:"",e.endDelimiter])}}l.exports=s}}),$a=$({"src/language-css/embed.js"(u,l){ue();var{builders:{hardline:t}}=wt(),a=cs();function s(e,r,n){let o=e.getValue();if(o.type==="front-matter"){let c=a(o,n);return c?[c,t]:""}}l.exports=s}}),Gs=$({"src/utils/front-matter/parse.js"(u,l){ue();var t=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function a(s){let e=s.match(t);if(!e)return{content:s};let{startDelimiter:r,language:n,value:o="",endDelimiter:c}=e.groups,y=n.trim()||"yaml";if(r==="+++"&&(y="toml"),y!=="yaml"&&r!==c)return{content:s};let[m]=e;return{frontMatter:{type:"front-matter",lang:y,value:o,startDelimiter:r,endDelimiter:c,raw:m.replace(/\n$/,"")},content:m.replace(/[^\n]/g," ")+s.slice(m.length)}}l.exports=a}}),Ra=$({"src/language-css/pragma.js"(u,l){ue();var t=ks(),a=Gs();function s(r){return t.hasPragma(a(r).content)}function e(r){let{frontMatter:n,content:o}=a(r);return(n?n.raw+` + +`:"")+t.insertPragma(o)}l.exports={hasPragma:s,insertPragma:e}}}),Ma=$({"src/language-css/utils/index.js"(u,l){ue();var t=new Set(["red","green","blue","alpha","a","rgb","hue","h","saturation","s","lightness","l","whiteness","w","blackness","b","tint","shade","blend","blenda","contrast","hsl","hsla","hwb","hwba"]);function a(ae,Q){let me=Array.isArray(Q)?Q:[Q],Ce=-1,Re;for(;Re=ae.getParentNode(++Ce);)if(me.includes(Re.type))return Ce;return-1}function s(ae,Q){let me=a(ae,Q);return me===-1?null:ae.getParentNode(me)}function e(ae){var Q;let me=s(ae,"css-decl");return me==null||(Q=me.prop)===null||Q===void 0?void 0:Q.toLowerCase()}var r=new Set(["initial","inherit","unset","revert"]);function n(ae){return r.has(ae.toLowerCase())}function o(ae,Q){let me=s(ae,"css-atrule");return(me==null?void 0:me.name)&&me.name.toLowerCase().endsWith("keyframes")&&["from","to"].includes(Q.toLowerCase())}function c(ae){return ae.includes("$")||ae.includes("@")||ae.includes("#")||ae.startsWith("%")||ae.startsWith("--")||ae.startsWith(":--")||ae.includes("(")&&ae.includes(")")?ae:ae.toLowerCase()}function y(ae,Q){var me;let Ce=s(ae,"value-func");return(Ce==null||(me=Ce.value)===null||me===void 0?void 0:me.toLowerCase())===Q}function m(ae){var Q;let me=s(ae,"css-rule"),Ce=me==null||(Q=me.raws)===null||Q===void 0?void 0:Q.selector;return Ce&&(Ce.startsWith(":import")||Ce.startsWith(":export"))}function g(ae,Q){let me=Array.isArray(Q)?Q:[Q],Ce=s(ae,"css-atrule");return Ce&&me.includes(Ce.name.toLowerCase())}function p(ae){let Q=ae.getValue(),me=s(ae,"css-atrule");return(me==null?void 0:me.name)==="import"&&Q.groups[0].value==="url"&&Q.groups.length===2}function D(ae){return ae.type==="value-func"&&ae.value.toLowerCase()==="url"}function C(ae,Q){var me;let Ce=(me=ae.getParentNode())===null||me===void 0?void 0:me.nodes;return Ce&&Ce.indexOf(Q)===Ce.length-1}function w(ae){let{selector:Q}=ae;return Q?typeof Q=="string"&&/^@.+:.*$/.test(Q)||Q.value&&/^@.+:.*$/.test(Q.value):!1}function k(ae){return ae.type==="value-word"&&["from","through","end"].includes(ae.value)}function A(ae){return ae.type==="value-word"&&["and","or","not"].includes(ae.value)}function N(ae){return ae.type==="value-word"&&ae.value==="in"}function x(ae){return ae.type==="value-operator"&&ae.value==="*"}function P(ae){return ae.type==="value-operator"&&ae.value==="/"}function _(ae){return ae.type==="value-operator"&&ae.value==="+"}function J(ae){return ae.type==="value-operator"&&ae.value==="-"}function d(ae){return ae.type==="value-operator"&&ae.value==="%"}function T(ae){return x(ae)||P(ae)||_(ae)||J(ae)||d(ae)}function f(ae){return ae.type==="value-word"&&["==","!="].includes(ae.value)}function F(ae){return ae.type==="value-word"&&["<",">","<=",">="].includes(ae.value)}function i(ae){return ae.type==="css-atrule"&&["if","else","for","each","while"].includes(ae.name)}function h(ae){var Q;return((Q=ae.raws)===null||Q===void 0?void 0:Q.params)&&/^\(\s*\)$/.test(ae.raws.params)}function E(ae){return ae.name.startsWith("prettier-placeholder")}function b(ae){return ae.prop.startsWith("@prettier-placeholder")}function S(ae,Q){return ae.value==="$$"&&ae.type==="value-func"&&(Q==null?void 0:Q.type)==="value-word"&&!Q.raws.before}function B(ae){var Q,me;return((Q=ae.value)===null||Q===void 0?void 0:Q.type)==="value-root"&&((me=ae.value.group)===null||me===void 0?void 0:me.type)==="value-value"&&ae.prop.toLowerCase()==="composes"}function I(ae){var Q,me,Ce;return((Q=ae.value)===null||Q===void 0||(me=Q.group)===null||me===void 0||(Ce=me.group)===null||Ce===void 0?void 0:Ce.type)==="value-paren_group"&&ae.value.group.group.open!==null&&ae.value.group.group.close!==null}function q(ae){var Q;return((Q=ae.raws)===null||Q===void 0?void 0:Q.before)===""}function G(ae){var Q,me;return ae.type==="value-comma_group"&&((Q=ae.groups)===null||Q===void 0||(me=Q[1])===null||me===void 0?void 0:me.type)==="value-colon"}function M(ae){var Q;return ae.type==="value-paren_group"&&((Q=ae.groups)===null||Q===void 0?void 0:Q[0])&&G(ae.groups[0])}function te(ae){var Q;let me=ae.getValue();if(me.groups.length===0)return!1;let Ce=ae.getParentNode(1);if(!M(me)&&!(Ce&&M(Ce)))return!1;let Re=s(ae,"css-decl");return!!(Re!=null&&(Q=Re.prop)!==null&&Q!==void 0&&Q.startsWith("$")||M(Ce)||Ce.type==="value-func")}function j(ae){return ae.type==="value-comment"&&ae.inline}function De(ae){return ae.type==="value-word"&&ae.value==="#"}function U(ae){return ae.type==="value-word"&&ae.value==="{"}function R(ae){return ae.type==="value-word"&&ae.value==="}"}function pe(ae){return["value-word","value-atword"].includes(ae.type)}function be(ae){return(ae==null?void 0:ae.type)==="value-colon"}function fe(ae,Q){if(!G(Q))return!1;let{groups:me}=Q,Ce=me.indexOf(ae);return Ce===-1?!1:be(me[Ce+1])}function Ie(ae){return ae.value&&["not","and","or"].includes(ae.value.toLowerCase())}function X(ae){return ae.type!=="value-func"?!1:t.has(ae.value.toLowerCase())}function se(ae){return/\/\//.test(ae.split(/[\n\r]/).pop())}function we(ae){return(ae==null?void 0:ae.type)==="value-atword"&&ae.value.startsWith("prettier-placeholder-")}function _e(ae,Q){var me,Ce;if(((me=ae.open)===null||me===void 0?void 0:me.value)!=="("||((Ce=ae.close)===null||Ce===void 0?void 0:Ce.value)!==")"||ae.groups.some(Re=>Re.type!=="value-comma_group"))return!1;if(Q.type==="value-comma_group"){let Re=Q.groups.indexOf(ae)-1,Xe=Q.groups[Re];if((Xe==null?void 0:Xe.type)==="value-word"&&Xe.value==="with")return!0}return!1}function it(ae){var Q,me;return ae.type==="value-paren_group"&&((Q=ae.open)===null||Q===void 0?void 0:Q.value)==="("&&((me=ae.close)===null||me===void 0?void 0:me.value)===")"}l.exports={getAncestorCounter:a,getAncestorNode:s,getPropOfDeclNode:e,maybeToLowerCase:c,insideValueFunctionNode:y,insideICSSRuleNode:m,insideAtRuleNode:g,insideURLFunctionInImportAtRuleNode:p,isKeyframeAtRuleKeywords:o,isWideKeywords:n,isLastNode:C,isSCSSControlDirectiveNode:i,isDetachedRulesetDeclarationNode:w,isRelationalOperatorNode:F,isEqualityOperatorNode:f,isMultiplicationNode:x,isDivisionNode:P,isAdditionNode:_,isSubtractionNode:J,isModuloNode:d,isMathOperatorNode:T,isEachKeywordNode:N,isForKeywordNode:k,isURLFunctionNode:D,isIfElseKeywordNode:A,hasComposesNode:B,hasParensAroundNode:I,hasEmptyRawBefore:q,isDetachedRulesetCallNode:h,isTemplatePlaceholderNode:E,isTemplatePropNode:b,isPostcssSimpleVarNode:S,isKeyValuePairNode:G,isKeyValuePairInParenGroupNode:M,isKeyInValuePairNode:fe,isSCSSMapItemNode:te,isInlineValueCommentNode:j,isHashNode:De,isLeftCurlyBraceNode:U,isRightCurlyBraceNode:R,isWordNode:pe,isColonNode:be,isMediaAndSupportsKeywords:Ie,isColorAdjusterFuncNode:X,lastLineHasInlineComment:se,isAtWordPlaceholderNode:we,isConfigurationNode:_e,isParenGroupNode:it}}}),qa=$({"src/utils/line-column-to-index.js"(u,l){ue(),l.exports=function(t,a){let s=0;for(let e=0;e0?m:""]}case"css-comment":{let Xt=Te.inline||Te.raws.inline,Wt=Pt.originalText.slice(pt(Te),ut(Te));return Xt?Wt.trimEnd():Wt}case"css-rule":return[Bt("selector"),Te.important?" !important":"",Te.nodes?[Te.selector&&Te.selector.type==="selector-unknown"&&H(Te.selector.value)?y:" ","{",Te.nodes.length>0?C([m,tt(ft,Pt,Bt)]):"",m,"}",q(Te)?";":""]:";"];case"css-decl":{let Xt=ft.getParentNode(),{between:Wt}=Te.raws,nr=Wt.trim(),Ur=nr===":",O=X(Te)?N(Bt("value")):Bt("value");return!Ur&&H(nr)&&(O=C([m,w(O)])),[Te.raws.before.replace(/[\s;]/g,""),Xt.type==="css-atrule"&&Xt.variable||i(ft)?Te.prop:f(Te.prop),nr.startsWith("//")?" ":"",nr,Te.extend?"":" ",Le(Pt)&&Te.extend&&Te.selector?["extend(",Bt("selector"),")"]:"",O,Te.raws.important?Te.raws.important.replace(/\s*!\s*important/i," !important"):Te.important?" !important":"",Te.raws.scssDefault?Te.raws.scssDefault.replace(/\s*!default/i," !default"):Te.scssDefault?" !default":"",Te.raws.scssGlobal?Te.raws.scssGlobal.replace(/\s*!global/i," !global"):Te.scssGlobal?" !global":"",Te.nodes?[" {",C([g,tt(ft,Pt,Bt)]),g,"}"]:me(Te)&&!Xt.raws.semicolon&&Pt.originalText[ut(Te)-1]!==";"?"":Pt.__isHTMLStyleAttribute&&B(ft,Te)?k(";"):";"]}case"css-atrule":{let Xt=ft.getParentNode(),Wt=Q(Te)&&!Xt.raws.semicolon&&Pt.originalText[ut(Te)-1]!==";";if(Le(Pt)){if(Te.mixin)return[Bt("selector"),Te.important?" !important":"",Wt?"":";"];if(Te.function)return[Te.name,Bt("params"),Wt?"":";"];if(Te.variable)return["@",Te.name,": ",Te.value?Bt("value"):"",Te.raws.between.trim()?Te.raws.between.trim()+" ":"",Te.nodes?["{",C([Te.nodes.length>0?g:"",tt(ft,Pt,Bt)]),g,"}"]:"",Wt?"":";"]}return["@",ae(Te)||Te.name.endsWith(":")?Te.name:f(Te.name),Te.params?[ae(Te)?"":Q(Te)?Te.raws.afterName===""?"":Te.name.endsWith(":")?" ":/^\s*\n\s*\n/.test(Te.raws.afterName)?[m,m]:/^\s*\n/.test(Te.raws.afterName)?m:" ":" ",Bt("params")]:"",Te.selector?C([" ",Bt("selector")]):"",Te.value?p([" ",Bt("value"),I(Te)?se(Te)?" ":y:""]):Te.name==="else"?" ":"",Te.nodes?[I(Te)?"":Te.selector&&!Te.selector.nodes&&typeof Te.selector.value=="string"&&H(Te.selector.value)||!Te.selector&&typeof Te.params=="string"&&H(Te.params)?y:" ","{",C([Te.nodes.length>0?g:"",tt(ft,Pt,Bt)]),g,"}"]:Wt?"":";"]}case"media-query-list":{let Xt=[];return ft.each(Wt=>{let nr=Wt.getValue();nr.type==="media-query"&&nr.value===""||Xt.push(Bt())},"nodes"),p(C(c(y,Xt)))}case"media-query":return[c(" ",ft.map(Bt,"nodes")),B(ft,Te)?"":","];case"media-type":return jt(Dt(Te.value,Pt));case"media-feature-expression":return Te.nodes?["(",...ft.map(Bt,"nodes"),")"]:Te.value;case"media-feature":return f(Dt(Te.value.replace(/ +/g," "),Pt));case"media-colon":return[Te.value," "];case"media-value":return jt(Dt(Te.value,Pt));case"media-keyword":return Dt(Te.value,Pt);case"media-url":return Dt(Te.value.replace(/^url\(\s+/gi,"url(").replace(/\s+\)$/g,")"),Pt);case"media-unknown":return Te.value;case"selector-root":return p([h(ft,"custom-selector")?[d(ft,"css-atrule").customSelector,y]:"",c([",",h(ft,["extend","custom-selector","nest"])?y:m],ft.map(Bt,"nodes"))]);case"selector-selector":return p(C(ft.map(Bt,"nodes")));case"selector-comment":return Te.value;case"selector-string":return Dt(Te.value,Pt);case"selector-tag":{let Xt=ft.getParentNode(),Wt=Xt&&Xt.nodes.indexOf(Te),nr=Wt&&Xt.nodes[Wt-1];return[Te.namespace?[Te.namespace===!0?"":Te.namespace.trim(),"|"]:"",nr.type==="selector-nesting"?Te.value:jt(b(ft,Te.value)?Te.value.toLowerCase():Te.value)]}case"selector-id":return["#",Te.value];case"selector-class":return[".",jt(Dt(Te.value,Pt))];case"selector-attribute":{var Vr;return["[",Te.namespace?[Te.namespace===!0?"":Te.namespace.trim(),"|"]:"",Te.attribute.trim(),(Vr=Te.operator)!==null&&Vr!==void 0?Vr:"",Te.value?Tt(Dt(Te.value.trim(),Pt),Pt):"",Te.insensitive?" i":"","]"]}case"selector-combinator":{if(Te.value==="+"||Te.value===">"||Te.value==="~"||Te.value===">>>"){let nr=ft.getParentNode();return[nr.type==="selector-selector"&&nr.nodes[0]===Te?"":y,Te.value,B(ft,Te)?"":" "]}let Xt=Te.value.trim().startsWith("(")?y:"",Wt=jt(Dt(Te.value.trim(),Pt))||y;return[Xt,Wt]}case"selector-universal":return[Te.namespace?[Te.namespace===!0?"":Te.namespace.trim(),"|"]:"",Te.value];case"selector-pseudo":return[f(Te.value),o(Te.nodes)?p(["(",C([g,c([",",y],ft.map(Bt,"nodes"))]),g,")"]):""];case"selector-nesting":return Te.value;case"selector-unknown":{let Xt=d(ft,"css-rule");if(Xt&&Xt.isSCSSNesterProperty)return jt(Dt(f(Te.value),Pt));let Wt=ft.getParentNode();if(Wt.raws&&Wt.raws.selector){let Ur=pt(Wt),O=Ur+Wt.raws.selector.length;return Pt.originalText.slice(Ur,O).trim()}let nr=ft.getParentNode(1);if(Wt.type==="value-paren_group"&&nr&&nr.type==="value-func"&&nr.value==="selector"){let Ur=ut(Wt.open)+1,O=pt(Wt.close),$e=Pt.originalText.slice(Ur,O).trim();return H($e)?[A,$e]:$e}return Te.value}case"value-value":case"value-root":return Bt("group");case"value-comment":return Pt.originalText.slice(pt(Te),ut(Te));case"value-comma_group":{let Xt=ft.getParentNode(),Wt=ft.getParentNode(1),nr=T(ft),Ur=nr&&Xt.type==="value-value"&&(nr==="grid"||nr.startsWith("grid-template")),O=d(ft,"css-atrule"),$e=O&&I(O),vt=Te.groups.some(Gr=>Xe(Gr)),zt=ft.map(Bt,"groups"),Ht=[],jr=F(ft,"url"),cr=!1,Tr=!1;for(let Gr=0;Grys:gs!==-1?cr=!0:ys!==-1&&(cr=!1)}if(cr||Et(Nt)||Et(Mt)||Nt.type==="value-atword"&&(Nt.value===""||Nt.value.endsWith("["))||Mt.type==="value-word"&&Mt.value.startsWith("]")||Nt.value==="~"||Nt.value&&Nt.value.includes("\\")&&Mt&&Mt.type!=="value-comment"||Cr&&Cr.value&&Cr.value.indexOf("\\")===Cr.value.length-1&&Nt.type==="value-operator"&&Nt.value==="/"||Nt.value==="\\"||Ce(Nt,Mt)||Ye(Nt)||Ct(Nt)||Rt(Mt)||Ct(Mt)&&we(Mt)||Rt(Nt)&&we(Mt)||Nt.value==="--"&&Ye(Mt))continue;let hs=R(Nt),Ks=R(Mt);if((hs&&Ye(Mt)||Ks&&Rt(Nt))&&we(Mt)||!Cr&&j(Nt)||F(ft,"calc")&&(De(Nt)||De(Mt)||U(Nt)||U(Mt))&&we(Mt))continue;let ll=(De(Nt)||U(Nt))&&Gr===0&&(Mt.type==="value-number"||Mt.isHex)&&Wt&&xe(Wt)&&!we(Mt),Qs=ui&&ui.type==="value-func"||ui&&It(ui)||Nt.type==="value-func"||It(Nt),Zs=Mt.type==="value-func"||It(Mt)||Cr&&Cr.type==="value-func"||Cr&&It(Cr);if(!(!(te(Mt)||te(Nt))&&!F(ft,"calc")&&!ll&&(j(Mt)&&!Qs||j(Nt)&&!Zs||De(Mt)&&!Qs||De(Nt)&&!Zs||U(Mt)||U(Nt))&&(we(Mt)||hs&&(!Cr||Cr&&R(Cr))))&&!((Pt.parser==="scss"||Pt.parser==="less")&&hs&&Nt.value==="-"&&Be(Mt)&&ut(Nt)===pt(Mt.open)&&Mt.open.value==="(")){if(Xe(Nt)){if(Xt.type==="value-paren_group"){Ht.push(w(m));continue}Ht.push(m);continue}if($e&&(M(Mt)||G(Mt)||Ie(Mt)||pe(Nt)||be(Nt))){Ht.push(" ");continue}if(O&&O.name.toLowerCase()==="namespace"){Ht.push(" ");continue}if(Ur){Nt.source&&Mt.source&&Nt.source.start.line!==Mt.source.start.line?(Ht.push(m),Tr=!0):Ht.push(" ");continue}if(Ks){Ht.push(" ");continue}if(!(Mt&&Mt.value==="...")&&!(ke(Nt)&&ke(Mt)&&ut(Nt)===pt(Mt))){if(ke(Nt)&&Be(Mt)&&ut(Nt)===pt(Mt.open)){Ht.push(g);continue}if(Nt.value==="with"&&Be(Mt)){Ht.push(" ");continue}(Sr=Nt.value)!==null&&Sr!==void 0&&Sr.endsWith("#")&&Mt.value==="{"&&Be(Mt.group)||Ht.push(y)}}}return vt&&Ht.push(A),Tr&&Ht.unshift(m),$e?p(C(Ht)):E(ft)?p(D(Ht)):p(C(D(Ht)))}case"value-paren_group":{let Xt=ft.getParentNode();if(Xt&&fe(Xt)&&(Te.groups.length===1||Te.groups.length>0&&Te.groups[0].type==="value-comma_group"&&Te.groups[0].groups.length>0&&Te.groups[0].groups[0].type==="value-word"&&Te.groups[0].groups[0].value.startsWith("data:")))return[Te.open?Bt("open"):"",c(",",ft.map(Bt,"groups")),Te.close?Bt("close"):""];if(!Te.open){let jr=ft.map(Bt,"groups"),cr=[];for(let Tr=0;Tr{let Tr=jr.getValue(),Gr=cr===Te.groups.length-1,Cr=[Bt(),Gr?"":","];if(_e(Tr)&&Tr.type==="value-comma_group"&&Tr.groups&&Tr.groups[0].type!=="value-paren_group"&&Tr.groups[2]&&Tr.groups[2].type==="value-paren_group"){let Nt=x(Cr[0].contents.contents);Nt[1]=p(Nt[1]),Cr=[p(w(Cr))]}if(!Gr&&Tr.type==="value-comma_group"&&o(Tr.groups)){let Nt=t(Tr.groups);!Nt.source&&Nt.close&&(Nt=Nt.close),Nt.source&&n(Pt.originalText,Nt,ut)&&Cr.push(m)}return Cr},"groups"))]),k(!Ur&&v(Pt.parser,Pt.originalText)&&Wt&&ye(Pt)?",":""),g,Te.close?Bt("close"):""],{shouldBreak:vt});return zt?w(Ht):Ht}case"value-func":return[Te.value,h(ft,"supports")&&bt(Te)?" ":"",Bt("group")];case"value-paren":return Te.value;case"value-number":return[tr(Te.value),K(Te.unit)];case"value-operator":return Te.value;case"value-word":return Te.isColor&&Te.isHex||S(Te.value)?Te.value.toLowerCase():Te.value;case"value-colon":{let Xt=ft.getParentNode(),Wt=Xt&&Xt.groups.indexOf(Te),nr=Wt&&Xt.groups[Wt-1];return[Te.value,nr&&typeof nr.value=="string"&&t(nr.value)==="\\"||F(ft,"url")?"":y]}case"value-comma":return[Te.value," "];case"value-string":return s(Te.raws.quote+Te.value+Te.raws.quote,Pt);case"value-atword":return["@",Te.value];case"value-unicode-range":return Te.value;case"value-unknown":return Te.value;default:throw new Error(`Unknown postcss type ${JSON.stringify(Te.type)}`)}}function tt(ft,Pt,Bt){let Te=[];return ft.each((Vr,Sr,Xt)=>{let Wt=Xt[Sr-1];if(Wt&&Wt.type==="css-comment"&&Wt.text.trim()==="prettier-ignore"){let nr=Vr.getValue();Te.push(Pt.originalText.slice(pt(nr),ut(nr)))}else Te.push(Bt());Sr!==Xt.length-1&&(Xt[Sr+1].type==="css-comment"&&!e(Pt.originalText,pt(Xt[Sr+1]),{backwards:!0})&&!r(Xt[Sr])||Xt[Sr+1].type==="css-atrule"&&Xt[Sr+1].name==="else"&&Xt[Sr].type!=="css-comment"?Te.push(" "):(Te.push(Pt.__isHTMLStyleAttribute?y:m),n(Pt.originalText,Vr.getValue(),ut)&&!r(Xt[Sr])&&Te.push(m)))},"nodes"),Te}var ht=/(["'])(?:(?!\1)[^\\]|\\.)*\1/gs,Ke=/(?:\d*\.\d+|\d+\.?)(?:[Ee][+-]?\d+)?/g,pr=/[A-Za-z]+/g,dt=/[$@]?[A-Z_a-z\u0080-\uFFFF][\w\u0080-\uFFFF-]*/g,ar=new RegExp(ht.source+`|(${dt.source})?(${Ke.source})(${pr.source})?`,"g");function Dt(ft,Pt){return ft.replace(ht,Bt=>s(Bt,Pt))}function Tt(ft,Pt){let Bt=Pt.singleQuote?"'":'"';return ft.includes('"')||ft.includes("'")?ft:Bt+ft+Bt}function jt(ft){return ft.replace(ar,(Pt,Bt,Te,Vr,Sr)=>!Te&&Vr?tr(Vr)+f(Sr||""):Pt)}function tr(ft){return a(ft).replace(/\.0(?=$|e)/,"")}l.exports={print:ze,embed:_,insertPragma:J,massageAstNode:P}}}),za=$({"src/language-css/options.js"(u,l){ue();var t=On();l.exports={singleQuote:t.singleQuote}}}),Ha=$({"src/language-css/parsers.js"(){ue()}}),Ya=$({"node_modules/linguist-languages/data/CSS.json"(u,l){l.exports={name:"CSS",type:"markup",tmScope:"source.css",aceMode:"css",codemirrorMode:"css",codemirrorMimeType:"text/css",color:"#563d7c",extensions:[".css"],languageId:50}}}),Ka=$({"node_modules/linguist-languages/data/PostCSS.json"(u,l){l.exports={name:"PostCSS",type:"markup",color:"#dc3a0c",tmScope:"source.postcss",group:"CSS",extensions:[".pcss",".postcss"],aceMode:"text",languageId:262764437}}}),Qa=$({"node_modules/linguist-languages/data/Less.json"(u,l){l.exports={name:"Less",type:"markup",color:"#1d365d",aliases:["less-css"],extensions:[".less"],tmScope:"source.css.less",aceMode:"less",codemirrorMode:"css",codemirrorMimeType:"text/css",languageId:198}}}),Za=$({"node_modules/linguist-languages/data/SCSS.json"(u,l){l.exports={name:"SCSS",type:"markup",color:"#c6538c",tmScope:"source.css.scss",aceMode:"scss",codemirrorMode:"css",codemirrorMimeType:"text/x-scss",extensions:[".scss"],languageId:329}}}),eo=$({"src/language-css/index.js"(u,l){ue();var t=vr(),a=Wa(),s=za(),e=Ha(),r=[t(Ya(),o=>({since:"1.4.0",parsers:["css"],vscodeLanguageIds:["css"],extensions:[...o.extensions,".wxss"]})),t(Ka(),()=>({since:"1.4.0",parsers:["css"],vscodeLanguageIds:["postcss"]})),t(Qa(),()=>({since:"1.4.0",parsers:["less"],vscodeLanguageIds:["less"]})),t(Za(),()=>({since:"1.4.0",parsers:["scss"],vscodeLanguageIds:["scss"]}))],n={postcss:a};l.exports={languages:r,options:s,printers:n,parsers:e}}}),to=$({"src/language-handlebars/loc.js"(u,l){ue();function t(s){return s.loc.start.offset}function a(s){return s.loc.end.offset}l.exports={locStart:t,locEnd:a}}}),ro=$({"src/language-handlebars/clean.js"(u,l){ue();function t(a,s){if(a.type==="TextNode"){let e=a.chars.trim();if(!e)return null;s.chars=e.replace(/[\t\n\f\r ]+/g," ")}a.type==="AttrNode"&&a.name.toLowerCase()==="class"&&delete s.value}t.ignoredProperties=new Set(["loc","selfClosing"]),l.exports=t}}),no=$({"src/language-handlebars/html-void-elements.evaluate.js"(u,l){l.exports=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]}}),uo=$({"src/language-handlebars/utils.js"(u,l){ue();var t=mr(),a=no();function s(x){let P=x.getValue(),_=x.getParentNode(0);return!!(g(x,["ElementNode"])&&t(_.children)===P||g(x,["Block"])&&t(_.body)===P)}function e(x){return x.toUpperCase()===x}function r(x){return m(x,["ElementNode"])&&typeof x.tag=="string"&&!x.tag.startsWith(":")&&(e(x.tag[0])||x.tag.includes("."))}var n=new Set(a);function o(x){return n.has(x.toLowerCase())&&!e(x[0])}function c(x){return x.selfClosing===!0||o(x.tag)||r(x)&&x.children.every(P=>y(P))}function y(x){return m(x,["TextNode"])&&!/\S/.test(x.chars)}function m(x,P){return x&&P.includes(x.type)}function g(x,P){let _=x.getParentNode(0);return m(_,P)}function p(x,P){let _=w(x);return m(_,P)}function D(x,P){let _=k(x);return m(_,P)}function C(x,P){var _,J,d,T;let f=x.getValue(),F=(_=x.getParentNode(0))!==null&&_!==void 0?_:{},i=(J=(d=(T=F.children)!==null&&T!==void 0?T:F.body)!==null&&d!==void 0?d:F.parts)!==null&&J!==void 0?J:[],h=i.indexOf(f);return h!==-1&&i[h+P]}function w(x){let P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return C(x,-P)}function k(x){return C(x,1)}function A(x){return m(x,["MustacheCommentStatement"])&&typeof x.value=="string"&&x.value.trim()==="prettier-ignore"}function N(x){let P=x.getValue(),_=w(x,2);return A(P)||A(_)}l.exports={getNextNode:k,getPreviousNode:w,hasPrettierIgnore:N,isLastNodeOfSiblings:s,isNextNodeOfSomeType:D,isNodeOfSomeType:m,isParentOfSomeType:g,isPreviousNodeOfSomeType:p,isVoid:c,isWhitespaceNode:y}}}),io=$({"src/language-handlebars/printer-glimmer.js"(u,l){ue();var{builders:{dedent:t,fill:a,group:s,hardline:e,ifBreak:r,indent:n,join:o,line:c,softline:y},utils:{getDocParts:m,replaceTextEndOfLine:g}}=wt(),{getPreferredQuote:p,isNonEmptyArray:D}=Gt(),{locStart:C,locEnd:w}=to(),k=ro(),{getNextNode:A,getPreviousNode:N,hasPrettierIgnore:x,isLastNodeOfSiblings:P,isNextNodeOfSomeType:_,isNodeOfSomeType:J,isParentOfSomeType:d,isPreviousNodeOfSomeType:T,isVoid:f,isWhitespaceNode:F}=uo(),i=2;function h(H,ke,oe){let Be=H.getValue();if(!Be)return"";if(x(H))return ke.originalText.slice(C(Be),w(Be));let pt=ke.singleQuote?"'":'"';switch(Be.type){case"Block":case"Program":case"Template":return s(H.map(oe,"body"));case"ElementNode":{let ut=s(b(H,oe)),Le=ke.htmlWhitespaceSensitivity==="ignore"&&_(H,["ElementNode"])?y:"";if(f(Be))return[ut,Le];let v=[""];return Be.children.length===0?[ut,n(v),Le]:ke.htmlWhitespaceSensitivity==="ignore"?[ut,n(S(H,ke,oe)),e,n(v),Le]:[ut,n(s(S(H,ke,oe))),n(v),Le]}case"BlockStatement":{let ut=H.getParentNode(1);return ut&&ut.inverse&&ut.inverse.body.length===1&&ut.inverse.body[0]===Be&&ut.inverse.body[0].path.parts[0]===ut.path.parts[0]?[be(H,oe,ut.inverse.body[0].path.parts[0]),we(H,oe,ke),_e(H,oe,ke)]:[R(H,oe),s([we(H,oe,ke),_e(H,oe,ke),fe(H,oe,ke)])]}case"ElementModifierStatement":return s(["{{",It(H,oe),"}}"]);case"MustacheStatement":return s([I(Be),It(H,oe),q(Be)]);case"SubExpression":return s(["(",Rt(H,oe),y,")"]);case"AttrNode":{let ut=Be.value.type==="TextNode";if(ut&&Be.value.chars===""&&C(Be.value)===w(Be.value))return Be.name;let Le=ut?p(Be.value.chars,pt).quote:Be.value.type==="ConcatStatement"?p(Be.value.parts.filter(K=>K.type==="TextNode").map(K=>K.chars).join(""),pt).quote:"",v=oe("value");return[Be.name,"=",Le,Be.name==="class"&&Le?s(n(v)):v,Le]}case"ConcatStatement":return H.map(oe,"parts");case"Hash":return o(c,H.map(oe,"pairs"));case"HashPair":return[Be.key,"=",oe("value")];case"TextNode":{let ut=Be.chars.replace(/{{/g,"\\{{"),Le=Q(H);if(Le){if(Le==="class"){let dt=ut.trim().split(/\s+/).join(" "),ar=!1,Dt=!1;return d(H,["ConcatStatement"])&&(T(H,["MustacheStatement"])&&/^\s/.test(ut)&&(ar=!0),_(H,["MustacheStatement"])&&/\s$/.test(ut)&&dt!==""&&(Dt=!0)),[ar?c:"",dt,Dt?c:""]}return g(ut)}let v=/^[\t\n\f\r ]*$/.test(ut),K=!N(H),ye=!A(H);if(ke.htmlWhitespaceSensitivity!=="ignore"){let dt=/^[\t\n\f\r ]*/,ar=/[\t\n\f\r ]*$/,Dt=ye&&d(H,["Template"]),Tt=K&&d(H,["Template"]);if(v){if(Tt||Dt)return"";let Bt=[c],Te=me(ut);return Te&&(Bt=Xe(Te)),P(H)&&(Bt=Bt.map(Vr=>t(Vr))),Bt}let[jt]=ut.match(dt),[tr]=ut.match(ar),ft=[];if(jt){ft=[c];let Bt=me(jt);Bt&&(ft=Xe(Bt)),ut=ut.replace(dt,"")}let Pt=[];if(tr){if(!Dt){Pt=[c];let Bt=me(tr);Bt&&(Pt=Xe(Bt)),P(H)&&(Pt=Pt.map(Te=>t(Te)))}ut=ut.replace(ar,"")}return[...ft,a(it(ut)),...Pt]}let ze=me(ut),tt=Ce(ut),ht=Re(ut);if((K||ye)&&v&&d(H,["Block","ElementNode","Template"]))return"";v&&ze?(tt=Math.min(ze,i),ht=0):(_(H,["BlockStatement","ElementNode"])&&(ht=Math.max(ht,1)),T(H,["BlockStatement","ElementNode"])&&(tt=Math.max(tt,1)));let Ke="",pr="";return ht===0&&_(H,["MustacheStatement"])&&(pr=" "),tt===0&&T(H,["MustacheStatement"])&&(Ke=" "),K&&(tt=0,Ke=""),ye&&(ht=0,pr=""),ut=ut.replace(/^[\t\n\f\r ]+/g,Ke).replace(/[\t\n\f\r ]+$/,pr),[...Xe(tt),a(it(ut)),...Xe(ht)]}case"MustacheCommentStatement":{let ut=C(Be),Le=w(Be),v=ke.originalText.charAt(ut+2)==="~",K=ke.originalText.charAt(Le-3)==="~",ye=Be.value.includes("}}")?"--":"";return["{{",v?"~":"","!",ye,Be.value,ye,K?"~":"","}}"]}case"PathExpression":return Be.original;case"BooleanLiteral":return String(Be.value);case"CommentStatement":return[""];case"StringLiteral":{if(Ct(H)){let ut=ke.singleQuote?'"':"'";return Ye(Be.value,ut)}return Ye(Be.value,pt)}case"NumberLiteral":return String(Be.value);case"UndefinedLiteral":return"undefined";case"NullLiteral":return"null";default:throw new Error("unknown glimmer type: "+JSON.stringify(Be.type))}}function E(H,ke){return C(H)-C(ke)}function b(H,ke){let oe=H.getValue(),Be=["attributes","modifiers","comments"].filter(ut=>D(oe[ut])),pt=Be.flatMap(ut=>oe[ut]).sort(E);for(let ut of Be)H.each(Le=>{let v=pt.indexOf(Le.getValue());pt.splice(v,1,[c,ke()])},ut);return D(oe.blockParams)&&pt.push(c,xe(oe)),["<",oe.tag,n(pt),B(oe)]}function S(H,ke,oe){let Be=H.getValue().children.every(pt=>F(pt));return ke.htmlWhitespaceSensitivity==="ignore"&&Be?"":H.map((pt,ut)=>{let Le=oe();return ut===0&&ke.htmlWhitespaceSensitivity==="ignore"?[y,Le]:Le},"children")}function B(H){return f(H)?r([y,"/>"],[" />",y]):r([y,">"],">")}function I(H){let ke=H.escaped===!1?"{{{":"{{",oe=H.strip&&H.strip.open?"~":"";return[ke,oe]}function q(H){let ke=H.escaped===!1?"}}}":"}}";return[H.strip&&H.strip.close?"~":"",ke]}function G(H){let ke=I(H),oe=H.openStrip.open?"~":"";return[ke,oe,"#"]}function M(H){let ke=q(H);return[H.openStrip.close?"~":"",ke]}function te(H){let ke=I(H),oe=H.closeStrip.open?"~":"";return[ke,oe,"/"]}function j(H){let ke=q(H);return[H.closeStrip.close?"~":"",ke]}function De(H){let ke=I(H),oe=H.inverseStrip.open?"~":"";return[ke,oe]}function U(H){let ke=q(H);return[H.inverseStrip.close?"~":"",ke]}function R(H,ke){let oe=H.getValue(),Be=[],pt=bt(H,ke);return pt&&Be.push(s(pt)),D(oe.program.blockParams)&&Be.push(xe(oe.program)),s([G(oe),Et(H,ke),Be.length>0?n([c,o(c,Be)]):"",y,M(oe)])}function pe(H,ke){return[ke.htmlWhitespaceSensitivity==="ignore"?e:"",De(H),"else",U(H)]}function be(H,ke,oe){let Be=H.getValue(),pt=H.getParentNode(1);return s([De(pt),["else"," ",oe],n([c,s(bt(H,ke)),...D(Be.program.blockParams)?[c,xe(Be.program)]:[]]),y,U(pt)])}function fe(H,ke,oe){let Be=H.getValue();return oe.htmlWhitespaceSensitivity==="ignore"?[Ie(Be)?y:e,te(Be),ke("path"),j(Be)]:[te(Be),ke("path"),j(Be)]}function Ie(H){return J(H,["BlockStatement"])&&H.program.body.every(ke=>F(ke))}function X(H){return se(H)&&H.inverse.body.length===1&&J(H.inverse.body[0],["BlockStatement"])&&H.inverse.body[0].path.parts[0]===H.path.parts[0]}function se(H){return J(H,["BlockStatement"])&&H.inverse}function we(H,ke,oe){let Be=H.getValue();if(Ie(Be))return"";let pt=ke("program");return oe.htmlWhitespaceSensitivity==="ignore"?n([e,pt]):n(pt)}function _e(H,ke,oe){let Be=H.getValue(),pt=ke("inverse"),ut=oe.htmlWhitespaceSensitivity==="ignore"?[e,pt]:pt;return X(Be)?ut:se(Be)?[pe(Be,oe),n(ut)]:""}function it(H){return m(o(c,ae(H)))}function ae(H){return H.split(/[\t\n\f\r ]+/)}function Q(H){for(let ke=0;ke<2;ke++){let oe=H.getParentNode(ke);if(oe&&oe.type==="AttrNode")return oe.name.toLowerCase()}}function me(H){return H=typeof H=="string"?H:"",H.split(` +`).length-1}function Ce(H){H=typeof H=="string"?H:"";let ke=(H.match(/^([^\S\n\r]*[\n\r])+/g)||[])[0]||"";return me(ke)}function Re(H){H=typeof H=="string"?H:"";let ke=(H.match(/([\n\r][^\S\n\r]*)+$/g)||[])[0]||"";return me(ke)}function Xe(){let H=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return Array.from({length:Math.min(H,i)}).fill(e)}function Ye(H,ke){let{quote:oe,regex:Be}=p(H,ke);return[oe,H.replace(Be,`\\${oe}`),oe]}function Ct(H){let ke=0,oe=H.getParentNode(ke);for(;oe&&J(oe,["SubExpression"]);)ke++,oe=H.getParentNode(ke);return!!(oe&&J(H.getParentNode(ke+1),["ConcatStatement"])&&J(H.getParentNode(ke+2),["AttrNode"]))}function Rt(H,ke){let oe=Et(H,ke),Be=bt(H,ke);return Be?n([oe,c,s(Be)]):oe}function It(H,ke){let oe=Et(H,ke),Be=bt(H,ke);return Be?[n([oe,c,Be]),y]:oe}function Et(H,ke){return ke("path")}function bt(H,ke){let oe=H.getValue(),Be=[];if(oe.params.length>0){let pt=H.map(ke,"params");Be.push(...pt)}if(oe.hash&&oe.hash.pairs.length>0){let pt=ke("hash");Be.push(pt)}return Be.length===0?"":o(c,Be)}function xe(H){return["as |",H.blockParams.join(" "),"|"]}l.exports={print:h,massageAstNode:k}}}),so=$({"src/language-handlebars/parsers.js"(){ue()}}),ao=$({"node_modules/linguist-languages/data/Handlebars.json"(u,l){l.exports={name:"Handlebars",type:"markup",color:"#f7931e",aliases:["hbs","htmlbars"],extensions:[".handlebars",".hbs"],tmScope:"text.html.handlebars",aceMode:"handlebars",languageId:155}}}),oo=$({"src/language-handlebars/index.js"(u,l){ue();var t=vr(),a=io(),s=so(),e=[t(ao(),()=>({since:"2.3.0",parsers:["glimmer"],vscodeLanguageIds:["handlebars"]}))],r={glimmer:a};l.exports={languages:e,printers:r,parsers:s}}}),lo=$({"src/language-graphql/pragma.js"(u,l){ue();function t(s){return/^\s*#[^\S\n]*@(?:format|prettier)\s*(?:\n|$)/.test(s)}function a(s){return`# @format + +`+s}l.exports={hasPragma:t,insertPragma:a}}}),po=$({"src/language-graphql/loc.js"(u,l){ue();function t(s){return typeof s.start=="number"?s.start:s.loc&&s.loc.start}function a(s){return typeof s.end=="number"?s.end:s.loc&&s.loc.end}l.exports={locStart:t,locEnd:a}}}),co=$({"src/language-graphql/printer-graphql.js"(u,l){ue();var{builders:{join:t,hardline:a,line:s,softline:e,group:r,indent:n,ifBreak:o}}=wt(),{isNextLineEmpty:c,isNonEmptyArray:y}=Gt(),{insertPragma:m}=lo(),{locStart:g,locEnd:p}=po();function D(_,J,d){let T=_.getValue();if(!T)return"";if(typeof T=="string")return T;switch(T.kind){case"Document":{let f=[];return _.each((F,i,h)=>{f.push(d()),i!==h.length-1&&(f.push(a),c(J.originalText,F.getValue(),p)&&f.push(a))},"definitions"),[...f,a]}case"OperationDefinition":{let f=J.originalText[g(T)]!=="{",F=!!T.name;return[f?T.operation:"",f&&F?[" ",d("name")]:"",f&&!F&&y(T.variableDefinitions)?" ":"",y(T.variableDefinitions)?r(["(",n([e,t([o("",", "),e],_.map(d,"variableDefinitions"))]),e,")"]):"",C(_,d,T),T.selectionSet?!f&&!F?"":" ":"",d("selectionSet")]}case"FragmentDefinition":return["fragment ",d("name"),y(T.variableDefinitions)?r(["(",n([e,t([o("",", "),e],_.map(d,"variableDefinitions"))]),e,")"]):""," on ",d("typeCondition"),C(_,d,T)," ",d("selectionSet")];case"SelectionSet":return["{",n([a,t(a,w(_,J,d,"selections"))]),a,"}"];case"Field":return r([T.alias?[d("alias"),": "]:"",d("name"),T.arguments.length>0?r(["(",n([e,t([o("",", "),e],w(_,J,d,"arguments"))]),e,")"]):"",C(_,d,T),T.selectionSet?" ":"",d("selectionSet")]);case"Name":return T.value;case"StringValue":{if(T.block){let f=T.value.replace(/"""/g,"\\$&").split(` +`);return f.length===1&&(f[0]=f[0].trim()),f.every(F=>F==="")&&(f.length=0),t(a,['"""',...f,'"""'])}return['"',T.value.replace(/["\\]/g,"\\$&").replace(/\n/g,"\\n"),'"']}case"IntValue":case"FloatValue":case"EnumValue":return T.value;case"BooleanValue":return T.value?"true":"false";case"NullValue":return"null";case"Variable":return["$",d("name")];case"ListValue":return r(["[",n([e,t([o("",", "),e],_.map(d,"values"))]),e,"]"]);case"ObjectValue":return r(["{",J.bracketSpacing&&T.fields.length>0?" ":"",n([e,t([o("",", "),e],_.map(d,"fields"))]),e,o("",J.bracketSpacing&&T.fields.length>0?" ":""),"}"]);case"ObjectField":case"Argument":return[d("name"),": ",d("value")];case"Directive":return["@",d("name"),T.arguments.length>0?r(["(",n([e,t([o("",", "),e],w(_,J,d,"arguments"))]),e,")"]):""];case"NamedType":return d("name");case"VariableDefinition":return[d("variable"),": ",d("type"),T.defaultValue?[" = ",d("defaultValue")]:"",C(_,d,T)];case"ObjectTypeExtension":case"ObjectTypeDefinition":return[d("description"),T.description?a:"",T.kind==="ObjectTypeExtension"?"extend ":"","type ",d("name"),T.interfaces.length>0?[" implements ",...N(_,J,d)]:"",C(_,d,T),T.fields.length>0?[" {",n([a,t(a,w(_,J,d,"fields"))]),a,"}"]:""];case"FieldDefinition":return[d("description"),T.description?a:"",d("name"),T.arguments.length>0?r(["(",n([e,t([o("",", "),e],w(_,J,d,"arguments"))]),e,")"]):"",": ",d("type"),C(_,d,T)];case"DirectiveDefinition":return[d("description"),T.description?a:"","directive ","@",d("name"),T.arguments.length>0?r(["(",n([e,t([o("",", "),e],w(_,J,d,"arguments"))]),e,")"]):"",T.repeatable?" repeatable":""," on ",t(" | ",_.map(d,"locations"))];case"EnumTypeExtension":case"EnumTypeDefinition":return[d("description"),T.description?a:"",T.kind==="EnumTypeExtension"?"extend ":"","enum ",d("name"),C(_,d,T),T.values.length>0?[" {",n([a,t(a,w(_,J,d,"values"))]),a,"}"]:""];case"EnumValueDefinition":return[d("description"),T.description?a:"",d("name"),C(_,d,T)];case"InputValueDefinition":return[d("description"),T.description?T.description.block?a:s:"",d("name"),": ",d("type"),T.defaultValue?[" = ",d("defaultValue")]:"",C(_,d,T)];case"InputObjectTypeExtension":case"InputObjectTypeDefinition":return[d("description"),T.description?a:"",T.kind==="InputObjectTypeExtension"?"extend ":"","input ",d("name"),C(_,d,T),T.fields.length>0?[" {",n([a,t(a,w(_,J,d,"fields"))]),a,"}"]:""];case"SchemaExtension":return["extend schema",C(_,d,T),...T.operationTypes.length>0?[" {",n([a,t(a,w(_,J,d,"operationTypes"))]),a,"}"]:[]];case"SchemaDefinition":return[d("description"),T.description?a:"","schema",C(_,d,T)," {",T.operationTypes.length>0?n([a,t(a,w(_,J,d,"operationTypes"))]):"",a,"}"];case"OperationTypeDefinition":return[d("operation"),": ",d("type")];case"InterfaceTypeExtension":case"InterfaceTypeDefinition":return[d("description"),T.description?a:"",T.kind==="InterfaceTypeExtension"?"extend ":"","interface ",d("name"),T.interfaces.length>0?[" implements ",...N(_,J,d)]:"",C(_,d,T),T.fields.length>0?[" {",n([a,t(a,w(_,J,d,"fields"))]),a,"}"]:""];case"FragmentSpread":return["...",d("name"),C(_,d,T)];case"InlineFragment":return["...",T.typeCondition?[" on ",d("typeCondition")]:"",C(_,d,T)," ",d("selectionSet")];case"UnionTypeExtension":case"UnionTypeDefinition":return r([d("description"),T.description?a:"",r([T.kind==="UnionTypeExtension"?"extend ":"","union ",d("name"),C(_,d,T),T.types.length>0?[" =",o(""," "),n([o([s," "]),t([s,"| "],_.map(d,"types"))])]:""])]);case"ScalarTypeExtension":case"ScalarTypeDefinition":return[d("description"),T.description?a:"",T.kind==="ScalarTypeExtension"?"extend ":"","scalar ",d("name"),C(_,d,T)];case"NonNullType":return[d("type"),"!"];case"ListType":return["[",d("type"),"]"];default:throw new Error("unknown graphql type: "+JSON.stringify(T.kind))}}function C(_,J,d){if(d.directives.length===0)return"";let T=t(s,_.map(J,"directives"));return d.kind==="FragmentDefinition"||d.kind==="OperationDefinition"?r([s,T]):[" ",r(n([e,T]))]}function w(_,J,d,T){return _.map((f,F,i)=>{let h=d();return Fd(h),"interfaces");for(let h=0;hT.value.trim()==="prettier-ignore")}l.exports={print:D,massageAstNode:x,hasPrettierIgnore:P,insertPragma:m,printComment:A,canAttachComment:k}}}),Do=$({"src/language-graphql/options.js"(u,l){ue();var t=On();l.exports={bracketSpacing:t.bracketSpacing}}}),fo=$({"src/language-graphql/parsers.js"(){ue()}}),mo=$({"node_modules/linguist-languages/data/GraphQL.json"(u,l){l.exports={name:"GraphQL",type:"data",color:"#e10098",extensions:[".graphql",".gql",".graphqls"],tmScope:"source.graphql",aceMode:"text",languageId:139}}}),ho=$({"src/language-graphql/index.js"(u,l){ue();var t=vr(),a=co(),s=Do(),e=fo(),r=[t(mo(),()=>({since:"1.5.0",parsers:["graphql"],vscodeLanguageIds:["graphql"]}))],n={graphql:a};l.exports={languages:r,options:s,printers:n,parsers:e}}}),Js=$({"node_modules/collapse-white-space/index.js"(u,l){ue(),l.exports=t;function t(a){return String(a).replace(/\s+/g," ")}}}),Xs=$({"src/language-markdown/loc.js"(u,l){ue();function t(s){return s.position.start.offset}function a(s){return s.position.end.offset}l.exports={locStart:t,locEnd:a}}}),go=$({"src/language-markdown/constants.evaluate.js"(u,l){l.exports={cjkPattern:"(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"}}}),Ds=$({"src/language-markdown/utils.js"(u,l){ue();var{getLast:t}=Gt(),{locStart:a,locEnd:s}=Xs(),{cjkPattern:e,kPattern:r,punctuationPattern:n}=go(),o=["liquidNode","inlineCode","emphasis","esComment","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],c=[...o,"tableCell","paragraph","heading"],y=new RegExp(r),m=new RegExp(n);function g(A,N){let x="non-cjk",P="cj-letter",_="k-letter",J="cjk-punctuation",d=[],T=(N.proseWrap==="preserve"?A:A.replace(new RegExp(`(${e}) +(${e})`,"g"),"$1$2")).split(/([\t\n ]+)/);for(let[F,i]of T.entries()){if(F%2===1){d.push({type:"whitespace",value:/\n/.test(i)?` +`:" "});continue}if((F===0||F===T.length-1)&&i==="")continue;let h=i.split(new RegExp(`(${e})`));for(let[E,b]of h.entries())if(!((E===0||E===h.length-1)&&b==="")){if(E%2===0){b!==""&&f({type:"word",value:b,kind:x,hasLeadingPunctuation:m.test(b[0]),hasTrailingPunctuation:m.test(t(b))});continue}f(m.test(b)?{type:"word",value:b,kind:J,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:b,kind:y.test(b)?_:P,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1})}}return d;function f(F){let i=t(d);i&&i.type==="word"&&(i.kind===x&&F.kind===P&&!i.hasTrailingPunctuation||i.kind===P&&F.kind===x&&!F.hasLeadingPunctuation?d.push({type:"whitespace",value:" "}):!h(x,J)&&![i.value,F.value].some(E=>/\u3000/.test(E))&&d.push({type:"whitespace",value:""})),d.push(F);function h(E,b){return i.kind===E&&F.kind===b||i.kind===b&&F.kind===E}}}function p(A,N){let[,x,P,_]=N.slice(A.position.start.offset,A.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:x,marker:P,leadingSpaces:_}}function D(A,N){if(!A.ordered||A.children.length<2)return!1;let x=Number(p(A.children[0],N.originalText).numberText),P=Number(p(A.children[1],N.originalText).numberText);if(x===0&&A.children.length>2){let _=Number(p(A.children[2],N.originalText).numberText);return P===1&&_===1}return P===1}function C(A,N){let{value:x}=A;return A.position.end.offset===N.length&&x.endsWith(` +`)&&N.endsWith(` +`)?x.slice(0,-1):x}function w(A,N){return function x(P,_,J){let d=Object.assign({},N(P,_,J));return d.children&&(d.children=d.children.map((T,f)=>x(T,f,[d,...J]))),d}(A,null,[])}function k(A){if((A==null?void 0:A.type)!=="link"||A.children.length!==1)return!1;let[N]=A.children;return a(A)===a(N)&&s(A)===s(N)}l.exports={mapAst:w,splitText:g,punctuationPattern:n,getFencedCodeBlockValue:C,getOrderedListItemInfo:p,hasGitDiffFriendlyOrderedList:D,INLINE_NODE_TYPES:o,INLINE_NODE_WRAPPER_TYPES:c,isAutolink:k}}}),yo=$({"src/language-markdown/embed.js"(u,l){ue();var{inferParserByLanguage:t,getMaxContinuousCount:a}=Gt(),{builders:{hardline:s,markAsRoot:e},utils:{replaceEndOfLine:r}}=wt(),n=cs(),{getFencedCodeBlockValue:o}=Ds();function c(y,m,g,p){let D=y.getValue();if(D.type==="code"&&D.lang!==null){let C=t(D.lang,p);if(C){let w=p.__inJsTemplate?"~":"`",k=w.repeat(Math.max(3,a(D.value,w)+1)),A={parser:C};D.lang==="tsx"&&(A.filepath="dummy.tsx");let N=g(o(D,p.originalText),A,{stripTrailingHardline:!0});return e([k,D.lang,D.meta?" "+D.meta:"",s,r(N),s,k])}}switch(D.type){case"front-matter":return n(D,g);case"importExport":return[g(D.value,{parser:"babel"},{stripTrailingHardline:!0}),s];case"jsx":return g(`<$>${D.value}`,{parser:"__js_expression",rootMarker:"mdx"},{stripTrailingHardline:!0})}return null}l.exports=c}}),Ws=$({"src/language-markdown/pragma.js"(u,l){ue();var t=Gs(),a=["format","prettier"];function s(e){let r=`@(${a.join("|")})`,n=new RegExp([``,`{\\s*\\/\\*\\s*${r}\\s*\\*\\/\\s*}`,``].join("|"),"m"),o=e.match(n);return(o==null?void 0:o.index)===0}l.exports={startWithPragma:s,hasPragma:e=>s(t(e).content.trimStart()),insertPragma:e=>{let r=t(e),n=``;return r.frontMatter?`${r.frontMatter.raw} + +${n} + +${r.content}`:`${n} + +${r.content}`}}}}),Eo=$({"src/language-markdown/print-preprocess.js"(u,l){ue();var t=mr(),{getOrderedListItemInfo:a,mapAst:s,splitText:e}=Ds(),r=/^.$/su;function n(k,A){return k=y(k,A),k=p(k),k=c(k,A),k=C(k,A),k=w(k,A),k=D(k,A),k=o(k),k=m(k),k}function o(k){return s(k,A=>A.type!=="import"&&A.type!=="export"?A:Object.assign(Object.assign({},A),{},{type:"importExport"}))}function c(k,A){return s(k,N=>N.type!=="inlineCode"||A.proseWrap==="preserve"?N:Object.assign(Object.assign({},N),{},{value:N.value.replace(/\s+/g," ")}))}function y(k,A){return s(k,N=>N.type!=="text"||N.value==="*"||N.value==="_"||!r.test(N.value)||N.position.end.offset-N.position.start.offset===N.value.length?N:Object.assign(Object.assign({},N),{},{value:A.originalText.slice(N.position.start.offset,N.position.end.offset)}))}function m(k){return g(k,(A,N)=>A.type==="importExport"&&N.type==="importExport",(A,N)=>({type:"importExport",value:A.value+` + +`+N.value,position:{start:A.position.start,end:N.position.end}}))}function g(k,A,N){return s(k,x=>{if(!x.children)return x;let P=x.children.reduce((_,J)=>{let d=t(_);return d&&A(d,J)?_.splice(-1,1,N(d,J)):_.push(J),_},[]);return Object.assign(Object.assign({},x),{},{children:P})})}function p(k){return g(k,(A,N)=>A.type==="text"&&N.type==="text",(A,N)=>({type:"text",value:A.value+N.value,position:{start:A.position.start,end:N.position.end}}))}function D(k,A){return s(k,(N,x,P)=>{let[_]=P;if(N.type!=="text")return N;let{value:J}=N;return _.type==="paragraph"&&(x===0&&(J=J.trimStart()),x===_.children.length-1&&(J=J.trimEnd())),{type:"sentence",position:N.position,children:e(J,A)}})}function C(k,A){return s(k,(N,x,P)=>{if(N.type==="code"){let _=/^\n?(?: {4,}|\t)/.test(A.originalText.slice(N.position.start.offset,N.position.end.offset));if(N.isIndented=_,_)for(let J=0;J{if(P.type==="list"&&P.children.length>0){for(let d=0;d1)return!0;let d=N(_);if(d===-1)return!1;if(P.children.length===1)return d%A.tabWidth===0;let T=N(J);return d!==T?!1:d%A.tabWidth===0?!0:a(J,A.originalText).leadingSpaces.length>1}}l.exports=n}}),Co=$({"src/language-markdown/clean.js"(u,l){ue();var t=Js(),{isFrontMatterNode:a}=Gt(),{startWithPragma:s}=Ws(),e=new Set(["position","raw"]);function r(n,o,c){if((n.type==="front-matter"||n.type==="code"||n.type==="yaml"||n.type==="import"||n.type==="export"||n.type==="jsx")&&delete o.value,n.type==="list"&&delete o.isAligned,(n.type==="list"||n.type==="listItem")&&(delete o.spread,delete o.loose),n.type==="text"||(n.type==="inlineCode"&&(o.value=n.value.replace(/[\t\n ]+/g," ")),n.type==="wikiLink"&&(o.value=n.value.trim().replace(/[\t\n]+/g," ")),(n.type==="definition"||n.type==="linkReference"||n.type==="imageReference")&&(o.label=t(n.label)),(n.type==="definition"||n.type==="link"||n.type==="image")&&n.title&&(o.title=n.title.replace(/\\(["')])/g,"$1")),c&&c.type==="root"&&c.children.length>0&&(c.children[0]===n||a(c.children[0])&&c.children[1]===n)&&n.type==="html"&&s(n.value)))return null}r.ignoredProperties=e,l.exports=r}}),Fo=$({"src/language-markdown/printer-markdown.js"(u,l){ue();var t=Js(),{getLast:a,getMinNotPresentContinuousCount:s,getMaxContinuousCount:e,getStringWidth:r,isNonEmptyArray:n}=Gt(),{builders:{breakParent:o,join:c,line:y,literalline:m,markAsRoot:g,hardline:p,softline:D,ifBreak:C,fill:w,align:k,indent:A,group:N,hardlineWithoutBreakParent:x},utils:{normalizeDoc:P,replaceTextEndOfLine:_},printer:{printDocToString:J}}=wt(),d=yo(),{insertPragma:T}=Ws(),{locStart:f,locEnd:F}=Xs(),i=Eo(),h=Co(),{getFencedCodeBlockValue:E,hasGitDiffFriendlyOrderedList:b,splitText:S,punctuationPattern:B,INLINE_NODE_TYPES:I,INLINE_NODE_WRAPPER_TYPES:q,isAutolink:G}=Ds(),M=new Set(["importExport"]),te=["heading","tableCell","link","wikiLink"],j=new Set(["listItem","definition","footnoteDefinition"]);function De(xe,H,ke){let oe=xe.getValue();if(Xe(xe))return S(H.originalText.slice(oe.position.start.offset,oe.position.end.offset),H).map(Be=>Be.type==="word"?Be.value:Be.value===""?"":X(xe,Be.value,H));switch(oe.type){case"front-matter":return H.originalText.slice(oe.position.start.offset,oe.position.end.offset);case"root":return oe.children.length===0?"":[P(we(xe,H,ke)),M.has(ae(oe).type)?"":p];case"paragraph":return _e(xe,H,ke,{postprocessor:w});case"sentence":return _e(xe,H,ke);case"word":{let Be=oe.value.replace(/\*/g,"\\$&").replace(new RegExp([`(^|${B})(_+)`,`(_+)(${B}|$)`].join("|"),"g"),(Le,v,K,ye,ze)=>(K?`${v}${K}`:`${ye}${ze}`).replace(/_/g,"\\_")),pt=(Le,v,K)=>Le.type==="sentence"&&K===0,ut=(Le,v,K)=>G(Le.children[K-1]);return Be!==oe.value&&(xe.match(void 0,pt,ut)||xe.match(void 0,pt,(Le,v,K)=>Le.type==="emphasis"&&K===0,ut))&&(Be=Be.replace(/^(\\?[*_])+/,Le=>Le.replace(/\\/g,""))),Be}case"whitespace":{let Be=xe.getParentNode(),pt=Be.children.indexOf(oe),ut=Be.children[pt+1],Le=ut&&/^>|^(?:[*+-]|#{1,6}|\d+[).])$/.test(ut.value)?"never":H.proseWrap;return X(xe,oe.value,{proseWrap:Le})}case"emphasis":{let Be;if(G(oe.children[0]))Be=H.originalText[oe.position.start.offset];else{let pt=xe.getParentNode(),ut=pt.children.indexOf(oe),Le=pt.children[ut-1],v=pt.children[ut+1];Be=Le&&Le.type==="sentence"&&Le.children.length>0&&a(Le.children).type==="word"&&!a(Le.children).hasTrailingPunctuation||v&&v.type==="sentence"&&v.children.length>0&&v.children[0].type==="word"&&!v.children[0].hasLeadingPunctuation||Ie(xe,"emphasis")?"*":"_"}return[Be,_e(xe,H,ke),Be]}case"strong":return["**",_e(xe,H,ke),"**"];case"delete":return["~~",_e(xe,H,ke),"~~"];case"inlineCode":{let Be=s(oe.value,"`"),pt="`".repeat(Be||1),ut=Be&&!/^\s/.test(oe.value)?" ":"";return[pt,ut,oe.value,ut,pt]}case"wikiLink":{let Be="";return H.proseWrap==="preserve"?Be=oe.value:Be=oe.value.replace(/[\t\n]+/g," "),["[[",Be,"]]"]}case"link":switch(H.originalText[oe.position.start.offset]){case"<":{let Be="mailto:";return["<",oe.url.startsWith(Be)&&H.originalText.slice(oe.position.start.offset+1,oe.position.start.offset+1+Be.length)!==Be?oe.url.slice(Be.length):oe.url,">"]}case"[":return["[",_e(xe,H,ke),"](",Ye(oe.url,")"),Ct(oe.title,H),")"];default:return H.originalText.slice(oe.position.start.offset,oe.position.end.offset)}case"image":return["![",oe.alt||"","](",Ye(oe.url,")"),Ct(oe.title,H),")"];case"blockquote":return["> ",k("> ",_e(xe,H,ke))];case"heading":return["#".repeat(oe.depth)+" ",_e(xe,H,ke)];case"code":{if(oe.isIndented){let ut=" ".repeat(4);return k(ut,[ut,..._(oe.value,p)])}let Be=H.__inJsTemplate?"~":"`",pt=Be.repeat(Math.max(3,e(oe.value,Be)+1));return[pt,oe.lang||"",oe.meta?" "+oe.meta:"",p,..._(E(oe,H.originalText),p),p,pt]}case"html":{let Be=xe.getParentNode(),pt=Be.type==="root"&&a(Be.children)===oe?oe.value.trimEnd():oe.value,ut=/^$/s.test(pt);return _(pt,ut?p:g(m))}case"list":{let Be=pe(oe,xe.getParentNode()),pt=b(oe,H);return _e(xe,H,ke,{processor:(ut,Le)=>{let v=ye(),K=ut.getValue();if(K.children.length===2&&K.children[1].type==="html"&&K.children[0].position.start.column!==K.children[1].position.start.column)return[v,U(ut,H,ke,v)];return[v,k(" ".repeat(v.length),U(ut,H,ke,v))];function ye(){let ze=oe.ordered?(Le===0?oe.start:pt?1:oe.start+Le)+(Be%2===0?". ":") "):Be%2===0?"- ":"* ";return oe.isAligned||oe.hasIndentedCodeblock?R(ze,H):ze}}})}case"thematicBreak":{let Be=fe(xe,"list");return Be===-1?"---":pe(xe.getParentNode(Be),xe.getParentNode(Be+1))%2===0?"***":"---"}case"linkReference":return["[",_e(xe,H,ke),"]",oe.referenceType==="full"?Et(oe):oe.referenceType==="collapsed"?"[]":""];case"imageReference":switch(oe.referenceType){case"full":return["![",oe.alt||"","]",Et(oe)];default:return["![",oe.alt,"]",oe.referenceType==="collapsed"?"[]":""]}case"definition":{let Be=H.proseWrap==="always"?y:" ";return N([Et(oe),":",A([Be,Ye(oe.url),oe.title===null?"":[Be,Ct(oe.title,H,!1)]])])}case"footnote":return["[^",_e(xe,H,ke),"]"];case"footnoteReference":return bt(oe);case"footnoteDefinition":{let Be=xe.getParentNode().children[xe.getName()+1],pt=oe.children.length===1&&oe.children[0].type==="paragraph"&&(H.proseWrap==="never"||H.proseWrap==="preserve"&&oe.children[0].position.start.line===oe.children[0].position.end.line);return[bt(oe),": ",pt?_e(xe,H,ke):N([k(" ".repeat(4),_e(xe,H,ke,{processor:(ut,Le)=>Le===0?N([D,ke()]):ke()})),Be&&Be.type==="footnoteDefinition"?D:""])]}case"table":return se(xe,H,ke);case"tableCell":return _e(xe,H,ke);case"break":return/\s/.test(H.originalText[oe.position.start.offset])?[" ",g(m)]:["\\",p];case"liquidNode":return _(oe.value,p);case"importExport":return[oe.value,p];case"esComment":return["{/* ",oe.value," */}"];case"jsx":return oe.value;case"math":return["$$",p,oe.value?[..._(oe.value,p),p]:"","$$"];case"inlineMath":return H.originalText.slice(f(oe),F(oe));case"tableRow":case"listItem":default:throw new Error(`Unknown markdown type ${JSON.stringify(oe.type)}`)}}function U(xe,H,ke,oe){let Be=xe.getValue(),pt=Be.checked===null?"":Be.checked?"[x] ":"[ ] ";return[pt,_e(xe,H,ke,{processor:(ut,Le)=>{if(Le===0&&ut.getValue().type!=="list")return k(" ".repeat(pt.length),ke());let v=" ".repeat(Rt(H.tabWidth-oe.length,0,3));return[v,k(v,ke())]}})]}function R(xe,H){let ke=oe();return xe+" ".repeat(ke>=4?0:ke);function oe(){let Be=xe.length%H.tabWidth;return Be===0?0:H.tabWidth-Be}}function pe(xe,H){return be(xe,H,ke=>ke.ordered===xe.ordered)}function be(xe,H,ke){let oe=-1;for(let Be of H.children)if(Be.type===xe.type&&ke(Be)?oe++:oe=-1,Be===xe)return oe}function fe(xe,H){let ke=Array.isArray(H)?H:[H],oe=-1,Be;for(;Be=xe.getParentNode(++oe);)if(ke.includes(Be.type))return oe;return-1}function Ie(xe,H){let ke=fe(xe,H);return ke===-1?null:xe.getParentNode(ke)}function X(xe,H,ke){if(ke.proseWrap==="preserve"&&H===` +`)return p;let oe=ke.proseWrap==="always"&&!Ie(xe,te);return H!==""?oe?y:" ":oe?D:""}function se(xe,H,ke){let oe=xe.getValue(),Be=[],pt=xe.map(ze=>ze.map((tt,ht)=>{let Ke=J(ke(),H).formatted,pr=r(Ke);return Be[ht]=Math.max(Be[ht]||3,pr),{text:Ke,width:pr}},"children"),"children"),ut=v(!1);if(H.proseWrap!=="never")return[o,ut];let Le=v(!0);return[o,N(C(Le,ut))];function v(ze){let tt=[ye(pt[0],ze),K(ze)];return pt.length>1&&tt.push(c(x,pt.slice(1).map(ht=>ye(ht,ze)))),c(x,tt)}function K(ze){return`| ${Be.map((tt,ht)=>{let Ke=oe.align[ht],pr=Ke==="center"||Ke==="left"?":":"-",dt=Ke==="center"||Ke==="right"?":":"-",ar=ze?"-":"-".repeat(tt-2);return`${pr}${ar}${dt}`}).join(" | ")} |`}function ye(ze,tt){return`| ${ze.map((ht,Ke)=>{let{text:pr,width:dt}=ht;if(tt)return pr;let ar=Be[Ke]-dt,Dt=oe.align[Ke],Tt=0;Dt==="right"?Tt=ar:Dt==="center"&&(Tt=Math.floor(ar/2));let jt=ar-Tt;return`${" ".repeat(Tt)}${pr}${" ".repeat(jt)}`}).join(" | ")} |`}}function we(xe,H,ke){let oe=[],Be=null,{children:pt}=xe.getValue();for(let[ut,Le]of pt.entries())switch(Q(Le)){case"start":Be===null&&(Be={index:ut,offset:Le.position.end.offset});break;case"end":Be!==null&&(oe.push({start:Be,end:{index:ut,offset:Le.position.start.offset}}),Be=null);break}return _e(xe,H,ke,{processor:(ut,Le)=>{if(oe.length>0){let v=oe[0];if(Le===v.start.index)return[it(pt[v.start.index]),H.originalText.slice(v.start.offset,v.end.offset),it(pt[v.end.index])];if(v.start.index3&&arguments[3]!==void 0?arguments[3]:{},{postprocessor:Be}=oe,pt=oe.processor||(()=>ke()),ut=xe.getValue(),Le=[],v;return xe.each((K,ye)=>{let ze=K.getValue(),tt=pt(K,ye);if(tt!==!1){let ht={parts:Le,prevNode:v,parentNode:ut,options:H};me(ze,ht)&&(Le.push(p),v&&M.has(v.type)||(Ce(ze,ht)||Re(ze,ht))&&Le.push(p),Re(ze,ht)&&Le.push(p)),Le.push(tt),v=ze}},"children"),Be?Be(Le):Le}function it(xe){if(xe.type==="html")return xe.value;if(xe.type==="paragraph"&&Array.isArray(xe.children)&&xe.children.length===1&&xe.children[0].type==="esComment")return["{/* ",xe.children[0].value," */}"]}function ae(xe){let H=xe;for(;n(H.children);)H=a(H.children);return H}function Q(xe){let H;if(xe.type==="html")H=xe.value.match(/^$/);else{let ke;xe.type==="esComment"?ke=xe:xe.type==="paragraph"&&xe.children.length===1&&xe.children[0].type==="esComment"&&(ke=xe.children[0]),ke&&(H=ke.value.match(/^prettier-ignore(?:-(start|end))?$/))}return H?H[1]||"next":!1}function me(xe,H){let ke=H.parts.length===0,oe=I.includes(xe.type),Be=xe.type==="html"&&q.includes(H.parentNode.type);return!ke&&!oe&&!Be}function Ce(xe,H){var ke,oe,Be;let pt=(H.prevNode&&H.prevNode.type)===xe.type&&j.has(xe.type),ut=H.parentNode.type==="listItem"&&!H.parentNode.loose,Le=((ke=H.prevNode)===null||ke===void 0?void 0:ke.type)==="listItem"&&H.prevNode.loose,v=Q(H.prevNode)==="next",K=xe.type==="html"&&((oe=H.prevNode)===null||oe===void 0?void 0:oe.type)==="html"&&H.prevNode.position.end.line+1===xe.position.start.line,ye=xe.type==="html"&&H.parentNode.type==="listItem"&&((Be=H.prevNode)===null||Be===void 0?void 0:Be.type)==="paragraph"&&H.prevNode.position.end.line+1===xe.position.start.line;return Le||!(pt||ut||v||K||ye)}function Re(xe,H){let ke=H.prevNode&&H.prevNode.type==="list",oe=xe.type==="code"&&xe.isIndented;return ke&&oe}function Xe(xe){let H=Ie(xe,["linkReference","imageReference"]);return H&&(H.type!=="linkReference"||H.referenceType!=="full")}function Ye(xe){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],ke=[" ",...Array.isArray(H)?H:[H]];return new RegExp(ke.map(oe=>`\\${oe}`).join("|")).test(xe)?`<${xe}>`:xe}function Ct(xe,H){let ke=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!xe)return"";if(ke)return" "+Ct(xe,H,!1);if(xe=xe.replace(/\\(["')])/g,"$1"),xe.includes('"')&&xe.includes("'")&&!xe.includes(")"))return`(${xe})`;let oe=xe.split("'").length-1,Be=xe.split('"').length-1,pt=oe>Be?'"':Be>oe||H.singleQuote?"'":'"';return xe=xe.replace(/\\/,"\\\\"),xe=xe.replace(new RegExp(`(${pt})`,"g"),"\\$1"),`${pt}${xe}${pt}`}function Rt(xe,H,ke){return xeke?ke:xe}function It(xe){let H=Number(xe.getName());if(H===0)return!1;let ke=xe.getParentNode().children[H-1];return Q(ke)==="next"}function Et(xe){return`[${t(xe.label)}]`}function bt(xe){return`[^${xe.label}]`}l.exports={preprocess:i,print:De,embed:d,massageAstNode:h,hasPrettierIgnore:It,insertPragma:T}}}),Ao=$({"src/language-markdown/options.js"(u,l){ue();var t=On();l.exports={proseWrap:t.proseWrap,singleQuote:t.singleQuote}}}),vo=$({"src/language-markdown/parsers.js"(){ue()}}),zs=$({"node_modules/linguist-languages/data/Markdown.json"(u,l){l.exports={name:"Markdown",type:"prose",color:"#083fa1",aliases:["pandoc"],aceMode:"markdown",codemirrorMode:"gfm",codemirrorMimeType:"text/x-gfm",wrap:!0,extensions:[".md",".livemd",".markdown",".mdown",".mdwn",".mdx",".mkd",".mkdn",".mkdown",".ronn",".scd",".workbook"],filenames:["contents.lr"],tmScope:"source.gfm",languageId:222}}}),bo=$({"src/language-markdown/index.js"(u,l){ue();var t=vr(),a=Fo(),s=Ao(),e=vo(),r=[t(zs(),o=>({since:"1.8.0",parsers:["markdown"],vscodeLanguageIds:["markdown"],filenames:[...o.filenames,"README"],extensions:o.extensions.filter(c=>c!==".mdx")})),t(zs(),()=>({name:"MDX",since:"1.15.0",parsers:["mdx"],vscodeLanguageIds:["mdx"],filenames:[],extensions:[".mdx"]}))],n={mdast:a};l.exports={languages:r,options:s,printers:n,parsers:e}}}),So=$({"src/language-html/clean.js"(u,l){ue();var{isFrontMatterNode:t}=Gt(),a=new Set(["sourceSpan","startSourceSpan","endSourceSpan","nameSpan","valueSpan"]);function s(e,r){if(e.type==="text"||e.type==="comment"||t(e)||e.type==="yaml"||e.type==="toml")return null;e.type==="attribute"&&delete r.value,e.type==="docType"&&delete r.value}s.ignoredProperties=a,l.exports=s}}),xo=$({"src/language-html/constants.evaluate.js"(u,l){l.exports={CSS_DISPLAY_TAGS:{area:"none",base:"none",basefont:"none",datalist:"none",head:"none",link:"none",meta:"none",noembed:"none",noframes:"none",param:"block",rp:"none",script:"block",source:"block",style:"none",template:"inline",track:"block",title:"none",html:"block",body:"block",address:"block",blockquote:"block",center:"block",div:"block",figure:"block",figcaption:"block",footer:"block",form:"block",header:"block",hr:"block",legend:"block",listing:"block",main:"block",p:"block",plaintext:"block",pre:"block",xmp:"block",slot:"contents",ruby:"ruby",rt:"ruby-text",article:"block",aside:"block",h1:"block",h2:"block",h3:"block",h4:"block",h5:"block",h6:"block",hgroup:"block",nav:"block",section:"block",dir:"block",dd:"block",dl:"block",dt:"block",ol:"block",ul:"block",li:"list-item",table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell",fieldset:"block",button:"inline-block",details:"block",summary:"block",dialog:"block",meter:"inline-block",progress:"inline-block",object:"inline-block",video:"inline-block",audio:"inline-block",select:"inline-block",option:"block",optgroup:"block"},CSS_DISPLAY_DEFAULT:"inline",CSS_WHITE_SPACE_TAGS:{listing:"pre",plaintext:"pre",pre:"pre",xmp:"pre",nobr:"nowrap",table:"initial",textarea:"pre-wrap"},CSS_WHITE_SPACE_DEFAULT:"normal"}}}),To=$({"src/language-html/utils/is-unknown-namespace.js"(u,l){ue();function t(a){return a.type==="element"&&!a.hasExplicitNamespace&&!["html","svg"].includes(a.namespace)}l.exports=t}}),$n=$({"src/language-html/utils/index.js"(u,l){ue();var{inferParserByLanguage:t,isFrontMatterNode:a}=Gt(),{builders:{line:s,hardline:e,join:r},utils:{getDocParts:n,replaceTextEndOfLine:o}}=wt(),{CSS_DISPLAY_TAGS:c,CSS_DISPLAY_DEFAULT:y,CSS_WHITE_SPACE_TAGS:m,CSS_WHITE_SPACE_DEFAULT:g}=xo(),p=To(),D=new Set([" ",` +`,"\f","\r"," "]),C=v=>v.replace(/^[\t\n\f\r ]+/,""),w=v=>v.replace(/[\t\n\f\r ]+$/,""),k=v=>C(w(v)),A=v=>v.replace(/^[\t\f\r ]*\n/g,""),N=v=>A(w(v)),x=v=>v.split(/[\t\n\f\r ]+/),P=v=>v.match(/^[\t\n\f\r ]*/)[0],_=v=>{let[,K,ye,ze]=v.match(/^([\t\n\f\r ]*)(.*?)([\t\n\f\r ]*)$/s);return{leadingWhitespace:K,trailingWhitespace:ze,text:ye}},J=v=>/[\t\n\f\r ]/.test(v);function d(v,K){return!!(v.type==="ieConditionalComment"&&v.lastChild&&!v.lastChild.isSelfClosing&&!v.lastChild.endSourceSpan||v.type==="ieConditionalComment"&&!v.complete||Ce(v)&&v.children.some(ye=>ye.type!=="text"&&ye.type!=="interpolation")||oe(v,K)&&!i(v)&&v.type!=="interpolation")}function T(v){return v.type==="attribute"||!v.parent||!v.prev?!1:f(v.prev)}function f(v){return v.type==="comment"&&v.value.trim()==="prettier-ignore"}function F(v){return v.type==="text"||v.type==="comment"}function i(v){return v.type==="element"&&(v.fullName==="script"||v.fullName==="style"||v.fullName==="svg:style"||p(v)&&(v.name==="script"||v.name==="style"))}function h(v){return v.children&&!i(v)}function E(v){return i(v)||v.type==="interpolation"||b(v)}function b(v){return Ct(v).startsWith("pre")}function S(v,K){let ye=ze();if(ye&&!v.prev&&v.parent&&v.parent.tagDefinition&&v.parent.tagDefinition.ignoreFirstLf)return v.type==="interpolation";return ye;function ze(){return a(v)?!1:(v.type==="text"||v.type==="interpolation")&&v.prev&&(v.prev.type==="text"||v.prev.type==="interpolation")?!0:!v.parent||v.parent.cssDisplay==="none"?!1:Ce(v.parent)?!0:!(!v.prev&&(v.parent.type==="root"||Ce(v)&&v.parent||i(v.parent)||H(v.parent,K)||!_e(v.parent.cssDisplay))||v.prev&&!Q(v.prev.cssDisplay))}}function B(v,K){return a(v)?!1:(v.type==="text"||v.type==="interpolation")&&v.next&&(v.next.type==="text"||v.next.type==="interpolation")?!0:!v.parent||v.parent.cssDisplay==="none"?!1:Ce(v.parent)?!0:!(!v.next&&(v.parent.type==="root"||Ce(v)&&v.parent||i(v.parent)||H(v.parent,K)||!it(v.parent.cssDisplay))||v.next&&!ae(v.next.cssDisplay))}function I(v){return me(v.cssDisplay)&&!i(v)}function q(v){return a(v)||v.next&&v.sourceSpan.end&&v.sourceSpan.end.line+10&&(["body","script","style"].includes(v.name)||v.children.some(K=>fe(K)))||v.firstChild&&v.firstChild===v.lastChild&&v.firstChild.type!=="text"&&U(v.firstChild)&&(!v.lastChild.isTrailingSpaceSensitive||R(v.lastChild))}function M(v){return v.type==="element"&&v.children.length>0&&(["html","head","ul","ol","select"].includes(v.name)||v.cssDisplay.startsWith("table")&&v.cssDisplay!=="table-cell")}function te(v){return pe(v)||v.prev&&j(v.prev)||De(v)}function j(v){return pe(v)||v.type==="element"&&v.fullName==="br"||De(v)}function De(v){return U(v)&&R(v)}function U(v){return v.hasLeadingSpaces&&(v.prev?v.prev.sourceSpan.end.linev.sourceSpan.end.line:v.parent.type==="root"||v.parent.endSourceSpan&&v.parent.endSourceSpan.start.line>v.sourceSpan.end.line)}function pe(v){switch(v.type){case"ieConditionalComment":case"comment":case"directive":return!0;case"element":return["script","select"].includes(v.name)}return!1}function be(v){return v.lastChild?be(v.lastChild):v}function fe(v){return v.children&&v.children.some(K=>K.type!=="text")}function Ie(v){let{type:K,lang:ye}=v.attrMap;if(K==="module"||K==="text/javascript"||K==="text/babel"||K==="application/javascript"||ye==="jsx")return"babel";if(K==="application/x-typescript"||ye==="ts"||ye==="tsx")return"typescript";if(K==="text/markdown")return"markdown";if(K==="text/html")return"html";if(K&&(K.endsWith("json")||K.endsWith("importmap"))||K==="speculationrules")return"json";if(K==="text/x-handlebars-template")return"glimmer"}function X(v,K){let{lang:ye}=v.attrMap;if(!ye||ye==="postcss"||ye==="css")return"css";if(ye==="scss")return"scss";if(ye==="less")return"less";if(ye==="stylus")return t("stylus",K)}function se(v,K){if(v.name==="script"&&!v.attrMap.src)return!v.attrMap.lang&&!v.attrMap.type?"babel":Ie(v);if(v.name==="style")return X(v,K);if(K&&oe(v,K))return Ie(v)||!("src"in v.attrMap)&&t(v.attrMap.lang,K)}function we(v){return v==="block"||v==="list-item"||v.startsWith("table")}function _e(v){return!we(v)&&v!=="inline-block"}function it(v){return!we(v)&&v!=="inline-block"}function ae(v){return!we(v)}function Q(v){return!we(v)}function me(v){return!we(v)&&v!=="inline-block"}function Ce(v){return Ct(v).startsWith("pre")}function Re(v,K){let ye=0;for(let ze=v.stack.length-1;ze>=0;ze--){let tt=v.stack[ze];tt&&typeof tt=="object"&&!Array.isArray(tt)&&K(tt)&&ye++}return ye}function Xe(v,K){let ye=v;for(;ye;){if(K(ye))return!0;ye=ye.parent}return!1}function Ye(v,K){if(v.prev&&v.prev.type==="comment"){let ze=v.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/);if(ze)return ze[1]}let ye=!1;if(v.type==="element"&&v.namespace==="svg")if(Xe(v,ze=>ze.fullName==="svg:foreignObject"))ye=!0;else return v.name==="svg"?"inline-block":"block";switch(K.htmlWhitespaceSensitivity){case"strict":return"inline";case"ignore":return"block";default:return K.parser==="vue"&&v.parent&&v.parent.type==="root"?"block":v.type==="element"&&(!v.namespace||ye||p(v))&&c[v.name]||y}}function Ct(v){return v.type==="element"&&(!v.namespace||p(v))&&m[v.name]||g}function Rt(v){let K=Number.POSITIVE_INFINITY;for(let ye of v.split(` +`)){if(ye.length===0)continue;if(!D.has(ye[0]))return 0;let ze=P(ye).length;ye.length!==ze&&ze1&&arguments[1]!==void 0?arguments[1]:Rt(v);return K===0?v:v.split(` +`).map(ye=>ye.slice(K)).join(` +`)}function Et(v,K){let ye=0;for(let ze=0;ze1&&arguments[1]!==void 0?arguments[1]:v.value;return v.parent.isWhitespaceSensitive?v.parent.isIndentationSensitive?o(K):o(It(N(K)),e):n(r(s,x(K)))}function Le(v,K){return ke(v,K)&&v.name==="script"}l.exports={htmlTrim:k,htmlTrimPreserveIndentation:N,hasHtmlWhitespace:J,getLeadingAndTrailingHtmlWhitespace:_,canHaveInterpolation:h,countChars:Et,countParents:Re,dedentString:It,forceBreakChildren:M,forceBreakContent:G,forceNextEmptyLine:q,getLastDescendant:be,getNodeCssStyleDisplay:Ye,getNodeCssStyleWhiteSpace:Ct,hasPrettierIgnore:T,inferScriptParser:se,isVueCustomBlock:H,isVueNonHtmlBlock:oe,isVueScriptTag:Le,isVueSlotAttribute:Be,isVueSfcBindingsAttribute:pt,isVueSfcBlock:ke,isDanglingSpaceSensitiveNode:I,isIndentationSensitiveNode:b,isLeadingSpaceSensitiveNode:S,isPreLikeNode:Ce,isScriptLikeTag:i,isTextLikeNode:F,isTrailingSpaceSensitiveNode:B,isWhitespaceSensitiveNode:E,isUnknownNamespace:p,preferHardlineAsLeadingSpaces:te,preferHardlineAsTrailingSpaces:j,shouldPreserveContent:d,unescapeQuoteEntities:bt,getTextValueParts:ut}}}),Bo=$({"node_modules/angular-html-parser/lib/compiler/src/chars.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0}),u.$EOF=0,u.$BSPACE=8,u.$TAB=9,u.$LF=10,u.$VTAB=11,u.$FF=12,u.$CR=13,u.$SPACE=32,u.$BANG=33,u.$DQ=34,u.$HASH=35,u.$$=36,u.$PERCENT=37,u.$AMPERSAND=38,u.$SQ=39,u.$LPAREN=40,u.$RPAREN=41,u.$STAR=42,u.$PLUS=43,u.$COMMA=44,u.$MINUS=45,u.$PERIOD=46,u.$SLASH=47,u.$COLON=58,u.$SEMICOLON=59,u.$LT=60,u.$EQ=61,u.$GT=62,u.$QUESTION=63,u.$0=48,u.$7=55,u.$9=57,u.$A=65,u.$E=69,u.$F=70,u.$X=88,u.$Z=90,u.$LBRACKET=91,u.$BACKSLASH=92,u.$RBRACKET=93,u.$CARET=94,u.$_=95,u.$a=97,u.$b=98,u.$e=101,u.$f=102,u.$n=110,u.$r=114,u.$t=116,u.$u=117,u.$v=118,u.$x=120,u.$z=122,u.$LBRACE=123,u.$BAR=124,u.$RBRACE=125,u.$NBSP=160,u.$PIPE=124,u.$TILDA=126,u.$AT=64,u.$BT=96;function l(n){return n>=u.$TAB&&n<=u.$SPACE||n==u.$NBSP}u.isWhitespace=l;function t(n){return u.$0<=n&&n<=u.$9}u.isDigit=t;function a(n){return n>=u.$a&&n<=u.$z||n>=u.$A&&n<=u.$Z}u.isAsciiLetter=a;function s(n){return n>=u.$a&&n<=u.$f||n>=u.$A&&n<=u.$F||t(n)}u.isAsciiHexDigit=s;function e(n){return n===u.$LF||n===u.$CR}u.isNewLine=e;function r(n){return u.$0<=n&&n<=u.$7}u.isOctalDigit=r}}),wo=$({"node_modules/angular-html-parser/lib/compiler/src/aot/static_symbol.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=class{constructor(a,s,e){this.filePath=a,this.name=s,this.members=e}assertNoMembers(){if(this.members.length)throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`)}};u.StaticSymbol=l;var t=class{constructor(){this.cache=new Map}get(a,s,e){e=e||[];let r=e.length?`.${e.join(".")}`:"",n=`"${a}".${s}${r}`,o=this.cache.get(n);return o||(o=new l(a,s,e),this.cache.set(n,o)),o}};u.StaticSymbolCache=t}}),No=$({"node_modules/angular-html-parser/lib/compiler/src/util.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=/-+([a-z0-9])/g;function t(i){return i.replace(l,function(){for(var h=arguments.length,E=new Array(h),b=0;br(E,this,h))}visitStringMap(i,h){let E={};return Object.keys(i).forEach(b=>{E[b]=r(i[b],this,h)}),E}visitPrimitive(i,h){return i}visitOther(i,h){return i}};u.ValueTransformer=c,u.SyncAsync={assertSync:i=>{if(_(i))throw new Error("Illegal state: value cannot be a promise");return i},then:(i,h)=>_(i)?i.then(h):h(i),all:i=>i.some(_)?Promise.all(i):i};function y(i){throw new Error(`Internal Error: ${i}`)}u.error=y;function m(i,h){let E=Error(i);return E[g]=!0,h&&(E[p]=h),E}u.syntaxError=m;var g="ngSyntaxError",p="ngParseErrors";function D(i){return i[g]}u.isSyntaxError=D;function C(i){return i[p]||[]}u.getParseErrors=C;function w(i){return i.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}u.escapeRegExp=w;var k=Object.getPrototypeOf({});function A(i){return typeof i=="object"&&i!==null&&Object.getPrototypeOf(i)===k}function N(i){let h="";for(let E=0;E=55296&&b<=56319&&i.length>E+1){let S=i.charCodeAt(E+1);S>=56320&&S<=57343&&(E++,b=(b-55296<<10)+S-56320+65536)}b<=127?h+=String.fromCharCode(b):b<=2047?h+=String.fromCharCode(b>>6&31|192,b&63|128):b<=65535?h+=String.fromCharCode(b>>12|224,b>>6&63|128,b&63|128):b<=2097151&&(h+=String.fromCharCode(b>>18&7|240,b>>12&63|128,b>>6&63|128,b&63|128))}return h}u.utf8Encode=N;function x(i){if(typeof i=="string")return i;if(i instanceof Array)return"["+i.map(x).join(", ")+"]";if(i==null)return""+i;if(i.overriddenName)return`${i.overriddenName}`;if(i.name)return`${i.name}`;if(!i.toString)return"object";let h=i.toString();if(h==null)return""+h;let E=h.indexOf(` +`);return E===-1?h:h.substring(0,E)}u.stringify=x;function P(i){return typeof i=="function"&&i.hasOwnProperty("__forward_ref__")?i():i}u.resolveForwardRef=P;function _(i){return!!i&&typeof i.then=="function"}u.isPromise=_;var J=class{constructor(i){this.full=i;let h=i.split(".");this.major=h[0],this.minor=h[1],this.patch=h.slice(2).join(".")}};u.Version=J;var d=typeof window<"u"&&window,T=typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self,f=typeof globalThis<"u"&&globalThis,F=f||d||T;u.global=F}}),_o=$({"node_modules/angular-html-parser/lib/compiler/src/compile_metadata.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=wo(),t=No(),a=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function s(E){return E.replace(/\W/g,"_")}u.sanitizeIdentifier=s;var e=0;function r(E){if(!E||!E.reference)return null;let b=E.reference;if(b instanceof l.StaticSymbol)return b.name;if(b.__anonymousType)return b.__anonymousType;let S=t.stringify(b);return S.indexOf("(")>=0?(S=`anonymous_${e++}`,b.__anonymousType=S):S=s(S),S}u.identifierName=r;function n(E){let b=E.reference;return b instanceof l.StaticSymbol?b.filePath:`./${t.stringify(b)}`}u.identifierModuleUrl=n;function o(E,b){return`View_${r({reference:E})}_${b}`}u.viewClassName=o;function c(E){return`RenderType_${r({reference:E})}`}u.rendererTypeName=c;function y(E){return`HostView_${r({reference:E})}`}u.hostViewClassName=y;function m(E){return`${r({reference:E})}NgFactory`}u.componentFactoryName=m;var g;(function(E){E[E.Pipe=0]="Pipe",E[E.Directive=1]="Directive",E[E.NgModule=2]="NgModule",E[E.Injectable=3]="Injectable"})(g=u.CompileSummaryKind||(u.CompileSummaryKind={}));function p(E){return E.value!=null?s(E.value):r(E.identifier)}u.tokenName=p;function D(E){return E.identifier!=null?E.identifier.reference:E.value}u.tokenReference=D;var C=class{constructor(){let{moduleUrl:E,styles:b,styleUrls:S}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.moduleUrl=E||null,this.styles=_(b),this.styleUrls=_(S)}};u.CompileStylesheetMetadata=C;var w=class{constructor(E){let{encapsulation:b,template:S,templateUrl:B,htmlAst:I,styles:q,styleUrls:G,externalStylesheets:M,animations:te,ngContentSelectors:j,interpolation:De,isInline:U,preserveWhitespaces:R}=E;if(this.encapsulation=b,this.template=S,this.templateUrl=B,this.htmlAst=I,this.styles=_(q),this.styleUrls=_(G),this.externalStylesheets=_(M),this.animations=te?d(te):[],this.ngContentSelectors=j||[],De&&De.length!=2)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=De,this.isInline=U,this.preserveWhitespaces=R}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};u.CompileTemplateMetadata=w;var k=class{static create(E){let{isHost:b,type:S,isComponent:B,selector:I,exportAs:q,changeDetection:G,inputs:M,outputs:te,host:j,providers:De,viewProviders:U,queries:R,guards:pe,viewQueries:be,entryComponents:fe,template:Ie,componentViewType:X,rendererType:se,componentFactory:we}=E,_e={},it={},ae={};j!=null&&Object.keys(j).forEach(Ce=>{let Re=j[Ce],Xe=Ce.match(a);Xe===null?ae[Ce]=Re:Xe[1]!=null?it[Xe[1]]=Re:Xe[2]!=null&&(_e[Xe[2]]=Re)});let Q={};M==null||M.forEach(Ce=>{let Re=t.splitAtColon(Ce,[Ce,Ce]);Q[Re[0]]=Re[1]});let me={};return te==null||te.forEach(Ce=>{let Re=t.splitAtColon(Ce,[Ce,Ce]);me[Re[0]]=Re[1]}),new k({isHost:b,type:S,isComponent:!!B,selector:I,exportAs:q,changeDetection:G,inputs:Q,outputs:me,hostListeners:_e,hostProperties:it,hostAttributes:ae,providers:De,viewProviders:U,queries:R,guards:pe,viewQueries:be,entryComponents:fe,template:Ie,componentViewType:X,rendererType:se,componentFactory:we})}constructor(E){let{isHost:b,type:S,isComponent:B,selector:I,exportAs:q,changeDetection:G,inputs:M,outputs:te,hostListeners:j,hostProperties:De,hostAttributes:U,providers:R,viewProviders:pe,queries:be,guards:fe,viewQueries:Ie,entryComponents:X,template:se,componentViewType:we,rendererType:_e,componentFactory:it}=E;this.isHost=!!b,this.type=S,this.isComponent=B,this.selector=I,this.exportAs=q,this.changeDetection=G,this.inputs=M,this.outputs=te,this.hostListeners=j,this.hostProperties=De,this.hostAttributes=U,this.providers=_(R),this.viewProviders=_(pe),this.queries=_(be),this.guards=fe,this.viewQueries=_(Ie),this.entryComponents=_(X),this.template=se,this.componentViewType=we,this.rendererType=_e,this.componentFactory=it}toSummary(){return{summaryKind:g.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}};u.CompileDirectiveMetadata=k;var A=class{constructor(E){let{type:b,name:S,pure:B}=E;this.type=b,this.name=S,this.pure=!!B}toSummary(){return{summaryKind:g.Pipe,type:this.type,name:this.name,pure:this.pure}}};u.CompilePipeMetadata=A;var N=class{};u.CompileShallowModuleMetadata=N;var x=class{constructor(E){let{type:b,providers:S,declaredDirectives:B,exportedDirectives:I,declaredPipes:q,exportedPipes:G,entryComponents:M,bootstrapComponents:te,importedModules:j,exportedModules:De,schemas:U,transitiveModule:R,id:pe}=E;this.type=b||null,this.declaredDirectives=_(B),this.exportedDirectives=_(I),this.declaredPipes=_(q),this.exportedPipes=_(G),this.providers=_(S),this.entryComponents=_(M),this.bootstrapComponents=_(te),this.importedModules=_(j),this.exportedModules=_(De),this.schemas=_(U),this.id=pe||null,this.transitiveModule=R||null}toSummary(){let E=this.transitiveModule;return{summaryKind:g.NgModule,type:this.type,entryComponents:E.entryComponents,providers:E.providers,modules:E.modules,exportedDirectives:E.exportedDirectives,exportedPipes:E.exportedPipes}}};u.CompileNgModuleMetadata=x;var P=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(E,b){this.providers.push({provider:E,module:b})}addDirective(E){this.directivesSet.has(E.reference)||(this.directivesSet.add(E.reference),this.directives.push(E))}addExportedDirective(E){this.exportedDirectivesSet.has(E.reference)||(this.exportedDirectivesSet.add(E.reference),this.exportedDirectives.push(E))}addPipe(E){this.pipesSet.has(E.reference)||(this.pipesSet.add(E.reference),this.pipes.push(E))}addExportedPipe(E){this.exportedPipesSet.has(E.reference)||(this.exportedPipesSet.add(E.reference),this.exportedPipes.push(E))}addModule(E){this.modulesSet.has(E.reference)||(this.modulesSet.add(E.reference),this.modules.push(E))}addEntryComponent(E){this.entryComponentsSet.has(E.componentType)||(this.entryComponentsSet.add(E.componentType),this.entryComponents.push(E))}};u.TransitiveCompileNgModuleMetadata=P;function _(E){return E||[]}var J=class{constructor(E,b){let{useClass:S,useValue:B,useExisting:I,useFactory:q,deps:G,multi:M}=b;this.token=E,this.useClass=S||null,this.useValue=B,this.useExisting=I,this.useFactory=q||null,this.dependencies=G||null,this.multi=!!M}};u.ProviderMeta=J;function d(E){return E.reduce((b,S)=>{let B=Array.isArray(S)?d(S):S;return b.concat(B)},[])}u.flatten=d;function T(E){return E.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}function f(E,b,S){let B;return S.isInline?b.type.reference instanceof l.StaticSymbol?B=`${b.type.reference.filePath}.${b.type.reference.name}.html`:B=`${r(E)}/${r(b.type)}.html`:B=S.templateUrl,b.type.reference instanceof l.StaticSymbol?B:T(B)}u.templateSourceUrl=f;function F(E,b){let S=E.moduleUrl.split(/\/\\/g),B=S[S.length-1];return T(`css/${b}${B}.ngstyle.js`)}u.sharedStylesheetJitUrl=F;function i(E){return T(`${r(E.type)}/module.ngfactory.js`)}u.ngModuleJitUrl=i;function h(E,b){return T(`${r(E)}/${r(b.type)}.ngfactory.js`)}u.templateJitUrl=h}}),ko=$({"node_modules/angular-html-parser/lib/compiler/src/parse_util.js"(u){ue(),Object.defineProperty(u,"__esModule",{value:!0});var l=Bo(),t=_o(),a=class{constructor(y,m,g,p){this.file=y,this.offset=m,this.line=g,this.col=p}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(y){let m=this.file.content,g=m.length,p=this.offset,D=this.line,C=this.col;for(;p>0&&y<0;)if(p--,y++,m.charCodeAt(p)==l.$LF){D--;let w=m.substr(0,p-1).lastIndexOf(String.fromCharCode(l.$LF));C=w>0?p-w:p}else C--;for(;p0;){let w=m.charCodeAt(p);p++,y--,w==l.$LF?(D++,C=0):C++}return new a(this.file,p,D,C)}getContext(y,m){let g=this.file.content,p=this.offset;if(p!=null){p>g.length-1&&(p=g.length-1);let D=p,C=0,w=0;for(;C0&&(p--,C++,!(g[p]==` +`&&++w==m)););for(C=0,w=0;C2&&arguments[2]!==void 0?arguments[2]:null;this.start=y,this.end=m,this.details=g}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}};u.ParseSourceSpan=e,u.EMPTY_PARSE_LOCATION=new a(new s("",""),0,0,0),u.EMPTY_SOURCE_SPAN=new e(u.EMPTY_PARSE_LOCATION,u.EMPTY_PARSE_LOCATION);var r;(function(y){y[y.WARNING=0]="WARNING",y[y.ERROR=1]="ERROR"})(r=u.ParseErrorLevel||(u.ParseErrorLevel={}));var n=class{constructor(y,m){let g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r.ERROR;this.span=y,this.msg=m,this.level=g}contextualMessage(){let y=this.span.start.getContext(100,3);return y?`${this.msg} ("${y.before}[${r[this.level]} ->]${y.after}")`:this.msg}toString(){let y=this.span.details?`, ${this.span.details}`:"";return`${this.contextualMessage()}: ${this.span.start}${y}`}};u.ParseError=n;function o(y,m){let g=t.identifierModuleUrl(m),p=g!=null?`in ${y} ${t.identifierName(m)} in ${g}`:`in ${y} ${t.identifierName(m)}`,D=new s("",p);return new e(new a(D,-1,-1,-1),new a(D,-1,-1,-1))}u.typeSourceSpan=o;function c(y,m,g){let p=`in ${y} ${m} in ${g}`,D=new s("",p);return new e(new a(D,-1,-1,-1),new a(D,-1,-1,-1))}u.r3JitTypeSourceSpan=c}}),Po=$({"src/language-html/print-preprocess.js"(u,l){ue();var{ParseSourceSpan:t}=ko(),{htmlTrim:a,getLeadingAndTrailingHtmlWhitespace:s,hasHtmlWhitespace:e,canHaveInterpolation:r,getNodeCssStyleDisplay:n,isDanglingSpaceSensitiveNode:o,isIndentationSensitiveNode:c,isLeadingSpaceSensitiveNode:y,isTrailingSpaceSensitiveNode:m,isWhitespaceSensitiveNode:g,isVueScriptTag:p}=$n(),D=[w,k,N,P,_,T,J,d,f,x,F];function C(i,h){for(let E of D)E(i,h);return i}function w(i){i.walk(h=>{if(h.type==="element"&&h.tagDefinition.ignoreFirstLf&&h.children.length>0&&h.children[0].type==="text"&&h.children[0].value[0]===` +`){let E=h.children[0];E.value.length===1?h.removeChild(E):E.value=E.value.slice(1)}})}function k(i){let h=E=>E.type==="element"&&E.prev&&E.prev.type==="ieConditionalStartComment"&&E.prev.sourceSpan.end.offset===E.startSourceSpan.start.offset&&E.firstChild&&E.firstChild.type==="ieConditionalEndComment"&&E.firstChild.sourceSpan.start.offset===E.startSourceSpan.end.offset;i.walk(E=>{if(E.children)for(let b=0;b{if(b.children)for(let S=0;Sh.type==="cdata",h=>``)}function x(i){let h=E=>E.type==="element"&&E.attrs.length===0&&E.children.length===1&&E.firstChild.type==="text"&&!e(E.children[0].value)&&!E.firstChild.hasLeadingSpaces&&!E.firstChild.hasTrailingSpaces&&E.isLeadingSpaceSensitive&&!E.hasLeadingSpaces&&E.isTrailingSpaceSensitive&&!E.hasTrailingSpaces&&E.prev&&E.prev.type==="text"&&E.next&&E.next.type==="text";i.walk(E=>{if(E.children)for(let b=0;b`+S.firstChild.value+``+I.value,B.sourceSpan=new t(B.sourceSpan.start,I.sourceSpan.end),B.isTrailingSpaceSensitive=I.isTrailingSpaceSensitive,B.hasTrailingSpaces=I.hasTrailingSpaces,E.removeChild(S),b--,E.removeChild(I)}})}function P(i,h){if(h.parser==="html")return;let E=/{{(.+?)}}/s;i.walk(b=>{if(r(b))for(let S of b.children){if(S.type!=="text")continue;let B=S.sourceSpan.start,I=null,q=S.value.split(E);for(let G=0;G0&&b.insertChildBefore(S,{type:"text",value:M,sourceSpan:new t(B,I)});continue}I=B.moveBy(M.length+4),b.insertChildBefore(S,{type:"interpolation",sourceSpan:new t(B,I),children:M.length===0?[]:[{type:"text",value:M,sourceSpan:new t(B.moveBy(2),I.moveBy(-2))}]})}b.removeChild(S)}})}function _(i){i.walk(h=>{if(!h.children)return;if(h.children.length===0||h.children.length===1&&h.children[0].type==="text"&&a(h.children[0].value).length===0){h.hasDanglingSpaces=h.children.length>0,h.children=[];return}let E=g(h),b=c(h);if(!E)for(let S=0;S{h.isSelfClosing=!h.children||h.type==="element"&&(h.tagDefinition.isVoid||h.startSourceSpan===h.endSourceSpan)})}function d(i,h){i.walk(E=>{E.type==="element"&&(E.hasHtmComponentClosingTag=E.endSourceSpan&&/^<\s*\/\s*\/\s*>$/.test(h.originalText.slice(E.endSourceSpan.start.offset,E.endSourceSpan.end.offset)))})}function T(i,h){i.walk(E=>{E.cssDisplay=n(E,h)})}function f(i,h){i.walk(E=>{let{children:b}=E;if(b){if(b.length===0){E.isDanglingSpaceSensitive=o(E);return}for(let S of b)S.isLeadingSpaceSensitive=y(S,h),S.isTrailingSpaceSensitive=m(S,h);for(let S=0;Sp(S,h));if(!E)return;let{lang:b}=E.attrMap;(b==="ts"||b==="typescript")&&(h.__should_parse_vue_template_with_ts=!0)}}l.exports=C}}),Io=$({"src/language-html/pragma.js"(u,l){ue();function t(s){return/^\s*/.test(s)}function a(s){return` + +`+s.replace(/^\s*\n/,"")}l.exports={hasPragma:t,insertPragma:a}}}),ds=$({"src/language-html/loc.js"(u,l){ue();function t(s){return s.sourceSpan.start.offset}function a(s){return s.sourceSpan.end.offset}l.exports={locStart:t,locEnd:a}}}),hu=$({"src/language-html/print/tag.js"(u,l){ue();var t=lr(),{isNonEmptyArray:a}=Gt(),{builders:{indent:s,join:e,line:r,softline:n,hardline:o},utils:{replaceTextEndOfLine:c}}=wt(),{locStart:y,locEnd:m}=ds(),{isTextLikeNode:g,getLastDescendant:p,isPreLikeNode:D,hasPrettierIgnore:C,shouldPreserveContent:w,isVueSfcBlock:k}=$n();function A(j,De){return[j.isSelfClosing?"":N(j,De),x(j,De)]}function N(j,De){return j.lastChild&&i(j.lastChild)?"":[P(j,De),J(j,De)]}function x(j,De){return(j.next?f(j.next):F(j.parent))?"":[d(j,De),_(j,De)]}function P(j,De){return F(j)?d(j.lastChild,De):""}function _(j,De){return i(j)?J(j.parent,De):h(j)?M(j.next):""}function J(j,De){if(t(!j.isSelfClosing),T(j,De))return"";switch(j.type){case"ieConditionalComment":return"";case"ieConditionalStartComment":return"]>";case"interpolation":return"}}";case"element":if(j.isSelfClosing)return"/>";default:return">"}}function T(j,De){return!j.isSelfClosing&&!j.endSourceSpan&&(C(j)||w(j.parent,De))}function f(j){return j.prev&&j.prev.type!=="docType"&&!g(j.prev)&&j.isLeadingSpaceSensitive&&!j.hasLeadingSpaces}function F(j){return j.lastChild&&j.lastChild.isTrailingSpaceSensitive&&!j.lastChild.hasTrailingSpaces&&!g(p(j.lastChild))&&!D(j)}function i(j){return!j.next&&!j.hasTrailingSpaces&&j.isTrailingSpaceSensitive&&g(p(j))}function h(j){return j.next&&!g(j.next)&&g(j)&&j.isTrailingSpaceSensitive&&!j.hasTrailingSpaces}function E(j){let De=j.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/s);return De?De[1]?De[1].split(/\s+/):!0:!1}function b(j){return!j.prev&&j.isLeadingSpaceSensitive&&!j.hasLeadingSpaces}function S(j,De,U){let R=j.getValue();if(!a(R.attrs))return R.isSelfClosing?" ":"";let pe=R.prev&&R.prev.type==="comment"&&E(R.prev.value),be=typeof pe=="boolean"?()=>pe:Array.isArray(pe)?we=>pe.includes(we.rawName):()=>!1,fe=j.map(we=>{let _e=we.getValue();return be(_e)?c(De.originalText.slice(y(_e),m(_e))):U()},"attrs"),Ie=R.type==="element"&&R.fullName==="script"&&R.attrs.length===1&&R.attrs[0].fullName==="src"&&R.children.length===0,X=De.singleAttributePerLine&&R.attrs.length>1&&!k(R,De)?o:r,se=[s([Ie?" ":r,e(X,fe)])];return R.firstChild&&b(R.firstChild)||R.isSelfClosing&&F(R.parent)||Ie?se.push(R.isSelfClosing?" ":""):se.push(De.bracketSameLine?R.isSelfClosing?" ":"":R.isSelfClosing?r:n),se}function B(j){return j.firstChild&&b(j.firstChild)?"":te(j)}function I(j,De,U){let R=j.getValue();return[q(R,De),S(j,De,U),R.isSelfClosing?"":B(R)]}function q(j,De){return j.prev&&h(j.prev)?"":[G(j,De),M(j)]}function G(j,De){return b(j)?te(j.parent):f(j)?d(j.prev,De):""}function M(j){switch(j.type){case"ieConditionalComment":case"ieConditionalStartComment":return`<${j.rawName}`;default:return`<${j.rawName}`}}function te(j){switch(t(!j.isSelfClosing),j.type){case"ieConditionalComment":return"]>";case"element":if(j.condition)return">";default:return">"}}l.exports={printClosingTag:A,printClosingTagStart:N,printClosingTagStartMarker:J,printClosingTagEndMarker:d,printClosingTagSuffix:_,printClosingTagEnd:x,needsToBorrowLastChildClosingTagEndMarker:F,needsToBorrowParentClosingTagStartMarker:i,needsToBorrowPrevClosingTagEndMarker:f,printOpeningTag:I,printOpeningTagStart:q,printOpeningTagPrefix:G,printOpeningTagStartMarker:M,printOpeningTagEndMarker:te,needsToBorrowNextOpeningTagStartMarker:h,needsToBorrowParentOpeningTagEndMarker:b}}}),jo=$({"node_modules/parse-srcset/src/parse-srcset.js"(u,l){ue(),function(t,a){typeof define=="function"&&define.amd?define([],a):typeof l=="object"&&l.exports?l.exports=a():t.parseSrcset=a()}(u,function(){return function(t,a){var s=a&&a.logger||console;function e(J){return J===" "||J===" "||J===` +`||J==="\f"||J==="\r"}function r(J){var d,T=J.exec(t.substring(N));if(T)return d=T[0],N+=d.length,d}for(var n=t.length,o=/^[ \t\n\r\u000c]+/,c=/^[, \t\n\r\u000c]+/,y=/^[^ \t\n\r\u000c]+/,m=/[,]+$/,g=/^\d+$/,p=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,D,C,w,k,A,N=0,x=[];;){if(r(c),N>=n)return x;D=r(y),C=[],D.slice(-1)===","?(D=D.replace(m,""),_()):P()}function P(){for(r(o),w="",k="in descriptor";;){if(A=t.charAt(N),k==="in descriptor")if(e(A))w&&(C.push(w),w="",k="after descriptor");else if(A===","){N+=1,w&&C.push(w),_();return}else if(A==="(")w=w+A,k="in parens";else if(A===""){w&&C.push(w),_();return}else w=w+A;else if(k==="in parens")if(A===")")w=w+A,k="in descriptor";else if(A===""){C.push(w),_();return}else w=w+A;else if(k==="after descriptor"&&!e(A))if(A===""){_();return}else k="in descriptor",N-=1;N+=1}}function _(){var J=!1,d,T,f,F,i={},h,E,b,S,B;for(F=0;F{let{w:_}=P;return _}),m=c.some(P=>{let{h:_}=P;return _}),g=c.some(P=>{let{d:_}=P;return _});if(y+m+g>1)throw new Error("Mixed descriptor in srcset is not supported");let p=y?"w":m?"h":"d",D=y?"w":m?"h":"x",C=P=>Math.max(...P),w=c.map(P=>P.url),k=C(w.map(P=>P.length)),A=c.map(P=>P[p]).map(P=>P?P.toString():""),N=A.map(P=>{let _=P.indexOf(".");return _===-1?P.length:_}),x=C(N);return s([",",e],w.map((P,_)=>{let J=[P],d=A[_];if(d){let T=k-P.length+1,f=x-N[_],F=" ".repeat(T+f);J.push(a(F," "),d+D)}return J}))}function n(o){return o.trim().split(/\s+/).join(" ")}l.exports={printImgSrcset:r,printClassNames:n}}}),Oo=$({"src/language-html/syntax-vue.js"(u,l){ue();var{builders:{group:t}}=wt();function a(n,o){let{left:c,operator:y,right:m}=s(n);return[t(o(`function _(${c}) {}`,{parser:"babel",__isVueForBindingLeft:!0}))," ",y," ",o(m,{parser:"__js_expression"},{stripTrailingHardline:!0})]}function s(n){let o=/(.*?)\s+(in|of)\s+(.*)/s,c=/,([^,\]}]*)(?:,([^,\]}]*))?$/,y=/^\(|\)$/g,m=n.match(o);if(!m)return;let g={};if(g.for=m[3].trim(),!g.for)return;let p=m[1].trim().replace(y,""),D=p.match(c);D?(g.alias=p.replace(c,""),g.iterator1=D[1].trim(),D[2]&&(g.iterator2=D[2].trim())):g.alias=p;let C=[g.alias,g.iterator1,g.iterator2];if(!C.some((w,k)=>!w&&(k===0||C.slice(k+1).some(Boolean))))return{left:C.filter(Boolean).join(","),operator:m[2],right:g.for}}function e(n,o){return o(`function _(${n}) {}`,{parser:"babel",__isVueBindings:!0})}function r(n){let o=/^(?:[\w$]+|\([^)]*\))\s*=>|^function\s*\(/,c=/^[$A-Z_a-z][\w$]*(?:\.[$A-Z_a-z][\w$]*|\['[^']*']|\["[^"]*"]|\[\d+]|\[[$A-Z_a-z][\w$]*])*$/,y=n.trim();return o.test(y)||c.test(y)}l.exports={isVueEventBindingExpression:r,printVueFor:a,printVueBindings:e}}}),Hs=$({"src/language-html/get-node-content.js"(u,l){ue();var{needsToBorrowParentClosingTagStartMarker:t,printClosingTagStartMarker:a,needsToBorrowLastChildClosingTagEndMarker:s,printClosingTagEndMarker:e,needsToBorrowParentOpeningTagEndMarker:r,printOpeningTagEndMarker:n}=hu();function o(c,y){let m=c.startSourceSpan.end.offset;c.firstChild&&r(c.firstChild)&&(m-=n(c).length);let g=c.endSourceSpan.start.offset;return c.lastChild&&t(c.lastChild)?g+=a(c,y).length:s(c)&&(g-=e(c.lastChild,y).length),y.originalText.slice(m,g)}l.exports=o}}),$o=$({"src/language-html/embed.js"(u,l){ue();var{builders:{breakParent:t,group:a,hardline:s,indent:e,line:r,fill:n,softline:o},utils:{mapDoc:c,replaceTextEndOfLine:y}}=wt(),m=cs(),{printClosingTag:g,printClosingTagSuffix:p,needsToBorrowPrevClosingTagEndMarker:D,printOpeningTagPrefix:C,printOpeningTag:w}=hu(),{printImgSrcset:k,printClassNames:A}=Lo(),{printVueFor:N,printVueBindings:x,isVueEventBindingExpression:P}=Oo(),{isScriptLikeTag:_,isVueNonHtmlBlock:J,inferScriptParser:d,htmlTrimPreserveIndentation:T,dedentString:f,unescapeQuoteEntities:F,isVueSlotAttribute:i,isVueSfcBindingsAttribute:h,getTextValueParts:E}=$n(),b=Hs();function S(I,q,G){let M=fe=>new RegExp(fe.join("|")).test(I.fullName),te=()=>F(I.value),j=!1,De=(fe,Ie)=>{let X=fe.type==="NGRoot"?fe.node.type==="NGMicrosyntax"&&fe.node.body.length===1&&fe.node.body[0].type==="NGMicrosyntaxExpression"?fe.node.body[0].expression:fe.node:fe.type==="JsExpressionRoot"?fe.node:fe;X&&(X.type==="ObjectExpression"||X.type==="ArrayExpression"||Ie.parser==="__vue_expression"&&(X.type==="TemplateLiteral"||X.type==="StringLiteral"))&&(j=!0)},U=fe=>a(fe),R=function(fe){let Ie=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return a([e([o,fe]),Ie?o:""])},pe=fe=>j?U(fe):R(fe),be=(fe,Ie)=>q(fe,Object.assign({__onHtmlBindingRoot:De,__embeddedInHtml:!0},Ie));if(I.fullName==="srcset"&&(I.parent.fullName==="img"||I.parent.fullName==="source"))return R(k(te()));if(I.fullName==="class"&&!G.parentParser){let fe=te();if(!fe.includes("{{"))return A(fe)}if(I.fullName==="style"&&!G.parentParser){let fe=te();if(!fe.includes("{{"))return R(be(fe,{parser:"css",__isHTMLStyleAttribute:!0}))}if(G.parser==="vue"){if(I.fullName==="v-for")return N(te(),be);if(i(I)||h(I,G))return x(te(),be);let fe=["^@","^v-on:"],Ie=["^:","^v-bind:"],X=["^v-"];if(M(fe)){let se=te(),we=P(se)?"__js_expression":G.__should_parse_vue_template_with_ts?"__vue_ts_event_binding":"__vue_event_binding";return pe(be(se,{parser:we}))}if(M(Ie))return pe(be(te(),{parser:"__vue_expression"}));if(M(X))return pe(be(te(),{parser:"__js_expression"}))}if(G.parser==="angular"){let fe=(ae,Q)=>be(ae,Object.assign(Object.assign({},Q),{},{trailingComma:"none"})),Ie=["^\\*"],X=["^\\(.+\\)$","^on-"],se=["^\\[.+\\]$","^bind(on)?-","^ng-(if|show|hide|class|style)$"],we=["^i18n(-.+)?$"];if(M(X))return pe(fe(te(),{parser:"__ng_action"}));if(M(se))return pe(fe(te(),{parser:"__ng_binding"}));if(M(we)){let ae=te().trim();return R(n(E(I,ae)),!ae.includes("@@"))}if(M(Ie))return pe(fe(te(),{parser:"__ng_directive"}));let _e=/{{(.+?)}}/s,it=te();if(_e.test(it)){let ae=[];for(let[Q,me]of it.split(_e).entries())if(Q%2===0)ae.push(y(me));else try{ae.push(a(["{{",e([r,fe(me,{parser:"__ng_interpolation",__isInHtmlInterpolation:!0})]),r,"}}"]))}catch{ae.push("{{",y(me),"}}")}return a(ae)}}return null}function B(I,q,G,M){let te=I.getValue();switch(te.type){case"element":{if(_(te)||te.type==="interpolation")return;if(!te.isSelfClosing&&J(te,M)){let j=d(te,M);if(!j)return;let De=b(te,M),U=/^\s*$/.test(De),R="";return U||(R=G(T(De),{parser:j,__embeddedInHtml:!0},{stripTrailingHardline:!0}),U=R===""),[C(te,M),a(w(I,M,q)),U?"":s,R,U?"":s,g(te,M),p(te,M)]}break}case"text":{if(_(te.parent)){let j=d(te.parent,M);if(j){let De=j==="markdown"?f(te.value.replace(/^[^\S\n]*\n/,"")):te.value,U={parser:j,__embeddedInHtml:!0};if(M.parser==="html"&&j==="babel"){let R="script",{attrMap:pe}=te.parent;pe&&(pe.type==="module"||pe.type==="text/babel"&&pe["data-type"]==="module")&&(R="module"),U.__babelSourceType=R}return[t,C(te,M),G(De,U,{stripTrailingHardline:!0}),p(te,M)]}}else if(te.parent.type==="interpolation"){let j={__isInHtmlInterpolation:!0,__embeddedInHtml:!0};return M.parser==="angular"?(j.parser="__ng_interpolation",j.trailingComma="none"):M.parser==="vue"?j.parser=M.__should_parse_vue_template_with_ts?"__vue_ts_expression":"__vue_expression":j.parser="__js_expression",[e([r,G(te.value,j,{stripTrailingHardline:!0})]),te.parent.next&&D(te.parent.next)?" ":r]}break}case"attribute":{if(!te.value)break;if(/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(M.originalText.slice(te.valueSpan.start.offset,te.valueSpan.end.offset)))return[te.rawName,"=",te.value];if(M.parser==="lwc"&&/^{.*}$/s.test(M.originalText.slice(te.valueSpan.start.offset,te.valueSpan.end.offset)))return[te.rawName,"=",te.value];let j=S(te,(De,U)=>G(De,Object.assign({__isInHtmlAttribute:!0,__embeddedInHtml:!0},U),{stripTrailingHardline:!0}),M);if(j)return[te.rawName,'="',a(c(j,De=>typeof De=="string"?De.replace(/"/g,"""):De)),'"'];break}case"front-matter":return m(te,G)}}l.exports=B}}),Ys=$({"src/language-html/print/children.js"(u,l){ue();var{builders:{breakParent:t,group:a,ifBreak:s,line:e,softline:r,hardline:n},utils:{replaceTextEndOfLine:o}}=wt(),{locStart:c,locEnd:y}=ds(),{forceBreakChildren:m,forceNextEmptyLine:g,isTextLikeNode:p,hasPrettierIgnore:D,preferHardlineAsLeadingSpaces:C}=$n(),{printOpeningTagPrefix:w,needsToBorrowNextOpeningTagStartMarker:k,printOpeningTagStartMarker:A,needsToBorrowPrevClosingTagEndMarker:N,printClosingTagEndMarker:x,printClosingTagSuffix:P,needsToBorrowParentClosingTagStartMarker:_}=hu();function J(f,F,i){let h=f.getValue();return D(h)?[w(h,F),...o(F.originalText.slice(c(h)+(h.prev&&k(h.prev)?A(h).length:0),y(h)-(h.next&&N(h.next)?x(h,F).length:0))),P(h,F)]:i()}function d(f,F){return p(f)&&p(F)?f.isTrailingSpaceSensitive?f.hasTrailingSpaces?C(F)?n:e:"":C(F)?n:r:k(f)&&(D(F)||F.firstChild||F.isSelfClosing||F.type==="element"&&F.attrs.length>0)||f.type==="element"&&f.isSelfClosing&&N(F)?"":!F.isLeadingSpaceSensitive||C(F)||N(F)&&f.lastChild&&_(f.lastChild)&&f.lastChild.lastChild&&_(f.lastChild.lastChild)?n:F.hasLeadingSpaces?e:r}function T(f,F,i){let h=f.getValue();if(m(h))return[t,...f.map(b=>{let S=b.getValue(),B=S.prev?d(S.prev,S):"";return[B?[B,g(S.prev)?n:""]:"",J(b,F,i)]},"children")];let E=h.children.map(()=>Symbol(""));return f.map((b,S)=>{let B=b.getValue();if(p(B)){if(B.prev&&p(B.prev)){let De=d(B.prev,B);if(De)return g(B.prev)?[n,n,J(b,F,i)]:[De,J(b,F,i)]}return J(b,F,i)}let I=[],q=[],G=[],M=[],te=B.prev?d(B.prev,B):"",j=B.next?d(B,B.next):"";return te&&(g(B.prev)?I.push(n,n):te===n?I.push(n):p(B.prev)?q.push(te):q.push(s("",r,{groupId:E[S-1]}))),j&&(g(B)?p(B.next)&&M.push(n,n):j===n?p(B.next)&&M.push(n):G.push(j)),[...I,a([...q,a([J(b,F,i),...G],{id:E[S]})]),...M]},"children")}l.exports={printChildren:T}}}),Ro=$({"src/language-html/print/element.js"(u,l){ue();var{builders:{breakParent:t,dedentToRoot:a,group:s,ifBreak:e,indentIfBreak:r,indent:n,line:o,softline:c},utils:{replaceTextEndOfLine:y}}=wt(),m=Hs(),{shouldPreserveContent:g,isScriptLikeTag:p,isVueCustomBlock:D,countParents:C,forceBreakContent:w}=$n(),{printOpeningTagPrefix:k,printOpeningTag:A,printClosingTagSuffix:N,printClosingTag:x,needsToBorrowPrevClosingTagEndMarker:P,needsToBorrowLastChildClosingTagEndMarker:_}=hu(),{printChildren:J}=Ys();function d(T,f,F){let i=T.getValue();if(g(i,f))return[k(i,f),s(A(T,f,F)),...y(m(i,f)),...x(i,f),N(i,f)];let h=i.children.length===1&&i.firstChild.type==="interpolation"&&i.firstChild.isLeadingSpaceSensitive&&!i.firstChild.hasLeadingSpaces&&i.lastChild.isTrailingSpaceSensitive&&!i.lastChild.hasTrailingSpaces,E=Symbol("element-attr-group-id"),b=q=>s([s(A(T,f,F),{id:E}),q,x(i,f)]),S=q=>h?r(q,{groupId:E}):(p(i)||D(i,f))&&i.parent.type==="root"&&f.parser==="vue"&&!f.vueIndentScriptAndStyle?q:n(q),B=()=>h?e(c,"",{groupId:E}):i.firstChild.hasLeadingSpaces&&i.firstChild.isLeadingSpaceSensitive?o:i.firstChild.type==="text"&&i.isWhitespaceSensitive&&i.isIndentationSensitive?a(c):c,I=()=>(i.next?P(i.next):_(i.parent))?i.lastChild.hasTrailingSpaces&&i.lastChild.isTrailingSpaceSensitive?" ":"":h?e(c,"",{groupId:E}):i.lastChild.hasTrailingSpaces&&i.lastChild.isTrailingSpaceSensitive?o:(i.lastChild.type==="comment"||i.lastChild.type==="text"&&i.isWhitespaceSensitive&&i.isIndentationSensitive)&&new RegExp(`\\n[\\t ]{${f.tabWidth*C(T,q=>q.parent&&q.parent.type!=="root")}}$`).test(i.lastChild.value)?"":c;return i.children.length===0?b(i.hasDanglingSpaces&&i.isDanglingSpaceSensitive?o:""):b([w(i)?t:"",S([B(),J(T,f,F)]),I()])}l.exports={printElement:d}}}),Mo=$({"src/language-html/printer-html.js"(u,l){ue();var{builders:{fill:t,group:a,hardline:s,literalline:e},utils:{cleanDoc:r,getDocParts:n,isConcat:o,replaceTextEndOfLine:c}}=wt(),y=So(),{countChars:m,unescapeQuoteEntities:g,getTextValueParts:p}=$n(),D=Po(),{insertPragma:C}=Io(),{locStart:w,locEnd:k}=ds(),A=$o(),{printClosingTagSuffix:N,printClosingTagEnd:x,printOpeningTagPrefix:P,printOpeningTagStart:_}=hu(),{printElement:J}=Ro(),{printChildren:d}=Ys();function T(f,F,i){let h=f.getValue();switch(h.type){case"front-matter":return c(h.raw);case"root":return F.__onHtmlRoot&&F.__onHtmlRoot(h),[a(d(f,F,i)),s];case"element":case"ieConditionalComment":return J(f,F,i);case"ieConditionalStartComment":case"ieConditionalEndComment":return[_(h),x(h)];case"interpolation":return[_(h,F),...f.map(i,"children"),x(h,F)];case"text":{if(h.parent.type==="interpolation"){let b=/\n[^\S\n]*$/,S=b.test(h.value),B=S?h.value.replace(b,""):h.value;return[...c(B),S?s:""]}let E=r([P(h,F),...p(h),N(h,F)]);return o(E)||E.type==="fill"?t(n(E)):E}case"docType":return[a([_(h,F)," ",h.value.replace(/^html\b/i,"html").replace(/\s+/g," ")]),x(h,F)];case"comment":return[P(h,F),...c(F.originalText.slice(w(h),k(h)),e),N(h,F)];case"attribute":{if(h.value===null)return h.rawName;let E=g(h.value),b=m(E,"'"),S=m(E,'"'),B=b({name:"Angular",since:"1.15.0",parsers:["angular"],vscodeLanguageIds:["html"],extensions:[".component.html"],filenames:[]})),t(fs(),o=>({since:"1.15.0",parsers:["html"],vscodeLanguageIds:["html"],extensions:[...o.extensions,".mjml"]})),t(fs(),()=>({name:"Lightning Web Components",since:"1.17.0",parsers:["lwc"],vscodeLanguageIds:["html"],extensions:[],filenames:[]})),t(Uo(),()=>({since:"1.10.0",parsers:["vue"],vscodeLanguageIds:["vue"]}))],n={html:a};l.exports={languages:r,printers:n,options:s,parsers:e}}}),Jo=$({"src/language-yaml/pragma.js"(u,l){ue();function t(e){return/^\s*@(?:prettier|format)\s*$/.test(e)}function a(e){return/^\s*#[^\S\n]*@(?:prettier|format)\s*?(?:\n|$)/.test(e)}function s(e){return`# @format + +${e}`}l.exports={isPragma:t,hasPragma:a,insertPragma:s}}}),Xo=$({"src/language-yaml/loc.js"(u,l){ue();function t(s){return s.position.start.offset}function a(s){return s.position.end.offset}l.exports={locStart:t,locEnd:a}}}),Wo=$({"src/language-yaml/embed.js"(u,l){ue();function t(a,s,e,r){if(a.getValue().type==="root"&&r.filepath&&/(?:[/\\]|^)\.(?:prettier|stylelint|lintstaged)rc$/.test(r.filepath))return e(r.originalText,Object.assign(Object.assign({},r),{},{parser:"json"}))}l.exports=t}}),Rn=$({"src/language-yaml/utils.js"(u,l){ue();var{getLast:t,isNonEmptyArray:a}=Gt();function s(d,T){let f=0,F=d.stack.length-1;for(let i=0;ir(F,T,d))}):d,f)}function n(d,T,f){Object.defineProperty(d,T,{get:f,enumerable:!1})}function o(d,T){let f=0,F=T.length;for(let i=d.position.end.offset-1;ih===0&&h===E.length-1?i:h!==0&&h!==E.length-1?i.trim():h===0?i.trimEnd():i.trimStart());return f.proseWrap==="preserve"?F.map(i=>i.length===0?[]:[i]):F.map(i=>i.length===0?[]:x(i)).reduce((i,h,E)=>E!==0&&F[E-1].length>0&&h.length>0&&!(d==="quoteDouble"&&t(t(i)).endsWith("\\"))?[...i.slice(0,-1),[...t(i),...h]]:[...i,h],[]).map(i=>f.proseWrap==="never"?[i.join(" ")]:i)}function _(d,T){let{parentIndent:f,isLastDescendant:F,options:i}=T,h=d.position.start.line===d.position.end.line?"":i.originalText.slice(d.position.start.offset,d.position.end.offset).match(/^[^\n]*\n(.*)$/s)[1],E;if(d.indent===null){let B=h.match(/^(? *)[^\n\r ]/m);E=B?B.groups.leadingSpace.length:Number.POSITIVE_INFINITY}else E=d.indent-1+f;let b=h.split(` +`).map(B=>B.slice(E));if(i.proseWrap==="preserve"||d.type==="blockLiteral")return S(b.map(B=>B.length===0?[]:[B]));return S(b.map(B=>B.length===0?[]:x(B)).reduce((B,I,q)=>q!==0&&b[q-1].length>0&&I.length>0&&!/^\s/.test(I[0])&&!/^\s|\s$/.test(t(B))?[...B.slice(0,-1),[...t(B),...I]]:[...B,I],[]).map(B=>B.reduce((I,q)=>I.length>0&&/\s$/.test(t(I))?[...I.slice(0,-1),t(I)+" "+q]:[...I,q],[])).map(B=>i.proseWrap==="never"?[B.join(" ")]:B));function S(B){if(d.chomping==="keep")return t(B).length===0?B.slice(0,-1):B;let I=0;for(let q=B.length-1;q>=0&&B[q].length===0;q--)I++;return I===0?B:I>=2&&!F?B.slice(0,-(I-1)):B.slice(0,-I)}}function J(d){if(!d)return!0;switch(d.type){case"plain":case"quoteDouble":case"quoteSingle":case"alias":case"flowMapping":case"flowSequence":return!0;default:return!1}}l.exports={getLast:t,getAncestorCount:s,isNode:e,isEmptyNode:p,isInlineNode:J,mapNode:r,defineShortcut:n,isNextLineEmpty:o,isLastDescendantNode:c,getBlockValueLineContents:_,getFlowScalarLineContents:P,getLastDescendantNode:y,hasPrettierIgnore:g,hasLeadingComments:C,hasMiddleComments:w,hasIndicatorComment:k,hasTrailingComment:A,hasEndComments:N}}}),zo=$({"src/language-yaml/print-preprocess.js"(u,l){ue();var{defineShortcut:t,mapNode:a}=Rn();function s(r){return a(r,e)}function e(r){switch(r.type){case"document":t(r,"head",()=>r.children[0]),t(r,"body",()=>r.children[1]);break;case"documentBody":case"sequenceItem":case"flowSequenceItem":case"mappingKey":case"mappingValue":t(r,"content",()=>r.children[0]);break;case"mappingItem":case"flowMappingItem":t(r,"key",()=>r.children[0]),t(r,"value",()=>r.children[1]);break}return r}l.exports=s}}),ni=$({"src/language-yaml/print/misc.js"(u,l){ue();var{builders:{softline:t,align:a}}=wt(),{hasEndComments:s,isNextLineEmpty:e,isNode:r}=Rn(),n=new WeakMap;function o(m,g){let p=m.getValue(),D=m.stack[0],C;return n.has(D)?C=n.get(D):(C=new Set,n.set(D,C)),!C.has(p.position.end.line)&&(C.add(p.position.end.line),e(p,g)&&!c(m.getParentNode()))?t:""}function c(m){return s(m)&&!r(m,["documentHead","documentBody","flowMapping","flowSequence"])}function y(m,g){return a(" ".repeat(m),g)}l.exports={alignWithSpaces:y,shouldPrintEndComments:c,printNextEmptyLine:o}}}),Ho=$({"src/language-yaml/print/flow-mapping-sequence.js"(u,l){ue();var{builders:{ifBreak:t,line:a,softline:s,hardline:e,join:r}}=wt(),{isEmptyNode:n,getLast:o,hasEndComments:c}=Rn(),{printNextEmptyLine:y,alignWithSpaces:m}=ni();function g(D,C,w){let k=D.getValue(),A=k.type==="flowMapping",N=A?"{":"[",x=A?"}":"]",P=s;A&&k.children.length>0&&w.bracketSpacing&&(P=a);let _=o(k.children),J=_&&_.type==="flowMappingItem"&&n(_.key)&&n(_.value);return[N,m(w.tabWidth,[P,p(D,C,w),w.trailingComma==="none"?"":t(","),c(k)?[e,r(e,D.map(C,"endComments"))]:""]),J?"":P,x]}function p(D,C,w){let k=D.getValue();return D.map((A,N)=>[C(),N===k.children.length-1?"":[",",a,k.children[N].position.start.line!==k.children[N+1].position.start.line?y(A,w.originalText):""]],"children")}l.exports={printFlowMapping:g,printFlowSequence:g}}}),Yo=$({"src/language-yaml/print/mapping-item.js"(u,l){ue();var{builders:{conditionalGroup:t,group:a,hardline:s,ifBreak:e,join:r,line:n}}=wt(),{hasLeadingComments:o,hasMiddleComments:c,hasTrailingComment:y,hasEndComments:m,isNode:g,isEmptyNode:p,isInlineNode:D}=Rn(),{alignWithSpaces:C}=ni();function w(x,P,_,J,d){let{key:T,value:f}=x,F=p(T),i=p(f);if(F&&i)return": ";let h=J("key"),E=A(x)?" ":"";if(i)return x.type==="flowMappingItem"&&P.type==="flowMapping"?h:x.type==="mappingItem"&&k(T.content,d)&&!y(T.content)&&(!P.tag||P.tag.value!=="tag:yaml.org,2002:set")?[h,E,":"]:["? ",C(2,h)];let b=J("value");if(F)return[": ",C(2,b)];if(o(f)||!D(T.content))return["? ",C(2,h),s,r("",_.map(J,"value","leadingComments").map(M=>[M,s])),": ",C(2,b)];if(N(T.content)&&!o(T.content)&&!c(T.content)&&!y(T.content)&&!m(T)&&!o(f.content)&&!c(f.content)&&!m(f)&&k(f.content,d))return[h,E,": ",b];let S=Symbol("mappingKey"),B=a([e("? "),a(C(2,h),{id:S})]),I=[s,": ",C(2,b)],q=[E,":"];o(f.content)||m(f)&&f.content&&!g(f.content,["mapping","sequence"])||P.type==="mapping"&&y(T.content)&&D(f.content)||g(f.content,["mapping","sequence"])&&f.content.tag===null&&f.content.anchor===null?q.push(s):f.content&&q.push(n),q.push(b);let G=C(d.tabWidth,q);return k(T.content,d)&&!o(T.content)&&!c(T.content)&&!m(T)?t([[h,G]]):t([[B,e(I,G,{groupId:S})]])}function k(x,P){if(!x)return!0;switch(x.type){case"plain":case"quoteSingle":case"quoteDouble":break;case"alias":return!0;default:return!1}if(P.proseWrap==="preserve")return x.position.start.line===x.position.end.line;if(/\\$/m.test(P.originalText.slice(x.position.start.offset,x.position.end.offset)))return!1;switch(P.proseWrap){case"never":return!x.value.includes(` +`);case"always":return!/[\n ]/.test(x.value);default:return!1}}function A(x){return x.key.content&&x.key.content.type==="alias"}function N(x){if(!x)return!0;switch(x.type){case"plain":case"quoteDouble":case"quoteSingle":return x.position.start.line===x.position.end.line;case"alias":return!0;default:return!1}}l.exports=w}}),Ko=$({"src/language-yaml/print/block.js"(u,l){ue();var{builders:{dedent:t,dedentToRoot:a,fill:s,hardline:e,join:r,line:n,literalline:o,markAsRoot:c},utils:{getDocParts:y}}=wt(),{getAncestorCount:m,getBlockValueLineContents:g,hasIndicatorComment:p,isLastDescendantNode:D,isNode:C}=Rn(),{alignWithSpaces:w}=ni();function k(A,N,x){let P=A.getValue(),_=m(A,F=>C(F,["sequence","mapping"])),J=D(A),d=[P.type==="blockFolded"?">":"|"];P.indent!==null&&d.push(P.indent.toString()),P.chomping!=="clip"&&d.push(P.chomping==="keep"?"+":"-"),p(P)&&d.push(" ",N("indicatorComment"));let T=g(P,{parentIndent:_,isLastDescendant:J,options:x}),f=[];for(let[F,i]of T.entries())F===0&&f.push(e),f.push(s(y(r(n,i)))),F!==T.length-1?f.push(i.length===0?e:c(o)):P.chomping==="keep"&&J&&f.push(a(i.length===0?e:o));return P.indent===null?d.push(t(w(x.tabWidth,f))):d.push(a(w(P.indent-1+_,f))),d}l.exports=k}}),Qo=$({"src/language-yaml/printer-yaml.js"(u,l){ue();var{builders:{breakParent:t,fill:a,group:s,hardline:e,join:r,line:n,lineSuffix:o,literalline:c},utils:{getDocParts:y,replaceTextEndOfLine:m}}=wt(),{isPreviousLineEmpty:g}=Gt(),{insertPragma:p,isPragma:D}=Jo(),{locStart:C}=Xo(),w=Wo(),{getFlowScalarLineContents:k,getLastDescendantNode:A,hasLeadingComments:N,hasMiddleComments:x,hasTrailingComment:P,hasEndComments:_,hasPrettierIgnore:J,isLastDescendantNode:d,isNode:T,isInlineNode:f}=Rn(),F=zo(),{alignWithSpaces:i,printNextEmptyLine:h,shouldPrintEndComments:E}=ni(),{printFlowMapping:b,printFlowSequence:S}=Ho(),B=Yo(),I=Ko();function q(R,pe,be){let fe=R.getValue(),Ie=[];fe.type!=="mappingValue"&&N(fe)&&Ie.push([r(e,R.map(be,"leadingComments")),e]);let{tag:X,anchor:se}=fe;X&&Ie.push(be("tag")),X&&se&&Ie.push(" "),se&&Ie.push(be("anchor"));let we="";T(fe,["mapping","sequence","comment","directive","mappingItem","sequenceItem"])&&!d(R)&&(we=h(R,pe.originalText)),(X||se)&&(T(fe,["sequence","mapping"])&&!x(fe)?Ie.push(e):Ie.push(" ")),x(fe)&&Ie.push([fe.middleComments.length===1?"":e,r(e,R.map(be,"middleComments")),e]);let _e=R.getParentNode();return J(R)?Ie.push(m(pe.originalText.slice(fe.position.start.offset,fe.position.end.offset).trimEnd(),c)):Ie.push(s(G(fe,_e,R,pe,be))),P(fe)&&!T(fe,["document","documentHead"])&&Ie.push(o([fe.type==="mappingValue"&&!fe.content?"":" ",_e.type==="mappingKey"&&R.getParentNode(2).type==="mapping"&&f(fe)?"":t,be("trailingComment")])),E(fe)&&Ie.push(i(fe.type==="sequenceItem"?2:0,[e,r(e,R.map(it=>[g(pe.originalText,it.getValue(),C)?e:"",be()],"endComments"))])),Ie.push(we),Ie}function G(R,pe,be,fe,Ie){switch(R.type){case"root":{let{children:X}=R,se=[];be.each((_e,it)=>{let ae=X[it],Q=X[it+1];it!==0&&se.push(e),se.push(Ie()),te(ae,Q)?(se.push(e,"..."),P(ae)&&se.push(" ",Ie("trailingComment"))):Q&&!P(Q.head)&&se.push(e,"---")},"children");let we=A(R);return(!T(we,["blockLiteral","blockFolded"])||we.chomping!=="keep")&&se.push(e),se}case"document":{let X=pe.children[be.getName()+1],se=[];return j(R,X,pe,fe)==="head"&&((R.head.children.length>0||R.head.endComments.length>0)&&se.push(Ie("head")),P(R.head)?se.push(["---"," ",Ie(["head","trailingComment"])]):se.push("---")),M(R)&&se.push(Ie("body")),r(e,se)}case"documentHead":return r(e,[...be.map(Ie,"children"),...be.map(Ie,"endComments")]);case"documentBody":{let{children:X,endComments:se}=R,we="";if(X.length>0&&se.length>0){let _e=A(R);T(_e,["blockFolded","blockLiteral"])?_e.chomping!=="keep"&&(we=[e,e]):we=e}return[r(e,be.map(Ie,"children")),we,r(e,be.map(Ie,"endComments"))]}case"directive":return["%",r(" ",[R.name,...R.parameters])];case"comment":return["#",R.value];case"alias":return["*",R.value];case"tag":return fe.originalText.slice(R.position.start.offset,R.position.end.offset);case"anchor":return["&",R.value];case"plain":return De(R.type,fe.originalText.slice(R.position.start.offset,R.position.end.offset),fe);case"quoteDouble":case"quoteSingle":{let X="'",se='"',we=fe.originalText.slice(R.position.start.offset+1,R.position.end.offset-1);if(R.type==="quoteSingle"&&we.includes("\\")||R.type==="quoteDouble"&&/\\[^"]/.test(we)){let it=R.type==="quoteDouble"?se:X;return[it,De(R.type,we,fe),it]}if(we.includes(se))return[X,De(R.type,R.type==="quoteDouble"?we.replace(/\\"/g,se).replace(/'/g,X.repeat(2)):we,fe),X];if(we.includes(X))return[se,De(R.type,R.type==="quoteSingle"?we.replace(/''/g,X):we,fe),se];let _e=fe.singleQuote?X:se;return[_e,De(R.type,we,fe),_e]}case"blockFolded":case"blockLiteral":return I(be,Ie,fe);case"mapping":case"sequence":return r(e,be.map(Ie,"children"));case"sequenceItem":return["- ",i(2,R.content?Ie("content"):"")];case"mappingKey":case"mappingValue":return R.content?Ie("content"):"";case"mappingItem":case"flowMappingItem":return B(R,pe,be,Ie,fe);case"flowMapping":return b(be,Ie,fe);case"flowSequence":return S(be,Ie,fe);case"flowSequenceItem":return Ie("content");default:throw new Error(`Unexpected node type ${R.type}`)}}function M(R){return R.body.children.length>0||_(R.body)}function te(R,pe){return P(R)||pe&&(pe.head.children.length>0||_(pe.head))}function j(R,pe,be,fe){return be.children[0]===R&&/---(?:\s|$)/.test(fe.originalText.slice(C(R),C(R)+4))||R.head.children.length>0||_(R.head)||P(R.head)?"head":te(R,pe)?!1:pe?"root":!1}function De(R,pe,be){let fe=k(R,pe,be);return r(e,fe.map(Ie=>a(y(r(n,Ie)))))}function U(R,pe){if(T(pe))switch(delete pe.position,pe.type){case"comment":if(D(pe.value))return null;break;case"quoteDouble":case"quoteSingle":pe.type="quote";break}}l.exports={preprocess:F,embed:w,print:q,massageAstNode:U,insertPragma:p}}}),Zo=$({"src/language-yaml/options.js"(u,l){ue();var t=On();l.exports={bracketSpacing:t.bracketSpacing,singleQuote:t.singleQuote,proseWrap:t.proseWrap}}}),el=$({"src/language-yaml/parsers.js"(){ue()}}),tl=$({"node_modules/linguist-languages/data/YAML.json"(u,l){l.exports={name:"YAML",type:"data",color:"#cb171e",tmScope:"source.yaml",aliases:["yml"],extensions:[".yml",".mir",".reek",".rviz",".sublime-syntax",".syntax",".yaml",".yaml-tmlanguage",".yaml.sed",".yml.mysql"],filenames:[".clang-format",".clang-tidy",".gemrc","CITATION.cff","glide.lock","yarn.lock"],aceMode:"yaml",codemirrorMode:"yaml",codemirrorMimeType:"text/x-yaml",languageId:407}}}),rl=$({"src/language-yaml/index.js"(u,l){ue();var t=vr(),a=Qo(),s=Zo(),e=el(),r=[t(tl(),n=>({since:"1.14.0",parsers:["yaml"],vscodeLanguageIds:["yaml","ansible","home-assistant"],filenames:[...n.filenames.filter(o=>o!=="yarn.lock"),".prettierrc",".stylelintrc",".lintstagedrc"]}))];l.exports={languages:r,printers:{yaml:a},options:s,parsers:e}}}),nl=$({"src/languages.js"(u,l){ue(),l.exports=[La(),eo(),oo(),ho(),bo(),Go(),rl()]}});ue();var{version:ul}=yr(),Mn=Yu(),{getSupportInfo:il}=nu(),sl=Ku(),al=nl(),ol=wt();function bn(u){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return function(){for(var t=arguments.length,a=new Array(t),s=0;sJr===!1?Xr:Jr==="dedent"||Jr===!0?ml(Xr):fl.default.format(Xr,{parser:Jr,plugins:[dl.default],htmlWhitespaceSensitivity:"ignore"}).trim());export{xl as formatter}; +//# sourceMappingURL=formatter-S4K5WUZV-52882944.js.map diff --git a/assets/formatter-S4K5WUZV-52882944.js.map b/assets/formatter-S4K5WUZV-52882944.js.map new file mode 100644 index 00000000..db24770e --- /dev/null +++ b/assets/formatter-S4K5WUZV-52882944.js.map @@ -0,0 +1 @@ +{"version":3,"file":"formatter-S4K5WUZV-52882944.js","sources":["../../node_modules/@storybook/components/dist/formatter-S4K5WUZV.mjs"],"sourcesContent":["import { __commonJS, __toESM } from './chunk-NNAAFZ4U.mjs';\nimport memoize from 'memoizerific';\n\nvar require_parser_html=__commonJS({\"node_modules/prettier/parser-html.js\"(exports,module){(function(e){if(typeof exports==\"object\"&&typeof module==\"object\")module.exports=e();else if(typeof define==\"function\"&&define.amd)define(e);else {var i=typeof globalThis<\"u\"?globalThis:typeof global<\"u\"?global:typeof self<\"u\"?self:this||{};i.prettierPlugins=i.prettierPlugins||{},i.prettierPlugins.html=e();}})(function(){var S=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),ee=S((cc,Kr)=>{var Ne=function(e){return e&&e.Math==Math&&e};Kr.exports=Ne(typeof globalThis==\"object\"&&globalThis)||Ne(typeof window==\"object\"&&window)||Ne(typeof self==\"object\"&&self)||Ne(typeof global==\"object\"&&global)||function(){return this}()||Function(\"return this\")();}),se=S((hc,Jr)=>{Jr.exports=function(e){try{return !!e()}catch{return !0}};}),ae=S((pc,Zr)=>{var qs=se();Zr.exports=!qs(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7});}),Oe=S((fc,eu)=>{var Is=se();eu.exports=!Is(function(){var e=function(){}.bind();return typeof e!=\"function\"||e.hasOwnProperty(\"prototype\")});}),De=S((dc,ru)=>{var Rs=Oe(),qe=Function.prototype.call;ru.exports=Rs?qe.bind(qe):function(){return qe.apply(qe,arguments)};}),su=S(nu=>{var uu={}.propertyIsEnumerable,tu=Object.getOwnPropertyDescriptor,xs=tu&&!uu.call({1:2},1);nu.f=xs?function(r){var u=tu(this,r);return !!u&&u.enumerable}:uu;}),Ie=S((Cc,iu)=>{iu.exports=function(e,r){return {enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:r}};}),re=S((mc,Du)=>{var au=Oe(),ou=Function.prototype,er=ou.call,Ps=au&&ou.bind.bind(er,er);Du.exports=au?Ps:function(e){return function(){return er.apply(e,arguments)}};}),me=S((gc,cu)=>{var lu=re(),ks=lu({}.toString),Ls=lu(\"\".slice);cu.exports=function(e){return Ls(ks(e),8,-1)};}),pu=S((Fc,hu)=>{var $s=re(),Ms=se(),js=me(),rr=Object,Us=$s(\"\".split);hu.exports=Ms(function(){return !rr(\"z\").propertyIsEnumerable(0)})?function(e){return js(e)==\"String\"?Us(e,\"\"):rr(e)}:rr;}),Re=S((Ac,fu)=>{fu.exports=function(e){return e==null};}),ur=S((vc,du)=>{var Gs=Re(),Vs=TypeError;du.exports=function(e){if(Gs(e))throw Vs(\"Can't call method on \"+e);return e};}),xe=S((_c,Eu)=>{var Xs=pu(),Hs=ur();Eu.exports=function(e){return Xs(Hs(e))};}),nr=S((Sc,Cu)=>{var tr=typeof document==\"object\"&&document.all,zs=typeof tr>\"u\"&&tr!==void 0;Cu.exports={all:tr,IS_HTMLDDA:zs};}),Y=S((yc,gu)=>{var mu=nr(),Ws=mu.all;gu.exports=mu.IS_HTMLDDA?function(e){return typeof e==\"function\"||e===Ws}:function(e){return typeof e==\"function\"};}),le=S((Tc,vu)=>{var Fu=Y(),Au=nr(),Ys=Au.all;vu.exports=Au.IS_HTMLDDA?function(e){return typeof e==\"object\"?e!==null:Fu(e)||e===Ys}:function(e){return typeof e==\"object\"?e!==null:Fu(e)};}),ge=S((Bc,_u)=>{var sr=ee(),Qs=Y(),Ks=function(e){return Qs(e)?e:void 0};_u.exports=function(e,r){return arguments.length<2?Ks(sr[e]):sr[e]&&sr[e][r]};}),ir=S((bc,Su)=>{var Js=re();Su.exports=Js({}.isPrototypeOf);}),Tu=S((wc,yu)=>{var Zs=ge();yu.exports=Zs(\"navigator\",\"userAgent\")||\"\";}),Iu=S((Nc,qu)=>{var Ou=ee(),ar=Tu(),Bu=Ou.process,bu=Ou.Deno,wu=Bu&&Bu.versions||bu&&bu.version,Nu=wu&&wu.v8,ue,Pe;Nu&&(ue=Nu.split(\".\"),Pe=ue[0]>0&&ue[0]<4?1:+(ue[0]+ue[1])),!Pe&&ar&&(ue=ar.match(/Edge\\/(\\d+)/),(!ue||ue[1]>=74)&&(ue=ar.match(/Chrome\\/(\\d+)/),ue&&(Pe=+ue[1]))),qu.exports=Pe;}),or=S((Oc,xu)=>{var Ru=Iu(),ei=se();xu.exports=!!Object.getOwnPropertySymbols&&!ei(function(){var e=Symbol();return !String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Ru&&Ru<41});}),Dr=S((qc,Pu)=>{var ri=or();Pu.exports=ri&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\";}),lr=S((Ic,ku)=>{var ui=ge(),ti=Y(),ni=ir(),si=Dr(),ii=Object;ku.exports=si?function(e){return typeof e==\"symbol\"}:function(e){var r=ui(\"Symbol\");return ti(r)&&ni(r.prototype,ii(e))};}),ke=S((Rc,Lu)=>{var ai=String;Lu.exports=function(e){try{return ai(e)}catch{return \"Object\"}};}),Fe=S((xc,$u)=>{var oi=Y(),Di=ke(),li=TypeError;$u.exports=function(e){if(oi(e))return e;throw li(Di(e)+\" is not a function\")};}),Le=S((Pc,Mu)=>{var ci=Fe(),hi=Re();Mu.exports=function(e,r){var u=e[r];return hi(u)?void 0:ci(u)};}),Uu=S((kc,ju)=>{var cr=De(),hr=Y(),pr=le(),pi=TypeError;ju.exports=function(e,r){var u,n;if(r===\"string\"&&hr(u=e.toString)&&!pr(n=cr(u,e))||hr(u=e.valueOf)&&!pr(n=cr(u,e))||r!==\"string\"&&hr(u=e.toString)&&!pr(n=cr(u,e)))return n;throw pi(\"Can't convert object to primitive value\")};}),Vu=S((Lc,Gu)=>{Gu.exports=!1;}),$e=S(($c,Hu)=>{var Xu=ee(),fi=Object.defineProperty;Hu.exports=function(e,r){try{fi(Xu,e,{value:r,configurable:!0,writable:!0});}catch{Xu[e]=r;}return r};}),Me=S((Mc,Wu)=>{var di=ee(),Ei=$e(),zu=\"__core-js_shared__\",Ci=di[zu]||Ei(zu,{});Wu.exports=Ci;}),fr=S((jc,Qu)=>{var mi=Vu(),Yu=Me();(Qu.exports=function(e,r){return Yu[e]||(Yu[e]=r!==void 0?r:{})})(\"versions\",[]).push({version:\"3.26.1\",mode:mi?\"pure\":\"global\",copyright:\"\\xA9 2014-2022 Denis Pushkarev (zloirock.ru)\",license:\"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE\",source:\"https://github.com/zloirock/core-js\"});}),dr=S((Uc,Ku)=>{var gi=ur(),Fi=Object;Ku.exports=function(e){return Fi(gi(e))};}),oe=S((Gc,Ju)=>{var Ai=re(),vi=dr(),_i=Ai({}.hasOwnProperty);Ju.exports=Object.hasOwn||function(r,u){return _i(vi(r),u)};}),Er=S((Vc,Zu)=>{var Si=re(),yi=0,Ti=Math.random(),Bi=Si(1 .toString);Zu.exports=function(e){return \"Symbol(\"+(e===void 0?\"\":e)+\")_\"+Bi(++yi+Ti,36)};}),he=S((Xc,nt)=>{var bi=ee(),wi=fr(),et=oe(),Ni=Er(),rt=or(),tt=Dr(),fe=wi(\"wks\"),ce=bi.Symbol,ut=ce&&ce.for,Oi=tt?ce:ce&&ce.withoutSetter||Ni;nt.exports=function(e){if(!et(fe,e)||!(rt||typeof fe[e]==\"string\")){var r=\"Symbol.\"+e;rt&&et(ce,e)?fe[e]=ce[e]:tt&&ut?fe[e]=ut(r):fe[e]=Oi(r);}return fe[e]};}),ot=S((Hc,at)=>{var qi=De(),st=le(),it=lr(),Ii=Le(),Ri=Uu(),xi=he(),Pi=TypeError,ki=xi(\"toPrimitive\");at.exports=function(e,r){if(!st(e)||it(e))return e;var u=Ii(e,ki),n;if(u){if(r===void 0&&(r=\"default\"),n=qi(u,e,r),!st(n)||it(n))return n;throw Pi(\"Can't convert object to primitive value\")}return r===void 0&&(r=\"number\"),Ri(e,r)};}),je=S((zc,Dt)=>{var Li=ot(),$i=lr();Dt.exports=function(e){var r=Li(e,\"string\");return $i(r)?r:r+\"\"};}),ht=S((Wc,ct)=>{var Mi=ee(),lt=le(),Cr=Mi.document,ji=lt(Cr)&<(Cr.createElement);ct.exports=function(e){return ji?Cr.createElement(e):{}};}),mr=S((Yc,pt)=>{var Ui=ae(),Gi=se(),Vi=ht();pt.exports=!Ui&&!Gi(function(){return Object.defineProperty(Vi(\"div\"),\"a\",{get:function(){return 7}}).a!=7});}),gr=S(dt=>{var Xi=ae(),Hi=De(),zi=su(),Wi=Ie(),Yi=xe(),Qi=je(),Ki=oe(),Ji=mr(),ft=Object.getOwnPropertyDescriptor;dt.f=Xi?ft:function(r,u){if(r=Yi(r),u=Qi(u),Ji)try{return ft(r,u)}catch{}if(Ki(r,u))return Wi(!Hi(zi.f,r,u),r[u])};}),Ct=S((Kc,Et)=>{var Zi=ae(),ea=se();Et.exports=Zi&&ea(function(){return Object.defineProperty(function(){},\"prototype\",{value:42,writable:!1}).prototype!=42});}),de=S((Jc,mt)=>{var ra=le(),ua=String,ta=TypeError;mt.exports=function(e){if(ra(e))return e;throw ta(ua(e)+\" is not an object\")};}),Ae=S(Ft=>{var na=ae(),sa=mr(),ia=Ct(),Ue=de(),gt=je(),aa=TypeError,Fr=Object.defineProperty,oa=Object.getOwnPropertyDescriptor,Ar=\"enumerable\",vr=\"configurable\",_r=\"writable\";Ft.f=na?ia?function(r,u,n){if(Ue(r),u=gt(u),Ue(n),typeof r==\"function\"&&u===\"prototype\"&&\"value\"in n&&_r in n&&!n[_r]){var D=oa(r,u);D&&D[_r]&&(r[u]=n.value,n={configurable:vr in n?n[vr]:D[vr],enumerable:Ar in n?n[Ar]:D[Ar],writable:!1});}return Fr(r,u,n)}:Fr:function(r,u,n){if(Ue(r),u=gt(u),Ue(n),sa)try{return Fr(r,u,n)}catch{}if(\"get\"in n||\"set\"in n)throw aa(\"Accessors not supported\");return \"value\"in n&&(r[u]=n.value),r};}),Sr=S((e2,At)=>{var Da=ae(),la=Ae(),ca=Ie();At.exports=Da?function(e,r,u){return la.f(e,r,ca(1,u))}:function(e,r,u){return e[r]=u,e};}),St=S((r2,_t)=>{var yr=ae(),ha=oe(),vt=Function.prototype,pa=yr&&Object.getOwnPropertyDescriptor,Tr=ha(vt,\"name\"),fa=Tr&&function(){}.name===\"something\",da=Tr&&(!yr||yr&&pa(vt,\"name\").configurable);_t.exports={EXISTS:Tr,PROPER:fa,CONFIGURABLE:da};}),br=S((u2,yt)=>{var Ea=re(),Ca=Y(),Br=Me(),ma=Ea(Function.toString);Ca(Br.inspectSource)||(Br.inspectSource=function(e){return ma(e)}),yt.exports=Br.inspectSource;}),bt=S((t2,Bt)=>{var ga=ee(),Fa=Y(),Tt=ga.WeakMap;Bt.exports=Fa(Tt)&&/native code/.test(String(Tt));}),Ot=S((n2,Nt)=>{var Aa=fr(),va=Er(),wt=Aa(\"keys\");Nt.exports=function(e){return wt[e]||(wt[e]=va(e))};}),wr=S((s2,qt)=>{qt.exports={};}),Pt=S((i2,xt)=>{var _a=bt(),Rt=ee(),Sa=le(),ya=Sr(),Nr=oe(),Or=Me(),Ta=Ot(),Ba=wr(),It=\"Object already initialized\",qr=Rt.TypeError,ba=Rt.WeakMap,Ge,ve,Ve,wa=function(e){return Ve(e)?ve(e):Ge(e,{})},Na=function(e){return function(r){var u;if(!Sa(r)||(u=ve(r)).type!==e)throw qr(\"Incompatible receiver, \"+e+\" required\");return u}};_a||Or.state?(te=Or.state||(Or.state=new ba),te.get=te.get,te.has=te.has,te.set=te.set,Ge=function(e,r){if(te.has(e))throw qr(It);return r.facade=e,te.set(e,r),r},ve=function(e){return te.get(e)||{}},Ve=function(e){return te.has(e)}):(pe=Ta(\"state\"),Ba[pe]=!0,Ge=function(e,r){if(Nr(e,pe))throw qr(It);return r.facade=e,ya(e,pe,r),r},ve=function(e){return Nr(e,pe)?e[pe]:{}},Ve=function(e){return Nr(e,pe)});var te,pe;xt.exports={set:Ge,get:ve,has:Ve,enforce:wa,getterFor:Na};}),$t=S((a2,Lt)=>{var Oa=se(),qa=Y(),Xe=oe(),Ir=ae(),Ia=St().CONFIGURABLE,Ra=br(),kt=Pt(),xa=kt.enforce,Pa=kt.get,He=Object.defineProperty,ka=Ir&&!Oa(function(){return He(function(){},\"length\",{value:8}).length!==8}),La=String(String).split(\"String\"),$a=Lt.exports=function(e,r,u){String(r).slice(0,7)===\"Symbol(\"&&(r=\"[\"+String(r).replace(/^Symbol\\(([^)]*)\\)/,\"$1\")+\"]\"),u&&u.getter&&(r=\"get \"+r),u&&u.setter&&(r=\"set \"+r),(!Xe(e,\"name\")||Ia&&e.name!==r)&&(Ir?He(e,\"name\",{value:r,configurable:!0}):e.name=r),ka&&u&&Xe(u,\"arity\")&&e.length!==u.arity&&He(e,\"length\",{value:u.arity});try{u&&Xe(u,\"constructor\")&&u.constructor?Ir&&He(e,\"prototype\",{writable:!1}):e.prototype&&(e.prototype=void 0);}catch{}var n=xa(e);return Xe(n,\"source\")||(n.source=La.join(typeof r==\"string\"?r:\"\")),e};Function.prototype.toString=$a(function(){return qa(this)&&Pa(this).source||Ra(this)},\"toString\");}),jt=S((o2,Mt)=>{var Ma=Y(),ja=Ae(),Ua=$t(),Ga=$e();Mt.exports=function(e,r,u,n){n||(n={});var D=n.enumerable,s=n.name!==void 0?n.name:r;if(Ma(u)&&Ua(u,s,n),n.global)D?e[r]=u:Ga(r,u);else {try{n.unsafe?e[r]&&(D=!0):delete e[r];}catch{}D?e[r]=u:ja.f(e,r,{value:u,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable});}return e};}),Gt=S((D2,Ut)=>{var Va=Math.ceil,Xa=Math.floor;Ut.exports=Math.trunc||function(r){var u=+r;return (u>0?Xa:Va)(u)};}),Rr=S((l2,Vt)=>{var Ha=Gt();Vt.exports=function(e){var r=+e;return r!==r||r===0?0:Ha(r)};}),Ht=S((c2,Xt)=>{var za=Rr(),Wa=Math.max,Ya=Math.min;Xt.exports=function(e,r){var u=za(e);return u<0?Wa(u+r,0):Ya(u,r)};}),Wt=S((h2,zt)=>{var Qa=Rr(),Ka=Math.min;zt.exports=function(e){return e>0?Ka(Qa(e),9007199254740991):0};}),_e=S((p2,Yt)=>{var Ja=Wt();Yt.exports=function(e){return Ja(e.length)};}),Jt=S((f2,Kt)=>{var Za=xe(),eo=Ht(),ro=_e(),Qt=function(e){return function(r,u,n){var D=Za(r),s=ro(D),i=eo(n,s),f;if(e&&u!=u){for(;s>i;)if(f=D[i++],f!=f)return !0}else for(;s>i;i++)if((e||i in D)&&D[i]===u)return e||i||0;return !e&&-1}};Kt.exports={includes:Qt(!0),indexOf:Qt(!1)};}),rn=S((d2,en)=>{var uo=re(),xr=oe(),to=xe(),no=Jt().indexOf,so=wr(),Zt=uo([].push);en.exports=function(e,r){var u=to(e),n=0,D=[],s;for(s in u)!xr(so,s)&&xr(u,s)&&Zt(D,s);for(;r.length>n;)xr(u,s=r[n++])&&(~no(D,s)||Zt(D,s));return D};}),tn=S((E2,un)=>{un.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"];}),sn=S(nn=>{var io=rn(),ao=tn(),oo=ao.concat(\"length\",\"prototype\");nn.f=Object.getOwnPropertyNames||function(r){return io(r,oo)};}),on=S(an=>{an.f=Object.getOwnPropertySymbols;}),ln=S((g2,Dn)=>{var Do=ge(),lo=re(),co=sn(),ho=on(),po=de(),fo=lo([].concat);Dn.exports=Do(\"Reflect\",\"ownKeys\")||function(r){var u=co.f(po(r)),n=ho.f;return n?fo(u,n(r)):u};}),pn=S((F2,hn)=>{var cn=oe(),Eo=ln(),Co=gr(),mo=Ae();hn.exports=function(e,r,u){for(var n=Eo(r),D=mo.f,s=Co.f,i=0;i{var go=se(),Fo=Y(),Ao=/#|\\.prototype\\./,Se=function(e,r){var u=_o[vo(e)];return u==yo?!0:u==So?!1:Fo(r)?go(r):!!r},vo=Se.normalize=function(e){return String(e).replace(Ao,\".\").toLowerCase()},_o=Se.data={},So=Se.NATIVE=\"N\",yo=Se.POLYFILL=\"P\";fn.exports=Se;}),ze=S((v2,En)=>{var Pr=ee(),To=gr().f,Bo=Sr(),bo=jt(),wo=$e(),No=pn(),Oo=dn();En.exports=function(e,r){var u=e.target,n=e.global,D=e.stat,s,i,f,c,F,a;if(n?i=Pr:D?i=Pr[u]||wo(u,{}):i=(Pr[u]||{}).prototype,i)for(f in r){if(F=r[f],e.dontCallGetSet?(a=To(i,f),c=a&&a.value):c=i[f],s=Oo(n?f:u+(D?\".\":\"#\")+f,e.forced),!s&&c!==void 0){if(typeof F==typeof c)continue;No(F,c);}(e.sham||c&&c.sham)&&Bo(F,\"sham\",!0),bo(i,f,F,e);}};}),Cn=S(()=>{var qo=ze(),kr=ee();qo({global:!0,forced:kr.globalThis!==kr},{globalThis:kr});}),mn=S(()=>{Cn();}),Lr=S((B2,gn)=>{var Io=me();gn.exports=Array.isArray||function(r){return Io(r)==\"Array\"};}),An=S((b2,Fn)=>{var Ro=TypeError,xo=9007199254740991;Fn.exports=function(e){if(e>xo)throw Ro(\"Maximum allowed index exceeded\");return e};}),_n=S((w2,vn)=>{var Po=me(),ko=re();vn.exports=function(e){if(Po(e)===\"Function\")return ko(e)};}),$r=S((N2,yn)=>{var Sn=_n(),Lo=Fe(),$o=Oe(),Mo=Sn(Sn.bind);yn.exports=function(e,r){return Lo(e),r===void 0?e:$o?Mo(e,r):function(){return e.apply(r,arguments)}};}),bn=S((O2,Bn)=>{var jo=Lr(),Uo=_e(),Go=An(),Vo=$r(),Tn=function(e,r,u,n,D,s,i,f){for(var c=D,F=0,a=i?Vo(i,f):!1,l,h;F0&&jo(l)?(h=Uo(l),c=Tn(e,r,l,h,c,s-1)-1):(Go(c+1),e[c]=l),c++),F++;return c};Bn.exports=Tn;}),On=S((q2,Nn)=>{var Xo=he(),Ho=Xo(\"toStringTag\"),wn={};wn[Ho]=\"z\",Nn.exports=String(wn)===\"[object z]\";}),Mr=S((I2,qn)=>{var zo=On(),Wo=Y(),We=me(),Yo=he(),Qo=Yo(\"toStringTag\"),Ko=Object,Jo=We(function(){return arguments}())==\"Arguments\",Zo=function(e,r){try{return e[r]}catch{}};qn.exports=zo?We:function(e){var r,u,n;return e===void 0?\"Undefined\":e===null?\"Null\":typeof(u=Zo(r=Ko(e),Qo))==\"string\"?u:Jo?We(r):(n=We(r))==\"Object\"&&Wo(r.callee)?\"Arguments\":n};}),Ln=S((R2,kn)=>{var eD=re(),rD=se(),In=Y(),uD=Mr(),tD=ge(),nD=br(),Rn=function(){},sD=[],xn=tD(\"Reflect\",\"construct\"),jr=/^\\s*(?:class|function)\\b/,iD=eD(jr.exec),aD=!jr.exec(Rn),ye=function(r){if(!In(r))return !1;try{return xn(Rn,sD,r),!0}catch{return !1}},Pn=function(r){if(!In(r))return !1;switch(uD(r)){case\"AsyncFunction\":case\"GeneratorFunction\":case\"AsyncGeneratorFunction\":return !1}try{return aD||!!iD(jr,nD(r))}catch{return !0}};Pn.sham=!0,kn.exports=!xn||rD(function(){var e;return ye(ye.call)||!ye(Object)||!ye(function(){e=!0;})||e})?Pn:ye;}),Un=S((x2,jn)=>{var $n=Lr(),oD=Ln(),DD=le(),lD=he(),cD=lD(\"species\"),Mn=Array;jn.exports=function(e){var r;return $n(e)&&(r=e.constructor,oD(r)&&(r===Mn||$n(r.prototype))?r=void 0:DD(r)&&(r=r[cD],r===null&&(r=void 0))),r===void 0?Mn:r};}),Vn=S((P2,Gn)=>{var hD=Un();Gn.exports=function(e,r){return new(hD(e))(r===0?0:r)};}),Xn=S(()=>{var pD=ze(),fD=bn(),dD=Fe(),ED=dr(),CD=_e(),mD=Vn();pD({target:\"Array\",proto:!0},{flatMap:function(r){var u=ED(this),n=CD(u),D;return dD(r),D=mD(u,0),D.length=fD(D,u,u,n,0,1,r,arguments.length>1?arguments[1]:void 0),D}});}),Ur=S(($2,Hn)=>{Hn.exports={};}),Wn=S((M2,zn)=>{var gD=he(),FD=Ur(),AD=gD(\"iterator\"),vD=Array.prototype;zn.exports=function(e){return e!==void 0&&(FD.Array===e||vD[AD]===e)};}),Gr=S((j2,Qn)=>{var _D=Mr(),Yn=Le(),SD=Re(),yD=Ur(),TD=he(),BD=TD(\"iterator\");Qn.exports=function(e){if(!SD(e))return Yn(e,BD)||Yn(e,\"@@iterator\")||yD[_D(e)]};}),Jn=S((U2,Kn)=>{var bD=De(),wD=Fe(),ND=de(),OD=ke(),qD=Gr(),ID=TypeError;Kn.exports=function(e,r){var u=arguments.length<2?qD(e):r;if(wD(u))return ND(bD(u,e));throw ID(OD(e)+\" is not iterable\")};}),rs=S((G2,es)=>{var RD=De(),Zn=de(),xD=Le();es.exports=function(e,r,u){var n,D;Zn(e);try{if(n=xD(e,\"return\"),!n){if(r===\"throw\")throw u;return u}n=RD(n,e);}catch(s){D=!0,n=s;}if(r===\"throw\")throw u;if(D)throw n;return Zn(n),u};}),is=S((V2,ss)=>{var PD=$r(),kD=De(),LD=de(),$D=ke(),MD=Wn(),jD=_e(),us=ir(),UD=Jn(),GD=Gr(),ts=rs(),VD=TypeError,Ye=function(e,r){this.stopped=e,this.result=r;},ns=Ye.prototype;ss.exports=function(e,r,u){var n=u&&u.that,D=!!(u&&u.AS_ENTRIES),s=!!(u&&u.IS_RECORD),i=!!(u&&u.IS_ITERATOR),f=!!(u&&u.INTERRUPTED),c=PD(r,n),F,a,l,h,C,d,m,T=function(g){return F&&ts(F,\"normal\",g),new Ye(!0,g)},w=function(g){return D?(LD(g),f?c(g[0],g[1],T):c(g[0],g[1])):f?c(g,T):c(g)};if(s)F=e.iterator;else if(i)F=e;else {if(a=GD(e),!a)throw VD($D(e)+\" is not iterable\");if(MD(a)){for(l=0,h=jD(e);h>l;l++)if(C=w(e[l]),C&&us(ns,C))return C;return new Ye(!1)}F=UD(e,a);}for(d=s?e.next:F.next;!(m=kD(d,F)).done;){try{C=w(m.value);}catch(g){ts(F,\"throw\",g);}if(typeof C==\"object\"&&C&&us(ns,C))return C}return new Ye(!1)};}),os=S((X2,as)=>{var XD=je(),HD=Ae(),zD=Ie();as.exports=function(e,r,u){var n=XD(r);n in e?HD.f(e,n,zD(0,u)):e[n]=u;};}),Ds=S(()=>{var WD=ze(),YD=is(),QD=os();WD({target:\"Object\",stat:!0},{fromEntries:function(r){var u={};return YD(r,function(n,D){QD(u,n,D);},{AS_ENTRIES:!0}),u}});}),Dc=S((W2,Os)=>{var KD=[\"cliName\",\"cliCategory\",\"cliDescription\"];function JD(e,r){if(e==null)return {};var u=ZD(e,r),n,D;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(D=0;D=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(u[n]=e[n]);}return u}function ZD(e,r){if(e==null)return {};var u={},n=Object.keys(e),D,s;for(s=0;s=0)&&(u[D]=e[D]);return u}mn(),Xn(),Ds();var el=Object.create,Je=Object.defineProperty,rl=Object.getOwnPropertyDescriptor,Xr=Object.getOwnPropertyNames,ul=Object.getPrototypeOf,tl=Object.prototype.hasOwnProperty,Ee=(e,r)=>function(){return e&&(r=(0, e[Xr(e)[0]])(e=0)),r},I=(e,r)=>function(){return r||(0, e[Xr(e)[0]])((r={exports:{}}).exports,r),r.exports},ps=(e,r)=>{for(var u in r)Je(e,u,{get:r[u],enumerable:!0});},fs=(e,r,u,n)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let D of Xr(r))!tl.call(e,D)&&D!==u&&Je(e,D,{get:()=>r[D],enumerable:!(n=rl(r,D))||n.enumerable});return e},nl=(e,r,u)=>(u=e!=null?el(ul(e)):{},fs(r||!e||!e.__esModule?Je(u,\"default\",{value:e,enumerable:!0}):u,e)),ds=e=>fs(Je({},\"__esModule\",{value:!0}),e),Te,q=Ee({\"\"(){Te={env:{},argv:[]};}}),Es=I({\"node_modules/angular-html-parser/lib/compiler/src/chars.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0}),e.$EOF=0,e.$BSPACE=8,e.$TAB=9,e.$LF=10,e.$VTAB=11,e.$FF=12,e.$CR=13,e.$SPACE=32,e.$BANG=33,e.$DQ=34,e.$HASH=35,e.$$=36,e.$PERCENT=37,e.$AMPERSAND=38,e.$SQ=39,e.$LPAREN=40,e.$RPAREN=41,e.$STAR=42,e.$PLUS=43,e.$COMMA=44,e.$MINUS=45,e.$PERIOD=46,e.$SLASH=47,e.$COLON=58,e.$SEMICOLON=59,e.$LT=60,e.$EQ=61,e.$GT=62,e.$QUESTION=63,e.$0=48,e.$7=55,e.$9=57,e.$A=65,e.$E=69,e.$F=70,e.$X=88,e.$Z=90,e.$LBRACKET=91,e.$BACKSLASH=92,e.$RBRACKET=93,e.$CARET=94,e.$_=95,e.$a=97,e.$b=98,e.$e=101,e.$f=102,e.$n=110,e.$r=114,e.$t=116,e.$u=117,e.$v=118,e.$x=120,e.$z=122,e.$LBRACE=123,e.$BAR=124,e.$RBRACE=125,e.$NBSP=160,e.$PIPE=124,e.$TILDA=126,e.$AT=64,e.$BT=96;function r(f){return f>=e.$TAB&&f<=e.$SPACE||f==e.$NBSP}e.isWhitespace=r;function u(f){return e.$0<=f&&f<=e.$9}e.isDigit=u;function n(f){return f>=e.$a&&f<=e.$z||f>=e.$A&&f<=e.$Z}e.isAsciiLetter=n;function D(f){return f>=e.$a&&f<=e.$f||f>=e.$A&&f<=e.$F||u(f)}e.isAsciiHexDigit=D;function s(f){return f===e.$LF||f===e.$CR}e.isNewLine=s;function i(f){return e.$0<=f&&f<=e.$7}e.isOctalDigit=i;}}),sl=I({\"node_modules/angular-html-parser/lib/compiler/src/aot/static_symbol.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=class{constructor(n,D,s){this.filePath=n,this.name=D,this.members=s;}assertNoMembers(){if(this.members.length)throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`)}};e.StaticSymbol=r;var u=class{constructor(){this.cache=new Map;}get(n,D,s){s=s||[];let i=s.length?`.${s.join(\".\")}`:\"\",f=`\"${n}\".${D}${i}`,c=this.cache.get(f);return c||(c=new r(n,D,s),this.cache.set(f,c)),c}};e.StaticSymbolCache=u;}}),il=I({\"node_modules/angular-html-parser/lib/compiler/src/util.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=/-+([a-z0-9])/g;function u(o){return o.replace(r,function(){for(var E=arguments.length,p=new Array(E),A=0;Ai(p,this,E))}visitStringMap(o,E){let p={};return Object.keys(o).forEach(A=>{p[A]=i(o[A],this,E);}),p}visitPrimitive(o,E){return o}visitOther(o,E){return o}};e.ValueTransformer=F,e.SyncAsync={assertSync:o=>{if(_(o))throw new Error(\"Illegal state: value cannot be a promise\");return o},then:(o,E)=>_(o)?o.then(E):E(o),all:o=>o.some(_)?Promise.all(o):o};function a(o){throw new Error(`Internal Error: ${o}`)}e.error=a;function l(o,E){let p=Error(o);return p[h]=!0,E&&(p[C]=E),p}e.syntaxError=l;var h=\"ngSyntaxError\",C=\"ngParseErrors\";function d(o){return o[h]}e.isSyntaxError=d;function m(o){return o[C]||[]}e.getParseErrors=m;function T(o){return o.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g,\"\\\\$1\")}e.escapeRegExp=T;var w=Object.getPrototypeOf({});function g(o){return typeof o==\"object\"&&o!==null&&Object.getPrototypeOf(o)===w}function N(o){let E=\"\";for(let p=0;p=55296&&A<=56319&&o.length>p+1){let P=o.charCodeAt(p+1);P>=56320&&P<=57343&&(p++,A=(A-55296<<10)+P-56320+65536);}A<=127?E+=String.fromCharCode(A):A<=2047?E+=String.fromCharCode(A>>6&31|192,A&63|128):A<=65535?E+=String.fromCharCode(A>>12|224,A>>6&63|128,A&63|128):A<=2097151&&(E+=String.fromCharCode(A>>18&7|240,A>>12&63|128,A>>6&63|128,A&63|128));}return E}e.utf8Encode=N;function R(o){if(typeof o==\"string\")return o;if(o instanceof Array)return \"[\"+o.map(R).join(\", \")+\"]\";if(o==null)return \"\"+o;if(o.overriddenName)return `${o.overriddenName}`;if(o.name)return `${o.name}`;if(!o.toString)return \"object\";let E=o.toString();if(E==null)return \"\"+E;let p=E.indexOf(`\n`);return p===-1?E:E.substring(0,p)}e.stringify=R;function j(o){return typeof o==\"function\"&&o.hasOwnProperty(\"__forward_ref__\")?o():o}e.resolveForwardRef=j;function _(o){return !!o&&typeof o.then==\"function\"}e.isPromise=_;var O=class{constructor(o){this.full=o;let E=o.split(\".\");this.major=E[0],this.minor=E[1],this.patch=E.slice(2).join(\".\");}};e.Version=O;var x=typeof window<\"u\"&&window,k=typeof self<\"u\"&&typeof WorkerGlobalScope<\"u\"&&self instanceof WorkerGlobalScope&&self,$=typeof globalThis<\"u\"&&globalThis,t=$||x||k;e.global=t;}}),al=I({\"node_modules/angular-html-parser/lib/compiler/src/compile_metadata.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=sl(),u=il(),n=/^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;function D(p){return p.replace(/\\W/g,\"_\")}e.sanitizeIdentifier=D;var s=0;function i(p){if(!p||!p.reference)return null;let A=p.reference;if(A instanceof r.StaticSymbol)return A.name;if(A.__anonymousType)return A.__anonymousType;let P=u.stringify(A);return P.indexOf(\"(\")>=0?(P=`anonymous_${s++}`,A.__anonymousType=P):P=D(P),P}e.identifierName=i;function f(p){let A=p.reference;return A instanceof r.StaticSymbol?A.filePath:`./${u.stringify(A)}`}e.identifierModuleUrl=f;function c(p,A){return `View_${i({reference:p})}_${A}`}e.viewClassName=c;function F(p){return `RenderType_${i({reference:p})}`}e.rendererTypeName=F;function a(p){return `HostView_${i({reference:p})}`}e.hostViewClassName=a;function l(p){return `${i({reference:p})}NgFactory`}e.componentFactoryName=l;var h;(function(p){p[p.Pipe=0]=\"Pipe\",p[p.Directive=1]=\"Directive\",p[p.NgModule=2]=\"NgModule\",p[p.Injectable=3]=\"Injectable\";})(h=e.CompileSummaryKind||(e.CompileSummaryKind={}));function C(p){return p.value!=null?D(p.value):i(p.identifier)}e.tokenName=C;function d(p){return p.identifier!=null?p.identifier.reference:p.value}e.tokenReference=d;var m=class{constructor(){let{moduleUrl:p,styles:A,styleUrls:P}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.moduleUrl=p||null,this.styles=_(A),this.styleUrls=_(P);}};e.CompileStylesheetMetadata=m;var T=class{constructor(p){let{encapsulation:A,template:P,templateUrl:M,htmlAst:z,styles:V,styleUrls:X,externalStylesheets:H,animations:Q,ngContentSelectors:K,interpolation:J,isInline:v,preserveWhitespaces:y}=p;if(this.encapsulation=A,this.template=P,this.templateUrl=M,this.htmlAst=z,this.styles=_(V),this.styleUrls=_(X),this.externalStylesheets=_(H),this.animations=Q?x(Q):[],this.ngContentSelectors=K||[],J&&J.length!=2)throw new Error(\"'interpolation' should have a start and an end symbol.\");this.interpolation=J,this.isInline=v,this.preserveWhitespaces=y;}toSummary(){return {ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};e.CompileTemplateMetadata=T;var w=class{static create(p){let{isHost:A,type:P,isComponent:M,selector:z,exportAs:V,changeDetection:X,inputs:H,outputs:Q,host:K,providers:J,viewProviders:v,queries:y,guards:B,viewQueries:b,entryComponents:L,template:U,componentViewType:G,rendererType:W,componentFactory:ne}=p,be={},we={},Wr={};K!=null&&Object.keys(K).forEach(Z=>{let ie=K[Z],Ce=Z.match(n);Ce===null?Wr[Z]=ie:Ce[1]!=null?we[Ce[1]]=ie:Ce[2]!=null&&(be[Ce[2]]=ie);});let Yr={};H?.forEach(Z=>{let ie=u.splitAtColon(Z,[Z,Z]);Yr[ie[0]]=ie[1];});let Qr={};return Q?.forEach(Z=>{let ie=u.splitAtColon(Z,[Z,Z]);Qr[ie[0]]=ie[1];}),new w({isHost:A,type:P,isComponent:!!M,selector:z,exportAs:V,changeDetection:X,inputs:Yr,outputs:Qr,hostListeners:be,hostProperties:we,hostAttributes:Wr,providers:J,viewProviders:v,queries:y,guards:B,viewQueries:b,entryComponents:L,template:U,componentViewType:G,rendererType:W,componentFactory:ne})}constructor(p){let{isHost:A,type:P,isComponent:M,selector:z,exportAs:V,changeDetection:X,inputs:H,outputs:Q,hostListeners:K,hostProperties:J,hostAttributes:v,providers:y,viewProviders:B,queries:b,guards:L,viewQueries:U,entryComponents:G,template:W,componentViewType:ne,rendererType:be,componentFactory:we}=p;this.isHost=!!A,this.type=P,this.isComponent=M,this.selector=z,this.exportAs=V,this.changeDetection=X,this.inputs=H,this.outputs=Q,this.hostListeners=K,this.hostProperties=J,this.hostAttributes=v,this.providers=_(y),this.viewProviders=_(B),this.queries=_(b),this.guards=L,this.viewQueries=_(U),this.entryComponents=_(G),this.template=W,this.componentViewType=ne,this.rendererType=be,this.componentFactory=we;}toSummary(){return {summaryKind:h.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}};e.CompileDirectiveMetadata=w;var g=class{constructor(p){let{type:A,name:P,pure:M}=p;this.type=A,this.name=P,this.pure=!!M;}toSummary(){return {summaryKind:h.Pipe,type:this.type,name:this.name,pure:this.pure}}};e.CompilePipeMetadata=g;var N=class{};e.CompileShallowModuleMetadata=N;var R=class{constructor(p){let{type:A,providers:P,declaredDirectives:M,exportedDirectives:z,declaredPipes:V,exportedPipes:X,entryComponents:H,bootstrapComponents:Q,importedModules:K,exportedModules:J,schemas:v,transitiveModule:y,id:B}=p;this.type=A||null,this.declaredDirectives=_(M),this.exportedDirectives=_(z),this.declaredPipes=_(V),this.exportedPipes=_(X),this.providers=_(P),this.entryComponents=_(H),this.bootstrapComponents=_(Q),this.importedModules=_(K),this.exportedModules=_(J),this.schemas=_(v),this.id=B||null,this.transitiveModule=y||null;}toSummary(){let p=this.transitiveModule;return {summaryKind:h.NgModule,type:this.type,entryComponents:p.entryComponents,providers:p.providers,modules:p.modules,exportedDirectives:p.exportedDirectives,exportedPipes:p.exportedPipes}}};e.CompileNgModuleMetadata=R;var j=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[];}addProvider(p,A){this.providers.push({provider:p,module:A});}addDirective(p){this.directivesSet.has(p.reference)||(this.directivesSet.add(p.reference),this.directives.push(p));}addExportedDirective(p){this.exportedDirectivesSet.has(p.reference)||(this.exportedDirectivesSet.add(p.reference),this.exportedDirectives.push(p));}addPipe(p){this.pipesSet.has(p.reference)||(this.pipesSet.add(p.reference),this.pipes.push(p));}addExportedPipe(p){this.exportedPipesSet.has(p.reference)||(this.exportedPipesSet.add(p.reference),this.exportedPipes.push(p));}addModule(p){this.modulesSet.has(p.reference)||(this.modulesSet.add(p.reference),this.modules.push(p));}addEntryComponent(p){this.entryComponentsSet.has(p.componentType)||(this.entryComponentsSet.add(p.componentType),this.entryComponents.push(p));}};e.TransitiveCompileNgModuleMetadata=j;function _(p){return p||[]}var O=class{constructor(p,A){let{useClass:P,useValue:M,useExisting:z,useFactory:V,deps:X,multi:H}=A;this.token=p,this.useClass=P||null,this.useValue=M,this.useExisting=z,this.useFactory=V||null,this.dependencies=X||null,this.multi=!!H;}};e.ProviderMeta=O;function x(p){return p.reduce((A,P)=>{let M=Array.isArray(P)?x(P):P;return A.concat(M)},[])}e.flatten=x;function k(p){return p.replace(/(\\w+:\\/\\/[\\w:-]+)?(\\/+)?/,\"ng:///\")}function $(p,A,P){let M;return P.isInline?A.type.reference instanceof r.StaticSymbol?M=`${A.type.reference.filePath}.${A.type.reference.name}.html`:M=`${i(p)}/${i(A.type)}.html`:M=P.templateUrl,A.type.reference instanceof r.StaticSymbol?M:k(M)}e.templateSourceUrl=$;function t(p,A){let P=p.moduleUrl.split(/\\/\\\\/g),M=P[P.length-1];return k(`css/${A}${M}.ngstyle.js`)}e.sharedStylesheetJitUrl=t;function o(p){return k(`${i(p.type)}/module.ngfactory.js`)}e.ngModuleJitUrl=o;function E(p,A){return k(`${i(p)}/${i(A.type)}.ngfactory.js`)}e.templateJitUrl=E;}}),Be=I({\"node_modules/angular-html-parser/lib/compiler/src/parse_util.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Es(),u=al(),n=class{constructor(a,l,h,C){this.file=a,this.offset=l,this.line=h,this.col=C;}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(a){let l=this.file.content,h=l.length,C=this.offset,d=this.line,m=this.col;for(;C>0&&a<0;)if(C--,a++,l.charCodeAt(C)==r.$LF){d--;let w=l.substr(0,C-1).lastIndexOf(String.fromCharCode(r.$LF));m=w>0?C-w:C;}else m--;for(;C0;){let T=l.charCodeAt(C);C++,a--,T==r.$LF?(d++,m=0):m++;}return new n(this.file,C,d,m)}getContext(a,l){let h=this.file.content,C=this.offset;if(C!=null){C>h.length-1&&(C=h.length-1);let d=C,m=0,T=0;for(;m0&&(C--,m++,!(h[C]==`\n`&&++T==l)););for(m=0,T=0;m2&&arguments[2]!==void 0?arguments[2]:null;this.start=a,this.end=l,this.details=h;}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}};e.ParseSourceSpan=s,e.EMPTY_PARSE_LOCATION=new n(new D(\"\",\"\"),0,0,0),e.EMPTY_SOURCE_SPAN=new s(e.EMPTY_PARSE_LOCATION,e.EMPTY_PARSE_LOCATION);var i;(function(a){a[a.WARNING=0]=\"WARNING\",a[a.ERROR=1]=\"ERROR\";})(i=e.ParseErrorLevel||(e.ParseErrorLevel={}));var f=class{constructor(a,l){let h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.ERROR;this.span=a,this.msg=l,this.level=h;}contextualMessage(){let a=this.span.start.getContext(100,3);return a?`${this.msg} (\"${a.before}[${i[this.level]} ->]${a.after}\")`:this.msg}toString(){let a=this.span.details?`, ${this.span.details}`:\"\";return `${this.contextualMessage()}: ${this.span.start}${a}`}};e.ParseError=f;function c(a,l){let h=u.identifierModuleUrl(l),C=h!=null?`in ${a} ${u.identifierName(l)} in ${h}`:`in ${a} ${u.identifierName(l)}`,d=new D(\"\",C);return new s(new n(d,-1,-1,-1),new n(d,-1,-1,-1))}e.typeSourceSpan=c;function F(a,l,h){let C=`in ${a} ${l} in ${h}`,d=new D(\"\",C);return new s(new n(d,-1,-1,-1),new n(d,-1,-1,-1))}e.r3JitTypeSourceSpan=F;}}),ol=I({\"src/utils/front-matter/parse.js\"(e,r){q();var u=new RegExp(\"^(?-{3}|\\\\+{3})(?[^\\\\n]*)\\\\n(?:|(?.*?)\\\\n)(?\\\\k|\\\\.{3})[^\\\\S\\\\n]*(?:\\\\n|$)\",\"s\");function n(D){let s=D.match(u);if(!s)return {content:D};let{startDelimiter:i,language:f,value:c=\"\",endDelimiter:F}=s.groups,a=f.trim()||\"yaml\";if(i===\"+++\"&&(a=\"toml\"),a!==\"yaml\"&&i!==F)return {content:D};let[l]=s;return {frontMatter:{type:\"front-matter\",lang:a,value:c,startDelimiter:i,endDelimiter:F,raw:l.replace(/\\n$/,\"\")},content:l.replace(/[^\\n]/g,\" \")+D.slice(l.length)}}r.exports=n;}}),Cs=I({\"src/utils/get-last.js\"(e,r){q();var u=n=>n[n.length-1];r.exports=u;}}),Dl=I({\"src/common/parser-create-error.js\"(e,r){q();function u(n,D){let s=new SyntaxError(n+\" (\"+D.start.line+\":\"+D.start.column+\")\");return s.loc=D,s}r.exports=u;}}),ms={};ps(ms,{default:()=>ll});function ll(e){if(typeof e!=\"string\")throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")}var cl=Ee({\"node_modules/escape-string-regexp/index.js\"(){q();}}),gs=I({\"node_modules/semver/internal/debug.js\"(e,r){q();var u=typeof Te==\"object\"&&Te.env&&Te.env.NODE_DEBUG&&/\\bsemver\\b/i.test(Te.env.NODE_DEBUG)?function(){for(var n=arguments.length,D=new Array(n),s=0;s{};r.exports=u;}}),Fs=I({\"node_modules/semver/internal/constants.js\"(e,r){q();var u=\"2.0.0\",n=256,D=Number.MAX_SAFE_INTEGER||9007199254740991,s=16;r.exports={SEMVER_SPEC_VERSION:u,MAX_LENGTH:n,MAX_SAFE_INTEGER:D,MAX_SAFE_COMPONENT_LENGTH:s};}}),hl=I({\"node_modules/semver/internal/re.js\"(e,r){q();var{MAX_SAFE_COMPONENT_LENGTH:u}=Fs(),n=gs();e=r.exports={};var D=e.re=[],s=e.src=[],i=e.t={},f=0,c=(F,a,l)=>{let h=f++;n(F,h,a),i[F]=h,s[h]=a,D[h]=new RegExp(a,l?\"g\":void 0);};c(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),c(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),c(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),c(\"MAINVERSION\",`(${s[i.NUMERICIDENTIFIER]})\\\\.(${s[i.NUMERICIDENTIFIER]})\\\\.(${s[i.NUMERICIDENTIFIER]})`),c(\"MAINVERSIONLOOSE\",`(${s[i.NUMERICIDENTIFIERLOOSE]})\\\\.(${s[i.NUMERICIDENTIFIERLOOSE]})\\\\.(${s[i.NUMERICIDENTIFIERLOOSE]})`),c(\"PRERELEASEIDENTIFIER\",`(?:${s[i.NUMERICIDENTIFIER]}|${s[i.NONNUMERICIDENTIFIER]})`),c(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${s[i.NUMERICIDENTIFIERLOOSE]}|${s[i.NONNUMERICIDENTIFIER]})`),c(\"PRERELEASE\",`(?:-(${s[i.PRERELEASEIDENTIFIER]}(?:\\\\.${s[i.PRERELEASEIDENTIFIER]})*))`),c(\"PRERELEASELOOSE\",`(?:-?(${s[i.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${s[i.PRERELEASEIDENTIFIERLOOSE]})*))`),c(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),c(\"BUILD\",`(?:\\\\+(${s[i.BUILDIDENTIFIER]}(?:\\\\.${s[i.BUILDIDENTIFIER]})*))`),c(\"FULLPLAIN\",`v?${s[i.MAINVERSION]}${s[i.PRERELEASE]}?${s[i.BUILD]}?`),c(\"FULL\",`^${s[i.FULLPLAIN]}$`),c(\"LOOSEPLAIN\",`[v=\\\\s]*${s[i.MAINVERSIONLOOSE]}${s[i.PRERELEASELOOSE]}?${s[i.BUILD]}?`),c(\"LOOSE\",`^${s[i.LOOSEPLAIN]}$`),c(\"GTLT\",\"((?:<|>)?=?)\"),c(\"XRANGEIDENTIFIERLOOSE\",`${s[i.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`),c(\"XRANGEIDENTIFIER\",`${s[i.NUMERICIDENTIFIER]}|x|X|\\\\*`),c(\"XRANGEPLAIN\",`[v=\\\\s]*(${s[i.XRANGEIDENTIFIER]})(?:\\\\.(${s[i.XRANGEIDENTIFIER]})(?:\\\\.(${s[i.XRANGEIDENTIFIER]})(?:${s[i.PRERELEASE]})?${s[i.BUILD]}?)?)?`),c(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${s[i.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${s[i.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${s[i.XRANGEIDENTIFIERLOOSE]})(?:${s[i.PRERELEASELOOSE]})?${s[i.BUILD]}?)?)?`),c(\"XRANGE\",`^${s[i.GTLT]}\\\\s*${s[i.XRANGEPLAIN]}$`),c(\"XRANGELOOSE\",`^${s[i.GTLT]}\\\\s*${s[i.XRANGEPLAINLOOSE]}$`),c(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${u}})(?:\\\\.(\\\\d{1,${u}}))?(?:\\\\.(\\\\d{1,${u}}))?(?:$|[^\\\\d])`),c(\"COERCERTL\",s[i.COERCE],!0),c(\"LONETILDE\",\"(?:~>?)\"),c(\"TILDETRIM\",`(\\\\s*)${s[i.LONETILDE]}\\\\s+`,!0),e.tildeTrimReplace=\"$1~\",c(\"TILDE\",`^${s[i.LONETILDE]}${s[i.XRANGEPLAIN]}$`),c(\"TILDELOOSE\",`^${s[i.LONETILDE]}${s[i.XRANGEPLAINLOOSE]}$`),c(\"LONECARET\",\"(?:\\\\^)\"),c(\"CARETTRIM\",`(\\\\s*)${s[i.LONECARET]}\\\\s+`,!0),e.caretTrimReplace=\"$1^\",c(\"CARET\",`^${s[i.LONECARET]}${s[i.XRANGEPLAIN]}$`),c(\"CARETLOOSE\",`^${s[i.LONECARET]}${s[i.XRANGEPLAINLOOSE]}$`),c(\"COMPARATORLOOSE\",`^${s[i.GTLT]}\\\\s*(${s[i.LOOSEPLAIN]})$|^$`),c(\"COMPARATOR\",`^${s[i.GTLT]}\\\\s*(${s[i.FULLPLAIN]})$|^$`),c(\"COMPARATORTRIM\",`(\\\\s*)${s[i.GTLT]}\\\\s*(${s[i.LOOSEPLAIN]}|${s[i.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace=\"$1$2$3\",c(\"HYPHENRANGE\",`^\\\\s*(${s[i.XRANGEPLAIN]})\\\\s+-\\\\s+(${s[i.XRANGEPLAIN]})\\\\s*$`),c(\"HYPHENRANGELOOSE\",`^\\\\s*(${s[i.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${s[i.XRANGEPLAINLOOSE]})\\\\s*$`),c(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),c(\"GTE0\",\"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\"),c(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");}}),pl=I({\"node_modules/semver/internal/parse-options.js\"(e,r){q();var u=[\"includePrerelease\",\"loose\",\"rtl\"],n=D=>D?typeof D!=\"object\"?{loose:!0}:u.filter(s=>D[s]).reduce((s,i)=>(s[i]=!0,s),{}):{};r.exports=n;}}),fl=I({\"node_modules/semver/internal/identifiers.js\"(e,r){q();var u=/^[0-9]+$/,n=(s,i)=>{let f=u.test(s),c=u.test(i);return f&&c&&(s=+s,i=+i),s===i?0:f&&!c?-1:c&&!f?1:sn(i,s);r.exports={compareIdentifiers:n,rcompareIdentifiers:D};}}),dl=I({\"node_modules/semver/classes/semver.js\"(e,r){q();var u=gs(),{MAX_LENGTH:n,MAX_SAFE_INTEGER:D}=Fs(),{re:s,t:i}=hl(),f=pl(),{compareIdentifiers:c}=fl(),F=class{constructor(a,l){if(l=f(l),a instanceof F){if(a.loose===!!l.loose&&a.includePrerelease===!!l.includePrerelease)return a;a=a.version;}else if(typeof a!=\"string\")throw new TypeError(`Invalid Version: ${a}`);if(a.length>n)throw new TypeError(`version is longer than ${n} characters`);u(\"SemVer\",a,l),this.options=l,this.loose=!!l.loose,this.includePrerelease=!!l.includePrerelease;let h=a.trim().match(l.loose?s[i.LOOSE]:s[i.FULL]);if(!h)throw new TypeError(`Invalid Version: ${a}`);if(this.raw=a,this.major=+h[1],this.minor=+h[2],this.patch=+h[3],this.major>D||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>D||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>D||this.patch<0)throw new TypeError(\"Invalid patch version\");h[4]?this.prerelease=h[4].split(\".\").map(C=>{if(/^[0-9]+$/.test(C)){let d=+C;if(d>=0&&d=0;)typeof this.prerelease[h]==\"number\"&&(this.prerelease[h]++,h=-2);h===-1&&this.prerelease.push(0);}l&&(c(this.prerelease[0],l)===0?isNaN(this.prerelease[1])&&(this.prerelease=[l,0]):this.prerelease=[l,0]);break;default:throw new Error(`invalid increment argument: ${a}`)}return this.format(),this.raw=this.version,this}};r.exports=F;}}),Hr=I({\"node_modules/semver/functions/compare.js\"(e,r){q();var u=dl(),n=(D,s,i)=>new u(D,i).compare(new u(s,i));r.exports=n;}}),El=I({\"node_modules/semver/functions/lt.js\"(e,r){q();var u=Hr(),n=(D,s,i)=>u(D,s,i)<0;r.exports=n;}}),Cl=I({\"node_modules/semver/functions/gte.js\"(e,r){q();var u=Hr(),n=(D,s,i)=>u(D,s,i)>=0;r.exports=n;}}),ml=I({\"src/utils/arrayify.js\"(e,r){q(),r.exports=(u,n)=>Object.entries(u).map(D=>{let[s,i]=D;return Object.assign({[n]:s},i)});}}),gl=I({\"package.json\"(e,r){r.exports={version:\"2.8.7\"};}}),Fl=I({\"node_modules/outdent/lib/index.js\"(e,r){q(),Object.defineProperty(e,\"__esModule\",{value:!0}),e.outdent=void 0;function u(){for(var g=[],N=0;Ntypeof l==\"string\"||typeof l==\"function\",choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"acorn\",since:\"2.6.0\",description:\"JavaScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:\"2.3.0\",description:\"Ember / Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:c,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:l=>typeof l==\"string\"||typeof l==\"object\",cliName:\"plugin\",cliCategory:n},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:c,description:u`\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n `,exception:l=>typeof l==\"string\"||typeof l==\"object\",cliName:\"plugin-search-dir\",cliCategory:n},printWidth:{since:\"0.0.0\",category:c,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:\"1.4.0\",category:F,type:\"int\",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:u`\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n `,cliCategory:D},rangeStart:{since:\"1.4.0\",category:F,type:\"int\",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:u`\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n `,cliCategory:D},requirePragma:{since:\"1.7.0\",category:F,type:\"boolean\",default:!1,description:u`\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n `,cliCategory:i},tabWidth:{type:\"int\",category:c,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:\"1.0.0\",category:c,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:c,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};r.exports={CATEGORY_CONFIG:n,CATEGORY_EDITOR:D,CATEGORY_FORMAT:s,CATEGORY_OTHER:i,CATEGORY_OUTPUT:f,CATEGORY_GLOBAL:c,CATEGORY_SPECIAL:F,options:a};}}),vl=I({\"src/main/support.js\"(e,r){q();var u={compare:Hr(),lt:El(),gte:Cl()},n=ml(),D=gl().version,s=Al().options;function i(){let{plugins:c=[],showUnreleased:F=!1,showDeprecated:a=!1,showInternal:l=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},h=D.split(\"-\",1)[0],C=c.flatMap(g=>g.languages||[]).filter(m),d=n(Object.assign({},...c.map(g=>{let{options:N}=g;return N}),s),\"name\").filter(g=>m(g)&&T(g)).sort((g,N)=>g.name===N.name?0:g.name{g=Object.assign({},g),Array.isArray(g.default)&&(g.default=g.default.length===1?g.default[0].value:g.default.filter(m).sort((R,j)=>u.compare(j.since,R.since))[0].value),Array.isArray(g.choices)&&(g.choices=g.choices.filter(R=>m(R)&&T(R)),g.name===\"parser\"&&f(g,C,c));let N=Object.fromEntries(c.filter(R=>R.defaultOptions&&R.defaultOptions[g.name]!==void 0).map(R=>[R.name,R.defaultOptions[g.name]]));return Object.assign(Object.assign({},g),{},{pluginDefaults:N})});return {languages:C,options:d};function m(g){return F||!(\"since\"in g)||g.since&&u.gte(h,g.since)}function T(g){return a||!(\"deprecated\"in g)||g.deprecated&&u.lt(h,g.deprecated)}function w(g){if(l)return g;return JD(g,KD)}}function f(c,F,a){let l=new Set(c.choices.map(h=>h.value));for(let h of F)if(h.parsers){for(let C of h.parsers)if(!l.has(C)){l.add(C);let d=a.find(T=>T.parsers&&T.parsers[C]),m=h.name;d&&d.name&&(m+=` (plugin: ${d.name})`),c.choices.push({value:C,description:m});}}}r.exports={getSupportInfo:i};}}),_l=I({\"src/utils/is-non-empty-array.js\"(e,r){q();function u(n){return Array.isArray(n)&&n.length>0}r.exports=u;}});function Sl(){let{onlyFirst:e=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(r,e?void 0:\"g\")}var yl=Ee({\"node_modules/strip-ansi/node_modules/ansi-regex/index.js\"(){q();}});function Tl(e){if(typeof e!=\"string\")throw new TypeError(`Expected a \\`string\\`, got \\`${typeof e}\\``);return e.replace(Sl(),\"\")}var Bl=Ee({\"node_modules/strip-ansi/index.js\"(){q(),yl();}});function bl(e){return Number.isInteger(e)?e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141):!1}var wl=Ee({\"node_modules/is-fullwidth-code-point/index.js\"(){q();}}),Nl=I({\"node_modules/emoji-regex/index.js\"(e,r){q(),r.exports=function(){return /\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67)\\uDB40\\uDC7F|(?:\\uD83E\\uDDD1\\uD83C\\uDFFF\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C\\uDFFB(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF]))|\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))?|(?:\\uD83C[\\uDFFC-\\uDFFF])\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF]))|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\u200D(?:(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC)?|(?:\\uD83D\\uDC69(?:\\uD83C\\uDFFB\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|(?:\\uD83C[\\uDFFC-\\uDFFF])\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69]))|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC69(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83E\\uDDD1(?:\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDE36\\u200D\\uD83C\\uDF2B|\\uD83C\\uDFF3\\uFE0F\\u200D\\u26A7|\\uD83D\\uDC3B\\u200D\\u2744|(?:(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\uD83C\\uDFF4\\u200D\\u2620|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])\\u200D[\\u2640\\u2642]|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u2600-\\u2604\\u260E\\u2611\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26B0\\u26B1\\u26C8\\u26CF\\u26D1\\u26D3\\u26E9\\u26F0\\u26F1\\u26F4\\u26F7\\u26F8\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]|\\uD83D[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3])\\uFE0F|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDE35\\u200D\\uD83D\\uDCAB|\\uD83D\\uDE2E\\u200D\\uD83D\\uDCA8|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83D\\uDC69(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83D\\uDC08\\u200D\\u2B1B|\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79)|\\uD83D\\uDC41\\uFE0F|\\uD83C\\uDFF3\\uFE0F|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|[#\\*0-9]\\uFE0F\\u20E3|\\u2764\\uFE0F|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDFF4|(?:[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270C\\u270D]|\\uD83D[\\uDD74\\uDD90])(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC08\\uDC15\\uDC3B\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE2E\\uDE35\\uDE36\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5]|\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD]|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF]|[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD1D\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78\\uDD7A-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCB\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6]|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0C-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26A7\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5-\\uDED7\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0C-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDD77\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g};}}),As={};ps(As,{default:()=>Ol});function Ol(e){if(typeof e!=\"string\"||e.length===0||(e=Tl(e),e.length===0))return 0;e=e.replace((0, vs.default)(),\" \");let r=0;for(let u=0;u=127&&n<=159||n>=768&&n<=879||(n>65535&&u++,r+=bl(n)?2:1);}return r}var vs,ql=Ee({\"node_modules/string-width/index.js\"(){q(),Bl(),wl(),vs=nl(Nl());}}),Il=I({\"src/utils/get-string-width.js\"(e,r){q();var u=(ql(),ds(As)).default,n=/[^\\x20-\\x7F]/;function D(s){return s?n.test(s)?u(s):s.length:0}r.exports=D;}}),zr=I({\"src/utils/text/skip.js\"(e,r){q();function u(f){return (c,F,a)=>{let l=a&&a.backwards;if(F===!1)return !1;let{length:h}=c,C=F;for(;C>=0&&Cv[v.length-2];function T(v){return (y,B,b)=>{let L=b&&b.backwards;if(B===!1)return !1;let{length:U}=y,G=B;for(;G>=0&&G2&&arguments[2]!==void 0?arguments[2]:{},b=c(v,B.backwards?y-1:y,B),L=C(v,b,B);return b!==L}function g(v,y,B){for(let b=y;b2&&arguments[2]!==void 0?arguments[2]:{};return c(v,B.backwards?y-1:y,B)!==y}function k(v,y){let B=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=0;for(let L=B;Lne?U:L;}return G}function o(v,y){let B=v.slice(1,-1),b=y.parser===\"json\"||y.parser===\"json5\"&&y.quoteProps===\"preserve\"&&!y.singleQuote?'\"':y.__isInHtmlAttribute?\"'\":t(B,y.singleQuote?\"'\":'\"').quote;return E(B,b,!(y.parser===\"css\"||y.parser===\"less\"||y.parser===\"scss\"||y.__embeddedInHtml))}function E(v,y,B){let b=y==='\"'?\"'\":'\"',L=/\\\\(.)|([\"'])/gs,U=v.replace(L,(G,W,ne)=>W===b?W:ne===y?\"\\\\\"+ne:ne||(B&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(W)?W:\"\\\\\"+W));return y+U+y}function p(v){return v.toLowerCase().replace(/^([+-]?[\\d.]+e)(?:\\+|(-))?0*(\\d)/,\"$1$2$3\").replace(/^([+-]?[\\d.]+)e[+-]?0+$/,\"$1\").replace(/^([+-])?\\./,\"$10.\").replace(/(\\.\\d+?)0+(?=e|$)/,\"$1\").replace(/\\.(?=e|$)/,\"\")}function A(v,y){let B=v.match(new RegExp(`(${u(y)})+`,\"g\"));return B===null?0:B.reduce((b,L)=>Math.max(b,L.length/y.length),0)}function P(v,y){let B=v.match(new RegExp(`(${u(y)})+`,\"g\"));if(B===null)return 0;let b=new Map,L=0;for(let U of B){let G=U.length/y.length;b.set(G,!0),G>L&&(L=G);}for(let U=1;U{let{name:U}=L;return U.toLowerCase()===v})||B.find(L=>{let{aliases:U}=L;return Array.isArray(U)&&U.includes(v)})||B.find(L=>{let{extensions:U}=L;return Array.isArray(U)&&U.includes(`.${v}`)});return b&&b.parsers[0]}function Q(v){return v&&v.type===\"front-matter\"}function K(v){let y=new WeakMap;return function(B){return y.has(B)||y.set(B,Symbol(v)),y.get(B)}}function J(v){let y=v.type||v.kind||\"(unknown type)\",B=String(v.name||v.id&&(typeof v.id==\"object\"?v.id.name:v.id)||v.key&&(typeof v.key==\"object\"?v.key.name:v.key)||v.value&&(typeof v.value==\"object\"?\"\":String(v.value))||v.operator||\"\");return B.length>20&&(B=B.slice(0,19)+\"\\u2026\"),y+(B?\" \"+B:\"\")}r.exports={inferParserByLanguage:H,getStringWidth:i,getMaxContinuousCount:A,getMinNotPresentContinuousCount:P,getPenultimate:m,getLast:n,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:d,getNextNonSpaceNonCommentCharacterIndex:_,getNextNonSpaceNonCommentCharacter:O,skip:T,skipWhitespace:f,skipSpaces:c,skipToLineEnd:F,skipEverythingButNewLine:a,skipInlineComment:l,skipTrailingComment:h,skipNewline:C,isNextLineEmptyAfterIndex:R,isNextLineEmpty:j,isPreviousLineEmpty:N,hasNewline:w,hasNewlineInRange:g,hasSpaces:x,getAlignmentSize:k,getIndentSize:$,getPreferredQuote:t,printString:o,printNumber:p,makeString:E,addLeadingComment:z,addDanglingComment:V,addTrailingComment:X,isFrontMatterNode:Q,isNonEmptyArray:s,createGroupIdMapper:K};}}),Pl=I({\"vendors/html-tag-names.json\"(e,r){r.exports={htmlTagNames:[\"a\",\"abbr\",\"acronym\",\"address\",\"applet\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"basefont\",\"bdi\",\"bdo\",\"bgsound\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"command\",\"content\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"image\",\"img\",\"input\",\"ins\",\"isindex\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"listing\",\"main\",\"map\",\"mark\",\"marquee\",\"math\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"multicol\",\"nav\",\"nextid\",\"nobr\",\"noembed\",\"noframes\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"plaintext\",\"pre\",\"progress\",\"q\",\"rb\",\"rbc\",\"rp\",\"rt\",\"rtc\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"shadow\",\"slot\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"svg\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"xmp\"]};}}),Ts=I({\"src/language-html/utils/array-to-map.js\"(e,r){q();function u(n){let D=Object.create(null);for(let s of n)D[s]=!0;return D}r.exports=u;}}),kl=I({\"src/language-html/utils/html-tag-names.js\"(e,r){q();var{htmlTagNames:u}=Pl(),n=Ts(),D=n(u);r.exports=D;}}),Ll=I({\"vendors/html-element-attributes.json\"(e,r){r.exports={htmlElementAttributes:{\"*\":[\"accesskey\",\"autocapitalize\",\"autofocus\",\"class\",\"contenteditable\",\"dir\",\"draggable\",\"enterkeyhint\",\"hidden\",\"id\",\"inputmode\",\"is\",\"itemid\",\"itemprop\",\"itemref\",\"itemscope\",\"itemtype\",\"lang\",\"nonce\",\"slot\",\"spellcheck\",\"style\",\"tabindex\",\"title\",\"translate\"],a:[\"charset\",\"coords\",\"download\",\"href\",\"hreflang\",\"name\",\"ping\",\"referrerpolicy\",\"rel\",\"rev\",\"shape\",\"target\",\"type\"],applet:[\"align\",\"alt\",\"archive\",\"code\",\"codebase\",\"height\",\"hspace\",\"name\",\"object\",\"vspace\",\"width\"],area:[\"alt\",\"coords\",\"download\",\"href\",\"hreflang\",\"nohref\",\"ping\",\"referrerpolicy\",\"rel\",\"shape\",\"target\",\"type\"],audio:[\"autoplay\",\"controls\",\"crossorigin\",\"loop\",\"muted\",\"preload\",\"src\"],base:[\"href\",\"target\"],basefont:[\"color\",\"face\",\"size\"],blockquote:[\"cite\"],body:[\"alink\",\"background\",\"bgcolor\",\"link\",\"text\",\"vlink\"],br:[\"clear\"],button:[\"disabled\",\"form\",\"formaction\",\"formenctype\",\"formmethod\",\"formnovalidate\",\"formtarget\",\"name\",\"type\",\"value\"],canvas:[\"height\",\"width\"],caption:[\"align\"],col:[\"align\",\"char\",\"charoff\",\"span\",\"valign\",\"width\"],colgroup:[\"align\",\"char\",\"charoff\",\"span\",\"valign\",\"width\"],data:[\"value\"],del:[\"cite\",\"datetime\"],details:[\"open\"],dialog:[\"open\"],dir:[\"compact\"],div:[\"align\"],dl:[\"compact\"],embed:[\"height\",\"src\",\"type\",\"width\"],fieldset:[\"disabled\",\"form\",\"name\"],font:[\"color\",\"face\",\"size\"],form:[\"accept\",\"accept-charset\",\"action\",\"autocomplete\",\"enctype\",\"method\",\"name\",\"novalidate\",\"target\"],frame:[\"frameborder\",\"longdesc\",\"marginheight\",\"marginwidth\",\"name\",\"noresize\",\"scrolling\",\"src\"],frameset:[\"cols\",\"rows\"],h1:[\"align\"],h2:[\"align\"],h3:[\"align\"],h4:[\"align\"],h5:[\"align\"],h6:[\"align\"],head:[\"profile\"],hr:[\"align\",\"noshade\",\"size\",\"width\"],html:[\"manifest\",\"version\"],iframe:[\"align\",\"allow\",\"allowfullscreen\",\"allowpaymentrequest\",\"allowusermedia\",\"frameborder\",\"height\",\"loading\",\"longdesc\",\"marginheight\",\"marginwidth\",\"name\",\"referrerpolicy\",\"sandbox\",\"scrolling\",\"src\",\"srcdoc\",\"width\"],img:[\"align\",\"alt\",\"border\",\"crossorigin\",\"decoding\",\"height\",\"hspace\",\"ismap\",\"loading\",\"longdesc\",\"name\",\"referrerpolicy\",\"sizes\",\"src\",\"srcset\",\"usemap\",\"vspace\",\"width\"],input:[\"accept\",\"align\",\"alt\",\"autocomplete\",\"checked\",\"dirname\",\"disabled\",\"form\",\"formaction\",\"formenctype\",\"formmethod\",\"formnovalidate\",\"formtarget\",\"height\",\"ismap\",\"list\",\"max\",\"maxlength\",\"min\",\"minlength\",\"multiple\",\"name\",\"pattern\",\"placeholder\",\"readonly\",\"required\",\"size\",\"src\",\"step\",\"type\",\"usemap\",\"value\",\"width\"],ins:[\"cite\",\"datetime\"],isindex:[\"prompt\"],label:[\"for\",\"form\"],legend:[\"align\"],li:[\"type\",\"value\"],link:[\"as\",\"charset\",\"color\",\"crossorigin\",\"disabled\",\"href\",\"hreflang\",\"imagesizes\",\"imagesrcset\",\"integrity\",\"media\",\"referrerpolicy\",\"rel\",\"rev\",\"sizes\",\"target\",\"type\"],map:[\"name\"],menu:[\"compact\"],meta:[\"charset\",\"content\",\"http-equiv\",\"media\",\"name\",\"scheme\"],meter:[\"high\",\"low\",\"max\",\"min\",\"optimum\",\"value\"],object:[\"align\",\"archive\",\"border\",\"classid\",\"codebase\",\"codetype\",\"data\",\"declare\",\"form\",\"height\",\"hspace\",\"name\",\"standby\",\"type\",\"typemustmatch\",\"usemap\",\"vspace\",\"width\"],ol:[\"compact\",\"reversed\",\"start\",\"type\"],optgroup:[\"disabled\",\"label\"],option:[\"disabled\",\"label\",\"selected\",\"value\"],output:[\"for\",\"form\",\"name\"],p:[\"align\"],param:[\"name\",\"type\",\"value\",\"valuetype\"],pre:[\"width\"],progress:[\"max\",\"value\"],q:[\"cite\"],script:[\"async\",\"charset\",\"crossorigin\",\"defer\",\"integrity\",\"language\",\"nomodule\",\"referrerpolicy\",\"src\",\"type\"],select:[\"autocomplete\",\"disabled\",\"form\",\"multiple\",\"name\",\"required\",\"size\"],slot:[\"name\"],source:[\"height\",\"media\",\"sizes\",\"src\",\"srcset\",\"type\",\"width\"],style:[\"media\",\"type\"],table:[\"align\",\"bgcolor\",\"border\",\"cellpadding\",\"cellspacing\",\"frame\",\"rules\",\"summary\",\"width\"],tbody:[\"align\",\"char\",\"charoff\",\"valign\"],td:[\"abbr\",\"align\",\"axis\",\"bgcolor\",\"char\",\"charoff\",\"colspan\",\"headers\",\"height\",\"nowrap\",\"rowspan\",\"scope\",\"valign\",\"width\"],textarea:[\"autocomplete\",\"cols\",\"dirname\",\"disabled\",\"form\",\"maxlength\",\"minlength\",\"name\",\"placeholder\",\"readonly\",\"required\",\"rows\",\"wrap\"],tfoot:[\"align\",\"char\",\"charoff\",\"valign\"],th:[\"abbr\",\"align\",\"axis\",\"bgcolor\",\"char\",\"charoff\",\"colspan\",\"headers\",\"height\",\"nowrap\",\"rowspan\",\"scope\",\"valign\",\"width\"],thead:[\"align\",\"char\",\"charoff\",\"valign\"],time:[\"datetime\"],tr:[\"align\",\"bgcolor\",\"char\",\"charoff\",\"valign\"],track:[\"default\",\"kind\",\"label\",\"src\",\"srclang\"],ul:[\"compact\",\"type\"],video:[\"autoplay\",\"controls\",\"crossorigin\",\"height\",\"loop\",\"muted\",\"playsinline\",\"poster\",\"preload\",\"src\",\"width\"]}};}}),$l=I({\"src/language-html/utils/map-object.js\"(e,r){q();function u(n,D){let s=Object.create(null);for(let[i,f]of Object.entries(n))s[i]=D(f,i);return s}r.exports=u;}}),Ml=I({\"src/language-html/utils/html-elements-attributes.js\"(e,r){q();var{htmlElementAttributes:u}=Ll(),n=$l(),D=Ts(),s=n(u,D);r.exports=s;}}),jl=I({\"src/language-html/utils/is-unknown-namespace.js\"(e,r){q();function u(n){return n.type===\"element\"&&!n.hasExplicitNamespace&&![\"html\",\"svg\"].includes(n.namespace)}r.exports=u;}}),Ul=I({\"src/language-html/pragma.js\"(e,r){q();function u(D){return /^\\s*/.test(D)}function n(D){return `\n\n`+D.replace(/^\\s*\\n/,\"\")}r.exports={hasPragma:u,insertPragma:n};}}),Gl=I({\"src/language-html/ast.js\"(e,r){q();var u={attrs:!0,children:!0},n=new Set([\"parent\"]),D=class{constructor(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};for(let f of new Set([...n,...Object.keys(i)]))this.setProperty(f,i[f]);}setProperty(i,f){if(this[i]!==f){if(i in u&&(f=f.map(c=>this.createChild(c))),!n.has(i)){this[i]=f;return}Object.defineProperty(this,i,{value:f,enumerable:!1,configurable:!0});}}map(i){let f;for(let c in u){let F=this[c];if(F){let a=s(F,l=>l.map(i));f!==F&&(f||(f=new D({parent:this.parent})),f.setProperty(c,a));}}if(f)for(let c in this)c in u||(f[c]=this[c]);return i(f||this)}walk(i){for(let f in u){let c=this[f];if(c)for(let F=0;F[i.fullName,i.value]))}};function s(i,f){let c=i.map(f);return c.some((F,a)=>F!==i[a])?c:i}r.exports={Node:D};}}),Vl=I({\"src/language-html/conditional-comment.js\"(e,r){q();var{ParseSourceSpan:u}=Be(),n=[{regex:/^(\\[if([^\\]]*)]>)(.*?){try{return [!0,F(C,m).children]}catch{return [!1,[{type:\"text\",value:C,sourceSpan:new u(m,T)}]]}})();return {type:\"ieConditionalComment\",complete:w,children:g,condition:h.trim().replace(/\\s+/g,\" \"),sourceSpan:c.sourceSpan,startSourceSpan:new u(c.sourceSpan.start,m),endSourceSpan:new u(T,c.sourceSpan.end)}}function i(c,F,a){let[,l]=a;return {type:\"ieConditionalStartComment\",condition:l.trim().replace(/\\s+/g,\" \"),sourceSpan:c.sourceSpan}}function f(c){return {type:\"ieConditionalEndComment\",sourceSpan:c.sourceSpan}}r.exports={parseIeConditionalComment:D};}}),Xl=I({\"src/language-html/loc.js\"(e,r){q();function u(D){return D.sourceSpan.start.offset}function n(D){return D.sourceSpan.end.offset}r.exports={locStart:u,locEnd:n};}}),Ze=I({\"node_modules/angular-html-parser/lib/compiler/src/ml_parser/tags.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0});(function(c){c[c.RAW_TEXT=0]=\"RAW_TEXT\",c[c.ESCAPABLE_RAW_TEXT=1]=\"ESCAPABLE_RAW_TEXT\",c[c.PARSABLE_DATA=2]=\"PARSABLE_DATA\";})(e.TagContentType||(e.TagContentType={}));function u(c){if(c[0]!=\":\")return [null,c];let F=c.indexOf(\":\",1);if(F==-1)throw new Error(`Unsupported format \"${c}\" expecting \":namespace:name\"`);return [c.slice(1,F),c.slice(F+1)]}e.splitNsName=u;function n(c){return u(c)[1]===\"ng-container\"}e.isNgContainer=n;function D(c){return u(c)[1]===\"ng-content\"}e.isNgContent=D;function s(c){return u(c)[1]===\"ng-template\"}e.isNgTemplate=s;function i(c){return c===null?null:u(c)[0]}e.getNsPrefix=i;function f(c,F){return c?`:${c}:${F}`:F}e.mergeNsAndName=f,e.NAMED_ENTITIES={Aacute:\"\\xC1\",aacute:\"\\xE1\",Abreve:\"\\u0102\",abreve:\"\\u0103\",ac:\"\\u223E\",acd:\"\\u223F\",acE:\"\\u223E\\u0333\",Acirc:\"\\xC2\",acirc:\"\\xE2\",acute:\"\\xB4\",Acy:\"\\u0410\",acy:\"\\u0430\",AElig:\"\\xC6\",aelig:\"\\xE6\",af:\"\\u2061\",Afr:\"\\u{1D504}\",afr:\"\\u{1D51E}\",Agrave:\"\\xC0\",agrave:\"\\xE0\",alefsym:\"\\u2135\",aleph:\"\\u2135\",Alpha:\"\\u0391\",alpha:\"\\u03B1\",Amacr:\"\\u0100\",amacr:\"\\u0101\",amalg:\"\\u2A3F\",AMP:\"&\",amp:\"&\",And:\"\\u2A53\",and:\"\\u2227\",andand:\"\\u2A55\",andd:\"\\u2A5C\",andslope:\"\\u2A58\",andv:\"\\u2A5A\",ang:\"\\u2220\",ange:\"\\u29A4\",angle:\"\\u2220\",angmsd:\"\\u2221\",angmsdaa:\"\\u29A8\",angmsdab:\"\\u29A9\",angmsdac:\"\\u29AA\",angmsdad:\"\\u29AB\",angmsdae:\"\\u29AC\",angmsdaf:\"\\u29AD\",angmsdag:\"\\u29AE\",angmsdah:\"\\u29AF\",angrt:\"\\u221F\",angrtvb:\"\\u22BE\",angrtvbd:\"\\u299D\",angsph:\"\\u2222\",angst:\"\\xC5\",angzarr:\"\\u237C\",Aogon:\"\\u0104\",aogon:\"\\u0105\",Aopf:\"\\u{1D538}\",aopf:\"\\u{1D552}\",ap:\"\\u2248\",apacir:\"\\u2A6F\",apE:\"\\u2A70\",ape:\"\\u224A\",apid:\"\\u224B\",apos:\"'\",ApplyFunction:\"\\u2061\",approx:\"\\u2248\",approxeq:\"\\u224A\",Aring:\"\\xC5\",aring:\"\\xE5\",Ascr:\"\\u{1D49C}\",ascr:\"\\u{1D4B6}\",Assign:\"\\u2254\",ast:\"*\",asymp:\"\\u2248\",asympeq:\"\\u224D\",Atilde:\"\\xC3\",atilde:\"\\xE3\",Auml:\"\\xC4\",auml:\"\\xE4\",awconint:\"\\u2233\",awint:\"\\u2A11\",backcong:\"\\u224C\",backepsilon:\"\\u03F6\",backprime:\"\\u2035\",backsim:\"\\u223D\",backsimeq:\"\\u22CD\",Backslash:\"\\u2216\",Barv:\"\\u2AE7\",barvee:\"\\u22BD\",Barwed:\"\\u2306\",barwed:\"\\u2305\",barwedge:\"\\u2305\",bbrk:\"\\u23B5\",bbrktbrk:\"\\u23B6\",bcong:\"\\u224C\",Bcy:\"\\u0411\",bcy:\"\\u0431\",bdquo:\"\\u201E\",becaus:\"\\u2235\",Because:\"\\u2235\",because:\"\\u2235\",bemptyv:\"\\u29B0\",bepsi:\"\\u03F6\",bernou:\"\\u212C\",Bernoullis:\"\\u212C\",Beta:\"\\u0392\",beta:\"\\u03B2\",beth:\"\\u2136\",between:\"\\u226C\",Bfr:\"\\u{1D505}\",bfr:\"\\u{1D51F}\",bigcap:\"\\u22C2\",bigcirc:\"\\u25EF\",bigcup:\"\\u22C3\",bigodot:\"\\u2A00\",bigoplus:\"\\u2A01\",bigotimes:\"\\u2A02\",bigsqcup:\"\\u2A06\",bigstar:\"\\u2605\",bigtriangledown:\"\\u25BD\",bigtriangleup:\"\\u25B3\",biguplus:\"\\u2A04\",bigvee:\"\\u22C1\",bigwedge:\"\\u22C0\",bkarow:\"\\u290D\",blacklozenge:\"\\u29EB\",blacksquare:\"\\u25AA\",blacktriangle:\"\\u25B4\",blacktriangledown:\"\\u25BE\",blacktriangleleft:\"\\u25C2\",blacktriangleright:\"\\u25B8\",blank:\"\\u2423\",blk12:\"\\u2592\",blk14:\"\\u2591\",blk34:\"\\u2593\",block:\"\\u2588\",bne:\"=\\u20E5\",bnequiv:\"\\u2261\\u20E5\",bNot:\"\\u2AED\",bnot:\"\\u2310\",Bopf:\"\\u{1D539}\",bopf:\"\\u{1D553}\",bot:\"\\u22A5\",bottom:\"\\u22A5\",bowtie:\"\\u22C8\",boxbox:\"\\u29C9\",boxDL:\"\\u2557\",boxDl:\"\\u2556\",boxdL:\"\\u2555\",boxdl:\"\\u2510\",boxDR:\"\\u2554\",boxDr:\"\\u2553\",boxdR:\"\\u2552\",boxdr:\"\\u250C\",boxH:\"\\u2550\",boxh:\"\\u2500\",boxHD:\"\\u2566\",boxHd:\"\\u2564\",boxhD:\"\\u2565\",boxhd:\"\\u252C\",boxHU:\"\\u2569\",boxHu:\"\\u2567\",boxhU:\"\\u2568\",boxhu:\"\\u2534\",boxminus:\"\\u229F\",boxplus:\"\\u229E\",boxtimes:\"\\u22A0\",boxUL:\"\\u255D\",boxUl:\"\\u255C\",boxuL:\"\\u255B\",boxul:\"\\u2518\",boxUR:\"\\u255A\",boxUr:\"\\u2559\",boxuR:\"\\u2558\",boxur:\"\\u2514\",boxV:\"\\u2551\",boxv:\"\\u2502\",boxVH:\"\\u256C\",boxVh:\"\\u256B\",boxvH:\"\\u256A\",boxvh:\"\\u253C\",boxVL:\"\\u2563\",boxVl:\"\\u2562\",boxvL:\"\\u2561\",boxvl:\"\\u2524\",boxVR:\"\\u2560\",boxVr:\"\\u255F\",boxvR:\"\\u255E\",boxvr:\"\\u251C\",bprime:\"\\u2035\",Breve:\"\\u02D8\",breve:\"\\u02D8\",brvbar:\"\\xA6\",Bscr:\"\\u212C\",bscr:\"\\u{1D4B7}\",bsemi:\"\\u204F\",bsim:\"\\u223D\",bsime:\"\\u22CD\",bsol:\"\\\\\",bsolb:\"\\u29C5\",bsolhsub:\"\\u27C8\",bull:\"\\u2022\",bullet:\"\\u2022\",bump:\"\\u224E\",bumpE:\"\\u2AAE\",bumpe:\"\\u224F\",Bumpeq:\"\\u224E\",bumpeq:\"\\u224F\",Cacute:\"\\u0106\",cacute:\"\\u0107\",Cap:\"\\u22D2\",cap:\"\\u2229\",capand:\"\\u2A44\",capbrcup:\"\\u2A49\",capcap:\"\\u2A4B\",capcup:\"\\u2A47\",capdot:\"\\u2A40\",CapitalDifferentialD:\"\\u2145\",caps:\"\\u2229\\uFE00\",caret:\"\\u2041\",caron:\"\\u02C7\",Cayleys:\"\\u212D\",ccaps:\"\\u2A4D\",Ccaron:\"\\u010C\",ccaron:\"\\u010D\",Ccedil:\"\\xC7\",ccedil:\"\\xE7\",Ccirc:\"\\u0108\",ccirc:\"\\u0109\",Cconint:\"\\u2230\",ccups:\"\\u2A4C\",ccupssm:\"\\u2A50\",Cdot:\"\\u010A\",cdot:\"\\u010B\",cedil:\"\\xB8\",Cedilla:\"\\xB8\",cemptyv:\"\\u29B2\",cent:\"\\xA2\",CenterDot:\"\\xB7\",centerdot:\"\\xB7\",Cfr:\"\\u212D\",cfr:\"\\u{1D520}\",CHcy:\"\\u0427\",chcy:\"\\u0447\",check:\"\\u2713\",checkmark:\"\\u2713\",Chi:\"\\u03A7\",chi:\"\\u03C7\",cir:\"\\u25CB\",circ:\"\\u02C6\",circeq:\"\\u2257\",circlearrowleft:\"\\u21BA\",circlearrowright:\"\\u21BB\",circledast:\"\\u229B\",circledcirc:\"\\u229A\",circleddash:\"\\u229D\",CircleDot:\"\\u2299\",circledR:\"\\xAE\",circledS:\"\\u24C8\",CircleMinus:\"\\u2296\",CirclePlus:\"\\u2295\",CircleTimes:\"\\u2297\",cirE:\"\\u29C3\",cire:\"\\u2257\",cirfnint:\"\\u2A10\",cirmid:\"\\u2AEF\",cirscir:\"\\u29C2\",ClockwiseContourIntegral:\"\\u2232\",CloseCurlyDoubleQuote:\"\\u201D\",CloseCurlyQuote:\"\\u2019\",clubs:\"\\u2663\",clubsuit:\"\\u2663\",Colon:\"\\u2237\",colon:\":\",Colone:\"\\u2A74\",colone:\"\\u2254\",coloneq:\"\\u2254\",comma:\",\",commat:\"@\",comp:\"\\u2201\",compfn:\"\\u2218\",complement:\"\\u2201\",complexes:\"\\u2102\",cong:\"\\u2245\",congdot:\"\\u2A6D\",Congruent:\"\\u2261\",Conint:\"\\u222F\",conint:\"\\u222E\",ContourIntegral:\"\\u222E\",Copf:\"\\u2102\",copf:\"\\u{1D554}\",coprod:\"\\u2210\",Coproduct:\"\\u2210\",COPY:\"\\xA9\",copy:\"\\xA9\",copysr:\"\\u2117\",CounterClockwiseContourIntegral:\"\\u2233\",crarr:\"\\u21B5\",Cross:\"\\u2A2F\",cross:\"\\u2717\",Cscr:\"\\u{1D49E}\",cscr:\"\\u{1D4B8}\",csub:\"\\u2ACF\",csube:\"\\u2AD1\",csup:\"\\u2AD0\",csupe:\"\\u2AD2\",ctdot:\"\\u22EF\",cudarrl:\"\\u2938\",cudarrr:\"\\u2935\",cuepr:\"\\u22DE\",cuesc:\"\\u22DF\",cularr:\"\\u21B6\",cularrp:\"\\u293D\",Cup:\"\\u22D3\",cup:\"\\u222A\",cupbrcap:\"\\u2A48\",CupCap:\"\\u224D\",cupcap:\"\\u2A46\",cupcup:\"\\u2A4A\",cupdot:\"\\u228D\",cupor:\"\\u2A45\",cups:\"\\u222A\\uFE00\",curarr:\"\\u21B7\",curarrm:\"\\u293C\",curlyeqprec:\"\\u22DE\",curlyeqsucc:\"\\u22DF\",curlyvee:\"\\u22CE\",curlywedge:\"\\u22CF\",curren:\"\\xA4\",curvearrowleft:\"\\u21B6\",curvearrowright:\"\\u21B7\",cuvee:\"\\u22CE\",cuwed:\"\\u22CF\",cwconint:\"\\u2232\",cwint:\"\\u2231\",cylcty:\"\\u232D\",Dagger:\"\\u2021\",dagger:\"\\u2020\",daleth:\"\\u2138\",Darr:\"\\u21A1\",dArr:\"\\u21D3\",darr:\"\\u2193\",dash:\"\\u2010\",Dashv:\"\\u2AE4\",dashv:\"\\u22A3\",dbkarow:\"\\u290F\",dblac:\"\\u02DD\",Dcaron:\"\\u010E\",dcaron:\"\\u010F\",Dcy:\"\\u0414\",dcy:\"\\u0434\",DD:\"\\u2145\",dd:\"\\u2146\",ddagger:\"\\u2021\",ddarr:\"\\u21CA\",DDotrahd:\"\\u2911\",ddotseq:\"\\u2A77\",deg:\"\\xB0\",Del:\"\\u2207\",Delta:\"\\u0394\",delta:\"\\u03B4\",demptyv:\"\\u29B1\",dfisht:\"\\u297F\",Dfr:\"\\u{1D507}\",dfr:\"\\u{1D521}\",dHar:\"\\u2965\",dharl:\"\\u21C3\",dharr:\"\\u21C2\",DiacriticalAcute:\"\\xB4\",DiacriticalDot:\"\\u02D9\",DiacriticalDoubleAcute:\"\\u02DD\",DiacriticalGrave:\"`\",DiacriticalTilde:\"\\u02DC\",diam:\"\\u22C4\",Diamond:\"\\u22C4\",diamond:\"\\u22C4\",diamondsuit:\"\\u2666\",diams:\"\\u2666\",die:\"\\xA8\",DifferentialD:\"\\u2146\",digamma:\"\\u03DD\",disin:\"\\u22F2\",div:\"\\xF7\",divide:\"\\xF7\",divideontimes:\"\\u22C7\",divonx:\"\\u22C7\",DJcy:\"\\u0402\",djcy:\"\\u0452\",dlcorn:\"\\u231E\",dlcrop:\"\\u230D\",dollar:\"$\",Dopf:\"\\u{1D53B}\",dopf:\"\\u{1D555}\",Dot:\"\\xA8\",dot:\"\\u02D9\",DotDot:\"\\u20DC\",doteq:\"\\u2250\",doteqdot:\"\\u2251\",DotEqual:\"\\u2250\",dotminus:\"\\u2238\",dotplus:\"\\u2214\",dotsquare:\"\\u22A1\",doublebarwedge:\"\\u2306\",DoubleContourIntegral:\"\\u222F\",DoubleDot:\"\\xA8\",DoubleDownArrow:\"\\u21D3\",DoubleLeftArrow:\"\\u21D0\",DoubleLeftRightArrow:\"\\u21D4\",DoubleLeftTee:\"\\u2AE4\",DoubleLongLeftArrow:\"\\u27F8\",DoubleLongLeftRightArrow:\"\\u27FA\",DoubleLongRightArrow:\"\\u27F9\",DoubleRightArrow:\"\\u21D2\",DoubleRightTee:\"\\u22A8\",DoubleUpArrow:\"\\u21D1\",DoubleUpDownArrow:\"\\u21D5\",DoubleVerticalBar:\"\\u2225\",DownArrow:\"\\u2193\",Downarrow:\"\\u21D3\",downarrow:\"\\u2193\",DownArrowBar:\"\\u2913\",DownArrowUpArrow:\"\\u21F5\",DownBreve:\"\\u0311\",downdownarrows:\"\\u21CA\",downharpoonleft:\"\\u21C3\",downharpoonright:\"\\u21C2\",DownLeftRightVector:\"\\u2950\",DownLeftTeeVector:\"\\u295E\",DownLeftVector:\"\\u21BD\",DownLeftVectorBar:\"\\u2956\",DownRightTeeVector:\"\\u295F\",DownRightVector:\"\\u21C1\",DownRightVectorBar:\"\\u2957\",DownTee:\"\\u22A4\",DownTeeArrow:\"\\u21A7\",drbkarow:\"\\u2910\",drcorn:\"\\u231F\",drcrop:\"\\u230C\",Dscr:\"\\u{1D49F}\",dscr:\"\\u{1D4B9}\",DScy:\"\\u0405\",dscy:\"\\u0455\",dsol:\"\\u29F6\",Dstrok:\"\\u0110\",dstrok:\"\\u0111\",dtdot:\"\\u22F1\",dtri:\"\\u25BF\",dtrif:\"\\u25BE\",duarr:\"\\u21F5\",duhar:\"\\u296F\",dwangle:\"\\u29A6\",DZcy:\"\\u040F\",dzcy:\"\\u045F\",dzigrarr:\"\\u27FF\",Eacute:\"\\xC9\",eacute:\"\\xE9\",easter:\"\\u2A6E\",Ecaron:\"\\u011A\",ecaron:\"\\u011B\",ecir:\"\\u2256\",Ecirc:\"\\xCA\",ecirc:\"\\xEA\",ecolon:\"\\u2255\",Ecy:\"\\u042D\",ecy:\"\\u044D\",eDDot:\"\\u2A77\",Edot:\"\\u0116\",eDot:\"\\u2251\",edot:\"\\u0117\",ee:\"\\u2147\",efDot:\"\\u2252\",Efr:\"\\u{1D508}\",efr:\"\\u{1D522}\",eg:\"\\u2A9A\",Egrave:\"\\xC8\",egrave:\"\\xE8\",egs:\"\\u2A96\",egsdot:\"\\u2A98\",el:\"\\u2A99\",Element:\"\\u2208\",elinters:\"\\u23E7\",ell:\"\\u2113\",els:\"\\u2A95\",elsdot:\"\\u2A97\",Emacr:\"\\u0112\",emacr:\"\\u0113\",empty:\"\\u2205\",emptyset:\"\\u2205\",EmptySmallSquare:\"\\u25FB\",emptyv:\"\\u2205\",EmptyVerySmallSquare:\"\\u25AB\",emsp:\"\\u2003\",emsp13:\"\\u2004\",emsp14:\"\\u2005\",ENG:\"\\u014A\",eng:\"\\u014B\",ensp:\"\\u2002\",Eogon:\"\\u0118\",eogon:\"\\u0119\",Eopf:\"\\u{1D53C}\",eopf:\"\\u{1D556}\",epar:\"\\u22D5\",eparsl:\"\\u29E3\",eplus:\"\\u2A71\",epsi:\"\\u03B5\",Epsilon:\"\\u0395\",epsilon:\"\\u03B5\",epsiv:\"\\u03F5\",eqcirc:\"\\u2256\",eqcolon:\"\\u2255\",eqsim:\"\\u2242\",eqslantgtr:\"\\u2A96\",eqslantless:\"\\u2A95\",Equal:\"\\u2A75\",equals:\"=\",EqualTilde:\"\\u2242\",equest:\"\\u225F\",Equilibrium:\"\\u21CC\",equiv:\"\\u2261\",equivDD:\"\\u2A78\",eqvparsl:\"\\u29E5\",erarr:\"\\u2971\",erDot:\"\\u2253\",Escr:\"\\u2130\",escr:\"\\u212F\",esdot:\"\\u2250\",Esim:\"\\u2A73\",esim:\"\\u2242\",Eta:\"\\u0397\",eta:\"\\u03B7\",ETH:\"\\xD0\",eth:\"\\xF0\",Euml:\"\\xCB\",euml:\"\\xEB\",euro:\"\\u20AC\",excl:\"!\",exist:\"\\u2203\",Exists:\"\\u2203\",expectation:\"\\u2130\",ExponentialE:\"\\u2147\",exponentiale:\"\\u2147\",fallingdotseq:\"\\u2252\",Fcy:\"\\u0424\",fcy:\"\\u0444\",female:\"\\u2640\",ffilig:\"\\uFB03\",fflig:\"\\uFB00\",ffllig:\"\\uFB04\",Ffr:\"\\u{1D509}\",ffr:\"\\u{1D523}\",filig:\"\\uFB01\",FilledSmallSquare:\"\\u25FC\",FilledVerySmallSquare:\"\\u25AA\",fjlig:\"fj\",flat:\"\\u266D\",fllig:\"\\uFB02\",fltns:\"\\u25B1\",fnof:\"\\u0192\",Fopf:\"\\u{1D53D}\",fopf:\"\\u{1D557}\",ForAll:\"\\u2200\",forall:\"\\u2200\",fork:\"\\u22D4\",forkv:\"\\u2AD9\",Fouriertrf:\"\\u2131\",fpartint:\"\\u2A0D\",frac12:\"\\xBD\",frac13:\"\\u2153\",frac14:\"\\xBC\",frac15:\"\\u2155\",frac16:\"\\u2159\",frac18:\"\\u215B\",frac23:\"\\u2154\",frac25:\"\\u2156\",frac34:\"\\xBE\",frac35:\"\\u2157\",frac38:\"\\u215C\",frac45:\"\\u2158\",frac56:\"\\u215A\",frac58:\"\\u215D\",frac78:\"\\u215E\",frasl:\"\\u2044\",frown:\"\\u2322\",Fscr:\"\\u2131\",fscr:\"\\u{1D4BB}\",gacute:\"\\u01F5\",Gamma:\"\\u0393\",gamma:\"\\u03B3\",Gammad:\"\\u03DC\",gammad:\"\\u03DD\",gap:\"\\u2A86\",Gbreve:\"\\u011E\",gbreve:\"\\u011F\",Gcedil:\"\\u0122\",Gcirc:\"\\u011C\",gcirc:\"\\u011D\",Gcy:\"\\u0413\",gcy:\"\\u0433\",Gdot:\"\\u0120\",gdot:\"\\u0121\",gE:\"\\u2267\",ge:\"\\u2265\",gEl:\"\\u2A8C\",gel:\"\\u22DB\",geq:\"\\u2265\",geqq:\"\\u2267\",geqslant:\"\\u2A7E\",ges:\"\\u2A7E\",gescc:\"\\u2AA9\",gesdot:\"\\u2A80\",gesdoto:\"\\u2A82\",gesdotol:\"\\u2A84\",gesl:\"\\u22DB\\uFE00\",gesles:\"\\u2A94\",Gfr:\"\\u{1D50A}\",gfr:\"\\u{1D524}\",Gg:\"\\u22D9\",gg:\"\\u226B\",ggg:\"\\u22D9\",gimel:\"\\u2137\",GJcy:\"\\u0403\",gjcy:\"\\u0453\",gl:\"\\u2277\",gla:\"\\u2AA5\",glE:\"\\u2A92\",glj:\"\\u2AA4\",gnap:\"\\u2A8A\",gnapprox:\"\\u2A8A\",gnE:\"\\u2269\",gne:\"\\u2A88\",gneq:\"\\u2A88\",gneqq:\"\\u2269\",gnsim:\"\\u22E7\",Gopf:\"\\u{1D53E}\",gopf:\"\\u{1D558}\",grave:\"`\",GreaterEqual:\"\\u2265\",GreaterEqualLess:\"\\u22DB\",GreaterFullEqual:\"\\u2267\",GreaterGreater:\"\\u2AA2\",GreaterLess:\"\\u2277\",GreaterSlantEqual:\"\\u2A7E\",GreaterTilde:\"\\u2273\",Gscr:\"\\u{1D4A2}\",gscr:\"\\u210A\",gsim:\"\\u2273\",gsime:\"\\u2A8E\",gsiml:\"\\u2A90\",GT:\">\",Gt:\"\\u226B\",gt:\">\",gtcc:\"\\u2AA7\",gtcir:\"\\u2A7A\",gtdot:\"\\u22D7\",gtlPar:\"\\u2995\",gtquest:\"\\u2A7C\",gtrapprox:\"\\u2A86\",gtrarr:\"\\u2978\",gtrdot:\"\\u22D7\",gtreqless:\"\\u22DB\",gtreqqless:\"\\u2A8C\",gtrless:\"\\u2277\",gtrsim:\"\\u2273\",gvertneqq:\"\\u2269\\uFE00\",gvnE:\"\\u2269\\uFE00\",Hacek:\"\\u02C7\",hairsp:\"\\u200A\",half:\"\\xBD\",hamilt:\"\\u210B\",HARDcy:\"\\u042A\",hardcy:\"\\u044A\",hArr:\"\\u21D4\",harr:\"\\u2194\",harrcir:\"\\u2948\",harrw:\"\\u21AD\",Hat:\"^\",hbar:\"\\u210F\",Hcirc:\"\\u0124\",hcirc:\"\\u0125\",hearts:\"\\u2665\",heartsuit:\"\\u2665\",hellip:\"\\u2026\",hercon:\"\\u22B9\",Hfr:\"\\u210C\",hfr:\"\\u{1D525}\",HilbertSpace:\"\\u210B\",hksearow:\"\\u2925\",hkswarow:\"\\u2926\",hoarr:\"\\u21FF\",homtht:\"\\u223B\",hookleftarrow:\"\\u21A9\",hookrightarrow:\"\\u21AA\",Hopf:\"\\u210D\",hopf:\"\\u{1D559}\",horbar:\"\\u2015\",HorizontalLine:\"\\u2500\",Hscr:\"\\u210B\",hscr:\"\\u{1D4BD}\",hslash:\"\\u210F\",Hstrok:\"\\u0126\",hstrok:\"\\u0127\",HumpDownHump:\"\\u224E\",HumpEqual:\"\\u224F\",hybull:\"\\u2043\",hyphen:\"\\u2010\",Iacute:\"\\xCD\",iacute:\"\\xED\",ic:\"\\u2063\",Icirc:\"\\xCE\",icirc:\"\\xEE\",Icy:\"\\u0418\",icy:\"\\u0438\",Idot:\"\\u0130\",IEcy:\"\\u0415\",iecy:\"\\u0435\",iexcl:\"\\xA1\",iff:\"\\u21D4\",Ifr:\"\\u2111\",ifr:\"\\u{1D526}\",Igrave:\"\\xCC\",igrave:\"\\xEC\",ii:\"\\u2148\",iiiint:\"\\u2A0C\",iiint:\"\\u222D\",iinfin:\"\\u29DC\",iiota:\"\\u2129\",IJlig:\"\\u0132\",ijlig:\"\\u0133\",Im:\"\\u2111\",Imacr:\"\\u012A\",imacr:\"\\u012B\",image:\"\\u2111\",ImaginaryI:\"\\u2148\",imagline:\"\\u2110\",imagpart:\"\\u2111\",imath:\"\\u0131\",imof:\"\\u22B7\",imped:\"\\u01B5\",Implies:\"\\u21D2\",in:\"\\u2208\",incare:\"\\u2105\",infin:\"\\u221E\",infintie:\"\\u29DD\",inodot:\"\\u0131\",Int:\"\\u222C\",int:\"\\u222B\",intcal:\"\\u22BA\",integers:\"\\u2124\",Integral:\"\\u222B\",intercal:\"\\u22BA\",Intersection:\"\\u22C2\",intlarhk:\"\\u2A17\",intprod:\"\\u2A3C\",InvisibleComma:\"\\u2063\",InvisibleTimes:\"\\u2062\",IOcy:\"\\u0401\",iocy:\"\\u0451\",Iogon:\"\\u012E\",iogon:\"\\u012F\",Iopf:\"\\u{1D540}\",iopf:\"\\u{1D55A}\",Iota:\"\\u0399\",iota:\"\\u03B9\",iprod:\"\\u2A3C\",iquest:\"\\xBF\",Iscr:\"\\u2110\",iscr:\"\\u{1D4BE}\",isin:\"\\u2208\",isindot:\"\\u22F5\",isinE:\"\\u22F9\",isins:\"\\u22F4\",isinsv:\"\\u22F3\",isinv:\"\\u2208\",it:\"\\u2062\",Itilde:\"\\u0128\",itilde:\"\\u0129\",Iukcy:\"\\u0406\",iukcy:\"\\u0456\",Iuml:\"\\xCF\",iuml:\"\\xEF\",Jcirc:\"\\u0134\",jcirc:\"\\u0135\",Jcy:\"\\u0419\",jcy:\"\\u0439\",Jfr:\"\\u{1D50D}\",jfr:\"\\u{1D527}\",jmath:\"\\u0237\",Jopf:\"\\u{1D541}\",jopf:\"\\u{1D55B}\",Jscr:\"\\u{1D4A5}\",jscr:\"\\u{1D4BF}\",Jsercy:\"\\u0408\",jsercy:\"\\u0458\",Jukcy:\"\\u0404\",jukcy:\"\\u0454\",Kappa:\"\\u039A\",kappa:\"\\u03BA\",kappav:\"\\u03F0\",Kcedil:\"\\u0136\",kcedil:\"\\u0137\",Kcy:\"\\u041A\",kcy:\"\\u043A\",Kfr:\"\\u{1D50E}\",kfr:\"\\u{1D528}\",kgreen:\"\\u0138\",KHcy:\"\\u0425\",khcy:\"\\u0445\",KJcy:\"\\u040C\",kjcy:\"\\u045C\",Kopf:\"\\u{1D542}\",kopf:\"\\u{1D55C}\",Kscr:\"\\u{1D4A6}\",kscr:\"\\u{1D4C0}\",lAarr:\"\\u21DA\",Lacute:\"\\u0139\",lacute:\"\\u013A\",laemptyv:\"\\u29B4\",lagran:\"\\u2112\",Lambda:\"\\u039B\",lambda:\"\\u03BB\",Lang:\"\\u27EA\",lang:\"\\u27E8\",langd:\"\\u2991\",langle:\"\\u27E8\",lap:\"\\u2A85\",Laplacetrf:\"\\u2112\",laquo:\"\\xAB\",Larr:\"\\u219E\",lArr:\"\\u21D0\",larr:\"\\u2190\",larrb:\"\\u21E4\",larrbfs:\"\\u291F\",larrfs:\"\\u291D\",larrhk:\"\\u21A9\",larrlp:\"\\u21AB\",larrpl:\"\\u2939\",larrsim:\"\\u2973\",larrtl:\"\\u21A2\",lat:\"\\u2AAB\",lAtail:\"\\u291B\",latail:\"\\u2919\",late:\"\\u2AAD\",lates:\"\\u2AAD\\uFE00\",lBarr:\"\\u290E\",lbarr:\"\\u290C\",lbbrk:\"\\u2772\",lbrace:\"{\",lbrack:\"[\",lbrke:\"\\u298B\",lbrksld:\"\\u298F\",lbrkslu:\"\\u298D\",Lcaron:\"\\u013D\",lcaron:\"\\u013E\",Lcedil:\"\\u013B\",lcedil:\"\\u013C\",lceil:\"\\u2308\",lcub:\"{\",Lcy:\"\\u041B\",lcy:\"\\u043B\",ldca:\"\\u2936\",ldquo:\"\\u201C\",ldquor:\"\\u201E\",ldrdhar:\"\\u2967\",ldrushar:\"\\u294B\",ldsh:\"\\u21B2\",lE:\"\\u2266\",le:\"\\u2264\",LeftAngleBracket:\"\\u27E8\",LeftArrow:\"\\u2190\",Leftarrow:\"\\u21D0\",leftarrow:\"\\u2190\",LeftArrowBar:\"\\u21E4\",LeftArrowRightArrow:\"\\u21C6\",leftarrowtail:\"\\u21A2\",LeftCeiling:\"\\u2308\",LeftDoubleBracket:\"\\u27E6\",LeftDownTeeVector:\"\\u2961\",LeftDownVector:\"\\u21C3\",LeftDownVectorBar:\"\\u2959\",LeftFloor:\"\\u230A\",leftharpoondown:\"\\u21BD\",leftharpoonup:\"\\u21BC\",leftleftarrows:\"\\u21C7\",LeftRightArrow:\"\\u2194\",Leftrightarrow:\"\\u21D4\",leftrightarrow:\"\\u2194\",leftrightarrows:\"\\u21C6\",leftrightharpoons:\"\\u21CB\",leftrightsquigarrow:\"\\u21AD\",LeftRightVector:\"\\u294E\",LeftTee:\"\\u22A3\",LeftTeeArrow:\"\\u21A4\",LeftTeeVector:\"\\u295A\",leftthreetimes:\"\\u22CB\",LeftTriangle:\"\\u22B2\",LeftTriangleBar:\"\\u29CF\",LeftTriangleEqual:\"\\u22B4\",LeftUpDownVector:\"\\u2951\",LeftUpTeeVector:\"\\u2960\",LeftUpVector:\"\\u21BF\",LeftUpVectorBar:\"\\u2958\",LeftVector:\"\\u21BC\",LeftVectorBar:\"\\u2952\",lEg:\"\\u2A8B\",leg:\"\\u22DA\",leq:\"\\u2264\",leqq:\"\\u2266\",leqslant:\"\\u2A7D\",les:\"\\u2A7D\",lescc:\"\\u2AA8\",lesdot:\"\\u2A7F\",lesdoto:\"\\u2A81\",lesdotor:\"\\u2A83\",lesg:\"\\u22DA\\uFE00\",lesges:\"\\u2A93\",lessapprox:\"\\u2A85\",lessdot:\"\\u22D6\",lesseqgtr:\"\\u22DA\",lesseqqgtr:\"\\u2A8B\",LessEqualGreater:\"\\u22DA\",LessFullEqual:\"\\u2266\",LessGreater:\"\\u2276\",lessgtr:\"\\u2276\",LessLess:\"\\u2AA1\",lesssim:\"\\u2272\",LessSlantEqual:\"\\u2A7D\",LessTilde:\"\\u2272\",lfisht:\"\\u297C\",lfloor:\"\\u230A\",Lfr:\"\\u{1D50F}\",lfr:\"\\u{1D529}\",lg:\"\\u2276\",lgE:\"\\u2A91\",lHar:\"\\u2962\",lhard:\"\\u21BD\",lharu:\"\\u21BC\",lharul:\"\\u296A\",lhblk:\"\\u2584\",LJcy:\"\\u0409\",ljcy:\"\\u0459\",Ll:\"\\u22D8\",ll:\"\\u226A\",llarr:\"\\u21C7\",llcorner:\"\\u231E\",Lleftarrow:\"\\u21DA\",llhard:\"\\u296B\",lltri:\"\\u25FA\",Lmidot:\"\\u013F\",lmidot:\"\\u0140\",lmoust:\"\\u23B0\",lmoustache:\"\\u23B0\",lnap:\"\\u2A89\",lnapprox:\"\\u2A89\",lnE:\"\\u2268\",lne:\"\\u2A87\",lneq:\"\\u2A87\",lneqq:\"\\u2268\",lnsim:\"\\u22E6\",loang:\"\\u27EC\",loarr:\"\\u21FD\",lobrk:\"\\u27E6\",LongLeftArrow:\"\\u27F5\",Longleftarrow:\"\\u27F8\",longleftarrow:\"\\u27F5\",LongLeftRightArrow:\"\\u27F7\",Longleftrightarrow:\"\\u27FA\",longleftrightarrow:\"\\u27F7\",longmapsto:\"\\u27FC\",LongRightArrow:\"\\u27F6\",Longrightarrow:\"\\u27F9\",longrightarrow:\"\\u27F6\",looparrowleft:\"\\u21AB\",looparrowright:\"\\u21AC\",lopar:\"\\u2985\",Lopf:\"\\u{1D543}\",lopf:\"\\u{1D55D}\",loplus:\"\\u2A2D\",lotimes:\"\\u2A34\",lowast:\"\\u2217\",lowbar:\"_\",LowerLeftArrow:\"\\u2199\",LowerRightArrow:\"\\u2198\",loz:\"\\u25CA\",lozenge:\"\\u25CA\",lozf:\"\\u29EB\",lpar:\"(\",lparlt:\"\\u2993\",lrarr:\"\\u21C6\",lrcorner:\"\\u231F\",lrhar:\"\\u21CB\",lrhard:\"\\u296D\",lrm:\"\\u200E\",lrtri:\"\\u22BF\",lsaquo:\"\\u2039\",Lscr:\"\\u2112\",lscr:\"\\u{1D4C1}\",Lsh:\"\\u21B0\",lsh:\"\\u21B0\",lsim:\"\\u2272\",lsime:\"\\u2A8D\",lsimg:\"\\u2A8F\",lsqb:\"[\",lsquo:\"\\u2018\",lsquor:\"\\u201A\",Lstrok:\"\\u0141\",lstrok:\"\\u0142\",LT:\"<\",Lt:\"\\u226A\",lt:\"<\",ltcc:\"\\u2AA6\",ltcir:\"\\u2A79\",ltdot:\"\\u22D6\",lthree:\"\\u22CB\",ltimes:\"\\u22C9\",ltlarr:\"\\u2976\",ltquest:\"\\u2A7B\",ltri:\"\\u25C3\",ltrie:\"\\u22B4\",ltrif:\"\\u25C2\",ltrPar:\"\\u2996\",lurdshar:\"\\u294A\",luruhar:\"\\u2966\",lvertneqq:\"\\u2268\\uFE00\",lvnE:\"\\u2268\\uFE00\",macr:\"\\xAF\",male:\"\\u2642\",malt:\"\\u2720\",maltese:\"\\u2720\",Map:\"\\u2905\",map:\"\\u21A6\",mapsto:\"\\u21A6\",mapstodown:\"\\u21A7\",mapstoleft:\"\\u21A4\",mapstoup:\"\\u21A5\",marker:\"\\u25AE\",mcomma:\"\\u2A29\",Mcy:\"\\u041C\",mcy:\"\\u043C\",mdash:\"\\u2014\",mDDot:\"\\u223A\",measuredangle:\"\\u2221\",MediumSpace:\"\\u205F\",Mellintrf:\"\\u2133\",Mfr:\"\\u{1D510}\",mfr:\"\\u{1D52A}\",mho:\"\\u2127\",micro:\"\\xB5\",mid:\"\\u2223\",midast:\"*\",midcir:\"\\u2AF0\",middot:\"\\xB7\",minus:\"\\u2212\",minusb:\"\\u229F\",minusd:\"\\u2238\",minusdu:\"\\u2A2A\",MinusPlus:\"\\u2213\",mlcp:\"\\u2ADB\",mldr:\"\\u2026\",mnplus:\"\\u2213\",models:\"\\u22A7\",Mopf:\"\\u{1D544}\",mopf:\"\\u{1D55E}\",mp:\"\\u2213\",Mscr:\"\\u2133\",mscr:\"\\u{1D4C2}\",mstpos:\"\\u223E\",Mu:\"\\u039C\",mu:\"\\u03BC\",multimap:\"\\u22B8\",mumap:\"\\u22B8\",nabla:\"\\u2207\",Nacute:\"\\u0143\",nacute:\"\\u0144\",nang:\"\\u2220\\u20D2\",nap:\"\\u2249\",napE:\"\\u2A70\\u0338\",napid:\"\\u224B\\u0338\",napos:\"\\u0149\",napprox:\"\\u2249\",natur:\"\\u266E\",natural:\"\\u266E\",naturals:\"\\u2115\",nbsp:\"\\xA0\",nbump:\"\\u224E\\u0338\",nbumpe:\"\\u224F\\u0338\",ncap:\"\\u2A43\",Ncaron:\"\\u0147\",ncaron:\"\\u0148\",Ncedil:\"\\u0145\",ncedil:\"\\u0146\",ncong:\"\\u2247\",ncongdot:\"\\u2A6D\\u0338\",ncup:\"\\u2A42\",Ncy:\"\\u041D\",ncy:\"\\u043D\",ndash:\"\\u2013\",ne:\"\\u2260\",nearhk:\"\\u2924\",neArr:\"\\u21D7\",nearr:\"\\u2197\",nearrow:\"\\u2197\",nedot:\"\\u2250\\u0338\",NegativeMediumSpace:\"\\u200B\",NegativeThickSpace:\"\\u200B\",NegativeThinSpace:\"\\u200B\",NegativeVeryThinSpace:\"\\u200B\",nequiv:\"\\u2262\",nesear:\"\\u2928\",nesim:\"\\u2242\\u0338\",NestedGreaterGreater:\"\\u226B\",NestedLessLess:\"\\u226A\",NewLine:`\n`,nexist:\"\\u2204\",nexists:\"\\u2204\",Nfr:\"\\u{1D511}\",nfr:\"\\u{1D52B}\",ngE:\"\\u2267\\u0338\",nge:\"\\u2271\",ngeq:\"\\u2271\",ngeqq:\"\\u2267\\u0338\",ngeqslant:\"\\u2A7E\\u0338\",nges:\"\\u2A7E\\u0338\",nGg:\"\\u22D9\\u0338\",ngsim:\"\\u2275\",nGt:\"\\u226B\\u20D2\",ngt:\"\\u226F\",ngtr:\"\\u226F\",nGtv:\"\\u226B\\u0338\",nhArr:\"\\u21CE\",nharr:\"\\u21AE\",nhpar:\"\\u2AF2\",ni:\"\\u220B\",nis:\"\\u22FC\",nisd:\"\\u22FA\",niv:\"\\u220B\",NJcy:\"\\u040A\",njcy:\"\\u045A\",nlArr:\"\\u21CD\",nlarr:\"\\u219A\",nldr:\"\\u2025\",nlE:\"\\u2266\\u0338\",nle:\"\\u2270\",nLeftarrow:\"\\u21CD\",nleftarrow:\"\\u219A\",nLeftrightarrow:\"\\u21CE\",nleftrightarrow:\"\\u21AE\",nleq:\"\\u2270\",nleqq:\"\\u2266\\u0338\",nleqslant:\"\\u2A7D\\u0338\",nles:\"\\u2A7D\\u0338\",nless:\"\\u226E\",nLl:\"\\u22D8\\u0338\",nlsim:\"\\u2274\",nLt:\"\\u226A\\u20D2\",nlt:\"\\u226E\",nltri:\"\\u22EA\",nltrie:\"\\u22EC\",nLtv:\"\\u226A\\u0338\",nmid:\"\\u2224\",NoBreak:\"\\u2060\",NonBreakingSpace:\"\\xA0\",Nopf:\"\\u2115\",nopf:\"\\u{1D55F}\",Not:\"\\u2AEC\",not:\"\\xAC\",NotCongruent:\"\\u2262\",NotCupCap:\"\\u226D\",NotDoubleVerticalBar:\"\\u2226\",NotElement:\"\\u2209\",NotEqual:\"\\u2260\",NotEqualTilde:\"\\u2242\\u0338\",NotExists:\"\\u2204\",NotGreater:\"\\u226F\",NotGreaterEqual:\"\\u2271\",NotGreaterFullEqual:\"\\u2267\\u0338\",NotGreaterGreater:\"\\u226B\\u0338\",NotGreaterLess:\"\\u2279\",NotGreaterSlantEqual:\"\\u2A7E\\u0338\",NotGreaterTilde:\"\\u2275\",NotHumpDownHump:\"\\u224E\\u0338\",NotHumpEqual:\"\\u224F\\u0338\",notin:\"\\u2209\",notindot:\"\\u22F5\\u0338\",notinE:\"\\u22F9\\u0338\",notinva:\"\\u2209\",notinvb:\"\\u22F7\",notinvc:\"\\u22F6\",NotLeftTriangle:\"\\u22EA\",NotLeftTriangleBar:\"\\u29CF\\u0338\",NotLeftTriangleEqual:\"\\u22EC\",NotLess:\"\\u226E\",NotLessEqual:\"\\u2270\",NotLessGreater:\"\\u2278\",NotLessLess:\"\\u226A\\u0338\",NotLessSlantEqual:\"\\u2A7D\\u0338\",NotLessTilde:\"\\u2274\",NotNestedGreaterGreater:\"\\u2AA2\\u0338\",NotNestedLessLess:\"\\u2AA1\\u0338\",notni:\"\\u220C\",notniva:\"\\u220C\",notnivb:\"\\u22FE\",notnivc:\"\\u22FD\",NotPrecedes:\"\\u2280\",NotPrecedesEqual:\"\\u2AAF\\u0338\",NotPrecedesSlantEqual:\"\\u22E0\",NotReverseElement:\"\\u220C\",NotRightTriangle:\"\\u22EB\",NotRightTriangleBar:\"\\u29D0\\u0338\",NotRightTriangleEqual:\"\\u22ED\",NotSquareSubset:\"\\u228F\\u0338\",NotSquareSubsetEqual:\"\\u22E2\",NotSquareSuperset:\"\\u2290\\u0338\",NotSquareSupersetEqual:\"\\u22E3\",NotSubset:\"\\u2282\\u20D2\",NotSubsetEqual:\"\\u2288\",NotSucceeds:\"\\u2281\",NotSucceedsEqual:\"\\u2AB0\\u0338\",NotSucceedsSlantEqual:\"\\u22E1\",NotSucceedsTilde:\"\\u227F\\u0338\",NotSuperset:\"\\u2283\\u20D2\",NotSupersetEqual:\"\\u2289\",NotTilde:\"\\u2241\",NotTildeEqual:\"\\u2244\",NotTildeFullEqual:\"\\u2247\",NotTildeTilde:\"\\u2249\",NotVerticalBar:\"\\u2224\",npar:\"\\u2226\",nparallel:\"\\u2226\",nparsl:\"\\u2AFD\\u20E5\",npart:\"\\u2202\\u0338\",npolint:\"\\u2A14\",npr:\"\\u2280\",nprcue:\"\\u22E0\",npre:\"\\u2AAF\\u0338\",nprec:\"\\u2280\",npreceq:\"\\u2AAF\\u0338\",nrArr:\"\\u21CF\",nrarr:\"\\u219B\",nrarrc:\"\\u2933\\u0338\",nrarrw:\"\\u219D\\u0338\",nRightarrow:\"\\u21CF\",nrightarrow:\"\\u219B\",nrtri:\"\\u22EB\",nrtrie:\"\\u22ED\",nsc:\"\\u2281\",nsccue:\"\\u22E1\",nsce:\"\\u2AB0\\u0338\",Nscr:\"\\u{1D4A9}\",nscr:\"\\u{1D4C3}\",nshortmid:\"\\u2224\",nshortparallel:\"\\u2226\",nsim:\"\\u2241\",nsime:\"\\u2244\",nsimeq:\"\\u2244\",nsmid:\"\\u2224\",nspar:\"\\u2226\",nsqsube:\"\\u22E2\",nsqsupe:\"\\u22E3\",nsub:\"\\u2284\",nsubE:\"\\u2AC5\\u0338\",nsube:\"\\u2288\",nsubset:\"\\u2282\\u20D2\",nsubseteq:\"\\u2288\",nsubseteqq:\"\\u2AC5\\u0338\",nsucc:\"\\u2281\",nsucceq:\"\\u2AB0\\u0338\",nsup:\"\\u2285\",nsupE:\"\\u2AC6\\u0338\",nsupe:\"\\u2289\",nsupset:\"\\u2283\\u20D2\",nsupseteq:\"\\u2289\",nsupseteqq:\"\\u2AC6\\u0338\",ntgl:\"\\u2279\",Ntilde:\"\\xD1\",ntilde:\"\\xF1\",ntlg:\"\\u2278\",ntriangleleft:\"\\u22EA\",ntrianglelefteq:\"\\u22EC\",ntriangleright:\"\\u22EB\",ntrianglerighteq:\"\\u22ED\",Nu:\"\\u039D\",nu:\"\\u03BD\",num:\"#\",numero:\"\\u2116\",numsp:\"\\u2007\",nvap:\"\\u224D\\u20D2\",nVDash:\"\\u22AF\",nVdash:\"\\u22AE\",nvDash:\"\\u22AD\",nvdash:\"\\u22AC\",nvge:\"\\u2265\\u20D2\",nvgt:\">\\u20D2\",nvHarr:\"\\u2904\",nvinfin:\"\\u29DE\",nvlArr:\"\\u2902\",nvle:\"\\u2264\\u20D2\",nvlt:\"<\\u20D2\",nvltrie:\"\\u22B4\\u20D2\",nvrArr:\"\\u2903\",nvrtrie:\"\\u22B5\\u20D2\",nvsim:\"\\u223C\\u20D2\",nwarhk:\"\\u2923\",nwArr:\"\\u21D6\",nwarr:\"\\u2196\",nwarrow:\"\\u2196\",nwnear:\"\\u2927\",Oacute:\"\\xD3\",oacute:\"\\xF3\",oast:\"\\u229B\",ocir:\"\\u229A\",Ocirc:\"\\xD4\",ocirc:\"\\xF4\",Ocy:\"\\u041E\",ocy:\"\\u043E\",odash:\"\\u229D\",Odblac:\"\\u0150\",odblac:\"\\u0151\",odiv:\"\\u2A38\",odot:\"\\u2299\",odsold:\"\\u29BC\",OElig:\"\\u0152\",oelig:\"\\u0153\",ofcir:\"\\u29BF\",Ofr:\"\\u{1D512}\",ofr:\"\\u{1D52C}\",ogon:\"\\u02DB\",Ograve:\"\\xD2\",ograve:\"\\xF2\",ogt:\"\\u29C1\",ohbar:\"\\u29B5\",ohm:\"\\u03A9\",oint:\"\\u222E\",olarr:\"\\u21BA\",olcir:\"\\u29BE\",olcross:\"\\u29BB\",oline:\"\\u203E\",olt:\"\\u29C0\",Omacr:\"\\u014C\",omacr:\"\\u014D\",Omega:\"\\u03A9\",omega:\"\\u03C9\",Omicron:\"\\u039F\",omicron:\"\\u03BF\",omid:\"\\u29B6\",ominus:\"\\u2296\",Oopf:\"\\u{1D546}\",oopf:\"\\u{1D560}\",opar:\"\\u29B7\",OpenCurlyDoubleQuote:\"\\u201C\",OpenCurlyQuote:\"\\u2018\",operp:\"\\u29B9\",oplus:\"\\u2295\",Or:\"\\u2A54\",or:\"\\u2228\",orarr:\"\\u21BB\",ord:\"\\u2A5D\",order:\"\\u2134\",orderof:\"\\u2134\",ordf:\"\\xAA\",ordm:\"\\xBA\",origof:\"\\u22B6\",oror:\"\\u2A56\",orslope:\"\\u2A57\",orv:\"\\u2A5B\",oS:\"\\u24C8\",Oscr:\"\\u{1D4AA}\",oscr:\"\\u2134\",Oslash:\"\\xD8\",oslash:\"\\xF8\",osol:\"\\u2298\",Otilde:\"\\xD5\",otilde:\"\\xF5\",Otimes:\"\\u2A37\",otimes:\"\\u2297\",otimesas:\"\\u2A36\",Ouml:\"\\xD6\",ouml:\"\\xF6\",ovbar:\"\\u233D\",OverBar:\"\\u203E\",OverBrace:\"\\u23DE\",OverBracket:\"\\u23B4\",OverParenthesis:\"\\u23DC\",par:\"\\u2225\",para:\"\\xB6\",parallel:\"\\u2225\",parsim:\"\\u2AF3\",parsl:\"\\u2AFD\",part:\"\\u2202\",PartialD:\"\\u2202\",Pcy:\"\\u041F\",pcy:\"\\u043F\",percnt:\"%\",period:\".\",permil:\"\\u2030\",perp:\"\\u22A5\",pertenk:\"\\u2031\",Pfr:\"\\u{1D513}\",pfr:\"\\u{1D52D}\",Phi:\"\\u03A6\",phi:\"\\u03C6\",phiv:\"\\u03D5\",phmmat:\"\\u2133\",phone:\"\\u260E\",Pi:\"\\u03A0\",pi:\"\\u03C0\",pitchfork:\"\\u22D4\",piv:\"\\u03D6\",planck:\"\\u210F\",planckh:\"\\u210E\",plankv:\"\\u210F\",plus:\"+\",plusacir:\"\\u2A23\",plusb:\"\\u229E\",pluscir:\"\\u2A22\",plusdo:\"\\u2214\",plusdu:\"\\u2A25\",pluse:\"\\u2A72\",PlusMinus:\"\\xB1\",plusmn:\"\\xB1\",plussim:\"\\u2A26\",plustwo:\"\\u2A27\",pm:\"\\xB1\",Poincareplane:\"\\u210C\",pointint:\"\\u2A15\",Popf:\"\\u2119\",popf:\"\\u{1D561}\",pound:\"\\xA3\",Pr:\"\\u2ABB\",pr:\"\\u227A\",prap:\"\\u2AB7\",prcue:\"\\u227C\",prE:\"\\u2AB3\",pre:\"\\u2AAF\",prec:\"\\u227A\",precapprox:\"\\u2AB7\",preccurlyeq:\"\\u227C\",Precedes:\"\\u227A\",PrecedesEqual:\"\\u2AAF\",PrecedesSlantEqual:\"\\u227C\",PrecedesTilde:\"\\u227E\",preceq:\"\\u2AAF\",precnapprox:\"\\u2AB9\",precneqq:\"\\u2AB5\",precnsim:\"\\u22E8\",precsim:\"\\u227E\",Prime:\"\\u2033\",prime:\"\\u2032\",primes:\"\\u2119\",prnap:\"\\u2AB9\",prnE:\"\\u2AB5\",prnsim:\"\\u22E8\",prod:\"\\u220F\",Product:\"\\u220F\",profalar:\"\\u232E\",profline:\"\\u2312\",profsurf:\"\\u2313\",prop:\"\\u221D\",Proportion:\"\\u2237\",Proportional:\"\\u221D\",propto:\"\\u221D\",prsim:\"\\u227E\",prurel:\"\\u22B0\",Pscr:\"\\u{1D4AB}\",pscr:\"\\u{1D4C5}\",Psi:\"\\u03A8\",psi:\"\\u03C8\",puncsp:\"\\u2008\",Qfr:\"\\u{1D514}\",qfr:\"\\u{1D52E}\",qint:\"\\u2A0C\",Qopf:\"\\u211A\",qopf:\"\\u{1D562}\",qprime:\"\\u2057\",Qscr:\"\\u{1D4AC}\",qscr:\"\\u{1D4C6}\",quaternions:\"\\u210D\",quatint:\"\\u2A16\",quest:\"?\",questeq:\"\\u225F\",QUOT:'\"',quot:'\"',rAarr:\"\\u21DB\",race:\"\\u223D\\u0331\",Racute:\"\\u0154\",racute:\"\\u0155\",radic:\"\\u221A\",raemptyv:\"\\u29B3\",Rang:\"\\u27EB\",rang:\"\\u27E9\",rangd:\"\\u2992\",range:\"\\u29A5\",rangle:\"\\u27E9\",raquo:\"\\xBB\",Rarr:\"\\u21A0\",rArr:\"\\u21D2\",rarr:\"\\u2192\",rarrap:\"\\u2975\",rarrb:\"\\u21E5\",rarrbfs:\"\\u2920\",rarrc:\"\\u2933\",rarrfs:\"\\u291E\",rarrhk:\"\\u21AA\",rarrlp:\"\\u21AC\",rarrpl:\"\\u2945\",rarrsim:\"\\u2974\",Rarrtl:\"\\u2916\",rarrtl:\"\\u21A3\",rarrw:\"\\u219D\",rAtail:\"\\u291C\",ratail:\"\\u291A\",ratio:\"\\u2236\",rationals:\"\\u211A\",RBarr:\"\\u2910\",rBarr:\"\\u290F\",rbarr:\"\\u290D\",rbbrk:\"\\u2773\",rbrace:\"}\",rbrack:\"]\",rbrke:\"\\u298C\",rbrksld:\"\\u298E\",rbrkslu:\"\\u2990\",Rcaron:\"\\u0158\",rcaron:\"\\u0159\",Rcedil:\"\\u0156\",rcedil:\"\\u0157\",rceil:\"\\u2309\",rcub:\"}\",Rcy:\"\\u0420\",rcy:\"\\u0440\",rdca:\"\\u2937\",rdldhar:\"\\u2969\",rdquo:\"\\u201D\",rdquor:\"\\u201D\",rdsh:\"\\u21B3\",Re:\"\\u211C\",real:\"\\u211C\",realine:\"\\u211B\",realpart:\"\\u211C\",reals:\"\\u211D\",rect:\"\\u25AD\",REG:\"\\xAE\",reg:\"\\xAE\",ReverseElement:\"\\u220B\",ReverseEquilibrium:\"\\u21CB\",ReverseUpEquilibrium:\"\\u296F\",rfisht:\"\\u297D\",rfloor:\"\\u230B\",Rfr:\"\\u211C\",rfr:\"\\u{1D52F}\",rHar:\"\\u2964\",rhard:\"\\u21C1\",rharu:\"\\u21C0\",rharul:\"\\u296C\",Rho:\"\\u03A1\",rho:\"\\u03C1\",rhov:\"\\u03F1\",RightAngleBracket:\"\\u27E9\",RightArrow:\"\\u2192\",Rightarrow:\"\\u21D2\",rightarrow:\"\\u2192\",RightArrowBar:\"\\u21E5\",RightArrowLeftArrow:\"\\u21C4\",rightarrowtail:\"\\u21A3\",RightCeiling:\"\\u2309\",RightDoubleBracket:\"\\u27E7\",RightDownTeeVector:\"\\u295D\",RightDownVector:\"\\u21C2\",RightDownVectorBar:\"\\u2955\",RightFloor:\"\\u230B\",rightharpoondown:\"\\u21C1\",rightharpoonup:\"\\u21C0\",rightleftarrows:\"\\u21C4\",rightleftharpoons:\"\\u21CC\",rightrightarrows:\"\\u21C9\",rightsquigarrow:\"\\u219D\",RightTee:\"\\u22A2\",RightTeeArrow:\"\\u21A6\",RightTeeVector:\"\\u295B\",rightthreetimes:\"\\u22CC\",RightTriangle:\"\\u22B3\",RightTriangleBar:\"\\u29D0\",RightTriangleEqual:\"\\u22B5\",RightUpDownVector:\"\\u294F\",RightUpTeeVector:\"\\u295C\",RightUpVector:\"\\u21BE\",RightUpVectorBar:\"\\u2954\",RightVector:\"\\u21C0\",RightVectorBar:\"\\u2953\",ring:\"\\u02DA\",risingdotseq:\"\\u2253\",rlarr:\"\\u21C4\",rlhar:\"\\u21CC\",rlm:\"\\u200F\",rmoust:\"\\u23B1\",rmoustache:\"\\u23B1\",rnmid:\"\\u2AEE\",roang:\"\\u27ED\",roarr:\"\\u21FE\",robrk:\"\\u27E7\",ropar:\"\\u2986\",Ropf:\"\\u211D\",ropf:\"\\u{1D563}\",roplus:\"\\u2A2E\",rotimes:\"\\u2A35\",RoundImplies:\"\\u2970\",rpar:\")\",rpargt:\"\\u2994\",rppolint:\"\\u2A12\",rrarr:\"\\u21C9\",Rrightarrow:\"\\u21DB\",rsaquo:\"\\u203A\",Rscr:\"\\u211B\",rscr:\"\\u{1D4C7}\",Rsh:\"\\u21B1\",rsh:\"\\u21B1\",rsqb:\"]\",rsquo:\"\\u2019\",rsquor:\"\\u2019\",rthree:\"\\u22CC\",rtimes:\"\\u22CA\",rtri:\"\\u25B9\",rtrie:\"\\u22B5\",rtrif:\"\\u25B8\",rtriltri:\"\\u29CE\",RuleDelayed:\"\\u29F4\",ruluhar:\"\\u2968\",rx:\"\\u211E\",Sacute:\"\\u015A\",sacute:\"\\u015B\",sbquo:\"\\u201A\",Sc:\"\\u2ABC\",sc:\"\\u227B\",scap:\"\\u2AB8\",Scaron:\"\\u0160\",scaron:\"\\u0161\",sccue:\"\\u227D\",scE:\"\\u2AB4\",sce:\"\\u2AB0\",Scedil:\"\\u015E\",scedil:\"\\u015F\",Scirc:\"\\u015C\",scirc:\"\\u015D\",scnap:\"\\u2ABA\",scnE:\"\\u2AB6\",scnsim:\"\\u22E9\",scpolint:\"\\u2A13\",scsim:\"\\u227F\",Scy:\"\\u0421\",scy:\"\\u0441\",sdot:\"\\u22C5\",sdotb:\"\\u22A1\",sdote:\"\\u2A66\",searhk:\"\\u2925\",seArr:\"\\u21D8\",searr:\"\\u2198\",searrow:\"\\u2198\",sect:\"\\xA7\",semi:\";\",seswar:\"\\u2929\",setminus:\"\\u2216\",setmn:\"\\u2216\",sext:\"\\u2736\",Sfr:\"\\u{1D516}\",sfr:\"\\u{1D530}\",sfrown:\"\\u2322\",sharp:\"\\u266F\",SHCHcy:\"\\u0429\",shchcy:\"\\u0449\",SHcy:\"\\u0428\",shcy:\"\\u0448\",ShortDownArrow:\"\\u2193\",ShortLeftArrow:\"\\u2190\",shortmid:\"\\u2223\",shortparallel:\"\\u2225\",ShortRightArrow:\"\\u2192\",ShortUpArrow:\"\\u2191\",shy:\"\\xAD\",Sigma:\"\\u03A3\",sigma:\"\\u03C3\",sigmaf:\"\\u03C2\",sigmav:\"\\u03C2\",sim:\"\\u223C\",simdot:\"\\u2A6A\",sime:\"\\u2243\",simeq:\"\\u2243\",simg:\"\\u2A9E\",simgE:\"\\u2AA0\",siml:\"\\u2A9D\",simlE:\"\\u2A9F\",simne:\"\\u2246\",simplus:\"\\u2A24\",simrarr:\"\\u2972\",slarr:\"\\u2190\",SmallCircle:\"\\u2218\",smallsetminus:\"\\u2216\",smashp:\"\\u2A33\",smeparsl:\"\\u29E4\",smid:\"\\u2223\",smile:\"\\u2323\",smt:\"\\u2AAA\",smte:\"\\u2AAC\",smtes:\"\\u2AAC\\uFE00\",SOFTcy:\"\\u042C\",softcy:\"\\u044C\",sol:\"/\",solb:\"\\u29C4\",solbar:\"\\u233F\",Sopf:\"\\u{1D54A}\",sopf:\"\\u{1D564}\",spades:\"\\u2660\",spadesuit:\"\\u2660\",spar:\"\\u2225\",sqcap:\"\\u2293\",sqcaps:\"\\u2293\\uFE00\",sqcup:\"\\u2294\",sqcups:\"\\u2294\\uFE00\",Sqrt:\"\\u221A\",sqsub:\"\\u228F\",sqsube:\"\\u2291\",sqsubset:\"\\u228F\",sqsubseteq:\"\\u2291\",sqsup:\"\\u2290\",sqsupe:\"\\u2292\",sqsupset:\"\\u2290\",sqsupseteq:\"\\u2292\",squ:\"\\u25A1\",Square:\"\\u25A1\",square:\"\\u25A1\",SquareIntersection:\"\\u2293\",SquareSubset:\"\\u228F\",SquareSubsetEqual:\"\\u2291\",SquareSuperset:\"\\u2290\",SquareSupersetEqual:\"\\u2292\",SquareUnion:\"\\u2294\",squarf:\"\\u25AA\",squf:\"\\u25AA\",srarr:\"\\u2192\",Sscr:\"\\u{1D4AE}\",sscr:\"\\u{1D4C8}\",ssetmn:\"\\u2216\",ssmile:\"\\u2323\",sstarf:\"\\u22C6\",Star:\"\\u22C6\",star:\"\\u2606\",starf:\"\\u2605\",straightepsilon:\"\\u03F5\",straightphi:\"\\u03D5\",strns:\"\\xAF\",Sub:\"\\u22D0\",sub:\"\\u2282\",subdot:\"\\u2ABD\",subE:\"\\u2AC5\",sube:\"\\u2286\",subedot:\"\\u2AC3\",submult:\"\\u2AC1\",subnE:\"\\u2ACB\",subne:\"\\u228A\",subplus:\"\\u2ABF\",subrarr:\"\\u2979\",Subset:\"\\u22D0\",subset:\"\\u2282\",subseteq:\"\\u2286\",subseteqq:\"\\u2AC5\",SubsetEqual:\"\\u2286\",subsetneq:\"\\u228A\",subsetneqq:\"\\u2ACB\",subsim:\"\\u2AC7\",subsub:\"\\u2AD5\",subsup:\"\\u2AD3\",succ:\"\\u227B\",succapprox:\"\\u2AB8\",succcurlyeq:\"\\u227D\",Succeeds:\"\\u227B\",SucceedsEqual:\"\\u2AB0\",SucceedsSlantEqual:\"\\u227D\",SucceedsTilde:\"\\u227F\",succeq:\"\\u2AB0\",succnapprox:\"\\u2ABA\",succneqq:\"\\u2AB6\",succnsim:\"\\u22E9\",succsim:\"\\u227F\",SuchThat:\"\\u220B\",Sum:\"\\u2211\",sum:\"\\u2211\",sung:\"\\u266A\",Sup:\"\\u22D1\",sup:\"\\u2283\",sup1:\"\\xB9\",sup2:\"\\xB2\",sup3:\"\\xB3\",supdot:\"\\u2ABE\",supdsub:\"\\u2AD8\",supE:\"\\u2AC6\",supe:\"\\u2287\",supedot:\"\\u2AC4\",Superset:\"\\u2283\",SupersetEqual:\"\\u2287\",suphsol:\"\\u27C9\",suphsub:\"\\u2AD7\",suplarr:\"\\u297B\",supmult:\"\\u2AC2\",supnE:\"\\u2ACC\",supne:\"\\u228B\",supplus:\"\\u2AC0\",Supset:\"\\u22D1\",supset:\"\\u2283\",supseteq:\"\\u2287\",supseteqq:\"\\u2AC6\",supsetneq:\"\\u228B\",supsetneqq:\"\\u2ACC\",supsim:\"\\u2AC8\",supsub:\"\\u2AD4\",supsup:\"\\u2AD6\",swarhk:\"\\u2926\",swArr:\"\\u21D9\",swarr:\"\\u2199\",swarrow:\"\\u2199\",swnwar:\"\\u292A\",szlig:\"\\xDF\",Tab:\"\t\",target:\"\\u2316\",Tau:\"\\u03A4\",tau:\"\\u03C4\",tbrk:\"\\u23B4\",Tcaron:\"\\u0164\",tcaron:\"\\u0165\",Tcedil:\"\\u0162\",tcedil:\"\\u0163\",Tcy:\"\\u0422\",tcy:\"\\u0442\",tdot:\"\\u20DB\",telrec:\"\\u2315\",Tfr:\"\\u{1D517}\",tfr:\"\\u{1D531}\",there4:\"\\u2234\",Therefore:\"\\u2234\",therefore:\"\\u2234\",Theta:\"\\u0398\",theta:\"\\u03B8\",thetasym:\"\\u03D1\",thetav:\"\\u03D1\",thickapprox:\"\\u2248\",thicksim:\"\\u223C\",ThickSpace:\"\\u205F\\u200A\",thinsp:\"\\u2009\",ThinSpace:\"\\u2009\",thkap:\"\\u2248\",thksim:\"\\u223C\",THORN:\"\\xDE\",thorn:\"\\xFE\",Tilde:\"\\u223C\",tilde:\"\\u02DC\",TildeEqual:\"\\u2243\",TildeFullEqual:\"\\u2245\",TildeTilde:\"\\u2248\",times:\"\\xD7\",timesb:\"\\u22A0\",timesbar:\"\\u2A31\",timesd:\"\\u2A30\",tint:\"\\u222D\",toea:\"\\u2928\",top:\"\\u22A4\",topbot:\"\\u2336\",topcir:\"\\u2AF1\",Topf:\"\\u{1D54B}\",topf:\"\\u{1D565}\",topfork:\"\\u2ADA\",tosa:\"\\u2929\",tprime:\"\\u2034\",TRADE:\"\\u2122\",trade:\"\\u2122\",triangle:\"\\u25B5\",triangledown:\"\\u25BF\",triangleleft:\"\\u25C3\",trianglelefteq:\"\\u22B4\",triangleq:\"\\u225C\",triangleright:\"\\u25B9\",trianglerighteq:\"\\u22B5\",tridot:\"\\u25EC\",trie:\"\\u225C\",triminus:\"\\u2A3A\",TripleDot:\"\\u20DB\",triplus:\"\\u2A39\",trisb:\"\\u29CD\",tritime:\"\\u2A3B\",trpezium:\"\\u23E2\",Tscr:\"\\u{1D4AF}\",tscr:\"\\u{1D4C9}\",TScy:\"\\u0426\",tscy:\"\\u0446\",TSHcy:\"\\u040B\",tshcy:\"\\u045B\",Tstrok:\"\\u0166\",tstrok:\"\\u0167\",twixt:\"\\u226C\",twoheadleftarrow:\"\\u219E\",twoheadrightarrow:\"\\u21A0\",Uacute:\"\\xDA\",uacute:\"\\xFA\",Uarr:\"\\u219F\",uArr:\"\\u21D1\",uarr:\"\\u2191\",Uarrocir:\"\\u2949\",Ubrcy:\"\\u040E\",ubrcy:\"\\u045E\",Ubreve:\"\\u016C\",ubreve:\"\\u016D\",Ucirc:\"\\xDB\",ucirc:\"\\xFB\",Ucy:\"\\u0423\",ucy:\"\\u0443\",udarr:\"\\u21C5\",Udblac:\"\\u0170\",udblac:\"\\u0171\",udhar:\"\\u296E\",ufisht:\"\\u297E\",Ufr:\"\\u{1D518}\",ufr:\"\\u{1D532}\",Ugrave:\"\\xD9\",ugrave:\"\\xF9\",uHar:\"\\u2963\",uharl:\"\\u21BF\",uharr:\"\\u21BE\",uhblk:\"\\u2580\",ulcorn:\"\\u231C\",ulcorner:\"\\u231C\",ulcrop:\"\\u230F\",ultri:\"\\u25F8\",Umacr:\"\\u016A\",umacr:\"\\u016B\",uml:\"\\xA8\",UnderBar:\"_\",UnderBrace:\"\\u23DF\",UnderBracket:\"\\u23B5\",UnderParenthesis:\"\\u23DD\",Union:\"\\u22C3\",UnionPlus:\"\\u228E\",Uogon:\"\\u0172\",uogon:\"\\u0173\",Uopf:\"\\u{1D54C}\",uopf:\"\\u{1D566}\",UpArrow:\"\\u2191\",Uparrow:\"\\u21D1\",uparrow:\"\\u2191\",UpArrowBar:\"\\u2912\",UpArrowDownArrow:\"\\u21C5\",UpDownArrow:\"\\u2195\",Updownarrow:\"\\u21D5\",updownarrow:\"\\u2195\",UpEquilibrium:\"\\u296E\",upharpoonleft:\"\\u21BF\",upharpoonright:\"\\u21BE\",uplus:\"\\u228E\",UpperLeftArrow:\"\\u2196\",UpperRightArrow:\"\\u2197\",Upsi:\"\\u03D2\",upsi:\"\\u03C5\",upsih:\"\\u03D2\",Upsilon:\"\\u03A5\",upsilon:\"\\u03C5\",UpTee:\"\\u22A5\",UpTeeArrow:\"\\u21A5\",upuparrows:\"\\u21C8\",urcorn:\"\\u231D\",urcorner:\"\\u231D\",urcrop:\"\\u230E\",Uring:\"\\u016E\",uring:\"\\u016F\",urtri:\"\\u25F9\",Uscr:\"\\u{1D4B0}\",uscr:\"\\u{1D4CA}\",utdot:\"\\u22F0\",Utilde:\"\\u0168\",utilde:\"\\u0169\",utri:\"\\u25B5\",utrif:\"\\u25B4\",uuarr:\"\\u21C8\",Uuml:\"\\xDC\",uuml:\"\\xFC\",uwangle:\"\\u29A7\",vangrt:\"\\u299C\",varepsilon:\"\\u03F5\",varkappa:\"\\u03F0\",varnothing:\"\\u2205\",varphi:\"\\u03D5\",varpi:\"\\u03D6\",varpropto:\"\\u221D\",vArr:\"\\u21D5\",varr:\"\\u2195\",varrho:\"\\u03F1\",varsigma:\"\\u03C2\",varsubsetneq:\"\\u228A\\uFE00\",varsubsetneqq:\"\\u2ACB\\uFE00\",varsupsetneq:\"\\u228B\\uFE00\",varsupsetneqq:\"\\u2ACC\\uFE00\",vartheta:\"\\u03D1\",vartriangleleft:\"\\u22B2\",vartriangleright:\"\\u22B3\",Vbar:\"\\u2AEB\",vBar:\"\\u2AE8\",vBarv:\"\\u2AE9\",Vcy:\"\\u0412\",vcy:\"\\u0432\",VDash:\"\\u22AB\",Vdash:\"\\u22A9\",vDash:\"\\u22A8\",vdash:\"\\u22A2\",Vdashl:\"\\u2AE6\",Vee:\"\\u22C1\",vee:\"\\u2228\",veebar:\"\\u22BB\",veeeq:\"\\u225A\",vellip:\"\\u22EE\",Verbar:\"\\u2016\",verbar:\"|\",Vert:\"\\u2016\",vert:\"|\",VerticalBar:\"\\u2223\",VerticalLine:\"|\",VerticalSeparator:\"\\u2758\",VerticalTilde:\"\\u2240\",VeryThinSpace:\"\\u200A\",Vfr:\"\\u{1D519}\",vfr:\"\\u{1D533}\",vltri:\"\\u22B2\",vnsub:\"\\u2282\\u20D2\",vnsup:\"\\u2283\\u20D2\",Vopf:\"\\u{1D54D}\",vopf:\"\\u{1D567}\",vprop:\"\\u221D\",vrtri:\"\\u22B3\",Vscr:\"\\u{1D4B1}\",vscr:\"\\u{1D4CB}\",vsubnE:\"\\u2ACB\\uFE00\",vsubne:\"\\u228A\\uFE00\",vsupnE:\"\\u2ACC\\uFE00\",vsupne:\"\\u228B\\uFE00\",Vvdash:\"\\u22AA\",vzigzag:\"\\u299A\",Wcirc:\"\\u0174\",wcirc:\"\\u0175\",wedbar:\"\\u2A5F\",Wedge:\"\\u22C0\",wedge:\"\\u2227\",wedgeq:\"\\u2259\",weierp:\"\\u2118\",Wfr:\"\\u{1D51A}\",wfr:\"\\u{1D534}\",Wopf:\"\\u{1D54E}\",wopf:\"\\u{1D568}\",wp:\"\\u2118\",wr:\"\\u2240\",wreath:\"\\u2240\",Wscr:\"\\u{1D4B2}\",wscr:\"\\u{1D4CC}\",xcap:\"\\u22C2\",xcirc:\"\\u25EF\",xcup:\"\\u22C3\",xdtri:\"\\u25BD\",Xfr:\"\\u{1D51B}\",xfr:\"\\u{1D535}\",xhArr:\"\\u27FA\",xharr:\"\\u27F7\",Xi:\"\\u039E\",xi:\"\\u03BE\",xlArr:\"\\u27F8\",xlarr:\"\\u27F5\",xmap:\"\\u27FC\",xnis:\"\\u22FB\",xodot:\"\\u2A00\",Xopf:\"\\u{1D54F}\",xopf:\"\\u{1D569}\",xoplus:\"\\u2A01\",xotime:\"\\u2A02\",xrArr:\"\\u27F9\",xrarr:\"\\u27F6\",Xscr:\"\\u{1D4B3}\",xscr:\"\\u{1D4CD}\",xsqcup:\"\\u2A06\",xuplus:\"\\u2A04\",xutri:\"\\u25B3\",xvee:\"\\u22C1\",xwedge:\"\\u22C0\",Yacute:\"\\xDD\",yacute:\"\\xFD\",YAcy:\"\\u042F\",yacy:\"\\u044F\",Ycirc:\"\\u0176\",ycirc:\"\\u0177\",Ycy:\"\\u042B\",ycy:\"\\u044B\",yen:\"\\xA5\",Yfr:\"\\u{1D51C}\",yfr:\"\\u{1D536}\",YIcy:\"\\u0407\",yicy:\"\\u0457\",Yopf:\"\\u{1D550}\",yopf:\"\\u{1D56A}\",Yscr:\"\\u{1D4B4}\",yscr:\"\\u{1D4CE}\",YUcy:\"\\u042E\",yucy:\"\\u044E\",Yuml:\"\\u0178\",yuml:\"\\xFF\",Zacute:\"\\u0179\",zacute:\"\\u017A\",Zcaron:\"\\u017D\",zcaron:\"\\u017E\",Zcy:\"\\u0417\",zcy:\"\\u0437\",Zdot:\"\\u017B\",zdot:\"\\u017C\",zeetrf:\"\\u2128\",ZeroWidthSpace:\"\\u200B\",Zeta:\"\\u0396\",zeta:\"\\u03B6\",Zfr:\"\\u2128\",zfr:\"\\u{1D537}\",ZHcy:\"\\u0416\",zhcy:\"\\u0436\",zigrarr:\"\\u21DD\",Zopf:\"\\u2124\",zopf:\"\\u{1D56B}\",Zscr:\"\\u{1D4B5}\",zscr:\"\\u{1D4CF}\",zwj:\"\\u200D\",zwnj:\"\\u200C\"},e.NGSP_UNICODE=\"\\uE500\",e.NAMED_ENTITIES.ngsp=e.NGSP_UNICODE;}}),Bs=I({\"node_modules/angular-html-parser/lib/compiler/src/ml_parser/html_tags.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Ze(),u=class{constructor(){let{closedByChildren:i,implicitNamespacePrefix:f,contentType:c=r.TagContentType.PARSABLE_DATA,closedByParent:F=!1,isVoid:a=!1,ignoreFirstLf:l=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,i&&i.length>0&&i.forEach(h=>this.closedByChildren[h]=!0),this.isVoid=a,this.closedByParent=F||a,this.implicitNamespacePrefix=f||null,this.contentType=c,this.ignoreFirstLf=l;}isClosedByChild(i){return this.isVoid||i.toLowerCase()in this.closedByChildren}};e.HtmlTagDefinition=u;var n,D;function s(i){return D||(n=new u,D={base:new u({isVoid:!0}),meta:new u({isVoid:!0}),area:new u({isVoid:!0}),embed:new u({isVoid:!0}),link:new u({isVoid:!0}),img:new u({isVoid:!0}),input:new u({isVoid:!0}),param:new u({isVoid:!0}),hr:new u({isVoid:!0}),br:new u({isVoid:!0}),source:new u({isVoid:!0}),track:new u({isVoid:!0}),wbr:new u({isVoid:!0}),p:new u({closedByChildren:[\"address\",\"article\",\"aside\",\"blockquote\",\"div\",\"dl\",\"fieldset\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"main\",\"nav\",\"ol\",\"p\",\"pre\",\"section\",\"table\",\"ul\"],closedByParent:!0}),thead:new u({closedByChildren:[\"tbody\",\"tfoot\"]}),tbody:new u({closedByChildren:[\"tbody\",\"tfoot\"],closedByParent:!0}),tfoot:new u({closedByChildren:[\"tbody\"],closedByParent:!0}),tr:new u({closedByChildren:[\"tr\"],closedByParent:!0}),td:new u({closedByChildren:[\"td\",\"th\"],closedByParent:!0}),th:new u({closedByChildren:[\"td\",\"th\"],closedByParent:!0}),col:new u({isVoid:!0}),svg:new u({implicitNamespacePrefix:\"svg\"}),math:new u({implicitNamespacePrefix:\"math\"}),li:new u({closedByChildren:[\"li\"],closedByParent:!0}),dt:new u({closedByChildren:[\"dt\",\"dd\"]}),dd:new u({closedByChildren:[\"dt\",\"dd\"],closedByParent:!0}),rb:new u({closedByChildren:[\"rb\",\"rt\",\"rtc\",\"rp\"],closedByParent:!0}),rt:new u({closedByChildren:[\"rb\",\"rt\",\"rtc\",\"rp\"],closedByParent:!0}),rtc:new u({closedByChildren:[\"rb\",\"rtc\",\"rp\"],closedByParent:!0}),rp:new u({closedByChildren:[\"rb\",\"rt\",\"rtc\",\"rp\"],closedByParent:!0}),optgroup:new u({closedByChildren:[\"optgroup\"],closedByParent:!0}),option:new u({closedByChildren:[\"option\",\"optgroup\"],closedByParent:!0}),pre:new u({ignoreFirstLf:!0}),listing:new u({ignoreFirstLf:!0}),style:new u({contentType:r.TagContentType.RAW_TEXT}),script:new u({contentType:r.TagContentType.RAW_TEXT}),title:new u({contentType:r.TagContentType.ESCAPABLE_RAW_TEXT}),textarea:new u({contentType:r.TagContentType.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),D[i]||n}e.getHtmlTagDefinition=s;}}),Hl=I({\"node_modules/angular-html-parser/lib/compiler/src/ast_path.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=class{constructor(u){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1;this.path=u,this.position=n;}get empty(){return !this.path||!this.path.length}get head(){return this.path[0]}get tail(){return this.path[this.path.length-1]}parentOf(u){return u&&this.path[this.path.indexOf(u)-1]}childOf(u){return this.path[this.path.indexOf(u)+1]}first(u){for(let n=this.path.length-1;n>=0;n--){let D=this.path[n];if(D instanceof u)return D}}push(u){this.path.push(u);}pop(){return this.path.pop()}};e.AstPath=r;}}),bs=I({\"node_modules/angular-html-parser/lib/compiler/src/ml_parser/ast.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Hl(),u=class{constructor(d,m,T){this.value=d,this.sourceSpan=m,this.i18n=T,this.type=\"text\";}visit(d,m){return d.visitText(this,m)}};e.Text=u;var n=class{constructor(d,m){this.value=d,this.sourceSpan=m,this.type=\"cdata\";}visit(d,m){return d.visitCdata(this,m)}};e.CDATA=n;var D=class{constructor(d,m,T,w,g,N){this.switchValue=d,this.type=m,this.cases=T,this.sourceSpan=w,this.switchValueSourceSpan=g,this.i18n=N;}visit(d,m){return d.visitExpansion(this,m)}};e.Expansion=D;var s=class{constructor(d,m,T,w,g){this.value=d,this.expression=m,this.sourceSpan=T,this.valueSourceSpan=w,this.expSourceSpan=g;}visit(d,m){return d.visitExpansionCase(this,m)}};e.ExpansionCase=s;var i=class{constructor(d,m,T){let w=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,g=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null,N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null;this.name=d,this.value=m,this.sourceSpan=T,this.valueSpan=w,this.nameSpan=g,this.i18n=N,this.type=\"attribute\";}visit(d,m){return d.visitAttribute(this,m)}};e.Attribute=i;var f=class{constructor(d,m,T,w){let g=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null,N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null,R=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,j=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null;this.name=d,this.attrs=m,this.children=T,this.sourceSpan=w,this.startSourceSpan=g,this.endSourceSpan=N,this.nameSpan=R,this.i18n=j,this.type=\"element\";}visit(d,m){return d.visitElement(this,m)}};e.Element=f;var c=class{constructor(d,m){this.value=d,this.sourceSpan=m,this.type=\"comment\";}visit(d,m){return d.visitComment(this,m)}};e.Comment=c;var F=class{constructor(d,m){this.value=d,this.sourceSpan=m,this.type=\"docType\";}visit(d,m){return d.visitDocType(this,m)}};e.DocType=F;function a(d,m){let T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,w=[],g=d.visit?N=>d.visit(N,T)||N.visit(d,T):N=>N.visit(d,T);return m.forEach(N=>{let R=g(N);R&&w.push(R);}),w}e.visitAll=a;var l=class{constructor(){}visitElement(d,m){this.visitChildren(m,T=>{T(d.attrs),T(d.children);});}visitAttribute(d,m){}visitText(d,m){}visitCdata(d,m){}visitComment(d,m){}visitDocType(d,m){}visitExpansion(d,m){return this.visitChildren(m,T=>{T(d.cases);})}visitExpansionCase(d,m){}visitChildren(d,m){let T=[],w=this;function g(N){N&&T.push(a(w,N,d));}return m(g),Array.prototype.concat.apply([],T)}};e.RecursiveVisitor=l;function h(d){let m=d.sourceSpan.start.offset,T=d.sourceSpan.end.offset;return d instanceof f&&(d.endSourceSpan?T=d.endSourceSpan.end.offset:d.children&&d.children.length&&(T=h(d.children[d.children.length-1]).end)),{start:m,end:T}}function C(d,m){let T=[],w=new class extends l{visit(g,N){let R=h(g);if(R.start<=m&&m]/,/^[{}]$/,/&(#|[a-z])/i,/^\\/\\//];function n(D,s){if(s!=null&&!(Array.isArray(s)&&s.length==2))throw new Error(`Expected '${D}' to be an array, [start, end].`);if(s!=null){let i=s[0],f=s[1];u.forEach(c=>{if(c.test(i)||c.test(f))throw new Error(`['${i}', '${f}'] contains unusable interpolation symbol.`)});}}e.assertInterpolationSymbols=n;}}),Wl=I({\"node_modules/angular-html-parser/lib/compiler/src/ml_parser/interpolation_config.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=zl(),u=class{constructor(n,D){this.start=n,this.end=D;}static fromArray(n){return n?(r.assertInterpolationSymbols(\"interpolation\",n),new u(n[0],n[1])):e.DEFAULT_INTERPOLATION_CONFIG}};e.InterpolationConfig=u,e.DEFAULT_INTERPOLATION_CONFIG=new u(\"{{\",\"}}\");}}),Yl=I({\"node_modules/angular-html-parser/lib/compiler/src/ml_parser/lexer.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Es(),u=Be(),n=Wl(),D=Ze(),s;(function(t){t[t.TAG_OPEN_START=0]=\"TAG_OPEN_START\",t[t.TAG_OPEN_END=1]=\"TAG_OPEN_END\",t[t.TAG_OPEN_END_VOID=2]=\"TAG_OPEN_END_VOID\",t[t.TAG_CLOSE=3]=\"TAG_CLOSE\",t[t.TEXT=4]=\"TEXT\",t[t.ESCAPABLE_RAW_TEXT=5]=\"ESCAPABLE_RAW_TEXT\",t[t.RAW_TEXT=6]=\"RAW_TEXT\",t[t.COMMENT_START=7]=\"COMMENT_START\",t[t.COMMENT_END=8]=\"COMMENT_END\",t[t.CDATA_START=9]=\"CDATA_START\",t[t.CDATA_END=10]=\"CDATA_END\",t[t.ATTR_NAME=11]=\"ATTR_NAME\",t[t.ATTR_QUOTE=12]=\"ATTR_QUOTE\",t[t.ATTR_VALUE=13]=\"ATTR_VALUE\",t[t.DOC_TYPE_START=14]=\"DOC_TYPE_START\",t[t.DOC_TYPE_END=15]=\"DOC_TYPE_END\",t[t.EXPANSION_FORM_START=16]=\"EXPANSION_FORM_START\",t[t.EXPANSION_CASE_VALUE=17]=\"EXPANSION_CASE_VALUE\",t[t.EXPANSION_CASE_EXP_START=18]=\"EXPANSION_CASE_EXP_START\",t[t.EXPANSION_CASE_EXP_END=19]=\"EXPANSION_CASE_EXP_END\",t[t.EXPANSION_FORM_END=20]=\"EXPANSION_FORM_END\",t[t.EOF=21]=\"EOF\";})(s=e.TokenType||(e.TokenType={}));var i=class{constructor(t,o,E){this.type=t,this.parts=o,this.sourceSpan=E;}};e.Token=i;var f=class extends u.ParseError{constructor(t,o,E){super(E,t),this.tokenType=o;}};e.TokenError=f;var c=class{constructor(t,o){this.tokens=t,this.errors=o;}};e.TokenizeResult=c;function F(t,o,E){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return new d(new u.ParseSourceFile(t,o),E,p).tokenize()}e.tokenize=F;var a=/\\r\\n?/g;function l(t){return `Unexpected character \"${t===r.$EOF?\"EOF\":String.fromCharCode(t)}\"`}function h(t){return `Unknown entity \"${t}\" - use the \"&#;\" or \"&#x;\" syntax`}var C=class{constructor(t){this.error=t;}},d=class{constructor(t,o,E){this._getTagContentType=o,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this._fullNameStack=[],this.tokens=[],this.errors=[],this._tokenizeIcu=E.tokenizeExpansionForms||!1,this._interpolationConfig=E.interpolationConfig||n.DEFAULT_INTERPOLATION_CONFIG,this._leadingTriviaCodePoints=E.leadingTriviaChars&&E.leadingTriviaChars.map(A=>A.codePointAt(0)||0),this._canSelfClose=E.canSelfClose||!1,this._allowHtmComponentClosingTags=E.allowHtmComponentClosingTags||!1;let p=E.range||{endPos:t.content.length,startPos:0,startLine:0,startCol:0};this._cursor=E.escapedString?new k(t,p):new x(t,p);try{this._cursor.init();}catch(A){this.handleError(A);}}_processCarriageReturns(t){return t.replace(a,`\n`)}tokenize(){for(;this._cursor.peek()!==r.$EOF;){let t=this._cursor.clone();try{if(this._attemptCharCode(r.$LT))if(this._attemptCharCode(r.$BANG))this._attemptStr(\"[CDATA[\")?this._consumeCdata(t):this._attemptStr(\"--\")?this._consumeComment(t):this._attemptStrCaseInsensitive(\"doctype\")?this._consumeDocType(t):this._consumeBogusComment(t);else if(this._attemptCharCode(r.$SLASH))this._consumeTagClose(t);else {let o=this._cursor.clone();this._attemptCharCode(r.$QUESTION)?(this._cursor=o,this._consumeBogusComment(t)):this._consumeTagOpen(t);}else this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText();}catch(o){this.handleError(o);}}return this._beginToken(s.EOF),this._endToken([]),new c(O(this.tokens),this.errors)}_tokenizeExpansionForm(){if(this.isExpansionFormStart())return this._consumeExpansionFormStart(),!0;if(R(this._cursor.peek())&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;if(this._cursor.peek()===r.$RBRACE){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return !1}_beginToken(t){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._cursor.clone();this._currentTokenStart=o,this._currentTokenType=t;}_endToken(t){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._cursor.clone();if(this._currentTokenStart===null)throw new f(\"Programming error - attempted to end a token when there was no start to the token\",this._currentTokenType,this._cursor.getSpan(o));if(this._currentTokenType===null)throw new f(\"Programming error - attempted to end a token which has no token type\",null,this._cursor.getSpan(this._currentTokenStart));let E=new i(this._currentTokenType,t,this._cursor.getSpan(this._currentTokenStart,this._leadingTriviaCodePoints));return this.tokens.push(E),this._currentTokenStart=null,this._currentTokenType=null,E}_createError(t,o){this._isInExpansionForm()&&(t+=` (Do you have an unescaped \"{\" in your template? Use \"{{ '{' }}\") to escape it.)`);let E=new f(t,this._currentTokenType,o);return this._currentTokenStart=null,this._currentTokenType=null,new C(E)}handleError(t){if(t instanceof $&&(t=this._createError(t.msg,this._cursor.getSpan(t.cursor))),t instanceof C)this.errors.push(t.error);else throw t}_attemptCharCode(t){return this._cursor.peek()===t?(this._cursor.advance(),!0):!1}_attemptCharCodeCaseInsensitive(t){return j(this._cursor.peek(),t)?(this._cursor.advance(),!0):!1}_requireCharCode(t){let o=this._cursor.clone();if(!this._attemptCharCode(t))throw this._createError(l(this._cursor.peek()),this._cursor.getSpan(o))}_attemptStr(t){let o=t.length;if(this._cursor.charsLeft()this._attemptStr(\"-->\")),this._beginToken(s.COMMENT_END),this._requireStr(\"-->\"),this._endToken([]);}_consumeBogusComment(t){this._beginToken(s.COMMENT_START,t),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===r.$GT),this._beginToken(s.COMMENT_END),this._cursor.advance(),this._endToken([]);}_consumeCdata(t){this._beginToken(s.CDATA_START,t),this._endToken([]),this._consumeRawText(!1,()=>this._attemptStr(\"]]>\")),this._beginToken(s.CDATA_END),this._requireStr(\"]]>\"),this._endToken([]);}_consumeDocType(t){this._beginToken(s.DOC_TYPE_START,t),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===r.$GT),this._beginToken(s.DOC_TYPE_END),this._cursor.advance(),this._endToken([]);}_consumePrefixAndName(){let t=this._cursor.clone(),o=\"\";for(;this._cursor.peek()!==r.$COLON&&!w(this._cursor.peek());)this._cursor.advance();let E;this._cursor.peek()===r.$COLON?(o=this._cursor.getChars(t),this._cursor.advance(),E=this._cursor.clone()):E=t,this._requireCharCodeUntilFn(T,o===\"\"?0:1);let p=this._cursor.getChars(E);return [o,p]}_consumeTagOpen(t){let o,E,p,A=this.tokens.length,P=this._cursor.clone(),M=[];try{if(!r.isAsciiLetter(this._cursor.peek()))throw this._createError(l(this._cursor.peek()),this._cursor.getSpan(t));for(p=this._consumeTagOpenStart(t),E=p.parts[0],o=p.parts[1],this._attemptCharCodeUntilFn(m);this._cursor.peek()!==r.$SLASH&&this._cursor.peek()!==r.$GT;){let[V,X]=this._consumeAttributeName();if(this._attemptCharCodeUntilFn(m),this._attemptCharCode(r.$EQ)){this._attemptCharCodeUntilFn(m);let H=this._consumeAttributeValue();M.push({prefix:V,name:X,value:H});}else M.push({prefix:V,name:X});this._attemptCharCodeUntilFn(m);}this._consumeTagOpenEnd();}catch(V){if(V instanceof C){this._cursor=P,p&&(this.tokens.length=A),this._beginToken(s.TEXT,t),this._endToken([\"<\"]);return}throw V}if(this._canSelfClose&&this.tokens[this.tokens.length-1].type===s.TAG_OPEN_END_VOID)return;let z=this._getTagContentType(o,E,this._fullNameStack.length>0,M);this._handleFullNameStackForTagOpen(E,o),z===D.TagContentType.RAW_TEXT?this._consumeRawTextWithTagClose(E,o,!1):z===D.TagContentType.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(E,o,!0);}_consumeRawTextWithTagClose(t,o,E){this._consumeRawText(E,()=>!this._attemptCharCode(r.$LT)||!this._attemptCharCode(r.$SLASH)||(this._attemptCharCodeUntilFn(m),!this._attemptStrCaseInsensitive(t?`${t}:${o}`:o))?!1:(this._attemptCharCodeUntilFn(m),this._attemptCharCode(r.$GT)));this._beginToken(s.TAG_CLOSE),this._requireCharCodeUntilFn(A=>A===r.$GT,3),this._cursor.advance(),this._endToken([t,o]),this._handleFullNameStackForTagClose(t,o);}_consumeTagOpenStart(t){this._beginToken(s.TAG_OPEN_START,t);let o=this._consumePrefixAndName();return this._endToken(o)}_consumeAttributeName(){let t=this._cursor.peek();if(t===r.$SQ||t===r.$DQ)throw this._createError(l(t),this._cursor.getSpan());this._beginToken(s.ATTR_NAME);let o=this._consumePrefixAndName();return this._endToken(o),o}_consumeAttributeValue(){let t;if(this._cursor.peek()===r.$SQ||this._cursor.peek()===r.$DQ){this._beginToken(s.ATTR_QUOTE);let o=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(o)]),this._beginToken(s.ATTR_VALUE);let E=[];for(;this._cursor.peek()!==o;)E.push(this._readChar(!0));t=this._processCarriageReturns(E.join(\"\")),this._endToken([t]),this._beginToken(s.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(o)]);}else {this._beginToken(s.ATTR_VALUE);let o=this._cursor.clone();this._requireCharCodeUntilFn(T,1),t=this._processCarriageReturns(this._cursor.getChars(o)),this._endToken([t]);}return t}_consumeTagOpenEnd(){let t=this._attemptCharCode(r.$SLASH)?s.TAG_OPEN_END_VOID:s.TAG_OPEN_END;this._beginToken(t),this._requireCharCode(r.$GT),this._endToken([]);}_consumeTagClose(t){if(this._beginToken(s.TAG_CLOSE,t),this._attemptCharCodeUntilFn(m),this._allowHtmComponentClosingTags&&this._attemptCharCode(r.$SLASH))this._attemptCharCodeUntilFn(m),this._requireCharCode(r.$GT),this._endToken([]);else {let[o,E]=this._consumePrefixAndName();this._attemptCharCodeUntilFn(m),this._requireCharCode(r.$GT),this._endToken([o,E]),this._handleFullNameStackForTagClose(o,E);}}_consumeExpansionFormStart(){this._beginToken(s.EXPANSION_FORM_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._expansionCaseStack.push(s.EXPANSION_FORM_START),this._beginToken(s.RAW_TEXT);let t=this._readUntil(r.$COMMA);this._endToken([t]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(m),this._beginToken(s.RAW_TEXT);let o=this._readUntil(r.$COMMA);this._endToken([o]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(m);}_consumeExpansionCaseStart(){this._beginToken(s.EXPANSION_CASE_VALUE);let t=this._readUntil(r.$LBRACE).trim();this._endToken([t]),this._attemptCharCodeUntilFn(m),this._beginToken(s.EXPANSION_CASE_EXP_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._attemptCharCodeUntilFn(m),this._expansionCaseStack.push(s.EXPANSION_CASE_EXP_START);}_consumeExpansionCaseEnd(){this._beginToken(s.EXPANSION_CASE_EXP_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._attemptCharCodeUntilFn(m),this._expansionCaseStack.pop();}_consumeExpansionFormEnd(){this._beginToken(s.EXPANSION_FORM_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._expansionCaseStack.pop();}_consumeText(){let t=this._cursor.clone();this._beginToken(s.TEXT,t);let o=[];do this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(o.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(o.push(this._interpolationConfig.end),this._inInterpolation=!1):o.push(this._readChar(!0));while(!this._isTextEnd());this._endToken([this._processCarriageReturns(o.join(\"\"))]);}_isTextEnd(){return !!(this._cursor.peek()===r.$LT||this._cursor.peek()===r.$EOF||this._tokenizeIcu&&!this._inInterpolation&&(this.isExpansionFormStart()||this._cursor.peek()===r.$RBRACE&&this._isInExpansionCase()))}_readUntil(t){let o=this._cursor.clone();return this._attemptUntilChar(t),this._cursor.getChars(o)}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_CASE_EXP_START}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_FORM_START}isExpansionFormStart(){if(this._cursor.peek()!==r.$LBRACE)return !1;if(this._interpolationConfig){let t=this._cursor.clone(),o=this._attemptStr(this._interpolationConfig.start);return this._cursor=t,!o}return !0}_handleFullNameStackForTagOpen(t,o){let E=D.mergeNsAndName(t,o);(this._fullNameStack.length===0||this._fullNameStack[this._fullNameStack.length-1]===E)&&this._fullNameStack.push(E);}_handleFullNameStackForTagClose(t,o){let E=D.mergeNsAndName(t,o);this._fullNameStack.length!==0&&this._fullNameStack[this._fullNameStack.length-1]===E&&this._fullNameStack.pop();}};function m(t){return !r.isWhitespace(t)||t===r.$EOF}function T(t){return r.isWhitespace(t)||t===r.$GT||t===r.$SLASH||t===r.$SQ||t===r.$DQ||t===r.$EQ}function w(t){return (tr.$9)}function g(t){return t==r.$SEMICOLON||t==r.$EOF||!r.isAsciiHexDigit(t)}function N(t){return t==r.$SEMICOLON||t==r.$EOF||!r.isAsciiLetter(t)}function R(t){return t===r.$EQ||r.isAsciiLetter(t)||r.isDigit(t)}function j(t,o){return _(t)==_(o)}function _(t){return t>=r.$a&&t<=r.$z?t-r.$a+r.$A:t}function O(t){let o=[],E;for(let p=0;p0&&o.indexOf(t.peek())!==-1;)t.advance();return new u.ParseSourceSpan(new u.ParseLocation(t.file,t.state.offset,t.state.line,t.state.column),new u.ParseLocation(this.file,this.state.offset,this.state.line,this.state.column))}getChars(t){return this.input.substring(t.state.offset,this.state.offset)}charAt(t){return this.input.charCodeAt(t)}advanceState(t){if(t.offset>=this.end)throw this.state=t,new $('Unexpected character \"EOF\"',this);let o=this.charAt(t.offset);o===r.$LF?(t.line++,t.column=0):r.isNewLine(o)||t.column++,t.offset++,this.updatePeek(t);}updatePeek(t){t.peek=t.offset>=this.end?r.$EOF:this.charAt(t.offset);}},k=class extends x{constructor(t,o){t instanceof k?(super(t),this.internalState=Object.assign({},t.internalState)):(super(t,o),this.internalState=this.state);}advance(){this.state=this.internalState,super.advance(),this.processEscapeSequence();}init(){super.init(),this.processEscapeSequence();}clone(){return new k(this)}getChars(t){let o=t.clone(),E=\"\";for(;o.internalState.offsetthis.internalState.peek;if(t()===r.$BACKSLASH)if(this.internalState=Object.assign({},this.state),this.advanceState(this.internalState),t()===r.$n)this.state.peek=r.$LF;else if(t()===r.$r)this.state.peek=r.$CR;else if(t()===r.$v)this.state.peek=r.$VTAB;else if(t()===r.$t)this.state.peek=r.$TAB;else if(t()===r.$b)this.state.peek=r.$BSPACE;else if(t()===r.$f)this.state.peek=r.$FF;else if(t()===r.$u)if(this.advanceState(this.internalState),t()===r.$LBRACE){this.advanceState(this.internalState);let o=this.clone(),E=0;for(;t()!==r.$RBRACE;)this.advanceState(this.internalState),E++;this.state.peek=this.decodeHexDigits(o,E);}else {let o=this.clone();this.advanceState(this.internalState),this.advanceState(this.internalState),this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(o,4);}else if(t()===r.$x){this.advanceState(this.internalState);let o=this.clone();this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(o,2);}else if(r.isOctalDigit(t())){let o=\"\",E=0,p=this.clone();for(;r.isOctalDigit(t())&&E<3;)p=this.clone(),o+=String.fromCodePoint(t()),this.advanceState(this.internalState),E++;this.state.peek=parseInt(o,8),this.internalState=p.internalState;}else r.isNewLine(this.internalState.peek)?(this.advanceState(this.internalState),this.state=this.internalState):this.state.peek=this.internalState.peek;}decodeHexDigits(t,o){let E=this.input.substr(t.internalState.offset,o),p=parseInt(E,16);if(isNaN(p))throw t.state=t.internalState,new $(\"Invalid hexadecimal escape sequence\",t);return p}},$=class{constructor(t,o){this.msg=t,this.cursor=o;}};e.CursorError=$;}}),ls=I({\"node_modules/angular-html-parser/lib/compiler/src/ml_parser/parser.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Be(),u=bs(),n=Yl(),D=Ze(),s=class extends r.ParseError{constructor(a,l,h){super(l,h),this.elementName=a;}static create(a,l,h){return new s(a,l,h)}};e.TreeError=s;var i=class{constructor(a,l){this.rootNodes=a,this.errors=l;}};e.ParseTreeResult=i;var f=class{constructor(a){this.getTagDefinition=a;}parse(a,l,h){let C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,d=arguments.length>4?arguments[4]:void 0,m=x=>function(k){for(var $=arguments.length,t=new Array($>1?$-1:0),o=1;o<$;o++)t[o-1]=arguments[o];return x(k.toLowerCase(),...t)},T=C?this.getTagDefinition:m(this.getTagDefinition),w=x=>T(x).contentType,g=C?d:m(d),N=d?(x,k,$,t)=>{let o=g(x,k,$,t);return o!==void 0?o:w(x)}:w,R=n.tokenize(a,l,N,h),j=h&&h.canSelfClose||!1,_=h&&h.allowHtmComponentClosingTags||!1,O=new c(R.tokens,T,j,_,C).build();return new i(O.rootNodes,R.errors.concat(O.errors))}};e.Parser=f;var c=class{constructor(a,l,h,C,d){this.tokens=a,this.getTagDefinition=l,this.canSelfClose=h,this.allowHtmComponentClosingTags=C,this.isTagNameCaseSensitive=d,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance();}build(){for(;this._peek.type!==n.TokenType.EOF;)this._peek.type===n.TokenType.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===n.TokenType.TAG_CLOSE?(this._closeVoidElement(),this._consumeEndTag(this._advance())):this._peek.type===n.TokenType.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===n.TokenType.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===n.TokenType.TEXT||this._peek.type===n.TokenType.RAW_TEXT||this._peek.type===n.TokenType.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===n.TokenType.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._peek.type===n.TokenType.DOC_TYPE_START?this._consumeDocType(this._advance()):this._advance();return new i(this._rootNodes,this._errors)}_advance(){let a=this._peek;return this._index0)return this._errors=this._errors.concat(d.errors),null;let m=new r.ParseSourceSpan(a.sourceSpan.start,C.sourceSpan.end),T=new r.ParseSourceSpan(l.sourceSpan.start,C.sourceSpan.end);return new u.ExpansionCase(a.parts[0],d.rootNodes,m,a.sourceSpan,T)}_collectExpansionExpTokens(a){let l=[],h=[n.TokenType.EXPANSION_CASE_EXP_START];for(;;){if((this._peek.type===n.TokenType.EXPANSION_FORM_START||this._peek.type===n.TokenType.EXPANSION_CASE_EXP_START)&&h.push(this._peek.type),this._peek.type===n.TokenType.EXPANSION_CASE_EXP_END)if(F(h,n.TokenType.EXPANSION_CASE_EXP_START)){if(h.pop(),h.length==0)return l}else return this._errors.push(s.create(null,a.sourceSpan,\"Invalid ICU message. Missing '}'.\")),null;if(this._peek.type===n.TokenType.EXPANSION_FORM_END)if(F(h,n.TokenType.EXPANSION_FORM_START))h.pop();else return this._errors.push(s.create(null,a.sourceSpan,\"Invalid ICU message. Missing '}'.\")),null;if(this._peek.type===n.TokenType.EOF)return this._errors.push(s.create(null,a.sourceSpan,\"Invalid ICU message. Missing '}'.\")),null;l.push(this._advance());}}_getText(a){let l=a.parts[0];if(l.length>0&&l[0]==`\n`){let h=this._getParentElement();h!=null&&h.children.length==0&&this.getTagDefinition(h.name).ignoreFirstLf&&(l=l.substring(1));}return l}_consumeText(a){let l=this._getText(a);l.length>0&&this._addToParent(new u.Text(l,a.sourceSpan));}_closeVoidElement(){let a=this._getParentElement();a&&this.getTagDefinition(a.name).isVoid&&this._elementStack.pop();}_consumeStartTag(a){let l=a.parts[0],h=a.parts[1],C=[];for(;this._peek.type===n.TokenType.ATTR_NAME;)C.push(this._consumeAttr(this._advance()));let d=this._getElementFullName(l,h,this._getParentElement()),m=!1;if(this._peek.type===n.TokenType.TAG_OPEN_END_VOID){this._advance(),m=!0;let R=this.getTagDefinition(d);this.canSelfClose||R.canSelfClose||D.getNsPrefix(d)!==null||R.isVoid||this._errors.push(s.create(d,a.sourceSpan,`Only void and foreign elements can be self closed \"${a.parts[1]}\"`));}else this._peek.type===n.TokenType.TAG_OPEN_END&&(this._advance(),m=!1);let T=this._peek.sourceSpan.start,w=new r.ParseSourceSpan(a.sourceSpan.start,T),g=new r.ParseSourceSpan(a.sourceSpan.start.moveBy(1),a.sourceSpan.end),N=new u.Element(d,C,[],w,w,void 0,g);this._pushElement(N),m&&(this._popElement(d),N.endSourceSpan=w);}_pushElement(a){let l=this._getParentElement();l&&this.getTagDefinition(l.name).isClosedByChild(a.name)&&this._elementStack.pop(),this._addToParent(a),this._elementStack.push(a);}_consumeEndTag(a){let l=this.allowHtmComponentClosingTags&&a.parts.length===0?null:this._getElementFullName(a.parts[0],a.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=a.sourceSpan),l&&this.getTagDefinition(l).isVoid)this._errors.push(s.create(l,a.sourceSpan,`Void elements do not have end tags \"${a.parts[1]}\"`));else if(!this._popElement(l)){let h=`Unexpected closing tag \"${l}\". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;this._errors.push(s.create(l,a.sourceSpan,h));}}_popElement(a){for(let l=this._elementStack.length-1;l>=0;l--){let h=this._elementStack[l];if(!a||(D.getNsPrefix(h.name)?h.name==a:h.name.toLowerCase()==a.toLowerCase()))return this._elementStack.splice(l,this._elementStack.length-l),!0;if(!this.getTagDefinition(h.name).closedByParent)return !1}return !1}_consumeAttr(a){let l=D.mergeNsAndName(a.parts[0],a.parts[1]),h=a.sourceSpan.end,C=\"\",d,m;if(this._peek.type===n.TokenType.ATTR_QUOTE&&(m=this._advance().sourceSpan.start),this._peek.type===n.TokenType.ATTR_VALUE){let T=this._advance();C=T.parts[0],h=T.sourceSpan.end,d=T.sourceSpan;}return this._peek.type===n.TokenType.ATTR_QUOTE&&(h=this._advance().sourceSpan.end,d=new r.ParseSourceSpan(m,h)),new u.Attribute(l,C,new r.ParseSourceSpan(a.sourceSpan.start,h),d,a.sourceSpan)}_getParentElement(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}_getParentElementSkippingContainers(){let a=null;for(let l=this._elementStack.length-1;l>=0;l--){if(!D.isNgContainer(this._elementStack[l].name))return {parent:this._elementStack[l],container:a};a=this._elementStack[l];}return {parent:null,container:a}}_addToParent(a){let l=this._getParentElement();l!=null?l.children.push(a):this._rootNodes.push(a);}_insertBeforeContainer(a,l,h){if(!l)this._addToParent(h),this._elementStack.push(h);else {if(a){let C=a.children.indexOf(l);a.children[C]=h;}else this._rootNodes.push(h);h.children.push(l),this._elementStack.splice(this._elementStack.indexOf(l),0,h);}}_getElementFullName(a,l,h){return a===\"\"&&(a=this.getTagDefinition(l).implicitNamespacePrefix||\"\",a===\"\"&&h!=null&&(a=D.getNsPrefix(h.name))),D.mergeNsAndName(a,l)}};function F(a,l){return a.length>0&&a[a.length-1]===l}}}),Ql=I({\"node_modules/angular-html-parser/lib/compiler/src/ml_parser/html_parser.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Bs(),u=ls(),n=ls();e.ParseTreeResult=n.ParseTreeResult,e.TreeError=n.TreeError;var D=class extends u.Parser{constructor(){super(r.getHtmlTagDefinition);}parse(s,i,f){let c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,F=arguments.length>4?arguments[4]:void 0;return super.parse(s,i,f,c,F)}};e.HtmlParser=D;}}),ws=I({\"node_modules/angular-html-parser/lib/angular-html-parser/src/index.js\"(e){q(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Ql(),u=Ze();e.TagContentType=u.TagContentType;var n=null,D=()=>(n||(n=new r.HtmlParser),n);function s(i){let f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{canSelfClose:c=!1,allowHtmComponentClosingTags:F=!1,isTagNameCaseSensitive:a=!1,getTagContentType:l}=f;return D().parse(i,\"angular-html-parser\",{tokenizeExpansionForms:!1,interpolationConfig:void 0,canSelfClose:c,allowHtmComponentClosingTags:F},a,l)}e.parse=s;}});q();var{ParseSourceSpan:Qe,ParseLocation:cs,ParseSourceFile:Kl}=Be(),Jl=ol(),Zl=Cs(),ec=Dl(),{inferParserByLanguage:rc}=xl(),uc=kl(),Vr=Ml(),hs=jl(),{hasPragma:tc}=Ul(),{Node:nc}=Gl(),{parseIeConditionalComment:sc}=Vl(),{locStart:ic,locEnd:ac}=Xl();function oc(e,r,u){let{canSelfClose:n,normalizeTagName:D,normalizeAttributeName:s,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:f,getTagContentType:c}=r,F=ws(),{RecursiveVisitor:a,visitAll:l}=bs(),{ParseSourceSpan:h}=Be(),{getHtmlTagDefinition:C}=Bs(),{rootNodes:d,errors:m}=F.parse(e,{canSelfClose:n,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:f,getTagContentType:c});if(u.parser===\"vue\")if(d.some(O=>O.type===\"docType\"&&O.value===\"html\"||O.type===\"element\"&&O.name.toLowerCase()===\"html\")){n=!0,D=!0,s=!0,i=!0,f=!1;let O=F.parse(e,{canSelfClose:n,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:f});d=O.rootNodes,m=O.errors;}else {let O=x=>{if(!x||x.type!==\"element\"||x.name!==\"template\")return !1;let k=x.attrs.find(t=>t.name===\"lang\"),$=k&&k.value;return !$||rc($,u)===\"html\"};if(d.some(O)){let x,k=()=>F.parse(e,{canSelfClose:n,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:f}),$=()=>x||(x=k()),t=o=>$().rootNodes.find(E=>{let{startSourceSpan:p}=E;return p&&p.start.offset===o.startSourceSpan.start.offset});for(let o=0;o0){let{msg:_,span:{start:O,end:x}}=m[0];throw ec(_,{start:{line:O.line+1,column:O.col+1},end:{line:x.line+1,column:x.col+1}})}let T=_=>{let O=_.name.startsWith(\":\")?_.name.slice(1).split(\":\")[0]:null,x=_.nameSpan.toString(),k=O!==null&&x.startsWith(`${O}:`),$=k?x.slice(O.length+1):x;_.name=$,_.namespace=O,_.hasExplicitNamespace=k;},w=_=>{switch(_.type){case\"element\":T(_);for(let O of _.attrs)T(O),O.valueSpan?(O.value=O.valueSpan.toString(),/[\"']/.test(O.value[0])&&(O.value=O.value.slice(1,-1))):O.value=null;break;case\"comment\":_.value=_.sourceSpan.toString().slice(4,-3);break;case\"text\":_.value=_.sourceSpan.toString();break}},g=(_,O)=>{let x=_.toLowerCase();return O(x)?x:_},N=_=>{if(_.type===\"element\"&&(D&&(!_.namespace||_.namespace===_.tagDefinition.implicitNamespacePrefix||hs(_))&&(_.name=g(_.name,O=>O in uc)),s)){let O=Vr[_.name]||Object.create(null);for(let x of _.attrs)x.namespace||(x.name=g(x.name,k=>_.name in Vr&&(k in Vr[\"*\"]||k in O)));}},R=_=>{_.sourceSpan&&_.endSourceSpan&&(_.sourceSpan=new h(_.sourceSpan.start,_.endSourceSpan.end));},j=_=>{if(_.type===\"element\"){let O=C(f?_.name:_.name.toLowerCase());!_.namespace||_.namespace===O.implicitNamespacePrefix||hs(_)?_.tagDefinition=O:_.tagDefinition=C(\"\");}};return l(new class extends a{visit(_){w(_),j(_),N(_),R(_);}},d),d}function Ns(e,r,u){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,{frontMatter:D,content:s}=n?Jl(e):{frontMatter:null,content:e},i=new Kl(e,r.filepath),f=new cs(i,0,0,0),c=f.moveBy(e.length),F={type:\"root\",sourceSpan:new Qe(f,c),children:oc(s,u,r)};if(D){let h=new cs(i,0,0,0),C=h.moveBy(D.raw.length);D.sourceSpan=new Qe(h,C),F.children.unshift(D);}let a=new nc(F),l=(h,C)=>{let{offset:d}=C,m=e.slice(0,d).replace(/[^\\n\\r]/g,\" \"),w=Ns(m+h,r,u,!1);w.sourceSpan=new Qe(C,Zl(w.children).sourceSpan.end);let g=w.children[0];return g.length===d?w.children.shift():(g.sourceSpan=new Qe(g.sourceSpan.start.moveBy(d),g.sourceSpan.end),g.value=g.value.slice(d)),w};return a.walk(h=>{if(h.type===\"comment\"){let C=sc(h,l);C&&h.parent.replaceChild(h,C);}}),a}function Ke(){let{name:e,canSelfClose:r=!1,normalizeTagName:u=!1,normalizeAttributeName:n=!1,allowHtmComponentClosingTags:D=!1,isTagNameCaseSensitive:s=!1,getTagContentType:i}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return {parse:(f,c,F)=>Ns(f,Object.assign({parser:e},F),{canSelfClose:r,normalizeTagName:u,normalizeAttributeName:n,allowHtmComponentClosingTags:D,isTagNameCaseSensitive:s,getTagContentType:i}),hasPragma:tc,astFormat:\"html\",locStart:ic,locEnd:ac}}Os.exports={parsers:{html:Ke({name:\"html\",canSelfClose:!0,normalizeTagName:!0,normalizeAttributeName:!0,allowHtmComponentClosingTags:!0}),angular:Ke({name:\"angular\",canSelfClose:!0}),vue:Ke({name:\"vue\",canSelfClose:!0,isTagNameCaseSensitive:!0,getTagContentType:(e,r,u,n)=>{if(e.toLowerCase()!==\"html\"&&!u&&(e!==\"template\"||n.some(D=>{let{name:s,value:i}=D;return s===\"lang\"&&i!==\"html\"&&i!==\"\"&&i!==void 0})))return ws().TagContentType.RAW_TEXT}}),lwc:Ke({name:\"lwc\"})}};});return Dc()});}});var require_standalone=__commonJS({\"node_modules/prettier/standalone.js\"(exports,module){(function(e){if(typeof exports==\"object\"&&typeof module==\"object\")module.exports=e();else if(typeof define==\"function\"&&define.amd)define(e);else {var f=typeof globalThis<\"u\"?globalThis:typeof global<\"u\"?global:typeof self<\"u\"?self:this||{};f.prettier=e();}})(function(){var xe=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),pt=xe((r0,pu)=>{var ir=function(e){return e&&e.Math==Math&&e};pu.exports=ir(typeof globalThis==\"object\"&&globalThis)||ir(typeof window==\"object\"&&window)||ir(typeof self==\"object\"&&self)||ir(typeof global==\"object\"&&global)||function(){return this}()||Function(\"return this\")();}),Dt=xe((n0,fu)=>{fu.exports=function(e){try{return !!e()}catch{return !0}};}),yt=xe((u0,Du)=>{var Mo=Dt();Du.exports=!Mo(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7});}),ar=xe((s0,mu)=>{var Ro=Dt();mu.exports=!Ro(function(){var e=function(){}.bind();return typeof e!=\"function\"||e.hasOwnProperty(\"prototype\")});}),At=xe((i0,du)=>{var $o=ar(),or=Function.prototype.call;du.exports=$o?or.bind(or):function(){return or.apply(or,arguments)};}),vu=xe(hu=>{var gu={}.propertyIsEnumerable,yu=Object.getOwnPropertyDescriptor,Vo=yu&&!gu.call({1:2},1);hu.f=Vo?function(r){var t=yu(this,r);return !!t&&t.enumerable}:gu;}),lr=xe((o0,Cu)=>{Cu.exports=function(e,r){return {enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:r}};}),mt=xe((l0,Au)=>{var Eu=ar(),Fu=Function.prototype,Wr=Fu.call,Wo=Eu&&Fu.bind.bind(Wr,Wr);Au.exports=Eu?Wo:function(e){return function(){return Wr.apply(e,arguments)}};}),Vt=xe((c0,xu)=>{var Su=mt(),Ho=Su({}.toString),Go=Su(\"\".slice);xu.exports=function(e){return Go(Ho(e),8,-1)};}),Tu=xe((p0,bu)=>{var Uo=mt(),Jo=Dt(),zo=Vt(),Hr=Object,Xo=Uo(\"\".split);bu.exports=Jo(function(){return !Hr(\"z\").propertyIsEnumerable(0)})?function(e){return zo(e)==\"String\"?Xo(e,\"\"):Hr(e)}:Hr;}),cr=xe((f0,Bu)=>{Bu.exports=function(e){return e==null};}),Gr=xe((D0,Nu)=>{var Ko=cr(),Yo=TypeError;Nu.exports=function(e){if(Ko(e))throw Yo(\"Can't call method on \"+e);return e};}),pr=xe((m0,wu)=>{var Qo=Tu(),Zo=Gr();wu.exports=function(e){return Qo(Zo(e))};}),Jr=xe((d0,_u)=>{var Ur=typeof document==\"object\"&&document.all,el=typeof Ur>\"u\"&&Ur!==void 0;_u.exports={all:Ur,IS_HTMLDDA:el};}),ot=xe((g0,Iu)=>{var Pu=Jr(),tl=Pu.all;Iu.exports=Pu.IS_HTMLDDA?function(e){return typeof e==\"function\"||e===tl}:function(e){return typeof e==\"function\"};}),St=xe((y0,Ou)=>{var ku=ot(),Lu=Jr(),rl=Lu.all;Ou.exports=Lu.IS_HTMLDDA?function(e){return typeof e==\"object\"?e!==null:ku(e)||e===rl}:function(e){return typeof e==\"object\"?e!==null:ku(e)};}),Wt=xe((h0,ju)=>{var zr=pt(),nl=ot(),ul=function(e){return nl(e)?e:void 0};ju.exports=function(e,r){return arguments.length<2?ul(zr[e]):zr[e]&&zr[e][r]};}),Xr=xe((v0,qu)=>{var sl=mt();qu.exports=sl({}.isPrototypeOf);}),Ru=xe((C0,Mu)=>{var il=Wt();Mu.exports=il(\"navigator\",\"userAgent\")||\"\";}),Ju=xe((E0,Uu)=>{var Gu=pt(),Kr=Ru(),$u=Gu.process,Vu=Gu.Deno,Wu=$u&&$u.versions||Vu&&Vu.version,Hu=Wu&&Wu.v8,dt,fr;Hu&&(dt=Hu.split(\".\"),fr=dt[0]>0&&dt[0]<4?1:+(dt[0]+dt[1])),!fr&&Kr&&(dt=Kr.match(/Edge\\/(\\d+)/),(!dt||dt[1]>=74)&&(dt=Kr.match(/Chrome\\/(\\d+)/),dt&&(fr=+dt[1]))),Uu.exports=fr;}),Yr=xe((F0,Xu)=>{var zu=Ju(),al=Dt();Xu.exports=!!Object.getOwnPropertySymbols&&!al(function(){var e=Symbol();return !String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&zu&&zu<41});}),Qr=xe((A0,Ku)=>{var ol=Yr();Ku.exports=ol&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\";}),Zr=xe((S0,Yu)=>{var ll=Wt(),cl=ot(),pl=Xr(),fl=Qr(),Dl=Object;Yu.exports=fl?function(e){return typeof e==\"symbol\"}:function(e){var r=ll(\"Symbol\");return cl(r)&&pl(r.prototype,Dl(e))};}),Dr=xe((x0,Qu)=>{var ml=String;Qu.exports=function(e){try{return ml(e)}catch{return \"Object\"}};}),Ht=xe((b0,Zu)=>{var dl=ot(),gl=Dr(),yl=TypeError;Zu.exports=function(e){if(dl(e))return e;throw yl(gl(e)+\" is not a function\")};}),mr=xe((T0,es)=>{var hl=Ht(),vl=cr();es.exports=function(e,r){var t=e[r];return vl(t)?void 0:hl(t)};}),rs=xe((B0,ts)=>{var en=At(),tn=ot(),rn=St(),Cl=TypeError;ts.exports=function(e,r){var t,s;if(r===\"string\"&&tn(t=e.toString)&&!rn(s=en(t,e))||tn(t=e.valueOf)&&!rn(s=en(t,e))||r!==\"string\"&&tn(t=e.toString)&&!rn(s=en(t,e)))return s;throw Cl(\"Can't convert object to primitive value\")};}),us=xe((N0,ns)=>{ns.exports=!1;}),dr=xe((w0,is)=>{var ss=pt(),El=Object.defineProperty;is.exports=function(e,r){try{El(ss,e,{value:r,configurable:!0,writable:!0});}catch{ss[e]=r;}return r};}),gr=xe((_0,os)=>{var Fl=pt(),Al=dr(),as=\"__core-js_shared__\",Sl=Fl[as]||Al(as,{});os.exports=Sl;}),nn=xe((P0,cs)=>{var xl=us(),ls=gr();(cs.exports=function(e,r){return ls[e]||(ls[e]=r!==void 0?r:{})})(\"versions\",[]).push({version:\"3.26.1\",mode:xl?\"pure\":\"global\",copyright:\"\\xA9 2014-2022 Denis Pushkarev (zloirock.ru)\",license:\"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE\",source:\"https://github.com/zloirock/core-js\"});}),yr=xe((I0,ps)=>{var bl=Gr(),Tl=Object;ps.exports=function(e){return Tl(bl(e))};}),Ct=xe((k0,fs)=>{var Bl=mt(),Nl=yr(),wl=Bl({}.hasOwnProperty);fs.exports=Object.hasOwn||function(r,t){return wl(Nl(r),t)};}),un=xe((L0,Ds)=>{var _l=mt(),Pl=0,Il=Math.random(),kl=_l(1 .toString);Ds.exports=function(e){return \"Symbol(\"+(e===void 0?\"\":e)+\")_\"+kl(++Pl+Il,36)};}),bt=xe((O0,hs)=>{var Ll=pt(),Ol=nn(),ms=Ct(),jl=un(),ds=Yr(),ys=Qr(),It=Ol(\"wks\"),xt=Ll.Symbol,gs=xt&&xt.for,ql=ys?xt:xt&&xt.withoutSetter||jl;hs.exports=function(e){if(!ms(It,e)||!(ds||typeof It[e]==\"string\")){var r=\"Symbol.\"+e;ds&&ms(xt,e)?It[e]=xt[e]:ys&&gs?It[e]=gs(r):It[e]=ql(r);}return It[e]};}),Fs=xe((j0,Es)=>{var Ml=At(),vs=St(),Cs=Zr(),Rl=mr(),$l=rs(),Vl=bt(),Wl=TypeError,Hl=Vl(\"toPrimitive\");Es.exports=function(e,r){if(!vs(e)||Cs(e))return e;var t=Rl(e,Hl),s;if(t){if(r===void 0&&(r=\"default\"),s=Ml(t,e,r),!vs(s)||Cs(s))return s;throw Wl(\"Can't convert object to primitive value\")}return r===void 0&&(r=\"number\"),$l(e,r)};}),hr=xe((q0,As)=>{var Gl=Fs(),Ul=Zr();As.exports=function(e){var r=Gl(e,\"string\");return Ul(r)?r:r+\"\"};}),bs=xe((M0,xs)=>{var Jl=pt(),Ss=St(),sn=Jl.document,zl=Ss(sn)&&Ss(sn.createElement);xs.exports=function(e){return zl?sn.createElement(e):{}};}),an=xe((R0,Ts)=>{var Xl=yt(),Kl=Dt(),Yl=bs();Ts.exports=!Xl&&!Kl(function(){return Object.defineProperty(Yl(\"div\"),\"a\",{get:function(){return 7}}).a!=7});}),on=xe(Ns=>{var Ql=yt(),Zl=At(),ec=vu(),tc=lr(),rc=pr(),nc=hr(),uc=Ct(),sc=an(),Bs=Object.getOwnPropertyDescriptor;Ns.f=Ql?Bs:function(r,t){if(r=rc(r),t=nc(t),sc)try{return Bs(r,t)}catch{}if(uc(r,t))return tc(!Zl(ec.f,r,t),r[t])};}),_s=xe((V0,ws)=>{var ic=yt(),ac=Dt();ws.exports=ic&&ac(function(){return Object.defineProperty(function(){},\"prototype\",{value:42,writable:!1}).prototype!=42});}),Tt=xe((W0,Ps)=>{var oc=St(),lc=String,cc=TypeError;Ps.exports=function(e){if(oc(e))return e;throw cc(lc(e)+\" is not an object\")};}),kt=xe(ks=>{var pc=yt(),fc=an(),Dc=_s(),vr=Tt(),Is=hr(),mc=TypeError,ln=Object.defineProperty,dc=Object.getOwnPropertyDescriptor,cn=\"enumerable\",pn=\"configurable\",fn=\"writable\";ks.f=pc?Dc?function(r,t,s){if(vr(r),t=Is(t),vr(s),typeof r==\"function\"&&t===\"prototype\"&&\"value\"in s&&fn in s&&!s[fn]){var a=dc(r,t);a&&a[fn]&&(r[t]=s.value,s={configurable:pn in s?s[pn]:a[pn],enumerable:cn in s?s[cn]:a[cn],writable:!1});}return ln(r,t,s)}:ln:function(r,t,s){if(vr(r),t=Is(t),vr(s),fc)try{return ln(r,t,s)}catch{}if(\"get\"in s||\"set\"in s)throw mc(\"Accessors not supported\");return \"value\"in s&&(r[t]=s.value),r};}),Dn=xe((G0,Ls)=>{var gc=yt(),yc=kt(),hc=lr();Ls.exports=gc?function(e,r,t){return yc.f(e,r,hc(1,t))}:function(e,r,t){return e[r]=t,e};}),qs=xe((U0,js)=>{var mn=yt(),vc=Ct(),Os=Function.prototype,Cc=mn&&Object.getOwnPropertyDescriptor,dn=vc(Os,\"name\"),Ec=dn&&function(){}.name===\"something\",Fc=dn&&(!mn||mn&&Cc(Os,\"name\").configurable);js.exports={EXISTS:dn,PROPER:Ec,CONFIGURABLE:Fc};}),yn=xe((J0,Ms)=>{var Ac=mt(),Sc=ot(),gn=gr(),xc=Ac(Function.toString);Sc(gn.inspectSource)||(gn.inspectSource=function(e){return xc(e)}),Ms.exports=gn.inspectSource;}),Vs=xe((z0,$s)=>{var bc=pt(),Tc=ot(),Rs=bc.WeakMap;$s.exports=Tc(Rs)&&/native code/.test(String(Rs));}),Gs=xe((X0,Hs)=>{var Bc=nn(),Nc=un(),Ws=Bc(\"keys\");Hs.exports=function(e){return Ws[e]||(Ws[e]=Nc(e))};}),hn=xe((K0,Us)=>{Us.exports={};}),Ks=xe((Y0,Xs)=>{var wc=Vs(),zs=pt(),_c=St(),Pc=Dn(),vn=Ct(),Cn=gr(),Ic=Gs(),kc=hn(),Js=\"Object already initialized\",En=zs.TypeError,Lc=zs.WeakMap,Cr,Gt,Er,Oc=function(e){return Er(e)?Gt(e):Cr(e,{})},jc=function(e){return function(r){var t;if(!_c(r)||(t=Gt(r)).type!==e)throw En(\"Incompatible receiver, \"+e+\" required\");return t}};wc||Cn.state?(gt=Cn.state||(Cn.state=new Lc),gt.get=gt.get,gt.has=gt.has,gt.set=gt.set,Cr=function(e,r){if(gt.has(e))throw En(Js);return r.facade=e,gt.set(e,r),r},Gt=function(e){return gt.get(e)||{}},Er=function(e){return gt.has(e)}):(Bt=Ic(\"state\"),kc[Bt]=!0,Cr=function(e,r){if(vn(e,Bt))throw En(Js);return r.facade=e,Pc(e,Bt,r),r},Gt=function(e){return vn(e,Bt)?e[Bt]:{}},Er=function(e){return vn(e,Bt)});var gt,Bt;Xs.exports={set:Cr,get:Gt,has:Er,enforce:Oc,getterFor:jc};}),An=xe((Q0,Qs)=>{var qc=Dt(),Mc=ot(),Fr=Ct(),Fn=yt(),Rc=qs().CONFIGURABLE,$c=yn(),Ys=Ks(),Vc=Ys.enforce,Wc=Ys.get,Ar=Object.defineProperty,Hc=Fn&&!qc(function(){return Ar(function(){},\"length\",{value:8}).length!==8}),Gc=String(String).split(\"String\"),Uc=Qs.exports=function(e,r,t){String(r).slice(0,7)===\"Symbol(\"&&(r=\"[\"+String(r).replace(/^Symbol\\(([^)]*)\\)/,\"$1\")+\"]\"),t&&t.getter&&(r=\"get \"+r),t&&t.setter&&(r=\"set \"+r),(!Fr(e,\"name\")||Rc&&e.name!==r)&&(Fn?Ar(e,\"name\",{value:r,configurable:!0}):e.name=r),Hc&&t&&Fr(t,\"arity\")&&e.length!==t.arity&&Ar(e,\"length\",{value:t.arity});try{t&&Fr(t,\"constructor\")&&t.constructor?Fn&&Ar(e,\"prototype\",{writable:!1}):e.prototype&&(e.prototype=void 0);}catch{}var s=Vc(e);return Fr(s,\"source\")||(s.source=Gc.join(typeof r==\"string\"?r:\"\")),e};Function.prototype.toString=Uc(function(){return Mc(this)&&Wc(this).source||$c(this)},\"toString\");}),ei=xe((Z0,Zs)=>{var Jc=ot(),zc=kt(),Xc=An(),Kc=dr();Zs.exports=function(e,r,t,s){s||(s={});var a=s.enumerable,n=s.name!==void 0?s.name:r;if(Jc(t)&&Xc(t,n,s),s.global)a?e[r]=t:Kc(r,t);else {try{s.unsafe?e[r]&&(a=!0):delete e[r];}catch{}a?e[r]=t:zc.f(e,r,{value:t,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable});}return e};}),ri=xe((ey,ti)=>{var Yc=Math.ceil,Qc=Math.floor;ti.exports=Math.trunc||function(r){var t=+r;return (t>0?Qc:Yc)(t)};}),Sr=xe((ty,ni)=>{var Zc=ri();ni.exports=function(e){var r=+e;return r!==r||r===0?0:Zc(r)};}),si=xe((ry,ui)=>{var ep=Sr(),tp=Math.max,rp=Math.min;ui.exports=function(e,r){var t=ep(e);return t<0?tp(t+r,0):rp(t,r)};}),ai=xe((ny,ii)=>{var np=Sr(),up=Math.min;ii.exports=function(e){return e>0?up(np(e),9007199254740991):0};}),Lt=xe((uy,oi)=>{var sp=ai();oi.exports=function(e){return sp(e.length)};}),pi=xe((sy,ci)=>{var ip=pr(),ap=si(),op=Lt(),li=function(e){return function(r,t,s){var a=ip(r),n=op(a),u=ap(s,n),i;if(e&&t!=t){for(;n>u;)if(i=a[u++],i!=i)return !0}else for(;n>u;u++)if((e||u in a)&&a[u]===t)return e||u||0;return !e&&-1}};ci.exports={includes:li(!0),indexOf:li(!1)};}),mi=xe((iy,Di)=>{var lp=mt(),Sn=Ct(),cp=pr(),pp=pi().indexOf,fp=hn(),fi=lp([].push);Di.exports=function(e,r){var t=cp(e),s=0,a=[],n;for(n in t)!Sn(fp,n)&&Sn(t,n)&&fi(a,n);for(;r.length>s;)Sn(t,n=r[s++])&&(~pp(a,n)||fi(a,n));return a};}),gi=xe((ay,di)=>{di.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"];}),hi=xe(yi=>{var Dp=mi(),mp=gi(),dp=mp.concat(\"length\",\"prototype\");yi.f=Object.getOwnPropertyNames||function(r){return Dp(r,dp)};}),Ci=xe(vi=>{vi.f=Object.getOwnPropertySymbols;}),Fi=xe((cy,Ei)=>{var gp=Wt(),yp=mt(),hp=hi(),vp=Ci(),Cp=Tt(),Ep=yp([].concat);Ei.exports=gp(\"Reflect\",\"ownKeys\")||function(r){var t=hp.f(Cp(r)),s=vp.f;return s?Ep(t,s(r)):t};}),xi=xe((py,Si)=>{var Ai=Ct(),Fp=Fi(),Ap=on(),Sp=kt();Si.exports=function(e,r,t){for(var s=Fp(r),a=Sp.f,n=Ap.f,u=0;u{var xp=Dt(),bp=ot(),Tp=/#|\\.prototype\\./,Ut=function(e,r){var t=Np[Bp(e)];return t==_p?!0:t==wp?!1:bp(r)?xp(r):!!r},Bp=Ut.normalize=function(e){return String(e).replace(Tp,\".\").toLowerCase()},Np=Ut.data={},wp=Ut.NATIVE=\"N\",_p=Ut.POLYFILL=\"P\";bi.exports=Ut;}),Jt=xe((Dy,Bi)=>{var xn=pt(),Pp=on().f,Ip=Dn(),kp=ei(),Lp=dr(),Op=xi(),jp=Ti();Bi.exports=function(e,r){var t=e.target,s=e.global,a=e.stat,n,u,i,l,p,y;if(s?u=xn:a?u=xn[t]||Lp(t,{}):u=(xn[t]||{}).prototype,u)for(i in r){if(p=r[i],e.dontCallGetSet?(y=Pp(u,i),l=y&&y.value):l=u[i],n=jp(s?i:t+(a?\".\":\"#\")+i,e.forced),!n&&l!==void 0){if(typeof p==typeof l)continue;Op(p,l);}(e.sham||l&&l.sham)&&Ip(p,\"sham\",!0),kp(u,i,p,e);}};}),bn=xe((my,Ni)=>{var qp=Vt();Ni.exports=Array.isArray||function(r){return qp(r)==\"Array\"};}),_i=xe((dy,wi)=>{var Mp=TypeError,Rp=9007199254740991;wi.exports=function(e){if(e>Rp)throw Mp(\"Maximum allowed index exceeded\");return e};}),Ii=xe((gy,Pi)=>{var $p=Vt(),Vp=mt();Pi.exports=function(e){if($p(e)===\"Function\")return Vp(e)};}),Tn=xe((yy,Li)=>{var ki=Ii(),Wp=Ht(),Hp=ar(),Gp=ki(ki.bind);Li.exports=function(e,r){return Wp(e),r===void 0?e:Hp?Gp(e,r):function(){return e.apply(r,arguments)}};}),Bn=xe((hy,ji)=>{var Up=bn(),Jp=Lt(),zp=_i(),Xp=Tn(),Oi=function(e,r,t,s,a,n,u,i){for(var l=a,p=0,y=u?Xp(u,i):!1,h,g;p0&&Up(h)?(g=Jp(h),l=Oi(e,r,h,g,l,n-1)-1):(zp(l+1),e[l]=h),l++),p++;return l};ji.exports=Oi;}),Ri=xe((vy,Mi)=>{var Kp=bt(),Yp=Kp(\"toStringTag\"),qi={};qi[Yp]=\"z\",Mi.exports=String(qi)===\"[object z]\";}),Nn=xe((Cy,$i)=>{var Qp=Ri(),Zp=ot(),xr=Vt(),ef=bt(),tf=ef(\"toStringTag\"),rf=Object,nf=xr(function(){return arguments}())==\"Arguments\",uf=function(e,r){try{return e[r]}catch{}};$i.exports=Qp?xr:function(e){var r,t,s;return e===void 0?\"Undefined\":e===null?\"Null\":typeof(t=uf(r=rf(e),tf))==\"string\"?t:nf?xr(r):(s=xr(r))==\"Object\"&&Zp(r.callee)?\"Arguments\":s};}),Ji=xe((Ey,Ui)=>{var sf=mt(),af=Dt(),Vi=ot(),of=Nn(),lf=Wt(),cf=yn(),Wi=function(){},pf=[],Hi=lf(\"Reflect\",\"construct\"),wn=/^\\s*(?:class|function)\\b/,ff=sf(wn.exec),Df=!wn.exec(Wi),zt=function(r){if(!Vi(r))return !1;try{return Hi(Wi,pf,r),!0}catch{return !1}},Gi=function(r){if(!Vi(r))return !1;switch(of(r)){case\"AsyncFunction\":case\"GeneratorFunction\":case\"AsyncGeneratorFunction\":return !1}try{return Df||!!ff(wn,cf(r))}catch{return !0}};Gi.sham=!0,Ui.exports=!Hi||af(function(){var e;return zt(zt.call)||!zt(Object)||!zt(function(){e=!0;})||e})?Gi:zt;}),Yi=xe((Fy,Ki)=>{var zi=bn(),mf=Ji(),df=St(),gf=bt(),yf=gf(\"species\"),Xi=Array;Ki.exports=function(e){var r;return zi(e)&&(r=e.constructor,mf(r)&&(r===Xi||zi(r.prototype))?r=void 0:df(r)&&(r=r[yf],r===null&&(r=void 0))),r===void 0?Xi:r};}),_n=xe((Ay,Qi)=>{var hf=Yi();Qi.exports=function(e,r){return new(hf(e))(r===0?0:r)};}),Zi=xe(()=>{var vf=Jt(),Cf=Bn(),Ef=Ht(),Ff=yr(),Af=Lt(),Sf=_n();vf({target:\"Array\",proto:!0},{flatMap:function(r){var t=Ff(this),s=Af(t),a;return Ef(r),a=Sf(t,0),a.length=Cf(a,t,t,s,0,1,r,arguments.length>1?arguments[1]:void 0),a}});}),Pn=xe((by,ea)=>{ea.exports={};}),ra=xe((Ty,ta)=>{var xf=bt(),bf=Pn(),Tf=xf(\"iterator\"),Bf=Array.prototype;ta.exports=function(e){return e!==void 0&&(bf.Array===e||Bf[Tf]===e)};}),In=xe((By,ua)=>{var Nf=Nn(),na=mr(),wf=cr(),_f=Pn(),Pf=bt(),If=Pf(\"iterator\");ua.exports=function(e){if(!wf(e))return na(e,If)||na(e,\"@@iterator\")||_f[Nf(e)]};}),ia=xe((Ny,sa)=>{var kf=At(),Lf=Ht(),Of=Tt(),jf=Dr(),qf=In(),Mf=TypeError;sa.exports=function(e,r){var t=arguments.length<2?qf(e):r;if(Lf(t))return Of(kf(t,e));throw Mf(jf(e)+\" is not iterable\")};}),la=xe((wy,oa)=>{var Rf=At(),aa=Tt(),$f=mr();oa.exports=function(e,r,t){var s,a;aa(e);try{if(s=$f(e,\"return\"),!s){if(r===\"throw\")throw t;return t}s=Rf(s,e);}catch(n){a=!0,s=n;}if(r===\"throw\")throw t;if(a)throw s;return aa(s),t};}),ma=xe((_y,Da)=>{var Vf=Tn(),Wf=At(),Hf=Tt(),Gf=Dr(),Uf=ra(),Jf=Lt(),ca=Xr(),zf=ia(),Xf=In(),pa=la(),Kf=TypeError,br=function(e,r){this.stopped=e,this.result=r;},fa=br.prototype;Da.exports=function(e,r,t){var s=t&&t.that,a=!!(t&&t.AS_ENTRIES),n=!!(t&&t.IS_RECORD),u=!!(t&&t.IS_ITERATOR),i=!!(t&&t.INTERRUPTED),l=Vf(r,s),p,y,h,g,c,f,F,_=function(E){return p&&pa(p,\"normal\",E),new br(!0,E)},w=function(E){return a?(Hf(E),i?l(E[0],E[1],_):l(E[0],E[1])):i?l(E,_):l(E)};if(n)p=e.iterator;else if(u)p=e;else {if(y=Xf(e),!y)throw Kf(Gf(e)+\" is not iterable\");if(Uf(y)){for(h=0,g=Jf(e);g>h;h++)if(c=w(e[h]),c&&ca(fa,c))return c;return new br(!1)}p=zf(e,y);}for(f=n?e.next:p.next;!(F=Wf(f,p)).done;){try{c=w(F.value);}catch(E){pa(p,\"throw\",E);}if(typeof c==\"object\"&&c&&ca(fa,c))return c}return new br(!1)};}),ga=xe((Py,da)=>{var Yf=hr(),Qf=kt(),Zf=lr();da.exports=function(e,r,t){var s=Yf(r);s in e?Qf.f(e,s,Zf(0,t)):e[s]=t;};}),ya=xe(()=>{var eD=Jt(),tD=ma(),rD=ga();eD({target:\"Object\",stat:!0},{fromEntries:function(r){var t={};return tD(r,function(s,a){rD(t,s,a);},{AS_ENTRIES:!0}),t}});}),Ca=xe((Ly,va)=>{var ha=An(),nD=kt();va.exports=function(e,r,t){return t.get&&ha(t.get,r,{getter:!0}),t.set&&ha(t.set,r,{setter:!0}),nD.f(e,r,t)};}),Fa=xe((Oy,Ea)=>{var uD=Tt();Ea.exports=function(){var e=uD(this),r=\"\";return e.hasIndices&&(r+=\"d\"),e.global&&(r+=\"g\"),e.ignoreCase&&(r+=\"i\"),e.multiline&&(r+=\"m\"),e.dotAll&&(r+=\"s\"),e.unicode&&(r+=\"u\"),e.unicodeSets&&(r+=\"v\"),e.sticky&&(r+=\"y\"),r};}),xa=xe(()=>{var sD=pt(),iD=yt(),aD=Ca(),oD=Fa(),lD=Dt(),Aa=sD.RegExp,Sa=Aa.prototype,cD=iD&&lD(function(){var e=!0;try{Aa(\".\",\"d\");}catch{e=!1;}var r={},t=\"\",s=e?\"dgimsy\":\"gimsy\",a=function(l,p){Object.defineProperty(r,l,{get:function(){return t+=p,!0}});},n={dotAll:\"s\",global:\"g\",ignoreCase:\"i\",multiline:\"m\",sticky:\"y\"};e&&(n.hasIndices=\"d\");for(var u in n)a(u,n[u]);var i=Object.getOwnPropertyDescriptor(Sa,\"flags\").get.call(r);return i!==s||t!==s});cD&&aD(Sa,\"flags\",{configurable:!0,get:oD});}),ba=xe(()=>{var pD=Jt(),kn=pt();pD({global:!0,forced:kn.globalThis!==kn},{globalThis:kn});}),Ta=xe(()=>{ba();}),Ba=xe(()=>{var fD=Jt(),DD=Bn(),mD=yr(),dD=Lt(),gD=Sr(),yD=_n();fD({target:\"Array\",proto:!0},{flat:function(){var r=arguments.length?arguments[0]:void 0,t=mD(this),s=dD(t),a=yD(t,0);return a.length=DD(a,t,t,s,0,r===void 0?1:gD(r)),a}});}),e0=xe((Uy,jo)=>{var hD=[\"cliName\",\"cliCategory\",\"cliDescription\"],vD=[\"_\"],CD=[\"languageId\"];function Hn(e,r){if(e==null)return {};var t=ED(e,r),s,a;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,s)&&(t[s]=e[s]);}return t}function ED(e,r){if(e==null)return {};var t={},s=Object.keys(e),a,n;for(n=0;n=0)&&(t[a]=e[a]);return t}Zi(),ya(),xa(),Ta(),Ba();var FD=Object.create,_r=Object.defineProperty,AD=Object.getOwnPropertyDescriptor,Gn=Object.getOwnPropertyNames,SD=Object.getPrototypeOf,xD=Object.prototype.hasOwnProperty,ht=(e,r)=>function(){return e&&(r=(0, e[Gn(e)[0]])(e=0)),r},te=(e,r)=>function(){return r||(0, e[Gn(e)[0]])((r={exports:{}}).exports,r),r.exports},Kt=(e,r)=>{for(var t in r)_r(e,t,{get:r[t],enumerable:!0});},Pa=(e,r,t,s)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let a of Gn(r))!xD.call(e,a)&&a!==t&&_r(e,a,{get:()=>r[a],enumerable:!(s=AD(r,a))||s.enumerable});return e},bD=(e,r,t)=>(t=e!=null?FD(SD(e)):{},Pa(r||!e||!e.__esModule?_r(t,\"default\",{value:e,enumerable:!0}):t,e)),ft=e=>Pa(_r({},\"__esModule\",{value:!0}),e),wt,ne=ht({\"\"(){wt={env:{},argv:[]};}}),Ia=te({\"package.json\"(e,r){r.exports={version:\"2.8.7\"};}}),TD=te({\"node_modules/diff/lib/diff/base.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=r;function r(){}r.prototype={diff:function(n,u){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},l=i.callback;typeof i==\"function\"&&(l=i,i={}),this.options=i;var p=this;function y(N){return l?(setTimeout(function(){l(void 0,N);},0),!0):N}n=this.castInput(n),u=this.castInput(u),n=this.removeEmpty(this.tokenize(n)),u=this.removeEmpty(this.tokenize(u));var h=u.length,g=n.length,c=1,f=h+g,F=[{newPos:-1,components:[]}],_=this.extractCommon(F[0],u,n,0);if(F[0].newPos+1>=h&&_+1>=g)return y([{value:this.join(u),count:u.length}]);function w(){for(var N=-1*c;N<=c;N+=2){var x=void 0,I=F[N-1],P=F[N+1],$=(P?P.newPos:0)-N;I&&(F[N-1]=void 0);var D=I&&I.newPos+1=h&&$+1>=g)return y(t(p,x.components,u,n,p.useLongestToken));F[N]=x;}c++;}if(l)(function N(){setTimeout(function(){if(c>f)return l();w()||N();},0);})();else for(;c<=f;){var E=w();if(E)return E}},pushComponent:function(n,u,i){var l=n[n.length-1];l&&l.added===u&&l.removed===i?n[n.length-1]={count:l.count+1,added:u,removed:i}:n.push({count:1,added:u,removed:i});},extractCommon:function(n,u,i,l){for(var p=u.length,y=i.length,h=n.newPos,g=h-l,c=0;h+1w.length?N:w}),c.value=a.join(f);}else c.value=a.join(u.slice(h,h+c.count));h+=c.count,c.added||(g+=c.count);}}var _=n[y-1];return y>1&&typeof _.value==\"string\"&&(_.added||_.removed)&&a.equals(\"\",_.value)&&(n[y-2].value+=_.value,n.pop()),n}function s(a){return {newPos:a.newPos,components:a.components.slice(0)}}}}),BD=te({\"node_modules/diff/lib/diff/array.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0}),e.diffArrays=a,e.arrayDiff=void 0;var r=t(TD());function t(n){return n&&n.__esModule?n:{default:n}}var s=new r.default;e.arrayDiff=s,s.tokenize=function(n){return n.slice()},s.join=s.removeEmpty=function(n){return n};function a(n,u,i){return s.diff(n,u,i)}}}),Un=te({\"src/document/doc-builders.js\"(e,r){ne();function t(C){return {type:\"concat\",parts:C}}function s(C){return {type:\"indent\",contents:C}}function a(C,o){return {type:\"align\",contents:o,n:C}}function n(C){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return {type:\"group\",id:o.id,contents:C,break:Boolean(o.shouldBreak),expandedStates:o.expandedStates}}function u(C){return a(Number.NEGATIVE_INFINITY,C)}function i(C){return a({type:\"root\"},C)}function l(C){return a(-1,C)}function p(C,o){return n(C[0],Object.assign(Object.assign({},o),{},{expandedStates:C}))}function y(C){return {type:\"fill\",parts:C}}function h(C,o){let d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return {type:\"if-break\",breakContents:C,flatContents:o,groupId:d.groupId}}function g(C,o){return {type:\"indent-if-break\",contents:C,groupId:o.groupId,negate:o.negate}}function c(C){return {type:\"line-suffix\",contents:C}}var f={type:\"line-suffix-boundary\"},F={type:\"break-parent\"},_={type:\"trim\"},w={type:\"line\",hard:!0},E={type:\"line\",hard:!0,literal:!0},N={type:\"line\"},x={type:\"line\",soft:!0},I=t([w,F]),P=t([E,F]),$={type:\"cursor\",placeholder:Symbol(\"cursor\")};function D(C,o){let d=[];for(let v=0;v0){for(let S=0;S=0?u.charAt(i+1)===`\n`?\"crlf\":\"cr\":\"lf\"}function s(u){switch(u){case\"cr\":return \"\\r\";case\"crlf\":return `\\r\n`;default:return `\n`}}function a(u,i){let l;switch(i){case`\n`:l=/\\n/g;break;case\"\\r\":l=/\\r/g;break;case`\\r\n`:l=/\\r\\n/g;break;default:throw new Error(`Unexpected \"eol\" ${JSON.stringify(i)}.`)}let p=u.match(l);return p?p.length:0}function n(u){return u.replace(/\\r\\n?/g,`\n`)}r.exports={guessEndOfLine:t,convertEndOfLineToChars:s,countEndOfLineChars:a,normalizeEndOfLine:n};}}),lt=te({\"src/utils/get-last.js\"(e,r){ne();var t=s=>s[s.length-1];r.exports=t;}});function ND(){let{onlyFirst:e=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(r,e?void 0:\"g\")}var wD=ht({\"node_modules/strip-ansi/node_modules/ansi-regex/index.js\"(){ne();}});function _D(e){if(typeof e!=\"string\")throw new TypeError(`Expected a \\`string\\`, got \\`${typeof e}\\``);return e.replace(ND(),\"\")}var PD=ht({\"node_modules/strip-ansi/index.js\"(){ne(),wD();}});function ID(e){return Number.isInteger(e)?e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141):!1}var kD=ht({\"node_modules/is-fullwidth-code-point/index.js\"(){ne();}}),LD=te({\"node_modules/emoji-regex/index.js\"(e,r){ne(),r.exports=function(){return /\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67)\\uDB40\\uDC7F|(?:\\uD83E\\uDDD1\\uD83C\\uDFFF\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C\\uDFFB(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF]))|\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))?|(?:\\uD83C[\\uDFFC-\\uDFFF])\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF]))|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\u200D(?:(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC)?|(?:\\uD83D\\uDC69(?:\\uD83C\\uDFFB\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|(?:\\uD83C[\\uDFFC-\\uDFFF])\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69]))|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC69(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83E\\uDDD1(?:\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDE36\\u200D\\uD83C\\uDF2B|\\uD83C\\uDFF3\\uFE0F\\u200D\\u26A7|\\uD83D\\uDC3B\\u200D\\u2744|(?:(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\uD83C\\uDFF4\\u200D\\u2620|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])\\u200D[\\u2640\\u2642]|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u2600-\\u2604\\u260E\\u2611\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26B0\\u26B1\\u26C8\\u26CF\\u26D1\\u26D3\\u26E9\\u26F0\\u26F1\\u26F4\\u26F7\\u26F8\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]|\\uD83D[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3])\\uFE0F|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDE35\\u200D\\uD83D\\uDCAB|\\uD83D\\uDE2E\\u200D\\uD83D\\uDCA8|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83D\\uDC69(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83D\\uDC08\\u200D\\u2B1B|\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79)|\\uD83D\\uDC41\\uFE0F|\\uD83C\\uDFF3\\uFE0F|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|[#\\*0-9]\\uFE0F\\u20E3|\\u2764\\uFE0F|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDFF4|(?:[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270C\\u270D]|\\uD83D[\\uDD74\\uDD90])(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC08\\uDC15\\uDC3B\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE2E\\uDE35\\uDE36\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5]|\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD]|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF]|[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD1D\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78\\uDD7A-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCB\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6]|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0C-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26A7\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5-\\uDED7\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0C-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDD77\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g};}}),ka={};Kt(ka,{default:()=>OD});function OD(e){if(typeof e!=\"string\"||e.length===0||(e=_D(e),e.length===0))return 0;e=e.replace((0, La.default)(),\" \");let r=0;for(let t=0;t=127&&s<=159||s>=768&&s<=879||(s>65535&&t++,r+=ID(s)?2:1);}return r}var La,jD=ht({\"node_modules/string-width/index.js\"(){ne(),PD(),kD(),La=bD(LD());}}),Oa=te({\"src/utils/get-string-width.js\"(e,r){ne();var t=(jD(),ft(ka)).default,s=/[^\\x20-\\x7F]/;function a(n){return n?s.test(n)?t(n):n.length:0}r.exports=a;}}),Yt=te({\"src/document/doc-utils.js\"(e,r){ne();var t=lt(),{literalline:s,join:a}=Un(),n=o=>Array.isArray(o)||o&&o.type===\"concat\",u=o=>{if(Array.isArray(o))return o;if(o.type!==\"concat\"&&o.type!==\"fill\")throw new Error(\"Expect doc type to be `concat` or `fill`.\");return o.parts},i={};function l(o,d,v,S){let b=[o];for(;b.length>0;){let B=b.pop();if(B===i){v(b.pop());continue}if(v&&b.push(B,i),!d||d(B)!==!1)if(n(B)||B.type===\"fill\"){let k=u(B);for(let M=k.length,R=M-1;R>=0;--R)b.push(k[R]);}else if(B.type===\"if-break\")B.flatContents&&b.push(B.flatContents),B.breakContents&&b.push(B.breakContents);else if(B.type===\"group\"&&B.expandedStates)if(S)for(let k=B.expandedStates.length,M=k-1;M>=0;--M)b.push(B.expandedStates[M]);else b.push(B.contents);else B.contents&&b.push(B.contents);}}function p(o,d){let v=new Map;return S(o);function S(B){if(v.has(B))return v.get(B);let k=b(B);return v.set(B,k),k}function b(B){if(Array.isArray(B))return d(B.map(S));if(B.type===\"concat\"||B.type===\"fill\"){let k=B.parts.map(S);return d(Object.assign(Object.assign({},B),{},{parts:k}))}if(B.type===\"if-break\"){let k=B.breakContents&&S(B.breakContents),M=B.flatContents&&S(B.flatContents);return d(Object.assign(Object.assign({},B),{},{breakContents:k,flatContents:M}))}if(B.type===\"group\"&&B.expandedStates){let k=B.expandedStates.map(S),M=k[0];return d(Object.assign(Object.assign({},B),{},{contents:M,expandedStates:k}))}if(B.contents){let k=S(B.contents);return d(Object.assign(Object.assign({},B),{},{contents:k}))}return d(B)}}function y(o,d,v){let S=v,b=!1;function B(k){let M=d(k);if(M!==void 0&&(b=!0,S=M),b)return !1}return l(o,B),S}function h(o){if(o.type===\"group\"&&o.break||o.type===\"line\"&&o.hard||o.type===\"break-parent\")return !0}function g(o){return y(o,h,!1)}function c(o){if(o.length>0){let d=t(o);!d.expandedStates&&!d.break&&(d.break=\"propagated\");}return null}function f(o){let d=new Set,v=[];function S(B){if(B.type===\"break-parent\"&&c(v),B.type===\"group\"){if(v.push(B),d.has(B))return !1;d.add(B);}}function b(B){B.type===\"group\"&&v.pop().break&&c(v);}l(o,S,b,!0);}function F(o){return o.type===\"line\"&&!o.hard?o.soft?\"\":\" \":o.type===\"if-break\"?o.flatContents||\"\":o}function _(o){return p(o,F)}var w=(o,d)=>o&&o.type===\"line\"&&o.hard&&d&&d.type===\"break-parent\";function E(o){if(!o)return o;if(n(o)||o.type===\"fill\"){let d=u(o);for(;d.length>1&&w(...d.slice(-2));)d.length-=2;if(d.length>0){let v=E(t(d));d[d.length-1]=v;}return Array.isArray(o)?d:Object.assign(Object.assign({},o),{},{parts:d})}switch(o.type){case\"align\":case\"indent\":case\"indent-if-break\":case\"group\":case\"line-suffix\":case\"label\":{let d=E(o.contents);return Object.assign(Object.assign({},o),{},{contents:d})}case\"if-break\":{let d=E(o.breakContents),v=E(o.flatContents);return Object.assign(Object.assign({},o),{},{breakContents:d,flatContents:v})}}return o}function N(o){return E(I(o))}function x(o){switch(o.type){case\"fill\":if(o.parts.every(v=>v===\"\"))return \"\";break;case\"group\":if(!o.contents&&!o.id&&!o.break&&!o.expandedStates)return \"\";if(o.contents.type===\"group\"&&o.contents.id===o.id&&o.contents.break===o.break&&o.contents.expandedStates===o.expandedStates)return o.contents;break;case\"align\":case\"indent\":case\"indent-if-break\":case\"line-suffix\":if(!o.contents)return \"\";break;case\"if-break\":if(!o.flatContents&&!o.breakContents)return \"\";break}if(!n(o))return o;let d=[];for(let v of u(o)){if(!v)continue;let[S,...b]=n(v)?u(v):[v];typeof S==\"string\"&&typeof t(d)==\"string\"?d[d.length-1]+=S:d.push(S),d.push(...b);}return d.length===0?\"\":d.length===1?d[0]:Array.isArray(o)?d:Object.assign(Object.assign({},o),{},{parts:d})}function I(o){return p(o,d=>x(d))}function P(o){let d=[],v=o.filter(Boolean);for(;v.length>0;){let S=v.shift();if(S){if(n(S)){v.unshift(...u(S));continue}if(d.length>0&&typeof t(d)==\"string\"&&typeof S==\"string\"){d[d.length-1]+=S;continue}d.push(S);}}return d}function $(o){return p(o,d=>Array.isArray(d)?P(d):d.parts?Object.assign(Object.assign({},d),{},{parts:P(d.parts)}):d)}function D(o){return p(o,d=>typeof d==\"string\"&&d.includes(`\n`)?T(d):d)}function T(o){let d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s;return a(d,o.split(`\n`)).parts}function m(o){if(o.type===\"line\")return !0}function C(o){return y(o,m,!1)}r.exports={isConcat:n,getDocParts:u,willBreak:g,traverseDoc:l,findInDoc:y,mapDoc:p,propagateBreaks:f,removeLines:_,stripTrailingHardline:N,normalizeParts:P,normalizeDoc:$,cleanDoc:I,replaceTextEndOfLine:T,replaceEndOfLine:D,canBreak:C};}}),qD=te({\"src/document/doc-printer.js\"(e,r){ne();var{convertEndOfLineToChars:t}=Jn(),s=lt(),a=Oa(),{fill:n,cursor:u,indent:i}=Un(),{isConcat:l,getDocParts:p}=Yt(),y,h=1,g=2;function c(){return {value:\"\",length:0,queue:[]}}function f(x,I){return _(x,{type:\"indent\"},I)}function F(x,I,P){return I===Number.NEGATIVE_INFINITY?x.root||c():I<0?_(x,{type:\"dedent\"},P):I?I.type===\"root\"?Object.assign(Object.assign({},x),{},{root:x}):_(x,{type:typeof I==\"string\"?\"stringAlign\":\"numberAlign\",n:I},P):x}function _(x,I,P){let $=I.type===\"dedent\"?x.queue.slice(0,-1):[...x.queue,I],D=\"\",T=0,m=0,C=0;for(let k of $)switch(k.type){case\"indent\":v(),P.useTabs?o(1):d(P.tabWidth);break;case\"stringAlign\":v(),D+=k.n,T+=k.n.length;break;case\"numberAlign\":m+=1,C+=k.n;break;default:throw new Error(`Unexpected type '${k.type}'`)}return b(),Object.assign(Object.assign({},x),{},{value:D,length:T,queue:$});function o(k){D+=\"\t\".repeat(k),T+=P.tabWidth*k;}function d(k){D+=\" \".repeat(k),T+=k;}function v(){P.useTabs?S():b();}function S(){m>0&&o(m),B();}function b(){C>0&&d(C),B();}function B(){m=0,C=0;}}function w(x){if(x.length===0)return 0;let I=0;for(;x.length>0&&typeof s(x)==\"string\"&&/^[\\t ]*$/.test(s(x));)I+=x.pop().length;if(x.length>0&&typeof s(x)==\"string\"){let P=s(x).replace(/[\\t ]*$/,\"\");I+=s(x).length-P.length,x[x.length-1]=P;}return I}function E(x,I,P,$,D){let T=I.length,m=[x],C=[];for(;P>=0;){if(m.length===0){if(T===0)return !0;m.push(I[--T]);continue}let{mode:o,doc:d}=m.pop();if(typeof d==\"string\")C.push(d),P-=a(d);else if(l(d)||d.type===\"fill\"){let v=p(d);for(let S=v.length-1;S>=0;S--)m.push({mode:o,doc:v[S]});}else switch(d.type){case\"indent\":case\"align\":case\"indent-if-break\":case\"label\":m.push({mode:o,doc:d.contents});break;case\"trim\":P+=w(C);break;case\"group\":{if(D&&d.break)return !1;let v=d.break?h:o,S=d.expandedStates&&v===h?s(d.expandedStates):d.contents;m.push({mode:v,doc:S});break}case\"if-break\":{let S=(d.groupId?y[d.groupId]||g:o)===h?d.breakContents:d.flatContents;S&&m.push({mode:o,doc:S});break}case\"line\":if(o===h||d.hard)return !0;d.soft||(C.push(\" \"),P--);break;case\"line-suffix\":$=!0;break;case\"line-suffix-boundary\":if($)return !1;break}}return !1}function N(x,I){y={};let P=I.printWidth,$=t(I.endOfLine),D=0,T=[{ind:c(),mode:h,doc:x}],m=[],C=!1,o=[];for(;T.length>0;){let{ind:v,mode:S,doc:b}=T.pop();if(typeof b==\"string\"){let B=$!==`\n`?b.replace(/\\n/g,$):b;m.push(B),D+=a(B);}else if(l(b)){let B=p(b);for(let k=B.length-1;k>=0;k--)T.push({ind:v,mode:S,doc:B[k]});}else switch(b.type){case\"cursor\":m.push(u.placeholder);break;case\"indent\":T.push({ind:f(v,I),mode:S,doc:b.contents});break;case\"align\":T.push({ind:F(v,b.n,I),mode:S,doc:b.contents});break;case\"trim\":D-=w(m);break;case\"group\":switch(S){case g:if(!C){T.push({ind:v,mode:b.break?h:g,doc:b.contents});break}case h:{C=!1;let B={ind:v,mode:g,doc:b.contents},k=P-D,M=o.length>0;if(!b.break&&E(B,T,k,M))T.push(B);else if(b.expandedStates){let R=s(b.expandedStates);if(b.break){T.push({ind:v,mode:h,doc:R});break}else for(let q=1;q=b.expandedStates.length){T.push({ind:v,mode:h,doc:R});break}else {let J=b.expandedStates[q],L={ind:v,mode:g,doc:J};if(E(L,T,k,M)){T.push(L);break}}}else T.push({ind:v,mode:h,doc:b.contents});break}}b.id&&(y[b.id]=s(T).mode);break;case\"fill\":{let B=P-D,{parts:k}=b;if(k.length===0)break;let[M,R]=k,q={ind:v,mode:g,doc:M},J={ind:v,mode:h,doc:M},L=E(q,[],B,o.length>0,!0);if(k.length===1){L?T.push(q):T.push(J);break}let Q={ind:v,mode:g,doc:R},V={ind:v,mode:h,doc:R};if(k.length===2){L?T.push(Q,q):T.push(V,J);break}k.splice(0,2);let j={ind:v,mode:S,doc:n(k)},Y=k[0];E({ind:v,mode:g,doc:[M,R,Y]},[],B,o.length>0,!0)?T.push(j,Q,q):L?T.push(j,V,q):T.push(j,V,J);break}case\"if-break\":case\"indent-if-break\":{let B=b.groupId?y[b.groupId]:S;if(B===h){let k=b.type===\"if-break\"?b.breakContents:b.negate?b.contents:i(b.contents);k&&T.push({ind:v,mode:S,doc:k});}if(B===g){let k=b.type===\"if-break\"?b.flatContents:b.negate?i(b.contents):b.contents;k&&T.push({ind:v,mode:S,doc:k});}break}case\"line-suffix\":o.push({ind:v,mode:S,doc:b.contents});break;case\"line-suffix-boundary\":o.length>0&&T.push({ind:v,mode:S,doc:{type:\"line\",hard:!0}});break;case\"line\":switch(S){case g:if(b.hard)C=!0;else {b.soft||(m.push(\" \"),D+=1);break}case h:if(o.length>0){T.push({ind:v,mode:S,doc:b},...o.reverse()),o.length=0;break}b.literal?v.root?(m.push($,v.root.value),D=v.root.length):(m.push($),D=0):(D-=w(m),m.push($+v.value),D=v.length);break}break;case\"label\":T.push({ind:v,mode:S,doc:b.contents});break;}T.length===0&&o.length>0&&(T.push(...o.reverse()),o.length=0);}let d=m.indexOf(u.placeholder);if(d!==-1){let v=m.indexOf(u.placeholder,d+1),S=m.slice(0,d).join(\"\"),b=m.slice(d+1,v).join(\"\"),B=m.slice(v+1).join(\"\");return {formatted:S+b+B,cursorNodeStart:S.length,cursorNodeText:b}}return {formatted:m.join(\"\")}}r.exports={printDocToString:N};}}),MD=te({\"src/document/doc-debug.js\"(e,r){ne();var{isConcat:t,getDocParts:s}=Yt();function a(u){if(!u)return \"\";if(t(u)){let i=[];for(let l of s(u))if(t(l))i.push(...a(l).parts);else {let p=a(l);p!==\"\"&&i.push(p);}return {type:\"concat\",parts:i}}return u.type===\"if-break\"?Object.assign(Object.assign({},u),{},{breakContents:a(u.breakContents),flatContents:a(u.flatContents)}):u.type===\"group\"?Object.assign(Object.assign({},u),{},{contents:a(u.contents),expandedStates:u.expandedStates&&u.expandedStates.map(a)}):u.type===\"fill\"?{type:\"fill\",parts:u.parts.map(a)}:u.contents?Object.assign(Object.assign({},u),{},{contents:a(u.contents)}):u}function n(u){let i=Object.create(null),l=new Set;return p(a(u));function p(h,g,c){if(typeof h==\"string\")return JSON.stringify(h);if(t(h)){let f=s(h).map(p).filter(Boolean);return f.length===1?f[0]:`[${f.join(\", \")}]`}if(h.type===\"line\"){let f=Array.isArray(c)&&c[g+1]&&c[g+1].type===\"break-parent\";return h.literal?f?\"literalline\":\"literallineWithoutBreakParent\":h.hard?f?\"hardline\":\"hardlineWithoutBreakParent\":h.soft?\"softline\":\"line\"}if(h.type===\"break-parent\")return Array.isArray(c)&&c[g-1]&&c[g-1].type===\"line\"&&c[g-1].hard?void 0:\"breakParent\";if(h.type===\"trim\")return \"trim\";if(h.type===\"indent\")return \"indent(\"+p(h.contents)+\")\";if(h.type===\"align\")return h.n===Number.NEGATIVE_INFINITY?\"dedentToRoot(\"+p(h.contents)+\")\":h.n<0?\"dedent(\"+p(h.contents)+\")\":h.n.type===\"root\"?\"markAsRoot(\"+p(h.contents)+\")\":\"align(\"+JSON.stringify(h.n)+\", \"+p(h.contents)+\")\";if(h.type===\"if-break\")return \"ifBreak(\"+p(h.breakContents)+(h.flatContents?\", \"+p(h.flatContents):\"\")+(h.groupId?(h.flatContents?\"\":', \"\"')+`, { groupId: ${y(h.groupId)} }`:\"\")+\")\";if(h.type===\"indent-if-break\"){let f=[];h.negate&&f.push(\"negate: true\"),h.groupId&&f.push(`groupId: ${y(h.groupId)}`);let F=f.length>0?`, { ${f.join(\", \")} }`:\"\";return `indentIfBreak(${p(h.contents)}${F})`}if(h.type===\"group\"){let f=[];h.break&&h.break!==\"propagated\"&&f.push(\"shouldBreak: true\"),h.id&&f.push(`id: ${y(h.id)}`);let F=f.length>0?`, { ${f.join(\", \")} }`:\"\";return h.expandedStates?`conditionalGroup([${h.expandedStates.map(_=>p(_)).join(\",\")}]${F})`:`group(${p(h.contents)}${F})`}if(h.type===\"fill\")return `fill([${h.parts.map(f=>p(f)).join(\", \")}])`;if(h.type===\"line-suffix\")return \"lineSuffix(\"+p(h.contents)+\")\";if(h.type===\"line-suffix-boundary\")return \"lineSuffixBoundary\";if(h.type===\"label\")return `label(${JSON.stringify(h.label)}, ${p(h.contents)})`;throw new Error(\"Unknown doc type \"+h.type)}function y(h){if(typeof h!=\"symbol\")return JSON.stringify(String(h));if(h in i)return i[h];let g=String(h).slice(7,-1)||\"symbol\";for(let c=0;;c++){let f=g+(c>0?` #${c}`:\"\");if(!l.has(f))return l.add(f),i[h]=`Symbol.for(${JSON.stringify(f)})`}}}r.exports={printDocToDebug:n};}}),qe=te({\"src/document/index.js\"(e,r){ne(),r.exports={builders:Un(),printer:qD(),utils:Yt(),debug:MD()};}}),ja={};Kt(ja,{default:()=>RD});function RD(e){if(typeof e!=\"string\")throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")}var $D=ht({\"node_modules/escape-string-regexp/index.js\"(){ne();}}),qa=te({\"node_modules/semver/internal/debug.js\"(e,r){ne();var t=typeof wt==\"object\"&&wt.env&&wt.env.NODE_DEBUG&&/\\bsemver\\b/i.test(wt.env.NODE_DEBUG)?function(){for(var s=arguments.length,a=new Array(s),n=0;n{};r.exports=t;}}),Ma=te({\"node_modules/semver/internal/constants.js\"(e,r){ne();var t=\"2.0.0\",s=256,a=Number.MAX_SAFE_INTEGER||9007199254740991,n=16;r.exports={SEMVER_SPEC_VERSION:t,MAX_LENGTH:s,MAX_SAFE_INTEGER:a,MAX_SAFE_COMPONENT_LENGTH:n};}}),VD=te({\"node_modules/semver/internal/re.js\"(e,r){ne();var{MAX_SAFE_COMPONENT_LENGTH:t}=Ma(),s=qa();e=r.exports={};var a=e.re=[],n=e.src=[],u=e.t={},i=0,l=(p,y,h)=>{let g=i++;s(p,g,y),u[p]=g,n[g]=y,a[g]=new RegExp(y,h?\"g\":void 0);};l(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),l(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),l(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),l(\"MAINVERSION\",`(${n[u.NUMERICIDENTIFIER]})\\\\.(${n[u.NUMERICIDENTIFIER]})\\\\.(${n[u.NUMERICIDENTIFIER]})`),l(\"MAINVERSIONLOOSE\",`(${n[u.NUMERICIDENTIFIERLOOSE]})\\\\.(${n[u.NUMERICIDENTIFIERLOOSE]})\\\\.(${n[u.NUMERICIDENTIFIERLOOSE]})`),l(\"PRERELEASEIDENTIFIER\",`(?:${n[u.NUMERICIDENTIFIER]}|${n[u.NONNUMERICIDENTIFIER]})`),l(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${n[u.NUMERICIDENTIFIERLOOSE]}|${n[u.NONNUMERICIDENTIFIER]})`),l(\"PRERELEASE\",`(?:-(${n[u.PRERELEASEIDENTIFIER]}(?:\\\\.${n[u.PRERELEASEIDENTIFIER]})*))`),l(\"PRERELEASELOOSE\",`(?:-?(${n[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${n[u.PRERELEASEIDENTIFIERLOOSE]})*))`),l(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),l(\"BUILD\",`(?:\\\\+(${n[u.BUILDIDENTIFIER]}(?:\\\\.${n[u.BUILDIDENTIFIER]})*))`),l(\"FULLPLAIN\",`v?${n[u.MAINVERSION]}${n[u.PRERELEASE]}?${n[u.BUILD]}?`),l(\"FULL\",`^${n[u.FULLPLAIN]}$`),l(\"LOOSEPLAIN\",`[v=\\\\s]*${n[u.MAINVERSIONLOOSE]}${n[u.PRERELEASELOOSE]}?${n[u.BUILD]}?`),l(\"LOOSE\",`^${n[u.LOOSEPLAIN]}$`),l(\"GTLT\",\"((?:<|>)?=?)\"),l(\"XRANGEIDENTIFIERLOOSE\",`${n[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`),l(\"XRANGEIDENTIFIER\",`${n[u.NUMERICIDENTIFIER]}|x|X|\\\\*`),l(\"XRANGEPLAIN\",`[v=\\\\s]*(${n[u.XRANGEIDENTIFIER]})(?:\\\\.(${n[u.XRANGEIDENTIFIER]})(?:\\\\.(${n[u.XRANGEIDENTIFIER]})(?:${n[u.PRERELEASE]})?${n[u.BUILD]}?)?)?`),l(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${n[u.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${n[u.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${n[u.XRANGEIDENTIFIERLOOSE]})(?:${n[u.PRERELEASELOOSE]})?${n[u.BUILD]}?)?)?`),l(\"XRANGE\",`^${n[u.GTLT]}\\\\s*${n[u.XRANGEPLAIN]}$`),l(\"XRANGELOOSE\",`^${n[u.GTLT]}\\\\s*${n[u.XRANGEPLAINLOOSE]}$`),l(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${t}})(?:\\\\.(\\\\d{1,${t}}))?(?:\\\\.(\\\\d{1,${t}}))?(?:$|[^\\\\d])`),l(\"COERCERTL\",n[u.COERCE],!0),l(\"LONETILDE\",\"(?:~>?)\"),l(\"TILDETRIM\",`(\\\\s*)${n[u.LONETILDE]}\\\\s+`,!0),e.tildeTrimReplace=\"$1~\",l(\"TILDE\",`^${n[u.LONETILDE]}${n[u.XRANGEPLAIN]}$`),l(\"TILDELOOSE\",`^${n[u.LONETILDE]}${n[u.XRANGEPLAINLOOSE]}$`),l(\"LONECARET\",\"(?:\\\\^)\"),l(\"CARETTRIM\",`(\\\\s*)${n[u.LONECARET]}\\\\s+`,!0),e.caretTrimReplace=\"$1^\",l(\"CARET\",`^${n[u.LONECARET]}${n[u.XRANGEPLAIN]}$`),l(\"CARETLOOSE\",`^${n[u.LONECARET]}${n[u.XRANGEPLAINLOOSE]}$`),l(\"COMPARATORLOOSE\",`^${n[u.GTLT]}\\\\s*(${n[u.LOOSEPLAIN]})$|^$`),l(\"COMPARATOR\",`^${n[u.GTLT]}\\\\s*(${n[u.FULLPLAIN]})$|^$`),l(\"COMPARATORTRIM\",`(\\\\s*)${n[u.GTLT]}\\\\s*(${n[u.LOOSEPLAIN]}|${n[u.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace=\"$1$2$3\",l(\"HYPHENRANGE\",`^\\\\s*(${n[u.XRANGEPLAIN]})\\\\s+-\\\\s+(${n[u.XRANGEPLAIN]})\\\\s*$`),l(\"HYPHENRANGELOOSE\",`^\\\\s*(${n[u.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${n[u.XRANGEPLAINLOOSE]})\\\\s*$`),l(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),l(\"GTE0\",\"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\"),l(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");}}),WD=te({\"node_modules/semver/internal/parse-options.js\"(e,r){ne();var t=[\"includePrerelease\",\"loose\",\"rtl\"],s=a=>a?typeof a!=\"object\"?{loose:!0}:t.filter(n=>a[n]).reduce((n,u)=>(n[u]=!0,n),{}):{};r.exports=s;}}),HD=te({\"node_modules/semver/internal/identifiers.js\"(e,r){ne();var t=/^[0-9]+$/,s=(n,u)=>{let i=t.test(n),l=t.test(u);return i&&l&&(n=+n,u=+u),n===u?0:i&&!l?-1:l&&!i?1:ns(u,n);r.exports={compareIdentifiers:s,rcompareIdentifiers:a};}}),GD=te({\"node_modules/semver/classes/semver.js\"(e,r){ne();var t=qa(),{MAX_LENGTH:s,MAX_SAFE_INTEGER:a}=Ma(),{re:n,t:u}=VD(),i=WD(),{compareIdentifiers:l}=HD(),p=class{constructor(y,h){if(h=i(h),y instanceof p){if(y.loose===!!h.loose&&y.includePrerelease===!!h.includePrerelease)return y;y=y.version;}else if(typeof y!=\"string\")throw new TypeError(`Invalid Version: ${y}`);if(y.length>s)throw new TypeError(`version is longer than ${s} characters`);t(\"SemVer\",y,h),this.options=h,this.loose=!!h.loose,this.includePrerelease=!!h.includePrerelease;let g=y.trim().match(h.loose?n[u.LOOSE]:n[u.FULL]);if(!g)throw new TypeError(`Invalid Version: ${y}`);if(this.raw=y,this.major=+g[1],this.minor=+g[2],this.patch=+g[3],this.major>a||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>a||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>a||this.patch<0)throw new TypeError(\"Invalid patch version\");g[4]?this.prerelease=g[4].split(\".\").map(c=>{if(/^[0-9]+$/.test(c)){let f=+c;if(f>=0&&f=0;)typeof this.prerelease[g]==\"number\"&&(this.prerelease[g]++,g=-2);g===-1&&this.prerelease.push(0);}h&&(l(this.prerelease[0],h)===0?isNaN(this.prerelease[1])&&(this.prerelease=[h,0]):this.prerelease=[h,0]);break;default:throw new Error(`invalid increment argument: ${y}`)}return this.format(),this.raw=this.version,this}};r.exports=p;}}),zn=te({\"node_modules/semver/functions/compare.js\"(e,r){ne();var t=GD(),s=(a,n,u)=>new t(a,u).compare(new t(n,u));r.exports=s;}}),UD=te({\"node_modules/semver/functions/lt.js\"(e,r){ne();var t=zn(),s=(a,n,u)=>t(a,n,u)<0;r.exports=s;}}),JD=te({\"node_modules/semver/functions/gte.js\"(e,r){ne();var t=zn(),s=(a,n,u)=>t(a,n,u)>=0;r.exports=s;}}),zD=te({\"src/utils/arrayify.js\"(e,r){ne(),r.exports=(t,s)=>Object.entries(t).map(a=>{let[n,u]=a;return Object.assign({[s]:n},u)});}}),XD=te({\"node_modules/outdent/lib/index.js\"(e,r){ne(),Object.defineProperty(e,\"__esModule\",{value:!0}),e.outdent=void 0;function t(){for(var E=[],N=0;Ntypeof h==\"string\"||typeof h==\"function\",choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"acorn\",since:\"2.6.0\",description:\"JavaScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:\"2.3.0\",description:\"Ember / Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:l,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:h=>typeof h==\"string\"||typeof h==\"object\",cliName:\"plugin\",cliCategory:s},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:l,description:t`\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n `,exception:h=>typeof h==\"string\"||typeof h==\"object\",cliName:\"plugin-search-dir\",cliCategory:s},printWidth:{since:\"0.0.0\",category:l,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:\"1.4.0\",category:p,type:\"int\",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:t`\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n `,cliCategory:a},rangeStart:{since:\"1.4.0\",category:p,type:\"int\",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:t`\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n `,cliCategory:a},requirePragma:{since:\"1.7.0\",category:p,type:\"boolean\",default:!1,description:t`\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n `,cliCategory:u},tabWidth:{type:\"int\",category:l,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:\"1.0.0\",category:l,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:l,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};r.exports={CATEGORY_CONFIG:s,CATEGORY_EDITOR:a,CATEGORY_FORMAT:n,CATEGORY_OTHER:u,CATEGORY_OUTPUT:i,CATEGORY_GLOBAL:l,CATEGORY_SPECIAL:p,options:y};}}),Xn=te({\"src/main/support.js\"(e,r){ne();var t={compare:zn(),lt:UD(),gte:JD()},s=zD(),a=Ia().version,n=KD().options;function u(){let{plugins:l=[],showUnreleased:p=!1,showDeprecated:y=!1,showInternal:h=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},g=a.split(\"-\",1)[0],c=l.flatMap(E=>E.languages||[]).filter(F),f=s(Object.assign({},...l.map(E=>{let{options:N}=E;return N}),n),\"name\").filter(E=>F(E)&&_(E)).sort((E,N)=>E.name===N.name?0:E.name{E=Object.assign({},E),Array.isArray(E.default)&&(E.default=E.default.length===1?E.default[0].value:E.default.filter(F).sort((x,I)=>t.compare(I.since,x.since))[0].value),Array.isArray(E.choices)&&(E.choices=E.choices.filter(x=>F(x)&&_(x)),E.name===\"parser\"&&i(E,c,l));let N=Object.fromEntries(l.filter(x=>x.defaultOptions&&x.defaultOptions[E.name]!==void 0).map(x=>[x.name,x.defaultOptions[E.name]]));return Object.assign(Object.assign({},E),{},{pluginDefaults:N})});return {languages:c,options:f};function F(E){return p||!(\"since\"in E)||E.since&&t.gte(g,E.since)}function _(E){return y||!(\"deprecated\"in E)||E.deprecated&&t.lt(g,E.deprecated)}function w(E){if(h)return E;return Hn(E,hD)}}function i(l,p,y){let h=new Set(l.choices.map(g=>g.value));for(let g of p)if(g.parsers){for(let c of g.parsers)if(!h.has(c)){h.add(c);let f=y.find(_=>_.parsers&&_.parsers[c]),F=g.name;f&&f.name&&(F+=` (plugin: ${f.name})`),l.choices.push({value:c,description:F});}}}r.exports={getSupportInfo:u};}}),Kn=te({\"src/utils/is-non-empty-array.js\"(e,r){ne();function t(s){return Array.isArray(s)&&s.length>0}r.exports=t;}}),Pr=te({\"src/utils/text/skip.js\"(e,r){ne();function t(i){return (l,p,y)=>{let h=y&&y.backwards;if(p===!1)return !1;let{length:g}=l,c=p;for(;c>=0&&cV[V.length-2];function _(V){return (j,Y,ie)=>{let ee=ie&&ie.backwards;if(Y===!1)return !1;let{length:ce}=j,W=Y;for(;W>=0&&W2&&arguments[2]!==void 0?arguments[2]:{},ie=l(V,Y.backwards?j-1:j,Y),ee=c(V,ie,Y);return ie!==ee}function E(V,j,Y){for(let ie=j;ie2&&arguments[2]!==void 0?arguments[2]:{};return l(V,Y.backwards?j-1:j,Y)!==j}function T(V,j){let Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,ie=0;for(let ee=Y;eede?ce:ee;}return W}function o(V,j){let Y=V.slice(1,-1),ie=j.parser===\"json\"||j.parser===\"json5\"&&j.quoteProps===\"preserve\"&&!j.singleQuote?'\"':j.__isInHtmlAttribute?\"'\":C(Y,j.singleQuote?\"'\":'\"').quote;return d(Y,ie,!(j.parser===\"css\"||j.parser===\"less\"||j.parser===\"scss\"||j.__embeddedInHtml))}function d(V,j,Y){let ie=j==='\"'?\"'\":'\"',ee=/\\\\(.)|([\"'])/gs,ce=V.replace(ee,(W,K,de)=>K===ie?K:de===j?\"\\\\\"+de:de||(Y&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(K)?K:\"\\\\\"+K));return j+ce+j}function v(V){return V.toLowerCase().replace(/^([+-]?[\\d.]+e)(?:\\+|(-))?0*(\\d)/,\"$1$2$3\").replace(/^([+-]?[\\d.]+)e[+-]?0+$/,\"$1\").replace(/^([+-])?\\./,\"$10.\").replace(/(\\.\\d+?)0+(?=e|$)/,\"$1\").replace(/\\.(?=e|$)/,\"\")}function S(V,j){let Y=V.match(new RegExp(`(${t(j)})+`,\"g\"));return Y===null?0:Y.reduce((ie,ee)=>Math.max(ie,ee.length/j.length),0)}function b(V,j){let Y=V.match(new RegExp(`(${t(j)})+`,\"g\"));if(Y===null)return 0;let ie=new Map,ee=0;for(let ce of Y){let W=ce.length/j.length;ie.set(W,!0),W>ee&&(ee=W);}for(let ce=1;ce{let{name:ce}=ee;return ce.toLowerCase()===V})||Y.find(ee=>{let{aliases:ce}=ee;return Array.isArray(ce)&&ce.includes(V)})||Y.find(ee=>{let{extensions:ce}=ee;return Array.isArray(ce)&&ce.includes(`.${V}`)});return ie&&ie.parsers[0]}function J(V){return V&&V.type===\"front-matter\"}function L(V){let j=new WeakMap;return function(Y){return j.has(Y)||j.set(Y,Symbol(V)),j.get(Y)}}function Q(V){let j=V.type||V.kind||\"(unknown type)\",Y=String(V.name||V.id&&(typeof V.id==\"object\"?V.id.name:V.id)||V.key&&(typeof V.key==\"object\"?V.key.name:V.key)||V.value&&(typeof V.value==\"object\"?\"\":String(V.value))||V.operator||\"\");return Y.length>20&&(Y=Y.slice(0,19)+\"\\u2026\"),j+(Y?\" \"+Y:\"\")}r.exports={inferParserByLanguage:q,getStringWidth:u,getMaxContinuousCount:S,getMinNotPresentContinuousCount:b,getPenultimate:F,getLast:s,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:f,getNextNonSpaceNonCommentCharacterIndex:P,getNextNonSpaceNonCommentCharacter:$,skip:_,skipWhitespace:i,skipSpaces:l,skipToLineEnd:p,skipEverythingButNewLine:y,skipInlineComment:h,skipTrailingComment:g,skipNewline:c,isNextLineEmptyAfterIndex:x,isNextLineEmpty:I,isPreviousLineEmpty:N,hasNewline:w,hasNewlineInRange:E,hasSpaces:D,getAlignmentSize:T,getIndentSize:m,getPreferredQuote:C,printString:o,printNumber:v,makeString:d,addLeadingComment:k,addDanglingComment:M,addTrailingComment:R,isFrontMatterNode:J,isNonEmptyArray:n,createGroupIdMapper:L};}}),Wa={};Kt(Wa,{basename:()=>za,default:()=>Ka,delimiter:()=>Mn,dirname:()=>Ja,extname:()=>Xa,isAbsolute:()=>Qn,join:()=>Ga,normalize:()=>Yn,relative:()=>Ua,resolve:()=>wr,sep:()=>qn});function Ha(e,r){for(var t=0,s=e.length-1;s>=0;s--){var a=e[s];a===\".\"?e.splice(s,1):a===\"..\"?(e.splice(s,1),t++):t&&(e.splice(s,1),t--);}if(r)for(;t--;t)e.unshift(\"..\");return e}function wr(){for(var e=\"\",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var s=t>=0?arguments[t]:\"/\";if(typeof s!=\"string\")throw new TypeError(\"Arguments to path.resolve must be strings\");s&&(e=s+\"/\"+e,r=s.charAt(0)===\"/\");}return e=Ha(Zn(e.split(\"/\"),function(a){return !!a}),!r).join(\"/\"),(r?\"/\":\"\")+e||\".\"}function Yn(e){var r=Qn(e),t=Ya(e,-1)===\"/\";return e=Ha(Zn(e.split(\"/\"),function(s){return !!s}),!r).join(\"/\"),!e&&!r&&(e=\".\"),e&&t&&(e+=\"/\"),(r?\"/\":\"\")+e}function Qn(e){return e.charAt(0)===\"/\"}function Ga(){var e=Array.prototype.slice.call(arguments,0);return Yn(Zn(e,function(r,t){if(typeof r!=\"string\")throw new TypeError(\"Arguments to path.join must be strings\");return r}).join(\"/\"))}function Ua(e,r){e=wr(e).substr(1),r=wr(r).substr(1);function t(p){for(var y=0;y=0&&p[h]===\"\";h--);return y>h?[]:p.slice(y,h-y+1)}for(var s=t(e.split(\"/\")),a=t(r.split(\"/\")),n=Math.min(s.length,a.length),u=n,i=0;iNr,__asyncDelegator:()=>fm,__asyncGenerator:()=>pm,__asyncValues:()=>Dm,__await:()=>Xt,__awaiter:()=>sm,__classPrivateFieldGet:()=>ym,__classPrivateFieldSet:()=>hm,__createBinding:()=>am,__decorate:()=>rm,__exportStar:()=>om,__extends:()=>em,__generator:()=>im,__importDefault:()=>gm,__importStar:()=>dm,__makeTemplateObject:()=>mm,__metadata:()=>um,__param:()=>nm,__read:()=>Qa,__rest:()=>tm,__spread:()=>lm,__spreadArrays:()=>cm,__values:()=>Rn});function em(e,r){Br(e,r);function t(){this.constructor=e;}e.prototype=r===null?Object.create(r):(t.prototype=r.prototype,new t);}function tm(e,r){var t={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&r.indexOf(s)<0&&(t[s]=e[s]);if(e!=null&&typeof Object.getOwnPropertySymbols==\"function\")for(var a=0,s=Object.getOwnPropertySymbols(e);a=0;i--)(u=e[i])&&(n=(a<3?u(n):a>3?u(r,t,n):u(r,t))||n);return a>3&&n&&Object.defineProperty(r,t,n),n}function nm(e,r){return function(t,s){r(t,s,e);}}function um(e,r){if(typeof Reflect==\"object\"&&typeof Reflect.metadata==\"function\")return Reflect.metadata(e,r)}function sm(e,r,t,s){function a(n){return n instanceof t?n:new t(function(u){u(n);})}return new(t||(t=Promise))(function(n,u){function i(y){try{p(s.next(y));}catch(h){u(h);}}function l(y){try{p(s.throw(y));}catch(h){u(h);}}function p(y){y.done?n(y.value):a(y.value).then(i,l);}p((s=s.apply(e,r||[])).next());})}function im(e,r){var t={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},s,a,n,u;return u={next:i(0),throw:i(1),return:i(2)},typeof Symbol==\"function\"&&(u[Symbol.iterator]=function(){return this}),u;function i(p){return function(y){return l([p,y])}}function l(p){if(s)throw new TypeError(\"Generator is already executing.\");for(;t;)try{if(s=1,a&&(n=p[0]&2?a.return:p[0]?a.throw||((n=a.return)&&n.call(a),0):a.next)&&!(n=n.call(a,p[1])).done)return n;switch(a=0,n&&(p=[p[0]&2,n.value]),p[0]){case 0:case 1:n=p;break;case 4:return t.label++,{value:p[1],done:!1};case 5:t.label++,a=p[1],p=[0];continue;case 7:p=t.ops.pop(),t.trys.pop();continue;default:if(n=t.trys,!(n=n.length>0&&n[n.length-1])&&(p[0]===6||p[0]===2)){t=0;continue}if(p[0]===3&&(!n||p[1]>n[0]&&p[1]=e.length&&(e=void 0),{value:e&&e[s++],done:!e}}};throw new TypeError(r?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function Qa(e,r){var t=typeof Symbol==\"function\"&&e[Symbol.iterator];if(!t)return e;var s=t.call(e),a,n=[],u;try{for(;(r===void 0||r-- >0)&&!(a=s.next()).done;)n.push(a.value);}catch(i){u={error:i};}finally{try{a&&!a.done&&(t=s.return)&&t.call(s);}finally{if(u)throw u.error}}return n}function lm(){for(var e=[],r=0;r1||i(g,c);})});}function i(g,c){try{l(s[g](c));}catch(f){h(n[0][3],f);}}function l(g){g.value instanceof Xt?Promise.resolve(g.value.v).then(p,y):h(n[0][2],g);}function p(g){i(\"next\",g);}function y(g){i(\"throw\",g);}function h(g,c){g(c),n.shift(),n.length&&i(n[0][0],n[0][1]);}}function fm(e){var r,t;return r={},s(\"next\"),s(\"throw\",function(a){throw a}),s(\"return\"),r[Symbol.iterator]=function(){return this},r;function s(a,n){r[a]=e[a]?function(u){return (t=!t)?{value:Xt(e[a](u)),done:a===\"return\"}:n?n(u):u}:n;}}function Dm(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var r=e[Symbol.asyncIterator],t;return r?r.call(e):(e=typeof Rn==\"function\"?Rn(e):e[Symbol.iterator](),t={},s(\"next\"),s(\"throw\"),s(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function s(n){t[n]=e[n]&&function(u){return new Promise(function(i,l){u=e[n](u),a(i,l,u.done,u.value);})};}function a(n,u,i,l){Promise.resolve(l).then(function(p){n({value:p,done:i});},u);}}function mm(e,r){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:r}):e.raw=r,e}function dm(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)Object.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}function gm(e){return e&&e.__esModule?e:{default:e}}function ym(e,r){if(!r.has(e))throw new TypeError(\"attempted to get private field on non-instance\");return r.get(e)}function hm(e,r,t){if(!r.has(e))throw new TypeError(\"attempted to set private field on non-instance\");return r.set(e,t),t}var Br,Nr,Et=ht({\"node_modules/tslib/tslib.es6.js\"(){ne(),Br=function(e,r){return Br=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,s){t.__proto__=s;}||function(t,s){for(var a in s)s.hasOwnProperty(a)&&(t[a]=s[a]);},Br(e,r)},Nr=function(){return Nr=Object.assign||function(r){for(var t,s=1,a=arguments.length;s/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(r)?r:JSON.stringify(r),value(r){if(r===null||typeof r!=\"object\")return JSON.stringify(r);if(Array.isArray(r))return `[${r.map(s=>e.apiDescriptor.value(s)).join(\", \")}]`;let t=Object.keys(r);return t.length===0?\"{}\":`{ ${t.map(s=>`${e.apiDescriptor.key(s)}: ${e.apiDescriptor.value(r[s])}`).join(\", \")} }`},pair:r=>{let{key:t,value:s}=r;return e.apiDescriptor.value({[t]:s})}};}}),vm=te({\"node_modules/vnopts/lib/descriptors/index.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=(Et(),ft(vt));r.__exportStar(Za(),e);}}),kr=te({\"scripts/build/shims/chalk.cjs\"(e,r){ne();var t=s=>s;t.grey=t,t.red=t,t.bold=t,t.yellow=t,t.blue=t,t.default=t,r.exports=t;}}),eo=te({\"node_modules/vnopts/lib/handlers/deprecated/common.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=kr();e.commonDeprecatedHandler=(t,s,a)=>{let{descriptor:n}=a,u=[`${r.default.yellow(typeof t==\"string\"?n.key(t):n.pair(t))} is deprecated`];return s&&u.push(`we now treat it as ${r.default.blue(typeof s==\"string\"?n.key(s):n.pair(s))}`),u.join(\"; \")+\".\"};}}),Cm=te({\"node_modules/vnopts/lib/handlers/deprecated/index.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=(Et(),ft(vt));r.__exportStar(eo(),e);}}),Em=te({\"node_modules/vnopts/lib/handlers/invalid/common.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=kr();e.commonInvalidHandler=(t,s,a)=>[`Invalid ${r.default.red(a.descriptor.key(t))} value.`,`Expected ${r.default.blue(a.schemas[t].expected(a))},`,`but received ${r.default.red(a.descriptor.value(s))}.`].join(\" \");}}),to=te({\"node_modules/vnopts/lib/handlers/invalid/index.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=(Et(),ft(vt));r.__exportStar(Em(),e);}}),Fm=te({\"node_modules/vnopts/node_modules/leven/index.js\"(e,r){ne();var t=[],s=[];r.exports=function(a,n){if(a===n)return 0;var u=a;a.length>n.length&&(a=n,n=u);var i=a.length,l=n.length;if(i===0)return l;if(l===0)return i;for(;i>0&&a.charCodeAt(~-i)===n.charCodeAt(~-l);)i--,l--;if(i===0)return l;for(var p=0;ph?c>h?h+1:c:c>g?g+1:c;return h};}}),ro=te({\"node_modules/vnopts/lib/handlers/unknown/leven.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=kr(),t=Fm();e.levenUnknownHandler=(s,a,n)=>{let{descriptor:u,logger:i,schemas:l}=n,p=[`Ignored unknown option ${r.default.yellow(u.pair({key:s,value:a}))}.`],y=Object.keys(l).sort().find(h=>t(s,h)<3);y&&p.push(`Did you mean ${r.default.blue(u.key(y))}?`),i.warn(p.join(\" \"));};}}),Am=te({\"node_modules/vnopts/lib/handlers/unknown/index.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=(Et(),ft(vt));r.__exportStar(ro(),e);}}),Sm=te({\"node_modules/vnopts/lib/handlers/index.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=(Et(),ft(vt));r.__exportStar(Cm(),e),r.__exportStar(to(),e),r.__exportStar(Am(),e);}}),Ft=te({\"node_modules/vnopts/lib/schema.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=[\"default\",\"expected\",\"validate\",\"deprecated\",\"forward\",\"redirect\",\"overlap\",\"preprocess\",\"postprocess\"];function t(n,u){let i=new n(u),l=Object.create(i);for(let p of r)p in u&&(l[p]=a(u[p],i,s.prototype[p].length));return l}e.createSchema=t;var s=class{constructor(n){this.name=n.name;}static create(n){return t(this,n)}default(n){}expected(n){return \"nothing\"}validate(n,u){return !1}deprecated(n,u){return !1}forward(n,u){}redirect(n,u){}overlap(n,u,i){return n}preprocess(n,u){return n}postprocess(n,u){return n}};e.Schema=s;function a(n,u,i){return typeof n==\"function\"?function(){for(var l=arguments.length,p=new Array(l),y=0;yn}}}),xm=te({\"node_modules/vnopts/lib/schemas/alias.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Ft(),t=class extends r.Schema{constructor(s){super(s),this._sourceName=s.sourceName;}expected(s){return s.schemas[this._sourceName].expected(s)}validate(s,a){return a.schemas[this._sourceName].validate(s,a)}redirect(s,a){return this._sourceName}};e.AliasSchema=t;}}),bm=te({\"node_modules/vnopts/lib/schemas/any.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Ft(),t=class extends r.Schema{expected(){return \"anything\"}validate(){return !0}};e.AnySchema=t;}}),Tm=te({\"node_modules/vnopts/lib/schemas/array.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=(Et(),ft(vt)),t=Ft(),s=class extends t.Schema{constructor(n){var{valueSchema:u,name:i=u.name}=n,l=r.__rest(n,[\"valueSchema\",\"name\"]);super(Object.assign({},l,{name:i})),this._valueSchema=u;}expected(n){return `an array of ${this._valueSchema.expected(n)}`}validate(n,u){if(!Array.isArray(n))return !1;let i=[];for(let l of n){let p=u.normalizeValidateResult(this._valueSchema.validate(l,u),l);p!==!0&&i.push(p.value);}return i.length===0?!0:{value:i}}deprecated(n,u){let i=[];for(let l of n){let p=u.normalizeDeprecatedResult(this._valueSchema.deprecated(l,u),l);p!==!1&&i.push(...p.map(y=>{let{value:h}=y;return {value:[h]}}));}return i}forward(n,u){let i=[];for(let l of n){let p=u.normalizeForwardResult(this._valueSchema.forward(l,u),l);i.push(...p.map(a));}return i}redirect(n,u){let i=[],l=[];for(let p of n){let y=u.normalizeRedirectResult(this._valueSchema.redirect(p,u),p);\"remain\"in y&&i.push(y.remain),l.push(...y.redirect.map(a));}return i.length===0?{redirect:l}:{redirect:l,remain:i}}overlap(n,u){return n.concat(u)}};e.ArraySchema=s;function a(n){let{from:u,to:i}=n;return {from:[u],to:i}}}}),Bm=te({\"node_modules/vnopts/lib/schemas/boolean.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Ft(),t=class extends r.Schema{expected(){return \"true or false\"}validate(s){return typeof s==\"boolean\"}};e.BooleanSchema=t;}}),eu=te({\"node_modules/vnopts/lib/utils.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});function r(c,f){let F=Object.create(null);for(let _ of c){let w=_[f];if(F[w])throw new Error(`Duplicate ${f} ${JSON.stringify(w)}`);F[w]=_;}return F}e.recordFromArray=r;function t(c,f){let F=new Map;for(let _ of c){let w=_[f];if(F.has(w))throw new Error(`Duplicate ${f} ${JSON.stringify(w)}`);F.set(w,_);}return F}e.mapFromArray=t;function s(){let c=Object.create(null);return f=>{let F=JSON.stringify(f);return c[F]?!0:(c[F]=!0,!1)}}e.createAutoChecklist=s;function a(c,f){let F=[],_=[];for(let w of c)f(w)?F.push(w):_.push(w);return [F,_]}e.partition=a;function n(c){return c===Math.floor(c)}e.isInt=n;function u(c,f){if(c===f)return 0;let F=typeof c,_=typeof f,w=[\"undefined\",\"object\",\"boolean\",\"number\",\"string\"];return F!==_?w.indexOf(F)-w.indexOf(_):F!==\"string\"?Number(c)-Number(f):c.localeCompare(f)}e.comparePrimitive=u;function i(c){return c===void 0?{}:c}e.normalizeDefaultResult=i;function l(c,f){return c===!0?!0:c===!1?{value:f}:c}e.normalizeValidateResult=l;function p(c,f){let F=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return c===!1?!1:c===!0?F?!0:[{value:f}]:\"value\"in c?[c]:c.length===0?!1:c}e.normalizeDeprecatedResult=p;function y(c,f){return typeof c==\"string\"||\"key\"in c?{from:f,to:c}:\"from\"in c?{from:c.from,to:c.to}:{from:f,to:c.to}}e.normalizeTransferResult=y;function h(c,f){return c===void 0?[]:Array.isArray(c)?c.map(F=>y(F,f)):[y(c,f)]}e.normalizeForwardResult=h;function g(c,f){let F=h(typeof c==\"object\"&&\"redirect\"in c?c.redirect:c,f);return F.length===0?{remain:f,redirect:F}:typeof c==\"object\"&&\"remain\"in c?{remain:c.remain,redirect:F}:{redirect:F}}e.normalizeRedirectResult=g;}}),Nm=te({\"node_modules/vnopts/lib/schemas/choice.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Ft(),t=eu(),s=class extends r.Schema{constructor(a){super(a),this._choices=t.mapFromArray(a.choices.map(n=>n&&typeof n==\"object\"?n:{value:n}),\"value\");}expected(a){let{descriptor:n}=a,u=Array.from(this._choices.keys()).map(p=>this._choices.get(p)).filter(p=>!p.deprecated).map(p=>p.value).sort(t.comparePrimitive).map(n.value),i=u.slice(0,-2),l=u.slice(-2);return i.concat(l.join(\" or \")).join(\", \")}validate(a){return this._choices.has(a)}deprecated(a){let n=this._choices.get(a);return n&&n.deprecated?{value:a}:!1}forward(a){let n=this._choices.get(a);return n?n.forward:void 0}redirect(a){let n=this._choices.get(a);return n?n.redirect:void 0}};e.ChoiceSchema=s;}}),no=te({\"node_modules/vnopts/lib/schemas/number.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Ft(),t=class extends r.Schema{expected(){return \"a number\"}validate(s,a){return typeof s==\"number\"}};e.NumberSchema=t;}}),wm=te({\"node_modules/vnopts/lib/schemas/integer.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=eu(),t=no(),s=class extends t.NumberSchema{expected(){return \"an integer\"}validate(a,n){return n.normalizeValidateResult(super.validate(a,n),a)===!0&&r.isInt(a)}};e.IntegerSchema=s;}}),_m=te({\"node_modules/vnopts/lib/schemas/string.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Ft(),t=class extends r.Schema{expected(){return \"a string\"}validate(s){return typeof s==\"string\"}};e.StringSchema=t;}}),Pm=te({\"node_modules/vnopts/lib/schemas/index.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=(Et(),ft(vt));r.__exportStar(xm(),e),r.__exportStar(bm(),e),r.__exportStar(Tm(),e),r.__exportStar(Bm(),e),r.__exportStar(Nm(),e),r.__exportStar(wm(),e),r.__exportStar(no(),e),r.__exportStar(_m(),e);}}),Im=te({\"node_modules/vnopts/lib/defaults.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Za(),t=eo(),s=to(),a=ro();e.defaultDescriptor=r.apiDescriptor,e.defaultUnknownHandler=a.levenUnknownHandler,e.defaultInvalidHandler=s.commonInvalidHandler,e.defaultDeprecatedHandler=t.commonDeprecatedHandler;}}),km=te({\"node_modules/vnopts/lib/normalize.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Im(),t=eu();e.normalize=(a,n,u)=>new s(n,u).normalize(a);var s=class{constructor(a,n){let{logger:u=console,descriptor:i=r.defaultDescriptor,unknown:l=r.defaultUnknownHandler,invalid:p=r.defaultInvalidHandler,deprecated:y=r.defaultDeprecatedHandler}=n||{};this._utils={descriptor:i,logger:u||{warn:()=>{}},schemas:t.recordFromArray(a,\"name\"),normalizeDefaultResult:t.normalizeDefaultResult,normalizeDeprecatedResult:t.normalizeDeprecatedResult,normalizeForwardResult:t.normalizeForwardResult,normalizeRedirectResult:t.normalizeRedirectResult,normalizeValidateResult:t.normalizeValidateResult},this._unknownHandler=l,this._invalidHandler=p,this._deprecatedHandler=y,this.cleanHistory();}cleanHistory(){this._hasDeprecationWarned=t.createAutoChecklist();}normalize(a){let n={},u=[a],i=()=>{for(;u.length!==0;){let l=u.shift(),p=this._applyNormalization(l,n);u.push(...p);}};i();for(let l of Object.keys(this._utils.schemas)){let p=this._utils.schemas[l];if(!(l in n)){let y=t.normalizeDefaultResult(p.default(this._utils));\"value\"in y&&u.push({[l]:y.value});}}i();for(let l of Object.keys(this._utils.schemas)){let p=this._utils.schemas[l];l in n&&(n[l]=p.postprocess(n[l],this._utils));}return n}_applyNormalization(a,n){let u=[],[i,l]=t.partition(Object.keys(a),p=>p in this._utils.schemas);for(let p of i){let y=this._utils.schemas[p],h=y.preprocess(a[p],this._utils),g=t.normalizeValidateResult(y.validate(h,this._utils),h);if(g!==!0){let{value:w}=g,E=this._invalidHandler(p,w,this._utils);throw typeof E==\"string\"?new Error(E):E}let c=w=>{let{from:E,to:N}=w;u.push(typeof N==\"string\"?{[N]:E}:{[N.key]:N.value});},f=w=>{let{value:E,redirectTo:N}=w,x=t.normalizeDeprecatedResult(y.deprecated(E,this._utils),h,!0);if(x!==!1)if(x===!0)this._hasDeprecationWarned(p)||this._utils.logger.warn(this._deprecatedHandler(p,N,this._utils));else for(let{value:I}of x){let P={key:p,value:I};if(!this._hasDeprecationWarned(P)){let $=typeof N==\"string\"?{key:N,value:I}:N;this._utils.logger.warn(this._deprecatedHandler(P,$,this._utils));}}};t.normalizeForwardResult(y.forward(h,this._utils),h).forEach(c);let _=t.normalizeRedirectResult(y.redirect(h,this._utils),h);if(_.redirect.forEach(c),\"remain\"in _){let w=_.remain;n[p]=p in n?y.overlap(n[p],w,this._utils):w,f({value:w});}for(let{from:w,to:E}of _.redirect)f({value:w,redirectTo:E});}for(let p of l){let y=a[p],h=this._unknownHandler(p,y,this._utils);if(h)for(let g of Object.keys(h)){let c={[g]:h[g]};g in this._utils.schemas?u.push(c):Object.assign(n,c);}}return u}};e.Normalizer=s;}}),Lm=te({\"node_modules/vnopts/lib/index.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=(Et(),ft(vt));r.__exportStar(vm(),e),r.__exportStar(Sm(),e),r.__exportStar(Pm(),e),r.__exportStar(km(),e),r.__exportStar(Ft(),e);}}),Om=te({\"src/main/options-normalizer.js\"(e,r){ne();var t=Lm(),s=lt(),a={key:g=>g.length===1?`-${g}`:`--${g}`,value:g=>t.apiDescriptor.value(g),pair:g=>{let{key:c,value:f}=g;return f===!1?`--no-${c}`:f===!0?a.key(c):f===\"\"?`${a.key(c)} without an argument`:`${a.key(c)}=${f}`}},n=g=>{let{colorsModule:c,levenshteinDistance:f}=g;return class extends t.ChoiceSchema{constructor(_){let{name:w,flags:E}=_;super({name:w,choices:E}),this._flags=[...E].sort();}preprocess(_,w){if(typeof _==\"string\"&&_.length>0&&!this._flags.includes(_)){let E=this._flags.find(N=>f(N,_)<3);if(E)return w.logger.warn([`Unknown flag ${c.yellow(w.descriptor.value(_))},`,`did you mean ${c.blue(w.descriptor.value(E))}?`].join(\" \")),E}return _}expected(){return \"a flag\"}}},u;function i(g,c){let{logger:f=!1,isCLI:F=!1,passThrough:_=!1,colorsModule:w=null,levenshteinDistance:E=null}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},N=_?Array.isArray(_)?(T,m)=>_.includes(T)?{[T]:m}:void 0:(T,m)=>({[T]:m}):(T,m,C)=>{let o=C.schemas,v=Hn(o,vD);return t.levenUnknownHandler(T,m,Object.assign(Object.assign({},C),{},{schemas:v}))},x=F?a:t.apiDescriptor,I=l(c,{isCLI:F,colorsModule:w,levenshteinDistance:E}),P=new t.Normalizer(I,{logger:f,unknown:N,descriptor:x}),$=f!==!1;$&&u&&(P._hasDeprecationWarned=u);let D=P.normalize(g);return $&&(u=P._hasDeprecationWarned),F&&D[\"plugin-search\"]===!1&&(D[\"plugin-search-dir\"]=!1),D}function l(g,c){let{isCLI:f,colorsModule:F,levenshteinDistance:_}=c,w=[];f&&w.push(t.AnySchema.create({name:\"_\"}));for(let E of g)w.push(p(E,{isCLI:f,optionInfos:g,colorsModule:F,levenshteinDistance:_})),E.alias&&f&&w.push(t.AliasSchema.create({name:E.alias,sourceName:E.name}));return w}function p(g,c){let{isCLI:f,optionInfos:F,colorsModule:_,levenshteinDistance:w}=c,{name:E}=g;if(E===\"plugin-search-dir\"||E===\"pluginSearchDirs\")return t.AnySchema.create({name:E,preprocess(P){return P===!1||(P=Array.isArray(P)?P:[P]),P},validate(P){return P===!1?!0:P.every($=>typeof $==\"string\")},expected(){return \"false or paths to plugin search dir\"}});let N={name:E},x,I={};switch(g.type){case\"int\":x=t.IntegerSchema,f&&(N.preprocess=Number);break;case\"string\":x=t.StringSchema;break;case\"choice\":x=t.ChoiceSchema,N.choices=g.choices.map(P=>typeof P==\"object\"&&P.redirect?Object.assign(Object.assign({},P),{},{redirect:{to:{key:g.name,value:P.redirect}}}):P);break;case\"boolean\":x=t.BooleanSchema;break;case\"flag\":x=n({colorsModule:_,levenshteinDistance:w}),N.flags=F.flatMap(P=>[P.alias,P.description&&P.name,P.oppositeDescription&&`no-${P.name}`].filter(Boolean));break;case\"path\":x=t.StringSchema;break;default:throw new Error(`Unexpected type ${g.type}`)}if(g.exception?N.validate=(P,$,D)=>g.exception(P)||$.validate(P,D):N.validate=(P,$,D)=>P===void 0||$.validate(P,D),g.redirect&&(I.redirect=P=>P?{to:{key:g.redirect.option,value:g.redirect.value}}:void 0),g.deprecated&&(I.deprecated=!0),f&&!g.array){let P=N.preprocess||($=>$);N.preprocess=($,D,T)=>D.preprocess(P(Array.isArray($)?s($):$),T);}return g.array?t.ArraySchema.create(Object.assign(Object.assign(Object.assign({},f?{preprocess:P=>Array.isArray(P)?P:[P]}:{}),I),{},{valueSchema:x.create(N)})):x.create(Object.assign(Object.assign({},N),I))}function y(g,c,f){return i(g,c,f)}function h(g,c,f){return i(g,c,Object.assign({isCLI:!0},f))}r.exports={normalizeApiOptions:y,normalizeCliOptions:h};}}),ut=te({\"src/language-js/loc.js\"(e,r){ne();var t=Kn();function s(l){var p,y;let h=l.range?l.range[0]:l.start,g=(p=(y=l.declaration)===null||y===void 0?void 0:y.decorators)!==null&&p!==void 0?p:l.decorators;return t(g)?Math.min(s(g[0]),h):h}function a(l){return l.range?l.range[1]:l.end}function n(l,p){let y=s(l);return Number.isInteger(y)&&y===s(p)}function u(l,p){let y=a(l);return Number.isInteger(y)&&y===a(p)}function i(l,p){return n(l,p)&&u(l,p)}r.exports={locStart:s,locEnd:a,hasSameLocStart:n,hasSameLoc:i};}}),jm=te({\"src/main/load-parser.js\"(e,r){ne(),r.exports=()=>{};}}),qm=te({\"scripts/build/shims/babel-highlight.cjs\"(e,r){ne();var t=kr(),s={shouldHighlight:()=>!1,getChalk:()=>t};r.exports=s;}}),Mm=te({\"node_modules/@babel/code-frame/lib/index.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0}),e.codeFrameColumns=u,e.default=i;var r=qm(),t=!1;function s(l){return {gutter:l.grey,marker:l.red.bold,message:l.red.bold}}var a=/\\r\\n|[\\n\\r\\u2028\\u2029]/;function n(l,p,y){let h=Object.assign({column:0,line:-1},l.start),g=Object.assign({},h,l.end),{linesAbove:c=2,linesBelow:f=3}=y||{},F=h.line,_=h.column,w=g.line,E=g.column,N=Math.max(F-(c+1),0),x=Math.min(p.length,w+f);F===-1&&(N=0),w===-1&&(x=p.length);let I=w-F,P={};if(I)for(let $=0;$<=I;$++){let D=$+F;if(!_)P[D]=!0;else if($===0){let T=p[D-1].length;P[D]=[_,T-_+1];}else if($===I)P[D]=[0,E];else {let T=p[D-$].length;P[D]=[0,T];}}else _===E?_?P[F]=[_,0]:P[F]=!0:P[F]=[_,E-_];return {start:N,end:x,markerLines:P}}function u(l,p){let y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},h=(y.highlightCode||y.forceColor)&&(0, r.shouldHighlight)(y),g=(0, r.getChalk)(y),c=s(g),f=($,D)=>h?$(D):D,F=l.split(a),{start:_,end:w,markerLines:E}=n(p,F,y),N=p.start&&typeof p.start.column==\"number\",x=String(w).length,P=(h?(0, r.default)(l,y):l).split(a,w).slice(_,w).map(($,D)=>{let T=_+1+D,C=` ${` ${T}`.slice(-x)} |`,o=E[T],d=!E[T+1];if(o){let v=\"\";if(Array.isArray(o)){let S=$.slice(0,Math.max(o[0]-1,0)).replace(/[^\\t]/g,\" \"),b=o[1]||1;v=[`\n `,f(c.gutter,C.replace(/\\d/g,\" \")),\" \",S,f(c.marker,\"^\").repeat(b)].join(\"\"),d&&y.message&&(v+=\" \"+f(c.message,y.message));}return [f(c.marker,\">\"),f(c.gutter,C),$.length>0?` ${$}`:\"\",v].join(\"\")}else return ` ${f(c.gutter,C)}${$.length>0?` ${$}`:\"\"}`}).join(`\n`);return y.message&&!N&&(P=`${\" \".repeat(x+1)}${y.message}\n${P}`),h?g.reset(P):P}function i(l,p,y){let h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(!t){t=!0;let c=\"Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.\";if(wt.emitWarning)wt.emitWarning(c,\"DeprecationWarning\");else {let f=new Error(c);f.name=\"DeprecationWarning\",console.warn(new Error(c));}}return y=Math.max(y,0),u(l,{start:{column:y,line:p}},h)}}}),tu=te({\"src/main/parser.js\"(e,r){ne();var {ConfigError:t}=Qt(),s=ut();jm();var {locStart:n,locEnd:u}=s,i=Object.getOwnPropertyNames,l=Object.getOwnPropertyDescriptor;function p(g){let c={};for(let f of g.plugins)if(f.parsers)for(let F of i(f.parsers))Object.defineProperty(c,F,l(f.parsers,F));return c}function y(g){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p(g);if(typeof g.parser==\"function\")return {parse:g.parser,astFormat:\"estree\",locStart:n,locEnd:u};if(typeof g.parser==\"string\"){if(Object.prototype.hasOwnProperty.call(c,g.parser))return c[g.parser];throw new t(`Couldn't resolve parser \"${g.parser}\". Parsers must be explicitly added to the standalone bundle.`)}}function h(g,c){let f=p(c),F=Object.defineProperties({},Object.fromEntries(Object.keys(f).map(w=>[w,{enumerable:!0,get(){return f[w].parse}}]))),_=y(c,f);try{return _.preprocess&&(g=_.preprocess(g,c)),{text:g,ast:_.parse(g,F,c)}}catch(w){let{loc:E}=w;if(E){let{codeFrameColumns:N}=Mm();throw w.codeFrame=N(g,E,{highlightCode:!0}),w.message+=`\n`+w.codeFrame,w}throw w}}r.exports={parse:h,resolveParser:y};}}),uo=te({\"src/main/options.js\"(e,r){ne();var t=ZD(),{UndefinedParserError:s}=Qt(),{getSupportInfo:a}=Xn(),n=Om(),{resolveParser:u}=tu(),i={astFormat:\"estree\",printer:{},originalText:void 0,locStart:null,locEnd:null};function l(h){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},c=Object.assign({},h),f=a({plugins:h.plugins,showUnreleased:!0,showDeprecated:!0}).options,F=Object.assign(Object.assign({},i),Object.fromEntries(f.filter(x=>x.default!==void 0).map(x=>[x.name,x.default])));if(!c.parser){if(!c.filepath)(g.logger||console).warn(\"No parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred.\"),c.parser=\"babel\";else if(c.parser=y(c.filepath,c.plugins),!c.parser)throw new s(`No parser could be inferred for file: ${c.filepath}`)}let _=u(n.normalizeApiOptions(c,[f.find(x=>x.name===\"parser\")],{passThrough:!0,logger:!1}));c.astFormat=_.astFormat,c.locEnd=_.locEnd,c.locStart=_.locStart;let w=p(c);c.printer=w.printers[c.astFormat];let E=Object.fromEntries(f.filter(x=>x.pluginDefaults&&x.pluginDefaults[w.name]!==void 0).map(x=>[x.name,x.pluginDefaults[w.name]])),N=Object.assign(Object.assign({},F),E);for(let[x,I]of Object.entries(N))(c[x]===null||c[x]===void 0)&&(c[x]=I);return c.parser===\"json\"&&(c.trailingComma=\"none\"),n.normalizeApiOptions(c,f,Object.assign({passThrough:Object.keys(i)},g))}function p(h){let{astFormat:g}=h;if(!g)throw new Error(\"getPlugin() requires astFormat to be set\");let c=h.plugins.find(f=>f.printers&&f.printers[g]);if(!c)throw new Error(`Couldn't find plugin for AST format \"${g}\"`);return c}function y(h,g){let c=t.basename(h).toLowerCase(),F=a({plugins:g}).languages.filter(_=>_.since!==null).find(_=>_.extensions&&_.extensions.some(w=>c.endsWith(w))||_.filenames&&_.filenames.some(w=>w.toLowerCase()===c));return F&&F.parsers[0]}r.exports={normalize:l,hiddenDefaults:i,inferParser:y};}}),Rm=te({\"src/main/massage-ast.js\"(e,r){ne();function t(s,a,n){if(Array.isArray(s))return s.map(p=>t(p,a,n)).filter(Boolean);if(!s||typeof s!=\"object\")return s;let u=a.printer.massageAstNode,i;u&&u.ignoredProperties?i=u.ignoredProperties:i=new Set;let l={};for(let[p,y]of Object.entries(s))!i.has(p)&&typeof y!=\"function\"&&(l[p]=t(y,a,s));if(u){let p=u(s,l,n);if(p===null)return;if(p)return p}return l}r.exports=t;}}),Zt=te({\"scripts/build/shims/assert.cjs\"(e,r){ne();var t=()=>{};t.ok=t,t.strictEqual=t,r.exports=t;}}),et=te({\"src/main/comments.js\"(e,r){ne();var t=Zt(),{builders:{line:s,hardline:a,breakParent:n,indent:u,lineSuffix:i,join:l,cursor:p}}=qe(),{hasNewline:y,skipNewline:h,skipSpaces:g,isPreviousLineEmpty:c,addLeadingComment:f,addDanglingComment:F,addTrailingComment:_}=Ue(),w=new WeakMap;function E(k,M,R){if(!k)return;let{printer:q,locStart:J,locEnd:L}=M;if(R){if(q.canAttachComment&&q.canAttachComment(k)){let V;for(V=R.length-1;V>=0&&!(J(R[V])<=J(k)&&L(R[V])<=L(k));--V);R.splice(V+1,0,k);return}}else if(w.has(k))return w.get(k);let Q=q.getCommentChildNodes&&q.getCommentChildNodes(k,M)||typeof k==\"object\"&&Object.entries(k).filter(V=>{let[j]=V;return j!==\"enclosingNode\"&&j!==\"precedingNode\"&&j!==\"followingNode\"&&j!==\"tokens\"&&j!==\"comments\"&&j!==\"parent\"}).map(V=>{let[,j]=V;return j});if(Q){R||(R=[],w.set(k,R));for(let V of Q)E(V,M,R);return R}}function N(k,M,R,q){let{locStart:J,locEnd:L}=R,Q=J(M),V=L(M),j=E(k,R),Y,ie,ee=0,ce=j.length;for(;ee>1,K=j[W],de=J(K),ue=L(K);if(de<=Q&&V<=ue)return N(K,M,R,K);if(ue<=Q){Y=K,ee=W+1;continue}if(V<=de){ie=K,ce=W;continue}throw new Error(\"Comment location overlaps with node location\")}if(q&&q.type===\"TemplateLiteral\"){let{quasis:W}=q,K=C(W,M,R);Y&&C(W,Y,R)!==K&&(Y=null),ie&&C(W,ie,R)!==K&&(ie=null);}return {enclosingNode:q,precedingNode:Y,followingNode:ie}}var x=()=>!1;function I(k,M,R,q){if(!Array.isArray(k))return;let J=[],{locStart:L,locEnd:Q,printer:{handleComments:V={}}}=q,{avoidAstMutation:j,ownLine:Y=x,endOfLine:ie=x,remaining:ee=x}=V,ce=k.map((W,K)=>Object.assign(Object.assign({},N(M,W,q)),{},{comment:W,text:R,options:q,ast:M,isLastComment:k.length-1===K}));for(let[W,K]of ce.entries()){let{comment:de,precedingNode:ue,enclosingNode:Fe,followingNode:z,text:U,options:Z,ast:se,isLastComment:fe}=K;if(Z.parser===\"json\"||Z.parser===\"json5\"||Z.parser===\"__js_expression\"||Z.parser===\"__vue_expression\"||Z.parser===\"__vue_ts_expression\"){if(L(de)-L(se)<=0){f(se,de);continue}if(Q(de)-Q(se)>=0){_(se,de);continue}}let ge;if(j?ge=[K]:(de.enclosingNode=Fe,de.precedingNode=ue,de.followingNode=z,ge=[de,U,Z,se,fe]),$(U,Z,ce,W))de.placement=\"ownLine\",Y(...ge)||(z?f(z,de):ue?_(ue,de):F(Fe||se,de));else if(D(U,Z,ce,W))de.placement=\"endOfLine\",ie(...ge)||(ue?_(ue,de):z?f(z,de):F(Fe||se,de));else if(de.placement=\"remaining\",!ee(...ge))if(ue&&z){let he=J.length;he>0&&J[he-1].followingNode!==z&&T(J,U,Z),J.push(K);}else ue?_(ue,de):z?f(z,de):F(Fe||se,de);}if(T(J,R,q),!j)for(let W of k)delete W.precedingNode,delete W.enclosingNode,delete W.followingNode;}var P=k=>!/[\\S\\n\\u2028\\u2029]/.test(k);function $(k,M,R,q){let{comment:J,precedingNode:L}=R[q],{locStart:Q,locEnd:V}=M,j=Q(J);if(L)for(let Y=q-1;Y>=0;Y--){let{comment:ie,precedingNode:ee}=R[Y];if(ee!==L||!P(k.slice(V(ie),j)))break;j=Q(ie);}return y(k,j,{backwards:!0})}function D(k,M,R,q){let{comment:J,followingNode:L}=R[q],{locStart:Q,locEnd:V}=M,j=V(J);if(L)for(let Y=q+1;Y0;--Y){let{comment:ie,precedingNode:ee,followingNode:ce}=k[Y-1];t.strictEqual(ee,J),t.strictEqual(ce,L);let W=M.slice(R.locEnd(ie),j);if(V.test(W))j=R.locStart(ie);else break}for(let[ie,{comment:ee}]of k.entries())ie1&&ie.comments.sort((ee,ce)=>R.locStart(ee)-R.locStart(ce));k.length=0;}function m(k,M){let R=k.getValue();return R.printed=!0,M.printer.printComment(k,M)}function C(k,M,R){let q=R.locStart(M)-1;for(let J=1;J{let Q=k.getValue();!Q.leading&&!Q.trailing&&(!q||q(Q))&&J.push(m(k,M));},\"comments\"),J.length===0)?\"\":R?l(a,J):u([a,l(a,J)])}function S(k,M,R){let q=k.getValue();if(!q)return {};let J=q.comments||[];R&&(J=J.filter(j=>!R.has(j)));let L=q===M.cursorNode;if(J.length===0){let j=L?p:\"\";return {leading:j,trailing:j}}let Q=[],V=[];return k.each(()=>{let j=k.getValue();if(R&&R.has(j))return;let{leading:Y,trailing:ie}=j;Y?Q.push(o(k,M)):ie&&V.push(d(k,M));},\"comments\"),L&&(Q.unshift(p),V.push(p)),{leading:Q,trailing:V}}function b(k,M,R,q){let{leading:J,trailing:L}=S(k,R,q);return !J&&!L?M:[J,M,L]}function B(k){if(k)for(let M of k){if(!M.printed)throw new Error('Comment \"'+M.value.trim()+'\" was not printed. Please report this error!');delete M.printed;}}r.exports={attach:I,printComments:b,printCommentsSeparately:S,printDanglingComments:v,getSortedChildNodes:E,ensureAllCommentsPrinted:B};}}),$m=te({\"src/common/ast-path.js\"(e,r){ne();var t=lt();function s(u,i){let l=a(u.stack,i);return l===-1?null:u.stack[l]}function a(u,i){for(let l=u.length-1;l>=0;l-=2){let p=u[l];if(p&&!Array.isArray(p)&&--i<0)return l}return -1}var n=class{constructor(u){this.stack=[u];}getName(){let{stack:u}=this,{length:i}=u;return i>1?u[i-2]:null}getValue(){return t(this.stack)}getNode(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return s(this,u)}getParentNode(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return s(this,u+1)}call(u){let{stack:i}=this,{length:l}=i,p=t(i);for(var y=arguments.length,h=new Array(y>1?y-1:0),g=1;g1&&arguments[1]!==void 0?arguments[1]:0,l=a(this.stack,i+1),p=this.stack.splice(l+1),y=u(this);return this.stack.push(...p),y}each(u){let{stack:i}=this,{length:l}=i,p=t(i);for(var y=arguments.length,h=new Array(y>1?y-1:0),g=1;g1?l-1:0),y=1;y{i[g]=u(h,g,c);},...p),i}try(u){let{stack:i}=this,l=[...i];try{return u()}finally{i.length=0,i.push(...l);}}match(){let u=this.stack.length-1,i=null,l=this.stack[u--];for(var p=arguments.length,y=new Array(p),h=0;hu(h,g,p,y,c),p)}function u(i,l,p,y){let{stripTrailingHardline:h=!1}=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{},g=s(Object.assign(Object.assign(Object.assign({},p),l),{},{parentParser:p.parser,originalText:i}),{passThrough:!0}),c=tu().parse(i,g),{ast:f}=c;i=c.text;let F=f.comments;delete f.comments,a.attach(F,f,i,g),g[Symbol.for(\"comments\")]=F||[],g[Symbol.for(\"tokens\")]=f.tokens||[];let _=y(f,g);return a.ensureAllCommentsPrinted(F),h?typeof _==\"string\"?_.replace(/(?:\\r?\\n)*$/,\"\"):t(_):_}r.exports={printSubtree:n};}}),Wm=te({\"src/main/ast-to-doc.js\"(e,r){ne();var t=$m(),{builders:{hardline:s,addAlignmentToDoc:a},utils:{propagateBreaks:n}}=qe(),{printComments:u}=et(),i=Vm();function l(h,g){let c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,{printer:f}=g;f.preprocess&&(h=f.preprocess(h,g));let F=new Map,_=new t(h),w=E();return c>0&&(w=a([s,w],c,g.tabWidth)),n(w),w;function E(x,I){return x===void 0||x===_?N(I):Array.isArray(x)?_.call(()=>N(I),...x):_.call(()=>N(I),x)}function N(x){let I=_.getValue(),P=I&&typeof I==\"object\"&&x===void 0;if(P&&F.has(I))return F.get(I);let $=y(_,g,E,x);return P&&F.set(I,$),$}}function p(h,g){let{originalText:c,[Symbol.for(\"comments\")]:f,locStart:F,locEnd:_}=g,w=F(h),E=_(h),N=new Set;for(let x of f)F(x)>=w&&_(x)<=E&&(x.printed=!0,N.add(x));return {doc:c.slice(w,E),printedComments:N}}function y(h,g,c,f){let F=h.getValue(),{printer:_}=g,w,E;if(_.hasPrettierIgnore&&_.hasPrettierIgnore(h))({doc:w,printedComments:E}=p(F,g));else {if(F)try{w=i.printSubtree(h,c,g,l);}catch(N){if(globalThis.PRETTIER_DEBUG)throw N}w||(w=_.print(h,g,c,f));}return (!_.willPrintOwnComments||!_.willPrintOwnComments(h,g))&&(w=u(h,w,g,E)),w}r.exports=l;}}),Hm=te({\"src/main/range-util.js\"(e,r){ne();var t=Zt(),s=et(),a=f=>{let{parser:F}=f;return F===\"json\"||F===\"json5\"||F===\"json-stringify\"};function n(f,F){let _=[f.node,...f.parentNodes],w=new Set([F.node,...F.parentNodes]);return _.find(E=>y.has(E.type)&&w.has(E))}function u(f){let F=f.length-1;for(;;){let _=f[F];if(_&&(_.type===\"Program\"||_.type===\"File\"))F--;else break}return f.slice(0,F+1)}function i(f,F,_){let{locStart:w,locEnd:E}=_,N=f.node,x=F.node;if(N===x)return {startNode:N,endNode:x};let I=w(f.node);for(let $ of u(F.parentNodes))if(w($)>=I)x=$;else break;let P=E(F.node);for(let $ of u(f.parentNodes)){if(E($)<=P)N=$;else break;if(N===x)break}return {startNode:N,endNode:x}}function l(f,F,_,w){let E=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],N=arguments.length>5?arguments[5]:void 0,{locStart:x,locEnd:I}=_,P=x(f),$=I(f);if(!(F>$||Fw);let I=f.slice(w,E).search(/\\S/),P=I===-1;if(!P)for(w+=I;E>w&&!/\\S/.test(f[E-1]);--E);let $=l(_,w,F,(C,o)=>g(F,C,o),[],\"rangeStart\"),D=P?$:l(_,E,F,C=>g(F,C),[],\"rangeEnd\");if(!$||!D)return {rangeStart:0,rangeEnd:0};let T,m;if(a(F)){let C=n($,D);T=C,m=C;}else ({startNode:T,endNode:m}=i($,D,F));return {rangeStart:Math.min(N(T),N(m)),rangeEnd:Math.max(x(T),x(m))}}r.exports={calculateRange:c,findNodeAtOffset:l};}}),Gm=te({\"src/main/core.js\"(e,r){ne();var{diffArrays:t}=BD(),{printer:{printDocToString:s},debug:{printDocToDebug:a}}=qe(),{getAlignmentSize:n}=Ue(),{guessEndOfLine:u,convertEndOfLineToChars:i,countEndOfLineChars:l,normalizeEndOfLine:p}=Jn(),y=uo().normalize,h=Rm(),g=et(),c=tu(),f=Wm(),F=Hm(),_=\"\\uFEFF\",w=Symbol(\"cursor\");function E(m,C,o){let d=C.comments;return d&&(delete C.comments,g.attach(d,C,m,o)),o[Symbol.for(\"comments\")]=d||[],o[Symbol.for(\"tokens\")]=C.tokens||[],o.originalText=m,d}function N(m,C){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(!m||m.trim().length===0)return {formatted:\"\",cursorOffset:-1,comments:[]};let{ast:d,text:v}=c.parse(m,C);if(C.cursorOffset>=0){let k=F.findNodeAtOffset(d,C.cursorOffset,C);k&&k.node&&(C.cursorNode=k.node);}let S=E(v,d,C),b=f(d,C,o),B=s(b,C);if(g.ensureAllCommentsPrinted(S),o>0){let k=B.formatted.trim();B.cursorNodeStart!==void 0&&(B.cursorNodeStart-=B.formatted.indexOf(k)),B.formatted=k+i(C.endOfLine);}if(C.cursorOffset>=0){let k,M,R,q,J;if(C.cursorNode&&B.cursorNodeText?(k=C.locStart(C.cursorNode),M=v.slice(k,C.locEnd(C.cursorNode)),R=C.cursorOffset-k,q=B.cursorNodeStart,J=B.cursorNodeText):(k=0,M=v,R=C.cursorOffset,q=0,J=B.formatted),M===J)return {formatted:B.formatted,cursorOffset:q+R,comments:S};let L=[...M];L.splice(R,0,w);let Q=[...J],V=t(L,Q),j=q;for(let Y of V)if(Y.removed){if(Y.value.includes(w))break}else j+=Y.count;return {formatted:B.formatted,cursorOffset:j,comments:S}}return {formatted:B.formatted,cursorOffset:-1,comments:S}}function x(m,C){let{ast:o,text:d}=c.parse(m,C),{rangeStart:v,rangeEnd:S}=F.calculateRange(d,C,o),b=d.slice(v,S),B=Math.min(v,d.lastIndexOf(`\n`,v)+1),k=d.slice(B,v).match(/^\\s*/)[0],M=n(k,C.tabWidth),R=N(b,Object.assign(Object.assign({},C),{},{rangeStart:0,rangeEnd:Number.POSITIVE_INFINITY,cursorOffset:C.cursorOffset>v&&C.cursorOffset<=S?C.cursorOffset-v:-1,endOfLine:\"lf\"}),M),q=R.formatted.trimEnd(),{cursorOffset:J}=C;J>S?J+=q.length-b.length:R.cursorOffset>=0&&(J=R.cursorOffset+v);let L=d.slice(0,v)+q+d.slice(S);if(C.endOfLine!==\"lf\"){let Q=i(C.endOfLine);J>=0&&Q===`\\r\n`&&(J+=l(L.slice(0,J),`\n`)),L=L.replace(/\\n/g,Q);}return {formatted:L,cursorOffset:J,comments:R.comments}}function I(m,C,o){return typeof C!=\"number\"||Number.isNaN(C)||C<0||C>m.length?o:C}function P(m,C){let{cursorOffset:o,rangeStart:d,rangeEnd:v}=C;return o=I(m,o,-1),d=I(m,d,0),v=I(m,v,m.length),Object.assign(Object.assign({},C),{},{cursorOffset:o,rangeStart:d,rangeEnd:v})}function $(m,C){let{cursorOffset:o,rangeStart:d,rangeEnd:v,endOfLine:S}=P(m,C),b=m.charAt(0)===_;if(b&&(m=m.slice(1),o--,d--,v--),S===\"auto\"&&(S=u(m)),m.includes(\"\\r\")){let B=k=>l(m.slice(0,Math.max(k,0)),`\\r\n`);o-=B(o),d-=B(d),v-=B(v),m=p(m);}return {hasBOM:b,text:m,options:P(m,Object.assign(Object.assign({},C),{},{cursorOffset:o,rangeStart:d,rangeEnd:v,endOfLine:S}))}}function D(m,C){let o=c.resolveParser(C);return !o.hasPragma||o.hasPragma(m)}function T(m,C){let{hasBOM:o,text:d,options:v}=$(m,y(C));if(v.rangeStart>=v.rangeEnd&&d!==\"\"||v.requirePragma&&!D(d,v))return {formatted:m,cursorOffset:C.cursorOffset,comments:[]};let S;return v.rangeStart>0||v.rangeEnd=0&&S.cursorOffset++),S}r.exports={formatWithCursor:T,parse(m,C,o){let{text:d,options:v}=$(m,y(C)),S=c.parse(d,v);return o&&(S.ast=h(S.ast,v)),S},formatAST(m,C){C=y(C);let o=f(m,C);return s(o,C)},formatDoc(m,C){return T(a(m),Object.assign(Object.assign({},C),{},{parser:\"__js_expression\"})).formatted},printToDoc(m,C){C=y(C);let{ast:o,text:d}=c.parse(m,C);return E(d,o,C),f(o,C)},printDocToString(m,C){return s(m,y(C))}};}}),Um=te({\"src/common/util-shared.js\"(e,r){ne();var{getMaxContinuousCount:t,getStringWidth:s,getAlignmentSize:a,getIndentSize:n,skip:u,skipWhitespace:i,skipSpaces:l,skipNewline:p,skipToLineEnd:y,skipEverythingButNewLine:h,skipInlineComment:g,skipTrailingComment:c,hasNewline:f,hasNewlineInRange:F,hasSpaces:_,isNextLineEmpty:w,isNextLineEmptyAfterIndex:E,isPreviousLineEmpty:N,getNextNonSpaceNonCommentCharacterIndex:x,makeString:I,addLeadingComment:P,addDanglingComment:$,addTrailingComment:D}=Ue();r.exports={getMaxContinuousCount:t,getStringWidth:s,getAlignmentSize:a,getIndentSize:n,skip:u,skipWhitespace:i,skipSpaces:l,skipNewline:p,skipToLineEnd:y,skipEverythingButNewLine:h,skipInlineComment:g,skipTrailingComment:c,hasNewline:f,hasNewlineInRange:F,hasSpaces:_,isNextLineEmpty:w,isNextLineEmptyAfterIndex:E,isPreviousLineEmpty:N,getNextNonSpaceNonCommentCharacterIndex:x,makeString:I,addLeadingComment:P,addDanglingComment:$,addTrailingComment:D};}}),_t=te({\"src/utils/create-language.js\"(e,r){ne(),r.exports=function(t,s){let{languageId:a}=t,n=Hn(t,CD);return Object.assign(Object.assign({linguistLanguageId:a},n),s(t))};}}),Jm=te({\"node_modules/esutils/lib/ast.js\"(e,r){ne(),function(){function t(l){if(l==null)return !1;switch(l.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return !0}return !1}function s(l){if(l==null)return !1;switch(l.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return !0}return !1}function a(l){if(l==null)return !1;switch(l.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return !0}return !1}function n(l){return a(l)||l!=null&&l.type===\"FunctionDeclaration\"}function u(l){switch(l.type){case\"IfStatement\":return l.alternate!=null?l.alternate:l.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return l.body}return null}function i(l){var p;if(l.type!==\"IfStatement\"||l.alternate==null)return !1;p=l.consequent;do{if(p.type===\"IfStatement\"&&p.alternate==null)return !0;p=u(p);}while(p);return !1}r.exports={isExpression:t,isStatement:a,isIterationStatement:s,isSourceElement:n,isProblematicIfStatement:i,trailingStatement:u};}();}}),so=te({\"node_modules/esutils/lib/code.js\"(e,r){ne(),function(){var t,s,a,n,u,i;s={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},t={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/};function l(E){return 48<=E&&E<=57}function p(E){return 48<=E&&E<=57||97<=E&&E<=102||65<=E&&E<=70}function y(E){return E>=48&&E<=55}a=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];function h(E){return E===32||E===9||E===11||E===12||E===160||E>=5760&&a.indexOf(E)>=0}function g(E){return E===10||E===13||E===8232||E===8233}function c(E){if(E<=65535)return String.fromCharCode(E);var N=String.fromCharCode(Math.floor((E-65536)/1024)+55296),x=String.fromCharCode((E-65536)%1024+56320);return N+x}for(n=new Array(128),i=0;i<128;++i)n[i]=i>=97&&i<=122||i>=65&&i<=90||i===36||i===95;for(u=new Array(128),i=0;i<128;++i)u[i]=i>=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||i===36||i===95;function f(E){return E<128?n[E]:s.NonAsciiIdentifierStart.test(c(E))}function F(E){return E<128?u[E]:s.NonAsciiIdentifierPart.test(c(E))}function _(E){return E<128?n[E]:t.NonAsciiIdentifierStart.test(c(E))}function w(E){return E<128?u[E]:t.NonAsciiIdentifierPart.test(c(E))}r.exports={isDecimalDigit:l,isHexDigit:p,isOctalDigit:y,isWhiteSpace:h,isLineTerminator:g,isIdentifierStartES5:f,isIdentifierPartES5:F,isIdentifierStartES6:_,isIdentifierPartES6:w};}();}}),zm=te({\"node_modules/esutils/lib/keyword.js\"(e,r){ne(),function(){var t=so();function s(f){switch(f){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return !0;default:return !1}}function a(f,F){return !F&&f===\"yield\"?!1:n(f,F)}function n(f,F){if(F&&s(f))return !0;switch(f.length){case 2:return f===\"if\"||f===\"in\"||f===\"do\";case 3:return f===\"var\"||f===\"for\"||f===\"new\"||f===\"try\";case 4:return f===\"this\"||f===\"else\"||f===\"case\"||f===\"void\"||f===\"with\"||f===\"enum\";case 5:return f===\"while\"||f===\"break\"||f===\"catch\"||f===\"throw\"||f===\"const\"||f===\"yield\"||f===\"class\"||f===\"super\";case 6:return f===\"return\"||f===\"typeof\"||f===\"delete\"||f===\"switch\"||f===\"export\"||f===\"import\";case 7:return f===\"default\"||f===\"finally\"||f===\"extends\";case 8:return f===\"function\"||f===\"continue\"||f===\"debugger\";case 10:return f===\"instanceof\";default:return !1}}function u(f,F){return f===\"null\"||f===\"true\"||f===\"false\"||a(f,F)}function i(f,F){return f===\"null\"||f===\"true\"||f===\"false\"||n(f,F)}function l(f){return f===\"eval\"||f===\"arguments\"}function p(f){var F,_,w;if(f.length===0||(w=f.charCodeAt(0),!t.isIdentifierStartES5(w)))return !1;for(F=1,_=f.length;F<_;++F)if(w=f.charCodeAt(F),!t.isIdentifierPartES5(w))return !1;return !0}function y(f,F){return (f-55296)*1024+(F-56320)+65536}function h(f){var F,_,w,E,N;if(f.length===0)return !1;for(N=t.isIdentifierStartES6,F=0,_=f.length;F<_;++F){if(w=f.charCodeAt(F),55296<=w&&w<=56319){if(++F,F>=_||(E=f.charCodeAt(F),!(56320<=E&&E<=57343)))return !1;w=y(w,E);}if(!N(w))return !1;N=t.isIdentifierPartES6;}return !0}function g(f,F){return p(f)&&!u(f,F)}function c(f,F){return h(f)&&!i(f,F)}r.exports={isKeywordES5:a,isKeywordES6:n,isReservedWordES5:u,isReservedWordES6:i,isRestrictedWord:l,isIdentifierNameES5:p,isIdentifierNameES6:h,isIdentifierES5:g,isIdentifierES6:c};}();}}),Xm=te({\"node_modules/esutils/lib/utils.js\"(e){ne(),function(){e.ast=Jm(),e.code=so(),e.keyword=zm();}();}}),Pt=te({\"src/language-js/utils/is-block-comment.js\"(e,r){ne();var t=new Set([\"Block\",\"CommentBlock\",\"MultiLine\"]),s=a=>t.has(a?.type);r.exports=s;}}),Km=te({\"src/language-js/utils/is-node-matches.js\"(e,r){ne();function t(a,n){let u=n.split(\".\");for(let i=u.length-1;i>=0;i--){let l=u[i];if(i===0)return a.type===\"Identifier\"&&a.name===l;if(a.type!==\"MemberExpression\"||a.optional||a.computed||a.property.type!==\"Identifier\"||a.property.name!==l)return !1;a=a.object;}}function s(a,n){return n.some(u=>t(a,u))}r.exports=s;}}),Ke=te({\"src/language-js/utils/index.js\"(e,r){ne();var t=Xm().keyword.isIdentifierNameES5,{getLast:s,hasNewline:a,skipWhitespace:n,isNonEmptyArray:u,isNextLineEmptyAfterIndex:i,getStringWidth:l}=Ue(),{locStart:p,locEnd:y,hasSameLocStart:h}=ut(),g=Pt(),c=Km(),f=\"(?:(?=.)\\\\s)\",F=new RegExp(`^${f}*:`),_=new RegExp(`^${f}*::`);function w(O){var me,_e;return ((me=O.extra)===null||me===void 0?void 0:me.parenthesized)&&g((_e=O.trailingComments)===null||_e===void 0?void 0:_e[0])&&F.test(O.trailingComments[0].value)}function E(O){let me=O?.[0];return g(me)&&_.test(me.value)}function N(O,me){if(!O||typeof O!=\"object\")return !1;if(Array.isArray(O))return O.some(He=>N(He,me));let _e=me(O);return typeof _e==\"boolean\"?_e:Object.values(O).some(He=>N(He,me))}function x(O){return O.type===\"AssignmentExpression\"||O.type===\"BinaryExpression\"||O.type===\"LogicalExpression\"||O.type===\"NGPipeExpression\"||O.type===\"ConditionalExpression\"||de(O)||ue(O)||O.type===\"SequenceExpression\"||O.type===\"TaggedTemplateExpression\"||O.type===\"BindExpression\"||O.type===\"UpdateExpression\"&&!O.prefix||st(O)||O.type===\"TSNonNullExpression\"}function I(O){var me,_e,He,Ge,it,Qe;return O.expressions?O.expressions[0]:(me=(_e=(He=(Ge=(it=(Qe=O.left)!==null&&Qe!==void 0?Qe:O.test)!==null&&it!==void 0?it:O.callee)!==null&&Ge!==void 0?Ge:O.object)!==null&&He!==void 0?He:O.tag)!==null&&_e!==void 0?_e:O.argument)!==null&&me!==void 0?me:O.expression}function P(O,me){if(me.expressions)return [\"expressions\",0];if(me.left)return [\"left\"];if(me.test)return [\"test\"];if(me.object)return [\"object\"];if(me.callee)return [\"callee\"];if(me.tag)return [\"tag\"];if(me.argument)return [\"argument\"];if(me.expression)return [\"expression\"];throw new Error(\"Unexpected node has no left side.\")}function $(O){return O=new Set(O),me=>O.has(me?.type)}var D=$([\"Line\",\"CommentLine\",\"SingleLine\",\"HashbangComment\",\"HTMLOpen\",\"HTMLClose\"]),T=$([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function m(O){let me=O.getParentNode();return O.getName()===\"declaration\"&&T(me)?me:null}var C=$([\"BooleanLiteral\",\"DirectiveLiteral\",\"Literal\",\"NullLiteral\",\"NumericLiteral\",\"BigIntLiteral\",\"DecimalLiteral\",\"RegExpLiteral\",\"StringLiteral\",\"TemplateLiteral\",\"TSTypeLiteral\",\"JSXText\"]);function o(O){return O.type===\"NumericLiteral\"||O.type===\"Literal\"&&typeof O.value==\"number\"}function d(O){return O.type===\"UnaryExpression\"&&(O.operator===\"+\"||O.operator===\"-\")&&o(O.argument)}function v(O){return O.type===\"StringLiteral\"||O.type===\"Literal\"&&typeof O.value==\"string\"}var S=$([\"ObjectTypeAnnotation\",\"TSTypeLiteral\",\"TSMappedType\"]),b=$([\"FunctionExpression\",\"ArrowFunctionExpression\"]);function B(O){return O.type===\"FunctionExpression\"||O.type===\"ArrowFunctionExpression\"&&O.body.type===\"BlockStatement\"}function k(O){return de(O)&&O.callee.type===\"Identifier\"&&[\"async\",\"inject\",\"fakeAsync\",\"waitForAsync\"].includes(O.callee.name)}var M=$([\"JSXElement\",\"JSXFragment\"]);function R(O,me){if(O.parentParser!==\"markdown\"&&O.parentParser!==\"mdx\")return !1;let _e=me.getNode();if(!_e.expression||!M(_e.expression))return !1;let He=me.getParentNode();return He.type===\"Program\"&&He.body.length===1}function q(O){return O.kind===\"get\"||O.kind===\"set\"}function J(O){return q(O)||h(O,O.value)}function L(O){return (O.type===\"ObjectTypeProperty\"||O.type===\"ObjectTypeInternalSlot\")&&O.value.type===\"FunctionTypeAnnotation\"&&!O.static&&!J(O)}function Q(O){return (O.type===\"TypeAnnotation\"||O.type===\"TSTypeAnnotation\")&&O.typeAnnotation.type===\"FunctionTypeAnnotation\"&&!O.static&&!h(O,O.typeAnnotation)}var V=$([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]);function j(O){return ue(O)||O.type===\"BindExpression\"&&Boolean(O.object)}var Y=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]);function ie(O){return O?!!((O.type===\"GenericTypeAnnotation\"||O.type===\"TSTypeReference\")&&!O.typeParameters||Y.has(O.type)):!1}function ee(O){let me=/^(?:before|after)(?:Each|All)$/;return O.callee.type===\"Identifier\"&&me.test(O.callee.name)&&O.arguments.length===1}var ce=[\"it\",\"it.only\",\"it.skip\",\"describe\",\"describe.only\",\"describe.skip\",\"test\",\"test.only\",\"test.skip\",\"test.step\",\"test.describe\",\"test.describe.only\",\"test.describe.parallel\",\"test.describe.parallel.only\",\"test.describe.serial\",\"test.describe.serial.only\",\"skip\",\"xit\",\"xdescribe\",\"xtest\",\"fit\",\"fdescribe\",\"ftest\"];function W(O){return c(O,ce)}function K(O,me){if(O.type!==\"CallExpression\")return !1;if(O.arguments.length===1){if(k(O)&&me&&K(me))return b(O.arguments[0]);if(ee(O))return k(O.arguments[0])}else if((O.arguments.length===2||O.arguments.length===3)&&(O.arguments[0].type===\"TemplateLiteral\"||v(O.arguments[0]))&&W(O.callee))return O.arguments[2]&&!o(O.arguments[2])?!1:(O.arguments.length===2?b(O.arguments[1]):B(O.arguments[1])&&ve(O.arguments[1]).length<=1)||k(O.arguments[1]);return !1}var de=$([\"CallExpression\",\"OptionalCallExpression\"]),ue=$([\"MemberExpression\",\"OptionalMemberExpression\"]);function Fe(O){let me=\"expressions\";O.type===\"TSTemplateLiteralType\"&&(me=\"types\");let _e=O[me];return _e.length===0?!1:_e.every(He=>{if(Me(He))return !1;if(He.type===\"Identifier\"||He.type===\"ThisExpression\")return !0;if(ue(He)){let Ge=He;for(;ue(Ge);)if(Ge.property.type!==\"Identifier\"&&Ge.property.type!==\"Literal\"&&Ge.property.type!==\"StringLiteral\"&&Ge.property.type!==\"NumericLiteral\"||(Ge=Ge.object,Me(Ge)))return !1;return Ge.type===\"Identifier\"||Ge.type===\"ThisExpression\"}return !1})}function z(O,me){return O===\"+\"||O===\"-\"?O+me:me}function U(O,me){let _e=p(me),He=n(O,y(me));return He!==!1&&O.slice(_e,_e+2)===\"/*\"&&O.slice(He,He+2)===\"*/\"}function Z(O,me){return M(me)?Oe(me):Me(me,Te.Leading,_e=>a(O,y(_e)))}function se(O,me){return me.parser!==\"json\"&&v(O.key)&&oe(O.key).slice(1,-1)===O.key.value&&(t(O.key.value)&&!(me.parser===\"babel-ts\"&&O.type===\"ClassProperty\"||me.parser===\"typescript\"&&O.type===\"PropertyDefinition\")||fe(O.key.value)&&String(Number(O.key.value))===O.key.value&&(me.parser===\"babel\"||me.parser===\"acorn\"||me.parser===\"espree\"||me.parser===\"meriyah\"||me.parser===\"__babel_estree\"))}function fe(O){return /^(?:\\d+|\\d+\\.\\d+)$/.test(O)}function ge(O,me){let _e=/^[fx]?(?:describe|it|test)$/;return me.type===\"TaggedTemplateExpression\"&&me.quasi===O&&me.tag.type===\"MemberExpression\"&&me.tag.property.type===\"Identifier\"&&me.tag.property.name===\"each\"&&(me.tag.object.type===\"Identifier\"&&_e.test(me.tag.object.name)||me.tag.object.type===\"MemberExpression\"&&me.tag.object.property.type===\"Identifier\"&&(me.tag.object.property.name===\"only\"||me.tag.object.property.name===\"skip\")&&me.tag.object.object.type===\"Identifier\"&&_e.test(me.tag.object.object.name))}function he(O){return O.quasis.some(me=>me.value.raw.includes(`\n`))}function we(O,me){return (O.type===\"TemplateLiteral\"&&he(O)||O.type===\"TaggedTemplateExpression\"&&he(O.quasi))&&!a(me,p(O),{backwards:!0})}function ke(O){if(!Me(O))return !1;let me=s(ae(O,Te.Dangling));return me&&!g(me)}function Re(O){if(O.length<=1)return !1;let me=0;for(let _e of O)if(b(_e)){if(me+=1,me>1)return !0}else if(de(_e)){for(let He of _e.arguments)if(b(He))return !0}return !1}function Ne(O){let me=O.getValue(),_e=O.getParentNode();return de(me)&&de(_e)&&_e.callee===me&&me.arguments.length>_e.arguments.length&&_e.arguments.length>0}function Pe(O,me){if(me>=2)return !1;let _e=Qe=>Pe(Qe,me+1),He=O.type===\"Literal\"&&\"regex\"in O&&O.regex.pattern||O.type===\"RegExpLiteral\"&&O.pattern;if(He&&l(He)>5)return !1;if(O.type===\"Literal\"||O.type===\"BigIntLiteral\"||O.type===\"DecimalLiteral\"||O.type===\"BooleanLiteral\"||O.type===\"NullLiteral\"||O.type===\"NumericLiteral\"||O.type===\"RegExpLiteral\"||O.type===\"StringLiteral\"||O.type===\"Identifier\"||O.type===\"ThisExpression\"||O.type===\"Super\"||O.type===\"PrivateName\"||O.type===\"PrivateIdentifier\"||O.type===\"ArgumentPlaceholder\"||O.type===\"Import\")return !0;if(O.type===\"TemplateLiteral\")return O.quasis.every(Qe=>!Qe.value.raw.includes(`\n`))&&O.expressions.every(_e);if(O.type===\"ObjectExpression\")return O.properties.every(Qe=>!Qe.computed&&(Qe.shorthand||Qe.value&&_e(Qe.value)));if(O.type===\"ArrayExpression\")return O.elements.every(Qe=>Qe===null||_e(Qe));if(tt(O))return (O.type===\"ImportExpression\"||Pe(O.callee,me))&&Ye(O).every(_e);if(ue(O))return Pe(O.object,me)&&Pe(O.property,me);let Ge={\"!\":!0,\"-\":!0,\"+\":!0,\"~\":!0};if(O.type===\"UnaryExpression\"&&Ge[O.operator])return Pe(O.argument,me);let it={\"++\":!0,\"--\":!0};return O.type===\"UpdateExpression\"&&it[O.operator]?Pe(O.argument,me):O.type===\"TSNonNullExpression\"?Pe(O.expression,me):!1}function oe(O){var me,_e;return (me=(_e=O.extra)===null||_e===void 0?void 0:_e.raw)!==null&&me!==void 0?me:O.raw}function H(O){return O}function pe(O){return O.filepath&&/\\.tsx$/i.test(O.filepath)}function X(O){let me=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"es5\";return O.trailingComma===\"es5\"&&me===\"es5\"||O.trailingComma===\"all\"&&(me===\"all\"||me===\"es5\")}function le(O,me){switch(O.type){case\"BinaryExpression\":case\"LogicalExpression\":case\"AssignmentExpression\":case\"NGPipeExpression\":return le(O.left,me);case\"MemberExpression\":case\"OptionalMemberExpression\":return le(O.object,me);case\"TaggedTemplateExpression\":return O.tag.type===\"FunctionExpression\"?!1:le(O.tag,me);case\"CallExpression\":case\"OptionalCallExpression\":return O.callee.type===\"FunctionExpression\"?!1:le(O.callee,me);case\"ConditionalExpression\":return le(O.test,me);case\"UpdateExpression\":return !O.prefix&&le(O.argument,me);case\"BindExpression\":return O.object&&le(O.object,me);case\"SequenceExpression\":return le(O.expressions[0],me);case\"TSSatisfiesExpression\":case\"TSAsExpression\":case\"TSNonNullExpression\":return le(O.expression,me);default:return me(O)}}var Ae={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},Ee={\"*\":!0,\"/\":!0,\"%\":!0},De={\">>\":!0,\">>>\":!0,\"<<\":!0};function A(O,me){return !(re(me)!==re(O)||O===\"**\"||Ae[O]&&Ae[me]||me===\"%\"&&Ee[O]||O===\"%\"&&Ee[me]||me!==O&&Ee[me]&&Ee[O]||De[O]&&De[me])}var G=new Map([[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].flatMap((O,me)=>O.map(_e=>[_e,me])));function re(O){return G.get(O)}function ye(O){return Boolean(De[O])||O===\"|\"||O===\"^\"||O===\"&\"}function Ce(O){var me;if(O.rest)return !0;let _e=ve(O);return ((me=s(_e))===null||me===void 0?void 0:me.type)===\"RestElement\"}var Be=new WeakMap;function ve(O){if(Be.has(O))return Be.get(O);let me=[];return O.this&&me.push(O.this),Array.isArray(O.parameters)?me.push(...O.parameters):Array.isArray(O.params)&&me.push(...O.params),O.rest&&me.push(O.rest),Be.set(O,me),me}function ze(O,me){let _e=O.getValue(),He=0,Ge=it=>me(it,He++);_e.this&&O.call(Ge,\"this\"),Array.isArray(_e.parameters)?O.each(Ge,\"parameters\"):Array.isArray(_e.params)&&O.each(Ge,\"params\"),_e.rest&&O.call(Ge,\"rest\");}var be=new WeakMap;function Ye(O){if(be.has(O))return be.get(O);let me=O.arguments;return O.type===\"ImportExpression\"&&(me=[O.source],O.attributes&&me.push(O.attributes)),be.set(O,me),me}function Se(O,me){let _e=O.getValue();_e.type===\"ImportExpression\"?(O.call(He=>me(He,0),\"source\"),_e.attributes&&O.call(He=>me(He,1),\"attributes\")):O.each(me,\"arguments\");}function Ie(O){return O.value.trim()===\"prettier-ignore\"&&!O.unignore}function Oe(O){return O&&(O.prettierIgnore||Me(O,Te.PrettierIgnore))}function Je(O){let me=O.getValue();return Oe(me)}var Te={Leading:1<<1,Trailing:1<<2,Dangling:1<<3,Block:1<<4,Line:1<<5,PrettierIgnore:1<<6,First:1<<7,Last:1<<8},je=(O,me)=>{if(typeof O==\"function\"&&(me=O,O=0),O||me)return (_e,He,Ge)=>!(O&Te.Leading&&!_e.leading||O&Te.Trailing&&!_e.trailing||O&Te.Dangling&&(_e.leading||_e.trailing)||O&Te.Block&&!g(_e)||O&Te.Line&&!D(_e)||O&Te.First&&He!==0||O&Te.Last&&He!==Ge.length-1||O&Te.PrettierIgnore&&!Ie(_e)||me&&!me(_e))};function Me(O,me,_e){if(!u(O?.comments))return !1;let He=je(me,_e);return He?O.comments.some(He):!0}function ae(O,me,_e){if(!Array.isArray(O?.comments))return [];let He=je(me,_e);return He?O.comments.filter(He):O.comments}var nt=(O,me)=>{let{originalText:_e}=me;return i(_e,y(O))};function tt(O){return de(O)||O.type===\"NewExpression\"||O.type===\"ImportExpression\"}function Ve(O){return O&&(O.type===\"ObjectProperty\"||O.type===\"Property\"&&!O.method&&O.kind===\"init\")}function We(O){return Boolean(O.__isUsingHackPipeline)}var Xe=Symbol(\"ifWithoutBlockAndSameLineComment\");function st(O){return O.type===\"TSAsExpression\"||O.type===\"TSSatisfiesExpression\"}r.exports={getFunctionParameters:ve,iterateFunctionParametersPath:ze,getCallArguments:Ye,iterateCallArgumentsPath:Se,hasRestParameter:Ce,getLeftSide:I,getLeftSidePathName:P,getParentExportDeclaration:m,getTypeScriptMappedTypeModifier:z,hasFlowAnnotationComment:E,hasFlowShorthandAnnotationComment:w,hasLeadingOwnLineComment:Z,hasNakedLeftSide:x,hasNode:N,hasIgnoreComment:Je,hasNodeIgnoreComment:Oe,identity:H,isBinaryish:V,isCallLikeExpression:tt,isEnabledHackPipeline:We,isLineComment:D,isPrettierIgnoreComment:Ie,isCallExpression:de,isMemberExpression:ue,isExportDeclaration:T,isFlowAnnotationComment:U,isFunctionCompositionArgs:Re,isFunctionNotation:J,isFunctionOrArrowExpression:b,isGetterOrSetter:q,isJestEachTemplateLiteral:ge,isJsxNode:M,isLiteral:C,isLongCurriedCallExpression:Ne,isSimpleCallArgument:Pe,isMemberish:j,isNumericLiteral:o,isSignedNumericLiteral:d,isObjectProperty:Ve,isObjectType:S,isObjectTypePropertyAFunction:L,isSimpleType:ie,isSimpleNumber:fe,isSimpleTemplateLiteral:Fe,isStringLiteral:v,isStringPropSafeToUnquote:se,isTemplateOnItsOwnLine:we,isTestCall:K,isTheOnlyJsxElementInMarkdown:R,isTSXFile:pe,isTypeAnnotationAFunction:Q,isNextLineEmpty:nt,needsHardlineAfterDanglingComment:ke,rawText:oe,shouldPrintComma:X,isBitwiseOperator:ye,shouldFlatten:A,startsWithNoLookaheadToken:le,getPrecedence:re,hasComment:Me,getComments:ae,CommentCheckFlags:Te,markerForIfWithoutBlockAndSameLineComment:Xe,isTSTypeExpression:st};}}),jt=te({\"src/language-js/print/template-literal.js\"(e,r){ne();var t=lt(),{getStringWidth:s,getIndentSize:a}=Ue(),{builders:{join:n,hardline:u,softline:i,group:l,indent:p,align:y,lineSuffixBoundary:h,addAlignmentToDoc:g},printer:{printDocToString:c},utils:{mapDoc:f}}=qe(),{isBinaryish:F,isJestEachTemplateLiteral:_,isSimpleTemplateLiteral:w,hasComment:E,isMemberExpression:N,isTSTypeExpression:x}=Ke();function I(C,o,d){let v=C.getValue();if(v.type===\"TemplateLiteral\"&&_(v,C.getParentNode())){let R=P(C,d,o);if(R)return R}let b=\"expressions\";v.type===\"TSTemplateLiteralType\"&&(b=\"types\");let B=[],k=C.map(o,b),M=w(v);return M&&(k=k.map(R=>c(R,Object.assign(Object.assign({},d),{},{printWidth:Number.POSITIVE_INFINITY})).formatted)),B.push(h,\"`\"),C.each(R=>{let q=R.getName();if(B.push(o()),q1||S.some(b=>b.length>0)){o.__inJestEach=!0;let b=C.map(d,\"expressions\");o.__inJestEach=!1;let B=[],k=b.map(L=>\"${\"+c(L,Object.assign(Object.assign({},o),{},{printWidth:Number.POSITIVE_INFINITY,endOfLine:\"lf\"})).formatted+\"}\"),M=[{hasLineBreak:!1,cells:[]}];for(let L=1;LL.cells.length)),q=Array.from({length:R}).fill(0),J=[{cells:S},...M.filter(L=>L.cells.length>0)];for(let{cells:L}of J.filter(Q=>!Q.hasLineBreak))for(let[Q,V]of L.entries())q[Q]=Math.max(q[Q],s(V));return B.push(h,\"`\",p([u,n(u,J.map(L=>n(\" | \",L.cells.map((Q,V)=>L.hasLineBreak?Q:Q+\" \".repeat(q[V]-s(Q))))))]),u,\"`\"),B}}function $(C,o){let d=C.getValue(),v=o();return E(d)&&(v=l([p([i,v]),i])),[\"${\",v,h,\"}\"]}function D(C,o){return C.map(d=>$(d,o),\"expressions\")}function T(C,o){return f(C,d=>typeof d==\"string\"?o?d.replace(/(\\\\*)`/g,\"$1$1\\\\`\"):m(d):d)}function m(C){return C.replace(/([\\\\`]|\\${)/g,\"\\\\$1\")}r.exports={printTemplateLiteral:I,printTemplateExpressions:D,escapeTemplateCharacters:T,uncookTemplateElementValue:m};}}),Ym=te({\"src/language-js/embed/markdown.js\"(e,r){ne();var{builders:{indent:t,softline:s,literalline:a,dedentToRoot:n}}=qe(),{escapeTemplateCharacters:u}=jt();function i(p,y,h){let c=p.getValue().quasis[0].value.raw.replace(/((?:\\\\\\\\)*)\\\\`/g,(w,E)=>\"\\\\\".repeat(E.length/2)+\"`\"),f=l(c),F=f!==\"\";F&&(c=c.replace(new RegExp(`^${f}`,\"gm\"),\"\"));let _=u(h(c,{parser:\"markdown\",__inJsTemplate:!0},{stripTrailingHardline:!0}),!0);return [\"`\",F?t([s,_]):[a,n(_)],s,\"`\"]}function l(p){let y=p.match(/^([^\\S\\n]*)\\S/m);return y===null?\"\":y[1]}r.exports=i;}}),Qm=te({\"src/language-js/embed/css.js\"(e,r){ne();var{isNonEmptyArray:t}=Ue(),{builders:{indent:s,hardline:a,softline:n},utils:{mapDoc:u,replaceEndOfLine:i,cleanDoc:l}}=qe(),{printTemplateExpressions:p}=jt();function y(c,f,F){let _=c.getValue(),w=_.quasis.map(P=>P.value.raw),E=0,N=w.reduce((P,$,D)=>D===0?$:P+\"@prettier-placeholder-\"+E+++\"-id\"+$,\"\"),x=F(N,{parser:\"scss\"},{stripTrailingHardline:!0}),I=p(c,f);return h(x,_,I)}function h(c,f,F){if(f.quasis.length===1&&!f.quasis[0].value.raw.trim())return \"``\";let w=g(c,F);if(!w)throw new Error(\"Couldn't insert all the expressions\");return [\"`\",s([a,w]),n,\"`\"]}function g(c,f){if(!t(f))return c;let F=0,_=u(l(c),w=>typeof w!=\"string\"||!w.includes(\"@prettier-placeholder\")?w:w.split(/@prettier-placeholder-(\\d+)-id/).map((E,N)=>N%2===0?i(E):(F++,f[E])));return f.length===F?_:null}r.exports=y;}}),Zm=te({\"src/language-js/embed/graphql.js\"(e,r){ne();var{builders:{indent:t,join:s,hardline:a}}=qe(),{escapeTemplateCharacters:n,printTemplateExpressions:u}=jt();function i(p,y,h){let g=p.getValue(),c=g.quasis.length;if(c===1&&g.quasis[0].value.raw.trim()===\"\")return \"``\";let f=u(p,y),F=[];for(let _=0;_2&&I[0].trim()===\"\"&&I[1].trim()===\"\",T=P>2&&I[P-1].trim()===\"\"&&I[P-2].trim()===\"\",m=I.every(o=>/^\\s*(?:#[^\\n\\r]*)?$/.test(o));if(!N&&/#[^\\n\\r]*$/.test(I[P-1]))return null;let C=null;m?C=l(I):C=h(x,{parser:\"graphql\"},{stripTrailingHardline:!0}),C?(C=n(C,!1),!E&&D&&F.push(\"\"),F.push(C),!N&&T&&F.push(\"\")):!E&&!N&&D&&F.push(\"\"),$&&F.push($);}return [\"`\",t([a,s(a,F)]),a,\"`\"]}function l(p){let y=[],h=!1,g=p.map(c=>c.trim());for(let[c,f]of g.entries())f!==\"\"&&(g[c-1]===\"\"&&h?y.push([a,f]):y.push(f),h=!0);return y.length===0?null:s(a,y)}r.exports=i;}}),ed=te({\"src/language-js/embed/html.js\"(e,r){ne();var{builders:{indent:t,line:s,hardline:a,group:n},utils:{mapDoc:u}}=qe(),{printTemplateExpressions:i,uncookTemplateElementValue:l}=jt(),p=0;function y(h,g,c,f,F){let{parser:_}=F,w=h.getValue(),E=p;p=p+1>>>0;let N=d=>`PRETTIER_HTML_PLACEHOLDER_${d}_${E}_IN_JS`,x=w.quasis.map((d,v,S)=>v===S.length-1?d.value.cooked:d.value.cooked+N(v)).join(\"\"),I=i(h,g);if(I.length===0&&x.trim().length===0)return \"``\";let P=new RegExp(N(\"(\\\\d+)\"),\"g\"),$=0,D=c(x,{parser:_,__onHtmlRoot(d){$=d.children.length;}},{stripTrailingHardline:!0}),T=u(D,d=>{if(typeof d!=\"string\")return d;let v=[],S=d.split(P);for(let b=0;b1?t(n(T)):n(T),C,\"`\"])}r.exports=y;}}),td=te({\"src/language-js/embed.js\"(e,r){ne();var{hasComment:t,CommentCheckFlags:s,isObjectProperty:a}=Ke(),n=Ym(),u=Qm(),i=Zm(),l=ed();function p(D){if(g(D)||_(D)||w(D)||c(D))return \"css\";if(x(D))return \"graphql\";if(P(D))return \"html\";if(f(D))return \"angular\";if(h(D))return \"markdown\"}function y(D,T,m,C){let o=D.getValue();if(o.type!==\"TemplateLiteral\"||$(o))return;let d=p(D);if(d){if(d===\"markdown\")return n(D,T,m);if(d===\"css\")return u(D,T,m);if(d===\"graphql\")return i(D,T,m);if(d===\"html\"||d===\"angular\")return l(D,T,m,C,{parser:d})}}function h(D){let T=D.getValue(),m=D.getParentNode();return m&&m.type===\"TaggedTemplateExpression\"&&T.quasis.length===1&&m.tag.type===\"Identifier\"&&(m.tag.name===\"md\"||m.tag.name===\"markdown\")}function g(D){let T=D.getValue(),m=D.getParentNode(),C=D.getParentNode(1);return C&&T.quasis&&m.type===\"JSXExpressionContainer\"&&C.type===\"JSXElement\"&&C.openingElement.name.name===\"style\"&&C.openingElement.attributes.some(o=>o.name.name===\"jsx\")||m&&m.type===\"TaggedTemplateExpression\"&&m.tag.type===\"Identifier\"&&m.tag.name===\"css\"||m&&m.type===\"TaggedTemplateExpression\"&&m.tag.type===\"MemberExpression\"&&m.tag.object.name===\"css\"&&(m.tag.property.name===\"global\"||m.tag.property.name===\"resolve\")}function c(D){return D.match(T=>T.type===\"TemplateLiteral\",(T,m)=>T.type===\"ArrayExpression\"&&m===\"elements\",(T,m)=>a(T)&&T.key.type===\"Identifier\"&&T.key.name===\"styles\"&&m===\"value\",...F)}function f(D){return D.match(T=>T.type===\"TemplateLiteral\",(T,m)=>a(T)&&T.key.type===\"Identifier\"&&T.key.name===\"template\"&&m===\"value\",...F)}var F=[(D,T)=>D.type===\"ObjectExpression\"&&T===\"properties\",(D,T)=>D.type===\"CallExpression\"&&D.callee.type===\"Identifier\"&&D.callee.name===\"Component\"&&T===\"arguments\",(D,T)=>D.type===\"Decorator\"&&T===\"expression\"];function _(D){let T=D.getParentNode();if(!T||T.type!==\"TaggedTemplateExpression\")return !1;let m=T.tag.type===\"ParenthesizedExpression\"?T.tag.expression:T.tag;switch(m.type){case\"MemberExpression\":return E(m.object)||N(m);case\"CallExpression\":return E(m.callee)||m.callee.type===\"MemberExpression\"&&(m.callee.object.type===\"MemberExpression\"&&(E(m.callee.object.object)||N(m.callee.object))||m.callee.object.type===\"CallExpression\"&&E(m.callee.object.callee));case\"Identifier\":return m.name===\"css\";default:return !1}}function w(D){let T=D.getParentNode(),m=D.getParentNode(1);return m&&T.type===\"JSXExpressionContainer\"&&m.type===\"JSXAttribute\"&&m.name.type===\"JSXIdentifier\"&&m.name.name===\"css\"}function E(D){return D.type===\"Identifier\"&&D.name===\"styled\"}function N(D){return /^[A-Z]/.test(D.object.name)&&D.property.name===\"extend\"}function x(D){let T=D.getValue(),m=D.getParentNode();return I(T,\"GraphQL\")||m&&(m.type===\"TaggedTemplateExpression\"&&(m.tag.type===\"MemberExpression\"&&m.tag.object.name===\"graphql\"&&m.tag.property.name===\"experimental\"||m.tag.type===\"Identifier\"&&(m.tag.name===\"gql\"||m.tag.name===\"graphql\"))||m.type===\"CallExpression\"&&m.callee.type===\"Identifier\"&&m.callee.name===\"graphql\")}function I(D,T){return t(D,s.Block|s.Leading,m=>{let{value:C}=m;return C===` ${T} `})}function P(D){return I(D.getValue(),\"HTML\")||D.match(T=>T.type===\"TemplateLiteral\",(T,m)=>T.type===\"TaggedTemplateExpression\"&&T.tag.type===\"Identifier\"&&T.tag.name===\"html\"&&m===\"quasi\")}function $(D){let{quasis:T}=D;return T.some(m=>{let{value:{cooked:C}}=m;return C===null})}r.exports=y;}}),rd=te({\"src/language-js/clean.js\"(e,r){ne();var t=Pt(),s=new Set([\"range\",\"raw\",\"comments\",\"leadingComments\",\"trailingComments\",\"innerComments\",\"extra\",\"start\",\"end\",\"loc\",\"flags\",\"errors\",\"tokens\"]),a=u=>{for(let i of u.quasis)delete i.value;};function n(u,i,l){if(u.type===\"Program\"&&delete i.sourceType,(u.type===\"BigIntLiteral\"||u.type===\"BigIntLiteralTypeAnnotation\")&&i.value&&(i.value=i.value.toLowerCase()),(u.type===\"BigIntLiteral\"||u.type===\"Literal\")&&i.bigint&&(i.bigint=i.bigint.toLowerCase()),u.type===\"DecimalLiteral\"&&(i.value=Number(i.value)),u.type===\"Literal\"&&i.decimal&&(i.decimal=Number(i.decimal)),u.type===\"EmptyStatement\"||u.type===\"JSXText\"||u.type===\"JSXExpressionContainer\"&&(u.expression.type===\"Literal\"||u.expression.type===\"StringLiteral\")&&u.expression.value===\" \")return null;if((u.type===\"Property\"||u.type===\"ObjectProperty\"||u.type===\"MethodDefinition\"||u.type===\"ClassProperty\"||u.type===\"ClassMethod\"||u.type===\"PropertyDefinition\"||u.type===\"TSDeclareMethod\"||u.type===\"TSPropertySignature\"||u.type===\"ObjectTypeProperty\")&&typeof u.key==\"object\"&&u.key&&(u.key.type===\"Literal\"||u.key.type===\"NumericLiteral\"||u.key.type===\"StringLiteral\"||u.key.type===\"Identifier\")&&delete i.key,u.type===\"JSXElement\"&&u.openingElement.name.name===\"style\"&&u.openingElement.attributes.some(h=>h.name.name===\"jsx\"))for(let{type:h,expression:g}of i.children)h===\"JSXExpressionContainer\"&&g.type===\"TemplateLiteral\"&&a(g);u.type===\"JSXAttribute\"&&u.name.name===\"css\"&&u.value.type===\"JSXExpressionContainer\"&&u.value.expression.type===\"TemplateLiteral\"&&a(i.value.expression),u.type===\"JSXAttribute\"&&u.value&&u.value.type===\"Literal\"&&/[\"']|"|'/.test(u.value.value)&&(i.value.value=i.value.value.replace(/[\"']|"|'/g,'\"'));let p=u.expression||u.callee;if(u.type===\"Decorator\"&&p.type===\"CallExpression\"&&p.callee.name===\"Component\"&&p.arguments.length===1){let h=u.expression.arguments[0].properties;for(let[g,c]of i.expression.arguments[0].properties.entries())switch(h[g].key.name){case\"styles\":c.value.type===\"ArrayExpression\"&&a(c.value.elements[0]);break;case\"template\":c.value.type===\"TemplateLiteral\"&&a(c.value);break}}if(u.type===\"TaggedTemplateExpression\"&&(u.tag.type===\"MemberExpression\"||u.tag.type===\"Identifier\"&&(u.tag.name===\"gql\"||u.tag.name===\"graphql\"||u.tag.name===\"css\"||u.tag.name===\"md\"||u.tag.name===\"markdown\"||u.tag.name===\"html\")||u.tag.type===\"CallExpression\")&&a(i.quasi),u.type===\"TemplateLiteral\"){var y;(!((y=u.leadingComments)===null||y===void 0)&&y.some(g=>t(g)&&[\"GraphQL\",\"HTML\"].some(c=>g.value===` ${c} `))||l.type===\"CallExpression\"&&l.callee.name===\"graphql\"||!u.leadingComments)&&a(i);}if(u.type===\"InterpreterDirective\"&&(i.value=i.value.trimEnd()),(u.type===\"TSIntersectionType\"||u.type===\"TSUnionType\")&&u.types.length===1)return i.types[0]}n.ignoredProperties=s,r.exports=n;}}),io={};Kt(io,{EOL:()=>Wn,arch:()=>nd,cpus:()=>Do,default:()=>vo,endianness:()=>ao,freemem:()=>po,getNetworkInterfaces:()=>ho,hostname:()=>oo,loadavg:()=>lo,networkInterfaces:()=>yo,platform:()=>ud,release:()=>go,tmpDir:()=>$n,tmpdir:()=>Vn,totalmem:()=>fo,type:()=>mo,uptime:()=>co});function ao(){if(typeof Tr>\"u\"){var e=new ArrayBuffer(2),r=new Uint8Array(e),t=new Uint16Array(e);if(r[0]=1,r[1]=2,t[0]===258)Tr=\"BE\";else if(t[0]===513)Tr=\"LE\";else throw new Error(\"unable to figure out endianess\")}return Tr}function oo(){return typeof globalThis.location<\"u\"?globalThis.location.hostname:\"\"}function lo(){return []}function co(){return 0}function po(){return Number.MAX_VALUE}function fo(){return Number.MAX_VALUE}function Do(){return []}function mo(){return \"Browser\"}function go(){return typeof globalThis.navigator<\"u\"?globalThis.navigator.appVersion:\"\"}function yo(){}function ho(){}function nd(){return \"javascript\"}function ud(){return \"browser\"}function $n(){return \"/tmp\"}var Tr,Vn,Wn,vo,sd=ht({\"node-modules-polyfills:os\"(){ne(),Vn=$n,Wn=`\n`,vo={EOL:Wn,tmpdir:Vn,tmpDir:$n,networkInterfaces:yo,getNetworkInterfaces:ho,release:go,type:mo,cpus:Do,totalmem:fo,freemem:po,uptime:co,loadavg:lo,hostname:oo,endianness:ao};}}),id=te({\"node-modules-polyfills-commonjs:os\"(e,r){ne();var t=(sd(),ft(io));if(t&&t.default){r.exports=t.default;for(let s in t)r.exports[s]=t[s];}else t&&(r.exports=t);}}),ad=te({\"node_modules/detect-newline/index.js\"(e,r){ne();var t=s=>{if(typeof s!=\"string\")throw new TypeError(\"Expected a string\");let a=s.match(/(?:\\r?\\n)/g)||[];if(a.length===0)return;let n=a.filter(i=>i===`\\r\n`).length,u=a.length-n;return n>u?`\\r\n`:`\n`};r.exports=t,r.exports.graceful=s=>typeof s==\"string\"&&t(s)||`\n`;}}),od=te({\"node_modules/jest-docblock/build/index.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0}),e.extract=c,e.parse=F,e.parseWithComments=_,e.print=w,e.strip=f;function r(){let N=id();return r=function(){return N},N}function t(){let N=s(ad());return t=function(){return N},N}function s(N){return N&&N.__esModule?N:{default:N}}var a=/\\*\\/$/,n=/^\\/\\*\\*?/,u=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,i=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,l=/^(\\r?\\n)+/,p=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,y=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,h=/(\\r?\\n|^) *\\* ?/g,g=[];function c(N){let x=N.match(u);return x?x[0].trimLeft():\"\"}function f(N){let x=N.match(u);return x&&x[0]?N.substring(x[0].length):N}function F(N){return _(N).pragmas}function _(N){let x=(0, t().default)(N)||r().EOL;N=N.replace(n,\"\").replace(a,\"\").replace(h,\"$1\");let I=\"\";for(;I!==N;)I=N,N=N.replace(p,`${x}$1 $2${x}`);N=N.replace(l,\"\").trimRight();let P=Object.create(null),$=N.replace(y,\"\").replace(l,\"\").trimRight(),D;for(;D=y.exec(N);){let T=D[2].replace(i,\"\");typeof P[D[1]]==\"string\"||Array.isArray(P[D[1]])?P[D[1]]=g.concat(P[D[1]],T):P[D[1]]=T;}return {comments:$,pragmas:P}}function w(N){let{comments:x=\"\",pragmas:I={}}=N,P=(0, t().default)(x)||r().EOL,$=\"/**\",D=\" *\",T=\" */\",m=Object.keys(I),C=m.map(d=>E(d,I[d])).reduce((d,v)=>d.concat(v),[]).map(d=>`${D} ${d}${P}`).join(\"\");if(!x){if(m.length===0)return \"\";if(m.length===1&&!Array.isArray(I[m[0]])){let d=I[m[0]];return `${$} ${E(m[0],d)[0]}${T}`}}let o=x.split(P).map(d=>`${D} ${d}`).join(P)+P;return $+P+(x?o:\"\")+(x&&m.length?D+P:\"\")+C+T}function E(N,x){return g.concat(x).map(I=>`@${N} ${I}`.trim())}}}),ld=te({\"src/language-js/utils/get-shebang.js\"(e,r){ne();function t(s){if(!s.startsWith(\"#!\"))return \"\";let a=s.indexOf(`\n`);return a===-1?s:s.slice(0,a)}r.exports=t;}}),Co=te({\"src/language-js/pragma.js\"(e,r){ne();var{parseWithComments:t,strip:s,extract:a,print:n}=od(),{normalizeEndOfLine:u}=Jn(),i=ld();function l(h){let g=i(h);g&&(h=h.slice(g.length+1));let c=a(h),{pragmas:f,comments:F}=t(c);return {shebang:g,text:h,pragmas:f,comments:F}}function p(h){let g=Object.keys(l(h).pragmas);return g.includes(\"prettier\")||g.includes(\"format\")}function y(h){let{shebang:g,text:c,pragmas:f,comments:F}=l(h),_=s(c),w=n({pragmas:Object.assign({format:\"\"},f),comments:F.trimStart()});return (g?`${g}\n`:\"\")+u(w)+(_.startsWith(`\n`)?`\n`:`\n\n`)+_}r.exports={hasPragma:p,insertPragma:y};}}),cd=te({\"src/language-js/utils/is-type-cast-comment.js\"(e,r){ne();var t=Pt();function s(a){return t(a)&&a.value[0]===\"*\"&&/@(?:type|satisfies)\\b/.test(a.value)}r.exports=s;}}),Eo=te({\"src/language-js/comments.js\"(e,r){ne();var{getLast:t,hasNewline:s,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:a,getNextNonSpaceNonCommentCharacter:n,hasNewlineInRange:u,addLeadingComment:i,addTrailingComment:l,addDanglingComment:p,getNextNonSpaceNonCommentCharacterIndex:y,isNonEmptyArray:h}=Ue(),{getFunctionParameters:g,isPrettierIgnoreComment:c,isJsxNode:f,hasFlowShorthandAnnotationComment:F,hasFlowAnnotationComment:_,hasIgnoreComment:w,isCallLikeExpression:E,getCallArguments:N,isCallExpression:x,isMemberExpression:I,isObjectProperty:P,isLineComment:$,getComments:D,CommentCheckFlags:T,markerForIfWithoutBlockAndSameLineComment:m}=Ke(),{locStart:C,locEnd:o}=ut(),d=Pt(),v=cd();function S(De){return [H,Fe,Q,q,J,L,ie,he,se,ge,we,ke,ce,z,U].some(A=>A(De))}function b(De){return [R,Fe,V,we,q,J,L,ie,z,Z,fe,ge,Pe,U,X].some(A=>A(De))}function B(De){return [H,q,J,j,ue,ce,ge,de,K,pe,U,oe].some(A=>A(De))}function k(De,A){let G=(De.body||De.properties).find(re=>{let{type:ye}=re;return ye!==\"EmptyStatement\"});G?i(G,A):p(De,A);}function M(De,A){De.type===\"BlockStatement\"?k(De,A):i(De,A);}function R(De){let{comment:A,followingNode:G}=De;return G&&v(A)?(i(G,A),!0):!1}function q(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye,text:Ce}=De;if(re?.type!==\"IfStatement\"||!ye)return !1;if(n(Ce,A,o)===\")\")return l(G,A),!0;if(G===re.consequent&&ye===re.alternate){if(G.type===\"BlockStatement\")l(G,A);else {let ve=A.type===\"SingleLine\"||A.loc.start.line===A.loc.end.line,ze=A.loc.start.line===G.loc.start.line;ve&&ze?p(G,A,m):p(re,A);}return !0}return ye.type===\"BlockStatement\"?(k(ye,A),!0):ye.type===\"IfStatement\"?(M(ye.consequent,A),!0):re.consequent===ye?(i(ye,A),!0):!1}function J(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye,text:Ce}=De;return re?.type!==\"WhileStatement\"||!ye?!1:n(Ce,A,o)===\")\"?(l(G,A),!0):ye.type===\"BlockStatement\"?(k(ye,A),!0):re.body===ye?(i(ye,A),!0):!1}function L(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye}=De;return re?.type!==\"TryStatement\"&&re?.type!==\"CatchClause\"||!ye?!1:re.type===\"CatchClause\"&&G?(l(G,A),!0):ye.type===\"BlockStatement\"?(k(ye,A),!0):ye.type===\"TryStatement\"?(M(ye.finalizer,A),!0):ye.type===\"CatchClause\"?(M(ye.body,A),!0):!1}function Q(De){let{comment:A,enclosingNode:G,followingNode:re}=De;return I(G)&&re?.type===\"Identifier\"?(i(G,A),!0):!1}function V(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye,text:Ce}=De,Be=G&&!u(Ce,o(G),C(A));return (!G||!Be)&&(re?.type===\"ConditionalExpression\"||re?.type===\"TSConditionalType\")&&ye?(i(ye,A),!0):!1}function j(De){let{comment:A,precedingNode:G,enclosingNode:re}=De;return P(re)&&re.shorthand&&re.key===G&&re.value.type===\"AssignmentPattern\"?(l(re.value.left,A),!0):!1}var Y=new Set([\"ClassDeclaration\",\"ClassExpression\",\"DeclareClass\",\"DeclareInterface\",\"InterfaceDeclaration\",\"TSInterfaceDeclaration\"]);function ie(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye}=De;if(Y.has(re?.type)){if(h(re.decorators)&&!(ye&&ye.type===\"Decorator\"))return l(t(re.decorators),A),!0;if(re.body&&ye===re.body)return k(re.body,A),!0;if(ye){if(re.superClass&&ye===re.superClass&&G&&(G===re.id||G===re.typeParameters))return l(G,A),!0;for(let Ce of [\"implements\",\"extends\",\"mixins\"])if(re[Ce]&&ye===re[Ce][0])return G&&(G===re.id||G===re.typeParameters||G===re.superClass)?l(G,A):p(re,A,Ce),!0}}return !1}var ee=new Set([\"ClassMethod\",\"ClassProperty\",\"PropertyDefinition\",\"TSAbstractPropertyDefinition\",\"TSAbstractMethodDefinition\",\"TSDeclareMethod\",\"MethodDefinition\",\"ClassAccessorProperty\",\"AccessorProperty\",\"TSAbstractAccessorProperty\"]);function ce(De){let{comment:A,precedingNode:G,enclosingNode:re,text:ye}=De;return re&&G&&n(ye,A,o)===\"(\"&&(re.type===\"Property\"||re.type===\"TSDeclareMethod\"||re.type===\"TSAbstractMethodDefinition\")&&G.type===\"Identifier\"&&re.key===G&&n(ye,G,o)!==\":\"||G?.type===\"Decorator\"&&ee.has(re?.type)?(l(G,A),!0):!1}var W=new Set([\"FunctionDeclaration\",\"FunctionExpression\",\"ClassMethod\",\"MethodDefinition\",\"ObjectMethod\"]);function K(De){let{comment:A,precedingNode:G,enclosingNode:re,text:ye}=De;return n(ye,A,o)!==\"(\"?!1:G&&W.has(re?.type)?(l(G,A),!0):!1}function de(De){let{comment:A,enclosingNode:G,text:re}=De;if(G?.type!==\"ArrowFunctionExpression\")return !1;let ye=y(re,A,o);return ye!==!1&&re.slice(ye,ye+2)===\"=>\"?(p(G,A),!0):!1}function ue(De){let{comment:A,enclosingNode:G,text:re}=De;return n(re,A,o)!==\")\"?!1:G&&(le(G)&&g(G).length===0||E(G)&&N(G).length===0)?(p(G,A),!0):(G?.type===\"MethodDefinition\"||G?.type===\"TSAbstractMethodDefinition\")&&g(G.value).length===0?(p(G.value,A),!0):!1}function Fe(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye,text:Ce}=De;if(G?.type===\"FunctionTypeParam\"&&re?.type===\"FunctionTypeAnnotation\"&&ye?.type!==\"FunctionTypeParam\"||(G?.type===\"Identifier\"||G?.type===\"AssignmentPattern\")&&re&&le(re)&&n(Ce,A,o)===\")\")return l(G,A),!0;if(re?.type===\"FunctionDeclaration\"&&ye?.type===\"BlockStatement\"){let Be=(()=>{let ve=g(re);if(ve.length>0)return a(Ce,o(t(ve)));let ze=a(Ce,o(re.id));return ze!==!1&&a(Ce,ze+1)})();if(C(A)>Be)return k(ye,A),!0}return !1}function z(De){let{comment:A,enclosingNode:G}=De;return G?.type===\"LabeledStatement\"?(i(G,A),!0):!1}function U(De){let{comment:A,enclosingNode:G}=De;return (G?.type===\"ContinueStatement\"||G?.type===\"BreakStatement\")&&!G.label?(l(G,A),!0):!1}function Z(De){let{comment:A,precedingNode:G,enclosingNode:re}=De;return x(re)&&G&&re.callee===G&&re.arguments.length>0?(i(re.arguments[0],A),!0):!1}function se(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye}=De;return re?.type===\"UnionTypeAnnotation\"||re?.type===\"TSUnionType\"?(c(A)&&(ye.prettierIgnore=!0,A.unignore=!0),G?(l(G,A),!0):!1):((ye?.type===\"UnionTypeAnnotation\"||ye?.type===\"TSUnionType\")&&c(A)&&(ye.types[0].prettierIgnore=!0,A.unignore=!0),!1)}function fe(De){let{comment:A,enclosingNode:G}=De;return P(G)?(i(G,A),!0):!1}function ge(De){let{comment:A,enclosingNode:G,followingNode:re,ast:ye,isLastComment:Ce}=De;return ye&&ye.body&&ye.body.length===0?(Ce?p(ye,A):i(ye,A),!0):G?.type===\"Program\"&&G?.body.length===0&&!h(G.directives)?(Ce?p(G,A):i(G,A),!0):re?.type===\"Program\"&&re?.body.length===0&&G?.type===\"ModuleExpression\"?(p(re,A),!0):!1}function he(De){let{comment:A,enclosingNode:G}=De;return G?.type===\"ForInStatement\"||G?.type===\"ForOfStatement\"?(i(G,A),!0):!1}function we(De){let{comment:A,precedingNode:G,enclosingNode:re,text:ye}=De;if(re?.type===\"ImportSpecifier\"||re?.type===\"ExportSpecifier\")return i(re,A),!0;let Ce=G?.type===\"ImportSpecifier\"&&re?.type===\"ImportDeclaration\",Be=G?.type===\"ExportSpecifier\"&&re?.type===\"ExportNamedDeclaration\";return (Ce||Be)&&s(ye,o(A))?(l(G,A),!0):!1}function ke(De){let{comment:A,enclosingNode:G}=De;return G?.type===\"AssignmentPattern\"?(i(G,A),!0):!1}var Re=new Set([\"VariableDeclarator\",\"AssignmentExpression\",\"TypeAlias\",\"TSTypeAliasDeclaration\"]),Ne=new Set([\"ObjectExpression\",\"ArrayExpression\",\"TemplateLiteral\",\"TaggedTemplateExpression\",\"ObjectTypeAnnotation\",\"TSTypeLiteral\"]);function Pe(De){let{comment:A,enclosingNode:G,followingNode:re}=De;return Re.has(G?.type)&&re&&(Ne.has(re.type)||d(A))?(i(re,A),!0):!1}function oe(De){let{comment:A,enclosingNode:G,followingNode:re,text:ye}=De;return !re&&(G?.type===\"TSMethodSignature\"||G?.type===\"TSDeclareFunction\"||G?.type===\"TSAbstractMethodDefinition\")&&n(ye,A,o)===\";\"?(l(G,A),!0):!1}function H(De){let{comment:A,enclosingNode:G,followingNode:re}=De;if(c(A)&&G?.type===\"TSMappedType\"&&re?.type===\"TSTypeParameter\"&&re.constraint)return G.prettierIgnore=!0,A.unignore=!0,!0}function pe(De){let{comment:A,precedingNode:G,enclosingNode:re,followingNode:ye}=De;return re?.type!==\"TSMappedType\"?!1:ye?.type===\"TSTypeParameter\"&&ye.name?(i(ye.name,A),!0):G?.type===\"TSTypeParameter\"&&G.constraint?(l(G.constraint,A),!0):!1}function X(De){let{comment:A,enclosingNode:G,followingNode:re}=De;return !G||G.type!==\"SwitchCase\"||G.test||!re||re!==G.consequent[0]?!1:(re.type===\"BlockStatement\"&&$(A)?k(re,A):p(G,A),!0)}function le(De){return De.type===\"ArrowFunctionExpression\"||De.type===\"FunctionExpression\"||De.type===\"FunctionDeclaration\"||De.type===\"ObjectMethod\"||De.type===\"ClassMethod\"||De.type===\"TSDeclareFunction\"||De.type===\"TSCallSignatureDeclaration\"||De.type===\"TSConstructSignatureDeclaration\"||De.type===\"TSMethodSignature\"||De.type===\"TSConstructorType\"||De.type===\"TSFunctionType\"||De.type===\"TSDeclareMethod\"}function Ae(De,A){if((A.parser===\"typescript\"||A.parser===\"flow\"||A.parser===\"acorn\"||A.parser===\"espree\"||A.parser===\"meriyah\"||A.parser===\"__babel_estree\")&&De.type===\"MethodDefinition\"&&De.value&&De.value.type===\"FunctionExpression\"&&g(De.value).length===0&&!De.value.returnType&&!h(De.value.typeParameters)&&De.value.body)return [...De.decorators||[],De.key,De.value.body]}function Ee(De){let A=De.getValue(),G=De.getParentNode(),re=ye=>_(D(ye,T.Leading))||_(D(ye,T.Trailing));return (A&&(f(A)||F(A)||x(G)&&re(A))||G&&(G.type===\"JSXSpreadAttribute\"||G.type===\"JSXSpreadChild\"||G.type===\"UnionTypeAnnotation\"||G.type===\"TSUnionType\"||(G.type===\"ClassDeclaration\"||G.type===\"ClassExpression\")&&G.superClass===A))&&(!w(De)||G.type===\"UnionTypeAnnotation\"||G.type===\"TSUnionType\")}r.exports={handleOwnLineComment:S,handleEndOfLineComment:b,handleRemainingComment:B,getCommentChildNodes:Ae,willPrintOwnComments:Ee};}}),qt=te({\"src/language-js/needs-parens.js\"(e,r){ne();var t=lt(),s=Kn(),{getFunctionParameters:a,getLeftSidePathName:n,hasFlowShorthandAnnotationComment:u,hasNakedLeftSide:i,hasNode:l,isBitwiseOperator:p,startsWithNoLookaheadToken:y,shouldFlatten:h,getPrecedence:g,isCallExpression:c,isMemberExpression:f,isObjectProperty:F,isTSTypeExpression:_}=Ke();function w(D,T){let m=D.getParentNode();if(!m)return !1;let C=D.getName(),o=D.getNode();if(T.__isInHtmlInterpolation&&!T.bracketSpacing&&I(o)&&P(D))return !0;if(E(o))return !1;if(T.parser!==\"flow\"&&u(D.getValue()))return !0;if(o.type===\"Identifier\"){if(o.extra&&o.extra.parenthesized&&/^PRETTIER_HTML_PLACEHOLDER_\\d+_\\d+_IN_JS$/.test(o.name)||C===\"left\"&&(o.name===\"async\"&&!m.await||o.name===\"let\")&&m.type===\"ForOfStatement\")return !0;if(o.name===\"let\"){var d;let S=(d=D.findAncestor(b=>b.type===\"ForOfStatement\"))===null||d===void 0?void 0:d.left;if(S&&y(S,b=>b===o))return !0}if(C===\"object\"&&o.name===\"let\"&&m.type===\"MemberExpression\"&&m.computed&&!m.optional){let S=D.findAncestor(B=>B.type===\"ExpressionStatement\"||B.type===\"ForStatement\"||B.type===\"ForInStatement\"),b=S?S.type===\"ExpressionStatement\"?S.expression:S.type===\"ForStatement\"?S.init:S.left:void 0;if(b&&y(b,B=>B===o))return !0}return !1}if(o.type===\"ObjectExpression\"||o.type===\"FunctionExpression\"||o.type===\"ClassExpression\"||o.type===\"DoExpression\"){var v;let S=(v=D.findAncestor(b=>b.type===\"ExpressionStatement\"))===null||v===void 0?void 0:v.expression;if(S&&y(S,b=>b===o))return !0}switch(m.type){case\"ParenthesizedExpression\":return !1;case\"ClassDeclaration\":case\"ClassExpression\":{if(C===\"superClass\"&&(o.type===\"ArrowFunctionExpression\"||o.type===\"AssignmentExpression\"||o.type===\"AwaitExpression\"||o.type===\"BinaryExpression\"||o.type===\"ConditionalExpression\"||o.type===\"LogicalExpression\"||o.type===\"NewExpression\"||o.type===\"ObjectExpression\"||o.type===\"SequenceExpression\"||o.type===\"TaggedTemplateExpression\"||o.type===\"UnaryExpression\"||o.type===\"UpdateExpression\"||o.type===\"YieldExpression\"||o.type===\"TSNonNullExpression\"))return !0;break}case\"ExportDefaultDeclaration\":return $(D,T)||o.type===\"SequenceExpression\";case\"Decorator\":{if(C===\"expression\"){if(f(o)&&o.computed)return !0;let S=!1,b=!1,B=o;for(;B;)switch(B.type){case\"MemberExpression\":b=!0,B=B.object;break;case\"CallExpression\":if(b||S)return T.parser!==\"typescript\";S=!0,B=B.callee;break;case\"Identifier\":return !1;case\"TaggedTemplateExpression\":return T.parser!==\"typescript\";default:return !0}return !0}break}case\"ArrowFunctionExpression\":{if(C===\"body\"&&o.type!==\"SequenceExpression\"&&y(o,S=>S.type===\"ObjectExpression\"))return !0;break}}switch(o.type){case\"UpdateExpression\":if(m.type===\"UnaryExpression\")return o.prefix&&(o.operator===\"++\"&&m.operator===\"+\"||o.operator===\"--\"&&m.operator===\"-\");case\"UnaryExpression\":switch(m.type){case\"UnaryExpression\":return o.operator===m.operator&&(o.operator===\"+\"||o.operator===\"-\");case\"BindExpression\":return !0;case\"MemberExpression\":case\"OptionalMemberExpression\":return C===\"object\";case\"TaggedTemplateExpression\":return !0;case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return C===\"callee\";case\"BinaryExpression\":return C===\"left\"&&m.operator===\"**\";case\"TSNonNullExpression\":return !0;default:return !1}case\"BinaryExpression\":{if(m.type===\"UpdateExpression\"||o.operator===\"in\"&&N(D))return !0;if(o.operator===\"|>\"&&o.extra&&o.extra.parenthesized){let S=D.getParentNode(1);if(S.type===\"BinaryExpression\"&&S.operator===\"|>\")return !0}}case\"TSTypeAssertion\":case\"TSAsExpression\":case\"TSSatisfiesExpression\":case\"LogicalExpression\":switch(m.type){case\"TSSatisfiesExpression\":case\"TSAsExpression\":return !_(o);case\"ConditionalExpression\":return _(o);case\"CallExpression\":case\"NewExpression\":case\"OptionalCallExpression\":return C===\"callee\";case\"ClassExpression\":case\"ClassDeclaration\":return C===\"superClass\";case\"TSTypeAssertion\":case\"TaggedTemplateExpression\":case\"UnaryExpression\":case\"JSXSpreadAttribute\":case\"SpreadElement\":case\"SpreadProperty\":case\"BindExpression\":case\"AwaitExpression\":case\"TSNonNullExpression\":case\"UpdateExpression\":return !0;case\"MemberExpression\":case\"OptionalMemberExpression\":return C===\"object\";case\"AssignmentExpression\":case\"AssignmentPattern\":return C===\"left\"&&(o.type===\"TSTypeAssertion\"||_(o));case\"LogicalExpression\":if(o.type===\"LogicalExpression\")return m.operator!==o.operator;case\"BinaryExpression\":{let{operator:S,type:b}=o;if(!S&&b!==\"TSTypeAssertion\")return !0;let B=g(S),k=m.operator,M=g(k);return M>B||C===\"right\"&&M===B||M===B&&!h(k,S)?!0:M\");default:return !1}case\"TSConditionalType\":case\"TSFunctionType\":case\"TSConstructorType\":if(C===\"extendsType\"&&m.type===\"TSConditionalType\"){if(o.type===\"TSConditionalType\")return !0;let{typeAnnotation:S}=o.returnType||o.typeAnnotation;if(S.type===\"TSTypePredicate\"&&S.typeAnnotation&&(S=S.typeAnnotation.typeAnnotation),S.type===\"TSInferType\"&&S.typeParameter.constraint)return !0}if(C===\"checkType\"&&m.type===\"TSConditionalType\")return !0;case\"TSUnionType\":case\"TSIntersectionType\":if((m.type===\"TSUnionType\"||m.type===\"TSIntersectionType\")&&m.types.length>1&&(!o.types||o.types.length>1))return !0;case\"TSInferType\":if(o.type===\"TSInferType\"&&m.type===\"TSRestType\")return !1;case\"TSTypeOperator\":return m.type===\"TSArrayType\"||m.type===\"TSOptionalType\"||m.type===\"TSRestType\"||C===\"objectType\"&&m.type===\"TSIndexedAccessType\"||m.type===\"TSTypeOperator\"||m.type===\"TSTypeAnnotation\"&&D.getParentNode(1).type.startsWith(\"TSJSDoc\");case\"TSTypeQuery\":return C===\"objectType\"&&m.type===\"TSIndexedAccessType\"||C===\"elementType\"&&m.type===\"TSArrayType\";case\"TypeofTypeAnnotation\":return C===\"objectType\"&&(m.type===\"IndexedAccessType\"||m.type===\"OptionalIndexedAccessType\")||C===\"elementType\"&&m.type===\"ArrayTypeAnnotation\";case\"ArrayTypeAnnotation\":return m.type===\"NullableTypeAnnotation\";case\"IntersectionTypeAnnotation\":case\"UnionTypeAnnotation\":return m.type===\"ArrayTypeAnnotation\"||m.type===\"NullableTypeAnnotation\"||m.type===\"IntersectionTypeAnnotation\"||m.type===\"UnionTypeAnnotation\"||C===\"objectType\"&&(m.type===\"IndexedAccessType\"||m.type===\"OptionalIndexedAccessType\");case\"NullableTypeAnnotation\":return m.type===\"ArrayTypeAnnotation\"||C===\"objectType\"&&(m.type===\"IndexedAccessType\"||m.type===\"OptionalIndexedAccessType\");case\"FunctionTypeAnnotation\":{let S=m.type===\"NullableTypeAnnotation\"?D.getParentNode(1):m;return S.type===\"UnionTypeAnnotation\"||S.type===\"IntersectionTypeAnnotation\"||S.type===\"ArrayTypeAnnotation\"||C===\"objectType\"&&(S.type===\"IndexedAccessType\"||S.type===\"OptionalIndexedAccessType\")||S.type===\"NullableTypeAnnotation\"||m.type===\"FunctionTypeParam\"&&m.name===null&&a(o).some(b=>b.typeAnnotation&&b.typeAnnotation.type===\"NullableTypeAnnotation\")}case\"OptionalIndexedAccessType\":return C===\"objectType\"&&m.type===\"IndexedAccessType\";case\"StringLiteral\":case\"NumericLiteral\":case\"Literal\":if(typeof o.value==\"string\"&&m.type===\"ExpressionStatement\"&&!m.directive){let S=D.getParentNode(1);return S.type===\"Program\"||S.type===\"BlockStatement\"}return C===\"object\"&&m.type===\"MemberExpression\"&&typeof o.value==\"number\";case\"AssignmentExpression\":{let S=D.getParentNode(1);return C===\"body\"&&m.type===\"ArrowFunctionExpression\"?!0:C===\"key\"&&(m.type===\"ClassProperty\"||m.type===\"PropertyDefinition\")&&m.computed||(C===\"init\"||C===\"update\")&&m.type===\"ForStatement\"?!1:m.type===\"ExpressionStatement\"?o.left.type===\"ObjectPattern\":!(C===\"key\"&&m.type===\"TSPropertySignature\"||m.type===\"AssignmentExpression\"||m.type===\"SequenceExpression\"&&S&&S.type===\"ForStatement\"&&(S.init===m||S.update===m)||C===\"value\"&&m.type===\"Property\"&&S&&S.type===\"ObjectPattern\"&&S.properties.includes(m)||m.type===\"NGChainedExpression\")}case\"ConditionalExpression\":switch(m.type){case\"TaggedTemplateExpression\":case\"UnaryExpression\":case\"SpreadElement\":case\"SpreadProperty\":case\"BinaryExpression\":case\"LogicalExpression\":case\"NGPipeExpression\":case\"ExportDefaultDeclaration\":case\"AwaitExpression\":case\"JSXSpreadAttribute\":case\"TSTypeAssertion\":case\"TypeCastExpression\":case\"TSAsExpression\":case\"TSSatisfiesExpression\":case\"TSNonNullExpression\":return !0;case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return C===\"callee\";case\"ConditionalExpression\":return C===\"test\";case\"MemberExpression\":case\"OptionalMemberExpression\":return C===\"object\";default:return !1}case\"FunctionExpression\":switch(m.type){case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return C===\"callee\";case\"TaggedTemplateExpression\":return !0;default:return !1}case\"ArrowFunctionExpression\":switch(m.type){case\"BinaryExpression\":return m.operator!==\"|>\"||o.extra&&o.extra.parenthesized;case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return C===\"callee\";case\"MemberExpression\":case\"OptionalMemberExpression\":return C===\"object\";case\"TSAsExpression\":case\"TSSatisfiesExpression\":case\"TSNonNullExpression\":case\"BindExpression\":case\"TaggedTemplateExpression\":case\"UnaryExpression\":case\"LogicalExpression\":case\"AwaitExpression\":case\"TSTypeAssertion\":return !0;case\"ConditionalExpression\":return C===\"test\";default:return !1}case\"ClassExpression\":if(s(o.decorators))return !0;switch(m.type){case\"NewExpression\":return C===\"callee\";default:return !1}case\"OptionalMemberExpression\":case\"OptionalCallExpression\":{let S=D.getParentNode(1);if(C===\"object\"&&m.type===\"MemberExpression\"||C===\"callee\"&&(m.type===\"CallExpression\"||m.type===\"NewExpression\")||m.type===\"TSNonNullExpression\"&&S.type===\"MemberExpression\"&&S.object===m)return !0}case\"CallExpression\":case\"MemberExpression\":case\"TaggedTemplateExpression\":case\"TSNonNullExpression\":if(C===\"callee\"&&(m.type===\"BindExpression\"||m.type===\"NewExpression\")){let S=o;for(;S;)switch(S.type){case\"CallExpression\":case\"OptionalCallExpression\":return !0;case\"MemberExpression\":case\"OptionalMemberExpression\":case\"BindExpression\":S=S.object;break;case\"TaggedTemplateExpression\":S=S.tag;break;case\"TSNonNullExpression\":S=S.expression;break;default:return !1}}return !1;case\"BindExpression\":return C===\"callee\"&&(m.type===\"BindExpression\"||m.type===\"NewExpression\")||C===\"object\"&&f(m);case\"NGPipeExpression\":return !(m.type===\"NGRoot\"||m.type===\"NGMicrosyntaxExpression\"||m.type===\"ObjectProperty\"&&!(o.extra&&o.extra.parenthesized)||m.type===\"ArrayExpression\"||c(m)&&m.arguments[C]===o||C===\"right\"&&m.type===\"NGPipeExpression\"||C===\"property\"&&m.type===\"MemberExpression\"||m.type===\"AssignmentExpression\");case\"JSXFragment\":case\"JSXElement\":return C===\"callee\"||C===\"left\"&&m.type===\"BinaryExpression\"&&m.operator===\"<\"||m.type!==\"ArrayExpression\"&&m.type!==\"ArrowFunctionExpression\"&&m.type!==\"AssignmentExpression\"&&m.type!==\"AssignmentPattern\"&&m.type!==\"BinaryExpression\"&&m.type!==\"NewExpression\"&&m.type!==\"ConditionalExpression\"&&m.type!==\"ExpressionStatement\"&&m.type!==\"JsExpressionRoot\"&&m.type!==\"JSXAttribute\"&&m.type!==\"JSXElement\"&&m.type!==\"JSXExpressionContainer\"&&m.type!==\"JSXFragment\"&&m.type!==\"LogicalExpression\"&&!c(m)&&!F(m)&&m.type!==\"ReturnStatement\"&&m.type!==\"ThrowStatement\"&&m.type!==\"TypeCastExpression\"&&m.type!==\"VariableDeclarator\"&&m.type!==\"YieldExpression\";case\"TypeAnnotation\":return C===\"returnType\"&&m.type===\"ArrowFunctionExpression\"&&x(o)}return !1}function E(D){return D.type===\"BlockStatement\"||D.type===\"BreakStatement\"||D.type===\"ClassBody\"||D.type===\"ClassDeclaration\"||D.type===\"ClassMethod\"||D.type===\"ClassProperty\"||D.type===\"PropertyDefinition\"||D.type===\"ClassPrivateProperty\"||D.type===\"ContinueStatement\"||D.type===\"DebuggerStatement\"||D.type===\"DeclareClass\"||D.type===\"DeclareExportAllDeclaration\"||D.type===\"DeclareExportDeclaration\"||D.type===\"DeclareFunction\"||D.type===\"DeclareInterface\"||D.type===\"DeclareModule\"||D.type===\"DeclareModuleExports\"||D.type===\"DeclareVariable\"||D.type===\"DoWhileStatement\"||D.type===\"EnumDeclaration\"||D.type===\"ExportAllDeclaration\"||D.type===\"ExportDefaultDeclaration\"||D.type===\"ExportNamedDeclaration\"||D.type===\"ExpressionStatement\"||D.type===\"ForInStatement\"||D.type===\"ForOfStatement\"||D.type===\"ForStatement\"||D.type===\"FunctionDeclaration\"||D.type===\"IfStatement\"||D.type===\"ImportDeclaration\"||D.type===\"InterfaceDeclaration\"||D.type===\"LabeledStatement\"||D.type===\"MethodDefinition\"||D.type===\"ReturnStatement\"||D.type===\"SwitchStatement\"||D.type===\"ThrowStatement\"||D.type===\"TryStatement\"||D.type===\"TSDeclareFunction\"||D.type===\"TSEnumDeclaration\"||D.type===\"TSImportEqualsDeclaration\"||D.type===\"TSInterfaceDeclaration\"||D.type===\"TSModuleDeclaration\"||D.type===\"TSNamespaceExportDeclaration\"||D.type===\"TypeAlias\"||D.type===\"VariableDeclaration\"||D.type===\"WhileStatement\"||D.type===\"WithStatement\"}function N(D){let T=0,m=D.getValue();for(;m;){let C=D.getParentNode(T++);if(C&&C.type===\"ForStatement\"&&C.init===m)return !0;m=C;}return !1}function x(D){return l(D,T=>T.type===\"ObjectTypeAnnotation\"&&l(T,m=>m.type===\"FunctionTypeAnnotation\"||void 0)||void 0)}function I(D){switch(D.type){case\"ObjectExpression\":return !0;default:return !1}}function P(D){let T=D.getValue(),m=D.getParentNode(),C=D.getName();switch(m.type){case\"NGPipeExpression\":if(typeof C==\"number\"&&m.arguments[C]===T&&m.arguments.length-1===C)return D.callParent(P);break;case\"ObjectProperty\":if(C===\"value\"){let o=D.getParentNode(1);return t(o.properties)===m}break;case\"BinaryExpression\":case\"LogicalExpression\":if(C===\"right\")return D.callParent(P);break;case\"ConditionalExpression\":if(C===\"alternate\")return D.callParent(P);break;case\"UnaryExpression\":if(m.prefix)return D.callParent(P);break}return !1}function $(D,T){let m=D.getValue(),C=D.getParentNode();return m.type===\"FunctionExpression\"||m.type===\"ClassExpression\"?C.type===\"ExportDefaultDeclaration\"||!w(D,T):!i(m)||C.type!==\"ExportDefaultDeclaration\"&&w(D,T)?!1:D.call(o=>$(o,T),...n(D,m))}r.exports=w;}}),Fo=te({\"src/language-js/print-preprocess.js\"(e,r){ne();function t(s,a){switch(a.parser){case\"json\":case\"json5\":case\"json-stringify\":case\"__js_expression\":case\"__vue_expression\":case\"__vue_ts_expression\":return Object.assign(Object.assign({},s),{},{type:a.parser.startsWith(\"__\")?\"JsExpressionRoot\":\"JsonRoot\",node:s,comments:[],rootMarker:a.rootMarker});default:return s}}r.exports=t;}}),pd=te({\"src/language-js/print/html-binding.js\"(e,r){ne();var{builders:{join:t,line:s,group:a,softline:n,indent:u}}=qe();function i(p,y,h){let g=p.getValue();if(y.__onHtmlBindingRoot&&p.getName()===null&&y.__onHtmlBindingRoot(g,y),g.type===\"File\"){if(y.__isVueForBindingLeft)return p.call(c=>{let f=t([\",\",s],c.map(h,\"params\")),{params:F}=c.getValue();return F.length===1?f:[\"(\",u([n,a(f)]),n,\")\"]},\"program\",\"body\",0);if(y.__isVueBindings)return p.call(c=>t([\",\",s],c.map(h,\"params\")),\"program\",\"body\",0)}}function l(p){switch(p.type){case\"MemberExpression\":switch(p.property.type){case\"Identifier\":case\"NumericLiteral\":case\"StringLiteral\":return l(p.object)}return !1;case\"Identifier\":return !0;default:return !1}}r.exports={isVueEventBindingExpression:l,printHtmlBinding:i};}}),ru=te({\"src/language-js/print/binaryish.js\"(e,r){ne();var{printComments:t}=et(),{getLast:s}=Ue(),{builders:{join:a,line:n,softline:u,group:i,indent:l,align:p,indentIfBreak:y},utils:{cleanDoc:h,getDocParts:g,isConcat:c}}=qe(),{hasLeadingOwnLineComment:f,isBinaryish:F,isJsxNode:_,shouldFlatten:w,hasComment:E,CommentCheckFlags:N,isCallExpression:x,isMemberExpression:I,isObjectProperty:P,isEnabledHackPipeline:$}=Ke(),D=0;function T(o,d,v){let S=o.getValue(),b=o.getParentNode(),B=o.getParentNode(1),k=S!==b.body&&(b.type===\"IfStatement\"||b.type===\"WhileStatement\"||b.type===\"SwitchStatement\"||b.type===\"DoWhileStatement\"),M=$(d)&&S.operator===\"|>\",R=m(o,v,d,!1,k);if(k)return R;if(M)return i(R);if(x(b)&&b.callee===S||b.type===\"UnaryExpression\"||I(b)&&!b.computed)return i([l([u,...R]),u]);let q=b.type===\"ReturnStatement\"||b.type===\"ThrowStatement\"||b.type===\"JSXExpressionContainer\"&&B.type===\"JSXAttribute\"||S.operator!==\"|\"&&b.type===\"JsExpressionRoot\"||S.type!==\"NGPipeExpression\"&&(b.type===\"NGRoot\"&&d.parser===\"__ng_binding\"||b.type===\"NGMicrosyntaxExpression\"&&B.type===\"NGMicrosyntax\"&&B.body.length===1)||S===b.body&&b.type===\"ArrowFunctionExpression\"||S!==b.body&&b.type===\"ForStatement\"||b.type===\"ConditionalExpression\"&&B.type!==\"ReturnStatement\"&&B.type!==\"ThrowStatement\"&&!x(B)||b.type===\"TemplateLiteral\",J=b.type===\"AssignmentExpression\"||b.type===\"VariableDeclarator\"||b.type===\"ClassProperty\"||b.type===\"PropertyDefinition\"||b.type===\"TSAbstractPropertyDefinition\"||b.type===\"ClassPrivateProperty\"||P(b),L=F(S.left)&&w(S.operator,S.left.operator);if(q||C(S)&&!L||!C(S)&&J)return i(R);if(R.length===0)return \"\";let Q=_(S.right),V=R.findIndex(W=>typeof W!=\"string\"&&!Array.isArray(W)&&W.type===\"group\"),j=R.slice(0,V===-1?1:V+1),Y=R.slice(j.length,Q?-1:void 0),ie=Symbol(\"logicalChain-\"+ ++D),ee=i([...j,l(Y)],{id:ie});if(!Q)return ee;let ce=s(R);return i([ee,y(ce,{groupId:ie})])}function m(o,d,v,S,b){let B=o.getValue();if(!F(B))return [i(d())];let k=[];w(B.operator,B.left.operator)?k=o.call(Y=>m(Y,d,v,!0,b),\"left\"):k.push(i(d(\"left\")));let M=C(B),R=(B.operator===\"|>\"||B.type===\"NGPipeExpression\"||B.operator===\"|\"&&v.parser===\"__vue_expression\")&&!f(v.originalText,B.right),q=B.type===\"NGPipeExpression\"?\"|\":B.operator,J=B.type===\"NGPipeExpression\"&&B.arguments.length>0?i(l([n,\": \",a([n,\": \"],o.map(d,\"arguments\").map(Y=>p(2,i(Y))))])):\"\",L;if(M)L=[q,\" \",d(\"right\"),J];else {let ie=$(v)&&q===\"|>\"?o.call(ee=>m(ee,d,v,!0,b),\"right\"):d(\"right\");L=[R?n:\"\",q,R?\" \":n,ie,J];}let Q=o.getParentNode(),V=E(B.left,N.Trailing|N.Line),j=V||!(b&&B.type===\"LogicalExpression\")&&Q.type!==B.type&&B.left.type!==B.type&&B.right.type!==B.type;if(k.push(R?\"\":\" \",j?i(L,{shouldBreak:V}):L),S&&E(B)){let Y=h(t(o,k,v));return c(Y)||Y.type===\"fill\"?g(Y):[Y]}return k}function C(o){return o.type!==\"LogicalExpression\"?!1:!!(o.right.type===\"ObjectExpression\"&&o.right.properties.length>0||o.right.type===\"ArrayExpression\"&&o.right.elements.length>0||_(o.right))}r.exports={printBinaryishExpression:T,shouldInlineLogicalExpression:C};}}),fd=te({\"src/language-js/print/angular.js\"(e,r){ne();var{builders:{join:t,line:s,group:a}}=qe(),{hasNode:n,hasComment:u,getComments:i}=Ke(),{printBinaryishExpression:l}=ru();function p(g,c,f){let F=g.getValue();if(F.type.startsWith(\"NG\"))switch(F.type){case\"NGRoot\":return [f(\"node\"),u(F.node)?\" //\"+i(F.node)[0].value.trimEnd():\"\"];case\"NGPipeExpression\":return l(g,c,f);case\"NGChainedExpression\":return a(t([\";\",s],g.map(_=>h(_)?f():[\"(\",f(),\")\"],\"expressions\")));case\"NGEmptyExpression\":return \"\";case\"NGQuotedExpression\":return [F.prefix,\": \",F.value.trim()];case\"NGMicrosyntax\":return g.map((_,w)=>[w===0?\"\":y(_.getValue(),w,F)?\" \":[\";\",s],f()],\"body\");case\"NGMicrosyntaxKey\":return /^[$_a-z][\\w$]*(?:-[$_a-z][\\w$])*$/i.test(F.name)?F.name:JSON.stringify(F.name);case\"NGMicrosyntaxExpression\":return [f(\"expression\"),F.alias===null?\"\":[\" as \",f(\"alias\")]];case\"NGMicrosyntaxKeyedExpression\":{let _=g.getName(),w=g.getParentNode(),E=y(F,_,w)||(_===1&&(F.key.name===\"then\"||F.key.name===\"else\")||_===2&&F.key.name===\"else\"&&w.body[_-1].type===\"NGMicrosyntaxKeyedExpression\"&&w.body[_-1].key.name===\"then\")&&w.body[0].type===\"NGMicrosyntaxExpression\";return [f(\"key\"),E?\" \":\": \",f(\"expression\")]}case\"NGMicrosyntaxLet\":return [\"let \",f(\"key\"),F.value===null?\"\":[\" = \",f(\"value\")]];case\"NGMicrosyntaxAs\":return [f(\"key\"),\" as \",f(\"alias\")];default:throw new Error(`Unknown Angular node type: ${JSON.stringify(F.type)}.`)}}function y(g,c,f){return g.type===\"NGMicrosyntaxKeyedExpression\"&&g.key.name===\"of\"&&c===1&&f.body[0].type===\"NGMicrosyntaxLet\"&&f.body[0].value===null}function h(g){return n(g.getValue(),c=>{switch(c.type){case void 0:return !1;case\"CallExpression\":case\"OptionalCallExpression\":case\"AssignmentExpression\":return !0}})}r.exports={printAngular:p};}}),Dd=te({\"src/language-js/print/jsx.js\"(e,r){ne();var{printComments:t,printDanglingComments:s,printCommentsSeparately:a}=et(),{builders:{line:n,hardline:u,softline:i,group:l,indent:p,conditionalGroup:y,fill:h,ifBreak:g,lineSuffixBoundary:c,join:f},utils:{willBreak:F}}=qe(),{getLast:_,getPreferredQuote:w}=Ue(),{isJsxNode:E,rawText:N,isCallExpression:x,isStringLiteral:I,isBinaryish:P,hasComment:$,CommentCheckFlags:D,hasNodeIgnoreComment:T}=Ke(),m=qt(),{willPrintOwnComments:C}=Eo(),o=U=>U===\"\"||U===n||U===u||U===i;function d(U,Z,se){let fe=U.getValue();if(fe.type===\"JSXElement\"&&de(fe))return [se(\"openingElement\"),se(\"closingElement\")];let ge=fe.type===\"JSXElement\"?se(\"openingElement\"):se(\"openingFragment\"),he=fe.type===\"JSXElement\"?se(\"closingElement\"):se(\"closingFragment\");if(fe.children.length===1&&fe.children[0].type===\"JSXExpressionContainer\"&&(fe.children[0].expression.type===\"TemplateLiteral\"||fe.children[0].expression.type===\"TaggedTemplateExpression\"))return [ge,...U.map(se,\"children\"),he];fe.children=fe.children.map(A=>Fe(A)?{type:\"JSXText\",value:\" \",raw:\" \"}:A);let we=fe.children.some(E),ke=fe.children.filter(A=>A.type===\"JSXExpressionContainer\").length>1,Re=fe.type===\"JSXElement\"&&fe.openingElement.attributes.length>1,Ne=F(ge)||we||Re||ke,Pe=U.getParentNode().rootMarker===\"mdx\",oe=Z.singleQuote?\"{' '}\":'{\" \"}',H=Pe?\" \":g([oe,i],\" \"),pe=fe.openingElement&&fe.openingElement.name&&fe.openingElement.name.name===\"fbt\",X=v(U,Z,se,H,pe),le=fe.children.some(A=>ue(A));for(let A=X.length-2;A>=0;A--){let G=X[A]===\"\"&&X[A+1]===\"\",re=X[A]===u&&X[A+1]===\"\"&&X[A+2]===u,ye=(X[A]===i||X[A]===u)&&X[A+1]===\"\"&&X[A+2]===H,Ce=X[A]===H&&X[A+1]===\"\"&&(X[A+2]===i||X[A+2]===u),Be=X[A]===H&&X[A+1]===\"\"&&X[A+2]===H,ve=X[A]===i&&X[A+1]===\"\"&&X[A+2]===u||X[A]===u&&X[A+1]===\"\"&&X[A+2]===i;re&&le||G||ye||Be||ve?X.splice(A,2):Ce&&X.splice(A+1,2);}for(;X.length>0&&o(_(X));)X.pop();for(;X.length>1&&o(X[0])&&o(X[1]);)X.shift(),X.shift();let Ae=[];for(let[A,G]of X.entries()){if(G===H){if(A===1&&X[A-1]===\"\"){if(X.length===2){Ae.push(oe);continue}Ae.push([oe,u]);continue}else if(A===X.length-1){Ae.push(oe);continue}else if(X[A-1]===\"\"&&X[A-2]===u){Ae.push(oe);continue}}Ae.push(G),F(G)&&(Ne=!0);}let Ee=le?h(Ae):l(Ae,{shouldBreak:!0});if(Pe)return Ee;let De=l([ge,p([u,Ee]),u,he]);return Ne?De:y([l([ge,...X,he]),De])}function v(U,Z,se,fe,ge){let he=[];return U.each((we,ke,Re)=>{let Ne=we.getValue();if(Ne.type===\"JSXText\"){let Pe=N(Ne);if(ue(Ne)){let oe=Pe.split(ce);if(oe[0]===\"\"){if(he.push(\"\"),oe.shift(),/\\n/.test(oe[0])){let pe=Re[ke+1];he.push(b(ge,oe[1],Ne,pe));}else he.push(fe);oe.shift();}let H;if(_(oe)===\"\"&&(oe.pop(),H=oe.pop()),oe.length===0)return;for(let[pe,X]of oe.entries())pe%2===1?he.push(n):he.push(X);if(H!==void 0)if(/\\n/.test(H)){let pe=Re[ke+1];he.push(b(ge,_(he),Ne,pe));}else he.push(fe);else {let pe=Re[ke+1];he.push(S(ge,_(he),Ne,pe));}}else /\\n/.test(Pe)?Pe.match(/\\n/g).length>1&&he.push(\"\",u):he.push(\"\",fe);}else {let Pe=se();he.push(Pe);let oe=Re[ke+1];if(oe&&ue(oe)){let pe=K(N(oe)).split(ce)[0];he.push(S(ge,pe,Ne,oe));}else he.push(u);}},\"children\"),he}function S(U,Z,se,fe){return U?\"\":se.type===\"JSXElement\"&&!se.closingElement||fe&&fe.type===\"JSXElement\"&&!fe.closingElement?Z.length===1?i:u:i}function b(U,Z,se,fe){return U?u:Z.length===1?se.type===\"JSXElement\"&&!se.closingElement||fe&&fe.type===\"JSXElement\"&&!fe.closingElement?u:i:u}function B(U,Z,se){let fe=U.getParentNode();if(!fe||{ArrayExpression:!0,JSXAttribute:!0,JSXElement:!0,JSXExpressionContainer:!0,JSXFragment:!0,ExpressionStatement:!0,CallExpression:!0,OptionalCallExpression:!0,ConditionalExpression:!0,JsExpressionRoot:!0}[fe.type])return Z;let he=U.match(void 0,ke=>ke.type===\"ArrowFunctionExpression\",x,ke=>ke.type===\"JSXExpressionContainer\"),we=m(U,se);return l([we?\"\":g(\"(\"),p([i,Z]),i,we?\"\":g(\")\")],{shouldBreak:he})}function k(U,Z,se){let fe=U.getValue(),ge=[];if(ge.push(se(\"name\")),fe.value){let he;if(I(fe.value)){let ke=N(fe.value).slice(1,-1).replace(/'/g,\"'\").replace(/"/g,'\"'),{escaped:Re,quote:Ne,regex:Pe}=w(ke,Z.jsxSingleQuote?\"'\":'\"');ke=ke.replace(Pe,Re);let{leading:oe,trailing:H}=U.call(()=>a(U,Z),\"value\");he=[oe,Ne,ke,Ne,H];}else he=se(\"value\");ge.push(\"=\",he);}return ge}function M(U,Z,se){let fe=U.getValue(),ge=(he,we)=>he.type===\"JSXEmptyExpression\"||!$(he)&&(he.type===\"ArrayExpression\"||he.type===\"ObjectExpression\"||he.type===\"ArrowFunctionExpression\"||he.type===\"AwaitExpression\"&&(ge(he.argument,he)||he.argument.type===\"JSXElement\")||x(he)||he.type===\"FunctionExpression\"||he.type===\"TemplateLiteral\"||he.type===\"TaggedTemplateExpression\"||he.type===\"DoExpression\"||E(we)&&(he.type===\"ConditionalExpression\"||P(he)));return ge(fe.expression,U.getParentNode(0))?l([\"{\",se(\"expression\"),c,\"}\"]):l([\"{\",p([i,se(\"expression\")]),i,c,\"}\"])}function R(U,Z,se){let fe=U.getValue(),ge=fe.name&&$(fe.name)||fe.typeParameters&&$(fe.typeParameters);if(fe.selfClosing&&fe.attributes.length===0&&!ge)return [\"<\",se(\"name\"),se(\"typeParameters\"),\" />\"];if(fe.attributes&&fe.attributes.length===1&&fe.attributes[0].value&&I(fe.attributes[0].value)&&!fe.attributes[0].value.value.includes(`\n`)&&!ge&&!$(fe.attributes[0]))return l([\"<\",se(\"name\"),se(\"typeParameters\"),\" \",...U.map(se,\"attributes\"),fe.selfClosing?\" />\":\">\"]);let he=fe.attributes&&fe.attributes.some(ke=>ke.value&&I(ke.value)&&ke.value.value.includes(`\n`)),we=Z.singleAttributePerLine&&fe.attributes.length>1?u:n;return l([\"<\",se(\"name\"),se(\"typeParameters\"),p(U.map(()=>[we,se()],\"attributes\")),...q(fe,Z,ge)],{shouldBreak:he})}function q(U,Z,se){return U.selfClosing?[n,\"/>\"]:J(U,Z,se)?[\">\"]:[i,\">\"]}function J(U,Z,se){let fe=U.attributes.length>0&&$(_(U.attributes),D.Trailing);return U.attributes.length===0&&!se||(Z.bracketSameLine||Z.jsxBracketSameLine)&&(!se||U.attributes.length>0)&&!fe}function L(U,Z,se){let fe=U.getValue(),ge=[];ge.push(\"\"),ge}function Q(U,Z){let se=U.getValue(),fe=$(se),ge=$(se,D.Line),he=se.type===\"JSXOpeningFragment\";return [he?\"<\":\"\"]}function V(U,Z,se){let fe=t(U,d(U,Z,se),Z);return B(U,fe,Z)}function j(U,Z){let se=U.getValue(),fe=$(se,D.Line);return [s(U,Z,!fe),fe?u:\"\"]}function Y(U,Z,se){let fe=U.getValue();return [\"{\",U.call(ge=>{let he=[\"...\",se()],we=ge.getValue();return !$(we)||!C(ge)?he:[p([i,t(ge,he,Z)]),i]},fe.type===\"JSXSpreadAttribute\"?\"argument\":\"expression\"),\"}\"]}function ie(U,Z,se){let fe=U.getValue();if(fe.type.startsWith(\"JSX\"))switch(fe.type){case\"JSXAttribute\":return k(U,Z,se);case\"JSXIdentifier\":return String(fe.name);case\"JSXNamespacedName\":return f(\":\",[se(\"namespace\"),se(\"name\")]);case\"JSXMemberExpression\":return f(\".\",[se(\"object\"),se(\"property\")]);case\"JSXSpreadAttribute\":return Y(U,Z,se);case\"JSXSpreadChild\":return Y(U,Z,se);case\"JSXExpressionContainer\":return M(U,Z,se);case\"JSXFragment\":case\"JSXElement\":return V(U,Z,se);case\"JSXOpeningElement\":return R(U,Z,se);case\"JSXClosingElement\":return L(U,Z,se);case\"JSXOpeningFragment\":case\"JSXClosingFragment\":return Q(U,Z);case\"JSXEmptyExpression\":return j(U,Z);case\"JSXText\":throw new Error(\"JSXText should be handled by JSXElement\");default:throw new Error(`Unknown JSX node type: ${JSON.stringify(fe.type)}.`)}}var ee=` \n\\r\t`,ce=new RegExp(\"([\"+ee+\"]+)\"),W=new RegExp(\"[^\"+ee+\"]\"),K=U=>U.replace(new RegExp(\"(?:^\"+ce.source+\"|\"+ce.source+\"$)\"),\"\");function de(U){if(U.children.length===0)return !0;if(U.children.length>1)return !1;let Z=U.children[0];return Z.type===\"JSXText\"&&!ue(Z)}function ue(U){return U.type===\"JSXText\"&&(W.test(N(U))||!/\\n/.test(N(U)))}function Fe(U){return U.type===\"JSXExpressionContainer\"&&I(U.expression)&&U.expression.value===\" \"&&!$(U.expression)}function z(U){let Z=U.getValue(),se=U.getParentNode();if(!se||!Z||!E(Z)||!E(se))return !1;let fe=se.children.indexOf(Z),ge=null;for(let he=fe;he>0;he--){let we=se.children[he-1];if(!(we.type===\"JSXText\"&&!ue(we))){ge=we;break}}return ge&&ge.type===\"JSXExpressionContainer\"&&ge.expression.type===\"JSXEmptyExpression\"&&T(ge.expression)}r.exports={hasJsxIgnoreComment:z,printJsx:ie};}}),ct=te({\"src/language-js/print/misc.js\"(e,r){ne();var{isNonEmptyArray:t}=Ue(),{builders:{indent:s,join:a,line:n}}=qe(),{isFlowAnnotationComment:u}=Ke();function i(_){let w=_.getValue();return !w.optional||w.type===\"Identifier\"&&w===_.getParentNode().key?\"\":w.type===\"OptionalCallExpression\"||w.type===\"OptionalMemberExpression\"&&w.computed?\"?.\":\"?\"}function l(_){return _.getValue().definite||_.match(void 0,(w,E)=>E===\"id\"&&w.type===\"VariableDeclarator\"&&w.definite)?\"!\":\"\"}function p(_,w,E){let N=_.getValue();return N.typeArguments?E(\"typeArguments\"):N.typeParameters?E(\"typeParameters\"):\"\"}function y(_,w,E){let N=_.getValue();if(!N.typeAnnotation)return \"\";let x=_.getParentNode(),I=x.type===\"DeclareFunction\"&&x.id===N;return u(w.originalText,N.typeAnnotation)?[\" /*: \",E(\"typeAnnotation\"),\" */\"]:[I?\"\":\": \",E(\"typeAnnotation\")]}function h(_,w,E){return [\"::\",E(\"callee\")]}function g(_,w,E){let N=_.getValue();return t(N.modifiers)?[a(\" \",_.map(E,\"modifiers\")),\" \"]:\"\"}function c(_,w,E){return _.type===\"EmptyStatement\"?\";\":_.type===\"BlockStatement\"||E?[\" \",w]:s([n,w])}function f(_,w,E){return [\"...\",E(\"argument\"),y(_,w,E)]}function F(_,w){let E=_.slice(1,-1);if(E.includes('\"')||E.includes(\"'\"))return _;let N=w.singleQuote?\"'\":'\"';return N+E+N}r.exports={printOptionalToken:i,printDefiniteToken:l,printFunctionTypeParameters:p,printBindExpressionCallee:h,printTypeScriptModifiers:g,printTypeAnnotation:y,printRestSpread:f,adjustClause:c,printDirective:F};}}),er=te({\"src/language-js/print/array.js\"(e,r){ne();var{printDanglingComments:t}=et(),{builders:{line:s,softline:a,hardline:n,group:u,indent:i,ifBreak:l,fill:p}}=qe(),{getLast:y,hasNewline:h}=Ue(),{shouldPrintComma:g,hasComment:c,CommentCheckFlags:f,isNextLineEmpty:F,isNumericLiteral:_,isSignedNumericLiteral:w}=Ke(),{locStart:E}=ut(),{printOptionalToken:N,printTypeAnnotation:x}=ct();function I(T,m,C){let o=T.getValue(),d=[],v=o.type===\"TupleExpression\"?\"#[\":\"[\",S=\"]\";if(o.elements.length===0)c(o,f.Dangling)?d.push(u([v,t(T,m),a,S])):d.push(v,S);else {let b=y(o.elements),B=!(b&&b.type===\"RestElement\"),k=b===null,M=Symbol(\"array\"),R=!m.__inJestEach&&o.elements.length>1&&o.elements.every((L,Q,V)=>{let j=L&&L.type;if(j!==\"ArrayExpression\"&&j!==\"ObjectExpression\")return !1;let Y=V[Q+1];if(Y&&j!==Y.type)return !1;let ie=j===\"ArrayExpression\"?\"elements\":\"properties\";return L[ie]&&L[ie].length>1}),q=P(o,m),J=B?k?\",\":g(m)?q?l(\",\",\"\",{groupId:M}):l(\",\"):\"\":\"\";d.push(u([v,i([a,q?D(T,m,C,J):[$(T,m,\"elements\",C),J],t(T,m,!0)]),a,S],{shouldBreak:R,id:M}));}return d.push(N(T),x(T,m,C)),d}function P(T,m){return T.elements.length>1&&T.elements.every(C=>C&&(_(C)||w(C)&&!c(C.argument))&&!c(C,f.Trailing|f.Line,o=>!h(m.originalText,E(o),{backwards:!0})))}function $(T,m,C,o){let d=[],v=[];return T.each(S=>{d.push(v,u(o())),v=[\",\",s],S.getValue()&&F(S.getValue(),m)&&v.push(a);},C),d}function D(T,m,C,o){let d=[];return T.each((v,S,b)=>{let B=S===b.length-1;d.push([C(),B?o:\",\"]),B||d.push(F(v.getValue(),m)?[n,n]:c(b[S+1],f.Leading|f.Line)?n:s);},\"elements\"),p(d)}r.exports={printArray:I,printArrayItems:$,isConciselyPrintedArray:P};}}),Ao=te({\"src/language-js/print/call-arguments.js\"(e,r){ne();var{printDanglingComments:t}=et(),{getLast:s,getPenultimate:a}=Ue(),{getFunctionParameters:n,hasComment:u,CommentCheckFlags:i,isFunctionCompositionArgs:l,isJsxNode:p,isLongCurriedCallExpression:y,shouldPrintComma:h,getCallArguments:g,iterateCallArgumentsPath:c,isNextLineEmpty:f,isCallExpression:F,isStringLiteral:_,isObjectProperty:w,isTSTypeExpression:E}=Ke(),{builders:{line:N,hardline:x,softline:I,group:P,indent:$,conditionalGroup:D,ifBreak:T,breakParent:m},utils:{willBreak:C}}=qe(),{ArgExpansionBailout:o}=Qt(),{isConciselyPrintedArray:d}=er();function v(q,J,L){let Q=q.getValue(),V=Q.type===\"ImportExpression\",j=g(Q);if(j.length===0)return [\"(\",t(q,J,!0),\")\"];if(k(j))return [\"(\",L([\"arguments\",0]),\", \",L([\"arguments\",1]),\")\"];let Y=!1,ie=!1,ee=j.length-1,ce=[];c(q,(z,U)=>{let Z=z.getNode(),se=[L()];U===ee||(f(Z,J)?(U===0&&(ie=!0),Y=!0,se.push(\",\",x,x)):se.push(\",\",N)),ce.push(se);});let W=!(V||Q.callee&&Q.callee.type===\"Import\")&&h(J,\"all\")?\",\":\"\";function K(){return P([\"(\",$([N,...ce]),W,N,\")\"],{shouldBreak:!0})}if(Y||q.getParentNode().type!==\"Decorator\"&&l(j))return K();let de=B(j),ue=b(j,J);if(de||ue){if(de?ce.slice(1).some(C):ce.slice(0,-1).some(C))return K();let z=[];try{q.try(()=>{c(q,(U,Z)=>{de&&Z===0&&(z=[[L([],{expandFirstArg:!0}),ce.length>1?\",\":\"\",ie?x:N,ie?x:\"\"],...ce.slice(1)]),ue&&Z===ee&&(z=[...ce.slice(0,-1),L([],{expandLastArg:!0})]);});});}catch(U){if(U instanceof o)return K();throw U}return [ce.some(C)?m:\"\",D([[\"(\",...z,\")\"],de?[\"(\",P(z[0],{shouldBreak:!0}),...z.slice(1),\")\"]:[\"(\",...ce.slice(0,-1),P(s(z),{shouldBreak:!0}),\")\"],K()])]}let Fe=[\"(\",$([I,...ce]),T(W),I,\")\"];return y(q)?Fe:P(Fe,{shouldBreak:ce.some(C)||Y})}function S(q){let J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return q.type===\"ObjectExpression\"&&(q.properties.length>0||u(q))||q.type===\"ArrayExpression\"&&(q.elements.length>0||u(q))||q.type===\"TSTypeAssertion\"&&S(q.expression)||E(q)&&S(q.expression)||q.type===\"FunctionExpression\"||q.type===\"ArrowFunctionExpression\"&&(!q.returnType||!q.returnType.typeAnnotation||q.returnType.typeAnnotation.type!==\"TSTypeReference\"||M(q.body))&&(q.body.type===\"BlockStatement\"||q.body.type===\"ArrowFunctionExpression\"&&S(q.body,!0)||q.body.type===\"ObjectExpression\"||q.body.type===\"ArrayExpression\"||!J&&(F(q.body)||q.body.type===\"ConditionalExpression\")||p(q.body))||q.type===\"DoExpression\"||q.type===\"ModuleExpression\"}function b(q,J){let L=s(q),Q=a(q);return !u(L,i.Leading)&&!u(L,i.Trailing)&&S(L)&&(!Q||Q.type!==L.type)&&(q.length!==2||Q.type!==\"ArrowFunctionExpression\"||L.type!==\"ArrayExpression\")&&!(q.length>1&&L.type===\"ArrayExpression\"&&d(L,J))}function B(q){if(q.length!==2)return !1;let[J,L]=q;return J.type===\"ModuleExpression\"&&R(L)?!0:!u(J)&&(J.type===\"FunctionExpression\"||J.type===\"ArrowFunctionExpression\"&&J.body.type===\"BlockStatement\")&&L.type!==\"FunctionExpression\"&&L.type!==\"ArrowFunctionExpression\"&&L.type!==\"ConditionalExpression\"&&!S(L)}function k(q){return q.length===2&&q[0].type===\"ArrowFunctionExpression\"&&n(q[0]).length===0&&q[0].body.type===\"BlockStatement\"&&q[1].type===\"ArrayExpression\"&&!q.some(J=>u(J))}function M(q){return q.type===\"BlockStatement\"&&(q.body.some(J=>J.type!==\"EmptyStatement\")||u(q,i.Dangling))}function R(q){return q.type===\"ObjectExpression\"&&q.properties.length===1&&w(q.properties[0])&&q.properties[0].key.type===\"Identifier\"&&q.properties[0].key.name===\"type\"&&_(q.properties[0].value)&&q.properties[0].value.value===\"module\"}r.exports=v;}}),So=te({\"src/language-js/print/member.js\"(e,r){ne();var{builders:{softline:t,group:s,indent:a,label:n}}=qe(),{isNumericLiteral:u,isMemberExpression:i,isCallExpression:l}=Ke(),{printOptionalToken:p}=ct();function y(g,c,f){let F=g.getValue(),_=g.getParentNode(),w,E=0;do w=g.getParentNode(E),E++;while(w&&(i(w)||w.type===\"TSNonNullExpression\"));let N=f(\"object\"),x=h(g,c,f),I=w&&(w.type===\"NewExpression\"||w.type===\"BindExpression\"||w.type===\"AssignmentExpression\"&&w.left.type!==\"Identifier\")||F.computed||F.object.type===\"Identifier\"&&F.property.type===\"Identifier\"&&!i(_)||(_.type===\"AssignmentExpression\"||_.type===\"VariableDeclarator\")&&(l(F.object)&&F.object.arguments.length>0||F.object.type===\"TSNonNullExpression\"&&l(F.object.expression)&&F.object.expression.arguments.length>0||N.label===\"member-chain\");return n(N.label===\"member-chain\"?\"member-chain\":\"member\",[N,I?x:s(a([t,x]))])}function h(g,c,f){let F=f(\"property\"),_=g.getValue(),w=p(g);return _.computed?!_.property||u(_.property)?[w,\"[\",F,\"]\"]:s([w,\"[\",a([t,F]),t,\"]\"]):[w,\".\",F]}r.exports={printMemberExpression:y,printMemberLookup:h};}}),md=te({\"src/language-js/print/member-chain.js\"(e,r){ne();var{printComments:t}=et(),{getLast:s,isNextLineEmptyAfterIndex:a,getNextNonSpaceNonCommentCharacterIndex:n}=Ue(),u=qt(),{isCallExpression:i,isMemberExpression:l,isFunctionOrArrowExpression:p,isLongCurriedCallExpression:y,isMemberish:h,isNumericLiteral:g,isSimpleCallArgument:c,hasComment:f,CommentCheckFlags:F,isNextLineEmpty:_}=Ke(),{locEnd:w}=ut(),{builders:{join:E,hardline:N,group:x,indent:I,conditionalGroup:P,breakParent:$,label:D},utils:{willBreak:T}}=qe(),m=Ao(),{printMemberLookup:C}=So(),{printOptionalToken:o,printFunctionTypeParameters:d,printBindExpressionCallee:v}=ct();function S(b,B,k){let M=b.getParentNode(),R=!M||M.type===\"ExpressionStatement\",q=[];function J(Ne){let{originalText:Pe}=B,oe=n(Pe,Ne,w);return Pe.charAt(oe)===\")\"?oe!==!1&&a(Pe,oe+1):_(Ne,B)}function L(Ne){let Pe=Ne.getValue();i(Pe)&&(h(Pe.callee)||i(Pe.callee))?(q.unshift({node:Pe,printed:[t(Ne,[o(Ne),d(Ne,B,k),m(Ne,B,k)],B),J(Pe)?N:\"\"]}),Ne.call(oe=>L(oe),\"callee\")):h(Pe)?(q.unshift({node:Pe,needsParens:u(Ne,B),printed:t(Ne,l(Pe)?C(Ne,B,k):v(Ne,B,k),B)}),Ne.call(oe=>L(oe),\"object\")):Pe.type===\"TSNonNullExpression\"?(q.unshift({node:Pe,printed:t(Ne,\"!\",B)}),Ne.call(oe=>L(oe),\"expression\")):q.unshift({node:Pe,printed:k()});}let Q=b.getValue();q.unshift({node:Q,printed:[o(b),d(b,B,k),m(b,B,k)]}),Q.callee&&b.call(Ne=>L(Ne),\"callee\");let V=[],j=[q[0]],Y=1;for(;Y0&&V.push(j);function ee(Ne){return /^[A-Z]|^[$_]+$/.test(Ne)}function ce(Ne){return Ne.length<=B.tabWidth}function W(Ne){let Pe=Ne[1].length>0&&Ne[1][0].node.computed;if(Ne[0].length===1){let H=Ne[0][0].node;return H.type===\"ThisExpression\"||H.type===\"Identifier\"&&(ee(H.name)||R&&ce(H.name)||Pe)}let oe=s(Ne[0]).node;return l(oe)&&oe.property.type===\"Identifier\"&&(ee(oe.property.name)||Pe)}let K=V.length>=2&&!f(V[1][0].node)&&W(V);function de(Ne){let Pe=Ne.map(oe=>oe.printed);return Ne.length>0&&s(Ne).needsParens?[\"(\",...Pe,\")\"]:Pe}function ue(Ne){return Ne.length===0?\"\":I(x([N,E(N,Ne.map(de))]))}let Fe=V.map(de),z=Fe,U=K?3:2,Z=V.flat(),se=Z.slice(1,-1).some(Ne=>f(Ne.node,F.Leading))||Z.slice(0,-1).some(Ne=>f(Ne.node,F.Trailing))||V[U]&&f(V[U][0].node,F.Leading);if(V.length<=U&&!se)return y(b)?z:x(z);let fe=s(V[K?1:0]).node,ge=!i(fe)&&J(fe),he=[de(V[0]),K?V.slice(1,2).map(de):\"\",ge?N:\"\",ue(V.slice(K?2:1))],we=q.map(Ne=>{let{node:Pe}=Ne;return Pe}).filter(i);function ke(){let Ne=s(s(V)).node,Pe=s(Fe);return i(Ne)&&T(Pe)&&we.slice(0,-1).some(oe=>oe.arguments.some(p))}let Re;return se||we.length>2&&we.some(Ne=>!Ne.arguments.every(Pe=>c(Pe,0)))||Fe.slice(0,-1).some(T)||ke()?Re=x(he):Re=[T(z)||ge?$:\"\",P([z,he])],D(\"member-chain\",Re)}r.exports=S;}}),xo=te({\"src/language-js/print/call-expression.js\"(e,r){ne();var{builders:{join:t,group:s}}=qe(),a=qt(),{getCallArguments:n,hasFlowAnnotationComment:u,isCallExpression:i,isMemberish:l,isStringLiteral:p,isTemplateOnItsOwnLine:y,isTestCall:h,iterateCallArgumentsPath:g}=Ke(),c=md(),f=Ao(),{printOptionalToken:F,printFunctionTypeParameters:_}=ct();function w(N,x,I){let P=N.getValue(),$=N.getParentNode(),D=P.type===\"NewExpression\",T=P.type===\"ImportExpression\",m=F(N),C=n(P);if(C.length>0&&(!T&&!D&&E(P,$)||C.length===1&&y(C[0],x.originalText)||!D&&h(P,$))){let v=[];return g(N,()=>{v.push(I());}),[D?\"new \":\"\",I(\"callee\"),m,_(N,x,I),\"(\",t(\", \",v),\")\"]}let o=(x.parser===\"babel\"||x.parser===\"babel-flow\")&&P.callee&&P.callee.type===\"Identifier\"&&u(P.callee.trailingComments);if(o&&(P.callee.trailingComments[0].printed=!0),!T&&!D&&l(P.callee)&&!N.call(v=>a(v,x),\"callee\"))return c(N,x,I);let d=[D?\"new \":\"\",T?\"import\":I(\"callee\"),m,o?`/*:: ${P.callee.trailingComments[0].value.slice(2).trim()} */`:\"\",_(N,x,I),f(N,x,I)];return T||i(P.callee)?s(d):d}function E(N,x){if(N.callee.type!==\"Identifier\")return !1;if(N.callee.name===\"require\")return !0;if(N.callee.name===\"define\"){let I=n(N);return x.type===\"ExpressionStatement\"&&(I.length===1||I.length===2&&I[0].type===\"ArrayExpression\"||I.length===3&&p(I[0])&&I[1].type===\"ArrayExpression\")}return !1}r.exports={printCallExpression:w};}}),tr=te({\"src/language-js/print/assignment.js\"(e,r){ne();var{isNonEmptyArray:t,getStringWidth:s}=Ue(),{builders:{line:a,group:n,indent:u,indentIfBreak:i,lineSuffixBoundary:l},utils:{cleanDoc:p,willBreak:y,canBreak:h}}=qe(),{hasLeadingOwnLineComment:g,isBinaryish:c,isStringLiteral:f,isLiteral:F,isNumericLiteral:_,isCallExpression:w,isMemberExpression:E,getCallArguments:N,rawText:x,hasComment:I,isSignedNumericLiteral:P,isObjectProperty:$}=Ke(),{shouldInlineLogicalExpression:D}=ru(),{printCallExpression:T}=xo();function m(W,K,de,ue,Fe,z){let U=d(W,K,de,ue,z),Z=de(z,{assignmentLayout:U});switch(U){case\"break-after-operator\":return n([n(ue),Fe,n(u([a,Z]))]);case\"never-break-after-operator\":return n([n(ue),Fe,\" \",Z]);case\"fluid\":{let se=Symbol(\"assignment\");return n([n(ue),Fe,n(u(a),{id:se}),l,i(Z,{groupId:se})])}case\"break-lhs\":return n([ue,Fe,\" \",n(Z)]);case\"chain\":return [n(ue),Fe,a,Z];case\"chain-tail\":return [n(ue),Fe,u([a,Z])];case\"chain-tail-arrow-chain\":return [n(ue),Fe,Z];case\"only-left\":return ue}}function C(W,K,de){let ue=W.getValue();return m(W,K,de,de(\"left\"),[\" \",ue.operator],\"right\")}function o(W,K,de){return m(W,K,de,de(\"id\"),\" =\",\"init\")}function d(W,K,de,ue,Fe){let z=W.getValue(),U=z[Fe];if(!U)return \"only-left\";let Z=!b(U);if(W.match(b,B,he=>!Z||he.type!==\"ExpressionStatement\"&&he.type!==\"VariableDeclaration\"))return Z?U.type===\"ArrowFunctionExpression\"&&U.body.type===\"ArrowFunctionExpression\"?\"chain-tail-arrow-chain\":\"chain-tail\":\"chain\";if(!Z&&b(U.right)||g(K.originalText,U))return \"break-after-operator\";if(U.type===\"CallExpression\"&&U.callee.name===\"require\"||K.parser===\"json5\"||K.parser===\"json\")return \"never-break-after-operator\";if(S(z)||k(z)||q(z)||J(z)&&h(ue))return \"break-lhs\";let ge=ie(z,ue,K);return W.call(()=>v(W,K,de,ge),Fe)?\"break-after-operator\":ge||U.type===\"TemplateLiteral\"||U.type===\"TaggedTemplateExpression\"||U.type===\"BooleanLiteral\"||_(U)||U.type===\"ClassExpression\"?\"never-break-after-operator\":\"fluid\"}function v(W,K,de,ue){let Fe=W.getValue();if(c(Fe)&&!D(Fe))return !0;switch(Fe.type){case\"StringLiteralTypeAnnotation\":case\"SequenceExpression\":return !0;case\"ConditionalExpression\":{let{test:Z}=Fe;return c(Z)&&!D(Z)}case\"ClassExpression\":return t(Fe.decorators)}if(ue)return !1;let z=Fe,U=[];for(;;)if(z.type===\"UnaryExpression\")z=z.argument,U.push(\"argument\");else if(z.type===\"TSNonNullExpression\")z=z.expression,U.push(\"expression\");else break;return !!(f(z)||W.call(()=>V(W,K,de),...U))}function S(W){if(B(W)){let K=W.left||W.id;return K.type===\"ObjectPattern\"&&K.properties.length>2&&K.properties.some(de=>$(de)&&(!de.shorthand||de.value&&de.value.type===\"AssignmentPattern\"))}return !1}function b(W){return W.type===\"AssignmentExpression\"}function B(W){return b(W)||W.type===\"VariableDeclarator\"}function k(W){let K=M(W);if(t(K)){let de=W.type===\"TSTypeAliasDeclaration\"?\"constraint\":\"bound\";if(K.length>1&&K.some(ue=>ue[de]||ue.default))return !0}return !1}function M(W){return R(W)&&W.typeParameters&&W.typeParameters.params?W.typeParameters.params:null}function R(W){return W.type===\"TSTypeAliasDeclaration\"||W.type===\"TypeAlias\"}function q(W){if(W.type!==\"VariableDeclarator\")return !1;let{typeAnnotation:K}=W.id;if(!K||!K.typeAnnotation)return !1;let de=L(K.typeAnnotation);return t(de)&&de.length>1&&de.some(ue=>t(L(ue))||ue.type===\"TSConditionalType\")}function J(W){return W.type===\"VariableDeclarator\"&&W.init&&W.init.type===\"ArrowFunctionExpression\"}function L(W){return Q(W)&&W.typeParameters&&W.typeParameters.params?W.typeParameters.params:null}function Q(W){return W.type===\"TSTypeReference\"||W.type===\"GenericTypeAnnotation\"}function V(W,K,de){let ue=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,Fe=W.getValue(),z=()=>V(W,K,de,!0);if(Fe.type===\"TSNonNullExpression\")return W.call(z,\"expression\");if(w(Fe)){if(T(W,K,de).label===\"member-chain\")return !1;let Z=N(Fe);return !(Z.length===0||Z.length===1&&Y(Z[0],K))||ee(Fe,de)?!1:W.call(z,\"callee\")}return E(Fe)?W.call(z,\"object\"):ue&&(Fe.type===\"Identifier\"||Fe.type===\"ThisExpression\")}var j=.25;function Y(W,K){let{printWidth:de}=K;if(I(W))return !1;let ue=de*j;if(W.type===\"ThisExpression\"||W.type===\"Identifier\"&&W.name.length<=ue||P(W)&&!I(W.argument))return !0;let Fe=W.type===\"Literal\"&&\"regex\"in W&&W.regex.pattern||W.type===\"RegExpLiteral\"&&W.pattern;return Fe?Fe.length<=ue:f(W)?x(W).length<=ue:W.type===\"TemplateLiteral\"?W.expressions.length===0&&W.quasis[0].value.raw.length<=ue&&!W.quasis[0].value.raw.includes(`\n`):F(W)}function ie(W,K,de){if(!$(W))return !1;K=p(K);let ue=3;return typeof K==\"string\"&&s(K)1)return !0;if(de.length===1){let Fe=de[0];if(Fe.type===\"TSUnionType\"||Fe.type===\"UnionTypeAnnotation\"||Fe.type===\"TSIntersectionType\"||Fe.type===\"IntersectionTypeAnnotation\"||Fe.type===\"TSTypeLiteral\"||Fe.type===\"ObjectTypeAnnotation\")return !0}let ue=W.typeParameters?\"typeParameters\":\"typeArguments\";if(y(K(ue)))return !0}return !1}function ce(W){return W.typeParameters&&W.typeParameters.params||W.typeArguments&&W.typeArguments.params}r.exports={printVariableDeclarator:o,printAssignmentExpression:C,printAssignment:m,isArrowFunctionVariableDeclarator:J};}}),Lr=te({\"src/language-js/print/function-parameters.js\"(e,r){ne();var{getNextNonSpaceNonCommentCharacter:t}=Ue(),{printDanglingComments:s}=et(),{builders:{line:a,hardline:n,softline:u,group:i,indent:l,ifBreak:p},utils:{removeLines:y,willBreak:h}}=qe(),{getFunctionParameters:g,iterateFunctionParametersPath:c,isSimpleType:f,isTestCall:F,isTypeAnnotationAFunction:_,isObjectType:w,isObjectTypePropertyAFunction:E,hasRestParameter:N,shouldPrintComma:x,hasComment:I,isNextLineEmpty:P}=Ke(),{locEnd:$}=ut(),{ArgExpansionBailout:D}=Qt(),{printFunctionTypeParameters:T}=ct();function m(v,S,b,B,k){let M=v.getValue(),R=g(M),q=k?T(v,b,S):\"\";if(R.length===0)return [q,\"(\",s(v,b,!0,ie=>t(b.originalText,ie,$)===\")\"),\")\"];let J=v.getParentNode(),L=F(J),Q=C(M),V=[];if(c(v,(ie,ee)=>{let ce=ee===R.length-1;ce&&M.rest&&V.push(\"...\"),V.push(S()),!ce&&(V.push(\",\"),L||Q?V.push(\" \"):P(R[ee],b)?V.push(n,n):V.push(a));}),B){if(h(q)||h(V))throw new D;return i([y(q),\"(\",y(V),\")\"])}let j=R.every(ie=>!ie.decorators);return Q&&j?[q,\"(\",...V,\")\"]:L?[q,\"(\",...V,\")\"]:(E(J)||_(J)||J.type===\"TypeAlias\"||J.type===\"UnionTypeAnnotation\"||J.type===\"TSUnionType\"||J.type===\"IntersectionTypeAnnotation\"||J.type===\"FunctionTypeAnnotation\"&&J.returnType===M)&&R.length===1&&R[0].name===null&&M.this!==R[0]&&R[0].typeAnnotation&&M.typeParameters===null&&f(R[0].typeAnnotation)&&!M.rest?b.arrowParens===\"always\"?[\"(\",...V,\")\"]:V:[q,\"(\",l([u,...V]),p(!N(M)&&x(b,\"all\")?\",\":\"\"),u,\")\"]}function C(v){if(!v)return !1;let S=g(v);if(S.length!==1)return !1;let[b]=S;return !I(b)&&(b.type===\"ObjectPattern\"||b.type===\"ArrayPattern\"||b.type===\"Identifier\"&&b.typeAnnotation&&(b.typeAnnotation.type===\"TypeAnnotation\"||b.typeAnnotation.type===\"TSTypeAnnotation\")&&w(b.typeAnnotation.typeAnnotation)||b.type===\"FunctionTypeParam\"&&w(b.typeAnnotation)||b.type===\"AssignmentPattern\"&&(b.left.type===\"ObjectPattern\"||b.left.type===\"ArrayPattern\")&&(b.right.type===\"Identifier\"||b.right.type===\"ObjectExpression\"&&b.right.properties.length===0||b.right.type===\"ArrayExpression\"&&b.right.elements.length===0))}function o(v){let S;return v.returnType?(S=v.returnType,S.typeAnnotation&&(S=S.typeAnnotation)):v.typeAnnotation&&(S=v.typeAnnotation),S}function d(v,S){let b=o(v);if(!b)return !1;let B=v.typeParameters&&v.typeParameters.params;if(B){if(B.length>1)return !1;if(B.length===1){let k=B[0];if(k.constraint||k.default)return !1}}return g(v).length===1&&(w(b)||h(S))}r.exports={printFunctionParameters:m,shouldHugFunctionParameters:C,shouldGroupFunctionParameters:d};}}),Or=te({\"src/language-js/print/type-annotation.js\"(e,r){ne();var{printComments:t,printDanglingComments:s}=et(),{isNonEmptyArray:a}=Ue(),{builders:{group:n,join:u,line:i,softline:l,indent:p,align:y,ifBreak:h}}=qe(),g=qt(),{locStart:c}=ut(),{isSimpleType:f,isObjectType:F,hasLeadingOwnLineComment:_,isObjectTypePropertyAFunction:w,shouldPrintComma:E}=Ke(),{printAssignment:N}=tr(),{printFunctionParameters:x,shouldGroupFunctionParameters:I}=Lr(),{printArrayItems:P}=er();function $(b){if(f(b)||F(b))return !0;if(b.type===\"UnionTypeAnnotation\"||b.type===\"TSUnionType\"){let B=b.types.filter(M=>M.type===\"VoidTypeAnnotation\"||M.type===\"TSVoidKeyword\"||M.type===\"NullLiteralTypeAnnotation\"||M.type===\"TSNullKeyword\").length,k=b.types.some(M=>M.type===\"ObjectTypeAnnotation\"||M.type===\"TSTypeLiteral\"||M.type===\"GenericTypeAnnotation\"||M.type===\"TSTypeReference\");if(b.types.length-1===B&&k)return !0}return !1}function D(b,B,k){let M=B.semi?\";\":\"\",R=b.getValue(),q=[];return q.push(\"opaque type \",k(\"id\"),k(\"typeParameters\")),R.supertype&&q.push(\": \",k(\"supertype\")),R.impltype&&q.push(\" = \",k(\"impltype\")),q.push(M),q}function T(b,B,k){let M=B.semi?\";\":\"\",R=b.getValue(),q=[];R.declare&&q.push(\"declare \"),q.push(\"type \",k(\"id\"),k(\"typeParameters\"));let J=R.type===\"TSTypeAliasDeclaration\"?\"typeAnnotation\":\"right\";return [N(b,B,k,q,\" =\",J),M]}function m(b,B,k){let M=b.getValue(),R=b.map(k,\"types\"),q=[],J=!1;for(let L=0;L1&&(J=!0),q.push(\" & \",L>1?p(R[L]):R[L]));return n(q)}function C(b,B,k){let M=b.getValue(),R=b.getParentNode(),q=R.type!==\"TypeParameterInstantiation\"&&R.type!==\"TSTypeParameterInstantiation\"&&R.type!==\"GenericTypeAnnotation\"&&R.type!==\"TSTypeReference\"&&R.type!==\"TSTypeAssertion\"&&R.type!==\"TupleTypeAnnotation\"&&R.type!==\"TSTupleType\"&&!(R.type===\"FunctionTypeParam\"&&!R.name&&b.getParentNode(1).this!==R)&&!((R.type===\"TypeAlias\"||R.type===\"VariableDeclarator\"||R.type===\"TSTypeAliasDeclaration\")&&_(B.originalText,M)),J=$(M),L=b.map(j=>{let Y=k();return J||(Y=y(2,Y)),t(j,Y,B)},\"types\");if(J)return u(\" | \",L);let Q=q&&!_(B.originalText,M),V=[h([Q?i:\"\",\"| \"]),u([i,\"| \"],L)];return g(b,B)?n([p(V),l]):R.type===\"TupleTypeAnnotation\"&&R.types.length>1||R.type===\"TSTupleType\"&&R.elementTypes.length>1?n([p([h([\"(\",l]),V]),l,h(\")\")]):n(q?p(V):V)}function o(b,B,k){let M=b.getValue(),R=[],q=b.getParentNode(0),J=b.getParentNode(1),L=b.getParentNode(2),Q=M.type===\"TSFunctionType\"||!((q.type===\"ObjectTypeProperty\"||q.type===\"ObjectTypeInternalSlot\")&&!q.variance&&!q.optional&&c(q)===c(M)||q.type===\"ObjectTypeCallProperty\"||L&&L.type===\"DeclareFunction\"),V=Q&&(q.type===\"TypeAnnotation\"||q.type===\"TSTypeAnnotation\"),j=V&&Q&&(q.type===\"TypeAnnotation\"||q.type===\"TSTypeAnnotation\")&&J.type===\"ArrowFunctionExpression\";w(q)&&(Q=!0,V=!0),j&&R.push(\"(\");let Y=x(b,k,B,!1,!0),ie=M.returnType||M.predicate||M.typeAnnotation?[Q?\" => \":\": \",k(\"returnType\"),k(\"predicate\"),k(\"typeAnnotation\")]:\"\",ee=I(M,ie);return R.push(ee?n(Y):Y),ie&&R.push(ie),j&&R.push(\")\"),n(R)}function d(b,B,k){let M=b.getValue(),R=M.type===\"TSTupleType\"?\"elementTypes\":\"types\",q=M[R],J=a(q),L=J?l:\"\";return n([\"[\",p([L,P(b,B,R,k)]),h(J&&E(B,\"all\")?\",\":\"\"),s(b,B,!0),L,\"]\"])}function v(b,B,k){let M=b.getValue(),R=M.type===\"OptionalIndexedAccessType\"&&M.optional?\"?.[\":\"[\";return [k(\"objectType\"),R,k(\"indexType\"),\"]\"]}function S(b,B,k){let M=b.getValue();return [M.postfix?\"\":k,B(\"typeAnnotation\"),M.postfix?k:\"\"]}r.exports={printOpaqueType:D,printTypeAlias:T,printIntersectionType:m,printUnionType:C,printFunctionType:o,printTupleType:d,printIndexedAccessType:v,shouldHugType:$,printJSDocType:S};}}),jr=te({\"src/language-js/print/type-parameters.js\"(e,r){ne();var{printDanglingComments:t}=et(),{builders:{join:s,line:a,hardline:n,softline:u,group:i,indent:l,ifBreak:p}}=qe(),{isTestCall:y,hasComment:h,CommentCheckFlags:g,isTSXFile:c,shouldPrintComma:f,getFunctionParameters:F,isObjectType:_,getTypeScriptMappedTypeModifier:w}=Ke(),{createGroupIdMapper:E}=Ue(),{shouldHugType:N}=Or(),{isArrowFunctionVariableDeclarator:x}=tr(),I=E(\"typeParameters\");function P(T,m,C,o){let d=T.getValue();if(!d[o])return \"\";if(!Array.isArray(d[o]))return C(o);let v=T.getNode(2),S=v&&y(v),b=T.match(M=>!(M[o].length===1&&_(M[o][0])),void 0,(M,R)=>R===\"typeAnnotation\",M=>M.type===\"Identifier\",x);if(d[o].length===0||!b&&(S||d[o].length===1&&(d[o][0].type===\"NullableTypeAnnotation\"||N(d[o][0]))))return [\"<\",s(\", \",T.map(C,o)),$(T,m),\">\"];let k=d.type===\"TSTypeParameterInstantiation\"?\"\":F(d).length===1&&c(m)&&!d[o][0].constraint&&T.getParentNode().type===\"ArrowFunctionExpression\"?\",\":f(m,\"all\")?p(\",\"):\"\";return i([\"<\",l([u,s([\",\",a],T.map(C,o))]),k,u,\">\"],{id:I(d)})}function $(T,m){let C=T.getValue();if(!h(C,g.Dangling))return \"\";let o=!h(C,g.Line),d=t(T,m,o);return o?d:[d,n]}function D(T,m,C){let o=T.getValue(),d=[o.type===\"TSTypeParameter\"&&o.const?\"const \":\"\"],v=T.getParentNode();return v.type===\"TSMappedType\"?(v.readonly&&d.push(w(v.readonly,\"readonly\"),\" \"),d.push(\"[\",C(\"name\")),o.constraint&&d.push(\" in \",C(\"constraint\")),v.nameType&&d.push(\" as \",T.callParent(()=>C(\"nameType\"))),d.push(\"]\"),d):(o.variance&&d.push(C(\"variance\")),o.in&&d.push(\"in \"),o.out&&d.push(\"out \"),d.push(C(\"name\")),o.bound&&d.push(\": \",C(\"bound\")),o.constraint&&d.push(\" extends \",C(\"constraint\")),o.default&&d.push(\" = \",C(\"default\")),d)}r.exports={printTypeParameter:D,printTypeParameters:P,getTypeParametersGroupId:I};}}),rr=te({\"src/language-js/print/property.js\"(e,r){ne();var{printComments:t}=et(),{printString:s,printNumber:a}=Ue(),{isNumericLiteral:n,isSimpleNumber:u,isStringLiteral:i,isStringPropSafeToUnquote:l,rawText:p}=Ke(),{printAssignment:y}=tr(),h=new WeakMap;function g(f,F,_){let w=f.getNode();if(w.computed)return [\"[\",_(\"key\"),\"]\"];let E=f.getParentNode(),{key:N}=w;if(F.quoteProps===\"consistent\"&&!h.has(E)){let x=(E.properties||E.body||E.members).some(I=>!I.computed&&I.key&&i(I.key)&&!l(I,F));h.set(E,x);}if((N.type===\"Identifier\"||n(N)&&u(a(p(N)))&&String(N.value)===a(p(N))&&!(F.parser===\"typescript\"||F.parser===\"babel-ts\"))&&(F.parser===\"json\"||F.quoteProps===\"consistent\"&&h.get(E))){let x=s(JSON.stringify(N.type===\"Identifier\"?N.name:N.value.toString()),F);return f.call(I=>t(I,x,F),\"key\")}return l(w,F)&&(F.quoteProps===\"as-needed\"||F.quoteProps===\"consistent\"&&!h.get(E))?f.call(x=>t(x,/^\\d/.test(N.value)?a(N.value):N.value,F),\"key\"):_(\"key\")}function c(f,F,_){return f.getValue().shorthand?_(\"value\"):y(f,F,_,g(f,F,_),\":\",\"value\")}r.exports={printProperty:c,printPropertyKey:g};}}),qr=te({\"src/language-js/print/function.js\"(e,r){ne();var t=Zt(),{printDanglingComments:s,printCommentsSeparately:a}=et(),n=lt(),{getNextNonSpaceNonCommentCharacterIndex:u}=Ue(),{builders:{line:i,softline:l,group:p,indent:y,ifBreak:h,hardline:g,join:c,indentIfBreak:f},utils:{removeLines:F,willBreak:_}}=qe(),{ArgExpansionBailout:w}=Qt(),{getFunctionParameters:E,hasLeadingOwnLineComment:N,isFlowAnnotationComment:x,isJsxNode:I,isTemplateOnItsOwnLine:P,shouldPrintComma:$,startsWithNoLookaheadToken:D,isBinaryish:T,isLineComment:m,hasComment:C,getComments:o,CommentCheckFlags:d,isCallLikeExpression:v,isCallExpression:S,getCallArguments:b,hasNakedLeftSide:B,getLeftSide:k}=Ke(),{locEnd:M}=ut(),{printFunctionParameters:R,shouldGroupFunctionParameters:q}=Lr(),{printPropertyKey:J}=rr(),{printFunctionTypeParameters:L}=ct();function Q(U,Z,se,fe){let ge=U.getValue(),he=!1;if((ge.type===\"FunctionDeclaration\"||ge.type===\"FunctionExpression\")&&fe&&fe.expandLastArg){let Pe=U.getParentNode();S(Pe)&&b(Pe).length>1&&(he=!0);}let we=[];ge.type===\"TSDeclareFunction\"&&ge.declare&&we.push(\"declare \"),ge.async&&we.push(\"async \"),ge.generator?we.push(\"function* \"):we.push(\"function \"),ge.id&&we.push(Z(\"id\"));let ke=R(U,Z,se,he),Re=K(U,Z,se),Ne=q(ge,Re);return we.push(L(U,se,Z),p([Ne?p(ke):ke,Re]),ge.body?\" \":\"\",Z(\"body\")),se.semi&&(ge.declare||!ge.body)&&we.push(\";\"),we}function V(U,Z,se){let fe=U.getNode(),{kind:ge}=fe,he=fe.value||fe,we=[];return !ge||ge===\"init\"||ge===\"method\"||ge===\"constructor\"?he.async&&we.push(\"async \"):(t.ok(ge===\"get\"||ge===\"set\"),we.push(ge,\" \")),he.generator&&we.push(\"*\"),we.push(J(U,Z,se),fe.optional||fe.key.optional?\"?\":\"\"),fe===he?we.push(j(U,Z,se)):he.type===\"FunctionExpression\"?we.push(U.call(ke=>j(ke,Z,se),\"value\")):we.push(se(\"value\")),we}function j(U,Z,se){let fe=U.getNode(),ge=R(U,se,Z),he=K(U,se,Z),we=q(fe,he),ke=[L(U,Z,se),p([we?p(ge):ge,he])];return fe.body?ke.push(\" \",se(\"body\")):ke.push(Z.semi?\";\":\"\"),ke}function Y(U,Z,se,fe){let ge=U.getValue(),he=[];if(ge.async&&he.push(\"async \"),W(U,Z))he.push(se([\"params\",0]));else {let ke=fe&&(fe.expandLastArg||fe.expandFirstArg),Re=K(U,se,Z);if(ke){if(_(Re))throw new w;Re=p(F(Re));}he.push(p([R(U,se,Z,ke,!0),Re]));}let we=s(U,Z,!0,ke=>{let Re=u(Z.originalText,ke,M);return Re!==!1&&Z.originalText.slice(Re,Re+2)===\"=>\"});return we&&he.push(\" \",we),he}function ie(U,Z,se,fe,ge,he){let we=U.getName(),ke=U.getParentNode(),Re=v(ke)&&we===\"callee\",Ne=Boolean(Z&&Z.assignmentLayout),Pe=he.body.type!==\"BlockStatement\"&&he.body.type!==\"ObjectExpression\"&&he.body.type!==\"SequenceExpression\",oe=Re&&Pe||Z&&Z.assignmentLayout===\"chain-tail-arrow-chain\",H=Symbol(\"arrow-chain\");return he.body.type===\"SequenceExpression\"&&(ge=p([\"(\",y([l,ge]),l,\")\"])),p([p(y([Re||Ne?l:\"\",p(c([\" =>\",i],se),{shouldBreak:fe})]),{id:H,shouldBreak:oe}),\" =>\",f(Pe?y([i,ge]):[\" \",ge],{groupId:H}),Re?h(l,\"\",{groupId:H}):\"\"])}function ee(U,Z,se,fe){let ge=U.getValue(),he=[],we=[],ke=!1;if(function H(){let pe=Y(U,Z,se,fe);if(he.length===0)he.push(pe);else {let{leading:X,trailing:le}=a(U,Z);he.push([X,pe]),we.unshift(le);}ke=ke||ge.returnType&&E(ge).length>0||ge.typeParameters||E(ge).some(X=>X.type!==\"Identifier\"),ge.body.type!==\"ArrowFunctionExpression\"||fe&&fe.expandLastArg?we.unshift(se(\"body\",fe)):(ge=ge.body,U.call(H,\"body\"));}(),he.length>1)return ie(U,fe,he,ke,we,ge);let Re=he;if(Re.push(\" =>\"),!N(Z.originalText,ge.body)&&(ge.body.type===\"ArrayExpression\"||ge.body.type===\"ObjectExpression\"||ge.body.type===\"BlockStatement\"||I(ge.body)||P(ge.body,Z.originalText)||ge.body.type===\"ArrowFunctionExpression\"||ge.body.type===\"DoExpression\"))return p([...Re,\" \",we]);if(ge.body.type===\"SequenceExpression\")return p([...Re,p([\" (\",y([l,we]),l,\")\"])]);let Ne=(fe&&fe.expandLastArg||U.getParentNode().type===\"JSXExpressionContainer\")&&!C(ge),Pe=fe&&fe.expandLastArg&&$(Z,\"all\"),oe=ge.body.type===\"ConditionalExpression\"&&!D(ge.body,H=>H.type===\"ObjectExpression\");return p([...Re,p([y([i,oe?h(\"\",\"(\"):\"\",we,oe?h(\"\",\")\"):\"\"]),Ne?[h(Pe?\",\":\"\"),l]:\"\"])])}function ce(U){let Z=E(U);return Z.length===1&&!U.typeParameters&&!C(U,d.Dangling)&&Z[0].type===\"Identifier\"&&!Z[0].typeAnnotation&&!C(Z[0])&&!Z[0].optional&&!U.predicate&&!U.returnType}function W(U,Z){if(Z.arrowParens===\"always\")return !1;if(Z.arrowParens===\"avoid\"){let se=U.getValue();return ce(se)}return !1}function K(U,Z,se){let fe=U.getValue(),ge=Z(\"returnType\");if(fe.returnType&&x(se.originalText,fe.returnType))return [\" /*: \",ge,\" */\"];let he=[ge];return fe.returnType&&fe.returnType.typeAnnotation&&he.unshift(\": \"),fe.predicate&&he.push(fe.returnType?\" \":\": \",Z(\"predicate\")),he}function de(U,Z,se){let fe=U.getValue(),ge=Z.semi?\";\":\"\",he=[];fe.argument&&(z(Z,fe.argument)?he.push([\" (\",y([g,se(\"argument\")]),g,\")\"]):T(fe.argument)||fe.argument.type===\"SequenceExpression\"?he.push(p([h(\" (\",\" \"),y([l,se(\"argument\")]),l,h(\")\")])):he.push(\" \",se(\"argument\")));let we=o(fe),ke=n(we),Re=ke&&m(ke);return Re&&he.push(ge),C(fe,d.Dangling)&&he.push(\" \",s(U,Z,!0)),Re||he.push(ge),he}function ue(U,Z,se){return [\"return\",de(U,Z,se)]}function Fe(U,Z,se){return [\"throw\",de(U,Z,se)]}function z(U,Z){if(N(U.originalText,Z))return !0;if(B(Z)){let se=Z,fe;for(;fe=k(se);)if(se=fe,N(U.originalText,se))return !0}return !1}r.exports={printFunction:Q,printArrowFunction:ee,printMethod:V,printReturnStatement:ue,printThrowStatement:Fe,printMethodInternal:j,shouldPrintParamsWithoutParens:W};}}),nu=te({\"src/language-js/print/decorators.js\"(e,r){ne();var{isNonEmptyArray:t,hasNewline:s}=Ue(),{builders:{line:a,hardline:n,join:u,breakParent:i,group:l}}=qe(),{locStart:p,locEnd:y}=ut(),{getParentExportDeclaration:h}=Ke();function g(w,E,N){let x=w.getValue();return l([u(a,w.map(N,\"decorators\")),F(x,E)?n:a])}function c(w,E,N){return [u(n,w.map(N,\"declaration\",\"decorators\")),n]}function f(w,E,N){let x=w.getValue(),{decorators:I}=x;if(!t(I)||_(w.getParentNode()))return;let P=x.type===\"ClassExpression\"||x.type===\"ClassDeclaration\"||F(x,E);return [h(w)?n:P?i:\"\",u(a,w.map(N,\"decorators\")),a]}function F(w,E){return w.decorators.some(N=>s(E.originalText,y(N)))}function _(w){if(w.type!==\"ExportDefaultDeclaration\"&&w.type!==\"ExportNamedDeclaration\"&&w.type!==\"DeclareExportDeclaration\")return !1;let E=w.declaration&&w.declaration.decorators;return t(E)&&p(w)===p(E[0])}r.exports={printDecorators:f,printClassMemberDecorators:g,printDecoratorsBeforeExport:c,hasDecoratorsBeforeExport:_};}}),nr=te({\"src/language-js/print/class.js\"(e,r){ne();var{isNonEmptyArray:t,createGroupIdMapper:s}=Ue(),{printComments:a,printDanglingComments:n}=et(),{builders:{join:u,line:i,hardline:l,softline:p,group:y,indent:h,ifBreak:g}}=qe(),{hasComment:c,CommentCheckFlags:f}=Ke(),{getTypeParametersGroupId:F}=jr(),{printMethod:_}=qr(),{printOptionalToken:w,printTypeAnnotation:E,printDefiniteToken:N}=ct(),{printPropertyKey:x}=rr(),{printAssignment:I}=tr(),{printClassMemberDecorators:P}=nu();function $(b,B,k){let M=b.getValue(),R=[];M.declare&&R.push(\"declare \"),M.abstract&&R.push(\"abstract \"),R.push(\"class\");let q=M.id&&c(M.id,f.Trailing)||M.typeParameters&&c(M.typeParameters,f.Trailing)||M.superClass&&c(M.superClass)||t(M.extends)||t(M.mixins)||t(M.implements),J=[],L=[];if(M.id&&J.push(\" \",k(\"id\")),J.push(k(\"typeParameters\")),M.superClass){let Q=[d(b,B,k),k(\"superTypeParameters\")],V=b.call(j=>[\"extends \",a(j,Q,B)],\"superClass\");q?L.push(i,y(V)):L.push(\" \",V);}else L.push(o(b,B,k,\"extends\"));if(L.push(o(b,B,k,\"mixins\"),o(b,B,k,\"implements\")),q){let Q;C(M)?Q=[...J,h(L)]:Q=h([...J,L]),R.push(y(Q,{id:D(M)}));}else R.push(...J,...L);return R.push(\" \",k(\"body\")),R}var D=s(\"heritageGroup\");function T(b){return g(l,\"\",{groupId:D(b)})}function m(b){return [\"superClass\",\"extends\",\"mixins\",\"implements\"].filter(B=>Boolean(b[B])).length>1}function C(b){return b.typeParameters&&!c(b.typeParameters,f.Trailing|f.Line)&&!m(b)}function o(b,B,k,M){let R=b.getValue();if(!t(R[M]))return \"\";let q=n(b,B,!0,J=>{let{marker:L}=J;return L===M});return [C(R)?g(\" \",i,{groupId:F(R.typeParameters)}):i,q,q&&l,M,y(h([i,u([\",\",i],b.map(k,M))]))]}function d(b,B,k){let M=k(\"superClass\");return b.getParentNode().type===\"AssignmentExpression\"?y(g([\"(\",h([p,M]),p,\")\"],M)):M}function v(b,B,k){let M=b.getValue(),R=[];return t(M.decorators)&&R.push(P(b,B,k)),M.accessibility&&R.push(M.accessibility+\" \"),M.readonly&&R.push(\"readonly \"),M.declare&&R.push(\"declare \"),M.static&&R.push(\"static \"),(M.type===\"TSAbstractMethodDefinition\"||M.abstract)&&R.push(\"abstract \"),M.override&&R.push(\"override \"),R.push(_(b,B,k)),R}function S(b,B,k){let M=b.getValue(),R=[],q=B.semi?\";\":\"\";return t(M.decorators)&&R.push(P(b,B,k)),M.accessibility&&R.push(M.accessibility+\" \"),M.declare&&R.push(\"declare \"),M.static&&R.push(\"static \"),(M.type===\"TSAbstractPropertyDefinition\"||M.type===\"TSAbstractAccessorProperty\"||M.abstract)&&R.push(\"abstract \"),M.override&&R.push(\"override \"),M.readonly&&R.push(\"readonly \"),M.variance&&R.push(k(\"variance\")),(M.type===\"ClassAccessorProperty\"||M.type===\"AccessorProperty\"||M.type===\"TSAbstractAccessorProperty\")&&R.push(\"accessor \"),R.push(x(b,B,k),w(b),N(b),E(b,B,k)),[I(b,B,k,R,\" =\",\"value\"),q]}r.exports={printClass:$,printClassMethod:v,printClassProperty:S,printHardlineAfterHeritage:T};}}),bo=te({\"src/language-js/print/interface.js\"(e,r){ne();var{isNonEmptyArray:t}=Ue(),{builders:{join:s,line:a,group:n,indent:u,ifBreak:i}}=qe(),{hasComment:l,identity:p,CommentCheckFlags:y}=Ke(),{getTypeParametersGroupId:h}=jr(),{printTypeScriptModifiers:g}=ct();function c(f,F,_){let w=f.getValue(),E=[];w.declare&&E.push(\"declare \"),w.type===\"TSInterfaceDeclaration\"&&E.push(w.abstract?\"abstract \":\"\",g(f,F,_)),E.push(\"interface\");let N=[],x=[];w.type!==\"InterfaceTypeAnnotation\"&&N.push(\" \",_(\"id\"),_(\"typeParameters\"));let I=w.typeParameters&&!l(w.typeParameters,y.Trailing|y.Line);return t(w.extends)&&x.push(I?i(\" \",a,{groupId:h(w.typeParameters)}):a,\"extends \",(w.extends.length===1?p:u)(s([\",\",a],f.map(_,\"extends\")))),w.id&&l(w.id,y.Trailing)||t(w.extends)?I?E.push(n([...N,u(x)])):E.push(n(u([...N,...x]))):E.push(...N,...x),E.push(\" \",_(\"body\")),n(E)}r.exports={printInterface:c};}}),To=te({\"src/language-js/print/module.js\"(e,r){ne();var{isNonEmptyArray:t}=Ue(),{builders:{softline:s,group:a,indent:n,join:u,line:i,ifBreak:l,hardline:p}}=qe(),{printDanglingComments:y}=et(),{hasComment:h,CommentCheckFlags:g,shouldPrintComma:c,needsHardlineAfterDanglingComment:f,isStringLiteral:F,rawText:_}=Ke(),{locStart:w,hasSameLoc:E}=ut(),{hasDecoratorsBeforeExport:N,printDecoratorsBeforeExport:x}=nu();function I(S,b,B){let k=S.getValue(),M=b.semi?\";\":\"\",R=[],{importKind:q}=k;return R.push(\"import\"),q&&q!==\"value\"&&R.push(\" \",q),R.push(m(S,b,B),T(S,b,B),o(S,b,B),M),R}function P(S,b,B){let k=S.getValue(),M=[];N(k)&&M.push(x(S,b,B));let{type:R,exportKind:q,declaration:J}=k;return M.push(\"export\"),(k.default||R===\"ExportDefaultDeclaration\")&&M.push(\" default\"),h(k,g.Dangling)&&(M.push(\" \",y(S,b,!0)),f(k)&&M.push(p)),J?M.push(\" \",B(\"declaration\")):M.push(q===\"type\"?\" type\":\"\",m(S,b,B),T(S,b,B),o(S,b,B)),D(k,b)&&M.push(\";\"),M}function $(S,b,B){let k=S.getValue(),M=b.semi?\";\":\"\",R=[],{exportKind:q,exported:J}=k;return R.push(\"export\"),q===\"type\"&&R.push(\" type\"),R.push(\" *\"),J&&R.push(\" as \",B(\"exported\")),R.push(T(S,b,B),o(S,b,B),M),R}function D(S,b){if(!b.semi)return !1;let{type:B,declaration:k}=S,M=S.default||B===\"ExportDefaultDeclaration\";if(!k)return !0;let{type:R}=k;return !!(M&&R!==\"ClassDeclaration\"&&R!==\"FunctionDeclaration\"&&R!==\"TSInterfaceDeclaration\"&&R!==\"DeclareClass\"&&R!==\"DeclareFunction\"&&R!==\"TSDeclareFunction\"&&R!==\"EnumDeclaration\")}function T(S,b,B){let k=S.getValue();if(!k.source)return \"\";let M=[];return C(k,b)||M.push(\" from\"),M.push(\" \",B(\"source\")),M}function m(S,b,B){let k=S.getValue();if(C(k,b))return \"\";let M=[\" \"];if(t(k.specifiers)){let R=[],q=[];S.each(()=>{let J=S.getValue().type;if(J===\"ExportNamespaceSpecifier\"||J===\"ExportDefaultSpecifier\"||J===\"ImportNamespaceSpecifier\"||J===\"ImportDefaultSpecifier\")R.push(B());else if(J===\"ExportSpecifier\"||J===\"ImportSpecifier\")q.push(B());else throw new Error(`Unknown specifier type ${JSON.stringify(J)}`)},\"specifiers\"),M.push(u(\", \",R)),q.length>0&&(R.length>0&&M.push(\", \"),q.length>1||R.length>0||k.specifiers.some(L=>h(L))?M.push(a([\"{\",n([b.bracketSpacing?i:s,u([\",\",i],q)]),l(c(b)?\",\":\"\"),b.bracketSpacing?i:s,\"}\"])):M.push([\"{\",b.bracketSpacing?\" \":\"\",...q,b.bracketSpacing?\" \":\"\",\"}\"]));}else M.push(\"{}\");return M}function C(S,b){let{type:B,importKind:k,source:M,specifiers:R}=S;return B!==\"ImportDeclaration\"||t(R)||k===\"type\"?!1:!/{\\s*}/.test(b.originalText.slice(w(S),w(M)))}function o(S,b,B){let k=S.getNode();return t(k.assertions)?[\" assert {\",b.bracketSpacing?\" \":\"\",u(\", \",S.map(B,\"assertions\")),b.bracketSpacing?\" \":\"\",\"}\"]:\"\"}function d(S,b,B){let k=S.getNode(),{type:M}=k,R=[],q=M===\"ImportSpecifier\"?k.importKind:k.exportKind;q&&q!==\"value\"&&R.push(q,\" \");let J=M.startsWith(\"Import\"),L=J?\"imported\":\"local\",Q=J?\"local\":\"exported\",V=k[L],j=k[Q],Y=\"\",ie=\"\";return M===\"ExportNamespaceSpecifier\"||M===\"ImportNamespaceSpecifier\"?Y=\"*\":V&&(Y=B(L)),j&&!v(k)&&(ie=B(Q)),R.push(Y,Y&&ie?\" as \":\"\",ie),R}function v(S){if(S.type!==\"ImportSpecifier\"&&S.type!==\"ExportSpecifier\")return !1;let{local:b,[S.type===\"ImportSpecifier\"?\"imported\":\"exported\"]:B}=S;if(b.type!==B.type||!E(b,B))return !1;if(F(b))return b.value===B.value&&_(b)===_(B);switch(b.type){case\"Identifier\":return b.name===B.name;default:return !1}}r.exports={printImportDeclaration:I,printExportDeclaration:P,printExportAllDeclaration:$,printModuleSpecifier:d};}}),uu=te({\"src/language-js/print/object.js\"(e,r){ne();var{printDanglingComments:t}=et(),{builders:{line:s,softline:a,group:n,indent:u,ifBreak:i,hardline:l}}=qe(),{getLast:p,hasNewlineInRange:y,hasNewline:h,isNonEmptyArray:g}=Ue(),{shouldPrintComma:c,hasComment:f,getComments:F,CommentCheckFlags:_,isNextLineEmpty:w}=Ke(),{locStart:E,locEnd:N}=ut(),{printOptionalToken:x,printTypeAnnotation:I}=ct(),{shouldHugFunctionParameters:P}=Lr(),{shouldHugType:$}=Or(),{printHardlineAfterHeritage:D}=nr();function T(m,C,o){let d=C.semi?\";\":\"\",v=m.getValue(),S;v.type===\"TSTypeLiteral\"?S=\"members\":v.type===\"TSInterfaceBody\"?S=\"body\":S=\"properties\";let b=v.type===\"ObjectTypeAnnotation\",B=[S];b&&B.push(\"indexers\",\"callProperties\",\"internalSlots\");let k=B.map(W=>v[W][0]).sort((W,K)=>E(W)-E(K))[0],M=m.getParentNode(0),R=b&&M&&(M.type===\"InterfaceDeclaration\"||M.type===\"DeclareInterface\"||M.type===\"DeclareClass\")&&m.getName()===\"body\",q=v.type===\"TSInterfaceBody\"||R||v.type===\"ObjectPattern\"&&M.type!==\"FunctionDeclaration\"&&M.type!==\"FunctionExpression\"&&M.type!==\"ArrowFunctionExpression\"&&M.type!==\"ObjectMethod\"&&M.type!==\"ClassMethod\"&&M.type!==\"ClassPrivateMethod\"&&M.type!==\"AssignmentPattern\"&&M.type!==\"CatchClause\"&&v.properties.some(W=>W.value&&(W.value.type===\"ObjectPattern\"||W.value.type===\"ArrayPattern\"))||v.type!==\"ObjectPattern\"&&k&&y(C.originalText,E(v),E(k)),J=R?\";\":v.type===\"TSInterfaceBody\"||v.type===\"TSTypeLiteral\"?i(d,\";\"):\",\",L=v.type===\"RecordExpression\"?\"#{\":v.exact?\"{|\":\"{\",Q=v.exact?\"|}\":\"}\",V=[];for(let W of B)m.each(K=>{let de=K.getValue();V.push({node:de,printed:o(),loc:E(de)});},W);B.length>1&&V.sort((W,K)=>W.loc-K.loc);let j=[],Y=V.map(W=>{let K=[...j,n(W.printed)];return j=[J,s],(W.node.type===\"TSPropertySignature\"||W.node.type===\"TSMethodSignature\"||W.node.type===\"TSConstructSignatureDeclaration\")&&f(W.node,_.PrettierIgnore)&&j.shift(),w(W.node,C)&&j.push(l),K});if(v.inexact){let W;if(f(v,_.Dangling)){let K=f(v,_.Line);W=[t(m,C,!0),K||h(C.originalText,N(p(F(v))))?l:s,\"...\"];}else W=[\"...\"];Y.push([...j,...W]);}let ie=p(v[S]),ee=!(v.inexact||ie&&ie.type===\"RestElement\"||ie&&(ie.type===\"TSPropertySignature\"||ie.type===\"TSCallSignatureDeclaration\"||ie.type===\"TSMethodSignature\"||ie.type===\"TSConstructSignatureDeclaration\")&&f(ie,_.PrettierIgnore)),ce;if(Y.length===0){if(!f(v,_.Dangling))return [L,Q,I(m,C,o)];ce=n([L,t(m,C),a,Q,x(m),I(m,C,o)]);}else ce=[R&&g(v.properties)?D(M):\"\",L,u([C.bracketSpacing?s:a,...Y]),i(ee&&(J!==\",\"||c(C))?J:\"\"),C.bracketSpacing?s:a,Q,x(m),I(m,C,o)];return m.match(W=>W.type===\"ObjectPattern\"&&!W.decorators,(W,K,de)=>P(W)&&(K===\"params\"||K===\"parameters\"||K===\"this\"||K===\"rest\")&&de===0)||m.match($,(W,K)=>K===\"typeAnnotation\",(W,K)=>K===\"typeAnnotation\",(W,K,de)=>P(W)&&(K===\"params\"||K===\"parameters\"||K===\"this\"||K===\"rest\")&&de===0)||!q&&m.match(W=>W.type===\"ObjectPattern\",W=>W.type===\"AssignmentExpression\"||W.type===\"VariableDeclarator\")?ce:n(ce,{shouldBreak:q})}r.exports={printObject:T};}}),dd=te({\"src/language-js/print/flow.js\"(e,r){ne();var t=Zt(),{printDanglingComments:s}=et(),{printString:a,printNumber:n}=Ue(),{builders:{hardline:u,softline:i,group:l,indent:p}}=qe(),{getParentExportDeclaration:y,isFunctionNotation:h,isGetterOrSetter:g,rawText:c,shouldPrintComma:f}=Ke(),{locStart:F,locEnd:_}=ut(),{replaceTextEndOfLine:w}=Yt(),{printClass:E}=nr(),{printOpaqueType:N,printTypeAlias:x,printIntersectionType:I,printUnionType:P,printFunctionType:$,printTupleType:D,printIndexedAccessType:T}=Or(),{printInterface:m}=bo(),{printTypeParameter:C,printTypeParameters:o}=jr(),{printExportDeclaration:d,printExportAllDeclaration:v}=To(),{printArrayItems:S}=er(),{printObject:b}=uu(),{printPropertyKey:B}=rr(),{printOptionalToken:k,printTypeAnnotation:M,printRestSpread:R}=ct();function q(L,Q,V){let j=L.getValue(),Y=Q.semi?\";\":\"\",ie=[];switch(j.type){case\"DeclareClass\":return J(L,E(L,Q,V));case\"DeclareFunction\":return J(L,[\"function \",V(\"id\"),j.predicate?\" \":\"\",V(\"predicate\"),Y]);case\"DeclareModule\":return J(L,[\"module \",V(\"id\"),\" \",V(\"body\")]);case\"DeclareModuleExports\":return J(L,[\"module.exports\",\": \",V(\"typeAnnotation\"),Y]);case\"DeclareVariable\":return J(L,[\"var \",V(\"id\"),Y]);case\"DeclareOpaqueType\":return J(L,N(L,Q,V));case\"DeclareInterface\":return J(L,m(L,Q,V));case\"DeclareTypeAlias\":return J(L,x(L,Q,V));case\"DeclareExportDeclaration\":return J(L,d(L,Q,V));case\"DeclareExportAllDeclaration\":return J(L,v(L,Q,V));case\"OpaqueType\":return N(L,Q,V);case\"TypeAlias\":return x(L,Q,V);case\"IntersectionTypeAnnotation\":return I(L,Q,V);case\"UnionTypeAnnotation\":return P(L,Q,V);case\"FunctionTypeAnnotation\":return $(L,Q,V);case\"TupleTypeAnnotation\":return D(L,Q,V);case\"GenericTypeAnnotation\":return [V(\"id\"),o(L,Q,V,\"typeParameters\")];case\"IndexedAccessType\":case\"OptionalIndexedAccessType\":return T(L,Q,V);case\"TypeAnnotation\":return V(\"typeAnnotation\");case\"TypeParameter\":return C(L,Q,V);case\"TypeofTypeAnnotation\":return [\"typeof \",V(\"argument\")];case\"ExistsTypeAnnotation\":return \"*\";case\"EmptyTypeAnnotation\":return \"empty\";case\"MixedTypeAnnotation\":return \"mixed\";case\"ArrayTypeAnnotation\":return [V(\"elementType\"),\"[]\"];case\"BooleanLiteralTypeAnnotation\":return String(j.value);case\"EnumDeclaration\":return [\"enum \",V(\"id\"),\" \",V(\"body\")];case\"EnumBooleanBody\":case\"EnumNumberBody\":case\"EnumStringBody\":case\"EnumSymbolBody\":{if(j.type===\"EnumSymbolBody\"||j.explicitType){let ee=null;switch(j.type){case\"EnumBooleanBody\":ee=\"boolean\";break;case\"EnumNumberBody\":ee=\"number\";break;case\"EnumStringBody\":ee=\"string\";break;case\"EnumSymbolBody\":ee=\"symbol\";break}ie.push(\"of \",ee,\" \");}if(j.members.length===0&&!j.hasUnknownMembers)ie.push(l([\"{\",s(L,Q),i,\"}\"]));else {let ee=j.members.length>0?[u,S(L,Q,\"members\",V),j.hasUnknownMembers||f(Q)?\",\":\"\"]:[];ie.push(l([\"{\",p([...ee,...j.hasUnknownMembers?[u,\"...\"]:[]]),s(L,Q,!0),u,\"}\"]));}return ie}case\"EnumBooleanMember\":case\"EnumNumberMember\":case\"EnumStringMember\":return [V(\"id\"),\" = \",typeof j.init==\"object\"?V(\"init\"):String(j.init)];case\"EnumDefaultedMember\":return V(\"id\");case\"FunctionTypeParam\":{let ee=j.name?V(\"name\"):L.getParentNode().this===j?\"this\":\"\";return [ee,k(L),ee?\": \":\"\",V(\"typeAnnotation\")]}case\"InterfaceDeclaration\":case\"InterfaceTypeAnnotation\":return m(L,Q,V);case\"ClassImplements\":case\"InterfaceExtends\":return [V(\"id\"),V(\"typeParameters\")];case\"NullableTypeAnnotation\":return [\"?\",V(\"typeAnnotation\")];case\"Variance\":{let{kind:ee}=j;return t.ok(ee===\"plus\"||ee===\"minus\"),ee===\"plus\"?\"+\":\"-\"}case\"ObjectTypeCallProperty\":return j.static&&ie.push(\"static \"),ie.push(V(\"value\")),ie;case\"ObjectTypeIndexer\":return [j.static?\"static \":\"\",j.variance?V(\"variance\"):\"\",\"[\",V(\"id\"),j.id?\": \":\"\",V(\"key\"),\"]: \",V(\"value\")];case\"ObjectTypeProperty\":{let ee=\"\";return j.proto?ee=\"proto \":j.static&&(ee=\"static \"),[ee,g(j)?j.kind+\" \":\"\",j.variance?V(\"variance\"):\"\",B(L,Q,V),k(L),h(j)?\"\":\": \",V(\"value\")]}case\"ObjectTypeAnnotation\":return b(L,Q,V);case\"ObjectTypeInternalSlot\":return [j.static?\"static \":\"\",\"[[\",V(\"id\"),\"]]\",k(L),j.method?\"\":\": \",V(\"value\")];case\"ObjectTypeSpreadProperty\":return R(L,Q,V);case\"QualifiedTypeofIdentifier\":case\"QualifiedTypeIdentifier\":return [V(\"qualification\"),\".\",V(\"id\")];case\"StringLiteralTypeAnnotation\":return w(a(c(j),Q));case\"NumberLiteralTypeAnnotation\":t.strictEqual(typeof j.value,\"number\");case\"BigIntLiteralTypeAnnotation\":return j.extra?n(j.extra.raw):n(j.raw);case\"TypeCastExpression\":return [\"(\",V(\"expression\"),M(L,Q,V),\")\"];case\"TypeParameterDeclaration\":case\"TypeParameterInstantiation\":{let ee=o(L,Q,V,\"params\");if(Q.parser===\"flow\"){let ce=F(j),W=_(j),K=Q.originalText.lastIndexOf(\"/*\",ce),de=Q.originalText.indexOf(\"*/\",W);if(K!==-1&&de!==-1){let ue=Q.originalText.slice(K+2,de).trim();if(ue.startsWith(\"::\")&&!ue.includes(\"/*\")&&!ue.includes(\"*/\"))return [\"/*:: \",ee,\" */\"]}}return ee}case\"InferredPredicate\":return \"%checks\";case\"DeclaredPredicate\":return [\"%checks(\",V(\"value\"),\")\"];case\"AnyTypeAnnotation\":return \"any\";case\"BooleanTypeAnnotation\":return \"boolean\";case\"BigIntTypeAnnotation\":return \"bigint\";case\"NullLiteralTypeAnnotation\":return \"null\";case\"NumberTypeAnnotation\":return \"number\";case\"SymbolTypeAnnotation\":return \"symbol\";case\"StringTypeAnnotation\":return \"string\";case\"VoidTypeAnnotation\":return \"void\";case\"ThisTypeAnnotation\":return \"this\";case\"Node\":case\"Printable\":case\"SourceLocation\":case\"Position\":case\"Statement\":case\"Function\":case\"Pattern\":case\"Expression\":case\"Declaration\":case\"Specifier\":case\"NamedSpecifier\":case\"Comment\":case\"MemberTypeAnnotation\":case\"Type\":throw new Error(\"unprintable type: \"+JSON.stringify(j.type))}}function J(L,Q){let V=y(L);return V?(t.strictEqual(V.type,\"DeclareExportDeclaration\"),Q):[\"declare \",Q]}r.exports={printFlow:q};}}),gd=te({\"src/language-js/utils/is-ts-keyword-type.js\"(e,r){ne();function t(s){let{type:a}=s;return a.startsWith(\"TS\")&&a.endsWith(\"Keyword\")}r.exports=t;}}),Bo=te({\"src/language-js/print/ternary.js\"(e,r){ne();var{hasNewlineInRange:t}=Ue(),{isJsxNode:s,getComments:a,isCallExpression:n,isMemberExpression:u,isTSTypeExpression:i}=Ke(),{locStart:l,locEnd:p}=ut(),y=Pt(),{builders:{line:h,softline:g,group:c,indent:f,align:F,ifBreak:_,dedent:w,breakParent:E}}=qe();function N(D){let T=[D];for(let m=0;mR[ue]===C),J=R.type===C.type&&!q,L,Q,V=0;do Q=L||C,L=D.getParentNode(V),V++;while(L&&L.type===C.type&&S.every(ue=>L[ue]!==Q));let j=L||R,Y=Q;if(o&&(s(C[S[0]])||s(b)||s(B)||N(Y))){M=!0,J=!0;let ue=z=>[_(\"(\"),f([g,z]),g,_(\")\")],Fe=z=>z.type===\"NullLiteral\"||z.type===\"Literal\"&&z.value===null||z.type===\"Identifier\"&&z.name===\"undefined\";k.push(\" ? \",Fe(b)?m(d):ue(m(d)),\" : \",B.type===C.type||Fe(B)?m(v):ue(m(v)));}else {let ue=[h,\"? \",b.type===C.type?_(\"\",\"(\"):\"\",F(2,m(d)),b.type===C.type?_(\"\",\")\"):\"\",h,\": \",B.type===C.type?m(v):F(2,m(v))];k.push(R.type!==C.type||R[v]===C||q?ue:T.useTabs?w(f(ue)):F(Math.max(0,T.tabWidth-2),ue));}let ee=[...S.map(ue=>a(C[ue])),a(b),a(B)].flat().some(ue=>y(ue)&&t(T.originalText,l(ue),p(ue))),ce=ue=>R===j?c(ue,{shouldBreak:ee}):ee?[ue,E]:ue,W=!M&&(u(R)||R.type===\"NGPipeExpression\"&&R.left===C)&&!R.computed,K=P(D),de=ce([x(D,T,m),J?k:f(k),o&&W&&!K?g:\"\"]);return q||K?c([f([g,de]),g]):de}r.exports={printTernary:$};}}),No=te({\"src/language-js/print/statement.js\"(e,r){ne();var{builders:{hardline:t}}=qe(),s=qt(),{getLeftSidePathName:a,hasNakedLeftSide:n,isJsxNode:u,isTheOnlyJsxElementInMarkdown:i,hasComment:l,CommentCheckFlags:p,isNextLineEmpty:y}=Ke(),{shouldPrintParamsWithoutParens:h}=qr();function g(x,I,P,$){let D=x.getValue(),T=[],m=D.type===\"ClassBody\",C=c(D[$]);return x.each((o,d,v)=>{let S=o.getValue();if(S.type===\"EmptyStatement\")return;let b=P();!I.semi&&!m&&!i(I,o)&&f(o,I)?l(S,p.Leading)?T.push(P([],{needsSemi:!0})):T.push(\";\",b):T.push(b),!I.semi&&m&&E(S)&&N(S,v[d+1])&&T.push(\";\"),S!==C&&(T.push(t),y(S,I)&&T.push(t));},$),T}function c(x){for(let I=x.length-1;I>=0;I--){let P=x[I];if(P.type!==\"EmptyStatement\")return P}}function f(x,I){return x.getNode().type!==\"ExpressionStatement\"?!1:x.call($=>F($,I),\"expression\")}function F(x,I){let P=x.getValue();switch(P.type){case\"ParenthesizedExpression\":case\"TypeCastExpression\":case\"ArrayExpression\":case\"ArrayPattern\":case\"TemplateLiteral\":case\"TemplateElement\":case\"RegExpLiteral\":return !0;case\"ArrowFunctionExpression\":{if(!h(x,I))return !0;break}case\"UnaryExpression\":{let{prefix:$,operator:D}=P;if($&&(D===\"+\"||D===\"-\"))return !0;break}case\"BindExpression\":{if(!P.object)return !0;break}case\"Literal\":{if(P.regex)return !0;break}default:if(u(P))return !0}return s(x,I)?!0:n(P)?x.call($=>F($,I),...a(x,P)):!1}function _(x,I,P){return g(x,I,P,\"body\")}function w(x,I,P){return g(x,I,P,\"consequent\")}var E=x=>{let{type:I}=x;return I===\"ClassProperty\"||I===\"PropertyDefinition\"||I===\"ClassPrivateProperty\"||I===\"ClassAccessorProperty\"||I===\"AccessorProperty\"||I===\"TSAbstractPropertyDefinition\"||I===\"TSAbstractAccessorProperty\"};function N(x,I){let{type:P,name:$}=x.key;if(!x.computed&&P===\"Identifier\"&&($===\"static\"||$===\"get\"||$===\"set\"||$===\"accessor\")&&!x.value&&!x.typeAnnotation)return !0;if(!I||I.static||I.accessibility)return !1;if(!I.computed){let D=I.key&&I.key.name;if(D===\"in\"||D===\"instanceof\")return !0}if(E(I)&&I.variance&&!I.static&&!I.declare)return !0;switch(I.type){case\"ClassProperty\":case\"PropertyDefinition\":case\"TSAbstractPropertyDefinition\":return I.computed;case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"ClassMethod\":case\"ClassPrivateMethod\":{if((I.value?I.value.async:I.async)||I.kind===\"get\"||I.kind===\"set\")return !1;let T=I.value?I.value.generator:I.generator;return !!(I.computed||T)}case\"TSIndexSignature\":return !0}return !1}r.exports={printBody:_,printSwitchCaseConsequent:w};}}),wo=te({\"src/language-js/print/block.js\"(e,r){ne();var{printDanglingComments:t}=et(),{isNonEmptyArray:s}=Ue(),{builders:{hardline:a,indent:n}}=qe(),{hasComment:u,CommentCheckFlags:i,isNextLineEmpty:l}=Ke(),{printHardlineAfterHeritage:p}=nr(),{printBody:y}=No();function h(c,f,F){let _=c.getValue(),w=[];if(_.type===\"StaticBlock\"&&w.push(\"static \"),_.type===\"ClassBody\"&&s(_.body)){let N=c.getParentNode();w.push(p(N));}w.push(\"{\");let E=g(c,f,F);if(E)w.push(n([a,E]),a);else {let N=c.getParentNode(),x=c.getParentNode(1);N.type===\"ArrowFunctionExpression\"||N.type===\"FunctionExpression\"||N.type===\"FunctionDeclaration\"||N.type===\"ObjectMethod\"||N.type===\"ClassMethod\"||N.type===\"ClassPrivateMethod\"||N.type===\"ForStatement\"||N.type===\"WhileStatement\"||N.type===\"DoWhileStatement\"||N.type===\"DoExpression\"||N.type===\"CatchClause\"&&!x.finalizer||N.type===\"TSModuleDeclaration\"||N.type===\"TSDeclareFunction\"||_.type===\"StaticBlock\"||_.type===\"ClassBody\"||w.push(a);}return w.push(\"}\"),w}function g(c,f,F){let _=c.getValue(),w=s(_.directives),E=_.body.some(I=>I.type!==\"EmptyStatement\"),N=u(_,i.Dangling);if(!w&&!E&&!N)return \"\";let x=[];if(w&&c.each((I,P,$)=>{x.push(F()),(P<$.length-1||E||N)&&(x.push(a),l(I.getValue(),f)&&x.push(a));},\"directives\"),E&&x.push(y(c,f,F)),N&&x.push(t(c,f,!0)),_.type===\"Program\"){let I=c.getParentNode();(!I||I.type!==\"ModuleExpression\")&&x.push(a);}return x}r.exports={printBlock:h,printBlockBody:g};}}),yd=te({\"src/language-js/print/typescript.js\"(e,r){ne();var{printDanglingComments:t}=et(),{hasNewlineInRange:s}=Ue(),{builders:{join:a,line:n,hardline:u,softline:i,group:l,indent:p,conditionalGroup:y,ifBreak:h}}=qe(),{isStringLiteral:g,getTypeScriptMappedTypeModifier:c,shouldPrintComma:f,isCallExpression:F,isMemberExpression:_}=Ke(),w=gd(),{locStart:E,locEnd:N}=ut(),{printOptionalToken:x,printTypeScriptModifiers:I}=ct(),{printTernary:P}=Bo(),{printFunctionParameters:$,shouldGroupFunctionParameters:D}=Lr(),{printTemplateLiteral:T}=jt(),{printArrayItems:m}=er(),{printObject:C}=uu(),{printClassProperty:o,printClassMethod:d}=nr(),{printTypeParameter:v,printTypeParameters:S}=jr(),{printPropertyKey:b}=rr(),{printFunction:B,printMethodInternal:k}=qr(),{printInterface:M}=bo(),{printBlock:R}=wo(),{printTypeAlias:q,printIntersectionType:J,printUnionType:L,printFunctionType:Q,printTupleType:V,printIndexedAccessType:j,printJSDocType:Y}=Or();function ie(ee,ce,W){let K=ee.getValue();if(!K.type.startsWith(\"TS\"))return;if(w(K))return K.type.slice(2,-7).toLowerCase();let de=ce.semi?\";\":\"\",ue=[];switch(K.type){case\"TSThisType\":return \"this\";case\"TSTypeAssertion\":{let Fe=!(K.expression.type===\"ArrayExpression\"||K.expression.type===\"ObjectExpression\"),z=l([\"<\",p([i,W(\"typeAnnotation\")]),i,\">\"]),U=[h(\"(\"),p([i,W(\"expression\")]),i,h(\")\")];return Fe?y([[z,W(\"expression\")],[z,l(U,{shouldBreak:!0})],[z,W(\"expression\")]]):l([z,W(\"expression\")])}case\"TSDeclareFunction\":return B(ee,W,ce);case\"TSExportAssignment\":return [\"export = \",W(\"expression\"),de];case\"TSModuleBlock\":return R(ee,ce,W);case\"TSInterfaceBody\":case\"TSTypeLiteral\":return C(ee,ce,W);case\"TSTypeAliasDeclaration\":return q(ee,ce,W);case\"TSQualifiedName\":return a(\".\",[W(\"left\"),W(\"right\")]);case\"TSAbstractMethodDefinition\":case\"TSDeclareMethod\":return d(ee,ce,W);case\"TSAbstractAccessorProperty\":case\"TSAbstractPropertyDefinition\":return o(ee,ce,W);case\"TSInterfaceHeritage\":case\"TSExpressionWithTypeArguments\":return ue.push(W(\"expression\")),K.typeParameters&&ue.push(W(\"typeParameters\")),ue;case\"TSTemplateLiteralType\":return T(ee,W,ce);case\"TSNamedTupleMember\":return [W(\"label\"),K.optional?\"?\":\"\",\": \",W(\"elementType\")];case\"TSRestType\":return [\"...\",W(\"typeAnnotation\")];case\"TSOptionalType\":return [W(\"typeAnnotation\"),\"?\"];case\"TSInterfaceDeclaration\":return M(ee,ce,W);case\"TSClassImplements\":return [W(\"expression\"),W(\"typeParameters\")];case\"TSTypeParameterDeclaration\":case\"TSTypeParameterInstantiation\":return S(ee,ce,W,\"params\");case\"TSTypeParameter\":return v(ee,ce,W);case\"TSSatisfiesExpression\":case\"TSAsExpression\":{let Fe=K.type===\"TSAsExpression\"?\"as\":\"satisfies\";ue.push(W(\"expression\"),` ${Fe} `,W(\"typeAnnotation\"));let z=ee.getParentNode();return F(z)&&z.callee===K||_(z)&&z.object===K?l([p([i,...ue]),i]):ue}case\"TSArrayType\":return [W(\"elementType\"),\"[]\"];case\"TSPropertySignature\":return K.readonly&&ue.push(\"readonly \"),ue.push(b(ee,ce,W),x(ee)),K.typeAnnotation&&ue.push(\": \",W(\"typeAnnotation\")),K.initializer&&ue.push(\" = \",W(\"initializer\")),ue;case\"TSParameterProperty\":return K.accessibility&&ue.push(K.accessibility+\" \"),K.export&&ue.push(\"export \"),K.static&&ue.push(\"static \"),K.override&&ue.push(\"override \"),K.readonly&&ue.push(\"readonly \"),ue.push(W(\"parameter\")),ue;case\"TSTypeQuery\":return [\"typeof \",W(\"exprName\"),W(\"typeParameters\")];case\"TSIndexSignature\":{let Fe=ee.getParentNode(),z=K.parameters.length>1?h(f(ce)?\",\":\"\"):\"\",U=l([p([i,a([\", \",i],ee.map(W,\"parameters\"))]),z,i]);return [K.export?\"export \":\"\",K.accessibility?[K.accessibility,\" \"]:\"\",K.static?\"static \":\"\",K.readonly?\"readonly \":\"\",K.declare?\"declare \":\"\",\"[\",K.parameters?U:\"\",K.typeAnnotation?\"]: \":\"]\",K.typeAnnotation?W(\"typeAnnotation\"):\"\",Fe.type===\"ClassBody\"?de:\"\"]}case\"TSTypePredicate\":return [K.asserts?\"asserts \":\"\",W(\"parameterName\"),K.typeAnnotation?[\" is \",W(\"typeAnnotation\")]:\"\"];case\"TSNonNullExpression\":return [W(\"expression\"),\"!\"];case\"TSImportType\":return [K.isTypeOf?\"typeof \":\"\",\"import(\",W(K.parameter?\"parameter\":\"argument\"),\")\",K.qualifier?[\".\",W(\"qualifier\")]:\"\",S(ee,ce,W,\"typeParameters\")];case\"TSLiteralType\":return W(\"literal\");case\"TSIndexedAccessType\":return j(ee,ce,W);case\"TSConstructSignatureDeclaration\":case\"TSCallSignatureDeclaration\":case\"TSConstructorType\":{if(K.type===\"TSConstructorType\"&&K.abstract&&ue.push(\"abstract \"),K.type!==\"TSCallSignatureDeclaration\"&&ue.push(\"new \"),ue.push(l($(ee,W,ce,!1,!0))),K.returnType||K.typeAnnotation){let Fe=K.type===\"TSConstructorType\";ue.push(Fe?\" => \":\": \",W(\"returnType\"),W(\"typeAnnotation\"));}return ue}case\"TSTypeOperator\":return [K.operator,\" \",W(\"typeAnnotation\")];case\"TSMappedType\":{let Fe=s(ce.originalText,E(K),N(K));return l([\"{\",p([ce.bracketSpacing?n:i,W(\"typeParameter\"),K.optional?c(K.optional,\"?\"):\"\",K.typeAnnotation?\": \":\"\",W(\"typeAnnotation\"),h(de)]),t(ee,ce,!0),ce.bracketSpacing?n:i,\"}\"],{shouldBreak:Fe})}case\"TSMethodSignature\":{let Fe=K.kind&&K.kind!==\"method\"?`${K.kind} `:\"\";ue.push(K.accessibility?[K.accessibility,\" \"]:\"\",Fe,K.export?\"export \":\"\",K.static?\"static \":\"\",K.readonly?\"readonly \":\"\",K.abstract?\"abstract \":\"\",K.declare?\"declare \":\"\",K.computed?\"[\":\"\",W(\"key\"),K.computed?\"]\":\"\",x(ee));let z=$(ee,W,ce,!1,!0),U=K.returnType?\"returnType\":\"typeAnnotation\",Z=K[U],se=Z?W(U):\"\",fe=D(K,se);return ue.push(fe?l(z):z),Z&&ue.push(\": \",l(se)),l(ue)}case\"TSNamespaceExportDeclaration\":return ue.push(\"export as namespace \",W(\"id\")),ce.semi&&ue.push(\";\"),l(ue);case\"TSEnumDeclaration\":return K.declare&&ue.push(\"declare \"),K.modifiers&&ue.push(I(ee,ce,W)),K.const&&ue.push(\"const \"),ue.push(\"enum \",W(\"id\"),\" \"),K.members.length===0?ue.push(l([\"{\",t(ee,ce),i,\"}\"])):ue.push(l([\"{\",p([u,m(ee,ce,\"members\",W),f(ce,\"es5\")?\",\":\"\"]),t(ee,ce,!0),u,\"}\"])),ue;case\"TSEnumMember\":return K.computed?ue.push(\"[\",W(\"id\"),\"]\"):ue.push(W(\"id\")),K.initializer&&ue.push(\" = \",W(\"initializer\")),ue;case\"TSImportEqualsDeclaration\":return K.isExport&&ue.push(\"export \"),ue.push(\"import \"),K.importKind&&K.importKind!==\"value\"&&ue.push(K.importKind,\" \"),ue.push(W(\"id\"),\" = \",W(\"moduleReference\")),ce.semi&&ue.push(\";\"),l(ue);case\"TSExternalModuleReference\":return [\"require(\",W(\"expression\"),\")\"];case\"TSModuleDeclaration\":{let Fe=ee.getParentNode(),z=g(K.id),U=Fe.type===\"TSModuleDeclaration\",Z=K.body&&K.body.type===\"TSModuleDeclaration\";if(U)ue.push(\".\");else {K.declare&&ue.push(\"declare \"),ue.push(I(ee,ce,W));let se=ce.originalText.slice(E(K),E(K.id));K.id.type===\"Identifier\"&&K.id.name===\"global\"&&!/namespace|module/.test(se)||ue.push(z||/(?:^|\\s)module(?:\\s|$)/.test(se)?\"module \":\"namespace \");}return ue.push(W(\"id\")),Z?ue.push(W(\"body\")):K.body?ue.push(\" \",l(W(\"body\"))):ue.push(de),ue}case\"TSConditionalType\":return P(ee,ce,W);case\"TSInferType\":return [\"infer\",\" \",W(\"typeParameter\")];case\"TSIntersectionType\":return J(ee,ce,W);case\"TSUnionType\":return L(ee,ce,W);case\"TSFunctionType\":return Q(ee,ce,W);case\"TSTupleType\":return V(ee,ce,W);case\"TSTypeReference\":return [W(\"typeName\"),S(ee,ce,W,\"typeParameters\")];case\"TSTypeAnnotation\":return W(\"typeAnnotation\");case\"TSEmptyBodyFunctionExpression\":return k(ee,ce,W);case\"TSJSDocAllType\":return \"*\";case\"TSJSDocUnknownType\":return \"?\";case\"TSJSDocNullableType\":return Y(ee,W,\"?\");case\"TSJSDocNonNullableType\":return Y(ee,W,\"!\");case\"TSInstantiationExpression\":return [W(\"expression\"),W(\"typeParameters\")];default:throw new Error(`Unknown TypeScript node type: ${JSON.stringify(K.type)}.`)}}r.exports={printTypescript:ie};}}),hd=te({\"src/language-js/print/comment.js\"(e,r){ne();var{hasNewline:t}=Ue(),{builders:{join:s,hardline:a},utils:{replaceTextEndOfLine:n}}=qe(),{isLineComment:u}=Ke(),{locStart:i,locEnd:l}=ut(),p=Pt();function y(c,f){let F=c.getValue();if(u(F))return f.originalText.slice(i(F),l(F)).trimEnd();if(p(F)){if(h(F)){let E=g(F);return F.trailing&&!t(f.originalText,i(F),{backwards:!0})?[a,E]:E}let _=l(F),w=f.originalText.slice(_-3,_)===\"*-/\";return [\"/*\",n(F.value),w?\"*-/\":\"*/\"]}throw new Error(\"Not a comment: \"+JSON.stringify(F))}function h(c){let f=`*${c.value}*`.split(`\n`);return f.length>1&&f.every(F=>F.trim()[0]===\"*\")}function g(c){let f=c.value.split(`\n`);return [\"/*\",s(a,f.map((F,_)=>_===0?F.trimEnd():\" \"+(_{let{marker:Je}=Oe;return Je===C});return [ve(\"expression\"),x(Be,Ce)?\"\":Ye,Ie?[\" \",Ie]:\"\"]}case\"ParenthesizedExpression\":return !E(be.expression)&&(be.expression.type===\"ObjectExpression\"||be.expression.type===\"ArrayExpression\")?[\"(\",ve(\"expression\"),\")\"]:l([\"(\",p([i,ve(\"expression\")]),i,\")\"]);case\"AssignmentExpression\":return oe(Ce,Be,ve);case\"VariableDeclarator\":return Pe(Ce,Be,ve);case\"BinaryExpression\":case\"LogicalExpression\":return H(Ce,Be,ve);case\"AssignmentPattern\":return [ve(\"left\"),\" = \",ve(\"right\")];case\"OptionalMemberExpression\":case\"MemberExpression\":return X(Ce,Be,ve);case\"MetaProperty\":return [ve(\"meta\"),\".\",ve(\"property\")];case\"BindExpression\":return be.object&&Se.push(ve(\"object\")),Se.push(l(p([i,L(Ce,Be,ve)]))),Se;case\"Identifier\":return [be.name,J(Ce),Y(Ce),Q(Ce,Be,ve)];case\"V8IntrinsicIdentifier\":return [\"%\",be.name];case\"SpreadElement\":case\"SpreadElementPattern\":case\"SpreadProperty\":case\"SpreadPropertyPattern\":case\"RestElement\":return j(Ce,Be,ve);case\"FunctionDeclaration\":case\"FunctionExpression\":return ge(Ce,ve,Be,ze);case\"ArrowFunctionExpression\":return he(Ce,Be,ve,ze);case\"YieldExpression\":return Se.push(\"yield\"),be.delegate&&Se.push(\"*\"),be.argument&&Se.push(\" \",ve(\"argument\")),Se;case\"AwaitExpression\":{if(Se.push(\"await\"),be.argument){Se.push(\" \",ve(\"argument\"));let Ie=Ce.getParentNode();if(T(Ie)&&Ie.callee===be||m(Ie)&&Ie.object===be){Se=[p([i,...Se]),i];let Oe=Ce.findAncestor(Je=>Je.type===\"AwaitExpression\"||Je.type===\"BlockStatement\");if(!Oe||Oe.type!==\"AwaitExpression\")return l(Se)}}return Se}case\"ExportDefaultDeclaration\":case\"ExportNamedDeclaration\":return ce(Ce,Be,ve);case\"ExportAllDeclaration\":return W(Ce,Be,ve);case\"ImportDeclaration\":return ee(Ce,Be,ve);case\"ImportSpecifier\":case\"ExportSpecifier\":case\"ImportNamespaceSpecifier\":case\"ExportNamespaceSpecifier\":case\"ImportDefaultSpecifier\":case\"ExportDefaultSpecifier\":return K(Ce,Be,ve);case\"ImportAttribute\":return [ve(\"key\"),\": \",ve(\"value\")];case\"Import\":return \"import\";case\"BlockStatement\":case\"StaticBlock\":case\"ClassBody\":return le(Ce,Be,ve);case\"ThrowStatement\":return Re(Ce,Be,ve);case\"ReturnStatement\":return ke(Ce,Be,ve);case\"NewExpression\":case\"ImportExpression\":case\"OptionalCallExpression\":case\"CallExpression\":return Ne(Ce,Be,ve);case\"ObjectExpression\":case\"ObjectPattern\":case\"RecordExpression\":return z(Ce,Be,ve);case\"ObjectProperty\":case\"Property\":return be.method||be.kind===\"get\"||be.kind===\"set\"?we(Ce,Be,ve):fe(Ce,Be,ve);case\"ObjectMethod\":return we(Ce,Be,ve);case\"Decorator\":return [\"@\",ve(\"expression\")];case\"ArrayExpression\":case\"ArrayPattern\":case\"TupleExpression\":return Fe(Ce,Be,ve);case\"SequenceExpression\":{let Ie=Ce.getParentNode(0);if(Ie.type===\"ExpressionStatement\"||Ie.type===\"ForStatement\"){let Oe=[];return Ce.each((Je,Te)=>{Te===0?Oe.push(ve()):Oe.push(\",\",p([n,ve()]));},\"expressions\"),l(Oe)}return l(a([\",\",n],Ce.map(ve,\"expressions\")))}case\"ThisExpression\":return \"this\";case\"Super\":return \"super\";case\"Directive\":return [ve(\"value\"),Ye];case\"DirectiveLiteral\":return ie(be.extra.raw,Be);case\"UnaryExpression\":return Se.push(be.operator),/[a-z]$/.test(be.operator)&&Se.push(\" \"),E(be.argument)?Se.push(l([\"(\",p([i,ve(\"argument\")]),i,\")\"])):Se.push(ve(\"argument\")),Se;case\"UpdateExpression\":return Se.push(ve(\"argument\"),be.operator),be.prefix&&Se.reverse(),Se;case\"ConditionalExpression\":return de(Ce,Be,ve);case\"VariableDeclaration\":{let Ie=Ce.map(ve,\"declarations\"),Oe=Ce.getParentNode(),Je=Oe.type===\"ForStatement\"||Oe.type===\"ForInStatement\"||Oe.type===\"ForOfStatement\",Te=be.declarations.some(Me=>Me.init),je;return Ie.length===1&&!E(be.declarations[0])?je=Ie[0]:Ie.length>0&&(je=p(Ie[0])),Se=[be.declare?\"declare \":\"\",be.kind,je?[\" \",je]:\"\",p(Ie.slice(1).map(Me=>[\",\",Te&&!Je?u:n,Me]))],Je&&Oe.body!==be||Se.push(Ye),l(Se)}case\"WithStatement\":return l([\"with (\",ve(\"object\"),\")\",V(be.body,ve(\"body\"))]);case\"IfStatement\":{let Ie=V(be.consequent,ve(\"consequent\")),Oe=l([\"if (\",l([p([i,ve(\"test\")]),i]),\")\",Ie]);if(Se.push(Oe),be.alternate){let Je=E(be.consequent,N.Trailing|N.Line)||$(be),Te=be.consequent.type===\"BlockStatement\"&&!Je;Se.push(Te?\" \":u),E(be,N.Dangling)&&Se.push(t(Ce,Be,!0),Je?u:\" \"),Se.push(\"else\",l(V(be.alternate,ve(\"alternate\"),be.alternate.type===\"IfStatement\")));}return Se}case\"ForStatement\":{let Ie=V(be.body,ve(\"body\")),Oe=t(Ce,Be,!0),Je=Oe?[Oe,i]:\"\";return !be.init&&!be.test&&!be.update?[Je,l([\"for (;;)\",Ie])]:[Je,l([\"for (\",l([p([i,ve(\"init\"),\";\",n,ve(\"test\"),\";\",n,ve(\"update\")]),i]),\")\",Ie])]}case\"WhileStatement\":return l([\"while (\",l([p([i,ve(\"test\")]),i]),\")\",V(be.body,ve(\"body\"))]);case\"ForInStatement\":return l([\"for (\",ve(\"left\"),\" in \",ve(\"right\"),\")\",V(be.body,ve(\"body\"))]);case\"ForOfStatement\":return l([\"for\",be.await?\" await\":\"\",\" (\",ve(\"left\"),\" of \",ve(\"right\"),\")\",V(be.body,ve(\"body\"))]);case\"DoWhileStatement\":{let Ie=V(be.body,ve(\"body\"));return Se=[l([\"do\",Ie])],be.body.type===\"BlockStatement\"?Se.push(\" \"):Se.push(u),Se.push(\"while (\",l([p([i,ve(\"test\")]),i]),\")\",Ye),Se}case\"DoExpression\":return [be.async?\"async \":\"\",\"do \",ve(\"body\")];case\"BreakStatement\":return Se.push(\"break\"),be.label&&Se.push(\" \",ve(\"label\")),Se.push(Ye),Se;case\"ContinueStatement\":return Se.push(\"continue\"),be.label&&Se.push(\" \",ve(\"label\")),Se.push(Ye),Se;case\"LabeledStatement\":return be.body.type===\"EmptyStatement\"?[ve(\"label\"),\":;\"]:[ve(\"label\"),\": \",ve(\"body\")];case\"TryStatement\":return [\"try \",ve(\"block\"),be.handler?[\" \",ve(\"handler\")]:\"\",be.finalizer?[\" finally \",ve(\"finalizer\")]:\"\"];case\"CatchClause\":if(be.param){let Ie=E(be.param,Je=>!v(Je)||Je.leading&&s(Be.originalText,d(Je))||Je.trailing&&s(Be.originalText,o(Je),{backwards:!0})),Oe=ve(\"param\");return [\"catch \",Ie?[\"(\",p([i,Oe]),i,\") \"]:[\"(\",Oe,\") \"],ve(\"body\")]}return [\"catch \",ve(\"body\")];case\"SwitchStatement\":return [l([\"switch (\",p([i,ve(\"discriminant\")]),i,\")\"]),\" {\",be.cases.length>0?p([u,a(u,Ce.map((Ie,Oe,Je)=>{let Te=Ie.getValue();return [ve(),Oe!==Je.length-1&&P(Te,Be)?u:\"\"]},\"cases\"))]):\"\",u,\"}\"];case\"SwitchCase\":{be.test?Se.push(\"case \",ve(\"test\"),\":\"):Se.push(\"default:\"),E(be,N.Dangling)&&Se.push(\" \",t(Ce,Be,!0));let Ie=be.consequent.filter(Oe=>Oe.type!==\"EmptyStatement\");if(Ie.length>0){let Oe=pe(Ce,Be,ve);Se.push(Ie.length===1&&Ie[0].type===\"BlockStatement\"?[\" \",Oe]:p([u,Oe]));}return Se}case\"DebuggerStatement\":return [\"debugger\",Ye];case\"ClassDeclaration\":case\"ClassExpression\":return U(Ce,Be,ve);case\"ClassMethod\":case\"ClassPrivateMethod\":case\"MethodDefinition\":return Z(Ce,Be,ve);case\"ClassProperty\":case\"PropertyDefinition\":case\"ClassPrivateProperty\":case\"ClassAccessorProperty\":case\"AccessorProperty\":return se(Ce,Be,ve);case\"TemplateElement\":return y(be.value.raw);case\"TemplateLiteral\":return ue(Ce,ve,Be);case\"TaggedTemplateExpression\":return [ve(\"tag\"),ve(\"typeParameters\"),ve(\"quasi\")];case\"PrivateIdentifier\":return [\"#\",ve(\"name\")];case\"PrivateName\":return [\"#\",ve(\"id\")];case\"InterpreterDirective\":return Se.push(\"#!\",be.value,u),P(be,Be)&&Se.push(u),Se;case\"TopicReference\":return \"%\";case\"ArgumentPlaceholder\":return \"?\";case\"ModuleExpression\":{Se.push(\"module {\");let Ie=ve(\"body\");return Ie&&Se.push(p([u,Ie]),u),Se.push(\"}\"),Se}default:throw new Error(\"unknown type: \"+JSON.stringify(be.type))}}function ye(Ce){return Ce.type&&!v(Ce)&&!I(Ce)&&Ce.type!==\"EmptyStatement\"&&Ce.type!==\"TemplateElement\"&&Ce.type!==\"Import\"&&Ce.type!==\"TSEmptyBodyFunctionExpression\"}r.exports={preprocess:_,print:G,embed:h,insertPragma:c,massageAstNode:g,hasPrettierIgnore(Ce){return D(Ce)||M(Ce)},willPrintOwnComments:f.willPrintOwnComments,canAttachComment:ye,printComment:Ee,isBlockComment:v,handleComments:{avoidAstMutation:!0,ownLine:f.handleOwnLineComment,endOfLine:f.handleEndOfLineComment,remaining:f.handleRemainingComment},getCommentChildNodes:f.getCommentChildNodes};}}),Ed=te({\"src/language-js/printer-estree-json.js\"(e,r){ne();var{builders:{hardline:t,indent:s,join:a}}=qe(),n=Fo();function u(y,h,g){let c=y.getValue();switch(c.type){case\"JsonRoot\":return [g(\"node\"),t];case\"ArrayExpression\":{if(c.elements.length===0)return \"[]\";let f=y.map(()=>y.getValue()===null?\"null\":g(),\"elements\");return [\"[\",s([t,a([\",\",t],f)]),t,\"]\"]}case\"ObjectExpression\":return c.properties.length===0?\"{}\":[\"{\",s([t,a([\",\",t],y.map(g,\"properties\"))]),t,\"}\"];case\"ObjectProperty\":return [g(\"key\"),\": \",g(\"value\")];case\"UnaryExpression\":return [c.operator===\"+\"?\"\":c.operator,g(\"argument\")];case\"NullLiteral\":return \"null\";case\"BooleanLiteral\":return c.value?\"true\":\"false\";case\"StringLiteral\":return JSON.stringify(c.value);case\"NumericLiteral\":return i(y)?JSON.stringify(String(c.value)):JSON.stringify(c.value);case\"Identifier\":return i(y)?JSON.stringify(c.name):c.name;case\"TemplateLiteral\":return g([\"quasis\",0]);case\"TemplateElement\":return JSON.stringify(c.value.cooked);default:throw new Error(\"unknown type: \"+JSON.stringify(c.type))}}function i(y){return y.getName()===\"key\"&&y.getParentNode().type===\"ObjectProperty\"}var l=new Set([\"start\",\"end\",\"extra\",\"loc\",\"comments\",\"leadingComments\",\"trailingComments\",\"innerComments\",\"errors\",\"range\",\"tokens\"]);function p(y,h){let{type:g}=y;if(g===\"ObjectProperty\"){let{key:c}=y;c.type===\"Identifier\"?h.key={type:\"StringLiteral\",value:c.name}:c.type===\"NumericLiteral\"&&(h.key={type:\"StringLiteral\",value:String(c.value)});return}if(g===\"UnaryExpression\"&&y.operator===\"+\")return h.argument;if(g===\"ArrayExpression\"){for(let[c,f]of y.elements.entries())f===null&&h.elements.splice(c,0,{type:\"NullLiteral\"});return}if(g===\"TemplateLiteral\")return {type:\"StringLiteral\",value:y.quasis[0].value.cooked}}p.ignoredProperties=l,r.exports={preprocess:n,print:u,massageAstNode:p};}}),Mt=te({\"src/common/common-options.js\"(e,r){ne();var t=\"Common\";r.exports={bracketSpacing:{since:\"0.0.0\",category:t,type:\"boolean\",default:!0,description:\"Print spaces between brackets.\",oppositeDescription:\"Do not print spaces between brackets.\"},singleQuote:{since:\"0.0.0\",category:t,type:\"boolean\",default:!1,description:\"Use single quotes instead of double quotes.\"},proseWrap:{since:\"1.8.2\",category:t,type:\"choice\",default:[{since:\"1.8.2\",value:!0},{since:\"1.9.0\",value:\"preserve\"}],description:\"How to wrap prose.\",choices:[{since:\"1.9.0\",value:\"always\",description:\"Wrap prose if it exceeds the print width.\"},{since:\"1.9.0\",value:\"never\",description:\"Do not wrap prose.\"},{since:\"1.9.0\",value:\"preserve\",description:\"Wrap prose as-is.\"}]},bracketSameLine:{since:\"2.4.0\",category:t,type:\"boolean\",default:!1,description:\"Put > of opening tags on the last line instead of on a new line.\"},singleAttributePerLine:{since:\"2.6.0\",category:t,type:\"boolean\",default:!1,description:\"Enforce single attribute per line in HTML, Vue and JSX.\"}};}}),Fd=te({\"src/language-js/options.js\"(e,r){ne();var t=Mt(),s=\"JavaScript\";r.exports={arrowParens:{since:\"1.9.0\",category:s,type:\"choice\",default:[{since:\"1.9.0\",value:\"avoid\"},{since:\"2.0.0\",value:\"always\"}],description:\"Include parentheses around a sole arrow function parameter.\",choices:[{value:\"always\",description:\"Always include parens. Example: `(x) => x`\"},{value:\"avoid\",description:\"Omit parens when possible. Example: `x => x`\"}]},bracketSameLine:t.bracketSameLine,bracketSpacing:t.bracketSpacing,jsxBracketSameLine:{since:\"0.17.0\",category:s,type:\"boolean\",description:\"Put > on the last line instead of at a new line.\",deprecated:\"2.4.0\"},semi:{since:\"1.0.0\",category:s,type:\"boolean\",default:!0,description:\"Print semicolons.\",oppositeDescription:\"Do not print semicolons, except at the beginning of lines which may need them.\"},singleQuote:t.singleQuote,jsxSingleQuote:{since:\"1.15.0\",category:s,type:\"boolean\",default:!1,description:\"Use single quotes in JSX.\"},quoteProps:{since:\"1.17.0\",category:s,type:\"choice\",default:\"as-needed\",description:\"Change when properties in objects are quoted.\",choices:[{value:\"as-needed\",description:\"Only add quotes around object properties where required.\"},{value:\"consistent\",description:\"If at least one property in an object requires quotes, quote all properties.\"},{value:\"preserve\",description:\"Respect the input use of quotes in object properties.\"}]},trailingComma:{since:\"0.0.0\",category:s,type:\"choice\",default:[{since:\"0.0.0\",value:!1},{since:\"0.19.0\",value:\"none\"},{since:\"2.0.0\",value:\"es5\"}],description:\"Print trailing commas wherever possible when multi-line.\",choices:[{value:\"es5\",description:\"Trailing commas where valid in ES5 (objects, arrays, etc.)\"},{value:\"none\",description:\"No trailing commas.\"},{value:\"all\",description:\"Trailing commas wherever possible (including function arguments).\"}]},singleAttributePerLine:t.singleAttributePerLine};}}),Ad=te({\"src/language-js/parse/parsers.js\"(){ne();}}),Ln=te({\"node_modules/linguist-languages/data/JavaScript.json\"(e,r){r.exports={name:\"JavaScript\",type:\"programming\",tmScope:\"source.js\",aceMode:\"javascript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"text/javascript\",color:\"#f1e05a\",aliases:[\"js\",\"node\"],extensions:[\".js\",\"._js\",\".bones\",\".cjs\",\".es\",\".es6\",\".frag\",\".gs\",\".jake\",\".javascript\",\".jsb\",\".jscad\",\".jsfl\",\".jslib\",\".jsm\",\".jspre\",\".jss\",\".jsx\",\".mjs\",\".njs\",\".pac\",\".sjs\",\".ssjs\",\".xsjs\",\".xsjslib\"],filenames:[\"Jakefile\"],interpreters:[\"chakra\",\"d8\",\"gjs\",\"js\",\"node\",\"nodejs\",\"qjs\",\"rhino\",\"v8\",\"v8-shell\"],languageId:183};}}),Sd=te({\"node_modules/linguist-languages/data/TypeScript.json\"(e,r){r.exports={name:\"TypeScript\",type:\"programming\",color:\"#3178c6\",aliases:[\"ts\"],interpreters:[\"deno\",\"ts-node\"],extensions:[\".ts\",\".cts\",\".mts\"],tmScope:\"source.ts\",aceMode:\"typescript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"application/typescript\",languageId:378};}}),xd=te({\"node_modules/linguist-languages/data/TSX.json\"(e,r){r.exports={name:\"TSX\",type:\"programming\",color:\"#3178c6\",group:\"TypeScript\",extensions:[\".tsx\"],tmScope:\"source.tsx\",aceMode:\"javascript\",codemirrorMode:\"jsx\",codemirrorMimeType:\"text/jsx\",languageId:94901924};}}),wa=te({\"node_modules/linguist-languages/data/JSON.json\"(e,r){r.exports={name:\"JSON\",type:\"data\",color:\"#292929\",tmScope:\"source.json\",aceMode:\"json\",codemirrorMode:\"javascript\",codemirrorMimeType:\"application/json\",aliases:[\"geojson\",\"jsonl\",\"topojson\"],extensions:[\".json\",\".4DForm\",\".4DProject\",\".avsc\",\".geojson\",\".gltf\",\".har\",\".ice\",\".JSON-tmLanguage\",\".jsonl\",\".mcmeta\",\".tfstate\",\".tfstate.backup\",\".topojson\",\".webapp\",\".webmanifest\",\".yy\",\".yyp\"],filenames:[\".arcconfig\",\".auto-changelog\",\".c8rc\",\".htmlhintrc\",\".imgbotconfig\",\".nycrc\",\".tern-config\",\".tern-project\",\".watchmanconfig\",\"Pipfile.lock\",\"composer.lock\",\"mcmod.info\"],languageId:174};}}),bd=te({\"node_modules/linguist-languages/data/JSON with Comments.json\"(e,r){r.exports={name:\"JSON with Comments\",type:\"data\",color:\"#292929\",group:\"JSON\",tmScope:\"source.js\",aceMode:\"javascript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"text/javascript\",aliases:[\"jsonc\"],extensions:[\".jsonc\",\".code-snippets\",\".sublime-build\",\".sublime-commands\",\".sublime-completions\",\".sublime-keymap\",\".sublime-macro\",\".sublime-menu\",\".sublime-mousemap\",\".sublime-project\",\".sublime-settings\",\".sublime-theme\",\".sublime-workspace\",\".sublime_metrics\",\".sublime_session\"],filenames:[\".babelrc\",\".devcontainer.json\",\".eslintrc.json\",\".jscsrc\",\".jshintrc\",\".jslintrc\",\"api-extractor.json\",\"devcontainer.json\",\"jsconfig.json\",\"language-configuration.json\",\"tsconfig.json\",\"tslint.json\"],languageId:423};}}),Td=te({\"node_modules/linguist-languages/data/JSON5.json\"(e,r){r.exports={name:\"JSON5\",type:\"data\",color:\"#267CB9\",extensions:[\".json5\"],tmScope:\"source.js\",aceMode:\"javascript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"application/json\",languageId:175};}}),Bd=te({\"src/language-js/index.js\"(e,r){ne();var t=_t(),s=Cd(),a=Ed(),n=Fd(),u=Ad(),i=[t(Ln(),p=>({since:\"0.0.0\",parsers:[\"babel\",\"acorn\",\"espree\",\"meriyah\",\"babel-flow\",\"babel-ts\",\"flow\",\"typescript\"],vscodeLanguageIds:[\"javascript\",\"mongo\"],interpreters:[...p.interpreters,\"zx\"],extensions:[...p.extensions.filter(y=>y!==\".jsx\"),\".wxs\"]})),t(Ln(),()=>({name:\"Flow\",since:\"0.0.0\",parsers:[\"flow\",\"babel-flow\"],vscodeLanguageIds:[\"javascript\"],aliases:[],filenames:[],extensions:[\".js.flow\"]})),t(Ln(),()=>({name:\"JSX\",since:\"0.0.0\",parsers:[\"babel\",\"babel-flow\",\"babel-ts\",\"flow\",\"typescript\",\"espree\",\"meriyah\"],vscodeLanguageIds:[\"javascriptreact\"],aliases:void 0,filenames:void 0,extensions:[\".jsx\"],group:\"JavaScript\",interpreters:void 0,tmScope:\"source.js.jsx\",aceMode:\"javascript\",codemirrorMode:\"jsx\",codemirrorMimeType:\"text/jsx\",color:void 0})),t(Sd(),()=>({since:\"1.4.0\",parsers:[\"typescript\",\"babel-ts\"],vscodeLanguageIds:[\"typescript\"]})),t(xd(),()=>({since:\"1.4.0\",parsers:[\"typescript\",\"babel-ts\"],vscodeLanguageIds:[\"typescriptreact\"]})),t(wa(),()=>({name:\"JSON.stringify\",since:\"1.13.0\",parsers:[\"json-stringify\"],vscodeLanguageIds:[\"json\"],extensions:[\".importmap\"],filenames:[\"package.json\",\"package-lock.json\",\"composer.json\"]})),t(wa(),p=>({since:\"1.5.0\",parsers:[\"json\"],vscodeLanguageIds:[\"json\"],extensions:p.extensions.filter(y=>y!==\".jsonl\")})),t(bd(),p=>({since:\"1.5.0\",parsers:[\"json\"],vscodeLanguageIds:[\"jsonc\"],filenames:[...p.filenames,\".eslintrc\",\".swcrc\"]})),t(Td(),()=>({since:\"1.13.0\",parsers:[\"json5\"],vscodeLanguageIds:[\"json5\"]}))],l={estree:s,\"estree-json\":a};r.exports={languages:i,options:n,printers:l,parsers:u};}}),Nd=te({\"src/language-css/clean.js\"(e,r){ne();var{isFrontMatterNode:t}=Ue(),s=lt(),a=new Set([\"raw\",\"raws\",\"sourceIndex\",\"source\",\"before\",\"after\",\"trailingComma\"]);function n(i,l,p){if(t(i)&&i.lang===\"yaml\"&&delete l.value,i.type===\"css-comment\"&&p.type===\"css-root\"&&p.nodes.length>0&&((p.nodes[0]===i||t(p.nodes[0])&&p.nodes[1]===i)&&(delete l.text,/^\\*\\s*@(?:format|prettier)\\s*$/.test(i.text))||p.type===\"css-root\"&&s(p.nodes)===i))return null;if(i.type===\"value-root\"&&delete l.text,(i.type===\"media-query\"||i.type===\"media-query-list\"||i.type===\"media-feature-expression\")&&delete l.value,i.type===\"css-rule\"&&delete l.params,i.type===\"selector-combinator\"&&(l.value=l.value.replace(/\\s+/g,\" \")),i.type===\"media-feature\"&&(l.value=l.value.replace(/ /g,\"\")),(i.type===\"value-word\"&&(i.isColor&&i.isHex||[\"initial\",\"inherit\",\"unset\",\"revert\"].includes(l.value.replace().toLowerCase()))||i.type===\"media-feature\"||i.type===\"selector-root-invalid\"||i.type===\"selector-pseudo\")&&(l.value=l.value.toLowerCase()),i.type===\"css-decl\"&&(l.prop=l.prop.toLowerCase()),(i.type===\"css-atrule\"||i.type===\"css-import\")&&(l.name=l.name.toLowerCase()),i.type===\"value-number\"&&(l.unit=l.unit.toLowerCase()),(i.type===\"media-feature\"||i.type===\"media-keyword\"||i.type===\"media-type\"||i.type===\"media-unknown\"||i.type===\"media-url\"||i.type===\"media-value\"||i.type===\"selector-attribute\"||i.type===\"selector-string\"||i.type===\"selector-class\"||i.type===\"selector-combinator\"||i.type===\"value-string\")&&l.value&&(l.value=u(l.value)),i.type===\"selector-attribute\"&&(l.attribute=l.attribute.trim(),l.namespace&&typeof l.namespace==\"string\"&&(l.namespace=l.namespace.trim(),l.namespace.length===0&&(l.namespace=!0)),l.value&&(l.value=l.value.trim().replace(/^[\"']|[\"']$/g,\"\"),delete l.quoted)),(i.type===\"media-value\"||i.type===\"media-type\"||i.type===\"value-number\"||i.type===\"selector-root-invalid\"||i.type===\"selector-class\"||i.type===\"selector-combinator\"||i.type===\"selector-tag\")&&l.value&&(l.value=l.value.replace(/([\\d+.Ee-]+)([A-Za-z]*)/g,(y,h,g)=>{let c=Number(h);return Number.isNaN(c)?y:c+g.toLowerCase()})),i.type===\"selector-tag\"){let y=i.value.toLowerCase();[\"from\",\"to\"].includes(y)&&(l.value=y);}if(i.type===\"css-atrule\"&&i.name.toLowerCase()===\"supports\"&&delete l.value,i.type===\"selector-unknown\"&&delete l.value,i.type===\"value-comma_group\"){let y=i.groups.findIndex(h=>h.type===\"value-number\"&&h.unit===\"...\");y!==-1&&(l.groups[y].unit=\"\",l.groups.splice(y+1,0,{type:\"value-word\",value:\"...\",isColor:!1,isHex:!1}));}if(i.type===\"value-comma_group\"&&i.groups.some(y=>y.type===\"value-atword\"&&y.value.endsWith(\"[\")||y.type===\"value-word\"&&y.value.startsWith(\"]\")))return {type:\"value-atword\",value:i.groups.map(y=>y.value).join(\"\"),group:{open:null,close:null,groups:[],type:\"value-paren_group\"}}}n.ignoredProperties=a;function u(i){return i.replace(/'/g,'\"').replace(/\\\\([^\\dA-Fa-f])/g,\"$1\")}r.exports=n;}}),su=te({\"src/utils/front-matter/print.js\"(e,r){ne();var{builders:{hardline:t,markAsRoot:s}}=qe();function a(n,u){if(n.lang===\"yaml\"){let i=n.value.trim(),l=i?u(i,{parser:\"yaml\"},{stripTrailingHardline:!0}):\"\";return s([n.startDelimiter,t,l,l?t:\"\",n.endDelimiter])}}r.exports=a;}}),wd=te({\"src/language-css/embed.js\"(e,r){ne();var{builders:{hardline:t}}=qe(),s=su();function a(n,u,i){let l=n.getValue();if(l.type===\"front-matter\"){let p=s(l,i);return p?[p,t]:\"\"}}r.exports=a;}}),_o=te({\"src/utils/front-matter/parse.js\"(e,r){ne();var t=new RegExp(\"^(?-{3}|\\\\+{3})(?[^\\\\n]*)\\\\n(?:|(?.*?)\\\\n)(?\\\\k|\\\\.{3})[^\\\\S\\\\n]*(?:\\\\n|$)\",\"s\");function s(a){let n=a.match(t);if(!n)return {content:a};let{startDelimiter:u,language:i,value:l=\"\",endDelimiter:p}=n.groups,y=i.trim()||\"yaml\";if(u===\"+++\"&&(y=\"toml\"),y!==\"yaml\"&&u!==p)return {content:a};let[h]=n;return {frontMatter:{type:\"front-matter\",lang:y,value:l,startDelimiter:u,endDelimiter:p,raw:h.replace(/\\n$/,\"\")},content:h.replace(/[^\\n]/g,\" \")+a.slice(h.length)}}r.exports=s;}}),_d=te({\"src/language-css/pragma.js\"(e,r){ne();var t=Co(),s=_o();function a(u){return t.hasPragma(s(u).content)}function n(u){let{frontMatter:i,content:l}=s(u);return (i?i.raw+`\n\n`:\"\")+t.insertPragma(l)}r.exports={hasPragma:a,insertPragma:n};}}),Pd=te({\"src/language-css/utils/index.js\"(e,r){ne();var t=new Set([\"red\",\"green\",\"blue\",\"alpha\",\"a\",\"rgb\",\"hue\",\"h\",\"saturation\",\"s\",\"lightness\",\"l\",\"whiteness\",\"w\",\"blackness\",\"b\",\"tint\",\"shade\",\"blend\",\"blenda\",\"contrast\",\"hsl\",\"hsla\",\"hwb\",\"hwba\"]);function s(z,U){let Z=Array.isArray(U)?U:[U],se=-1,fe;for(;fe=z.getParentNode(++se);)if(Z.includes(fe.type))return se;return -1}function a(z,U){let Z=s(z,U);return Z===-1?null:z.getParentNode(Z)}function n(z){var U;let Z=a(z,\"css-decl\");return Z==null||(U=Z.prop)===null||U===void 0?void 0:U.toLowerCase()}var u=new Set([\"initial\",\"inherit\",\"unset\",\"revert\"]);function i(z){return u.has(z.toLowerCase())}function l(z,U){let Z=a(z,\"css-atrule\");return Z?.name&&Z.name.toLowerCase().endsWith(\"keyframes\")&&[\"from\",\"to\"].includes(U.toLowerCase())}function p(z){return z.includes(\"$\")||z.includes(\"@\")||z.includes(\"#\")||z.startsWith(\"%\")||z.startsWith(\"--\")||z.startsWith(\":--\")||z.includes(\"(\")&&z.includes(\")\")?z:z.toLowerCase()}function y(z,U){var Z;let se=a(z,\"value-func\");return (se==null||(Z=se.value)===null||Z===void 0?void 0:Z.toLowerCase())===U}function h(z){var U;let Z=a(z,\"css-rule\"),se=Z==null||(U=Z.raws)===null||U===void 0?void 0:U.selector;return se&&(se.startsWith(\":import\")||se.startsWith(\":export\"))}function g(z,U){let Z=Array.isArray(U)?U:[U],se=a(z,\"css-atrule\");return se&&Z.includes(se.name.toLowerCase())}function c(z){let U=z.getValue(),Z=a(z,\"css-atrule\");return Z?.name===\"import\"&&U.groups[0].value===\"url\"&&U.groups.length===2}function f(z){return z.type===\"value-func\"&&z.value.toLowerCase()===\"url\"}function F(z,U){var Z;let se=(Z=z.getParentNode())===null||Z===void 0?void 0:Z.nodes;return se&&se.indexOf(U)===se.length-1}function _(z){let{selector:U}=z;return U?typeof U==\"string\"&&/^@.+:.*$/.test(U)||U.value&&/^@.+:.*$/.test(U.value):!1}function w(z){return z.type===\"value-word\"&&[\"from\",\"through\",\"end\"].includes(z.value)}function E(z){return z.type===\"value-word\"&&[\"and\",\"or\",\"not\"].includes(z.value)}function N(z){return z.type===\"value-word\"&&z.value===\"in\"}function x(z){return z.type===\"value-operator\"&&z.value===\"*\"}function I(z){return z.type===\"value-operator\"&&z.value===\"/\"}function P(z){return z.type===\"value-operator\"&&z.value===\"+\"}function $(z){return z.type===\"value-operator\"&&z.value===\"-\"}function D(z){return z.type===\"value-operator\"&&z.value===\"%\"}function T(z){return x(z)||I(z)||P(z)||$(z)||D(z)}function m(z){return z.type===\"value-word\"&&[\"==\",\"!=\"].includes(z.value)}function C(z){return z.type===\"value-word\"&&[\"<\",\">\",\"<=\",\">=\"].includes(z.value)}function o(z){return z.type===\"css-atrule\"&&[\"if\",\"else\",\"for\",\"each\",\"while\"].includes(z.name)}function d(z){var U;return ((U=z.raws)===null||U===void 0?void 0:U.params)&&/^\\(\\s*\\)$/.test(z.raws.params)}function v(z){return z.name.startsWith(\"prettier-placeholder\")}function S(z){return z.prop.startsWith(\"@prettier-placeholder\")}function b(z,U){return z.value===\"$$\"&&z.type===\"value-func\"&&U?.type===\"value-word\"&&!U.raws.before}function B(z){var U,Z;return ((U=z.value)===null||U===void 0?void 0:U.type)===\"value-root\"&&((Z=z.value.group)===null||Z===void 0?void 0:Z.type)===\"value-value\"&&z.prop.toLowerCase()===\"composes\"}function k(z){var U,Z,se;return ((U=z.value)===null||U===void 0||(Z=U.group)===null||Z===void 0||(se=Z.group)===null||se===void 0?void 0:se.type)===\"value-paren_group\"&&z.value.group.group.open!==null&&z.value.group.group.close!==null}function M(z){var U;return ((U=z.raws)===null||U===void 0?void 0:U.before)===\"\"}function R(z){var U,Z;return z.type===\"value-comma_group\"&&((U=z.groups)===null||U===void 0||(Z=U[1])===null||Z===void 0?void 0:Z.type)===\"value-colon\"}function q(z){var U;return z.type===\"value-paren_group\"&&((U=z.groups)===null||U===void 0?void 0:U[0])&&R(z.groups[0])}function J(z){var U;let Z=z.getValue();if(Z.groups.length===0)return !1;let se=z.getParentNode(1);if(!q(Z)&&!(se&&q(se)))return !1;let fe=a(z,\"css-decl\");return !!(fe!=null&&(U=fe.prop)!==null&&U!==void 0&&U.startsWith(\"$\")||q(se)||se.type===\"value-func\")}function L(z){return z.type===\"value-comment\"&&z.inline}function Q(z){return z.type===\"value-word\"&&z.value===\"#\"}function V(z){return z.type===\"value-word\"&&z.value===\"{\"}function j(z){return z.type===\"value-word\"&&z.value===\"}\"}function Y(z){return [\"value-word\",\"value-atword\"].includes(z.type)}function ie(z){return z?.type===\"value-colon\"}function ee(z,U){if(!R(U))return !1;let{groups:Z}=U,se=Z.indexOf(z);return se===-1?!1:ie(Z[se+1])}function ce(z){return z.value&&[\"not\",\"and\",\"or\"].includes(z.value.toLowerCase())}function W(z){return z.type!==\"value-func\"?!1:t.has(z.value.toLowerCase())}function K(z){return /\\/\\//.test(z.split(/[\\n\\r]/).pop())}function de(z){return z?.type===\"value-atword\"&&z.value.startsWith(\"prettier-placeholder-\")}function ue(z,U){var Z,se;if(((Z=z.open)===null||Z===void 0?void 0:Z.value)!==\"(\"||((se=z.close)===null||se===void 0?void 0:se.value)!==\")\"||z.groups.some(fe=>fe.type!==\"value-comma_group\"))return !1;if(U.type===\"value-comma_group\"){let fe=U.groups.indexOf(z)-1,ge=U.groups[fe];if(ge?.type===\"value-word\"&&ge.value===\"with\")return !0}return !1}function Fe(z){var U,Z;return z.type===\"value-paren_group\"&&((U=z.open)===null||U===void 0?void 0:U.value)===\"(\"&&((Z=z.close)===null||Z===void 0?void 0:Z.value)===\")\"}r.exports={getAncestorCounter:s,getAncestorNode:a,getPropOfDeclNode:n,maybeToLowerCase:p,insideValueFunctionNode:y,insideICSSRuleNode:h,insideAtRuleNode:g,insideURLFunctionInImportAtRuleNode:c,isKeyframeAtRuleKeywords:l,isWideKeywords:i,isLastNode:F,isSCSSControlDirectiveNode:o,isDetachedRulesetDeclarationNode:_,isRelationalOperatorNode:C,isEqualityOperatorNode:m,isMultiplicationNode:x,isDivisionNode:I,isAdditionNode:P,isSubtractionNode:$,isModuloNode:D,isMathOperatorNode:T,isEachKeywordNode:N,isForKeywordNode:w,isURLFunctionNode:f,isIfElseKeywordNode:E,hasComposesNode:B,hasParensAroundNode:k,hasEmptyRawBefore:M,isDetachedRulesetCallNode:d,isTemplatePlaceholderNode:v,isTemplatePropNode:S,isPostcssSimpleVarNode:b,isKeyValuePairNode:R,isKeyValuePairInParenGroupNode:q,isKeyInValuePairNode:ee,isSCSSMapItemNode:J,isInlineValueCommentNode:L,isHashNode:Q,isLeftCurlyBraceNode:V,isRightCurlyBraceNode:j,isWordNode:Y,isColonNode:ie,isMediaAndSupportsKeywords:ce,isColorAdjusterFuncNode:W,lastLineHasInlineComment:K,isAtWordPlaceholderNode:de,isConfigurationNode:ue,isParenGroupNode:Fe};}}),Id=te({\"src/utils/line-column-to-index.js\"(e,r){ne(),r.exports=function(t,s){let a=0;for(let n=0;n0?h:\"\"]}case\"css-comment\":{let Ve=ae.inline||ae.raws.inline,We=je.originalText.slice(Ae(ae),Ee(ae));return Ve?We.trimEnd():We}case\"css-rule\":return [Me(\"selector\"),ae.important?\" !important\":\"\",ae.nodes?[ae.selector&&ae.selector.type===\"selector-unknown\"&&H(ae.selector.value)?y:\" \",\"{\",ae.nodes.length>0?F([h,Ce(Te,je,Me)]):\"\",h,\"}\",M(ae)?\";\":\"\"]:\";\"];case\"css-decl\":{let Ve=Te.getParentNode(),{between:We}=ae.raws,Xe=We.trim(),st=Xe===\":\",O=W(ae)?N(Me(\"value\")):Me(\"value\");return !st&&H(Xe)&&(O=F([h,_(O)])),[ae.raws.before.replace(/[\\s;]/g,\"\"),Ve.type===\"css-atrule\"&&Ve.variable||o(Te)?ae.prop:m(ae.prop),Xe.startsWith(\"//\")?\" \":\"\",Xe,ae.extend?\"\":\" \",De(je)&&ae.extend&&ae.selector?[\"extend(\",Me(\"selector\"),\")\"]:\"\",O,ae.raws.important?ae.raws.important.replace(/\\s*!\\s*important/i,\" !important\"):ae.important?\" !important\":\"\",ae.raws.scssDefault?ae.raws.scssDefault.replace(/\\s*!default/i,\" !default\"):ae.scssDefault?\" !default\":\"\",ae.raws.scssGlobal?ae.raws.scssGlobal.replace(/\\s*!global/i,\" !global\"):ae.scssGlobal?\" !global\":\"\",ae.nodes?[\" {\",F([g,Ce(Te,je,Me)]),g,\"}\"]:Z(ae)&&!Ve.raws.semicolon&&je.originalText[Ee(ae)-1]!==\";\"?\"\":je.__isHTMLStyleAttribute&&B(Te,ae)?w(\";\"):\";\"]}case\"css-atrule\":{let Ve=Te.getParentNode(),We=U(ae)&&!Ve.raws.semicolon&&je.originalText[Ee(ae)-1]!==\";\";if(De(je)){if(ae.mixin)return [Me(\"selector\"),ae.important?\" !important\":\"\",We?\"\":\";\"];if(ae.function)return [ae.name,Me(\"params\"),We?\"\":\";\"];if(ae.variable)return [\"@\",ae.name,\": \",ae.value?Me(\"value\"):\"\",ae.raws.between.trim()?ae.raws.between.trim()+\" \":\"\",ae.nodes?[\"{\",F([ae.nodes.length>0?g:\"\",Ce(Te,je,Me)]),g,\"}\"]:\"\",We?\"\":\";\"]}return [\"@\",z(ae)||ae.name.endsWith(\":\")?ae.name:m(ae.name),ae.params?[z(ae)?\"\":U(ae)?ae.raws.afterName===\"\"?\"\":ae.name.endsWith(\":\")?\" \":/^\\s*\\n\\s*\\n/.test(ae.raws.afterName)?[h,h]:/^\\s*\\n/.test(ae.raws.afterName)?h:\" \":\" \",Me(\"params\")]:\"\",ae.selector?F([\" \",Me(\"selector\")]):\"\",ae.value?c([\" \",Me(\"value\"),k(ae)?K(ae)?\" \":y:\"\"]):ae.name===\"else\"?\" \":\"\",ae.nodes?[k(ae)?\"\":ae.selector&&!ae.selector.nodes&&typeof ae.selector.value==\"string\"&&H(ae.selector.value)||!ae.selector&&typeof ae.params==\"string\"&&H(ae.params)?y:\" \",\"{\",F([ae.nodes.length>0?g:\"\",Ce(Te,je,Me)]),g,\"}\"]:We?\"\":\";\"]}case\"media-query-list\":{let Ve=[];return Te.each(We=>{let Xe=We.getValue();Xe.type===\"media-query\"&&Xe.value===\"\"||Ve.push(Me());},\"nodes\"),c(F(p(y,Ve)))}case\"media-query\":return [p(\" \",Te.map(Me,\"nodes\")),B(Te,ae)?\"\":\",\"];case\"media-type\":return Oe(Se(ae.value,je));case\"media-feature-expression\":return ae.nodes?[\"(\",...Te.map(Me,\"nodes\"),\")\"]:ae.value;case\"media-feature\":return m(Se(ae.value.replace(/ +/g,\" \"),je));case\"media-colon\":return [ae.value,\" \"];case\"media-value\":return Oe(Se(ae.value,je));case\"media-keyword\":return Se(ae.value,je);case\"media-url\":return Se(ae.value.replace(/^url\\(\\s+/gi,\"url(\").replace(/\\s+\\)$/g,\")\"),je);case\"media-unknown\":return ae.value;case\"selector-root\":return c([d(Te,\"custom-selector\")?[D(Te,\"css-atrule\").customSelector,y]:\"\",p([\",\",d(Te,[\"extend\",\"custom-selector\",\"nest\"])?y:h],Te.map(Me,\"nodes\"))]);case\"selector-selector\":return c(F(Te.map(Me,\"nodes\")));case\"selector-comment\":return ae.value;case\"selector-string\":return Se(ae.value,je);case\"selector-tag\":{let Ve=Te.getParentNode(),We=Ve&&Ve.nodes.indexOf(ae),Xe=We&&Ve.nodes[We-1];return [ae.namespace?[ae.namespace===!0?\"\":ae.namespace.trim(),\"|\"]:\"\",Xe.type===\"selector-nesting\"?ae.value:Oe(S(Te,ae.value)?ae.value.toLowerCase():ae.value)]}case\"selector-id\":return [\"#\",ae.value];case\"selector-class\":return [\".\",Oe(Se(ae.value,je))];case\"selector-attribute\":{var nt;return [\"[\",ae.namespace?[ae.namespace===!0?\"\":ae.namespace.trim(),\"|\"]:\"\",ae.attribute.trim(),(nt=ae.operator)!==null&&nt!==void 0?nt:\"\",ae.value?Ie(Se(ae.value.trim(),je),je):\"\",ae.insensitive?\" i\":\"\",\"]\"]}case\"selector-combinator\":{if(ae.value===\"+\"||ae.value===\">\"||ae.value===\"~\"||ae.value===\">>>\"){let Xe=Te.getParentNode();return [Xe.type===\"selector-selector\"&&Xe.nodes[0]===ae?\"\":y,ae.value,B(Te,ae)?\"\":\" \"]}let Ve=ae.value.trim().startsWith(\"(\")?y:\"\",We=Oe(Se(ae.value.trim(),je))||y;return [Ve,We]}case\"selector-universal\":return [ae.namespace?[ae.namespace===!0?\"\":ae.namespace.trim(),\"|\"]:\"\",ae.value];case\"selector-pseudo\":return [m(ae.value),l(ae.nodes)?c([\"(\",F([g,p([\",\",y],Te.map(Me,\"nodes\"))]),g,\")\"]):\"\"];case\"selector-nesting\":return ae.value;case\"selector-unknown\":{let Ve=D(Te,\"css-rule\");if(Ve&&Ve.isSCSSNesterProperty)return Oe(Se(m(ae.value),je));let We=Te.getParentNode();if(We.raws&&We.raws.selector){let st=Ae(We),O=st+We.raws.selector.length;return je.originalText.slice(st,O).trim()}let Xe=Te.getParentNode(1);if(We.type===\"value-paren_group\"&&Xe&&Xe.type===\"value-func\"&&Xe.value===\"selector\"){let st=Ee(We.open)+1,O=Ae(We.close),me=je.originalText.slice(st,O).trim();return H(me)?[E,me]:me}return ae.value}case\"value-value\":case\"value-root\":return Me(\"group\");case\"value-comment\":return je.originalText.slice(Ae(ae),Ee(ae));case\"value-comma_group\":{let Ve=Te.getParentNode(),We=Te.getParentNode(1),Xe=T(Te),st=Xe&&Ve.type===\"value-value\"&&(Xe===\"grid\"||Xe.startsWith(\"grid-template\")),O=D(Te,\"css-atrule\"),me=O&&k(O),_e=ae.groups.some(at=>ge(at)),He=Te.map(Me,\"groups\"),Ge=[],it=C(Te,\"url\"),Qe=!1,rt=!1;for(let at=0;atVr:$r!==-1?Qe=!0:Vr!==-1&&(Qe=!1);}if(Qe||Ne(Le)||Ne($e)||Le.type===\"value-atword\"&&(Le.value===\"\"||Le.value.endsWith(\"[\"))||$e.type===\"value-word\"&&$e.value.startsWith(\"]\")||Le.value===\"~\"||Le.value&&Le.value.includes(\"\\\\\")&&$e&&$e.type!==\"value-comment\"||Ze&&Ze.value&&Ze.value.indexOf(\"\\\\\")===Ze.value.length-1&&Le.type===\"value-operator\"&&Le.value===\"/\"||Le.value===\"\\\\\"||se(Le,$e)||he(Le)||we(Le)||ke($e)||we($e)&&de($e)||ke(Le)&&de($e)||Le.value===\"--\"&&he($e))continue;let Rr=j(Le),ou=j($e);if((Rr&&he($e)||ou&&ke(Le))&&de($e)||!Ze&&L(Le)||C(Te,\"calc\")&&(Q(Le)||Q($e)||V(Le)||V($e))&&de($e))continue;let qo=(Q(Le)||V(Le))&&at===0&&($e.type===\"value-number\"||$e.isHex)&&We&&oe(We)&&!de($e),lu=sr&&sr.type===\"value-func\"||sr&&Re(sr)||Le.type===\"value-func\"||Re(Le),cu=$e.type===\"value-func\"||Re($e)||Ze&&Ze.type===\"value-func\"||Ze&&Re(Ze);if(!(!(J($e)||J(Le))&&!C(Te,\"calc\")&&!qo&&(L($e)&&!lu||L(Le)&&!cu||Q($e)&&!lu||Q(Le)&&!cu||V($e)||V(Le))&&(de($e)||Rr&&(!Ze||Ze&&j(Ze))))&&!((je.parser===\"scss\"||je.parser===\"less\")&&Rr&&Le.value===\"-\"&&le($e)&&Ee(Le)===Ae($e.open)&&$e.open.value===\"(\")){if(ge(Le)){if(Ve.type===\"value-paren_group\"){Ge.push(_(h));continue}Ge.push(h);continue}if(me&&(q($e)||R($e)||ce($e)||Y(Le)||ie(Le))){Ge.push(\" \");continue}if(O&&O.name.toLowerCase()===\"namespace\"){Ge.push(\" \");continue}if(st){Le.source&&$e.source&&Le.source.start.line!==$e.source.start.line?(Ge.push(h),rt=!0):Ge.push(\" \");continue}if(ou){Ge.push(\" \");continue}if(!($e&&$e.value===\"...\")&&!(pe(Le)&&pe($e)&&Ee(Le)===Ae($e))){if(pe(Le)&&le($e)&&Ee(Le)===Ae($e.open)){Ge.push(g);continue}if(Le.value===\"with\"&&le($e)){Ge.push(\" \");continue}(tt=Le.value)!==null&&tt!==void 0&&tt.endsWith(\"#\")&&$e.value===\"{\"&&le($e.group)||Ge.push(y);}}}return _e&&Ge.push(E),rt&&Ge.unshift(h),me?c(F(Ge)):v(Te)?c(f(Ge)):c(F(f(Ge)))}case\"value-paren_group\":{let Ve=Te.getParentNode();if(Ve&&ee(Ve)&&(ae.groups.length===1||ae.groups.length>0&&ae.groups[0].type===\"value-comma_group\"&&ae.groups[0].groups.length>0&&ae.groups[0].groups[0].type===\"value-word\"&&ae.groups[0].groups[0].value.startsWith(\"data:\")))return [ae.open?Me(\"open\"):\"\",p(\",\",Te.map(Me,\"groups\")),ae.close?Me(\"close\"):\"\"];if(!ae.open){let it=Te.map(Me,\"groups\"),Qe=[];for(let rt=0;rt{let rt=it.getValue(),at=Qe===ae.groups.length-1,Ze=[Me(),at?\"\":\",\"];if(ue(rt)&&rt.type===\"value-comma_group\"&&rt.groups&&rt.groups[0].type!==\"value-paren_group\"&&rt.groups[2]&&rt.groups[2].type===\"value-paren_group\"){let Le=x(Ze[0].contents.contents);Le[1]=c(Le[1]),Ze=[c(_(Ze))];}if(!at&&rt.type===\"value-comma_group\"&&l(rt.groups)){let Le=t(rt.groups);!Le.source&&Le.close&&(Le=Le.close),Le.source&&i(je.originalText,Le,Ee)&&Ze.push(h);}return Ze},\"groups\"))]),w(!st&&A(je.parser,je.originalText)&&We&&re(je)?\",\":\"\"),g,ae.close?Me(\"close\"):\"\"],{shouldBreak:_e});return He?_(Ge):Ge}case\"value-func\":return [ae.value,d(Te,\"supports\")&&Pe(ae)?\" \":\"\",Me(\"group\")];case\"value-paren\":return ae.value;case\"value-number\":return [Je(ae.value),G(ae.unit)];case\"value-operator\":return ae.value;case\"value-word\":return ae.isColor&&ae.isHex||b(ae.value)?ae.value.toLowerCase():ae.value;case\"value-colon\":{let Ve=Te.getParentNode(),We=Ve&&Ve.groups.indexOf(ae),Xe=We&&Ve.groups[We-1];return [ae.value,Xe&&typeof Xe.value==\"string\"&&t(Xe.value)===\"\\\\\"||C(Te,\"url\")?\"\":y]}case\"value-comma\":return [ae.value,\" \"];case\"value-string\":return a(ae.raws.quote+ae.value+ae.raws.quote,je);case\"value-atword\":return [\"@\",ae.value];case\"value-unicode-range\":return ae.value;case\"value-unknown\":return ae.value;default:throw new Error(`Unknown postcss type ${JSON.stringify(ae.type)}`)}}function Ce(Te,je,Me){let ae=[];return Te.each((nt,tt,Ve)=>{let We=Ve[tt-1];if(We&&We.type===\"css-comment\"&&We.text.trim()===\"prettier-ignore\"){let Xe=nt.getValue();ae.push(je.originalText.slice(Ae(Xe),Ee(Xe)));}else ae.push(Me());tt!==Ve.length-1&&(Ve[tt+1].type===\"css-comment\"&&!n(je.originalText,Ae(Ve[tt+1]),{backwards:!0})&&!u(Ve[tt])||Ve[tt+1].type===\"css-atrule\"&&Ve[tt+1].name===\"else\"&&Ve[tt].type!==\"css-comment\"?ae.push(\" \"):(ae.push(je.__isHTMLStyleAttribute?y:h),i(je.originalText,nt.getValue(),Ee)&&!u(Ve[tt])&&ae.push(h)));},\"nodes\"),ae}var Be=/([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1/gs,ve=/(?:\\d*\\.\\d+|\\d+\\.?)(?:[Ee][+-]?\\d+)?/g,ze=/[A-Za-z]+/g,be=/[$@]?[A-Z_a-z\\u0080-\\uFFFF][\\w\\u0080-\\uFFFF-]*/g,Ye=new RegExp(Be.source+`|(${be.source})?(${ve.source})(${ze.source})?`,\"g\");function Se(Te,je){return Te.replace(Be,Me=>a(Me,je))}function Ie(Te,je){let Me=je.singleQuote?\"'\":'\"';return Te.includes('\"')||Te.includes(\"'\")?Te:Me+Te+Me}function Oe(Te){return Te.replace(Ye,(je,Me,ae,nt,tt)=>!ae&&nt?Je(nt)+m(tt||\"\"):je)}function Je(Te){return s(Te).replace(/\\.0(?=$|e)/,\"\")}r.exports={print:ye,embed:P,insertPragma:$,massageAstNode:I};}}),Rd=te({\"src/language-css/options.js\"(e,r){ne();var t=Mt();r.exports={singleQuote:t.singleQuote};}}),$d=te({\"src/language-css/parsers.js\"(){ne();}}),Vd=te({\"node_modules/linguist-languages/data/CSS.json\"(e,r){r.exports={name:\"CSS\",type:\"markup\",tmScope:\"source.css\",aceMode:\"css\",codemirrorMode:\"css\",codemirrorMimeType:\"text/css\",color:\"#563d7c\",extensions:[\".css\"],languageId:50};}}),Wd=te({\"node_modules/linguist-languages/data/PostCSS.json\"(e,r){r.exports={name:\"PostCSS\",type:\"markup\",color:\"#dc3a0c\",tmScope:\"source.postcss\",group:\"CSS\",extensions:[\".pcss\",\".postcss\"],aceMode:\"text\",languageId:262764437};}}),Hd=te({\"node_modules/linguist-languages/data/Less.json\"(e,r){r.exports={name:\"Less\",type:\"markup\",color:\"#1d365d\",aliases:[\"less-css\"],extensions:[\".less\"],tmScope:\"source.css.less\",aceMode:\"less\",codemirrorMode:\"css\",codemirrorMimeType:\"text/css\",languageId:198};}}),Gd=te({\"node_modules/linguist-languages/data/SCSS.json\"(e,r){r.exports={name:\"SCSS\",type:\"markup\",color:\"#c6538c\",tmScope:\"source.css.scss\",aceMode:\"scss\",codemirrorMode:\"css\",codemirrorMimeType:\"text/x-scss\",extensions:[\".scss\"],languageId:329};}}),Ud=te({\"src/language-css/index.js\"(e,r){ne();var t=_t(),s=Md(),a=Rd(),n=$d(),u=[t(Vd(),l=>({since:\"1.4.0\",parsers:[\"css\"],vscodeLanguageIds:[\"css\"],extensions:[...l.extensions,\".wxss\"]})),t(Wd(),()=>({since:\"1.4.0\",parsers:[\"css\"],vscodeLanguageIds:[\"postcss\"]})),t(Hd(),()=>({since:\"1.4.0\",parsers:[\"less\"],vscodeLanguageIds:[\"less\"]})),t(Gd(),()=>({since:\"1.4.0\",parsers:[\"scss\"],vscodeLanguageIds:[\"scss\"]}))],i={postcss:s};r.exports={languages:u,options:a,printers:i,parsers:n};}}),Jd=te({\"src/language-handlebars/loc.js\"(e,r){ne();function t(a){return a.loc.start.offset}function s(a){return a.loc.end.offset}r.exports={locStart:t,locEnd:s};}}),zd=te({\"src/language-handlebars/clean.js\"(e,r){ne();function t(s,a){if(s.type===\"TextNode\"){let n=s.chars.trim();if(!n)return null;a.chars=n.replace(/[\\t\\n\\f\\r ]+/g,\" \");}s.type===\"AttrNode\"&&s.name.toLowerCase()===\"class\"&&delete a.value;}t.ignoredProperties=new Set([\"loc\",\"selfClosing\"]),r.exports=t;}}),Xd=te({\"src/language-handlebars/html-void-elements.evaluate.js\"(e,r){r.exports=[\"area\",\"base\",\"br\",\"col\",\"command\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"];}}),Kd=te({\"src/language-handlebars/utils.js\"(e,r){ne();var t=lt(),s=Xd();function a(x){let I=x.getValue(),P=x.getParentNode(0);return !!(g(x,[\"ElementNode\"])&&t(P.children)===I||g(x,[\"Block\"])&&t(P.body)===I)}function n(x){return x.toUpperCase()===x}function u(x){return h(x,[\"ElementNode\"])&&typeof x.tag==\"string\"&&!x.tag.startsWith(\":\")&&(n(x.tag[0])||x.tag.includes(\".\"))}var i=new Set(s);function l(x){return i.has(x.toLowerCase())&&!n(x[0])}function p(x){return x.selfClosing===!0||l(x.tag)||u(x)&&x.children.every(I=>y(I))}function y(x){return h(x,[\"TextNode\"])&&!/\\S/.test(x.chars)}function h(x,I){return x&&I.includes(x.type)}function g(x,I){let P=x.getParentNode(0);return h(P,I)}function c(x,I){let P=_(x);return h(P,I)}function f(x,I){let P=w(x);return h(P,I)}function F(x,I){var P,$,D,T;let m=x.getValue(),C=(P=x.getParentNode(0))!==null&&P!==void 0?P:{},o=($=(D=(T=C.children)!==null&&T!==void 0?T:C.body)!==null&&D!==void 0?D:C.parts)!==null&&$!==void 0?$:[],d=o.indexOf(m);return d!==-1&&o[d+I]}function _(x){let I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return F(x,-I)}function w(x){return F(x,1)}function E(x){return h(x,[\"MustacheCommentStatement\"])&&typeof x.value==\"string\"&&x.value.trim()===\"prettier-ignore\"}function N(x){let I=x.getValue(),P=_(x,2);return E(I)||E(P)}r.exports={getNextNode:w,getPreviousNode:_,hasPrettierIgnore:N,isLastNodeOfSiblings:a,isNextNodeOfSomeType:f,isNodeOfSomeType:h,isParentOfSomeType:g,isPreviousNodeOfSomeType:c,isVoid:p,isWhitespaceNode:y};}}),Yd=te({\"src/language-handlebars/printer-glimmer.js\"(e,r){ne();var{builders:{dedent:t,fill:s,group:a,hardline:n,ifBreak:u,indent:i,join:l,line:p,softline:y},utils:{getDocParts:h,replaceTextEndOfLine:g}}=qe(),{getPreferredQuote:c,isNonEmptyArray:f}=Ue(),{locStart:F,locEnd:_}=Jd(),w=zd(),{getNextNode:E,getPreviousNode:N,hasPrettierIgnore:x,isLastNodeOfSiblings:I,isNextNodeOfSomeType:P,isNodeOfSomeType:$,isParentOfSomeType:D,isPreviousNodeOfSomeType:T,isVoid:m,isWhitespaceNode:C}=Kd(),o=2;function d(H,pe,X){let le=H.getValue();if(!le)return \"\";if(x(H))return pe.originalText.slice(F(le),_(le));let Ae=pe.singleQuote?\"'\":'\"';switch(le.type){case\"Block\":case\"Program\":case\"Template\":return a(H.map(X,\"body\"));case\"ElementNode\":{let Ee=a(S(H,X)),De=pe.htmlWhitespaceSensitivity===\"ignore\"&&P(H,[\"ElementNode\"])?y:\"\";if(m(le))return [Ee,De];let A=[\"\"];return le.children.length===0?[Ee,i(A),De]:pe.htmlWhitespaceSensitivity===\"ignore\"?[Ee,i(b(H,pe,X)),n,i(A),De]:[Ee,i(a(b(H,pe,X))),i(A),De]}case\"BlockStatement\":{let Ee=H.getParentNode(1);return Ee&&Ee.inverse&&Ee.inverse.body.length===1&&Ee.inverse.body[0]===le&&Ee.inverse.body[0].path.parts[0]===Ee.path.parts[0]?[ie(H,X,Ee.inverse.body[0].path.parts[0]),de(H,X,pe),ue(H,X,pe)]:[j(H,X),a([de(H,X,pe),ue(H,X,pe),ee(H,X,pe)])]}case\"ElementModifierStatement\":return a([\"{{\",Re(H,X),\"}}\"]);case\"MustacheStatement\":return a([k(le),Re(H,X),M(le)]);case\"SubExpression\":return a([\"(\",ke(H,X),y,\")\"]);case\"AttrNode\":{let Ee=le.value.type===\"TextNode\";if(Ee&&le.value.chars===\"\"&&F(le.value)===_(le.value))return le.name;let A=Ee?c(le.value.chars,Ae).quote:le.value.type===\"ConcatStatement\"?c(le.value.parts.filter(re=>re.type===\"TextNode\").map(re=>re.chars).join(\"\"),Ae).quote:\"\",G=X(\"value\");return [le.name,\"=\",A,le.name===\"class\"&&A?a(i(G)):G,A]}case\"ConcatStatement\":return H.map(X,\"parts\");case\"Hash\":return l(p,H.map(X,\"pairs\"));case\"HashPair\":return [le.key,\"=\",X(\"value\")];case\"TextNode\":{let Ee=le.chars.replace(/{{/g,\"\\\\{{\"),De=U(H);if(De){if(De===\"class\"){let Ye=Ee.trim().split(/\\s+/).join(\" \"),Se=!1,Ie=!1;return D(H,[\"ConcatStatement\"])&&(T(H,[\"MustacheStatement\"])&&/^\\s/.test(Ee)&&(Se=!0),P(H,[\"MustacheStatement\"])&&/\\s$/.test(Ee)&&Ye!==\"\"&&(Ie=!0)),[Se?p:\"\",Ye,Ie?p:\"\"]}return g(Ee)}let G=/^[\\t\\n\\f\\r ]*$/.test(Ee),re=!N(H),ye=!E(H);if(pe.htmlWhitespaceSensitivity!==\"ignore\"){let Ye=/^[\\t\\n\\f\\r ]*/,Se=/[\\t\\n\\f\\r ]*$/,Ie=ye&&D(H,[\"Template\"]),Oe=re&&D(H,[\"Template\"]);if(G){if(Oe||Ie)return \"\";let ae=[p],nt=Z(Ee);return nt&&(ae=ge(nt)),I(H)&&(ae=ae.map(tt=>t(tt))),ae}let[Je]=Ee.match(Ye),[Te]=Ee.match(Se),je=[];if(Je){je=[p];let ae=Z(Je);ae&&(je=ge(ae)),Ee=Ee.replace(Ye,\"\");}let Me=[];if(Te){if(!Ie){Me=[p];let ae=Z(Te);ae&&(Me=ge(ae)),I(H)&&(Me=Me.map(nt=>t(nt)));}Ee=Ee.replace(Se,\"\");}return [...je,s(Fe(Ee)),...Me]}let Ce=Z(Ee),Be=se(Ee),ve=fe(Ee);if((re||ye)&&G&&D(H,[\"Block\",\"ElementNode\",\"Template\"]))return \"\";G&&Ce?(Be=Math.min(Ce,o),ve=0):(P(H,[\"BlockStatement\",\"ElementNode\"])&&(ve=Math.max(ve,1)),T(H,[\"BlockStatement\",\"ElementNode\"])&&(Be=Math.max(Be,1)));let ze=\"\",be=\"\";return ve===0&&P(H,[\"MustacheStatement\"])&&(be=\" \"),Be===0&&T(H,[\"MustacheStatement\"])&&(ze=\" \"),re&&(Be=0,ze=\"\"),ye&&(ve=0,be=\"\"),Ee=Ee.replace(/^[\\t\\n\\f\\r ]+/g,ze).replace(/[\\t\\n\\f\\r ]+$/,be),[...ge(Be),s(Fe(Ee)),...ge(ve)]}case\"MustacheCommentStatement\":{let Ee=F(le),De=_(le),A=pe.originalText.charAt(Ee+2)===\"~\",G=pe.originalText.charAt(De-3)===\"~\",re=le.value.includes(\"}}\")?\"--\":\"\";return [\"{{\",A?\"~\":\"\",\"!\",re,le.value,re,G?\"~\":\"\",\"}}\"]}case\"PathExpression\":return le.original;case\"BooleanLiteral\":return String(le.value);case\"CommentStatement\":return [\"\"];case\"StringLiteral\":{if(we(H)){let Ee=pe.singleQuote?'\"':\"'\";return he(le.value,Ee)}return he(le.value,Ae)}case\"NumberLiteral\":return String(le.value);case\"UndefinedLiteral\":return \"undefined\";case\"NullLiteral\":return \"null\";default:throw new Error(\"unknown glimmer type: \"+JSON.stringify(le.type))}}function v(H,pe){return F(H)-F(pe)}function S(H,pe){let X=H.getValue(),le=[\"attributes\",\"modifiers\",\"comments\"].filter(Ee=>f(X[Ee])),Ae=le.flatMap(Ee=>X[Ee]).sort(v);for(let Ee of le)H.each(De=>{let A=Ae.indexOf(De.getValue());Ae.splice(A,1,[p,pe()]);},Ee);return f(X.blockParams)&&Ae.push(p,oe(X)),[\"<\",X.tag,i(Ae),B(X)]}function b(H,pe,X){let Ae=H.getValue().children.every(Ee=>C(Ee));return pe.htmlWhitespaceSensitivity===\"ignore\"&&Ae?\"\":H.map((Ee,De)=>{let A=X();return De===0&&pe.htmlWhitespaceSensitivity===\"ignore\"?[y,A]:A},\"children\")}function B(H){return m(H)?u([y,\"/>\"],[\" />\",y]):u([y,\">\"],\">\")}function k(H){let pe=H.escaped===!1?\"{{{\":\"{{\",X=H.strip&&H.strip.open?\"~\":\"\";return [pe,X]}function M(H){let pe=H.escaped===!1?\"}}}\":\"}}\";return [H.strip&&H.strip.close?\"~\":\"\",pe]}function R(H){let pe=k(H),X=H.openStrip.open?\"~\":\"\";return [pe,X,\"#\"]}function q(H){let pe=M(H);return [H.openStrip.close?\"~\":\"\",pe]}function J(H){let pe=k(H),X=H.closeStrip.open?\"~\":\"\";return [pe,X,\"/\"]}function L(H){let pe=M(H);return [H.closeStrip.close?\"~\":\"\",pe]}function Q(H){let pe=k(H),X=H.inverseStrip.open?\"~\":\"\";return [pe,X]}function V(H){let pe=M(H);return [H.inverseStrip.close?\"~\":\"\",pe]}function j(H,pe){let X=H.getValue(),le=[],Ae=Pe(H,pe);return Ae&&le.push(a(Ae)),f(X.program.blockParams)&&le.push(oe(X.program)),a([R(X),Ne(H,pe),le.length>0?i([p,l(p,le)]):\"\",y,q(X)])}function Y(H,pe){return [pe.htmlWhitespaceSensitivity===\"ignore\"?n:\"\",Q(H),\"else\",V(H)]}function ie(H,pe,X){let le=H.getValue(),Ae=H.getParentNode(1);return a([Q(Ae),[\"else\",\" \",X],i([p,a(Pe(H,pe)),...f(le.program.blockParams)?[p,oe(le.program)]:[]]),y,V(Ae)])}function ee(H,pe,X){let le=H.getValue();return X.htmlWhitespaceSensitivity===\"ignore\"?[ce(le)?y:n,J(le),pe(\"path\"),L(le)]:[J(le),pe(\"path\"),L(le)]}function ce(H){return $(H,[\"BlockStatement\"])&&H.program.body.every(pe=>C(pe))}function W(H){return K(H)&&H.inverse.body.length===1&&$(H.inverse.body[0],[\"BlockStatement\"])&&H.inverse.body[0].path.parts[0]===H.path.parts[0]}function K(H){return $(H,[\"BlockStatement\"])&&H.inverse}function de(H,pe,X){let le=H.getValue();if(ce(le))return \"\";let Ae=pe(\"program\");return X.htmlWhitespaceSensitivity===\"ignore\"?i([n,Ae]):i(Ae)}function ue(H,pe,X){let le=H.getValue(),Ae=pe(\"inverse\"),Ee=X.htmlWhitespaceSensitivity===\"ignore\"?[n,Ae]:Ae;return W(le)?Ee:K(le)?[Y(le,X),i(Ee)]:\"\"}function Fe(H){return h(l(p,z(H)))}function z(H){return H.split(/[\\t\\n\\f\\r ]+/)}function U(H){for(let pe=0;pe<2;pe++){let X=H.getParentNode(pe);if(X&&X.type===\"AttrNode\")return X.name.toLowerCase()}}function Z(H){return H=typeof H==\"string\"?H:\"\",H.split(`\n`).length-1}function se(H){H=typeof H==\"string\"?H:\"\";let pe=(H.match(/^([^\\S\\n\\r]*[\\n\\r])+/g)||[])[0]||\"\";return Z(pe)}function fe(H){H=typeof H==\"string\"?H:\"\";let pe=(H.match(/([\\n\\r][^\\S\\n\\r]*)+$/g)||[])[0]||\"\";return Z(pe)}function ge(){let H=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return Array.from({length:Math.min(H,o)}).fill(n)}function he(H,pe){let{quote:X,regex:le}=c(H,pe);return [X,H.replace(le,`\\\\${X}`),X]}function we(H){let pe=0,X=H.getParentNode(pe);for(;X&&$(X,[\"SubExpression\"]);)pe++,X=H.getParentNode(pe);return !!(X&&$(H.getParentNode(pe+1),[\"ConcatStatement\"])&&$(H.getParentNode(pe+2),[\"AttrNode\"]))}function ke(H,pe){let X=Ne(H,pe),le=Pe(H,pe);return le?i([X,p,a(le)]):X}function Re(H,pe){let X=Ne(H,pe),le=Pe(H,pe);return le?[i([X,p,le]),y]:X}function Ne(H,pe){return pe(\"path\")}function Pe(H,pe){let X=H.getValue(),le=[];if(X.params.length>0){let Ae=H.map(pe,\"params\");le.push(...Ae);}if(X.hash&&X.hash.pairs.length>0){let Ae=pe(\"hash\");le.push(Ae);}return le.length===0?\"\":l(p,le)}function oe(H){return [\"as |\",H.blockParams.join(\" \"),\"|\"]}r.exports={print:d,massageAstNode:w};}}),Qd=te({\"src/language-handlebars/parsers.js\"(){ne();}}),Zd=te({\"node_modules/linguist-languages/data/Handlebars.json\"(e,r){r.exports={name:\"Handlebars\",type:\"markup\",color:\"#f7931e\",aliases:[\"hbs\",\"htmlbars\"],extensions:[\".handlebars\",\".hbs\"],tmScope:\"text.html.handlebars\",aceMode:\"handlebars\",languageId:155};}}),eg=te({\"src/language-handlebars/index.js\"(e,r){ne();var t=_t(),s=Yd(),a=Qd(),n=[t(Zd(),()=>({since:\"2.3.0\",parsers:[\"glimmer\"],vscodeLanguageIds:[\"handlebars\"]}))],u={glimmer:s};r.exports={languages:n,printers:u,parsers:a};}}),tg=te({\"src/language-graphql/pragma.js\"(e,r){ne();function t(a){return /^\\s*#[^\\S\\n]*@(?:format|prettier)\\s*(?:\\n|$)/.test(a)}function s(a){return `# @format\n\n`+a}r.exports={hasPragma:t,insertPragma:s};}}),rg=te({\"src/language-graphql/loc.js\"(e,r){ne();function t(a){return typeof a.start==\"number\"?a.start:a.loc&&a.loc.start}function s(a){return typeof a.end==\"number\"?a.end:a.loc&&a.loc.end}r.exports={locStart:t,locEnd:s};}}),ng=te({\"src/language-graphql/printer-graphql.js\"(e,r){ne();var{builders:{join:t,hardline:s,line:a,softline:n,group:u,indent:i,ifBreak:l}}=qe(),{isNextLineEmpty:p,isNonEmptyArray:y}=Ue(),{insertPragma:h}=tg(),{locStart:g,locEnd:c}=rg();function f(P,$,D){let T=P.getValue();if(!T)return \"\";if(typeof T==\"string\")return T;switch(T.kind){case\"Document\":{let m=[];return P.each((C,o,d)=>{m.push(D()),o!==d.length-1&&(m.push(s),p($.originalText,C.getValue(),c)&&m.push(s));},\"definitions\"),[...m,s]}case\"OperationDefinition\":{let m=$.originalText[g(T)]!==\"{\",C=Boolean(T.name);return [m?T.operation:\"\",m&&C?[\" \",D(\"name\")]:\"\",m&&!C&&y(T.variableDefinitions)?\" \":\"\",y(T.variableDefinitions)?u([\"(\",i([n,t([l(\"\",\", \"),n],P.map(D,\"variableDefinitions\"))]),n,\")\"]):\"\",F(P,D,T),T.selectionSet?!m&&!C?\"\":\" \":\"\",D(\"selectionSet\")]}case\"FragmentDefinition\":return [\"fragment \",D(\"name\"),y(T.variableDefinitions)?u([\"(\",i([n,t([l(\"\",\", \"),n],P.map(D,\"variableDefinitions\"))]),n,\")\"]):\"\",\" on \",D(\"typeCondition\"),F(P,D,T),\" \",D(\"selectionSet\")];case\"SelectionSet\":return [\"{\",i([s,t(s,_(P,$,D,\"selections\"))]),s,\"}\"];case\"Field\":return u([T.alias?[D(\"alias\"),\": \"]:\"\",D(\"name\"),T.arguments.length>0?u([\"(\",i([n,t([l(\"\",\", \"),n],_(P,$,D,\"arguments\"))]),n,\")\"]):\"\",F(P,D,T),T.selectionSet?\" \":\"\",D(\"selectionSet\")]);case\"Name\":return T.value;case\"StringValue\":{if(T.block){let m=T.value.replace(/\"\"\"/g,\"\\\\$&\").split(`\n`);return m.length===1&&(m[0]=m[0].trim()),m.every(C=>C===\"\")&&(m.length=0),t(s,['\"\"\"',...m,'\"\"\"'])}return ['\"',T.value.replace(/[\"\\\\]/g,\"\\\\$&\").replace(/\\n/g,\"\\\\n\"),'\"']}case\"IntValue\":case\"FloatValue\":case\"EnumValue\":return T.value;case\"BooleanValue\":return T.value?\"true\":\"false\";case\"NullValue\":return \"null\";case\"Variable\":return [\"$\",D(\"name\")];case\"ListValue\":return u([\"[\",i([n,t([l(\"\",\", \"),n],P.map(D,\"values\"))]),n,\"]\"]);case\"ObjectValue\":return u([\"{\",$.bracketSpacing&&T.fields.length>0?\" \":\"\",i([n,t([l(\"\",\", \"),n],P.map(D,\"fields\"))]),n,l(\"\",$.bracketSpacing&&T.fields.length>0?\" \":\"\"),\"}\"]);case\"ObjectField\":case\"Argument\":return [D(\"name\"),\": \",D(\"value\")];case\"Directive\":return [\"@\",D(\"name\"),T.arguments.length>0?u([\"(\",i([n,t([l(\"\",\", \"),n],_(P,$,D,\"arguments\"))]),n,\")\"]):\"\"];case\"NamedType\":return D(\"name\");case\"VariableDefinition\":return [D(\"variable\"),\": \",D(\"type\"),T.defaultValue?[\" = \",D(\"defaultValue\")]:\"\",F(P,D,T)];case\"ObjectTypeExtension\":case\"ObjectTypeDefinition\":return [D(\"description\"),T.description?s:\"\",T.kind===\"ObjectTypeExtension\"?\"extend \":\"\",\"type \",D(\"name\"),T.interfaces.length>0?[\" implements \",...N(P,$,D)]:\"\",F(P,D,T),T.fields.length>0?[\" {\",i([s,t(s,_(P,$,D,\"fields\"))]),s,\"}\"]:\"\"];case\"FieldDefinition\":return [D(\"description\"),T.description?s:\"\",D(\"name\"),T.arguments.length>0?u([\"(\",i([n,t([l(\"\",\", \"),n],_(P,$,D,\"arguments\"))]),n,\")\"]):\"\",\": \",D(\"type\"),F(P,D,T)];case\"DirectiveDefinition\":return [D(\"description\"),T.description?s:\"\",\"directive \",\"@\",D(\"name\"),T.arguments.length>0?u([\"(\",i([n,t([l(\"\",\", \"),n],_(P,$,D,\"arguments\"))]),n,\")\"]):\"\",T.repeatable?\" repeatable\":\"\",\" on \",t(\" | \",P.map(D,\"locations\"))];case\"EnumTypeExtension\":case\"EnumTypeDefinition\":return [D(\"description\"),T.description?s:\"\",T.kind===\"EnumTypeExtension\"?\"extend \":\"\",\"enum \",D(\"name\"),F(P,D,T),T.values.length>0?[\" {\",i([s,t(s,_(P,$,D,\"values\"))]),s,\"}\"]:\"\"];case\"EnumValueDefinition\":return [D(\"description\"),T.description?s:\"\",D(\"name\"),F(P,D,T)];case\"InputValueDefinition\":return [D(\"description\"),T.description?T.description.block?s:a:\"\",D(\"name\"),\": \",D(\"type\"),T.defaultValue?[\" = \",D(\"defaultValue\")]:\"\",F(P,D,T)];case\"InputObjectTypeExtension\":case\"InputObjectTypeDefinition\":return [D(\"description\"),T.description?s:\"\",T.kind===\"InputObjectTypeExtension\"?\"extend \":\"\",\"input \",D(\"name\"),F(P,D,T),T.fields.length>0?[\" {\",i([s,t(s,_(P,$,D,\"fields\"))]),s,\"}\"]:\"\"];case\"SchemaExtension\":return [\"extend schema\",F(P,D,T),...T.operationTypes.length>0?[\" {\",i([s,t(s,_(P,$,D,\"operationTypes\"))]),s,\"}\"]:[]];case\"SchemaDefinition\":return [D(\"description\"),T.description?s:\"\",\"schema\",F(P,D,T),\" {\",T.operationTypes.length>0?i([s,t(s,_(P,$,D,\"operationTypes\"))]):\"\",s,\"}\"];case\"OperationTypeDefinition\":return [D(\"operation\"),\": \",D(\"type\")];case\"InterfaceTypeExtension\":case\"InterfaceTypeDefinition\":return [D(\"description\"),T.description?s:\"\",T.kind===\"InterfaceTypeExtension\"?\"extend \":\"\",\"interface \",D(\"name\"),T.interfaces.length>0?[\" implements \",...N(P,$,D)]:\"\",F(P,D,T),T.fields.length>0?[\" {\",i([s,t(s,_(P,$,D,\"fields\"))]),s,\"}\"]:\"\"];case\"FragmentSpread\":return [\"...\",D(\"name\"),F(P,D,T)];case\"InlineFragment\":return [\"...\",T.typeCondition?[\" on \",D(\"typeCondition\")]:\"\",F(P,D,T),\" \",D(\"selectionSet\")];case\"UnionTypeExtension\":case\"UnionTypeDefinition\":return u([D(\"description\"),T.description?s:\"\",u([T.kind===\"UnionTypeExtension\"?\"extend \":\"\",\"union \",D(\"name\"),F(P,D,T),T.types.length>0?[\" =\",l(\"\",\" \"),i([l([a,\" \"]),t([a,\"| \"],P.map(D,\"types\"))])]:\"\"])]);case\"ScalarTypeExtension\":case\"ScalarTypeDefinition\":return [D(\"description\"),T.description?s:\"\",T.kind===\"ScalarTypeExtension\"?\"extend \":\"\",\"scalar \",D(\"name\"),F(P,D,T)];case\"NonNullType\":return [D(\"type\"),\"!\"];case\"ListType\":return [\"[\",D(\"type\"),\"]\"];default:throw new Error(\"unknown graphql type: \"+JSON.stringify(T.kind))}}function F(P,$,D){if(D.directives.length===0)return \"\";let T=t(a,P.map($,\"directives\"));return D.kind===\"FragmentDefinition\"||D.kind===\"OperationDefinition\"?u([a,T]):[\" \",u(i([n,T]))]}function _(P,$,D,T){return P.map((m,C,o)=>{let d=D();return CD(d),\"interfaces\");for(let d=0;dT.value.trim()===\"prettier-ignore\")}r.exports={print:f,massageAstNode:x,hasPrettierIgnore:I,insertPragma:h,printComment:E,canAttachComment:w};}}),ug=te({\"src/language-graphql/options.js\"(e,r){ne();var t=Mt();r.exports={bracketSpacing:t.bracketSpacing};}}),sg=te({\"src/language-graphql/parsers.js\"(){ne();}}),ig=te({\"node_modules/linguist-languages/data/GraphQL.json\"(e,r){r.exports={name:\"GraphQL\",type:\"data\",color:\"#e10098\",extensions:[\".graphql\",\".gql\",\".graphqls\"],tmScope:\"source.graphql\",aceMode:\"text\",languageId:139};}}),ag=te({\"src/language-graphql/index.js\"(e,r){ne();var t=_t(),s=ng(),a=ug(),n=sg(),u=[t(ig(),()=>({since:\"1.5.0\",parsers:[\"graphql\"],vscodeLanguageIds:[\"graphql\"]}))],i={graphql:s};r.exports={languages:u,options:a,printers:i,parsers:n};}}),Po=te({\"node_modules/collapse-white-space/index.js\"(e,r){ne(),r.exports=t;function t(s){return String(s).replace(/\\s+/g,\" \")}}}),Io=te({\"src/language-markdown/loc.js\"(e,r){ne();function t(a){return a.position.start.offset}function s(a){return a.position.end.offset}r.exports={locStart:t,locEnd:s};}}),og=te({\"src/language-markdown/constants.evaluate.js\"(e,r){r.exports={cjkPattern:\"(?:[\\\\u02ea-\\\\u02eb\\\\u1100-\\\\u11ff\\\\u2e80-\\\\u2e99\\\\u2e9b-\\\\u2ef3\\\\u2f00-\\\\u2fd5\\\\u2ff0-\\\\u303f\\\\u3041-\\\\u3096\\\\u3099-\\\\u309f\\\\u30a1-\\\\u30fa\\\\u30fc-\\\\u30ff\\\\u3105-\\\\u312f\\\\u3131-\\\\u318e\\\\u3190-\\\\u3191\\\\u3196-\\\\u31ba\\\\u31c0-\\\\u31e3\\\\u31f0-\\\\u321e\\\\u322a-\\\\u3247\\\\u3260-\\\\u327e\\\\u328a-\\\\u32b0\\\\u32c0-\\\\u32cb\\\\u32d0-\\\\u3370\\\\u337b-\\\\u337f\\\\u33e0-\\\\u33fe\\\\u3400-\\\\u4db5\\\\u4e00-\\\\u9fef\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\uf900-\\\\ufa6d\\\\ufa70-\\\\ufad9\\\\ufe10-\\\\ufe1f\\\\ufe30-\\\\ufe6f\\\\uff00-\\\\uffef]|[\\\\ud840-\\\\ud868\\\\ud86a-\\\\ud86c\\\\ud86f-\\\\ud872\\\\ud874-\\\\ud879][\\\\udc00-\\\\udfff]|\\\\ud82c[\\\\udc00-\\\\udd1e\\\\udd50-\\\\udd52\\\\udd64-\\\\udd67]|\\\\ud83c[\\\\ude00\\\\ude50-\\\\ude51]|\\\\ud869[\\\\udc00-\\\\uded6\\\\udf00-\\\\udfff]|\\\\ud86d[\\\\udc00-\\\\udf34\\\\udf40-\\\\udfff]|\\\\ud86e[\\\\udc00-\\\\udc1d\\\\udc20-\\\\udfff]|\\\\ud873[\\\\udc00-\\\\udea1\\\\udeb0-\\\\udfff]|\\\\ud87a[\\\\udc00-\\\\udfe0]|\\\\ud87e[\\\\udc00-\\\\ude1d])(?:[\\\\ufe00-\\\\ufe0f]|\\\\udb40[\\\\udd00-\\\\uddef])?\",kPattern:\"[\\\\u1100-\\\\u11ff\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3013-\\\\u301f\\\\u302e-\\\\u3030\\\\u3037\\\\u30fb\\\\u3131-\\\\u318e\\\\u3200-\\\\u321e\\\\u3260-\\\\u327e\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\ufe45-\\\\ufe46\\\\uff61-\\\\uff65\\\\uffa0-\\\\uffbe\\\\uffc2-\\\\uffc7\\\\uffca-\\\\uffcf\\\\uffd2-\\\\uffd7\\\\uffda-\\\\uffdc]\",punctuationPattern:\"[\\\\u0021-\\\\u002f\\\\u003a-\\\\u0040\\\\u005b-\\\\u0060\\\\u007b-\\\\u007e\\\\u00a1\\\\u00a7\\\\u00ab\\\\u00b6-\\\\u00b7\\\\u00bb\\\\u00bf\\\\u037e\\\\u0387\\\\u055a-\\\\u055f\\\\u0589-\\\\u058a\\\\u05be\\\\u05c0\\\\u05c3\\\\u05c6\\\\u05f3-\\\\u05f4\\\\u0609-\\\\u060a\\\\u060c-\\\\u060d\\\\u061b\\\\u061e-\\\\u061f\\\\u066a-\\\\u066d\\\\u06d4\\\\u0700-\\\\u070d\\\\u07f7-\\\\u07f9\\\\u0830-\\\\u083e\\\\u085e\\\\u0964-\\\\u0965\\\\u0970\\\\u09fd\\\\u0a76\\\\u0af0\\\\u0c77\\\\u0c84\\\\u0df4\\\\u0e4f\\\\u0e5a-\\\\u0e5b\\\\u0f04-\\\\u0f12\\\\u0f14\\\\u0f3a-\\\\u0f3d\\\\u0f85\\\\u0fd0-\\\\u0fd4\\\\u0fd9-\\\\u0fda\\\\u104a-\\\\u104f\\\\u10fb\\\\u1360-\\\\u1368\\\\u1400\\\\u166e\\\\u169b-\\\\u169c\\\\u16eb-\\\\u16ed\\\\u1735-\\\\u1736\\\\u17d4-\\\\u17d6\\\\u17d8-\\\\u17da\\\\u1800-\\\\u180a\\\\u1944-\\\\u1945\\\\u1a1e-\\\\u1a1f\\\\u1aa0-\\\\u1aa6\\\\u1aa8-\\\\u1aad\\\\u1b5a-\\\\u1b60\\\\u1bfc-\\\\u1bff\\\\u1c3b-\\\\u1c3f\\\\u1c7e-\\\\u1c7f\\\\u1cc0-\\\\u1cc7\\\\u1cd3\\\\u2010-\\\\u2027\\\\u2030-\\\\u2043\\\\u2045-\\\\u2051\\\\u2053-\\\\u205e\\\\u207d-\\\\u207e\\\\u208d-\\\\u208e\\\\u2308-\\\\u230b\\\\u2329-\\\\u232a\\\\u2768-\\\\u2775\\\\u27c5-\\\\u27c6\\\\u27e6-\\\\u27ef\\\\u2983-\\\\u2998\\\\u29d8-\\\\u29db\\\\u29fc-\\\\u29fd\\\\u2cf9-\\\\u2cfc\\\\u2cfe-\\\\u2cff\\\\u2d70\\\\u2e00-\\\\u2e2e\\\\u2e30-\\\\u2e4f\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3014-\\\\u301f\\\\u3030\\\\u303d\\\\u30a0\\\\u30fb\\\\ua4fe-\\\\ua4ff\\\\ua60d-\\\\ua60f\\\\ua673\\\\ua67e\\\\ua6f2-\\\\ua6f7\\\\ua874-\\\\ua877\\\\ua8ce-\\\\ua8cf\\\\ua8f8-\\\\ua8fa\\\\ua8fc\\\\ua92e-\\\\ua92f\\\\ua95f\\\\ua9c1-\\\\ua9cd\\\\ua9de-\\\\ua9df\\\\uaa5c-\\\\uaa5f\\\\uaade-\\\\uaadf\\\\uaaf0-\\\\uaaf1\\\\uabeb\\\\ufd3e-\\\\ufd3f\\\\ufe10-\\\\ufe19\\\\ufe30-\\\\ufe52\\\\ufe54-\\\\ufe61\\\\ufe63\\\\ufe68\\\\ufe6a-\\\\ufe6b\\\\uff01-\\\\uff03\\\\uff05-\\\\uff0a\\\\uff0c-\\\\uff0f\\\\uff1a-\\\\uff1b\\\\uff1f-\\\\uff20\\\\uff3b-\\\\uff3d\\\\uff3f\\\\uff5b\\\\uff5d\\\\uff5f-\\\\uff65]|\\\\ud800[\\\\udd00-\\\\udd02\\\\udf9f\\\\udfd0]|\\\\ud801[\\\\udd6f]|\\\\ud802[\\\\udc57\\\\udd1f\\\\udd3f\\\\ude50-\\\\ude58\\\\ude7f\\\\udef0-\\\\udef6\\\\udf39-\\\\udf3f\\\\udf99-\\\\udf9c]|\\\\ud803[\\\\udf55-\\\\udf59]|\\\\ud804[\\\\udc47-\\\\udc4d\\\\udcbb-\\\\udcbc\\\\udcbe-\\\\udcc1\\\\udd40-\\\\udd43\\\\udd74-\\\\udd75\\\\uddc5-\\\\uddc8\\\\uddcd\\\\udddb\\\\udddd-\\\\udddf\\\\ude38-\\\\ude3d\\\\udea9]|\\\\ud805[\\\\udc4b-\\\\udc4f\\\\udc5b\\\\udc5d\\\\udcc6\\\\uddc1-\\\\uddd7\\\\ude41-\\\\ude43\\\\ude60-\\\\ude6c\\\\udf3c-\\\\udf3e]|\\\\ud806[\\\\udc3b\\\\udde2\\\\ude3f-\\\\ude46\\\\ude9a-\\\\ude9c\\\\ude9e-\\\\udea2]|\\\\ud807[\\\\udc41-\\\\udc45\\\\udc70-\\\\udc71\\\\udef7-\\\\udef8\\\\udfff]|\\\\ud809[\\\\udc70-\\\\udc74]|\\\\ud81a[\\\\ude6e-\\\\ude6f\\\\udef5\\\\udf37-\\\\udf3b\\\\udf44]|\\\\ud81b[\\\\ude97-\\\\ude9a\\\\udfe2]|\\\\ud82f[\\\\udc9f]|\\\\ud836[\\\\ude87-\\\\ude8b]|\\\\ud83a[\\\\udd5e-\\\\udd5f]\"};}}),iu=te({\"src/language-markdown/utils.js\"(e,r){ne();var{getLast:t}=Ue(),{locStart:s,locEnd:a}=Io(),{cjkPattern:n,kPattern:u,punctuationPattern:i}=og(),l=[\"liquidNode\",\"inlineCode\",\"emphasis\",\"esComment\",\"strong\",\"delete\",\"wikiLink\",\"link\",\"linkReference\",\"image\",\"imageReference\",\"footnote\",\"footnoteReference\",\"sentence\",\"whitespace\",\"word\",\"break\",\"inlineMath\"],p=[...l,\"tableCell\",\"paragraph\",\"heading\"],y=new RegExp(u),h=new RegExp(i);function g(E,N){let x=\"non-cjk\",I=\"cj-letter\",P=\"k-letter\",$=\"cjk-punctuation\",D=[],T=(N.proseWrap===\"preserve\"?E:E.replace(new RegExp(`(${n})\n(${n})`,\"g\"),\"$1$2\")).split(/([\\t\\n ]+)/);for(let[C,o]of T.entries()){if(C%2===1){D.push({type:\"whitespace\",value:/\\n/.test(o)?`\n`:\" \"});continue}if((C===0||C===T.length-1)&&o===\"\")continue;let d=o.split(new RegExp(`(${n})`));for(let[v,S]of d.entries())if(!((v===0||v===d.length-1)&&S===\"\")){if(v%2===0){S!==\"\"&&m({type:\"word\",value:S,kind:x,hasLeadingPunctuation:h.test(S[0]),hasTrailingPunctuation:h.test(t(S))});continue}m(h.test(S)?{type:\"word\",value:S,kind:$,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:\"word\",value:S,kind:y.test(S)?P:I,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1});}}return D;function m(C){let o=t(D);o&&o.type===\"word\"&&(o.kind===x&&C.kind===I&&!o.hasTrailingPunctuation||o.kind===I&&C.kind===x&&!C.hasLeadingPunctuation?D.push({type:\"whitespace\",value:\" \"}):!d(x,$)&&![o.value,C.value].some(v=>/\\u3000/.test(v))&&D.push({type:\"whitespace\",value:\"\"})),D.push(C);function d(v,S){return o.kind===v&&C.kind===S||o.kind===S&&C.kind===v}}}function c(E,N){let[,x,I,P]=N.slice(E.position.start.offset,E.position.end.offset).match(/^\\s*(\\d+)(\\.|\\))(\\s*)/);return {numberText:x,marker:I,leadingSpaces:P}}function f(E,N){if(!E.ordered||E.children.length<2)return !1;let x=Number(c(E.children[0],N.originalText).numberText),I=Number(c(E.children[1],N.originalText).numberText);if(x===0&&E.children.length>2){let P=Number(c(E.children[2],N.originalText).numberText);return I===1&&P===1}return I===1}function F(E,N){let{value:x}=E;return E.position.end.offset===N.length&&x.endsWith(`\n`)&&N.endsWith(`\n`)?x.slice(0,-1):x}function _(E,N){return function x(I,P,$){let D=Object.assign({},N(I,P,$));return D.children&&(D.children=D.children.map((T,m)=>x(T,m,[D,...$]))),D}(E,null,[])}function w(E){if(E?.type!==\"link\"||E.children.length!==1)return !1;let[N]=E.children;return s(E)===s(N)&&a(E)===a(N)}r.exports={mapAst:_,splitText:g,punctuationPattern:i,getFencedCodeBlockValue:F,getOrderedListItemInfo:c,hasGitDiffFriendlyOrderedList:f,INLINE_NODE_TYPES:l,INLINE_NODE_WRAPPER_TYPES:p,isAutolink:w};}}),lg=te({\"src/language-markdown/embed.js\"(e,r){ne();var{inferParserByLanguage:t,getMaxContinuousCount:s}=Ue(),{builders:{hardline:a,markAsRoot:n},utils:{replaceEndOfLine:u}}=qe(),i=su(),{getFencedCodeBlockValue:l}=iu();function p(y,h,g,c){let f=y.getValue();if(f.type===\"code\"&&f.lang!==null){let F=t(f.lang,c);if(F){let _=c.__inJsTemplate?\"~\":\"`\",w=_.repeat(Math.max(3,s(f.value,_)+1)),E={parser:F};f.lang===\"tsx\"&&(E.filepath=\"dummy.tsx\");let N=g(l(f,c.originalText),E,{stripTrailingHardline:!0});return n([w,f.lang,f.meta?\" \"+f.meta:\"\",a,u(N),a,w])}}switch(f.type){case\"front-matter\":return i(f,g);case\"importExport\":return [g(f.value,{parser:\"babel\"},{stripTrailingHardline:!0}),a];case\"jsx\":return g(`<$>${f.value}`,{parser:\"__js_expression\",rootMarker:\"mdx\"},{stripTrailingHardline:!0})}return null}r.exports=p;}}),ko=te({\"src/language-markdown/pragma.js\"(e,r){ne();var t=_o(),s=[\"format\",\"prettier\"];function a(n){let u=`@(${s.join(\"|\")})`,i=new RegExp([``,`{\\\\s*\\\\/\\\\*\\\\s*${u}\\\\s*\\\\*\\\\/\\\\s*}`,``].join(\"|\"),\"m\"),l=n.match(i);return l?.index===0}r.exports={startWithPragma:a,hasPragma:n=>a(t(n).content.trimStart()),insertPragma:n=>{let u=t(n),i=``;return u.frontMatter?`${u.frontMatter.raw}\n\n${i}\n\n${u.content}`:`${i}\n\n${u.content}`}};}}),cg=te({\"src/language-markdown/print-preprocess.js\"(e,r){ne();var t=lt(),{getOrderedListItemInfo:s,mapAst:a,splitText:n}=iu(),u=/^.$/su;function i(w,E){return w=y(w,E),w=c(w),w=p(w,E),w=F(w,E),w=_(w,E),w=f(w,E),w=l(w),w=h(w),w}function l(w){return a(w,E=>E.type!==\"import\"&&E.type!==\"export\"?E:Object.assign(Object.assign({},E),{},{type:\"importExport\"}))}function p(w,E){return a(w,N=>N.type!==\"inlineCode\"||E.proseWrap===\"preserve\"?N:Object.assign(Object.assign({},N),{},{value:N.value.replace(/\\s+/g,\" \")}))}function y(w,E){return a(w,N=>N.type!==\"text\"||N.value===\"*\"||N.value===\"_\"||!u.test(N.value)||N.position.end.offset-N.position.start.offset===N.value.length?N:Object.assign(Object.assign({},N),{},{value:E.originalText.slice(N.position.start.offset,N.position.end.offset)}))}function h(w){return g(w,(E,N)=>E.type===\"importExport\"&&N.type===\"importExport\",(E,N)=>({type:\"importExport\",value:E.value+`\n\n`+N.value,position:{start:E.position.start,end:N.position.end}}))}function g(w,E,N){return a(w,x=>{if(!x.children)return x;let I=x.children.reduce((P,$)=>{let D=t(P);return D&&E(D,$)?P.splice(-1,1,N(D,$)):P.push($),P},[]);return Object.assign(Object.assign({},x),{},{children:I})})}function c(w){return g(w,(E,N)=>E.type===\"text\"&&N.type===\"text\",(E,N)=>({type:\"text\",value:E.value+N.value,position:{start:E.position.start,end:N.position.end}}))}function f(w,E){return a(w,(N,x,I)=>{let[P]=I;if(N.type!==\"text\")return N;let{value:$}=N;return P.type===\"paragraph\"&&(x===0&&($=$.trimStart()),x===P.children.length-1&&($=$.trimEnd())),{type:\"sentence\",position:N.position,children:n($,E)}})}function F(w,E){return a(w,(N,x,I)=>{if(N.type===\"code\"){let P=/^\\n?(?: {4,}|\\t)/.test(E.originalText.slice(N.position.start.offset,N.position.end.offset));if(N.isIndented=P,P)for(let $=0;${if(I.type===\"list\"&&I.children.length>0){for(let D=0;D<$.length;D++){let T=$[D];if(T.type===\"list\"&&!T.isAligned)return I.isAligned=!1,I}I.isAligned=x(I);}return I});function N(I){return I.children.length===0?-1:I.children[0].position.start.column-1}function x(I){if(!I.ordered)return !0;let[P,$]=I.children;if(s(P,E.originalText).leadingSpaces.length>1)return !0;let T=N(P);if(T===-1)return !1;if(I.children.length===1)return T%E.tabWidth===0;let m=N($);return T!==m?!1:T%E.tabWidth===0?!0:s($,E.originalText).leadingSpaces.length>1}}r.exports=i;}}),pg=te({\"src/language-markdown/clean.js\"(e,r){ne();var t=Po(),{isFrontMatterNode:s}=Ue(),{startWithPragma:a}=ko(),n=new Set([\"position\",\"raw\"]);function u(i,l,p){if((i.type===\"front-matter\"||i.type===\"code\"||i.type===\"yaml\"||i.type===\"import\"||i.type===\"export\"||i.type===\"jsx\")&&delete l.value,i.type===\"list\"&&delete l.isAligned,(i.type===\"list\"||i.type===\"listItem\")&&(delete l.spread,delete l.loose),i.type===\"text\"||(i.type===\"inlineCode\"&&(l.value=i.value.replace(/[\\t\\n ]+/g,\" \")),i.type===\"wikiLink\"&&(l.value=i.value.trim().replace(/[\\t\\n]+/g,\" \")),(i.type===\"definition\"||i.type===\"linkReference\"||i.type===\"imageReference\")&&(l.label=t(i.label)),(i.type===\"definition\"||i.type===\"link\"||i.type===\"image\")&&i.title&&(l.title=i.title.replace(/\\\\([\"')])/g,\"$1\")),p&&p.type===\"root\"&&p.children.length>0&&(p.children[0]===i||s(p.children[0])&&p.children[1]===i)&&i.type===\"html\"&&a(i.value)))return null}u.ignoredProperties=n,r.exports=u;}}),fg=te({\"src/language-markdown/printer-markdown.js\"(e,r){ne();var t=Po(),{getLast:s,getMinNotPresentContinuousCount:a,getMaxContinuousCount:n,getStringWidth:u,isNonEmptyArray:i}=Ue(),{builders:{breakParent:l,join:p,line:y,literalline:h,markAsRoot:g,hardline:c,softline:f,ifBreak:F,fill:_,align:w,indent:E,group:N,hardlineWithoutBreakParent:x},utils:{normalizeDoc:I,replaceTextEndOfLine:P},printer:{printDocToString:$}}=qe(),D=lg(),{insertPragma:T}=ko(),{locStart:m,locEnd:C}=Io(),o=cg(),d=pg(),{getFencedCodeBlockValue:v,hasGitDiffFriendlyOrderedList:S,splitText:b,punctuationPattern:B,INLINE_NODE_TYPES:k,INLINE_NODE_WRAPPER_TYPES:M,isAutolink:R}=iu(),q=new Set([\"importExport\"]),J=[\"heading\",\"tableCell\",\"link\",\"wikiLink\"],L=new Set([\"listItem\",\"definition\",\"footnoteDefinition\"]);function Q(oe,H,pe){let X=oe.getValue();if(ge(oe))return b(H.originalText.slice(X.position.start.offset,X.position.end.offset),H).map(le=>le.type===\"word\"?le.value:le.value===\"\"?\"\":W(oe,le.value,H));switch(X.type){case\"front-matter\":return H.originalText.slice(X.position.start.offset,X.position.end.offset);case\"root\":return X.children.length===0?\"\":[I(de(oe,H,pe)),q.has(z(X).type)?\"\":c];case\"paragraph\":return ue(oe,H,pe,{postprocessor:_});case\"sentence\":return ue(oe,H,pe);case\"word\":{let le=X.value.replace(/\\*/g,\"\\\\$&\").replace(new RegExp([`(^|${B})(_+)`,`(_+)(${B}|$)`].join(\"|\"),\"g\"),(De,A,G,re,ye)=>(G?`${A}${G}`:`${re}${ye}`).replace(/_/g,\"\\\\_\")),Ae=(De,A,G)=>De.type===\"sentence\"&&G===0,Ee=(De,A,G)=>R(De.children[G-1]);return le!==X.value&&(oe.match(void 0,Ae,Ee)||oe.match(void 0,Ae,(De,A,G)=>De.type===\"emphasis\"&&G===0,Ee))&&(le=le.replace(/^(\\\\?[*_])+/,De=>De.replace(/\\\\/g,\"\"))),le}case\"whitespace\":{let le=oe.getParentNode(),Ae=le.children.indexOf(X),Ee=le.children[Ae+1],De=Ee&&/^>|^(?:[*+-]|#{1,6}|\\d+[).])$/.test(Ee.value)?\"never\":H.proseWrap;return W(oe,X.value,{proseWrap:De})}case\"emphasis\":{let le;if(R(X.children[0]))le=H.originalText[X.position.start.offset];else {let Ae=oe.getParentNode(),Ee=Ae.children.indexOf(X),De=Ae.children[Ee-1],A=Ae.children[Ee+1];le=De&&De.type===\"sentence\"&&De.children.length>0&&s(De.children).type===\"word\"&&!s(De.children).hasTrailingPunctuation||A&&A.type===\"sentence\"&&A.children.length>0&&A.children[0].type===\"word\"&&!A.children[0].hasLeadingPunctuation||ce(oe,\"emphasis\")?\"*\":\"_\";}return [le,ue(oe,H,pe),le]}case\"strong\":return [\"**\",ue(oe,H,pe),\"**\"];case\"delete\":return [\"~~\",ue(oe,H,pe),\"~~\"];case\"inlineCode\":{let le=a(X.value,\"`\"),Ae=\"`\".repeat(le||1),Ee=le&&!/^\\s/.test(X.value)?\" \":\"\";return [Ae,Ee,X.value,Ee,Ae]}case\"wikiLink\":{let le=\"\";return H.proseWrap===\"preserve\"?le=X.value:le=X.value.replace(/[\\t\\n]+/g,\" \"),[\"[[\",le,\"]]\"]}case\"link\":switch(H.originalText[X.position.start.offset]){case\"<\":{let le=\"mailto:\";return [\"<\",X.url.startsWith(le)&&H.originalText.slice(X.position.start.offset+1,X.position.start.offset+1+le.length)!==le?X.url.slice(le.length):X.url,\">\"]}case\"[\":return [\"[\",ue(oe,H,pe),\"](\",he(X.url,\")\"),we(X.title,H),\")\"];default:return H.originalText.slice(X.position.start.offset,X.position.end.offset)}case\"image\":return [\"![\",X.alt||\"\",\"](\",he(X.url,\")\"),we(X.title,H),\")\"];case\"blockquote\":return [\"> \",w(\"> \",ue(oe,H,pe))];case\"heading\":return [\"#\".repeat(X.depth)+\" \",ue(oe,H,pe)];case\"code\":{if(X.isIndented){let Ee=\" \".repeat(4);return w(Ee,[Ee,...P(X.value,c)])}let le=H.__inJsTemplate?\"~\":\"`\",Ae=le.repeat(Math.max(3,n(X.value,le)+1));return [Ae,X.lang||\"\",X.meta?\" \"+X.meta:\"\",c,...P(v(X,H.originalText),c),c,Ae]}case\"html\":{let le=oe.getParentNode(),Ae=le.type===\"root\"&&s(le.children)===X?X.value.trimEnd():X.value,Ee=/^$/s.test(Ae);return P(Ae,Ee?c:g(h))}case\"list\":{let le=Y(X,oe.getParentNode()),Ae=S(X,H);return ue(oe,H,pe,{processor:(Ee,De)=>{let A=re(),G=Ee.getValue();if(G.children.length===2&&G.children[1].type===\"html\"&&G.children[0].position.start.column!==G.children[1].position.start.column)return [A,V(Ee,H,pe,A)];return [A,w(\" \".repeat(A.length),V(Ee,H,pe,A))];function re(){let ye=X.ordered?(De===0?X.start:Ae?1:X.start+De)+(le%2===0?\". \":\") \"):le%2===0?\"- \":\"* \";return X.isAligned||X.hasIndentedCodeblock?j(ye,H):ye}}})}case\"thematicBreak\":{let le=ee(oe,\"list\");return le===-1?\"---\":Y(oe.getParentNode(le),oe.getParentNode(le+1))%2===0?\"***\":\"---\"}case\"linkReference\":return [\"[\",ue(oe,H,pe),\"]\",X.referenceType===\"full\"?Ne(X):X.referenceType===\"collapsed\"?\"[]\":\"\"];case\"imageReference\":switch(X.referenceType){case\"full\":return [\"![\",X.alt||\"\",\"]\",Ne(X)];default:return [\"![\",X.alt,\"]\",X.referenceType===\"collapsed\"?\"[]\":\"\"]}case\"definition\":{let le=H.proseWrap===\"always\"?y:\" \";return N([Ne(X),\":\",E([le,he(X.url),X.title===null?\"\":[le,we(X.title,H,!1)]])])}case\"footnote\":return [\"[^\",ue(oe,H,pe),\"]\"];case\"footnoteReference\":return Pe(X);case\"footnoteDefinition\":{let le=oe.getParentNode().children[oe.getName()+1],Ae=X.children.length===1&&X.children[0].type===\"paragraph\"&&(H.proseWrap===\"never\"||H.proseWrap===\"preserve\"&&X.children[0].position.start.line===X.children[0].position.end.line);return [Pe(X),\": \",Ae?ue(oe,H,pe):N([w(\" \".repeat(4),ue(oe,H,pe,{processor:(Ee,De)=>De===0?N([f,pe()]):pe()})),le&&le.type===\"footnoteDefinition\"?f:\"\"])]}case\"table\":return K(oe,H,pe);case\"tableCell\":return ue(oe,H,pe);case\"break\":return /\\s/.test(H.originalText[X.position.start.offset])?[\" \",g(h)]:[\"\\\\\",c];case\"liquidNode\":return P(X.value,c);case\"importExport\":return [X.value,c];case\"esComment\":return [\"{/* \",X.value,\" */}\"];case\"jsx\":return X.value;case\"math\":return [\"$$\",c,X.value?[...P(X.value,c),c]:\"\",\"$$\"];case\"inlineMath\":return H.originalText.slice(m(X),C(X));case\"tableRow\":case\"listItem\":default:throw new Error(`Unknown markdown type ${JSON.stringify(X.type)}`)}}function V(oe,H,pe,X){let le=oe.getValue(),Ae=le.checked===null?\"\":le.checked?\"[x] \":\"[ ] \";return [Ae,ue(oe,H,pe,{processor:(Ee,De)=>{if(De===0&&Ee.getValue().type!==\"list\")return w(\" \".repeat(Ae.length),pe());let A=\" \".repeat(ke(H.tabWidth-X.length,0,3));return [A,w(A,pe())]}})]}function j(oe,H){let pe=X();return oe+\" \".repeat(pe>=4?0:pe);function X(){let le=oe.length%H.tabWidth;return le===0?0:H.tabWidth-le}}function Y(oe,H){return ie(oe,H,pe=>pe.ordered===oe.ordered)}function ie(oe,H,pe){let X=-1;for(let le of H.children)if(le.type===oe.type&&pe(le)?X++:X=-1,le===oe)return X}function ee(oe,H){let pe=Array.isArray(H)?H:[H],X=-1,le;for(;le=oe.getParentNode(++X);)if(pe.includes(le.type))return X;return -1}function ce(oe,H){let pe=ee(oe,H);return pe===-1?null:oe.getParentNode(pe)}function W(oe,H,pe){if(pe.proseWrap===\"preserve\"&&H===`\n`)return c;let X=pe.proseWrap===\"always\"&&!ce(oe,J);return H!==\"\"?X?y:\" \":X?f:\"\"}function K(oe,H,pe){let X=oe.getValue(),le=[],Ae=oe.map(ye=>ye.map((Ce,Be)=>{let ve=$(pe(),H).formatted,ze=u(ve);return le[Be]=Math.max(le[Be]||3,ze),{text:ve,width:ze}},\"children\"),\"children\"),Ee=A(!1);if(H.proseWrap!==\"never\")return [l,Ee];let De=A(!0);return [l,N(F(De,Ee))];function A(ye){let Ce=[re(Ae[0],ye),G(ye)];return Ae.length>1&&Ce.push(p(x,Ae.slice(1).map(Be=>re(Be,ye)))),p(x,Ce)}function G(ye){return `| ${le.map((Be,ve)=>{let ze=X.align[ve],be=ze===\"center\"||ze===\"left\"?\":\":\"-\",Ye=ze===\"center\"||ze===\"right\"?\":\":\"-\",Se=ye?\"-\":\"-\".repeat(Be-2);return `${be}${Se}${Ye}`}).join(\" | \")} |`}function re(ye,Ce){return `| ${ye.map((ve,ze)=>{let{text:be,width:Ye}=ve;if(Ce)return be;let Se=le[ze]-Ye,Ie=X.align[ze],Oe=0;Ie===\"right\"?Oe=Se:Ie===\"center\"&&(Oe=Math.floor(Se/2));let Je=Se-Oe;return `${\" \".repeat(Oe)}${be}${\" \".repeat(Je)}`}).join(\" | \")} |`}}function de(oe,H,pe){let X=[],le=null,{children:Ae}=oe.getValue();for(let[Ee,De]of Ae.entries())switch(U(De)){case\"start\":le===null&&(le={index:Ee,offset:De.position.end.offset});break;case\"end\":le!==null&&(X.push({start:le,end:{index:Ee,offset:De.position.start.offset}}),le=null);break;}return ue(oe,H,pe,{processor:(Ee,De)=>{if(X.length>0){let A=X[0];if(De===A.start.index)return [Fe(Ae[A.start.index]),H.originalText.slice(A.start.offset,A.end.offset),Fe(Ae[A.end.index])];if(A.start.index3&&arguments[3]!==void 0?arguments[3]:{},{postprocessor:le}=X,Ae=X.processor||(()=>pe()),Ee=oe.getValue(),De=[],A;return oe.each((G,re)=>{let ye=G.getValue(),Ce=Ae(G,re);if(Ce!==!1){let Be={parts:De,prevNode:A,parentNode:Ee,options:H};Z(ye,Be)&&(De.push(c),A&&q.has(A.type)||(se(ye,Be)||fe(ye,Be))&&De.push(c),fe(ye,Be)&&De.push(c)),De.push(Ce),A=ye;}},\"children\"),le?le(De):De}function Fe(oe){if(oe.type===\"html\")return oe.value;if(oe.type===\"paragraph\"&&Array.isArray(oe.children)&&oe.children.length===1&&oe.children[0].type===\"esComment\")return [\"{/* \",oe.children[0].value,\" */}\"]}function z(oe){let H=oe;for(;i(H.children);)H=s(H.children);return H}function U(oe){let H;if(oe.type===\"html\")H=oe.value.match(/^$/);else {let pe;oe.type===\"esComment\"?pe=oe:oe.type===\"paragraph\"&&oe.children.length===1&&oe.children[0].type===\"esComment\"&&(pe=oe.children[0]),pe&&(H=pe.value.match(/^prettier-ignore(?:-(start|end))?$/));}return H?H[1]||\"next\":!1}function Z(oe,H){let pe=H.parts.length===0,X=k.includes(oe.type),le=oe.type===\"html\"&&M.includes(H.parentNode.type);return !pe&&!X&&!le}function se(oe,H){var pe,X,le;let Ee=(H.prevNode&&H.prevNode.type)===oe.type&&L.has(oe.type),De=H.parentNode.type===\"listItem\"&&!H.parentNode.loose,A=((pe=H.prevNode)===null||pe===void 0?void 0:pe.type)===\"listItem\"&&H.prevNode.loose,G=U(H.prevNode)===\"next\",re=oe.type===\"html\"&&((X=H.prevNode)===null||X===void 0?void 0:X.type)===\"html\"&&H.prevNode.position.end.line+1===oe.position.start.line,ye=oe.type===\"html\"&&H.parentNode.type===\"listItem\"&&((le=H.prevNode)===null||le===void 0?void 0:le.type)===\"paragraph\"&&H.prevNode.position.end.line+1===oe.position.start.line;return A||!(Ee||De||G||re||ye)}function fe(oe,H){let pe=H.prevNode&&H.prevNode.type===\"list\",X=oe.type===\"code\"&&oe.isIndented;return pe&&X}function ge(oe){let H=ce(oe,[\"linkReference\",\"imageReference\"]);return H&&(H.type!==\"linkReference\"||H.referenceType!==\"full\")}function he(oe){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],pe=[\" \",...Array.isArray(H)?H:[H]];return new RegExp(pe.map(X=>`\\\\${X}`).join(\"|\")).test(oe)?`<${oe}>`:oe}function we(oe,H){let pe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!oe)return \"\";if(pe)return \" \"+we(oe,H,!1);if(oe=oe.replace(/\\\\([\"')])/g,\"$1\"),oe.includes('\"')&&oe.includes(\"'\")&&!oe.includes(\")\"))return `(${oe})`;let X=oe.split(\"'\").length-1,le=oe.split('\"').length-1,Ae=X>le?'\"':le>X||H.singleQuote?\"'\":'\"';return oe=oe.replace(/\\\\/,\"\\\\\\\\\"),oe=oe.replace(new RegExp(`(${Ae})`,\"g\"),\"\\\\$1\"),`${Ae}${oe}${Ae}`}function ke(oe,H,pe){return oepe?pe:oe}function Re(oe){let H=Number(oe.getName());if(H===0)return !1;let pe=oe.getParentNode().children[H-1];return U(pe)===\"next\"}function Ne(oe){return `[${t(oe.label)}]`}function Pe(oe){return `[^${oe.label}]`}r.exports={preprocess:o,print:Q,embed:D,massageAstNode:d,hasPrettierIgnore:Re,insertPragma:T};}}),Dg=te({\"src/language-markdown/options.js\"(e,r){ne();var t=Mt();r.exports={proseWrap:t.proseWrap,singleQuote:t.singleQuote};}}),mg=te({\"src/language-markdown/parsers.js\"(){ne();}}),_a=te({\"node_modules/linguist-languages/data/Markdown.json\"(e,r){r.exports={name:\"Markdown\",type:\"prose\",color:\"#083fa1\",aliases:[\"pandoc\"],aceMode:\"markdown\",codemirrorMode:\"gfm\",codemirrorMimeType:\"text/x-gfm\",wrap:!0,extensions:[\".md\",\".livemd\",\".markdown\",\".mdown\",\".mdwn\",\".mdx\",\".mkd\",\".mkdn\",\".mkdown\",\".ronn\",\".scd\",\".workbook\"],filenames:[\"contents.lr\"],tmScope:\"source.gfm\",languageId:222};}}),dg=te({\"src/language-markdown/index.js\"(e,r){ne();var t=_t(),s=fg(),a=Dg(),n=mg(),u=[t(_a(),l=>({since:\"1.8.0\",parsers:[\"markdown\"],vscodeLanguageIds:[\"markdown\"],filenames:[...l.filenames,\"README\"],extensions:l.extensions.filter(p=>p!==\".mdx\")})),t(_a(),()=>({name:\"MDX\",since:\"1.15.0\",parsers:[\"mdx\"],vscodeLanguageIds:[\"mdx\"],filenames:[],extensions:[\".mdx\"]}))],i={mdast:s};r.exports={languages:u,options:a,printers:i,parsers:n};}}),gg=te({\"src/language-html/clean.js\"(e,r){ne();var{isFrontMatterNode:t}=Ue(),s=new Set([\"sourceSpan\",\"startSourceSpan\",\"endSourceSpan\",\"nameSpan\",\"valueSpan\"]);function a(n,u){if(n.type===\"text\"||n.type===\"comment\"||t(n)||n.type===\"yaml\"||n.type===\"toml\")return null;n.type===\"attribute\"&&delete u.value,n.type===\"docType\"&&delete u.value;}a.ignoredProperties=s,r.exports=a;}}),yg=te({\"src/language-html/constants.evaluate.js\"(e,r){r.exports={CSS_DISPLAY_TAGS:{area:\"none\",base:\"none\",basefont:\"none\",datalist:\"none\",head:\"none\",link:\"none\",meta:\"none\",noembed:\"none\",noframes:\"none\",param:\"block\",rp:\"none\",script:\"block\",source:\"block\",style:\"none\",template:\"inline\",track:\"block\",title:\"none\",html:\"block\",body:\"block\",address:\"block\",blockquote:\"block\",center:\"block\",div:\"block\",figure:\"block\",figcaption:\"block\",footer:\"block\",form:\"block\",header:\"block\",hr:\"block\",legend:\"block\",listing:\"block\",main:\"block\",p:\"block\",plaintext:\"block\",pre:\"block\",xmp:\"block\",slot:\"contents\",ruby:\"ruby\",rt:\"ruby-text\",article:\"block\",aside:\"block\",h1:\"block\",h2:\"block\",h3:\"block\",h4:\"block\",h5:\"block\",h6:\"block\",hgroup:\"block\",nav:\"block\",section:\"block\",dir:\"block\",dd:\"block\",dl:\"block\",dt:\"block\",ol:\"block\",ul:\"block\",li:\"list-item\",table:\"table\",caption:\"table-caption\",colgroup:\"table-column-group\",col:\"table-column\",thead:\"table-header-group\",tbody:\"table-row-group\",tfoot:\"table-footer-group\",tr:\"table-row\",td:\"table-cell\",th:\"table-cell\",fieldset:\"block\",button:\"inline-block\",details:\"block\",summary:\"block\",dialog:\"block\",meter:\"inline-block\",progress:\"inline-block\",object:\"inline-block\",video:\"inline-block\",audio:\"inline-block\",select:\"inline-block\",option:\"block\",optgroup:\"block\"},CSS_DISPLAY_DEFAULT:\"inline\",CSS_WHITE_SPACE_TAGS:{listing:\"pre\",plaintext:\"pre\",pre:\"pre\",xmp:\"pre\",nobr:\"nowrap\",table:\"initial\",textarea:\"pre-wrap\"},CSS_WHITE_SPACE_DEFAULT:\"normal\"};}}),hg=te({\"src/language-html/utils/is-unknown-namespace.js\"(e,r){ne();function t(s){return s.type===\"element\"&&!s.hasExplicitNamespace&&![\"html\",\"svg\"].includes(s.namespace)}r.exports=t;}}),Rt=te({\"src/language-html/utils/index.js\"(e,r){ne();var{inferParserByLanguage:t,isFrontMatterNode:s}=Ue(),{builders:{line:a,hardline:n,join:u},utils:{getDocParts:i,replaceTextEndOfLine:l}}=qe(),{CSS_DISPLAY_TAGS:p,CSS_DISPLAY_DEFAULT:y,CSS_WHITE_SPACE_TAGS:h,CSS_WHITE_SPACE_DEFAULT:g}=yg(),c=hg(),f=new Set([\"\t\",`\n`,\"\\f\",\"\\r\",\" \"]),F=A=>A.replace(/^[\\t\\n\\f\\r ]+/,\"\"),_=A=>A.replace(/[\\t\\n\\f\\r ]+$/,\"\"),w=A=>F(_(A)),E=A=>A.replace(/^[\\t\\f\\r ]*\\n/g,\"\"),N=A=>E(_(A)),x=A=>A.split(/[\\t\\n\\f\\r ]+/),I=A=>A.match(/^[\\t\\n\\f\\r ]*/)[0],P=A=>{let[,G,re,ye]=A.match(/^([\\t\\n\\f\\r ]*)(.*?)([\\t\\n\\f\\r ]*)$/s);return {leadingWhitespace:G,trailingWhitespace:ye,text:re}},$=A=>/[\\t\\n\\f\\r ]/.test(A);function D(A,G){return !!(A.type===\"ieConditionalComment\"&&A.lastChild&&!A.lastChild.isSelfClosing&&!A.lastChild.endSourceSpan||A.type===\"ieConditionalComment\"&&!A.complete||se(A)&&A.children.some(re=>re.type!==\"text\"&&re.type!==\"interpolation\")||X(A,G)&&!o(A)&&A.type!==\"interpolation\")}function T(A){return A.type===\"attribute\"||!A.parent||!A.prev?!1:m(A.prev)}function m(A){return A.type===\"comment\"&&A.value.trim()===\"prettier-ignore\"}function C(A){return A.type===\"text\"||A.type===\"comment\"}function o(A){return A.type===\"element\"&&(A.fullName===\"script\"||A.fullName===\"style\"||A.fullName===\"svg:style\"||c(A)&&(A.name===\"script\"||A.name===\"style\"))}function d(A){return A.children&&!o(A)}function v(A){return o(A)||A.type===\"interpolation\"||S(A)}function S(A){return we(A).startsWith(\"pre\")}function b(A,G){let re=ye();if(re&&!A.prev&&A.parent&&A.parent.tagDefinition&&A.parent.tagDefinition.ignoreFirstLf)return A.type===\"interpolation\";return re;function ye(){return s(A)?!1:(A.type===\"text\"||A.type===\"interpolation\")&&A.prev&&(A.prev.type===\"text\"||A.prev.type===\"interpolation\")?!0:!A.parent||A.parent.cssDisplay===\"none\"?!1:se(A.parent)?!0:!(!A.prev&&(A.parent.type===\"root\"||se(A)&&A.parent||o(A.parent)||H(A.parent,G)||!ue(A.parent.cssDisplay))||A.prev&&!U(A.prev.cssDisplay))}}function B(A,G){return s(A)?!1:(A.type===\"text\"||A.type===\"interpolation\")&&A.next&&(A.next.type===\"text\"||A.next.type===\"interpolation\")?!0:!A.parent||A.parent.cssDisplay===\"none\"?!1:se(A.parent)?!0:!(!A.next&&(A.parent.type===\"root\"||se(A)&&A.parent||o(A.parent)||H(A.parent,G)||!Fe(A.parent.cssDisplay))||A.next&&!z(A.next.cssDisplay))}function k(A){return Z(A.cssDisplay)&&!o(A)}function M(A){return s(A)||A.next&&A.sourceSpan.end&&A.sourceSpan.end.line+10&&([\"body\",\"script\",\"style\"].includes(A.name)||A.children.some(G=>ee(G)))||A.firstChild&&A.firstChild===A.lastChild&&A.firstChild.type!==\"text\"&&V(A.firstChild)&&(!A.lastChild.isTrailingSpaceSensitive||j(A.lastChild))}function q(A){return A.type===\"element\"&&A.children.length>0&&([\"html\",\"head\",\"ul\",\"ol\",\"select\"].includes(A.name)||A.cssDisplay.startsWith(\"table\")&&A.cssDisplay!==\"table-cell\")}function J(A){return Y(A)||A.prev&&L(A.prev)||Q(A)}function L(A){return Y(A)||A.type===\"element\"&&A.fullName===\"br\"||Q(A)}function Q(A){return V(A)&&j(A)}function V(A){return A.hasLeadingSpaces&&(A.prev?A.prev.sourceSpan.end.lineA.sourceSpan.end.line:A.parent.type===\"root\"||A.parent.endSourceSpan&&A.parent.endSourceSpan.start.line>A.sourceSpan.end.line)}function Y(A){switch(A.type){case\"ieConditionalComment\":case\"comment\":case\"directive\":return !0;case\"element\":return [\"script\",\"select\"].includes(A.name)}return !1}function ie(A){return A.lastChild?ie(A.lastChild):A}function ee(A){return A.children&&A.children.some(G=>G.type!==\"text\")}function ce(A){let{type:G,lang:re}=A.attrMap;if(G===\"module\"||G===\"text/javascript\"||G===\"text/babel\"||G===\"application/javascript\"||re===\"jsx\")return \"babel\";if(G===\"application/x-typescript\"||re===\"ts\"||re===\"tsx\")return \"typescript\";if(G===\"text/markdown\")return \"markdown\";if(G===\"text/html\")return \"html\";if(G&&(G.endsWith(\"json\")||G.endsWith(\"importmap\"))||G===\"speculationrules\")return \"json\";if(G===\"text/x-handlebars-template\")return \"glimmer\"}function W(A,G){let{lang:re}=A.attrMap;if(!re||re===\"postcss\"||re===\"css\")return \"css\";if(re===\"scss\")return \"scss\";if(re===\"less\")return \"less\";if(re===\"stylus\")return t(\"stylus\",G)}function K(A,G){if(A.name===\"script\"&&!A.attrMap.src)return !A.attrMap.lang&&!A.attrMap.type?\"babel\":ce(A);if(A.name===\"style\")return W(A,G);if(G&&X(A,G))return ce(A)||!(\"src\"in A.attrMap)&&t(A.attrMap.lang,G)}function de(A){return A===\"block\"||A===\"list-item\"||A.startsWith(\"table\")}function ue(A){return !de(A)&&A!==\"inline-block\"}function Fe(A){return !de(A)&&A!==\"inline-block\"}function z(A){return !de(A)}function U(A){return !de(A)}function Z(A){return !de(A)&&A!==\"inline-block\"}function se(A){return we(A).startsWith(\"pre\")}function fe(A,G){let re=0;for(let ye=A.stack.length-1;ye>=0;ye--){let Ce=A.stack[ye];Ce&&typeof Ce==\"object\"&&!Array.isArray(Ce)&&G(Ce)&&re++;}return re}function ge(A,G){let re=A;for(;re;){if(G(re))return !0;re=re.parent;}return !1}function he(A,G){if(A.prev&&A.prev.type===\"comment\"){let ye=A.prev.value.match(/^\\s*display:\\s*([a-z]+)\\s*$/);if(ye)return ye[1]}let re=!1;if(A.type===\"element\"&&A.namespace===\"svg\")if(ge(A,ye=>ye.fullName===\"svg:foreignObject\"))re=!0;else return A.name===\"svg\"?\"inline-block\":\"block\";switch(G.htmlWhitespaceSensitivity){case\"strict\":return \"inline\";case\"ignore\":return \"block\";default:return G.parser===\"vue\"&&A.parent&&A.parent.type===\"root\"?\"block\":A.type===\"element\"&&(!A.namespace||re||c(A))&&p[A.name]||y}}function we(A){return A.type===\"element\"&&(!A.namespace||c(A))&&h[A.name]||g}function ke(A){let G=Number.POSITIVE_INFINITY;for(let re of A.split(`\n`)){if(re.length===0)continue;if(!f.has(re[0]))return 0;let ye=I(re).length;re.length!==ye&&ye1&&arguments[1]!==void 0?arguments[1]:ke(A);return G===0?A:A.split(`\n`).map(re=>re.slice(G)).join(`\n`)}function Ne(A,G){let re=0;for(let ye=0;ye1&&arguments[1]!==void 0?arguments[1]:A.value;return A.parent.isWhitespaceSensitive?A.parent.isIndentationSensitive?l(G):l(Re(N(G)),n):i(u(a,x(G)))}function De(A,G){return pe(A,G)&&A.name===\"script\"}r.exports={htmlTrim:w,htmlTrimPreserveIndentation:N,hasHtmlWhitespace:$,getLeadingAndTrailingHtmlWhitespace:P,canHaveInterpolation:d,countChars:Ne,countParents:fe,dedentString:Re,forceBreakChildren:q,forceBreakContent:R,forceNextEmptyLine:M,getLastDescendant:ie,getNodeCssStyleDisplay:he,getNodeCssStyleWhiteSpace:we,hasPrettierIgnore:T,inferScriptParser:K,isVueCustomBlock:H,isVueNonHtmlBlock:X,isVueScriptTag:De,isVueSlotAttribute:le,isVueSfcBindingsAttribute:Ae,isVueSfcBlock:pe,isDanglingSpaceSensitiveNode:k,isIndentationSensitiveNode:S,isLeadingSpaceSensitiveNode:b,isPreLikeNode:se,isScriptLikeTag:o,isTextLikeNode:C,isTrailingSpaceSensitiveNode:B,isWhitespaceSensitiveNode:v,isUnknownNamespace:c,preferHardlineAsLeadingSpaces:J,preferHardlineAsTrailingSpaces:L,shouldPreserveContent:D,unescapeQuoteEntities:Pe,getTextValueParts:Ee};}}),vg=te({\"node_modules/angular-html-parser/lib/compiler/src/chars.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0}),e.$EOF=0,e.$BSPACE=8,e.$TAB=9,e.$LF=10,e.$VTAB=11,e.$FF=12,e.$CR=13,e.$SPACE=32,e.$BANG=33,e.$DQ=34,e.$HASH=35,e.$$=36,e.$PERCENT=37,e.$AMPERSAND=38,e.$SQ=39,e.$LPAREN=40,e.$RPAREN=41,e.$STAR=42,e.$PLUS=43,e.$COMMA=44,e.$MINUS=45,e.$PERIOD=46,e.$SLASH=47,e.$COLON=58,e.$SEMICOLON=59,e.$LT=60,e.$EQ=61,e.$GT=62,e.$QUESTION=63,e.$0=48,e.$7=55,e.$9=57,e.$A=65,e.$E=69,e.$F=70,e.$X=88,e.$Z=90,e.$LBRACKET=91,e.$BACKSLASH=92,e.$RBRACKET=93,e.$CARET=94,e.$_=95,e.$a=97,e.$b=98,e.$e=101,e.$f=102,e.$n=110,e.$r=114,e.$t=116,e.$u=117,e.$v=118,e.$x=120,e.$z=122,e.$LBRACE=123,e.$BAR=124,e.$RBRACE=125,e.$NBSP=160,e.$PIPE=124,e.$TILDA=126,e.$AT=64,e.$BT=96;function r(i){return i>=e.$TAB&&i<=e.$SPACE||i==e.$NBSP}e.isWhitespace=r;function t(i){return e.$0<=i&&i<=e.$9}e.isDigit=t;function s(i){return i>=e.$a&&i<=e.$z||i>=e.$A&&i<=e.$Z}e.isAsciiLetter=s;function a(i){return i>=e.$a&&i<=e.$f||i>=e.$A&&i<=e.$F||t(i)}e.isAsciiHexDigit=a;function n(i){return i===e.$LF||i===e.$CR}e.isNewLine=n;function u(i){return e.$0<=i&&i<=e.$7}e.isOctalDigit=u;}}),Cg=te({\"node_modules/angular-html-parser/lib/compiler/src/aot/static_symbol.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=class{constructor(s,a,n){this.filePath=s,this.name=a,this.members=n;}assertNoMembers(){if(this.members.length)throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`)}};e.StaticSymbol=r;var t=class{constructor(){this.cache=new Map;}get(s,a,n){n=n||[];let u=n.length?`.${n.join(\".\")}`:\"\",i=`\"${s}\".${a}${u}`,l=this.cache.get(i);return l||(l=new r(s,a,n),this.cache.set(i,l)),l}};e.StaticSymbolCache=t;}}),Eg=te({\"node_modules/angular-html-parser/lib/compiler/src/util.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=/-+([a-z0-9])/g;function t(o){return o.replace(r,function(){for(var d=arguments.length,v=new Array(d),S=0;Su(v,this,d))}visitStringMap(o,d){let v={};return Object.keys(o).forEach(S=>{v[S]=u(o[S],this,d);}),v}visitPrimitive(o,d){return o}visitOther(o,d){return o}};e.ValueTransformer=p,e.SyncAsync={assertSync:o=>{if(P(o))throw new Error(\"Illegal state: value cannot be a promise\");return o},then:(o,d)=>P(o)?o.then(d):d(o),all:o=>o.some(P)?Promise.all(o):o};function y(o){throw new Error(`Internal Error: ${o}`)}e.error=y;function h(o,d){let v=Error(o);return v[g]=!0,d&&(v[c]=d),v}e.syntaxError=h;var g=\"ngSyntaxError\",c=\"ngParseErrors\";function f(o){return o[g]}e.isSyntaxError=f;function F(o){return o[c]||[]}e.getParseErrors=F;function _(o){return o.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g,\"\\\\$1\")}e.escapeRegExp=_;var w=Object.getPrototypeOf({});function E(o){return typeof o==\"object\"&&o!==null&&Object.getPrototypeOf(o)===w}function N(o){let d=\"\";for(let v=0;v=55296&&S<=56319&&o.length>v+1){let b=o.charCodeAt(v+1);b>=56320&&b<=57343&&(v++,S=(S-55296<<10)+b-56320+65536);}S<=127?d+=String.fromCharCode(S):S<=2047?d+=String.fromCharCode(S>>6&31|192,S&63|128):S<=65535?d+=String.fromCharCode(S>>12|224,S>>6&63|128,S&63|128):S<=2097151&&(d+=String.fromCharCode(S>>18&7|240,S>>12&63|128,S>>6&63|128,S&63|128));}return d}e.utf8Encode=N;function x(o){if(typeof o==\"string\")return o;if(o instanceof Array)return \"[\"+o.map(x).join(\", \")+\"]\";if(o==null)return \"\"+o;if(o.overriddenName)return `${o.overriddenName}`;if(o.name)return `${o.name}`;if(!o.toString)return \"object\";let d=o.toString();if(d==null)return \"\"+d;let v=d.indexOf(`\n`);return v===-1?d:d.substring(0,v)}e.stringify=x;function I(o){return typeof o==\"function\"&&o.hasOwnProperty(\"__forward_ref__\")?o():o}e.resolveForwardRef=I;function P(o){return !!o&&typeof o.then==\"function\"}e.isPromise=P;var $=class{constructor(o){this.full=o;let d=o.split(\".\");this.major=d[0],this.minor=d[1],this.patch=d.slice(2).join(\".\");}};e.Version=$;var D=typeof window<\"u\"&&window,T=typeof self<\"u\"&&typeof WorkerGlobalScope<\"u\"&&self instanceof WorkerGlobalScope&&self,m=typeof globalThis<\"u\"&&globalThis,C=m||D||T;e.global=C;}}),Fg=te({\"node_modules/angular-html-parser/lib/compiler/src/compile_metadata.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=Cg(),t=Eg(),s=/^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;function a(v){return v.replace(/\\W/g,\"_\")}e.sanitizeIdentifier=a;var n=0;function u(v){if(!v||!v.reference)return null;let S=v.reference;if(S instanceof r.StaticSymbol)return S.name;if(S.__anonymousType)return S.__anonymousType;let b=t.stringify(S);return b.indexOf(\"(\")>=0?(b=`anonymous_${n++}`,S.__anonymousType=b):b=a(b),b}e.identifierName=u;function i(v){let S=v.reference;return S instanceof r.StaticSymbol?S.filePath:`./${t.stringify(S)}`}e.identifierModuleUrl=i;function l(v,S){return `View_${u({reference:v})}_${S}`}e.viewClassName=l;function p(v){return `RenderType_${u({reference:v})}`}e.rendererTypeName=p;function y(v){return `HostView_${u({reference:v})}`}e.hostViewClassName=y;function h(v){return `${u({reference:v})}NgFactory`}e.componentFactoryName=h;var g;(function(v){v[v.Pipe=0]=\"Pipe\",v[v.Directive=1]=\"Directive\",v[v.NgModule=2]=\"NgModule\",v[v.Injectable=3]=\"Injectable\";})(g=e.CompileSummaryKind||(e.CompileSummaryKind={}));function c(v){return v.value!=null?a(v.value):u(v.identifier)}e.tokenName=c;function f(v){return v.identifier!=null?v.identifier.reference:v.value}e.tokenReference=f;var F=class{constructor(){let{moduleUrl:v,styles:S,styleUrls:b}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.moduleUrl=v||null,this.styles=P(S),this.styleUrls=P(b);}};e.CompileStylesheetMetadata=F;var _=class{constructor(v){let{encapsulation:S,template:b,templateUrl:B,htmlAst:k,styles:M,styleUrls:R,externalStylesheets:q,animations:J,ngContentSelectors:L,interpolation:Q,isInline:V,preserveWhitespaces:j}=v;if(this.encapsulation=S,this.template=b,this.templateUrl=B,this.htmlAst=k,this.styles=P(M),this.styleUrls=P(R),this.externalStylesheets=P(q),this.animations=J?D(J):[],this.ngContentSelectors=L||[],Q&&Q.length!=2)throw new Error(\"'interpolation' should have a start and an end symbol.\");this.interpolation=Q,this.isInline=V,this.preserveWhitespaces=j;}toSummary(){return {ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};e.CompileTemplateMetadata=_;var w=class{static create(v){let{isHost:S,type:b,isComponent:B,selector:k,exportAs:M,changeDetection:R,inputs:q,outputs:J,host:L,providers:Q,viewProviders:V,queries:j,guards:Y,viewQueries:ie,entryComponents:ee,template:ce,componentViewType:W,rendererType:K,componentFactory:de}=v,ue={},Fe={},z={};L!=null&&Object.keys(L).forEach(se=>{let fe=L[se],ge=se.match(s);ge===null?z[se]=fe:ge[1]!=null?Fe[ge[1]]=fe:ge[2]!=null&&(ue[ge[2]]=fe);});let U={};q?.forEach(se=>{let fe=t.splitAtColon(se,[se,se]);U[fe[0]]=fe[1];});let Z={};return J?.forEach(se=>{let fe=t.splitAtColon(se,[se,se]);Z[fe[0]]=fe[1];}),new w({isHost:S,type:b,isComponent:!!B,selector:k,exportAs:M,changeDetection:R,inputs:U,outputs:Z,hostListeners:ue,hostProperties:Fe,hostAttributes:z,providers:Q,viewProviders:V,queries:j,guards:Y,viewQueries:ie,entryComponents:ee,template:ce,componentViewType:W,rendererType:K,componentFactory:de})}constructor(v){let{isHost:S,type:b,isComponent:B,selector:k,exportAs:M,changeDetection:R,inputs:q,outputs:J,hostListeners:L,hostProperties:Q,hostAttributes:V,providers:j,viewProviders:Y,queries:ie,guards:ee,viewQueries:ce,entryComponents:W,template:K,componentViewType:de,rendererType:ue,componentFactory:Fe}=v;this.isHost=!!S,this.type=b,this.isComponent=B,this.selector=k,this.exportAs=M,this.changeDetection=R,this.inputs=q,this.outputs=J,this.hostListeners=L,this.hostProperties=Q,this.hostAttributes=V,this.providers=P(j),this.viewProviders=P(Y),this.queries=P(ie),this.guards=ee,this.viewQueries=P(ce),this.entryComponents=P(W),this.template=K,this.componentViewType=de,this.rendererType=ue,this.componentFactory=Fe;}toSummary(){return {summaryKind:g.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}};e.CompileDirectiveMetadata=w;var E=class{constructor(v){let{type:S,name:b,pure:B}=v;this.type=S,this.name=b,this.pure=!!B;}toSummary(){return {summaryKind:g.Pipe,type:this.type,name:this.name,pure:this.pure}}};e.CompilePipeMetadata=E;var N=class{};e.CompileShallowModuleMetadata=N;var x=class{constructor(v){let{type:S,providers:b,declaredDirectives:B,exportedDirectives:k,declaredPipes:M,exportedPipes:R,entryComponents:q,bootstrapComponents:J,importedModules:L,exportedModules:Q,schemas:V,transitiveModule:j,id:Y}=v;this.type=S||null,this.declaredDirectives=P(B),this.exportedDirectives=P(k),this.declaredPipes=P(M),this.exportedPipes=P(R),this.providers=P(b),this.entryComponents=P(q),this.bootstrapComponents=P(J),this.importedModules=P(L),this.exportedModules=P(Q),this.schemas=P(V),this.id=Y||null,this.transitiveModule=j||null;}toSummary(){let v=this.transitiveModule;return {summaryKind:g.NgModule,type:this.type,entryComponents:v.entryComponents,providers:v.providers,modules:v.modules,exportedDirectives:v.exportedDirectives,exportedPipes:v.exportedPipes}}};e.CompileNgModuleMetadata=x;var I=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[];}addProvider(v,S){this.providers.push({provider:v,module:S});}addDirective(v){this.directivesSet.has(v.reference)||(this.directivesSet.add(v.reference),this.directives.push(v));}addExportedDirective(v){this.exportedDirectivesSet.has(v.reference)||(this.exportedDirectivesSet.add(v.reference),this.exportedDirectives.push(v));}addPipe(v){this.pipesSet.has(v.reference)||(this.pipesSet.add(v.reference),this.pipes.push(v));}addExportedPipe(v){this.exportedPipesSet.has(v.reference)||(this.exportedPipesSet.add(v.reference),this.exportedPipes.push(v));}addModule(v){this.modulesSet.has(v.reference)||(this.modulesSet.add(v.reference),this.modules.push(v));}addEntryComponent(v){this.entryComponentsSet.has(v.componentType)||(this.entryComponentsSet.add(v.componentType),this.entryComponents.push(v));}};e.TransitiveCompileNgModuleMetadata=I;function P(v){return v||[]}var $=class{constructor(v,S){let{useClass:b,useValue:B,useExisting:k,useFactory:M,deps:R,multi:q}=S;this.token=v,this.useClass=b||null,this.useValue=B,this.useExisting=k,this.useFactory=M||null,this.dependencies=R||null,this.multi=!!q;}};e.ProviderMeta=$;function D(v){return v.reduce((S,b)=>{let B=Array.isArray(b)?D(b):b;return S.concat(B)},[])}e.flatten=D;function T(v){return v.replace(/(\\w+:\\/\\/[\\w:-]+)?(\\/+)?/,\"ng:///\")}function m(v,S,b){let B;return b.isInline?S.type.reference instanceof r.StaticSymbol?B=`${S.type.reference.filePath}.${S.type.reference.name}.html`:B=`${u(v)}/${u(S.type)}.html`:B=b.templateUrl,S.type.reference instanceof r.StaticSymbol?B:T(B)}e.templateSourceUrl=m;function C(v,S){let b=v.moduleUrl.split(/\\/\\\\/g),B=b[b.length-1];return T(`css/${S}${B}.ngstyle.js`)}e.sharedStylesheetJitUrl=C;function o(v){return T(`${u(v.type)}/module.ngfactory.js`)}e.ngModuleJitUrl=o;function d(v,S){return T(`${u(v)}/${u(S.type)}.ngfactory.js`)}e.templateJitUrl=d;}}),Ag=te({\"node_modules/angular-html-parser/lib/compiler/src/parse_util.js\"(e){ne(),Object.defineProperty(e,\"__esModule\",{value:!0});var r=vg(),t=Fg(),s=class{constructor(y,h,g,c){this.file=y,this.offset=h,this.line=g,this.col=c;}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(y){let h=this.file.content,g=h.length,c=this.offset,f=this.line,F=this.col;for(;c>0&&y<0;)if(c--,y++,h.charCodeAt(c)==r.$LF){f--;let w=h.substr(0,c-1).lastIndexOf(String.fromCharCode(r.$LF));F=w>0?c-w:c;}else F--;for(;c0;){let _=h.charCodeAt(c);c++,y--,_==r.$LF?(f++,F=0):F++;}return new s(this.file,c,f,F)}getContext(y,h){let g=this.file.content,c=this.offset;if(c!=null){c>g.length-1&&(c=g.length-1);let f=c,F=0,_=0;for(;F0&&(c--,F++,!(g[c]==`\n`&&++_==h)););for(F=0,_=0;F2&&arguments[2]!==void 0?arguments[2]:null;this.start=y,this.end=h,this.details=g;}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}};e.ParseSourceSpan=n,e.EMPTY_PARSE_LOCATION=new s(new a(\"\",\"\"),0,0,0),e.EMPTY_SOURCE_SPAN=new n(e.EMPTY_PARSE_LOCATION,e.EMPTY_PARSE_LOCATION);var u;(function(y){y[y.WARNING=0]=\"WARNING\",y[y.ERROR=1]=\"ERROR\";})(u=e.ParseErrorLevel||(e.ParseErrorLevel={}));var i=class{constructor(y,h){let g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:u.ERROR;this.span=y,this.msg=h,this.level=g;}contextualMessage(){let y=this.span.start.getContext(100,3);return y?`${this.msg} (\"${y.before}[${u[this.level]} ->]${y.after}\")`:this.msg}toString(){let y=this.span.details?`, ${this.span.details}`:\"\";return `${this.contextualMessage()}: ${this.span.start}${y}`}};e.ParseError=i;function l(y,h){let g=t.identifierModuleUrl(h),c=g!=null?`in ${y} ${t.identifierName(h)} in ${g}`:`in ${y} ${t.identifierName(h)}`,f=new a(\"\",c);return new n(new s(f,-1,-1,-1),new s(f,-1,-1,-1))}e.typeSourceSpan=l;function p(y,h,g){let c=`in ${y} ${h} in ${g}`,f=new a(\"\",c);return new n(new s(f,-1,-1,-1),new s(f,-1,-1,-1))}e.r3JitTypeSourceSpan=p;}}),Sg=te({\"src/language-html/print-preprocess.js\"(e,r){ne();var{ParseSourceSpan:t}=Ag(),{htmlTrim:s,getLeadingAndTrailingHtmlWhitespace:a,hasHtmlWhitespace:n,canHaveInterpolation:u,getNodeCssStyleDisplay:i,isDanglingSpaceSensitiveNode:l,isIndentationSensitiveNode:p,isLeadingSpaceSensitiveNode:y,isTrailingSpaceSensitiveNode:h,isWhitespaceSensitiveNode:g,isVueScriptTag:c}=Rt(),f=[_,w,N,I,P,T,$,D,m,x,C];function F(o,d){for(let v of f)v(o,d);return o}function _(o){o.walk(d=>{if(d.type===\"element\"&&d.tagDefinition.ignoreFirstLf&&d.children.length>0&&d.children[0].type===\"text\"&&d.children[0].value[0]===`\n`){let v=d.children[0];v.value.length===1?d.removeChild(v):v.value=v.value.slice(1);}});}function w(o){let d=v=>v.type===\"element\"&&v.prev&&v.prev.type===\"ieConditionalStartComment\"&&v.prev.sourceSpan.end.offset===v.startSourceSpan.start.offset&&v.firstChild&&v.firstChild.type===\"ieConditionalEndComment\"&&v.firstChild.sourceSpan.start.offset===v.startSourceSpan.end.offset;o.walk(v=>{if(v.children)for(let S=0;S{if(S.children)for(let b=0;bd.type===\"cdata\",d=>``)}function x(o){let d=v=>v.type===\"element\"&&v.attrs.length===0&&v.children.length===1&&v.firstChild.type===\"text\"&&!n(v.children[0].value)&&!v.firstChild.hasLeadingSpaces&&!v.firstChild.hasTrailingSpaces&&v.isLeadingSpaceSensitive&&!v.hasLeadingSpaces&&v.isTrailingSpaceSensitive&&!v.hasTrailingSpaces&&v.prev&&v.prev.type===\"text\"&&v.next&&v.next.type===\"text\";o.walk(v=>{if(v.children)for(let S=0;S`+b.firstChild.value+``+k.value,B.sourceSpan=new t(B.sourceSpan.start,k.sourceSpan.end),B.isTrailingSpaceSensitive=k.isTrailingSpaceSensitive,B.hasTrailingSpaces=k.hasTrailingSpaces,v.removeChild(b),S--,v.removeChild(k);}});}function I(o,d){if(d.parser===\"html\")return;let v=/{{(.+?)}}/s;o.walk(S=>{if(u(S))for(let b of S.children){if(b.type!==\"text\")continue;let B=b.sourceSpan.start,k=null,M=b.value.split(v);for(let R=0;R0&&S.insertChildBefore(b,{type:\"text\",value:q,sourceSpan:new t(B,k)});continue}k=B.moveBy(q.length+4),S.insertChildBefore(b,{type:\"interpolation\",sourceSpan:new t(B,k),children:q.length===0?[]:[{type:\"text\",value:q,sourceSpan:new t(B.moveBy(2),k.moveBy(-2))}]});}S.removeChild(b);}});}function P(o){o.walk(d=>{if(!d.children)return;if(d.children.length===0||d.children.length===1&&d.children[0].type===\"text\"&&s(d.children[0].value).length===0){d.hasDanglingSpaces=d.children.length>0,d.children=[];return}let v=g(d),S=p(d);if(!v)for(let b=0;b{d.isSelfClosing=!d.children||d.type===\"element\"&&(d.tagDefinition.isVoid||d.startSourceSpan===d.endSourceSpan);});}function D(o,d){o.walk(v=>{v.type===\"element\"&&(v.hasHtmComponentClosingTag=v.endSourceSpan&&/^<\\s*\\/\\s*\\/\\s*>$/.test(d.originalText.slice(v.endSourceSpan.start.offset,v.endSourceSpan.end.offset)));});}function T(o,d){o.walk(v=>{v.cssDisplay=i(v,d);});}function m(o,d){o.walk(v=>{let{children:S}=v;if(S){if(S.length===0){v.isDanglingSpaceSensitive=l(v);return}for(let b of S)b.isLeadingSpaceSensitive=y(b,d),b.isTrailingSpaceSensitive=h(b,d);for(let b=0;bc(b,d));if(!v)return;let{lang:S}=v.attrMap;(S===\"ts\"||S===\"typescript\")&&(d.__should_parse_vue_template_with_ts=!0);}}r.exports=F;}}),xg=te({\"src/language-html/pragma.js\"(e,r){ne();function t(a){return /^\\s*/.test(a)}function s(a){return `\n\n`+a.replace(/^\\s*\\n/,\"\")}r.exports={hasPragma:t,insertPragma:s};}}),au=te({\"src/language-html/loc.js\"(e,r){ne();function t(a){return a.sourceSpan.start.offset}function s(a){return a.sourceSpan.end.offset}r.exports={locStart:t,locEnd:s};}}),ur=te({\"src/language-html/print/tag.js\"(e,r){ne();var t=Zt(),{isNonEmptyArray:s}=Ue(),{builders:{indent:a,join:n,line:u,softline:i,hardline:l},utils:{replaceTextEndOfLine:p}}=qe(),{locStart:y,locEnd:h}=au(),{isTextLikeNode:g,getLastDescendant:c,isPreLikeNode:f,hasPrettierIgnore:F,shouldPreserveContent:_,isVueSfcBlock:w}=Rt();function E(L,Q){return [L.isSelfClosing?\"\":N(L,Q),x(L,Q)]}function N(L,Q){return L.lastChild&&o(L.lastChild)?\"\":[I(L,Q),$(L,Q)]}function x(L,Q){return (L.next?m(L.next):C(L.parent))?\"\":[D(L,Q),P(L,Q)]}function I(L,Q){return C(L)?D(L.lastChild,Q):\"\"}function P(L,Q){return o(L)?$(L.parent,Q):d(L)?q(L.next):\"\"}function $(L,Q){if(t(!L.isSelfClosing),T(L,Q))return \"\";switch(L.type){case\"ieConditionalComment\":return \"\";case\"ieConditionalStartComment\":return \"]>\";case\"interpolation\":return \"}}\";case\"element\":if(L.isSelfClosing)return \"/>\";default:return \">\"}}function T(L,Q){return !L.isSelfClosing&&!L.endSourceSpan&&(F(L)||_(L.parent,Q))}function m(L){return L.prev&&L.prev.type!==\"docType\"&&!g(L.prev)&&L.isLeadingSpaceSensitive&&!L.hasLeadingSpaces}function C(L){return L.lastChild&&L.lastChild.isTrailingSpaceSensitive&&!L.lastChild.hasTrailingSpaces&&!g(c(L.lastChild))&&!f(L)}function o(L){return !L.next&&!L.hasTrailingSpaces&&L.isTrailingSpaceSensitive&&g(c(L))}function d(L){return L.next&&!g(L.next)&&g(L)&&L.isTrailingSpaceSensitive&&!L.hasTrailingSpaces}function v(L){let Q=L.trim().match(/^prettier-ignore-attribute(?:\\s+(.+))?$/s);return Q?Q[1]?Q[1].split(/\\s+/):!0:!1}function S(L){return !L.prev&&L.isLeadingSpaceSensitive&&!L.hasLeadingSpaces}function b(L,Q,V){let j=L.getValue();if(!s(j.attrs))return j.isSelfClosing?\" \":\"\";let Y=j.prev&&j.prev.type===\"comment\"&&v(j.prev.value),ie=typeof Y==\"boolean\"?()=>Y:Array.isArray(Y)?ue=>Y.includes(ue.rawName):()=>!1,ee=L.map(ue=>{let Fe=ue.getValue();return ie(Fe)?p(Q.originalText.slice(y(Fe),h(Fe))):V()},\"attrs\"),ce=j.type===\"element\"&&j.fullName===\"script\"&&j.attrs.length===1&&j.attrs[0].fullName===\"src\"&&j.children.length===0,K=Q.singleAttributePerLine&&j.attrs.length>1&&!w(j,Q)?l:u,de=[a([ce?\" \":u,n(K,ee)])];return j.firstChild&&S(j.firstChild)||j.isSelfClosing&&C(j.parent)||ce?de.push(j.isSelfClosing?\" \":\"\"):de.push(Q.bracketSameLine?j.isSelfClosing?\" \":\"\":j.isSelfClosing?u:i),de}function B(L){return L.firstChild&&S(L.firstChild)?\"\":J(L)}function k(L,Q,V){let j=L.getValue();return [M(j,Q),b(L,Q,V),j.isSelfClosing?\"\":B(j)]}function M(L,Q){return L.prev&&d(L.prev)?\"\":[R(L,Q),q(L)]}function R(L,Q){return S(L)?J(L.parent):m(L)?D(L.prev,Q):\"\"}function q(L){switch(L.type){case\"ieConditionalComment\":case\"ieConditionalStartComment\":return `<${L.rawName}`;default:return `<${L.rawName}`}}function J(L){switch(t(!L.isSelfClosing),L.type){case\"ieConditionalComment\":return \"]>\";case\"element\":if(L.condition)return \">\";default:return \">\"}}r.exports={printClosingTag:E,printClosingTagStart:N,printClosingTagStartMarker:$,printClosingTagEndMarker:D,printClosingTagSuffix:P,printClosingTagEnd:x,needsToBorrowLastChildClosingTagEndMarker:C,needsToBorrowParentClosingTagStartMarker:o,needsToBorrowPrevClosingTagEndMarker:m,printOpeningTag:k,printOpeningTagStart:M,printOpeningTagPrefix:R,printOpeningTagStartMarker:q,printOpeningTagEndMarker:J,needsToBorrowNextOpeningTagStartMarker:d,needsToBorrowParentOpeningTagEndMarker:S};}}),bg=te({\"node_modules/parse-srcset/src/parse-srcset.js\"(e,r){ne(),function(t,s){typeof define==\"function\"&&define.amd?define([],s):typeof r==\"object\"&&r.exports?r.exports=s():t.parseSrcset=s();}(e,function(){return function(t,s){var a=s&&s.logger||console;function n($){return $===\" \"||$===\"\t\"||$===`\n`||$===\"\\f\"||$===\"\\r\"}function u($){var D,T=$.exec(t.substring(N));if(T)return D=T[0],N+=D.length,D}for(var i=t.length,l=/^[ \\t\\n\\r\\u000c]+/,p=/^[, \\t\\n\\r\\u000c]+/,y=/^[^ \\t\\n\\r\\u000c]+/,h=/[,]+$/,g=/^\\d+$/,c=/^-?(?:[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,f,F,_,w,E,N=0,x=[];;){if(u(p),N>=i)return x;f=u(y),F=[],f.slice(-1)===\",\"?(f=f.replace(h,\"\"),P()):I();}function I(){for(u(l),_=\"\",w=\"in descriptor\";;){if(E=t.charAt(N),w===\"in descriptor\")if(n(E))_&&(F.push(_),_=\"\",w=\"after descriptor\");else if(E===\",\"){N+=1,_&&F.push(_),P();return}else if(E===\"(\")_=_+E,w=\"in parens\";else if(E===\"\"){_&&F.push(_),P();return}else _=_+E;else if(w===\"in parens\")if(E===\")\")_=_+E,w=\"in descriptor\";else if(E===\"\"){F.push(_),P();return}else _=_+E;else if(w===\"after descriptor\"&&!n(E))if(E===\"\"){P();return}else w=\"in descriptor\",N-=1;N+=1;}}function P(){var $=!1,D,T,m,C,o={},d,v,S,b,B;for(C=0;C{let{w:P}=I;return P}),h=p.some(I=>{let{h:P}=I;return P}),g=p.some(I=>{let{d:P}=I;return P});if(y+h+g>1)throw new Error(\"Mixed descriptor in srcset is not supported\");let c=y?\"w\":h?\"h\":\"d\",f=y?\"w\":h?\"h\":\"x\",F=I=>Math.max(...I),_=p.map(I=>I.url),w=F(_.map(I=>I.length)),E=p.map(I=>I[c]).map(I=>I?I.toString():\"\"),N=E.map(I=>{let P=I.indexOf(\".\");return P===-1?I.length:P}),x=F(N);return a([\",\",n],_.map((I,P)=>{let $=[I],D=E[P];if(D){let T=w-I.length+1,m=x-N[P],C=\" \".repeat(T+m);$.push(s(C,\" \"),D+f);}return $}))}function i(l){return l.trim().split(/\\s+/).join(\" \")}r.exports={printImgSrcset:u,printClassNames:i};}}),Bg=te({\"src/language-html/syntax-vue.js\"(e,r){ne();var{builders:{group:t}}=qe();function s(i,l){let{left:p,operator:y,right:h}=a(i);return [t(l(`function _(${p}) {}`,{parser:\"babel\",__isVueForBindingLeft:!0})),\" \",y,\" \",l(h,{parser:\"__js_expression\"},{stripTrailingHardline:!0})]}function a(i){let l=/(.*?)\\s+(in|of)\\s+(.*)/s,p=/,([^,\\]}]*)(?:,([^,\\]}]*))?$/,y=/^\\(|\\)$/g,h=i.match(l);if(!h)return;let g={};if(g.for=h[3].trim(),!g.for)return;let c=h[1].trim().replace(y,\"\"),f=c.match(p);f?(g.alias=c.replace(p,\"\"),g.iterator1=f[1].trim(),f[2]&&(g.iterator2=f[2].trim())):g.alias=c;let F=[g.alias,g.iterator1,g.iterator2];if(!F.some((_,w)=>!_&&(w===0||F.slice(w+1).some(Boolean))))return {left:F.filter(Boolean).join(\",\"),operator:h[2],right:g.for}}function n(i,l){return l(`function _(${i}) {}`,{parser:\"babel\",__isVueBindings:!0})}function u(i){let l=/^(?:[\\w$]+|\\([^)]*\\))\\s*=>|^function\\s*\\(/,p=/^[$A-Z_a-z][\\w$]*(?:\\.[$A-Z_a-z][\\w$]*|\\['[^']*']|\\[\"[^\"]*\"]|\\[\\d+]|\\[[$A-Z_a-z][\\w$]*])*$/,y=i.trim();return l.test(y)||p.test(y)}r.exports={isVueEventBindingExpression:u,printVueFor:s,printVueBindings:n};}}),Lo=te({\"src/language-html/get-node-content.js\"(e,r){ne();var{needsToBorrowParentClosingTagStartMarker:t,printClosingTagStartMarker:s,needsToBorrowLastChildClosingTagEndMarker:a,printClosingTagEndMarker:n,needsToBorrowParentOpeningTagEndMarker:u,printOpeningTagEndMarker:i}=ur();function l(p,y){let h=p.startSourceSpan.end.offset;p.firstChild&&u(p.firstChild)&&(h-=i(p).length);let g=p.endSourceSpan.start.offset;return p.lastChild&&t(p.lastChild)?g+=s(p,y).length:a(p)&&(g-=n(p.lastChild,y).length),y.originalText.slice(h,g)}r.exports=l;}}),Ng=te({\"src/language-html/embed.js\"(e,r){ne();var{builders:{breakParent:t,group:s,hardline:a,indent:n,line:u,fill:i,softline:l},utils:{mapDoc:p,replaceTextEndOfLine:y}}=qe(),h=su(),{printClosingTag:g,printClosingTagSuffix:c,needsToBorrowPrevClosingTagEndMarker:f,printOpeningTagPrefix:F,printOpeningTag:_}=ur(),{printImgSrcset:w,printClassNames:E}=Tg(),{printVueFor:N,printVueBindings:x,isVueEventBindingExpression:I}=Bg(),{isScriptLikeTag:P,isVueNonHtmlBlock:$,inferScriptParser:D,htmlTrimPreserveIndentation:T,dedentString:m,unescapeQuoteEntities:C,isVueSlotAttribute:o,isVueSfcBindingsAttribute:d,getTextValueParts:v}=Rt(),S=Lo();function b(k,M,R){let q=ee=>new RegExp(ee.join(\"|\")).test(k.fullName),J=()=>C(k.value),L=!1,Q=(ee,ce)=>{let W=ee.type===\"NGRoot\"?ee.node.type===\"NGMicrosyntax\"&&ee.node.body.length===1&&ee.node.body[0].type===\"NGMicrosyntaxExpression\"?ee.node.body[0].expression:ee.node:ee.type===\"JsExpressionRoot\"?ee.node:ee;W&&(W.type===\"ObjectExpression\"||W.type===\"ArrayExpression\"||ce.parser===\"__vue_expression\"&&(W.type===\"TemplateLiteral\"||W.type===\"StringLiteral\"))&&(L=!0);},V=ee=>s(ee),j=function(ee){let ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return s([n([l,ee]),ce?l:\"\"])},Y=ee=>L?V(ee):j(ee),ie=(ee,ce)=>M(ee,Object.assign({__onHtmlBindingRoot:Q,__embeddedInHtml:!0},ce));if(k.fullName===\"srcset\"&&(k.parent.fullName===\"img\"||k.parent.fullName===\"source\"))return j(w(J()));if(k.fullName===\"class\"&&!R.parentParser){let ee=J();if(!ee.includes(\"{{\"))return E(ee)}if(k.fullName===\"style\"&&!R.parentParser){let ee=J();if(!ee.includes(\"{{\"))return j(ie(ee,{parser:\"css\",__isHTMLStyleAttribute:!0}))}if(R.parser===\"vue\"){if(k.fullName===\"v-for\")return N(J(),ie);if(o(k)||d(k,R))return x(J(),ie);let ee=[\"^@\",\"^v-on:\"],ce=[\"^:\",\"^v-bind:\"],W=[\"^v-\"];if(q(ee)){let K=J(),de=I(K)?\"__js_expression\":R.__should_parse_vue_template_with_ts?\"__vue_ts_event_binding\":\"__vue_event_binding\";return Y(ie(K,{parser:de}))}if(q(ce))return Y(ie(J(),{parser:\"__vue_expression\"}));if(q(W))return Y(ie(J(),{parser:\"__js_expression\"}))}if(R.parser===\"angular\"){let ee=(z,U)=>ie(z,Object.assign(Object.assign({},U),{},{trailingComma:\"none\"})),ce=[\"^\\\\*\"],W=[\"^\\\\(.+\\\\)$\",\"^on-\"],K=[\"^\\\\[.+\\\\]$\",\"^bind(on)?-\",\"^ng-(if|show|hide|class|style)$\"],de=[\"^i18n(-.+)?$\"];if(q(W))return Y(ee(J(),{parser:\"__ng_action\"}));if(q(K))return Y(ee(J(),{parser:\"__ng_binding\"}));if(q(de)){let z=J().trim();return j(i(v(k,z)),!z.includes(\"@@\"))}if(q(ce))return Y(ee(J(),{parser:\"__ng_directive\"}));let ue=/{{(.+?)}}/s,Fe=J();if(ue.test(Fe)){let z=[];for(let[U,Z]of Fe.split(ue).entries())if(U%2===0)z.push(y(Z));else try{z.push(s([\"{{\",n([u,ee(Z,{parser:\"__ng_interpolation\",__isInHtmlInterpolation:!0})]),u,\"}}\"]));}catch{z.push(\"{{\",y(Z),\"}}\");}return s(z)}}return null}function B(k,M,R,q){let J=k.getValue();switch(J.type){case\"element\":{if(P(J)||J.type===\"interpolation\")return;if(!J.isSelfClosing&&$(J,q)){let L=D(J,q);if(!L)return;let Q=S(J,q),V=/^\\s*$/.test(Q),j=\"\";return V||(j=R(T(Q),{parser:L,__embeddedInHtml:!0},{stripTrailingHardline:!0}),V=j===\"\"),[F(J,q),s(_(k,q,M)),V?\"\":a,j,V?\"\":a,g(J,q),c(J,q)]}break}case\"text\":{if(P(J.parent)){let L=D(J.parent,q);if(L){let Q=L===\"markdown\"?m(J.value.replace(/^[^\\S\\n]*\\n/,\"\")):J.value,V={parser:L,__embeddedInHtml:!0};if(q.parser===\"html\"&&L===\"babel\"){let j=\"script\",{attrMap:Y}=J.parent;Y&&(Y.type===\"module\"||Y.type===\"text/babel\"&&Y[\"data-type\"]===\"module\")&&(j=\"module\"),V.__babelSourceType=j;}return [t,F(J,q),R(Q,V,{stripTrailingHardline:!0}),c(J,q)]}}else if(J.parent.type===\"interpolation\"){let L={__isInHtmlInterpolation:!0,__embeddedInHtml:!0};return q.parser===\"angular\"?(L.parser=\"__ng_interpolation\",L.trailingComma=\"none\"):q.parser===\"vue\"?L.parser=q.__should_parse_vue_template_with_ts?\"__vue_ts_expression\":\"__vue_expression\":L.parser=\"__js_expression\",[n([u,R(J.value,L,{stripTrailingHardline:!0})]),J.parent.next&&f(J.parent.next)?\" \":u]}break}case\"attribute\":{if(!J.value)break;if(/^PRETTIER_HTML_PLACEHOLDER_\\d+_\\d+_IN_JS$/.test(q.originalText.slice(J.valueSpan.start.offset,J.valueSpan.end.offset)))return [J.rawName,\"=\",J.value];if(q.parser===\"lwc\"&&/^{.*}$/s.test(q.originalText.slice(J.valueSpan.start.offset,J.valueSpan.end.offset)))return [J.rawName,\"=\",J.value];let L=b(J,(Q,V)=>R(Q,Object.assign({__isInHtmlAttribute:!0,__embeddedInHtml:!0},V),{stripTrailingHardline:!0}),q);if(L)return [J.rawName,'=\"',s(p(L,Q=>typeof Q==\"string\"?Q.replace(/\"/g,\""\"):Q)),'\"'];break}case\"front-matter\":return h(J,R)}}r.exports=B;}}),Oo=te({\"src/language-html/print/children.js\"(e,r){ne();var{builders:{breakParent:t,group:s,ifBreak:a,line:n,softline:u,hardline:i},utils:{replaceTextEndOfLine:l}}=qe(),{locStart:p,locEnd:y}=au(),{forceBreakChildren:h,forceNextEmptyLine:g,isTextLikeNode:c,hasPrettierIgnore:f,preferHardlineAsLeadingSpaces:F}=Rt(),{printOpeningTagPrefix:_,needsToBorrowNextOpeningTagStartMarker:w,printOpeningTagStartMarker:E,needsToBorrowPrevClosingTagEndMarker:N,printClosingTagEndMarker:x,printClosingTagSuffix:I,needsToBorrowParentClosingTagStartMarker:P}=ur();function $(m,C,o){let d=m.getValue();return f(d)?[_(d,C),...l(C.originalText.slice(p(d)+(d.prev&&w(d.prev)?E(d).length:0),y(d)-(d.next&&N(d.next)?x(d,C).length:0))),I(d,C)]:o()}function D(m,C){return c(m)&&c(C)?m.isTrailingSpaceSensitive?m.hasTrailingSpaces?F(C)?i:n:\"\":F(C)?i:u:w(m)&&(f(C)||C.firstChild||C.isSelfClosing||C.type===\"element\"&&C.attrs.length>0)||m.type===\"element\"&&m.isSelfClosing&&N(C)?\"\":!C.isLeadingSpaceSensitive||F(C)||N(C)&&m.lastChild&&P(m.lastChild)&&m.lastChild.lastChild&&P(m.lastChild.lastChild)?i:C.hasLeadingSpaces?n:u}function T(m,C,o){let d=m.getValue();if(h(d))return [t,...m.map(S=>{let b=S.getValue(),B=b.prev?D(b.prev,b):\"\";return [B?[B,g(b.prev)?i:\"\"]:\"\",$(S,C,o)]},\"children\")];let v=d.children.map(()=>Symbol(\"\"));return m.map((S,b)=>{let B=S.getValue();if(c(B)){if(B.prev&&c(B.prev)){let Q=D(B.prev,B);if(Q)return g(B.prev)?[i,i,$(S,C,o)]:[Q,$(S,C,o)]}return $(S,C,o)}let k=[],M=[],R=[],q=[],J=B.prev?D(B.prev,B):\"\",L=B.next?D(B,B.next):\"\";return J&&(g(B.prev)?k.push(i,i):J===i?k.push(i):c(B.prev)?M.push(J):M.push(a(\"\",u,{groupId:v[b-1]}))),L&&(g(B)?c(B.next)&&q.push(i,i):L===i?c(B.next)&&q.push(i):R.push(L)),[...k,s([...M,s([$(S,C,o),...R],{id:v[b]})]),...q]},\"children\")}r.exports={printChildren:T};}}),wg=te({\"src/language-html/print/element.js\"(e,r){ne();var{builders:{breakParent:t,dedentToRoot:s,group:a,ifBreak:n,indentIfBreak:u,indent:i,line:l,softline:p},utils:{replaceTextEndOfLine:y}}=qe(),h=Lo(),{shouldPreserveContent:g,isScriptLikeTag:c,isVueCustomBlock:f,countParents:F,forceBreakContent:_}=Rt(),{printOpeningTagPrefix:w,printOpeningTag:E,printClosingTagSuffix:N,printClosingTag:x,needsToBorrowPrevClosingTagEndMarker:I,needsToBorrowLastChildClosingTagEndMarker:P}=ur(),{printChildren:$}=Oo();function D(T,m,C){let o=T.getValue();if(g(o,m))return [w(o,m),a(E(T,m,C)),...y(h(o,m)),...x(o,m),N(o,m)];let d=o.children.length===1&&o.firstChild.type===\"interpolation\"&&o.firstChild.isLeadingSpaceSensitive&&!o.firstChild.hasLeadingSpaces&&o.lastChild.isTrailingSpaceSensitive&&!o.lastChild.hasTrailingSpaces,v=Symbol(\"element-attr-group-id\"),S=M=>a([a(E(T,m,C),{id:v}),M,x(o,m)]),b=M=>d?u(M,{groupId:v}):(c(o)||f(o,m))&&o.parent.type===\"root\"&&m.parser===\"vue\"&&!m.vueIndentScriptAndStyle?M:i(M),B=()=>d?n(p,\"\",{groupId:v}):o.firstChild.hasLeadingSpaces&&o.firstChild.isLeadingSpaceSensitive?l:o.firstChild.type===\"text\"&&o.isWhitespaceSensitive&&o.isIndentationSensitive?s(p):p,k=()=>(o.next?I(o.next):P(o.parent))?o.lastChild.hasTrailingSpaces&&o.lastChild.isTrailingSpaceSensitive?\" \":\"\":d?n(p,\"\",{groupId:v}):o.lastChild.hasTrailingSpaces&&o.lastChild.isTrailingSpaceSensitive?l:(o.lastChild.type===\"comment\"||o.lastChild.type===\"text\"&&o.isWhitespaceSensitive&&o.isIndentationSensitive)&&new RegExp(`\\\\n[\\\\t ]{${m.tabWidth*F(T,R=>R.parent&&R.parent.type!==\"root\")}}$`).test(o.lastChild.value)?\"\":p;return o.children.length===0?S(o.hasDanglingSpaces&&o.isDanglingSpaceSensitive?l:\"\"):S([_(o)?t:\"\",b([B(),$(T,m,C)]),k()])}r.exports={printElement:D};}}),_g=te({\"src/language-html/printer-html.js\"(e,r){ne();var{builders:{fill:t,group:s,hardline:a,literalline:n},utils:{cleanDoc:u,getDocParts:i,isConcat:l,replaceTextEndOfLine:p}}=qe(),y=gg(),{countChars:h,unescapeQuoteEntities:g,getTextValueParts:c}=Rt(),f=Sg(),{insertPragma:F}=xg(),{locStart:_,locEnd:w}=au(),E=Ng(),{printClosingTagSuffix:N,printClosingTagEnd:x,printOpeningTagPrefix:I,printOpeningTagStart:P}=ur(),{printElement:$}=wg(),{printChildren:D}=Oo();function T(m,C,o){let d=m.getValue();switch(d.type){case\"front-matter\":return p(d.raw);case\"root\":return C.__onHtmlRoot&&C.__onHtmlRoot(d),[s(D(m,C,o)),a];case\"element\":case\"ieConditionalComment\":return $(m,C,o);case\"ieConditionalStartComment\":case\"ieConditionalEndComment\":return [P(d),x(d)];case\"interpolation\":return [P(d,C),...m.map(o,\"children\"),x(d,C)];case\"text\":{if(d.parent.type===\"interpolation\"){let S=/\\n[^\\S\\n]*$/,b=S.test(d.value),B=b?d.value.replace(S,\"\"):d.value;return [...p(B),b?a:\"\"]}let v=u([I(d,C),...c(d),N(d,C)]);return l(v)||v.type===\"fill\"?t(i(v)):v}case\"docType\":return [s([P(d,C),\" \",d.value.replace(/^html\\b/i,\"html\").replace(/\\s+/g,\" \")]),x(d,C)];case\"comment\":return [I(d,C),...p(C.originalText.slice(_(d),w(d)),n),N(d,C)];case\"attribute\":{if(d.value===null)return d.rawName;let v=g(d.value),S=h(v,\"'\"),b=h(v,'\"'),B=S({name:\"Angular\",since:\"1.15.0\",parsers:[\"angular\"],vscodeLanguageIds:[\"html\"],extensions:[\".component.html\"],filenames:[]})),t(On(),l=>({since:\"1.15.0\",parsers:[\"html\"],vscodeLanguageIds:[\"html\"],extensions:[...l.extensions,\".mjml\"]})),t(On(),()=>({name:\"Lightning Web Components\",since:\"1.17.0\",parsers:[\"lwc\"],vscodeLanguageIds:[\"html\"],extensions:[],filenames:[]})),t(kg(),()=>({since:\"1.10.0\",parsers:[\"vue\"],vscodeLanguageIds:[\"vue\"]}))],i={html:s};r.exports={languages:u,printers:i,options:a,parsers:n};}}),Og=te({\"src/language-yaml/pragma.js\"(e,r){ne();function t(n){return /^\\s*@(?:prettier|format)\\s*$/.test(n)}function s(n){return /^\\s*#[^\\S\\n]*@(?:prettier|format)\\s*?(?:\\n|$)/.test(n)}function a(n){return `# @format\n\n${n}`}r.exports={isPragma:t,hasPragma:s,insertPragma:a};}}),jg=te({\"src/language-yaml/loc.js\"(e,r){ne();function t(a){return a.position.start.offset}function s(a){return a.position.end.offset}r.exports={locStart:t,locEnd:s};}}),qg=te({\"src/language-yaml/embed.js\"(e,r){ne();function t(s,a,n,u){if(s.getValue().type===\"root\"&&u.filepath&&/(?:[/\\\\]|^)\\.(?:prettier|stylelint|lintstaged)rc$/.test(u.filepath))return n(u.originalText,Object.assign(Object.assign({},u),{},{parser:\"json\"}))}r.exports=t;}}),$t=te({\"src/language-yaml/utils.js\"(e,r){ne();var{getLast:t,isNonEmptyArray:s}=Ue();function a(D,T){let m=0,C=D.stack.length-1;for(let o=0;ou(C,T,D))}):D,m)}function i(D,T,m){Object.defineProperty(D,T,{get:m,enumerable:!1});}function l(D,T){let m=0,C=T.length;for(let o=D.position.end.offset-1;od===0&&d===v.length-1?o:d!==0&&d!==v.length-1?o.trim():d===0?o.trimEnd():o.trimStart());return m.proseWrap===\"preserve\"?C.map(o=>o.length===0?[]:[o]):C.map(o=>o.length===0?[]:x(o)).reduce((o,d,v)=>v!==0&&C[v-1].length>0&&d.length>0&&!(D===\"quoteDouble\"&&t(t(o)).endsWith(\"\\\\\"))?[...o.slice(0,-1),[...t(o),...d]]:[...o,d],[]).map(o=>m.proseWrap===\"never\"?[o.join(\" \")]:o)}function P(D,T){let{parentIndent:m,isLastDescendant:C,options:o}=T,d=D.position.start.line===D.position.end.line?\"\":o.originalText.slice(D.position.start.offset,D.position.end.offset).match(/^[^\\n]*\\n(.*)$/s)[1],v;if(D.indent===null){let B=d.match(/^(? *)[^\\n\\r ]/m);v=B?B.groups.leadingSpace.length:Number.POSITIVE_INFINITY;}else v=D.indent-1+m;let S=d.split(`\n`).map(B=>B.slice(v));if(o.proseWrap===\"preserve\"||D.type===\"blockLiteral\")return b(S.map(B=>B.length===0?[]:[B]));return b(S.map(B=>B.length===0?[]:x(B)).reduce((B,k,M)=>M!==0&&S[M-1].length>0&&k.length>0&&!/^\\s/.test(k[0])&&!/^\\s|\\s$/.test(t(B))?[...B.slice(0,-1),[...t(B),...k]]:[...B,k],[]).map(B=>B.reduce((k,M)=>k.length>0&&/\\s$/.test(t(k))?[...k.slice(0,-1),t(k)+\" \"+M]:[...k,M],[])).map(B=>o.proseWrap===\"never\"?[B.join(\" \")]:B));function b(B){if(D.chomping===\"keep\")return t(B).length===0?B.slice(0,-1):B;let k=0;for(let M=B.length-1;M>=0&&B[M].length===0;M--)k++;return k===0?B:k>=2&&!C?B.slice(0,-(k-1)):B.slice(0,-k)}}function $(D){if(!D)return !0;switch(D.type){case\"plain\":case\"quoteDouble\":case\"quoteSingle\":case\"alias\":case\"flowMapping\":case\"flowSequence\":return !0;default:return !1}}r.exports={getLast:t,getAncestorCount:a,isNode:n,isEmptyNode:c,isInlineNode:$,mapNode:u,defineShortcut:i,isNextLineEmpty:l,isLastDescendantNode:p,getBlockValueLineContents:P,getFlowScalarLineContents:I,getLastDescendantNode:y,hasPrettierIgnore:g,hasLeadingComments:F,hasMiddleComments:_,hasIndicatorComment:w,hasTrailingComment:E,hasEndComments:N};}}),Mg=te({\"src/language-yaml/print-preprocess.js\"(e,r){ne();var{defineShortcut:t,mapNode:s}=$t();function a(u){return s(u,n)}function n(u){switch(u.type){case\"document\":t(u,\"head\",()=>u.children[0]),t(u,\"body\",()=>u.children[1]);break;case\"documentBody\":case\"sequenceItem\":case\"flowSequenceItem\":case\"mappingKey\":case\"mappingValue\":t(u,\"content\",()=>u.children[0]);break;case\"mappingItem\":case\"flowMappingItem\":t(u,\"key\",()=>u.children[0]),t(u,\"value\",()=>u.children[1]);break}return u}r.exports=a;}}),Mr=te({\"src/language-yaml/print/misc.js\"(e,r){ne();var{builders:{softline:t,align:s}}=qe(),{hasEndComments:a,isNextLineEmpty:n,isNode:u}=$t(),i=new WeakMap;function l(h,g){let c=h.getValue(),f=h.stack[0],F;return i.has(f)?F=i.get(f):(F=new Set,i.set(f,F)),!F.has(c.position.end.line)&&(F.add(c.position.end.line),n(c,g)&&!p(h.getParentNode()))?t:\"\"}function p(h){return a(h)&&!u(h,[\"documentHead\",\"documentBody\",\"flowMapping\",\"flowSequence\"])}function y(h,g){return s(\" \".repeat(h),g)}r.exports={alignWithSpaces:y,shouldPrintEndComments:p,printNextEmptyLine:l};}}),Rg=te({\"src/language-yaml/print/flow-mapping-sequence.js\"(e,r){ne();var{builders:{ifBreak:t,line:s,softline:a,hardline:n,join:u}}=qe(),{isEmptyNode:i,getLast:l,hasEndComments:p}=$t(),{printNextEmptyLine:y,alignWithSpaces:h}=Mr();function g(f,F,_){let w=f.getValue(),E=w.type===\"flowMapping\",N=E?\"{\":\"[\",x=E?\"}\":\"]\",I=a;E&&w.children.length>0&&_.bracketSpacing&&(I=s);let P=l(w.children),$=P&&P.type===\"flowMappingItem\"&&i(P.key)&&i(P.value);return [N,h(_.tabWidth,[I,c(f,F,_),_.trailingComma===\"none\"?\"\":t(\",\"),p(w)?[n,u(n,f.map(F,\"endComments\"))]:\"\"]),$?\"\":I,x]}function c(f,F,_){let w=f.getValue();return f.map((N,x)=>[F(),x===w.children.length-1?\"\":[\",\",s,w.children[x].position.start.line!==w.children[x+1].position.start.line?y(N,_.originalText):\"\"]],\"children\")}r.exports={printFlowMapping:g,printFlowSequence:g};}}),$g=te({\"src/language-yaml/print/mapping-item.js\"(e,r){ne();var{builders:{conditionalGroup:t,group:s,hardline:a,ifBreak:n,join:u,line:i}}=qe(),{hasLeadingComments:l,hasMiddleComments:p,hasTrailingComment:y,hasEndComments:h,isNode:g,isEmptyNode:c,isInlineNode:f}=$t(),{alignWithSpaces:F}=Mr();function _(x,I,P,$,D){let{key:T,value:m}=x,C=c(T),o=c(m);if(C&&o)return \": \";let d=$(\"key\"),v=E(x)?\" \":\"\";if(o)return x.type===\"flowMappingItem\"&&I.type===\"flowMapping\"?d:x.type===\"mappingItem\"&&w(T.content,D)&&!y(T.content)&&(!I.tag||I.tag.value!==\"tag:yaml.org,2002:set\")?[d,v,\":\"]:[\"? \",F(2,d)];let S=$(\"value\");if(C)return [\": \",F(2,S)];if(l(m)||!f(T.content))return [\"? \",F(2,d),a,u(\"\",P.map($,\"value\",\"leadingComments\").map(q=>[q,a])),\": \",F(2,S)];if(N(T.content)&&!l(T.content)&&!p(T.content)&&!y(T.content)&&!h(T)&&!l(m.content)&&!p(m.content)&&!h(m)&&w(m.content,D))return [d,v,\": \",S];let b=Symbol(\"mappingKey\"),B=s([n(\"? \"),s(F(2,d),{id:b})]),k=[a,\": \",F(2,S)],M=[v,\":\"];l(m.content)||h(m)&&m.content&&!g(m.content,[\"mapping\",\"sequence\"])||I.type===\"mapping\"&&y(T.content)&&f(m.content)||g(m.content,[\"mapping\",\"sequence\"])&&m.content.tag===null&&m.content.anchor===null?M.push(a):m.content&&M.push(i),M.push(S);let R=F(D.tabWidth,M);return w(T.content,D)&&!l(T.content)&&!p(T.content)&&!h(T)?t([[d,R]]):t([[B,n(k,R,{groupId:b})]])}function w(x,I){if(!x)return !0;switch(x.type){case\"plain\":case\"quoteSingle\":case\"quoteDouble\":break;case\"alias\":return !0;default:return !1}if(I.proseWrap===\"preserve\")return x.position.start.line===x.position.end.line;if(/\\\\$/m.test(I.originalText.slice(x.position.start.offset,x.position.end.offset)))return !1;switch(I.proseWrap){case\"never\":return !x.value.includes(`\n`);case\"always\":return !/[\\n ]/.test(x.value);default:return !1}}function E(x){return x.key.content&&x.key.content.type===\"alias\"}function N(x){if(!x)return !0;switch(x.type){case\"plain\":case\"quoteDouble\":case\"quoteSingle\":return x.position.start.line===x.position.end.line;case\"alias\":return !0;default:return !1}}r.exports=_;}}),Vg=te({\"src/language-yaml/print/block.js\"(e,r){ne();var{builders:{dedent:t,dedentToRoot:s,fill:a,hardline:n,join:u,line:i,literalline:l,markAsRoot:p},utils:{getDocParts:y}}=qe(),{getAncestorCount:h,getBlockValueLineContents:g,hasIndicatorComment:c,isLastDescendantNode:f,isNode:F}=$t(),{alignWithSpaces:_}=Mr();function w(E,N,x){let I=E.getValue(),P=h(E,C=>F(C,[\"sequence\",\"mapping\"])),$=f(E),D=[I.type===\"blockFolded\"?\">\":\"|\"];I.indent!==null&&D.push(I.indent.toString()),I.chomping!==\"clip\"&&D.push(I.chomping===\"keep\"?\"+\":\"-\"),c(I)&&D.push(\" \",N(\"indicatorComment\"));let T=g(I,{parentIndent:P,isLastDescendant:$,options:x}),m=[];for(let[C,o]of T.entries())C===0&&m.push(n),m.push(a(y(u(i,o)))),C!==T.length-1?m.push(o.length===0?n:p(l)):I.chomping===\"keep\"&&$&&m.push(s(o.length===0?n:l));return I.indent===null?D.push(t(_(x.tabWidth,m))):D.push(s(_(I.indent-1+P,m))),D}r.exports=w;}}),Wg=te({\"src/language-yaml/printer-yaml.js\"(e,r){ne();var{builders:{breakParent:t,fill:s,group:a,hardline:n,join:u,line:i,lineSuffix:l,literalline:p},utils:{getDocParts:y,replaceTextEndOfLine:h}}=qe(),{isPreviousLineEmpty:g}=Ue(),{insertPragma:c,isPragma:f}=Og(),{locStart:F}=jg(),_=qg(),{getFlowScalarLineContents:w,getLastDescendantNode:E,hasLeadingComments:N,hasMiddleComments:x,hasTrailingComment:I,hasEndComments:P,hasPrettierIgnore:$,isLastDescendantNode:D,isNode:T,isInlineNode:m}=$t(),C=Mg(),{alignWithSpaces:o,printNextEmptyLine:d,shouldPrintEndComments:v}=Mr(),{printFlowMapping:S,printFlowSequence:b}=Rg(),B=$g(),k=Vg();function M(j,Y,ie){let ee=j.getValue(),ce=[];ee.type!==\"mappingValue\"&&N(ee)&&ce.push([u(n,j.map(ie,\"leadingComments\")),n]);let{tag:W,anchor:K}=ee;W&&ce.push(ie(\"tag\")),W&&K&&ce.push(\" \"),K&&ce.push(ie(\"anchor\"));let de=\"\";T(ee,[\"mapping\",\"sequence\",\"comment\",\"directive\",\"mappingItem\",\"sequenceItem\"])&&!D(j)&&(de=d(j,Y.originalText)),(W||K)&&(T(ee,[\"sequence\",\"mapping\"])&&!x(ee)?ce.push(n):ce.push(\" \")),x(ee)&&ce.push([ee.middleComments.length===1?\"\":n,u(n,j.map(ie,\"middleComments\")),n]);let ue=j.getParentNode();return $(j)?ce.push(h(Y.originalText.slice(ee.position.start.offset,ee.position.end.offset).trimEnd(),p)):ce.push(a(R(ee,ue,j,Y,ie))),I(ee)&&!T(ee,[\"document\",\"documentHead\"])&&ce.push(l([ee.type===\"mappingValue\"&&!ee.content?\"\":\" \",ue.type===\"mappingKey\"&&j.getParentNode(2).type===\"mapping\"&&m(ee)?\"\":t,ie(\"trailingComment\")])),v(ee)&&ce.push(o(ee.type===\"sequenceItem\"?2:0,[n,u(n,j.map(Fe=>[g(Y.originalText,Fe.getValue(),F)?n:\"\",ie()],\"endComments\"))])),ce.push(de),ce}function R(j,Y,ie,ee,ce){switch(j.type){case\"root\":{let{children:W}=j,K=[];ie.each((ue,Fe)=>{let z=W[Fe],U=W[Fe+1];Fe!==0&&K.push(n),K.push(ce()),J(z,U)?(K.push(n,\"...\"),I(z)&&K.push(\" \",ce(\"trailingComment\"))):U&&!I(U.head)&&K.push(n,\"---\");},\"children\");let de=E(j);return (!T(de,[\"blockLiteral\",\"blockFolded\"])||de.chomping!==\"keep\")&&K.push(n),K}case\"document\":{let W=Y.children[ie.getName()+1],K=[];return L(j,W,Y,ee)===\"head\"&&((j.head.children.length>0||j.head.endComments.length>0)&&K.push(ce(\"head\")),I(j.head)?K.push([\"---\",\" \",ce([\"head\",\"trailingComment\"])]):K.push(\"---\")),q(j)&&K.push(ce(\"body\")),u(n,K)}case\"documentHead\":return u(n,[...ie.map(ce,\"children\"),...ie.map(ce,\"endComments\")]);case\"documentBody\":{let{children:W,endComments:K}=j,de=\"\";if(W.length>0&&K.length>0){let ue=E(j);T(ue,[\"blockFolded\",\"blockLiteral\"])?ue.chomping!==\"keep\"&&(de=[n,n]):de=n;}return [u(n,ie.map(ce,\"children\")),de,u(n,ie.map(ce,\"endComments\"))]}case\"directive\":return [\"%\",u(\" \",[j.name,...j.parameters])];case\"comment\":return [\"#\",j.value];case\"alias\":return [\"*\",j.value];case\"tag\":return ee.originalText.slice(j.position.start.offset,j.position.end.offset);case\"anchor\":return [\"&\",j.value];case\"plain\":return Q(j.type,ee.originalText.slice(j.position.start.offset,j.position.end.offset),ee);case\"quoteDouble\":case\"quoteSingle\":{let W=\"'\",K='\"',de=ee.originalText.slice(j.position.start.offset+1,j.position.end.offset-1);if(j.type===\"quoteSingle\"&&de.includes(\"\\\\\")||j.type===\"quoteDouble\"&&/\\\\[^\"]/.test(de)){let Fe=j.type===\"quoteDouble\"?K:W;return [Fe,Q(j.type,de,ee),Fe]}if(de.includes(K))return [W,Q(j.type,j.type===\"quoteDouble\"?de.replace(/\\\\\"/g,K).replace(/'/g,W.repeat(2)):de,ee),W];if(de.includes(W))return [K,Q(j.type,j.type===\"quoteSingle\"?de.replace(/''/g,W):de,ee),K];let ue=ee.singleQuote?W:K;return [ue,Q(j.type,de,ee),ue]}case\"blockFolded\":case\"blockLiteral\":return k(ie,ce,ee);case\"mapping\":case\"sequence\":return u(n,ie.map(ce,\"children\"));case\"sequenceItem\":return [\"- \",o(2,j.content?ce(\"content\"):\"\")];case\"mappingKey\":case\"mappingValue\":return j.content?ce(\"content\"):\"\";case\"mappingItem\":case\"flowMappingItem\":return B(j,Y,ie,ce,ee);case\"flowMapping\":return S(ie,ce,ee);case\"flowSequence\":return b(ie,ce,ee);case\"flowSequenceItem\":return ce(\"content\");default:throw new Error(`Unexpected node type ${j.type}`)}}function q(j){return j.body.children.length>0||P(j.body)}function J(j,Y){return I(j)||Y&&(Y.head.children.length>0||P(Y.head))}function L(j,Y,ie,ee){return ie.children[0]===j&&/---(?:\\s|$)/.test(ee.originalText.slice(F(j),F(j)+4))||j.head.children.length>0||P(j.head)||I(j.head)?\"head\":J(j,Y)?!1:Y?\"root\":!1}function Q(j,Y,ie){let ee=w(j,Y,ie);return u(n,ee.map(ce=>s(y(u(i,ce)))))}function V(j,Y){if(T(Y))switch(delete Y.position,Y.type){case\"comment\":if(f(Y.value))return null;break;case\"quoteDouble\":case\"quoteSingle\":Y.type=\"quote\";break}}r.exports={preprocess:C,embed:_,print:M,massageAstNode:V,insertPragma:c};}}),Hg=te({\"src/language-yaml/options.js\"(e,r){ne();var t=Mt();r.exports={bracketSpacing:t.bracketSpacing,singleQuote:t.singleQuote,proseWrap:t.proseWrap};}}),Gg=te({\"src/language-yaml/parsers.js\"(){ne();}}),Ug=te({\"node_modules/linguist-languages/data/YAML.json\"(e,r){r.exports={name:\"YAML\",type:\"data\",color:\"#cb171e\",tmScope:\"source.yaml\",aliases:[\"yml\"],extensions:[\".yml\",\".mir\",\".reek\",\".rviz\",\".sublime-syntax\",\".syntax\",\".yaml\",\".yaml-tmlanguage\",\".yaml.sed\",\".yml.mysql\"],filenames:[\".clang-format\",\".clang-tidy\",\".gemrc\",\"CITATION.cff\",\"glide.lock\",\"yarn.lock\"],aceMode:\"yaml\",codemirrorMode:\"yaml\",codemirrorMimeType:\"text/x-yaml\",languageId:407};}}),Jg=te({\"src/language-yaml/index.js\"(e,r){ne();var t=_t(),s=Wg(),a=Hg(),n=Gg(),u=[t(Ug(),i=>({since:\"1.14.0\",parsers:[\"yaml\"],vscodeLanguageIds:[\"yaml\",\"ansible\",\"home-assistant\"],filenames:[...i.filenames.filter(l=>l!==\"yarn.lock\"),\".prettierrc\",\".stylelintrc\",\".lintstagedrc\"]}))];r.exports={languages:u,printers:{yaml:s},options:a,parsers:n};}}),zg=te({\"src/languages.js\"(e,r){ne(),r.exports=[Bd(),Ud(),eg(),ag(),dg(),Lg(),Jg()];}});ne();var{version:Xg}=Ia(),Ot=Gm(),{getSupportInfo:Kg}=Xn(),Yg=Um(),Qg=zg(),Zg=qe();function Nt(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return function(){for(var t=arguments.length,s=new Array(t),a=0;atype===!1?source:type===\"dedent\"||type===!0?dedent(source):import_standalone.default.format(source,{parser:type,plugins:[import_parser_html.default],htmlWhitespaceSensitivity:\"ignore\"}).trim());\n\nexport { formatter };\n"],"names":["require_parser_html","__commonJS","exports","module","e","i","S","r","ee","cc","Kr","Ne","se","hc","Jr","ae","pc","Zr","qs","Oe","fc","eu","Is","De","dc","ru","Rs","qe","su","nu","uu","tu","xs","u","Ie","Cc","iu","re","mc","Du","au","ou","er","Ps","me","gc","cu","lu","ks","Ls","pu","Fc","hu","$s","Ms","js","rr","Us","Re","Ac","fu","ur","vc","du","Gs","Vs","xe","_c","Eu","Xs","Hs","nr","Sc","Cu","tr","zs","Y","yc","gu","mu","Ws","le","Tc","vu","Fu","Au","Ys","ge","Bc","_u","sr","Qs","Ks","ir","bc","Su","Js","Tu","wc","yu","Zs","Iu","Nc","qu","Ou","ar","Bu","bu","wu","Nu","ue","Pe","or","Oc","xu","Ru","ei","Dr","qc","Pu","ri","lr","Ic","ku","ui","ti","ni","si","ii","ke","Rc","Lu","ai","Fe","xc","$u","oi","Di","li","Le","Pc","Mu","ci","hi","Uu","kc","ju","cr","hr","pr","pi","n","Vu","Lc","Gu","$e","$c","Hu","Xu","fi","Me","Mc","Wu","di","Ei","zu","Ci","fr","jc","Qu","mi","Yu","dr","Uc","Ku","gi","Fi","oe","Gc","Ju","Ai","vi","_i","Er","Vc","Zu","Si","yi","Ti","Bi","he","Xc","nt","bi","wi","et","Ni","rt","tt","fe","ce","ut","Oi","ot","Hc","at","qi","st","it","Ii","Ri","xi","Pi","ki","je","zc","Dt","Li","$i","ht","Wc","ct","Mi","lt","Cr","ji","mr","Yc","pt","Ui","Gi","Vi","gr","dt","Xi","Hi","zi","Wi","Yi","Qi","Ki","Ji","ft","Ct","Kc","Et","Zi","ea","de","Jc","mt","ra","ua","ta","Ae","Ft","na","sa","ia","Ue","gt","aa","Fr","oa","Ar","vr","_r","D","Sr","e2","At","Da","la","ca","St","r2","_t","yr","ha","vt","pa","Tr","fa","da","br","u2","yt","Ea","Ca","Br","ma","bt","t2","Bt","ga","Fa","Tt","Ot","n2","Nt","Aa","va","wt","wr","s2","qt","Pt","i2","xt","_a","Rt","Sa","ya","Nr","Or","Ta","Ba","It","qr","ba","Ge","ve","Ve","wa","Na","te","pe","$t","a2","Lt","Oa","qa","Xe","Ir","Ia","Ra","kt","xa","Pa","He","ka","La","$a","jt","o2","Mt","Ma","ja","Ua","Ga","s","Gt","D2","Ut","Va","Xa","Rr","l2","Vt","Ha","Ht","c2","Xt","za","Wa","Ya","Wt","h2","zt","Qa","Ka","_e","p2","Yt","Ja","Jt","f2","Kt","Za","eo","ro","Qt","f","rn","d2","en","uo","xr","to","no","so","Zt","tn","E2","un","sn","nn","io","ao","oo","on","an","ln","g2","Dn","Do","lo","co","ho","po","fo","pn","F2","hn","cn","Eo","Co","mo","dn","A2","fn","go","Fo","Ao","Se","_o","vo","yo","So","ze","v2","En","Pr","To","Bo","bo","wo","No","Oo","c","F","a","Cn","qo","kr","mn","Lr","B2","gn","Io","An","b2","Fn","Ro","xo","_n","w2","vn","Po","ko","$r","N2","yn","Sn","Lo","$o","Mo","bn","O2","Bn","jo","Uo","Go","Vo","Tn","l","h","On","q2","Nn","Xo","Ho","wn","Mr","I2","qn","zo","Wo","We","Yo","Qo","Ko","Jo","Zo","Ln","R2","kn","eD","rD","In","uD","tD","nD","Rn","sD","xn","jr","iD","aD","ye","Pn","Un","x2","jn","$n","oD","DD","lD","cD","Mn","Vn","P2","Gn","hD","Xn","pD","fD","dD","ED","CD","mD","Ur","$2","Hn","Wn","M2","zn","gD","FD","AD","vD","Gr","j2","Qn","_D","Yn","SD","yD","TD","BD","Jn","U2","Kn","bD","wD","ND","OD","qD","ID","rs","G2","es","RD","Zn","xD","is","V2","ss","PD","kD","LD","$D","MD","jD","us","UD","GD","ts","VD","Ye","ns","C","d","m","T","g","w","os","X2","as","XD","HD","zD","Ds","WD","YD","QD","Dc","W2","Os","KD","JD","ZD","el","Je","rl","Xr","ul","tl","Ee","I","ps","fs","nl","ds","Te","q","Es","sl","il","o","E","p","A","_","N","P","R","j","O","x","k","$","t","al","M","z","V","X","H","Q","K","J","v","y","B","b","L","U","G","W","ne","be","we","Wr","Z","ie","Ce","Yr","Qr","Be","ol","Cs","Dl","ms","ll","cl","gs","Fs","hl","pl","fl","dl","Hr","El","Cl","ml","gl","Fl","Al","vl","_l","Sl","yl","Tl","Bl","bl","wl","Nl","As","Ol","vs","ql","Il","zr","_s","Ss","ys","Rl","xl","Pl","Ts","kl","Ll","$l","Ml","jl","Ul","Gl","Vl","Xl","Ze","Bs","Hl","bs","zl","Wl","Yl","ls","Ql","ws","Qe","cs","Kl","Jl","Zl","ec","rc","uc","Vr","hs","tc","nc","sc","ic","ac","oc","Ns","Ke","require_standalone","r0","n0","u0","s0","i0","o0","l0","c0","p0","f0","D0","m0","d0","g0","y0","h0","v0","C0","E0","F0","A0","S0","x0","b0","T0","B0","N0","w0","_0","P0","I0","k0","L0","O0","j0","q0","M0","R0","V0","W0","lc","G0","U0","Ec","J0","z0","X0","K0","Y0","Q0","Z0","ey","Qc","ty","Zc","ry","ep","tp","rp","ny","np","up","uy","sp","sy","ip","ap","op","iy","lp","cp","pp","fp","ay","Dp","mp","dp","cy","gp","yp","hp","vp","Cp","Ep","py","Fp","Ap","Sp","fy","xp","bp","Tp","Np","Bp","_p","wp","Dy","Pp","Ip","kp","Lp","Op","jp","my","qp","dy","Mp","Rp","gy","$p","Vp","yy","Wp","Hp","Gp","hy","Up","Jp","zp","Xp","vy","Kp","Yp","Cy","Qp","Zp","ef","tf","rf","nf","uf","Ey","sf","af","of","lf","cf","pf","ff","Df","Fy","mf","df","gf","yf","Ay","hf","vf","Cf","Ef","Ff","Af","Sf","by","Ty","xf","bf","Tf","Bf","By","Nf","wf","_f","Pf","If","Ny","kf","Lf","Of","jf","qf","Mf","wy","Rf","$f","_y","Vf","Wf","Hf","Gf","Uf","Jf","zf","Xf","Kf","Py","Yf","Qf","Zf","Ly","Oy","e0","Uy","fm","pm","Dm","sm","ym","hm","am","rm","om","em","im","gm","dm","mm","um","nm","tm","lm","cm","vm","Cm","Em","Fm","Am","Sm","xm","bm","Tm","Bm","Nm","wm","_m","Pm","Im","km","Lm","Om","jm","qm","Mm","Rm","$m","Vm","Wm","Hm","Gm","Um","Jm","zm","Xm","Km","Ym","Qm","Zm","ed","td","rd","nd","ud","sd","id","ad","od","ld","cd","pd","fd","Dd","md","dd","gd","yd","hd","vd","Cd","Ed","Fd","Ad","Sd","xd","bd","Td","Bd","Nd","wd","_d","Pd","Id","kd","Ld","Od","jd","qd","Md","Rd","$d","Vd","Wd","Hd","Gd","Ud","Jd","zd","Xd","Kd","Yd","Qd","Zd","eg","tg","rg","ng","ug","sg","ig","ag","og","lg","cg","pg","fg","Dg","mg","dg","gg","yg","hg","vg","Cg","Eg","Fg","Ag","Sg","xg","bg","Tg","Bg","Ng","wg","_g","Pg","Ig","kg","Lg","Og","jg","qg","Mg","Rg","$g","Vg","Wg","Hg","Gg","Ug","Jg","zg","Xg","Kg","Yg","Qg","Zg","import_parser_html","__toESM","import_standalone","dedent","templ","values","strings","indentLengths","arr","str","matches","match","_b","pattern_1","string","value","endentations","endentation","indentedValue","formatter","memoize","type","source"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/assets/gov-c45a503f.svg b/assets/gov-c45a503f.svg new file mode 100644 index 00000000..3f572a9b --- /dev/null +++ b/assets/gov-c45a503f.svg @@ -0,0 +1 @@ + diff --git a/assets/iframe-608d8974.js b/assets/iframe-608d8974.js new file mode 100644 index 00000000..fecc2fdf --- /dev/null +++ b/assets/iframe-608d8974.js @@ -0,0 +1,2 @@ +import"../sb-preview/runtime.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))n(e);new MutationObserver(e=>{for(const o of e)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function m(e){const o={};return e.integrity&&(o.integrity=e.integrity),e.referrerPolicy&&(o.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?o.credentials="include":e.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(e){if(e.ep)return;e.ep=!0;const o=m(e);fetch(e.href,o)}})();const p="modulepreload",O=function(_,s){return new URL(_,s).href},c={},t=function(s,m,n){if(!m||m.length===0)return s();const e=document.getElementsByTagName("link");return Promise.all(m.map(o=>{if(o=O(o,n),o in c)return;c[o]=!0;const r=o.endsWith(".css"),E=r?'[rel="stylesheet"]':"";if(!!n)for(let d=e.length-1;d>=0;d--){const a=e[d];if(a.href===o&&(!r||a.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${E}`))return;const i=document.createElement("link");if(i.rel=r?"stylesheet":p,r||(i.as="script",i.crossOrigin=""),i.href=o,document.head.appendChild(i),r)return new Promise((d,a)=>{i.addEventListener("load",d),i.addEventListener("error",()=>a(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>s()).catch(o=>{const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=o,window.dispatchEvent(r),!r.defaultPrevented)throw o})},{createChannel:y}=__STORYBOOK_MODULE_CHANNEL_POSTMESSAGE__,{createChannel:R}=__STORYBOOK_MODULE_CHANNEL_WEBSOCKET__,{addons:u}=__STORYBOOK_MODULE_PREVIEW_API__,l=y({page:"preview"});u.setChannel(l);window.__STORYBOOK_ADDONS_CHANNEL__=l;if(window.CONFIG_TYPE==="DEVELOPMENT"){const _=R({});u.setServerChannel(_),window.__STORYBOOK_SERVER_CHANNEL__=_}const T={"./docs/Api.mdx":async()=>t(()=>import("./Api-af41c602.js"),["./Api-af41c602.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./client-180092d5.js","./RadialMenu-49c75318.css","./index-bda0bad7.js"],import.meta.url),"./docs/Basics.mdx":async()=>t(()=>import("./Basics-d783c91e.js"),["./Basics-d783c91e.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js","./index-bda0bad7.js"],import.meta.url),"./docs/Collapse.mdx":async()=>t(()=>import("./Collapse-eebda050.js"),["./Collapse-eebda050.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./client-180092d5.js","./RadialMenu-49c75318.css","./index-bda0bad7.js"],import.meta.url),"./docs/ContextMenu.mdx":async()=>t(()=>import("./ContextMenu-b06b8939.js"),["./ContextMenu-b06b8939.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js","./index-bda0bad7.js"],import.meta.url),"./docs/CustomNodes.mdx":async()=>t(()=>import("./CustomNodes-a77003aa.js"),["./CustomNodes-a77003aa.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./client-180092d5.js","./RadialMenu-49c75318.css","./index-bda0bad7.js"],import.meta.url),"./docs/DataShapes.mdx":async()=>t(()=>import("./DataShapes-0a4253ca.js"),["./DataShapes-0a4253ca.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js","./index-bda0bad7.js"],import.meta.url),"./docs/FAQ.mdx":async()=>t(()=>import("./FAQ-37efd196.js"),["./FAQ-37efd196.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js","./index-bda0bad7.js"],import.meta.url),"./docs/Hotkeys.mdx":async()=>t(()=>import("./Hotkeys-7c02e605.js"),["./Hotkeys-7c02e605.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js","./index-bda0bad7.js"],import.meta.url),"./docs/Installing.mdx":async()=>t(()=>import("./Installing-f43d0dea.js"),["./Installing-f43d0dea.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js","./index-bda0bad7.js"],import.meta.url),"./docs/Intro.mdx":async()=>t(()=>import("./Intro-f75e7fff.js"),["./Intro-f75e7fff.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js","./index-bda0bad7.js"],import.meta.url),"./docs/Layouts.mdx":async()=>t(()=>import("./Layouts-561dba63.js"),["./Layouts-561dba63.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js","./index-bda0bad7.js"],import.meta.url),"./docs/Selection.mdx":async()=>t(()=>import("./Selection-0aa0ed63.js"),["./Selection-0aa0ed63.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js","./index-bda0bad7.js"],import.meta.url),"./docs/Theme.mdx":async()=>t(()=>import("./Theme-fd9608b1.js"),["./Theme-fd9608b1.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js","./index-bda0bad7.js"],import.meta.url),"./docs/demos/Basic.story.tsx":async()=>t(()=>import("./Basic.story-1140d1ef.js"),["./Basic.story-1140d1ef.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/ClickHighlightTypes.story.tsx":async()=>t(()=>import("./ClickHighlightTypes.story-51cb544f.js"),["./ClickHighlightTypes.story-51cb544f.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./useSelection-7210d826.js","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/Cluster.story.tsx":async()=>t(()=>import("./Cluster.story-c7347a6a.js"),["./Cluster.story-c7347a6a.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/Collapsible.story.tsx":async()=>t(()=>import("./Collapsible.story-a3d4744a.js"),["./Collapsible.story-a3d4744a.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/ContextMenu.story.tsx":async()=>t(()=>import("./ContextMenu.story-be40536e.js"),["./ContextMenu.story-be40536e.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/Controls.story.tsx":async()=>t(()=>import("./Controls.story-b5a13b81.js"),["./Controls.story-b5a13b81.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/EdgeArrows.story.tsx":async()=>t(()=>import("./EdgeArrows.story-ae1e82a5.js"),["./EdgeArrows.story-ae1e82a5.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/EdgeCurved.story.tsx":async()=>t(()=>import("./EdgeCurved.story-1ca0aca1.js"),["./EdgeCurved.story-1ca0aca1.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/EdgeLabels.story.tsx":async()=>t(()=>import("./EdgeLabels.story-558f53bb.js"),["./EdgeLabels.story-558f53bb.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css"],import.meta.url),"./docs/demos/Edges.story.tsx":async()=>t(()=>import("./Edges.story-a41093c5.js"),["./Edges.story-a41093c5.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/HoverHighlightTypes.story.tsx":async()=>t(()=>import("./HoverHighlightTypes.story-abfe7873.js"),["./HoverHighlightTypes.story-abfe7873.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./useSelection-7210d826.js","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/Labels.story.tsx":async()=>t(()=>import("./Labels.story-d82112cd.js"),["./Labels.story-d82112cd.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/Lasso.story.tsx":async()=>t(()=>import("./Lasso.story-afb75428.js"),["./Lasso.story-afb75428.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./useSelection-7210d826.js","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/Layouts.story.tsx":async()=>t(()=>import("./Layouts.story-6744064e.js"),["./Layouts.story-6744064e.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/MultiSelection.story.tsx":async()=>t(()=>import("./MultiSelection.story-d7499c58.js"),["./MultiSelection.story-d7499c58.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./useSelection-7210d826.js","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/Nodes.story.tsx":async()=>t(()=>import("./Nodes.story-33162d6e.js"),["./Nodes.story-33162d6e.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/RadialMenu.story.tsx":async()=>t(()=>import("./RadialMenu.story-d0fc7fe7.js"),["./RadialMenu.story-d0fc7fe7.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/SingleSelection.story.tsx":async()=>t(()=>import("./SingleSelection.story-c8affa03.js"),["./SingleSelection.story-c8affa03.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./useSelection-7210d826.js","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/Sizing.story.tsx":async()=>t(()=>import("./Sizing.story-b46d69ef.js"),["./Sizing.story-b46d69ef.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/Themes.story.tsx":async()=>t(()=>import("./Themes.story-2072d163.js"),["./Themes.story-2072d163.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./darkTheme-dccd44a3.js","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/ThreeLayouts.story.tsx":async()=>t(()=>import("./ThreeLayouts.story-a39b314e.js"),["./ThreeLayouts.story-a39b314e.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/TwoLayouts.story.tsx":async()=>t(()=>import("./TwoLayouts.story-ffc575e1.js"),["./TwoLayouts.story-ffc575e1.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./demo-848d9cd1.js"],import.meta.url),"./docs/demos/UseCases.story.tsx":async()=>t(()=>import("./UseCases.story-69b2e666.js"),["./UseCases.story-69b2e666.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./RadialMenu-93524eec.js","./index-6279214a.esm-cc44dd6d.js","./extends-98964cd2.js","./client-180092d5.js","./index-9c09ad76.js","./RadialMenu-49c75318.css","./useSelection-7210d826.js","./darkTheme-dccd44a3.js"],import.meta.url)};async function L(_){return T[_]()}const{composeConfigs:P,PreviewWeb:v,ClientApi:I}=__STORYBOOK_MODULE_PREVIEW_API__,A=async()=>{const _=await Promise.all([t(()=>import("./config-4826b8d2.js"),["./config-4826b8d2.js","./index-d475d2ea.js","./index-ebeaab24.js","./react-18-c518c876.js","./client-180092d5.js","./index-9c09ad76.js","./index-84cea9da.js","./index-356e4a49.js"],import.meta.url),t(()=>import("./preview-eee9d1e5.js"),[],import.meta.url),t(()=>import("./preview-a60aa466.js"),[],import.meta.url),t(()=>import("./preview-770cc08b.js"),["./preview-770cc08b.js","./index-d475d2ea.js","./index-356e4a49.js"],import.meta.url),t(()=>import("./preview-2cd4e1a1.js"),["./preview-2cd4e1a1.js","./index-d475d2ea.js"],import.meta.url),t(()=>import("./preview-d8c963a4.js"),["./preview-d8c963a4.js","./index-d475d2ea.js","./index-356e4a49.js"],import.meta.url),t(()=>import("./preview-b1164a2e.js"),["./preview-b1164a2e.js","./index-d475d2ea.js"],import.meta.url),t(()=>import("./preview-b0f743f9.js"),["./preview-b0f743f9.js","./jsx-runtime-5926aa06.js","./index-ebeaab24.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-6279214a.esm-cc44dd6d.js"],import.meta.url)]);return P(_)};window.__STORYBOOK_PREVIEW__=window.__STORYBOOK_PREVIEW__||new v;window.__STORYBOOK_STORY_STORE__=window.__STORYBOOK_STORY_STORE__||window.__STORYBOOK_PREVIEW__.storyStore;window.__STORYBOOK_CLIENT_API__=window.__STORYBOOK_CLIENT_API__||new I({storyStore:window.__STORYBOOK_PREVIEW__.storyStore});window.__STORYBOOK_PREVIEW__.initialize({importFn:L,getProjectAnnotations:A});export{t as _}; +//# sourceMappingURL=iframe-608d8974.js.map diff --git a/assets/iframe-608d8974.js.map b/assets/iframe-608d8974.js.map new file mode 100644 index 00000000..fa86f0e0 --- /dev/null +++ b/assets/iframe-608d8974.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"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","names":["createPostMessageChannel","createWebSocketChannel","addons","channel","serverChannel","importers","__vitePreload","importFn","path","composeConfigs","PreviewWeb","ClientApi","getProjectAnnotations","configs"],"sources":["../../../../../../../virtual:/@storybook/builder-vite/setup-addons.js","../../../../../../../virtual:/@storybook/builder-vite/storybook-stories.js","../../../../../../../virtual:/@storybook/builder-vite/vite-app.js"],"sourcesContent":["import { createChannel as createPostMessageChannel } from '@storybook/channel-postmessage';\n import { createChannel as createWebSocketChannel } from '@storybook/channel-websocket';\n import { addons } from '@storybook/preview-api';\n\n const channel = createPostMessageChannel({ page: 'preview' });\n addons.setChannel(channel);\n window.__STORYBOOK_ADDONS_CHANNEL__ = channel;\n \n if (window.CONFIG_TYPE === 'DEVELOPMENT'){\n const serverChannel = createWebSocketChannel({});\n addons.setServerChannel(serverChannel);\n window.__STORYBOOK_SERVER_CHANNEL__ = serverChannel;\n }","const importers = {\n './docs/Api.mdx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/Api.mdx'),\n './docs/Basics.mdx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/Basics.mdx'),\n './docs/Collapse.mdx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/Collapse.mdx'),\n './docs/ContextMenu.mdx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/ContextMenu.mdx'),\n './docs/CustomNodes.mdx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/CustomNodes.mdx'),\n './docs/DataShapes.mdx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/DataShapes.mdx'),\n './docs/FAQ.mdx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/FAQ.mdx'),\n './docs/Hotkeys.mdx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/Hotkeys.mdx'),\n './docs/Installing.mdx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/Installing.mdx'),\n './docs/Intro.mdx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/Intro.mdx'),\n './docs/Layouts.mdx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/Layouts.mdx'),\n './docs/Selection.mdx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/Selection.mdx'),\n './docs/Theme.mdx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/Theme.mdx'),\n './docs/demos/Basic.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/Basic.story.tsx'),\n './docs/demos/ClickHighlightTypes.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/ClickHighlightTypes.story.tsx'),\n './docs/demos/Cluster.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/Cluster.story.tsx'),\n './docs/demos/Collapsible.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/Collapsible.story.tsx'),\n './docs/demos/ContextMenu.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/ContextMenu.story.tsx'),\n './docs/demos/Controls.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/Controls.story.tsx'),\n './docs/demos/EdgeArrows.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/EdgeArrows.story.tsx'),\n './docs/demos/EdgeCurved.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/EdgeCurved.story.tsx'),\n './docs/demos/EdgeLabels.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/EdgeLabels.story.tsx'),\n './docs/demos/Edges.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/Edges.story.tsx'),\n './docs/demos/HoverHighlightTypes.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/HoverHighlightTypes.story.tsx'),\n './docs/demos/Labels.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/Labels.story.tsx'),\n './docs/demos/Lasso.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/Lasso.story.tsx'),\n './docs/demos/Layouts.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/Layouts.story.tsx'),\n './docs/demos/MultiSelection.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/MultiSelection.story.tsx'),\n './docs/demos/Nodes.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/Nodes.story.tsx'),\n './docs/demos/RadialMenu.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/RadialMenu.story.tsx'),\n './docs/demos/SingleSelection.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/SingleSelection.story.tsx'),\n './docs/demos/Sizing.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/Sizing.story.tsx'),\n './docs/demos/Themes.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/Themes.story.tsx'),\n './docs/demos/ThreeLayouts.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/ThreeLayouts.story.tsx'),\n './docs/demos/TwoLayouts.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/TwoLayouts.story.tsx'),\n './docs/demos/UseCases.story.tsx': async () => import('/@fs//home/runner/work/reagraph/reagraph/docs/demos/UseCases.story.tsx')\n };\n\n export async function importFn(path) {\n return importers[path]();\n }","import { composeConfigs, PreviewWeb, ClientApi } from '@storybook/preview-api';\n import '/virtual:/@storybook/builder-vite/setup-addons.js';\n import { importFn } from '/virtual:/@storybook/builder-vite/storybook-stories.js';\n \n \n const getProjectAnnotations = async () => {\n const configs = await Promise.all([import('@storybook/react/preview'),\nimport('@storybook/addon-essentials/docs/preview'),\nimport('@storybook/addon-essentials/actions/preview'),\nimport('@storybook/addon-essentials/backgrounds/preview'),\nimport('@storybook/addon-essentials/measure/preview'),\nimport('@storybook/addon-essentials/outline/preview'),\nimport('@storybook/addon-essentials/highlight/preview'),\nimport('/.storybook/preview.tsx')])\n return composeConfigs(configs);\n }\n\n window.__STORYBOOK_PREVIEW__ = window.__STORYBOOK_PREVIEW__ || new PreviewWeb();\n \n window.__STORYBOOK_STORY_STORE__ = window.__STORYBOOK_STORY_STORE__ || window.__STORYBOOK_PREVIEW__.storyStore;\n window.__STORYBOOK_CLIENT_API__ = window.__STORYBOOK_CLIENT_API__ || new ClientApi({ storyStore: window.__STORYBOOK_PREVIEW__.storyStore });\n window.__STORYBOOK_PREVIEW__.initialize({ importFn, getProjectAnnotations });\n \n if (import.meta.hot) {\n import.meta.hot.accept('/virtual:/@storybook/builder-vite/storybook-stories.js', (newModule) => {\n // importFn has changed so we need to patch the new one in\n window.__STORYBOOK_PREVIEW__.onStoriesChanged({ importFn: newModule.importFn });\n });\n\n import.meta.hot.accept([\"@storybook/react/preview\",\"@storybook/addon-essentials/docs/preview\",\"@storybook/addon-essentials/actions/preview\",\"@storybook/addon-essentials/backgrounds/preview\",\"@storybook/addon-essentials/measure/preview\",\"@storybook/addon-essentials/outline/preview\",\"@storybook/addon-essentials/highlight/preview\",\"/.storybook/preview.tsx\"], () => {\n \n const getProjectAnnotations = async () => {\n const configs = await Promise.all([import('@storybook/react/preview'),\nimport('@storybook/addon-essentials/docs/preview'),\nimport('@storybook/addon-essentials/actions/preview'),\nimport('@storybook/addon-essentials/backgrounds/preview'),\nimport('@storybook/addon-essentials/measure/preview'),\nimport('@storybook/addon-essentials/outline/preview'),\nimport('@storybook/addon-essentials/highlight/preview'),\nimport('/.storybook/preview.tsx')])\n return composeConfigs(configs);\n }\n // getProjectAnnotations has changed so we need to patch the new one in\n window.__STORYBOOK_PREVIEW__.onGetProjectAnnotationsChanged({ getProjectAnnotations });\n });\n };"],"file":"assets/iframe-608d8974.js"} \ No newline at end of file diff --git a/assets/index-356e4a49.js b/assets/index-356e4a49.js new file mode 100644 index 00000000..6310096a --- /dev/null +++ b/assets/index-356e4a49.js @@ -0,0 +1,7 @@ +function l(o){for(var f=[],i=1;i>8&255]+cn[l>>16&255]+cn[l>>24&255]+"-"+cn[e&255]+cn[e>>8&255]+"-"+cn[e>>16&15|64]+cn[e>>24&255]+"-"+cn[t&63|128]+cn[t>>8&255]+"-"+cn[t>>16&255]+cn[t>>24&255]+cn[n&255]+cn[n>>8&255]+cn[n>>16&255]+cn[n>>24&255]).toLowerCase()}function Vt(l,e,t){return Math.max(e,Math.min(t,l))}function Ff(l,e){return(l%e+e)%e}function uy(l,e,t,n,i){return n+(l-e)*(i-n)/(t-e)}function hy(l,e,t){return l!==e?(t-l)/(e-l):0}function $o(l,e,t){return(1-t)*l+t*e}function fy(l,e,t,n){return $o(l,e,1-Math.exp(-t*n))}function dy(l,e=1){return e-Math.abs(Ff(l,e*2)-e)}function py(l,e,t){return l<=e?0:l>=t?1:(l=(l-e)/(t-e),l*l*(3-2*l))}function my(l,e,t){return l<=e?0:l>=t?1:(l=(l-e)/(t-e),l*l*l*(l*(l*6-15)+10))}function gy(l,e){return l+Math.floor(Math.random()*(e-l+1))}function vy(l,e){return l+Math.random()*(e-l)}function xy(l){return l*(.5-Math.random())}function yy(l){l!==void 0&&(qp=l);let e=qp+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function _y(l){return l*jr}function My(l){return l*ha}function pf(l){return(l&l-1)===0&&l!==0}function g0(l){return Math.pow(2,Math.ceil(Math.log(l)/Math.LN2))}function Pc(l){return Math.pow(2,Math.floor(Math.log(l)/Math.LN2))}function Sy(l,e,t,n,i){const r=Math.cos,a=Math.sin,c=r(t/2),h=a(t/2),u=r((e+n)/2),d=a((e+n)/2),p=r((e-n)/2),m=a((e-n)/2),v=r((n-e)/2),_=a((n-e)/2);switch(i){case"XYX":l.set(c*d,h*p,h*m,c*u);break;case"YZY":l.set(h*m,c*d,h*p,c*u);break;case"ZXZ":l.set(h*p,h*m,c*d,c*u);break;case"XZX":l.set(c*d,h*_,h*v,c*u);break;case"YXY":l.set(h*v,c*d,h*_,c*u);break;case"ZYZ":l.set(h*_,h*v,c*d,c*u);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function wy(l,e){switch(e.constructor){case Float32Array:return l;case Uint16Array:return l/65535;case Uint8Array:return l/255;case Int16Array:return Math.max(l/32767,-1);case Int8Array:return Math.max(l/127,-1);default:throw new Error("Invalid component type.")}}function by(l,e){switch(e.constructor){case Float32Array:return l;case Uint16Array:return Math.round(l*65535);case Uint8Array:return Math.round(l*255);case Int16Array:return Math.round(l*32767);case Int8Array:return Math.round(l*127);default:throw new Error("Invalid component type.")}}var Ty=Object.freeze({__proto__:null,DEG2RAD:jr,RAD2DEG:ha,generateUUID:zn,clamp:Vt,euclideanModulo:Ff,mapLinear:uy,inverseLerp:hy,lerp:$o,damp:fy,pingpong:dy,smoothstep:py,smootherstep:my,randInt:gy,randFloat:vy,randFloatSpread:xy,seededRandom:yy,degToRad:_y,radToDeg:My,isPowerOfTwo:pf,ceilPowerOfTwo:g0,floorPowerOfTwo:Pc,setQuaternionFromProperEuler:Sy,normalize:by,denormalize:wy});class he{constructor(e=0,t=0){he.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,n=this.y,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6],this.y=i[1]*t+i[4]*n+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),i=Math.sin(t),r=this.x-e.x,a=this.y-e.y;return this.x=r*n-a*i+e.x,this.y=r*i+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class An{constructor(){An.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1]}set(e,t,n,i,r,a,c,h,u){const d=this.elements;return d[0]=e,d[1]=i,d[2]=c,d[3]=t,d[4]=r,d[5]=h,d[6]=n,d[7]=a,d[8]=u,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,i=t.elements,r=this.elements,a=n[0],c=n[3],h=n[6],u=n[1],d=n[4],p=n[7],m=n[2],v=n[5],_=n[8],x=i[0],y=i[3],w=i[6],S=i[1],A=i[4],T=i[7],C=i[2],L=i[5],F=i[8];return r[0]=a*x+c*S+h*C,r[3]=a*y+c*A+h*L,r[6]=a*w+c*T+h*F,r[1]=u*x+d*S+p*C,r[4]=u*y+d*A+p*L,r[7]=u*w+d*T+p*F,r[2]=m*x+v*S+_*C,r[5]=m*y+v*A+_*L,r[8]=m*w+v*T+_*F,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[1],i=e[2],r=e[3],a=e[4],c=e[5],h=e[6],u=e[7],d=e[8];return t*a*d-t*c*u-n*r*d+n*c*h+i*r*u-i*a*h}invert(){const e=this.elements,t=e[0],n=e[1],i=e[2],r=e[3],a=e[4],c=e[5],h=e[6],u=e[7],d=e[8],p=d*a-c*u,m=c*h-d*r,v=u*r-a*h,_=t*p+n*m+i*v;if(_===0)return this.set(0,0,0,0,0,0,0,0,0);const x=1/_;return e[0]=p*x,e[1]=(i*u-d*n)*x,e[2]=(c*n-i*a)*x,e[3]=m*x,e[4]=(d*t-i*h)*x,e[5]=(i*r-c*t)*x,e[6]=v*x,e[7]=(n*h-u*t)*x,e[8]=(a*t-n*r)*x,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,i,r,a,c){const h=Math.cos(r),u=Math.sin(r);return this.set(n*h,n*u,-n*(h*a+u*c)+a+e,-i*u,i*h,-i*(-u*a+h*c)+c+t,0,0,1),this}scale(e,t){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=t,n[4]*=t,n[7]*=t,this}rotate(e){const t=Math.cos(e),n=Math.sin(e),i=this.elements,r=i[0],a=i[3],c=i[6],h=i[1],u=i[4],d=i[7];return i[0]=t*r+n*h,i[3]=t*a+n*u,i[6]=t*c+n*d,i[1]=-n*r+t*h,i[4]=-n*a+t*u,i[7]=-n*c+t*d,this}translate(e,t){const n=this.elements;return n[0]+=e*n[2],n[3]+=e*n[5],n[6]+=e*n[8],n[1]+=t*n[2],n[4]+=t*n[5],n[7]+=t*n[8],this}equals(e){const t=this.elements,n=e.elements;for(let i=0;i<9;i++)if(t[i]!==n[i])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}}function v0(l){for(let e=l.length-1;e>=0;--e)if(l[e]>65535)return!0;return!1}const Ay={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Js(l,e){return new Ay[l](e)}function fa(l){return document.createElementNS("http://www.w3.org/1999/xhtml",l)}function Qr(l){return l<.04045?l*.0773993808:Math.pow(l*.9478672986+.0521327014,2.4)}function Mc(l){return l<.0031308?l*12.92:1.055*Math.pow(l,.41666)-.055}const Ku={[Mi]:{[pr]:Qr},[pr]:{[Mi]:Mc}},jn={legacyMode:!0,get workingColorSpace(){return pr},set workingColorSpace(l){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(l,e,t){if(this.legacyMode||e===t||!e||!t)return l;if(Ku[e]&&Ku[e][t]!==void 0){const n=Ku[e][t];return l.r=n(l.r),l.g=n(l.g),l.b=n(l.b),l}throw new Error("Unsupported color space conversion.")},fromWorkingColorSpace:function(l,e){return this.convert(l,this.workingColorSpace,e)},toWorkingColorSpace:function(l,e){return this.convert(l,e,this.workingColorSpace)}},x0={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Jt={r:0,g:0,b:0},oi={h:0,s:0,l:0},Tl={h:0,s:0,l:0};function $u(l,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?l+(e-l)*6*t:t<1/2?e:t<2/3?l+(e-l)*6*(2/3-t):l}function Al(l,e){return e.r=l.r,e.g=l.g,e.b=l.b,e}class Ce{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,t===void 0&&n===void 0?this.set(e):this.setRGB(e,t,n)}set(e){return e&&e.isColor?this.copy(e):typeof e=="number"?this.setHex(e):typeof e=="string"&&this.setStyle(e),this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=Mi){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,jn.toWorkingColorSpace(this,t),this}setRGB(e,t,n,i=pr){return this.r=e,this.g=t,this.b=n,jn.toWorkingColorSpace(this,i),this}setHSL(e,t,n,i=pr){if(e=Ff(e,1),t=Vt(t,0,1),n=Vt(n,0,1),t===0)this.r=this.g=this.b=n;else{const r=n<=.5?n*(1+t):n+t-n*t,a=2*n-r;this.r=$u(a,r,e+1/3),this.g=$u(a,r,e),this.b=$u(a,r,e-1/3)}return jn.toWorkingColorSpace(this,i),this}setStyle(e,t=Mi){function n(r){r!==void 0&&parseFloat(r)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(e)){let r;const a=i[1],c=i[2];switch(a){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(c))return this.r=Math.min(255,parseInt(r[1],10))/255,this.g=Math.min(255,parseInt(r[2],10))/255,this.b=Math.min(255,parseInt(r[3],10))/255,jn.toWorkingColorSpace(this,t),n(r[4]),this;if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(c))return this.r=Math.min(100,parseInt(r[1],10))/100,this.g=Math.min(100,parseInt(r[2],10))/100,this.b=Math.min(100,parseInt(r[3],10))/100,jn.toWorkingColorSpace(this,t),n(r[4]),this;break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(c)){const h=parseFloat(r[1])/360,u=parseInt(r[2],10)/100,d=parseInt(r[3],10)/100;return n(r[4]),this.setHSL(h,u,d,t)}break}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const r=i[1],a=r.length;if(a===3)return this.r=parseInt(r.charAt(0)+r.charAt(0),16)/255,this.g=parseInt(r.charAt(1)+r.charAt(1),16)/255,this.b=parseInt(r.charAt(2)+r.charAt(2),16)/255,jn.toWorkingColorSpace(this,t),this;if(a===6)return this.r=parseInt(r.charAt(0)+r.charAt(1),16)/255,this.g=parseInt(r.charAt(2)+r.charAt(3),16)/255,this.b=parseInt(r.charAt(4)+r.charAt(5),16)/255,jn.toWorkingColorSpace(this,t),this}return e&&e.length>0?this.setColorName(e,t):this}setColorName(e,t=Mi){const n=x0[e.toLowerCase()];return n!==void 0?this.setHex(n,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Qr(e.r),this.g=Qr(e.g),this.b=Qr(e.b),this}copyLinearToSRGB(e){return this.r=Mc(e.r),this.g=Mc(e.g),this.b=Mc(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Mi){return jn.fromWorkingColorSpace(Al(this,Jt),e),Vt(Jt.r*255,0,255)<<16^Vt(Jt.g*255,0,255)<<8^Vt(Jt.b*255,0,255)<<0}getHexString(e=Mi){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=pr){jn.fromWorkingColorSpace(Al(this,Jt),t);const n=Jt.r,i=Jt.g,r=Jt.b,a=Math.max(n,i,r),c=Math.min(n,i,r);let h,u;const d=(c+a)/2;if(c===a)h=0,u=0;else{const p=a-c;switch(u=d<=.5?p/(a+c):p/(2-a-c),a){case n:h=(i-r)/p+(i"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{Es===void 0&&(Es=fa("canvas")),Es.width=e.width,Es.height=e.height;const n=Es.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=Es}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const t=fa("canvas");t.width=e.width,t.height=e.height;const n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);const i=n.getImageData(0,0,e.width,e.height),r=i.data;for(let a=0;a1)switch(this.wrapS){case sa:e.x=e.x-Math.floor(e.x);break;case gn:e.x=e.x<0?0:1;break;case oa:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case sa:e.y=e.y-Math.floor(e.y);break;case gn:e.y=e.y<0?0:1;break;case oa:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}}Yt.DEFAULT_IMAGE=null;Yt.DEFAULT_MAPPING=Ic;class Mt{constructor(e=0,t=0,n=0,i=1){Mt.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,i){return this.x=e,this.y=t,this.z=n,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,n=this.y,i=this.z,r=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*i+a[12]*r,this.y=a[1]*t+a[5]*n+a[9]*i+a[13]*r,this.z=a[2]*t+a[6]*n+a[10]*i+a[14]*r,this.w=a[3]*t+a[7]*n+a[11]*i+a[15]*r,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,i,r;const h=e.elements,u=h[0],d=h[4],p=h[8],m=h[1],v=h[5],_=h[9],x=h[2],y=h[6],w=h[10];if(Math.abs(d-m)<.01&&Math.abs(p-x)<.01&&Math.abs(_-y)<.01){if(Math.abs(d+m)<.1&&Math.abs(p+x)<.1&&Math.abs(_+y)<.1&&Math.abs(u+v+w-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const A=(u+1)/2,T=(v+1)/2,C=(w+1)/2,L=(d+m)/4,F=(p+x)/4,E=(_+y)/4;return A>T&&A>C?A<.01?(n=0,i=.707106781,r=.707106781):(n=Math.sqrt(A),i=L/n,r=F/n):T>C?T<.01?(n=.707106781,i=0,r=.707106781):(i=Math.sqrt(T),n=L/i,r=E/i):C<.01?(n=.707106781,i=.707106781,r=0):(r=Math.sqrt(C),n=F/r,i=E/r),this.set(n,i,r,t),this}let S=Math.sqrt((y-_)*(y-_)+(p-x)*(p-x)+(m-d)*(m-d));return Math.abs(S)<.001&&(S=1),this.x=(y-_)/S,this.y=(p-x)/S,this.z=(m-d)/S,this.w=Math.acos((u+v+w-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class ti extends Yi{constructor(e,t,n={}){super(),this.isWebGLRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new Mt(0,0,e,t),this.scissorTest=!1,this.viewport=new Mt(0,0,e,t);const i={width:e,height:t,depth:1};this.texture=new Yt(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.internalFormat=n.internalFormat!==void 0?n.internalFormat:null,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:Ut,this.depthBuffer=n.depthBuffer!==void 0?n.depthBuffer:!0,this.stencilBuffer=n.stencilBuffer!==void 0?n.stencilBuffer:!1,this.depthTexture=n.depthTexture!==void 0?n.depthTexture:null,this.samples=n.samples!==void 0?n.samples:0}setSize(e,t,n=1){(this.width!==e||this.height!==t||this.depth!==n)&&(this.width=e,this.height=t,this.depth=n,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=n,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new qr(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Sa extends Yt{constructor(e=null,t=1,n=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:n,depth:i},this.magFilter=qt,this.minFilter=qt,this.wrapR=gn,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Cy extends ti{constructor(e,t,n){super(e,t),this.isWebGLArrayRenderTarget=!0,this.depth=n,this.texture=new Sa(null,e,t,n),this.texture.isRenderTargetTexture=!0}}class zc extends Yt{constructor(e=null,t=1,n=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:n,depth:i},this.magFilter=qt,this.minFilter=qt,this.wrapR=gn,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Py extends ti{constructor(e,t,n){super(e,t),this.isWebGL3DRenderTarget=!0,this.depth=n,this.texture=new zc(null,e,t,n),this.texture.isRenderTargetTexture=!0}}class Ly extends ti{constructor(e,t,n,i={}){super(e,t,i),this.isWebGLMultipleRenderTargets=!0;const r=this.texture;this.texture=[];for(let a=0;a=0?1:-1,A=1-w*w;if(A>Number.EPSILON){const C=Math.sqrt(A),L=Math.atan2(C,w*S);y=Math.sin(y*L)/C,c=Math.sin(c*L)/C}const T=c*S;if(h=h*y+m*T,u=u*y+v*T,d=d*y+_*T,p=p*y+x*T,y===1-c){const C=1/Math.sqrt(h*h+u*u+d*d+p*p);h*=C,u*=C,d*=C,p*=C}}e[t]=h,e[t+1]=u,e[t+2]=d,e[t+3]=p}static multiplyQuaternionsFlat(e,t,n,i,r,a){const c=n[i],h=n[i+1],u=n[i+2],d=n[i+3],p=r[a],m=r[a+1],v=r[a+2],_=r[a+3];return e[t]=c*_+d*p+h*v-u*m,e[t+1]=h*_+d*m+u*p-c*v,e[t+2]=u*_+d*v+c*m-h*p,e[t+3]=d*_-c*p-h*m-u*v,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,i){return this._x=e,this._y=t,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t){if(!(e&&e.isEuler))throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");const n=e._x,i=e._y,r=e._z,a=e._order,c=Math.cos,h=Math.sin,u=c(n/2),d=c(i/2),p=c(r/2),m=h(n/2),v=h(i/2),_=h(r/2);switch(a){case"XYZ":this._x=m*d*p+u*v*_,this._y=u*v*p-m*d*_,this._z=u*d*_+m*v*p,this._w=u*d*p-m*v*_;break;case"YXZ":this._x=m*d*p+u*v*_,this._y=u*v*p-m*d*_,this._z=u*d*_-m*v*p,this._w=u*d*p+m*v*_;break;case"ZXY":this._x=m*d*p-u*v*_,this._y=u*v*p+m*d*_,this._z=u*d*_+m*v*p,this._w=u*d*p-m*v*_;break;case"ZYX":this._x=m*d*p-u*v*_,this._y=u*v*p+m*d*_,this._z=u*d*_-m*v*p,this._w=u*d*p+m*v*_;break;case"YZX":this._x=m*d*p+u*v*_,this._y=u*v*p+m*d*_,this._z=u*d*_-m*v*p,this._w=u*d*p-m*v*_;break;case"XZY":this._x=m*d*p-u*v*_,this._y=u*v*p-m*d*_,this._z=u*d*_+m*v*p,this._w=u*d*p+m*v*_;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return t!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,i=Math.sin(n);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],i=t[4],r=t[8],a=t[1],c=t[5],h=t[9],u=t[2],d=t[6],p=t[10],m=n+c+p;if(m>0){const v=.5/Math.sqrt(m+1);this._w=.25/v,this._x=(d-h)*v,this._y=(r-u)*v,this._z=(a-i)*v}else if(n>c&&n>p){const v=2*Math.sqrt(1+n-c-p);this._w=(d-h)/v,this._x=.25*v,this._y=(i+a)/v,this._z=(r+u)/v}else if(c>p){const v=2*Math.sqrt(1+c-n-p);this._w=(r-u)/v,this._x=(i+a)/v,this._y=.25*v,this._z=(h+d)/v}else{const v=2*Math.sqrt(1+p-n-c);this._w=(a-i)/v,this._x=(r+u)/v,this._y=(h+d)/v,this._z=.25*v}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return nMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Vt(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(n===0)return this;const i=Math.min(1,t/n);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const n=e._x,i=e._y,r=e._z,a=e._w,c=t._x,h=t._y,u=t._z,d=t._w;return this._x=n*d+a*c+i*u-r*h,this._y=i*d+a*h+r*c-n*u,this._z=r*d+a*u+n*h-i*c,this._w=a*d-n*c-i*h-r*u,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const n=this._x,i=this._y,r=this._z,a=this._w;let c=a*e._w+n*e._x+i*e._y+r*e._z;if(c<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,c=-c):this.copy(e),c>=1)return this._w=a,this._x=n,this._y=i,this._z=r,this;const h=1-c*c;if(h<=Number.EPSILON){const v=1-t;return this._w=v*a+t*this._w,this._x=v*n+t*this._x,this._y=v*i+t*this._y,this._z=v*r+t*this._z,this.normalize(),this._onChangeCallback(),this}const u=Math.sqrt(h),d=Math.atan2(u,c),p=Math.sin((1-t)*d)/u,m=Math.sin(t*d)/u;return this._w=a*p+this._w*m,this._x=n*p+this._x*m,this._y=i*p+this._y*m,this._z=r*p+this._z*m,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=Math.random(),t=Math.sqrt(1-e),n=Math.sqrt(e),i=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(t*Math.cos(i),n*Math.sin(r),n*Math.cos(r),t*Math.sin(i))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class I{constructor(e=0,t=0,n=0){I.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(Yp.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Yp.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,i=this.z,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6]*i,this.y=r[1]*t+r[4]*n+r[7]*i,this.z=r[2]*t+r[5]*n+r[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,i=this.z,r=e.elements,a=1/(r[3]*t+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*t+r[4]*n+r[8]*i+r[12])*a,this.y=(r[1]*t+r[5]*n+r[9]*i+r[13])*a,this.z=(r[2]*t+r[6]*n+r[10]*i+r[14])*a,this}applyQuaternion(e){const t=this.x,n=this.y,i=this.z,r=e.x,a=e.y,c=e.z,h=e.w,u=h*t+a*i-c*n,d=h*n+c*t-r*i,p=h*i+r*n-a*t,m=-r*t-a*n-c*i;return this.x=u*h+m*-r+d*-c-p*-a,this.y=d*h+m*-a+p*-r-u*-c,this.z=p*h+m*-c+u*-a-d*-r,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,i=this.z,r=e.elements;return this.x=r[0]*t+r[4]*n+r[8]*i,this.y=r[1]*t+r[5]*n+r[9]*i,this.z=r[2]*t+r[6]*n+r[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,i=e.y,r=e.z,a=t.x,c=t.y,h=t.z;return this.x=i*h-r*c,this.y=r*a-n*h,this.z=n*c-i*a,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return th.copy(this).projectOnVector(e),this.sub(th)}reflect(e){return this.sub(th.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(Vt(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,i=this.z-e.z;return t*t+n*n+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){const i=Math.sin(t)*e;return this.x=i*Math.sin(n),this.y=Math.cos(t)*e,this.z=i*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=i,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,t=Math.random()*Math.PI*2,n=Math.sqrt(1-e**2);return this.x=n*Math.cos(t),this.y=n*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const th=new I,Yp=new En;class us{constructor(e=new I(1/0,1/0,1/0),t=new I(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){let t=1/0,n=1/0,i=1/0,r=-1/0,a=-1/0,c=-1/0;for(let h=0,u=e.length;hr&&(r=d),p>a&&(a=p),m>c&&(c=m)}return this.min.set(t,n,i),this.max.set(r,a,c),this}setFromBufferAttribute(e){let t=1/0,n=1/0,i=1/0,r=-1/0,a=-1/0,c=-1/0;for(let h=0,u=e.count;hr&&(r=d),p>a&&(a=p),m>c&&(c=m)}return this.min.set(t,n,i),this.max.set(r,a,c),this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,Dr),Dr.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Ho),El.subVectors(this.max,Ho),Cs.subVectors(e.a,Ho),Ps.subVectors(e.b,Ho),Ls.subVectors(e.c,Ho),rr.subVectors(Ps,Cs),sr.subVectors(Ls,Ps),zr.subVectors(Cs,Ls);let t=[0,-rr.z,rr.y,0,-sr.z,sr.y,0,-zr.z,zr.y,rr.z,0,-rr.x,sr.z,0,-sr.x,zr.z,0,-zr.x,-rr.y,rr.x,0,-sr.y,sr.x,0,-zr.y,zr.x,0];return!ih(t,Cs,Ps,Ls,El)||(t=[1,0,0,0,1,0,0,0,1],!ih(t,Cs,Ps,Ls,El))?!1:(Cl.crossVectors(rr,sr),t=[Cl.x,Cl.y,Cl.z],ih(t,Cs,Ps,Ls,El))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return Dr.copy(e).clamp(this.min,this.max).sub(e).length()}getBoundingSphere(e){return this.getCenter(e.center),e.radius=this.getSize(Dr).length()*.5,e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Ni[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Ni[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Ni[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Ni[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Ni[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Ni[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Ni[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Ni[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Ni),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const Ni=[new I,new I,new I,new I,new I,new I,new I,new I],Dr=new I,nh=new us,Cs=new I,Ps=new I,Ls=new I,rr=new I,sr=new I,zr=new I,Ho=new I,El=new I,Cl=new I,Nr=new I;function ih(l,e,t,n,i){for(let r=0,a=l.length-3;r<=a;r+=3){Nr.fromArray(l,r);const c=i.x*Math.abs(Nr.x)+i.y*Math.abs(Nr.y)+i.z*Math.abs(Nr.z),h=e.dot(Nr),u=t.dot(Nr),d=n.dot(Nr);if(Math.max(-Math.max(h,u,d),Math.min(h,u,d))>c)return!1}return!0}const Ry=new us,Zp=new I,Pl=new I,rh=new I;class hs{constructor(e=new I,t=-1){this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const n=this.center;t!==void 0?n.copy(t):Ry.setFromPoints(e).getCenter(n);let i=0;for(let r=0,a=e.length;rthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){rh.subVectors(e,this.center);const t=rh.lengthSq();if(t>this.radius*this.radius){const n=Math.sqrt(t),i=(n-this.radius)*.5;this.center.add(rh.multiplyScalar(i/n)),this.radius+=i}return this}union(e){return this.center.equals(e.center)===!0?Pl.set(0,0,1).multiplyScalar(e.radius):Pl.subVectors(e.center,this.center).normalize().multiplyScalar(e.radius),this.expandByPoint(Zp.copy(e.center).add(Pl)),this.expandByPoint(Zp.copy(e.center).sub(Pl)),this}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Fi=new I,sh=new I,Ll=new I,or=new I,oh=new I,Rl=new I,ah=new I;class wa{constructor(e=new I,t=new I(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.direction).multiplyScalar(e).add(this.origin)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Fi)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=Fi.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Fi.copy(this.direction).multiplyScalar(t).add(this.origin),Fi.distanceToSquared(e))}distanceSqToSegment(e,t,n,i){sh.copy(e).add(t).multiplyScalar(.5),Ll.copy(t).sub(e).normalize(),or.copy(this.origin).sub(sh);const r=e.distanceTo(t)*.5,a=-this.direction.dot(Ll),c=or.dot(this.direction),h=-or.dot(Ll),u=or.lengthSq(),d=Math.abs(1-a*a);let p,m,v,_;if(d>0)if(p=a*h-c,m=a*c-h,_=r*d,p>=0)if(m>=-_)if(m<=_){const x=1/d;p*=x,m*=x,v=p*(p+a*m+2*c)+m*(a*p+m+2*h)+u}else m=r,p=Math.max(0,-(a*m+c)),v=-p*p+m*(m+2*h)+u;else m=-r,p=Math.max(0,-(a*m+c)),v=-p*p+m*(m+2*h)+u;else m<=-_?(p=Math.max(0,-(-a*r+c)),m=p>0?-r:Math.min(Math.max(-r,-h),r),v=-p*p+m*(m+2*h)+u):m<=_?(p=0,m=Math.min(Math.max(-r,-h),r),v=m*(m+2*h)+u):(p=Math.max(0,-(a*r+c)),m=p>0?r:Math.min(Math.max(-r,-h),r),v=-p*p+m*(m+2*h)+u);else m=a>0?-r:r,p=Math.max(0,-(a*m+c)),v=-p*p+m*(m+2*h)+u;return n&&n.copy(this.direction).multiplyScalar(p).add(this.origin),i&&i.copy(Ll).multiplyScalar(m).add(sh),v}intersectSphere(e,t){Fi.subVectors(e.center,this.origin);const n=Fi.dot(this.direction),i=Fi.dot(Fi)-n*n,r=e.radius*e.radius;if(i>r)return null;const a=Math.sqrt(r-i),c=n-a,h=n+a;return c<0&&h<0?null:c<0?this.at(h,t):this.at(c,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,i,r,a,c,h;const u=1/this.direction.x,d=1/this.direction.y,p=1/this.direction.z,m=this.origin;return u>=0?(n=(e.min.x-m.x)*u,i=(e.max.x-m.x)*u):(n=(e.max.x-m.x)*u,i=(e.min.x-m.x)*u),d>=0?(r=(e.min.y-m.y)*d,a=(e.max.y-m.y)*d):(r=(e.max.y-m.y)*d,a=(e.min.y-m.y)*d),n>a||r>i||((r>n||n!==n)&&(n=r),(a=0?(c=(e.min.z-m.z)*p,h=(e.max.z-m.z)*p):(c=(e.max.z-m.z)*p,h=(e.min.z-m.z)*p),n>h||c>i)||((c>n||n!==n)&&(n=c),(h=0?n:i,t)}intersectsBox(e){return this.intersectBox(e,Fi)!==null}intersectTriangle(e,t,n,i,r){oh.subVectors(t,e),Rl.subVectors(n,e),ah.crossVectors(oh,Rl);let a=this.direction.dot(ah),c;if(a>0){if(i)return null;c=1}else if(a<0)c=-1,a=-a;else return null;or.subVectors(this.origin,e);const h=c*this.direction.dot(Rl.crossVectors(or,Rl));if(h<0)return null;const u=c*this.direction.dot(oh.cross(or));if(u<0||h+u>a)return null;const d=-c*or.dot(ah);return d<0?null:this.at(d/a,r)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class tt{constructor(){tt.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}set(e,t,n,i,r,a,c,h,u,d,p,m,v,_,x,y){const w=this.elements;return w[0]=e,w[4]=t,w[8]=n,w[12]=i,w[1]=r,w[5]=a,w[9]=c,w[13]=h,w[2]=u,w[6]=d,w[10]=p,w[14]=m,w[3]=v,w[7]=_,w[11]=x,w[15]=y,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new tt().fromArray(this.elements)}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){const t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,n=e.elements,i=1/Rs.setFromMatrixColumn(e,0).length(),r=1/Rs.setFromMatrixColumn(e,1).length(),a=1/Rs.setFromMatrixColumn(e,2).length();return t[0]=n[0]*i,t[1]=n[1]*i,t[2]=n[2]*i,t[3]=0,t[4]=n[4]*r,t[5]=n[5]*r,t[6]=n[6]*r,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,n=e.x,i=e.y,r=e.z,a=Math.cos(n),c=Math.sin(n),h=Math.cos(i),u=Math.sin(i),d=Math.cos(r),p=Math.sin(r);if(e.order==="XYZ"){const m=a*d,v=a*p,_=c*d,x=c*p;t[0]=h*d,t[4]=-h*p,t[8]=u,t[1]=v+_*u,t[5]=m-x*u,t[9]=-c*h,t[2]=x-m*u,t[6]=_+v*u,t[10]=a*h}else if(e.order==="YXZ"){const m=h*d,v=h*p,_=u*d,x=u*p;t[0]=m+x*c,t[4]=_*c-v,t[8]=a*u,t[1]=a*p,t[5]=a*d,t[9]=-c,t[2]=v*c-_,t[6]=x+m*c,t[10]=a*h}else if(e.order==="ZXY"){const m=h*d,v=h*p,_=u*d,x=u*p;t[0]=m-x*c,t[4]=-a*p,t[8]=_+v*c,t[1]=v+_*c,t[5]=a*d,t[9]=x-m*c,t[2]=-a*u,t[6]=c,t[10]=a*h}else if(e.order==="ZYX"){const m=a*d,v=a*p,_=c*d,x=c*p;t[0]=h*d,t[4]=_*u-v,t[8]=m*u+x,t[1]=h*p,t[5]=x*u+m,t[9]=v*u-_,t[2]=-u,t[6]=c*h,t[10]=a*h}else if(e.order==="YZX"){const m=a*h,v=a*u,_=c*h,x=c*u;t[0]=h*d,t[4]=x-m*p,t[8]=_*p+v,t[1]=p,t[5]=a*d,t[9]=-c*d,t[2]=-u*d,t[6]=v*p+_,t[10]=m-x*p}else if(e.order==="XZY"){const m=a*h,v=a*u,_=c*h,x=c*u;t[0]=h*d,t[4]=-p,t[8]=u*d,t[1]=m*p+x,t[5]=a*d,t[9]=v*p-_,t[2]=_*p-v,t[6]=c*d,t[10]=x*p+m}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Iy,e,Dy)}lookAt(e,t,n){const i=this.elements;return In.subVectors(e,t),In.lengthSq()===0&&(In.z=1),In.normalize(),ar.crossVectors(n,In),ar.lengthSq()===0&&(Math.abs(n.z)===1?In.x+=1e-4:In.z+=1e-4,In.normalize(),ar.crossVectors(n,In)),ar.normalize(),Il.crossVectors(In,ar),i[0]=ar.x,i[4]=Il.x,i[8]=In.x,i[1]=ar.y,i[5]=Il.y,i[9]=In.y,i[2]=ar.z,i[6]=Il.z,i[10]=In.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,i=t.elements,r=this.elements,a=n[0],c=n[4],h=n[8],u=n[12],d=n[1],p=n[5],m=n[9],v=n[13],_=n[2],x=n[6],y=n[10],w=n[14],S=n[3],A=n[7],T=n[11],C=n[15],L=i[0],F=i[4],E=i[8],P=i[12],O=i[1],U=i[5],ae=i[9],fe=i[13],W=i[2],ne=i[6],q=i[10],se=i[14],H=i[3],B=i[7],X=i[11],ce=i[15];return r[0]=a*L+c*O+h*W+u*H,r[4]=a*F+c*U+h*ne+u*B,r[8]=a*E+c*ae+h*q+u*X,r[12]=a*P+c*fe+h*se+u*ce,r[1]=d*L+p*O+m*W+v*H,r[5]=d*F+p*U+m*ne+v*B,r[9]=d*E+p*ae+m*q+v*X,r[13]=d*P+p*fe+m*se+v*ce,r[2]=_*L+x*O+y*W+w*H,r[6]=_*F+x*U+y*ne+w*B,r[10]=_*E+x*ae+y*q+w*X,r[14]=_*P+x*fe+y*se+w*ce,r[3]=S*L+A*O+T*W+C*H,r[7]=S*F+A*U+T*ne+C*B,r[11]=S*E+A*ae+T*q+C*X,r[15]=S*P+A*fe+T*se+C*ce,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[4],i=e[8],r=e[12],a=e[1],c=e[5],h=e[9],u=e[13],d=e[2],p=e[6],m=e[10],v=e[14],_=e[3],x=e[7],y=e[11],w=e[15];return _*(+r*h*p-i*u*p-r*c*m+n*u*m+i*c*v-n*h*v)+x*(+t*h*v-t*u*m+r*a*m-i*a*v+i*u*d-r*h*d)+y*(+t*u*p-t*c*v-r*a*p+n*a*v+r*c*d-n*u*d)+w*(-i*c*d-t*h*p+t*c*m+i*a*p-n*a*m+n*h*d)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=t,i[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],i=e[2],r=e[3],a=e[4],c=e[5],h=e[6],u=e[7],d=e[8],p=e[9],m=e[10],v=e[11],_=e[12],x=e[13],y=e[14],w=e[15],S=p*y*u-x*m*u+x*h*v-c*y*v-p*h*w+c*m*w,A=_*m*u-d*y*u-_*h*v+a*y*v+d*h*w-a*m*w,T=d*x*u-_*p*u+_*c*v-a*x*v-d*c*w+a*p*w,C=_*p*h-d*x*h-_*c*m+a*x*m+d*c*y-a*p*y,L=t*S+n*A+i*T+r*C;if(L===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const F=1/L;return e[0]=S*F,e[1]=(x*m*r-p*y*r-x*i*v+n*y*v+p*i*w-n*m*w)*F,e[2]=(c*y*r-x*h*r+x*i*u-n*y*u-c*i*w+n*h*w)*F,e[3]=(p*h*r-c*m*r-p*i*u+n*m*u+c*i*v-n*h*v)*F,e[4]=A*F,e[5]=(d*y*r-_*m*r+_*i*v-t*y*v-d*i*w+t*m*w)*F,e[6]=(_*h*r-a*y*r-_*i*u+t*y*u+a*i*w-t*h*w)*F,e[7]=(a*m*r-d*h*r+d*i*u-t*m*u-a*i*v+t*h*v)*F,e[8]=T*F,e[9]=(_*p*r-d*x*r-_*n*v+t*x*v+d*n*w-t*p*w)*F,e[10]=(a*x*r-_*c*r+_*n*u-t*x*u-a*n*w+t*c*w)*F,e[11]=(d*c*r-a*p*r-d*n*u+t*p*u+a*n*v-t*c*v)*F,e[12]=C*F,e[13]=(d*x*i-_*p*i+_*n*m-t*x*m-d*n*y+t*p*y)*F,e[14]=(_*c*i-a*x*i-_*n*h+t*x*h+a*n*y-t*c*y)*F,e[15]=(a*p*i-d*c*i+d*n*h-t*p*h-a*n*m+t*c*m)*F,this}scale(e){const t=this.elements,n=e.x,i=e.y,r=e.z;return t[0]*=n,t[4]*=i,t[8]*=r,t[1]*=n,t[5]*=i,t[9]*=r,t[2]*=n,t[6]*=i,t[10]*=r,t[3]*=n,t[7]*=i,t[11]*=r,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,i))}makeTranslation(e,t,n){return this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const n=Math.cos(t),i=Math.sin(t),r=1-n,a=e.x,c=e.y,h=e.z,u=r*a,d=r*c;return this.set(u*a+n,u*c-i*h,u*h+i*c,0,u*c+i*h,d*c+n,d*h-i*a,0,u*h-i*c,d*h+i*a,r*h*h+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,i,r,a){return this.set(1,n,r,0,e,1,a,0,t,i,1,0,0,0,0,1),this}compose(e,t,n){const i=this.elements,r=t._x,a=t._y,c=t._z,h=t._w,u=r+r,d=a+a,p=c+c,m=r*u,v=r*d,_=r*p,x=a*d,y=a*p,w=c*p,S=h*u,A=h*d,T=h*p,C=n.x,L=n.y,F=n.z;return i[0]=(1-(x+w))*C,i[1]=(v+T)*C,i[2]=(_-A)*C,i[3]=0,i[4]=(v-T)*L,i[5]=(1-(m+w))*L,i[6]=(y+S)*L,i[7]=0,i[8]=(_+A)*F,i[9]=(y-S)*F,i[10]=(1-(m+x))*F,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,t,n){const i=this.elements;let r=Rs.set(i[0],i[1],i[2]).length();const a=Rs.set(i[4],i[5],i[6]).length(),c=Rs.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),e.x=i[12],e.y=i[13],e.z=i[14],ai.copy(this);const u=1/r,d=1/a,p=1/c;return ai.elements[0]*=u,ai.elements[1]*=u,ai.elements[2]*=u,ai.elements[4]*=d,ai.elements[5]*=d,ai.elements[6]*=d,ai.elements[8]*=p,ai.elements[9]*=p,ai.elements[10]*=p,t.setFromRotationMatrix(ai),n.x=r,n.y=a,n.z=c,this}makePerspective(e,t,n,i,r,a){const c=this.elements,h=2*r/(t-e),u=2*r/(n-i),d=(t+e)/(t-e),p=(n+i)/(n-i),m=-(a+r)/(a-r),v=-2*a*r/(a-r);return c[0]=h,c[4]=0,c[8]=d,c[12]=0,c[1]=0,c[5]=u,c[9]=p,c[13]=0,c[2]=0,c[6]=0,c[10]=m,c[14]=v,c[3]=0,c[7]=0,c[11]=-1,c[15]=0,this}makeOrthographic(e,t,n,i,r,a){const c=this.elements,h=1/(t-e),u=1/(n-i),d=1/(a-r),p=(t+e)*h,m=(n+i)*u,v=(a+r)*d;return c[0]=2*h,c[4]=0,c[8]=0,c[12]=-p,c[1]=0,c[5]=2*u,c[9]=0,c[13]=-m,c[2]=0,c[6]=0,c[10]=-2*d,c[14]=-v,c[3]=0,c[7]=0,c[11]=0,c[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let i=0;i<16;i++)if(t[i]!==n[i])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}}const Rs=new I,ai=new tt,Iy=new I(0,0,0),Dy=new I(1,1,1),ar=new I,Il=new I,In=new I,Jp=new tt,jp=new En;class yo{constructor(e=0,t=0,n=0,i=yo.DefaultOrder){this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,i=this._order){return this._x=e,this._y=t,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){const i=e.elements,r=i[0],a=i[4],c=i[8],h=i[1],u=i[5],d=i[9],p=i[2],m=i[6],v=i[10];switch(t){case"XYZ":this._y=Math.asin(Vt(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(-d,v),this._z=Math.atan2(-a,r)):(this._x=Math.atan2(m,u),this._z=0);break;case"YXZ":this._x=Math.asin(-Vt(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(c,v),this._z=Math.atan2(h,u)):(this._y=Math.atan2(-p,r),this._z=0);break;case"ZXY":this._x=Math.asin(Vt(m,-1,1)),Math.abs(m)<.9999999?(this._y=Math.atan2(-p,v),this._z=Math.atan2(-a,u)):(this._y=0,this._z=Math.atan2(h,r));break;case"ZYX":this._y=Math.asin(-Vt(p,-1,1)),Math.abs(p)<.9999999?(this._x=Math.atan2(m,v),this._z=Math.atan2(h,r)):(this._x=0,this._z=Math.atan2(-a,u));break;case"YZX":this._z=Math.asin(Vt(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(-d,u),this._y=Math.atan2(-p,r)):(this._x=0,this._y=Math.atan2(c,v));break;case"XZY":this._z=Math.asin(-Vt(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(m,u),this._y=Math.atan2(c,r)):(this._x=Math.atan2(-d,v),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return Jp.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Jp,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return jp.setFromEuler(this),this.setFromQuaternion(jp,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}toVector3(){console.error("THREE.Euler: .toVector3() has been removed. Use Vector3.setFromEuler() instead")}}yo.DefaultOrder="XYZ";yo.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class Kr{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let t=0;t1){for(let n=0;n0){i.children=[];for(let c=0;c0){i.animations=[];for(let c=0;c0&&(n.geometries=c),h.length>0&&(n.materials=h),u.length>0&&(n.textures=u),d.length>0&&(n.images=d),p.length>0&&(n.shapes=p),m.length>0&&(n.skeletons=m),v.length>0&&(n.animations=v),_.length>0&&(n.nodes=_)}return n.object=i,n;function a(c){const h=[];for(const u in c){const d=c[u];delete d.metadata,h.push(d)}return h}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let n=0;n0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(e,t,n,i,r){li.subVectors(i,t),Bi.subVectors(n,t),lh.subVectors(e,t);const a=li.dot(li),c=li.dot(Bi),h=li.dot(lh),u=Bi.dot(Bi),d=Bi.dot(lh),p=a*u-c*c;if(p===0)return r.set(-2,-1,-1);const m=1/p,v=(u*h-c*d)*m,_=(a*d-c*h)*m;return r.set(1-v-_,_,v)}static containsPoint(e,t,n,i){return this.getBarycoord(e,t,n,i,ki),ki.x>=0&&ki.y>=0&&ki.x+ki.y<=1}static getUV(e,t,n,i,r,a,c,h){return this.getBarycoord(e,t,n,i,ki),h.set(0,0),h.addScaledVector(r,ki.x),h.addScaledVector(a,ki.y),h.addScaledVector(c,ki.z),h}static isFrontFacing(e,t,n,i){return li.subVectors(n,t),Bi.subVectors(e,t),li.cross(Bi).dot(i)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,i){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,t,n,i){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return li.subVectors(this.c,this.b),Bi.subVectors(this.a,this.b),li.cross(Bi).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Kn.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return Kn.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,i,r){return Kn.getUV(e,this.a,this.b,this.c,t,n,i,r)}containsPoint(e){return Kn.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Kn.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,i=this.b,r=this.c;let a,c;Ds.subVectors(i,n),zs.subVectors(r,n),ch.subVectors(e,n);const h=Ds.dot(ch),u=zs.dot(ch);if(h<=0&&u<=0)return t.copy(n);uh.subVectors(e,i);const d=Ds.dot(uh),p=zs.dot(uh);if(d>=0&&p<=d)return t.copy(i);const m=h*p-d*u;if(m<=0&&h>=0&&d<=0)return a=h/(h-d),t.copy(n).addScaledVector(Ds,a);hh.subVectors(e,r);const v=Ds.dot(hh),_=zs.dot(hh);if(_>=0&&v<=_)return t.copy(r);const x=v*u-h*_;if(x<=0&&u>=0&&_<=0)return c=u/(u-_),t.copy(n).addScaledVector(zs,c);const y=d*_-v*p;if(y<=0&&p-d>=0&&v-_>=0)return nm.subVectors(r,i),c=(p-d)/(p-d+(v-_)),t.copy(i).addScaledVector(nm,c);const w=1/(y+x+m);return a=x*w,c=m*w,t.copy(n).addScaledVector(Ds,a).addScaledVector(zs,c)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}let By=0;class hn extends Yi{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:By++}),this.uuid=zn(),this.name="",this.type="Material",this.blending=Zr,this.side=eo,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=Lf,this.blendDst=Rf,this.blendEquation=Gr,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=Tc,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=m0,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=_c,this.stencilZFail=_c,this.stencilZPass=_c,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const n=e[t];if(n===void 0){console.warn("THREE.Material: '"+t+"' parameter is undefined.");continue}if(t==="shading"){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=n===Sg;continue}const i=this[t];if(i===void 0){console.warn("THREE."+this.type+": '"+t+"' is not a property of this material.");continue}i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[t]=n}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==Zr&&(n.blending=this.blending),this.side!==eo&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaToCoverage===!0&&(n.alphaToCoverage=this.alphaToCoverage),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=this.premultipliedAlpha),this.wireframe===!0&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=this.flatShading),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),JSON.stringify(this.userData)!=="{}"&&(n.userData=this.userData);function i(r){const a=[];for(const c in r){const h=r[c];delete h.metadata,a.push(h)}return a}if(t){const r=i(e.textures),a=i(e.images);r.length>0&&(n.textures=r),a.length>0&&(n.images=a)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(t!==null){const i=t.length;n=new Array(i);for(let r=0;r!==i;++r)n[r]=t[r].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class Sr extends hn{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Ce(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Ma,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const Xt=new I,zl=new he;class bt{constructor(e,t,n){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=n===!0,this.usage=ua,this.updateRange={offset:0,count:-1},this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let i=0,r=this.itemSize;i0&&(e.userData=this.userData),this.parameters!==void 0){const h=this.parameters;for(const u in h)h[u]!==void 0&&(e[u]=h[u]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const h in n){const u=n[h];e.data.attributes[h]=u.toJSON(e.data)}const i={};let r=!1;for(const h in this.morphAttributes){const u=this.morphAttributes[h],d=[];for(let p=0,m=u.length;p0&&(i[h]=d,r=!0)}r&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const c=this.boundingSphere;return c!==null&&(e.data.boundingSphere={center:c.center.toArray(),radius:c.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const n=e.index;n!==null&&this.setIndex(n.clone(t));const i=e.attributes;for(const u in i){const d=i[u];this.setAttribute(u,d.clone(t))}const r=e.morphAttributes;for(const u in r){const d=[],p=r[u];for(let m=0,v=p.length;m0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;rt.far?null:{distance:u,point:Vl.clone(),object:l}}function Gl(l,e,t,n,i,r,a,c,h,u,d,p){lr.fromBufferAttribute(i,u),cr.fromBufferAttribute(i,d),ur.fromBufferAttribute(i,p);const m=l.morphTargetInfluences;if(r&&m){Nl.set(0,0,0),Fl.set(0,0,0),Ol.set(0,0,0);for(let _=0,x=r.length;_0?1:-1,d.push(B.x,B.y,B.z),p.push(oe/F),p.push(1-X/E),se+=1}}for(let X=0;X0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader;const n={};for(const i in this.extensions)this.extensions[i]===!0&&(n[i]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class ba extends St{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new tt,this.projectionMatrix=new tt,this.projectionMatrixInverse=new tt}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}class tn extends ba{constructor(e=50,t=1,n=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=ha*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(jr*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return ha*2*Math.atan(Math.tan(jr*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,i,r,a){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(jr*.5*this.fov)/this.zoom,n=2*t,i=this.aspect*n,r=-.5*i;const a=this.view;if(this.view!==null&&this.view.enabled){const h=a.fullWidth,u=a.fullHeight;r+=a.offsetX*i/h,t-=a.offsetY*n/u,i*=a.width/h,n*=a.height/u}const c=this.filmOffset;c!==0&&(r+=e*c/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,t,t-n,e,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const Os=90,Bs=1;class _0 extends St{constructor(e,t,n){if(super(),this.type="CubeCamera",n.isWebGLCubeRenderTarget!==!0){console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");return}this.renderTarget=n;const i=new tn(Os,Bs,e,t);i.layers=this.layers,i.up.set(0,-1,0),i.lookAt(new I(1,0,0)),this.add(i);const r=new tn(Os,Bs,e,t);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new I(-1,0,0)),this.add(r);const a=new tn(Os,Bs,e,t);a.layers=this.layers,a.up.set(0,0,1),a.lookAt(new I(0,1,0)),this.add(a);const c=new tn(Os,Bs,e,t);c.layers=this.layers,c.up.set(0,0,-1),c.lookAt(new I(0,-1,0)),this.add(c);const h=new tn(Os,Bs,e,t);h.layers=this.layers,h.up.set(0,-1,0),h.lookAt(new I(0,0,1)),this.add(h);const u=new tn(Os,Bs,e,t);u.layers=this.layers,u.up.set(0,-1,0),u.lookAt(new I(0,0,-1)),this.add(u)}update(e,t){this.parent===null&&this.updateMatrixWorld();const n=this.renderTarget,[i,r,a,c,h,u]=this.children,d=e.getRenderTarget(),p=e.toneMapping,m=e.xr.enabled;e.toneMapping=ui,e.xr.enabled=!1;const v=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0),e.render(t,i),e.setRenderTarget(n,1),e.render(t,r),e.setRenderTarget(n,2),e.render(t,a),e.setRenderTarget(n,3),e.render(t,c),e.setRenderTarget(n,4),e.render(t,h),n.texture.generateMipmaps=v,e.setRenderTarget(n,5),e.render(t,u),e.setRenderTarget(d),e.toneMapping=p,e.xr.enabled=m,n.texture.needsPMREMUpdate=!0}}class Ta extends Yt{constructor(e,t,n,i,r,a,c,h,u,d){e=e!==void 0?e:[],t=t!==void 0?t:gr,super(e,t,n,i,r,a,c,h,u,d),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class M0 extends ti{constructor(e,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},i=[n,n,n,n,n,n];this.texture=new Ta(i,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:Ut}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.encoding=t.encoding,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:` + + varying vec3 vWorldDirection; + + vec3 transformDirection( in vec3 dir, in mat4 matrix ) { + + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); + + } + + void main() { + + vWorldDirection = transformDirection( position, modelMatrix ); + + #include + #include + + } + `,fragmentShader:` + + uniform sampler2D tEquirect; + + varying vec3 vWorldDirection; + + #include + + void main() { + + vec3 direction = normalize( vWorldDirection ); + + vec2 sampleUV = equirectUv( direction ); + + gl_FragColor = texture2D( tEquirect, sampleUV ); + + } + `},i=new Xi(5,5,5),r=new wi({name:"CubemapFromEquirect",uniforms:no(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:ei,blending:Hi});r.uniforms.tEquirect.value=t;const a=new rn(i,r),c=t.minFilter;return t.minFilter===ls&&(t.minFilter=Ut),new _0(1,10,this).update(e,a),t.minFilter=c,a.geometry.dispose(),a.material.dispose(),this}clear(e,t,n,i){const r=e.getRenderTarget();for(let a=0;a<6;a++)e.setRenderTarget(this,a),e.clear(t,n,i);e.setRenderTarget(r)}}const xh=new I,Qy=new I,Ky=new An;class fr{constructor(e=new I(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,i){return this.normal.set(e,t,n),this.constant=i,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){const i=xh.subVectors(n,t).cross(Qy.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(i,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)}intersectLine(e,t){const n=e.delta(xh),i=this.normal.dot(n);if(i===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;const r=-(e.start.dot(this.normal)+this.constant)/i;return r<0||r>1?null:t.copy(n).multiplyScalar(r).add(e.start)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const n=t||Ky.getNormalMatrix(e),i=this.coplanarPoint(xh).applyMatrix4(e),r=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(r),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const ks=new hs,Hl=new I;class Nc{constructor(e=new fr,t=new fr,n=new fr,i=new fr,r=new fr,a=new fr){this.planes=[e,t,n,i,r,a]}set(e,t,n,i,r,a){const c=this.planes;return c[0].copy(e),c[1].copy(t),c[2].copy(n),c[3].copy(i),c[4].copy(r),c[5].copy(a),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e){const t=this.planes,n=e.elements,i=n[0],r=n[1],a=n[2],c=n[3],h=n[4],u=n[5],d=n[6],p=n[7],m=n[8],v=n[9],_=n[10],x=n[11],y=n[12],w=n[13],S=n[14],A=n[15];return t[0].setComponents(c-i,p-h,x-m,A-y).normalize(),t[1].setComponents(c+i,p+h,x+m,A+y).normalize(),t[2].setComponents(c+r,p+u,x+v,A+w).normalize(),t[3].setComponents(c-r,p-u,x-v,A-w).normalize(),t[4].setComponents(c-a,p-d,x-_,A-S).normalize(),t[5].setComponents(c+a,p+d,x+_,A+S).normalize(),this}intersectsObject(e){const t=e.geometry;return t.boundingSphere===null&&t.computeBoundingSphere(),ks.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(ks)}intersectsSprite(e){return ks.center.set(0,0,0),ks.radius=.7071067811865476,ks.applyMatrix4(e.matrixWorld),this.intersectsSphere(ks)}intersectsSphere(e){const t=this.planes,n=e.center,i=-e.radius;for(let r=0;r<6;r++)if(t[r].distanceToPoint(n)0?e.max.x:e.min.x,Hl.y=i.normal.y>0?e.max.y:e.min.y,Hl.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(Hl)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function S0(){let l=null,e=!1,t=null,n=null;function i(r,a){t(r,a),n=l.requestAnimationFrame(i)}return{start:function(){e!==!0&&t!==null&&(n=l.requestAnimationFrame(i),e=!0)},stop:function(){l.cancelAnimationFrame(n),e=!1},setAnimationLoop:function(r){t=r},setContext:function(r){l=r}}}function $y(l,e){const t=e.isWebGL2,n=new WeakMap;function i(u,d){const p=u.array,m=u.usage,v=l.createBuffer();l.bindBuffer(d,v),l.bufferData(d,p,m),u.onUploadCallback();let _;if(p instanceof Float32Array)_=5126;else if(p instanceof Uint16Array)if(u.isFloat16BufferAttribute)if(t)_=5131;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else _=5123;else if(p instanceof Int16Array)_=5122;else if(p instanceof Uint32Array)_=5125;else if(p instanceof Int32Array)_=5124;else if(p instanceof Int8Array)_=5120;else if(p instanceof Uint8Array)_=5121;else if(p instanceof Uint8ClampedArray)_=5121;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+p);return{buffer:v,type:_,bytesPerElement:p.BYTES_PER_ELEMENT,version:u.version}}function r(u,d,p){const m=d.array,v=d.updateRange;l.bindBuffer(p,u),v.count===-1?l.bufferSubData(p,0,m):(t?l.bufferSubData(p,v.offset*m.BYTES_PER_ELEMENT,m,v.offset,v.count):l.bufferSubData(p,v.offset*m.BYTES_PER_ELEMENT,m.subarray(v.offset,v.offset+v.count)),v.count=-1)}function a(u){return u.isInterleavedBufferAttribute&&(u=u.data),n.get(u)}function c(u){u.isInterleavedBufferAttribute&&(u=u.data);const d=n.get(u);d&&(l.deleteBuffer(d.buffer),n.delete(u))}function h(u,d){if(u.isGLBufferAttribute){const m=n.get(u);(!m||m.version 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; + return cross( v1, v2 ) * theta_sintheta; +} +vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { + vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; + vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; + vec3 lightNormal = cross( v1, v2 ); + if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); + vec3 T1, T2; + T1 = normalize( V - N * dot( V, N ) ); + T2 = - cross( N, T1 ); + mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); + vec3 coords[ 4 ]; + coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); + coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); + coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); + coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); + coords[ 0 ] = normalize( coords[ 0 ] ); + coords[ 1 ] = normalize( coords[ 1 ] ); + coords[ 2 ] = normalize( coords[ 2 ] ); + coords[ 3 ] = normalize( coords[ 3 ] ); + vec3 vectorFormFactor = vec3( 0.0 ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); + float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); + return vec3( result ); +} +float G_BlinnPhong_Implicit( ) { + return 0.25; +} +float D_BlinnPhong( const in float shininess, const in float dotNH ) { + return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess ); +} +vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) { + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNH = saturate( dot( normal, halfDir ) ); + float dotVH = saturate( dot( viewDir, halfDir ) ); + vec3 F = F_Schlick( specularColor, 1.0, dotVH ); + float G = G_BlinnPhong_Implicit( ); + float D = D_BlinnPhong( shininess, dotNH ); + return F * ( G * D ); +} +#if defined( USE_SHEEN ) +float D_Charlie( float roughness, float dotNH ) { + float alpha = pow2( roughness ); + float invAlpha = 1.0 / alpha; + float cos2h = dotNH * dotNH; + float sin2h = max( 1.0 - cos2h, 0.0078125 ); + return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); +} +float V_Neubelt( float dotNV, float dotNL ) { + return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); +} +vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float D = D_Charlie( sheenRoughness, dotNH ); + float V = V_Neubelt( dotNV, dotNL ); + return sheenColor * ( D * V ); +} +#endif`,c_=`#ifdef USE_IRIDESCENCE + const mat3 XYZ_TO_REC709 = mat3( + 3.2404542, -0.9692660, 0.0556434, + -1.5371385, 1.8760108, -0.2040259, + -0.4985314, 0.0415560, 1.0572252 + ); + vec3 Fresnel0ToIor( vec3 fresnel0 ) { + vec3 sqrtF0 = sqrt( fresnel0 ); + return ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 ); + } + vec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) { + return pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) ); + } + float IorToFresnel0( float transmittedIor, float incidentIor ) { + return pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor )); + } + vec3 evalSensitivity( float OPD, vec3 shift ) { + float phase = 2.0 * PI * OPD * 1.0e-9; + vec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 ); + vec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 ); + vec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 ); + vec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var ); + xyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) ); + xyz /= 1.0685e-7; + vec3 rgb = XYZ_TO_REC709 * xyz; + return rgb; + } + vec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) { + vec3 I; + float iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) ); + float sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) ); + float cosTheta2Sq = 1.0 - sinTheta2Sq; + if ( cosTheta2Sq < 0.0 ) { + return vec3( 1.0 ); + } + float cosTheta2 = sqrt( cosTheta2Sq ); + float R0 = IorToFresnel0( iridescenceIOR, outsideIOR ); + float R12 = F_Schlick( R0, 1.0, cosTheta1 ); + float R21 = R12; + float T121 = 1.0 - R12; + float phi12 = 0.0; + if ( iridescenceIOR < outsideIOR ) phi12 = PI; + float phi21 = PI - phi12; + vec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) ); vec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR ); + vec3 R23 = F_Schlick( R1, 1.0, cosTheta2 ); + vec3 phi23 = vec3( 0.0 ); + if ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI; + if ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI; + if ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI; + float OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2; + vec3 phi = vec3( phi21 ) + phi23; + vec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 ); + vec3 r123 = sqrt( R123 ); + vec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 ); + vec3 C0 = R12 + Rs; + I = C0; + vec3 Cm = Rs - T121; + for ( int m = 1; m <= 2; ++ m ) { + Cm *= r123; + vec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi ); + I += Cm * Sm; + } + return max( I, vec3( 0.0 ) ); + } +#endif`,u_=`#ifdef USE_BUMPMAP + uniform sampler2D bumpMap; + uniform float bumpScale; + vec2 dHdxy_fwd() { + vec2 dSTdx = dFdx( vUv ); + vec2 dSTdy = dFdy( vUv ); + float Hll = bumpScale * texture2D( bumpMap, vUv ).x; + float dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll; + float dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll; + return vec2( dBx, dBy ); + } + vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) { + vec3 vSigmaX = dFdx( surf_pos.xyz ); + vec3 vSigmaY = dFdy( surf_pos.xyz ); + vec3 vN = surf_norm; + vec3 R1 = cross( vSigmaY, vN ); + vec3 R2 = cross( vN, vSigmaX ); + float fDet = dot( vSigmaX, R1 ) * faceDirection; + vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 ); + return normalize( abs( fDet ) * surf_norm - vGrad ); + } +#endif`,h_=`#if NUM_CLIPPING_PLANES > 0 + vec4 plane; + #pragma unroll_loop_start + for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { + plane = clippingPlanes[ i ]; + if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard; + } + #pragma unroll_loop_end + #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES + bool clipped = true; + #pragma unroll_loop_start + for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { + plane = clippingPlanes[ i ]; + clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped; + } + #pragma unroll_loop_end + if ( clipped ) discard; + #endif +#endif`,f_=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; +#endif`,d_=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,p_=`#if NUM_CLIPPING_PLANES > 0 + vClipPosition = - mvPosition.xyz; +#endif`,m_=`#if defined( USE_COLOR_ALPHA ) + diffuseColor *= vColor; +#elif defined( USE_COLOR ) + diffuseColor.rgb *= vColor; +#endif`,g_=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) + varying vec3 vColor; +#endif`,v_=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + varying vec3 vColor; +#endif`,x_=`#if defined( USE_COLOR_ALPHA ) + vColor = vec4( 1.0 ); +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + vColor = vec3( 1.0 ); +#endif +#ifdef USE_COLOR + vColor *= color; +#endif +#ifdef USE_INSTANCING_COLOR + vColor.xyz *= instanceColor.xyz; +#endif`,y_=`#define PI 3.141592653589793 +#define PI2 6.283185307179586 +#define PI_HALF 1.5707963267948966 +#define RECIPROCAL_PI 0.3183098861837907 +#define RECIPROCAL_PI2 0.15915494309189535 +#define EPSILON 1e-6 +#ifndef saturate +#define saturate( a ) clamp( a, 0.0, 1.0 ) +#endif +#define whiteComplement( a ) ( 1.0 - saturate( a ) ) +float pow2( const in float x ) { return x*x; } +vec3 pow2( const in vec3 x ) { return x*x; } +float pow3( const in float x ) { return x*x*x; } +float pow4( const in float x ) { float x2 = x*x; return x2*x2; } +float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); } +float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); } +highp float rand( const in vec2 uv ) { + const highp float a = 12.9898, b = 78.233, c = 43758.5453; + highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI ); + return fract( sin( sn ) * c ); +} +#ifdef HIGH_PRECISION + float precisionSafeLength( vec3 v ) { return length( v ); } +#else + float precisionSafeLength( vec3 v ) { + float maxComponent = max3( abs( v ) ); + return length( v / maxComponent ) * maxComponent; + } +#endif +struct IncidentLight { + vec3 color; + vec3 direction; + bool visible; +}; +struct ReflectedLight { + vec3 directDiffuse; + vec3 directSpecular; + vec3 indirectDiffuse; + vec3 indirectSpecular; +}; +struct GeometricContext { + vec3 position; + vec3 normal; + vec3 viewDir; +#ifdef USE_CLEARCOAT + vec3 clearcoatNormal; +#endif +}; +vec3 transformDirection( in vec3 dir, in mat4 matrix ) { + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); +} +vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) { + return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz ); +} +mat3 transposeMat3( const in mat3 m ) { + mat3 tmp; + tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x ); + tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y ); + tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z ); + return tmp; +} +float luminance( const in vec3 rgb ) { + const vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 ); + return dot( weights, rgb ); +} +bool isPerspectiveMatrix( mat4 m ) { + return m[ 2 ][ 3 ] == - 1.0; +} +vec2 equirectUv( in vec3 dir ) { + float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; + float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; + return vec2( u, v ); +}`,__=`#ifdef ENVMAP_TYPE_CUBE_UV + #define cubeUV_minMipLevel 4.0 + #define cubeUV_minTileSize 16.0 + float getFace( vec3 direction ) { + vec3 absDirection = abs( direction ); + float face = - 1.0; + if ( absDirection.x > absDirection.z ) { + if ( absDirection.x > absDirection.y ) + face = direction.x > 0.0 ? 0.0 : 3.0; + else + face = direction.y > 0.0 ? 1.0 : 4.0; + } else { + if ( absDirection.z > absDirection.y ) + face = direction.z > 0.0 ? 2.0 : 5.0; + else + face = direction.y > 0.0 ? 1.0 : 4.0; + } + return face; + } + vec2 getUV( vec3 direction, float face ) { + vec2 uv; + if ( face == 0.0 ) { + uv = vec2( direction.z, direction.y ) / abs( direction.x ); + } else if ( face == 1.0 ) { + uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); + } else if ( face == 2.0 ) { + uv = vec2( - direction.x, direction.y ) / abs( direction.z ); + } else if ( face == 3.0 ) { + uv = vec2( - direction.z, direction.y ) / abs( direction.x ); + } else if ( face == 4.0 ) { + uv = vec2( - direction.x, direction.z ) / abs( direction.y ); + } else { + uv = vec2( direction.x, direction.y ) / abs( direction.z ); + } + return 0.5 * ( uv + 1.0 ); + } + vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { + float face = getFace( direction ); + float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); + mipInt = max( mipInt, cubeUV_minMipLevel ); + float faceSize = exp2( mipInt ); + vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0; + if ( face > 2.0 ) { + uv.y += faceSize; + face -= 3.0; + } + uv.x += face * faceSize; + uv.x += filterInt * 3.0 * cubeUV_minTileSize; + uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize ); + uv.x *= CUBEUV_TEXEL_WIDTH; + uv.y *= CUBEUV_TEXEL_HEIGHT; + #ifdef texture2DGradEXT + return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; + #else + return texture2D( envMap, uv ).rgb; + #endif + } + #define r0 1.0 + #define v0 0.339 + #define m0 - 2.0 + #define r1 0.8 + #define v1 0.276 + #define m1 - 1.0 + #define r4 0.4 + #define v4 0.046 + #define m4 2.0 + #define r5 0.305 + #define v5 0.016 + #define m5 3.0 + #define r6 0.21 + #define v6 0.0038 + #define m6 4.0 + float roughnessToMip( float roughness ) { + float mip = 0.0; + if ( roughness >= r1 ) { + mip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0; + } else if ( roughness >= r4 ) { + mip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1; + } else if ( roughness >= r5 ) { + mip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4; + } else if ( roughness >= r6 ) { + mip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5; + } else { + mip = - 2.0 * log2( 1.16 * roughness ); } + return mip; + } + vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) { + float mip = clamp( roughnessToMip( roughness ), m0, CUBEUV_MAX_MIP ); + float mipF = fract( mip ); + float mipInt = floor( mip ); + vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt ); + if ( mipF == 0.0 ) { + return vec4( color0, 1.0 ); + } else { + vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 ); + return vec4( mix( color0, color1, mipF ), 1.0 ); + } + } +#endif`,M_=`vec3 transformedNormal = objectNormal; +#ifdef USE_INSTANCING + mat3 m = mat3( instanceMatrix ); + transformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) ); + transformedNormal = m * transformedNormal; +#endif +transformedNormal = normalMatrix * transformedNormal; +#ifdef FLIP_SIDED + transformedNormal = - transformedNormal; +#endif +#ifdef USE_TANGENT + vec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz; + #ifdef FLIP_SIDED + transformedTangent = - transformedTangent; + #endif +#endif`,S_=`#ifdef USE_DISPLACEMENTMAP + uniform sampler2D displacementMap; + uniform float displacementScale; + uniform float displacementBias; +#endif`,w_=`#ifdef USE_DISPLACEMENTMAP + transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias ); +#endif`,b_=`#ifdef USE_EMISSIVEMAP + vec4 emissiveColor = texture2D( emissiveMap, vUv ); + totalEmissiveRadiance *= emissiveColor.rgb; +#endif`,T_=`#ifdef USE_EMISSIVEMAP + uniform sampler2D emissiveMap; +#endif`,A_="gl_FragColor = linearToOutputTexel( gl_FragColor );",E_=`vec4 LinearToLinear( in vec4 value ) { + return value; +} +vec4 LinearTosRGB( in vec4 value ) { + return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a ); +}`,C_=`#ifdef USE_ENVMAP + #ifdef ENV_WORLDPOS + vec3 cameraToFrag; + if ( isOrthographic ) { + cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); + } else { + cameraToFrag = normalize( vWorldPosition - cameraPosition ); + } + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + #ifdef ENVMAP_MODE_REFLECTION + vec3 reflectVec = reflect( cameraToFrag, worldNormal ); + #else + vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio ); + #endif + #else + vec3 reflectVec = vReflect; + #endif + #ifdef ENVMAP_TYPE_CUBE + vec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) ); + #elif defined( ENVMAP_TYPE_CUBE_UV ) + vec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 ); + #else + vec4 envColor = vec4( 0.0 ); + #endif + #ifdef ENVMAP_BLENDING_MULTIPLY + outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity ); + #elif defined( ENVMAP_BLENDING_MIX ) + outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity ); + #elif defined( ENVMAP_BLENDING_ADD ) + outgoingLight += envColor.xyz * specularStrength * reflectivity; + #endif +#endif`,P_=`#ifdef USE_ENVMAP + uniform float envMapIntensity; + uniform float flipEnvMap; + #ifdef ENVMAP_TYPE_CUBE + uniform samplerCube envMap; + #else + uniform sampler2D envMap; + #endif + +#endif`,L_=`#ifdef USE_ENVMAP + uniform float reflectivity; + #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) + #define ENV_WORLDPOS + #endif + #ifdef ENV_WORLDPOS + varying vec3 vWorldPosition; + uniform float refractionRatio; + #else + varying vec3 vReflect; + #endif +#endif`,R_=`#ifdef USE_ENVMAP + #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG ) + #define ENV_WORLDPOS + #endif + #ifdef ENV_WORLDPOS + + varying vec3 vWorldPosition; + #else + varying vec3 vReflect; + uniform float refractionRatio; + #endif +#endif`,I_=`#ifdef USE_ENVMAP + #ifdef ENV_WORLDPOS + vWorldPosition = worldPosition.xyz; + #else + vec3 cameraToVertex; + if ( isOrthographic ) { + cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); + } else { + cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); + } + vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); + #ifdef ENVMAP_MODE_REFLECTION + vReflect = reflect( cameraToVertex, worldNormal ); + #else + vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); + #endif + #endif +#endif`,D_=`#ifdef USE_FOG + vFogDepth = - mvPosition.z; +#endif`,z_=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,N_=`#ifdef USE_FOG + #ifdef FOG_EXP2 + float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); + #else + float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); + #endif + gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); +#endif`,F_=`#ifdef USE_FOG + uniform vec3 fogColor; + varying float vFogDepth; + #ifdef FOG_EXP2 + uniform float fogDensity; + #else + uniform float fogNear; + uniform float fogFar; + #endif +#endif`,O_=`#ifdef USE_GRADIENTMAP + uniform sampler2D gradientMap; +#endif +vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { + float dotNL = dot( normal, lightDirection ); + vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); + #ifdef USE_GRADIENTMAP + return vec3( texture2D( gradientMap, coord ).r ); + #else + return ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 ); + #endif +}`,B_=`#ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vUv2 ); + vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; + reflectedLight.indirectDiffuse += lightMapIrradiance; +#endif`,k_=`#ifdef USE_LIGHTMAP + uniform sampler2D lightMap; + uniform float lightMapIntensity; +#endif`,U_=`vec3 diffuse = vec3( 1.0 ); +GeometricContext geometry; +geometry.position = mvPosition.xyz; +geometry.normal = normalize( transformedNormal ); +geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz ); +GeometricContext backGeometry; +backGeometry.position = geometry.position; +backGeometry.normal = -geometry.normal; +backGeometry.viewDir = geometry.viewDir; +vLightFront = vec3( 0.0 ); +vIndirectFront = vec3( 0.0 ); +#ifdef DOUBLE_SIDED + vLightBack = vec3( 0.0 ); + vIndirectBack = vec3( 0.0 ); +#endif +IncidentLight directLight; +float dotNL; +vec3 directLightColor_Diffuse; +vIndirectFront += getAmbientLightIrradiance( ambientLightColor ); +vIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal ); +#ifdef DOUBLE_SIDED + vIndirectBack += getAmbientLightIrradiance( ambientLightColor ); + vIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal ); +#endif +#if NUM_POINT_LIGHTS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { + getPointLightInfo( pointLights[ i ], geometry, directLight ); + dotNL = dot( geometry.normal, directLight.direction ); + directLightColor_Diffuse = directLight.color; + vLightFront += saturate( dotNL ) * directLightColor_Diffuse; + #ifdef DOUBLE_SIDED + vLightBack += saturate( - dotNL ) * directLightColor_Diffuse; + #endif + } + #pragma unroll_loop_end +#endif +#if NUM_SPOT_LIGHTS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { + getSpotLightInfo( spotLights[ i ], geometry, directLight ); + dotNL = dot( geometry.normal, directLight.direction ); + directLightColor_Diffuse = directLight.color; + vLightFront += saturate( dotNL ) * directLightColor_Diffuse; + #ifdef DOUBLE_SIDED + vLightBack += saturate( - dotNL ) * directLightColor_Diffuse; + #endif + } + #pragma unroll_loop_end +#endif +#if NUM_DIR_LIGHTS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { + getDirectionalLightInfo( directionalLights[ i ], geometry, directLight ); + dotNL = dot( geometry.normal, directLight.direction ); + directLightColor_Diffuse = directLight.color; + vLightFront += saturate( dotNL ) * directLightColor_Diffuse; + #ifdef DOUBLE_SIDED + vLightBack += saturate( - dotNL ) * directLightColor_Diffuse; + #endif + } + #pragma unroll_loop_end +#endif +#if NUM_HEMI_LIGHTS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { + vIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal ); + #ifdef DOUBLE_SIDED + vIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal ); + #endif + } + #pragma unroll_loop_end +#endif`,V_=`uniform bool receiveShadow; +uniform vec3 ambientLightColor; +uniform vec3 lightProbe[ 9 ]; +vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { + float x = normal.x, y = normal.y, z = normal.z; + vec3 result = shCoefficients[ 0 ] * 0.886227; + result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; + result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; + result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; + result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; + result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; + result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); + result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; + result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); + return result; +} +vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) { + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); + return irradiance; +} +vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { + vec3 irradiance = ambientLightColor; + return irradiance; +} +float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) { + #if defined ( PHYSICALLY_CORRECT_LIGHTS ) + float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 ); + if ( cutoffDistance > 0.0 ) { + distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) ); + } + return distanceFalloff; + #else + if ( cutoffDistance > 0.0 && decayExponent > 0.0 ) { + return pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent ); + } + return 1.0; + #endif +} +float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) { + return smoothstep( coneCosine, penumbraCosine, angleCosine ); +} +#if NUM_DIR_LIGHTS > 0 + struct DirectionalLight { + vec3 direction; + vec3 color; + }; + uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; + void getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) { + light.color = directionalLight.color; + light.direction = directionalLight.direction; + light.visible = true; + } +#endif +#if NUM_POINT_LIGHTS > 0 + struct PointLight { + vec3 position; + vec3 color; + float distance; + float decay; + }; + uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; + void getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) { + vec3 lVector = pointLight.position - geometry.position; + light.direction = normalize( lVector ); + float lightDistance = length( lVector ); + light.color = pointLight.color; + light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay ); + light.visible = ( light.color != vec3( 0.0 ) ); + } +#endif +#if NUM_SPOT_LIGHTS > 0 + struct SpotLight { + vec3 position; + vec3 direction; + vec3 color; + float distance; + float decay; + float coneCos; + float penumbraCos; + }; + uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; + void getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) { + vec3 lVector = spotLight.position - geometry.position; + light.direction = normalize( lVector ); + float angleCos = dot( light.direction, spotLight.direction ); + float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos ); + if ( spotAttenuation > 0.0 ) { + float lightDistance = length( lVector ); + light.color = spotLight.color * spotAttenuation; + light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay ); + light.visible = ( light.color != vec3( 0.0 ) ); + } else { + light.color = vec3( 0.0 ); + light.visible = false; + } + } +#endif +#if NUM_RECT_AREA_LIGHTS > 0 + struct RectAreaLight { + vec3 color; + vec3 position; + vec3 halfWidth; + vec3 halfHeight; + }; + uniform sampler2D ltc_1; uniform sampler2D ltc_2; + uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ]; +#endif +#if NUM_HEMI_LIGHTS > 0 + struct HemisphereLight { + vec3 direction; + vec3 skyColor; + vec3 groundColor; + }; + uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ]; + vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) { + float dotNL = dot( normal, hemiLight.direction ); + float hemiDiffuseWeight = 0.5 * dotNL + 0.5; + vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); + return irradiance; + } +#endif`,G_=`#if defined( USE_ENVMAP ) + vec3 getIBLIrradiance( const in vec3 normal ) { + #if defined( ENVMAP_TYPE_CUBE_UV ) + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + vec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 ); + return PI * envMapColor.rgb * envMapIntensity; + #else + return vec3( 0.0 ); + #endif + } + vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { + #if defined( ENVMAP_TYPE_CUBE_UV ) + vec3 reflectVec = reflect( - viewDir, normal ); + reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) ); + reflectVec = inverseTransformDirection( reflectVec, viewMatrix ); + vec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness ); + return envMapColor.rgb * envMapIntensity; + #else + return vec3( 0.0 ); + #endif + } +#endif`,H_=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,W_=`varying vec3 vViewPosition; +struct ToonMaterial { + vec3 diffuseColor; +}; +void RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { + vec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color; + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +#define RE_Direct RE_Direct_Toon +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon +#define Material_LightProbeLOD( material ) (0)`,X_=`BlinnPhongMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularColor = specular; +material.specularShininess = shininess; +material.specularStrength = specularStrength;`,q_=`varying vec3 vViewPosition; +struct BlinnPhongMaterial { + vec3 diffuseColor; + vec3 specularColor; + float specularShininess; + float specularStrength; +}; +void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { + float dotNL = saturate( dot( geometry.normal, directLight.direction ) ); + vec3 irradiance = dotNL * directLight.color; + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); + reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength; +} +void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +#define RE_Direct RE_Direct_BlinnPhong +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong +#define Material_LightProbeLOD( material ) (0)`,Y_=`PhysicalMaterial material; +material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); +vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) ); +float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); +material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; +material.roughness = min( material.roughness, 1.0 ); +#ifdef IOR + #ifdef SPECULAR + float specularIntensityFactor = specularIntensity; + vec3 specularColorFactor = specularColor; + #ifdef USE_SPECULARINTENSITYMAP + specularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a; + #endif + #ifdef USE_SPECULARCOLORMAP + specularColorFactor *= texture2D( specularColorMap, vUv ).rgb; + #endif + material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); + #else + float specularIntensityFactor = 1.0; + vec3 specularColorFactor = vec3( 1.0 ); + material.specularF90 = 1.0; + #endif + material.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); +#else + material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); + material.specularF90 = 1.0; +#endif +#ifdef USE_CLEARCOAT + material.clearcoat = clearcoat; + material.clearcoatRoughness = clearcoatRoughness; + material.clearcoatF0 = vec3( 0.04 ); + material.clearcoatF90 = 1.0; + #ifdef USE_CLEARCOATMAP + material.clearcoat *= texture2D( clearcoatMap, vUv ).x; + #endif + #ifdef USE_CLEARCOAT_ROUGHNESSMAP + material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y; + #endif + material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); + material.clearcoatRoughness += geometryRoughness; + material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); +#endif +#ifdef USE_IRIDESCENCE + material.iridescence = iridescence; + material.iridescenceIOR = iridescenceIOR; + #ifdef USE_IRIDESCENCEMAP + material.iridescence *= texture2D( iridescenceMap, vUv ).r; + #endif + #ifdef USE_IRIDESCENCE_THICKNESSMAP + material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vUv ).g + iridescenceThicknessMinimum; + #else + material.iridescenceThickness = iridescenceThicknessMaximum; + #endif +#endif +#ifdef USE_SHEEN + material.sheenColor = sheenColor; + #ifdef USE_SHEENCOLORMAP + material.sheenColor *= texture2D( sheenColorMap, vUv ).rgb; + #endif + material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); + #ifdef USE_SHEENROUGHNESSMAP + material.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a; + #endif +#endif`,Z_=`struct PhysicalMaterial { + vec3 diffuseColor; + float roughness; + vec3 specularColor; + float specularF90; + #ifdef USE_CLEARCOAT + float clearcoat; + float clearcoatRoughness; + vec3 clearcoatF0; + float clearcoatF90; + #endif + #ifdef USE_IRIDESCENCE + float iridescence; + float iridescenceIOR; + float iridescenceThickness; + vec3 iridescenceFresnel; + vec3 iridescenceF0; + #endif + #ifdef USE_SHEEN + vec3 sheenColor; + float sheenRoughness; + #endif +}; +vec3 clearcoatSpecular = vec3( 0.0 ); +vec3 sheenSpecular = vec3( 0.0 ); +float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness) { + float dotNV = saturate( dot( normal, viewDir ) ); + float r2 = roughness * roughness; + float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; + float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; + float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); + return saturate( DG * RECIPROCAL_PI ); +} +vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { + float dotNV = saturate( dot( normal, viewDir ) ); + const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); + const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); + vec4 r = roughness * c0 + c1; + float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; + vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; + return fab; +} +vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { + vec2 fab = DFGApprox( normal, viewDir, roughness ); + return specularColor * fab.x + specularF90 * fab.y; +} +#ifdef USE_IRIDESCENCE +void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { +#else +void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { +#endif + vec2 fab = DFGApprox( normal, viewDir, roughness ); + #ifdef USE_IRIDESCENCE + vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); + #else + vec3 Fr = specularColor; + #endif + vec3 FssEss = Fr * fab.x + specularF90 * fab.y; + float Ess = fab.x + fab.y; + float Ems = 1.0 - Ess; + vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); + singleScatter += FssEss; + multiScatter += Fms * Ems; +} +#if NUM_RECT_AREA_LIGHTS > 0 + void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + vec3 normal = geometry.normal; + vec3 viewDir = geometry.viewDir; + vec3 position = geometry.position; + vec3 lightPos = rectAreaLight.position; + vec3 halfWidth = rectAreaLight.halfWidth; + vec3 halfHeight = rectAreaLight.halfHeight; + vec3 lightColor = rectAreaLight.color; + float roughness = material.roughness; + vec3 rectCoords[ 4 ]; + rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; + rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; + rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; + vec2 uv = LTC_Uv( normal, viewDir, roughness ); + vec4 t1 = texture2D( ltc_1, uv ); + vec4 t2 = texture2D( ltc_2, uv ); + mat3 mInv = mat3( + vec3( t1.x, 0, t1.y ), + vec3( 0, 1, 0 ), + vec3( t1.z, 0, t1.w ) + ); + vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); + reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); + reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); + } +#endif +void RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + float dotNL = saturate( dot( geometry.normal, directLight.direction ) ); + vec3 irradiance = dotNL * directLight.color; + #ifdef USE_CLEARCOAT + float dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) ); + vec3 ccIrradiance = dotNLcc * directLight.color; + clearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); + #endif + #ifdef USE_SHEEN + sheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness ); + #endif + #ifdef USE_IRIDESCENCE + reflectedLight.directSpecular += irradiance * BRDF_GGX_Iridescence( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness ); + #else + reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness ); + #endif + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { + #ifdef USE_CLEARCOAT + clearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); + #endif + #ifdef USE_SHEEN + sheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness ); + #endif + vec3 singleScattering = vec3( 0.0 ); + vec3 multiScattering = vec3( 0.0 ); + vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; + #ifdef USE_IRIDESCENCE + computeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); + #else + computeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); + #endif + vec3 totalScattering = singleScattering + multiScattering; + vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); + reflectedLight.indirectSpecular += radiance * singleScattering; + reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; + reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; +} +#define RE_Direct RE_Direct_Physical +#define RE_Direct_RectArea RE_Direct_RectArea_Physical +#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical +#define RE_IndirectSpecular RE_IndirectSpecular_Physical +float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { + return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); +}`,J_=` +GeometricContext geometry; +geometry.position = - vViewPosition; +geometry.normal = normal; +geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); +#ifdef USE_CLEARCOAT + geometry.clearcoatNormal = clearcoatNormal; +#endif +#ifdef USE_IRIDESCENCE + float dotNVi = saturate( dot( normal, geometry.viewDir ) ); + if ( material.iridescenceThickness == 0.0 ) { + material.iridescence = 0.0; + } else { + material.iridescence = saturate( material.iridescence ); + } + if ( material.iridescence > 0.0 ) { + material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor ); + material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi ); + } +#endif +IncidentLight directLight; +#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) + PointLight pointLight; + #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 + PointLightShadow pointLightShadow; + #endif + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { + pointLight = pointLights[ i ]; + getPointLightInfo( pointLight, geometry, directLight ); + #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) + pointLightShadow = pointLightShadows[ i ]; + directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; + #endif + RE_Direct( directLight, geometry, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) + SpotLight spotLight; + #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 + SpotLightShadow spotLightShadow; + #endif + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { + spotLight = spotLights[ i ]; + getSpotLightInfo( spotLight, geometry, directLight ); + #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) + spotLightShadow = spotLightShadows[ i ]; + directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0; + #endif + RE_Direct( directLight, geometry, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) + DirectionalLight directionalLight; + #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 + DirectionalLightShadow directionalLightShadow; + #endif + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { + directionalLight = directionalLights[ i ]; + getDirectionalLightInfo( directionalLight, geometry, directLight ); + #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) + directionalLightShadow = directionalLightShadows[ i ]; + directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; + #endif + RE_Direct( directLight, geometry, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) + RectAreaLight rectAreaLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) { + rectAreaLight = rectAreaLights[ i ]; + RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if defined( RE_IndirectDiffuse ) + vec3 iblIrradiance = vec3( 0.0 ); + vec3 irradiance = getAmbientLightIrradiance( ambientLightColor ); + irradiance += getLightProbeIrradiance( lightProbe, geometry.normal ); + #if ( NUM_HEMI_LIGHTS > 0 ) + #pragma unroll_loop_start + for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { + irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal ); + } + #pragma unroll_loop_end + #endif +#endif +#if defined( RE_IndirectSpecular ) + vec3 radiance = vec3( 0.0 ); + vec3 clearcoatRadiance = vec3( 0.0 ); +#endif`,j_=`#if defined( RE_IndirectDiffuse ) + #ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vUv2 ); + vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; + irradiance += lightMapIrradiance; + #endif + #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV ) + iblIrradiance += getIBLIrradiance( geometry.normal ); + #endif +#endif +#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) + radiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness ); + #ifdef USE_CLEARCOAT + clearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness ); + #endif +#endif`,Q_=`#if defined( RE_IndirectDiffuse ) + RE_IndirectDiffuse( irradiance, geometry, material, reflectedLight ); +#endif +#if defined( RE_IndirectSpecular ) + RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight ); +#endif`,K_=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,$_=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + uniform float logDepthBufFC; + varying float vFragDepth; + varying float vIsPerspective; +#endif`,e1=`#ifdef USE_LOGDEPTHBUF + #ifdef USE_LOGDEPTHBUF_EXT + varying float vFragDepth; + varying float vIsPerspective; + #else + uniform float logDepthBufFC; + #endif +#endif`,t1=`#ifdef USE_LOGDEPTHBUF + #ifdef USE_LOGDEPTHBUF_EXT + vFragDepth = 1.0 + gl_Position.w; + vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); + #else + if ( isPerspectiveMatrix( projectionMatrix ) ) { + gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0; + gl_Position.z *= gl_Position.w; + } + #endif +#endif`,n1=`#ifdef USE_MAP + vec4 sampledDiffuseColor = texture2D( map, vUv ); + #ifdef DECODE_VIDEO_TEXTURE + sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w ); + #endif + diffuseColor *= sampledDiffuseColor; +#endif`,i1=`#ifdef USE_MAP + uniform sampler2D map; +#endif`,r1=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) + vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; +#endif +#ifdef USE_MAP + diffuseColor *= texture2D( map, uv ); +#endif +#ifdef USE_ALPHAMAP + diffuseColor.a *= texture2D( alphaMap, uv ).g; +#endif`,s1=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) + uniform mat3 uvTransform; +#endif +#ifdef USE_MAP + uniform sampler2D map; +#endif +#ifdef USE_ALPHAMAP + uniform sampler2D alphaMap; +#endif`,o1=`float metalnessFactor = metalness; +#ifdef USE_METALNESSMAP + vec4 texelMetalness = texture2D( metalnessMap, vUv ); + metalnessFactor *= texelMetalness.b; +#endif`,a1=`#ifdef USE_METALNESSMAP + uniform sampler2D metalnessMap; +#endif`,l1=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) + vColor *= morphTargetBaseInfluence; + for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { + #if defined( USE_COLOR_ALPHA ) + if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ]; + #elif defined( USE_COLOR ) + if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; + #endif + } +#endif`,c1=`#ifdef USE_MORPHNORMALS + objectNormal *= morphTargetBaseInfluence; + #ifdef MORPHTARGETS_TEXTURE + for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { + if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; + } + #else + objectNormal += morphNormal0 * morphTargetInfluences[ 0 ]; + objectNormal += morphNormal1 * morphTargetInfluences[ 1 ]; + objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; + objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; + #endif +#endif`,u1=`#ifdef USE_MORPHTARGETS + uniform float morphTargetBaseInfluence; + #ifdef MORPHTARGETS_TEXTURE + uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; + uniform sampler2DArray morphTargetsTexture; + uniform ivec2 morphTargetsTextureSize; + vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { + int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; + int y = texelIndex / morphTargetsTextureSize.x; + int x = texelIndex - y * morphTargetsTextureSize.x; + ivec3 morphUV = ivec3( x, y, morphTargetIndex ); + return texelFetch( morphTargetsTexture, morphUV, 0 ); + } + #else + #ifndef USE_MORPHNORMALS + uniform float morphTargetInfluences[ 8 ]; + #else + uniform float morphTargetInfluences[ 4 ]; + #endif + #endif +#endif`,h1=`#ifdef USE_MORPHTARGETS + transformed *= morphTargetBaseInfluence; + #ifdef MORPHTARGETS_TEXTURE + for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { + if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; + } + #else + transformed += morphTarget0 * morphTargetInfluences[ 0 ]; + transformed += morphTarget1 * morphTargetInfluences[ 1 ]; + transformed += morphTarget2 * morphTargetInfluences[ 2 ]; + transformed += morphTarget3 * morphTargetInfluences[ 3 ]; + #ifndef USE_MORPHNORMALS + transformed += morphTarget4 * morphTargetInfluences[ 4 ]; + transformed += morphTarget5 * morphTargetInfluences[ 5 ]; + transformed += morphTarget6 * morphTargetInfluences[ 6 ]; + transformed += morphTarget7 * morphTargetInfluences[ 7 ]; + #endif + #endif +#endif`,f1=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#ifdef FLAT_SHADED + vec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) ); + vec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) ); + vec3 normal = normalize( cross( fdx, fdy ) ); +#else + vec3 normal = normalize( vNormal ); + #ifdef DOUBLE_SIDED + normal = normal * faceDirection; + #endif + #ifdef USE_TANGENT + vec3 tangent = normalize( vTangent ); + vec3 bitangent = normalize( vBitangent ); + #ifdef DOUBLE_SIDED + tangent = tangent * faceDirection; + bitangent = bitangent * faceDirection; + #endif + #if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP ) + mat3 vTBN = mat3( tangent, bitangent, normal ); + #endif + #endif +#endif +vec3 geometryNormal = normal;`,d1=`#ifdef OBJECTSPACE_NORMALMAP + normal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0; + #ifdef FLIP_SIDED + normal = - normal; + #endif + #ifdef DOUBLE_SIDED + normal = normal * faceDirection; + #endif + normal = normalize( normalMatrix * normal ); +#elif defined( TANGENTSPACE_NORMALMAP ) + vec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0; + mapN.xy *= normalScale; + #ifdef USE_TANGENT + normal = normalize( vTBN * mapN ); + #else + normal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection ); + #endif +#elif defined( USE_BUMPMAP ) + normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); +#endif`,p1=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,m1=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,g1=`#ifndef FLAT_SHADED + vNormal = normalize( transformedNormal ); + #ifdef USE_TANGENT + vTangent = normalize( transformedTangent ); + vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); + #endif +#endif`,v1=`#ifdef USE_NORMALMAP + uniform sampler2D normalMap; + uniform vec2 normalScale; +#endif +#ifdef OBJECTSPACE_NORMALMAP + uniform mat3 normalMatrix; +#endif +#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) ) + vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) { + vec3 q0 = dFdx( eye_pos.xyz ); + vec3 q1 = dFdy( eye_pos.xyz ); + vec2 st0 = dFdx( vUv.st ); + vec2 st1 = dFdy( vUv.st ); + vec3 N = surf_norm; + vec3 q1perp = cross( q1, N ); + vec3 q0perp = cross( N, q0 ); + vec3 T = q1perp * st0.x + q0perp * st1.x; + vec3 B = q1perp * st0.y + q0perp * st1.y; + float det = max( dot( T, T ), dot( B, B ) ); + float scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det ); + return normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z ); + } +#endif`,x1=`#ifdef USE_CLEARCOAT + vec3 clearcoatNormal = geometryNormal; +#endif`,y1=`#ifdef USE_CLEARCOAT_NORMALMAP + vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0; + clearcoatMapN.xy *= clearcoatNormalScale; + #ifdef USE_TANGENT + clearcoatNormal = normalize( vTBN * clearcoatMapN ); + #else + clearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection ); + #endif +#endif`,_1=`#ifdef USE_CLEARCOATMAP + uniform sampler2D clearcoatMap; +#endif +#ifdef USE_CLEARCOAT_ROUGHNESSMAP + uniform sampler2D clearcoatRoughnessMap; +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + uniform sampler2D clearcoatNormalMap; + uniform vec2 clearcoatNormalScale; +#endif`,M1=`#ifdef USE_IRIDESCENCEMAP + uniform sampler2D iridescenceMap; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform sampler2D iridescenceThicknessMap; +#endif`,S1=`#ifdef OPAQUE +diffuseColor.a = 1.0; +#endif +#ifdef USE_TRANSMISSION +diffuseColor.a *= transmissionAlpha + 0.1; +#endif +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,w1=`vec3 packNormalToRGB( const in vec3 normal ) { + return normalize( normal ) * 0.5 + 0.5; +} +vec3 unpackRGBToNormal( const in vec3 rgb ) { + return 2.0 * rgb.xyz - 1.0; +} +const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.; +const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. ); +const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. ); +const float ShiftRight8 = 1. / 256.; +vec4 packDepthToRGBA( const in float v ) { + vec4 r = vec4( fract( v * PackFactors ), v ); + r.yzw -= r.xyz * ShiftRight8; return r * PackUpscale; +} +float unpackRGBAToDepth( const in vec4 v ) { + return dot( v, UnpackFactors ); +} +vec4 pack2HalfToRGBA( vec2 v ) { + vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) ); + return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w ); +} +vec2 unpackRGBATo2Half( vec4 v ) { + return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); +} +float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { + return ( viewZ + near ) / ( near - far ); +} +float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) { + return linearClipZ * ( near - far ) - near; +} +float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { + return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ ); +} +float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) { + return ( near * far ) / ( ( far - near ) * invClipZ - far ); +}`,b1=`#ifdef PREMULTIPLIED_ALPHA + gl_FragColor.rgb *= gl_FragColor.a; +#endif`,T1=`vec4 mvPosition = vec4( transformed, 1.0 ); +#ifdef USE_INSTANCING + mvPosition = instanceMatrix * mvPosition; +#endif +mvPosition = modelViewMatrix * mvPosition; +gl_Position = projectionMatrix * mvPosition;`,A1=`#ifdef DITHERING + gl_FragColor.rgb = dithering( gl_FragColor.rgb ); +#endif`,E1=`#ifdef DITHERING + vec3 dithering( vec3 color ) { + float grid_position = rand( gl_FragCoord.xy ); + vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); + dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); + return color + dither_shift_RGB; + } +#endif`,C1=`float roughnessFactor = roughness; +#ifdef USE_ROUGHNESSMAP + vec4 texelRoughness = texture2D( roughnessMap, vUv ); + roughnessFactor *= texelRoughness.g; +#endif`,P1=`#ifdef USE_ROUGHNESSMAP + uniform sampler2D roughnessMap; +#endif`,L1=`#ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; + varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; + struct DirectionalLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; + varying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ]; + struct SpotLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; + varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; + struct PointLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + float shadowCameraNear; + float shadowCameraFar; + }; + uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; + #endif + float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { + return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); + } + vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { + return unpackRGBATo2Half( texture2D( shadow, uv ) ); + } + float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ + float occlusion = 1.0; + vec2 distribution = texture2DDistribution( shadow, uv ); + float hard_shadow = step( compare , distribution.x ); + if (hard_shadow != 1.0 ) { + float distance = compare - distribution.x ; + float variance = max( 0.00000, distribution.y * distribution.y ); + float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); + } + return occlusion; + } + float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) { + float shadow = 1.0; + shadowCoord.xyz /= shadowCoord.w; + shadowCoord.z += shadowBias; + bvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 ); + bool inFrustum = all( inFrustumVec ); + bvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 ); + bool frustumTest = all( frustumTestVec ); + if ( frustumTest ) { + #if defined( SHADOWMAP_TYPE_PCF ) + vec2 texelSize = vec2( 1.0 ) / shadowMapSize; + float dx0 = - texelSize.x * shadowRadius; + float dy0 = - texelSize.y * shadowRadius; + float dx1 = + texelSize.x * shadowRadius; + float dy1 = + texelSize.y * shadowRadius; + float dx2 = dx0 / 2.0; + float dy2 = dy0 / 2.0; + float dx3 = dx1 / 2.0; + float dy3 = dy1 / 2.0; + shadow = ( + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) + ) * ( 1.0 / 17.0 ); + #elif defined( SHADOWMAP_TYPE_PCF_SOFT ) + vec2 texelSize = vec2( 1.0 ) / shadowMapSize; + float dx = texelSize.x; + float dy = texelSize.y; + vec2 uv = shadowCoord.xy; + vec2 f = fract( uv * shadowMapSize + 0.5 ); + uv -= f * texelSize; + shadow = ( + texture2DCompare( shadowMap, uv, shadowCoord.z ) + + texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + + texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + + mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), + f.x ) + + mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), + f.x ) + + mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), + f.y ) + + mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), + f.y ) + + mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), + f.x ), + mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), + f.x ), + f.y ) + ) * ( 1.0 / 9.0 ); + #elif defined( SHADOWMAP_TYPE_VSM ) + shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); + #else + shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); + #endif + } + return shadow; + } + vec2 cubeToUV( vec3 v, float texelSizeY ) { + vec3 absV = abs( v ); + float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); + absV *= scaleToCube; + v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); + vec2 planar = v.xy; + float almostATexel = 1.5 * texelSizeY; + float almostOne = 1.0 - almostATexel; + if ( absV.z >= almostOne ) { + if ( v.z > 0.0 ) + planar.x = 4.0 - v.x; + } else if ( absV.x >= almostOne ) { + float signX = sign( v.x ); + planar.x = v.z * signX + 2.0 * signX; + } else if ( absV.y >= almostOne ) { + float signY = sign( v.y ); + planar.x = v.x + 2.0 * signY + 2.0; + planar.y = v.z * signY - 2.0; + } + return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); + } + float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { + vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); + vec3 lightToPosition = shadowCoord.xyz; + float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; + vec3 bd3D = normalize( lightToPosition ); + #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) + vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; + return ( + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) + ) * ( 1.0 / 9.0 ); + #else + return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); + #endif + } +#endif`,R1=`#ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; + varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; + struct DirectionalLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + uniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ]; + varying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ]; + struct SpotLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ]; + varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; + struct PointLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + float shadowCameraNear; + float shadowCameraFar; + }; + uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; + #endif +#endif`,I1=`#ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 + vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); + vec4 shadowWorldPosition; + #endif + #if NUM_DIR_LIGHT_SHADOWS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { + shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); + vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { + shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 ); + vSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { + shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); + vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end + #endif +#endif`,D1=`float getShadowMask() { + float shadow = 1.0; + #ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + DirectionalLightShadow directionalLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { + directionalLight = directionalLightShadows[ i ]; + shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; + } + #pragma unroll_loop_end + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + SpotLightShadow spotLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { + spotLight = spotLightShadows[ i ]; + shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0; + } + #pragma unroll_loop_end + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + PointLightShadow pointLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { + pointLight = pointLightShadows[ i ]; + shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0; + } + #pragma unroll_loop_end + #endif + #endif + return shadow; +}`,z1=`#ifdef USE_SKINNING + mat4 boneMatX = getBoneMatrix( skinIndex.x ); + mat4 boneMatY = getBoneMatrix( skinIndex.y ); + mat4 boneMatZ = getBoneMatrix( skinIndex.z ); + mat4 boneMatW = getBoneMatrix( skinIndex.w ); +#endif`,N1=`#ifdef USE_SKINNING + uniform mat4 bindMatrix; + uniform mat4 bindMatrixInverse; + uniform highp sampler2D boneTexture; + uniform int boneTextureSize; + mat4 getBoneMatrix( const in float i ) { + float j = i * 4.0; + float x = mod( j, float( boneTextureSize ) ); + float y = floor( j / float( boneTextureSize ) ); + float dx = 1.0 / float( boneTextureSize ); + float dy = 1.0 / float( boneTextureSize ); + y = dy * ( y + 0.5 ); + vec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) ); + vec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) ); + vec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) ); + vec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) ); + mat4 bone = mat4( v1, v2, v3, v4 ); + return bone; + } +#endif`,F1=`#ifdef USE_SKINNING + vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); + vec4 skinned = vec4( 0.0 ); + skinned += boneMatX * skinVertex * skinWeight.x; + skinned += boneMatY * skinVertex * skinWeight.y; + skinned += boneMatZ * skinVertex * skinWeight.z; + skinned += boneMatW * skinVertex * skinWeight.w; + transformed = ( bindMatrixInverse * skinned ).xyz; +#endif`,O1=`#ifdef USE_SKINNING + mat4 skinMatrix = mat4( 0.0 ); + skinMatrix += skinWeight.x * boneMatX; + skinMatrix += skinWeight.y * boneMatY; + skinMatrix += skinWeight.z * boneMatZ; + skinMatrix += skinWeight.w * boneMatW; + skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; + objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; + #ifdef USE_TANGENT + objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; + #endif +#endif`,B1=`float specularStrength; +#ifdef USE_SPECULARMAP + vec4 texelSpecular = texture2D( specularMap, vUv ); + specularStrength = texelSpecular.r; +#else + specularStrength = 1.0; +#endif`,k1=`#ifdef USE_SPECULARMAP + uniform sampler2D specularMap; +#endif`,U1=`#if defined( TONE_MAPPING ) + gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); +#endif`,V1=`#ifndef saturate +#define saturate( a ) clamp( a, 0.0, 1.0 ) +#endif +uniform float toneMappingExposure; +vec3 LinearToneMapping( vec3 color ) { + return toneMappingExposure * color; +} +vec3 ReinhardToneMapping( vec3 color ) { + color *= toneMappingExposure; + return saturate( color / ( vec3( 1.0 ) + color ) ); +} +vec3 OptimizedCineonToneMapping( vec3 color ) { + color *= toneMappingExposure; + color = max( vec3( 0.0 ), color - 0.004 ); + return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) ); +} +vec3 RRTAndODTFit( vec3 v ) { + vec3 a = v * ( v + 0.0245786 ) - 0.000090537; + vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081; + return a / b; +} +vec3 ACESFilmicToneMapping( vec3 color ) { + const mat3 ACESInputMat = mat3( + vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ), + vec3( 0.04823, 0.01566, 0.83777 ) + ); + const mat3 ACESOutputMat = mat3( + vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ), + vec3( -0.07367, -0.00605, 1.07602 ) + ); + color *= toneMappingExposure / 0.6; + color = ACESInputMat * color; + color = RRTAndODTFit( color ); + color = ACESOutputMat * color; + return saturate( color ); +} +vec3 CustomToneMapping( vec3 color ) { return color; }`,G1=`#ifdef USE_TRANSMISSION + float transmissionAlpha = 1.0; + float transmissionFactor = transmission; + float thicknessFactor = thickness; + #ifdef USE_TRANSMISSIONMAP + transmissionFactor *= texture2D( transmissionMap, vUv ).r; + #endif + #ifdef USE_THICKNESSMAP + thicknessFactor *= texture2D( thicknessMap, vUv ).g; + #endif + vec3 pos = vWorldPosition; + vec3 v = normalize( cameraPosition - pos ); + vec3 n = inverseTransformDirection( normal, viewMatrix ); + vec4 transmission = getIBLVolumeRefraction( + n, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90, + pos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor, + attenuationColor, attenuationDistance ); + totalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor ); + transmissionAlpha = mix( transmissionAlpha, transmission.a, transmissionFactor ); +#endif`,H1=`#ifdef USE_TRANSMISSION + uniform float transmission; + uniform float thickness; + uniform float attenuationDistance; + uniform vec3 attenuationColor; + #ifdef USE_TRANSMISSIONMAP + uniform sampler2D transmissionMap; + #endif + #ifdef USE_THICKNESSMAP + uniform sampler2D thicknessMap; + #endif + uniform vec2 transmissionSamplerSize; + uniform sampler2D transmissionSamplerMap; + uniform mat4 modelMatrix; + uniform mat4 projectionMatrix; + varying vec3 vWorldPosition; + vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { + vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); + vec3 modelScale; + modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); + modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); + modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); + return normalize( refractionVector ) * thickness * modelScale; + } + float applyIorToRoughness( const in float roughness, const in float ior ) { + return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); + } + vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { + float framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); + #ifdef texture2DLodEXT + return texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod ); + #else + return texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod ); + #endif + } + vec3 applyVolumeAttenuation( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { + if ( attenuationDistance == 0.0 ) { + return radiance; + } else { + vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; + vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance * radiance; + } + } + vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, + const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, + const in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness, + const in vec3 attenuationColor, const in float attenuationDistance ) { + vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); + vec3 refractedRayExit = position + transmissionRay; + vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + vec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); + vec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance ); + vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); + return vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a ); + } +#endif`,W1=`#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) ) + varying vec2 vUv; +#endif`,X1=`#ifdef USE_UV + #ifdef UVS_VERTEX_ONLY + vec2 vUv; + #else + varying vec2 vUv; + #endif + uniform mat3 uvTransform; +#endif`,q1=`#ifdef USE_UV + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; +#endif`,Y1=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) + varying vec2 vUv2; +#endif`,Z1=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) + attribute vec2 uv2; + varying vec2 vUv2; + uniform mat3 uv2Transform; +#endif`,J1=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP ) + vUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy; +#endif`,j1=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) + vec4 worldPosition = vec4( transformed, 1.0 ); + #ifdef USE_INSTANCING + worldPosition = instanceMatrix * worldPosition; + #endif + worldPosition = modelMatrix * worldPosition; +#endif`;const Q1=`varying vec2 vUv; +uniform mat3 uvTransform; +void main() { + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + gl_Position = vec4( position.xy, 1.0, 1.0 ); +}`,K1=`uniform sampler2D t2D; +varying vec2 vUv; +void main() { + gl_FragColor = texture2D( t2D, vUv ); + #ifdef DECODE_VIDEO_TEXTURE + gl_FragColor = vec4( mix( pow( gl_FragColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), gl_FragColor.rgb * 0.0773993808, vec3( lessThanEqual( gl_FragColor.rgb, vec3( 0.04045 ) ) ) ), gl_FragColor.w ); + #endif + #include + #include +}`,$1=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,eM=`#include +uniform float opacity; +varying vec3 vWorldDirection; +#include +void main() { + vec3 vReflect = vWorldDirection; + #include + gl_FragColor = envColor; + gl_FragColor.a *= opacity; + #include + #include +}`,tM=`#include +#include +#include +#include +#include +#include +#include +varying vec2 vHighPrecisionZW; +void main() { + #include + #include + #ifdef USE_DISPLACEMENTMAP + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + vHighPrecisionZW = gl_Position.zw; +}`,nM=`#if DEPTH_PACKING == 3200 + uniform float opacity; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +varying vec2 vHighPrecisionZW; +void main() { + #include + vec4 diffuseColor = vec4( 1.0 ); + #if DEPTH_PACKING == 3200 + diffuseColor.a = opacity; + #endif + #include + #include + #include + #include + float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5; + #if DEPTH_PACKING == 3200 + gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity ); + #elif DEPTH_PACKING == 3201 + gl_FragColor = packDepthToRGBA( fragCoordZ ); + #endif +}`,iM=`#define DISTANCE +varying vec3 vWorldPosition; +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #ifdef USE_DISPLACEMENTMAP + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + vWorldPosition = worldPosition.xyz; +}`,rM=`#define DISTANCE +uniform vec3 referencePosition; +uniform float nearDistance; +uniform float farDistance; +varying vec3 vWorldPosition; +#include +#include +#include +#include +#include +#include +#include +void main () { + #include + vec4 diffuseColor = vec4( 1.0 ); + #include + #include + #include + float dist = length( vWorldPosition - referencePosition ); + dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); + dist = saturate( dist ); + gl_FragColor = packDepthToRGBA( dist ); +}`,sM=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include +}`,oM=`uniform sampler2D tEquirect; +varying vec3 vWorldDirection; +#include +void main() { + vec3 direction = normalize( vWorldDirection ); + vec2 sampleUV = equirectUv( direction ); + gl_FragColor = texture2D( tEquirect, sampleUV ); + #include + #include +}`,aM=`uniform float scale; +attribute float lineDistance; +varying float vLineDistance; +#include +#include +#include +#include +#include +#include +void main() { + vLineDistance = scale * lineDistance; + #include + #include + #include + #include + #include + #include + #include + #include +}`,lM=`uniform vec3 diffuse; +uniform float opacity; +uniform float dashSize; +uniform float totalSize; +varying float vLineDistance; +#include +#include +#include +#include +#include +void main() { + #include + if ( mod( vLineDistance, totalSize ) > dashSize ) { + discard; + } + vec3 outgoingLight = vec3( 0.0 ); + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + outgoingLight = diffuseColor.rgb; + #include + #include + #include + #include + #include +}`,cM=`#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING ) + #include + #include + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,uM=`uniform vec3 diffuse; +uniform float opacity; +#ifndef FLAT_SHADED + varying vec3 vNormal; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + #include + #include + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + #ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vUv2 ); + reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI; + #else + reflectedLight.indirectDiffuse += vec3( 1.0 ); + #endif + #include + reflectedLight.indirectDiffuse *= diffuseColor.rgb; + vec3 outgoingLight = reflectedLight.indirectDiffuse; + #include + #include + #include + #include + #include + #include + #include +}`,hM=`#define LAMBERT +varying vec3 vLightFront; +varying vec3 vIndirectFront; +#ifdef DOUBLE_SIDED + varying vec3 vLightBack; + varying vec3 vIndirectBack; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,fM=`uniform vec3 diffuse; +uniform vec3 emissive; +uniform float opacity; +varying vec3 vLightFront; +varying vec3 vIndirectFront; +#ifdef DOUBLE_SIDED + varying vec3 vLightBack; + varying vec3 vIndirectBack; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #ifdef DOUBLE_SIDED + reflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack; + #else + reflectedLight.indirectDiffuse += vIndirectFront; + #endif + #include + reflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb ); + #ifdef DOUBLE_SIDED + reflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack; + #else + reflectedLight.directDiffuse = vLightFront; + #endif + reflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask(); + #include + vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; + #include + #include + #include + #include + #include + #include + #include +}`,dM=`#define MATCAP +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; +}`,pM=`#define MATCAP +uniform vec3 diffuse; +uniform float opacity; +uniform sampler2D matcap; +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + #include + #include + #include + vec3 viewDir = normalize( vViewPosition ); + vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) ); + vec3 y = cross( viewDir, x ); + vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; + #ifdef USE_MATCAP + vec4 matcapColor = texture2D( matcap, uv ); + #else + vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 ); + #endif + vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb; + #include + #include + #include + #include + #include + #include +}`,mM=`#define NORMAL +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP ) + varying vec3 vViewPosition; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP ) + vViewPosition = - mvPosition.xyz; +#endif +}`,gM=`#define NORMAL +uniform float opacity; +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP ) + varying vec3 vViewPosition; +#endif +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + gl_FragColor = vec4( packNormalToRGB( normal ), opacity ); + #ifdef OPAQUE + gl_FragColor.a = 1.0; + #endif +}`,vM=`#define PHONG +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include + #include +}`,xM=`#define PHONG +uniform vec3 diffuse; +uniform vec3 emissive; +uniform vec3 specular; +uniform float shininess; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance; + #include + #include + #include + #include + #include + #include + #include +}`,yM=`#define STANDARD +varying vec3 vViewPosition; +#ifdef USE_TRANSMISSION + varying vec3 vWorldPosition; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include +#ifdef USE_TRANSMISSION + vWorldPosition = worldPosition.xyz; +#endif +}`,_M=`#define STANDARD +#ifdef PHYSICAL + #define IOR + #define SPECULAR +#endif +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float roughness; +uniform float metalness; +uniform float opacity; +#ifdef IOR + uniform float ior; +#endif +#ifdef SPECULAR + uniform float specularIntensity; + uniform vec3 specularColor; + #ifdef USE_SPECULARINTENSITYMAP + uniform sampler2D specularIntensityMap; + #endif + #ifdef USE_SPECULARCOLORMAP + uniform sampler2D specularColorMap; + #endif +#endif +#ifdef USE_CLEARCOAT + uniform float clearcoat; + uniform float clearcoatRoughness; +#endif +#ifdef USE_IRIDESCENCE + uniform float iridescence; + uniform float iridescenceIOR; + uniform float iridescenceThicknessMinimum; + uniform float iridescenceThicknessMaximum; +#endif +#ifdef USE_SHEEN + uniform vec3 sheenColor; + uniform float sheenRoughness; + #ifdef USE_SHEENCOLORMAP + uniform sampler2D sheenColorMap; + #endif + #ifdef USE_SHEENROUGHNESSMAP + uniform sampler2D sheenRoughnessMap; + #endif +#endif +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; + vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; + #include + vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; + #ifdef USE_SHEEN + float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); + outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular; + #endif + #ifdef USE_CLEARCOAT + float dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) ); + vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); + outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat; + #endif + #include + #include + #include + #include + #include + #include +}`,MM=`#define TOON +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include +}`,SM=`#define TOON +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; + #include + #include + #include + #include + #include + #include +}`,wM=`uniform float size; +uniform float scale; +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + gl_PointSize = size; + #ifdef USE_SIZEATTENUATION + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); + #endif + #include + #include + #include + #include +}`,bM=`uniform vec3 diffuse; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec3 outgoingLight = vec3( 0.0 ); + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + outgoingLight = diffuseColor.rgb; + #include + #include + #include + #include + #include +}`,TM=`#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,AM=`uniform vec3 color; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +void main() { + gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); + #include + #include + #include +}`,EM=`uniform float rotation; +uniform vec2 center; +#include +#include +#include +#include +#include +void main() { + #include + vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); + vec2 scale; + scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); + scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); + #ifndef USE_SIZEATTENUATION + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) scale *= - mvPosition.z; + #endif + vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale; + vec2 rotatedPosition; + rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; + rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; + mvPosition.xy += rotatedPosition; + gl_Position = projectionMatrix * mvPosition; + #include + #include + #include +}`,CM=`uniform vec3 diffuse; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec3 outgoingLight = vec3( 0.0 ); + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + outgoingLight = diffuseColor.rgb; + #include + #include + #include + #include +}`,ot={alphamap_fragment:e_,alphamap_pars_fragment:t_,alphatest_fragment:n_,alphatest_pars_fragment:i_,aomap_fragment:r_,aomap_pars_fragment:s_,begin_vertex:o_,beginnormal_vertex:a_,bsdfs:l_,iridescence_fragment:c_,bumpmap_pars_fragment:u_,clipping_planes_fragment:h_,clipping_planes_pars_fragment:f_,clipping_planes_pars_vertex:d_,clipping_planes_vertex:p_,color_fragment:m_,color_pars_fragment:g_,color_pars_vertex:v_,color_vertex:x_,common:y_,cube_uv_reflection_fragment:__,defaultnormal_vertex:M_,displacementmap_pars_vertex:S_,displacementmap_vertex:w_,emissivemap_fragment:b_,emissivemap_pars_fragment:T_,encodings_fragment:A_,encodings_pars_fragment:E_,envmap_fragment:C_,envmap_common_pars_fragment:P_,envmap_pars_fragment:L_,envmap_pars_vertex:R_,envmap_physical_pars_fragment:G_,envmap_vertex:I_,fog_vertex:D_,fog_pars_vertex:z_,fog_fragment:N_,fog_pars_fragment:F_,gradientmap_pars_fragment:O_,lightmap_fragment:B_,lightmap_pars_fragment:k_,lights_lambert_vertex:U_,lights_pars_begin:V_,lights_toon_fragment:H_,lights_toon_pars_fragment:W_,lights_phong_fragment:X_,lights_phong_pars_fragment:q_,lights_physical_fragment:Y_,lights_physical_pars_fragment:Z_,lights_fragment_begin:J_,lights_fragment_maps:j_,lights_fragment_end:Q_,logdepthbuf_fragment:K_,logdepthbuf_pars_fragment:$_,logdepthbuf_pars_vertex:e1,logdepthbuf_vertex:t1,map_fragment:n1,map_pars_fragment:i1,map_particle_fragment:r1,map_particle_pars_fragment:s1,metalnessmap_fragment:o1,metalnessmap_pars_fragment:a1,morphcolor_vertex:l1,morphnormal_vertex:c1,morphtarget_pars_vertex:u1,morphtarget_vertex:h1,normal_fragment_begin:f1,normal_fragment_maps:d1,normal_pars_fragment:p1,normal_pars_vertex:m1,normal_vertex:g1,normalmap_pars_fragment:v1,clearcoat_normal_fragment_begin:x1,clearcoat_normal_fragment_maps:y1,clearcoat_pars_fragment:_1,iridescence_pars_fragment:M1,output_fragment:S1,packing:w1,premultiplied_alpha_fragment:b1,project_vertex:T1,dithering_fragment:A1,dithering_pars_fragment:E1,roughnessmap_fragment:C1,roughnessmap_pars_fragment:P1,shadowmap_pars_fragment:L1,shadowmap_pars_vertex:R1,shadowmap_vertex:I1,shadowmask_pars_fragment:D1,skinbase_vertex:z1,skinning_pars_vertex:N1,skinning_vertex:F1,skinnormal_vertex:O1,specularmap_fragment:B1,specularmap_pars_fragment:k1,tonemapping_fragment:U1,tonemapping_pars_fragment:V1,transmission_fragment:G1,transmission_pars_fragment:H1,uv_pars_fragment:W1,uv_pars_vertex:X1,uv_vertex:q1,uv2_pars_fragment:Y1,uv2_pars_vertex:Z1,uv2_vertex:J1,worldpos_vertex:j1,background_vert:Q1,background_frag:K1,cube_vert:$1,cube_frag:eM,depth_vert:tM,depth_frag:nM,distanceRGBA_vert:iM,distanceRGBA_frag:rM,equirect_vert:sM,equirect_frag:oM,linedashed_vert:aM,linedashed_frag:lM,meshbasic_vert:cM,meshbasic_frag:uM,meshlambert_vert:hM,meshlambert_frag:fM,meshmatcap_vert:dM,meshmatcap_frag:pM,meshnormal_vert:mM,meshnormal_frag:gM,meshphong_vert:vM,meshphong_frag:xM,meshphysical_vert:yM,meshphysical_frag:_M,meshtoon_vert:MM,meshtoon_frag:SM,points_vert:wM,points_frag:bM,shadow_vert:TM,shadow_frag:AM,sprite_vert:EM,sprite_frag:CM},ye={common:{diffuse:{value:new Ce(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new An},uv2Transform:{value:new An},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new he(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Ce(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Ce(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new An}},sprite:{diffuse:{value:new Ce(16777215)},opacity:{value:1},center:{value:new he(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new An}}},ci={basic:{uniforms:un([ye.common,ye.specularmap,ye.envmap,ye.aomap,ye.lightmap,ye.fog]),vertexShader:ot.meshbasic_vert,fragmentShader:ot.meshbasic_frag},lambert:{uniforms:un([ye.common,ye.specularmap,ye.envmap,ye.aomap,ye.lightmap,ye.emissivemap,ye.fog,ye.lights,{emissive:{value:new Ce(0)}}]),vertexShader:ot.meshlambert_vert,fragmentShader:ot.meshlambert_frag},phong:{uniforms:un([ye.common,ye.specularmap,ye.envmap,ye.aomap,ye.lightmap,ye.emissivemap,ye.bumpmap,ye.normalmap,ye.displacementmap,ye.fog,ye.lights,{emissive:{value:new Ce(0)},specular:{value:new Ce(1118481)},shininess:{value:30}}]),vertexShader:ot.meshphong_vert,fragmentShader:ot.meshphong_frag},standard:{uniforms:un([ye.common,ye.envmap,ye.aomap,ye.lightmap,ye.emissivemap,ye.bumpmap,ye.normalmap,ye.displacementmap,ye.roughnessmap,ye.metalnessmap,ye.fog,ye.lights,{emissive:{value:new Ce(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:ot.meshphysical_vert,fragmentShader:ot.meshphysical_frag},toon:{uniforms:un([ye.common,ye.aomap,ye.lightmap,ye.emissivemap,ye.bumpmap,ye.normalmap,ye.displacementmap,ye.gradientmap,ye.fog,ye.lights,{emissive:{value:new Ce(0)}}]),vertexShader:ot.meshtoon_vert,fragmentShader:ot.meshtoon_frag},matcap:{uniforms:un([ye.common,ye.bumpmap,ye.normalmap,ye.displacementmap,ye.fog,{matcap:{value:null}}]),vertexShader:ot.meshmatcap_vert,fragmentShader:ot.meshmatcap_frag},points:{uniforms:un([ye.points,ye.fog]),vertexShader:ot.points_vert,fragmentShader:ot.points_frag},dashed:{uniforms:un([ye.common,ye.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:ot.linedashed_vert,fragmentShader:ot.linedashed_frag},depth:{uniforms:un([ye.common,ye.displacementmap]),vertexShader:ot.depth_vert,fragmentShader:ot.depth_frag},normal:{uniforms:un([ye.common,ye.bumpmap,ye.normalmap,ye.displacementmap,{opacity:{value:1}}]),vertexShader:ot.meshnormal_vert,fragmentShader:ot.meshnormal_frag},sprite:{uniforms:un([ye.sprite,ye.fog]),vertexShader:ot.sprite_vert,fragmentShader:ot.sprite_frag},background:{uniforms:{uvTransform:{value:new An},t2D:{value:null}},vertexShader:ot.background_vert,fragmentShader:ot.background_frag},cube:{uniforms:un([ye.envmap,{opacity:{value:1}}]),vertexShader:ot.cube_vert,fragmentShader:ot.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:ot.equirect_vert,fragmentShader:ot.equirect_frag},distanceRGBA:{uniforms:un([ye.common,ye.displacementmap,{referencePosition:{value:new I},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:ot.distanceRGBA_vert,fragmentShader:ot.distanceRGBA_frag},shadow:{uniforms:un([ye.lights,ye.fog,{color:{value:new Ce(0)},opacity:{value:1}}]),vertexShader:ot.shadow_vert,fragmentShader:ot.shadow_frag}};ci.physical={uniforms:un([ci.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new he(1,1)},clearcoatNormalMap:{value:null},iridescence:{value:0},iridescenceMap:{value:null},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},sheen:{value:0},sheenColor:{value:new Ce(0)},sheenColorMap:{value:null},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new he},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new Ce(0)},specularIntensity:{value:1},specularIntensityMap:{value:null},specularColor:{value:new Ce(1,1,1)},specularColorMap:{value:null}}]),vertexShader:ot.meshphysical_vert,fragmentShader:ot.meshphysical_frag};function PM(l,e,t,n,i,r){const a=new Ce(0);let c=i===!0?0:1,h,u,d=null,p=0,m=null;function v(x,y){let w=!1,S=y.isScene===!0?y.background:null;S&&S.isTexture&&(S=e.get(S));const A=l.xr,T=A.getSession&&A.getSession();T&&T.environmentBlendMode==="additive"&&(S=null),S===null?_(a,c):S&&S.isColor&&(_(S,1),w=!0),(l.autoClear||w)&&l.clear(l.autoClearColor,l.autoClearDepth,l.autoClearStencil),S&&(S.isCubeTexture||S.mapping===xo)?(u===void 0&&(u=new rn(new Xi(1,1,1),new wi({name:"BackgroundCubeMaterial",uniforms:no(ci.cube.uniforms),vertexShader:ci.cube.vertexShader,fragmentShader:ci.cube.fragmentShader,side:ei,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),u.geometry.deleteAttribute("uv"),u.onBeforeRender=function(C,L,F){this.matrixWorld.copyPosition(F.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),n.update(u)),u.material.uniforms.envMap.value=S,u.material.uniforms.flipEnvMap.value=S.isCubeTexture&&S.isRenderTargetTexture===!1?-1:1,(d!==S||p!==S.version||m!==l.toneMapping)&&(u.material.needsUpdate=!0,d=S,p=S.version,m=l.toneMapping),u.layers.enableAll(),x.unshift(u,u.geometry,u.material,0,0,null)):S&&S.isTexture&&(h===void 0&&(h=new rn(new ns(2,2),new wi({name:"BackgroundMaterial",uniforms:no(ci.background.uniforms),vertexShader:ci.background.vertexShader,fragmentShader:ci.background.fragmentShader,side:eo,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),Object.defineProperty(h.material,"map",{get:function(){return this.uniforms.t2D.value}}),n.update(h)),h.material.uniforms.t2D.value=S,S.matrixAutoUpdate===!0&&S.updateMatrix(),h.material.uniforms.uvTransform.value.copy(S.matrix),(d!==S||p!==S.version||m!==l.toneMapping)&&(h.material.needsUpdate=!0,d=S,p=S.version,m=l.toneMapping),h.layers.enableAll(),x.unshift(h,h.geometry,h.material,0,0,null))}function _(x,y){t.buffers.color.setClear(x.r,x.g,x.b,y,r)}return{getClearColor:function(){return a},setClearColor:function(x,y=1){a.set(x),c=y,_(a,c)},getClearAlpha:function(){return c},setClearAlpha:function(x){c=x,_(a,c)},render:v}}function LM(l,e,t,n){const i=l.getParameter(34921),r=n.isWebGL2?null:e.get("OES_vertex_array_object"),a=n.isWebGL2||r!==null,c={},h=y(null);let u=h,d=!1;function p(W,ne,q,se,H){let B=!1;if(a){const X=x(se,q,ne);u!==X&&(u=X,v(u.object)),B=w(W,se,q,H),B&&S(W,se,q,H)}else{const X=ne.wireframe===!0;(u.geometry!==se.id||u.program!==q.id||u.wireframe!==X)&&(u.geometry=se.id,u.program=q.id,u.wireframe=X,B=!0)}H!==null&&t.update(H,34963),(B||d)&&(d=!1,E(W,ne,q,se),H!==null&&l.bindBuffer(34963,t.get(H).buffer))}function m(){return n.isWebGL2?l.createVertexArray():r.createVertexArrayOES()}function v(W){return n.isWebGL2?l.bindVertexArray(W):r.bindVertexArrayOES(W)}function _(W){return n.isWebGL2?l.deleteVertexArray(W):r.deleteVertexArrayOES(W)}function x(W,ne,q){const se=q.wireframe===!0;let H=c[W.id];H===void 0&&(H={},c[W.id]=H);let B=H[ne.id];B===void 0&&(B={},H[ne.id]=B);let X=B[se];return X===void 0&&(X=y(m()),B[se]=X),X}function y(W){const ne=[],q=[],se=[];for(let H=0;H=0){const be=H[oe];let Be=B[oe];if(Be===void 0&&(oe==="instanceMatrix"&&W.instanceMatrix&&(Be=W.instanceMatrix),oe==="instanceColor"&&W.instanceColor&&(Be=W.instanceColor)),be===void 0||be.attribute!==Be||Be&&be.data!==Be.data)return!0;X++}return u.attributesNum!==X||u.index!==se}function S(W,ne,q,se){const H={},B=ne.attributes;let X=0;const ce=q.getAttributes();for(const oe in ce)if(ce[oe].location>=0){let be=B[oe];be===void 0&&(oe==="instanceMatrix"&&W.instanceMatrix&&(be=W.instanceMatrix),oe==="instanceColor"&&W.instanceColor&&(be=W.instanceColor));const Be={};Be.attribute=be,be&&be.data&&(Be.data=be.data),H[oe]=Be,X++}u.attributes=H,u.attributesNum=X,u.index=se}function A(){const W=u.newAttributes;for(let ne=0,q=W.length;ne=0){let me=H[ce];if(me===void 0&&(ce==="instanceMatrix"&&W.instanceMatrix&&(me=W.instanceMatrix),ce==="instanceColor"&&W.instanceColor&&(me=W.instanceColor)),me!==void 0){const be=me.normalized,Be=me.itemSize,re=t.get(me);if(re===void 0)continue;const qe=re.buffer,Ve=re.type,He=re.bytesPerElement;if(me.isInterleavedBufferAttribute){const xe=me.data,We=xe.stride,le=me.offset;if(xe.isInstancedInterleavedBuffer){for(let te=0;te0&&l.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";F="mediump"}return F==="mediump"&&l.getShaderPrecisionFormat(35633,36337).precision>0&&l.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const a=typeof WebGL2RenderingContext<"u"&&l instanceof WebGL2RenderingContext||typeof WebGL2ComputeRenderingContext<"u"&&l instanceof WebGL2ComputeRenderingContext;let c=t.precision!==void 0?t.precision:"highp";const h=r(c);h!==c&&(console.warn("THREE.WebGLRenderer:",c,"not supported, using",h,"instead."),c=h);const u=a||e.has("WEBGL_draw_buffers"),d=t.logarithmicDepthBuffer===!0,p=l.getParameter(34930),m=l.getParameter(35660),v=l.getParameter(3379),_=l.getParameter(34076),x=l.getParameter(34921),y=l.getParameter(36347),w=l.getParameter(36348),S=l.getParameter(36349),A=m>0,T=a||e.has("OES_texture_float"),C=A&&T,L=a?l.getParameter(36183):0;return{isWebGL2:a,drawBuffers:u,getMaxAnisotropy:i,getMaxPrecision:r,precision:c,logarithmicDepthBuffer:d,maxTextures:p,maxVertexTextures:m,maxTextureSize:v,maxCubemapSize:_,maxAttributes:x,maxVertexUniforms:y,maxVaryings:w,maxFragmentUniforms:S,vertexTextures:A,floatFragmentTextures:T,floatVertexTextures:C,maxSamples:L}}function DM(l){const e=this;let t=null,n=0,i=!1,r=!1;const a=new fr,c=new An,h={value:null,needsUpdate:!1};this.uniform=h,this.numPlanes=0,this.numIntersection=0,this.init=function(p,m,v){const _=p.length!==0||m||n!==0||i;return i=m,t=d(p,v,0),n=p.length,_},this.beginShadows=function(){r=!0,d(null)},this.endShadows=function(){r=!1,u()},this.setState=function(p,m,v){const _=p.clippingPlanes,x=p.clipIntersection,y=p.clipShadows,w=l.get(p);if(!i||_===null||_.length===0||r&&!y)r?d(null):u();else{const S=r?0:n,A=S*4;let T=w.clippingState||null;h.value=T,T=d(_,m,A,v);for(let C=0;C!==A;++C)T[C]=t[C];w.clippingState=T,this.numIntersection=x?this.numPlanes:0,this.numPlanes+=S}};function u(){h.value!==t&&(h.value=t,h.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function d(p,m,v,_){const x=p!==null?p.length:0;let y=null;if(x!==0){if(y=h.value,_!==!0||y===null){const w=v+x*4,S=m.matrixWorldInverse;c.getNormalMatrix(S),(y===null||y.length0){const u=new M0(h.height/2);return u.fromEquirectangularTexture(l,a),e.set(a,u),a.addEventListener("dispose",i),t(u.texture,a.mapping)}else return null}}return a}function i(a){const c=a.target;c.removeEventListener("dispose",i);const h=e.get(c);h!==void 0&&(e.delete(c),h.dispose())}function r(){e=new WeakMap}return{get:n,dispose:r}}class Aa extends ba{constructor(e=-1,t=1,n=1,i=-1,r=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=i,this.near=r,this.far=a,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,n,i,r,a){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let r=n-e,a=n+e,c=i+t,h=i-t;if(this.view!==null&&this.view.enabled){const u=(this.right-this.left)/this.view.fullWidth/this.zoom,d=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=u*this.view.offsetX,a=r+u*this.view.width,c-=d*this.view.offsetY,h=c-d*this.view.height}this.projectionMatrix.makeOrthographic(r,a,c,h,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}const js=4,rm=[.125,.215,.35,.446,.526,.582],Hr=20,yh=new Aa,sm=new Ce;let _h=null;const Vr=(1+Math.sqrt(5))/2,Us=1/Vr,om=[new I(1,1,1),new I(-1,1,1),new I(1,1,-1),new I(-1,1,-1),new I(0,Vr,Us),new I(0,Vr,-Us),new I(Us,0,Vr),new I(-Us,0,Vr),new I(Vr,Us,0),new I(-Vr,Us,0)];class mf{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,i=100){_h=this._renderer.getRenderTarget(),this._setSize(256);const r=this._allocateTargets();return r.depthBuffer=!0,this._sceneToCubeUV(e,n,i,r),t>0&&this._blur(r,0,0,t),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=cm(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=lm(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?A:0,A,A),d.setRenderTarget(i),x&&d.render(_,c),d.render(e,c)}_.geometry.dispose(),_.material.dispose(),d.toneMapping=m,d.autoClear=p,e.background=y}_textureToCubeUV(e,t){const n=this._renderer,i=e.mapping===gr||e.mapping===vr;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=cm()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=lm());const r=i?this._cubemapMaterial:this._equirectMaterial,a=new rn(this._lodPlanes[0],r),c=r.uniforms;c.envMap.value=e;const h=this._cubeSize;Wl(t,0,0,3*h,2*h),n.setRenderTarget(t),n.render(a,yh)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;for(let i=1;iHr&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${y} samples when the maximum is set to ${Hr}`);const w=[];let S=0;for(let F=0;FA-js?i-A+js:0),L=4*(this._cubeSize-T);Wl(t,C,L,3*T,2*T),h.setRenderTarget(t),h.render(p,yh)}}function NM(l){const e=[],t=[],n=[];let i=l;const r=l-js+1+rm.length;for(let a=0;al-js?h=rm[a-l+js-1]:a===0&&(h=0),n.push(h);const u=1/(c-2),d=-u,p=1+u,m=[d,d,p,d,p,p,d,d,p,p,d,p],v=6,_=6,x=3,y=2,w=1,S=new Float32Array(x*_*v),A=new Float32Array(y*_*v),T=new Float32Array(w*_*v);for(let L=0;L2?0:-1,P=[F,E,0,F+2/3,E,0,F+2/3,E+1,0,F,E,0,F+2/3,E+1,0,F,E+1,0];S.set(P,x*_*L),A.set(m,y*_*L);const O=[L,L,L,L,L,L];T.set(O,w*_*L)}const C=new nt;C.setAttribute("position",new bt(S,x)),C.setAttribute("uv",new bt(A,y)),C.setAttribute("faceIndex",new bt(T,w)),e.push(C),i>js&&i--}return{lodPlanes:e,sizeLods:t,sigmas:n}}function am(l,e,t){const n=new ti(l,e,t);return n.texture.mapping=xo,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function Wl(l,e,t,n,i){l.viewport.set(e,t,n,i),l.scissor.set(e,t,n,i)}function FM(l,e,t){const n=new Float32Array(Hr),i=new I(0,1,0);return new wi({name:"SphericalGaussianBlur",defines:{n:Hr,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${l}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:Uf(),fragmentShader:` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + uniform int samples; + uniform float weights[ n ]; + uniform bool latitudinal; + uniform float dTheta; + uniform float mipInt; + uniform vec3 poleAxis; + + #define ENVMAP_TYPE_CUBE_UV + #include + + vec3 getSample( float theta, vec3 axis ) { + + float cosTheta = cos( theta ); + // Rodrigues' axis-angle rotation + vec3 sampleDirection = vOutputDirection * cosTheta + + cross( axis, vOutputDirection ) * sin( theta ) + + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); + + return bilinearCubeUV( envMap, sampleDirection, mipInt ); + + } + + void main() { + + vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); + + if ( all( equal( axis, vec3( 0.0 ) ) ) ) { + + axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); + + } + + axis = normalize( axis ); + + gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); + + for ( int i = 1; i < n; i++ ) { + + if ( i >= samples ) { + + break; + + } + + float theta = dTheta * float( i ); + gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); + gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); + + } + + } + `,blending:Hi,depthTest:!1,depthWrite:!1})}function lm(){return new wi({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Uf(),fragmentShader:` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + + #include + + void main() { + + vec3 outputDirection = normalize( vOutputDirection ); + vec2 uv = equirectUv( outputDirection ); + + gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); + + } + `,blending:Hi,depthTest:!1,depthWrite:!1})}function cm(){return new wi({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Uf(),fragmentShader:` + + precision mediump float; + precision mediump int; + + uniform float flipEnvMap; + + varying vec3 vOutputDirection; + + uniform samplerCube envMap; + + void main() { + + gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); + + } + `,blending:Hi,depthTest:!1,depthWrite:!1})}function Uf(){return` + + precision mediump float; + precision mediump int; + + attribute float faceIndex; + + varying vec3 vOutputDirection; + + // RH coordinate system; PMREM face-indexing convention + vec3 getDirection( vec2 uv, float face ) { + + uv = 2.0 * uv - 1.0; + + vec3 direction = vec3( uv, 1.0 ); + + if ( face == 0.0 ) { + + direction = direction.zyx; // ( 1, v, u ) pos x + + } else if ( face == 1.0 ) { + + direction = direction.xzy; + direction.xz *= -1.0; // ( -u, 1, -v ) pos y + + } else if ( face == 2.0 ) { + + direction.x *= -1.0; // ( -u, v, 1 ) pos z + + } else if ( face == 3.0 ) { + + direction = direction.zyx; + direction.xz *= -1.0; // ( -1, v, -u ) neg x + + } else if ( face == 4.0 ) { + + direction = direction.xzy; + direction.xy *= -1.0; // ( -u, -1, v ) neg y + + } else if ( face == 5.0 ) { + + direction.z *= -1.0; // ( u, v, -1 ) neg z + + } + + return direction; + + } + + void main() { + + vOutputDirection = getDirection( uv, faceIndex ); + gl_Position = vec4( position, 1.0 ); + + } + `}function OM(l){let e=new WeakMap,t=null;function n(c){if(c&&c.isTexture){const h=c.mapping,u=h===ia||h===ra,d=h===gr||h===vr;if(u||d)if(c.isRenderTargetTexture&&c.needsPMREMUpdate===!0){c.needsPMREMUpdate=!1;let p=e.get(c);return t===null&&(t=new mf(l)),p=u?t.fromEquirectangular(c,p):t.fromCubemap(c,p),e.set(c,p),p.texture}else{if(e.has(c))return e.get(c).texture;{const p=c.image;if(u&&p&&p.height>0||d&&p&&i(p)){t===null&&(t=new mf(l));const m=u?t.fromEquirectangular(c):t.fromCubemap(c);return e.set(c,m),c.addEventListener("dispose",r),m.texture}else return null}}}return c}function i(c){let h=0;const u=6;for(let d=0;de.maxTextureSize&&(U=Math.ceil(O/e.maxTextureSize),O=e.maxTextureSize);const ae=new Float32Array(O*U*4*x),fe=new Sa(ae,O,U,x);fe.type=Gi,fe.needsUpdate=!0;const W=P*4;for(let q=0;q0)return l;const i=e*t;let r=um[i];if(r===void 0&&(r=new Float32Array(i),um[i]=r),e!==0){n.toArray(r,0);for(let a=1,c=0;a!==e;++a)c+=t,l[a].toArray(r,c)}return r}function vn(l,e){if(l.length!==e.length)return!1;for(let t=0,n=l.length;t":" "} ${c}: ${t[a]}`)}return n.join(` +`)}function BS(l){switch(l){case Wi:return["Linear","( value )"];case Tt:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported encoding:",l),["Linear","( value )"]}}function vm(l,e,t){const n=l.getShaderParameter(e,35713),i=l.getShaderInfoLog(e).trim();if(n&&i==="")return"";const r=/ERROR: 0:(\d+)/.exec(i);if(r){const a=parseInt(r[1]);return t.toUpperCase()+` + +`+i+` + +`+OS(l.getShaderSource(e),a)}else return i}function kS(l,e){const t=BS(e);return"vec4 "+l+"( vec4 value ) { return LinearTo"+t[0]+t[1]+"; }"}function US(l,e){let t;switch(e){case Wg:t="Linear";break;case Xg:t="Reinhard";break;case qg:t="OptimizedCineon";break;case If:t="ACESFilmic";break;case Yg:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+l+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function VS(l){return[l.extensionDerivatives||l.envMapCubeUVHeight||l.bumpMap||l.tangentSpaceNormalMap||l.clearcoatNormalMap||l.flatShading||l.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(l.extensionFragDepth||l.logarithmicDepthBuffer)&&l.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",l.extensionDrawBuffers&&l.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(l.extensionShaderTextureLOD||l.envMap||l.transmission)&&l.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Ko).join(` +`)}function GS(l){const e=[];for(const t in l){const n=l[t];n!==!1&&e.push("#define "+t+" "+n)}return e.join(` +`)}function HS(l,e){const t={},n=l.getProgramParameter(e,35721);for(let i=0;i/gm;function gf(l){return l.replace(WS,XS)}function XS(l,e){const t=ot[e];if(t===void 0)throw new Error("Can not resolve #include <"+e+">");return gf(t)}const qS=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,YS=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function _m(l){return l.replace(YS,E0).replace(qS,ZS)}function ZS(l,e,t,n){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),E0(l,e,t,n)}function E0(l,e,t,n){let i="";for(let r=parseInt(e);r0&&(y+=` +`),w=[v,_].filter(Ko).join(` +`),w.length>0&&(w+=` +`)):(y=[Mm(t),"#define SHADER_NAME "+t.shaderName,_,t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.supportsVertexTextures?"#define VERTEX_TEXTURES":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+d:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.displacementMap&&t.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",t.specularColorMap?"#define USE_SPECULARCOLORMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEENCOLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+h:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` +`].filter(Ko).join(` +`),w=[v,Mm(t),"#define SHADER_NAME "+t.shaderName,_,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+u:"",t.envMap?"#define "+d:"",t.envMap?"#define "+p:"",m?"#define CUBEUV_TEXEL_WIDTH "+m.texelWidth:"",m?"#define CUBEUV_TEXEL_HEIGHT "+m.texelHeight:"",m?"#define CUBEUV_MAX_MIP "+m.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",t.specularColorMap?"#define USE_SPECULARCOLORMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEENCOLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+h:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==ui?"#define TONE_MAPPING":"",t.toneMapping!==ui?ot.tonemapping_pars_fragment:"",t.toneMapping!==ui?US("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",ot.encodings_pars_fragment,kS("linearToOutputTexel",t.outputEncoding),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`].filter(Ko).join(` +`)),a=gf(a),a=xm(a,t),a=ym(a,t),c=gf(c),c=xm(c,t),c=ym(c,t),a=_m(a),c=_m(c),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(S=`#version 300 es +`,y=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` +`)+` +`+y,w=["#define varying in",t.glslVersion===df?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===df?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` +`)+` +`+w);const A=S+y+a,T=S+w+c,C=gm(i,35633,A),L=gm(i,35632,T);if(i.attachShader(x,C),i.attachShader(x,L),t.index0AttributeName!==void 0?i.bindAttribLocation(x,0,t.index0AttributeName):t.morphTargets===!0&&i.bindAttribLocation(x,0,"position"),i.linkProgram(x),l.debug.checkShaderErrors){const P=i.getProgramInfoLog(x).trim(),O=i.getShaderInfoLog(C).trim(),U=i.getShaderInfoLog(L).trim();let ae=!0,fe=!0;if(i.getProgramParameter(x,35714)===!1){ae=!1;const W=vm(i,C,"vertex"),ne=vm(i,L,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(x,35715)+` + +Program Info Log: `+P+` +`+W+` +`+ne)}else P!==""?console.warn("THREE.WebGLProgram: Program Info Log:",P):(O===""||U==="")&&(fe=!1);fe&&(this.diagnostics={runnable:ae,programLog:P,vertexShader:{log:O,prefix:y},fragmentShader:{log:U,prefix:w}})}i.deleteShader(C),i.deleteShader(L);let F;this.getUniforms=function(){return F===void 0&&(F=new Sc(i,x)),F};let E;return this.getAttributes=function(){return E===void 0&&(E=HS(i,x)),E},this.destroy=function(){n.releaseStatesOfProgram(this),i.deleteProgram(x),this.program=void 0},this.name=t.shaderName,this.id=FS++,this.cacheKey=e,this.usedTimes=1,this.program=x,this.vertexShader=C,this.fragmentShader=L,this}let tw=0;class nw{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,n=e.fragmentShader,i=this._getShaderStage(t),r=this._getShaderStage(n),a=this._getShaderCacheForMaterial(e);return a.has(i)===!1&&(a.add(i),i.usedTimes++),a.has(r)===!1&&(a.add(r),r.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const n of t)n.usedTimes--,n.usedTimes===0&&this.shaderCache.delete(n.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;return t.has(e)===!1&&t.set(e,new Set),t.get(e)}_getShaderStage(e){const t=this.shaderCache;if(t.has(e)===!1){const n=new iw(e);t.set(e,n)}return t.get(e)}}class iw{constructor(e){this.id=tw++,this.code=e,this.usedTimes=0}}function rw(l,e,t,n,i,r,a){const c=new Kr,h=new nw,u=[],d=i.isWebGL2,p=i.logarithmicDepthBuffer,m=i.vertexTextures;let v=i.precision;const _={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function x(E,P,O,U,ae){const fe=U.fog,W=ae.geometry,ne=E.isMeshStandardMaterial?U.environment:null,q=(E.isMeshStandardMaterial?t:e).get(E.envMap||ne),se=q&&q.mapping===xo?q.image.height:null,H=_[E.type];E.precision!==null&&(v=i.getMaxPrecision(E.precision),v!==E.precision&&console.warn("THREE.WebGLProgram.getParameters:",E.precision,"not supported, using",v,"instead."));const B=W.morphAttributes.position||W.morphAttributes.normal||W.morphAttributes.color,X=B!==void 0?B.length:0;let ce=0;W.morphAttributes.position!==void 0&&(ce=1),W.morphAttributes.normal!==void 0&&(ce=2),W.morphAttributes.color!==void 0&&(ce=3);let oe,me,be,Be;if(H){const We=ci[H];oe=We.vertexShader,me=We.fragmentShader}else oe=E.vertexShader,me=E.fragmentShader,h.update(E),be=h.getVertexShaderID(E),Be=h.getFragmentShaderID(E);const re=l.getRenderTarget(),qe=E.alphaTest>0,Ve=E.clearcoat>0,He=E.iridescence>0;return{isWebGL2:d,shaderID:H,shaderName:E.type,vertexShader:oe,fragmentShader:me,defines:E.defines,customVertexShaderID:be,customFragmentShaderID:Be,isRawShaderMaterial:E.isRawShaderMaterial===!0,glslVersion:E.glslVersion,precision:v,instancing:ae.isInstancedMesh===!0,instancingColor:ae.isInstancedMesh===!0&&ae.instanceColor!==null,supportsVertexTextures:m,outputEncoding:re===null?l.outputEncoding:re.isXRRenderTarget===!0?re.texture.encoding:Wi,map:!!E.map,matcap:!!E.matcap,envMap:!!q,envMapMode:q&&q.mapping,envMapCubeUVHeight:se,lightMap:!!E.lightMap,aoMap:!!E.aoMap,emissiveMap:!!E.emissiveMap,bumpMap:!!E.bumpMap,normalMap:!!E.normalMap,objectSpaceNormalMap:E.normalMapType===p0,tangentSpaceNormalMap:E.normalMapType===cs,decodeVideoTexture:!!E.map&&E.map.isVideoTexture===!0&&E.map.encoding===Tt,clearcoat:Ve,clearcoatMap:Ve&&!!E.clearcoatMap,clearcoatRoughnessMap:Ve&&!!E.clearcoatRoughnessMap,clearcoatNormalMap:Ve&&!!E.clearcoatNormalMap,iridescence:He,iridescenceMap:He&&!!E.iridescenceMap,iridescenceThicknessMap:He&&!!E.iridescenceThicknessMap,displacementMap:!!E.displacementMap,roughnessMap:!!E.roughnessMap,metalnessMap:!!E.metalnessMap,specularMap:!!E.specularMap,specularIntensityMap:!!E.specularIntensityMap,specularColorMap:!!E.specularColorMap,opaque:E.transparent===!1&&E.blending===Zr,alphaMap:!!E.alphaMap,alphaTest:qe,gradientMap:!!E.gradientMap,sheen:E.sheen>0,sheenColorMap:!!E.sheenColorMap,sheenRoughnessMap:!!E.sheenRoughnessMap,transmission:E.transmission>0,transmissionMap:!!E.transmissionMap,thicknessMap:!!E.thicknessMap,combine:E.combine,vertexTangents:!!E.normalMap&&!!W.attributes.tangent,vertexColors:E.vertexColors,vertexAlphas:E.vertexColors===!0&&!!W.attributes.color&&W.attributes.color.itemSize===4,vertexUvs:!!E.map||!!E.bumpMap||!!E.normalMap||!!E.specularMap||!!E.alphaMap||!!E.emissiveMap||!!E.roughnessMap||!!E.metalnessMap||!!E.clearcoatMap||!!E.clearcoatRoughnessMap||!!E.clearcoatNormalMap||!!E.iridescenceMap||!!E.iridescenceThicknessMap||!!E.displacementMap||!!E.transmissionMap||!!E.thicknessMap||!!E.specularIntensityMap||!!E.specularColorMap||!!E.sheenColorMap||!!E.sheenRoughnessMap,uvsVertexOnly:!(E.map||E.bumpMap||E.normalMap||E.specularMap||E.alphaMap||E.emissiveMap||E.roughnessMap||E.metalnessMap||E.clearcoatNormalMap||E.iridescenceMap||E.iridescenceThicknessMap||E.transmission>0||E.transmissionMap||E.thicknessMap||E.specularIntensityMap||E.specularColorMap||E.sheen>0||E.sheenColorMap||E.sheenRoughnessMap)&&!!E.displacementMap,fog:!!fe,useFog:E.fog===!0,fogExp2:fe&&fe.isFogExp2,flatShading:!!E.flatShading,sizeAttenuation:E.sizeAttenuation,logarithmicDepthBuffer:p,skinning:ae.isSkinnedMesh===!0,morphTargets:W.morphAttributes.position!==void 0,morphNormals:W.morphAttributes.normal!==void 0,morphColors:W.morphAttributes.color!==void 0,morphTargetsCount:X,morphTextureStride:ce,numDirLights:P.directional.length,numPointLights:P.point.length,numSpotLights:P.spot.length,numRectAreaLights:P.rectArea.length,numHemiLights:P.hemi.length,numDirLightShadows:P.directionalShadowMap.length,numPointLightShadows:P.pointShadowMap.length,numSpotLightShadows:P.spotShadowMap.length,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:E.dithering,shadowMapEnabled:l.shadowMap.enabled&&O.length>0,shadowMapType:l.shadowMap.type,toneMapping:E.toneMapped?l.toneMapping:ui,physicallyCorrectLights:l.physicallyCorrectLights,premultipliedAlpha:E.premultipliedAlpha,doubleSided:E.side===es,flipSided:E.side===ei,useDepthPacking:!!E.depthPacking,depthPacking:E.depthPacking||0,index0AttributeName:E.index0AttributeName,extensionDerivatives:E.extensions&&E.extensions.derivatives,extensionFragDepth:E.extensions&&E.extensions.fragDepth,extensionDrawBuffers:E.extensions&&E.extensions.drawBuffers,extensionShaderTextureLOD:E.extensions&&E.extensions.shaderTextureLOD,rendererExtensionFragDepth:d||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:d||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:d||n.has("EXT_shader_texture_lod"),customProgramCacheKey:E.customProgramCacheKey()}}function y(E){const P=[];if(E.shaderID?P.push(E.shaderID):(P.push(E.customVertexShaderID),P.push(E.customFragmentShaderID)),E.defines!==void 0)for(const O in E.defines)P.push(O),P.push(E.defines[O]);return E.isRawShaderMaterial===!1&&(w(P,E),S(P,E),P.push(l.outputEncoding)),P.push(E.customProgramCacheKey),P.join()}function w(E,P){E.push(P.precision),E.push(P.outputEncoding),E.push(P.envMapMode),E.push(P.envMapCubeUVHeight),E.push(P.combine),E.push(P.vertexUvs),E.push(P.fogExp2),E.push(P.sizeAttenuation),E.push(P.morphTargetsCount),E.push(P.morphAttributeCount),E.push(P.numDirLights),E.push(P.numPointLights),E.push(P.numSpotLights),E.push(P.numHemiLights),E.push(P.numRectAreaLights),E.push(P.numDirLightShadows),E.push(P.numPointLightShadows),E.push(P.numSpotLightShadows),E.push(P.shadowMapType),E.push(P.toneMapping),E.push(P.numClippingPlanes),E.push(P.numClipIntersection),E.push(P.depthPacking)}function S(E,P){c.disableAll(),P.isWebGL2&&c.enable(0),P.supportsVertexTextures&&c.enable(1),P.instancing&&c.enable(2),P.instancingColor&&c.enable(3),P.map&&c.enable(4),P.matcap&&c.enable(5),P.envMap&&c.enable(6),P.lightMap&&c.enable(7),P.aoMap&&c.enable(8),P.emissiveMap&&c.enable(9),P.bumpMap&&c.enable(10),P.normalMap&&c.enable(11),P.objectSpaceNormalMap&&c.enable(12),P.tangentSpaceNormalMap&&c.enable(13),P.clearcoat&&c.enable(14),P.clearcoatMap&&c.enable(15),P.clearcoatRoughnessMap&&c.enable(16),P.clearcoatNormalMap&&c.enable(17),P.iridescence&&c.enable(18),P.iridescenceMap&&c.enable(19),P.iridescenceThicknessMap&&c.enable(20),P.displacementMap&&c.enable(21),P.specularMap&&c.enable(22),P.roughnessMap&&c.enable(23),P.metalnessMap&&c.enable(24),P.gradientMap&&c.enable(25),P.alphaMap&&c.enable(26),P.alphaTest&&c.enable(27),P.vertexColors&&c.enable(28),P.vertexAlphas&&c.enable(29),P.vertexUvs&&c.enable(30),P.vertexTangents&&c.enable(31),P.uvsVertexOnly&&c.enable(32),P.fog&&c.enable(33),E.push(c.mask),c.disableAll(),P.useFog&&c.enable(0),P.flatShading&&c.enable(1),P.logarithmicDepthBuffer&&c.enable(2),P.skinning&&c.enable(3),P.morphTargets&&c.enable(4),P.morphNormals&&c.enable(5),P.morphColors&&c.enable(6),P.premultipliedAlpha&&c.enable(7),P.shadowMapEnabled&&c.enable(8),P.physicallyCorrectLights&&c.enable(9),P.doubleSided&&c.enable(10),P.flipSided&&c.enable(11),P.useDepthPacking&&c.enable(12),P.dithering&&c.enable(13),P.specularIntensityMap&&c.enable(14),P.specularColorMap&&c.enable(15),P.transmission&&c.enable(16),P.transmissionMap&&c.enable(17),P.thicknessMap&&c.enable(18),P.sheen&&c.enable(19),P.sheenColorMap&&c.enable(20),P.sheenRoughnessMap&&c.enable(21),P.decodeVideoTexture&&c.enable(22),P.opaque&&c.enable(23),E.push(c.mask)}function A(E){const P=_[E.type];let O;if(P){const U=ci[P];O=y0.clone(U.uniforms)}else O=E.uniforms;return O}function T(E,P){let O;for(let U=0,ae=u.length;U0?n.push(w):v.transparent===!0?i.push(w):t.push(w)}function h(p,m,v,_,x,y){const w=a(p,m,v,_,x,y);v.transmission>0?n.unshift(w):v.transparent===!0?i.unshift(w):t.unshift(w)}function u(p,m){t.length>1&&t.sort(p||ow),n.length>1&&n.sort(m||Sm),i.length>1&&i.sort(m||Sm)}function d(){for(let p=e,m=l.length;p=l.get(n).length?(r=new wm,l.get(n).push(r)):r=l.get(n)[i],r}function t(){l=new WeakMap}return{get:e,dispose:t}}function lw(){const l={};return{get:function(e){if(l[e.id]!==void 0)return l[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new I,color:new Ce};break;case"SpotLight":t={position:new I,direction:new I,color:new Ce,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new I,color:new Ce,distance:0,decay:0};break;case"HemisphereLight":t={direction:new I,skyColor:new Ce,groundColor:new Ce};break;case"RectAreaLight":t={color:new Ce,position:new I,halfWidth:new I,halfHeight:new I};break}return l[e.id]=t,t}}}function cw(){const l={};return{get:function(e){if(l[e.id]!==void 0)return l[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new he};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new he};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new he,shadowCameraNear:1,shadowCameraFar:1e3};break}return l[e.id]=t,t}}}let uw=0;function hw(l,e){return(e.castShadow?1:0)-(l.castShadow?1:0)}function fw(l,e){const t=new lw,n=cw(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let d=0;d<9;d++)i.probe.push(new I);const r=new I,a=new tt,c=new tt;function h(d,p){let m=0,v=0,_=0;for(let P=0;P<9;P++)i.probe[P].set(0,0,0);let x=0,y=0,w=0,S=0,A=0,T=0,C=0,L=0;d.sort(hw);const F=p!==!0?Math.PI:1;for(let P=0,O=d.length;P0&&(e.isWebGL2||l.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=ye.LTC_FLOAT_1,i.rectAreaLTC2=ye.LTC_FLOAT_2):l.has("OES_texture_half_float_linear")===!0?(i.rectAreaLTC1=ye.LTC_HALF_1,i.rectAreaLTC2=ye.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=m,i.ambient[1]=v,i.ambient[2]=_;const E=i.hash;(E.directionalLength!==x||E.pointLength!==y||E.spotLength!==w||E.rectAreaLength!==S||E.hemiLength!==A||E.numDirectionalShadows!==T||E.numPointShadows!==C||E.numSpotShadows!==L)&&(i.directional.length=x,i.spot.length=w,i.rectArea.length=S,i.point.length=y,i.hemi.length=A,i.directionalShadow.length=T,i.directionalShadowMap.length=T,i.pointShadow.length=C,i.pointShadowMap.length=C,i.spotShadow.length=L,i.spotShadowMap.length=L,i.directionalShadowMatrix.length=T,i.pointShadowMatrix.length=C,i.spotShadowMatrix.length=L,E.directionalLength=x,E.pointLength=y,E.spotLength=w,E.rectAreaLength=S,E.hemiLength=A,E.numDirectionalShadows=T,E.numPointShadows=C,E.numSpotShadows=L,i.version=uw++)}function u(d,p){let m=0,v=0,_=0,x=0,y=0;const w=p.matrixWorldInverse;for(let S=0,A=d.length;S=t.get(r).length?(c=new bm(l,e),t.get(r).push(c)):c=t.get(r)[a],c}function i(){t=new WeakMap}return{get:n,dispose:i}}class Vf extends hn{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=f0,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class Gf extends hn{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.referencePosition=new I,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.referencePosition.copy(e.referencePosition),this.nearDistance=e.nearDistance,this.farDistance=e.farDistance,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const pw=`void main() { + gl_Position = vec4( position, 1.0 ); +}`,mw=`uniform sampler2D shadow_pass; +uniform vec2 resolution; +uniform float radius; +#include +void main() { + const float samples = float( VSM_SAMPLES ); + float mean = 0.0; + float squared_mean = 0.0; + float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 ); + float uvStart = samples <= 1.0 ? 0.0 : - 1.0; + for ( float i = 0.0; i < samples; i ++ ) { + float uvOffset = uvStart + i * uvStride; + #ifdef HORIZONTAL_PASS + vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) ); + mean += distribution.x; + squared_mean += distribution.y * distribution.y + distribution.x * distribution.x; + #else + float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) ); + mean += depth; + squared_mean += depth * depth; + #endif + } + mean = mean / samples; + squared_mean = squared_mean / samples; + float std_dev = sqrt( squared_mean - mean * mean ); + gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); +}`;function gw(l,e,t){let n=new Nc;const i=new he,r=new he,a=new Mt,c=new Vf({depthPacking:d0}),h=new Gf,u={},d=t.maxTextureSize,p={0:ei,1:eo,2:es},m=new wi({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new he},radius:{value:4}},vertexShader:pw,fragmentShader:mw}),v=m.clone();v.defines.HORIZONTAL_PASS=1;const _=new nt;_.setAttribute("position",new bt(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const x=new rn(_,m),y=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Cf,this.render=function(T,C,L){if(y.enabled===!1||y.autoUpdate===!1&&y.needsUpdate===!1||T.length===0)return;const F=l.getRenderTarget(),E=l.getActiveCubeFace(),P=l.getActiveMipmapLevel(),O=l.state;O.setBlending(Hi),O.buffers.color.setClear(1,1,1,1),O.buffers.depth.setTest(!0),O.setScissorTest(!1);for(let U=0,ae=T.length;Ud||i.y>d)&&(i.x>d&&(r.x=Math.floor(d/ne.x),i.x=r.x*ne.x,W.mapSize.x=r.x),i.y>d&&(r.y=Math.floor(d/ne.y),i.y=r.y*ne.y,W.mapSize.y=r.y)),W.map===null){const se=this.type!==Zs?{minFilter:qt,magFilter:qt}:{};W.map=new ti(i.x,i.y,se),W.map.texture.name=fe.name+".shadowMap",W.camera.updateProjectionMatrix()}l.setRenderTarget(W.map),l.clear();const q=W.getViewportCount();for(let se=0;se0){const ae=O.uuid,fe=C.uuid;let W=u[ae];W===void 0&&(W={},u[ae]=W);let ne=W[fe];ne===void 0&&(ne=O.clone(),W[fe]=ne),O=ne}return O.visible=C.visible,O.wireframe=C.wireframe,P===Zs?O.side=C.shadowSide!==null?C.shadowSide:C.side:O.side=C.shadowSide!==null?C.shadowSide:p[C.side],O.alphaMap=C.alphaMap,O.alphaTest=C.alphaTest,O.clipShadows=C.clipShadows,O.clippingPlanes=C.clippingPlanes,O.clipIntersection=C.clipIntersection,O.displacementMap=C.displacementMap,O.displacementScale=C.displacementScale,O.displacementBias=C.displacementBias,O.wireframeLinewidth=C.wireframeLinewidth,O.linewidth=C.linewidth,L.isPointLight===!0&&O.isMeshDistanceMaterial===!0&&(O.referencePosition.setFromMatrixPosition(L.matrixWorld),O.nearDistance=F,O.farDistance=E),O}function A(T,C,L,F,E){if(T.visible===!1)return;if(T.layers.test(C.layers)&&(T.isMesh||T.isLine||T.isPoints)&&(T.castShadow||T.receiveShadow&&E===Zs)&&(!T.frustumCulled||n.intersectsObject(T))){T.modelViewMatrix.multiplyMatrices(L.matrixWorldInverse,T.matrixWorld);const U=e.update(T),ae=T.material;if(Array.isArray(ae)){const fe=U.groups;for(let W=0,ne=fe.length;W=1):H.indexOf("OpenGL ES")!==-1&&(se=parseFloat(/^OpenGL ES (\d)/.exec(H)[1]),q=se>=2);let B=null,X={};const ce=l.getParameter(3088),oe=l.getParameter(2978),me=new Mt().fromArray(ce),be=new Mt().fromArray(oe);function Be(G,Ee,ie){const Ae=new Uint8Array(4),Te=l.createTexture();l.bindTexture(G,Te),l.texParameteri(G,10241,9728),l.texParameteri(G,10240,9728);for(let ct=0;ctde||N.height>de)&&(ve=de/Math.max(N.width,N.height)),ve<1||R===!0)if(typeof HTMLImageElement<"u"&&N instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&N instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&N instanceof ImageBitmap){const Se=R?Pc:Math.floor,Ye=Se(ve*N.width),K=Se(ve*N.height);x===void 0&&(x=S(Ye,K));const Ne=Q?S(Ye,K):x;return Ne.width=Ye,Ne.height=K,Ne.getContext("2d").drawImage(N,0,0,Ye,K),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+N.width+"x"+N.height+") to ("+Ye+"x"+K+")."),Ne}else return"data"in N&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+N.width+"x"+N.height+")."),N;return N}function T(N){return pf(N.width)&&pf(N.height)}function C(N){return c?!1:N.wrapS!==gn||N.wrapT!==gn||N.minFilter!==qt&&N.minFilter!==Ut}function L(N,R){return N.generateMipmaps&&R&&N.minFilter!==qt&&N.minFilter!==Ut}function F(N){l.generateMipmap(N)}function E(N,R,Q,de,ve=!1){if(c===!1)return R;if(N!==null){if(l[N]!==void 0)return l[N];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+N+"'")}let Se=R;return R===6403&&(Q===5126&&(Se=33326),Q===5131&&(Se=33325),Q===5121&&(Se=33321)),R===33319&&(Q===5126&&(Se=33328),Q===5131&&(Se=33327),Q===5121&&(Se=33323)),R===6408&&(Q===5126&&(Se=34836),Q===5131&&(Se=34842),Q===5121&&(Se=de===Tt&&ve===!1?35907:32856),Q===32819&&(Se=32854),Q===32820&&(Se=32855)),(Se===33325||Se===33326||Se===33327||Se===33328||Se===34842||Se===34836)&&e.get("EXT_color_buffer_float"),Se}function P(N,R,Q){return L(N,Q)===!0||N.isFramebufferTexture&&N.minFilter!==qt&&N.minFilter!==Ut?Math.log2(Math.max(R.width,R.height))+1:N.mipmaps!==void 0&&N.mipmaps.length>0?N.mipmaps.length:N.isCompressedTexture&&Array.isArray(N.image)?R.mipmaps.length:1}function O(N){return N===qt||N===Ac||N===Ec?9728:9729}function U(N){const R=N.target;R.removeEventListener("dispose",U),fe(R),R.isVideoTexture&&_.delete(R)}function ae(N){const R=N.target;R.removeEventListener("dispose",ae),ne(R)}function fe(N){const R=n.get(N);if(R.__webglInit===void 0)return;const Q=N.source,de=y.get(Q);if(de){const ve=de[R.__cacheKey];ve.usedTimes--,ve.usedTimes===0&&W(N),Object.keys(de).length===0&&y.delete(Q)}n.remove(N)}function W(N){const R=n.get(N);l.deleteTexture(R.__webglTexture);const Q=N.source,de=y.get(Q);delete de[R.__cacheKey],a.memory.textures--}function ne(N){const R=N.texture,Q=n.get(N),de=n.get(R);if(de.__webglTexture!==void 0&&(l.deleteTexture(de.__webglTexture),a.memory.textures--),N.depthTexture&&N.depthTexture.dispose(),N.isWebGLCubeRenderTarget)for(let ve=0;ve<6;ve++)l.deleteFramebuffer(Q.__webglFramebuffer[ve]),Q.__webglDepthbuffer&&l.deleteRenderbuffer(Q.__webglDepthbuffer[ve]);else{if(l.deleteFramebuffer(Q.__webglFramebuffer),Q.__webglDepthbuffer&&l.deleteRenderbuffer(Q.__webglDepthbuffer),Q.__webglMultisampledFramebuffer&&l.deleteFramebuffer(Q.__webglMultisampledFramebuffer),Q.__webglColorRenderbuffer)for(let ve=0;ve=h&&console.warn("THREE.WebGLTextures: Trying to use "+N+" texture units while this GPU supports only "+h),q+=1,N}function B(N){const R=[];return R.push(N.wrapS),R.push(N.wrapT),R.push(N.magFilter),R.push(N.minFilter),R.push(N.anisotropy),R.push(N.internalFormat),R.push(N.format),R.push(N.type),R.push(N.generateMipmaps),R.push(N.premultiplyAlpha),R.push(N.flipY),R.push(N.unpackAlignment),R.push(N.encoding),R.join()}function X(N,R){const Q=n.get(N);if(N.isVideoTexture&&xt(N),N.isRenderTargetTexture===!1&&N.version>0&&Q.__version!==N.version){const de=N.image;if(de===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(de.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{Ve(Q,N,R);return}}t.activeTexture(33984+R),t.bindTexture(3553,Q.__webglTexture)}function ce(N,R){const Q=n.get(N);if(N.version>0&&Q.__version!==N.version){Ve(Q,N,R);return}t.activeTexture(33984+R),t.bindTexture(35866,Q.__webglTexture)}function oe(N,R){const Q=n.get(N);if(N.version>0&&Q.__version!==N.version){Ve(Q,N,R);return}t.activeTexture(33984+R),t.bindTexture(32879,Q.__webglTexture)}function me(N,R){const Q=n.get(N);if(N.version>0&&Q.__version!==N.version){He(Q,N,R);return}t.activeTexture(33984+R),t.bindTexture(34067,Q.__webglTexture)}const be={[sa]:10497,[gn]:33071,[oa]:33648},Be={[qt]:9728,[Ac]:9984,[Ec]:9986,[Ut]:9729,[Df]:9985,[ls]:9987};function re(N,R,Q){if(Q?(l.texParameteri(N,10242,be[R.wrapS]),l.texParameteri(N,10243,be[R.wrapT]),(N===32879||N===35866)&&l.texParameteri(N,32882,be[R.wrapR]),l.texParameteri(N,10240,Be[R.magFilter]),l.texParameteri(N,10241,Be[R.minFilter])):(l.texParameteri(N,10242,33071),l.texParameteri(N,10243,33071),(N===32879||N===35866)&&l.texParameteri(N,32882,33071),(R.wrapS!==gn||R.wrapT!==gn)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),l.texParameteri(N,10240,O(R.magFilter)),l.texParameteri(N,10241,O(R.minFilter)),R.minFilter!==qt&&R.minFilter!==Ut&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),e.has("EXT_texture_filter_anisotropic")===!0){const de=e.get("EXT_texture_filter_anisotropic");if(R.type===Gi&&e.has("OES_texture_float_linear")===!1||c===!1&&R.type===to&&e.has("OES_texture_half_float_linear")===!1)return;(R.anisotropy>1||n.get(R).__currentAnisotropy)&&(l.texParameterf(N,de.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(R.anisotropy,i.getMaxAnisotropy())),n.get(R).__currentAnisotropy=R.anisotropy)}}function qe(N,R){let Q=!1;N.__webglInit===void 0&&(N.__webglInit=!0,R.addEventListener("dispose",U));const de=R.source;let ve=y.get(de);ve===void 0&&(ve={},y.set(de,ve));const Se=B(R);if(Se!==N.__cacheKey){ve[Se]===void 0&&(ve[Se]={texture:l.createTexture(),usedTimes:0},a.memory.textures++,Q=!0),ve[Se].usedTimes++;const Ye=ve[N.__cacheKey];Ye!==void 0&&(ve[N.__cacheKey].usedTimes--,Ye.usedTimes===0&&W(R)),N.__cacheKey=Se,N.__webglTexture=ve[Se].texture}return Q}function Ve(N,R,Q){let de=3553;R.isDataArrayTexture&&(de=35866),R.isData3DTexture&&(de=32879);const ve=qe(N,R),Se=R.source;if(t.activeTexture(33984+Q),t.bindTexture(de,N.__webglTexture),Se.version!==Se.__currentVersion||ve===!0){l.pixelStorei(37440,R.flipY),l.pixelStorei(37441,R.premultiplyAlpha),l.pixelStorei(3317,R.unpackAlignment),l.pixelStorei(37443,0);const Ye=C(R)&&T(R.image)===!1;let K=A(R.image,Ye,!1,d);K=yt(R,K);const Ne=T(K)||c,Pe=r.convert(R.format,R.encoding);let Oe=r.convert(R.type),Re=E(R.internalFormat,Pe,Oe,R.encoding,R.isVideoTexture);re(de,R,Ne);let Ke;const ft=R.mipmaps,Rt=c&&R.isVideoTexture!==!0,G=Se.__currentVersion===void 0||ve===!0,Ee=P(R,K,Ne);if(R.isDepthTexture)Re=6402,c?R.type===Gi?Re=36012:R.type===dr?Re=33190:R.type===Jr?Re=35056:Re=33189:R.type===Gi&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),R.format===mr&&Re===6402&&R.type!==zf&&R.type!==dr&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),R.type=dr,Oe=r.convert(R.type)),R.format===ts&&Re===6402&&(Re=34041,R.type!==Jr&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),R.type=Jr,Oe=r.convert(R.type))),G&&(Rt?t.texStorage2D(3553,1,Re,K.width,K.height):t.texImage2D(3553,0,Re,K.width,K.height,0,Pe,Oe,null));else if(R.isDataTexture)if(ft.length>0&&Ne){Rt&&G&&t.texStorage2D(3553,Ee,Re,ft[0].width,ft[0].height);for(let ie=0,Ae=ft.length;ie>=1,Ae>>=1}}else if(ft.length>0&&Ne){Rt&&G&&t.texStorage2D(3553,Ee,Re,ft[0].width,ft[0].height);for(let ie=0,Ae=ft.length;ie0&&G++,t.texStorage2D(34067,G,Ke,K[0].width,K[0].height));for(let ie=0;ie<6;ie++)if(Ye){ft?t.texSubImage2D(34069+ie,0,0,0,K[ie].width,K[ie].height,Oe,Re,K[ie].data):t.texImage2D(34069+ie,0,Ke,K[ie].width,K[ie].height,0,Oe,Re,K[ie].data);for(let Ae=0;Ae0&&ke(N)===!1){const K=Se?R:[R];Q.__webglMultisampledFramebuffer=l.createFramebuffer(),Q.__webglColorRenderbuffer=[],t.bindFramebuffer(36160,Q.__webglMultisampledFramebuffer);for(let Ne=0;Ne0&&ke(N)===!1){const R=N.isWebGLMultipleRenderTargets?N.texture:[N.texture],Q=N.width,de=N.height;let ve=16384;const Se=[],Ye=N.stencilBuffer?33306:36096,K=n.get(N),Ne=N.isWebGLMultipleRenderTargets===!0;if(Ne)for(let Pe=0;Pe0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&R.__useRenderToTexture!==!1}function xt(N){const R=a.render.frame;_.get(N)!==R&&(_.set(N,R),N.update())}function yt(N,R){const Q=N.encoding,de=N.format,ve=N.type;return N.isCompressedTexture===!0||N.isVideoTexture===!0||N.format===Cc||Q!==Wi&&(Q===Tt?c===!1?e.has("EXT_sRGB")===!0&&de===$n?(N.format=Cc,N.minFilter=Ut,N.generateMipmaps=!1):R=Of.sRGBToLinear(R):(de!==$n||ve!==xr)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture encoding:",Q)),R}this.allocateTextureUnit=H,this.resetTextureUnits=se,this.setTexture2D=X,this.setTexture2DArray=ce,this.setTexture3D=oe,this.setTextureCube=me,this.rebindTextures=ge,this.setupRenderTarget=De,this.updateRenderTargetMipmap=_e,this.updateMultisampleRenderTarget=Ze,this.setupDepthRenderbuffer=te,this.setupFrameBufferTexture=xe,this.useMultisampledRTT=ke}function C0(l,e,t){const n=t.isWebGL2;function i(r,a=null){let c;if(r===xr)return 5121;if(r===Qg)return 32819;if(r===Kg)return 32820;if(r===Zg)return 5120;if(r===Jg)return 5122;if(r===zf)return 5123;if(r===jg)return 5124;if(r===dr)return 5125;if(r===Gi)return 5126;if(r===to)return n?5131:(c=e.get("OES_texture_half_float"),c!==null?c.HALF_FLOAT_OES:null);if(r===$g)return 6406;if(r===$n)return 6408;if(r===t0)return 6409;if(r===n0)return 6410;if(r===mr)return 6402;if(r===ts)return 34041;if(r===i0)return 6403;if(r===e0)return console.warn("THREE.WebGLRenderer: THREE.RGBFormat has been removed. Use THREE.RGBAFormat instead. https://github.com/mrdoob/three.js/pull/23228"),6408;if(r===Cc)return c=e.get("EXT_sRGB"),c!==null?c.SRGB_ALPHA_EXT:null;if(r===r0)return 36244;if(r===s0)return 33319;if(r===o0)return 33320;if(r===a0)return 36249;if(r===mc||r===gc||r===vc||r===xc)if(a===Tt)if(c=e.get("WEBGL_compressed_texture_s3tc_srgb"),c!==null){if(r===mc)return c.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(r===gc)return c.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(r===vc)return c.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(r===xc)return c.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(c=e.get("WEBGL_compressed_texture_s3tc"),c!==null){if(r===mc)return c.COMPRESSED_RGB_S3TC_DXT1_EXT;if(r===gc)return c.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(r===vc)return c.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(r===xc)return c.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(r===Xh||r===qh||r===Yh||r===Zh)if(c=e.get("WEBGL_compressed_texture_pvrtc"),c!==null){if(r===Xh)return c.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(r===qh)return c.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(r===Yh)return c.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(r===Zh)return c.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(r===l0)return c=e.get("WEBGL_compressed_texture_etc1"),c!==null?c.COMPRESSED_RGB_ETC1_WEBGL:null;if(r===Jh||r===jh)if(c=e.get("WEBGL_compressed_texture_etc"),c!==null){if(r===Jh)return a===Tt?c.COMPRESSED_SRGB8_ETC2:c.COMPRESSED_RGB8_ETC2;if(r===jh)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:c.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(r===Qh||r===Kh||r===$h||r===ef||r===tf||r===nf||r===rf||r===sf||r===of||r===af||r===lf||r===cf||r===uf||r===hf)if(c=e.get("WEBGL_compressed_texture_astc"),c!==null){if(r===Qh)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:c.COMPRESSED_RGBA_ASTC_4x4_KHR;if(r===Kh)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:c.COMPRESSED_RGBA_ASTC_5x4_KHR;if(r===$h)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:c.COMPRESSED_RGBA_ASTC_5x5_KHR;if(r===ef)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:c.COMPRESSED_RGBA_ASTC_6x5_KHR;if(r===tf)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:c.COMPRESSED_RGBA_ASTC_6x6_KHR;if(r===nf)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:c.COMPRESSED_RGBA_ASTC_8x5_KHR;if(r===rf)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:c.COMPRESSED_RGBA_ASTC_8x6_KHR;if(r===sf)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:c.COMPRESSED_RGBA_ASTC_8x8_KHR;if(r===of)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:c.COMPRESSED_RGBA_ASTC_10x5_KHR;if(r===af)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:c.COMPRESSED_RGBA_ASTC_10x6_KHR;if(r===lf)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:c.COMPRESSED_RGBA_ASTC_10x8_KHR;if(r===cf)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:c.COMPRESSED_RGBA_ASTC_10x10_KHR;if(r===uf)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:c.COMPRESSED_RGBA_ASTC_12x10_KHR;if(r===hf)return a===Tt?c.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:c.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(r===ff)if(c=e.get("EXT_texture_compression_bptc"),c!==null){if(r===ff)return a===Tt?c.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:c.COMPRESSED_RGBA_BPTC_UNORM_EXT}else return null;return r===Jr?n?34042:(c=e.get("WEBGL_depth_texture"),c!==null?c.UNSIGNED_INT_24_8_WEBGL:null):l[r]!==void 0?l[r]:null}return{convert:i}}class P0 extends tn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class Qs extends St{constructor(){super(),this.isGroup=!0,this.type="Group"}}const yw={type:"move"};class wh{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Qs,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Qs,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new I,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new I),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Qs,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new I,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new I),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,n){let i=null,r=null,a=null;const c=this._targetRay,h=this._grip,u=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(u&&e.hand){a=!0;for(const x of e.hand.values()){const y=t.getJointPose(x,n);if(u.joints[x.jointName]===void 0){const S=new Qs;S.matrixAutoUpdate=!1,S.visible=!1,u.joints[x.jointName]=S,u.add(S)}const w=u.joints[x.jointName];y!==null&&(w.matrix.fromArray(y.transform.matrix),w.matrix.decompose(w.position,w.rotation,w.scale),w.jointRadius=y.radius),w.visible=y!==null}const d=u.joints["index-finger-tip"],p=u.joints["thumb-tip"],m=d.position.distanceTo(p.position),v=.02,_=.005;u.inputState.pinching&&m>v+_?(u.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!u.inputState.pinching&&m<=v-_&&(u.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else h!==null&&e.gripSpace&&(r=t.getPose(e.gripSpace,n),r!==null&&(h.matrix.fromArray(r.transform.matrix),h.matrix.decompose(h.position,h.rotation,h.scale),r.linearVelocity?(h.hasLinearVelocity=!0,h.linearVelocity.copy(r.linearVelocity)):h.hasLinearVelocity=!1,r.angularVelocity?(h.hasAngularVelocity=!0,h.angularVelocity.copy(r.angularVelocity)):h.hasAngularVelocity=!1));c!==null&&(i=t.getPose(e.targetRaySpace,n),i===null&&r!==null&&(i=r),i!==null&&(c.matrix.fromArray(i.transform.matrix),c.matrix.decompose(c.position,c.rotation,c.scale),i.linearVelocity?(c.hasLinearVelocity=!0,c.linearVelocity.copy(i.linearVelocity)):c.hasLinearVelocity=!1,i.angularVelocity?(c.hasAngularVelocity=!0,c.angularVelocity.copy(i.angularVelocity)):c.hasAngularVelocity=!1,this.dispatchEvent(yw)))}return c!==null&&(c.visible=i!==null),h!==null&&(h.visible=r!==null),u!==null&&(u.visible=a!==null),this}}class L0 extends Yt{constructor(e,t,n,i,r,a,c,h,u,d){if(d=d!==void 0?d:mr,d!==mr&&d!==ts)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");n===void 0&&d===mr&&(n=dr),n===void 0&&d===ts&&(n=Jr),super(null,i,r,a,c,h,d,n,u),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=c!==void 0?c:qt,this.minFilter=h!==void 0?h:qt,this.flipY=!1,this.generateMipmaps=!1}}class _w extends Yi{constructor(e,t){super();const n=this;let i=null,r=1,a=null,c="local-floor",h=null,u=null,d=null,p=null,m=null,v=null;const _=t.getContextAttributes();let x=null,y=null;const w=[],S=[],A=new tn;A.layers.enable(1),A.viewport=new Mt;const T=new tn;T.layers.enable(2),T.viewport=new Mt;const C=[A,T],L=new P0;L.layers.enable(1),L.layers.enable(2);let F=null,E=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(B){let X=w[B];return X===void 0&&(X=new wh,w[B]=X),X.getTargetRaySpace()},this.getControllerGrip=function(B){let X=w[B];return X===void 0&&(X=new wh,w[B]=X),X.getGripSpace()},this.getHand=function(B){let X=w[B];return X===void 0&&(X=new wh,w[B]=X),X.getHandSpace()};function P(B){const X=S.indexOf(B.inputSource);if(X===-1)return;const ce=w[X];ce!==void 0&&ce.dispatchEvent({type:B.type,data:B.inputSource})}function O(){i.removeEventListener("select",P),i.removeEventListener("selectstart",P),i.removeEventListener("selectend",P),i.removeEventListener("squeeze",P),i.removeEventListener("squeezestart",P),i.removeEventListener("squeezeend",P),i.removeEventListener("end",O),i.removeEventListener("inputsourceschange",U);for(let B=0;B=0&&(S[oe]=null,w[oe].dispatchEvent({type:"disconnected",data:ce}))}for(let X=0;X=S.length){S.push(ce),oe=be;break}else if(S[be]===null){S[be]=ce,oe=be;break}if(oe===-1)break}const me=w[oe];me&&me.dispatchEvent({type:"connected",data:ce})}}const ae=new I,fe=new I;function W(B,X,ce){ae.setFromMatrixPosition(X.matrixWorld),fe.setFromMatrixPosition(ce.matrixWorld);const oe=ae.distanceTo(fe),me=X.projectionMatrix.elements,be=ce.projectionMatrix.elements,Be=me[14]/(me[10]-1),re=me[14]/(me[10]+1),qe=(me[9]+1)/me[5],Ve=(me[9]-1)/me[5],He=(me[8]-1)/me[0],xe=(be[8]+1)/be[0],We=Be*He,le=Be*xe,te=oe/(-He+xe),ge=te*-He;X.matrixWorld.decompose(B.position,B.quaternion,B.scale),B.translateX(ge),B.translateZ(te),B.matrixWorld.compose(B.position,B.quaternion,B.scale),B.matrixWorldInverse.copy(B.matrixWorld).invert();const De=Be+te,_e=re+te,Ze=We-ge,Ge=le+(oe-ge),ke=qe*re/_e*De,xt=Ve*re/_e*De;B.projectionMatrix.makePerspective(Ze,Ge,ke,xt,De,_e)}function ne(B,X){X===null?B.matrixWorld.copy(B.matrix):B.matrixWorld.multiplyMatrices(X.matrixWorld,B.matrix),B.matrixWorldInverse.copy(B.matrixWorld).invert()}this.updateCamera=function(B){if(i===null)return;L.near=T.near=A.near=B.near,L.far=T.far=A.far=B.far,(F!==L.near||E!==L.far)&&(i.updateRenderState({depthNear:L.near,depthFar:L.far}),F=L.near,E=L.far);const X=B.parent,ce=L.cameras;ne(L,X);for(let me=0;me0&&(x.alphaTest.value=y.alphaTest);const w=e.get(y).envMap;if(w&&(x.envMap.value=w,x.flipEnvMap.value=w.isCubeTexture&&w.isRenderTargetTexture===!1?-1:1,x.reflectivity.value=y.reflectivity,x.ior.value=y.ior,x.refractionRatio.value=y.refractionRatio),y.lightMap){x.lightMap.value=y.lightMap;const T=l.physicallyCorrectLights!==!0?Math.PI:1;x.lightMapIntensity.value=y.lightMapIntensity*T}y.aoMap&&(x.aoMap.value=y.aoMap,x.aoMapIntensity.value=y.aoMapIntensity);let S;y.map?S=y.map:y.specularMap?S=y.specularMap:y.displacementMap?S=y.displacementMap:y.normalMap?S=y.normalMap:y.bumpMap?S=y.bumpMap:y.roughnessMap?S=y.roughnessMap:y.metalnessMap?S=y.metalnessMap:y.alphaMap?S=y.alphaMap:y.emissiveMap?S=y.emissiveMap:y.clearcoatMap?S=y.clearcoatMap:y.clearcoatNormalMap?S=y.clearcoatNormalMap:y.clearcoatRoughnessMap?S=y.clearcoatRoughnessMap:y.iridescenceMap?S=y.iridescenceMap:y.iridescenceThicknessMap?S=y.iridescenceThicknessMap:y.specularIntensityMap?S=y.specularIntensityMap:y.specularColorMap?S=y.specularColorMap:y.transmissionMap?S=y.transmissionMap:y.thicknessMap?S=y.thicknessMap:y.sheenColorMap?S=y.sheenColorMap:y.sheenRoughnessMap&&(S=y.sheenRoughnessMap),S!==void 0&&(S.isWebGLRenderTarget&&(S=S.texture),S.matrixAutoUpdate===!0&&S.updateMatrix(),x.uvTransform.value.copy(S.matrix));let A;y.aoMap?A=y.aoMap:y.lightMap&&(A=y.lightMap),A!==void 0&&(A.isWebGLRenderTarget&&(A=A.texture),A.matrixAutoUpdate===!0&&A.updateMatrix(),x.uv2Transform.value.copy(A.matrix))}function r(x,y){x.diffuse.value.copy(y.color),x.opacity.value=y.opacity}function a(x,y){x.dashSize.value=y.dashSize,x.totalSize.value=y.dashSize+y.gapSize,x.scale.value=y.scale}function c(x,y,w,S){x.diffuse.value.copy(y.color),x.opacity.value=y.opacity,x.size.value=y.size*w,x.scale.value=S*.5,y.map&&(x.map.value=y.map),y.alphaMap&&(x.alphaMap.value=y.alphaMap),y.alphaTest>0&&(x.alphaTest.value=y.alphaTest);let A;y.map?A=y.map:y.alphaMap&&(A=y.alphaMap),A!==void 0&&(A.matrixAutoUpdate===!0&&A.updateMatrix(),x.uvTransform.value.copy(A.matrix))}function h(x,y){x.diffuse.value.copy(y.color),x.opacity.value=y.opacity,x.rotation.value=y.rotation,y.map&&(x.map.value=y.map),y.alphaMap&&(x.alphaMap.value=y.alphaMap),y.alphaTest>0&&(x.alphaTest.value=y.alphaTest);let w;y.map?w=y.map:y.alphaMap&&(w=y.alphaMap),w!==void 0&&(w.matrixAutoUpdate===!0&&w.updateMatrix(),x.uvTransform.value.copy(w.matrix))}function u(x,y){x.specular.value.copy(y.specular),x.shininess.value=Math.max(y.shininess,1e-4)}function d(x,y){y.gradientMap&&(x.gradientMap.value=y.gradientMap)}function p(x,y){x.roughness.value=y.roughness,x.metalness.value=y.metalness,y.roughnessMap&&(x.roughnessMap.value=y.roughnessMap),y.metalnessMap&&(x.metalnessMap.value=y.metalnessMap),e.get(y).envMap&&(x.envMapIntensity.value=y.envMapIntensity)}function m(x,y,w){x.ior.value=y.ior,y.sheen>0&&(x.sheenColor.value.copy(y.sheenColor).multiplyScalar(y.sheen),x.sheenRoughness.value=y.sheenRoughness,y.sheenColorMap&&(x.sheenColorMap.value=y.sheenColorMap),y.sheenRoughnessMap&&(x.sheenRoughnessMap.value=y.sheenRoughnessMap)),y.clearcoat>0&&(x.clearcoat.value=y.clearcoat,x.clearcoatRoughness.value=y.clearcoatRoughness,y.clearcoatMap&&(x.clearcoatMap.value=y.clearcoatMap),y.clearcoatRoughnessMap&&(x.clearcoatRoughnessMap.value=y.clearcoatRoughnessMap),y.clearcoatNormalMap&&(x.clearcoatNormalScale.value.copy(y.clearcoatNormalScale),x.clearcoatNormalMap.value=y.clearcoatNormalMap,y.side===ei&&x.clearcoatNormalScale.value.negate())),y.iridescence>0&&(x.iridescence.value=y.iridescence,x.iridescenceIOR.value=y.iridescenceIOR,x.iridescenceThicknessMinimum.value=y.iridescenceThicknessRange[0],x.iridescenceThicknessMaximum.value=y.iridescenceThicknessRange[1],y.iridescenceMap&&(x.iridescenceMap.value=y.iridescenceMap),y.iridescenceThicknessMap&&(x.iridescenceThicknessMap.value=y.iridescenceThicknessMap)),y.transmission>0&&(x.transmission.value=y.transmission,x.transmissionSamplerMap.value=w.texture,x.transmissionSamplerSize.value.set(w.width,w.height),y.transmissionMap&&(x.transmissionMap.value=y.transmissionMap),x.thickness.value=y.thickness,y.thicknessMap&&(x.thicknessMap.value=y.thicknessMap),x.attenuationDistance.value=y.attenuationDistance,x.attenuationColor.value.copy(y.attenuationColor)),x.specularIntensity.value=y.specularIntensity,x.specularColor.value.copy(y.specularColor),y.specularIntensityMap&&(x.specularIntensityMap.value=y.specularIntensityMap),y.specularColorMap&&(x.specularColorMap.value=y.specularColorMap)}function v(x,y){y.matcap&&(x.matcap.value=y.matcap)}function _(x,y){x.referencePosition.value.copy(y.referencePosition),x.nearDistance.value=y.nearDistance,x.farDistance.value=y.farDistance}return{refreshFogUniforms:t,refreshMaterialUniforms:n}}function Sw(l,e,t,n){let i={},r={},a=[];const c=t.isWebGL2?l.getParameter(35375):0;function h(S,A){const T=A.program;n.uniformBlockBinding(S,T)}function u(S,A){let T=i[S.id];T===void 0&&(_(S),T=d(S),i[S.id]=T,S.addEventListener("dispose",y));const C=A.program;n.updateUBOMapping(S,C);const L=e.render.frame;r[S.id]!==L&&(m(S),r[S.id]=L)}function d(S){const A=p();S.__bindingPointIndex=A;const T=l.createBuffer(),C=S.__size,L=S.usage;return l.bindBuffer(35345,T),l.bufferData(35345,C,L),l.bindBuffer(35345,null),l.bindBufferBase(35345,A,T),T}function p(){for(let S=0;S0){L=T%C;const U=C-L;L!==0&&U-O.boundary<0&&(T+=C-L,P.__offset=T)}T+=O.storage}return L=T%C,L>0&&(T+=C-L),S.__size=T,S.__cache={},this}function x(S){const A=S.value,T={boundary:0,storage:0};return typeof A=="number"?(T.boundary=4,T.storage=4):A.isVector2?(T.boundary=8,T.storage=8):A.isVector3||A.isColor?(T.boundary=16,T.storage=12):A.isVector4?(T.boundary=16,T.storage=16):A.isMatrix3?(T.boundary=48,T.storage=48):A.isMatrix4?(T.boundary=64,T.storage=64):A.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",A),T}function y(S){const A=S.target;A.removeEventListener("dispose",y);const T=a.indexOf(A.__bindingPointIndex);a.splice(T,1),l.deleteBuffer(i[A.id]),delete i[A.id],delete r[A.id]}function w(){for(const S in i)l.deleteBuffer(i[S]);a=[],i={},r={}}return{bind:h,update:u,dispose:w}}function ww(){const l=fa("canvas");return l.style.display="block",l}function Hf(l={}){this.isWebGLRenderer=!0;const e=l.canvas!==void 0?l.canvas:ww(),t=l.context!==void 0?l.context:null,n=l.depth!==void 0?l.depth:!0,i=l.stencil!==void 0?l.stencil:!0,r=l.antialias!==void 0?l.antialias:!1,a=l.premultipliedAlpha!==void 0?l.premultipliedAlpha:!0,c=l.preserveDrawingBuffer!==void 0?l.preserveDrawingBuffer:!1,h=l.powerPreference!==void 0?l.powerPreference:"default",u=l.failIfMajorPerformanceCaveat!==void 0?l.failIfMajorPerformanceCaveat:!1;let d;t!==null?d=t.getContextAttributes().alpha:d=l.alpha!==void 0?l.alpha:!1;let p=null,m=null;const v=[],_=[];this.domElement=e,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=Wi,this.physicallyCorrectLights=!1,this.toneMapping=ui,this.toneMappingExposure=1,Object.defineProperties(this,{gammaFactor:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaFactor has been removed."),2},set:function(){console.warn("THREE.WebGLRenderer: .gammaFactor has been removed.")}}});const x=this;let y=!1,w=0,S=0,A=null,T=-1,C=null;const L=new Mt,F=new Mt;let E=null,P=e.width,O=e.height,U=1,ae=null,fe=null;const W=new Mt(0,0,P,O),ne=new Mt(0,0,P,O);let q=!1;const se=new Nc;let H=!1,B=!1,X=null;const ce=new tt,oe=new he,me=new I,be={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Be(){return A===null?U:1}let re=t;function qe(D,Y){for(let $=0;$0?m=_[_.length-1]:m=null,v.pop(),v.length>0?p=v[v.length-1]:p=null};function ni(D,Y,$,J){if(D.visible===!1)return;if(D.layers.test(Y.layers)){if(D.isGroup)$=D.renderOrder;else if(D.isLOD)D.autoUpdate===!0&&D.update(Y);else if(D.isLight)m.pushLight(D),D.castShadow&&m.pushShadow(D);else if(D.isSprite){if(!D.frustumCulled||se.intersectsSprite(D)){J&&me.setFromMatrixPosition(D.matrixWorld).applyMatrix4(ce);const Je=Ge.update(D),it=D.material;it.visible&&p.push(D,Je,it,$,me.z,null)}}else if((D.isMesh||D.isLine||D.isPoints)&&(D.isSkinnedMesh&&D.skeleton.frame!==We.render.frame&&(D.skeleton.update(),D.skeleton.frame=We.render.frame),!D.frustumCulled||se.intersectsObject(D))){J&&me.setFromMatrixPosition(D.matrixWorld).applyMatrix4(ce);const Je=Ge.update(D),it=D.material;if(Array.isArray(it)){const $e=Je.groups;for(let dt=0,lt=$e.length;dt0&&Fn(ue,Y,$),J&&xe.viewport(L.copy(J)),ue.length>0&&fn(ue,Y,$),Xe.length>0&&fn(Xe,Y,$),Je.length>0&&fn(Je,Y,$),xe.buffers.depth.setTest(!0),xe.buffers.depth.setMask(!0),xe.buffers.color.setMask(!0),xe.setPolygonOffset(!1)}function Fn(D,Y,$){const J=He.isWebGL2;X===null&&(X=new ti(1,1,{generateMipmaps:!0,type:Ve.has("EXT_color_buffer_half_float")?to:xr,minFilter:ls,samples:J&&r===!0?4:0})),x.getDrawingBufferSize(oe),J?X.setSize(oe.x,oe.y):X.setSize(Pc(oe.x),Pc(oe.y));const ue=x.getRenderTarget();x.setRenderTarget(X),x.clear();const Xe=x.toneMapping;x.toneMapping=ui,fn(D,Y,$),x.toneMapping=Xe,te.updateMultisampleRenderTarget(X),te.updateRenderTargetMipmap(X),x.setRenderTarget(ue)}function fn(D,Y,$){const J=Y.isScene===!0?Y.overrideMaterial:null;for(let ue=0,Xe=D.length;ue0&&te.useMultisampledRTT(D)===!1?ue=le.get(D).__webglMultisampledFramebuffer:ue=dt,L.copy(D.viewport),F.copy(D.scissor),E=D.scissorTest}else L.copy(W).multiplyScalar(U).floor(),F.copy(ne).multiplyScalar(U).floor(),E=q;if(xe.bindFramebuffer(36160,ue)&&He.drawBuffers&&J&&xe.drawBuffers(D,ue),xe.viewport(L),xe.scissor(F),xe.setScissorTest(E),Xe){const $e=le.get(D.texture);re.framebufferTexture2D(36160,36064,34069+Y,$e.__webglTexture,$)}else if(Je){const $e=le.get(D.texture),dt=Y||0;re.framebufferTextureLayer(36160,36064,$e.__webglTexture,$||0,dt)}T=-1},this.readRenderTargetPixels=function(D,Y,$,J,ue,Xe,Je){if(!(D&&D.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let it=le.get(D).__webglFramebuffer;if(D.isWebGLCubeRenderTarget&&Je!==void 0&&(it=it[Je]),it){xe.bindFramebuffer(36160,it);try{const $e=D.texture,dt=$e.format,lt=$e.type;if(dt!==$n&&K.convert(dt)!==re.getParameter(35739)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const ut=lt===to&&(Ve.has("EXT_color_buffer_half_float")||He.isWebGL2&&Ve.has("EXT_color_buffer_float"));if(lt!==xr&&K.convert(lt)!==re.getParameter(35738)&&!(lt===Gi&&(He.isWebGL2||Ve.has("OES_texture_float")||Ve.has("WEBGL_color_buffer_float")))&&!ut){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}Y>=0&&Y<=D.width-J&&$>=0&&$<=D.height-ue&&re.readPixels(Y,$,J,ue,K.convert(dt),K.convert(lt),Xe)}finally{const $e=A!==null?le.get(A).__webglFramebuffer:null;xe.bindFramebuffer(36160,$e)}}},this.copyFramebufferToTexture=function(D,Y,$=0){const J=Math.pow(2,-$),ue=Math.floor(Y.image.width*J),Xe=Math.floor(Y.image.height*J);te.setTexture2D(Y,0),re.copyTexSubImage2D(3553,$,0,0,D.x,D.y,ue,Xe),xe.unbindTexture()},this.copyTextureToTexture=function(D,Y,$,J=0){const ue=Y.image.width,Xe=Y.image.height,Je=K.convert($.format),it=K.convert($.type);te.setTexture2D($,0),re.pixelStorei(37440,$.flipY),re.pixelStorei(37441,$.premultiplyAlpha),re.pixelStorei(3317,$.unpackAlignment),Y.isDataTexture?re.texSubImage2D(3553,J,D.x,D.y,ue,Xe,Je,it,Y.image.data):Y.isCompressedTexture?re.compressedTexSubImage2D(3553,J,D.x,D.y,Y.mipmaps[0].width,Y.mipmaps[0].height,Je,Y.mipmaps[0].data):re.texSubImage2D(3553,J,D.x,D.y,Je,it,Y.image),J===0&&$.generateMipmaps&&re.generateMipmap(3553),xe.unbindTexture()},this.copyTextureToTexture3D=function(D,Y,$,J,ue=0){if(x.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Xe=D.max.x-D.min.x+1,Je=D.max.y-D.min.y+1,it=D.max.z-D.min.z+1,$e=K.convert(J.format),dt=K.convert(J.type);let lt;if(J.isData3DTexture)te.setTexture3D(J,0),lt=32879;else if(J.isDataArrayTexture)te.setTexture2DArray(J,0),lt=35866;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}re.pixelStorei(37440,J.flipY),re.pixelStorei(37441,J.premultiplyAlpha),re.pixelStorei(3317,J.unpackAlignment);const ut=re.getParameter(3314),Ct=re.getParameter(32878),Ai=re.getParameter(3316),Zi=re.getParameter(3315),Ji=re.getParameter(32877),_n=$.isCompressedTexture?$.mipmaps[0]:$.image;re.pixelStorei(3314,_n.width),re.pixelStorei(32878,_n.height),re.pixelStorei(3316,D.min.x),re.pixelStorei(3315,D.min.y),re.pixelStorei(32877,D.min.z),$.isDataTexture||$.isData3DTexture?re.texSubImage3D(lt,ue,Y.x,Y.y,Y.z,Xe,Je,it,$e,dt,_n.data):$.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),re.compressedTexSubImage3D(lt,ue,Y.x,Y.y,Y.z,Xe,Je,it,$e,_n.data)):re.texSubImage3D(lt,ue,Y.x,Y.y,Y.z,Xe,Je,it,$e,dt,_n),re.pixelStorei(3314,ut),re.pixelStorei(32878,Ct),re.pixelStorei(3316,Ai),re.pixelStorei(3315,Zi),re.pixelStorei(32877,Ji),ue===0&&J.generateMipmaps&&re.generateMipmap(lt),xe.unbindTexture()},this.initTexture=function(D){D.isCubeTexture?te.setTextureCube(D,0):D.isData3DTexture?te.setTexture3D(D,0):D.isDataArrayTexture?te.setTexture2DArray(D,0):te.setTexture2D(D,0),xe.unbindTexture()},this.resetState=function(){w=0,S=0,A=null,xe.reset(),Ne.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}class R0 extends Hf{}R0.prototype.isWebGL1Renderer=!0;class Oc{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new Ce(e),this.density=t}clone(){return new Oc(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}class Bc{constructor(e,t=1,n=1e3){this.isFog=!0,this.name="",this.color=new Ce(e),this.near=t,this.far=n}clone(){return new Bc(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}class Wf extends St{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.autoUpdate=e.autoUpdate,this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),t}}class kc{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=ua,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=zn()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let i=0,r=this.stride;ie.far||t.push({distance:h,point:qo.clone(),uv:Kn.getUV(qo,Xl,Zo,ql,Tm,bh,Am,new he),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function Yl(l,e,t,n,i,r){Ws.subVectors(l,t).addScalar(.5).multiply(n),i!==void 0?(Yo.x=r*Ws.x-i*Ws.y,Yo.y=i*Ws.x+r*Ws.y):Yo.copy(Ws),l.copy(e),l.x+=Yo.x,l.y+=Yo.y,l.applyMatrix4(I0)}const Zl=new I,Em=new I;class z0 extends St{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let n=0,i=t.length;n0){let n,i;for(n=1,i=t.length;n0){Zl.setFromMatrixPosition(this.matrixWorld);const i=e.ray.origin.distanceTo(Zl);this.getObjectForDistance(i).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Zl.setFromMatrixPosition(e.matrixWorld),Em.setFromMatrixPosition(this.matrixWorld);const n=Zl.distanceTo(Em)/e.zoom;t[0].object.visible=!0;let i,r;for(i=1,r=t.length;i=t[i].distance;i++)t[i-1].object.visible=!1,t[i].object.visible=!0;for(this._currentLevel=i-1;ih)continue;m.applyMatrix4(this.matrixWorld);const E=e.ray.origin.distanceTo(m);Ee.far||t.push({distance:E,point:p.clone().applyMatrix4(this.matrixWorld),index:A,face:null,faceIndex:null,object:this})}}else{const w=Math.max(0,a.start),S=Math.min(y.count,a.start+a.count);for(let A=w,T=S-1;Ah)continue;m.applyMatrix4(this.matrixWorld);const L=e.ray.origin.distanceTo(m);Le.far||t.push({distance:L,point:p.clone().applyMatrix4(this.matrixWorld),index:A,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,n=Object.keys(t);if(n.length>0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;r0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;ri.far)return;r.push({distance:u,distanceToRay:Math.sqrt(c),point:h,index:e,face:null,object:a})}}class Aw extends Yt{constructor(e,t,n,i,r,a,c,h,u){super(e,t,n,i,r,a,c,h,u),this.isVideoTexture=!0,this.minFilter=a!==void 0?a:Ut,this.magFilter=r!==void 0?r:Ut,this.generateMipmaps=!1;const d=this;function p(){d.needsUpdate=!0,e.requestVideoFrameCallback(p)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(p)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class Ew extends Yt{constructor(e,t,n){super({width:e,height:t}),this.isFramebufferTexture=!0,this.format=n,this.magFilter=qt,this.minFilter=qt,this.generateMipmaps=!1,this.needsUpdate=!0}}class k0 extends Yt{constructor(e,t,n,i,r,a,c,h,u,d,p,m){super(null,a,c,h,u,d,i,r,p,m),this.isCompressedTexture=!0,this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class Cw extends Yt{constructor(e,t,n,i,r,a,c,h,u){super(e,t,n,i,r,a,c,h,u),this.isCanvasTexture=!0,this.needsUpdate=!0}}class hi{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){const n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let n,i=this.getPoint(0),r=0;t.push(0);for(let a=1;a<=e;a++)n=this.getPoint(a/e),r+=n.distanceTo(i),t.push(r),i=n;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const n=this.getLengths();let i=0;const r=n.length;let a;t?a=t:a=e*n[r-1];let c=0,h=r-1,u;for(;c<=h;)if(i=Math.floor(c+(h-c)/2),u=n[i]-a,u<0)c=i+1;else if(u>0)h=i-1;else{h=i;break}if(i=h,n[i]===a)return i/(r-1);const d=n[i],m=n[i+1]-d,v=(a-d)/m;return(i+v)/(r-1)}getTangent(e,t){let i=e-1e-4,r=e+1e-4;i<0&&(i=0),r>1&&(r=1);const a=this.getPoint(i),c=this.getPoint(r),h=t||(a.isVector2?new he:new I);return h.copy(c).sub(a).normalize(),h}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){const n=new I,i=[],r=[],a=[],c=new I,h=new tt;for(let v=0;v<=e;v++){const _=v/e;i[v]=this.getTangentAt(_,new I)}r[0]=new I,a[0]=new I;let u=Number.MAX_VALUE;const d=Math.abs(i[0].x),p=Math.abs(i[0].y),m=Math.abs(i[0].z);d<=u&&(u=d,n.set(1,0,0)),p<=u&&(u=p,n.set(0,1,0)),m<=u&&n.set(0,0,1),c.crossVectors(i[0],n).normalize(),r[0].crossVectors(i[0],c),a[0].crossVectors(i[0],r[0]);for(let v=1;v<=e;v++){if(r[v]=r[v-1].clone(),a[v]=a[v-1].clone(),c.crossVectors(i[v-1],i[v]),c.length()>Number.EPSILON){c.normalize();const _=Math.acos(Vt(i[v-1].dot(i[v]),-1,1));r[v].applyMatrix4(h.makeRotationAxis(c,_))}a[v].crossVectors(i[v],r[v])}if(t===!0){let v=Math.acos(Vt(r[0].dot(r[e]),-1,1));v/=e,i[0].dot(c.crossVectors(r[0],r[e]))>0&&(v=-v);for(let _=1;_<=e;_++)r[_].applyMatrix4(h.makeRotationAxis(i[_],v*_)),a[_].crossVectors(i[_],r[_])}return{tangents:i,normals:r,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class Vc extends hi{constructor(e=0,t=0,n=1,i=1,r=0,a=Math.PI*2,c=!1,h=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=i,this.aStartAngle=r,this.aEndAngle=a,this.aClockwise=c,this.aRotation=h}getPoint(e,t){const n=t||new he,i=Math.PI*2;let r=this.aEndAngle-this.aStartAngle;const a=Math.abs(r)i;)r-=i;r0?0:(Math.floor(Math.abs(c)/r)+1)*r:h===0&&c===r-1&&(c=r-2,h=1);let u,d;this.closed||c>0?u=i[(c-1)%r]:($l.subVectors(i[0],i[1]).add(i[0]),u=$l);const p=i[c%r],m=i[(c+1)%r];if(this.closed||c+2i.length-2?i.length-1:a+1],p=i[a>i.length-3?i.length-1:a+2];return n.set(Gm(c,h.x,u.x,d.x,p.x),Gm(c,h.y,u.y,d.y,p.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t=n){const a=i[r]-n,c=this.curves[r],h=c.getLength(),u=h===0?0:1-a/h;return c.getPointAt(u,t)}r++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let n=0,i=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){const p=u.getPoint(0);p.equals(this.currentPoint)||this.lineTo(p.x,p.y)}this.curves.push(u);const d=u.getPoint(1);return this.currentPoint.copy(d),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class rs extends nt{constructor(e=[new he(0,-.5),new he(.5,0),new he(0,.5)],t=12,n=0,i=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:n,phiLength:i},t=Math.floor(t),i=Vt(i,0,Math.PI*2);const r=[],a=[],c=[],h=[],u=[],d=1/t,p=new I,m=new he,v=new I,_=new I,x=new I;let y=0,w=0;for(let S=0;S<=e.length-1;S++)switch(S){case 0:y=e[S+1].x-e[S].x,w=e[S+1].y-e[S].y,v.x=w*1,v.y=-y,v.z=w*0,x.copy(v),v.normalize(),h.push(v.x,v.y,v.z);break;case e.length-1:h.push(x.x,x.y,x.z);break;default:y=e[S+1].x-e[S].x,w=e[S+1].y-e[S].y,v.x=w*1,v.y=-y,v.z=w*0,_.copy(v),v.x+=x.x,v.y+=x.y,v.z+=x.z,v.normalize(),h.push(v.x,v.y,v.z),x.copy(_)}for(let S=0;S<=t;S++){const A=n+S*d*i,T=Math.sin(A),C=Math.cos(A);for(let L=0;L<=e.length-1;L++){p.x=e[L].x*T,p.y=e[L].y,p.z=e[L].x*C,a.push(p.x,p.y,p.z),m.x=S/t,m.y=L/(e.length-1),c.push(m.x,m.y);const F=h[3*L+0]*T,E=h[3*L+1],P=h[3*L+0]*C;u.push(F,E,P)}}for(let S=0;S0&&A(!0),t>0&&A(!1)),this.setIndex(d),this.setAttribute("position",new Ie(p,3)),this.setAttribute("normal",new Ie(m,3)),this.setAttribute("uv",new Ie(v,2));function S(){const T=new I,C=new I;let L=0;const F=(t-e)/n;for(let E=0;E<=r;E++){const P=[],O=E/r,U=O*(t-e)+e;for(let ae=0;ae<=i;ae++){const fe=ae/i,W=fe*h+c,ne=Math.sin(W),q=Math.cos(W);C.x=U*ne,C.y=-O*n+y,C.z=U*q,p.push(C.x,C.y,C.z),T.set(ne,F,q).normalize(),m.push(T.x,T.y,T.z),v.push(fe,1-O),P.push(_++)}x.push(P)}for(let E=0;E.9&&F<.1&&(A<.2&&(a[S+0]+=1),T<.2&&(a[S+2]+=1),C<.2&&(a[S+4]+=1))}}function m(S){r.push(S.x,S.y,S.z)}function v(S,A){const T=S*3;A.x=e[T+0],A.y=e[T+1],A.z=e[T+2]}function _(){const S=new I,A=new I,T=new I,C=new I,L=new he,F=new he,E=new he;for(let P=0,O=0;P80*t){c=u=l[0],h=d=l[1];for(let _=t;_u&&(u=p),m>d&&(d=m);v=Math.max(u-c,d-h),v=v!==0?1/v:0}return pa(r,a,t,c,h,v),a}};function q0(l,e,t,n,i){let r,a;if(i===Kw(l,e,t,n)>0)for(r=e;r=e;r-=n)a=Hm(r,l[r],l[r+1],a);return a&&Hc(a,a.next)&&(ga(a),a=a.next),a}function Mr(l,e){if(!l)return l;e||(e=l);let t=l,n;do if(n=!1,!t.steiner&&(Hc(t,t.next)||Dt(t.prev,t,t.next)===0)){if(ga(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function pa(l,e,t,n,i,r,a){if(!l)return;!a&&r&&qw(l,n,i,r);let c=l,h,u;for(;l.prev!==l.next;){if(h=l.prev,u=l.next,r?Bw(l,n,i,r):Ow(l)){e.push(h.i/t),e.push(l.i/t),e.push(u.i/t),ga(l),l=u.next,c=u.next;continue}if(l=u,l===c){a?a===1?(l=kw(Mr(l),e,t),pa(l,e,t,n,i,r,2)):a===2&&Uw(l,e,t,n,i,r):pa(Mr(l),e,t,n,i,r,1);break}}}function Ow(l){const e=l.prev,t=l,n=l.next;if(Dt(e,t,n)>=0)return!1;let i=l.next.next;for(;i!==l.prev;){if(Ks(e.x,e.y,t.x,t.y,n.x,n.y,i.x,i.y)&&Dt(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function Bw(l,e,t,n){const i=l.prev,r=l,a=l.next;if(Dt(i,r,a)>=0)return!1;const c=i.xr.x?i.x>a.x?i.x:a.x:r.x>a.x?r.x:a.x,d=i.y>r.y?i.y>a.y?i.y:a.y:r.y>a.y?r.y:a.y,p=xf(c,h,e,t,n),m=xf(u,d,e,t,n);let v=l.prevZ,_=l.nextZ;for(;v&&v.z>=p&&_&&_.z<=m;){if(v!==l.prev&&v!==l.next&&Ks(i.x,i.y,r.x,r.y,a.x,a.y,v.x,v.y)&&Dt(v.prev,v,v.next)>=0||(v=v.prevZ,_!==l.prev&&_!==l.next&&Ks(i.x,i.y,r.x,r.y,a.x,a.y,_.x,_.y)&&Dt(_.prev,_,_.next)>=0))return!1;_=_.nextZ}for(;v&&v.z>=p;){if(v!==l.prev&&v!==l.next&&Ks(i.x,i.y,r.x,r.y,a.x,a.y,v.x,v.y)&&Dt(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;_&&_.z<=m;){if(_!==l.prev&&_!==l.next&&Ks(i.x,i.y,r.x,r.y,a.x,a.y,_.x,_.y)&&Dt(_.prev,_,_.next)>=0)return!1;_=_.nextZ}return!0}function kw(l,e,t){let n=l;do{const i=n.prev,r=n.next.next;!Hc(i,r)&&Y0(i,n,n.next,r)&&ma(i,r)&&ma(r,i)&&(e.push(i.i/t),e.push(n.i/t),e.push(r.i/t),ga(n),ga(n.next),n=l=r),n=n.next}while(n!==l);return Mr(n)}function Uw(l,e,t,n,i,r){let a=l;do{let c=a.next.next;for(;c!==a.prev;){if(a.i!==c.i&&Jw(a,c)){let h=Z0(a,c);a=Mr(a,a.next),h=Mr(h,h.next),pa(a,e,t,n,i,r),pa(h,e,t,n,i,r);return}c=c.next}a=a.next}while(a!==l)}function Vw(l,e,t,n){const i=[];let r,a,c,h,u;for(r=0,a=e.length;r=t.next.y&&t.next.y!==t.y){const m=t.x+(i-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(m<=n&&m>r){if(r=m,m===n){if(i===t.y)return t;if(i===t.next.y)return t.next}a=t.x=t.x&&t.x>=h&&n!==t.x&&Ks(ia.x||t.x===a.x&&Xw(a,t)))&&(a=t,d=p)),t=t.next;while(t!==c);return a}function Xw(l,e){return Dt(l.prev,l,e.prev)<0&&Dt(e.next,l,l.next)<0}function qw(l,e,t,n){let i=l;do i.z===null&&(i.z=xf(i.x,i.y,e,t,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==l);i.prevZ.nextZ=null,i.prevZ=null,Yw(i)}function Yw(l){let e,t,n,i,r,a,c,h,u=1;do{for(t=l,l=null,r=null,a=0;t;){for(a++,n=t,c=0,e=0;e0||h>0&&n;)c!==0&&(h===0||!n||t.z<=n.z)?(i=t,t=t.nextZ,c--):(i=n,n=n.nextZ,h--),r?r.nextZ=i:l=i,i.prevZ=r,r=i;t=n}r.nextZ=null,u*=2}while(a>1);return l}function xf(l,e,t,n,i){return l=32767*(l-t)*i,e=32767*(e-n)*i,l=(l|l<<8)&16711935,l=(l|l<<4)&252645135,l=(l|l<<2)&858993459,l=(l|l<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,l|e<<1}function Zw(l){let e=l,t=l;do(e.x=0&&(l-a)*(n-c)-(t-a)*(e-c)>=0&&(t-a)*(r-c)-(i-a)*(n-c)>=0}function Jw(l,e){return l.next.i!==e.i&&l.prev.i!==e.i&&!jw(l,e)&&(ma(l,e)&&ma(e,l)&&Qw(l,e)&&(Dt(l.prev,l,e.prev)||Dt(l,e.prev,e))||Hc(l,e)&&Dt(l.prev,l,l.next)>0&&Dt(e.prev,e,e.next)>0)}function Dt(l,e,t){return(e.y-l.y)*(t.x-e.x)-(e.x-l.x)*(t.y-e.y)}function Hc(l,e){return l.x===e.x&&l.y===e.y}function Y0(l,e,t,n){const i=rc(Dt(l,e,t)),r=rc(Dt(l,e,n)),a=rc(Dt(t,n,l)),c=rc(Dt(t,n,e));return!!(i!==r&&a!==c||i===0&&ic(l,t,e)||r===0&&ic(l,n,e)||a===0&&ic(t,l,n)||c===0&&ic(t,e,n))}function ic(l,e,t){return e.x<=Math.max(l.x,t.x)&&e.x>=Math.min(l.x,t.x)&&e.y<=Math.max(l.y,t.y)&&e.y>=Math.min(l.y,t.y)}function rc(l){return l>0?1:l<0?-1:0}function jw(l,e){let t=l;do{if(t.i!==l.i&&t.next.i!==l.i&&t.i!==e.i&&t.next.i!==e.i&&Y0(t,t.next,l,e))return!0;t=t.next}while(t!==l);return!1}function ma(l,e){return Dt(l.prev,l,l.next)<0?Dt(l,e,l.next)>=0&&Dt(l,l.prev,e)>=0:Dt(l,e,l.prev)<0||Dt(l,l.next,e)<0}function Qw(l,e){let t=l,n=!1;const i=(l.x+e.x)/2,r=(l.y+e.y)/2;do t.y>r!=t.next.y>r&&t.next.y!==t.y&&i<(t.next.x-t.x)*(r-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==l);return n}function Z0(l,e){const t=new yf(l.i,l.x,l.y),n=new yf(e.i,e.x,e.y),i=l.next,r=e.prev;return l.next=e,e.prev=l,t.next=i,i.prev=t,n.next=t,t.prev=n,r.next=n,n.prev=r,n}function Hm(l,e,t,n){const i=new yf(l,e,t);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function ga(l){l.next.prev=l.prev,l.prev.next=l.next,l.prevZ&&(l.prevZ.nextZ=l.nextZ),l.nextZ&&(l.nextZ.prevZ=l.prevZ)}function yf(l,e,t){this.i=l,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Kw(l,e,t,n){let i=0;for(let r=e,a=t-n;r2&&l[e-1].equals(l[0])&&l.pop()}function Xm(l,e){for(let t=0;tNumber.EPSILON){const Q=Math.sqrt(N),de=Math.sqrt(xt*xt+yt*yt),ve=te.x-ke/Q,Se=te.y+Ge/Q,Ye=ge.x-yt/de,K=ge.y+xt/de,Ne=((Ye-ve)*yt-(K-Se)*xt)/(Ge*yt-ke*xt);De=ve+Ge*Ne-le.x,_e=Se+ke*Ne-le.y;const Pe=De*De+_e*_e;if(Pe<=2)return new he(De,_e);Ze=Math.sqrt(Pe/2)}else{let Q=!1;Ge>Number.EPSILON?xt>Number.EPSILON&&(Q=!0):Ge<-Number.EPSILON?xt<-Number.EPSILON&&(Q=!0):Math.sign(ke)===Math.sign(yt)&&(Q=!0),Q?(De=-ke,_e=Ge,Ze=Math.sqrt(N)):(De=Ge,_e=ke,Ze=Math.sqrt(N/2))}return new he(De/Ze,_e/Ze)}const B=[];for(let le=0,te=W.length,ge=te-1,De=le+1;le=0;le--){const te=le/y,ge=v*Math.cos(te*Math.PI/2),De=_*Math.sin(te*Math.PI/2)+x;for(let _e=0,Ze=W.length;_e=0;){const De=ge;let _e=ge-1;_e<0&&(_e=le.length-1);for(let Ze=0,Ge=d+y*2;Ze0)&&v.push(A,T,L),(w!==n-1||h0!=e>0&&this.version++,this._sheen=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class $0 extends hn{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Ce(16777215),this.specular=new Ce(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ce(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=cs,this.normalScale=new he(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Ma,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class ev extends hn{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Ce(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ce(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=cs,this.normalScale=new he(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class tv extends hn{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=cs,this.normalScale=new he(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class nv extends hn{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Ce(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ce(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Ma,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class iv extends hn{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Ce(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=cs,this.normalScale=new he(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class rv extends yn{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function Qn(l,e,t){return td(l)?new l.constructor(l.subarray(e,t!==void 0?t:l.length)):l.slice(e,t)}function Yr(l,e,t){return!l||!t&&l.constructor===e?l:typeof e.BYTES_PER_ELEMENT=="number"?new e(l):Array.prototype.slice.call(l)}function td(l){return ArrayBuffer.isView(l)&&!(l instanceof DataView)}function sv(l){function e(i,r){return l[i]-l[r]}const t=l.length,n=new Array(t);for(let i=0;i!==t;++i)n[i]=i;return n.sort(e),n}function _f(l,e,t){const n=l.length,i=new l.constructor(n);for(let r=0,a=0;a!==n;++r){const c=t[r]*e;for(let h=0;h!==e;++h)i[a++]=l[c+h]}return i}function nd(l,e,t,n){let i=1,r=l[0];for(;r!==void 0&&r[n]===void 0;)r=l[i++];if(r===void 0)return;let a=r[n];if(a!==void 0)if(Array.isArray(a))do a=r[n],a!==void 0&&(e.push(r.time),t.push.apply(t,a)),r=l[i++];while(r!==void 0);else if(a.toArray!==void 0)do a=r[n],a!==void 0&&(e.push(r.time),a.toArray(t,t.length)),r=l[i++];while(r!==void 0);else do a=r[n],a!==void 0&&(e.push(r.time),t.push(a)),r=l[i++];while(r!==void 0)}function nb(l,e,t,n,i=30){const r=l.clone();r.name=e;const a=[];for(let h=0;h=n)){p.push(u.times[v]);for(let x=0;xr.tracks[h].times[0]&&(c=r.tracks[h].times[0]);for(let h=0;h=c.times[_]){const w=_*p+d,S=w+p-d;x=Qn(c.values,w,S)}else{const w=c.createInterpolant(),S=d,A=p-d;w.evaluate(r),x=Qn(w.resultBuffer,S,A)}h==="quaternion"&&new En().fromArray(x).normalize().conjugate().toArray(x);const y=u.times.length;for(let w=0;w=r)){const c=t[1];e=r)break t}a=n,n=0;break n}break e}for(;n>>1;et;)--a;if(++a,r!==0||a!==i){r>=a&&(a=Math.max(a,1),r=a-1);const c=this.getValueSize();this.times=Qn(n,r,a),this.values=Qn(this.values,r*c,a*c)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const n=this.times,i=this.values,r=n.length;r===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let a=null;for(let c=0;c!==r;c++){const h=n[c];if(typeof h=="number"&&isNaN(h)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,c,h),e=!1;break}if(a!==null&&a>h){console.error("THREE.KeyframeTrack: Out of order keys.",this,c,h,a),e=!1;break}a=h}if(i!==void 0&&td(i))for(let c=0,h=i.length;c!==h;++c){const u=i[c];if(isNaN(u)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,c,u),e=!1;break}}return e}optimize(){const e=Qn(this.times),t=Qn(this.values),n=this.getValueSize(),i=this.getInterpolation()===yc,r=e.length-1;let a=1;for(let c=1;c0){e[a]=e[r];for(let c=r*n,h=a*n,u=0;u!==n;++u)t[h+u]=t[c+u];++a}return a!==e.length?(this.times=Qn(e,0,a),this.values=Qn(t,0,a*n)):(this.times=e,this.values=t),this}clone(){const e=Qn(this.times,0),t=Qn(this.values,0),n=this.constructor,i=new n(this.name,e,t);return i.createInterpolant=this.createInterpolant,i}}fi.prototype.TimeBufferType=Float32Array;fi.prototype.ValueBufferType=Float32Array;fi.prototype.DefaultInterpolation=la;class fs extends fi{}fs.prototype.ValueTypeName="bool";fs.prototype.ValueBufferType=Array;fs.prototype.DefaultInterpolation=aa;fs.prototype.InterpolantFactoryMethodLinear=void 0;fs.prototype.InterpolantFactoryMethodSmooth=void 0;class rd extends fi{}rd.prototype.ValueTypeName="color";class va extends fi{}va.prototype.ValueTypeName="number";class lv extends Ea{constructor(e,t,n,i){super(e,t,n,i)}interpolate_(e,t,n,i){const r=this.resultBuffer,a=this.sampleValues,c=this.valueSize,h=(n-t)/(i-t);let u=e*c;for(let d=u+c;u!==d;u+=4)En.slerpFlat(r,0,a,u-c,a,u,h);return r}}class Mo extends fi{InterpolantFactoryMethodLinear(e){return new lv(this.times,this.values,this.getValueSize(),e)}}Mo.prototype.ValueTypeName="quaternion";Mo.prototype.DefaultInterpolation=la;Mo.prototype.InterpolantFactoryMethodSmooth=void 0;class ds extends fi{}ds.prototype.ValueTypeName="string";ds.prototype.ValueBufferType=Array;ds.prototype.DefaultInterpolation=aa;ds.prototype.InterpolantFactoryMethodLinear=void 0;ds.prototype.InterpolantFactoryMethodSmooth=void 0;class xa extends fi{}xa.prototype.ValueTypeName="vector";class ya{constructor(e,t=-1,n,i=Dc){this.name=e,this.tracks=n,this.duration=t,this.blendMode=i,this.uuid=zn(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],n=e.tracks,i=1/(e.fps||1);for(let a=0,c=n.length;a!==c;++a)t.push(ob(n[a]).scale(i));const r=new this(e.name,e.duration,t,e.blendMode);return r.uuid=e.uuid,r}static toJSON(e){const t=[],n=e.tracks,i={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let r=0,a=n.length;r!==a;++r)t.push(fi.toJSON(n[r]));return i}static CreateFromMorphTargetSequence(e,t,n,i){const r=t.length,a=[];for(let c=0;c1){const p=d[1];let m=i[p];m||(i[p]=m=[]),m.push(u)}}const a=[];for(const c in i)a.push(this.CreateFromMorphTargetSequence(c,i[c],t,n));return a}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(p,m,v,_,x){if(v.length!==0){const y=[],w=[];nd(v,y,w,_),y.length!==0&&x.push(new p(m,y,w))}},i=[],r=e.name||"default",a=e.fps||30,c=e.blendMode;let h=e.length||-1;const u=e.hierarchy||[];for(let p=0;p{t&&t(r),this.manager.itemEnd(e)},0),r;if(Ui[e]!==void 0){Ui[e].push({onLoad:t,onProgress:n,onError:i});return}Ui[e]=[],Ui[e].push({onLoad:t,onProgress:n,onError:i});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),c=this.mimeType,h=this.responseType;fetch(a).then(u=>{if(u.status===200||u.status===0){if(u.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||u.body===void 0||u.body.getReader===void 0)return u;const d=Ui[e],p=u.body.getReader(),m=u.headers.get("Content-Length"),v=m?parseInt(m):0,_=v!==0;let x=0;const y=new ReadableStream({start(w){S();function S(){p.read().then(({done:A,value:T})=>{if(A)w.close();else{x+=T.byteLength;const C=new ProgressEvent("progress",{lengthComputable:_,loaded:x,total:v});for(let L=0,F=d.length;L{switch(h){case"arraybuffer":return u.arrayBuffer();case"blob":return u.blob();case"document":return u.text().then(d=>new DOMParser().parseFromString(d,c));case"json":return u.json();default:if(c===void 0)return u.text();{const p=/charset="?([^;"\s]*)"?/i.exec(c),m=p&&p[1]?p[1].toLowerCase():void 0,v=new TextDecoder(m);return u.arrayBuffer().then(_=>v.decode(_))}}}).then(u=>{as.add(e,u);const d=Ui[e];delete Ui[e];for(let p=0,m=d.length;p{const d=Ui[e];if(d===void 0)throw this.manager.itemError(e),u;delete Ui[e];for(let p=0,m=d.length;p{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class lb extends Nn{constructor(e){super(e)}load(e,t,n,i){const r=this,a=new qi(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(c){try{t(r.parse(JSON.parse(c)))}catch(h){i?i(h):console.error(h),r.manager.itemError(e)}},n,i)}parse(e){const t=[];for(let n=0;n0:i.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const r in e.uniforms){const a=e.uniforms[r];switch(i.uniforms[r]={},a.type){case"t":i.uniforms[r].value=n(a.value);break;case"c":i.uniforms[r].value=new Ce().setHex(a.value);break;case"v2":i.uniforms[r].value=new he().fromArray(a.value);break;case"v3":i.uniforms[r].value=new I().fromArray(a.value);break;case"v4":i.uniforms[r].value=new Mt().fromArray(a.value);break;case"m3":i.uniforms[r].value=new An().fromArray(a.value);break;case"m4":i.uniforms[r].value=new tt().fromArray(a.value);break;default:i.uniforms[r].value=a.value}}if(e.defines!==void 0&&(i.defines=e.defines),e.vertexShader!==void 0&&(i.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(i.fragmentShader=e.fragmentShader),e.extensions!==void 0)for(const r in e.extensions)i.extensions[r]=e.extensions[r];if(e.shading!==void 0&&(i.flatShading=e.shading===1),e.size!==void 0&&(i.size=e.size),e.sizeAttenuation!==void 0&&(i.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(i.map=n(e.map)),e.matcap!==void 0&&(i.matcap=n(e.matcap)),e.alphaMap!==void 0&&(i.alphaMap=n(e.alphaMap)),e.bumpMap!==void 0&&(i.bumpMap=n(e.bumpMap)),e.bumpScale!==void 0&&(i.bumpScale=e.bumpScale),e.normalMap!==void 0&&(i.normalMap=n(e.normalMap)),e.normalMapType!==void 0&&(i.normalMapType=e.normalMapType),e.normalScale!==void 0){let r=e.normalScale;Array.isArray(r)===!1&&(r=[r,r]),i.normalScale=new he().fromArray(r)}return e.displacementMap!==void 0&&(i.displacementMap=n(e.displacementMap)),e.displacementScale!==void 0&&(i.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(i.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(i.roughnessMap=n(e.roughnessMap)),e.metalnessMap!==void 0&&(i.metalnessMap=n(e.metalnessMap)),e.emissiveMap!==void 0&&(i.emissiveMap=n(e.emissiveMap)),e.emissiveIntensity!==void 0&&(i.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(i.specularMap=n(e.specularMap)),e.specularIntensityMap!==void 0&&(i.specularIntensityMap=n(e.specularIntensityMap)),e.specularColorMap!==void 0&&(i.specularColorMap=n(e.specularColorMap)),e.envMap!==void 0&&(i.envMap=n(e.envMap)),e.envMapIntensity!==void 0&&(i.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(i.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(i.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(i.lightMap=n(e.lightMap)),e.lightMapIntensity!==void 0&&(i.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(i.aoMap=n(e.aoMap)),e.aoMapIntensity!==void 0&&(i.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(i.gradientMap=n(e.gradientMap)),e.clearcoatMap!==void 0&&(i.clearcoatMap=n(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(i.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(i.clearcoatNormalMap=n(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(i.clearcoatNormalScale=new he().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(i.iridescenceMap=n(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(i.iridescenceThicknessMap=n(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(i.transmissionMap=n(e.transmissionMap)),e.thicknessMap!==void 0&&(i.thicknessMap=n(e.thicknessMap)),e.sheenColorMap!==void 0&&(i.sheenColorMap=n(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(i.sheenRoughnessMap=n(e.sheenRoughnessMap)),i}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const t={ShadowMaterial:j0,SpriteMaterial:Xf,RawShaderMaterial:Q0,ShaderMaterial:wi,PointsMaterial:Yf,MeshPhysicalMaterial:K0,MeshStandardMaterial:ed,MeshPhongMaterial:$0,MeshToonMaterial:ev,MeshNormalMaterial:tv,MeshLambertMaterial:nv,MeshDepthMaterial:Vf,MeshDistanceMaterial:Gf,MeshBasicMaterial:Sr,MeshMatcapMaterial:iv,LineDashedMaterial:rv,LineBasicMaterial:yn,Material:hn};return new t[e]}}class Mf{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let n=0,i=e.length;n0){const h=new sd(t);r=new _a(h),r.setCrossOrigin(this.crossOrigin);for(let u=0,d=e.length;u0){i=new _a(this.manager),i.setCrossOrigin(this.crossOrigin);for(let a=0,c=e.length;a"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,n,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,a=as.get(e);if(a!==void 0)return r.manager.itemStart(e),setTimeout(function(){t&&t(a),r.manager.itemEnd(e)},0),a;const c={};c.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",c.headers=this.requestHeader,fetch(e,c).then(function(h){return h.blob()}).then(function(h){return createImageBitmap(h,Object.assign(r.options,{colorSpaceConversion:"none"}))}).then(function(h){as.add(e,h),t&&t(h),r.manager.itemEnd(e)}).catch(function(h){i&&i(h),r.manager.itemError(e),r.manager.itemEnd(e)}),r.manager.itemStart(e)}}let sc;const ad={getContext:function(){return sc===void 0&&(sc=new(window.AudioContext||window.webkitAudioContext)),sc},setContext:function(l){sc=l}};class yb extends Nn{constructor(e){super(e)}load(e,t,n,i){const r=this,a=new qi(this.manager);a.setResponseType("arraybuffer"),a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(c){try{const h=c.slice(0);ad.getContext().decodeAudioData(h,function(d){t(d)})}catch(h){i?i(h):console.error(h),r.manager.itemError(e)}},n,i)}}class _b extends Wc{constructor(e,t,n=1){super(void 0,n),this.isHemisphereLightProbe=!0;const i=new Ce().set(e),r=new Ce().set(t),a=new I(i.r,i.g,i.b),c=new I(r.r,r.g,r.b),h=Math.sqrt(Math.PI),u=h*Math.sqrt(.75);this.sh.coefficients[0].copy(a).add(c).multiplyScalar(h),this.sh.coefficients[1].copy(a).sub(c).multiplyScalar(u)}}class Mb extends Wc{constructor(e,t=1){super(void 0,t),this.isAmbientLightProbe=!0;const n=new Ce().set(e);this.sh.coefficients[0].set(n.r,n.g,n.b).multiplyScalar(2*Math.sqrt(Math.PI))}}const eg=new tt,tg=new tt,Fr=new tt;class Sb{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new tn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new tn,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep,Fr.copy(e.projectionMatrix);const i=t.eyeSep/2,r=i*t.near/t.focus,a=t.near*Math.tan(jr*t.fov*.5)/t.zoom;let c,h;tg.elements[12]=-i,eg.elements[12]=i,c=-a*t.aspect+r,h=a*t.aspect+r,Fr.elements[0]=2*t.near/(h-c),Fr.elements[8]=(h+c)/(h-c),this.cameraL.projectionMatrix.copy(Fr),c=-a*t.aspect-r,h=a*t.aspect-r,Fr.elements[0]=2*t.near/(h-c),Fr.elements[8]=(h+c)/(h-c),this.cameraR.projectionMatrix.copy(Fr)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(tg),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(eg)}}class ld{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=ng(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=ng();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function ng(){return(typeof performance>"u"?Date:performance).now()}const Or=new I,ig=new En,wb=new I,Br=new I;class bb extends St{constructor(){super(),this.type="AudioListener",this.context=ad.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new ld}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Or,ig,wb),Br.set(0,0,-1).applyQuaternion(ig),t.positionX){const i=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Or.x,i),t.positionY.linearRampToValueAtTime(Or.y,i),t.positionZ.linearRampToValueAtTime(Or.z,i),t.forwardX.linearRampToValueAtTime(Br.x,i),t.forwardY.linearRampToValueAtTime(Br.y,i),t.forwardZ.linearRampToValueAtTime(Br.z,i),t.upX.linearRampToValueAtTime(n.x,i),t.upY.linearRampToValueAtTime(n.y,i),t.upZ.linearRampToValueAtTime(n.z,i)}else t.setPosition(Or.x,Or.y,Or.z),t.setOrientation(Br.x,Br.y,Br.z,n.x,n.y,n.z)}}class yv extends St{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source.stop(),this.source.onended=null,this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e0&&this._mixBufferRegionAdditive(n,i,this._addIndex*t,1,t);for(let h=t,u=t+t;h!==u;++h)if(n[h]!==n[h+t]){c.setValue(n,i);break}}saveOriginalState(){const e=this.binding,t=this.buffer,n=this.valueSize,i=n*this._origIndex;e.getValue(t,i);for(let r=n,a=i;r!==a;++r)t[r]=t[i+r%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let n=e;n=.5)for(let a=0;a!==r;++a)e[t+a]=e[n+a]}_slerp(e,t,n,i){En.slerpFlat(e,t,e,t,e,n,i)}_slerpAdditive(e,t,n,i,r){const a=this._workIndex*r;En.multiplyQuaternionsFlat(e,a,e,t,e,n),En.slerpFlat(e,t,e,t,e,a,i)}_lerp(e,t,n,i,r){const a=1-i;for(let c=0;c!==r;++c){const h=t+c;e[h]=e[h]*a+e[n+c]*i}}_lerpAdditive(e,t,n,i,r){for(let a=0;a!==r;++a){const c=t+a;e[c]=e[c]+e[n+a]*i}}}const cd="\\[\\]\\.:\\/",Cb=new RegExp("["+cd+"]","g"),ud="[^"+cd+"]",Pb="[^"+cd.replace("\\.","")+"]",Lb=/((?:WC+[\/:])*)/.source.replace("WC",ud),Rb=/(WCOD+)?/.source.replace("WCOD",Pb),Ib=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",ud),Db=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",ud),zb=new RegExp("^"+Lb+Rb+Ib+Db+"$"),Nb=["material","materials","bones"];class Fb{constructor(e,t,n){const i=n||ht.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,i)}getValue(e,t){this.bind();const n=this._targetGroup.nCachedObjects_,i=this._bindings[n];i!==void 0&&i.getValue(e,t)}setValue(e,t){const n=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=n.length;i!==r;++i)n[i].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}class ht{constructor(e,t,n){this.path=t,this.parsedPath=n||ht.parseTrackName(t),this.node=ht.findNode(e,this.parsedPath.nodeName)||e,this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new ht.Composite(e,t,n):new ht(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(Cb,"")}static parseTrackName(e){const t=zb.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const r=n.nodeName.substring(i+1);Nb.indexOf(r)!==-1&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=r)}if(n.propertyName===null||n.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){const n=function(r){for(let a=0;a=r){const p=r++,m=e[p];t[m.uuid]=d,e[d]=m,t[u]=p,e[p]=h;for(let v=0,_=i;v!==_;++v){const x=n[v],y=x[p],w=x[d];x[d]=y,x[p]=w}}}this.nCachedObjects_=r}uncache(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_,a=e.length;for(let c=0,h=arguments.length;c!==h;++c){const u=arguments[c],d=u.uuid,p=t[d];if(p!==void 0)if(delete t[d],p0&&(t[v.uuid]=p),e[p]=v,e.pop();for(let _=0,x=i;_!==x;++_){const y=n[_];y[p]=y[m],y.pop()}}}this.nCachedObjects_=r}subscribe_(e,t){const n=this._bindingsIndicesByPath;let i=n[e];const r=this._bindings;if(i!==void 0)return r[i];const a=this._paths,c=this._parsedPaths,h=this._objects,u=h.length,d=this.nCachedObjects_,p=new Array(u);i=r.length,n[e]=i,a.push(e),c.push(t),r.push(p);for(let m=d,v=h.length;m!==v;++m){const _=h[m];p[m]=new ht(_,e,t)}return p}unsubscribe_(e){const t=this._bindingsIndicesByPath,n=t[e];if(n!==void 0){const i=this._paths,r=this._parsedPaths,a=this._bindings,c=a.length-1,h=a[c],u=e[c];t[u]=n,a[n]=h,a.pop(),r[n]=r[c],r.pop(),i[n]=i[c],i.pop()}}}class Bb{constructor(e,t,n=null,i=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=i;const r=t.tracks,a=r.length,c=new Array(a),h={endingStart:Wr,endingEnd:Wr};for(let u=0;u!==a;++u){const d=r[u].createInterpolant(null);c[u]=d,d.settings=h}this._interpolantSettings=h,this._interpolants=c,this._propertyBindings=new Array(a),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=u0,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n){if(e.fadeOut(t),this.fadeIn(t),n){const i=this._clip.duration,r=e._clip.duration,a=r/i,c=i/r;e.warp(1,a,t),this.warp(c,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){const i=this._mixer,r=i.time,a=this.timeScale;let c=this._timeScaleInterpolant;c===null&&(c=i._lendControlInterpolant(),this._timeScaleInterpolant=c);const h=c.parameterPositions,u=c.sampleValues;return h[0]=r,h[1]=r+n,u[0]=e/a,u[1]=t/a,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,i){if(!this.enabled){this._updateWeight(e);return}const r=this._startTime;if(r!==null){const h=(e-r)*n;if(h<0||n===0)return;this._startTime=null,t=n*h}t*=this._updateTimeScale(e);const a=this._updateTime(t),c=this._updateWeight(e);if(c>0){const h=this._interpolants,u=this._propertyBindings;switch(this.blendMode){case Nf:for(let d=0,p=h.length;d!==p;++d)h[d].evaluate(a),u[d].accumulateAdditive(c);break;case Dc:default:for(let d=0,p=h.length;d!==p;++d)h[d].evaluate(a),u[d].accumulate(i,c)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const n=this._weightInterpolant;if(n!==null){const i=n.evaluate(e)[0];t*=i,e>n.parameterPositions[1]&&(this.stopFading(),i===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const n=this._timeScaleInterpolant;if(n!==null){const i=n.evaluate(e)[0];t*=i,e>n.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,n=this.loop;let i=this.time+e,r=this._loopCount;const a=n===h0;if(e===0)return r===-1?i:a&&(r&1)===1?t-i:i;if(n===c0){r===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(i>=t)i=t;else if(i<0)i=0;else{this.time=i;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(r===-1&&(e>=0?(r=0,this._setEndings(!0,this.repetitions===0,a)):this._setEndings(this.repetitions===0,!0,a)),i>=t||i<0){const c=Math.floor(i/t);i-=t*c,r+=Math.abs(c);const h=this.repetitions-r;if(h<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=e>0?t:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(h===1){const u=e<0;this._setEndings(u,!u,a)}else this._setEndings(!1,!1,a);this._loopCount=r,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:c})}}else this.time=i;if(a&&(r&1)===1)return t-i}return i}_setEndings(e,t,n){const i=this._interpolantSettings;n?(i.endingStart=Xr,i.endingEnd=Xr):(e?i.endingStart=this.zeroSlopeAtStart?Xr:Wr:i.endingStart=ca,t?i.endingEnd=this.zeroSlopeAtEnd?Xr:Wr:i.endingEnd=ca)}_scheduleFading(e,t,n){const i=this._mixer,r=i.time;let a=this._weightInterpolant;a===null&&(a=i._lendControlInterpolant(),this._weightInterpolant=a);const c=a.parameterPositions,h=a.sampleValues;return c[0]=r,h[0]=t,c[1]=r+e,h[1]=n,this}}const kb=new Float32Array(1);class Ub extends Yi{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){const n=e._localRoot||this._root,i=e._clip.tracks,r=i.length,a=e._propertyBindings,c=e._interpolants,h=n.uuid,u=this._bindingsByRootAndName;let d=u[h];d===void 0&&(d={},u[h]=d);for(let p=0;p!==r;++p){const m=i[p],v=m.name;let _=d[v];if(_!==void 0)++_.referenceCount,a[p]=_;else{if(_=a[p],_!==void 0){_._cacheIndex===null&&(++_.referenceCount,this._addInactiveBinding(_,h,v));continue}const x=t&&t._propertyBindings[p].binding.parsedPath;_=new _v(ht.create(n,v,x),m.ValueTypeName,m.getValueSize()),++_.referenceCount,this._addInactiveBinding(_,h,v),a[p]=_}c[p].resultBuffer=_.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const n=(e._localRoot||this._root).uuid,i=e._clip.uuid,r=this._actionsByClip[i];this._bindAction(e,r&&r.knownActions[0]),this._addInactiveAction(e,i,n)}const t=e._propertyBindings;for(let n=0,i=t.length;n!==i;++n){const r=t[n];r.useCount++===0&&(this._lendBinding(r),r.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let n=0,i=t.length;n!==i;++n){const r=t[n];--r.useCount===0&&(r.restoreOriginalState(),this._takeBackBinding(r))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return t!==null&&t=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;const t=this._actions,n=this._nActiveActions,i=this.time+=e,r=Math.sign(e),a=this._accuIndex^=1;for(let u=0;u!==n;++u)t[u]._update(i,e,r,a);const c=this._bindings,h=this._nActiveBindings;for(let u=0;u!==h;++u)c[u].apply(a);return this}setTime(e){this.time=0;for(let t=0;tthis.max.x||e.ythis.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return og.copy(e).clamp(this.min,this.max).sub(e).length()}intersect(e){return this.min.max(e.min),this.max.min(e.max),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const ag=new I,oc=new I;class Zb{constructor(e=new I,t=new I){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){ag.subVectors(e,this.start),oc.subVectors(this.end,this.start);const n=oc.dot(oc);let r=oc.dot(ag)/n;return t&&(r=Vt(r,0,1)),r}closestPointToPoint(e,t,n){const i=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(i).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const lg=new I;class Jb extends St{constructor(e,t){super(),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t;const n=new nt,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let a=0,c=1,h=32;a.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{dg.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(dg,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}}class l3 extends Ti{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],i=new nt;i.setAttribute("position",new Ie(t,3)),i.setAttribute("color",new Ie(n,3));const r=new yn({vertexColors:!0,toneMapped:!1});super(i,r),this.type="AxesHelper"}setColors(e,t,n){const i=new Ce,r=this.geometry.attributes.color.array;return i.set(e),i.toArray(r,0),i.toArray(r,3),i.set(t),i.toArray(r,6),i.toArray(r,9),i.set(n),i.toArray(r,12),i.toArray(r,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class c3{constructor(){this.type="ShapePath",this.color=new Ce,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new da,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,i){return this.currentPath.quadraticCurveTo(e,t,n,i),this}bezierCurveTo(e,t,n,i,r,a){return this.currentPath.bezierCurveTo(e,t,n,i,r,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e,t){function n(S){const A=[];for(let T=0,C=S.length;TNumber.EPSILON){if(U<0&&(E=A[F],O=-O,P=A[L],U=-U),S.yP.y)continue;if(S.y===E.y){if(S.x===E.x)return!0}else{const ae=U*(S.x-E.x)-O*(S.y-E.y);if(ae===0)return!0;if(ae<0)continue;C=!C}}else{if(S.y!==E.y)continue;if(P.x<=S.x&&S.x<=E.x||E.x<=S.x&&S.x<=P.x)return!0}}return C}const r=Si.isClockWise,a=this.subPaths;if(a.length===0)return[];if(t===!0)return n(a);let c,h,u;const d=[];if(a.length===1)return h=a[0],u=new $r,u.curves=h.curves,d.push(u),d;let p=!r(a[0].getPoints());p=e?!p:p;const m=[],v=[];let _=[],x=0,y;v[x]=void 0,_[x]=[];for(let S=0,A=a.length;S1){let S=!1,A=0;for(let T=0,C=v.length;T0&&S===!1&&(_=m)}let w;for(let S=0,A=v.length;S>-u-14,n[h|256]=1024>>-u-14|32768,i[h]=-u-1,i[h|256]=-u-1):u<=15?(n[h]=u+15<<10,n[h|256]=u+15<<10|32768,i[h]=13,i[h|256]=13):u<128?(n[h]=31744,n[h|256]=64512,i[h]=24,i[h|256]=24):(n[h]=31744,n[h|256]=64512,i[h]=13,i[h|256]=13)}const r=new Uint32Array(2048),a=new Uint32Array(64),c=new Uint32Array(64);for(let h=1;h<1024;++h){let u=h<<13,d=0;for(;!(u&8388608);)u<<=1,d-=8388608;u&=-8388609,d+=947912704,r[h]=u|d}for(let h=1024;h<2048;++h)r[h]=939524096+(h-1024<<13);for(let h=1;h<31;++h)a[h]=h<<23;a[31]=1199570944,a[32]=2147483648;for(let h=33;h<63;++h)a[h]=2147483648+(h-32<<23);a[63]=3347054592;for(let h=1;h<64;++h)h!==32&&(c[h]=1024);return{floatView:e,uint32View:t,baseTable:n,shiftTable:i,mantissaTable:r,exponentTable:a,offsetTable:c}}function h3(l){Math.abs(l)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),l=Vt(l,-65504,65504),Vi.floatView[0]=l;const e=Vi.uint32View[0],t=e>>23&511;return Vi.baseTable[t]+((e&8388607)>>Vi.shiftTable[t])}function f3(l){const e=l>>10;return Vi.uint32View[0]=Vi.mantissaTable[Vi.offsetTable[e]+(l&1023)]+Vi.exponentTable[e],Vi.floatView[0]}var d3=Object.freeze({__proto__:null,toHalfFloat:h3,fromHalfFloat:f3});class p3 extends nt{constructor(){console.error("THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js"),super()}}class m3 extends nt{constructor(){console.error("THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js"),super()}}function g3(){console.error("THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js")}function v3(){console.error("THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js")}function x3(){console.error("THREE.ImmediateRenderObject has been removed.")}class y3 extends ti{constructor(e,t,n){console.error('THREE.WebGLMultisampleRenderTarget has been removed. Use a normal render target and set the "samples" property to greater 0 to enable multisampling.'),super(e,t,n),this.samples=4}}class _3 extends Sa{constructor(e,t,n,i){console.warn("THREE.DataTexture2DArray has been renamed to DataArrayTexture."),super(e,t,n,i)}}class M3 extends zc{constructor(e,t,n,i){console.warn("THREE.DataTexture3D has been renamed to Data3DTexture."),super(e,t,n,i)}}typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:Rc}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=Rc);const wf=Object.freeze(Object.defineProperty({__proto__:null,ACESFilmicToneMapping:If,AddEquation:Gr,AddOperation:Hg,AdditiveAnimationBlendMode:Nf,AdditiveBlending:Uh,AlphaFormat:$g,AlwaysDepth:Fg,AlwaysStencilFunc:m0,AmbientLight:pv,AmbientLightProbe:Mb,AnimationClip:ya,AnimationLoader:lb,AnimationMixer:Ub,AnimationObjectGroup:Ob,AnimationUtils:rb,ArcCurve:U0,ArrayCamera:P0,ArrowHelper:a3,Audio:yv,AudioAnalyser:Eb,AudioContext:ad,AudioListener:bb,AudioLoader:yb,AxesHelper:l3,BackSide:ei,BasicDepthPacking:f0,BasicShadowMap:Rx,Bone:qf,BooleanKeyframeTrack:fs,Box2:Yb,Box3:us,Box3Helper:s3,BoxBufferGeometry:Xi,BoxGeometry:Xi,BoxHelper:r3,BufferAttribute:bt,BufferGeometry:nt,BufferGeometryLoader:xv,ByteType:Zg,Cache:as,Camera:ba,CameraHelper:i3,CanvasTexture:Cw,CapsuleBufferGeometry:ro,CapsuleGeometry:ro,CatmullRomCurve3:V0,CineonToneMapping:qg,CircleBufferGeometry:so,CircleGeometry:so,ClampToEdgeWrapping:gn,Clock:ld,Color:Ce,ColorKeyframeTrack:rd,ColorManagement:jn,CompressedTexture:k0,CompressedTextureLoader:cb,ConeBufferGeometry:oo,ConeGeometry:oo,CubeCamera:_0,CubeReflectionMapping:gr,CubeRefractionMapping:vr,CubeTexture:Ta,CubeTextureLoader:ub,CubeUVReflectionMapping:xo,CubicBezierCurve:Jf,CubicBezierCurve3:G0,CubicInterpolant:ov,CullFaceBack:kh,CullFaceFront:Mg,CullFaceFrontBack:Lx,CullFaceNone:_g,Curve:hi,CurvePath:W0,CustomBlending:wg,CustomToneMapping:Yg,CylinderBufferGeometry:_r,CylinderGeometry:_r,Cylindrical:qb,Data3DTexture:zc,DataArrayTexture:Sa,DataTexture:$s,DataTexture2DArray:_3,DataTexture3D:M3,DataTextureLoader:hb,DataUtils:d3,DecrementStencilOp:Wx,DecrementWrapStencilOp:qx,DefaultLoadingManager:cv,DepthFormat:mr,DepthStencilFormat:ts,DepthTexture:L0,DirectionalLight:dv,DirectionalLightHelper:n3,DiscreteInterpolant:av,DodecahedronBufferGeometry:ao,DodecahedronGeometry:ao,DoubleSide:es,DstAlphaFactor:Lg,DstColorFactor:Ig,DynamicCopyUsage:ay,DynamicDrawUsage:ty,DynamicReadUsage:ry,EdgesGeometry:X0,EllipseCurve:Vc,EqualDepth:Bg,EqualStencilFunc:jx,EquirectangularReflectionMapping:ia,EquirectangularRefractionMapping:ra,Euler:yo,EventDispatcher:Yi,ExtrudeBufferGeometry:lo,ExtrudeGeometry:lo,FileLoader:qi,FlatShading:Sg,Float16BufferAttribute:Wy,Float32BufferAttribute:Ie,Float64BufferAttribute:Xy,FloatType:Gi,Fog:Bc,FogExp2:Oc,Font:v3,FontLoader:g3,FramebufferTexture:Ew,FrontSide:eo,Frustum:Nc,GLBufferAttribute:Wb,GLSL1:cy,GLSL3:df,GreaterDepth:Ug,GreaterEqualDepth:kg,GreaterEqualStencilFunc:ey,GreaterStencilFunc:Kx,GridHelper:e3,Group:Qs,HalfFloatType:to,HemisphereLight:uv,HemisphereLightHelper:$b,HemisphereLightProbe:_b,IcosahedronBufferGeometry:co,IcosahedronGeometry:co,ImageBitmapLoader:xb,ImageLoader:_a,ImageUtils:Of,ImmediateRenderObject:x3,IncrementStencilOp:Hx,IncrementWrapStencilOp:Xx,InstancedBufferAttribute:io,InstancedBufferGeometry:vv,InstancedInterleavedBuffer:Hb,InstancedMesh:F0,Int16BufferAttribute:Gy,Int32BufferAttribute:Hy,Int8BufferAttribute:ky,IntType:jg,InterleavedBuffer:kc,InterleavedBufferAttribute:is,Interpolant:Ea,InterpolateDiscrete:aa,InterpolateLinear:la,InterpolateSmooth:yc,InvertStencilOp:Yx,KeepStencilOp:_c,KeyframeTrack:fi,LOD:z0,LatheBufferGeometry:rs,LatheGeometry:rs,Layers:Kr,LessDepth:Og,LessEqualDepth:Tc,LessEqualStencilFunc:Qx,LessStencilFunc:Jx,Light:wr,LightProbe:Wc,Line:yr,Line3:Zb,LineBasicMaterial:yn,LineCurve:Gc,LineCurve3:H0,LineDashedMaterial:rv,LineLoop:O0,LineSegments:Ti,LinearEncoding:Wi,LinearFilter:Ut,LinearInterpolant:id,LinearMipMapLinearFilter:Fx,LinearMipMapNearestFilter:Nx,LinearMipmapLinearFilter:ls,LinearMipmapNearestFilter:Df,LinearSRGBColorSpace:pr,LinearToneMapping:Wg,Loader:Nn,LoaderUtils:Mf,LoadingManager:sd,LoopOnce:c0,LoopPingPong:h0,LoopRepeat:u0,LuminanceAlphaFormat:n0,LuminanceFormat:t0,MOUSE:Cx,Material:hn,MaterialLoader:Xc,MathUtils:Ty,Matrix3:An,Matrix4:tt,MaxEquation:Wh,Mesh:rn,MeshBasicMaterial:Sr,MeshDepthMaterial:Vf,MeshDistanceMaterial:Gf,MeshLambertMaterial:nv,MeshMatcapMaterial:iv,MeshNormalMaterial:tv,MeshPhongMaterial:$0,MeshPhysicalMaterial:K0,MeshStandardMaterial:ed,MeshToonMaterial:ev,MinEquation:Hh,MirroredRepeatWrapping:oa,MixOperation:Gg,MultiplyBlending:Gh,MultiplyOperation:Ma,NearestFilter:qt,NearestMipMapLinearFilter:zx,NearestMipMapNearestFilter:Dx,NearestMipmapLinearFilter:Ec,NearestMipmapNearestFilter:Ac,NeverDepth:Ng,NeverStencilFunc:Zx,NoBlending:Hi,NoColorSpace:Ux,NoToneMapping:ui,NormalAnimationBlendMode:Dc,NormalBlending:Zr,NotEqualDepth:Vg,NotEqualStencilFunc:$x,NumberKeyframeTrack:va,Object3D:St,ObjectLoader:gb,ObjectSpaceNormalMap:p0,OctahedronBufferGeometry:ss,OctahedronGeometry:ss,OneFactor:Eg,OneMinusDstAlphaFactor:Rg,OneMinusDstColorFactor:Dg,OneMinusSrcAlphaFactor:Rf,OneMinusSrcColorFactor:Pg,OrthographicCamera:Aa,PCFShadowMap:Cf,PCFSoftShadowMap:Pf,PMREMGenerator:mf,ParametricGeometry:p3,Path:da,PerspectiveCamera:tn,Plane:fr,PlaneBufferGeometry:ns,PlaneGeometry:ns,PlaneHelper:o3,PointLight:fv,PointLightHelper:Qb,Points:B0,PointsMaterial:Yf,PolarGridHelper:t3,PolyhedronBufferGeometry:bi,PolyhedronGeometry:bi,PositionalAudio:Ab,PropertyBinding:ht,PropertyMixer:_v,QuadraticBezierCurve:jf,QuadraticBezierCurve3:Qf,Quaternion:En,QuaternionKeyframeTrack:Mo,QuaternionLinearInterpolant:lv,REVISION:Rc,RGBADepthPacking:d0,RGBAFormat:$n,RGBAIntegerFormat:a0,RGBA_ASTC_10x10_Format:cf,RGBA_ASTC_10x5_Format:of,RGBA_ASTC_10x6_Format:af,RGBA_ASTC_10x8_Format:lf,RGBA_ASTC_12x10_Format:uf,RGBA_ASTC_12x12_Format:hf,RGBA_ASTC_4x4_Format:Qh,RGBA_ASTC_5x4_Format:Kh,RGBA_ASTC_5x5_Format:$h,RGBA_ASTC_6x5_Format:ef,RGBA_ASTC_6x6_Format:tf,RGBA_ASTC_8x5_Format:nf,RGBA_ASTC_8x6_Format:rf,RGBA_ASTC_8x8_Format:sf,RGBA_BPTC_Format:ff,RGBA_ETC2_EAC_Format:jh,RGBA_PVRTC_2BPPV1_Format:Zh,RGBA_PVRTC_4BPPV1_Format:Yh,RGBA_S3TC_DXT1_Format:gc,RGBA_S3TC_DXT3_Format:vc,RGBA_S3TC_DXT5_Format:xc,RGBFormat:e0,RGB_ETC1_Format:l0,RGB_ETC2_Format:Jh,RGB_PVRTC_2BPPV1_Format:qh,RGB_PVRTC_4BPPV1_Format:Xh,RGB_S3TC_DXT1_Format:mc,RGFormat:s0,RGIntegerFormat:o0,RawShaderMaterial:Q0,Ray:wa,Raycaster:Mv,RectAreaLight:mv,RedFormat:i0,RedIntegerFormat:r0,ReinhardToneMapping:Xg,RepeatWrapping:sa,ReplaceStencilOp:Gx,ReverseSubtractEquation:Tg,RingBufferGeometry:uo,RingGeometry:uo,SRGBColorSpace:Mi,Scene:Wf,ShaderChunk:ot,ShaderLib:ci,ShaderMaterial:wi,ShadowMaterial:j0,Shape:$r,ShapeBufferGeometry:ho,ShapeGeometry:ho,ShapePath:c3,ShapeUtils:Si,ShortType:Jg,Skeleton:Uc,SkeletonHelper:jb,SkinnedMesh:N0,SmoothShading:Ix,Source:qr,Sphere:hs,SphereBufferGeometry:os,SphereGeometry:os,Spherical:Xb,SphericalHarmonics3:gv,SplineCurve:Kf,SpotLight:hv,SpotLightHelper:Jb,Sprite:D0,SpriteMaterial:Xf,SrcAlphaFactor:Lf,SrcAlphaSaturateFactor:zg,SrcColorFactor:Cg,StaticCopyUsage:oy,StaticDrawUsage:ua,StaticReadUsage:iy,StereoCamera:Sb,StreamCopyUsage:ly,StreamDrawUsage:ny,StreamReadUsage:sy,StringKeyframeTrack:ds,SubtractEquation:bg,SubtractiveBlending:Vh,TOUCH:Px,TangentSpaceNormalMap:cs,TetrahedronBufferGeometry:fo,TetrahedronGeometry:fo,TextGeometry:m3,Texture:Yt,TextureLoader:fb,TorusBufferGeometry:po,TorusGeometry:po,TorusKnotBufferGeometry:mo,TorusKnotGeometry:mo,Triangle:Kn,TriangleFanDrawMode:kx,TriangleStripDrawMode:Bx,TrianglesDrawMode:Ox,TubeBufferGeometry:go,TubeGeometry:go,UVMapping:Ic,Uint16BufferAttribute:Bf,Uint32BufferAttribute:kf,Uint8BufferAttribute:Uy,Uint8ClampedBufferAttribute:Vy,Uniform:hd,UniformsGroup:Gb,UniformsLib:ye,UniformsUtils:y0,UnsignedByteType:xr,UnsignedInt248Type:Jr,UnsignedIntType:dr,UnsignedShort4444Type:Qg,UnsignedShort5551Type:Kg,UnsignedShortType:zf,VSMShadowMap:Zs,Vector2:he,Vector3:I,Vector4:Mt,VectorKeyframeTrack:xa,VideoTexture:Aw,WebGL1Renderer:R0,WebGL3DRenderTarget:Py,WebGLArrayRenderTarget:Cy,WebGLCubeRenderTarget:M0,WebGLMultipleRenderTargets:Ly,WebGLMultisampleRenderTarget:y3,WebGLRenderTarget:ti,WebGLRenderer:Hf,WebGLUtils:C0,WireframeGeometry:J0,WrapAroundEnding:ca,ZeroCurvatureEnding:Wr,ZeroFactor:Ag,ZeroSlopeEnding:Xr,ZeroStencilOp:Vx,_SRGBAFormat:Cc,sRGBEncoding:Tt},Symbol.toStringTag,{value:"Module"}));var wv={exports:{}},ps={};/** + * @license React + * react-reconciler-constants.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ps.ConcurrentRoot=1;ps.ContinuousEventPriority=4;ps.DefaultEventPriority=16;ps.DiscreteEventPriority=1;ps.IdleEventPriority=536870912;ps.LegacyRoot=0;wv.exports=ps;var na=wv.exports;function S3(l){let e;const t=new Set,n=(u,d)=>{const p=typeof u=="function"?u(e):u;if(p!==e){const m=e;e=d?p:Object.assign({},e,p),t.forEach(v=>v(e,m))}},i=()=>e,r=(u,d=i,p=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let m=d(e);function v(){const _=d(e);if(!p(m,_)){const x=m;u(m=_,x)}}return t.add(v),()=>t.delete(v)},h={setState:n,getState:i,subscribe:(u,d,p)=>d||p?r(u,d,p):(t.add(u),()=>t.delete(u)),destroy:()=>t.clear()};return e=l(n,i,h),h}const w3=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),pg=w3?Bt.useEffect:Bt.useLayoutEffect;function b3(l){const e=typeof l=="function"?S3(l):l,t=(n=e.getState,i=Object.is)=>{const[,r]=Bt.useReducer(y=>y+1,0),a=e.getState(),c=Bt.useRef(a),h=Bt.useRef(n),u=Bt.useRef(i),d=Bt.useRef(!1),p=Bt.useRef();p.current===void 0&&(p.current=n(a));let m,v=!1;(c.current!==a||h.current!==n||u.current!==i||d.current)&&(m=n(a),v=!i(p.current,m)),pg(()=>{v&&(p.current=m),c.current=a,h.current=n,u.current=i,d.current=!1});const _=Bt.useRef(a);pg(()=>{const y=()=>{try{const S=e.getState(),A=h.current(S);u.current(p.current,A)||(c.current=S,p.current=A,r())}catch{d.current=!0,r()}},w=e.subscribe(y);return e.getState()!==_.current&&y(),w},[]);const x=v?m:p.current;return Bt.useDebugValue(x),x};return Object.assign(t,e),t[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const n=[t,e];return{next(){const i=n.length<=0;return{value:n.shift(),done:i}}}},t}var bv={exports:{}},Tv={exports:{}},Av={};/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */(function(l){function e(H,B){var X=H.length;H.push(B);e:for(;0>>1,oe=H[ce];if(0>>1;cei(Be,X))rei(qe,Be)?(H[ce]=qe,H[re]=X,ce=re):(H[ce]=Be,H[be]=X,ce=be);else if(rei(qe,X))H[ce]=qe,H[re]=X,ce=re;else break e}}return B}function i(H,B){var X=H.sortIndex-B.sortIndex;return X!==0?X:H.id-B.id}if(typeof performance=="object"&&typeof performance.now=="function"){var r=performance;l.unstable_now=function(){return r.now()}}else{var a=Date,c=a.now();l.unstable_now=function(){return a.now()-c}}var h=[],u=[],d=1,p=null,m=3,v=!1,_=!1,x=!1,y=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function A(H){for(var B=t(u);B!==null;){if(B.callback===null)n(u);else if(B.startTime<=H)n(u),B.sortIndex=B.expirationTime,e(h,B);else break;B=t(u)}}function T(H){if(x=!1,A(H),!_)if(t(h)!==null)_=!0,q(C);else{var B=t(u);B!==null&&se(T,B.startTime-H)}}function C(H,B){_=!1,x&&(x=!1,w(E),E=-1),v=!0;var X=m;try{for(A(B),p=t(h);p!==null&&(!(p.expirationTime>B)||H&&!U());){var ce=p.callback;if(typeof ce=="function"){p.callback=null,m=p.priorityLevel;var oe=ce(p.expirationTime<=B);B=l.unstable_now(),typeof oe=="function"?p.callback=oe:p===t(h)&&n(h),A(B)}else n(h);p=t(h)}if(p!==null)var me=!0;else{var be=t(u);be!==null&&se(T,be.startTime-B),me=!1}return me}finally{p=null,m=X,v=!1}}var L=!1,F=null,E=-1,P=5,O=-1;function U(){return!(l.unstable_now()-OH||125ce?(H.sortIndex=X,e(u,H),t(h)===null&&H===t(u)&&(x?(w(E),E=-1):x=!0,se(T,X-ce))):(H.sortIndex=oe,e(h,H),_||v||(_=!0,q(C))),H},l.unstable_shouldYield=U,l.unstable_wrapCallback=function(H){var B=m;return function(){var X=m;m=B;try{return H.apply(this,arguments)}finally{m=X}}}})(Av);Tv.exports=Av;var bf=Tv.exports;/** + * @license React + * react-reconciler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var T3=function(e){var t={},n=Bt,i=bf,r=Object.assign;function a(s){for(var o="https://reactjs.org/docs/error-decoder.html?invariant="+s,f=1;fk||M[z]!==b[k]){var ee=` +`+M[z].replace(" at new "," at ");return s.displayName&&ee.includes("")&&(ee=ee.replace("",s.displayName)),ee}while(1<=z&&0<=k);break}}}finally{di=!1,Error.prepareStackTrace=f}return(s=s?s.displayName||s.name:"")?at(s):""}var Mn=Object.prototype.hasOwnProperty,On=[],Bn=-1;function kn(s){return{current:s}}function et(s){0>Bn||(s.current=On[Bn],On[Bn]=null,Bn--)}function pt(s,o){Bn++,On[Bn]=s.current,s.current=o}var Un={},_t=kn(Un),jt=kn(!1),Ei=Un;function Ci(s,o){var f=s.type.contextTypes;if(!f)return Un;var g=s.stateNode;if(g&&g.__reactInternalMemoizedUnmaskedChildContext===o)return g.__reactInternalMemoizedMaskedChildContext;var M={},b;for(b in f)M[b]=o[b];return g&&(s=s.stateNode,s.__reactInternalMemoizedUnmaskedChildContext=o,s.__reactInternalMemoizedMaskedChildContext=M),M}function Sn(s){return s=s.childContextTypes,s!=null}function Ra(){et(jt),et(_t)}function fd(s,o,f){if(_t.current!==Un)throw Error(a(168));pt(_t,o),pt(jt,f)}function dd(s,o,f){var g=s.stateNode;if(o=o.childContextTypes,typeof g.getChildContext!="function")return f;g=g.getChildContext();for(var M in g)if(!(M in o))throw Error(a(108,E(s)||"Unknown",M));return r({},f,g)}function Ia(s){return s=(s=s.stateNode)&&s.__reactInternalMemoizedMergedChildContext||Un,Ei=_t.current,pt(_t,s),pt(jt,jt.current),!0}function pd(s,o,f){var g=s.stateNode;if(!g)throw Error(a(169));f?(s=dd(s,o,Ei),g.__reactInternalMemoizedMergedChildContext=s,et(jt),et(_t),pt(_t,s)):et(jt),pt(jt,f)}var ii=Math.clz32?Math.clz32:Bv,Fv=Math.log,Ov=Math.LN2;function Bv(s){return s>>>=0,s===0?32:31-(Fv(s)/Ov|0)|0}var Da=64,za=4194304;function bo(s){switch(s&-s){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: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&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return s&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return s}}function Na(s,o){var f=s.pendingLanes;if(f===0)return 0;var g=0,M=s.suspendedLanes,b=s.pingedLanes,z=f&268435455;if(z!==0){var k=z&~M;k!==0?g=bo(k):(b&=z,b!==0&&(g=bo(b)))}else z=f&~M,z!==0?g=bo(z):b!==0&&(g=bo(b));if(g===0)return 0;if(o!==0&&o!==g&&!(o&M)&&(M=g&-g,b=o&-o,M>=b||M===16&&(b&4194240)!==0))return o;if(g&4&&(g|=f&16),o=s.entangledLanes,o!==0)for(s=s.entanglements,o&=g;0f;f++)o.push(s);return o}function To(s,o,f){s.pendingLanes|=o,o!==536870912&&(s.suspendedLanes=0,s.pingedLanes=0),s=s.eventTimes,o=31-ii(o),s[o]=f}function Vv(s,o){var f=s.pendingLanes&~o;s.pendingLanes=o,s.suspendedLanes=0,s.pingedLanes=0,s.expiredLanes&=o,s.mutableReadLanes&=o,s.entangledLanes&=o,o=s.entanglements;var g=s.eventTimes;for(s=s.expirationTimes;0>=z,M-=z,Ri=1<<32-ii(o)+M|f<gt?($t=Qe,Qe=null):$t=Qe.sibling;var vt=Ue(Z,Qe,j[gt],we);if(vt===null){Qe===null&&(Qe=$t);break}s&&Qe&&vt.alternate===null&&o(Z,Qe),V=b(vt,V,gt),rt===null?ze=vt:rt.sibling=vt,rt=vt,Qe=$t}if(gt===j.length)return f(Z,Qe),Lt&&Tr(Z,gt),ze;if(Qe===null){for(;gtgt?($t=Qe,Qe=null):$t=Qe.sibling;var ir=Ue(Z,Qe,vt.value,we);if(ir===null){Qe===null&&(Qe=$t);break}s&&Qe&&ir.alternate===null&&o(Z,Qe),V=b(ir,V,gt),rt===null?ze=ir:rt.sibling=ir,rt=ir,Qe=$t}if(vt.done)return f(Z,Qe),Lt&&Tr(Z,gt),ze;if(Qe===null){for(;!vt.done;gt++,vt=j.next())vt=je(Z,vt.value,we),vt!==null&&(V=b(vt,V,gt),rt===null?ze=vt:rt.sibling=vt,rt=vt);return Lt&&Tr(Z,gt),ze}for(Qe=g(Z,Qe);!vt.done;gt++,vt=j.next())vt=wt(Qe,Z,gt,vt.value,we),vt!==null&&(s&&vt.alternate!==null&&Qe.delete(vt.key===null?gt:vt.key),V=b(vt,V,gt),rt===null?ze=vt:rt.sibling=vt,rt=vt);return s&&Qe.forEach(function(Ax){return o(Z,Ax)}),Lt&&Tr(Z,gt),ze}function Zn(Z,V,j,we){if(typeof j=="object"&&j!==null&&j.type===d&&j.key===null&&(j=j.props.children),typeof j=="object"&&j!==null){switch(j.$$typeof){case h:e:{for(var ze=j.key,rt=V;rt!==null;){if(rt.key===ze){if(ze=j.type,ze===d){if(rt.tag===7){f(Z,rt.sibling),V=M(rt,j.props.children),V.return=Z,Z=V;break e}}else if(rt.elementType===ze||typeof ze=="object"&&ze!==null&&ze.$$typeof===A&&Ld(ze)===rt.type){f(Z,rt.sibling),V=M(rt,j.props),V.ref=Co(Z,rt,j),V.return=Z,Z=V;break e}f(Z,rt);break}else o(Z,rt);rt=rt.sibling}j.type===d?(V=Ir(j.props.children,Z.mode,we,j.key),V.return=Z,Z=V):(we=wl(j.type,j.key,j.props,null,Z.mode,we),we.ref=Co(Z,V,j),we.return=Z,Z=we)}return z(Z);case u:e:{for(rt=j.key;V!==null;){if(V.key===rt)if(V.tag===4&&V.stateNode.containerInfo===j.containerInfo&&V.stateNode.implementation===j.implementation){f(Z,V.sibling),V=M(V,j.children||[]),V.return=Z,Z=V;break e}else{f(Z,V);break}else o(Z,V);V=V.sibling}V=ju(j,Z.mode,we),V.return=Z,Z=V}return z(Z);case A:return rt=j._init,Zn(Z,V,rt(j._payload),we)}if(ne(j))return Fe(Z,V,j,we);if(L(j))return ln(Z,V,j,we);qa(Z,j)}return typeof j=="string"&&j!==""||typeof j=="number"?(j=""+j,V!==null&&V.tag===6?(f(Z,V.sibling),V=M(V,j),V.return=Z,Z=V):(f(Z,V),V=Ju(j,Z.mode,we),V.return=Z,Z=V),z(Z)):f(Z,V)}return Zn}var _s=Rd(!0),Id=Rd(!1),Po={},Wn=kn(Po),Lo=kn(Po),Ms=kn(Po);function xi(s){if(s===Po)throw Error(a(174));return s}function du(s,o){pt(Ms,o),pt(Lo,s),pt(Wn,Po),s=se(o),et(Wn),pt(Wn,s)}function Ss(){et(Wn),et(Lo),et(Ms)}function Dd(s){var o=xi(Ms.current),f=xi(Wn.current);o=H(f,s.type,o),f!==o&&(pt(Lo,s),pt(Wn,o))}function pu(s){Lo.current===s&&(et(Wn),et(Lo))}var It=kn(0);function Ya(s){for(var o=s;o!==null;){if(o.tag===13){var f=o.memoizedState;if(f!==null&&(f=f.dehydrated,f===null||La(f)||wo(f)))return o}else if(o.tag===19&&o.memoizedProps.revealOrder!==void 0){if(o.flags&128)return o}else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===s)break;for(;o.sibling===null;){if(o.return===null||o.return===s)return null;o=o.return}o.sibling.return=o.return,o=o.sibling}return null}var mu=[];function gu(){for(var s=0;sf?f:4,s(!0);var g=Xn.transition;Xn.transition={};try{s(!1),o()}finally{mt=f,Xn.transition=g}}function Yd(){return yi().memoizedState}function $v(s,o,f){var g=er(s);f={lane:g,action:f,hasEagerState:!1,eagerState:null,next:null},Zd(s)?Jd(o,f):(jd(s,o,f),f=pn(),s=qn(s,g,f),s!==null&&Qd(s,o,g))}function ex(s,o,f){var g=er(s),M={lane:g,action:f,hasEagerState:!1,eagerState:null,next:null};if(Zd(s))Jd(o,M);else{jd(s,o,M);var b=s.alternate;if(s.lanes===0&&(b===null||b.lanes===0)&&(b=o.lastRenderedReducer,b!==null))try{var z=o.lastRenderedState,k=b(z,f);if(M.hasEagerState=!0,M.eagerState=k,mi(k,z))return}catch{}finally{}f=pn(),s=qn(s,g,f),s!==null&&Qd(s,o,g)}}function Zd(s){var o=s.alternate;return s===zt||o!==null&&o===zt}function Jd(s,o){Ro=Ja=!0;var f=s.pending;f===null?o.next=o:(o.next=f.next,f.next=o),s.pending=o}function jd(s,o,f){Ht!==null&&s.mode&1&&!(st&2)?(s=o.interleaved,s===null?(f.next=f,vi===null?vi=[o]:vi.push(o)):(f.next=s.next,s.next=f),o.interleaved=f):(s=o.pending,s===null?f.next=f:(f.next=s.next,s.next=f),o.pending=f)}function Qd(s,o,f){if(f&4194240){var g=o.lanes;g&=s.pendingLanes,f|=g,o.lanes=f,jc(s,f)}}var el={readContext:Vn,useCallback:on,useContext:on,useEffect:on,useImperativeHandle:on,useInsertionEffect:on,useLayoutEffect:on,useMemo:on,useReducer:on,useRef:on,useState:on,useDebugValue:on,useDeferredValue:on,useTransition:on,useMutableSource:on,useSyncExternalStore:on,useId:on,unstable_isNewReconciler:!1},tx={readContext:Vn,useCallback:function(s,o){return Di().memoizedState=[s,o===void 0?null:o],s},useContext:Vn,useEffect:Mu,useImperativeHandle:function(s,o,f){return f=f!=null?f.concat([s]):null,Ka(4194308,4,Hd.bind(null,o,s),f)},useLayoutEffect:function(s,o){return Ka(4194308,4,s,o)},useInsertionEffect:function(s,o){return Ka(4,2,s,o)},useMemo:function(s,o){var f=Di();return o=o===void 0?null:o,s=s(),f.memoizedState=[s,o],s},useReducer:function(s,o,f){var g=Di();return o=f!==void 0?f(o):o,g.memoizedState=g.baseState=o,s={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:s,lastRenderedState:o},g.queue=s,s=s.dispatch=$v.bind(null,zt,s),[g.memoizedState,s]},useRef:function(s){var o=Di();return s={current:s},o.memoizedState=s},useState:_u,useDebugValue:Su,useDeferredValue:function(s){var o=_u(s),f=o[0],g=o[1];return Mu(function(){var M=Xn.transition;Xn.transition={};try{g(s)}finally{Xn.transition=M}},[s]),f},useTransition:function(){var s=_u(!1),o=s[0];return s=Kv.bind(null,s[1]),Di().memoizedState=s,[o,s]},useMutableSource:function(){},useSyncExternalStore:function(s,o,f){var g=zt,M=Di();if(Lt){if(f===void 0)throw Error(a(407));f=f()}else{if(f=o(),Ht===null)throw Error(a(349));ws&30||Fd(g,o,f)}M.memoizedState=f;var b={value:f,getSnapshot:o};return M.queue=b,Mu(Bd.bind(null,g,b,s),[s]),g.flags|=2048,Do(9,Od.bind(null,g,b,f,o),void 0,null),f},useId:function(){var s=Di(),o=Ht.identifierPrefix;if(Lt){var f=Ii,g=Ri;f=(g&~(1<<32-ii(g)-1)).toString(32)+f,o=":"+o+"R"+f,f=Io++,0Vu&&(o.flags|=128,g=!0,Oo(M,!1),o.lanes=4194304)}else{if(!g)if(s=Ya(b),s!==null){if(o.flags|=128,g=!0,s=s.updateQueue,s!==null&&(o.updateQueue=s,o.flags|=4),Oo(M,!0),M.tail===null&&M.tailMode==="hidden"&&!b.alternate&&!Lt)return an(o),null}else 2*Qt()-M.renderingStartTime>Vu&&f!==1073741824&&(o.flags|=128,g=!0,Oo(M,!1),o.lanes=4194304);M.isBackwards?(b.sibling=o.child,o.child=b):(s=M.last,s!==null?s.sibling=b:o.child=b,M.last=b)}return M.tail!==null?(o=M.tail,M.rendering=o,M.tail=o.sibling,M.renderingStartTime=Qt(),o.sibling=null,s=It.current,pt(It,g?s&1|2:s&1),o):(an(o),null);case 22:case 23:return qu(),g=o.memoizedState!==null,s!==null&&s.memoizedState!==null!==g&&(o.flags|=8192),g&&o.mode&1?Rn&1073741824&&(an(o),We&&o.subtreeFlags&6&&(o.flags|=8192)):an(o),null;case 24:return null;case 25:return null}throw Error(a(156,o.tag))}var ox=c.ReactCurrentOwner,Ln=!1;function dn(s,o,f,g){o.child=s===null?Id(o,null,f,g):_s(o,s.child,f,g)}function sp(s,o,f,g,M){f=f.render;var b=o.ref;return gs(o,M),g=xu(s,o,f,g,b,M),f=yu(),s!==null&&!Ln?(o.updateQueue=s.updateQueue,o.flags&=-2053,s.lanes&=~M,zi(s,o,M)):(Lt&&f&&lu(o),o.flags|=1,dn(s,o,g,M),o.child)}function op(s,o,f,g,M){if(s===null){var b=f.type;return typeof b=="function"&&!Zu(b)&&b.defaultProps===void 0&&f.compare===null&&f.defaultProps===void 0?(o.tag=15,o.type=b,ap(s,o,b,g,M)):(s=wl(f.type,null,g,o,o.mode,M),s.ref=o.ref,s.return=o,o.child=s)}if(b=s.child,!(s.lanes&M)){var z=b.memoizedProps;if(f=f.compare,f=f!==null?f:Ba,f(z,g)&&s.ref===o.ref)return zi(s,o,M)}return o.flags|=1,s=nr(b,g),s.ref=o.ref,s.return=o,o.child=s}function ap(s,o,f,g,M){if(s!==null&&Ba(s.memoizedProps,g)&&s.ref===o.ref)if(Ln=!1,(s.lanes&M)!==0)s.flags&131072&&(Ln=!0);else return o.lanes=s.lanes,zi(s,o,M);return Tu(s,o,f,g,M)}function lp(s,o,f){var g=o.pendingProps,M=g.children,b=s!==null?s.memoizedState:null;if(g.mode==="hidden")if(!(o.mode&1))o.memoizedState={baseLanes:0,cachePool:null},pt(bs,Rn),Rn|=f;else if(f&1073741824)o.memoizedState={baseLanes:0,cachePool:null},g=b!==null?b.baseLanes:f,pt(bs,Rn),Rn|=g;else return s=b!==null?b.baseLanes|f:f,o.lanes=o.childLanes=1073741824,o.memoizedState={baseLanes:s,cachePool:null},o.updateQueue=null,pt(bs,Rn),Rn|=s,null;else b!==null?(g=b.baseLanes|f,o.memoizedState=null):g=f,pt(bs,Rn),Rn|=g;return dn(s,o,M,f),o.child}function cp(s,o){var f=o.ref;(s===null&&f!==null||s!==null&&s.ref!==f)&&(o.flags|=512,o.flags|=2097152)}function Tu(s,o,f,g,M){var b=Sn(f)?Ei:_t.current;return b=Ci(o,b),gs(o,M),f=xu(s,o,f,g,b,M),g=yu(),s!==null&&!Ln?(o.updateQueue=s.updateQueue,o.flags&=-2053,s.lanes&=~M,zi(s,o,M)):(Lt&&g&&lu(o),o.flags|=1,dn(s,o,f,M),o.child)}function up(s,o,f,g,M){if(Sn(f)){var b=!0;Ia(o)}else b=!1;if(gs(o,M),o.stateNode===null)s!==null&&(s.alternate=null,o.alternate=null,o.flags|=2),bd(o,f,g),au(o,f,g,M),g=!0;else if(s===null){var z=o.stateNode,k=o.memoizedProps;z.props=k;var ee=z.context,pe=f.contextType;typeof pe=="object"&&pe!==null?pe=Vn(pe):(pe=Sn(f)?Ei:_t.current,pe=Ci(o,pe));var Le=f.getDerivedStateFromProps,je=typeof Le=="function"||typeof z.getSnapshotBeforeUpdate=="function";je||typeof z.UNSAFE_componentWillReceiveProps!="function"&&typeof z.componentWillReceiveProps!="function"||(k!==g||ee!==pe)&&Td(o,z,g,pe),ji=!1;var Ue=o.memoizedState;z.state=Ue,Ga(o,g,z,M),ee=o.memoizedState,k!==g||Ue!==ee||jt.current||ji?(typeof Le=="function"&&(ou(o,f,Le,g),ee=o.memoizedState),(k=ji||wd(o,f,k,g,Ue,ee,pe))?(je||typeof z.UNSAFE_componentWillMount!="function"&&typeof z.componentWillMount!="function"||(typeof z.componentWillMount=="function"&&z.componentWillMount(),typeof z.UNSAFE_componentWillMount=="function"&&z.UNSAFE_componentWillMount()),typeof z.componentDidMount=="function"&&(o.flags|=4194308)):(typeof z.componentDidMount=="function"&&(o.flags|=4194308),o.memoizedProps=g,o.memoizedState=ee),z.props=g,z.state=ee,z.context=pe,g=k):(typeof z.componentDidMount=="function"&&(o.flags|=4194308),g=!1)}else{z=o.stateNode,yd(s,o),k=o.memoizedProps,pe=o.type===o.elementType?k:ri(o.type,k),z.props=pe,je=o.pendingProps,Ue=z.context,ee=f.contextType,typeof ee=="object"&&ee!==null?ee=Vn(ee):(ee=Sn(f)?Ei:_t.current,ee=Ci(o,ee));var wt=f.getDerivedStateFromProps;(Le=typeof wt=="function"||typeof z.getSnapshotBeforeUpdate=="function")||typeof z.UNSAFE_componentWillReceiveProps!="function"&&typeof z.componentWillReceiveProps!="function"||(k!==je||Ue!==ee)&&Td(o,z,g,ee),ji=!1,Ue=o.memoizedState,z.state=Ue,Ga(o,g,z,M);var Fe=o.memoizedState;k!==je||Ue!==Fe||jt.current||ji?(typeof wt=="function"&&(ou(o,f,wt,g),Fe=o.memoizedState),(pe=ji||wd(o,f,pe,g,Ue,Fe,ee)||!1)?(Le||typeof z.UNSAFE_componentWillUpdate!="function"&&typeof z.componentWillUpdate!="function"||(typeof z.componentWillUpdate=="function"&&z.componentWillUpdate(g,Fe,ee),typeof z.UNSAFE_componentWillUpdate=="function"&&z.UNSAFE_componentWillUpdate(g,Fe,ee)),typeof z.componentDidUpdate=="function"&&(o.flags|=4),typeof z.getSnapshotBeforeUpdate=="function"&&(o.flags|=1024)):(typeof z.componentDidUpdate!="function"||k===s.memoizedProps&&Ue===s.memoizedState||(o.flags|=4),typeof z.getSnapshotBeforeUpdate!="function"||k===s.memoizedProps&&Ue===s.memoizedState||(o.flags|=1024),o.memoizedProps=g,o.memoizedState=Fe),z.props=g,z.state=Fe,z.context=ee,g=pe):(typeof z.componentDidUpdate!="function"||k===s.memoizedProps&&Ue===s.memoizedState||(o.flags|=4),typeof z.getSnapshotBeforeUpdate!="function"||k===s.memoizedProps&&Ue===s.memoizedState||(o.flags|=1024),g=!1)}return Au(s,o,f,g,b,M)}function Au(s,o,f,g,M,b){cp(s,o);var z=(o.flags&128)!==0;if(!g&&!z)return M&&pd(o,f,!1),zi(s,o,b);g=o.stateNode,ox.current=o;var k=z&&typeof f.getDerivedStateFromError!="function"?null:g.render();return o.flags|=1,s!==null&&z?(o.child=_s(o,s.child,null,b),o.child=_s(o,null,k,b)):dn(s,o,k,b),o.memoizedState=g.state,M&&pd(o,f,!0),o.child}function hp(s){var o=s.stateNode;o.pendingContext?fd(s,o.pendingContext,o.pendingContext!==o.context):o.context&&fd(s,o.context,!1),du(s,o.containerInfo)}function fp(s,o,f,g,M){return ys(),fu(M),o.flags|=256,dn(s,o,f,g),o.child}var il={dehydrated:null,treeContext:null,retryLane:0};function rl(s){return{baseLanes:s,cachePool:null}}function dp(s,o,f){var g=o.pendingProps,M=It.current,b=!1,z=(o.flags&128)!==0,k;if((k=z)||(k=s!==null&&s.memoizedState===null?!1:(M&2)!==0),k?(b=!0,o.flags&=-129):(s===null||s.memoizedState!==null)&&(M|=1),pt(It,M&1),s===null)return hu(o),s=o.memoizedState,s!==null&&(s=s.dehydrated,s!==null)?(o.mode&1?wo(s)?o.lanes=8:o.lanes=1073741824:o.lanes=1,null):(M=g.children,s=g.fallback,b?(g=o.mode,b=o.child,M={mode:"hidden",children:M},!(g&1)&&b!==null?(b.childLanes=0,b.pendingProps=M):b=bl(M,g,0,null),s=Ir(s,g,f,null),b.return=o,s.return=o,b.sibling=s,o.child=b,o.child.memoizedState=rl(f),o.memoizedState=il,s):Eu(o,M));if(M=s.memoizedState,M!==null){if(k=M.dehydrated,k!==null){if(z)return o.flags&256?(o.flags&=-257,sl(s,o,f,Error(a(422)))):o.memoizedState!==null?(o.child=s.child,o.flags|=128,null):(b=g.fallback,M=o.mode,g=bl({mode:"visible",children:g.children},M,0,null),b=Ir(b,M,f,null),b.flags|=2,g.return=o,b.return=o,g.sibling=b,o.child=g,o.mode&1&&_s(o,s.child,null,f),o.child.memoizedState=rl(f),o.memoizedState=il,b);if(!(o.mode&1))o=sl(s,o,f,null);else if(wo(k))o=sl(s,o,f,Error(a(419)));else if(g=(f&s.childLanes)!==0,Ln||g){if(g=Ht,g!==null){switch(f&-f){case 4:b=2;break;case 16:b=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:b=32;break;case 536870912:b=268435456;break;default:b=0}g=b&(g.suspendedLanes|f)?0:b,g!==0&&g!==M.retryLane&&(M.retryLane=g,qn(s,g,-1))}Yu(),o=sl(s,o,f,Error(a(421)))}else La(k)?(o.flags|=128,o.child=s.child,o=yx.bind(null,s),D(k,o),o=null):(f=M.treeContext,te&&(Pn=ue(k),Cn=o,Lt=!0,si=null,Ao=!1,f!==null&&(Gn[Hn++]=Ri,Gn[Hn++]=Ii,Gn[Hn++]=br,Ri=f.id,Ii=f.overflow,br=o)),o=Eu(o,o.pendingProps.children),o.flags|=4096);return o}return b?(g=mp(s,o,g.children,g.fallback,f),b=o.child,M=s.child.memoizedState,b.memoizedState=M===null?rl(f):{baseLanes:M.baseLanes|f,cachePool:null},b.childLanes=s.childLanes&~f,o.memoizedState=il,g):(f=pp(s,o,g.children,f),o.memoizedState=null,f)}return b?(g=mp(s,o,g.children,g.fallback,f),b=o.child,M=s.child.memoizedState,b.memoizedState=M===null?rl(f):{baseLanes:M.baseLanes|f,cachePool:null},b.childLanes=s.childLanes&~f,o.memoizedState=il,g):(f=pp(s,o,g.children,f),o.memoizedState=null,f)}function Eu(s,o){return o=bl({mode:"visible",children:o},s.mode,0,null),o.return=s,s.child=o}function pp(s,o,f,g){var M=s.child;return s=M.sibling,f=nr(M,{mode:"visible",children:f}),!(o.mode&1)&&(f.lanes=g),f.return=o,f.sibling=null,s!==null&&(g=o.deletions,g===null?(o.deletions=[s],o.flags|=16):g.push(s)),o.child=f}function mp(s,o,f,g,M){var b=o.mode;s=s.child;var z=s.sibling,k={mode:"hidden",children:f};return!(b&1)&&o.child!==s?(f=o.child,f.childLanes=0,f.pendingProps=k,o.deletions=null):(f=nr(s,k),f.subtreeFlags=s.subtreeFlags&14680064),z!==null?g=nr(z,g):(g=Ir(g,b,M,null),g.flags|=2),g.return=o,f.return=o,f.sibling=g,o.child=f,g}function sl(s,o,f,g){return g!==null&&fu(g),_s(o,s.child,null,f),s=Eu(o,o.pendingProps.children),s.flags|=2,o.memoizedState=null,s}function gp(s,o,f){s.lanes|=o;var g=s.alternate;g!==null&&(g.lanes|=o),ru(s.return,o,f)}function Cu(s,o,f,g,M){var b=s.memoizedState;b===null?s.memoizedState={isBackwards:o,rendering:null,renderingStartTime:0,last:g,tail:f,tailMode:M}:(b.isBackwards=o,b.rendering=null,b.renderingStartTime=0,b.last=g,b.tail=f,b.tailMode=M)}function vp(s,o,f){var g=o.pendingProps,M=g.revealOrder,b=g.tail;if(dn(s,o,g.children,f),g=It.current,g&2)g=g&1|2,o.flags|=128;else{if(s!==null&&s.flags&128)e:for(s=o.child;s!==null;){if(s.tag===13)s.memoizedState!==null&&gp(s,f,o);else if(s.tag===19)gp(s,f,o);else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===o)break e;for(;s.sibling===null;){if(s.return===null||s.return===o)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}g&=1}if(pt(It,g),!(o.mode&1))o.memoizedState=null;else switch(M){case"forwards":for(f=o.child,M=null;f!==null;)s=f.alternate,s!==null&&Ya(s)===null&&(M=f),f=f.sibling;f=M,f===null?(M=o.child,o.child=null):(M=f.sibling,f.sibling=null),Cu(o,!1,M,f,b);break;case"backwards":for(f=null,M=o.child,o.child=null;M!==null;){if(s=M.alternate,s!==null&&Ya(s)===null){o.child=M;break}s=M.sibling,M.sibling=f,f=M,M=s}Cu(o,!0,f,null,b);break;case"together":Cu(o,!1,null,null,void 0);break;default:o.memoizedState=null}return o.child}function zi(s,o,f){if(s!==null&&(o.dependencies=s.dependencies),Ts|=o.lanes,!(f&o.childLanes))return null;if(s!==null&&o.child!==s.child)throw Error(a(153));if(o.child!==null){for(s=o.child,f=nr(s,s.pendingProps),o.child=f,f.return=o;s.sibling!==null;)s=s.sibling,f=f.sibling=nr(s,s.pendingProps),f.return=o;f.sibling=null}return o.child}function ax(s,o,f){switch(o.tag){case 3:hp(o),ys();break;case 5:Dd(o);break;case 1:Sn(o.type)&&Ia(o);break;case 4:du(o,o.stateNode.containerInfo);break;case 10:xd(o,o.type._context,o.memoizedProps.value);break;case 13:var g=o.memoizedState;if(g!==null)return g.dehydrated!==null?(pt(It,It.current&1),o.flags|=128,null):f&o.child.childLanes?dp(s,o,f):(pt(It,It.current&1),s=zi(s,o,f),s!==null?s.sibling:null);pt(It,It.current&1);break;case 19:if(g=(f&o.childLanes)!==0,s.flags&128){if(g)return vp(s,o,f);o.flags|=128}var M=o.memoizedState;if(M!==null&&(M.rendering=null,M.tail=null,M.lastEffect=null),pt(It,It.current),g)break;return null;case 22:case 23:return o.lanes=0,lp(s,o,f)}return zi(s,o,f)}function lx(s,o){switch(cu(o),o.tag){case 1:return Sn(o.type)&&Ra(),s=o.flags,s&65536?(o.flags=s&-65537|128,o):null;case 3:return Ss(),et(jt),et(_t),gu(),s=o.flags,s&65536&&!(s&128)?(o.flags=s&-65537|128,o):null;case 5:return pu(o),null;case 13:if(et(It),s=o.memoizedState,s!==null&&s.dehydrated!==null){if(o.alternate===null)throw Error(a(340));ys()}return s=o.flags,s&65536?(o.flags=s&-65537|128,o):null;case 19:return et(It),null;case 4:return Ss(),null;case 10:return iu(o.type._context),null;case 22:case 23:return qu(),null;case 24:return null;default:return null}}var ol=!1,Er=!1,cx=typeof WeakSet=="function"?WeakSet:Set,Me=null;function al(s,o){var f=s.ref;if(f!==null)if(typeof f=="function")try{f(null)}catch(g){Tn(s,o,g)}else f.current=null}function Pu(s,o,f){try{f()}catch(g){Tn(s,o,g)}}var xp=!1;function ux(s,o){for(B(s.containerInfo),Me=o;Me!==null;)if(s=Me,o=s.child,(s.subtreeFlags&1028)!==0&&o!==null)o.return=s,Me=o;else for(;Me!==null;){s=Me;try{var f=s.alternate;if(s.flags&1024)switch(s.tag){case 0:case 11:case 15:break;case 1:if(f!==null){var g=f.memoizedProps,M=f.memoizedState,b=s.stateNode,z=b.getSnapshotBeforeUpdate(s.elementType===s.type?g:ri(s.type,g),M);b.__reactInternalSnapshotBeforeUpdate=z}break;case 3:We&&ct(s.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(k){Tn(s,s.return,k)}if(o=s.sibling,o!==null){o.return=s.return,Me=o;break}Me=s.return}return f=xp,xp=!1,f}function Cr(s,o,f){var g=o.updateQueue;if(g=g!==null?g.lastEffect:null,g!==null){var M=g=g.next;do{if((M.tag&s)===s){var b=M.destroy;M.destroy=void 0,b!==void 0&&Pu(o,f,b)}M=M.next}while(M!==g)}}function Bo(s,o){if(o=o.updateQueue,o=o!==null?o.lastEffect:null,o!==null){var f=o=o.next;do{if((f.tag&s)===s){var g=f.create;f.destroy=g()}f=f.next}while(f!==o)}}function Lu(s){var o=s.ref;if(o!==null){var f=s.stateNode;switch(s.tag){case 5:s=q(f);break;default:s=f}typeof o=="function"?o(s):o.current=s}}function yp(s,o,f){if(pi&&typeof pi.onCommitFiberUnmount=="function")try{pi.onCommitFiberUnmount(Fa,o)}catch{}switch(o.tag){case 0:case 11:case 14:case 15:if(s=o.updateQueue,s!==null&&(s=s.lastEffect,s!==null)){var g=s=s.next;do{var M=g,b=M.destroy;M=M.tag,b!==void 0&&(M&2||M&4)&&Pu(o,f,b),g=g.next}while(g!==s)}break;case 1:if(al(o,f),s=o.stateNode,typeof s.componentWillUnmount=="function")try{s.props=o.memoizedProps,s.state=o.memoizedState,s.componentWillUnmount()}catch(z){Tn(o,f,z)}break;case 5:al(o,f);break;case 4:We?Tp(s,o,f):le&&le&&(o=o.stateNode.containerInfo,f=At(o),Fn(o,f))}}function _p(s,o,f){for(var g=o;;)if(yp(s,g,f),g.child===null||We&&g.tag===4){if(g===o)break;for(;g.sibling===null;){if(g.return===null||g.return===o)return;g=g.return}g.sibling.return=g.return,g=g.sibling}else g.child.return=g,g=g.child}function Mp(s){var o=s.alternate;o!==null&&(s.alternate=null,Mp(o)),s.child=null,s.deletions=null,s.sibling=null,s.tag===5&&(o=s.stateNode,o!==null&&Ze(o)),s.stateNode=null,s.return=null,s.dependencies=null,s.memoizedProps=null,s.memoizedState=null,s.pendingProps=null,s.stateNode=null,s.updateQueue=null}function Sp(s){return s.tag===5||s.tag===3||s.tag===4}function wp(s){e:for(;;){for(;s.sibling===null;){if(s.return===null||Sp(s.return))return null;s=s.return}for(s.sibling.return=s.return,s=s.sibling;s.tag!==5&&s.tag!==6&&s.tag!==18;){if(s.flags&2||s.child===null||s.tag===4)continue e;s.child.return=s,s=s.child}if(!(s.flags&2))return s.stateNode}}function bp(s){if(We){e:{for(var o=s.return;o!==null;){if(Sp(o))break e;o=o.return}throw Error(a(160))}var f=o;switch(f.tag){case 5:o=f.stateNode,f.flags&32&&(G(o),f.flags&=-33),f=wp(s),Iu(s,f,o);break;case 3:case 4:o=f.stateNode.containerInfo,f=wp(s),Ru(s,f,o);break;default:throw Error(a(161))}}}function Ru(s,o,f){var g=s.tag;if(g===5||g===6)s=s.stateNode,o?Ke(f,s,o):K(f,s);else if(g!==4&&(s=s.child,s!==null))for(Ru(s,o,f),s=s.sibling;s!==null;)Ru(s,o,f),s=s.sibling}function Iu(s,o,f){var g=s.tag;if(g===5||g===6)s=s.stateNode,o?Re(f,s,o):Ye(f,s);else if(g!==4&&(s=s.child,s!==null))for(Iu(s,o,f),s=s.sibling;s!==null;)Iu(s,o,f),s=s.sibling}function Tp(s,o,f){for(var g=o,M=!1,b,z;;){if(!M){M=g.return;e:for(;;){if(M===null)throw Error(a(160));switch(b=M.stateNode,M.tag){case 5:z=!1;break e;case 3:b=b.containerInfo,z=!0;break e;case 4:b=b.containerInfo,z=!0;break e}M=M.return}M=!0}if(g.tag===5||g.tag===6)_p(s,g,f),z?Rt(b,g.stateNode):ft(b,g.stateNode);else if(g.tag===18)z?Ct(b,g.stateNode):ut(b,g.stateNode);else if(g.tag===4){if(g.child!==null){b=g.stateNode.containerInfo,z=!0,g.child.return=g,g=g.child;continue}}else if(yp(s,g,f),g.child!==null){g.child.return=g,g=g.child;continue}if(g===o)break;for(;g.sibling===null;){if(g.return===null||g.return===o)return;g=g.return,g.tag===4&&(M=!1)}g.sibling.return=g.return,g=g.sibling}}function Du(s,o){if(We){switch(o.tag){case 0:case 11:case 14:case 15:Cr(3,o,o.return),Bo(3,o),Cr(5,o,o.return);return;case 1:return;case 5:var f=o.stateNode;if(f!=null){var g=o.memoizedProps;s=s!==null?s.memoizedProps:g;var M=o.type,b=o.updateQueue;o.updateQueue=null,b!==null&&Oe(f,b,M,s,g,o)}return;case 6:if(o.stateNode===null)throw Error(a(162));f=o.memoizedProps,Ne(o.stateNode,s!==null?s.memoizedProps:f,f);return;case 3:te&&s!==null&&s.memoizedState.isDehydrated&&dt(o.stateNode.containerInfo);return;case 12:return;case 13:ll(o);return;case 19:ll(o);return;case 17:return}throw Error(a(163))}switch(o.tag){case 0:case 11:case 14:case 15:Cr(3,o,o.return),Bo(3,o),Cr(5,o,o.return);return;case 12:return;case 13:ll(o);return;case 19:ll(o);return;case 3:te&&s!==null&&s.memoizedState.isDehydrated&&dt(o.stateNode.containerInfo);break;case 22:case 23:return}e:if(le){switch(o.tag){case 1:case 5:case 6:break e;case 3:case 4:o=o.stateNode,Fn(o.containerInfo,o.pendingChildren);break e}throw Error(a(163))}}function ll(s){var o=s.updateQueue;if(o!==null){s.updateQueue=null;var f=s.stateNode;f===null&&(f=s.stateNode=new cx),o.forEach(function(g){var M=_x.bind(null,s,g);f.has(g)||(f.add(g),g.then(M,M))})}}function hx(s,o){for(Me=o;Me!==null;){o=Me;var f=o.deletions;if(f!==null)for(var g=0;g";case ul:return":has("+(Fu(s)||"")+")";case hl:return'[role="'+s.value+'"]';case dl:return'"'+s.value+'"';case fl:return'[data-testname="'+s.value+'"]';default:throw Error(a(365))}}function Lp(s,o){var f=[];s=[s,0];for(var g=0;gM&&(M=z),g&=~b}if(g=M,g=Qt()-g,g=(120>g?120:480>g?480:1080>g?1080:1920>g?1920:3e3>g?3e3:4320>g?4320:1960*dx(g/1960))-g,10s?16:s,$i===null)var g=!1;else{if(s=$i,$i=null,xl=0,st&6)throw Error(a(331));var M=st;for(st|=4,Me=s.current;Me!==null;){var b=Me,z=b.child;if(Me.flags&16){var k=b.deletions;if(k!==null){for(var ee=0;eeQt()-Uu?Pr(s,0):ku|=f),bn(s,o)}function kp(s,o){o===0&&(s.mode&1?(o=za,za<<=1,!(za&130023424)&&(za=4194304)):o=1);var f=pn();s=Ml(s,o),s!==null&&(To(s,o,f),bn(s,f))}function yx(s){var o=s.memoizedState,f=0;o!==null&&(f=o.retryLane),kp(s,f)}function _x(s,o){var f=0;switch(s.tag){case 13:var g=s.stateNode,M=s.memoizedState;M!==null&&(f=M.retryLane);break;case 19:g=s.stateNode;break;default:throw Error(a(314))}g!==null&&g.delete(o),kp(s,f)}var Up;Up=function(s,o,f){if(s!==null)if(s.memoizedProps!==o.pendingProps||jt.current)Ln=!0;else{if(!(s.lanes&f)&&!(o.flags&128))return Ln=!1,ax(s,o,f);Ln=!!(s.flags&131072)}else Ln=!1,Lt&&o.flags&1048576&&Ad(o,Xa,o.index);switch(o.lanes=0,o.tag){case 2:var g=o.type;s!==null&&(s.alternate=null,o.alternate=null,o.flags|=2),s=o.pendingProps;var M=Ci(o,_t.current);gs(o,f),M=xu(null,o,g,s,M,f);var b=yu();return o.flags|=1,typeof M=="object"&&M!==null&&typeof M.render=="function"&&M.$$typeof===void 0?(o.tag=1,o.memoizedState=null,o.updateQueue=null,Sn(g)?(b=!0,Ia(o)):b=!1,o.memoizedState=M.state!==null&&M.state!==void 0?M.state:null,su(o),M.updater=Ha,o.stateNode=M,M._reactInternals=o,au(o,g,s,f),o=Au(null,o,g,!0,b,f)):(o.tag=0,Lt&&b&&lu(o),dn(null,o,M,f),o=o.child),o;case 16:g=o.elementType;e:{switch(s!==null&&(s.alternate=null,o.alternate=null,o.flags|=2),s=o.pendingProps,M=g._init,g=M(g._payload),o.type=g,M=o.tag=Sx(g),s=ri(g,s),M){case 0:o=Tu(null,o,g,s,f);break e;case 1:o=up(null,o,g,s,f);break e;case 11:o=sp(null,o,g,s,f);break e;case 14:o=op(null,o,g,ri(g.type,s),f);break e}throw Error(a(306,g,""))}return o;case 0:return g=o.type,M=o.pendingProps,M=o.elementType===g?M:ri(g,M),Tu(s,o,g,M,f);case 1:return g=o.type,M=o.pendingProps,M=o.elementType===g?M:ri(g,M),up(s,o,g,M,f);case 3:e:{if(hp(o),s===null)throw Error(a(387));g=o.pendingProps,b=o.memoizedState,M=b.element,yd(s,o),Ga(o,g,null,f);var z=o.memoizedState;if(g=z.element,te&&b.isDehydrated)if(b={element:g,isDehydrated:!1,cache:z.cache,transitions:z.transitions},o.updateQueue.baseState=b,o.memoizedState=b,o.flags&256){M=Error(a(423)),o=fp(s,o,g,f,M);break e}else if(g!==M){M=Error(a(424)),o=fp(s,o,g,f,M);break e}else for(te&&(Pn=J(o.stateNode.containerInfo),Cn=o,Lt=!0,si=null,Ao=!1),f=Id(o,null,g,f),o.child=f;f;)f.flags=f.flags&-3|4096,f=f.sibling;else{if(ys(),g===M){o=zi(s,o,f);break e}dn(s,o,g,f)}o=o.child}return o;case 5:return Dd(o),s===null&&hu(o),g=o.type,M=o.pendingProps,b=s!==null?s.memoizedProps:null,z=M.children,Be(g,M)?z=null:b!==null&&Be(g,b)&&(o.flags|=32),cp(s,o),dn(s,o,z,f),o.child;case 6:return s===null&&hu(o),null;case 13:return dp(s,o,f);case 4:return du(o,o.stateNode.containerInfo),g=o.pendingProps,s===null?o.child=_s(o,null,g,f):dn(s,o,g,f),o.child;case 11:return g=o.type,M=o.pendingProps,M=o.elementType===g?M:ri(g,M),sp(s,o,g,M,f);case 7:return dn(s,o,o.pendingProps,f),o.child;case 8:return dn(s,o,o.pendingProps.children,f),o.child;case 12:return dn(s,o,o.pendingProps.children,f),o.child;case 10:e:{if(g=o.type._context,M=o.pendingProps,b=o.memoizedProps,z=M.value,xd(o,g,z),b!==null)if(mi(b.value,z)){if(b.children===M.children&&!jt.current){o=zi(s,o,f);break e}}else for(b=o.child,b!==null&&(b.return=o);b!==null;){var k=b.dependencies;if(k!==null){z=b.child;for(var ee=k.firstContext;ee!==null;){if(ee.context===g){if(b.tag===1){ee=Li(-1,f&-f),ee.tag=2;var pe=b.updateQueue;if(pe!==null){pe=pe.shared;var Le=pe.pending;Le===null?ee.next=ee:(ee.next=Le.next,Le.next=ee),pe.pending=ee}}b.lanes|=f,ee=b.alternate,ee!==null&&(ee.lanes|=f),ru(b.return,f,o),k.lanes|=f;break}ee=ee.next}}else if(b.tag===10)z=b.type===o.type?null:b.child;else if(b.tag===18){if(z=b.return,z===null)throw Error(a(341));z.lanes|=f,k=z.alternate,k!==null&&(k.lanes|=f),ru(z,f,o),z=b.sibling}else z=b.child;if(z!==null)z.return=b;else for(z=b;z!==null;){if(z===o){z=null;break}if(b=z.sibling,b!==null){b.return=z.return,z=b;break}z=z.return}b=z}dn(s,o,M.children,f),o=o.child}return o;case 9:return M=o.type,g=o.pendingProps.children,gs(o,f),M=Vn(M),g=g(M),o.flags|=1,dn(s,o,g,f),o.child;case 14:return g=o.type,M=ri(g,o.pendingProps),M=ri(g.type,M),op(s,o,g,M,f);case 15:return ap(s,o,o.type,o.pendingProps,f);case 17:return g=o.type,M=o.pendingProps,M=o.elementType===g?M:ri(g,M),s!==null&&(s.alternate=null,o.alternate=null,o.flags|=2),o.tag=1,Sn(g)?(s=!0,Ia(o)):s=!1,gs(o,f),bd(o,g,M),au(o,g,M,f),Au(null,o,g,!0,s,f);case 19:return vp(s,o,f);case 22:return lp(s,o,f)}throw Error(a(156,o.tag))};function Vp(s,o){return Qc(s,o)}function Mx(s,o,f,g){this.tag=s,this.key=f,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=o,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=g,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Yn(s,o,f,g){return new Mx(s,o,f,g)}function Zu(s){return s=s.prototype,!(!s||!s.isReactComponent)}function Sx(s){if(typeof s=="function")return Zu(s)?1:0;if(s!=null){if(s=s.$$typeof,s===x)return 11;if(s===S)return 14}return 2}function nr(s,o){var f=s.alternate;return f===null?(f=Yn(s.tag,o,s.key,s.mode),f.elementType=s.elementType,f.type=s.type,f.stateNode=s.stateNode,f.alternate=s,s.alternate=f):(f.pendingProps=o,f.type=s.type,f.flags=0,f.subtreeFlags=0,f.deletions=null),f.flags=s.flags&14680064,f.childLanes=s.childLanes,f.lanes=s.lanes,f.child=s.child,f.memoizedProps=s.memoizedProps,f.memoizedState=s.memoizedState,f.updateQueue=s.updateQueue,o=s.dependencies,f.dependencies=o===null?null:{lanes:o.lanes,firstContext:o.firstContext},f.sibling=s.sibling,f.index=s.index,f.ref=s.ref,f}function wl(s,o,f,g,M,b){var z=2;if(g=s,typeof s=="function")Zu(s)&&(z=1);else if(typeof s=="string")z=5;else e:switch(s){case d:return Ir(f.children,M,b,o);case p:z=8,M|=8;break;case m:return s=Yn(12,f,o,M|2),s.elementType=m,s.lanes=b,s;case y:return s=Yn(13,f,o,M),s.elementType=y,s.lanes=b,s;case w:return s=Yn(19,f,o,M),s.elementType=w,s.lanes=b,s;case T:return bl(f,M,b,o);default:if(typeof s=="object"&&s!==null)switch(s.$$typeof){case v:z=10;break e;case _:z=9;break e;case x:z=11;break e;case S:z=14;break e;case A:z=16,g=null;break e}throw Error(a(130,s==null?s:typeof s,""))}return o=Yn(z,f,o,M),o.elementType=s,o.type=g,o.lanes=b,o}function Ir(s,o,f,g){return s=Yn(7,s,g,o),s.lanes=f,s}function bl(s,o,f,g){return s=Yn(22,s,g,o),s.elementType=T,s.lanes=f,s.stateNode={},s}function Ju(s,o,f){return s=Yn(6,s,null,o),s.lanes=f,s}function ju(s,o,f){return o=Yn(4,s.children!==null?s.children:[],s.key,o),o.lanes=f,o.stateNode={containerInfo:s.containerInfo,pendingChildren:null,implementation:s.implementation},o}function wx(s,o,f,g,M){this.tag=o,this.containerInfo=s,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=He,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Jc(0),this.expirationTimes=Jc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Jc(0),this.identifierPrefix=g,this.onRecoverableError=M,te&&(this.mutableSourceEagerHydrationData=null)}function Gp(s,o,f,g,M,b,z,k,ee){return s=new wx(s,o,f,k,ee),o===1?(o=1,b===!0&&(o|=8)):o=0,b=Yn(3,null,null,o),s.current=b,b.stateNode=s,b.memoizedState={element:g,isDehydrated:f,cache:null,transitions:null},su(b),s}function Hp(s){if(!s)return Un;s=s._reactInternals;e:{if(P(s)!==s||s.tag!==1)throw Error(a(170));var o=s;do{switch(o.tag){case 3:o=o.stateNode.context;break e;case 1:if(Sn(o.type)){o=o.stateNode.__reactInternalMemoizedMergedChildContext;break e}}o=o.return}while(o!==null);throw Error(a(171))}if(s.tag===1){var f=s.type;if(Sn(f))return dd(s,f,o)}return o}function Wp(s){var o=s._reactInternals;if(o===void 0)throw typeof s.render=="function"?Error(a(188)):(s=Object.keys(s).join(","),Error(a(268,s)));return s=ae(o),s===null?null:s.stateNode}function Xp(s,o){if(s=s.memoizedState,s!==null&&s.dehydrated!==null){var f=s.retryLane;s.retryLane=f!==0&&f=pe&&b>=je&&M<=Le&&z<=Ue){s.splice(o,1);break}else if(g!==pe||f.width!==ee.width||Uez){if(!(b!==je||f.height!==ee.height||LeM)){pe>g&&(ee.width+=pe-g,ee.x=g),Leb&&(ee.height+=je-b,ee.y=b),Uef&&(f=z)),z ")+` + +No matching component was found for: + `)+s.join(" > ")}return null},t.getPublicRootInstance=function(s){if(s=s.current,!s.child)return null;switch(s.child.tag){case 5:return q(s.child.stateNode);default:return s.child.stateNode}},t.injectIntoDevTools=function(s){if(s={bundleType:s.bundleType,version:s.version,rendererPackageName:s.rendererPackageName,rendererConfig:s.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:c.ReactCurrentDispatcher,findHostInstanceByFiber:bx,findFiberByHostInstance:s.findFiberByHostInstance||Tx,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")s=!1;else{var o=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(o.isDisabled||!o.supportsFiber)s=!0;else{try{Fa=o.inject(s),pi=o}catch{}s=!!o.checkDCE}}return s},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(s,o,f,g){if(!xt)throw Error(a(363));s=Ou(s,o);var M=Se(s,f,g).disconnect;return{disconnect:function(){M()}}},t.registerMutableSourceForHydration=function(s,o){var f=o._getVersion;f=f(o._source),s.mutableSourceEagerHydrationData==null?s.mutableSourceEagerHydrationData=[o,f]:s.mutableSourceEagerHydrationData.push(o,f)},t.runWithPriority=function(s,o){var f=mt;try{return mt=s,o()}finally{mt=f}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(s,o,f,g){var M=o.current,b=pn(),z=er(M);return f=Hp(f),o.context===null?o.context=f:o.pendingContext=f,o=Li(b,z),o.payload={element:s},g=g===void 0?null:g,g!==null&&(o.callback=g),Qi(M,o),s=qn(M,z,b),s!==null&&Va(s,M,z),z},t};bv.exports=T3;var A3=bv.exports;const E3=Ex(A3),Ev=l=>l&&l.isOrthographicCamera,C3=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),qc=C3?Bt.useEffect:Bt.useLayoutEffect;function P3(l){const e=Bt.useRef(l);return qc(()=>void(e.current=l),[l]),e}function W3({set:l}){return qc(()=>(l(new Promise(()=>null)),()=>l(!1)),[l]),null}class L3 extends Bt.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}L3.getDerivedStateFromError=()=>({error:!0});const Cv="__default",R3=l=>l&&!!l.memoized&&!!l.changes;function Pv(l){return Array.isArray(l)?Math.min(Math.max(l[0],window.devicePixelRatio),l[1]):l}const fc=l=>{var e;return(e=l.__r3f)==null?void 0:e.root.getState()},kt={obj:l=>l===Object(l)&&!kt.arr(l)&&typeof l!="function",fun:l=>typeof l=="function",str:l=>typeof l=="string",num:l=>typeof l=="number",boo:l=>typeof l=="boolean",und:l=>l===void 0,arr:l=>Array.isArray(l),equ(l,e,{arrays:t="shallow",objects:n="reference",strict:i=!0}={}){if(typeof l!=typeof e||!!l!=!!e)return!1;if(kt.str(l)||kt.num(l))return l===e;const r=kt.obj(l);if(r&&n==="reference")return l===e;const a=kt.arr(l);if(a&&t==="reference")return l===e;if((a||r)&&l===e)return!0;let c;for(c in l)if(!(c in e))return!1;for(c in i?e:l)if(l[c]!==e[c])return!1;if(kt.und(c)){if(a&&l.length===0&&e.length===0||r&&Object.keys(l).length===0&&Object.keys(e).length===0)return!0;if(l!==e)return!1}return!0}};function I3(l){l.dispose&&l.type!=="Scene"&&l.dispose();for(const e in l)e.dispose==null||e.dispose(),delete l[e]}function qs(l,e){const t=l;return(e!=null&&e.primitive||!t.__r3f)&&(t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e}),l}function Tf(l,e){let t=l;if(e.includes("-")){const n=e.split("-"),i=n.pop();return t=n.reduce((r,a)=>r[a],l),{target:t,key:i}}else return{target:t,key:e}}const mg=/-\d+$/;function Dh(l,e,t){if(kt.str(t)){if(mg.test(t)){const r=t.replace(mg,""),{target:a,key:c}=Tf(l,r);Array.isArray(a[c])||(a[c]=[])}const{target:n,key:i}=Tf(l,t);e.__r3f.previousAttach=n[i],n[i]=e}else e.__r3f.previousAttach=t(l,e)}function gg(l,e,t){var n,i;if(kt.str(t)){const{target:r,key:a}=Tf(l,t),c=e.__r3f.previousAttach;c===void 0?delete r[a]:r[a]=c}else(n=e.__r3f)==null||n.previousAttach==null||n.previousAttach(l,e);(i=e.__r3f)==null||delete i.previousAttach}function Lv(l,{children:e,key:t,ref:n,...i},{children:r,key:a,ref:c,...h}={},u=!1){var d;const p=(d=l==null?void 0:l.__r3f)!=null?d:{},m=Object.entries(i),v=[];if(u){const x=Object.keys(h);for(let y=0;y{var w;if((w=l.__r3f)!=null&&w.primitive&&x==="object"||kt.equ(y,h[x]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(x))return v.push([x,y,!0,[]]);let S=[];x.includes("-")&&(S=x.split("-")),v.push([x,y,!1,S])});const _={...i};return p.memoizedProps&&p.memoizedProps.args&&(_.args=p.memoizedProps.args),p.memoizedProps&&p.memoizedProps.attach&&(_.attach=p.memoizedProps.attach),{memoized:_,changes:v}}function zh(l,e){var t,n;const i=(t=l.__r3f)!=null?t:{},r=i.root,a=(n=r==null||r.getState==null?void 0:r.getState())!=null?n:{},{memoized:c,changes:h}=R3(e)?e:Lv(l,e),u=i.eventCount;if(l.__r3f&&(l.__r3f.memoizedProps=c),h.forEach(([d,p,m,v])=>{let _=l,x=_[d];if(v.length&&(x=v.reduce((S,A)=>S[A],l),!(x&&x.set))){const[S,...A]=v.reverse();_=A.reverse().reduce((T,C)=>T[C],l),d=S}if(p===Cv+"remove")if(x&&x.constructor){var y;p=new x.constructor(...(y=c.args)!=null?y:[])}else if(_.constructor){var w;const S=new _.constructor(...(w=_.__r3f.memoizedProps.args)!=null?w:[]);p=S[x],S.dispose&&S.dispose()}else p=0;if(m)p?i.handlers[d]=p:delete i.handlers[d],i.eventCount=Object.keys(i.handlers).length;else if(x&&x.set&&(x.copy||x instanceof Kr)){if(Array.isArray(p))x.fromArray?x.fromArray(p):x.set(...p);else if(x.copy&&p&&p.constructor&&x.constructor.name===p.constructor.name)x.copy(p);else if(p!==void 0){const S=x instanceof Ce;!S&&x.setScalar?x.setScalar(p):x instanceof Kr&&p instanceof Kr?x.mask=p.mask:x.set(p),!("ColorManagement"in wf)&&!a.linear&&S&&x.convertSRGBToLinear()}}else _[d]=p,!a.linear&&_[d]instanceof Yt&&(_[d].encoding=Tt);Ys(l)}),i.parent&&a.internal&&l.raycast&&u!==i.eventCount){const d=a.internal.interaction.indexOf(l);d>-1&&a.internal.interaction.splice(d,1),i.eventCount&&a.internal.interaction.push(l)}return h.length&&l.parent&&Af(l),l}function Ys(l){var e,t;const n=(e=l.__r3f)==null||(t=e.root)==null||t.getState==null?void 0:t.getState();n&&n.internal.frames===0&&n.invalidate()}function Af(l){l.onUpdate==null||l.onUpdate(l)}function D3(l,e){l.manual||(Ev(l)?(l.left=e.width/-2,l.right=e.width/2,l.top=e.height/2,l.bottom=e.height/-2):l.aspect=e.width/e.height,l.updateProjectionMatrix(),l.updateMatrixWorld())}function z3(l,e,t){const n=t.pop(),i=t.reduce((r,a)=>r[a],l);return i[n]=e}function Nh(l){return(l.eventObject||l.object).uuid+"/"+l.index+l.instanceId}function N3(){var l,e;switch((l=window)==null||(e=l.event)==null?void 0:e.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return na.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return na.ContinuousEventPriority;default:return na.DefaultEventPriority}}function Rv(l,e,t,n){const i=t.get(e);i&&(t.delete(e),t.size===0&&(l.delete(n),i.target.releasePointerCapture(n)))}function F3(l,e){const{internal:t}=l.getState();t.interaction=t.interaction.filter(n=>n!==e),t.initialHits=t.initialHits.filter(n=>n!==e),t.hovered.forEach((n,i)=>{(n.eventObject===e||n.object===e)&&t.hovered.delete(i)}),t.capturedMap.forEach((n,i)=>{Rv(t.capturedMap,e,n,i)})}function X3(l){const e=new I;function t(u){const{internal:d}=l.getState(),p=u.offsetX-d.initialClick[0],m=u.offsetY-d.initialClick[1];return Math.round(Math.sqrt(p*p+m*m))}function n(u){return u.filter(d=>["Move","Over","Enter","Out","Leave"].some(p=>{var m;return(m=d.__r3f)==null?void 0:m.handlers["onPointer"+p]}))}function i(u,d){const p=l.getState(),m=new Set,v=[],_=d?d(p.internal.interaction):p.internal.interaction;_.forEach(w=>{const S=fc(w);S&&(S.raycaster.camera=void 0)}),p.previousRoot||p.events.compute==null||p.events.compute(u,p);let x=_.flatMap(w=>{const S=fc(w);if(!S||!S.events.enabled||S.raycaster.camera===null)return[];if(S.raycaster.camera===void 0){var A;S.events.compute==null||S.events.compute(u,S,(A=S.previousRoot)==null?void 0:A.getState()),S.raycaster.camera===void 0&&(S.raycaster.camera=null)}return S.raycaster.camera?S.raycaster.intersectObject(w,!0):[]}).sort((w,S)=>{const A=fc(w.object),T=fc(S.object);return!A||!T?0:T.events.priority-A.events.priority||w.distance-S.distance}).filter(w=>{const S=Nh(w);return m.has(S)?!1:(m.add(S),!0)});p.events.filter&&(x=p.events.filter(x,p));for(const w of x){let S=w.object;for(;S;){var y;(y=S.__r3f)!=null&&y.eventCount&&v.push({...w,eventObject:S}),S=S.parent}}if("pointerId"in u&&p.internal.capturedMap.has(u.pointerId))for(let w of p.internal.capturedMap.get(u.pointerId).values())v.push(w.intersection);return v}function r(u,d,p,m){const{raycaster:v,pointer:_,camera:x,internal:y}=l.getState();if(u.length){const w=e.set(_.x,_.y,0).unproject(x),S={stopped:!1};for(const A of u){const T=P=>{var O,U;return(O=(U=y.capturedMap.get(P))==null?void 0:U.has(A.eventObject))!=null?O:!1},C=P=>{const O={intersection:A,target:d.target};y.capturedMap.has(P)?y.capturedMap.get(P).set(A.eventObject,O):y.capturedMap.set(P,new Map([[A.eventObject,O]])),d.target.setPointerCapture(P)},L=P=>{const O=y.capturedMap.get(P);O&&Rv(y.capturedMap,A.eventObject,O,P)};let F={};for(let P in d){let O=d[P];typeof O!="function"&&(F[P]=O)}let E={...A,...F,pointer:_,intersections:u,stopped:S.stopped,delta:p,unprojectedPoint:w,ray:v.ray,camera:x,stopPropagation:()=>{const P="pointerId"in d&&y.capturedMap.get(d.pointerId);if((!P||P.has(A.eventObject))&&(E.stopped=S.stopped=!0,y.hovered.size&&Array.from(y.hovered.values()).find(O=>O.eventObject===A.eventObject))){const O=u.slice(0,u.indexOf(A));a([...O,A])}},target:{hasPointerCapture:T,setPointerCapture:C,releasePointerCapture:L},currentTarget:{hasPointerCapture:T,setPointerCapture:C,releasePointerCapture:L},nativeEvent:d};if(m(E),S.stopped===!0)break}}return u}function a(u){const{internal:d}=l.getState();Array.from(d.hovered.values()).forEach(p=>{if(!u.length||!u.find(m=>m.object===p.object&&m.index===p.index&&m.instanceId===p.instanceId)){const v=p.eventObject.__r3f,_=v==null?void 0:v.handlers;if(d.hovered.delete(Nh(p)),v!=null&&v.eventCount){const x={...p,intersections:u};_.onPointerOut==null||_.onPointerOut(x),_.onPointerLeave==null||_.onPointerLeave(x)}}})}const c=u=>{switch(u){case"onPointerLeave":case"onPointerCancel":return()=>a([]);case"onLostPointerCapture":return d=>{const{internal:p}=l.getState();"pointerId"in d&&!p.capturedMap.has(d.pointerId)&&(p.capturedMap.delete(d.pointerId),a([]))}}return d=>{const{onPointerMissed:p,internal:m}=l.getState();m.lastEvent.current=d;const v=u==="onPointerMove",_=u==="onClick"||u==="onContextMenu"||u==="onDoubleClick",y=i(d,v?n:void 0),w=_?t(d):0;u==="onPointerDown"&&(m.initialClick=[d.offsetX,d.offsetY],m.initialHits=y.map(S=>S.eventObject)),_&&!y.length&&w<=2&&(h(d,m.interaction),p&&p(d)),v&&a(y),r(y,d,w,S=>{const A=S.eventObject,T=A.__r3f,C=T==null?void 0:T.handlers;if(T!=null&&T.eventCount)if(v){if(C.onPointerOver||C.onPointerEnter||C.onPointerOut||C.onPointerLeave){const L=Nh(S),F=m.hovered.get(L);F?F.stopped&&S.stopPropagation():(m.hovered.set(L,S),C.onPointerOver==null||C.onPointerOver(S),C.onPointerEnter==null||C.onPointerEnter(S))}C.onPointerMove==null||C.onPointerMove(S)}else{const L=C[u];L?(!_||m.initialHits.includes(A))&&(h(d,m.interaction.filter(F=>!m.initialHits.includes(F))),L(S)):_&&m.initialHits.includes(A)&&h(d,m.interaction.filter(F=>!m.initialHits.includes(F)))}})}};function h(u,d){d.forEach(p=>{var m;return(m=p.__r3f)==null||m.handlers.onPointerMissed==null?void 0:m.handlers.onPointerMissed(u)})}return{handlePointer:c}}let Ef={},q3=l=>void(Ef={...Ef,...l});function O3(l,e){function t(u,{args:d=[],attach:p,...m},v){let _=`${u[0].toUpperCase()}${u.slice(1)}`,x;if(p===void 0&&(_.endsWith("Geometry")?p="geometry":_.endsWith("Material")&&(p="material")),u==="primitive"){if(m.object===void 0)throw"Primitives without 'object' are invalid!";const y=m.object;x=qs(y,{type:u,root:v,attach:p,primitive:!0})}else{const y=Ef[_];if(!y)throw`${_} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`;if(!Array.isArray(d))throw"The args prop must be an array!";x=qs(new y(...d),{type:u,root:v,attach:p,memoizedProps:{args:d}})}return _!=="inject"&&zh(x,m),x}function n(u,d){let p=!1;if(d){var m,v;(m=d.__r3f)!=null&&m.attach?Dh(u,d,d.__r3f.attach):d.isObject3D&&u.isObject3D&&(u.add(d),p=!0),p||(v=u.__r3f)==null||v.objects.push(d),d.__r3f||qs(d,{}),d.__r3f.parent=u,Af(d),Ys(d)}}function i(u,d,p){let m=!1;if(d){var v,_;if((v=d.__r3f)!=null&&v.attach)Dh(u,d,d.__r3f.attach);else if(d.isObject3D&&u.isObject3D){d.parent=u,d.dispatchEvent({type:"added"});const x=u.children.filter(w=>w!==d),y=x.indexOf(p);u.children=[...x.slice(0,y),d,...x.slice(y)],m=!0}m||(_=u.__r3f)==null||_.objects.push(d),d.__r3f||qs(d,{}),d.__r3f.parent=u,Af(d),Ys(d)}}function r(u,d,p=!1){u&&[...u].forEach(m=>a(d,m,p))}function a(u,d,p){if(d){var m,v,_;if(d.__r3f&&(d.__r3f.parent=null),(m=u.__r3f)!=null&&m.objects&&(u.__r3f.objects=u.__r3f.objects.filter(A=>A!==d)),(v=d.__r3f)!=null&&v.attach)gg(u,d,d.__r3f.attach);else if(d.isObject3D&&u.isObject3D){var x;u.remove(d),(x=d.__r3f)!=null&&x.root&&F3(d.__r3f.root,d)}const w=(_=d.__r3f)==null?void 0:_.primitive,S=p===void 0?d.dispose!==null&&!w:p;if(!w){var y;r((y=d.__r3f)==null?void 0:y.objects,d,S),r(d.children,d,S)}d.__r3f&&(delete d.__r3f.root,delete d.__r3f.objects,delete d.__r3f.handlers,delete d.__r3f.memoizedProps,w||delete d.__r3f),S&&d.dispose&&d.type!=="Scene"&&bf.unstable_scheduleCallback(bf.unstable_IdlePriority,()=>{try{d.dispose()}catch{}}),Ys(u)}}function c(u,d,p,m){var v;const _=(v=u.__r3f)==null?void 0:v.parent;if(!_)return;const x=t(d,p,u.__r3f.root);d!=="primitive"&&u.children&&(u.children.forEach(y=>n(x,y)),u.children=[]),u.__r3f.objects.forEach(y=>n(x,y)),u.__r3f.objects=[],a(_,u),n(_,x),x.raycast&&x.__r3f.eventCount&&x.__r3f.root.getState().internal.interaction.push(x),[m,m.alternate].forEach(y=>{y!==null&&(y.stateNode=x,y.ref&&(typeof y.ref=="function"?y.ref(x):y.ref.current=x))})}return{reconciler:E3({createInstance:t,removeChild:a,appendChild:n,appendInitialChild:n,insertBefore:i,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(u,d)=>{const p=u.getState().scene;p.__r3f.root=u,n(p,d)},removeChildFromContainer:(u,d)=>a(u.getState().scene,d),insertInContainerBefore:(u,d,p)=>i(u.getState().scene,d,p),getRootHostContext:()=>null,getChildHostContext:u=>u,finalizeInitialChildren(u){var d;return!!((d=u==null?void 0:u.__r3f)!=null?d:{}).handlers},prepareUpdate(u,d,p,m){if(u.__r3f.primitive&&m.object&&m.object!==u)return[!0];{const{args:v=[],children:_,...x}=m,{args:y=[],children:w,...S}=p;if(!Array.isArray(v))throw"The args prop must be an array!";if(v.some((T,C)=>T!==y[C]))return[!0];const A=Lv(u,x,S,!0);return A.changes.length?[!1,A]:null}},commitUpdate(u,[d,p],m,v,_,x){d?c(u,m,_,x):zh(u,p)},commitMount(u,d,p,m){var v;const _=(v=u.__r3f)!=null?v:{};u.raycast&&_.handlers&&_.eventCount&&u.__r3f.root.getState().internal.interaction.push(u)},getPublicInstance:u=>u,prepareForCommit:()=>null,preparePortalMount:u=>qs(u.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(u){var d;const{attach:p,parent:m}=(d=u==null?void 0:u.__r3f)!=null?d:{};p&&m&&gg(m,u,p),u.isObject3D&&(u.visible=!1),Ys(u)},unhideInstance(u,d){var p;const{attach:m,parent:v}=(p=u==null?void 0:u.__r3f)!=null?p:{};m&&v&&Dh(v,u,m),(u.isObject3D&&d.visible==null||d.visible)&&(u.visible=!0),Ys(u)},createTextInstance:()=>{throw new Error("Text is not allowed in the R3F tree.")},hideTextInstance:()=>{throw new Error("Text is not allowed in the R3F tree.")},unhideTextInstance:()=>{},getCurrentEventPriority:()=>e?e():na.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&kt.fun(performance.now)?performance.now:kt.fun(Date.now)?Date.now:()=>0,scheduleTimeout:kt.fun(setTimeout)?setTimeout:void 0,cancelTimeout:kt.fun(clearTimeout)?clearTimeout:void 0}),applyProps:zh}}const Iv=l=>!!(l!=null&&l.render),Dv=Bt.createContext(null),B3=(l,e)=>{const t=b3((c,h)=>{const u=new I,d=new I,p=new I;function m(w=h().camera,S=d,A=h().size){const{width:T,height:C,top:L,left:F}=A,E=T/C;S instanceof I?p.copy(S):p.set(...S);const P=w.getWorldPosition(u).distanceTo(p);if(Ev(w))return{width:T/w.zoom,height:C/w.zoom,top:L,left:F,factor:1,distance:P,aspect:E};{const O=w.fov*Math.PI/180,U=2*Math.tan(O/2)*P,ae=U*(T/C);return{width:ae,height:U,top:L,left:F,factor:T/ae,distance:P,aspect:E}}}let v;const _=w=>c(S=>({performance:{...S.performance,current:w}})),x=new he;return{set:c,get:h,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,invalidate:(w=1)=>l(h(),w),advance:(w,S)=>e(w,S,h()),legacy:!1,linear:!1,flat:!1,scene:qs(new Wf),controls:null,clock:new ld,pointer:x,mouse:x,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const w=h();v&&clearTimeout(v),w.performance.current!==w.performance.min&&_(w.performance.min),v=setTimeout(()=>_(h().performance.max),w.performance.debounce)}},size:{width:0,height:0,top:0,left:0,updateStyle:!1},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:m},setEvents:w=>c(S=>({...S,events:{...S.events,...w}})),setSize:(w,S,A,T,C)=>{const L=h().camera,F={width:w,height:S,top:T||0,left:C||0,updateStyle:A};c(E=>({size:F,viewport:{...E.viewport,...m(L,d,F)}}))},setDpr:w=>c(S=>{const A=Pv(w);return{viewport:{...S.viewport,dpr:A,initialDpr:S.viewport.initialDpr||A}}}),setFrameloop:(w="always")=>{const S=h().clock;S.stop(),S.elapsedTime=0,w!=="never"&&(S.start(),S.elapsedTime=0),c(()=>({frameloop:w}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:Bt.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(w,S,A)=>{const T=h().internal;return T.priority=T.priority+(S>0?1:0),T.subscribers.push({ref:w,priority:S,store:A}),T.subscribers=T.subscribers.sort((C,L)=>C.priority-L.priority),()=>{const C=h().internal;C!=null&&C.subscribers&&(C.priority=C.priority-(S>0?1:0),C.subscribers=C.subscribers.filter(L=>L.ref!==w))}}}}}),n=t.getState();let i=n.size,r=n.viewport.dpr,a=n.camera;return t.subscribe(()=>{const{camera:c,size:h,viewport:u,gl:d,set:p}=t.getState();(h!==i||u.dpr!==r)&&(i=h,r=u.dpr,D3(c,h),d.setPixelRatio(u.dpr),d.setSize(h.width,h.height,h.updateStyle)),c!==a&&(a=c,p(m=>({viewport:{...m.viewport,...m.viewport.getCurrentViewport(c)}})))}),t.subscribe(c=>l(c)),t};function zv(l,e){const t={callback:l};return e.add(t),()=>void e.delete(t)}let dc,wc=new Set,bc=new Set,vg=new Set;const Y3=l=>zv(l,wc),Z3=l=>zv(l,bc);function Qo(l,e){l.forEach(({callback:t})=>t(e))}let Fh,Oh;function Bh(l,e,t){let n=e.clock.getDelta();for(e.frameloop==="never"&&typeof l=="number"&&(n=l-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=l),Fh=e.internal.subscribers,dc=0;dc{var d;i=u.store.getState(),i.internal.active&&(i.frameloop==="always"||i.internal.frames>0)&&!((d=i.gl.xr)!=null&&d.isPresenting)&&(t+=Bh(h,i))}),bc.size&&Qo(bc,h),t===0)return vg.size&&Qo(vg,h),e=!1,cancelAnimationFrame(n)}function a(h,u=1){var d;if(!h)return l.forEach(p=>a(p.store.getState()),u);(d=h.gl.xr)!=null&&d.isPresenting||!h.internal.active||h.frameloop==="never"||(h.internal.frames=Math.min(60,h.internal.frames+u),e||(e=!0,requestAnimationFrame(r)))}function c(h,u=!0,d,p){u&&Qo(wc,h),d?Bh(h,d,p):l.forEach(m=>Bh(h,m.store.getState())),u&&Qo(bc,h)}return{loop:r,invalidate:a,advance:c}}function Nv(){const l=Bt.useContext(Dv);if(!l)throw"R3F hooks can only be used within the Canvas component!";return l}function J3(l=t=>t,e){return Nv()(l,e)}function j3(l,e=0){const t=Nv(),n=t.getState().internal.subscribe,i=P3(l);return qc(()=>n(i,e,t),[e,n,t]),null}const vo=new Map,{invalidate:xg,advance:yg}=k3(vo),{reconciler:Lc,applyProps:pc}=O3(vo,N3),Xs={objects:"shallow",strict:!1},U3=(l,e)=>{const t=typeof l=="function"?l(e):l;return Iv(t)?t:new Hf({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...l})};function Q3(l){let e=vo.get(l),t=e==null?void 0:e.fiber,n=e==null?void 0:e.store;e&&console.warn("R3F.createRoot should only be called once!");const i=typeof reportError=="function"?reportError:console.error,r=n||B3(xg,yg),a=t||Lc.createContainer(r,na.ConcurrentRoot,null,!1,null,"",i,null);e||vo.set(l,{fiber:a,store:r});let c,h=!1;return{configure(u={}){let{gl:d,size:p,events:m,onCreated:v,shadows:_=!1,linear:x=!1,flat:y=!1,legacy:w=!1,orthographic:S=!1,frameloop:A="always",dpr:T=[1,2],performance:C,raycaster:L,camera:F,onPointerMissed:E}=u,P=r.getState(),O=P.gl;P.gl||P.set({gl:O=U3(d,l)});let U=P.raycaster;U||P.set({raycaster:U=new Mv});const{params:ae,...fe}=L||{};if(kt.equ(fe,U,Xs)||pc(U,{...fe}),kt.equ(ae,U.params,Xs)||pc(U,{params:{...U.params,...ae}}),!P.camera){const q=F instanceof ba,se=q?F:S?new Aa(0,0,0,0,.1,1e3):new tn(75,0,.1,1e3);q||(se.position.z=5,F&&pc(se,F),F!=null&&F.rotation||se.lookAt(0,0,0)),P.set({camera:se})}if(!P.xr){const q=(B,X)=>{const ce=r.getState();ce.frameloop!=="never"&&yg(B,!0,ce,X)},se=()=>{const B=r.getState();B.gl.xr.enabled=B.gl.xr.isPresenting,B.gl.xr.setAnimationLoop(B.gl.xr.isPresenting?q:null),B.gl.xr.isPresenting||xg(B)},H={connect(){const B=r.getState().gl;B.xr.addEventListener("sessionstart",se),B.xr.addEventListener("sessionend",se)},disconnect(){const B=r.getState().gl;B.xr.removeEventListener("sessionstart",se),B.xr.removeEventListener("sessionend",se)}};O.xr&&H.connect(),P.set({xr:H})}if(O.shadowMap){const q=kt.boo(_);if(q&&O.shadowMap.enabled!==_||!kt.equ(_,O.shadowMap,Xs)){const se=O.shadowMap.enabled;O.shadowMap.enabled=!!_,q?O.shadowMap.type=Pf:Object.assign(O.shadowMap,_),se!==O.shadowMap.enabled&&(O.shadowMap.needsUpdate=!0)}}"ColorManagement"in wf&&z3(wf,w,["ColorManagement","legacyMode"]);const W=x?Wi:Tt,ne=y?ui:If;return O.outputEncoding!==W&&(O.outputEncoding=W),O.toneMapping!==ne&&(O.toneMapping=ne),P.legacy!==w&&P.set(()=>({legacy:w})),P.linear!==x&&P.set(()=>({linear:x})),P.flat!==y&&P.set(()=>({flat:y})),d&&!kt.fun(d)&&!Iv(d)&&!kt.equ(d,O,Xs)&&pc(O,d),m&&!P.events.handlers&&P.set({events:m(r)}),T&&P.viewport.dpr!==Pv(T)&&P.setDpr(T),p=p||(l.parentElement?{width:l.parentElement.clientWidth,height:l.parentElement.clientHeight,top:l.parentElement.clientTop,left:l.parentElement.clientLeft}:{width:0,height:0,top:0,left:0}),kt.equ(p,P.size,Xs)||P.setSize(p.width,p.height,p.updateStyle,p.top,p.left),P.frameloop!==A&&P.setFrameloop(A),P.onPointerMissed||P.set({onPointerMissed:E}),C&&!kt.equ(C,P.performance,Xs)&&P.set(q=>({performance:{...q.performance,...C}})),c=v,h=!0,this},render(u){return h||this.configure(),Lc.updateContainer(Bt.createElement(V3,{store:r,children:u,onCreated:c,rootElement:l}),a,null,()=>{}),r},unmount(){G3(l)}}}function V3({store:l,children:e,onCreated:t,rootElement:n}){return qc(()=>{const i=l.getState();i.set(r=>({internal:{...r.internal,active:!0}})),t&&t(i),l.getState().events.connected||i.events.connect==null||i.events.connect(n)},[]),Bt.createElement(Dv.Provider,{value:l},e)}function G3(l,e){const t=vo.get(l),n=t==null?void 0:t.fiber;if(n){const i=t==null?void 0:t.store.getState();i&&(i.internal.active=!1),Lc.updateContainer(null,n,null,()=>{i&&setTimeout(()=>{try{var r,a,c,h;i.events.disconnect==null||i.events.disconnect(),(r=i.gl)==null||(a=r.renderLists)==null||a.dispose==null||a.dispose(),(c=i.gl)==null||c.forceContextLoss==null||c.forceContextLoss(),(h=i.gl)!=null&&h.xr&&i.xr.disconnect(),I3(i),vo.delete(l),e&&e(l)}catch{}},500)})}}Lc.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:Bt.version});export{yo as $,io as A,W3 as B,Ce as C,es as D,L3 as E,Nc as F,Ie as G,pc as H,vv as I,Cx as J,En as K,H0 as L,Vf as M,Xb as N,Aa as O,tn as P,Qf as Q,d0 as R,ot as S,wf as T,y0 as U,I as V,Mv as W,Ty as X,fr as Y,fb as Z,go as _,Y3 as a,Xi as a0,_r as a1,Wf as a2,Z3 as b,Q3 as c,qc as d,q3 as e,G3 as f,X3 as g,J3 as h,j3 as i,nt as j,bt as k,Gf as l,Sr as m,tt as n,rn as o,eo as p,he as q,Yt as r,Ut as s,Mt as t,P3 as u,An as v,ns as w,hs as x,us as y,ei as z}; +//# sourceMappingURL=index-6279214a.esm-cc44dd6d.js.map diff --git a/assets/index-6279214a.esm-cc44dd6d.js.map b/assets/index-6279214a.esm-cc44dd6d.js.map new file mode 100644 index 00000000..a533dcb9 --- /dev/null +++ b/assets/index-6279214a.esm-cc44dd6d.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-6279214a.esm-cc44dd6d.js","sources":["../../node_modules/three/build/three.module.js","../../node_modules/react-reconciler/cjs/react-reconciler-constants.production.min.js","../../node_modules/react-reconciler/constants.js","../../node_modules/@react-three/fiber/node_modules/zustand/esm/index.js","../../node_modules/scheduler/cjs/scheduler.production.min.js","../../node_modules/scheduler/index.js","../../node_modules/react-reconciler/cjs/react-reconciler.production.min.js","../../node_modules/react-reconciler/index.js","../../node_modules/@react-three/fiber/dist/index-6279214a.esm.js"],"sourcesContent":["/**\n * @license\n * Copyright 2010-2022 Three.js Authors\n * SPDX-License-Identifier: MIT\n */\nconst REVISION = '143';\nconst MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 };\nconst TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 };\nconst CullFaceNone = 0;\nconst CullFaceBack = 1;\nconst CullFaceFront = 2;\nconst CullFaceFrontBack = 3;\nconst BasicShadowMap = 0;\nconst PCFShadowMap = 1;\nconst PCFSoftShadowMap = 2;\nconst VSMShadowMap = 3;\nconst FrontSide = 0;\nconst BackSide = 1;\nconst DoubleSide = 2;\nconst FlatShading = 1;\nconst SmoothShading = 2;\nconst NoBlending = 0;\nconst NormalBlending = 1;\nconst AdditiveBlending = 2;\nconst SubtractiveBlending = 3;\nconst MultiplyBlending = 4;\nconst CustomBlending = 5;\nconst AddEquation = 100;\nconst SubtractEquation = 101;\nconst ReverseSubtractEquation = 102;\nconst MinEquation = 103;\nconst MaxEquation = 104;\nconst ZeroFactor = 200;\nconst OneFactor = 201;\nconst SrcColorFactor = 202;\nconst OneMinusSrcColorFactor = 203;\nconst SrcAlphaFactor = 204;\nconst OneMinusSrcAlphaFactor = 205;\nconst DstAlphaFactor = 206;\nconst OneMinusDstAlphaFactor = 207;\nconst DstColorFactor = 208;\nconst OneMinusDstColorFactor = 209;\nconst SrcAlphaSaturateFactor = 210;\nconst NeverDepth = 0;\nconst AlwaysDepth = 1;\nconst LessDepth = 2;\nconst LessEqualDepth = 3;\nconst EqualDepth = 4;\nconst GreaterEqualDepth = 5;\nconst GreaterDepth = 6;\nconst NotEqualDepth = 7;\nconst MultiplyOperation = 0;\nconst MixOperation = 1;\nconst AddOperation = 2;\nconst NoToneMapping = 0;\nconst LinearToneMapping = 1;\nconst ReinhardToneMapping = 2;\nconst CineonToneMapping = 3;\nconst ACESFilmicToneMapping = 4;\nconst CustomToneMapping = 5;\n\nconst UVMapping = 300;\nconst CubeReflectionMapping = 301;\nconst CubeRefractionMapping = 302;\nconst EquirectangularReflectionMapping = 303;\nconst EquirectangularRefractionMapping = 304;\nconst CubeUVReflectionMapping = 306;\nconst RepeatWrapping = 1000;\nconst ClampToEdgeWrapping = 1001;\nconst MirroredRepeatWrapping = 1002;\nconst NearestFilter = 1003;\nconst NearestMipmapNearestFilter = 1004;\nconst NearestMipMapNearestFilter = 1004;\nconst NearestMipmapLinearFilter = 1005;\nconst NearestMipMapLinearFilter = 1005;\nconst LinearFilter = 1006;\nconst LinearMipmapNearestFilter = 1007;\nconst LinearMipMapNearestFilter = 1007;\nconst LinearMipmapLinearFilter = 1008;\nconst LinearMipMapLinearFilter = 1008;\nconst UnsignedByteType = 1009;\nconst ByteType = 1010;\nconst ShortType = 1011;\nconst UnsignedShortType = 1012;\nconst IntType = 1013;\nconst UnsignedIntType = 1014;\nconst FloatType = 1015;\nconst HalfFloatType = 1016;\nconst UnsignedShort4444Type = 1017;\nconst UnsignedShort5551Type = 1018;\nconst UnsignedInt248Type = 1020;\nconst AlphaFormat = 1021;\nconst RGBFormat = 1022;\nconst RGBAFormat = 1023;\nconst LuminanceFormat = 1024;\nconst LuminanceAlphaFormat = 1025;\nconst DepthFormat = 1026;\nconst DepthStencilFormat = 1027;\nconst RedFormat = 1028;\nconst RedIntegerFormat = 1029;\nconst RGFormat = 1030;\nconst RGIntegerFormat = 1031;\nconst RGBAIntegerFormat = 1033;\n\nconst RGB_S3TC_DXT1_Format = 33776;\nconst RGBA_S3TC_DXT1_Format = 33777;\nconst RGBA_S3TC_DXT3_Format = 33778;\nconst RGBA_S3TC_DXT5_Format = 33779;\nconst RGB_PVRTC_4BPPV1_Format = 35840;\nconst RGB_PVRTC_2BPPV1_Format = 35841;\nconst RGBA_PVRTC_4BPPV1_Format = 35842;\nconst RGBA_PVRTC_2BPPV1_Format = 35843;\nconst RGB_ETC1_Format = 36196;\nconst RGB_ETC2_Format = 37492;\nconst RGBA_ETC2_EAC_Format = 37496;\nconst RGBA_ASTC_4x4_Format = 37808;\nconst RGBA_ASTC_5x4_Format = 37809;\nconst RGBA_ASTC_5x5_Format = 37810;\nconst RGBA_ASTC_6x5_Format = 37811;\nconst RGBA_ASTC_6x6_Format = 37812;\nconst RGBA_ASTC_8x5_Format = 37813;\nconst RGBA_ASTC_8x6_Format = 37814;\nconst RGBA_ASTC_8x8_Format = 37815;\nconst RGBA_ASTC_10x5_Format = 37816;\nconst RGBA_ASTC_10x6_Format = 37817;\nconst RGBA_ASTC_10x8_Format = 37818;\nconst RGBA_ASTC_10x10_Format = 37819;\nconst RGBA_ASTC_12x10_Format = 37820;\nconst RGBA_ASTC_12x12_Format = 37821;\nconst RGBA_BPTC_Format = 36492;\nconst LoopOnce = 2200;\nconst LoopRepeat = 2201;\nconst LoopPingPong = 2202;\nconst InterpolateDiscrete = 2300;\nconst InterpolateLinear = 2301;\nconst InterpolateSmooth = 2302;\nconst ZeroCurvatureEnding = 2400;\nconst ZeroSlopeEnding = 2401;\nconst WrapAroundEnding = 2402;\nconst NormalAnimationBlendMode = 2500;\nconst AdditiveAnimationBlendMode = 2501;\nconst TrianglesDrawMode = 0;\nconst TriangleStripDrawMode = 1;\nconst TriangleFanDrawMode = 2;\nconst LinearEncoding = 3000;\nconst sRGBEncoding = 3001;\nconst BasicDepthPacking = 3200;\nconst RGBADepthPacking = 3201;\nconst TangentSpaceNormalMap = 0;\nconst ObjectSpaceNormalMap = 1;\n\n// Color space string identifiers, matching CSS Color Module Level 4 and WebGPU names where available.\nconst NoColorSpace = '';\nconst SRGBColorSpace = 'srgb';\nconst LinearSRGBColorSpace = 'srgb-linear';\n\nconst ZeroStencilOp = 0;\nconst KeepStencilOp = 7680;\nconst ReplaceStencilOp = 7681;\nconst IncrementStencilOp = 7682;\nconst DecrementStencilOp = 7683;\nconst IncrementWrapStencilOp = 34055;\nconst DecrementWrapStencilOp = 34056;\nconst InvertStencilOp = 5386;\n\nconst NeverStencilFunc = 512;\nconst LessStencilFunc = 513;\nconst EqualStencilFunc = 514;\nconst LessEqualStencilFunc = 515;\nconst GreaterStencilFunc = 516;\nconst NotEqualStencilFunc = 517;\nconst GreaterEqualStencilFunc = 518;\nconst AlwaysStencilFunc = 519;\n\nconst StaticDrawUsage = 35044;\nconst DynamicDrawUsage = 35048;\nconst StreamDrawUsage = 35040;\nconst StaticReadUsage = 35045;\nconst DynamicReadUsage = 35049;\nconst StreamReadUsage = 35041;\nconst StaticCopyUsage = 35046;\nconst DynamicCopyUsage = 35050;\nconst StreamCopyUsage = 35042;\n\nconst GLSL1 = '100';\nconst GLSL3 = '300 es';\n\nconst _SRGBAFormat = 1035; // fallback for WebGL 1\n\n/**\n * https://github.com/mrdoob/eventdispatcher.js/\n */\n\nclass EventDispatcher {\n\n\taddEventListener( type, listener ) {\n\n\t\tif ( this._listeners === undefined ) this._listeners = {};\n\n\t\tconst listeners = this._listeners;\n\n\t\tif ( listeners[ type ] === undefined ) {\n\n\t\t\tlisteners[ type ] = [];\n\n\t\t}\n\n\t\tif ( listeners[ type ].indexOf( listener ) === - 1 ) {\n\n\t\t\tlisteners[ type ].push( listener );\n\n\t\t}\n\n\t}\n\n\thasEventListener( type, listener ) {\n\n\t\tif ( this._listeners === undefined ) return false;\n\n\t\tconst listeners = this._listeners;\n\n\t\treturn listeners[ type ] !== undefined && listeners[ type ].indexOf( listener ) !== - 1;\n\n\t}\n\n\tremoveEventListener( type, listener ) {\n\n\t\tif ( this._listeners === undefined ) return;\n\n\t\tconst listeners = this._listeners;\n\t\tconst listenerArray = listeners[ type ];\n\n\t\tif ( listenerArray !== undefined ) {\n\n\t\t\tconst index = listenerArray.indexOf( listener );\n\n\t\t\tif ( index !== - 1 ) {\n\n\t\t\t\tlistenerArray.splice( index, 1 );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tdispatchEvent( event ) {\n\n\t\tif ( this._listeners === undefined ) return;\n\n\t\tconst listeners = this._listeners;\n\t\tconst listenerArray = listeners[ event.type ];\n\n\t\tif ( listenerArray !== undefined ) {\n\n\t\t\tevent.target = this;\n\n\t\t\t// Make a copy, in case listeners are removed while iterating.\n\t\t\tconst array = listenerArray.slice( 0 );\n\n\t\t\tfor ( let i = 0, l = array.length; i < l; i ++ ) {\n\n\t\t\t\tarray[ i ].call( this, event );\n\n\t\t\t}\n\n\t\t\tevent.target = null;\n\n\t\t}\n\n\t}\n\n}\n\nconst _lut = [ '00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0a', '0b', '0c', '0d', '0e', '0f', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2a', '2b', '2c', '2d', '2e', '2f', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3a', '3b', '3c', '3d', '3e', '3f', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4a', '4b', '4c', '4d', '4e', '4f', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5a', '5b', '5c', '5d', '5e', '5f', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6a', '6b', '6c', '6d', '6e', '6f', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7a', '7b', '7c', '7d', '7e', '7f', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '8a', '8b', '8c', '8d', '8e', '8f', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '9a', '9b', '9c', '9d', '9e', '9f', 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf', 'c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf', 'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df', 'e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef', 'f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff' ];\n\nlet _seed = 1234567;\n\n\nconst DEG2RAD = Math.PI / 180;\nconst RAD2DEG = 180 / Math.PI;\n\n// http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136\nfunction generateUUID() {\n\n\tconst d0 = Math.random() * 0xffffffff | 0;\n\tconst d1 = Math.random() * 0xffffffff | 0;\n\tconst d2 = Math.random() * 0xffffffff | 0;\n\tconst d3 = Math.random() * 0xffffffff | 0;\n\tconst uuid = _lut[ d0 & 0xff ] + _lut[ d0 >> 8 & 0xff ] + _lut[ d0 >> 16 & 0xff ] + _lut[ d0 >> 24 & 0xff ] + '-' +\n\t\t\t_lut[ d1 & 0xff ] + _lut[ d1 >> 8 & 0xff ] + '-' + _lut[ d1 >> 16 & 0x0f | 0x40 ] + _lut[ d1 >> 24 & 0xff ] + '-' +\n\t\t\t_lut[ d2 & 0x3f | 0x80 ] + _lut[ d2 >> 8 & 0xff ] + '-' + _lut[ d2 >> 16 & 0xff ] + _lut[ d2 >> 24 & 0xff ] +\n\t\t\t_lut[ d3 & 0xff ] + _lut[ d3 >> 8 & 0xff ] + _lut[ d3 >> 16 & 0xff ] + _lut[ d3 >> 24 & 0xff ];\n\n\t// .toLowerCase() here flattens concatenated strings to save heap memory space.\n\treturn uuid.toLowerCase();\n\n}\n\nfunction clamp( value, min, max ) {\n\n\treturn Math.max( min, Math.min( max, value ) );\n\n}\n\n// compute euclidean modulo of m % n\n// https://en.wikipedia.org/wiki/Modulo_operation\nfunction euclideanModulo( n, m ) {\n\n\treturn ( ( n % m ) + m ) % m;\n\n}\n\n// Linear mapping from range to range \nfunction mapLinear( x, a1, a2, b1, b2 ) {\n\n\treturn b1 + ( x - a1 ) * ( b2 - b1 ) / ( a2 - a1 );\n\n}\n\n// https://www.gamedev.net/tutorials/programming/general-and-gameplay-programming/inverse-lerp-a-super-useful-yet-often-overlooked-function-r5230/\nfunction inverseLerp( x, y, value ) {\n\n\tif ( x !== y ) {\n\n\t\treturn ( value - x ) / ( y - x );\n\n\t} else {\n\n\t\treturn 0;\n\n\t}\n\n}\n\n// https://en.wikipedia.org/wiki/Linear_interpolation\nfunction lerp( x, y, t ) {\n\n\treturn ( 1 - t ) * x + t * y;\n\n}\n\n// http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/\nfunction damp( x, y, lambda, dt ) {\n\n\treturn lerp( x, y, 1 - Math.exp( - lambda * dt ) );\n\n}\n\n// https://www.desmos.com/calculator/vcsjnyz7x4\nfunction pingpong( x, length = 1 ) {\n\n\treturn length - Math.abs( euclideanModulo( x, length * 2 ) - length );\n\n}\n\n// http://en.wikipedia.org/wiki/Smoothstep\nfunction smoothstep( x, min, max ) {\n\n\tif ( x <= min ) return 0;\n\tif ( x >= max ) return 1;\n\n\tx = ( x - min ) / ( max - min );\n\n\treturn x * x * ( 3 - 2 * x );\n\n}\n\nfunction smootherstep( x, min, max ) {\n\n\tif ( x <= min ) return 0;\n\tif ( x >= max ) return 1;\n\n\tx = ( x - min ) / ( max - min );\n\n\treturn x * x * x * ( x * ( x * 6 - 15 ) + 10 );\n\n}\n\n// Random integer from interval\nfunction randInt( low, high ) {\n\n\treturn low + Math.floor( Math.random() * ( high - low + 1 ) );\n\n}\n\n// Random float from interval\nfunction randFloat( low, high ) {\n\n\treturn low + Math.random() * ( high - low );\n\n}\n\n// Random float from <-range/2, range/2> interval\nfunction randFloatSpread( range ) {\n\n\treturn range * ( 0.5 - Math.random() );\n\n}\n\n// Deterministic pseudo-random float in the interval [ 0, 1 ]\nfunction seededRandom( s ) {\n\n\tif ( s !== undefined ) _seed = s;\n\n\t// Mulberry32 generator\n\n\tlet t = _seed += 0x6D2B79F5;\n\n\tt = Math.imul( t ^ t >>> 15, t | 1 );\n\n\tt ^= t + Math.imul( t ^ t >>> 7, t | 61 );\n\n\treturn ( ( t ^ t >>> 14 ) >>> 0 ) / 4294967296;\n\n}\n\nfunction degToRad( degrees ) {\n\n\treturn degrees * DEG2RAD;\n\n}\n\nfunction radToDeg( radians ) {\n\n\treturn radians * RAD2DEG;\n\n}\n\nfunction isPowerOfTwo( value ) {\n\n\treturn ( value & ( value - 1 ) ) === 0 && value !== 0;\n\n}\n\nfunction ceilPowerOfTwo( value ) {\n\n\treturn Math.pow( 2, Math.ceil( Math.log( value ) / Math.LN2 ) );\n\n}\n\nfunction floorPowerOfTwo( value ) {\n\n\treturn Math.pow( 2, Math.floor( Math.log( value ) / Math.LN2 ) );\n\n}\n\nfunction setQuaternionFromProperEuler( q, a, b, c, order ) {\n\n\t// Intrinsic Proper Euler Angles - see https://en.wikipedia.org/wiki/Euler_angles\n\n\t// rotations are applied to the axes in the order specified by 'order'\n\t// rotation by angle 'a' is applied first, then by angle 'b', then by angle 'c'\n\t// angles are in radians\n\n\tconst cos = Math.cos;\n\tconst sin = Math.sin;\n\n\tconst c2 = cos( b / 2 );\n\tconst s2 = sin( b / 2 );\n\n\tconst c13 = cos( ( a + c ) / 2 );\n\tconst s13 = sin( ( a + c ) / 2 );\n\n\tconst c1_3 = cos( ( a - c ) / 2 );\n\tconst s1_3 = sin( ( a - c ) / 2 );\n\n\tconst c3_1 = cos( ( c - a ) / 2 );\n\tconst s3_1 = sin( ( c - a ) / 2 );\n\n\tswitch ( order ) {\n\n\t\tcase 'XYX':\n\t\t\tq.set( c2 * s13, s2 * c1_3, s2 * s1_3, c2 * c13 );\n\t\t\tbreak;\n\n\t\tcase 'YZY':\n\t\t\tq.set( s2 * s1_3, c2 * s13, s2 * c1_3, c2 * c13 );\n\t\t\tbreak;\n\n\t\tcase 'ZXZ':\n\t\t\tq.set( s2 * c1_3, s2 * s1_3, c2 * s13, c2 * c13 );\n\t\t\tbreak;\n\n\t\tcase 'XZX':\n\t\t\tq.set( c2 * s13, s2 * s3_1, s2 * c3_1, c2 * c13 );\n\t\t\tbreak;\n\n\t\tcase 'YXY':\n\t\t\tq.set( s2 * c3_1, c2 * s13, s2 * s3_1, c2 * c13 );\n\t\t\tbreak;\n\n\t\tcase 'ZYZ':\n\t\t\tq.set( s2 * s3_1, s2 * c3_1, c2 * s13, c2 * c13 );\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tconsole.warn( 'THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: ' + order );\n\n\t}\n\n}\n\nfunction denormalize$1( value, array ) {\n\n\tswitch ( array.constructor ) {\n\n\t\tcase Float32Array:\n\n\t\t\treturn value;\n\n\t\tcase Uint16Array:\n\n\t\t\treturn value / 65535.0;\n\n\t\tcase Uint8Array:\n\n\t\t\treturn value / 255.0;\n\n\t\tcase Int16Array:\n\n\t\t\treturn Math.max( value / 32767.0, - 1.0 );\n\n\t\tcase Int8Array:\n\n\t\t\treturn Math.max( value / 127.0, - 1.0 );\n\n\t\tdefault:\n\n\t\t\tthrow new Error( 'Invalid component type.' );\n\n\t}\n\n}\n\nfunction normalize( value, array ) {\n\n\tswitch ( array.constructor ) {\n\n\t\tcase Float32Array:\n\n\t\t\treturn value;\n\n\t\tcase Uint16Array:\n\n\t\t\treturn Math.round( value * 65535.0 );\n\n\t\tcase Uint8Array:\n\n\t\t\treturn Math.round( value * 255.0 );\n\n\t\tcase Int16Array:\n\n\t\t\treturn Math.round( value * 32767.0 );\n\n\t\tcase Int8Array:\n\n\t\t\treturn Math.round( value * 127.0 );\n\n\t\tdefault:\n\n\t\t\tthrow new Error( 'Invalid component type.' );\n\n\t}\n\n}\n\nvar MathUtils = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tDEG2RAD: DEG2RAD,\n\tRAD2DEG: RAD2DEG,\n\tgenerateUUID: generateUUID,\n\tclamp: clamp,\n\teuclideanModulo: euclideanModulo,\n\tmapLinear: mapLinear,\n\tinverseLerp: inverseLerp,\n\tlerp: lerp,\n\tdamp: damp,\n\tpingpong: pingpong,\n\tsmoothstep: smoothstep,\n\tsmootherstep: smootherstep,\n\trandInt: randInt,\n\trandFloat: randFloat,\n\trandFloatSpread: randFloatSpread,\n\tseededRandom: seededRandom,\n\tdegToRad: degToRad,\n\tradToDeg: radToDeg,\n\tisPowerOfTwo: isPowerOfTwo,\n\tceilPowerOfTwo: ceilPowerOfTwo,\n\tfloorPowerOfTwo: floorPowerOfTwo,\n\tsetQuaternionFromProperEuler: setQuaternionFromProperEuler,\n\tnormalize: normalize,\n\tdenormalize: denormalize$1\n});\n\nclass Vector2 {\n\n\tconstructor( x = 0, y = 0 ) {\n\n\t\tVector2.prototype.isVector2 = true;\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\n\t}\n\n\tget width() {\n\n\t\treturn this.x;\n\n\t}\n\n\tset width( value ) {\n\n\t\tthis.x = value;\n\n\t}\n\n\tget height() {\n\n\t\treturn this.y;\n\n\t}\n\n\tset height( value ) {\n\n\t\tthis.y = value;\n\n\t}\n\n\tset( x, y ) {\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\n\t\treturn this;\n\n\t}\n\n\tsetScalar( scalar ) {\n\n\t\tthis.x = scalar;\n\t\tthis.y = scalar;\n\n\t\treturn this;\n\n\t}\n\n\tsetX( x ) {\n\n\t\tthis.x = x;\n\n\t\treturn this;\n\n\t}\n\n\tsetY( y ) {\n\n\t\tthis.y = y;\n\n\t\treturn this;\n\n\t}\n\n\tsetComponent( index, value ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: this.x = value; break;\n\t\t\tcase 1: this.y = value; break;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tgetComponent( index ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: return this.x;\n\t\t\tcase 1: return this.y;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this.x, this.y );\n\n\t}\n\n\tcopy( v ) {\n\n\t\tthis.x = v.x;\n\t\tthis.y = v.y;\n\n\t\treturn this;\n\n\t}\n\n\tadd( v ) {\n\n\t\tthis.x += v.x;\n\t\tthis.y += v.y;\n\n\t\treturn this;\n\n\t}\n\n\taddScalar( s ) {\n\n\t\tthis.x += s;\n\t\tthis.y += s;\n\n\t\treturn this;\n\n\t}\n\n\taddVectors( a, b ) {\n\n\t\tthis.x = a.x + b.x;\n\t\tthis.y = a.y + b.y;\n\n\t\treturn this;\n\n\t}\n\n\taddScaledVector( v, s ) {\n\n\t\tthis.x += v.x * s;\n\t\tthis.y += v.y * s;\n\n\t\treturn this;\n\n\t}\n\n\tsub( v ) {\n\n\t\tthis.x -= v.x;\n\t\tthis.y -= v.y;\n\n\t\treturn this;\n\n\t}\n\n\tsubScalar( s ) {\n\n\t\tthis.x -= s;\n\t\tthis.y -= s;\n\n\t\treturn this;\n\n\t}\n\n\tsubVectors( a, b ) {\n\n\t\tthis.x = a.x - b.x;\n\t\tthis.y = a.y - b.y;\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( v ) {\n\n\t\tthis.x *= v.x;\n\t\tthis.y *= v.y;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyScalar( scalar ) {\n\n\t\tthis.x *= scalar;\n\t\tthis.y *= scalar;\n\n\t\treturn this;\n\n\t}\n\n\tdivide( v ) {\n\n\t\tthis.x /= v.x;\n\t\tthis.y /= v.y;\n\n\t\treturn this;\n\n\t}\n\n\tdivideScalar( scalar ) {\n\n\t\treturn this.multiplyScalar( 1 / scalar );\n\n\t}\n\n\tapplyMatrix3( m ) {\n\n\t\tconst x = this.x, y = this.y;\n\t\tconst e = m.elements;\n\n\t\tthis.x = e[ 0 ] * x + e[ 3 ] * y + e[ 6 ];\n\t\tthis.y = e[ 1 ] * x + e[ 4 ] * y + e[ 7 ];\n\n\t\treturn this;\n\n\t}\n\n\tmin( v ) {\n\n\t\tthis.x = Math.min( this.x, v.x );\n\t\tthis.y = Math.min( this.y, v.y );\n\n\t\treturn this;\n\n\t}\n\n\tmax( v ) {\n\n\t\tthis.x = Math.max( this.x, v.x );\n\t\tthis.y = Math.max( this.y, v.y );\n\n\t\treturn this;\n\n\t}\n\n\tclamp( min, max ) {\n\n\t\t// assumes min < max, componentwise\n\n\t\tthis.x = Math.max( min.x, Math.min( max.x, this.x ) );\n\t\tthis.y = Math.max( min.y, Math.min( max.y, this.y ) );\n\n\t\treturn this;\n\n\t}\n\n\tclampScalar( minVal, maxVal ) {\n\n\t\tthis.x = Math.max( minVal, Math.min( maxVal, this.x ) );\n\t\tthis.y = Math.max( minVal, Math.min( maxVal, this.y ) );\n\n\t\treturn this;\n\n\t}\n\n\tclampLength( min, max ) {\n\n\t\tconst length = this.length();\n\n\t\treturn this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) );\n\n\t}\n\n\tfloor() {\n\n\t\tthis.x = Math.floor( this.x );\n\t\tthis.y = Math.floor( this.y );\n\n\t\treturn this;\n\n\t}\n\n\tceil() {\n\n\t\tthis.x = Math.ceil( this.x );\n\t\tthis.y = Math.ceil( this.y );\n\n\t\treturn this;\n\n\t}\n\n\tround() {\n\n\t\tthis.x = Math.round( this.x );\n\t\tthis.y = Math.round( this.y );\n\n\t\treturn this;\n\n\t}\n\n\troundToZero() {\n\n\t\tthis.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x );\n\t\tthis.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y );\n\n\t\treturn this;\n\n\t}\n\n\tnegate() {\n\n\t\tthis.x = - this.x;\n\t\tthis.y = - this.y;\n\n\t\treturn this;\n\n\t}\n\n\tdot( v ) {\n\n\t\treturn this.x * v.x + this.y * v.y;\n\n\t}\n\n\tcross( v ) {\n\n\t\treturn this.x * v.y - this.y * v.x;\n\n\t}\n\n\tlengthSq() {\n\n\t\treturn this.x * this.x + this.y * this.y;\n\n\t}\n\n\tlength() {\n\n\t\treturn Math.sqrt( this.x * this.x + this.y * this.y );\n\n\t}\n\n\tmanhattanLength() {\n\n\t\treturn Math.abs( this.x ) + Math.abs( this.y );\n\n\t}\n\n\tnormalize() {\n\n\t\treturn this.divideScalar( this.length() || 1 );\n\n\t}\n\n\tangle() {\n\n\t\t// computes the angle in radians with respect to the positive x-axis\n\n\t\tconst angle = Math.atan2( - this.y, - this.x ) + Math.PI;\n\n\t\treturn angle;\n\n\t}\n\n\tdistanceTo( v ) {\n\n\t\treturn Math.sqrt( this.distanceToSquared( v ) );\n\n\t}\n\n\tdistanceToSquared( v ) {\n\n\t\tconst dx = this.x - v.x, dy = this.y - v.y;\n\t\treturn dx * dx + dy * dy;\n\n\t}\n\n\tmanhattanDistanceTo( v ) {\n\n\t\treturn Math.abs( this.x - v.x ) + Math.abs( this.y - v.y );\n\n\t}\n\n\tsetLength( length ) {\n\n\t\treturn this.normalize().multiplyScalar( length );\n\n\t}\n\n\tlerp( v, alpha ) {\n\n\t\tthis.x += ( v.x - this.x ) * alpha;\n\t\tthis.y += ( v.y - this.y ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tlerpVectors( v1, v2, alpha ) {\n\n\t\tthis.x = v1.x + ( v2.x - v1.x ) * alpha;\n\t\tthis.y = v1.y + ( v2.y - v1.y ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tequals( v ) {\n\n\t\treturn ( ( v.x === this.x ) && ( v.y === this.y ) );\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tthis.x = array[ offset ];\n\t\tthis.y = array[ offset + 1 ];\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tarray[ offset ] = this.x;\n\t\tarray[ offset + 1 ] = this.y;\n\n\t\treturn array;\n\n\t}\n\n\tfromBufferAttribute( attribute, index ) {\n\n\t\tthis.x = attribute.getX( index );\n\t\tthis.y = attribute.getY( index );\n\n\t\treturn this;\n\n\t}\n\n\trotateAround( center, angle ) {\n\n\t\tconst c = Math.cos( angle ), s = Math.sin( angle );\n\n\t\tconst x = this.x - center.x;\n\t\tconst y = this.y - center.y;\n\n\t\tthis.x = x * c - y * s + center.x;\n\t\tthis.y = x * s + y * c + center.y;\n\n\t\treturn this;\n\n\t}\n\n\trandom() {\n\n\t\tthis.x = Math.random();\n\t\tthis.y = Math.random();\n\n\t\treturn this;\n\n\t}\n\n\t*[ Symbol.iterator ]() {\n\n\t\tyield this.x;\n\t\tyield this.y;\n\n\t}\n\n}\n\nclass Matrix3 {\n\n\tconstructor() {\n\n\t\tMatrix3.prototype.isMatrix3 = true;\n\n\t\tthis.elements = [\n\n\t\t\t1, 0, 0,\n\t\t\t0, 1, 0,\n\t\t\t0, 0, 1\n\n\t\t];\n\n\t}\n\n\tset( n11, n12, n13, n21, n22, n23, n31, n32, n33 ) {\n\n\t\tconst te = this.elements;\n\n\t\tte[ 0 ] = n11; te[ 1 ] = n21; te[ 2 ] = n31;\n\t\tte[ 3 ] = n12; te[ 4 ] = n22; te[ 5 ] = n32;\n\t\tte[ 6 ] = n13; te[ 7 ] = n23; te[ 8 ] = n33;\n\n\t\treturn this;\n\n\t}\n\n\tidentity() {\n\n\t\tthis.set(\n\n\t\t\t1, 0, 0,\n\t\t\t0, 1, 0,\n\t\t\t0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tcopy( m ) {\n\n\t\tconst te = this.elements;\n\t\tconst me = m.elements;\n\n\t\tte[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ];\n\t\tte[ 3 ] = me[ 3 ]; te[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ];\n\t\tte[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ]; te[ 8 ] = me[ 8 ];\n\n\t\treturn this;\n\n\t}\n\n\textractBasis( xAxis, yAxis, zAxis ) {\n\n\t\txAxis.setFromMatrix3Column( this, 0 );\n\t\tyAxis.setFromMatrix3Column( this, 1 );\n\t\tzAxis.setFromMatrix3Column( this, 2 );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromMatrix4( m ) {\n\n\t\tconst me = m.elements;\n\n\t\tthis.set(\n\n\t\t\tme[ 0 ], me[ 4 ], me[ 8 ],\n\t\t\tme[ 1 ], me[ 5 ], me[ 9 ],\n\t\t\tme[ 2 ], me[ 6 ], me[ 10 ]\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( m ) {\n\n\t\treturn this.multiplyMatrices( this, m );\n\n\t}\n\n\tpremultiply( m ) {\n\n\t\treturn this.multiplyMatrices( m, this );\n\n\t}\n\n\tmultiplyMatrices( a, b ) {\n\n\t\tconst ae = a.elements;\n\t\tconst be = b.elements;\n\t\tconst te = this.elements;\n\n\t\tconst a11 = ae[ 0 ], a12 = ae[ 3 ], a13 = ae[ 6 ];\n\t\tconst a21 = ae[ 1 ], a22 = ae[ 4 ], a23 = ae[ 7 ];\n\t\tconst a31 = ae[ 2 ], a32 = ae[ 5 ], a33 = ae[ 8 ];\n\n\t\tconst b11 = be[ 0 ], b12 = be[ 3 ], b13 = be[ 6 ];\n\t\tconst b21 = be[ 1 ], b22 = be[ 4 ], b23 = be[ 7 ];\n\t\tconst b31 = be[ 2 ], b32 = be[ 5 ], b33 = be[ 8 ];\n\n\t\tte[ 0 ] = a11 * b11 + a12 * b21 + a13 * b31;\n\t\tte[ 3 ] = a11 * b12 + a12 * b22 + a13 * b32;\n\t\tte[ 6 ] = a11 * b13 + a12 * b23 + a13 * b33;\n\n\t\tte[ 1 ] = a21 * b11 + a22 * b21 + a23 * b31;\n\t\tte[ 4 ] = a21 * b12 + a22 * b22 + a23 * b32;\n\t\tte[ 7 ] = a21 * b13 + a22 * b23 + a23 * b33;\n\n\t\tte[ 2 ] = a31 * b11 + a32 * b21 + a33 * b31;\n\t\tte[ 5 ] = a31 * b12 + a32 * b22 + a33 * b32;\n\t\tte[ 8 ] = a31 * b13 + a32 * b23 + a33 * b33;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyScalar( s ) {\n\n\t\tconst te = this.elements;\n\n\t\tte[ 0 ] *= s; te[ 3 ] *= s; te[ 6 ] *= s;\n\t\tte[ 1 ] *= s; te[ 4 ] *= s; te[ 7 ] *= s;\n\t\tte[ 2 ] *= s; te[ 5 ] *= s; te[ 8 ] *= s;\n\n\t\treturn this;\n\n\t}\n\n\tdeterminant() {\n\n\t\tconst te = this.elements;\n\n\t\tconst a = te[ 0 ], b = te[ 1 ], c = te[ 2 ],\n\t\t\td = te[ 3 ], e = te[ 4 ], f = te[ 5 ],\n\t\t\tg = te[ 6 ], h = te[ 7 ], i = te[ 8 ];\n\n\t\treturn a * e * i - a * f * h - b * d * i + b * f * g + c * d * h - c * e * g;\n\n\t}\n\n\tinvert() {\n\n\t\tconst te = this.elements,\n\n\t\t\tn11 = te[ 0 ], n21 = te[ 1 ], n31 = te[ 2 ],\n\t\t\tn12 = te[ 3 ], n22 = te[ 4 ], n32 = te[ 5 ],\n\t\t\tn13 = te[ 6 ], n23 = te[ 7 ], n33 = te[ 8 ],\n\n\t\t\tt11 = n33 * n22 - n32 * n23,\n\t\t\tt12 = n32 * n13 - n33 * n12,\n\t\t\tt13 = n23 * n12 - n22 * n13,\n\n\t\t\tdet = n11 * t11 + n21 * t12 + n31 * t13;\n\n\t\tif ( det === 0 ) return this.set( 0, 0, 0, 0, 0, 0, 0, 0, 0 );\n\n\t\tconst detInv = 1 / det;\n\n\t\tte[ 0 ] = t11 * detInv;\n\t\tte[ 1 ] = ( n31 * n23 - n33 * n21 ) * detInv;\n\t\tte[ 2 ] = ( n32 * n21 - n31 * n22 ) * detInv;\n\n\t\tte[ 3 ] = t12 * detInv;\n\t\tte[ 4 ] = ( n33 * n11 - n31 * n13 ) * detInv;\n\t\tte[ 5 ] = ( n31 * n12 - n32 * n11 ) * detInv;\n\n\t\tte[ 6 ] = t13 * detInv;\n\t\tte[ 7 ] = ( n21 * n13 - n23 * n11 ) * detInv;\n\t\tte[ 8 ] = ( n22 * n11 - n21 * n12 ) * detInv;\n\n\t\treturn this;\n\n\t}\n\n\ttranspose() {\n\n\t\tlet tmp;\n\t\tconst m = this.elements;\n\n\t\ttmp = m[ 1 ]; m[ 1 ] = m[ 3 ]; m[ 3 ] = tmp;\n\t\ttmp = m[ 2 ]; m[ 2 ] = m[ 6 ]; m[ 6 ] = tmp;\n\t\ttmp = m[ 5 ]; m[ 5 ] = m[ 7 ]; m[ 7 ] = tmp;\n\n\t\treturn this;\n\n\t}\n\n\tgetNormalMatrix( matrix4 ) {\n\n\t\treturn this.setFromMatrix4( matrix4 ).invert().transpose();\n\n\t}\n\n\ttransposeIntoArray( r ) {\n\n\t\tconst m = this.elements;\n\n\t\tr[ 0 ] = m[ 0 ];\n\t\tr[ 1 ] = m[ 3 ];\n\t\tr[ 2 ] = m[ 6 ];\n\t\tr[ 3 ] = m[ 1 ];\n\t\tr[ 4 ] = m[ 4 ];\n\t\tr[ 5 ] = m[ 7 ];\n\t\tr[ 6 ] = m[ 2 ];\n\t\tr[ 7 ] = m[ 5 ];\n\t\tr[ 8 ] = m[ 8 ];\n\n\t\treturn this;\n\n\t}\n\n\tsetUvTransform( tx, ty, sx, sy, rotation, cx, cy ) {\n\n\t\tconst c = Math.cos( rotation );\n\t\tconst s = Math.sin( rotation );\n\n\t\tthis.set(\n\t\t\tsx * c, sx * s, - sx * ( c * cx + s * cy ) + cx + tx,\n\t\t\t- sy * s, sy * c, - sy * ( - s * cx + c * cy ) + cy + ty,\n\t\t\t0, 0, 1\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tscale( sx, sy ) {\n\n\t\tconst te = this.elements;\n\n\t\tte[ 0 ] *= sx; te[ 3 ] *= sx; te[ 6 ] *= sx;\n\t\tte[ 1 ] *= sy; te[ 4 ] *= sy; te[ 7 ] *= sy;\n\n\t\treturn this;\n\n\t}\n\n\trotate( theta ) {\n\n\t\tconst c = Math.cos( theta );\n\t\tconst s = Math.sin( theta );\n\n\t\tconst te = this.elements;\n\n\t\tconst a11 = te[ 0 ], a12 = te[ 3 ], a13 = te[ 6 ];\n\t\tconst a21 = te[ 1 ], a22 = te[ 4 ], a23 = te[ 7 ];\n\n\t\tte[ 0 ] = c * a11 + s * a21;\n\t\tte[ 3 ] = c * a12 + s * a22;\n\t\tte[ 6 ] = c * a13 + s * a23;\n\n\t\tte[ 1 ] = - s * a11 + c * a21;\n\t\tte[ 4 ] = - s * a12 + c * a22;\n\t\tte[ 7 ] = - s * a13 + c * a23;\n\n\t\treturn this;\n\n\t}\n\n\ttranslate( tx, ty ) {\n\n\t\tconst te = this.elements;\n\n\t\tte[ 0 ] += tx * te[ 2 ]; te[ 3 ] += tx * te[ 5 ]; te[ 6 ] += tx * te[ 8 ];\n\t\tte[ 1 ] += ty * te[ 2 ]; te[ 4 ] += ty * te[ 5 ]; te[ 7 ] += ty * te[ 8 ];\n\n\t\treturn this;\n\n\t}\n\n\tequals( matrix ) {\n\n\t\tconst te = this.elements;\n\t\tconst me = matrix.elements;\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tif ( te[ i ] !== me[ i ] ) return false;\n\n\t\t}\n\n\t\treturn true;\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tthis.elements[ i ] = array[ i + offset ];\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tconst te = this.elements;\n\n\t\tarray[ offset ] = te[ 0 ];\n\t\tarray[ offset + 1 ] = te[ 1 ];\n\t\tarray[ offset + 2 ] = te[ 2 ];\n\n\t\tarray[ offset + 3 ] = te[ 3 ];\n\t\tarray[ offset + 4 ] = te[ 4 ];\n\t\tarray[ offset + 5 ] = te[ 5 ];\n\n\t\tarray[ offset + 6 ] = te[ 6 ];\n\t\tarray[ offset + 7 ] = te[ 7 ];\n\t\tarray[ offset + 8 ] = te[ 8 ];\n\n\t\treturn array;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().fromArray( this.elements );\n\n\t}\n\n}\n\nfunction arrayNeedsUint32( array ) {\n\n\t// assumes larger values usually on last\n\n\tfor ( let i = array.length - 1; i >= 0; -- i ) {\n\n\t\tif ( array[ i ] > 65535 ) return true;\n\n\t}\n\n\treturn false;\n\n}\n\nconst TYPED_ARRAYS = {\n\tInt8Array: Int8Array,\n\tUint8Array: Uint8Array,\n\tUint8ClampedArray: Uint8ClampedArray,\n\tInt16Array: Int16Array,\n\tUint16Array: Uint16Array,\n\tInt32Array: Int32Array,\n\tUint32Array: Uint32Array,\n\tFloat32Array: Float32Array,\n\tFloat64Array: Float64Array\n};\n\nfunction getTypedArray( type, buffer ) {\n\n\treturn new TYPED_ARRAYS[ type ]( buffer );\n\n}\n\nfunction createElementNS( name ) {\n\n\treturn document.createElementNS( 'http://www.w3.org/1999/xhtml', name );\n\n}\n\nfunction SRGBToLinear( c ) {\n\n\treturn ( c < 0.04045 ) ? c * 0.0773993808 : Math.pow( c * 0.9478672986 + 0.0521327014, 2.4 );\n\n}\n\nfunction LinearToSRGB( c ) {\n\n\treturn ( c < 0.0031308 ) ? c * 12.92 : 1.055 * ( Math.pow( c, 0.41666 ) ) - 0.055;\n\n}\n\n// JavaScript RGB-to-RGB transforms, defined as\n// FN[InputColorSpace][OutputColorSpace] callback functions.\nconst FN = {\n\t[ SRGBColorSpace ]: { [ LinearSRGBColorSpace ]: SRGBToLinear },\n\t[ LinearSRGBColorSpace ]: { [ SRGBColorSpace ]: LinearToSRGB },\n};\n\nconst ColorManagement = {\n\n\tlegacyMode: true,\n\n\tget workingColorSpace() {\n\n\t\treturn LinearSRGBColorSpace;\n\n\t},\n\n\tset workingColorSpace( colorSpace ) {\n\n\t\tconsole.warn( 'THREE.ColorManagement: .workingColorSpace is readonly.' );\n\n\t},\n\n\tconvert: function ( color, sourceColorSpace, targetColorSpace ) {\n\n\t\tif ( this.legacyMode || sourceColorSpace === targetColorSpace || ! sourceColorSpace || ! targetColorSpace ) {\n\n\t\t\treturn color;\n\n\t\t}\n\n\t\tif ( FN[ sourceColorSpace ] && FN[ sourceColorSpace ][ targetColorSpace ] !== undefined ) {\n\n\t\t\tconst fn = FN[ sourceColorSpace ][ targetColorSpace ];\n\n\t\t\tcolor.r = fn( color.r );\n\t\t\tcolor.g = fn( color.g );\n\t\t\tcolor.b = fn( color.b );\n\n\t\t\treturn color;\n\n\t\t}\n\n\t\tthrow new Error( 'Unsupported color space conversion.' );\n\n\t},\n\n\tfromWorkingColorSpace: function ( color, targetColorSpace ) {\n\n\t\treturn this.convert( color, this.workingColorSpace, targetColorSpace );\n\n\t},\n\n\ttoWorkingColorSpace: function ( color, sourceColorSpace ) {\n\n\t\treturn this.convert( color, sourceColorSpace, this.workingColorSpace );\n\n\t},\n\n};\n\nconst _colorKeywords = { 'aliceblue': 0xF0F8FF, 'antiquewhite': 0xFAEBD7, 'aqua': 0x00FFFF, 'aquamarine': 0x7FFFD4, 'azure': 0xF0FFFF,\n\t'beige': 0xF5F5DC, 'bisque': 0xFFE4C4, 'black': 0x000000, 'blanchedalmond': 0xFFEBCD, 'blue': 0x0000FF, 'blueviolet': 0x8A2BE2,\n\t'brown': 0xA52A2A, 'burlywood': 0xDEB887, 'cadetblue': 0x5F9EA0, 'chartreuse': 0x7FFF00, 'chocolate': 0xD2691E, 'coral': 0xFF7F50,\n\t'cornflowerblue': 0x6495ED, 'cornsilk': 0xFFF8DC, 'crimson': 0xDC143C, 'cyan': 0x00FFFF, 'darkblue': 0x00008B, 'darkcyan': 0x008B8B,\n\t'darkgoldenrod': 0xB8860B, 'darkgray': 0xA9A9A9, 'darkgreen': 0x006400, 'darkgrey': 0xA9A9A9, 'darkkhaki': 0xBDB76B, 'darkmagenta': 0x8B008B,\n\t'darkolivegreen': 0x556B2F, 'darkorange': 0xFF8C00, 'darkorchid': 0x9932CC, 'darkred': 0x8B0000, 'darksalmon': 0xE9967A, 'darkseagreen': 0x8FBC8F,\n\t'darkslateblue': 0x483D8B, 'darkslategray': 0x2F4F4F, 'darkslategrey': 0x2F4F4F, 'darkturquoise': 0x00CED1, 'darkviolet': 0x9400D3,\n\t'deeppink': 0xFF1493, 'deepskyblue': 0x00BFFF, 'dimgray': 0x696969, 'dimgrey': 0x696969, 'dodgerblue': 0x1E90FF, 'firebrick': 0xB22222,\n\t'floralwhite': 0xFFFAF0, 'forestgreen': 0x228B22, 'fuchsia': 0xFF00FF, 'gainsboro': 0xDCDCDC, 'ghostwhite': 0xF8F8FF, 'gold': 0xFFD700,\n\t'goldenrod': 0xDAA520, 'gray': 0x808080, 'green': 0x008000, 'greenyellow': 0xADFF2F, 'grey': 0x808080, 'honeydew': 0xF0FFF0, 'hotpink': 0xFF69B4,\n\t'indianred': 0xCD5C5C, 'indigo': 0x4B0082, 'ivory': 0xFFFFF0, 'khaki': 0xF0E68C, 'lavender': 0xE6E6FA, 'lavenderblush': 0xFFF0F5, 'lawngreen': 0x7CFC00,\n\t'lemonchiffon': 0xFFFACD, 'lightblue': 0xADD8E6, 'lightcoral': 0xF08080, 'lightcyan': 0xE0FFFF, 'lightgoldenrodyellow': 0xFAFAD2, 'lightgray': 0xD3D3D3,\n\t'lightgreen': 0x90EE90, 'lightgrey': 0xD3D3D3, 'lightpink': 0xFFB6C1, 'lightsalmon': 0xFFA07A, 'lightseagreen': 0x20B2AA, 'lightskyblue': 0x87CEFA,\n\t'lightslategray': 0x778899, 'lightslategrey': 0x778899, 'lightsteelblue': 0xB0C4DE, 'lightyellow': 0xFFFFE0, 'lime': 0x00FF00, 'limegreen': 0x32CD32,\n\t'linen': 0xFAF0E6, 'magenta': 0xFF00FF, 'maroon': 0x800000, 'mediumaquamarine': 0x66CDAA, 'mediumblue': 0x0000CD, 'mediumorchid': 0xBA55D3,\n\t'mediumpurple': 0x9370DB, 'mediumseagreen': 0x3CB371, 'mediumslateblue': 0x7B68EE, 'mediumspringgreen': 0x00FA9A, 'mediumturquoise': 0x48D1CC,\n\t'mediumvioletred': 0xC71585, 'midnightblue': 0x191970, 'mintcream': 0xF5FFFA, 'mistyrose': 0xFFE4E1, 'moccasin': 0xFFE4B5, 'navajowhite': 0xFFDEAD,\n\t'navy': 0x000080, 'oldlace': 0xFDF5E6, 'olive': 0x808000, 'olivedrab': 0x6B8E23, 'orange': 0xFFA500, 'orangered': 0xFF4500, 'orchid': 0xDA70D6,\n\t'palegoldenrod': 0xEEE8AA, 'palegreen': 0x98FB98, 'paleturquoise': 0xAFEEEE, 'palevioletred': 0xDB7093, 'papayawhip': 0xFFEFD5, 'peachpuff': 0xFFDAB9,\n\t'peru': 0xCD853F, 'pink': 0xFFC0CB, 'plum': 0xDDA0DD, 'powderblue': 0xB0E0E6, 'purple': 0x800080, 'rebeccapurple': 0x663399, 'red': 0xFF0000, 'rosybrown': 0xBC8F8F,\n\t'royalblue': 0x4169E1, 'saddlebrown': 0x8B4513, 'salmon': 0xFA8072, 'sandybrown': 0xF4A460, 'seagreen': 0x2E8B57, 'seashell': 0xFFF5EE,\n\t'sienna': 0xA0522D, 'silver': 0xC0C0C0, 'skyblue': 0x87CEEB, 'slateblue': 0x6A5ACD, 'slategray': 0x708090, 'slategrey': 0x708090, 'snow': 0xFFFAFA,\n\t'springgreen': 0x00FF7F, 'steelblue': 0x4682B4, 'tan': 0xD2B48C, 'teal': 0x008080, 'thistle': 0xD8BFD8, 'tomato': 0xFF6347, 'turquoise': 0x40E0D0,\n\t'violet': 0xEE82EE, 'wheat': 0xF5DEB3, 'white': 0xFFFFFF, 'whitesmoke': 0xF5F5F5, 'yellow': 0xFFFF00, 'yellowgreen': 0x9ACD32 };\n\nconst _rgb = { r: 0, g: 0, b: 0 };\nconst _hslA = { h: 0, s: 0, l: 0 };\nconst _hslB = { h: 0, s: 0, l: 0 };\n\nfunction hue2rgb( p, q, t ) {\n\n\tif ( t < 0 ) t += 1;\n\tif ( t > 1 ) t -= 1;\n\tif ( t < 1 / 6 ) return p + ( q - p ) * 6 * t;\n\tif ( t < 1 / 2 ) return q;\n\tif ( t < 2 / 3 ) return p + ( q - p ) * 6 * ( 2 / 3 - t );\n\treturn p;\n\n}\n\nfunction toComponents( source, target ) {\n\n\ttarget.r = source.r;\n\ttarget.g = source.g;\n\ttarget.b = source.b;\n\n\treturn target;\n\n}\n\nclass Color {\n\n\tconstructor( r, g, b ) {\n\n\t\tthis.isColor = true;\n\n\t\tthis.r = 1;\n\t\tthis.g = 1;\n\t\tthis.b = 1;\n\n\t\tif ( g === undefined && b === undefined ) {\n\n\t\t\t// r is THREE.Color, hex or string\n\t\t\treturn this.set( r );\n\n\t\t}\n\n\t\treturn this.setRGB( r, g, b );\n\n\t}\n\n\tset( value ) {\n\n\t\tif ( value && value.isColor ) {\n\n\t\t\tthis.copy( value );\n\n\t\t} else if ( typeof value === 'number' ) {\n\n\t\t\tthis.setHex( value );\n\n\t\t} else if ( typeof value === 'string' ) {\n\n\t\t\tthis.setStyle( value );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetScalar( scalar ) {\n\n\t\tthis.r = scalar;\n\t\tthis.g = scalar;\n\t\tthis.b = scalar;\n\n\t\treturn this;\n\n\t}\n\n\tsetHex( hex, colorSpace = SRGBColorSpace ) {\n\n\t\thex = Math.floor( hex );\n\n\t\tthis.r = ( hex >> 16 & 255 ) / 255;\n\t\tthis.g = ( hex >> 8 & 255 ) / 255;\n\t\tthis.b = ( hex & 255 ) / 255;\n\n\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\treturn this;\n\n\t}\n\n\tsetRGB( r, g, b, colorSpace = LinearSRGBColorSpace ) {\n\n\t\tthis.r = r;\n\t\tthis.g = g;\n\t\tthis.b = b;\n\n\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\treturn this;\n\n\t}\n\n\tsetHSL( h, s, l, colorSpace = LinearSRGBColorSpace ) {\n\n\t\t// h,s,l ranges are in 0.0 - 1.0\n\t\th = euclideanModulo( h, 1 );\n\t\ts = clamp( s, 0, 1 );\n\t\tl = clamp( l, 0, 1 );\n\n\t\tif ( s === 0 ) {\n\n\t\t\tthis.r = this.g = this.b = l;\n\n\t\t} else {\n\n\t\t\tconst p = l <= 0.5 ? l * ( 1 + s ) : l + s - ( l * s );\n\t\t\tconst q = ( 2 * l ) - p;\n\n\t\t\tthis.r = hue2rgb( q, p, h + 1 / 3 );\n\t\t\tthis.g = hue2rgb( q, p, h );\n\t\t\tthis.b = hue2rgb( q, p, h - 1 / 3 );\n\n\t\t}\n\n\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\treturn this;\n\n\t}\n\n\tsetStyle( style, colorSpace = SRGBColorSpace ) {\n\n\t\tfunction handleAlpha( string ) {\n\n\t\t\tif ( string === undefined ) return;\n\n\t\t\tif ( parseFloat( string ) < 1 ) {\n\n\t\t\t\tconsole.warn( 'THREE.Color: Alpha component of ' + style + ' will be ignored.' );\n\n\t\t\t}\n\n\t\t}\n\n\n\t\tlet m;\n\n\t\tif ( m = /^((?:rgb|hsl)a?)\\(([^\\)]*)\\)/.exec( style ) ) {\n\n\t\t\t// rgb / hsl\n\n\t\t\tlet color;\n\t\t\tconst name = m[ 1 ];\n\t\t\tconst components = m[ 2 ];\n\n\t\t\tswitch ( name ) {\n\n\t\t\t\tcase 'rgb':\n\t\t\t\tcase 'rgba':\n\n\t\t\t\t\tif ( color = /^\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec( components ) ) {\n\n\t\t\t\t\t\t// rgb(255,0,0) rgba(255,0,0,0.5)\n\t\t\t\t\t\tthis.r = Math.min( 255, parseInt( color[ 1 ], 10 ) ) / 255;\n\t\t\t\t\t\tthis.g = Math.min( 255, parseInt( color[ 2 ], 10 ) ) / 255;\n\t\t\t\t\t\tthis.b = Math.min( 255, parseInt( color[ 3 ], 10 ) ) / 255;\n\n\t\t\t\t\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\t\t\t\t\thandleAlpha( color[ 4 ] );\n\n\t\t\t\t\t\treturn this;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( color = /^\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec( components ) ) {\n\n\t\t\t\t\t\t// rgb(100%,0%,0%) rgba(100%,0%,0%,0.5)\n\t\t\t\t\t\tthis.r = Math.min( 100, parseInt( color[ 1 ], 10 ) ) / 100;\n\t\t\t\t\t\tthis.g = Math.min( 100, parseInt( color[ 2 ], 10 ) ) / 100;\n\t\t\t\t\t\tthis.b = Math.min( 100, parseInt( color[ 3 ], 10 ) ) / 100;\n\n\t\t\t\t\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\t\t\t\t\thandleAlpha( color[ 4 ] );\n\n\t\t\t\t\t\treturn this;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'hsl':\n\t\t\t\tcase 'hsla':\n\n\t\t\t\t\tif ( color = /^\\s*(\\d*\\.?\\d+)\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec( components ) ) {\n\n\t\t\t\t\t\t// hsl(120,50%,50%) hsla(120,50%,50%,0.5)\n\t\t\t\t\t\tconst h = parseFloat( color[ 1 ] ) / 360;\n\t\t\t\t\t\tconst s = parseInt( color[ 2 ], 10 ) / 100;\n\t\t\t\t\t\tconst l = parseInt( color[ 3 ], 10 ) / 100;\n\n\t\t\t\t\t\thandleAlpha( color[ 4 ] );\n\n\t\t\t\t\t\treturn this.setHSL( h, s, l, colorSpace );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\n\t\t} else if ( m = /^\\#([A-Fa-f\\d]+)$/.exec( style ) ) {\n\n\t\t\t// hex color\n\n\t\t\tconst hex = m[ 1 ];\n\t\t\tconst size = hex.length;\n\n\t\t\tif ( size === 3 ) {\n\n\t\t\t\t// #ff0\n\t\t\t\tthis.r = parseInt( hex.charAt( 0 ) + hex.charAt( 0 ), 16 ) / 255;\n\t\t\t\tthis.g = parseInt( hex.charAt( 1 ) + hex.charAt( 1 ), 16 ) / 255;\n\t\t\t\tthis.b = parseInt( hex.charAt( 2 ) + hex.charAt( 2 ), 16 ) / 255;\n\n\t\t\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\t\t\treturn this;\n\n\t\t\t} else if ( size === 6 ) {\n\n\t\t\t\t// #ff0000\n\t\t\t\tthis.r = parseInt( hex.charAt( 0 ) + hex.charAt( 1 ), 16 ) / 255;\n\t\t\t\tthis.g = parseInt( hex.charAt( 2 ) + hex.charAt( 3 ), 16 ) / 255;\n\t\t\t\tthis.b = parseInt( hex.charAt( 4 ) + hex.charAt( 5 ), 16 ) / 255;\n\n\t\t\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\t\t\treturn this;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( style && style.length > 0 ) {\n\n\t\t\treturn this.setColorName( style, colorSpace );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetColorName( style, colorSpace = SRGBColorSpace ) {\n\n\t\t// color keywords\n\t\tconst hex = _colorKeywords[ style.toLowerCase() ];\n\n\t\tif ( hex !== undefined ) {\n\n\t\t\t// red\n\t\t\tthis.setHex( hex, colorSpace );\n\n\t\t} else {\n\n\t\t\t// unknown color\n\t\t\tconsole.warn( 'THREE.Color: Unknown color ' + style );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this.r, this.g, this.b );\n\n\t}\n\n\tcopy( color ) {\n\n\t\tthis.r = color.r;\n\t\tthis.g = color.g;\n\t\tthis.b = color.b;\n\n\t\treturn this;\n\n\t}\n\n\tcopySRGBToLinear( color ) {\n\n\t\tthis.r = SRGBToLinear( color.r );\n\t\tthis.g = SRGBToLinear( color.g );\n\t\tthis.b = SRGBToLinear( color.b );\n\n\t\treturn this;\n\n\t}\n\n\tcopyLinearToSRGB( color ) {\n\n\t\tthis.r = LinearToSRGB( color.r );\n\t\tthis.g = LinearToSRGB( color.g );\n\t\tthis.b = LinearToSRGB( color.b );\n\n\t\treturn this;\n\n\t}\n\n\tconvertSRGBToLinear() {\n\n\t\tthis.copySRGBToLinear( this );\n\n\t\treturn this;\n\n\t}\n\n\tconvertLinearToSRGB() {\n\n\t\tthis.copyLinearToSRGB( this );\n\n\t\treturn this;\n\n\t}\n\n\tgetHex( colorSpace = SRGBColorSpace ) {\n\n\t\tColorManagement.fromWorkingColorSpace( toComponents( this, _rgb ), colorSpace );\n\n\t\treturn clamp( _rgb.r * 255, 0, 255 ) << 16 ^ clamp( _rgb.g * 255, 0, 255 ) << 8 ^ clamp( _rgb.b * 255, 0, 255 ) << 0;\n\n\t}\n\n\tgetHexString( colorSpace = SRGBColorSpace ) {\n\n\t\treturn ( '000000' + this.getHex( colorSpace ).toString( 16 ) ).slice( - 6 );\n\n\t}\n\n\tgetHSL( target, colorSpace = LinearSRGBColorSpace ) {\n\n\t\t// h,s,l ranges are in 0.0 - 1.0\n\n\t\tColorManagement.fromWorkingColorSpace( toComponents( this, _rgb ), colorSpace );\n\n\t\tconst r = _rgb.r, g = _rgb.g, b = _rgb.b;\n\n\t\tconst max = Math.max( r, g, b );\n\t\tconst min = Math.min( r, g, b );\n\n\t\tlet hue, saturation;\n\t\tconst lightness = ( min + max ) / 2.0;\n\n\t\tif ( min === max ) {\n\n\t\t\thue = 0;\n\t\t\tsaturation = 0;\n\n\t\t} else {\n\n\t\t\tconst delta = max - min;\n\n\t\t\tsaturation = lightness <= 0.5 ? delta / ( max + min ) : delta / ( 2 - max - min );\n\n\t\t\tswitch ( max ) {\n\n\t\t\t\tcase r: hue = ( g - b ) / delta + ( g < b ? 6 : 0 ); break;\n\t\t\t\tcase g: hue = ( b - r ) / delta + 2; break;\n\t\t\t\tcase b: hue = ( r - g ) / delta + 4; break;\n\n\t\t\t}\n\n\t\t\thue /= 6;\n\n\t\t}\n\n\t\ttarget.h = hue;\n\t\ttarget.s = saturation;\n\t\ttarget.l = lightness;\n\n\t\treturn target;\n\n\t}\n\n\tgetRGB( target, colorSpace = LinearSRGBColorSpace ) {\n\n\t\tColorManagement.fromWorkingColorSpace( toComponents( this, _rgb ), colorSpace );\n\n\t\ttarget.r = _rgb.r;\n\t\ttarget.g = _rgb.g;\n\t\ttarget.b = _rgb.b;\n\n\t\treturn target;\n\n\t}\n\n\tgetStyle( colorSpace = SRGBColorSpace ) {\n\n\t\tColorManagement.fromWorkingColorSpace( toComponents( this, _rgb ), colorSpace );\n\n\t\tif ( colorSpace !== SRGBColorSpace ) {\n\n\t\t\t// Requires CSS Color Module Level 4 (https://www.w3.org/TR/css-color-4/).\n\t\t\treturn `color(${ colorSpace } ${ _rgb.r } ${ _rgb.g } ${ _rgb.b })`;\n\n\t\t}\n\n\t\treturn `rgb(${( _rgb.r * 255 ) | 0},${( _rgb.g * 255 ) | 0},${( _rgb.b * 255 ) | 0})`;\n\n\t}\n\n\toffsetHSL( h, s, l ) {\n\n\t\tthis.getHSL( _hslA );\n\n\t\t_hslA.h += h; _hslA.s += s; _hslA.l += l;\n\n\t\tthis.setHSL( _hslA.h, _hslA.s, _hslA.l );\n\n\t\treturn this;\n\n\t}\n\n\tadd( color ) {\n\n\t\tthis.r += color.r;\n\t\tthis.g += color.g;\n\t\tthis.b += color.b;\n\n\t\treturn this;\n\n\t}\n\n\taddColors( color1, color2 ) {\n\n\t\tthis.r = color1.r + color2.r;\n\t\tthis.g = color1.g + color2.g;\n\t\tthis.b = color1.b + color2.b;\n\n\t\treturn this;\n\n\t}\n\n\taddScalar( s ) {\n\n\t\tthis.r += s;\n\t\tthis.g += s;\n\t\tthis.b += s;\n\n\t\treturn this;\n\n\t}\n\n\tsub( color ) {\n\n\t\tthis.r = Math.max( 0, this.r - color.r );\n\t\tthis.g = Math.max( 0, this.g - color.g );\n\t\tthis.b = Math.max( 0, this.b - color.b );\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( color ) {\n\n\t\tthis.r *= color.r;\n\t\tthis.g *= color.g;\n\t\tthis.b *= color.b;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyScalar( s ) {\n\n\t\tthis.r *= s;\n\t\tthis.g *= s;\n\t\tthis.b *= s;\n\n\t\treturn this;\n\n\t}\n\n\tlerp( color, alpha ) {\n\n\t\tthis.r += ( color.r - this.r ) * alpha;\n\t\tthis.g += ( color.g - this.g ) * alpha;\n\t\tthis.b += ( color.b - this.b ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tlerpColors( color1, color2, alpha ) {\n\n\t\tthis.r = color1.r + ( color2.r - color1.r ) * alpha;\n\t\tthis.g = color1.g + ( color2.g - color1.g ) * alpha;\n\t\tthis.b = color1.b + ( color2.b - color1.b ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tlerpHSL( color, alpha ) {\n\n\t\tthis.getHSL( _hslA );\n\t\tcolor.getHSL( _hslB );\n\n\t\tconst h = lerp( _hslA.h, _hslB.h, alpha );\n\t\tconst s = lerp( _hslA.s, _hslB.s, alpha );\n\t\tconst l = lerp( _hslA.l, _hslB.l, alpha );\n\n\t\tthis.setHSL( h, s, l );\n\n\t\treturn this;\n\n\t}\n\n\tequals( c ) {\n\n\t\treturn ( c.r === this.r ) && ( c.g === this.g ) && ( c.b === this.b );\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tthis.r = array[ offset ];\n\t\tthis.g = array[ offset + 1 ];\n\t\tthis.b = array[ offset + 2 ];\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tarray[ offset ] = this.r;\n\t\tarray[ offset + 1 ] = this.g;\n\t\tarray[ offset + 2 ] = this.b;\n\n\t\treturn array;\n\n\t}\n\n\tfromBufferAttribute( attribute, index ) {\n\n\t\tthis.r = attribute.getX( index );\n\t\tthis.g = attribute.getY( index );\n\t\tthis.b = attribute.getZ( index );\n\n\t\tif ( attribute.normalized === true ) {\n\n\t\t\t// assuming Uint8Array\n\n\t\t\tthis.r /= 255;\n\t\t\tthis.g /= 255;\n\t\t\tthis.b /= 255;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\treturn this.getHex();\n\n\t}\n\n\t*[ Symbol.iterator ]() {\n\n\t\tyield this.r;\n\t\tyield this.g;\n\t\tyield this.b;\n\n\t}\n\n}\n\nColor.NAMES = _colorKeywords;\n\nlet _canvas;\n\nclass ImageUtils {\n\n\tstatic getDataURL( image ) {\n\n\t\tif ( /^data:/i.test( image.src ) ) {\n\n\t\t\treturn image.src;\n\n\t\t}\n\n\t\tif ( typeof HTMLCanvasElement == 'undefined' ) {\n\n\t\t\treturn image.src;\n\n\t\t}\n\n\t\tlet canvas;\n\n\t\tif ( image instanceof HTMLCanvasElement ) {\n\n\t\t\tcanvas = image;\n\n\t\t} else {\n\n\t\t\tif ( _canvas === undefined ) _canvas = createElementNS( 'canvas' );\n\n\t\t\t_canvas.width = image.width;\n\t\t\t_canvas.height = image.height;\n\n\t\t\tconst context = _canvas.getContext( '2d' );\n\n\t\t\tif ( image instanceof ImageData ) {\n\n\t\t\t\tcontext.putImageData( image, 0, 0 );\n\n\t\t\t} else {\n\n\t\t\t\tcontext.drawImage( image, 0, 0, image.width, image.height );\n\n\t\t\t}\n\n\t\t\tcanvas = _canvas;\n\n\t\t}\n\n\t\tif ( canvas.width > 2048 || canvas.height > 2048 ) {\n\n\t\t\tconsole.warn( 'THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons', image );\n\n\t\t\treturn canvas.toDataURL( 'image/jpeg', 0.6 );\n\n\t\t} else {\n\n\t\t\treturn canvas.toDataURL( 'image/png' );\n\n\t\t}\n\n\t}\n\n\tstatic sRGBToLinear( image ) {\n\n\t\tif ( ( typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement ) ||\n\t\t\t( typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement ) ||\n\t\t\t( typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap ) ) {\n\n\t\t\tconst canvas = createElementNS( 'canvas' );\n\n\t\t\tcanvas.width = image.width;\n\t\t\tcanvas.height = image.height;\n\n\t\t\tconst context = canvas.getContext( '2d' );\n\t\t\tcontext.drawImage( image, 0, 0, image.width, image.height );\n\n\t\t\tconst imageData = context.getImageData( 0, 0, image.width, image.height );\n\t\t\tconst data = imageData.data;\n\n\t\t\tfor ( let i = 0; i < data.length; i ++ ) {\n\n\t\t\t\tdata[ i ] = SRGBToLinear( data[ i ] / 255 ) * 255;\n\n\t\t\t}\n\n\t\t\tcontext.putImageData( imageData, 0, 0 );\n\n\t\t\treturn canvas;\n\n\t\t} else if ( image.data ) {\n\n\t\t\tconst data = image.data.slice( 0 );\n\n\t\t\tfor ( let i = 0; i < data.length; i ++ ) {\n\n\t\t\t\tif ( data instanceof Uint8Array || data instanceof Uint8ClampedArray ) {\n\n\t\t\t\t\tdata[ i ] = Math.floor( SRGBToLinear( data[ i ] / 255 ) * 255 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// assuming float\n\n\t\t\t\t\tdata[ i ] = SRGBToLinear( data[ i ] );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tdata: data,\n\t\t\t\twidth: image.width,\n\t\t\t\theight: image.height\n\t\t\t};\n\n\t\t} else {\n\n\t\t\tconsole.warn( 'THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied.' );\n\t\t\treturn image;\n\n\t\t}\n\n\t}\n\n}\n\nclass Source {\n\n\tconstructor( data = null ) {\n\n\t\tthis.isSource = true;\n\n\t\tthis.uuid = generateUUID();\n\n\t\tthis.data = data;\n\n\t\tthis.version = 0;\n\n\t}\n\n\tset needsUpdate( value ) {\n\n\t\tif ( value === true ) this.version ++;\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst isRootObject = ( meta === undefined || typeof meta === 'string' );\n\n\t\tif ( ! isRootObject && meta.images[ this.uuid ] !== undefined ) {\n\n\t\t\treturn meta.images[ this.uuid ];\n\n\t\t}\n\n\t\tconst output = {\n\t\t\tuuid: this.uuid,\n\t\t\turl: ''\n\t\t};\n\n\t\tconst data = this.data;\n\n\t\tif ( data !== null ) {\n\n\t\t\tlet url;\n\n\t\t\tif ( Array.isArray( data ) ) {\n\n\t\t\t\t// cube texture\n\n\t\t\t\turl = [];\n\n\t\t\t\tfor ( let i = 0, l = data.length; i < l; i ++ ) {\n\n\t\t\t\t\tif ( data[ i ].isDataTexture ) {\n\n\t\t\t\t\t\turl.push( serializeImage( data[ i ].image ) );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\turl.push( serializeImage( data[ i ] ) );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\t// texture\n\n\t\t\t\turl = serializeImage( data );\n\n\t\t\t}\n\n\t\t\toutput.url = url;\n\n\t\t}\n\n\t\tif ( ! isRootObject ) {\n\n\t\t\tmeta.images[ this.uuid ] = output;\n\n\t\t}\n\n\t\treturn output;\n\n\t}\n\n}\n\nfunction serializeImage( image ) {\n\n\tif ( ( typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement ) ||\n\t\t( typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement ) ||\n\t\t( typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap ) ) {\n\n\t\t// default images\n\n\t\treturn ImageUtils.getDataURL( image );\n\n\t} else {\n\n\t\tif ( image.data ) {\n\n\t\t\t// images of DataTexture\n\n\t\t\treturn {\n\t\t\t\tdata: Array.from( image.data ),\n\t\t\t\twidth: image.width,\n\t\t\t\theight: image.height,\n\t\t\t\ttype: image.data.constructor.name\n\t\t\t};\n\n\t\t} else {\n\n\t\t\tconsole.warn( 'THREE.Texture: Unable to serialize Texture.' );\n\t\t\treturn {};\n\n\t\t}\n\n\t}\n\n}\n\nlet textureId = 0;\n\nclass Texture extends EventDispatcher {\n\n\tconstructor( image = Texture.DEFAULT_IMAGE, mapping = Texture.DEFAULT_MAPPING, wrapS = ClampToEdgeWrapping, wrapT = ClampToEdgeWrapping, magFilter = LinearFilter, minFilter = LinearMipmapLinearFilter, format = RGBAFormat, type = UnsignedByteType, anisotropy = 1, encoding = LinearEncoding ) {\n\n\t\tsuper();\n\n\t\tthis.isTexture = true;\n\n\t\tObject.defineProperty( this, 'id', { value: textureId ++ } );\n\n\t\tthis.uuid = generateUUID();\n\n\t\tthis.name = '';\n\n\t\tthis.source = new Source( image );\n\t\tthis.mipmaps = [];\n\n\t\tthis.mapping = mapping;\n\n\t\tthis.wrapS = wrapS;\n\t\tthis.wrapT = wrapT;\n\n\t\tthis.magFilter = magFilter;\n\t\tthis.minFilter = minFilter;\n\n\t\tthis.anisotropy = anisotropy;\n\n\t\tthis.format = format;\n\t\tthis.internalFormat = null;\n\t\tthis.type = type;\n\n\t\tthis.offset = new Vector2( 0, 0 );\n\t\tthis.repeat = new Vector2( 1, 1 );\n\t\tthis.center = new Vector2( 0, 0 );\n\t\tthis.rotation = 0;\n\n\t\tthis.matrixAutoUpdate = true;\n\t\tthis.matrix = new Matrix3();\n\n\t\tthis.generateMipmaps = true;\n\t\tthis.premultiplyAlpha = false;\n\t\tthis.flipY = true;\n\t\tthis.unpackAlignment = 4;\t// valid values: 1, 2, 4, 8 (see http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml)\n\n\t\t// Values of encoding !== THREE.LinearEncoding only supported on map, envMap and emissiveMap.\n\t\t//\n\t\t// Also changing the encoding after already used by a Material will not automatically make the Material\n\t\t// update. You need to explicitly call Material.needsUpdate to trigger it to recompile.\n\t\tthis.encoding = encoding;\n\n\t\tthis.userData = {};\n\n\t\tthis.version = 0;\n\t\tthis.onUpdate = null;\n\n\t\tthis.isRenderTargetTexture = false; // indicates whether a texture belongs to a render target or not\n\t\tthis.needsPMREMUpdate = false; // indicates whether this texture should be processed by PMREMGenerator or not (only relevant for render target textures)\n\n\t}\n\n\tget image() {\n\n\t\treturn this.source.data;\n\n\t}\n\n\tset image( value ) {\n\n\t\tthis.source.data = value;\n\n\t}\n\n\tupdateMatrix() {\n\n\t\tthis.matrix.setUvTransform( this.offset.x, this.offset.y, this.repeat.x, this.repeat.y, this.rotation, this.center.x, this.center.y );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.name = source.name;\n\n\t\tthis.source = source.source;\n\t\tthis.mipmaps = source.mipmaps.slice( 0 );\n\n\t\tthis.mapping = source.mapping;\n\n\t\tthis.wrapS = source.wrapS;\n\t\tthis.wrapT = source.wrapT;\n\n\t\tthis.magFilter = source.magFilter;\n\t\tthis.minFilter = source.minFilter;\n\n\t\tthis.anisotropy = source.anisotropy;\n\n\t\tthis.format = source.format;\n\t\tthis.internalFormat = source.internalFormat;\n\t\tthis.type = source.type;\n\n\t\tthis.offset.copy( source.offset );\n\t\tthis.repeat.copy( source.repeat );\n\t\tthis.center.copy( source.center );\n\t\tthis.rotation = source.rotation;\n\n\t\tthis.matrixAutoUpdate = source.matrixAutoUpdate;\n\t\tthis.matrix.copy( source.matrix );\n\n\t\tthis.generateMipmaps = source.generateMipmaps;\n\t\tthis.premultiplyAlpha = source.premultiplyAlpha;\n\t\tthis.flipY = source.flipY;\n\t\tthis.unpackAlignment = source.unpackAlignment;\n\t\tthis.encoding = source.encoding;\n\n\t\tthis.userData = JSON.parse( JSON.stringify( source.userData ) );\n\n\t\tthis.needsUpdate = true;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst isRootObject = ( meta === undefined || typeof meta === 'string' );\n\n\t\tif ( ! isRootObject && meta.textures[ this.uuid ] !== undefined ) {\n\n\t\t\treturn meta.textures[ this.uuid ];\n\n\t\t}\n\n\t\tconst output = {\n\n\t\t\tmetadata: {\n\t\t\t\tversion: 4.5,\n\t\t\t\ttype: 'Texture',\n\t\t\t\tgenerator: 'Texture.toJSON'\n\t\t\t},\n\n\t\t\tuuid: this.uuid,\n\t\t\tname: this.name,\n\n\t\t\timage: this.source.toJSON( meta ).uuid,\n\n\t\t\tmapping: this.mapping,\n\n\t\t\trepeat: [ this.repeat.x, this.repeat.y ],\n\t\t\toffset: [ this.offset.x, this.offset.y ],\n\t\t\tcenter: [ this.center.x, this.center.y ],\n\t\t\trotation: this.rotation,\n\n\t\t\twrap: [ this.wrapS, this.wrapT ],\n\n\t\t\tformat: this.format,\n\t\t\ttype: this.type,\n\t\t\tencoding: this.encoding,\n\n\t\t\tminFilter: this.minFilter,\n\t\t\tmagFilter: this.magFilter,\n\t\t\tanisotropy: this.anisotropy,\n\n\t\t\tflipY: this.flipY,\n\n\t\t\tpremultiplyAlpha: this.premultiplyAlpha,\n\t\t\tunpackAlignment: this.unpackAlignment\n\n\t\t};\n\n\t\tif ( JSON.stringify( this.userData ) !== '{}' ) output.userData = this.userData;\n\n\t\tif ( ! isRootObject ) {\n\n\t\t\tmeta.textures[ this.uuid ] = output;\n\n\t\t}\n\n\t\treturn output;\n\n\t}\n\n\tdispose() {\n\n\t\tthis.dispatchEvent( { type: 'dispose' } );\n\n\t}\n\n\ttransformUv( uv ) {\n\n\t\tif ( this.mapping !== UVMapping ) return uv;\n\n\t\tuv.applyMatrix3( this.matrix );\n\n\t\tif ( uv.x < 0 || uv.x > 1 ) {\n\n\t\t\tswitch ( this.wrapS ) {\n\n\t\t\t\tcase RepeatWrapping:\n\n\t\t\t\t\tuv.x = uv.x - Math.floor( uv.x );\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase ClampToEdgeWrapping:\n\n\t\t\t\t\tuv.x = uv.x < 0 ? 0 : 1;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MirroredRepeatWrapping:\n\n\t\t\t\t\tif ( Math.abs( Math.floor( uv.x ) % 2 ) === 1 ) {\n\n\t\t\t\t\t\tuv.x = Math.ceil( uv.x ) - uv.x;\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tuv.x = uv.x - Math.floor( uv.x );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( uv.y < 0 || uv.y > 1 ) {\n\n\t\t\tswitch ( this.wrapT ) {\n\n\t\t\t\tcase RepeatWrapping:\n\n\t\t\t\t\tuv.y = uv.y - Math.floor( uv.y );\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase ClampToEdgeWrapping:\n\n\t\t\t\t\tuv.y = uv.y < 0 ? 0 : 1;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MirroredRepeatWrapping:\n\n\t\t\t\t\tif ( Math.abs( Math.floor( uv.y ) % 2 ) === 1 ) {\n\n\t\t\t\t\t\tuv.y = Math.ceil( uv.y ) - uv.y;\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tuv.y = uv.y - Math.floor( uv.y );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( this.flipY ) {\n\n\t\t\tuv.y = 1 - uv.y;\n\n\t\t}\n\n\t\treturn uv;\n\n\t}\n\n\tset needsUpdate( value ) {\n\n\t\tif ( value === true ) {\n\n\t\t\tthis.version ++;\n\t\t\tthis.source.needsUpdate = true;\n\n\t\t}\n\n\t}\n\n}\n\nTexture.DEFAULT_IMAGE = null;\nTexture.DEFAULT_MAPPING = UVMapping;\n\nclass Vector4 {\n\n\tconstructor( x = 0, y = 0, z = 0, w = 1 ) {\n\n\t\tVector4.prototype.isVector4 = true;\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\t\tthis.z = z;\n\t\tthis.w = w;\n\n\t}\n\n\tget width() {\n\n\t\treturn this.z;\n\n\t}\n\n\tset width( value ) {\n\n\t\tthis.z = value;\n\n\t}\n\n\tget height() {\n\n\t\treturn this.w;\n\n\t}\n\n\tset height( value ) {\n\n\t\tthis.w = value;\n\n\t}\n\n\tset( x, y, z, w ) {\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\t\tthis.z = z;\n\t\tthis.w = w;\n\n\t\treturn this;\n\n\t}\n\n\tsetScalar( scalar ) {\n\n\t\tthis.x = scalar;\n\t\tthis.y = scalar;\n\t\tthis.z = scalar;\n\t\tthis.w = scalar;\n\n\t\treturn this;\n\n\t}\n\n\tsetX( x ) {\n\n\t\tthis.x = x;\n\n\t\treturn this;\n\n\t}\n\n\tsetY( y ) {\n\n\t\tthis.y = y;\n\n\t\treturn this;\n\n\t}\n\n\tsetZ( z ) {\n\n\t\tthis.z = z;\n\n\t\treturn this;\n\n\t}\n\n\tsetW( w ) {\n\n\t\tthis.w = w;\n\n\t\treturn this;\n\n\t}\n\n\tsetComponent( index, value ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: this.x = value; break;\n\t\t\tcase 1: this.y = value; break;\n\t\t\tcase 2: this.z = value; break;\n\t\t\tcase 3: this.w = value; break;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tgetComponent( index ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: return this.x;\n\t\t\tcase 1: return this.y;\n\t\t\tcase 2: return this.z;\n\t\t\tcase 3: return this.w;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this.x, this.y, this.z, this.w );\n\n\t}\n\n\tcopy( v ) {\n\n\t\tthis.x = v.x;\n\t\tthis.y = v.y;\n\t\tthis.z = v.z;\n\t\tthis.w = ( v.w !== undefined ) ? v.w : 1;\n\n\t\treturn this;\n\n\t}\n\n\tadd( v ) {\n\n\t\tthis.x += v.x;\n\t\tthis.y += v.y;\n\t\tthis.z += v.z;\n\t\tthis.w += v.w;\n\n\t\treturn this;\n\n\t}\n\n\taddScalar( s ) {\n\n\t\tthis.x += s;\n\t\tthis.y += s;\n\t\tthis.z += s;\n\t\tthis.w += s;\n\n\t\treturn this;\n\n\t}\n\n\taddVectors( a, b ) {\n\n\t\tthis.x = a.x + b.x;\n\t\tthis.y = a.y + b.y;\n\t\tthis.z = a.z + b.z;\n\t\tthis.w = a.w + b.w;\n\n\t\treturn this;\n\n\t}\n\n\taddScaledVector( v, s ) {\n\n\t\tthis.x += v.x * s;\n\t\tthis.y += v.y * s;\n\t\tthis.z += v.z * s;\n\t\tthis.w += v.w * s;\n\n\t\treturn this;\n\n\t}\n\n\tsub( v ) {\n\n\t\tthis.x -= v.x;\n\t\tthis.y -= v.y;\n\t\tthis.z -= v.z;\n\t\tthis.w -= v.w;\n\n\t\treturn this;\n\n\t}\n\n\tsubScalar( s ) {\n\n\t\tthis.x -= s;\n\t\tthis.y -= s;\n\t\tthis.z -= s;\n\t\tthis.w -= s;\n\n\t\treturn this;\n\n\t}\n\n\tsubVectors( a, b ) {\n\n\t\tthis.x = a.x - b.x;\n\t\tthis.y = a.y - b.y;\n\t\tthis.z = a.z - b.z;\n\t\tthis.w = a.w - b.w;\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( v ) {\n\n\t\tthis.x *= v.x;\n\t\tthis.y *= v.y;\n\t\tthis.z *= v.z;\n\t\tthis.w *= v.w;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyScalar( scalar ) {\n\n\t\tthis.x *= scalar;\n\t\tthis.y *= scalar;\n\t\tthis.z *= scalar;\n\t\tthis.w *= scalar;\n\n\t\treturn this;\n\n\t}\n\n\tapplyMatrix4( m ) {\n\n\t\tconst x = this.x, y = this.y, z = this.z, w = this.w;\n\t\tconst e = m.elements;\n\n\t\tthis.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z + e[ 12 ] * w;\n\t\tthis.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z + e[ 13 ] * w;\n\t\tthis.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z + e[ 14 ] * w;\n\t\tthis.w = e[ 3 ] * x + e[ 7 ] * y + e[ 11 ] * z + e[ 15 ] * w;\n\n\t\treturn this;\n\n\t}\n\n\tdivideScalar( scalar ) {\n\n\t\treturn this.multiplyScalar( 1 / scalar );\n\n\t}\n\n\tsetAxisAngleFromQuaternion( q ) {\n\n\t\t// http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToAngle/index.htm\n\n\t\t// q is assumed to be normalized\n\n\t\tthis.w = 2 * Math.acos( q.w );\n\n\t\tconst s = Math.sqrt( 1 - q.w * q.w );\n\n\t\tif ( s < 0.0001 ) {\n\n\t\t\tthis.x = 1;\n\t\t\tthis.y = 0;\n\t\t\tthis.z = 0;\n\n\t\t} else {\n\n\t\t\tthis.x = q.x / s;\n\t\t\tthis.y = q.y / s;\n\t\t\tthis.z = q.z / s;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetAxisAngleFromRotationMatrix( m ) {\n\n\t\t// http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToAngle/index.htm\n\n\t\t// assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)\n\n\t\tlet angle, x, y, z; // variables for result\n\t\tconst epsilon = 0.01,\t\t// margin to allow for rounding errors\n\t\t\tepsilon2 = 0.1,\t\t// margin to distinguish between 0 and 180 degrees\n\n\t\t\tte = m.elements,\n\n\t\t\tm11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ],\n\t\t\tm21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ],\n\t\t\tm31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ];\n\n\t\tif ( ( Math.abs( m12 - m21 ) < epsilon ) &&\n\t\t ( Math.abs( m13 - m31 ) < epsilon ) &&\n\t\t ( Math.abs( m23 - m32 ) < epsilon ) ) {\n\n\t\t\t// singularity found\n\t\t\t// first check for identity matrix which must have +1 for all terms\n\t\t\t// in leading diagonal and zero in other terms\n\n\t\t\tif ( ( Math.abs( m12 + m21 ) < epsilon2 ) &&\n\t\t\t ( Math.abs( m13 + m31 ) < epsilon2 ) &&\n\t\t\t ( Math.abs( m23 + m32 ) < epsilon2 ) &&\n\t\t\t ( Math.abs( m11 + m22 + m33 - 3 ) < epsilon2 ) ) {\n\n\t\t\t\t// this singularity is identity matrix so angle = 0\n\n\t\t\t\tthis.set( 1, 0, 0, 0 );\n\n\t\t\t\treturn this; // zero angle, arbitrary axis\n\n\t\t\t}\n\n\t\t\t// otherwise this singularity is angle = 180\n\n\t\t\tangle = Math.PI;\n\n\t\t\tconst xx = ( m11 + 1 ) / 2;\n\t\t\tconst yy = ( m22 + 1 ) / 2;\n\t\t\tconst zz = ( m33 + 1 ) / 2;\n\t\t\tconst xy = ( m12 + m21 ) / 4;\n\t\t\tconst xz = ( m13 + m31 ) / 4;\n\t\t\tconst yz = ( m23 + m32 ) / 4;\n\n\t\t\tif ( ( xx > yy ) && ( xx > zz ) ) {\n\n\t\t\t\t// m11 is the largest diagonal term\n\n\t\t\t\tif ( xx < epsilon ) {\n\n\t\t\t\t\tx = 0;\n\t\t\t\t\ty = 0.707106781;\n\t\t\t\t\tz = 0.707106781;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tx = Math.sqrt( xx );\n\t\t\t\t\ty = xy / x;\n\t\t\t\t\tz = xz / x;\n\n\t\t\t\t}\n\n\t\t\t} else if ( yy > zz ) {\n\n\t\t\t\t// m22 is the largest diagonal term\n\n\t\t\t\tif ( yy < epsilon ) {\n\n\t\t\t\t\tx = 0.707106781;\n\t\t\t\t\ty = 0;\n\t\t\t\t\tz = 0.707106781;\n\n\t\t\t\t} else {\n\n\t\t\t\t\ty = Math.sqrt( yy );\n\t\t\t\t\tx = xy / y;\n\t\t\t\t\tz = yz / y;\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\t// m33 is the largest diagonal term so base result on this\n\n\t\t\t\tif ( zz < epsilon ) {\n\n\t\t\t\t\tx = 0.707106781;\n\t\t\t\t\ty = 0.707106781;\n\t\t\t\t\tz = 0;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tz = Math.sqrt( zz );\n\t\t\t\t\tx = xz / z;\n\t\t\t\t\ty = yz / z;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis.set( x, y, z, angle );\n\n\t\t\treturn this; // return 180 deg rotation\n\n\t\t}\n\n\t\t// as we have reached here there are no singularities so we can handle normally\n\n\t\tlet s = Math.sqrt( ( m32 - m23 ) * ( m32 - m23 ) +\n\t\t\t( m13 - m31 ) * ( m13 - m31 ) +\n\t\t\t( m21 - m12 ) * ( m21 - m12 ) ); // used to normalize\n\n\t\tif ( Math.abs( s ) < 0.001 ) s = 1;\n\n\t\t// prevent divide by zero, should not happen if matrix is orthogonal and should be\n\t\t// caught by singularity test above, but I've left it in just in case\n\n\t\tthis.x = ( m32 - m23 ) / s;\n\t\tthis.y = ( m13 - m31 ) / s;\n\t\tthis.z = ( m21 - m12 ) / s;\n\t\tthis.w = Math.acos( ( m11 + m22 + m33 - 1 ) / 2 );\n\n\t\treturn this;\n\n\t}\n\n\tmin( v ) {\n\n\t\tthis.x = Math.min( this.x, v.x );\n\t\tthis.y = Math.min( this.y, v.y );\n\t\tthis.z = Math.min( this.z, v.z );\n\t\tthis.w = Math.min( this.w, v.w );\n\n\t\treturn this;\n\n\t}\n\n\tmax( v ) {\n\n\t\tthis.x = Math.max( this.x, v.x );\n\t\tthis.y = Math.max( this.y, v.y );\n\t\tthis.z = Math.max( this.z, v.z );\n\t\tthis.w = Math.max( this.w, v.w );\n\n\t\treturn this;\n\n\t}\n\n\tclamp( min, max ) {\n\n\t\t// assumes min < max, componentwise\n\n\t\tthis.x = Math.max( min.x, Math.min( max.x, this.x ) );\n\t\tthis.y = Math.max( min.y, Math.min( max.y, this.y ) );\n\t\tthis.z = Math.max( min.z, Math.min( max.z, this.z ) );\n\t\tthis.w = Math.max( min.w, Math.min( max.w, this.w ) );\n\n\t\treturn this;\n\n\t}\n\n\tclampScalar( minVal, maxVal ) {\n\n\t\tthis.x = Math.max( minVal, Math.min( maxVal, this.x ) );\n\t\tthis.y = Math.max( minVal, Math.min( maxVal, this.y ) );\n\t\tthis.z = Math.max( minVal, Math.min( maxVal, this.z ) );\n\t\tthis.w = Math.max( minVal, Math.min( maxVal, this.w ) );\n\n\t\treturn this;\n\n\t}\n\n\tclampLength( min, max ) {\n\n\t\tconst length = this.length();\n\n\t\treturn this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) );\n\n\t}\n\n\tfloor() {\n\n\t\tthis.x = Math.floor( this.x );\n\t\tthis.y = Math.floor( this.y );\n\t\tthis.z = Math.floor( this.z );\n\t\tthis.w = Math.floor( this.w );\n\n\t\treturn this;\n\n\t}\n\n\tceil() {\n\n\t\tthis.x = Math.ceil( this.x );\n\t\tthis.y = Math.ceil( this.y );\n\t\tthis.z = Math.ceil( this.z );\n\t\tthis.w = Math.ceil( this.w );\n\n\t\treturn this;\n\n\t}\n\n\tround() {\n\n\t\tthis.x = Math.round( this.x );\n\t\tthis.y = Math.round( this.y );\n\t\tthis.z = Math.round( this.z );\n\t\tthis.w = Math.round( this.w );\n\n\t\treturn this;\n\n\t}\n\n\troundToZero() {\n\n\t\tthis.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x );\n\t\tthis.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y );\n\t\tthis.z = ( this.z < 0 ) ? Math.ceil( this.z ) : Math.floor( this.z );\n\t\tthis.w = ( this.w < 0 ) ? Math.ceil( this.w ) : Math.floor( this.w );\n\n\t\treturn this;\n\n\t}\n\n\tnegate() {\n\n\t\tthis.x = - this.x;\n\t\tthis.y = - this.y;\n\t\tthis.z = - this.z;\n\t\tthis.w = - this.w;\n\n\t\treturn this;\n\n\t}\n\n\tdot( v ) {\n\n\t\treturn this.x * v.x + this.y * v.y + this.z * v.z + this.w * v.w;\n\n\t}\n\n\tlengthSq() {\n\n\t\treturn this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w;\n\n\t}\n\n\tlength() {\n\n\t\treturn Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w );\n\n\t}\n\n\tmanhattanLength() {\n\n\t\treturn Math.abs( this.x ) + Math.abs( this.y ) + Math.abs( this.z ) + Math.abs( this.w );\n\n\t}\n\n\tnormalize() {\n\n\t\treturn this.divideScalar( this.length() || 1 );\n\n\t}\n\n\tsetLength( length ) {\n\n\t\treturn this.normalize().multiplyScalar( length );\n\n\t}\n\n\tlerp( v, alpha ) {\n\n\t\tthis.x += ( v.x - this.x ) * alpha;\n\t\tthis.y += ( v.y - this.y ) * alpha;\n\t\tthis.z += ( v.z - this.z ) * alpha;\n\t\tthis.w += ( v.w - this.w ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tlerpVectors( v1, v2, alpha ) {\n\n\t\tthis.x = v1.x + ( v2.x - v1.x ) * alpha;\n\t\tthis.y = v1.y + ( v2.y - v1.y ) * alpha;\n\t\tthis.z = v1.z + ( v2.z - v1.z ) * alpha;\n\t\tthis.w = v1.w + ( v2.w - v1.w ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tequals( v ) {\n\n\t\treturn ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) && ( v.w === this.w ) );\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tthis.x = array[ offset ];\n\t\tthis.y = array[ offset + 1 ];\n\t\tthis.z = array[ offset + 2 ];\n\t\tthis.w = array[ offset + 3 ];\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tarray[ offset ] = this.x;\n\t\tarray[ offset + 1 ] = this.y;\n\t\tarray[ offset + 2 ] = this.z;\n\t\tarray[ offset + 3 ] = this.w;\n\n\t\treturn array;\n\n\t}\n\n\tfromBufferAttribute( attribute, index ) {\n\n\t\tthis.x = attribute.getX( index );\n\t\tthis.y = attribute.getY( index );\n\t\tthis.z = attribute.getZ( index );\n\t\tthis.w = attribute.getW( index );\n\n\t\treturn this;\n\n\t}\n\n\trandom() {\n\n\t\tthis.x = Math.random();\n\t\tthis.y = Math.random();\n\t\tthis.z = Math.random();\n\t\tthis.w = Math.random();\n\n\t\treturn this;\n\n\t}\n\n\t*[ Symbol.iterator ]() {\n\n\t\tyield this.x;\n\t\tyield this.y;\n\t\tyield this.z;\n\t\tyield this.w;\n\n\t}\n\n}\n\n/*\n In options, we can specify:\n * Texture parameters for an auto-generated target texture\n * depthBuffer/stencilBuffer: Booleans to indicate if we should generate these buffers\n*/\nclass WebGLRenderTarget extends EventDispatcher {\n\n\tconstructor( width, height, options = {} ) {\n\n\t\tsuper();\n\n\t\tthis.isWebGLRenderTarget = true;\n\n\t\tthis.width = width;\n\t\tthis.height = height;\n\t\tthis.depth = 1;\n\n\t\tthis.scissor = new Vector4( 0, 0, width, height );\n\t\tthis.scissorTest = false;\n\n\t\tthis.viewport = new Vector4( 0, 0, width, height );\n\n\t\tconst image = { width: width, height: height, depth: 1 };\n\n\t\tthis.texture = new Texture( image, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding );\n\t\tthis.texture.isRenderTargetTexture = true;\n\n\t\tthis.texture.flipY = false;\n\t\tthis.texture.generateMipmaps = options.generateMipmaps !== undefined ? options.generateMipmaps : false;\n\t\tthis.texture.internalFormat = options.internalFormat !== undefined ? options.internalFormat : null;\n\t\tthis.texture.minFilter = options.minFilter !== undefined ? options.minFilter : LinearFilter;\n\n\t\tthis.depthBuffer = options.depthBuffer !== undefined ? options.depthBuffer : true;\n\t\tthis.stencilBuffer = options.stencilBuffer !== undefined ? options.stencilBuffer : false;\n\n\t\tthis.depthTexture = options.depthTexture !== undefined ? options.depthTexture : null;\n\n\t\tthis.samples = options.samples !== undefined ? options.samples : 0;\n\n\t}\n\n\tsetSize( width, height, depth = 1 ) {\n\n\t\tif ( this.width !== width || this.height !== height || this.depth !== depth ) {\n\n\t\t\tthis.width = width;\n\t\t\tthis.height = height;\n\t\t\tthis.depth = depth;\n\n\t\t\tthis.texture.image.width = width;\n\t\t\tthis.texture.image.height = height;\n\t\t\tthis.texture.image.depth = depth;\n\n\t\t\tthis.dispose();\n\n\t\t}\n\n\t\tthis.viewport.set( 0, 0, width, height );\n\t\tthis.scissor.set( 0, 0, width, height );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.width = source.width;\n\t\tthis.height = source.height;\n\t\tthis.depth = source.depth;\n\n\t\tthis.viewport.copy( source.viewport );\n\n\t\tthis.texture = source.texture.clone();\n\t\tthis.texture.isRenderTargetTexture = true;\n\n\t\t// ensure image object is not shared, see #20328\n\n\t\tconst image = Object.assign( {}, source.texture.image );\n\t\tthis.texture.source = new Source( image );\n\n\t\tthis.depthBuffer = source.depthBuffer;\n\t\tthis.stencilBuffer = source.stencilBuffer;\n\n\t\tif ( source.depthTexture !== null ) this.depthTexture = source.depthTexture.clone();\n\n\t\tthis.samples = source.samples;\n\n\t\treturn this;\n\n\t}\n\n\tdispose() {\n\n\t\tthis.dispatchEvent( { type: 'dispose' } );\n\n\t}\n\n}\n\nclass DataArrayTexture extends Texture {\n\n\tconstructor( data = null, width = 1, height = 1, depth = 1 ) {\n\n\t\tsuper( null );\n\n\t\tthis.isDataArrayTexture = true;\n\n\t\tthis.image = { data, width, height, depth };\n\n\t\tthis.magFilter = NearestFilter;\n\t\tthis.minFilter = NearestFilter;\n\n\t\tthis.wrapR = ClampToEdgeWrapping;\n\n\t\tthis.generateMipmaps = false;\n\t\tthis.flipY = false;\n\t\tthis.unpackAlignment = 1;\n\n\t}\n\n}\n\nclass WebGLArrayRenderTarget extends WebGLRenderTarget {\n\n\tconstructor( width, height, depth ) {\n\n\t\tsuper( width, height );\n\n\t\tthis.isWebGLArrayRenderTarget = true;\n\n\t\tthis.depth = depth;\n\n\t\tthis.texture = new DataArrayTexture( null, width, height, depth );\n\n\t\tthis.texture.isRenderTargetTexture = true;\n\n\t}\n\n}\n\nclass Data3DTexture extends Texture {\n\n\tconstructor( data = null, width = 1, height = 1, depth = 1 ) {\n\n\t\t// We're going to add .setXXX() methods for setting properties later.\n\t\t// Users can still set in DataTexture3D directly.\n\t\t//\n\t\t//\tconst texture = new THREE.DataTexture3D( data, width, height, depth );\n\t\t// \ttexture.anisotropy = 16;\n\t\t//\n\t\t// See #14839\n\n\t\tsuper( null );\n\n\t\tthis.isData3DTexture = true;\n\n\t\tthis.image = { data, width, height, depth };\n\n\t\tthis.magFilter = NearestFilter;\n\t\tthis.minFilter = NearestFilter;\n\n\t\tthis.wrapR = ClampToEdgeWrapping;\n\n\t\tthis.generateMipmaps = false;\n\t\tthis.flipY = false;\n\t\tthis.unpackAlignment = 1;\n\n\t}\n\n}\n\nclass WebGL3DRenderTarget extends WebGLRenderTarget {\n\n\tconstructor( width, height, depth ) {\n\n\t\tsuper( width, height );\n\n\t\tthis.isWebGL3DRenderTarget = true;\n\n\t\tthis.depth = depth;\n\n\t\tthis.texture = new Data3DTexture( null, width, height, depth );\n\n\t\tthis.texture.isRenderTargetTexture = true;\n\n\t}\n\n}\n\nclass WebGLMultipleRenderTargets extends WebGLRenderTarget {\n\n\tconstructor( width, height, count, options = {} ) {\n\n\t\tsuper( width, height, options );\n\n\t\tthis.isWebGLMultipleRenderTargets = true;\n\n\t\tconst texture = this.texture;\n\n\t\tthis.texture = [];\n\n\t\tfor ( let i = 0; i < count; i ++ ) {\n\n\t\t\tthis.texture[ i ] = texture.clone();\n\t\t\tthis.texture[ i ].isRenderTargetTexture = true;\n\n\t\t}\n\n\t}\n\n\tsetSize( width, height, depth = 1 ) {\n\n\t\tif ( this.width !== width || this.height !== height || this.depth !== depth ) {\n\n\t\t\tthis.width = width;\n\t\t\tthis.height = height;\n\t\t\tthis.depth = depth;\n\n\t\t\tfor ( let i = 0, il = this.texture.length; i < il; i ++ ) {\n\n\t\t\t\tthis.texture[ i ].image.width = width;\n\t\t\t\tthis.texture[ i ].image.height = height;\n\t\t\t\tthis.texture[ i ].image.depth = depth;\n\n\t\t\t}\n\n\t\t\tthis.dispose();\n\n\t\t}\n\n\t\tthis.viewport.set( 0, 0, width, height );\n\t\tthis.scissor.set( 0, 0, width, height );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.dispose();\n\n\t\tthis.width = source.width;\n\t\tthis.height = source.height;\n\t\tthis.depth = source.depth;\n\n\t\tthis.viewport.set( 0, 0, this.width, this.height );\n\t\tthis.scissor.set( 0, 0, this.width, this.height );\n\n\t\tthis.depthBuffer = source.depthBuffer;\n\t\tthis.stencilBuffer = source.stencilBuffer;\n\n\t\tif ( source.depthTexture !== null ) this.depthTexture = source.depthTexture.clone();\n\n\t\tthis.texture.length = 0;\n\n\t\tfor ( let i = 0, il = source.texture.length; i < il; i ++ ) {\n\n\t\t\tthis.texture[ i ] = source.texture[ i ].clone();\n\t\t\tthis.texture[ i ].isRenderTargetTexture = true;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass Quaternion {\n\n\tconstructor( x = 0, y = 0, z = 0, w = 1 ) {\n\n\t\tthis.isQuaternion = true;\n\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._z = z;\n\t\tthis._w = w;\n\n\t}\n\n\tstatic slerpFlat( dst, dstOffset, src0, srcOffset0, src1, srcOffset1, t ) {\n\n\t\t// fuzz-free, array-based Quaternion SLERP operation\n\n\t\tlet x0 = src0[ srcOffset0 + 0 ],\n\t\t\ty0 = src0[ srcOffset0 + 1 ],\n\t\t\tz0 = src0[ srcOffset0 + 2 ],\n\t\t\tw0 = src0[ srcOffset0 + 3 ];\n\n\t\tconst x1 = src1[ srcOffset1 + 0 ],\n\t\t\ty1 = src1[ srcOffset1 + 1 ],\n\t\t\tz1 = src1[ srcOffset1 + 2 ],\n\t\t\tw1 = src1[ srcOffset1 + 3 ];\n\n\t\tif ( t === 0 ) {\n\n\t\t\tdst[ dstOffset + 0 ] = x0;\n\t\t\tdst[ dstOffset + 1 ] = y0;\n\t\t\tdst[ dstOffset + 2 ] = z0;\n\t\t\tdst[ dstOffset + 3 ] = w0;\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( t === 1 ) {\n\n\t\t\tdst[ dstOffset + 0 ] = x1;\n\t\t\tdst[ dstOffset + 1 ] = y1;\n\t\t\tdst[ dstOffset + 2 ] = z1;\n\t\t\tdst[ dstOffset + 3 ] = w1;\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1 ) {\n\n\t\t\tlet s = 1 - t;\n\t\t\tconst cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1,\n\t\t\t\tdir = ( cos >= 0 ? 1 : - 1 ),\n\t\t\t\tsqrSin = 1 - cos * cos;\n\n\t\t\t// Skip the Slerp for tiny steps to avoid numeric problems:\n\t\t\tif ( sqrSin > Number.EPSILON ) {\n\n\t\t\t\tconst sin = Math.sqrt( sqrSin ),\n\t\t\t\t\tlen = Math.atan2( sin, cos * dir );\n\n\t\t\t\ts = Math.sin( s * len ) / sin;\n\t\t\t\tt = Math.sin( t * len ) / sin;\n\n\t\t\t}\n\n\t\t\tconst tDir = t * dir;\n\n\t\t\tx0 = x0 * s + x1 * tDir;\n\t\t\ty0 = y0 * s + y1 * tDir;\n\t\t\tz0 = z0 * s + z1 * tDir;\n\t\t\tw0 = w0 * s + w1 * tDir;\n\n\t\t\t// Normalize in case we just did a lerp:\n\t\t\tif ( s === 1 - t ) {\n\n\t\t\t\tconst f = 1 / Math.sqrt( x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0 );\n\n\t\t\t\tx0 *= f;\n\t\t\t\ty0 *= f;\n\t\t\t\tz0 *= f;\n\t\t\t\tw0 *= f;\n\n\t\t\t}\n\n\t\t}\n\n\t\tdst[ dstOffset ] = x0;\n\t\tdst[ dstOffset + 1 ] = y0;\n\t\tdst[ dstOffset + 2 ] = z0;\n\t\tdst[ dstOffset + 3 ] = w0;\n\n\t}\n\n\tstatic multiplyQuaternionsFlat( dst, dstOffset, src0, srcOffset0, src1, srcOffset1 ) {\n\n\t\tconst x0 = src0[ srcOffset0 ];\n\t\tconst y0 = src0[ srcOffset0 + 1 ];\n\t\tconst z0 = src0[ srcOffset0 + 2 ];\n\t\tconst w0 = src0[ srcOffset0 + 3 ];\n\n\t\tconst x1 = src1[ srcOffset1 ];\n\t\tconst y1 = src1[ srcOffset1 + 1 ];\n\t\tconst z1 = src1[ srcOffset1 + 2 ];\n\t\tconst w1 = src1[ srcOffset1 + 3 ];\n\n\t\tdst[ dstOffset ] = x0 * w1 + w0 * x1 + y0 * z1 - z0 * y1;\n\t\tdst[ dstOffset + 1 ] = y0 * w1 + w0 * y1 + z0 * x1 - x0 * z1;\n\t\tdst[ dstOffset + 2 ] = z0 * w1 + w0 * z1 + x0 * y1 - y0 * x1;\n\t\tdst[ dstOffset + 3 ] = w0 * w1 - x0 * x1 - y0 * y1 - z0 * z1;\n\n\t\treturn dst;\n\n\t}\n\n\tget x() {\n\n\t\treturn this._x;\n\n\t}\n\n\tset x( value ) {\n\n\t\tthis._x = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget y() {\n\n\t\treturn this._y;\n\n\t}\n\n\tset y( value ) {\n\n\t\tthis._y = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget z() {\n\n\t\treturn this._z;\n\n\t}\n\n\tset z( value ) {\n\n\t\tthis._z = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget w() {\n\n\t\treturn this._w;\n\n\t}\n\n\tset w( value ) {\n\n\t\tthis._w = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tset( x, y, z, w ) {\n\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._z = z;\n\t\tthis._w = w;\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this._x, this._y, this._z, this._w );\n\n\t}\n\n\tcopy( quaternion ) {\n\n\t\tthis._x = quaternion.x;\n\t\tthis._y = quaternion.y;\n\t\tthis._z = quaternion.z;\n\t\tthis._w = quaternion.w;\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tsetFromEuler( euler, update ) {\n\n\t\tif ( ! ( euler && euler.isEuler ) ) {\n\n\t\t\tthrow new Error( 'THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.' );\n\n\t\t}\n\n\t\tconst x = euler._x, y = euler._y, z = euler._z, order = euler._order;\n\n\t\t// http://www.mathworks.com/matlabcentral/fileexchange/\n\t\t// \t20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/\n\t\t//\tcontent/SpinCalc.m\n\n\t\tconst cos = Math.cos;\n\t\tconst sin = Math.sin;\n\n\t\tconst c1 = cos( x / 2 );\n\t\tconst c2 = cos( y / 2 );\n\t\tconst c3 = cos( z / 2 );\n\n\t\tconst s1 = sin( x / 2 );\n\t\tconst s2 = sin( y / 2 );\n\t\tconst s3 = sin( z / 2 );\n\n\t\tswitch ( order ) {\n\n\t\t\tcase 'XYZ':\n\t\t\t\tthis._x = s1 * c2 * c3 + c1 * s2 * s3;\n\t\t\t\tthis._y = c1 * s2 * c3 - s1 * c2 * s3;\n\t\t\t\tthis._z = c1 * c2 * s3 + s1 * s2 * c3;\n\t\t\t\tthis._w = c1 * c2 * c3 - s1 * s2 * s3;\n\t\t\t\tbreak;\n\n\t\t\tcase 'YXZ':\n\t\t\t\tthis._x = s1 * c2 * c3 + c1 * s2 * s3;\n\t\t\t\tthis._y = c1 * s2 * c3 - s1 * c2 * s3;\n\t\t\t\tthis._z = c1 * c2 * s3 - s1 * s2 * c3;\n\t\t\t\tthis._w = c1 * c2 * c3 + s1 * s2 * s3;\n\t\t\t\tbreak;\n\n\t\t\tcase 'ZXY':\n\t\t\t\tthis._x = s1 * c2 * c3 - c1 * s2 * s3;\n\t\t\t\tthis._y = c1 * s2 * c3 + s1 * c2 * s3;\n\t\t\t\tthis._z = c1 * c2 * s3 + s1 * s2 * c3;\n\t\t\t\tthis._w = c1 * c2 * c3 - s1 * s2 * s3;\n\t\t\t\tbreak;\n\n\t\t\tcase 'ZYX':\n\t\t\t\tthis._x = s1 * c2 * c3 - c1 * s2 * s3;\n\t\t\t\tthis._y = c1 * s2 * c3 + s1 * c2 * s3;\n\t\t\t\tthis._z = c1 * c2 * s3 - s1 * s2 * c3;\n\t\t\t\tthis._w = c1 * c2 * c3 + s1 * s2 * s3;\n\t\t\t\tbreak;\n\n\t\t\tcase 'YZX':\n\t\t\t\tthis._x = s1 * c2 * c3 + c1 * s2 * s3;\n\t\t\t\tthis._y = c1 * s2 * c3 + s1 * c2 * s3;\n\t\t\t\tthis._z = c1 * c2 * s3 - s1 * s2 * c3;\n\t\t\t\tthis._w = c1 * c2 * c3 - s1 * s2 * s3;\n\t\t\t\tbreak;\n\n\t\t\tcase 'XZY':\n\t\t\t\tthis._x = s1 * c2 * c3 - c1 * s2 * s3;\n\t\t\t\tthis._y = c1 * s2 * c3 - s1 * c2 * s3;\n\t\t\t\tthis._z = c1 * c2 * s3 + s1 * s2 * c3;\n\t\t\t\tthis._w = c1 * c2 * c3 + s1 * s2 * s3;\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tconsole.warn( 'THREE.Quaternion: .setFromEuler() encountered an unknown order: ' + order );\n\n\t\t}\n\n\t\tif ( update !== false ) this._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tsetFromAxisAngle( axis, angle ) {\n\n\t\t// http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm\n\n\t\t// assumes axis is normalized\n\n\t\tconst halfAngle = angle / 2, s = Math.sin( halfAngle );\n\n\t\tthis._x = axis.x * s;\n\t\tthis._y = axis.y * s;\n\t\tthis._z = axis.z * s;\n\t\tthis._w = Math.cos( halfAngle );\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tsetFromRotationMatrix( m ) {\n\n\t\t// http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm\n\n\t\t// assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)\n\n\t\tconst te = m.elements,\n\n\t\t\tm11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ],\n\t\t\tm21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ],\n\t\t\tm31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ],\n\n\t\t\ttrace = m11 + m22 + m33;\n\n\t\tif ( trace > 0 ) {\n\n\t\t\tconst s = 0.5 / Math.sqrt( trace + 1.0 );\n\n\t\t\tthis._w = 0.25 / s;\n\t\t\tthis._x = ( m32 - m23 ) * s;\n\t\t\tthis._y = ( m13 - m31 ) * s;\n\t\t\tthis._z = ( m21 - m12 ) * s;\n\n\t\t} else if ( m11 > m22 && m11 > m33 ) {\n\n\t\t\tconst s = 2.0 * Math.sqrt( 1.0 + m11 - m22 - m33 );\n\n\t\t\tthis._w = ( m32 - m23 ) / s;\n\t\t\tthis._x = 0.25 * s;\n\t\t\tthis._y = ( m12 + m21 ) / s;\n\t\t\tthis._z = ( m13 + m31 ) / s;\n\n\t\t} else if ( m22 > m33 ) {\n\n\t\t\tconst s = 2.0 * Math.sqrt( 1.0 + m22 - m11 - m33 );\n\n\t\t\tthis._w = ( m13 - m31 ) / s;\n\t\t\tthis._x = ( m12 + m21 ) / s;\n\t\t\tthis._y = 0.25 * s;\n\t\t\tthis._z = ( m23 + m32 ) / s;\n\n\t\t} else {\n\n\t\t\tconst s = 2.0 * Math.sqrt( 1.0 + m33 - m11 - m22 );\n\n\t\t\tthis._w = ( m21 - m12 ) / s;\n\t\t\tthis._x = ( m13 + m31 ) / s;\n\t\t\tthis._y = ( m23 + m32 ) / s;\n\t\t\tthis._z = 0.25 * s;\n\n\t\t}\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tsetFromUnitVectors( vFrom, vTo ) {\n\n\t\t// assumes direction vectors vFrom and vTo are normalized\n\n\t\tlet r = vFrom.dot( vTo ) + 1;\n\n\t\tif ( r < Number.EPSILON ) {\n\n\t\t\t// vFrom and vTo point in opposite directions\n\n\t\t\tr = 0;\n\n\t\t\tif ( Math.abs( vFrom.x ) > Math.abs( vFrom.z ) ) {\n\n\t\t\t\tthis._x = - vFrom.y;\n\t\t\t\tthis._y = vFrom.x;\n\t\t\t\tthis._z = 0;\n\t\t\t\tthis._w = r;\n\n\t\t\t} else {\n\n\t\t\t\tthis._x = 0;\n\t\t\t\tthis._y = - vFrom.z;\n\t\t\t\tthis._z = vFrom.y;\n\t\t\t\tthis._w = r;\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// crossVectors( vFrom, vTo ); // inlined to avoid cyclic dependency on Vector3\n\n\t\t\tthis._x = vFrom.y * vTo.z - vFrom.z * vTo.y;\n\t\t\tthis._y = vFrom.z * vTo.x - vFrom.x * vTo.z;\n\t\t\tthis._z = vFrom.x * vTo.y - vFrom.y * vTo.x;\n\t\t\tthis._w = r;\n\n\t\t}\n\n\t\treturn this.normalize();\n\n\t}\n\n\tangleTo( q ) {\n\n\t\treturn 2 * Math.acos( Math.abs( clamp( this.dot( q ), - 1, 1 ) ) );\n\n\t}\n\n\trotateTowards( q, step ) {\n\n\t\tconst angle = this.angleTo( q );\n\n\t\tif ( angle === 0 ) return this;\n\n\t\tconst t = Math.min( 1, step / angle );\n\n\t\tthis.slerp( q, t );\n\n\t\treturn this;\n\n\t}\n\n\tidentity() {\n\n\t\treturn this.set( 0, 0, 0, 1 );\n\n\t}\n\n\tinvert() {\n\n\t\t// quaternion is assumed to have unit length\n\n\t\treturn this.conjugate();\n\n\t}\n\n\tconjugate() {\n\n\t\tthis._x *= - 1;\n\t\tthis._y *= - 1;\n\t\tthis._z *= - 1;\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tdot( v ) {\n\n\t\treturn this._x * v._x + this._y * v._y + this._z * v._z + this._w * v._w;\n\n\t}\n\n\tlengthSq() {\n\n\t\treturn this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w;\n\n\t}\n\n\tlength() {\n\n\t\treturn Math.sqrt( this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w );\n\n\t}\n\n\tnormalize() {\n\n\t\tlet l = this.length();\n\n\t\tif ( l === 0 ) {\n\n\t\t\tthis._x = 0;\n\t\t\tthis._y = 0;\n\t\t\tthis._z = 0;\n\t\t\tthis._w = 1;\n\n\t\t} else {\n\n\t\t\tl = 1 / l;\n\n\t\t\tthis._x = this._x * l;\n\t\t\tthis._y = this._y * l;\n\t\t\tthis._z = this._z * l;\n\t\t\tthis._w = this._w * l;\n\n\t\t}\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( q ) {\n\n\t\treturn this.multiplyQuaternions( this, q );\n\n\t}\n\n\tpremultiply( q ) {\n\n\t\treturn this.multiplyQuaternions( q, this );\n\n\t}\n\n\tmultiplyQuaternions( a, b ) {\n\n\t\t// from http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm\n\n\t\tconst qax = a._x, qay = a._y, qaz = a._z, qaw = a._w;\n\t\tconst qbx = b._x, qby = b._y, qbz = b._z, qbw = b._w;\n\n\t\tthis._x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby;\n\t\tthis._y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz;\n\t\tthis._z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx;\n\t\tthis._w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz;\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tslerp( qb, t ) {\n\n\t\tif ( t === 0 ) return this;\n\t\tif ( t === 1 ) return this.copy( qb );\n\n\t\tconst x = this._x, y = this._y, z = this._z, w = this._w;\n\n\t\t// http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/\n\n\t\tlet cosHalfTheta = w * qb._w + x * qb._x + y * qb._y + z * qb._z;\n\n\t\tif ( cosHalfTheta < 0 ) {\n\n\t\t\tthis._w = - qb._w;\n\t\t\tthis._x = - qb._x;\n\t\t\tthis._y = - qb._y;\n\t\t\tthis._z = - qb._z;\n\n\t\t\tcosHalfTheta = - cosHalfTheta;\n\n\t\t} else {\n\n\t\t\tthis.copy( qb );\n\n\t\t}\n\n\t\tif ( cosHalfTheta >= 1.0 ) {\n\n\t\t\tthis._w = w;\n\t\t\tthis._x = x;\n\t\t\tthis._y = y;\n\t\t\tthis._z = z;\n\n\t\t\treturn this;\n\n\t\t}\n\n\t\tconst sqrSinHalfTheta = 1.0 - cosHalfTheta * cosHalfTheta;\n\n\t\tif ( sqrSinHalfTheta <= Number.EPSILON ) {\n\n\t\t\tconst s = 1 - t;\n\t\t\tthis._w = s * w + t * this._w;\n\t\t\tthis._x = s * x + t * this._x;\n\t\t\tthis._y = s * y + t * this._y;\n\t\t\tthis._z = s * z + t * this._z;\n\n\t\t\tthis.normalize();\n\t\t\tthis._onChangeCallback();\n\n\t\t\treturn this;\n\n\t\t}\n\n\t\tconst sinHalfTheta = Math.sqrt( sqrSinHalfTheta );\n\t\tconst halfTheta = Math.atan2( sinHalfTheta, cosHalfTheta );\n\t\tconst ratioA = Math.sin( ( 1 - t ) * halfTheta ) / sinHalfTheta,\n\t\t\tratioB = Math.sin( t * halfTheta ) / sinHalfTheta;\n\n\t\tthis._w = ( w * ratioA + this._w * ratioB );\n\t\tthis._x = ( x * ratioA + this._x * ratioB );\n\t\tthis._y = ( y * ratioA + this._y * ratioB );\n\t\tthis._z = ( z * ratioA + this._z * ratioB );\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tslerpQuaternions( qa, qb, t ) {\n\n\t\treturn this.copy( qa ).slerp( qb, t );\n\n\t}\n\n\trandom() {\n\n\t\t// Derived from http://planning.cs.uiuc.edu/node198.html\n\t\t// Note, this source uses w, x, y, z ordering,\n\t\t// so we swap the order below.\n\n\t\tconst u1 = Math.random();\n\t\tconst sqrt1u1 = Math.sqrt( 1 - u1 );\n\t\tconst sqrtu1 = Math.sqrt( u1 );\n\n\t\tconst u2 = 2 * Math.PI * Math.random();\n\n\t\tconst u3 = 2 * Math.PI * Math.random();\n\n\t\treturn this.set(\n\t\t\tsqrt1u1 * Math.cos( u2 ),\n\t\t\tsqrtu1 * Math.sin( u3 ),\n\t\t\tsqrtu1 * Math.cos( u3 ),\n\t\t\tsqrt1u1 * Math.sin( u2 ),\n\t\t);\n\n\t}\n\n\tequals( quaternion ) {\n\n\t\treturn ( quaternion._x === this._x ) && ( quaternion._y === this._y ) && ( quaternion._z === this._z ) && ( quaternion._w === this._w );\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tthis._x = array[ offset ];\n\t\tthis._y = array[ offset + 1 ];\n\t\tthis._z = array[ offset + 2 ];\n\t\tthis._w = array[ offset + 3 ];\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tarray[ offset ] = this._x;\n\t\tarray[ offset + 1 ] = this._y;\n\t\tarray[ offset + 2 ] = this._z;\n\t\tarray[ offset + 3 ] = this._w;\n\n\t\treturn array;\n\n\t}\n\n\tfromBufferAttribute( attribute, index ) {\n\n\t\tthis._x = attribute.getX( index );\n\t\tthis._y = attribute.getY( index );\n\t\tthis._z = attribute.getZ( index );\n\t\tthis._w = attribute.getW( index );\n\n\t\treturn this;\n\n\t}\n\n\t_onChange( callback ) {\n\n\t\tthis._onChangeCallback = callback;\n\n\t\treturn this;\n\n\t}\n\n\t_onChangeCallback() {}\n\n\t*[ Symbol.iterator ]() {\n\n\t\tyield this._x;\n\t\tyield this._y;\n\t\tyield this._z;\n\t\tyield this._w;\n\n\t}\n\n}\n\nclass Vector3 {\n\n\tconstructor( x = 0, y = 0, z = 0 ) {\n\n\t\tVector3.prototype.isVector3 = true;\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\t\tthis.z = z;\n\n\t}\n\n\tset( x, y, z ) {\n\n\t\tif ( z === undefined ) z = this.z; // sprite.scale.set(x,y)\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\t\tthis.z = z;\n\n\t\treturn this;\n\n\t}\n\n\tsetScalar( scalar ) {\n\n\t\tthis.x = scalar;\n\t\tthis.y = scalar;\n\t\tthis.z = scalar;\n\n\t\treturn this;\n\n\t}\n\n\tsetX( x ) {\n\n\t\tthis.x = x;\n\n\t\treturn this;\n\n\t}\n\n\tsetY( y ) {\n\n\t\tthis.y = y;\n\n\t\treturn this;\n\n\t}\n\n\tsetZ( z ) {\n\n\t\tthis.z = z;\n\n\t\treturn this;\n\n\t}\n\n\tsetComponent( index, value ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: this.x = value; break;\n\t\t\tcase 1: this.y = value; break;\n\t\t\tcase 2: this.z = value; break;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tgetComponent( index ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: return this.x;\n\t\t\tcase 1: return this.y;\n\t\t\tcase 2: return this.z;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this.x, this.y, this.z );\n\n\t}\n\n\tcopy( v ) {\n\n\t\tthis.x = v.x;\n\t\tthis.y = v.y;\n\t\tthis.z = v.z;\n\n\t\treturn this;\n\n\t}\n\n\tadd( v ) {\n\n\t\tthis.x += v.x;\n\t\tthis.y += v.y;\n\t\tthis.z += v.z;\n\n\t\treturn this;\n\n\t}\n\n\taddScalar( s ) {\n\n\t\tthis.x += s;\n\t\tthis.y += s;\n\t\tthis.z += s;\n\n\t\treturn this;\n\n\t}\n\n\taddVectors( a, b ) {\n\n\t\tthis.x = a.x + b.x;\n\t\tthis.y = a.y + b.y;\n\t\tthis.z = a.z + b.z;\n\n\t\treturn this;\n\n\t}\n\n\taddScaledVector( v, s ) {\n\n\t\tthis.x += v.x * s;\n\t\tthis.y += v.y * s;\n\t\tthis.z += v.z * s;\n\n\t\treturn this;\n\n\t}\n\n\tsub( v ) {\n\n\t\tthis.x -= v.x;\n\t\tthis.y -= v.y;\n\t\tthis.z -= v.z;\n\n\t\treturn this;\n\n\t}\n\n\tsubScalar( s ) {\n\n\t\tthis.x -= s;\n\t\tthis.y -= s;\n\t\tthis.z -= s;\n\n\t\treturn this;\n\n\t}\n\n\tsubVectors( a, b ) {\n\n\t\tthis.x = a.x - b.x;\n\t\tthis.y = a.y - b.y;\n\t\tthis.z = a.z - b.z;\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( v ) {\n\n\t\tthis.x *= v.x;\n\t\tthis.y *= v.y;\n\t\tthis.z *= v.z;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyScalar( scalar ) {\n\n\t\tthis.x *= scalar;\n\t\tthis.y *= scalar;\n\t\tthis.z *= scalar;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyVectors( a, b ) {\n\n\t\tthis.x = a.x * b.x;\n\t\tthis.y = a.y * b.y;\n\t\tthis.z = a.z * b.z;\n\n\t\treturn this;\n\n\t}\n\n\tapplyEuler( euler ) {\n\n\t\treturn this.applyQuaternion( _quaternion$4.setFromEuler( euler ) );\n\n\t}\n\n\tapplyAxisAngle( axis, angle ) {\n\n\t\treturn this.applyQuaternion( _quaternion$4.setFromAxisAngle( axis, angle ) );\n\n\t}\n\n\tapplyMatrix3( m ) {\n\n\t\tconst x = this.x, y = this.y, z = this.z;\n\t\tconst e = m.elements;\n\n\t\tthis.x = e[ 0 ] * x + e[ 3 ] * y + e[ 6 ] * z;\n\t\tthis.y = e[ 1 ] * x + e[ 4 ] * y + e[ 7 ] * z;\n\t\tthis.z = e[ 2 ] * x + e[ 5 ] * y + e[ 8 ] * z;\n\n\t\treturn this;\n\n\t}\n\n\tapplyNormalMatrix( m ) {\n\n\t\treturn this.applyMatrix3( m ).normalize();\n\n\t}\n\n\tapplyMatrix4( m ) {\n\n\t\tconst x = this.x, y = this.y, z = this.z;\n\t\tconst e = m.elements;\n\n\t\tconst w = 1 / ( e[ 3 ] * x + e[ 7 ] * y + e[ 11 ] * z + e[ 15 ] );\n\n\t\tthis.x = ( e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z + e[ 12 ] ) * w;\n\t\tthis.y = ( e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z + e[ 13 ] ) * w;\n\t\tthis.z = ( e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z + e[ 14 ] ) * w;\n\n\t\treturn this;\n\n\t}\n\n\tapplyQuaternion( q ) {\n\n\t\tconst x = this.x, y = this.y, z = this.z;\n\t\tconst qx = q.x, qy = q.y, qz = q.z, qw = q.w;\n\n\t\t// calculate quat * vector\n\n\t\tconst ix = qw * x + qy * z - qz * y;\n\t\tconst iy = qw * y + qz * x - qx * z;\n\t\tconst iz = qw * z + qx * y - qy * x;\n\t\tconst iw = - qx * x - qy * y - qz * z;\n\n\t\t// calculate result * inverse quat\n\n\t\tthis.x = ix * qw + iw * - qx + iy * - qz - iz * - qy;\n\t\tthis.y = iy * qw + iw * - qy + iz * - qx - ix * - qz;\n\t\tthis.z = iz * qw + iw * - qz + ix * - qy - iy * - qx;\n\n\t\treturn this;\n\n\t}\n\n\tproject( camera ) {\n\n\t\treturn this.applyMatrix4( camera.matrixWorldInverse ).applyMatrix4( camera.projectionMatrix );\n\n\t}\n\n\tunproject( camera ) {\n\n\t\treturn this.applyMatrix4( camera.projectionMatrixInverse ).applyMatrix4( camera.matrixWorld );\n\n\t}\n\n\ttransformDirection( m ) {\n\n\t\t// input: THREE.Matrix4 affine matrix\n\t\t// vector interpreted as a direction\n\n\t\tconst x = this.x, y = this.y, z = this.z;\n\t\tconst e = m.elements;\n\n\t\tthis.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z;\n\t\tthis.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z;\n\t\tthis.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z;\n\n\t\treturn this.normalize();\n\n\t}\n\n\tdivide( v ) {\n\n\t\tthis.x /= v.x;\n\t\tthis.y /= v.y;\n\t\tthis.z /= v.z;\n\n\t\treturn this;\n\n\t}\n\n\tdivideScalar( scalar ) {\n\n\t\treturn this.multiplyScalar( 1 / scalar );\n\n\t}\n\n\tmin( v ) {\n\n\t\tthis.x = Math.min( this.x, v.x );\n\t\tthis.y = Math.min( this.y, v.y );\n\t\tthis.z = Math.min( this.z, v.z );\n\n\t\treturn this;\n\n\t}\n\n\tmax( v ) {\n\n\t\tthis.x = Math.max( this.x, v.x );\n\t\tthis.y = Math.max( this.y, v.y );\n\t\tthis.z = Math.max( this.z, v.z );\n\n\t\treturn this;\n\n\t}\n\n\tclamp( min, max ) {\n\n\t\t// assumes min < max, componentwise\n\n\t\tthis.x = Math.max( min.x, Math.min( max.x, this.x ) );\n\t\tthis.y = Math.max( min.y, Math.min( max.y, this.y ) );\n\t\tthis.z = Math.max( min.z, Math.min( max.z, this.z ) );\n\n\t\treturn this;\n\n\t}\n\n\tclampScalar( minVal, maxVal ) {\n\n\t\tthis.x = Math.max( minVal, Math.min( maxVal, this.x ) );\n\t\tthis.y = Math.max( minVal, Math.min( maxVal, this.y ) );\n\t\tthis.z = Math.max( minVal, Math.min( maxVal, this.z ) );\n\n\t\treturn this;\n\n\t}\n\n\tclampLength( min, max ) {\n\n\t\tconst length = this.length();\n\n\t\treturn this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) );\n\n\t}\n\n\tfloor() {\n\n\t\tthis.x = Math.floor( this.x );\n\t\tthis.y = Math.floor( this.y );\n\t\tthis.z = Math.floor( this.z );\n\n\t\treturn this;\n\n\t}\n\n\tceil() {\n\n\t\tthis.x = Math.ceil( this.x );\n\t\tthis.y = Math.ceil( this.y );\n\t\tthis.z = Math.ceil( this.z );\n\n\t\treturn this;\n\n\t}\n\n\tround() {\n\n\t\tthis.x = Math.round( this.x );\n\t\tthis.y = Math.round( this.y );\n\t\tthis.z = Math.round( this.z );\n\n\t\treturn this;\n\n\t}\n\n\troundToZero() {\n\n\t\tthis.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x );\n\t\tthis.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y );\n\t\tthis.z = ( this.z < 0 ) ? Math.ceil( this.z ) : Math.floor( this.z );\n\n\t\treturn this;\n\n\t}\n\n\tnegate() {\n\n\t\tthis.x = - this.x;\n\t\tthis.y = - this.y;\n\t\tthis.z = - this.z;\n\n\t\treturn this;\n\n\t}\n\n\tdot( v ) {\n\n\t\treturn this.x * v.x + this.y * v.y + this.z * v.z;\n\n\t}\n\n\t// TODO lengthSquared?\n\n\tlengthSq() {\n\n\t\treturn this.x * this.x + this.y * this.y + this.z * this.z;\n\n\t}\n\n\tlength() {\n\n\t\treturn Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z );\n\n\t}\n\n\tmanhattanLength() {\n\n\t\treturn Math.abs( this.x ) + Math.abs( this.y ) + Math.abs( this.z );\n\n\t}\n\n\tnormalize() {\n\n\t\treturn this.divideScalar( this.length() || 1 );\n\n\t}\n\n\tsetLength( length ) {\n\n\t\treturn this.normalize().multiplyScalar( length );\n\n\t}\n\n\tlerp( v, alpha ) {\n\n\t\tthis.x += ( v.x - this.x ) * alpha;\n\t\tthis.y += ( v.y - this.y ) * alpha;\n\t\tthis.z += ( v.z - this.z ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tlerpVectors( v1, v2, alpha ) {\n\n\t\tthis.x = v1.x + ( v2.x - v1.x ) * alpha;\n\t\tthis.y = v1.y + ( v2.y - v1.y ) * alpha;\n\t\tthis.z = v1.z + ( v2.z - v1.z ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tcross( v ) {\n\n\t\treturn this.crossVectors( this, v );\n\n\t}\n\n\tcrossVectors( a, b ) {\n\n\t\tconst ax = a.x, ay = a.y, az = a.z;\n\t\tconst bx = b.x, by = b.y, bz = b.z;\n\n\t\tthis.x = ay * bz - az * by;\n\t\tthis.y = az * bx - ax * bz;\n\t\tthis.z = ax * by - ay * bx;\n\n\t\treturn this;\n\n\t}\n\n\tprojectOnVector( v ) {\n\n\t\tconst denominator = v.lengthSq();\n\n\t\tif ( denominator === 0 ) return this.set( 0, 0, 0 );\n\n\t\tconst scalar = v.dot( this ) / denominator;\n\n\t\treturn this.copy( v ).multiplyScalar( scalar );\n\n\t}\n\n\tprojectOnPlane( planeNormal ) {\n\n\t\t_vector$c.copy( this ).projectOnVector( planeNormal );\n\n\t\treturn this.sub( _vector$c );\n\n\t}\n\n\treflect( normal ) {\n\n\t\t// reflect incident vector off plane orthogonal to normal\n\t\t// normal is assumed to have unit length\n\n\t\treturn this.sub( _vector$c.copy( normal ).multiplyScalar( 2 * this.dot( normal ) ) );\n\n\t}\n\n\tangleTo( v ) {\n\n\t\tconst denominator = Math.sqrt( this.lengthSq() * v.lengthSq() );\n\n\t\tif ( denominator === 0 ) return Math.PI / 2;\n\n\t\tconst theta = this.dot( v ) / denominator;\n\n\t\t// clamp, to handle numerical problems\n\n\t\treturn Math.acos( clamp( theta, - 1, 1 ) );\n\n\t}\n\n\tdistanceTo( v ) {\n\n\t\treturn Math.sqrt( this.distanceToSquared( v ) );\n\n\t}\n\n\tdistanceToSquared( v ) {\n\n\t\tconst dx = this.x - v.x, dy = this.y - v.y, dz = this.z - v.z;\n\n\t\treturn dx * dx + dy * dy + dz * dz;\n\n\t}\n\n\tmanhattanDistanceTo( v ) {\n\n\t\treturn Math.abs( this.x - v.x ) + Math.abs( this.y - v.y ) + Math.abs( this.z - v.z );\n\n\t}\n\n\tsetFromSpherical( s ) {\n\n\t\treturn this.setFromSphericalCoords( s.radius, s.phi, s.theta );\n\n\t}\n\n\tsetFromSphericalCoords( radius, phi, theta ) {\n\n\t\tconst sinPhiRadius = Math.sin( phi ) * radius;\n\n\t\tthis.x = sinPhiRadius * Math.sin( theta );\n\t\tthis.y = Math.cos( phi ) * radius;\n\t\tthis.z = sinPhiRadius * Math.cos( theta );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromCylindrical( c ) {\n\n\t\treturn this.setFromCylindricalCoords( c.radius, c.theta, c.y );\n\n\t}\n\n\tsetFromCylindricalCoords( radius, theta, y ) {\n\n\t\tthis.x = radius * Math.sin( theta );\n\t\tthis.y = y;\n\t\tthis.z = radius * Math.cos( theta );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromMatrixPosition( m ) {\n\n\t\tconst e = m.elements;\n\n\t\tthis.x = e[ 12 ];\n\t\tthis.y = e[ 13 ];\n\t\tthis.z = e[ 14 ];\n\n\t\treturn this;\n\n\t}\n\n\tsetFromMatrixScale( m ) {\n\n\t\tconst sx = this.setFromMatrixColumn( m, 0 ).length();\n\t\tconst sy = this.setFromMatrixColumn( m, 1 ).length();\n\t\tconst sz = this.setFromMatrixColumn( m, 2 ).length();\n\n\t\tthis.x = sx;\n\t\tthis.y = sy;\n\t\tthis.z = sz;\n\n\t\treturn this;\n\n\t}\n\n\tsetFromMatrixColumn( m, index ) {\n\n\t\treturn this.fromArray( m.elements, index * 4 );\n\n\t}\n\n\tsetFromMatrix3Column( m, index ) {\n\n\t\treturn this.fromArray( m.elements, index * 3 );\n\n\t}\n\n\tsetFromEuler( e ) {\n\n\t\tthis.x = e._x;\n\t\tthis.y = e._y;\n\t\tthis.z = e._z;\n\n\t\treturn this;\n\n\t}\n\n\tequals( v ) {\n\n\t\treturn ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) );\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tthis.x = array[ offset ];\n\t\tthis.y = array[ offset + 1 ];\n\t\tthis.z = array[ offset + 2 ];\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tarray[ offset ] = this.x;\n\t\tarray[ offset + 1 ] = this.y;\n\t\tarray[ offset + 2 ] = this.z;\n\n\t\treturn array;\n\n\t}\n\n\tfromBufferAttribute( attribute, index ) {\n\n\t\tthis.x = attribute.getX( index );\n\t\tthis.y = attribute.getY( index );\n\t\tthis.z = attribute.getZ( index );\n\n\t\treturn this;\n\n\t}\n\n\trandom() {\n\n\t\tthis.x = Math.random();\n\t\tthis.y = Math.random();\n\t\tthis.z = Math.random();\n\n\t\treturn this;\n\n\t}\n\n\trandomDirection() {\n\n\t\t// Derived from https://mathworld.wolfram.com/SpherePointPicking.html\n\n\t\tconst u = ( Math.random() - 0.5 ) * 2;\n\t\tconst t = Math.random() * Math.PI * 2;\n\t\tconst f = Math.sqrt( 1 - u ** 2 );\n\n\t\tthis.x = f * Math.cos( t );\n\t\tthis.y = f * Math.sin( t );\n\t\tthis.z = u;\n\n\t\treturn this;\n\n\t}\n\n\t*[ Symbol.iterator ]() {\n\n\t\tyield this.x;\n\t\tyield this.y;\n\t\tyield this.z;\n\n\t}\n\n}\n\nconst _vector$c = /*@__PURE__*/ new Vector3();\nconst _quaternion$4 = /*@__PURE__*/ new Quaternion();\n\nclass Box3 {\n\n\tconstructor( min = new Vector3( + Infinity, + Infinity, + Infinity ), max = new Vector3( - Infinity, - Infinity, - Infinity ) ) {\n\n\t\tthis.isBox3 = true;\n\n\t\tthis.min = min;\n\t\tthis.max = max;\n\n\t}\n\n\tset( min, max ) {\n\n\t\tthis.min.copy( min );\n\t\tthis.max.copy( max );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromArray( array ) {\n\n\t\tlet minX = + Infinity;\n\t\tlet minY = + Infinity;\n\t\tlet minZ = + Infinity;\n\n\t\tlet maxX = - Infinity;\n\t\tlet maxY = - Infinity;\n\t\tlet maxZ = - Infinity;\n\n\t\tfor ( let i = 0, l = array.length; i < l; i += 3 ) {\n\n\t\t\tconst x = array[ i ];\n\t\t\tconst y = array[ i + 1 ];\n\t\t\tconst z = array[ i + 2 ];\n\n\t\t\tif ( x < minX ) minX = x;\n\t\t\tif ( y < minY ) minY = y;\n\t\t\tif ( z < minZ ) minZ = z;\n\n\t\t\tif ( x > maxX ) maxX = x;\n\t\t\tif ( y > maxY ) maxY = y;\n\t\t\tif ( z > maxZ ) maxZ = z;\n\n\t\t}\n\n\t\tthis.min.set( minX, minY, minZ );\n\t\tthis.max.set( maxX, maxY, maxZ );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromBufferAttribute( attribute ) {\n\n\t\tlet minX = + Infinity;\n\t\tlet minY = + Infinity;\n\t\tlet minZ = + Infinity;\n\n\t\tlet maxX = - Infinity;\n\t\tlet maxY = - Infinity;\n\t\tlet maxZ = - Infinity;\n\n\t\tfor ( let i = 0, l = attribute.count; i < l; i ++ ) {\n\n\t\t\tconst x = attribute.getX( i );\n\t\t\tconst y = attribute.getY( i );\n\t\t\tconst z = attribute.getZ( i );\n\n\t\t\tif ( x < minX ) minX = x;\n\t\t\tif ( y < minY ) minY = y;\n\t\t\tif ( z < minZ ) minZ = z;\n\n\t\t\tif ( x > maxX ) maxX = x;\n\t\t\tif ( y > maxY ) maxY = y;\n\t\t\tif ( z > maxZ ) maxZ = z;\n\n\t\t}\n\n\t\tthis.min.set( minX, minY, minZ );\n\t\tthis.max.set( maxX, maxY, maxZ );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromPoints( points ) {\n\n\t\tthis.makeEmpty();\n\n\t\tfor ( let i = 0, il = points.length; i < il; i ++ ) {\n\n\t\t\tthis.expandByPoint( points[ i ] );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetFromCenterAndSize( center, size ) {\n\n\t\tconst halfSize = _vector$b.copy( size ).multiplyScalar( 0.5 );\n\n\t\tthis.min.copy( center ).sub( halfSize );\n\t\tthis.max.copy( center ).add( halfSize );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromObject( object, precise = false ) {\n\n\t\tthis.makeEmpty();\n\n\t\treturn this.expandByObject( object, precise );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( box ) {\n\n\t\tthis.min.copy( box.min );\n\t\tthis.max.copy( box.max );\n\n\t\treturn this;\n\n\t}\n\n\tmakeEmpty() {\n\n\t\tthis.min.x = this.min.y = this.min.z = + Infinity;\n\t\tthis.max.x = this.max.y = this.max.z = - Infinity;\n\n\t\treturn this;\n\n\t}\n\n\tisEmpty() {\n\n\t\t// this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes\n\n\t\treturn ( this.max.x < this.min.x ) || ( this.max.y < this.min.y ) || ( this.max.z < this.min.z );\n\n\t}\n\n\tgetCenter( target ) {\n\n\t\treturn this.isEmpty() ? target.set( 0, 0, 0 ) : target.addVectors( this.min, this.max ).multiplyScalar( 0.5 );\n\n\t}\n\n\tgetSize( target ) {\n\n\t\treturn this.isEmpty() ? target.set( 0, 0, 0 ) : target.subVectors( this.max, this.min );\n\n\t}\n\n\texpandByPoint( point ) {\n\n\t\tthis.min.min( point );\n\t\tthis.max.max( point );\n\n\t\treturn this;\n\n\t}\n\n\texpandByVector( vector ) {\n\n\t\tthis.min.sub( vector );\n\t\tthis.max.add( vector );\n\n\t\treturn this;\n\n\t}\n\n\texpandByScalar( scalar ) {\n\n\t\tthis.min.addScalar( - scalar );\n\t\tthis.max.addScalar( scalar );\n\n\t\treturn this;\n\n\t}\n\n\texpandByObject( object, precise = false ) {\n\n\t\t// Computes the world-axis-aligned bounding box of an object (including its children),\n\t\t// accounting for both the object's, and children's, world transforms\n\n\t\tobject.updateWorldMatrix( false, false );\n\n\t\tconst geometry = object.geometry;\n\n\t\tif ( geometry !== undefined ) {\n\n\t\t\tif ( precise && geometry.attributes != undefined && geometry.attributes.position !== undefined ) {\n\n\t\t\t\tconst position = geometry.attributes.position;\n\t\t\t\tfor ( let i = 0, l = position.count; i < l; i ++ ) {\n\n\t\t\t\t\t_vector$b.fromBufferAttribute( position, i ).applyMatrix4( object.matrixWorld );\n\t\t\t\t\tthis.expandByPoint( _vector$b );\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tif ( geometry.boundingBox === null ) {\n\n\t\t\t\t\tgeometry.computeBoundingBox();\n\n\t\t\t\t}\n\n\t\t\t\t_box$3.copy( geometry.boundingBox );\n\t\t\t\t_box$3.applyMatrix4( object.matrixWorld );\n\n\t\t\t\tthis.union( _box$3 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst children = object.children;\n\n\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\tthis.expandByObject( children[ i ], precise );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\treturn point.x < this.min.x || point.x > this.max.x ||\n\t\t\tpoint.y < this.min.y || point.y > this.max.y ||\n\t\t\tpoint.z < this.min.z || point.z > this.max.z ? false : true;\n\n\t}\n\n\tcontainsBox( box ) {\n\n\t\treturn this.min.x <= box.min.x && box.max.x <= this.max.x &&\n\t\t\tthis.min.y <= box.min.y && box.max.y <= this.max.y &&\n\t\t\tthis.min.z <= box.min.z && box.max.z <= this.max.z;\n\n\t}\n\n\tgetParameter( point, target ) {\n\n\t\t// This can potentially have a divide by zero if the box\n\t\t// has a size dimension of 0.\n\n\t\treturn target.set(\n\t\t\t( point.x - this.min.x ) / ( this.max.x - this.min.x ),\n\t\t\t( point.y - this.min.y ) / ( this.max.y - this.min.y ),\n\t\t\t( point.z - this.min.z ) / ( this.max.z - this.min.z )\n\t\t);\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\t// using 6 splitting planes to rule out intersections.\n\t\treturn box.max.x < this.min.x || box.min.x > this.max.x ||\n\t\t\tbox.max.y < this.min.y || box.min.y > this.max.y ||\n\t\t\tbox.max.z < this.min.z || box.min.z > this.max.z ? false : true;\n\n\t}\n\n\tintersectsSphere( sphere ) {\n\n\t\t// Find the point on the AABB closest to the sphere center.\n\t\tthis.clampPoint( sphere.center, _vector$b );\n\n\t\t// If that point is inside the sphere, the AABB and sphere intersect.\n\t\treturn _vector$b.distanceToSquared( sphere.center ) <= ( sphere.radius * sphere.radius );\n\n\t}\n\n\tintersectsPlane( plane ) {\n\n\t\t// We compute the minimum and maximum dot product values. If those values\n\t\t// are on the same side (back or front) of the plane, then there is no intersection.\n\n\t\tlet min, max;\n\n\t\tif ( plane.normal.x > 0 ) {\n\n\t\t\tmin = plane.normal.x * this.min.x;\n\t\t\tmax = plane.normal.x * this.max.x;\n\n\t\t} else {\n\n\t\t\tmin = plane.normal.x * this.max.x;\n\t\t\tmax = plane.normal.x * this.min.x;\n\n\t\t}\n\n\t\tif ( plane.normal.y > 0 ) {\n\n\t\t\tmin += plane.normal.y * this.min.y;\n\t\t\tmax += plane.normal.y * this.max.y;\n\n\t\t} else {\n\n\t\t\tmin += plane.normal.y * this.max.y;\n\t\t\tmax += plane.normal.y * this.min.y;\n\n\t\t}\n\n\t\tif ( plane.normal.z > 0 ) {\n\n\t\t\tmin += plane.normal.z * this.min.z;\n\t\t\tmax += plane.normal.z * this.max.z;\n\n\t\t} else {\n\n\t\t\tmin += plane.normal.z * this.max.z;\n\t\t\tmax += plane.normal.z * this.min.z;\n\n\t\t}\n\n\t\treturn ( min <= - plane.constant && max >= - plane.constant );\n\n\t}\n\n\tintersectsTriangle( triangle ) {\n\n\t\tif ( this.isEmpty() ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t\t// compute box center and extents\n\t\tthis.getCenter( _center );\n\t\t_extents.subVectors( this.max, _center );\n\n\t\t// translate triangle to aabb origin\n\t\t_v0$2.subVectors( triangle.a, _center );\n\t\t_v1$7.subVectors( triangle.b, _center );\n\t\t_v2$3.subVectors( triangle.c, _center );\n\n\t\t// compute edge vectors for triangle\n\t\t_f0.subVectors( _v1$7, _v0$2 );\n\t\t_f1.subVectors( _v2$3, _v1$7 );\n\t\t_f2.subVectors( _v0$2, _v2$3 );\n\n\t\t// test against axes that are given by cross product combinations of the edges of the triangle and the edges of the aabb\n\t\t// make an axis testing of each of the 3 sides of the aabb against each of the 3 sides of the triangle = 9 axis of separation\n\t\t// axis_ij = u_i x f_j (u0, u1, u2 = face normals of aabb = x,y,z axes vectors since aabb is axis aligned)\n\t\tlet axes = [\n\t\t\t0, - _f0.z, _f0.y, 0, - _f1.z, _f1.y, 0, - _f2.z, _f2.y,\n\t\t\t_f0.z, 0, - _f0.x, _f1.z, 0, - _f1.x, _f2.z, 0, - _f2.x,\n\t\t\t- _f0.y, _f0.x, 0, - _f1.y, _f1.x, 0, - _f2.y, _f2.x, 0\n\t\t];\n\t\tif ( ! satForAxes( axes, _v0$2, _v1$7, _v2$3, _extents ) ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t\t// test 3 face normals from the aabb\n\t\taxes = [ 1, 0, 0, 0, 1, 0, 0, 0, 1 ];\n\t\tif ( ! satForAxes( axes, _v0$2, _v1$7, _v2$3, _extents ) ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t\t// finally testing the face normal of the triangle\n\t\t// use already existing triangle edge vectors here\n\t\t_triangleNormal.crossVectors( _f0, _f1 );\n\t\taxes = [ _triangleNormal.x, _triangleNormal.y, _triangleNormal.z ];\n\n\t\treturn satForAxes( axes, _v0$2, _v1$7, _v2$3, _extents );\n\n\t}\n\n\tclampPoint( point, target ) {\n\n\t\treturn target.copy( point ).clamp( this.min, this.max );\n\n\t}\n\n\tdistanceToPoint( point ) {\n\n\t\tconst clampedPoint = _vector$b.copy( point ).clamp( this.min, this.max );\n\n\t\treturn clampedPoint.sub( point ).length();\n\n\t}\n\n\tgetBoundingSphere( target ) {\n\n\t\tthis.getCenter( target.center );\n\n\t\ttarget.radius = this.getSize( _vector$b ).length() * 0.5;\n\n\t\treturn target;\n\n\t}\n\n\tintersect( box ) {\n\n\t\tthis.min.max( box.min );\n\t\tthis.max.min( box.max );\n\n\t\t// ensure that if there is no overlap, the result is fully empty, not slightly empty with non-inf/+inf values that will cause subsequence intersects to erroneously return valid values.\n\t\tif ( this.isEmpty() ) this.makeEmpty();\n\n\t\treturn this;\n\n\t}\n\n\tunion( box ) {\n\n\t\tthis.min.min( box.min );\n\t\tthis.max.max( box.max );\n\n\t\treturn this;\n\n\t}\n\n\tapplyMatrix4( matrix ) {\n\n\t\t// transform of empty box is an empty box.\n\t\tif ( this.isEmpty() ) return this;\n\n\t\t// NOTE: I am using a binary pattern to specify all 2^3 combinations below\n\t\t_points[ 0 ].set( this.min.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 000\n\t\t_points[ 1 ].set( this.min.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 001\n\t\t_points[ 2 ].set( this.min.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 010\n\t\t_points[ 3 ].set( this.min.x, this.max.y, this.max.z ).applyMatrix4( matrix ); // 011\n\t\t_points[ 4 ].set( this.max.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 100\n\t\t_points[ 5 ].set( this.max.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 101\n\t\t_points[ 6 ].set( this.max.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 110\n\t\t_points[ 7 ].set( this.max.x, this.max.y, this.max.z ).applyMatrix4( matrix ); // 111\n\n\t\tthis.setFromPoints( _points );\n\n\t\treturn this;\n\n\t}\n\n\ttranslate( offset ) {\n\n\t\tthis.min.add( offset );\n\t\tthis.max.add( offset );\n\n\t\treturn this;\n\n\t}\n\n\tequals( box ) {\n\n\t\treturn box.min.equals( this.min ) && box.max.equals( this.max );\n\n\t}\n\n}\n\nconst _points = [\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3()\n];\n\nconst _vector$b = /*@__PURE__*/ new Vector3();\n\nconst _box$3 = /*@__PURE__*/ new Box3();\n\n// triangle centered vertices\n\nconst _v0$2 = /*@__PURE__*/ new Vector3();\nconst _v1$7 = /*@__PURE__*/ new Vector3();\nconst _v2$3 = /*@__PURE__*/ new Vector3();\n\n// triangle edge vectors\n\nconst _f0 = /*@__PURE__*/ new Vector3();\nconst _f1 = /*@__PURE__*/ new Vector3();\nconst _f2 = /*@__PURE__*/ new Vector3();\n\nconst _center = /*@__PURE__*/ new Vector3();\nconst _extents = /*@__PURE__*/ new Vector3();\nconst _triangleNormal = /*@__PURE__*/ new Vector3();\nconst _testAxis = /*@__PURE__*/ new Vector3();\n\nfunction satForAxes( axes, v0, v1, v2, extents ) {\n\n\tfor ( let i = 0, j = axes.length - 3; i <= j; i += 3 ) {\n\n\t\t_testAxis.fromArray( axes, i );\n\t\t// project the aabb onto the separating axis\n\t\tconst r = extents.x * Math.abs( _testAxis.x ) + extents.y * Math.abs( _testAxis.y ) + extents.z * Math.abs( _testAxis.z );\n\t\t// project all 3 vertices of the triangle onto the separating axis\n\t\tconst p0 = v0.dot( _testAxis );\n\t\tconst p1 = v1.dot( _testAxis );\n\t\tconst p2 = v2.dot( _testAxis );\n\t\t// actual test, basically see if either of the most extreme of the triangle points intersects r\n\t\tif ( Math.max( - Math.max( p0, p1, p2 ), Math.min( p0, p1, p2 ) ) > r ) {\n\n\t\t\t// points of the projected triangle are outside the projected half-length of the aabb\n\t\t\t// the axis is separating and we can exit\n\t\t\treturn false;\n\n\t\t}\n\n\t}\n\n\treturn true;\n\n}\n\nconst _box$2 = /*@__PURE__*/ new Box3();\nconst _v1$6 = /*@__PURE__*/ new Vector3();\nconst _toFarthestPoint = /*@__PURE__*/ new Vector3();\nconst _toPoint = /*@__PURE__*/ new Vector3();\n\nclass Sphere {\n\n\tconstructor( center = new Vector3(), radius = - 1 ) {\n\n\t\tthis.center = center;\n\t\tthis.radius = radius;\n\n\t}\n\n\tset( center, radius ) {\n\n\t\tthis.center.copy( center );\n\t\tthis.radius = radius;\n\n\t\treturn this;\n\n\t}\n\n\tsetFromPoints( points, optionalCenter ) {\n\n\t\tconst center = this.center;\n\n\t\tif ( optionalCenter !== undefined ) {\n\n\t\t\tcenter.copy( optionalCenter );\n\n\t\t} else {\n\n\t\t\t_box$2.setFromPoints( points ).getCenter( center );\n\n\t\t}\n\n\t\tlet maxRadiusSq = 0;\n\n\t\tfor ( let i = 0, il = points.length; i < il; i ++ ) {\n\n\t\t\tmaxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( points[ i ] ) );\n\n\t\t}\n\n\t\tthis.radius = Math.sqrt( maxRadiusSq );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( sphere ) {\n\n\t\tthis.center.copy( sphere.center );\n\t\tthis.radius = sphere.radius;\n\n\t\treturn this;\n\n\t}\n\n\tisEmpty() {\n\n\t\treturn ( this.radius < 0 );\n\n\t}\n\n\tmakeEmpty() {\n\n\t\tthis.center.set( 0, 0, 0 );\n\t\tthis.radius = - 1;\n\n\t\treturn this;\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\treturn ( point.distanceToSquared( this.center ) <= ( this.radius * this.radius ) );\n\n\t}\n\n\tdistanceToPoint( point ) {\n\n\t\treturn ( point.distanceTo( this.center ) - this.radius );\n\n\t}\n\n\tintersectsSphere( sphere ) {\n\n\t\tconst radiusSum = this.radius + sphere.radius;\n\n\t\treturn sphere.center.distanceToSquared( this.center ) <= ( radiusSum * radiusSum );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn box.intersectsSphere( this );\n\n\t}\n\n\tintersectsPlane( plane ) {\n\n\t\treturn Math.abs( plane.distanceToPoint( this.center ) ) <= this.radius;\n\n\t}\n\n\tclampPoint( point, target ) {\n\n\t\tconst deltaLengthSq = this.center.distanceToSquared( point );\n\n\t\ttarget.copy( point );\n\n\t\tif ( deltaLengthSq > ( this.radius * this.radius ) ) {\n\n\t\t\ttarget.sub( this.center ).normalize();\n\t\t\ttarget.multiplyScalar( this.radius ).add( this.center );\n\n\t\t}\n\n\t\treturn target;\n\n\t}\n\n\tgetBoundingBox( target ) {\n\n\t\tif ( this.isEmpty() ) {\n\n\t\t\t// Empty sphere produces empty bounding box\n\t\t\ttarget.makeEmpty();\n\t\t\treturn target;\n\n\t\t}\n\n\t\ttarget.set( this.center, this.center );\n\t\ttarget.expandByScalar( this.radius );\n\n\t\treturn target;\n\n\t}\n\n\tapplyMatrix4( matrix ) {\n\n\t\tthis.center.applyMatrix4( matrix );\n\t\tthis.radius = this.radius * matrix.getMaxScaleOnAxis();\n\n\t\treturn this;\n\n\t}\n\n\ttranslate( offset ) {\n\n\t\tthis.center.add( offset );\n\n\t\treturn this;\n\n\t}\n\n\texpandByPoint( point ) {\n\n\t\t// from https://github.com/juj/MathGeoLib/blob/2940b99b99cfe575dd45103ef20f4019dee15b54/src/Geometry/Sphere.cpp#L649-L671\n\n\t\t_toPoint.subVectors( point, this.center );\n\n\t\tconst lengthSq = _toPoint.lengthSq();\n\n\t\tif ( lengthSq > ( this.radius * this.radius ) ) {\n\n\t\t\tconst length = Math.sqrt( lengthSq );\n\t\t\tconst missingRadiusHalf = ( length - this.radius ) * 0.5;\n\n\t\t\t// Nudge this sphere towards the target point. Add half the missing distance to radius,\n\t\t\t// and the other half to position. This gives a tighter enclosure, instead of if\n\t\t\t// the whole missing distance were just added to radius.\n\n\t\t\tthis.center.add( _toPoint.multiplyScalar( missingRadiusHalf / length ) );\n\t\t\tthis.radius += missingRadiusHalf;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tunion( sphere ) {\n\n\t\t// from https://github.com/juj/MathGeoLib/blob/2940b99b99cfe575dd45103ef20f4019dee15b54/src/Geometry/Sphere.cpp#L759-L769\n\n\t\t// To enclose another sphere into this sphere, we only need to enclose two points:\n\t\t// 1) Enclose the farthest point on the other sphere into this sphere.\n\t\t// 2) Enclose the opposite point of the farthest point into this sphere.\n\n\t\t if ( this.center.equals( sphere.center ) === true ) {\n\n\t\t\t _toFarthestPoint.set( 0, 0, 1 ).multiplyScalar( sphere.radius );\n\n\n\t\t} else {\n\n\t\t\t_toFarthestPoint.subVectors( sphere.center, this.center ).normalize().multiplyScalar( sphere.radius );\n\n\t\t}\n\n\t\tthis.expandByPoint( _v1$6.copy( sphere.center ).add( _toFarthestPoint ) );\n\t\tthis.expandByPoint( _v1$6.copy( sphere.center ).sub( _toFarthestPoint ) );\n\n\t\treturn this;\n\n\t}\n\n\tequals( sphere ) {\n\n\t\treturn sphere.center.equals( this.center ) && ( sphere.radius === this.radius );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\nconst _vector$a = /*@__PURE__*/ new Vector3();\nconst _segCenter = /*@__PURE__*/ new Vector3();\nconst _segDir = /*@__PURE__*/ new Vector3();\nconst _diff = /*@__PURE__*/ new Vector3();\n\nconst _edge1 = /*@__PURE__*/ new Vector3();\nconst _edge2 = /*@__PURE__*/ new Vector3();\nconst _normal$1 = /*@__PURE__*/ new Vector3();\n\nclass Ray {\n\n\tconstructor( origin = new Vector3(), direction = new Vector3( 0, 0, - 1 ) ) {\n\n\t\tthis.origin = origin;\n\t\tthis.direction = direction;\n\n\t}\n\n\tset( origin, direction ) {\n\n\t\tthis.origin.copy( origin );\n\t\tthis.direction.copy( direction );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( ray ) {\n\n\t\tthis.origin.copy( ray.origin );\n\t\tthis.direction.copy( ray.direction );\n\n\t\treturn this;\n\n\t}\n\n\tat( t, target ) {\n\n\t\treturn target.copy( this.direction ).multiplyScalar( t ).add( this.origin );\n\n\t}\n\n\tlookAt( v ) {\n\n\t\tthis.direction.copy( v ).sub( this.origin ).normalize();\n\n\t\treturn this;\n\n\t}\n\n\trecast( t ) {\n\n\t\tthis.origin.copy( this.at( t, _vector$a ) );\n\n\t\treturn this;\n\n\t}\n\n\tclosestPointToPoint( point, target ) {\n\n\t\ttarget.subVectors( point, this.origin );\n\n\t\tconst directionDistance = target.dot( this.direction );\n\n\t\tif ( directionDistance < 0 ) {\n\n\t\t\treturn target.copy( this.origin );\n\n\t\t}\n\n\t\treturn target.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin );\n\n\t}\n\n\tdistanceToPoint( point ) {\n\n\t\treturn Math.sqrt( this.distanceSqToPoint( point ) );\n\n\t}\n\n\tdistanceSqToPoint( point ) {\n\n\t\tconst directionDistance = _vector$a.subVectors( point, this.origin ).dot( this.direction );\n\n\t\t// point behind the ray\n\n\t\tif ( directionDistance < 0 ) {\n\n\t\t\treturn this.origin.distanceToSquared( point );\n\n\t\t}\n\n\t\t_vector$a.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin );\n\n\t\treturn _vector$a.distanceToSquared( point );\n\n\t}\n\n\tdistanceSqToSegment( v0, v1, optionalPointOnRay, optionalPointOnSegment ) {\n\n\t\t// from https://github.com/pmjoniak/GeometricTools/blob/master/GTEngine/Include/Mathematics/GteDistRaySegment.h\n\t\t// It returns the min distance between the ray and the segment\n\t\t// defined by v0 and v1\n\t\t// It can also set two optional targets :\n\t\t// - The closest point on the ray\n\t\t// - The closest point on the segment\n\n\t\t_segCenter.copy( v0 ).add( v1 ).multiplyScalar( 0.5 );\n\t\t_segDir.copy( v1 ).sub( v0 ).normalize();\n\t\t_diff.copy( this.origin ).sub( _segCenter );\n\n\t\tconst segExtent = v0.distanceTo( v1 ) * 0.5;\n\t\tconst a01 = - this.direction.dot( _segDir );\n\t\tconst b0 = _diff.dot( this.direction );\n\t\tconst b1 = - _diff.dot( _segDir );\n\t\tconst c = _diff.lengthSq();\n\t\tconst det = Math.abs( 1 - a01 * a01 );\n\t\tlet s0, s1, sqrDist, extDet;\n\n\t\tif ( det > 0 ) {\n\n\t\t\t// The ray and segment are not parallel.\n\n\t\t\ts0 = a01 * b1 - b0;\n\t\t\ts1 = a01 * b0 - b1;\n\t\t\textDet = segExtent * det;\n\n\t\t\tif ( s0 >= 0 ) {\n\n\t\t\t\tif ( s1 >= - extDet ) {\n\n\t\t\t\t\tif ( s1 <= extDet ) {\n\n\t\t\t\t\t\t// region 0\n\t\t\t\t\t\t// Minimum at interior points of ray and segment.\n\n\t\t\t\t\t\tconst invDet = 1 / det;\n\t\t\t\t\t\ts0 *= invDet;\n\t\t\t\t\t\ts1 *= invDet;\n\t\t\t\t\t\tsqrDist = s0 * ( s0 + a01 * s1 + 2 * b0 ) + s1 * ( a01 * s0 + s1 + 2 * b1 ) + c;\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// region 1\n\n\t\t\t\t\t\ts1 = segExtent;\n\t\t\t\t\t\ts0 = Math.max( 0, - ( a01 * s1 + b0 ) );\n\t\t\t\t\t\tsqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c;\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// region 5\n\n\t\t\t\t\ts1 = - segExtent;\n\t\t\t\t\ts0 = Math.max( 0, - ( a01 * s1 + b0 ) );\n\t\t\t\t\tsqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c;\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tif ( s1 <= - extDet ) {\n\n\t\t\t\t\t// region 4\n\n\t\t\t\t\ts0 = Math.max( 0, - ( - a01 * segExtent + b0 ) );\n\t\t\t\t\ts1 = ( s0 > 0 ) ? - segExtent : Math.min( Math.max( - segExtent, - b1 ), segExtent );\n\t\t\t\t\tsqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c;\n\n\t\t\t\t} else if ( s1 <= extDet ) {\n\n\t\t\t\t\t// region 3\n\n\t\t\t\t\ts0 = 0;\n\t\t\t\t\ts1 = Math.min( Math.max( - segExtent, - b1 ), segExtent );\n\t\t\t\t\tsqrDist = s1 * ( s1 + 2 * b1 ) + c;\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// region 2\n\n\t\t\t\t\ts0 = Math.max( 0, - ( a01 * segExtent + b0 ) );\n\t\t\t\t\ts1 = ( s0 > 0 ) ? segExtent : Math.min( Math.max( - segExtent, - b1 ), segExtent );\n\t\t\t\t\tsqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// Ray and segment are parallel.\n\n\t\t\ts1 = ( a01 > 0 ) ? - segExtent : segExtent;\n\t\t\ts0 = Math.max( 0, - ( a01 * s1 + b0 ) );\n\t\t\tsqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c;\n\n\t\t}\n\n\t\tif ( optionalPointOnRay ) {\n\n\t\t\toptionalPointOnRay.copy( this.direction ).multiplyScalar( s0 ).add( this.origin );\n\n\t\t}\n\n\t\tif ( optionalPointOnSegment ) {\n\n\t\t\toptionalPointOnSegment.copy( _segDir ).multiplyScalar( s1 ).add( _segCenter );\n\n\t\t}\n\n\t\treturn sqrDist;\n\n\t}\n\n\tintersectSphere( sphere, target ) {\n\n\t\t_vector$a.subVectors( sphere.center, this.origin );\n\t\tconst tca = _vector$a.dot( this.direction );\n\t\tconst d2 = _vector$a.dot( _vector$a ) - tca * tca;\n\t\tconst radius2 = sphere.radius * sphere.radius;\n\n\t\tif ( d2 > radius2 ) return null;\n\n\t\tconst thc = Math.sqrt( radius2 - d2 );\n\n\t\t// t0 = first intersect point - entrance on front of sphere\n\t\tconst t0 = tca - thc;\n\n\t\t// t1 = second intersect point - exit point on back of sphere\n\t\tconst t1 = tca + thc;\n\n\t\t// test to see if both t0 and t1 are behind the ray - if so, return null\n\t\tif ( t0 < 0 && t1 < 0 ) return null;\n\n\t\t// test to see if t0 is behind the ray:\n\t\t// if it is, the ray is inside the sphere, so return the second exit point scaled by t1,\n\t\t// in order to always return an intersect point that is in front of the ray.\n\t\tif ( t0 < 0 ) return this.at( t1, target );\n\n\t\t// else t0 is in front of the ray, so return the first collision point scaled by t0\n\t\treturn this.at( t0, target );\n\n\t}\n\n\tintersectsSphere( sphere ) {\n\n\t\treturn this.distanceSqToPoint( sphere.center ) <= ( sphere.radius * sphere.radius );\n\n\t}\n\n\tdistanceToPlane( plane ) {\n\n\t\tconst denominator = plane.normal.dot( this.direction );\n\n\t\tif ( denominator === 0 ) {\n\n\t\t\t// line is coplanar, return origin\n\t\t\tif ( plane.distanceToPoint( this.origin ) === 0 ) {\n\n\t\t\t\treturn 0;\n\n\t\t\t}\n\n\t\t\t// Null is preferable to undefined since undefined means.... it is undefined\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\tconst t = - ( this.origin.dot( plane.normal ) + plane.constant ) / denominator;\n\n\t\t// Return if the ray never intersects the plane\n\n\t\treturn t >= 0 ? t : null;\n\n\t}\n\n\tintersectPlane( plane, target ) {\n\n\t\tconst t = this.distanceToPlane( plane );\n\n\t\tif ( t === null ) {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\treturn this.at( t, target );\n\n\t}\n\n\tintersectsPlane( plane ) {\n\n\t\t// check if the ray lies on the plane first\n\n\t\tconst distToPoint = plane.distanceToPoint( this.origin );\n\n\t\tif ( distToPoint === 0 ) {\n\n\t\t\treturn true;\n\n\t\t}\n\n\t\tconst denominator = plane.normal.dot( this.direction );\n\n\t\tif ( denominator * distToPoint < 0 ) {\n\n\t\t\treturn true;\n\n\t\t}\n\n\t\t// ray origin is behind the plane (and is pointing behind it)\n\n\t\treturn false;\n\n\t}\n\n\tintersectBox( box, target ) {\n\n\t\tlet tmin, tmax, tymin, tymax, tzmin, tzmax;\n\n\t\tconst invdirx = 1 / this.direction.x,\n\t\t\tinvdiry = 1 / this.direction.y,\n\t\t\tinvdirz = 1 / this.direction.z;\n\n\t\tconst origin = this.origin;\n\n\t\tif ( invdirx >= 0 ) {\n\n\t\t\ttmin = ( box.min.x - origin.x ) * invdirx;\n\t\t\ttmax = ( box.max.x - origin.x ) * invdirx;\n\n\t\t} else {\n\n\t\t\ttmin = ( box.max.x - origin.x ) * invdirx;\n\t\t\ttmax = ( box.min.x - origin.x ) * invdirx;\n\n\t\t}\n\n\t\tif ( invdiry >= 0 ) {\n\n\t\t\ttymin = ( box.min.y - origin.y ) * invdiry;\n\t\t\ttymax = ( box.max.y - origin.y ) * invdiry;\n\n\t\t} else {\n\n\t\t\ttymin = ( box.max.y - origin.y ) * invdiry;\n\t\t\ttymax = ( box.min.y - origin.y ) * invdiry;\n\n\t\t}\n\n\t\tif ( ( tmin > tymax ) || ( tymin > tmax ) ) return null;\n\n\t\t// These lines also handle the case where tmin or tmax is NaN\n\t\t// (result of 0 * Infinity). x !== x returns true if x is NaN\n\n\t\tif ( tymin > tmin || tmin !== tmin ) tmin = tymin;\n\n\t\tif ( tymax < tmax || tmax !== tmax ) tmax = tymax;\n\n\t\tif ( invdirz >= 0 ) {\n\n\t\t\ttzmin = ( box.min.z - origin.z ) * invdirz;\n\t\t\ttzmax = ( box.max.z - origin.z ) * invdirz;\n\n\t\t} else {\n\n\t\t\ttzmin = ( box.max.z - origin.z ) * invdirz;\n\t\t\ttzmax = ( box.min.z - origin.z ) * invdirz;\n\n\t\t}\n\n\t\tif ( ( tmin > tzmax ) || ( tzmin > tmax ) ) return null;\n\n\t\tif ( tzmin > tmin || tmin !== tmin ) tmin = tzmin;\n\n\t\tif ( tzmax < tmax || tmax !== tmax ) tmax = tzmax;\n\n\t\t//return point closest to the ray (positive side)\n\n\t\tif ( tmax < 0 ) return null;\n\n\t\treturn this.at( tmin >= 0 ? tmin : tmax, target );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn this.intersectBox( box, _vector$a ) !== null;\n\n\t}\n\n\tintersectTriangle( a, b, c, backfaceCulling, target ) {\n\n\t\t// Compute the offset origin, edges, and normal.\n\n\t\t// from https://github.com/pmjoniak/GeometricTools/blob/master/GTEngine/Include/Mathematics/GteIntrRay3Triangle3.h\n\n\t\t_edge1.subVectors( b, a );\n\t\t_edge2.subVectors( c, a );\n\t\t_normal$1.crossVectors( _edge1, _edge2 );\n\n\t\t// Solve Q + t*D = b1*E1 + b2*E2 (Q = kDiff, D = ray direction,\n\t\t// E1 = kEdge1, E2 = kEdge2, N = Cross(E1,E2)) by\n\t\t// |Dot(D,N)|*b1 = sign(Dot(D,N))*Dot(D,Cross(Q,E2))\n\t\t// |Dot(D,N)|*b2 = sign(Dot(D,N))*Dot(D,Cross(E1,Q))\n\t\t// |Dot(D,N)|*t = -sign(Dot(D,N))*Dot(Q,N)\n\t\tlet DdN = this.direction.dot( _normal$1 );\n\t\tlet sign;\n\n\t\tif ( DdN > 0 ) {\n\n\t\t\tif ( backfaceCulling ) return null;\n\t\t\tsign = 1;\n\n\t\t} else if ( DdN < 0 ) {\n\n\t\t\tsign = - 1;\n\t\t\tDdN = - DdN;\n\n\t\t} else {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\t_diff.subVectors( this.origin, a );\n\t\tconst DdQxE2 = sign * this.direction.dot( _edge2.crossVectors( _diff, _edge2 ) );\n\n\t\t// b1 < 0, no intersection\n\t\tif ( DdQxE2 < 0 ) {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\tconst DdE1xQ = sign * this.direction.dot( _edge1.cross( _diff ) );\n\n\t\t// b2 < 0, no intersection\n\t\tif ( DdE1xQ < 0 ) {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\t// b1+b2 > 1, no intersection\n\t\tif ( DdQxE2 + DdE1xQ > DdN ) {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\t// Line intersects triangle, check if ray does.\n\t\tconst QdN = - sign * _diff.dot( _normal$1 );\n\n\t\t// t < 0, no intersection\n\t\tif ( QdN < 0 ) {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\t// Ray intersects triangle.\n\t\treturn this.at( QdN / DdN, target );\n\n\t}\n\n\tapplyMatrix4( matrix4 ) {\n\n\t\tthis.origin.applyMatrix4( matrix4 );\n\t\tthis.direction.transformDirection( matrix4 );\n\n\t\treturn this;\n\n\t}\n\n\tequals( ray ) {\n\n\t\treturn ray.origin.equals( this.origin ) && ray.direction.equals( this.direction );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\nclass Matrix4 {\n\n\tconstructor() {\n\n\t\tMatrix4.prototype.isMatrix4 = true;\n\n\t\tthis.elements = [\n\n\t\t\t1, 0, 0, 0,\n\t\t\t0, 1, 0, 0,\n\t\t\t0, 0, 1, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t];\n\n\t}\n\n\tset( n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44 ) {\n\n\t\tconst te = this.elements;\n\n\t\tte[ 0 ] = n11; te[ 4 ] = n12; te[ 8 ] = n13; te[ 12 ] = n14;\n\t\tte[ 1 ] = n21; te[ 5 ] = n22; te[ 9 ] = n23; te[ 13 ] = n24;\n\t\tte[ 2 ] = n31; te[ 6 ] = n32; te[ 10 ] = n33; te[ 14 ] = n34;\n\t\tte[ 3 ] = n41; te[ 7 ] = n42; te[ 11 ] = n43; te[ 15 ] = n44;\n\n\t\treturn this;\n\n\t}\n\n\tidentity() {\n\n\t\tthis.set(\n\n\t\t\t1, 0, 0, 0,\n\t\t\t0, 1, 0, 0,\n\t\t\t0, 0, 1, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new Matrix4().fromArray( this.elements );\n\n\t}\n\n\tcopy( m ) {\n\n\t\tconst te = this.elements;\n\t\tconst me = m.elements;\n\n\t\tte[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ]; te[ 3 ] = me[ 3 ];\n\t\tte[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ]; te[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ];\n\t\tte[ 8 ] = me[ 8 ]; te[ 9 ] = me[ 9 ]; te[ 10 ] = me[ 10 ]; te[ 11 ] = me[ 11 ];\n\t\tte[ 12 ] = me[ 12 ]; te[ 13 ] = me[ 13 ]; te[ 14 ] = me[ 14 ]; te[ 15 ] = me[ 15 ];\n\n\t\treturn this;\n\n\t}\n\n\tcopyPosition( m ) {\n\n\t\tconst te = this.elements, me = m.elements;\n\n\t\tte[ 12 ] = me[ 12 ];\n\t\tte[ 13 ] = me[ 13 ];\n\t\tte[ 14 ] = me[ 14 ];\n\n\t\treturn this;\n\n\t}\n\n\tsetFromMatrix3( m ) {\n\n\t\tconst me = m.elements;\n\n\t\tthis.set(\n\n\t\t\tme[ 0 ], me[ 3 ], me[ 6 ], 0,\n\t\t\tme[ 1 ], me[ 4 ], me[ 7 ], 0,\n\t\t\tme[ 2 ], me[ 5 ], me[ 8 ], 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\textractBasis( xAxis, yAxis, zAxis ) {\n\n\t\txAxis.setFromMatrixColumn( this, 0 );\n\t\tyAxis.setFromMatrixColumn( this, 1 );\n\t\tzAxis.setFromMatrixColumn( this, 2 );\n\n\t\treturn this;\n\n\t}\n\n\tmakeBasis( xAxis, yAxis, zAxis ) {\n\n\t\tthis.set(\n\t\t\txAxis.x, yAxis.x, zAxis.x, 0,\n\t\t\txAxis.y, yAxis.y, zAxis.y, 0,\n\t\t\txAxis.z, yAxis.z, zAxis.z, 0,\n\t\t\t0, 0, 0, 1\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\textractRotation( m ) {\n\n\t\t// this method does not support reflection matrices\n\n\t\tconst te = this.elements;\n\t\tconst me = m.elements;\n\n\t\tconst scaleX = 1 / _v1$5.setFromMatrixColumn( m, 0 ).length();\n\t\tconst scaleY = 1 / _v1$5.setFromMatrixColumn( m, 1 ).length();\n\t\tconst scaleZ = 1 / _v1$5.setFromMatrixColumn( m, 2 ).length();\n\n\t\tte[ 0 ] = me[ 0 ] * scaleX;\n\t\tte[ 1 ] = me[ 1 ] * scaleX;\n\t\tte[ 2 ] = me[ 2 ] * scaleX;\n\t\tte[ 3 ] = 0;\n\n\t\tte[ 4 ] = me[ 4 ] * scaleY;\n\t\tte[ 5 ] = me[ 5 ] * scaleY;\n\t\tte[ 6 ] = me[ 6 ] * scaleY;\n\t\tte[ 7 ] = 0;\n\n\t\tte[ 8 ] = me[ 8 ] * scaleZ;\n\t\tte[ 9 ] = me[ 9 ] * scaleZ;\n\t\tte[ 10 ] = me[ 10 ] * scaleZ;\n\t\tte[ 11 ] = 0;\n\n\t\tte[ 12 ] = 0;\n\t\tte[ 13 ] = 0;\n\t\tte[ 14 ] = 0;\n\t\tte[ 15 ] = 1;\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotationFromEuler( euler ) {\n\n\t\tconst te = this.elements;\n\n\t\tconst x = euler.x, y = euler.y, z = euler.z;\n\t\tconst a = Math.cos( x ), b = Math.sin( x );\n\t\tconst c = Math.cos( y ), d = Math.sin( y );\n\t\tconst e = Math.cos( z ), f = Math.sin( z );\n\n\t\tif ( euler.order === 'XYZ' ) {\n\n\t\t\tconst ae = a * e, af = a * f, be = b * e, bf = b * f;\n\n\t\t\tte[ 0 ] = c * e;\n\t\t\tte[ 4 ] = - c * f;\n\t\t\tte[ 8 ] = d;\n\n\t\t\tte[ 1 ] = af + be * d;\n\t\t\tte[ 5 ] = ae - bf * d;\n\t\t\tte[ 9 ] = - b * c;\n\n\t\t\tte[ 2 ] = bf - ae * d;\n\t\t\tte[ 6 ] = be + af * d;\n\t\t\tte[ 10 ] = a * c;\n\n\t\t} else if ( euler.order === 'YXZ' ) {\n\n\t\t\tconst ce = c * e, cf = c * f, de = d * e, df = d * f;\n\n\t\t\tte[ 0 ] = ce + df * b;\n\t\t\tte[ 4 ] = de * b - cf;\n\t\t\tte[ 8 ] = a * d;\n\n\t\t\tte[ 1 ] = a * f;\n\t\t\tte[ 5 ] = a * e;\n\t\t\tte[ 9 ] = - b;\n\n\t\t\tte[ 2 ] = cf * b - de;\n\t\t\tte[ 6 ] = df + ce * b;\n\t\t\tte[ 10 ] = a * c;\n\n\t\t} else if ( euler.order === 'ZXY' ) {\n\n\t\t\tconst ce = c * e, cf = c * f, de = d * e, df = d * f;\n\n\t\t\tte[ 0 ] = ce - df * b;\n\t\t\tte[ 4 ] = - a * f;\n\t\t\tte[ 8 ] = de + cf * b;\n\n\t\t\tte[ 1 ] = cf + de * b;\n\t\t\tte[ 5 ] = a * e;\n\t\t\tte[ 9 ] = df - ce * b;\n\n\t\t\tte[ 2 ] = - a * d;\n\t\t\tte[ 6 ] = b;\n\t\t\tte[ 10 ] = a * c;\n\n\t\t} else if ( euler.order === 'ZYX' ) {\n\n\t\t\tconst ae = a * e, af = a * f, be = b * e, bf = b * f;\n\n\t\t\tte[ 0 ] = c * e;\n\t\t\tte[ 4 ] = be * d - af;\n\t\t\tte[ 8 ] = ae * d + bf;\n\n\t\t\tte[ 1 ] = c * f;\n\t\t\tte[ 5 ] = bf * d + ae;\n\t\t\tte[ 9 ] = af * d - be;\n\n\t\t\tte[ 2 ] = - d;\n\t\t\tte[ 6 ] = b * c;\n\t\t\tte[ 10 ] = a * c;\n\n\t\t} else if ( euler.order === 'YZX' ) {\n\n\t\t\tconst ac = a * c, ad = a * d, bc = b * c, bd = b * d;\n\n\t\t\tte[ 0 ] = c * e;\n\t\t\tte[ 4 ] = bd - ac * f;\n\t\t\tte[ 8 ] = bc * f + ad;\n\n\t\t\tte[ 1 ] = f;\n\t\t\tte[ 5 ] = a * e;\n\t\t\tte[ 9 ] = - b * e;\n\n\t\t\tte[ 2 ] = - d * e;\n\t\t\tte[ 6 ] = ad * f + bc;\n\t\t\tte[ 10 ] = ac - bd * f;\n\n\t\t} else if ( euler.order === 'XZY' ) {\n\n\t\t\tconst ac = a * c, ad = a * d, bc = b * c, bd = b * d;\n\n\t\t\tte[ 0 ] = c * e;\n\t\t\tte[ 4 ] = - f;\n\t\t\tte[ 8 ] = d * e;\n\n\t\t\tte[ 1 ] = ac * f + bd;\n\t\t\tte[ 5 ] = a * e;\n\t\t\tte[ 9 ] = ad * f - bc;\n\n\t\t\tte[ 2 ] = bc * f - ad;\n\t\t\tte[ 6 ] = b * e;\n\t\t\tte[ 10 ] = bd * f + ac;\n\n\t\t}\n\n\t\t// bottom row\n\t\tte[ 3 ] = 0;\n\t\tte[ 7 ] = 0;\n\t\tte[ 11 ] = 0;\n\n\t\t// last column\n\t\tte[ 12 ] = 0;\n\t\tte[ 13 ] = 0;\n\t\tte[ 14 ] = 0;\n\t\tte[ 15 ] = 1;\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotationFromQuaternion( q ) {\n\n\t\treturn this.compose( _zero, q, _one );\n\n\t}\n\n\tlookAt( eye, target, up ) {\n\n\t\tconst te = this.elements;\n\n\t\t_z.subVectors( eye, target );\n\n\t\tif ( _z.lengthSq() === 0 ) {\n\n\t\t\t// eye and target are in the same position\n\n\t\t\t_z.z = 1;\n\n\t\t}\n\n\t\t_z.normalize();\n\t\t_x.crossVectors( up, _z );\n\n\t\tif ( _x.lengthSq() === 0 ) {\n\n\t\t\t// up and z are parallel\n\n\t\t\tif ( Math.abs( up.z ) === 1 ) {\n\n\t\t\t\t_z.x += 0.0001;\n\n\t\t\t} else {\n\n\t\t\t\t_z.z += 0.0001;\n\n\t\t\t}\n\n\t\t\t_z.normalize();\n\t\t\t_x.crossVectors( up, _z );\n\n\t\t}\n\n\t\t_x.normalize();\n\t\t_y.crossVectors( _z, _x );\n\n\t\tte[ 0 ] = _x.x; te[ 4 ] = _y.x; te[ 8 ] = _z.x;\n\t\tte[ 1 ] = _x.y; te[ 5 ] = _y.y; te[ 9 ] = _z.y;\n\t\tte[ 2 ] = _x.z; te[ 6 ] = _y.z; te[ 10 ] = _z.z;\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( m ) {\n\n\t\treturn this.multiplyMatrices( this, m );\n\n\t}\n\n\tpremultiply( m ) {\n\n\t\treturn this.multiplyMatrices( m, this );\n\n\t}\n\n\tmultiplyMatrices( a, b ) {\n\n\t\tconst ae = a.elements;\n\t\tconst be = b.elements;\n\t\tconst te = this.elements;\n\n\t\tconst a11 = ae[ 0 ], a12 = ae[ 4 ], a13 = ae[ 8 ], a14 = ae[ 12 ];\n\t\tconst a21 = ae[ 1 ], a22 = ae[ 5 ], a23 = ae[ 9 ], a24 = ae[ 13 ];\n\t\tconst a31 = ae[ 2 ], a32 = ae[ 6 ], a33 = ae[ 10 ], a34 = ae[ 14 ];\n\t\tconst a41 = ae[ 3 ], a42 = ae[ 7 ], a43 = ae[ 11 ], a44 = ae[ 15 ];\n\n\t\tconst b11 = be[ 0 ], b12 = be[ 4 ], b13 = be[ 8 ], b14 = be[ 12 ];\n\t\tconst b21 = be[ 1 ], b22 = be[ 5 ], b23 = be[ 9 ], b24 = be[ 13 ];\n\t\tconst b31 = be[ 2 ], b32 = be[ 6 ], b33 = be[ 10 ], b34 = be[ 14 ];\n\t\tconst b41 = be[ 3 ], b42 = be[ 7 ], b43 = be[ 11 ], b44 = be[ 15 ];\n\n\t\tte[ 0 ] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41;\n\t\tte[ 4 ] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42;\n\t\tte[ 8 ] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43;\n\t\tte[ 12 ] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44;\n\n\t\tte[ 1 ] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41;\n\t\tte[ 5 ] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42;\n\t\tte[ 9 ] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43;\n\t\tte[ 13 ] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44;\n\n\t\tte[ 2 ] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41;\n\t\tte[ 6 ] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42;\n\t\tte[ 10 ] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43;\n\t\tte[ 14 ] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44;\n\n\t\tte[ 3 ] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41;\n\t\tte[ 7 ] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42;\n\t\tte[ 11 ] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43;\n\t\tte[ 15 ] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyScalar( s ) {\n\n\t\tconst te = this.elements;\n\n\t\tte[ 0 ] *= s; te[ 4 ] *= s; te[ 8 ] *= s; te[ 12 ] *= s;\n\t\tte[ 1 ] *= s; te[ 5 ] *= s; te[ 9 ] *= s; te[ 13 ] *= s;\n\t\tte[ 2 ] *= s; te[ 6 ] *= s; te[ 10 ] *= s; te[ 14 ] *= s;\n\t\tte[ 3 ] *= s; te[ 7 ] *= s; te[ 11 ] *= s; te[ 15 ] *= s;\n\n\t\treturn this;\n\n\t}\n\n\tdeterminant() {\n\n\t\tconst te = this.elements;\n\n\t\tconst n11 = te[ 0 ], n12 = te[ 4 ], n13 = te[ 8 ], n14 = te[ 12 ];\n\t\tconst n21 = te[ 1 ], n22 = te[ 5 ], n23 = te[ 9 ], n24 = te[ 13 ];\n\t\tconst n31 = te[ 2 ], n32 = te[ 6 ], n33 = te[ 10 ], n34 = te[ 14 ];\n\t\tconst n41 = te[ 3 ], n42 = te[ 7 ], n43 = te[ 11 ], n44 = te[ 15 ];\n\n\t\t//TODO: make this more efficient\n\t\t//( based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm )\n\n\t\treturn (\n\t\t\tn41 * (\n\t\t\t\t+ n14 * n23 * n32\n\t\t\t\t - n13 * n24 * n32\n\t\t\t\t - n14 * n22 * n33\n\t\t\t\t + n12 * n24 * n33\n\t\t\t\t + n13 * n22 * n34\n\t\t\t\t - n12 * n23 * n34\n\t\t\t) +\n\t\t\tn42 * (\n\t\t\t\t+ n11 * n23 * n34\n\t\t\t\t - n11 * n24 * n33\n\t\t\t\t + n14 * n21 * n33\n\t\t\t\t - n13 * n21 * n34\n\t\t\t\t + n13 * n24 * n31\n\t\t\t\t - n14 * n23 * n31\n\t\t\t) +\n\t\t\tn43 * (\n\t\t\t\t+ n11 * n24 * n32\n\t\t\t\t - n11 * n22 * n34\n\t\t\t\t - n14 * n21 * n32\n\t\t\t\t + n12 * n21 * n34\n\t\t\t\t + n14 * n22 * n31\n\t\t\t\t - n12 * n24 * n31\n\t\t\t) +\n\t\t\tn44 * (\n\t\t\t\t- n13 * n22 * n31\n\t\t\t\t - n11 * n23 * n32\n\t\t\t\t + n11 * n22 * n33\n\t\t\t\t + n13 * n21 * n32\n\t\t\t\t - n12 * n21 * n33\n\t\t\t\t + n12 * n23 * n31\n\t\t\t)\n\n\t\t);\n\n\t}\n\n\ttranspose() {\n\n\t\tconst te = this.elements;\n\t\tlet tmp;\n\n\t\ttmp = te[ 1 ]; te[ 1 ] = te[ 4 ]; te[ 4 ] = tmp;\n\t\ttmp = te[ 2 ]; te[ 2 ] = te[ 8 ]; te[ 8 ] = tmp;\n\t\ttmp = te[ 6 ]; te[ 6 ] = te[ 9 ]; te[ 9 ] = tmp;\n\n\t\ttmp = te[ 3 ]; te[ 3 ] = te[ 12 ]; te[ 12 ] = tmp;\n\t\ttmp = te[ 7 ]; te[ 7 ] = te[ 13 ]; te[ 13 ] = tmp;\n\t\ttmp = te[ 11 ]; te[ 11 ] = te[ 14 ]; te[ 14 ] = tmp;\n\n\t\treturn this;\n\n\t}\n\n\tsetPosition( x, y, z ) {\n\n\t\tconst te = this.elements;\n\n\t\tif ( x.isVector3 ) {\n\n\t\t\tte[ 12 ] = x.x;\n\t\t\tte[ 13 ] = x.y;\n\t\t\tte[ 14 ] = x.z;\n\n\t\t} else {\n\n\t\t\tte[ 12 ] = x;\n\t\t\tte[ 13 ] = y;\n\t\t\tte[ 14 ] = z;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tinvert() {\n\n\t\t// based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm\n\t\tconst te = this.elements,\n\n\t\t\tn11 = te[ 0 ], n21 = te[ 1 ], n31 = te[ 2 ], n41 = te[ 3 ],\n\t\t\tn12 = te[ 4 ], n22 = te[ 5 ], n32 = te[ 6 ], n42 = te[ 7 ],\n\t\t\tn13 = te[ 8 ], n23 = te[ 9 ], n33 = te[ 10 ], n43 = te[ 11 ],\n\t\t\tn14 = te[ 12 ], n24 = te[ 13 ], n34 = te[ 14 ], n44 = te[ 15 ],\n\n\t\t\tt11 = n23 * n34 * n42 - n24 * n33 * n42 + n24 * n32 * n43 - n22 * n34 * n43 - n23 * n32 * n44 + n22 * n33 * n44,\n\t\t\tt12 = n14 * n33 * n42 - n13 * n34 * n42 - n14 * n32 * n43 + n12 * n34 * n43 + n13 * n32 * n44 - n12 * n33 * n44,\n\t\t\tt13 = n13 * n24 * n42 - n14 * n23 * n42 + n14 * n22 * n43 - n12 * n24 * n43 - n13 * n22 * n44 + n12 * n23 * n44,\n\t\t\tt14 = n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34;\n\n\t\tconst det = n11 * t11 + n21 * t12 + n31 * t13 + n41 * t14;\n\n\t\tif ( det === 0 ) return this.set( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );\n\n\t\tconst detInv = 1 / det;\n\n\t\tte[ 0 ] = t11 * detInv;\n\t\tte[ 1 ] = ( n24 * n33 * n41 - n23 * n34 * n41 - n24 * n31 * n43 + n21 * n34 * n43 + n23 * n31 * n44 - n21 * n33 * n44 ) * detInv;\n\t\tte[ 2 ] = ( n22 * n34 * n41 - n24 * n32 * n41 + n24 * n31 * n42 - n21 * n34 * n42 - n22 * n31 * n44 + n21 * n32 * n44 ) * detInv;\n\t\tte[ 3 ] = ( n23 * n32 * n41 - n22 * n33 * n41 - n23 * n31 * n42 + n21 * n33 * n42 + n22 * n31 * n43 - n21 * n32 * n43 ) * detInv;\n\n\t\tte[ 4 ] = t12 * detInv;\n\t\tte[ 5 ] = ( n13 * n34 * n41 - n14 * n33 * n41 + n14 * n31 * n43 - n11 * n34 * n43 - n13 * n31 * n44 + n11 * n33 * n44 ) * detInv;\n\t\tte[ 6 ] = ( n14 * n32 * n41 - n12 * n34 * n41 - n14 * n31 * n42 + n11 * n34 * n42 + n12 * n31 * n44 - n11 * n32 * n44 ) * detInv;\n\t\tte[ 7 ] = ( n12 * n33 * n41 - n13 * n32 * n41 + n13 * n31 * n42 - n11 * n33 * n42 - n12 * n31 * n43 + n11 * n32 * n43 ) * detInv;\n\n\t\tte[ 8 ] = t13 * detInv;\n\t\tte[ 9 ] = ( n14 * n23 * n41 - n13 * n24 * n41 - n14 * n21 * n43 + n11 * n24 * n43 + n13 * n21 * n44 - n11 * n23 * n44 ) * detInv;\n\t\tte[ 10 ] = ( n12 * n24 * n41 - n14 * n22 * n41 + n14 * n21 * n42 - n11 * n24 * n42 - n12 * n21 * n44 + n11 * n22 * n44 ) * detInv;\n\t\tte[ 11 ] = ( n13 * n22 * n41 - n12 * n23 * n41 - n13 * n21 * n42 + n11 * n23 * n42 + n12 * n21 * n43 - n11 * n22 * n43 ) * detInv;\n\n\t\tte[ 12 ] = t14 * detInv;\n\t\tte[ 13 ] = ( n13 * n24 * n31 - n14 * n23 * n31 + n14 * n21 * n33 - n11 * n24 * n33 - n13 * n21 * n34 + n11 * n23 * n34 ) * detInv;\n\t\tte[ 14 ] = ( n14 * n22 * n31 - n12 * n24 * n31 - n14 * n21 * n32 + n11 * n24 * n32 + n12 * n21 * n34 - n11 * n22 * n34 ) * detInv;\n\t\tte[ 15 ] = ( n12 * n23 * n31 - n13 * n22 * n31 + n13 * n21 * n32 - n11 * n23 * n32 - n12 * n21 * n33 + n11 * n22 * n33 ) * detInv;\n\n\t\treturn this;\n\n\t}\n\n\tscale( v ) {\n\n\t\tconst te = this.elements;\n\t\tconst x = v.x, y = v.y, z = v.z;\n\n\t\tte[ 0 ] *= x; te[ 4 ] *= y; te[ 8 ] *= z;\n\t\tte[ 1 ] *= x; te[ 5 ] *= y; te[ 9 ] *= z;\n\t\tte[ 2 ] *= x; te[ 6 ] *= y; te[ 10 ] *= z;\n\t\tte[ 3 ] *= x; te[ 7 ] *= y; te[ 11 ] *= z;\n\n\t\treturn this;\n\n\t}\n\n\tgetMaxScaleOnAxis() {\n\n\t\tconst te = this.elements;\n\n\t\tconst scaleXSq = te[ 0 ] * te[ 0 ] + te[ 1 ] * te[ 1 ] + te[ 2 ] * te[ 2 ];\n\t\tconst scaleYSq = te[ 4 ] * te[ 4 ] + te[ 5 ] * te[ 5 ] + te[ 6 ] * te[ 6 ];\n\t\tconst scaleZSq = te[ 8 ] * te[ 8 ] + te[ 9 ] * te[ 9 ] + te[ 10 ] * te[ 10 ];\n\n\t\treturn Math.sqrt( Math.max( scaleXSq, scaleYSq, scaleZSq ) );\n\n\t}\n\n\tmakeTranslation( x, y, z ) {\n\n\t\tthis.set(\n\n\t\t\t1, 0, 0, x,\n\t\t\t0, 1, 0, y,\n\t\t\t0, 0, 1, z,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotationX( theta ) {\n\n\t\tconst c = Math.cos( theta ), s = Math.sin( theta );\n\n\t\tthis.set(\n\n\t\t\t1, 0, 0, 0,\n\t\t\t0, c, - s, 0,\n\t\t\t0, s, c, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotationY( theta ) {\n\n\t\tconst c = Math.cos( theta ), s = Math.sin( theta );\n\n\t\tthis.set(\n\n\t\t\t c, 0, s, 0,\n\t\t\t 0, 1, 0, 0,\n\t\t\t- s, 0, c, 0,\n\t\t\t 0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotationZ( theta ) {\n\n\t\tconst c = Math.cos( theta ), s = Math.sin( theta );\n\n\t\tthis.set(\n\n\t\t\tc, - s, 0, 0,\n\t\t\ts, c, 0, 0,\n\t\t\t0, 0, 1, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotationAxis( axis, angle ) {\n\n\t\t// Based on http://www.gamedev.net/reference/articles/article1199.asp\n\n\t\tconst c = Math.cos( angle );\n\t\tconst s = Math.sin( angle );\n\t\tconst t = 1 - c;\n\t\tconst x = axis.x, y = axis.y, z = axis.z;\n\t\tconst tx = t * x, ty = t * y;\n\n\t\tthis.set(\n\n\t\t\ttx * x + c, tx * y - s * z, tx * z + s * y, 0,\n\t\t\ttx * y + s * z, ty * y + c, ty * z - s * x, 0,\n\t\t\ttx * z - s * y, ty * z + s * x, t * z * z + c, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmakeScale( x, y, z ) {\n\n\t\tthis.set(\n\n\t\t\tx, 0, 0, 0,\n\t\t\t0, y, 0, 0,\n\t\t\t0, 0, z, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmakeShear( xy, xz, yx, yz, zx, zy ) {\n\n\t\tthis.set(\n\n\t\t\t1, yx, zx, 0,\n\t\t\txy, 1, zy, 0,\n\t\t\txz, yz, 1, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tcompose( position, quaternion, scale ) {\n\n\t\tconst te = this.elements;\n\n\t\tconst x = quaternion._x, y = quaternion._y, z = quaternion._z, w = quaternion._w;\n\t\tconst x2 = x + x,\ty2 = y + y, z2 = z + z;\n\t\tconst xx = x * x2, xy = x * y2, xz = x * z2;\n\t\tconst yy = y * y2, yz = y * z2, zz = z * z2;\n\t\tconst wx = w * x2, wy = w * y2, wz = w * z2;\n\n\t\tconst sx = scale.x, sy = scale.y, sz = scale.z;\n\n\t\tte[ 0 ] = ( 1 - ( yy + zz ) ) * sx;\n\t\tte[ 1 ] = ( xy + wz ) * sx;\n\t\tte[ 2 ] = ( xz - wy ) * sx;\n\t\tte[ 3 ] = 0;\n\n\t\tte[ 4 ] = ( xy - wz ) * sy;\n\t\tte[ 5 ] = ( 1 - ( xx + zz ) ) * sy;\n\t\tte[ 6 ] = ( yz + wx ) * sy;\n\t\tte[ 7 ] = 0;\n\n\t\tte[ 8 ] = ( xz + wy ) * sz;\n\t\tte[ 9 ] = ( yz - wx ) * sz;\n\t\tte[ 10 ] = ( 1 - ( xx + yy ) ) * sz;\n\t\tte[ 11 ] = 0;\n\n\t\tte[ 12 ] = position.x;\n\t\tte[ 13 ] = position.y;\n\t\tte[ 14 ] = position.z;\n\t\tte[ 15 ] = 1;\n\n\t\treturn this;\n\n\t}\n\n\tdecompose( position, quaternion, scale ) {\n\n\t\tconst te = this.elements;\n\n\t\tlet sx = _v1$5.set( te[ 0 ], te[ 1 ], te[ 2 ] ).length();\n\t\tconst sy = _v1$5.set( te[ 4 ], te[ 5 ], te[ 6 ] ).length();\n\t\tconst sz = _v1$5.set( te[ 8 ], te[ 9 ], te[ 10 ] ).length();\n\n\t\t// if determine is negative, we need to invert one scale\n\t\tconst det = this.determinant();\n\t\tif ( det < 0 ) sx = - sx;\n\n\t\tposition.x = te[ 12 ];\n\t\tposition.y = te[ 13 ];\n\t\tposition.z = te[ 14 ];\n\n\t\t// scale the rotation part\n\t\t_m1$2.copy( this );\n\n\t\tconst invSX = 1 / sx;\n\t\tconst invSY = 1 / sy;\n\t\tconst invSZ = 1 / sz;\n\n\t\t_m1$2.elements[ 0 ] *= invSX;\n\t\t_m1$2.elements[ 1 ] *= invSX;\n\t\t_m1$2.elements[ 2 ] *= invSX;\n\n\t\t_m1$2.elements[ 4 ] *= invSY;\n\t\t_m1$2.elements[ 5 ] *= invSY;\n\t\t_m1$2.elements[ 6 ] *= invSY;\n\n\t\t_m1$2.elements[ 8 ] *= invSZ;\n\t\t_m1$2.elements[ 9 ] *= invSZ;\n\t\t_m1$2.elements[ 10 ] *= invSZ;\n\n\t\tquaternion.setFromRotationMatrix( _m1$2 );\n\n\t\tscale.x = sx;\n\t\tscale.y = sy;\n\t\tscale.z = sz;\n\n\t\treturn this;\n\n\t}\n\n\tmakePerspective( left, right, top, bottom, near, far ) {\n\n\t\tconst te = this.elements;\n\t\tconst x = 2 * near / ( right - left );\n\t\tconst y = 2 * near / ( top - bottom );\n\n\t\tconst a = ( right + left ) / ( right - left );\n\t\tconst b = ( top + bottom ) / ( top - bottom );\n\t\tconst c = - ( far + near ) / ( far - near );\n\t\tconst d = - 2 * far * near / ( far - near );\n\n\t\tte[ 0 ] = x;\tte[ 4 ] = 0;\tte[ 8 ] = a;\tte[ 12 ] = 0;\n\t\tte[ 1 ] = 0;\tte[ 5 ] = y;\tte[ 9 ] = b;\tte[ 13 ] = 0;\n\t\tte[ 2 ] = 0;\tte[ 6 ] = 0;\tte[ 10 ] = c;\tte[ 14 ] = d;\n\t\tte[ 3 ] = 0;\tte[ 7 ] = 0;\tte[ 11 ] = - 1;\tte[ 15 ] = 0;\n\n\t\treturn this;\n\n\t}\n\n\tmakeOrthographic( left, right, top, bottom, near, far ) {\n\n\t\tconst te = this.elements;\n\t\tconst w = 1.0 / ( right - left );\n\t\tconst h = 1.0 / ( top - bottom );\n\t\tconst p = 1.0 / ( far - near );\n\n\t\tconst x = ( right + left ) * w;\n\t\tconst y = ( top + bottom ) * h;\n\t\tconst z = ( far + near ) * p;\n\n\t\tte[ 0 ] = 2 * w;\tte[ 4 ] = 0;\tte[ 8 ] = 0;\tte[ 12 ] = - x;\n\t\tte[ 1 ] = 0;\tte[ 5 ] = 2 * h;\tte[ 9 ] = 0;\tte[ 13 ] = - y;\n\t\tte[ 2 ] = 0;\tte[ 6 ] = 0;\tte[ 10 ] = - 2 * p;\tte[ 14 ] = - z;\n\t\tte[ 3 ] = 0;\tte[ 7 ] = 0;\tte[ 11 ] = 0;\tte[ 15 ] = 1;\n\n\t\treturn this;\n\n\t}\n\n\tequals( matrix ) {\n\n\t\tconst te = this.elements;\n\t\tconst me = matrix.elements;\n\n\t\tfor ( let i = 0; i < 16; i ++ ) {\n\n\t\t\tif ( te[ i ] !== me[ i ] ) return false;\n\n\t\t}\n\n\t\treturn true;\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tfor ( let i = 0; i < 16; i ++ ) {\n\n\t\t\tthis.elements[ i ] = array[ i + offset ];\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tconst te = this.elements;\n\n\t\tarray[ offset ] = te[ 0 ];\n\t\tarray[ offset + 1 ] = te[ 1 ];\n\t\tarray[ offset + 2 ] = te[ 2 ];\n\t\tarray[ offset + 3 ] = te[ 3 ];\n\n\t\tarray[ offset + 4 ] = te[ 4 ];\n\t\tarray[ offset + 5 ] = te[ 5 ];\n\t\tarray[ offset + 6 ] = te[ 6 ];\n\t\tarray[ offset + 7 ] = te[ 7 ];\n\n\t\tarray[ offset + 8 ] = te[ 8 ];\n\t\tarray[ offset + 9 ] = te[ 9 ];\n\t\tarray[ offset + 10 ] = te[ 10 ];\n\t\tarray[ offset + 11 ] = te[ 11 ];\n\n\t\tarray[ offset + 12 ] = te[ 12 ];\n\t\tarray[ offset + 13 ] = te[ 13 ];\n\t\tarray[ offset + 14 ] = te[ 14 ];\n\t\tarray[ offset + 15 ] = te[ 15 ];\n\n\t\treturn array;\n\n\t}\n\n}\n\nconst _v1$5 = /*@__PURE__*/ new Vector3();\nconst _m1$2 = /*@__PURE__*/ new Matrix4();\nconst _zero = /*@__PURE__*/ new Vector3( 0, 0, 0 );\nconst _one = /*@__PURE__*/ new Vector3( 1, 1, 1 );\nconst _x = /*@__PURE__*/ new Vector3();\nconst _y = /*@__PURE__*/ new Vector3();\nconst _z = /*@__PURE__*/ new Vector3();\n\nconst _matrix$1 = /*@__PURE__*/ new Matrix4();\nconst _quaternion$3 = /*@__PURE__*/ new Quaternion();\n\nclass Euler {\n\n\tconstructor( x = 0, y = 0, z = 0, order = Euler.DefaultOrder ) {\n\n\t\tthis.isEuler = true;\n\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._z = z;\n\t\tthis._order = order;\n\n\t}\n\n\tget x() {\n\n\t\treturn this._x;\n\n\t}\n\n\tset x( value ) {\n\n\t\tthis._x = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget y() {\n\n\t\treturn this._y;\n\n\t}\n\n\tset y( value ) {\n\n\t\tthis._y = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget z() {\n\n\t\treturn this._z;\n\n\t}\n\n\tset z( value ) {\n\n\t\tthis._z = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget order() {\n\n\t\treturn this._order;\n\n\t}\n\n\tset order( value ) {\n\n\t\tthis._order = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tset( x, y, z, order = this._order ) {\n\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._z = z;\n\t\tthis._order = order;\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this._x, this._y, this._z, this._order );\n\n\t}\n\n\tcopy( euler ) {\n\n\t\tthis._x = euler._x;\n\t\tthis._y = euler._y;\n\t\tthis._z = euler._z;\n\t\tthis._order = euler._order;\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tsetFromRotationMatrix( m, order = this._order, update = true ) {\n\n\t\t// assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)\n\n\t\tconst te = m.elements;\n\t\tconst m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ];\n\t\tconst m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ];\n\t\tconst m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ];\n\n\t\tswitch ( order ) {\n\n\t\t\tcase 'XYZ':\n\n\t\t\t\tthis._y = Math.asin( clamp( m13, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m13 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._x = Math.atan2( - m23, m33 );\n\t\t\t\t\tthis._z = Math.atan2( - m12, m11 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._x = Math.atan2( m32, m22 );\n\t\t\t\t\tthis._z = 0;\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'YXZ':\n\n\t\t\t\tthis._x = Math.asin( - clamp( m23, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m23 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._y = Math.atan2( m13, m33 );\n\t\t\t\t\tthis._z = Math.atan2( m21, m22 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._y = Math.atan2( - m31, m11 );\n\t\t\t\t\tthis._z = 0;\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'ZXY':\n\n\t\t\t\tthis._x = Math.asin( clamp( m32, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m32 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._y = Math.atan2( - m31, m33 );\n\t\t\t\t\tthis._z = Math.atan2( - m12, m22 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._y = 0;\n\t\t\t\t\tthis._z = Math.atan2( m21, m11 );\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'ZYX':\n\n\t\t\t\tthis._y = Math.asin( - clamp( m31, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m31 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._x = Math.atan2( m32, m33 );\n\t\t\t\t\tthis._z = Math.atan2( m21, m11 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._x = 0;\n\t\t\t\t\tthis._z = Math.atan2( - m12, m22 );\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'YZX':\n\n\t\t\t\tthis._z = Math.asin( clamp( m21, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m21 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._x = Math.atan2( - m23, m22 );\n\t\t\t\t\tthis._y = Math.atan2( - m31, m11 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._x = 0;\n\t\t\t\t\tthis._y = Math.atan2( m13, m33 );\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'XZY':\n\n\t\t\t\tthis._z = Math.asin( - clamp( m12, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m12 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._x = Math.atan2( m32, m22 );\n\t\t\t\t\tthis._y = Math.atan2( m13, m11 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._x = Math.atan2( - m23, m33 );\n\t\t\t\t\tthis._y = 0;\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\n\t\t\t\tconsole.warn( 'THREE.Euler: .setFromRotationMatrix() encountered an unknown order: ' + order );\n\n\t\t}\n\n\t\tthis._order = order;\n\n\t\tif ( update === true ) this._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tsetFromQuaternion( q, order, update ) {\n\n\t\t_matrix$1.makeRotationFromQuaternion( q );\n\n\t\treturn this.setFromRotationMatrix( _matrix$1, order, update );\n\n\t}\n\n\tsetFromVector3( v, order = this._order ) {\n\n\t\treturn this.set( v.x, v.y, v.z, order );\n\n\t}\n\n\treorder( newOrder ) {\n\n\t\t// WARNING: this discards revolution information -bhouston\n\n\t\t_quaternion$3.setFromEuler( this );\n\n\t\treturn this.setFromQuaternion( _quaternion$3, newOrder );\n\n\t}\n\n\tequals( euler ) {\n\n\t\treturn ( euler._x === this._x ) && ( euler._y === this._y ) && ( euler._z === this._z ) && ( euler._order === this._order );\n\n\t}\n\n\tfromArray( array ) {\n\n\t\tthis._x = array[ 0 ];\n\t\tthis._y = array[ 1 ];\n\t\tthis._z = array[ 2 ];\n\t\tif ( array[ 3 ] !== undefined ) this._order = array[ 3 ];\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tarray[ offset ] = this._x;\n\t\tarray[ offset + 1 ] = this._y;\n\t\tarray[ offset + 2 ] = this._z;\n\t\tarray[ offset + 3 ] = this._order;\n\n\t\treturn array;\n\n\t}\n\n\t_onChange( callback ) {\n\n\t\tthis._onChangeCallback = callback;\n\n\t\treturn this;\n\n\t}\n\n\t_onChangeCallback() {}\n\n\t*[ Symbol.iterator ]() {\n\n\t\tyield this._x;\n\t\tyield this._y;\n\t\tyield this._z;\n\t\tyield this._order;\n\n\t}\n\n\t// @deprecated since r138, 02cf0df1cb4575d5842fef9c85bb5a89fe020d53\n\n\ttoVector3() {\n\n\t\tconsole.error( 'THREE.Euler: .toVector3() has been removed. Use Vector3.setFromEuler() instead' );\n\n\t}\n\n}\n\nEuler.DefaultOrder = 'XYZ';\nEuler.RotationOrders = [ 'XYZ', 'YZX', 'ZXY', 'XZY', 'YXZ', 'ZYX' ];\n\nclass Layers {\n\n\tconstructor() {\n\n\t\tthis.mask = 1 | 0;\n\n\t}\n\n\tset( channel ) {\n\n\t\tthis.mask = ( 1 << channel | 0 ) >>> 0;\n\n\t}\n\n\tenable( channel ) {\n\n\t\tthis.mask |= 1 << channel | 0;\n\n\t}\n\n\tenableAll() {\n\n\t\tthis.mask = 0xffffffff | 0;\n\n\t}\n\n\ttoggle( channel ) {\n\n\t\tthis.mask ^= 1 << channel | 0;\n\n\t}\n\n\tdisable( channel ) {\n\n\t\tthis.mask &= ~ ( 1 << channel | 0 );\n\n\t}\n\n\tdisableAll() {\n\n\t\tthis.mask = 0;\n\n\t}\n\n\ttest( layers ) {\n\n\t\treturn ( this.mask & layers.mask ) !== 0;\n\n\t}\n\n\tisEnabled( channel ) {\n\n\t\treturn ( this.mask & ( 1 << channel | 0 ) ) !== 0;\n\n\t}\n\n}\n\nlet _object3DId = 0;\n\nconst _v1$4 = /*@__PURE__*/ new Vector3();\nconst _q1 = /*@__PURE__*/ new Quaternion();\nconst _m1$1 = /*@__PURE__*/ new Matrix4();\nconst _target = /*@__PURE__*/ new Vector3();\n\nconst _position$3 = /*@__PURE__*/ new Vector3();\nconst _scale$2 = /*@__PURE__*/ new Vector3();\nconst _quaternion$2 = /*@__PURE__*/ new Quaternion();\n\nconst _xAxis = /*@__PURE__*/ new Vector3( 1, 0, 0 );\nconst _yAxis = /*@__PURE__*/ new Vector3( 0, 1, 0 );\nconst _zAxis = /*@__PURE__*/ new Vector3( 0, 0, 1 );\n\nconst _addedEvent = { type: 'added' };\nconst _removedEvent = { type: 'removed' };\n\nclass Object3D extends EventDispatcher {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.isObject3D = true;\n\n\t\tObject.defineProperty( this, 'id', { value: _object3DId ++ } );\n\n\t\tthis.uuid = generateUUID();\n\n\t\tthis.name = '';\n\t\tthis.type = 'Object3D';\n\n\t\tthis.parent = null;\n\t\tthis.children = [];\n\n\t\tthis.up = Object3D.DefaultUp.clone();\n\n\t\tconst position = new Vector3();\n\t\tconst rotation = new Euler();\n\t\tconst quaternion = new Quaternion();\n\t\tconst scale = new Vector3( 1, 1, 1 );\n\n\t\tfunction onRotationChange() {\n\n\t\t\tquaternion.setFromEuler( rotation, false );\n\n\t\t}\n\n\t\tfunction onQuaternionChange() {\n\n\t\t\trotation.setFromQuaternion( quaternion, undefined, false );\n\n\t\t}\n\n\t\trotation._onChange( onRotationChange );\n\t\tquaternion._onChange( onQuaternionChange );\n\n\t\tObject.defineProperties( this, {\n\t\t\tposition: {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: true,\n\t\t\t\tvalue: position\n\t\t\t},\n\t\t\trotation: {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: true,\n\t\t\t\tvalue: rotation\n\t\t\t},\n\t\t\tquaternion: {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: true,\n\t\t\t\tvalue: quaternion\n\t\t\t},\n\t\t\tscale: {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: true,\n\t\t\t\tvalue: scale\n\t\t\t},\n\t\t\tmodelViewMatrix: {\n\t\t\t\tvalue: new Matrix4()\n\t\t\t},\n\t\t\tnormalMatrix: {\n\t\t\t\tvalue: new Matrix3()\n\t\t\t}\n\t\t} );\n\n\t\tthis.matrix = new Matrix4();\n\t\tthis.matrixWorld = new Matrix4();\n\n\t\tthis.matrixAutoUpdate = Object3D.DefaultMatrixAutoUpdate;\n\t\tthis.matrixWorldNeedsUpdate = false;\n\n\t\tthis.layers = new Layers();\n\t\tthis.visible = true;\n\n\t\tthis.castShadow = false;\n\t\tthis.receiveShadow = false;\n\n\t\tthis.frustumCulled = true;\n\t\tthis.renderOrder = 0;\n\n\t\tthis.animations = [];\n\n\t\tthis.userData = {};\n\n\t}\n\n\tonBeforeRender( /* renderer, scene, camera, geometry, material, group */ ) {}\n\n\tonAfterRender( /* renderer, scene, camera, geometry, material, group */ ) {}\n\n\tapplyMatrix4( matrix ) {\n\n\t\tif ( this.matrixAutoUpdate ) this.updateMatrix();\n\n\t\tthis.matrix.premultiply( matrix );\n\n\t\tthis.matrix.decompose( this.position, this.quaternion, this.scale );\n\n\t}\n\n\tapplyQuaternion( q ) {\n\n\t\tthis.quaternion.premultiply( q );\n\n\t\treturn this;\n\n\t}\n\n\tsetRotationFromAxisAngle( axis, angle ) {\n\n\t\t// assumes axis is normalized\n\n\t\tthis.quaternion.setFromAxisAngle( axis, angle );\n\n\t}\n\n\tsetRotationFromEuler( euler ) {\n\n\t\tthis.quaternion.setFromEuler( euler, true );\n\n\t}\n\n\tsetRotationFromMatrix( m ) {\n\n\t\t// assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)\n\n\t\tthis.quaternion.setFromRotationMatrix( m );\n\n\t}\n\n\tsetRotationFromQuaternion( q ) {\n\n\t\t// assumes q is normalized\n\n\t\tthis.quaternion.copy( q );\n\n\t}\n\n\trotateOnAxis( axis, angle ) {\n\n\t\t// rotate object on axis in object space\n\t\t// axis is assumed to be normalized\n\n\t\t_q1.setFromAxisAngle( axis, angle );\n\n\t\tthis.quaternion.multiply( _q1 );\n\n\t\treturn this;\n\n\t}\n\n\trotateOnWorldAxis( axis, angle ) {\n\n\t\t// rotate object on axis in world space\n\t\t// axis is assumed to be normalized\n\t\t// method assumes no rotated parent\n\n\t\t_q1.setFromAxisAngle( axis, angle );\n\n\t\tthis.quaternion.premultiply( _q1 );\n\n\t\treturn this;\n\n\t}\n\n\trotateX( angle ) {\n\n\t\treturn this.rotateOnAxis( _xAxis, angle );\n\n\t}\n\n\trotateY( angle ) {\n\n\t\treturn this.rotateOnAxis( _yAxis, angle );\n\n\t}\n\n\trotateZ( angle ) {\n\n\t\treturn this.rotateOnAxis( _zAxis, angle );\n\n\t}\n\n\ttranslateOnAxis( axis, distance ) {\n\n\t\t// translate object by distance along axis in object space\n\t\t// axis is assumed to be normalized\n\n\t\t_v1$4.copy( axis ).applyQuaternion( this.quaternion );\n\n\t\tthis.position.add( _v1$4.multiplyScalar( distance ) );\n\n\t\treturn this;\n\n\t}\n\n\ttranslateX( distance ) {\n\n\t\treturn this.translateOnAxis( _xAxis, distance );\n\n\t}\n\n\ttranslateY( distance ) {\n\n\t\treturn this.translateOnAxis( _yAxis, distance );\n\n\t}\n\n\ttranslateZ( distance ) {\n\n\t\treturn this.translateOnAxis( _zAxis, distance );\n\n\t}\n\n\tlocalToWorld( vector ) {\n\n\t\treturn vector.applyMatrix4( this.matrixWorld );\n\n\t}\n\n\tworldToLocal( vector ) {\n\n\t\treturn vector.applyMatrix4( _m1$1.copy( this.matrixWorld ).invert() );\n\n\t}\n\n\tlookAt( x, y, z ) {\n\n\t\t// This method does not support objects having non-uniformly-scaled parent(s)\n\n\t\tif ( x.isVector3 ) {\n\n\t\t\t_target.copy( x );\n\n\t\t} else {\n\n\t\t\t_target.set( x, y, z );\n\n\t\t}\n\n\t\tconst parent = this.parent;\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\t_position$3.setFromMatrixPosition( this.matrixWorld );\n\n\t\tif ( this.isCamera || this.isLight ) {\n\n\t\t\t_m1$1.lookAt( _position$3, _target, this.up );\n\n\t\t} else {\n\n\t\t\t_m1$1.lookAt( _target, _position$3, this.up );\n\n\t\t}\n\n\t\tthis.quaternion.setFromRotationMatrix( _m1$1 );\n\n\t\tif ( parent ) {\n\n\t\t\t_m1$1.extractRotation( parent.matrixWorld );\n\t\t\t_q1.setFromRotationMatrix( _m1$1 );\n\t\t\tthis.quaternion.premultiply( _q1.invert() );\n\n\t\t}\n\n\t}\n\n\tadd( object ) {\n\n\t\tif ( arguments.length > 1 ) {\n\n\t\t\tfor ( let i = 0; i < arguments.length; i ++ ) {\n\n\t\t\t\tthis.add( arguments[ i ] );\n\n\t\t\t}\n\n\t\t\treturn this;\n\n\t\t}\n\n\t\tif ( object === this ) {\n\n\t\t\tconsole.error( 'THREE.Object3D.add: object can\\'t be added as a child of itself.', object );\n\t\t\treturn this;\n\n\t\t}\n\n\t\tif ( object && object.isObject3D ) {\n\n\t\t\tif ( object.parent !== null ) {\n\n\t\t\t\tobject.parent.remove( object );\n\n\t\t\t}\n\n\t\t\tobject.parent = this;\n\t\t\tthis.children.push( object );\n\n\t\t\tobject.dispatchEvent( _addedEvent );\n\n\t\t} else {\n\n\t\t\tconsole.error( 'THREE.Object3D.add: object not an instance of THREE.Object3D.', object );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tremove( object ) {\n\n\t\tif ( arguments.length > 1 ) {\n\n\t\t\tfor ( let i = 0; i < arguments.length; i ++ ) {\n\n\t\t\t\tthis.remove( arguments[ i ] );\n\n\t\t\t}\n\n\t\t\treturn this;\n\n\t\t}\n\n\t\tconst index = this.children.indexOf( object );\n\n\t\tif ( index !== - 1 ) {\n\n\t\t\tobject.parent = null;\n\t\t\tthis.children.splice( index, 1 );\n\n\t\t\tobject.dispatchEvent( _removedEvent );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tremoveFromParent() {\n\n\t\tconst parent = this.parent;\n\n\t\tif ( parent !== null ) {\n\n\t\t\tparent.remove( this );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tclear() {\n\n\t\tfor ( let i = 0; i < this.children.length; i ++ ) {\n\n\t\t\tconst object = this.children[ i ];\n\n\t\t\tobject.parent = null;\n\n\t\t\tobject.dispatchEvent( _removedEvent );\n\n\t\t}\n\n\t\tthis.children.length = 0;\n\n\t\treturn this;\n\n\n\t}\n\n\tattach( object ) {\n\n\t\t// adds object as a child of this, while maintaining the object's world transform\n\n\t\t// Note: This method does not support scene graphs having non-uniformly-scaled nodes(s)\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\t_m1$1.copy( this.matrixWorld ).invert();\n\n\t\tif ( object.parent !== null ) {\n\n\t\t\tobject.parent.updateWorldMatrix( true, false );\n\n\t\t\t_m1$1.multiply( object.parent.matrixWorld );\n\n\t\t}\n\n\t\tobject.applyMatrix4( _m1$1 );\n\n\t\tthis.add( object );\n\n\t\tobject.updateWorldMatrix( false, true );\n\n\t\treturn this;\n\n\t}\n\n\tgetObjectById( id ) {\n\n\t\treturn this.getObjectByProperty( 'id', id );\n\n\t}\n\n\tgetObjectByName( name ) {\n\n\t\treturn this.getObjectByProperty( 'name', name );\n\n\t}\n\n\tgetObjectByProperty( name, value ) {\n\n\t\tif ( this[ name ] === value ) return this;\n\n\t\tfor ( let i = 0, l = this.children.length; i < l; i ++ ) {\n\n\t\t\tconst child = this.children[ i ];\n\t\t\tconst object = child.getObjectByProperty( name, value );\n\n\t\t\tif ( object !== undefined ) {\n\n\t\t\t\treturn object;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn undefined;\n\n\t}\n\n\tgetWorldPosition( target ) {\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\treturn target.setFromMatrixPosition( this.matrixWorld );\n\n\t}\n\n\tgetWorldQuaternion( target ) {\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\tthis.matrixWorld.decompose( _position$3, target, _scale$2 );\n\n\t\treturn target;\n\n\t}\n\n\tgetWorldScale( target ) {\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\tthis.matrixWorld.decompose( _position$3, _quaternion$2, target );\n\n\t\treturn target;\n\n\t}\n\n\tgetWorldDirection( target ) {\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\tconst e = this.matrixWorld.elements;\n\n\t\treturn target.set( e[ 8 ], e[ 9 ], e[ 10 ] ).normalize();\n\n\t}\n\n\traycast( /* raycaster, intersects */ ) {}\n\n\ttraverse( callback ) {\n\n\t\tcallback( this );\n\n\t\tconst children = this.children;\n\n\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\tchildren[ i ].traverse( callback );\n\n\t\t}\n\n\t}\n\n\ttraverseVisible( callback ) {\n\n\t\tif ( this.visible === false ) return;\n\n\t\tcallback( this );\n\n\t\tconst children = this.children;\n\n\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\tchildren[ i ].traverseVisible( callback );\n\n\t\t}\n\n\t}\n\n\ttraverseAncestors( callback ) {\n\n\t\tconst parent = this.parent;\n\n\t\tif ( parent !== null ) {\n\n\t\t\tcallback( parent );\n\n\t\t\tparent.traverseAncestors( callback );\n\n\t\t}\n\n\t}\n\n\tupdateMatrix() {\n\n\t\tthis.matrix.compose( this.position, this.quaternion, this.scale );\n\n\t\tthis.matrixWorldNeedsUpdate = true;\n\n\t}\n\n\tupdateMatrixWorld( force ) {\n\n\t\tif ( this.matrixAutoUpdate ) this.updateMatrix();\n\n\t\tif ( this.matrixWorldNeedsUpdate || force ) {\n\n\t\t\tif ( this.parent === null ) {\n\n\t\t\t\tthis.matrixWorld.copy( this.matrix );\n\n\t\t\t} else {\n\n\t\t\t\tthis.matrixWorld.multiplyMatrices( this.parent.matrixWorld, this.matrix );\n\n\t\t\t}\n\n\t\t\tthis.matrixWorldNeedsUpdate = false;\n\n\t\t\tforce = true;\n\n\t\t}\n\n\t\t// update children\n\n\t\tconst children = this.children;\n\n\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\tchildren[ i ].updateMatrixWorld( force );\n\n\t\t}\n\n\t}\n\n\tupdateWorldMatrix( updateParents, updateChildren ) {\n\n\t\tconst parent = this.parent;\n\n\t\tif ( updateParents === true && parent !== null ) {\n\n\t\t\tparent.updateWorldMatrix( true, false );\n\n\t\t}\n\n\t\tif ( this.matrixAutoUpdate ) this.updateMatrix();\n\n\t\tif ( this.parent === null ) {\n\n\t\t\tthis.matrixWorld.copy( this.matrix );\n\n\t\t} else {\n\n\t\t\tthis.matrixWorld.multiplyMatrices( this.parent.matrixWorld, this.matrix );\n\n\t\t}\n\n\t\t// update children\n\n\t\tif ( updateChildren === true ) {\n\n\t\t\tconst children = this.children;\n\n\t\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\t\tchildren[ i ].updateWorldMatrix( false, true );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\t// meta is a string when called from JSON.stringify\n\t\tconst isRootObject = ( meta === undefined || typeof meta === 'string' );\n\n\t\tconst output = {};\n\n\t\t// meta is a hash used to collect geometries, materials.\n\t\t// not providing it implies that this is the root object\n\t\t// being serialized.\n\t\tif ( isRootObject ) {\n\n\t\t\t// initialize meta obj\n\t\t\tmeta = {\n\t\t\t\tgeometries: {},\n\t\t\t\tmaterials: {},\n\t\t\t\ttextures: {},\n\t\t\t\timages: {},\n\t\t\t\tshapes: {},\n\t\t\t\tskeletons: {},\n\t\t\t\tanimations: {},\n\t\t\t\tnodes: {}\n\t\t\t};\n\n\t\t\toutput.metadata = {\n\t\t\t\tversion: 4.5,\n\t\t\t\ttype: 'Object',\n\t\t\t\tgenerator: 'Object3D.toJSON'\n\t\t\t};\n\n\t\t}\n\n\t\t// standard Object3D serialization\n\n\t\tconst object = {};\n\n\t\tobject.uuid = this.uuid;\n\t\tobject.type = this.type;\n\n\t\tif ( this.name !== '' ) object.name = this.name;\n\t\tif ( this.castShadow === true ) object.castShadow = true;\n\t\tif ( this.receiveShadow === true ) object.receiveShadow = true;\n\t\tif ( this.visible === false ) object.visible = false;\n\t\tif ( this.frustumCulled === false ) object.frustumCulled = false;\n\t\tif ( this.renderOrder !== 0 ) object.renderOrder = this.renderOrder;\n\t\tif ( JSON.stringify( this.userData ) !== '{}' ) object.userData = this.userData;\n\n\t\tobject.layers = this.layers.mask;\n\t\tobject.matrix = this.matrix.toArray();\n\n\t\tif ( this.matrixAutoUpdate === false ) object.matrixAutoUpdate = false;\n\n\t\t// object specific properties\n\n\t\tif ( this.isInstancedMesh ) {\n\n\t\t\tobject.type = 'InstancedMesh';\n\t\t\tobject.count = this.count;\n\t\t\tobject.instanceMatrix = this.instanceMatrix.toJSON();\n\t\t\tif ( this.instanceColor !== null ) object.instanceColor = this.instanceColor.toJSON();\n\n\t\t}\n\n\t\t//\n\n\t\tfunction serialize( library, element ) {\n\n\t\t\tif ( library[ element.uuid ] === undefined ) {\n\n\t\t\t\tlibrary[ element.uuid ] = element.toJSON( meta );\n\n\t\t\t}\n\n\t\t\treturn element.uuid;\n\n\t\t}\n\n\t\tif ( this.isScene ) {\n\n\t\t\tif ( this.background ) {\n\n\t\t\t\tif ( this.background.isColor ) {\n\n\t\t\t\t\tobject.background = this.background.toJSON();\n\n\t\t\t\t} else if ( this.background.isTexture ) {\n\n\t\t\t\t\tobject.background = this.background.toJSON( meta ).uuid;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( this.environment && this.environment.isTexture && this.environment.isRenderTargetTexture !== true ) {\n\n\t\t\t\tobject.environment = this.environment.toJSON( meta ).uuid;\n\n\t\t\t}\n\n\t\t} else if ( this.isMesh || this.isLine || this.isPoints ) {\n\n\t\t\tobject.geometry = serialize( meta.geometries, this.geometry );\n\n\t\t\tconst parameters = this.geometry.parameters;\n\n\t\t\tif ( parameters !== undefined && parameters.shapes !== undefined ) {\n\n\t\t\t\tconst shapes = parameters.shapes;\n\n\t\t\t\tif ( Array.isArray( shapes ) ) {\n\n\t\t\t\t\tfor ( let i = 0, l = shapes.length; i < l; i ++ ) {\n\n\t\t\t\t\t\tconst shape = shapes[ i ];\n\n\t\t\t\t\t\tserialize( meta.shapes, shape );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tserialize( meta.shapes, shapes );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( this.isSkinnedMesh ) {\n\n\t\t\tobject.bindMode = this.bindMode;\n\t\t\tobject.bindMatrix = this.bindMatrix.toArray();\n\n\t\t\tif ( this.skeleton !== undefined ) {\n\n\t\t\t\tserialize( meta.skeletons, this.skeleton );\n\n\t\t\t\tobject.skeleton = this.skeleton.uuid;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( this.material !== undefined ) {\n\n\t\t\tif ( Array.isArray( this.material ) ) {\n\n\t\t\t\tconst uuids = [];\n\n\t\t\t\tfor ( let i = 0, l = this.material.length; i < l; i ++ ) {\n\n\t\t\t\t\tuuids.push( serialize( meta.materials, this.material[ i ] ) );\n\n\t\t\t\t}\n\n\t\t\t\tobject.material = uuids;\n\n\t\t\t} else {\n\n\t\t\t\tobject.material = serialize( meta.materials, this.material );\n\n\t\t\t}\n\n\t\t}\n\n\t\t//\n\n\t\tif ( this.children.length > 0 ) {\n\n\t\t\tobject.children = [];\n\n\t\t\tfor ( let i = 0; i < this.children.length; i ++ ) {\n\n\t\t\t\tobject.children.push( this.children[ i ].toJSON( meta ).object );\n\n\t\t\t}\n\n\t\t}\n\n\t\t//\n\n\t\tif ( this.animations.length > 0 ) {\n\n\t\t\tobject.animations = [];\n\n\t\t\tfor ( let i = 0; i < this.animations.length; i ++ ) {\n\n\t\t\t\tconst animation = this.animations[ i ];\n\n\t\t\t\tobject.animations.push( serialize( meta.animations, animation ) );\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( isRootObject ) {\n\n\t\t\tconst geometries = extractFromCache( meta.geometries );\n\t\t\tconst materials = extractFromCache( meta.materials );\n\t\t\tconst textures = extractFromCache( meta.textures );\n\t\t\tconst images = extractFromCache( meta.images );\n\t\t\tconst shapes = extractFromCache( meta.shapes );\n\t\t\tconst skeletons = extractFromCache( meta.skeletons );\n\t\t\tconst animations = extractFromCache( meta.animations );\n\t\t\tconst nodes = extractFromCache( meta.nodes );\n\n\t\t\tif ( geometries.length > 0 ) output.geometries = geometries;\n\t\t\tif ( materials.length > 0 ) output.materials = materials;\n\t\t\tif ( textures.length > 0 ) output.textures = textures;\n\t\t\tif ( images.length > 0 ) output.images = images;\n\t\t\tif ( shapes.length > 0 ) output.shapes = shapes;\n\t\t\tif ( skeletons.length > 0 ) output.skeletons = skeletons;\n\t\t\tif ( animations.length > 0 ) output.animations = animations;\n\t\t\tif ( nodes.length > 0 ) output.nodes = nodes;\n\n\t\t}\n\n\t\toutput.object = object;\n\n\t\treturn output;\n\n\t\t// extract data from the cache hash\n\t\t// remove metadata on each item\n\t\t// and return as array\n\t\tfunction extractFromCache( cache ) {\n\n\t\t\tconst values = [];\n\t\t\tfor ( const key in cache ) {\n\n\t\t\t\tconst data = cache[ key ];\n\t\t\t\tdelete data.metadata;\n\t\t\t\tvalues.push( data );\n\n\t\t\t}\n\n\t\t\treturn values;\n\n\t\t}\n\n\t}\n\n\tclone( recursive ) {\n\n\t\treturn new this.constructor().copy( this, recursive );\n\n\t}\n\n\tcopy( source, recursive = true ) {\n\n\t\tthis.name = source.name;\n\n\t\tthis.up.copy( source.up );\n\n\t\tthis.position.copy( source.position );\n\t\tthis.rotation.order = source.rotation.order;\n\t\tthis.quaternion.copy( source.quaternion );\n\t\tthis.scale.copy( source.scale );\n\n\t\tthis.matrix.copy( source.matrix );\n\t\tthis.matrixWorld.copy( source.matrixWorld );\n\n\t\tthis.matrixAutoUpdate = source.matrixAutoUpdate;\n\t\tthis.matrixWorldNeedsUpdate = source.matrixWorldNeedsUpdate;\n\n\t\tthis.layers.mask = source.layers.mask;\n\t\tthis.visible = source.visible;\n\n\t\tthis.castShadow = source.castShadow;\n\t\tthis.receiveShadow = source.receiveShadow;\n\n\t\tthis.frustumCulled = source.frustumCulled;\n\t\tthis.renderOrder = source.renderOrder;\n\n\t\tthis.userData = JSON.parse( JSON.stringify( source.userData ) );\n\n\t\tif ( recursive === true ) {\n\n\t\t\tfor ( let i = 0; i < source.children.length; i ++ ) {\n\n\t\t\t\tconst child = source.children[ i ];\n\t\t\t\tthis.add( child.clone() );\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n}\n\nObject3D.DefaultUp = /*@__PURE__*/ new Vector3( 0, 1, 0 );\nObject3D.DefaultMatrixAutoUpdate = true;\n\nconst _v0$1 = /*@__PURE__*/ new Vector3();\nconst _v1$3 = /*@__PURE__*/ new Vector3();\nconst _v2$2 = /*@__PURE__*/ new Vector3();\nconst _v3$1 = /*@__PURE__*/ new Vector3();\n\nconst _vab = /*@__PURE__*/ new Vector3();\nconst _vac = /*@__PURE__*/ new Vector3();\nconst _vbc = /*@__PURE__*/ new Vector3();\nconst _vap = /*@__PURE__*/ new Vector3();\nconst _vbp = /*@__PURE__*/ new Vector3();\nconst _vcp = /*@__PURE__*/ new Vector3();\n\nclass Triangle {\n\n\tconstructor( a = new Vector3(), b = new Vector3(), c = new Vector3() ) {\n\n\t\tthis.a = a;\n\t\tthis.b = b;\n\t\tthis.c = c;\n\n\t}\n\n\tstatic getNormal( a, b, c, target ) {\n\n\t\ttarget.subVectors( c, b );\n\t\t_v0$1.subVectors( a, b );\n\t\ttarget.cross( _v0$1 );\n\n\t\tconst targetLengthSq = target.lengthSq();\n\t\tif ( targetLengthSq > 0 ) {\n\n\t\t\treturn target.multiplyScalar( 1 / Math.sqrt( targetLengthSq ) );\n\n\t\t}\n\n\t\treturn target.set( 0, 0, 0 );\n\n\t}\n\n\t// static/instance method to calculate barycentric coordinates\n\t// based on: http://www.blackpawn.com/texts/pointinpoly/default.html\n\tstatic getBarycoord( point, a, b, c, target ) {\n\n\t\t_v0$1.subVectors( c, a );\n\t\t_v1$3.subVectors( b, a );\n\t\t_v2$2.subVectors( point, a );\n\n\t\tconst dot00 = _v0$1.dot( _v0$1 );\n\t\tconst dot01 = _v0$1.dot( _v1$3 );\n\t\tconst dot02 = _v0$1.dot( _v2$2 );\n\t\tconst dot11 = _v1$3.dot( _v1$3 );\n\t\tconst dot12 = _v1$3.dot( _v2$2 );\n\n\t\tconst denom = ( dot00 * dot11 - dot01 * dot01 );\n\n\t\t// collinear or singular triangle\n\t\tif ( denom === 0 ) {\n\n\t\t\t// arbitrary location outside of triangle?\n\t\t\t// not sure if this is the best idea, maybe should be returning undefined\n\t\t\treturn target.set( - 2, - 1, - 1 );\n\n\t\t}\n\n\t\tconst invDenom = 1 / denom;\n\t\tconst u = ( dot11 * dot02 - dot01 * dot12 ) * invDenom;\n\t\tconst v = ( dot00 * dot12 - dot01 * dot02 ) * invDenom;\n\n\t\t// barycentric coordinates must always sum to 1\n\t\treturn target.set( 1 - u - v, v, u );\n\n\t}\n\n\tstatic containsPoint( point, a, b, c ) {\n\n\t\tthis.getBarycoord( point, a, b, c, _v3$1 );\n\n\t\treturn ( _v3$1.x >= 0 ) && ( _v3$1.y >= 0 ) && ( ( _v3$1.x + _v3$1.y ) <= 1 );\n\n\t}\n\n\tstatic getUV( point, p1, p2, p3, uv1, uv2, uv3, target ) {\n\n\t\tthis.getBarycoord( point, p1, p2, p3, _v3$1 );\n\n\t\ttarget.set( 0, 0 );\n\t\ttarget.addScaledVector( uv1, _v3$1.x );\n\t\ttarget.addScaledVector( uv2, _v3$1.y );\n\t\ttarget.addScaledVector( uv3, _v3$1.z );\n\n\t\treturn target;\n\n\t}\n\n\tstatic isFrontFacing( a, b, c, direction ) {\n\n\t\t_v0$1.subVectors( c, b );\n\t\t_v1$3.subVectors( a, b );\n\n\t\t// strictly front facing\n\t\treturn ( _v0$1.cross( _v1$3 ).dot( direction ) < 0 ) ? true : false;\n\n\t}\n\n\tset( a, b, c ) {\n\n\t\tthis.a.copy( a );\n\t\tthis.b.copy( b );\n\t\tthis.c.copy( c );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromPointsAndIndices( points, i0, i1, i2 ) {\n\n\t\tthis.a.copy( points[ i0 ] );\n\t\tthis.b.copy( points[ i1 ] );\n\t\tthis.c.copy( points[ i2 ] );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromAttributeAndIndices( attribute, i0, i1, i2 ) {\n\n\t\tthis.a.fromBufferAttribute( attribute, i0 );\n\t\tthis.b.fromBufferAttribute( attribute, i1 );\n\t\tthis.c.fromBufferAttribute( attribute, i2 );\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( triangle ) {\n\n\t\tthis.a.copy( triangle.a );\n\t\tthis.b.copy( triangle.b );\n\t\tthis.c.copy( triangle.c );\n\n\t\treturn this;\n\n\t}\n\n\tgetArea() {\n\n\t\t_v0$1.subVectors( this.c, this.b );\n\t\t_v1$3.subVectors( this.a, this.b );\n\n\t\treturn _v0$1.cross( _v1$3 ).length() * 0.5;\n\n\t}\n\n\tgetMidpoint( target ) {\n\n\t\treturn target.addVectors( this.a, this.b ).add( this.c ).multiplyScalar( 1 / 3 );\n\n\t}\n\n\tgetNormal( target ) {\n\n\t\treturn Triangle.getNormal( this.a, this.b, this.c, target );\n\n\t}\n\n\tgetPlane( target ) {\n\n\t\treturn target.setFromCoplanarPoints( this.a, this.b, this.c );\n\n\t}\n\n\tgetBarycoord( point, target ) {\n\n\t\treturn Triangle.getBarycoord( point, this.a, this.b, this.c, target );\n\n\t}\n\n\tgetUV( point, uv1, uv2, uv3, target ) {\n\n\t\treturn Triangle.getUV( point, this.a, this.b, this.c, uv1, uv2, uv3, target );\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\treturn Triangle.containsPoint( point, this.a, this.b, this.c );\n\n\t}\n\n\tisFrontFacing( direction ) {\n\n\t\treturn Triangle.isFrontFacing( this.a, this.b, this.c, direction );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn box.intersectsTriangle( this );\n\n\t}\n\n\tclosestPointToPoint( p, target ) {\n\n\t\tconst a = this.a, b = this.b, c = this.c;\n\t\tlet v, w;\n\n\t\t// algorithm thanks to Real-Time Collision Detection by Christer Ericson,\n\t\t// published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc.,\n\t\t// under the accompanying license; see chapter 5.1.5 for detailed explanation.\n\t\t// basically, we're distinguishing which of the voronoi regions of the triangle\n\t\t// the point lies in with the minimum amount of redundant computation.\n\n\t\t_vab.subVectors( b, a );\n\t\t_vac.subVectors( c, a );\n\t\t_vap.subVectors( p, a );\n\t\tconst d1 = _vab.dot( _vap );\n\t\tconst d2 = _vac.dot( _vap );\n\t\tif ( d1 <= 0 && d2 <= 0 ) {\n\n\t\t\t// vertex region of A; barycentric coords (1, 0, 0)\n\t\t\treturn target.copy( a );\n\n\t\t}\n\n\t\t_vbp.subVectors( p, b );\n\t\tconst d3 = _vab.dot( _vbp );\n\t\tconst d4 = _vac.dot( _vbp );\n\t\tif ( d3 >= 0 && d4 <= d3 ) {\n\n\t\t\t// vertex region of B; barycentric coords (0, 1, 0)\n\t\t\treturn target.copy( b );\n\n\t\t}\n\n\t\tconst vc = d1 * d4 - d3 * d2;\n\t\tif ( vc <= 0 && d1 >= 0 && d3 <= 0 ) {\n\n\t\t\tv = d1 / ( d1 - d3 );\n\t\t\t// edge region of AB; barycentric coords (1-v, v, 0)\n\t\t\treturn target.copy( a ).addScaledVector( _vab, v );\n\n\t\t}\n\n\t\t_vcp.subVectors( p, c );\n\t\tconst d5 = _vab.dot( _vcp );\n\t\tconst d6 = _vac.dot( _vcp );\n\t\tif ( d6 >= 0 && d5 <= d6 ) {\n\n\t\t\t// vertex region of C; barycentric coords (0, 0, 1)\n\t\t\treturn target.copy( c );\n\n\t\t}\n\n\t\tconst vb = d5 * d2 - d1 * d6;\n\t\tif ( vb <= 0 && d2 >= 0 && d6 <= 0 ) {\n\n\t\t\tw = d2 / ( d2 - d6 );\n\t\t\t// edge region of AC; barycentric coords (1-w, 0, w)\n\t\t\treturn target.copy( a ).addScaledVector( _vac, w );\n\n\t\t}\n\n\t\tconst va = d3 * d6 - d5 * d4;\n\t\tif ( va <= 0 && ( d4 - d3 ) >= 0 && ( d5 - d6 ) >= 0 ) {\n\n\t\t\t_vbc.subVectors( c, b );\n\t\t\tw = ( d4 - d3 ) / ( ( d4 - d3 ) + ( d5 - d6 ) );\n\t\t\t// edge region of BC; barycentric coords (0, 1-w, w)\n\t\t\treturn target.copy( b ).addScaledVector( _vbc, w ); // edge region of BC\n\n\t\t}\n\n\t\t// face region\n\t\tconst denom = 1 / ( va + vb + vc );\n\t\t// u = va * denom\n\t\tv = vb * denom;\n\t\tw = vc * denom;\n\n\t\treturn target.copy( a ).addScaledVector( _vab, v ).addScaledVector( _vac, w );\n\n\t}\n\n\tequals( triangle ) {\n\n\t\treturn triangle.a.equals( this.a ) && triangle.b.equals( this.b ) && triangle.c.equals( this.c );\n\n\t}\n\n}\n\nlet materialId = 0;\n\nclass Material extends EventDispatcher {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.isMaterial = true;\n\n\t\tObject.defineProperty( this, 'id', { value: materialId ++ } );\n\n\t\tthis.uuid = generateUUID();\n\n\t\tthis.name = '';\n\t\tthis.type = 'Material';\n\n\t\tthis.blending = NormalBlending;\n\t\tthis.side = FrontSide;\n\t\tthis.vertexColors = false;\n\n\t\tthis.opacity = 1;\n\t\tthis.transparent = false;\n\n\t\tthis.blendSrc = SrcAlphaFactor;\n\t\tthis.blendDst = OneMinusSrcAlphaFactor;\n\t\tthis.blendEquation = AddEquation;\n\t\tthis.blendSrcAlpha = null;\n\t\tthis.blendDstAlpha = null;\n\t\tthis.blendEquationAlpha = null;\n\n\t\tthis.depthFunc = LessEqualDepth;\n\t\tthis.depthTest = true;\n\t\tthis.depthWrite = true;\n\n\t\tthis.stencilWriteMask = 0xff;\n\t\tthis.stencilFunc = AlwaysStencilFunc;\n\t\tthis.stencilRef = 0;\n\t\tthis.stencilFuncMask = 0xff;\n\t\tthis.stencilFail = KeepStencilOp;\n\t\tthis.stencilZFail = KeepStencilOp;\n\t\tthis.stencilZPass = KeepStencilOp;\n\t\tthis.stencilWrite = false;\n\n\t\tthis.clippingPlanes = null;\n\t\tthis.clipIntersection = false;\n\t\tthis.clipShadows = false;\n\n\t\tthis.shadowSide = null;\n\n\t\tthis.colorWrite = true;\n\n\t\tthis.precision = null; // override the renderer's default precision for this material\n\n\t\tthis.polygonOffset = false;\n\t\tthis.polygonOffsetFactor = 0;\n\t\tthis.polygonOffsetUnits = 0;\n\n\t\tthis.dithering = false;\n\n\t\tthis.alphaToCoverage = false;\n\t\tthis.premultipliedAlpha = false;\n\n\t\tthis.visible = true;\n\n\t\tthis.toneMapped = true;\n\n\t\tthis.userData = {};\n\n\t\tthis.version = 0;\n\n\t\tthis._alphaTest = 0;\n\n\t}\n\n\tget alphaTest() {\n\n\t\treturn this._alphaTest;\n\n\t}\n\n\tset alphaTest( value ) {\n\n\t\tif ( this._alphaTest > 0 !== value > 0 ) {\n\n\t\t\tthis.version ++;\n\n\t\t}\n\n\t\tthis._alphaTest = value;\n\n\t}\n\n\tonBuild( /* shaderobject, renderer */ ) {}\n\n\tonBeforeRender( /* renderer, scene, camera, geometry, object, group */ ) {}\n\n\tonBeforeCompile( /* shaderobject, renderer */ ) {}\n\n\tcustomProgramCacheKey() {\n\n\t\treturn this.onBeforeCompile.toString();\n\n\t}\n\n\tsetValues( values ) {\n\n\t\tif ( values === undefined ) return;\n\n\t\tfor ( const key in values ) {\n\n\t\t\tconst newValue = values[ key ];\n\n\t\t\tif ( newValue === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.Material: \\'' + key + '\\' parameter is undefined.' );\n\t\t\t\tcontinue;\n\n\t\t\t}\n\n\t\t\t// for backward compatibility if shading is set in the constructor\n\t\t\tif ( key === 'shading' ) {\n\n\t\t\t\tconsole.warn( 'THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.' );\n\t\t\t\tthis.flatShading = ( newValue === FlatShading ) ? true : false;\n\t\t\t\tcontinue;\n\n\t\t\t}\n\n\t\t\tconst currentValue = this[ key ];\n\n\t\t\tif ( currentValue === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.' + this.type + ': \\'' + key + '\\' is not a property of this material.' );\n\t\t\t\tcontinue;\n\n\t\t\t}\n\n\t\t\tif ( currentValue && currentValue.isColor ) {\n\n\t\t\t\tcurrentValue.set( newValue );\n\n\t\t\t} else if ( ( currentValue && currentValue.isVector3 ) && ( newValue && newValue.isVector3 ) ) {\n\n\t\t\t\tcurrentValue.copy( newValue );\n\n\t\t\t} else {\n\n\t\t\t\tthis[ key ] = newValue;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst isRootObject = ( meta === undefined || typeof meta === 'string' );\n\n\t\tif ( isRootObject ) {\n\n\t\t\tmeta = {\n\t\t\t\ttextures: {},\n\t\t\t\timages: {}\n\t\t\t};\n\n\t\t}\n\n\t\tconst data = {\n\t\t\tmetadata: {\n\t\t\t\tversion: 4.5,\n\t\t\t\ttype: 'Material',\n\t\t\t\tgenerator: 'Material.toJSON'\n\t\t\t}\n\t\t};\n\n\t\t// standard Material serialization\n\t\tdata.uuid = this.uuid;\n\t\tdata.type = this.type;\n\n\t\tif ( this.name !== '' ) data.name = this.name;\n\n\t\tif ( this.color && this.color.isColor ) data.color = this.color.getHex();\n\n\t\tif ( this.roughness !== undefined ) data.roughness = this.roughness;\n\t\tif ( this.metalness !== undefined ) data.metalness = this.metalness;\n\n\t\tif ( this.sheen !== undefined ) data.sheen = this.sheen;\n\t\tif ( this.sheenColor && this.sheenColor.isColor ) data.sheenColor = this.sheenColor.getHex();\n\t\tif ( this.sheenRoughness !== undefined ) data.sheenRoughness = this.sheenRoughness;\n\t\tif ( this.emissive && this.emissive.isColor ) data.emissive = this.emissive.getHex();\n\t\tif ( this.emissiveIntensity && this.emissiveIntensity !== 1 ) data.emissiveIntensity = this.emissiveIntensity;\n\n\t\tif ( this.specular && this.specular.isColor ) data.specular = this.specular.getHex();\n\t\tif ( this.specularIntensity !== undefined ) data.specularIntensity = this.specularIntensity;\n\t\tif ( this.specularColor && this.specularColor.isColor ) data.specularColor = this.specularColor.getHex();\n\t\tif ( this.shininess !== undefined ) data.shininess = this.shininess;\n\t\tif ( this.clearcoat !== undefined ) data.clearcoat = this.clearcoat;\n\t\tif ( this.clearcoatRoughness !== undefined ) data.clearcoatRoughness = this.clearcoatRoughness;\n\n\t\tif ( this.clearcoatMap && this.clearcoatMap.isTexture ) {\n\n\t\t\tdata.clearcoatMap = this.clearcoatMap.toJSON( meta ).uuid;\n\n\t\t}\n\n\t\tif ( this.clearcoatRoughnessMap && this.clearcoatRoughnessMap.isTexture ) {\n\n\t\t\tdata.clearcoatRoughnessMap = this.clearcoatRoughnessMap.toJSON( meta ).uuid;\n\n\t\t}\n\n\t\tif ( this.clearcoatNormalMap && this.clearcoatNormalMap.isTexture ) {\n\n\t\t\tdata.clearcoatNormalMap = this.clearcoatNormalMap.toJSON( meta ).uuid;\n\t\t\tdata.clearcoatNormalScale = this.clearcoatNormalScale.toArray();\n\n\t\t}\n\n\t\tif ( this.iridescence !== undefined ) data.iridescence = this.iridescence;\n\t\tif ( this.iridescenceIOR !== undefined ) data.iridescenceIOR = this.iridescenceIOR;\n\t\tif ( this.iridescenceThicknessRange !== undefined ) data.iridescenceThicknessRange = this.iridescenceThicknessRange;\n\n\t\tif ( this.iridescenceMap && this.iridescenceMap.isTexture ) {\n\n\t\t\tdata.iridescenceMap = this.iridescenceMap.toJSON( meta ).uuid;\n\n\t\t}\n\n\t\tif ( this.iridescenceThicknessMap && this.iridescenceThicknessMap.isTexture ) {\n\n\t\t\tdata.iridescenceThicknessMap = this.iridescenceThicknessMap.toJSON( meta ).uuid;\n\n\t\t}\n\n\t\tif ( this.map && this.map.isTexture ) data.map = this.map.toJSON( meta ).uuid;\n\t\tif ( this.matcap && this.matcap.isTexture ) data.matcap = this.matcap.toJSON( meta ).uuid;\n\t\tif ( this.alphaMap && this.alphaMap.isTexture ) data.alphaMap = this.alphaMap.toJSON( meta ).uuid;\n\n\t\tif ( this.lightMap && this.lightMap.isTexture ) {\n\n\t\t\tdata.lightMap = this.lightMap.toJSON( meta ).uuid;\n\t\t\tdata.lightMapIntensity = this.lightMapIntensity;\n\n\t\t}\n\n\t\tif ( this.aoMap && this.aoMap.isTexture ) {\n\n\t\t\tdata.aoMap = this.aoMap.toJSON( meta ).uuid;\n\t\t\tdata.aoMapIntensity = this.aoMapIntensity;\n\n\t\t}\n\n\t\tif ( this.bumpMap && this.bumpMap.isTexture ) {\n\n\t\t\tdata.bumpMap = this.bumpMap.toJSON( meta ).uuid;\n\t\t\tdata.bumpScale = this.bumpScale;\n\n\t\t}\n\n\t\tif ( this.normalMap && this.normalMap.isTexture ) {\n\n\t\t\tdata.normalMap = this.normalMap.toJSON( meta ).uuid;\n\t\t\tdata.normalMapType = this.normalMapType;\n\t\t\tdata.normalScale = this.normalScale.toArray();\n\n\t\t}\n\n\t\tif ( this.displacementMap && this.displacementMap.isTexture ) {\n\n\t\t\tdata.displacementMap = this.displacementMap.toJSON( meta ).uuid;\n\t\t\tdata.displacementScale = this.displacementScale;\n\t\t\tdata.displacementBias = this.displacementBias;\n\n\t\t}\n\n\t\tif ( this.roughnessMap && this.roughnessMap.isTexture ) data.roughnessMap = this.roughnessMap.toJSON( meta ).uuid;\n\t\tif ( this.metalnessMap && this.metalnessMap.isTexture ) data.metalnessMap = this.metalnessMap.toJSON( meta ).uuid;\n\n\t\tif ( this.emissiveMap && this.emissiveMap.isTexture ) data.emissiveMap = this.emissiveMap.toJSON( meta ).uuid;\n\t\tif ( this.specularMap && this.specularMap.isTexture ) data.specularMap = this.specularMap.toJSON( meta ).uuid;\n\t\tif ( this.specularIntensityMap && this.specularIntensityMap.isTexture ) data.specularIntensityMap = this.specularIntensityMap.toJSON( meta ).uuid;\n\t\tif ( this.specularColorMap && this.specularColorMap.isTexture ) data.specularColorMap = this.specularColorMap.toJSON( meta ).uuid;\n\n\t\tif ( this.envMap && this.envMap.isTexture ) {\n\n\t\t\tdata.envMap = this.envMap.toJSON( meta ).uuid;\n\n\t\t\tif ( this.combine !== undefined ) data.combine = this.combine;\n\n\t\t}\n\n\t\tif ( this.envMapIntensity !== undefined ) data.envMapIntensity = this.envMapIntensity;\n\t\tif ( this.reflectivity !== undefined ) data.reflectivity = this.reflectivity;\n\t\tif ( this.refractionRatio !== undefined ) data.refractionRatio = this.refractionRatio;\n\n\t\tif ( this.gradientMap && this.gradientMap.isTexture ) {\n\n\t\t\tdata.gradientMap = this.gradientMap.toJSON( meta ).uuid;\n\n\t\t}\n\n\t\tif ( this.transmission !== undefined ) data.transmission = this.transmission;\n\t\tif ( this.transmissionMap && this.transmissionMap.isTexture ) data.transmissionMap = this.transmissionMap.toJSON( meta ).uuid;\n\t\tif ( this.thickness !== undefined ) data.thickness = this.thickness;\n\t\tif ( this.thicknessMap && this.thicknessMap.isTexture ) data.thicknessMap = this.thicknessMap.toJSON( meta ).uuid;\n\t\tif ( this.attenuationDistance !== undefined ) data.attenuationDistance = this.attenuationDistance;\n\t\tif ( this.attenuationColor !== undefined ) data.attenuationColor = this.attenuationColor.getHex();\n\n\t\tif ( this.size !== undefined ) data.size = this.size;\n\t\tif ( this.shadowSide !== null ) data.shadowSide = this.shadowSide;\n\t\tif ( this.sizeAttenuation !== undefined ) data.sizeAttenuation = this.sizeAttenuation;\n\n\t\tif ( this.blending !== NormalBlending ) data.blending = this.blending;\n\t\tif ( this.side !== FrontSide ) data.side = this.side;\n\t\tif ( this.vertexColors ) data.vertexColors = true;\n\n\t\tif ( this.opacity < 1 ) data.opacity = this.opacity;\n\t\tif ( this.transparent === true ) data.transparent = this.transparent;\n\n\t\tdata.depthFunc = this.depthFunc;\n\t\tdata.depthTest = this.depthTest;\n\t\tdata.depthWrite = this.depthWrite;\n\t\tdata.colorWrite = this.colorWrite;\n\n\t\tdata.stencilWrite = this.stencilWrite;\n\t\tdata.stencilWriteMask = this.stencilWriteMask;\n\t\tdata.stencilFunc = this.stencilFunc;\n\t\tdata.stencilRef = this.stencilRef;\n\t\tdata.stencilFuncMask = this.stencilFuncMask;\n\t\tdata.stencilFail = this.stencilFail;\n\t\tdata.stencilZFail = this.stencilZFail;\n\t\tdata.stencilZPass = this.stencilZPass;\n\n\t\t// rotation (SpriteMaterial)\n\t\tif ( this.rotation !== undefined && this.rotation !== 0 ) data.rotation = this.rotation;\n\n\t\tif ( this.polygonOffset === true ) data.polygonOffset = true;\n\t\tif ( this.polygonOffsetFactor !== 0 ) data.polygonOffsetFactor = this.polygonOffsetFactor;\n\t\tif ( this.polygonOffsetUnits !== 0 ) data.polygonOffsetUnits = this.polygonOffsetUnits;\n\n\t\tif ( this.linewidth !== undefined && this.linewidth !== 1 ) data.linewidth = this.linewidth;\n\t\tif ( this.dashSize !== undefined ) data.dashSize = this.dashSize;\n\t\tif ( this.gapSize !== undefined ) data.gapSize = this.gapSize;\n\t\tif ( this.scale !== undefined ) data.scale = this.scale;\n\n\t\tif ( this.dithering === true ) data.dithering = true;\n\n\t\tif ( this.alphaTest > 0 ) data.alphaTest = this.alphaTest;\n\t\tif ( this.alphaToCoverage === true ) data.alphaToCoverage = this.alphaToCoverage;\n\t\tif ( this.premultipliedAlpha === true ) data.premultipliedAlpha = this.premultipliedAlpha;\n\n\t\tif ( this.wireframe === true ) data.wireframe = this.wireframe;\n\t\tif ( this.wireframeLinewidth > 1 ) data.wireframeLinewidth = this.wireframeLinewidth;\n\t\tif ( this.wireframeLinecap !== 'round' ) data.wireframeLinecap = this.wireframeLinecap;\n\t\tif ( this.wireframeLinejoin !== 'round' ) data.wireframeLinejoin = this.wireframeLinejoin;\n\n\t\tif ( this.flatShading === true ) data.flatShading = this.flatShading;\n\n\t\tif ( this.visible === false ) data.visible = false;\n\n\t\tif ( this.toneMapped === false ) data.toneMapped = false;\n\n\t\tif ( this.fog === false ) data.fog = false;\n\n\t\tif ( JSON.stringify( this.userData ) !== '{}' ) data.userData = this.userData;\n\n\t\t// TODO: Copied from Object3D.toJSON\n\n\t\tfunction extractFromCache( cache ) {\n\n\t\t\tconst values = [];\n\n\t\t\tfor ( const key in cache ) {\n\n\t\t\t\tconst data = cache[ key ];\n\t\t\t\tdelete data.metadata;\n\t\t\t\tvalues.push( data );\n\n\t\t\t}\n\n\t\t\treturn values;\n\n\t\t}\n\n\t\tif ( isRootObject ) {\n\n\t\t\tconst textures = extractFromCache( meta.textures );\n\t\t\tconst images = extractFromCache( meta.images );\n\n\t\t\tif ( textures.length > 0 ) data.textures = textures;\n\t\t\tif ( images.length > 0 ) data.images = images;\n\n\t\t}\n\n\t\treturn data;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.name = source.name;\n\n\t\tthis.blending = source.blending;\n\t\tthis.side = source.side;\n\t\tthis.vertexColors = source.vertexColors;\n\n\t\tthis.opacity = source.opacity;\n\t\tthis.transparent = source.transparent;\n\n\t\tthis.blendSrc = source.blendSrc;\n\t\tthis.blendDst = source.blendDst;\n\t\tthis.blendEquation = source.blendEquation;\n\t\tthis.blendSrcAlpha = source.blendSrcAlpha;\n\t\tthis.blendDstAlpha = source.blendDstAlpha;\n\t\tthis.blendEquationAlpha = source.blendEquationAlpha;\n\n\t\tthis.depthFunc = source.depthFunc;\n\t\tthis.depthTest = source.depthTest;\n\t\tthis.depthWrite = source.depthWrite;\n\n\t\tthis.stencilWriteMask = source.stencilWriteMask;\n\t\tthis.stencilFunc = source.stencilFunc;\n\t\tthis.stencilRef = source.stencilRef;\n\t\tthis.stencilFuncMask = source.stencilFuncMask;\n\t\tthis.stencilFail = source.stencilFail;\n\t\tthis.stencilZFail = source.stencilZFail;\n\t\tthis.stencilZPass = source.stencilZPass;\n\t\tthis.stencilWrite = source.stencilWrite;\n\n\t\tconst srcPlanes = source.clippingPlanes;\n\t\tlet dstPlanes = null;\n\n\t\tif ( srcPlanes !== null ) {\n\n\t\t\tconst n = srcPlanes.length;\n\t\t\tdstPlanes = new Array( n );\n\n\t\t\tfor ( let i = 0; i !== n; ++ i ) {\n\n\t\t\t\tdstPlanes[ i ] = srcPlanes[ i ].clone();\n\n\t\t\t}\n\n\t\t}\n\n\t\tthis.clippingPlanes = dstPlanes;\n\t\tthis.clipIntersection = source.clipIntersection;\n\t\tthis.clipShadows = source.clipShadows;\n\n\t\tthis.shadowSide = source.shadowSide;\n\n\t\tthis.colorWrite = source.colorWrite;\n\n\t\tthis.precision = source.precision;\n\n\t\tthis.polygonOffset = source.polygonOffset;\n\t\tthis.polygonOffsetFactor = source.polygonOffsetFactor;\n\t\tthis.polygonOffsetUnits = source.polygonOffsetUnits;\n\n\t\tthis.dithering = source.dithering;\n\n\t\tthis.alphaTest = source.alphaTest;\n\t\tthis.alphaToCoverage = source.alphaToCoverage;\n\t\tthis.premultipliedAlpha = source.premultipliedAlpha;\n\n\t\tthis.visible = source.visible;\n\n\t\tthis.toneMapped = source.toneMapped;\n\n\t\tthis.userData = JSON.parse( JSON.stringify( source.userData ) );\n\n\t\treturn this;\n\n\t}\n\n\tdispose() {\n\n\t\tthis.dispatchEvent( { type: 'dispose' } );\n\n\t}\n\n\tset needsUpdate( value ) {\n\n\t\tif ( value === true ) this.version ++;\n\n\t}\n\n}\n\nclass MeshBasicMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshBasicMaterial = true;\n\n\t\tthis.type = 'MeshBasicMaterial';\n\n\t\tthis.color = new Color( 0xffffff ); // emissive\n\n\t\tthis.map = null;\n\n\t\tthis.lightMap = null;\n\t\tthis.lightMapIntensity = 1.0;\n\n\t\tthis.aoMap = null;\n\t\tthis.aoMapIntensity = 1.0;\n\n\t\tthis.specularMap = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.envMap = null;\n\t\tthis.combine = MultiplyOperation;\n\t\tthis.reflectivity = 1;\n\t\tthis.refractionRatio = 0.98;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\t\tthis.wireframeLinecap = 'round';\n\t\tthis.wireframeLinejoin = 'round';\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.lightMap = source.lightMap;\n\t\tthis.lightMapIntensity = source.lightMapIntensity;\n\n\t\tthis.aoMap = source.aoMap;\n\t\tthis.aoMapIntensity = source.aoMapIntensity;\n\n\t\tthis.specularMap = source.specularMap;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.envMap = source.envMap;\n\t\tthis.combine = source.combine;\n\t\tthis.reflectivity = source.reflectivity;\n\t\tthis.refractionRatio = source.refractionRatio;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\t\tthis.wireframeLinecap = source.wireframeLinecap;\n\t\tthis.wireframeLinejoin = source.wireframeLinejoin;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nconst _vector$9 = /*@__PURE__*/ new Vector3();\nconst _vector2$1 = /*@__PURE__*/ new Vector2();\n\nclass BufferAttribute {\n\n\tconstructor( array, itemSize, normalized ) {\n\n\t\tif ( Array.isArray( array ) ) {\n\n\t\t\tthrow new TypeError( 'THREE.BufferAttribute: array should be a Typed Array.' );\n\n\t\t}\n\n\t\tthis.isBufferAttribute = true;\n\n\t\tthis.name = '';\n\n\t\tthis.array = array;\n\t\tthis.itemSize = itemSize;\n\t\tthis.count = array !== undefined ? array.length / itemSize : 0;\n\t\tthis.normalized = normalized === true;\n\n\t\tthis.usage = StaticDrawUsage;\n\t\tthis.updateRange = { offset: 0, count: - 1 };\n\n\t\tthis.version = 0;\n\n\t}\n\n\tonUploadCallback() {}\n\n\tset needsUpdate( value ) {\n\n\t\tif ( value === true ) this.version ++;\n\n\t}\n\n\tsetUsage( value ) {\n\n\t\tthis.usage = value;\n\n\t\treturn this;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.name = source.name;\n\t\tthis.array = new source.array.constructor( source.array );\n\t\tthis.itemSize = source.itemSize;\n\t\tthis.count = source.count;\n\t\tthis.normalized = source.normalized;\n\n\t\tthis.usage = source.usage;\n\n\t\treturn this;\n\n\t}\n\n\tcopyAt( index1, attribute, index2 ) {\n\n\t\tindex1 *= this.itemSize;\n\t\tindex2 *= attribute.itemSize;\n\n\t\tfor ( let i = 0, l = this.itemSize; i < l; i ++ ) {\n\n\t\t\tthis.array[ index1 + i ] = attribute.array[ index2 + i ];\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tcopyArray( array ) {\n\n\t\tthis.array.set( array );\n\n\t\treturn this;\n\n\t}\n\n\tcopyColorsArray( colors ) {\n\n\t\tconst array = this.array;\n\t\tlet offset = 0;\n\n\t\tfor ( let i = 0, l = colors.length; i < l; i ++ ) {\n\n\t\t\tlet color = colors[ i ];\n\n\t\t\tif ( color === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.BufferAttribute.copyColorsArray(): color is undefined', i );\n\t\t\t\tcolor = new Color();\n\n\t\t\t}\n\n\t\t\tarray[ offset ++ ] = color.r;\n\t\t\tarray[ offset ++ ] = color.g;\n\t\t\tarray[ offset ++ ] = color.b;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tcopyVector2sArray( vectors ) {\n\n\t\tconst array = this.array;\n\t\tlet offset = 0;\n\n\t\tfor ( let i = 0, l = vectors.length; i < l; i ++ ) {\n\n\t\t\tlet vector = vectors[ i ];\n\n\t\t\tif ( vector === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.BufferAttribute.copyVector2sArray(): vector is undefined', i );\n\t\t\t\tvector = new Vector2();\n\n\t\t\t}\n\n\t\t\tarray[ offset ++ ] = vector.x;\n\t\t\tarray[ offset ++ ] = vector.y;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tcopyVector3sArray( vectors ) {\n\n\t\tconst array = this.array;\n\t\tlet offset = 0;\n\n\t\tfor ( let i = 0, l = vectors.length; i < l; i ++ ) {\n\n\t\t\tlet vector = vectors[ i ];\n\n\t\t\tif ( vector === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.BufferAttribute.copyVector3sArray(): vector is undefined', i );\n\t\t\t\tvector = new Vector3();\n\n\t\t\t}\n\n\t\t\tarray[ offset ++ ] = vector.x;\n\t\t\tarray[ offset ++ ] = vector.y;\n\t\t\tarray[ offset ++ ] = vector.z;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tcopyVector4sArray( vectors ) {\n\n\t\tconst array = this.array;\n\t\tlet offset = 0;\n\n\t\tfor ( let i = 0, l = vectors.length; i < l; i ++ ) {\n\n\t\t\tlet vector = vectors[ i ];\n\n\t\t\tif ( vector === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.BufferAttribute.copyVector4sArray(): vector is undefined', i );\n\t\t\t\tvector = new Vector4();\n\n\t\t\t}\n\n\t\t\tarray[ offset ++ ] = vector.x;\n\t\t\tarray[ offset ++ ] = vector.y;\n\t\t\tarray[ offset ++ ] = vector.z;\n\t\t\tarray[ offset ++ ] = vector.w;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tapplyMatrix3( m ) {\n\n\t\tif ( this.itemSize === 2 ) {\n\n\t\t\tfor ( let i = 0, l = this.count; i < l; i ++ ) {\n\n\t\t\t\t_vector2$1.fromBufferAttribute( this, i );\n\t\t\t\t_vector2$1.applyMatrix3( m );\n\n\t\t\t\tthis.setXY( i, _vector2$1.x, _vector2$1.y );\n\n\t\t\t}\n\n\t\t} else if ( this.itemSize === 3 ) {\n\n\t\t\tfor ( let i = 0, l = this.count; i < l; i ++ ) {\n\n\t\t\t\t_vector$9.fromBufferAttribute( this, i );\n\t\t\t\t_vector$9.applyMatrix3( m );\n\n\t\t\t\tthis.setXYZ( i, _vector$9.x, _vector$9.y, _vector$9.z );\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tapplyMatrix4( m ) {\n\n\t\tfor ( let i = 0, l = this.count; i < l; i ++ ) {\n\n\t\t\t_vector$9.fromBufferAttribute( this, i );\n\n\t\t\t_vector$9.applyMatrix4( m );\n\n\t\t\tthis.setXYZ( i, _vector$9.x, _vector$9.y, _vector$9.z );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tapplyNormalMatrix( m ) {\n\n\t\tfor ( let i = 0, l = this.count; i < l; i ++ ) {\n\n\t\t\t_vector$9.fromBufferAttribute( this, i );\n\n\t\t\t_vector$9.applyNormalMatrix( m );\n\n\t\t\tthis.setXYZ( i, _vector$9.x, _vector$9.y, _vector$9.z );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\ttransformDirection( m ) {\n\n\t\tfor ( let i = 0, l = this.count; i < l; i ++ ) {\n\n\t\t\t_vector$9.fromBufferAttribute( this, i );\n\n\t\t\t_vector$9.transformDirection( m );\n\n\t\t\tthis.setXYZ( i, _vector$9.x, _vector$9.y, _vector$9.z );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tset( value, offset = 0 ) {\n\n\t\tthis.array.set( value, offset );\n\n\t\treturn this;\n\n\t}\n\n\tgetX( index ) {\n\n\t\treturn this.array[ index * this.itemSize ];\n\n\t}\n\n\tsetX( index, x ) {\n\n\t\tthis.array[ index * this.itemSize ] = x;\n\n\t\treturn this;\n\n\t}\n\n\tgetY( index ) {\n\n\t\treturn this.array[ index * this.itemSize + 1 ];\n\n\t}\n\n\tsetY( index, y ) {\n\n\t\tthis.array[ index * this.itemSize + 1 ] = y;\n\n\t\treturn this;\n\n\t}\n\n\tgetZ( index ) {\n\n\t\treturn this.array[ index * this.itemSize + 2 ];\n\n\t}\n\n\tsetZ( index, z ) {\n\n\t\tthis.array[ index * this.itemSize + 2 ] = z;\n\n\t\treturn this;\n\n\t}\n\n\tgetW( index ) {\n\n\t\treturn this.array[ index * this.itemSize + 3 ];\n\n\t}\n\n\tsetW( index, w ) {\n\n\t\tthis.array[ index * this.itemSize + 3 ] = w;\n\n\t\treturn this;\n\n\t}\n\n\tsetXY( index, x, y ) {\n\n\t\tindex *= this.itemSize;\n\n\t\tthis.array[ index + 0 ] = x;\n\t\tthis.array[ index + 1 ] = y;\n\n\t\treturn this;\n\n\t}\n\n\tsetXYZ( index, x, y, z ) {\n\n\t\tindex *= this.itemSize;\n\n\t\tthis.array[ index + 0 ] = x;\n\t\tthis.array[ index + 1 ] = y;\n\t\tthis.array[ index + 2 ] = z;\n\n\t\treturn this;\n\n\t}\n\n\tsetXYZW( index, x, y, z, w ) {\n\n\t\tindex *= this.itemSize;\n\n\t\tthis.array[ index + 0 ] = x;\n\t\tthis.array[ index + 1 ] = y;\n\t\tthis.array[ index + 2 ] = z;\n\t\tthis.array[ index + 3 ] = w;\n\n\t\treturn this;\n\n\t}\n\n\tonUpload( callback ) {\n\n\t\tthis.onUploadCallback = callback;\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this.array, this.itemSize ).copy( this );\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = {\n\t\t\titemSize: this.itemSize,\n\t\t\ttype: this.array.constructor.name,\n\t\t\tarray: Array.from( this.array ),\n\t\t\tnormalized: this.normalized\n\t\t};\n\n\t\tif ( this.name !== '' ) data.name = this.name;\n\t\tif ( this.usage !== StaticDrawUsage ) data.usage = this.usage;\n\t\tif ( this.updateRange.offset !== 0 || this.updateRange.count !== - 1 ) data.updateRange = this.updateRange;\n\n\t\treturn data;\n\n\t}\n\n}\n\n//\n\nclass Int8BufferAttribute extends BufferAttribute {\n\n\tconstructor( array, itemSize, normalized ) {\n\n\t\tsuper( new Int8Array( array ), itemSize, normalized );\n\n\t}\n\n}\n\nclass Uint8BufferAttribute extends BufferAttribute {\n\n\tconstructor( array, itemSize, normalized ) {\n\n\t\tsuper( new Uint8Array( array ), itemSize, normalized );\n\n\t}\n\n}\n\nclass Uint8ClampedBufferAttribute extends BufferAttribute {\n\n\tconstructor( array, itemSize, normalized ) {\n\n\t\tsuper( new Uint8ClampedArray( array ), itemSize, normalized );\n\n\t}\n\n}\n\nclass Int16BufferAttribute extends BufferAttribute {\n\n\tconstructor( array, itemSize, normalized ) {\n\n\t\tsuper( new Int16Array( array ), itemSize, normalized );\n\n\t}\n\n}\n\nclass Uint16BufferAttribute extends BufferAttribute {\n\n\tconstructor( array, itemSize, normalized ) {\n\n\t\tsuper( new Uint16Array( array ), itemSize, normalized );\n\n\t}\n\n}\n\nclass Int32BufferAttribute extends BufferAttribute {\n\n\tconstructor( array, itemSize, normalized ) {\n\n\t\tsuper( new Int32Array( array ), itemSize, normalized );\n\n\t}\n\n}\n\nclass Uint32BufferAttribute extends BufferAttribute {\n\n\tconstructor( array, itemSize, normalized ) {\n\n\t\tsuper( new Uint32Array( array ), itemSize, normalized );\n\n\t}\n\n}\n\nclass Float16BufferAttribute extends BufferAttribute {\n\n\tconstructor( array, itemSize, normalized ) {\n\n\t\tsuper( new Uint16Array( array ), itemSize, normalized );\n\n\t\tthis.isFloat16BufferAttribute = true;\n\n\t}\n\n}\n\n\nclass Float32BufferAttribute extends BufferAttribute {\n\n\tconstructor( array, itemSize, normalized ) {\n\n\t\tsuper( new Float32Array( array ), itemSize, normalized );\n\n\t}\n\n}\n\nclass Float64BufferAttribute extends BufferAttribute {\n\n\tconstructor( array, itemSize, normalized ) {\n\n\t\tsuper( new Float64Array( array ), itemSize, normalized );\n\n\t}\n\n}\n\nlet _id$1 = 0;\n\nconst _m1 = /*@__PURE__*/ new Matrix4();\nconst _obj = /*@__PURE__*/ new Object3D();\nconst _offset = /*@__PURE__*/ new Vector3();\nconst _box$1 = /*@__PURE__*/ new Box3();\nconst _boxMorphTargets = /*@__PURE__*/ new Box3();\nconst _vector$8 = /*@__PURE__*/ new Vector3();\n\nclass BufferGeometry extends EventDispatcher {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.isBufferGeometry = true;\n\n\t\tObject.defineProperty( this, 'id', { value: _id$1 ++ } );\n\n\t\tthis.uuid = generateUUID();\n\n\t\tthis.name = '';\n\t\tthis.type = 'BufferGeometry';\n\n\t\tthis.index = null;\n\t\tthis.attributes = {};\n\n\t\tthis.morphAttributes = {};\n\t\tthis.morphTargetsRelative = false;\n\n\t\tthis.groups = [];\n\n\t\tthis.boundingBox = null;\n\t\tthis.boundingSphere = null;\n\n\t\tthis.drawRange = { start: 0, count: Infinity };\n\n\t\tthis.userData = {};\n\n\t}\n\n\tgetIndex() {\n\n\t\treturn this.index;\n\n\t}\n\n\tsetIndex( index ) {\n\n\t\tif ( Array.isArray( index ) ) {\n\n\t\t\tthis.index = new ( arrayNeedsUint32( index ) ? Uint32BufferAttribute : Uint16BufferAttribute )( index, 1 );\n\n\t\t} else {\n\n\t\t\tthis.index = index;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tgetAttribute( name ) {\n\n\t\treturn this.attributes[ name ];\n\n\t}\n\n\tsetAttribute( name, attribute ) {\n\n\t\tthis.attributes[ name ] = attribute;\n\n\t\treturn this;\n\n\t}\n\n\tdeleteAttribute( name ) {\n\n\t\tdelete this.attributes[ name ];\n\n\t\treturn this;\n\n\t}\n\n\thasAttribute( name ) {\n\n\t\treturn this.attributes[ name ] !== undefined;\n\n\t}\n\n\taddGroup( start, count, materialIndex = 0 ) {\n\n\t\tthis.groups.push( {\n\n\t\t\tstart: start,\n\t\t\tcount: count,\n\t\t\tmaterialIndex: materialIndex\n\n\t\t} );\n\n\t}\n\n\tclearGroups() {\n\n\t\tthis.groups = [];\n\n\t}\n\n\tsetDrawRange( start, count ) {\n\n\t\tthis.drawRange.start = start;\n\t\tthis.drawRange.count = count;\n\n\t}\n\n\tapplyMatrix4( matrix ) {\n\n\t\tconst position = this.attributes.position;\n\n\t\tif ( position !== undefined ) {\n\n\t\t\tposition.applyMatrix4( matrix );\n\n\t\t\tposition.needsUpdate = true;\n\n\t\t}\n\n\t\tconst normal = this.attributes.normal;\n\n\t\tif ( normal !== undefined ) {\n\n\t\t\tconst normalMatrix = new Matrix3().getNormalMatrix( matrix );\n\n\t\t\tnormal.applyNormalMatrix( normalMatrix );\n\n\t\t\tnormal.needsUpdate = true;\n\n\t\t}\n\n\t\tconst tangent = this.attributes.tangent;\n\n\t\tif ( tangent !== undefined ) {\n\n\t\t\ttangent.transformDirection( matrix );\n\n\t\t\ttangent.needsUpdate = true;\n\n\t\t}\n\n\t\tif ( this.boundingBox !== null ) {\n\n\t\t\tthis.computeBoundingBox();\n\n\t\t}\n\n\t\tif ( this.boundingSphere !== null ) {\n\n\t\t\tthis.computeBoundingSphere();\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tapplyQuaternion( q ) {\n\n\t\t_m1.makeRotationFromQuaternion( q );\n\n\t\tthis.applyMatrix4( _m1 );\n\n\t\treturn this;\n\n\t}\n\n\trotateX( angle ) {\n\n\t\t// rotate geometry around world x-axis\n\n\t\t_m1.makeRotationX( angle );\n\n\t\tthis.applyMatrix4( _m1 );\n\n\t\treturn this;\n\n\t}\n\n\trotateY( angle ) {\n\n\t\t// rotate geometry around world y-axis\n\n\t\t_m1.makeRotationY( angle );\n\n\t\tthis.applyMatrix4( _m1 );\n\n\t\treturn this;\n\n\t}\n\n\trotateZ( angle ) {\n\n\t\t// rotate geometry around world z-axis\n\n\t\t_m1.makeRotationZ( angle );\n\n\t\tthis.applyMatrix4( _m1 );\n\n\t\treturn this;\n\n\t}\n\n\ttranslate( x, y, z ) {\n\n\t\t// translate geometry\n\n\t\t_m1.makeTranslation( x, y, z );\n\n\t\tthis.applyMatrix4( _m1 );\n\n\t\treturn this;\n\n\t}\n\n\tscale( x, y, z ) {\n\n\t\t// scale geometry\n\n\t\t_m1.makeScale( x, y, z );\n\n\t\tthis.applyMatrix4( _m1 );\n\n\t\treturn this;\n\n\t}\n\n\tlookAt( vector ) {\n\n\t\t_obj.lookAt( vector );\n\n\t\t_obj.updateMatrix();\n\n\t\tthis.applyMatrix4( _obj.matrix );\n\n\t\treturn this;\n\n\t}\n\n\tcenter() {\n\n\t\tthis.computeBoundingBox();\n\n\t\tthis.boundingBox.getCenter( _offset ).negate();\n\n\t\tthis.translate( _offset.x, _offset.y, _offset.z );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromPoints( points ) {\n\n\t\tconst position = [];\n\n\t\tfor ( let i = 0, l = points.length; i < l; i ++ ) {\n\n\t\t\tconst point = points[ i ];\n\t\t\tposition.push( point.x, point.y, point.z || 0 );\n\n\t\t}\n\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( position, 3 ) );\n\n\t\treturn this;\n\n\t}\n\n\tcomputeBoundingBox() {\n\n\t\tif ( this.boundingBox === null ) {\n\n\t\t\tthis.boundingBox = new Box3();\n\n\t\t}\n\n\t\tconst position = this.attributes.position;\n\t\tconst morphAttributesPosition = this.morphAttributes.position;\n\n\t\tif ( position && position.isGLBufferAttribute ) {\n\n\t\t\tconsole.error( 'THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set \"mesh.frustumCulled\" to \"false\".', this );\n\n\t\t\tthis.boundingBox.set(\n\t\t\t\tnew Vector3( - Infinity, - Infinity, - Infinity ),\n\t\t\t\tnew Vector3( + Infinity, + Infinity, + Infinity )\n\t\t\t);\n\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( position !== undefined ) {\n\n\t\t\tthis.boundingBox.setFromBufferAttribute( position );\n\n\t\t\t// process morph attributes if present\n\n\t\t\tif ( morphAttributesPosition ) {\n\n\t\t\t\tfor ( let i = 0, il = morphAttributesPosition.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst morphAttribute = morphAttributesPosition[ i ];\n\t\t\t\t\t_box$1.setFromBufferAttribute( morphAttribute );\n\n\t\t\t\t\tif ( this.morphTargetsRelative ) {\n\n\t\t\t\t\t\t_vector$8.addVectors( this.boundingBox.min, _box$1.min );\n\t\t\t\t\t\tthis.boundingBox.expandByPoint( _vector$8 );\n\n\t\t\t\t\t\t_vector$8.addVectors( this.boundingBox.max, _box$1.max );\n\t\t\t\t\t\tthis.boundingBox.expandByPoint( _vector$8 );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tthis.boundingBox.expandByPoint( _box$1.min );\n\t\t\t\t\t\tthis.boundingBox.expandByPoint( _box$1.max );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tthis.boundingBox.makeEmpty();\n\n\t\t}\n\n\t\tif ( isNaN( this.boundingBox.min.x ) || isNaN( this.boundingBox.min.y ) || isNaN( this.boundingBox.min.z ) ) {\n\n\t\t\tconsole.error( 'THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.', this );\n\n\t\t}\n\n\t}\n\n\tcomputeBoundingSphere() {\n\n\t\tif ( this.boundingSphere === null ) {\n\n\t\t\tthis.boundingSphere = new Sphere();\n\n\t\t}\n\n\t\tconst position = this.attributes.position;\n\t\tconst morphAttributesPosition = this.morphAttributes.position;\n\n\t\tif ( position && position.isGLBufferAttribute ) {\n\n\t\t\tconsole.error( 'THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set \"mesh.frustumCulled\" to \"false\".', this );\n\n\t\t\tthis.boundingSphere.set( new Vector3(), Infinity );\n\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( position ) {\n\n\t\t\t// first, find the center of the bounding sphere\n\n\t\t\tconst center = this.boundingSphere.center;\n\n\t\t\t_box$1.setFromBufferAttribute( position );\n\n\t\t\t// process morph attributes if present\n\n\t\t\tif ( morphAttributesPosition ) {\n\n\t\t\t\tfor ( let i = 0, il = morphAttributesPosition.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst morphAttribute = morphAttributesPosition[ i ];\n\t\t\t\t\t_boxMorphTargets.setFromBufferAttribute( morphAttribute );\n\n\t\t\t\t\tif ( this.morphTargetsRelative ) {\n\n\t\t\t\t\t\t_vector$8.addVectors( _box$1.min, _boxMorphTargets.min );\n\t\t\t\t\t\t_box$1.expandByPoint( _vector$8 );\n\n\t\t\t\t\t\t_vector$8.addVectors( _box$1.max, _boxMorphTargets.max );\n\t\t\t\t\t\t_box$1.expandByPoint( _vector$8 );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t_box$1.expandByPoint( _boxMorphTargets.min );\n\t\t\t\t\t\t_box$1.expandByPoint( _boxMorphTargets.max );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t_box$1.getCenter( center );\n\n\t\t\t// second, try to find a boundingSphere with a radius smaller than the\n\t\t\t// boundingSphere of the boundingBox: sqrt(3) smaller in the best case\n\n\t\t\tlet maxRadiusSq = 0;\n\n\t\t\tfor ( let i = 0, il = position.count; i < il; i ++ ) {\n\n\t\t\t\t_vector$8.fromBufferAttribute( position, i );\n\n\t\t\t\tmaxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( _vector$8 ) );\n\n\t\t\t}\n\n\t\t\t// process morph attributes if present\n\n\t\t\tif ( morphAttributesPosition ) {\n\n\t\t\t\tfor ( let i = 0, il = morphAttributesPosition.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst morphAttribute = morphAttributesPosition[ i ];\n\t\t\t\t\tconst morphTargetsRelative = this.morphTargetsRelative;\n\n\t\t\t\t\tfor ( let j = 0, jl = morphAttribute.count; j < jl; j ++ ) {\n\n\t\t\t\t\t\t_vector$8.fromBufferAttribute( morphAttribute, j );\n\n\t\t\t\t\t\tif ( morphTargetsRelative ) {\n\n\t\t\t\t\t\t\t_offset.fromBufferAttribute( position, j );\n\t\t\t\t\t\t\t_vector$8.add( _offset );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tmaxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( _vector$8 ) );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis.boundingSphere.radius = Math.sqrt( maxRadiusSq );\n\n\t\t\tif ( isNaN( this.boundingSphere.radius ) ) {\n\n\t\t\t\tconsole.error( 'THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The \"position\" attribute is likely to have NaN values.', this );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tcomputeTangents() {\n\n\t\tconst index = this.index;\n\t\tconst attributes = this.attributes;\n\n\t\t// based on http://www.terathon.com/code/tangent.html\n\t\t// (per vertex tangents)\n\n\t\tif ( index === null ||\n\t\t\t attributes.position === undefined ||\n\t\t\t attributes.normal === undefined ||\n\t\t\t attributes.uv === undefined ) {\n\n\t\t\tconsole.error( 'THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)' );\n\t\t\treturn;\n\n\t\t}\n\n\t\tconst indices = index.array;\n\t\tconst positions = attributes.position.array;\n\t\tconst normals = attributes.normal.array;\n\t\tconst uvs = attributes.uv.array;\n\n\t\tconst nVertices = positions.length / 3;\n\n\t\tif ( this.hasAttribute( 'tangent' ) === false ) {\n\n\t\t\tthis.setAttribute( 'tangent', new BufferAttribute( new Float32Array( 4 * nVertices ), 4 ) );\n\n\t\t}\n\n\t\tconst tangents = this.getAttribute( 'tangent' ).array;\n\n\t\tconst tan1 = [], tan2 = [];\n\n\t\tfor ( let i = 0; i < nVertices; i ++ ) {\n\n\t\t\ttan1[ i ] = new Vector3();\n\t\t\ttan2[ i ] = new Vector3();\n\n\t\t}\n\n\t\tconst vA = new Vector3(),\n\t\t\tvB = new Vector3(),\n\t\t\tvC = new Vector3(),\n\n\t\t\tuvA = new Vector2(),\n\t\t\tuvB = new Vector2(),\n\t\t\tuvC = new Vector2(),\n\n\t\t\tsdir = new Vector3(),\n\t\t\ttdir = new Vector3();\n\n\t\tfunction handleTriangle( a, b, c ) {\n\n\t\t\tvA.fromArray( positions, a * 3 );\n\t\t\tvB.fromArray( positions, b * 3 );\n\t\t\tvC.fromArray( positions, c * 3 );\n\n\t\t\tuvA.fromArray( uvs, a * 2 );\n\t\t\tuvB.fromArray( uvs, b * 2 );\n\t\t\tuvC.fromArray( uvs, c * 2 );\n\n\t\t\tvB.sub( vA );\n\t\t\tvC.sub( vA );\n\n\t\t\tuvB.sub( uvA );\n\t\t\tuvC.sub( uvA );\n\n\t\t\tconst r = 1.0 / ( uvB.x * uvC.y - uvC.x * uvB.y );\n\n\t\t\t// silently ignore degenerate uv triangles having coincident or colinear vertices\n\n\t\t\tif ( ! isFinite( r ) ) return;\n\n\t\t\tsdir.copy( vB ).multiplyScalar( uvC.y ).addScaledVector( vC, - uvB.y ).multiplyScalar( r );\n\t\t\ttdir.copy( vC ).multiplyScalar( uvB.x ).addScaledVector( vB, - uvC.x ).multiplyScalar( r );\n\n\t\t\ttan1[ a ].add( sdir );\n\t\t\ttan1[ b ].add( sdir );\n\t\t\ttan1[ c ].add( sdir );\n\n\t\t\ttan2[ a ].add( tdir );\n\t\t\ttan2[ b ].add( tdir );\n\t\t\ttan2[ c ].add( tdir );\n\n\t\t}\n\n\t\tlet groups = this.groups;\n\n\t\tif ( groups.length === 0 ) {\n\n\t\t\tgroups = [ {\n\t\t\t\tstart: 0,\n\t\t\t\tcount: indices.length\n\t\t\t} ];\n\n\t\t}\n\n\t\tfor ( let i = 0, il = groups.length; i < il; ++ i ) {\n\n\t\t\tconst group = groups[ i ];\n\n\t\t\tconst start = group.start;\n\t\t\tconst count = group.count;\n\n\t\t\tfor ( let j = start, jl = start + count; j < jl; j += 3 ) {\n\n\t\t\t\thandleTriangle(\n\t\t\t\t\tindices[ j + 0 ],\n\t\t\t\t\tindices[ j + 1 ],\n\t\t\t\t\tindices[ j + 2 ]\n\t\t\t\t);\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst tmp = new Vector3(), tmp2 = new Vector3();\n\t\tconst n = new Vector3(), n2 = new Vector3();\n\n\t\tfunction handleVertex( v ) {\n\n\t\t\tn.fromArray( normals, v * 3 );\n\t\t\tn2.copy( n );\n\n\t\t\tconst t = tan1[ v ];\n\n\t\t\t// Gram-Schmidt orthogonalize\n\n\t\t\ttmp.copy( t );\n\t\t\ttmp.sub( n.multiplyScalar( n.dot( t ) ) ).normalize();\n\n\t\t\t// Calculate handedness\n\n\t\t\ttmp2.crossVectors( n2, t );\n\t\t\tconst test = tmp2.dot( tan2[ v ] );\n\t\t\tconst w = ( test < 0.0 ) ? - 1.0 : 1.0;\n\n\t\t\ttangents[ v * 4 ] = tmp.x;\n\t\t\ttangents[ v * 4 + 1 ] = tmp.y;\n\t\t\ttangents[ v * 4 + 2 ] = tmp.z;\n\t\t\ttangents[ v * 4 + 3 ] = w;\n\n\t\t}\n\n\t\tfor ( let i = 0, il = groups.length; i < il; ++ i ) {\n\n\t\t\tconst group = groups[ i ];\n\n\t\t\tconst start = group.start;\n\t\t\tconst count = group.count;\n\n\t\t\tfor ( let j = start, jl = start + count; j < jl; j += 3 ) {\n\n\t\t\t\thandleVertex( indices[ j + 0 ] );\n\t\t\t\thandleVertex( indices[ j + 1 ] );\n\t\t\t\thandleVertex( indices[ j + 2 ] );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tcomputeVertexNormals() {\n\n\t\tconst index = this.index;\n\t\tconst positionAttribute = this.getAttribute( 'position' );\n\n\t\tif ( positionAttribute !== undefined ) {\n\n\t\t\tlet normalAttribute = this.getAttribute( 'normal' );\n\n\t\t\tif ( normalAttribute === undefined ) {\n\n\t\t\t\tnormalAttribute = new BufferAttribute( new Float32Array( positionAttribute.count * 3 ), 3 );\n\t\t\t\tthis.setAttribute( 'normal', normalAttribute );\n\n\t\t\t} else {\n\n\t\t\t\t// reset existing normals to zero\n\n\t\t\t\tfor ( let i = 0, il = normalAttribute.count; i < il; i ++ ) {\n\n\t\t\t\t\tnormalAttribute.setXYZ( i, 0, 0, 0 );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst pA = new Vector3(), pB = new Vector3(), pC = new Vector3();\n\t\t\tconst nA = new Vector3(), nB = new Vector3(), nC = new Vector3();\n\t\t\tconst cb = new Vector3(), ab = new Vector3();\n\n\t\t\t// indexed elements\n\n\t\t\tif ( index ) {\n\n\t\t\t\tfor ( let i = 0, il = index.count; i < il; i += 3 ) {\n\n\t\t\t\t\tconst vA = index.getX( i + 0 );\n\t\t\t\t\tconst vB = index.getX( i + 1 );\n\t\t\t\t\tconst vC = index.getX( i + 2 );\n\n\t\t\t\t\tpA.fromBufferAttribute( positionAttribute, vA );\n\t\t\t\t\tpB.fromBufferAttribute( positionAttribute, vB );\n\t\t\t\t\tpC.fromBufferAttribute( positionAttribute, vC );\n\n\t\t\t\t\tcb.subVectors( pC, pB );\n\t\t\t\t\tab.subVectors( pA, pB );\n\t\t\t\t\tcb.cross( ab );\n\n\t\t\t\t\tnA.fromBufferAttribute( normalAttribute, vA );\n\t\t\t\t\tnB.fromBufferAttribute( normalAttribute, vB );\n\t\t\t\t\tnC.fromBufferAttribute( normalAttribute, vC );\n\n\t\t\t\t\tnA.add( cb );\n\t\t\t\t\tnB.add( cb );\n\t\t\t\t\tnC.add( cb );\n\n\t\t\t\t\tnormalAttribute.setXYZ( vA, nA.x, nA.y, nA.z );\n\t\t\t\t\tnormalAttribute.setXYZ( vB, nB.x, nB.y, nB.z );\n\t\t\t\t\tnormalAttribute.setXYZ( vC, nC.x, nC.y, nC.z );\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\t// non-indexed elements (unconnected triangle soup)\n\n\t\t\t\tfor ( let i = 0, il = positionAttribute.count; i < il; i += 3 ) {\n\n\t\t\t\t\tpA.fromBufferAttribute( positionAttribute, i + 0 );\n\t\t\t\t\tpB.fromBufferAttribute( positionAttribute, i + 1 );\n\t\t\t\t\tpC.fromBufferAttribute( positionAttribute, i + 2 );\n\n\t\t\t\t\tcb.subVectors( pC, pB );\n\t\t\t\t\tab.subVectors( pA, pB );\n\t\t\t\t\tcb.cross( ab );\n\n\t\t\t\t\tnormalAttribute.setXYZ( i + 0, cb.x, cb.y, cb.z );\n\t\t\t\t\tnormalAttribute.setXYZ( i + 1, cb.x, cb.y, cb.z );\n\t\t\t\t\tnormalAttribute.setXYZ( i + 2, cb.x, cb.y, cb.z );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis.normalizeNormals();\n\n\t\t\tnormalAttribute.needsUpdate = true;\n\n\t\t}\n\n\t}\n\n\tmerge( geometry, offset ) {\n\n\t\tif ( ! ( geometry && geometry.isBufferGeometry ) ) {\n\n\t\t\tconsole.error( 'THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.', geometry );\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( offset === undefined ) {\n\n\t\t\toffset = 0;\n\n\t\t\tconsole.warn(\n\t\t\t\t'THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. '\n\t\t\t\t+ 'Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge.'\n\t\t\t);\n\n\t\t}\n\n\t\tconst attributes = this.attributes;\n\n\t\tfor ( const key in attributes ) {\n\n\t\t\tif ( geometry.attributes[ key ] === undefined ) continue;\n\n\t\t\tconst attribute1 = attributes[ key ];\n\t\t\tconst attributeArray1 = attribute1.array;\n\n\t\t\tconst attribute2 = geometry.attributes[ key ];\n\t\t\tconst attributeArray2 = attribute2.array;\n\n\t\t\tconst attributeOffset = attribute2.itemSize * offset;\n\t\t\tconst length = Math.min( attributeArray2.length, attributeArray1.length - attributeOffset );\n\n\t\t\tfor ( let i = 0, j = attributeOffset; i < length; i ++, j ++ ) {\n\n\t\t\t\tattributeArray1[ j ] = attributeArray2[ i ];\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tnormalizeNormals() {\n\n\t\tconst normals = this.attributes.normal;\n\n\t\tfor ( let i = 0, il = normals.count; i < il; i ++ ) {\n\n\t\t\t_vector$8.fromBufferAttribute( normals, i );\n\n\t\t\t_vector$8.normalize();\n\n\t\t\tnormals.setXYZ( i, _vector$8.x, _vector$8.y, _vector$8.z );\n\n\t\t}\n\n\t}\n\n\ttoNonIndexed() {\n\n\t\tfunction convertBufferAttribute( attribute, indices ) {\n\n\t\t\tconst array = attribute.array;\n\t\t\tconst itemSize = attribute.itemSize;\n\t\t\tconst normalized = attribute.normalized;\n\n\t\t\tconst array2 = new array.constructor( indices.length * itemSize );\n\n\t\t\tlet index = 0, index2 = 0;\n\n\t\t\tfor ( let i = 0, l = indices.length; i < l; i ++ ) {\n\n\t\t\t\tif ( attribute.isInterleavedBufferAttribute ) {\n\n\t\t\t\t\tindex = indices[ i ] * attribute.data.stride + attribute.offset;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tindex = indices[ i ] * itemSize;\n\n\t\t\t\t}\n\n\t\t\t\tfor ( let j = 0; j < itemSize; j ++ ) {\n\n\t\t\t\t\tarray2[ index2 ++ ] = array[ index ++ ];\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\treturn new BufferAttribute( array2, itemSize, normalized );\n\n\t\t}\n\n\t\t//\n\n\t\tif ( this.index === null ) {\n\n\t\t\tconsole.warn( 'THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.' );\n\t\t\treturn this;\n\n\t\t}\n\n\t\tconst geometry2 = new BufferGeometry();\n\n\t\tconst indices = this.index.array;\n\t\tconst attributes = this.attributes;\n\n\t\t// attributes\n\n\t\tfor ( const name in attributes ) {\n\n\t\t\tconst attribute = attributes[ name ];\n\n\t\t\tconst newAttribute = convertBufferAttribute( attribute, indices );\n\n\t\t\tgeometry2.setAttribute( name, newAttribute );\n\n\t\t}\n\n\t\t// morph attributes\n\n\t\tconst morphAttributes = this.morphAttributes;\n\n\t\tfor ( const name in morphAttributes ) {\n\n\t\t\tconst morphArray = [];\n\t\t\tconst morphAttribute = morphAttributes[ name ]; // morphAttribute: array of Float32BufferAttributes\n\n\t\t\tfor ( let i = 0, il = morphAttribute.length; i < il; i ++ ) {\n\n\t\t\t\tconst attribute = morphAttribute[ i ];\n\n\t\t\t\tconst newAttribute = convertBufferAttribute( attribute, indices );\n\n\t\t\t\tmorphArray.push( newAttribute );\n\n\t\t\t}\n\n\t\t\tgeometry2.morphAttributes[ name ] = morphArray;\n\n\t\t}\n\n\t\tgeometry2.morphTargetsRelative = this.morphTargetsRelative;\n\n\t\t// groups\n\n\t\tconst groups = this.groups;\n\n\t\tfor ( let i = 0, l = groups.length; i < l; i ++ ) {\n\n\t\t\tconst group = groups[ i ];\n\t\t\tgeometry2.addGroup( group.start, group.count, group.materialIndex );\n\n\t\t}\n\n\t\treturn geometry2;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = {\n\t\t\tmetadata: {\n\t\t\t\tversion: 4.5,\n\t\t\t\ttype: 'BufferGeometry',\n\t\t\t\tgenerator: 'BufferGeometry.toJSON'\n\t\t\t}\n\t\t};\n\n\t\t// standard BufferGeometry serialization\n\n\t\tdata.uuid = this.uuid;\n\t\tdata.type = this.type;\n\t\tif ( this.name !== '' ) data.name = this.name;\n\t\tif ( Object.keys( this.userData ).length > 0 ) data.userData = this.userData;\n\n\t\tif ( this.parameters !== undefined ) {\n\n\t\t\tconst parameters = this.parameters;\n\n\t\t\tfor ( const key in parameters ) {\n\n\t\t\t\tif ( parameters[ key ] !== undefined ) data[ key ] = parameters[ key ];\n\n\t\t\t}\n\n\t\t\treturn data;\n\n\t\t}\n\n\t\t// for simplicity the code assumes attributes are not shared across geometries, see #15811\n\n\t\tdata.data = { attributes: {} };\n\n\t\tconst index = this.index;\n\n\t\tif ( index !== null ) {\n\n\t\t\tdata.data.index = {\n\t\t\t\ttype: index.array.constructor.name,\n\t\t\t\tarray: Array.prototype.slice.call( index.array )\n\t\t\t};\n\n\t\t}\n\n\t\tconst attributes = this.attributes;\n\n\t\tfor ( const key in attributes ) {\n\n\t\t\tconst attribute = attributes[ key ];\n\n\t\t\tdata.data.attributes[ key ] = attribute.toJSON( data.data );\n\n\t\t}\n\n\t\tconst morphAttributes = {};\n\t\tlet hasMorphAttributes = false;\n\n\t\tfor ( const key in this.morphAttributes ) {\n\n\t\t\tconst attributeArray = this.morphAttributes[ key ];\n\n\t\t\tconst array = [];\n\n\t\t\tfor ( let i = 0, il = attributeArray.length; i < il; i ++ ) {\n\n\t\t\t\tconst attribute = attributeArray[ i ];\n\n\t\t\t\tarray.push( attribute.toJSON( data.data ) );\n\n\t\t\t}\n\n\t\t\tif ( array.length > 0 ) {\n\n\t\t\t\tmorphAttributes[ key ] = array;\n\n\t\t\t\thasMorphAttributes = true;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( hasMorphAttributes ) {\n\n\t\t\tdata.data.morphAttributes = morphAttributes;\n\t\t\tdata.data.morphTargetsRelative = this.morphTargetsRelative;\n\n\t\t}\n\n\t\tconst groups = this.groups;\n\n\t\tif ( groups.length > 0 ) {\n\n\t\t\tdata.data.groups = JSON.parse( JSON.stringify( groups ) );\n\n\t\t}\n\n\t\tconst boundingSphere = this.boundingSphere;\n\n\t\tif ( boundingSphere !== null ) {\n\n\t\t\tdata.data.boundingSphere = {\n\t\t\t\tcenter: boundingSphere.center.toArray(),\n\t\t\t\tradius: boundingSphere.radius\n\t\t\t};\n\n\t\t}\n\n\t\treturn data;\n\n\t}\n\n\tclone() {\n\n\t\t return new this.constructor().copy( this );\n\n\t}\n\n\tcopy( source ) {\n\n\t\t// reset\n\n\t\tthis.index = null;\n\t\tthis.attributes = {};\n\t\tthis.morphAttributes = {};\n\t\tthis.groups = [];\n\t\tthis.boundingBox = null;\n\t\tthis.boundingSphere = null;\n\n\t\t// used for storing cloned, shared data\n\n\t\tconst data = {};\n\n\t\t// name\n\n\t\tthis.name = source.name;\n\n\t\t// index\n\n\t\tconst index = source.index;\n\n\t\tif ( index !== null ) {\n\n\t\t\tthis.setIndex( index.clone( data ) );\n\n\t\t}\n\n\t\t// attributes\n\n\t\tconst attributes = source.attributes;\n\n\t\tfor ( const name in attributes ) {\n\n\t\t\tconst attribute = attributes[ name ];\n\t\t\tthis.setAttribute( name, attribute.clone( data ) );\n\n\t\t}\n\n\t\t// morph attributes\n\n\t\tconst morphAttributes = source.morphAttributes;\n\n\t\tfor ( const name in morphAttributes ) {\n\n\t\t\tconst array = [];\n\t\t\tconst morphAttribute = morphAttributes[ name ]; // morphAttribute: array of Float32BufferAttributes\n\n\t\t\tfor ( let i = 0, l = morphAttribute.length; i < l; i ++ ) {\n\n\t\t\t\tarray.push( morphAttribute[ i ].clone( data ) );\n\n\t\t\t}\n\n\t\t\tthis.morphAttributes[ name ] = array;\n\n\t\t}\n\n\t\tthis.morphTargetsRelative = source.morphTargetsRelative;\n\n\t\t// groups\n\n\t\tconst groups = source.groups;\n\n\t\tfor ( let i = 0, l = groups.length; i < l; i ++ ) {\n\n\t\t\tconst group = groups[ i ];\n\t\t\tthis.addGroup( group.start, group.count, group.materialIndex );\n\n\t\t}\n\n\t\t// bounding box\n\n\t\tconst boundingBox = source.boundingBox;\n\n\t\tif ( boundingBox !== null ) {\n\n\t\t\tthis.boundingBox = boundingBox.clone();\n\n\t\t}\n\n\t\t// bounding sphere\n\n\t\tconst boundingSphere = source.boundingSphere;\n\n\t\tif ( boundingSphere !== null ) {\n\n\t\t\tthis.boundingSphere = boundingSphere.clone();\n\n\t\t}\n\n\t\t// draw range\n\n\t\tthis.drawRange.start = source.drawRange.start;\n\t\tthis.drawRange.count = source.drawRange.count;\n\n\t\t// user data\n\n\t\tthis.userData = source.userData;\n\n\t\t// geometry generator parameters\n\n\t\tif ( source.parameters !== undefined ) this.parameters = Object.assign( {}, source.parameters );\n\n\t\treturn this;\n\n\t}\n\n\tdispose() {\n\n\t\tthis.dispatchEvent( { type: 'dispose' } );\n\n\t}\n\n}\n\nconst _inverseMatrix$2 = /*@__PURE__*/ new Matrix4();\nconst _ray$2 = /*@__PURE__*/ new Ray();\nconst _sphere$3 = /*@__PURE__*/ new Sphere();\n\nconst _vA$1 = /*@__PURE__*/ new Vector3();\nconst _vB$1 = /*@__PURE__*/ new Vector3();\nconst _vC$1 = /*@__PURE__*/ new Vector3();\n\nconst _tempA = /*@__PURE__*/ new Vector3();\nconst _tempB = /*@__PURE__*/ new Vector3();\nconst _tempC = /*@__PURE__*/ new Vector3();\n\nconst _morphA = /*@__PURE__*/ new Vector3();\nconst _morphB = /*@__PURE__*/ new Vector3();\nconst _morphC = /*@__PURE__*/ new Vector3();\n\nconst _uvA$1 = /*@__PURE__*/ new Vector2();\nconst _uvB$1 = /*@__PURE__*/ new Vector2();\nconst _uvC$1 = /*@__PURE__*/ new Vector2();\n\nconst _intersectionPoint = /*@__PURE__*/ new Vector3();\nconst _intersectionPointWorld = /*@__PURE__*/ new Vector3();\n\nclass Mesh extends Object3D {\n\n\tconstructor( geometry = new BufferGeometry(), material = new MeshBasicMaterial() ) {\n\n\t\tsuper();\n\n\t\tthis.isMesh = true;\n\n\t\tthis.type = 'Mesh';\n\n\t\tthis.geometry = geometry;\n\t\tthis.material = material;\n\n\t\tthis.updateMorphTargets();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tif ( source.morphTargetInfluences !== undefined ) {\n\n\t\t\tthis.morphTargetInfluences = source.morphTargetInfluences.slice();\n\n\t\t}\n\n\t\tif ( source.morphTargetDictionary !== undefined ) {\n\n\t\t\tthis.morphTargetDictionary = Object.assign( {}, source.morphTargetDictionary );\n\n\t\t}\n\n\t\tthis.material = source.material;\n\t\tthis.geometry = source.geometry;\n\n\t\treturn this;\n\n\t}\n\n\tupdateMorphTargets() {\n\n\t\tconst geometry = this.geometry;\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\t\tconst keys = Object.keys( morphAttributes );\n\n\t\tif ( keys.length > 0 ) {\n\n\t\t\tconst morphAttribute = morphAttributes[ keys[ 0 ] ];\n\n\t\t\tif ( morphAttribute !== undefined ) {\n\n\t\t\t\tthis.morphTargetInfluences = [];\n\t\t\t\tthis.morphTargetDictionary = {};\n\n\t\t\t\tfor ( let m = 0, ml = morphAttribute.length; m < ml; m ++ ) {\n\n\t\t\t\t\tconst name = morphAttribute[ m ].name || String( m );\n\n\t\t\t\t\tthis.morphTargetInfluences.push( 0 );\n\t\t\t\t\tthis.morphTargetDictionary[ name ] = m;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\traycast( raycaster, intersects ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst material = this.material;\n\t\tconst matrixWorld = this.matrixWorld;\n\n\t\tif ( material === undefined ) return;\n\n\t\t// Checking boundingSphere distance to ray\n\n\t\tif ( geometry.boundingSphere === null ) geometry.computeBoundingSphere();\n\n\t\t_sphere$3.copy( geometry.boundingSphere );\n\t\t_sphere$3.applyMatrix4( matrixWorld );\n\n\t\tif ( raycaster.ray.intersectsSphere( _sphere$3 ) === false ) return;\n\n\t\t//\n\n\t\t_inverseMatrix$2.copy( matrixWorld ).invert();\n\t\t_ray$2.copy( raycaster.ray ).applyMatrix4( _inverseMatrix$2 );\n\n\t\t// Check boundingBox before continuing\n\n\t\tif ( geometry.boundingBox !== null ) {\n\n\t\t\tif ( _ray$2.intersectsBox( geometry.boundingBox ) === false ) return;\n\n\t\t}\n\n\t\tlet intersection;\n\n\t\tconst index = geometry.index;\n\t\tconst position = geometry.attributes.position;\n\t\tconst morphPosition = geometry.morphAttributes.position;\n\t\tconst morphTargetsRelative = geometry.morphTargetsRelative;\n\t\tconst uv = geometry.attributes.uv;\n\t\tconst uv2 = geometry.attributes.uv2;\n\t\tconst groups = geometry.groups;\n\t\tconst drawRange = geometry.drawRange;\n\n\t\tif ( index !== null ) {\n\n\t\t\t// indexed buffer geometry\n\n\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\tfor ( let i = 0, il = groups.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst group = groups[ i ];\n\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\tconst start = Math.max( group.start, drawRange.start );\n\t\t\t\t\tconst end = Math.min( index.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) );\n\n\t\t\t\t\tfor ( let j = start, jl = end; j < jl; j += 3 ) {\n\n\t\t\t\t\t\tconst a = index.getX( j );\n\t\t\t\t\t\tconst b = index.getX( j + 1 );\n\t\t\t\t\t\tconst c = index.getX( j + 2 );\n\n\t\t\t\t\t\tintersection = checkBufferGeometryIntersection( this, groupMaterial, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c );\n\n\t\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\t\tintersection.faceIndex = Math.floor( j / 3 ); // triangle number in indexed buffer semantics\n\t\t\t\t\t\t\tintersection.face.materialIndex = group.materialIndex;\n\t\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\t\tconst end = Math.min( index.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\t\tfor ( let i = start, il = end; i < il; i += 3 ) {\n\n\t\t\t\t\tconst a = index.getX( i );\n\t\t\t\t\tconst b = index.getX( i + 1 );\n\t\t\t\t\tconst c = index.getX( i + 2 );\n\n\t\t\t\t\tintersection = checkBufferGeometryIntersection( this, material, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c );\n\n\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\tintersection.faceIndex = Math.floor( i / 3 ); // triangle number in indexed buffer semantics\n\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else if ( position !== undefined ) {\n\n\t\t\t// non-indexed buffer geometry\n\n\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\tfor ( let i = 0, il = groups.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst group = groups[ i ];\n\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\tconst start = Math.max( group.start, drawRange.start );\n\t\t\t\t\tconst end = Math.min( position.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) );\n\n\t\t\t\t\tfor ( let j = start, jl = end; j < jl; j += 3 ) {\n\n\t\t\t\t\t\tconst a = j;\n\t\t\t\t\t\tconst b = j + 1;\n\t\t\t\t\t\tconst c = j + 2;\n\n\t\t\t\t\t\tintersection = checkBufferGeometryIntersection( this, groupMaterial, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c );\n\n\t\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\t\tintersection.faceIndex = Math.floor( j / 3 ); // triangle number in non-indexed buffer semantics\n\t\t\t\t\t\t\tintersection.face.materialIndex = group.materialIndex;\n\t\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\t\tconst end = Math.min( position.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\t\tfor ( let i = start, il = end; i < il; i += 3 ) {\n\n\t\t\t\t\tconst a = i;\n\t\t\t\t\tconst b = i + 1;\n\t\t\t\t\tconst c = i + 2;\n\n\t\t\t\t\tintersection = checkBufferGeometryIntersection( this, material, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c );\n\n\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\tintersection.faceIndex = Math.floor( i / 3 ); // triangle number in non-indexed buffer semantics\n\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n\nfunction checkIntersection( object, material, raycaster, ray, pA, pB, pC, point ) {\n\n\tlet intersect;\n\n\tif ( material.side === BackSide ) {\n\n\t\tintersect = ray.intersectTriangle( pC, pB, pA, true, point );\n\n\t} else {\n\n\t\tintersect = ray.intersectTriangle( pA, pB, pC, material.side !== DoubleSide, point );\n\n\t}\n\n\tif ( intersect === null ) return null;\n\n\t_intersectionPointWorld.copy( point );\n\t_intersectionPointWorld.applyMatrix4( object.matrixWorld );\n\n\tconst distance = raycaster.ray.origin.distanceTo( _intersectionPointWorld );\n\n\tif ( distance < raycaster.near || distance > raycaster.far ) return null;\n\n\treturn {\n\t\tdistance: distance,\n\t\tpoint: _intersectionPointWorld.clone(),\n\t\tobject: object\n\t};\n\n}\n\nfunction checkBufferGeometryIntersection( object, material, raycaster, ray, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c ) {\n\n\t_vA$1.fromBufferAttribute( position, a );\n\t_vB$1.fromBufferAttribute( position, b );\n\t_vC$1.fromBufferAttribute( position, c );\n\n\tconst morphInfluences = object.morphTargetInfluences;\n\n\tif ( morphPosition && morphInfluences ) {\n\n\t\t_morphA.set( 0, 0, 0 );\n\t\t_morphB.set( 0, 0, 0 );\n\t\t_morphC.set( 0, 0, 0 );\n\n\t\tfor ( let i = 0, il = morphPosition.length; i < il; i ++ ) {\n\n\t\t\tconst influence = morphInfluences[ i ];\n\t\t\tconst morphAttribute = morphPosition[ i ];\n\n\t\t\tif ( influence === 0 ) continue;\n\n\t\t\t_tempA.fromBufferAttribute( morphAttribute, a );\n\t\t\t_tempB.fromBufferAttribute( morphAttribute, b );\n\t\t\t_tempC.fromBufferAttribute( morphAttribute, c );\n\n\t\t\tif ( morphTargetsRelative ) {\n\n\t\t\t\t_morphA.addScaledVector( _tempA, influence );\n\t\t\t\t_morphB.addScaledVector( _tempB, influence );\n\t\t\t\t_morphC.addScaledVector( _tempC, influence );\n\n\t\t\t} else {\n\n\t\t\t\t_morphA.addScaledVector( _tempA.sub( _vA$1 ), influence );\n\t\t\t\t_morphB.addScaledVector( _tempB.sub( _vB$1 ), influence );\n\t\t\t\t_morphC.addScaledVector( _tempC.sub( _vC$1 ), influence );\n\n\t\t\t}\n\n\t\t}\n\n\t\t_vA$1.add( _morphA );\n\t\t_vB$1.add( _morphB );\n\t\t_vC$1.add( _morphC );\n\n\t}\n\n\tif ( object.isSkinnedMesh ) {\n\n\t\tobject.boneTransform( a, _vA$1 );\n\t\tobject.boneTransform( b, _vB$1 );\n\t\tobject.boneTransform( c, _vC$1 );\n\n\t}\n\n\tconst intersection = checkIntersection( object, material, raycaster, ray, _vA$1, _vB$1, _vC$1, _intersectionPoint );\n\n\tif ( intersection ) {\n\n\t\tif ( uv ) {\n\n\t\t\t_uvA$1.fromBufferAttribute( uv, a );\n\t\t\t_uvB$1.fromBufferAttribute( uv, b );\n\t\t\t_uvC$1.fromBufferAttribute( uv, c );\n\n\t\t\tintersection.uv = Triangle.getUV( _intersectionPoint, _vA$1, _vB$1, _vC$1, _uvA$1, _uvB$1, _uvC$1, new Vector2() );\n\n\t\t}\n\n\t\tif ( uv2 ) {\n\n\t\t\t_uvA$1.fromBufferAttribute( uv2, a );\n\t\t\t_uvB$1.fromBufferAttribute( uv2, b );\n\t\t\t_uvC$1.fromBufferAttribute( uv2, c );\n\n\t\t\tintersection.uv2 = Triangle.getUV( _intersectionPoint, _vA$1, _vB$1, _vC$1, _uvA$1, _uvB$1, _uvC$1, new Vector2() );\n\n\t\t}\n\n\t\tconst face = {\n\t\t\ta: a,\n\t\t\tb: b,\n\t\t\tc: c,\n\t\t\tnormal: new Vector3(),\n\t\t\tmaterialIndex: 0\n\t\t};\n\n\t\tTriangle.getNormal( _vA$1, _vB$1, _vC$1, face.normal );\n\n\t\tintersection.face = face;\n\n\t}\n\n\treturn intersection;\n\n}\n\nclass BoxGeometry extends BufferGeometry {\n\n\tconstructor( width = 1, height = 1, depth = 1, widthSegments = 1, heightSegments = 1, depthSegments = 1 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'BoxGeometry';\n\n\t\tthis.parameters = {\n\t\t\twidth: width,\n\t\t\theight: height,\n\t\t\tdepth: depth,\n\t\t\twidthSegments: widthSegments,\n\t\t\theightSegments: heightSegments,\n\t\t\tdepthSegments: depthSegments\n\t\t};\n\n\t\tconst scope = this;\n\n\t\t// segments\n\n\t\twidthSegments = Math.floor( widthSegments );\n\t\theightSegments = Math.floor( heightSegments );\n\t\tdepthSegments = Math.floor( depthSegments );\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// helper variables\n\n\t\tlet numberOfVertices = 0;\n\t\tlet groupStart = 0;\n\n\t\t// build each side of the box geometry\n\n\t\tbuildPlane( 'z', 'y', 'x', - 1, - 1, depth, height, width, depthSegments, heightSegments, 0 ); // px\n\t\tbuildPlane( 'z', 'y', 'x', 1, - 1, depth, height, - width, depthSegments, heightSegments, 1 ); // nx\n\t\tbuildPlane( 'x', 'z', 'y', 1, 1, width, depth, height, widthSegments, depthSegments, 2 ); // py\n\t\tbuildPlane( 'x', 'z', 'y', 1, - 1, width, depth, - height, widthSegments, depthSegments, 3 ); // ny\n\t\tbuildPlane( 'x', 'y', 'z', 1, - 1, width, height, depth, widthSegments, heightSegments, 4 ); // pz\n\t\tbuildPlane( 'x', 'y', 'z', - 1, - 1, width, height, - depth, widthSegments, heightSegments, 5 ); // nz\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t\tfunction buildPlane( u, v, w, udir, vdir, width, height, depth, gridX, gridY, materialIndex ) {\n\n\t\t\tconst segmentWidth = width / gridX;\n\t\t\tconst segmentHeight = height / gridY;\n\n\t\t\tconst widthHalf = width / 2;\n\t\t\tconst heightHalf = height / 2;\n\t\t\tconst depthHalf = depth / 2;\n\n\t\t\tconst gridX1 = gridX + 1;\n\t\t\tconst gridY1 = gridY + 1;\n\n\t\t\tlet vertexCounter = 0;\n\t\t\tlet groupCount = 0;\n\n\t\t\tconst vector = new Vector3();\n\n\t\t\t// generate vertices, normals and uvs\n\n\t\t\tfor ( let iy = 0; iy < gridY1; iy ++ ) {\n\n\t\t\t\tconst y = iy * segmentHeight - heightHalf;\n\n\t\t\t\tfor ( let ix = 0; ix < gridX1; ix ++ ) {\n\n\t\t\t\t\tconst x = ix * segmentWidth - widthHalf;\n\n\t\t\t\t\t// set values to correct vector component\n\n\t\t\t\t\tvector[ u ] = x * udir;\n\t\t\t\t\tvector[ v ] = y * vdir;\n\t\t\t\t\tvector[ w ] = depthHalf;\n\n\t\t\t\t\t// now apply vector to vertex buffer\n\n\t\t\t\t\tvertices.push( vector.x, vector.y, vector.z );\n\n\t\t\t\t\t// set values to correct vector component\n\n\t\t\t\t\tvector[ u ] = 0;\n\t\t\t\t\tvector[ v ] = 0;\n\t\t\t\t\tvector[ w ] = depth > 0 ? 1 : - 1;\n\n\t\t\t\t\t// now apply vector to normal buffer\n\n\t\t\t\t\tnormals.push( vector.x, vector.y, vector.z );\n\n\t\t\t\t\t// uvs\n\n\t\t\t\t\tuvs.push( ix / gridX );\n\t\t\t\t\tuvs.push( 1 - ( iy / gridY ) );\n\n\t\t\t\t\t// counters\n\n\t\t\t\t\tvertexCounter += 1;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// indices\n\n\t\t\t// 1. you need three indices to draw a single face\n\t\t\t// 2. a single segment consists of two faces\n\t\t\t// 3. so we need to generate six (2*3) indices per segment\n\n\t\t\tfor ( let iy = 0; iy < gridY; iy ++ ) {\n\n\t\t\t\tfor ( let ix = 0; ix < gridX; ix ++ ) {\n\n\t\t\t\t\tconst a = numberOfVertices + ix + gridX1 * iy;\n\t\t\t\t\tconst b = numberOfVertices + ix + gridX1 * ( iy + 1 );\n\t\t\t\t\tconst c = numberOfVertices + ( ix + 1 ) + gridX1 * ( iy + 1 );\n\t\t\t\t\tconst d = numberOfVertices + ( ix + 1 ) + gridX1 * iy;\n\n\t\t\t\t\t// faces\n\n\t\t\t\t\tindices.push( a, b, d );\n\t\t\t\t\tindices.push( b, c, d );\n\n\t\t\t\t\t// increase counter\n\n\t\t\t\t\tgroupCount += 6;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// add a group to the geometry. this will ensure multi material support\n\n\t\t\tscope.addGroup( groupStart, groupCount, materialIndex );\n\n\t\t\t// calculate new start value for groups\n\n\t\t\tgroupStart += groupCount;\n\n\t\t\t// update total number of vertices\n\n\t\t\tnumberOfVertices += vertexCounter;\n\n\t\t}\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new BoxGeometry( data.width, data.height, data.depth, data.widthSegments, data.heightSegments, data.depthSegments );\n\n\t}\n\n}\n\n/**\n * Uniform Utilities\n */\n\nfunction cloneUniforms( src ) {\n\n\tconst dst = {};\n\n\tfor ( const u in src ) {\n\n\t\tdst[ u ] = {};\n\n\t\tfor ( const p in src[ u ] ) {\n\n\t\t\tconst property = src[ u ][ p ];\n\n\t\t\tif ( property && ( property.isColor ||\n\t\t\t\tproperty.isMatrix3 || property.isMatrix4 ||\n\t\t\t\tproperty.isVector2 || property.isVector3 || property.isVector4 ||\n\t\t\t\tproperty.isTexture || property.isQuaternion ) ) {\n\n\t\t\t\tdst[ u ][ p ] = property.clone();\n\n\t\t\t} else if ( Array.isArray( property ) ) {\n\n\t\t\t\tdst[ u ][ p ] = property.slice();\n\n\t\t\t} else {\n\n\t\t\t\tdst[ u ][ p ] = property;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\treturn dst;\n\n}\n\nfunction mergeUniforms( uniforms ) {\n\n\tconst merged = {};\n\n\tfor ( let u = 0; u < uniforms.length; u ++ ) {\n\n\t\tconst tmp = cloneUniforms( uniforms[ u ] );\n\n\t\tfor ( const p in tmp ) {\n\n\t\t\tmerged[ p ] = tmp[ p ];\n\n\t\t}\n\n\t}\n\n\treturn merged;\n\n}\n\nfunction cloneUniformsGroups( src ) {\n\n\tconst dst = [];\n\n\tfor ( let u = 0; u < src.length; u ++ ) {\n\n\t\tdst.push( src[ u ].clone() );\n\n\t}\n\n\treturn dst;\n\n}\n\n// Legacy\n\nconst UniformsUtils = { clone: cloneUniforms, merge: mergeUniforms };\n\nvar default_vertex = \"void main() {\\n\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n}\";\n\nvar default_fragment = \"void main() {\\n\\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\\n}\";\n\nclass ShaderMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isShaderMaterial = true;\n\n\t\tthis.type = 'ShaderMaterial';\n\n\t\tthis.defines = {};\n\t\tthis.uniforms = {};\n\t\tthis.uniformsGroups = [];\n\n\t\tthis.vertexShader = default_vertex;\n\t\tthis.fragmentShader = default_fragment;\n\n\t\tthis.linewidth = 1;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\n\t\tthis.fog = false; // set to use scene fog\n\t\tthis.lights = false; // set to use scene lights\n\t\tthis.clipping = false; // set to use user-defined clipping planes\n\n\t\tthis.extensions = {\n\t\t\tderivatives: false, // set to use derivatives\n\t\t\tfragDepth: false, // set to use fragment depth values\n\t\t\tdrawBuffers: false, // set to use draw buffers\n\t\t\tshaderTextureLOD: false // set to use shader texture LOD\n\t\t};\n\n\t\t// When rendered geometry doesn't include these attributes but the material does,\n\t\t// use these default values in WebGL. This avoids errors when buffer data is missing.\n\t\tthis.defaultAttributeValues = {\n\t\t\t'color': [ 1, 1, 1 ],\n\t\t\t'uv': [ 0, 0 ],\n\t\t\t'uv2': [ 0, 0 ]\n\t\t};\n\n\t\tthis.index0AttributeName = undefined;\n\t\tthis.uniformsNeedUpdate = false;\n\n\t\tthis.glslVersion = null;\n\n\t\tif ( parameters !== undefined ) {\n\n\t\t\tif ( parameters.attributes !== undefined ) {\n\n\t\t\t\tconsole.error( 'THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.' );\n\n\t\t\t}\n\n\t\t\tthis.setValues( parameters );\n\n\t\t}\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.fragmentShader = source.fragmentShader;\n\t\tthis.vertexShader = source.vertexShader;\n\n\t\tthis.uniforms = cloneUniforms( source.uniforms );\n\t\tthis.uniformsGroups = cloneUniformsGroups( source.uniformsGroups );\n\n\t\tthis.defines = Object.assign( {}, source.defines );\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\n\t\tthis.fog = source.fog;\n\t\tthis.lights = source.lights;\n\t\tthis.clipping = source.clipping;\n\n\t\tthis.extensions = Object.assign( {}, source.extensions );\n\n\t\tthis.glslVersion = source.glslVersion;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = super.toJSON( meta );\n\n\t\tdata.glslVersion = this.glslVersion;\n\t\tdata.uniforms = {};\n\n\t\tfor ( const name in this.uniforms ) {\n\n\t\t\tconst uniform = this.uniforms[ name ];\n\t\t\tconst value = uniform.value;\n\n\t\t\tif ( value && value.isTexture ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 't',\n\t\t\t\t\tvalue: value.toJSON( meta ).uuid\n\t\t\t\t};\n\n\t\t\t} else if ( value && value.isColor ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 'c',\n\t\t\t\t\tvalue: value.getHex()\n\t\t\t\t};\n\n\t\t\t} else if ( value && value.isVector2 ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 'v2',\n\t\t\t\t\tvalue: value.toArray()\n\t\t\t\t};\n\n\t\t\t} else if ( value && value.isVector3 ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 'v3',\n\t\t\t\t\tvalue: value.toArray()\n\t\t\t\t};\n\n\t\t\t} else if ( value && value.isVector4 ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 'v4',\n\t\t\t\t\tvalue: value.toArray()\n\t\t\t\t};\n\n\t\t\t} else if ( value && value.isMatrix3 ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 'm3',\n\t\t\t\t\tvalue: value.toArray()\n\t\t\t\t};\n\n\t\t\t} else if ( value && value.isMatrix4 ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 'm4',\n\t\t\t\t\tvalue: value.toArray()\n\t\t\t\t};\n\n\t\t\t} else {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\tvalue: value\n\t\t\t\t};\n\n\t\t\t\t// note: the array variants v2v, v3v, v4v, m4v and tv are not supported so far\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( Object.keys( this.defines ).length > 0 ) data.defines = this.defines;\n\n\t\tdata.vertexShader = this.vertexShader;\n\t\tdata.fragmentShader = this.fragmentShader;\n\n\t\tconst extensions = {};\n\n\t\tfor ( const key in this.extensions ) {\n\n\t\t\tif ( this.extensions[ key ] === true ) extensions[ key ] = true;\n\n\t\t}\n\n\t\tif ( Object.keys( extensions ).length > 0 ) data.extensions = extensions;\n\n\t\treturn data;\n\n\t}\n\n}\n\nclass Camera extends Object3D {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.isCamera = true;\n\n\t\tthis.type = 'Camera';\n\n\t\tthis.matrixWorldInverse = new Matrix4();\n\n\t\tthis.projectionMatrix = new Matrix4();\n\t\tthis.projectionMatrixInverse = new Matrix4();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.matrixWorldInverse.copy( source.matrixWorldInverse );\n\n\t\tthis.projectionMatrix.copy( source.projectionMatrix );\n\t\tthis.projectionMatrixInverse.copy( source.projectionMatrixInverse );\n\n\t\treturn this;\n\n\t}\n\n\tgetWorldDirection( target ) {\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\tconst e = this.matrixWorld.elements;\n\n\t\treturn target.set( - e[ 8 ], - e[ 9 ], - e[ 10 ] ).normalize();\n\n\t}\n\n\tupdateMatrixWorld( force ) {\n\n\t\tsuper.updateMatrixWorld( force );\n\n\t\tthis.matrixWorldInverse.copy( this.matrixWorld ).invert();\n\n\t}\n\n\tupdateWorldMatrix( updateParents, updateChildren ) {\n\n\t\tsuper.updateWorldMatrix( updateParents, updateChildren );\n\n\t\tthis.matrixWorldInverse.copy( this.matrixWorld ).invert();\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\nclass PerspectiveCamera extends Camera {\n\n\tconstructor( fov = 50, aspect = 1, near = 0.1, far = 2000 ) {\n\n\t\tsuper();\n\n\t\tthis.isPerspectiveCamera = true;\n\n\t\tthis.type = 'PerspectiveCamera';\n\n\t\tthis.fov = fov;\n\t\tthis.zoom = 1;\n\n\t\tthis.near = near;\n\t\tthis.far = far;\n\t\tthis.focus = 10;\n\n\t\tthis.aspect = aspect;\n\t\tthis.view = null;\n\n\t\tthis.filmGauge = 35;\t// width of the film (default in millimeters)\n\t\tthis.filmOffset = 0;\t// horizontal film offset (same unit as gauge)\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.fov = source.fov;\n\t\tthis.zoom = source.zoom;\n\n\t\tthis.near = source.near;\n\t\tthis.far = source.far;\n\t\tthis.focus = source.focus;\n\n\t\tthis.aspect = source.aspect;\n\t\tthis.view = source.view === null ? null : Object.assign( {}, source.view );\n\n\t\tthis.filmGauge = source.filmGauge;\n\t\tthis.filmOffset = source.filmOffset;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Sets the FOV by focal length in respect to the current .filmGauge.\n\t *\n\t * The default film gauge is 35, so that the focal length can be specified for\n\t * a 35mm (full frame) camera.\n\t *\n\t * Values for focal length and film gauge must have the same unit.\n\t */\n\tsetFocalLength( focalLength ) {\n\n\t\t/** see {@link http://www.bobatkins.com/photography/technical/field_of_view.html} */\n\t\tconst vExtentSlope = 0.5 * this.getFilmHeight() / focalLength;\n\n\t\tthis.fov = RAD2DEG * 2 * Math.atan( vExtentSlope );\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\t/**\n\t * Calculates the focal length from the current .fov and .filmGauge.\n\t */\n\tgetFocalLength() {\n\n\t\tconst vExtentSlope = Math.tan( DEG2RAD * 0.5 * this.fov );\n\n\t\treturn 0.5 * this.getFilmHeight() / vExtentSlope;\n\n\t}\n\n\tgetEffectiveFOV() {\n\n\t\treturn RAD2DEG * 2 * Math.atan(\n\t\t\tMath.tan( DEG2RAD * 0.5 * this.fov ) / this.zoom );\n\n\t}\n\n\tgetFilmWidth() {\n\n\t\t// film not completely covered in portrait format (aspect < 1)\n\t\treturn this.filmGauge * Math.min( this.aspect, 1 );\n\n\t}\n\n\tgetFilmHeight() {\n\n\t\t// film not completely covered in landscape format (aspect > 1)\n\t\treturn this.filmGauge / Math.max( this.aspect, 1 );\n\n\t}\n\n\t/**\n\t * Sets an offset in a larger frustum. This is useful for multi-window or\n\t * multi-monitor/multi-machine setups.\n\t *\n\t * For example, if you have 3x2 monitors and each monitor is 1920x1080 and\n\t * the monitors are in grid like this\n\t *\n\t * +---+---+---+\n\t * | A | B | C |\n\t * +---+---+---+\n\t * | D | E | F |\n\t * +---+---+---+\n\t *\n\t * then for each monitor you would call it like this\n\t *\n\t * const w = 1920;\n\t * const h = 1080;\n\t * const fullWidth = w * 3;\n\t * const fullHeight = h * 2;\n\t *\n\t * --A--\n\t * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h );\n\t * --B--\n\t * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 0, w, h );\n\t * --C--\n\t * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 0, w, h );\n\t * --D--\n\t * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 1, w, h );\n\t * --E--\n\t * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h );\n\t * --F--\n\t * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h );\n\t *\n\t * Note there is no reason monitors have to be the same size or in a grid.\n\t */\n\tsetViewOffset( fullWidth, fullHeight, x, y, width, height ) {\n\n\t\tthis.aspect = fullWidth / fullHeight;\n\n\t\tif ( this.view === null ) {\n\n\t\t\tthis.view = {\n\t\t\t\tenabled: true,\n\t\t\t\tfullWidth: 1,\n\t\t\t\tfullHeight: 1,\n\t\t\t\toffsetX: 0,\n\t\t\t\toffsetY: 0,\n\t\t\t\twidth: 1,\n\t\t\t\theight: 1\n\t\t\t};\n\n\t\t}\n\n\t\tthis.view.enabled = true;\n\t\tthis.view.fullWidth = fullWidth;\n\t\tthis.view.fullHeight = fullHeight;\n\t\tthis.view.offsetX = x;\n\t\tthis.view.offsetY = y;\n\t\tthis.view.width = width;\n\t\tthis.view.height = height;\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tclearViewOffset() {\n\n\t\tif ( this.view !== null ) {\n\n\t\t\tthis.view.enabled = false;\n\n\t\t}\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tupdateProjectionMatrix() {\n\n\t\tconst near = this.near;\n\t\tlet top = near * Math.tan( DEG2RAD * 0.5 * this.fov ) / this.zoom;\n\t\tlet height = 2 * top;\n\t\tlet width = this.aspect * height;\n\t\tlet left = - 0.5 * width;\n\t\tconst view = this.view;\n\n\t\tif ( this.view !== null && this.view.enabled ) {\n\n\t\t\tconst fullWidth = view.fullWidth,\n\t\t\t\tfullHeight = view.fullHeight;\n\n\t\t\tleft += view.offsetX * width / fullWidth;\n\t\t\ttop -= view.offsetY * height / fullHeight;\n\t\t\twidth *= view.width / fullWidth;\n\t\t\theight *= view.height / fullHeight;\n\n\t\t}\n\n\t\tconst skew = this.filmOffset;\n\t\tif ( skew !== 0 ) left += near * skew / this.getFilmWidth();\n\n\t\tthis.projectionMatrix.makePerspective( left, left + width, top, top - height, near, this.far );\n\n\t\tthis.projectionMatrixInverse.copy( this.projectionMatrix ).invert();\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = super.toJSON( meta );\n\n\t\tdata.object.fov = this.fov;\n\t\tdata.object.zoom = this.zoom;\n\n\t\tdata.object.near = this.near;\n\t\tdata.object.far = this.far;\n\t\tdata.object.focus = this.focus;\n\n\t\tdata.object.aspect = this.aspect;\n\n\t\tif ( this.view !== null ) data.object.view = Object.assign( {}, this.view );\n\n\t\tdata.object.filmGauge = this.filmGauge;\n\t\tdata.object.filmOffset = this.filmOffset;\n\n\t\treturn data;\n\n\t}\n\n}\n\nconst fov = 90, aspect = 1;\n\nclass CubeCamera extends Object3D {\n\n\tconstructor( near, far, renderTarget ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'CubeCamera';\n\n\t\tif ( renderTarget.isWebGLCubeRenderTarget !== true ) {\n\n\t\t\tconsole.error( 'THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.' );\n\t\t\treturn;\n\n\t\t}\n\n\t\tthis.renderTarget = renderTarget;\n\n\t\tconst cameraPX = new PerspectiveCamera( fov, aspect, near, far );\n\t\tcameraPX.layers = this.layers;\n\t\tcameraPX.up.set( 0, - 1, 0 );\n\t\tcameraPX.lookAt( new Vector3( 1, 0, 0 ) );\n\t\tthis.add( cameraPX );\n\n\t\tconst cameraNX = new PerspectiveCamera( fov, aspect, near, far );\n\t\tcameraNX.layers = this.layers;\n\t\tcameraNX.up.set( 0, - 1, 0 );\n\t\tcameraNX.lookAt( new Vector3( - 1, 0, 0 ) );\n\t\tthis.add( cameraNX );\n\n\t\tconst cameraPY = new PerspectiveCamera( fov, aspect, near, far );\n\t\tcameraPY.layers = this.layers;\n\t\tcameraPY.up.set( 0, 0, 1 );\n\t\tcameraPY.lookAt( new Vector3( 0, 1, 0 ) );\n\t\tthis.add( cameraPY );\n\n\t\tconst cameraNY = new PerspectiveCamera( fov, aspect, near, far );\n\t\tcameraNY.layers = this.layers;\n\t\tcameraNY.up.set( 0, 0, - 1 );\n\t\tcameraNY.lookAt( new Vector3( 0, - 1, 0 ) );\n\t\tthis.add( cameraNY );\n\n\t\tconst cameraPZ = new PerspectiveCamera( fov, aspect, near, far );\n\t\tcameraPZ.layers = this.layers;\n\t\tcameraPZ.up.set( 0, - 1, 0 );\n\t\tcameraPZ.lookAt( new Vector3( 0, 0, 1 ) );\n\t\tthis.add( cameraPZ );\n\n\t\tconst cameraNZ = new PerspectiveCamera( fov, aspect, near, far );\n\t\tcameraNZ.layers = this.layers;\n\t\tcameraNZ.up.set( 0, - 1, 0 );\n\t\tcameraNZ.lookAt( new Vector3( 0, 0, - 1 ) );\n\t\tthis.add( cameraNZ );\n\n\t}\n\n\tupdate( renderer, scene ) {\n\n\t\tif ( this.parent === null ) this.updateMatrixWorld();\n\n\t\tconst renderTarget = this.renderTarget;\n\n\t\tconst [ cameraPX, cameraNX, cameraPY, cameraNY, cameraPZ, cameraNZ ] = this.children;\n\n\t\tconst currentRenderTarget = renderer.getRenderTarget();\n\n\t\tconst currentToneMapping = renderer.toneMapping;\n\t\tconst currentXrEnabled = renderer.xr.enabled;\n\n\t\trenderer.toneMapping = NoToneMapping;\n\t\trenderer.xr.enabled = false;\n\n\t\tconst generateMipmaps = renderTarget.texture.generateMipmaps;\n\n\t\trenderTarget.texture.generateMipmaps = false;\n\n\t\trenderer.setRenderTarget( renderTarget, 0 );\n\t\trenderer.render( scene, cameraPX );\n\n\t\trenderer.setRenderTarget( renderTarget, 1 );\n\t\trenderer.render( scene, cameraNX );\n\n\t\trenderer.setRenderTarget( renderTarget, 2 );\n\t\trenderer.render( scene, cameraPY );\n\n\t\trenderer.setRenderTarget( renderTarget, 3 );\n\t\trenderer.render( scene, cameraNY );\n\n\t\trenderer.setRenderTarget( renderTarget, 4 );\n\t\trenderer.render( scene, cameraPZ );\n\n\t\trenderTarget.texture.generateMipmaps = generateMipmaps;\n\n\t\trenderer.setRenderTarget( renderTarget, 5 );\n\t\trenderer.render( scene, cameraNZ );\n\n\t\trenderer.setRenderTarget( currentRenderTarget );\n\n\t\trenderer.toneMapping = currentToneMapping;\n\t\trenderer.xr.enabled = currentXrEnabled;\n\n\t\trenderTarget.texture.needsPMREMUpdate = true;\n\n\t}\n\n}\n\nclass CubeTexture extends Texture {\n\n\tconstructor( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) {\n\n\t\timages = images !== undefined ? images : [];\n\t\tmapping = mapping !== undefined ? mapping : CubeReflectionMapping;\n\n\t\tsuper( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding );\n\n\t\tthis.isCubeTexture = true;\n\n\t\tthis.flipY = false;\n\n\t}\n\n\tget images() {\n\n\t\treturn this.image;\n\n\t}\n\n\tset images( value ) {\n\n\t\tthis.image = value;\n\n\t}\n\n}\n\nclass WebGLCubeRenderTarget extends WebGLRenderTarget {\n\n\tconstructor( size, options = {} ) {\n\n\t\tsuper( size, size, options );\n\n\t\tthis.isWebGLCubeRenderTarget = true;\n\n\t\tconst image = { width: size, height: size, depth: 1 };\n\t\tconst images = [ image, image, image, image, image, image ];\n\n\t\tthis.texture = new CubeTexture( images, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding );\n\n\t\t// By convention -- likely based on the RenderMan spec from the 1990's -- cube maps are specified by WebGL (and three.js)\n\t\t// in a coordinate system in which positive-x is to the right when looking up the positive-z axis -- in other words,\n\t\t// in a left-handed coordinate system. By continuing this convention, preexisting cube maps continued to render correctly.\n\n\t\t// three.js uses a right-handed coordinate system. So environment maps used in three.js appear to have px and nx swapped\n\t\t// and the flag isRenderTargetTexture controls this conversion. The flip is not required when using WebGLCubeRenderTarget.texture\n\t\t// as a cube texture (this is detected when isRenderTargetTexture is set to true for cube textures).\n\n\t\tthis.texture.isRenderTargetTexture = true;\n\n\t\tthis.texture.generateMipmaps = options.generateMipmaps !== undefined ? options.generateMipmaps : false;\n\t\tthis.texture.minFilter = options.minFilter !== undefined ? options.minFilter : LinearFilter;\n\n\t}\n\n\tfromEquirectangularTexture( renderer, texture ) {\n\n\t\tthis.texture.type = texture.type;\n\t\tthis.texture.encoding = texture.encoding;\n\n\t\tthis.texture.generateMipmaps = texture.generateMipmaps;\n\t\tthis.texture.minFilter = texture.minFilter;\n\t\tthis.texture.magFilter = texture.magFilter;\n\n\t\tconst shader = {\n\n\t\t\tuniforms: {\n\t\t\t\ttEquirect: { value: null },\n\t\t\t},\n\n\t\t\tvertexShader: /* glsl */`\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t`,\n\n\t\t\tfragmentShader: /* glsl */`\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t`\n\t\t};\n\n\t\tconst geometry = new BoxGeometry( 5, 5, 5 );\n\n\t\tconst material = new ShaderMaterial( {\n\n\t\t\tname: 'CubemapFromEquirect',\n\n\t\t\tuniforms: cloneUniforms( shader.uniforms ),\n\t\t\tvertexShader: shader.vertexShader,\n\t\t\tfragmentShader: shader.fragmentShader,\n\t\t\tside: BackSide,\n\t\t\tblending: NoBlending\n\n\t\t} );\n\n\t\tmaterial.uniforms.tEquirect.value = texture;\n\n\t\tconst mesh = new Mesh( geometry, material );\n\n\t\tconst currentMinFilter = texture.minFilter;\n\n\t\t// Avoid blurred poles\n\t\tif ( texture.minFilter === LinearMipmapLinearFilter ) texture.minFilter = LinearFilter;\n\n\t\tconst camera = new CubeCamera( 1, 10, this );\n\t\tcamera.update( renderer, mesh );\n\n\t\ttexture.minFilter = currentMinFilter;\n\n\t\tmesh.geometry.dispose();\n\t\tmesh.material.dispose();\n\n\t\treturn this;\n\n\t}\n\n\tclear( renderer, color, depth, stencil ) {\n\n\t\tconst currentRenderTarget = renderer.getRenderTarget();\n\n\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\trenderer.setRenderTarget( this, i );\n\n\t\t\trenderer.clear( color, depth, stencil );\n\n\t\t}\n\n\t\trenderer.setRenderTarget( currentRenderTarget );\n\n\t}\n\n}\n\nconst _vector1 = /*@__PURE__*/ new Vector3();\nconst _vector2 = /*@__PURE__*/ new Vector3();\nconst _normalMatrix = /*@__PURE__*/ new Matrix3();\n\nclass Plane {\n\n\tconstructor( normal = new Vector3( 1, 0, 0 ), constant = 0 ) {\n\n\t\tthis.isPlane = true;\n\n\t\t// normal is assumed to be normalized\n\n\t\tthis.normal = normal;\n\t\tthis.constant = constant;\n\n\t}\n\n\tset( normal, constant ) {\n\n\t\tthis.normal.copy( normal );\n\t\tthis.constant = constant;\n\n\t\treturn this;\n\n\t}\n\n\tsetComponents( x, y, z, w ) {\n\n\t\tthis.normal.set( x, y, z );\n\t\tthis.constant = w;\n\n\t\treturn this;\n\n\t}\n\n\tsetFromNormalAndCoplanarPoint( normal, point ) {\n\n\t\tthis.normal.copy( normal );\n\t\tthis.constant = - point.dot( this.normal );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromCoplanarPoints( a, b, c ) {\n\n\t\tconst normal = _vector1.subVectors( c, b ).cross( _vector2.subVectors( a, b ) ).normalize();\n\n\t\t// Q: should an error be thrown if normal is zero (e.g. degenerate plane)?\n\n\t\tthis.setFromNormalAndCoplanarPoint( normal, a );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( plane ) {\n\n\t\tthis.normal.copy( plane.normal );\n\t\tthis.constant = plane.constant;\n\n\t\treturn this;\n\n\t}\n\n\tnormalize() {\n\n\t\t// Note: will lead to a divide by zero if the plane is invalid.\n\n\t\tconst inverseNormalLength = 1.0 / this.normal.length();\n\t\tthis.normal.multiplyScalar( inverseNormalLength );\n\t\tthis.constant *= inverseNormalLength;\n\n\t\treturn this;\n\n\t}\n\n\tnegate() {\n\n\t\tthis.constant *= - 1;\n\t\tthis.normal.negate();\n\n\t\treturn this;\n\n\t}\n\n\tdistanceToPoint( point ) {\n\n\t\treturn this.normal.dot( point ) + this.constant;\n\n\t}\n\n\tdistanceToSphere( sphere ) {\n\n\t\treturn this.distanceToPoint( sphere.center ) - sphere.radius;\n\n\t}\n\n\tprojectPoint( point, target ) {\n\n\t\treturn target.copy( this.normal ).multiplyScalar( - this.distanceToPoint( point ) ).add( point );\n\n\t}\n\n\tintersectLine( line, target ) {\n\n\t\tconst direction = line.delta( _vector1 );\n\n\t\tconst denominator = this.normal.dot( direction );\n\n\t\tif ( denominator === 0 ) {\n\n\t\t\t// line is coplanar, return origin\n\t\t\tif ( this.distanceToPoint( line.start ) === 0 ) {\n\n\t\t\t\treturn target.copy( line.start );\n\n\t\t\t}\n\n\t\t\t// Unsure if this is the correct method to handle this case.\n\t\t\treturn null;\n\n\t\t}\n\n\t\tconst t = - ( line.start.dot( this.normal ) + this.constant ) / denominator;\n\n\t\tif ( t < 0 || t > 1 ) {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\treturn target.copy( direction ).multiplyScalar( t ).add( line.start );\n\n\t}\n\n\tintersectsLine( line ) {\n\n\t\t// Note: this tests if a line intersects the plane, not whether it (or its end-points) are coplanar with it.\n\n\t\tconst startSign = this.distanceToPoint( line.start );\n\t\tconst endSign = this.distanceToPoint( line.end );\n\n\t\treturn ( startSign < 0 && endSign > 0 ) || ( endSign < 0 && startSign > 0 );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn box.intersectsPlane( this );\n\n\t}\n\n\tintersectsSphere( sphere ) {\n\n\t\treturn sphere.intersectsPlane( this );\n\n\t}\n\n\tcoplanarPoint( target ) {\n\n\t\treturn target.copy( this.normal ).multiplyScalar( - this.constant );\n\n\t}\n\n\tapplyMatrix4( matrix, optionalNormalMatrix ) {\n\n\t\tconst normalMatrix = optionalNormalMatrix || _normalMatrix.getNormalMatrix( matrix );\n\n\t\tconst referencePoint = this.coplanarPoint( _vector1 ).applyMatrix4( matrix );\n\n\t\tconst normal = this.normal.applyMatrix3( normalMatrix ).normalize();\n\n\t\tthis.constant = - referencePoint.dot( normal );\n\n\t\treturn this;\n\n\t}\n\n\ttranslate( offset ) {\n\n\t\tthis.constant -= offset.dot( this.normal );\n\n\t\treturn this;\n\n\t}\n\n\tequals( plane ) {\n\n\t\treturn plane.normal.equals( this.normal ) && ( plane.constant === this.constant );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\nconst _sphere$2 = /*@__PURE__*/ new Sphere();\nconst _vector$7 = /*@__PURE__*/ new Vector3();\n\nclass Frustum {\n\n\tconstructor( p0 = new Plane(), p1 = new Plane(), p2 = new Plane(), p3 = new Plane(), p4 = new Plane(), p5 = new Plane() ) {\n\n\t\tthis.planes = [ p0, p1, p2, p3, p4, p5 ];\n\n\t}\n\n\tset( p0, p1, p2, p3, p4, p5 ) {\n\n\t\tconst planes = this.planes;\n\n\t\tplanes[ 0 ].copy( p0 );\n\t\tplanes[ 1 ].copy( p1 );\n\t\tplanes[ 2 ].copy( p2 );\n\t\tplanes[ 3 ].copy( p3 );\n\t\tplanes[ 4 ].copy( p4 );\n\t\tplanes[ 5 ].copy( p5 );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( frustum ) {\n\n\t\tconst planes = this.planes;\n\n\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\tplanes[ i ].copy( frustum.planes[ i ] );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetFromProjectionMatrix( m ) {\n\n\t\tconst planes = this.planes;\n\t\tconst me = m.elements;\n\t\tconst me0 = me[ 0 ], me1 = me[ 1 ], me2 = me[ 2 ], me3 = me[ 3 ];\n\t\tconst me4 = me[ 4 ], me5 = me[ 5 ], me6 = me[ 6 ], me7 = me[ 7 ];\n\t\tconst me8 = me[ 8 ], me9 = me[ 9 ], me10 = me[ 10 ], me11 = me[ 11 ];\n\t\tconst me12 = me[ 12 ], me13 = me[ 13 ], me14 = me[ 14 ], me15 = me[ 15 ];\n\n\t\tplanes[ 0 ].setComponents( me3 - me0, me7 - me4, me11 - me8, me15 - me12 ).normalize();\n\t\tplanes[ 1 ].setComponents( me3 + me0, me7 + me4, me11 + me8, me15 + me12 ).normalize();\n\t\tplanes[ 2 ].setComponents( me3 + me1, me7 + me5, me11 + me9, me15 + me13 ).normalize();\n\t\tplanes[ 3 ].setComponents( me3 - me1, me7 - me5, me11 - me9, me15 - me13 ).normalize();\n\t\tplanes[ 4 ].setComponents( me3 - me2, me7 - me6, me11 - me10, me15 - me14 ).normalize();\n\t\tplanes[ 5 ].setComponents( me3 + me2, me7 + me6, me11 + me10, me15 + me14 ).normalize();\n\n\t\treturn this;\n\n\t}\n\n\tintersectsObject( object ) {\n\n\t\tconst geometry = object.geometry;\n\n\t\tif ( geometry.boundingSphere === null ) geometry.computeBoundingSphere();\n\n\t\t_sphere$2.copy( geometry.boundingSphere ).applyMatrix4( object.matrixWorld );\n\n\t\treturn this.intersectsSphere( _sphere$2 );\n\n\t}\n\n\tintersectsSprite( sprite ) {\n\n\t\t_sphere$2.center.set( 0, 0, 0 );\n\t\t_sphere$2.radius = 0.7071067811865476;\n\t\t_sphere$2.applyMatrix4( sprite.matrixWorld );\n\n\t\treturn this.intersectsSphere( _sphere$2 );\n\n\t}\n\n\tintersectsSphere( sphere ) {\n\n\t\tconst planes = this.planes;\n\t\tconst center = sphere.center;\n\t\tconst negRadius = - sphere.radius;\n\n\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\tconst distance = planes[ i ].distanceToPoint( center );\n\n\t\t\tif ( distance < negRadius ) {\n\n\t\t\t\treturn false;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn true;\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\tconst planes = this.planes;\n\n\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\tconst plane = planes[ i ];\n\n\t\t\t// corner at max distance\n\n\t\t\t_vector$7.x = plane.normal.x > 0 ? box.max.x : box.min.x;\n\t\t\t_vector$7.y = plane.normal.y > 0 ? box.max.y : box.min.y;\n\t\t\t_vector$7.z = plane.normal.z > 0 ? box.max.z : box.min.z;\n\n\t\t\tif ( plane.distanceToPoint( _vector$7 ) < 0 ) {\n\n\t\t\t\treturn false;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn true;\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\tconst planes = this.planes;\n\n\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\tif ( planes[ i ].distanceToPoint( point ) < 0 ) {\n\n\t\t\t\treturn false;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn true;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\nfunction WebGLAnimation() {\n\n\tlet context = null;\n\tlet isAnimating = false;\n\tlet animationLoop = null;\n\tlet requestId = null;\n\n\tfunction onAnimationFrame( time, frame ) {\n\n\t\tanimationLoop( time, frame );\n\n\t\trequestId = context.requestAnimationFrame( onAnimationFrame );\n\n\t}\n\n\treturn {\n\n\t\tstart: function () {\n\n\t\t\tif ( isAnimating === true ) return;\n\t\t\tif ( animationLoop === null ) return;\n\n\t\t\trequestId = context.requestAnimationFrame( onAnimationFrame );\n\n\t\t\tisAnimating = true;\n\n\t\t},\n\n\t\tstop: function () {\n\n\t\t\tcontext.cancelAnimationFrame( requestId );\n\n\t\t\tisAnimating = false;\n\n\t\t},\n\n\t\tsetAnimationLoop: function ( callback ) {\n\n\t\t\tanimationLoop = callback;\n\n\t\t},\n\n\t\tsetContext: function ( value ) {\n\n\t\t\tcontext = value;\n\n\t\t}\n\n\t};\n\n}\n\nfunction WebGLAttributes( gl, capabilities ) {\n\n\tconst isWebGL2 = capabilities.isWebGL2;\n\n\tconst buffers = new WeakMap();\n\n\tfunction createBuffer( attribute, bufferType ) {\n\n\t\tconst array = attribute.array;\n\t\tconst usage = attribute.usage;\n\n\t\tconst buffer = gl.createBuffer();\n\n\t\tgl.bindBuffer( bufferType, buffer );\n\t\tgl.bufferData( bufferType, array, usage );\n\n\t\tattribute.onUploadCallback();\n\n\t\tlet type;\n\n\t\tif ( array instanceof Float32Array ) {\n\n\t\t\ttype = 5126;\n\n\t\t} else if ( array instanceof Uint16Array ) {\n\n\t\t\tif ( attribute.isFloat16BufferAttribute ) {\n\n\t\t\t\tif ( isWebGL2 ) {\n\n\t\t\t\t\ttype = 5131;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthrow new Error( 'THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.' );\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\ttype = 5123;\n\n\t\t\t}\n\n\t\t} else if ( array instanceof Int16Array ) {\n\n\t\t\ttype = 5122;\n\n\t\t} else if ( array instanceof Uint32Array ) {\n\n\t\t\ttype = 5125;\n\n\t\t} else if ( array instanceof Int32Array ) {\n\n\t\t\ttype = 5124;\n\n\t\t} else if ( array instanceof Int8Array ) {\n\n\t\t\ttype = 5120;\n\n\t\t} else if ( array instanceof Uint8Array ) {\n\n\t\t\ttype = 5121;\n\n\t\t} else if ( array instanceof Uint8ClampedArray ) {\n\n\t\t\ttype = 5121;\n\n\t\t} else {\n\n\t\t\tthrow new Error( 'THREE.WebGLAttributes: Unsupported buffer data format: ' + array );\n\n\t\t}\n\n\t\treturn {\n\t\t\tbuffer: buffer,\n\t\t\ttype: type,\n\t\t\tbytesPerElement: array.BYTES_PER_ELEMENT,\n\t\t\tversion: attribute.version\n\t\t};\n\n\t}\n\n\tfunction updateBuffer( buffer, attribute, bufferType ) {\n\n\t\tconst array = attribute.array;\n\t\tconst updateRange = attribute.updateRange;\n\n\t\tgl.bindBuffer( bufferType, buffer );\n\n\t\tif ( updateRange.count === - 1 ) {\n\n\t\t\t// Not using update ranges\n\n\t\t\tgl.bufferSubData( bufferType, 0, array );\n\n\t\t} else {\n\n\t\t\tif ( isWebGL2 ) {\n\n\t\t\t\tgl.bufferSubData( bufferType, updateRange.offset * array.BYTES_PER_ELEMENT,\n\t\t\t\t\tarray, updateRange.offset, updateRange.count );\n\n\t\t\t} else {\n\n\t\t\t\tgl.bufferSubData( bufferType, updateRange.offset * array.BYTES_PER_ELEMENT,\n\t\t\t\t\tarray.subarray( updateRange.offset, updateRange.offset + updateRange.count ) );\n\n\t\t\t}\n\n\t\t\tupdateRange.count = - 1; // reset range\n\n\t\t}\n\n\t}\n\n\t//\n\n\tfunction get( attribute ) {\n\n\t\tif ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data;\n\n\t\treturn buffers.get( attribute );\n\n\t}\n\n\tfunction remove( attribute ) {\n\n\t\tif ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data;\n\n\t\tconst data = buffers.get( attribute );\n\n\t\tif ( data ) {\n\n\t\t\tgl.deleteBuffer( data.buffer );\n\n\t\t\tbuffers.delete( attribute );\n\n\t\t}\n\n\t}\n\n\tfunction update( attribute, bufferType ) {\n\n\t\tif ( attribute.isGLBufferAttribute ) {\n\n\t\t\tconst cached = buffers.get( attribute );\n\n\t\t\tif ( ! cached || cached.version < attribute.version ) {\n\n\t\t\t\tbuffers.set( attribute, {\n\t\t\t\t\tbuffer: attribute.buffer,\n\t\t\t\t\ttype: attribute.type,\n\t\t\t\t\tbytesPerElement: attribute.elementSize,\n\t\t\t\t\tversion: attribute.version\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data;\n\n\t\tconst data = buffers.get( attribute );\n\n\t\tif ( data === undefined ) {\n\n\t\t\tbuffers.set( attribute, createBuffer( attribute, bufferType ) );\n\n\t\t} else if ( data.version < attribute.version ) {\n\n\t\t\tupdateBuffer( data.buffer, attribute, bufferType );\n\n\t\t\tdata.version = attribute.version;\n\n\t\t}\n\n\t}\n\n\treturn {\n\n\t\tget: get,\n\t\tremove: remove,\n\t\tupdate: update\n\n\t};\n\n}\n\nclass PlaneGeometry extends BufferGeometry {\n\n\tconstructor( width = 1, height = 1, widthSegments = 1, heightSegments = 1 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'PlaneGeometry';\n\n\t\tthis.parameters = {\n\t\t\twidth: width,\n\t\t\theight: height,\n\t\t\twidthSegments: widthSegments,\n\t\t\theightSegments: heightSegments\n\t\t};\n\n\t\tconst width_half = width / 2;\n\t\tconst height_half = height / 2;\n\n\t\tconst gridX = Math.floor( widthSegments );\n\t\tconst gridY = Math.floor( heightSegments );\n\n\t\tconst gridX1 = gridX + 1;\n\t\tconst gridY1 = gridY + 1;\n\n\t\tconst segment_width = width / gridX;\n\t\tconst segment_height = height / gridY;\n\n\t\t//\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\tfor ( let iy = 0; iy < gridY1; iy ++ ) {\n\n\t\t\tconst y = iy * segment_height - height_half;\n\n\t\t\tfor ( let ix = 0; ix < gridX1; ix ++ ) {\n\n\t\t\t\tconst x = ix * segment_width - width_half;\n\n\t\t\t\tvertices.push( x, - y, 0 );\n\n\t\t\t\tnormals.push( 0, 0, 1 );\n\n\t\t\t\tuvs.push( ix / gridX );\n\t\t\t\tuvs.push( 1 - ( iy / gridY ) );\n\n\t\t\t}\n\n\t\t}\n\n\t\tfor ( let iy = 0; iy < gridY; iy ++ ) {\n\n\t\t\tfor ( let ix = 0; ix < gridX; ix ++ ) {\n\n\t\t\t\tconst a = ix + gridX1 * iy;\n\t\t\t\tconst b = ix + gridX1 * ( iy + 1 );\n\t\t\t\tconst c = ( ix + 1 ) + gridX1 * ( iy + 1 );\n\t\t\t\tconst d = ( ix + 1 ) + gridX1 * iy;\n\n\t\t\t\tindices.push( a, b, d );\n\t\t\t\tindices.push( b, c, d );\n\n\t\t\t}\n\n\t\t}\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new PlaneGeometry( data.width, data.height, data.widthSegments, data.heightSegments );\n\n\t}\n\n}\n\nvar alphamap_fragment = \"#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\\n#endif\";\n\nvar alphamap_pars_fragment = \"#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\";\n\nvar alphatest_fragment = \"#ifdef USE_ALPHATEST\\n\\tif ( diffuseColor.a < alphaTest ) discard;\\n#endif\";\n\nvar alphatest_pars_fragment = \"#ifdef USE_ALPHATEST\\n\\tuniform float alphaTest;\\n#endif\";\n\nvar aomap_fragment = \"#ifdef USE_AOMAP\\n\\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\\n\\treflectedLight.indirectDiffuse *= ambientOcclusion;\\n\\t#if defined( USE_ENVMAP ) && defined( STANDARD )\\n\\t\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\t\\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\\n\\t#endif\\n#endif\";\n\nvar aomap_pars_fragment = \"#ifdef USE_AOMAP\\n\\tuniform sampler2D aoMap;\\n\\tuniform float aoMapIntensity;\\n#endif\";\n\nvar begin_vertex = \"vec3 transformed = vec3( position );\";\n\nvar beginnormal_vertex = \"vec3 objectNormal = vec3( normal );\\n#ifdef USE_TANGENT\\n\\tvec3 objectTangent = vec3( tangent.xyz );\\n#endif\";\n\nvar bsdfs = \"vec3 BRDF_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\\n\\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\\n\\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\\n}\\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\\n\\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\\n\\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\\n}\\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\\n float x2 = x * x;\\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\\n return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\\n}\\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float roughness ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\tvec3 F = F_Schlick( f0, f90, dotVH );\\n\\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\tfloat D = D_GGX( alpha, dotNH );\\n\\treturn F * ( V * D );\\n}\\n#ifdef USE_IRIDESCENCE\\n\\tvec3 BRDF_GGX_Iridescence( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float iridescence, const in vec3 iridescenceFresnel, const in float roughness ) {\\n\\t\\tfloat alpha = pow2( roughness );\\n\\t\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\t\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\t\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\t\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\t\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\t\\tvec3 F = mix( F_Schlick( f0, f90, dotVH ), iridescenceFresnel, iridescence );\\n\\t\\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\t\\tfloat D = D_GGX( alpha, dotNH );\\n\\t\\treturn F * ( V * D );\\n\\t}\\n#endif\\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\\n\\tconst float LUT_SIZE = 64.0;\\n\\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\\n\\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\\n\\tfloat dotNV = saturate( dot( N, V ) );\\n\\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\\n\\tuv = uv * LUT_SCALE + LUT_BIAS;\\n\\treturn uv;\\n}\\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\\n\\tfloat l = length( f );\\n\\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\\n}\\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\\n\\tfloat x = dot( v1, v2 );\\n\\tfloat y = abs( x );\\n\\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\\n\\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\\n\\tfloat v = a / b;\\n\\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\\n\\treturn cross( v1, v2 ) * theta_sintheta;\\n}\\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\\n\\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\\n\\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\\n\\tvec3 lightNormal = cross( v1, v2 );\\n\\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\\n\\tvec3 T1, T2;\\n\\tT1 = normalize( V - N * dot( V, N ) );\\n\\tT2 = - cross( N, T1 );\\n\\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\\n\\tvec3 coords[ 4 ];\\n\\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\\n\\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\\n\\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\\n\\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\\n\\tcoords[ 0 ] = normalize( coords[ 0 ] );\\n\\tcoords[ 1 ] = normalize( coords[ 1 ] );\\n\\tcoords[ 2 ] = normalize( coords[ 2 ] );\\n\\tcoords[ 3 ] = normalize( coords[ 3 ] );\\n\\tvec3 vectorFormFactor = vec3( 0.0 );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\\n\\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\\n\\treturn vec3( result );\\n}\\nfloat G_BlinnPhong_Implicit( ) {\\n\\treturn 0.25;\\n}\\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\\n\\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\\n}\\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\\n\\tfloat G = G_BlinnPhong_Implicit( );\\n\\tfloat D = D_BlinnPhong( shininess, dotNH );\\n\\treturn F * ( G * D );\\n}\\n#if defined( USE_SHEEN )\\nfloat D_Charlie( float roughness, float dotNH ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tfloat invAlpha = 1.0 / alpha;\\n\\tfloat cos2h = dotNH * dotNH;\\n\\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\\n\\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\\n}\\nfloat V_Neubelt( float dotNV, float dotNL ) {\\n\\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\\n}\\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat D = D_Charlie( sheenRoughness, dotNH );\\n\\tfloat V = V_Neubelt( dotNV, dotNL );\\n\\treturn sheenColor * ( D * V );\\n}\\n#endif\";\n\nvar iridescence_fragment = \"#ifdef USE_IRIDESCENCE\\n\\tconst mat3 XYZ_TO_REC709 = mat3(\\n\\t\\t 3.2404542, -0.9692660, 0.0556434,\\n\\t\\t-1.5371385, 1.8760108, -0.2040259,\\n\\t\\t-0.4985314, 0.0415560, 1.0572252\\n\\t);\\n\\tvec3 Fresnel0ToIor( vec3 fresnel0 ) {\\n\\t\\tvec3 sqrtF0 = sqrt( fresnel0 );\\n\\t\\treturn ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\\n\\t}\\n\\tvec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\\n\\t\\treturn pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\\n\\t}\\n\\tfloat IorToFresnel0( float transmittedIor, float incidentIor ) {\\n\\t\\treturn pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\\n\\t}\\n\\tvec3 evalSensitivity( float OPD, vec3 shift ) {\\n\\t\\tfloat phase = 2.0 * PI * OPD * 1.0e-9;\\n\\t\\tvec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\\n\\t\\tvec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\\n\\t\\tvec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\\n\\t\\tvec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );\\n\\t\\txyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );\\n\\t\\txyz /= 1.0685e-7;\\n\\t\\tvec3 rgb = XYZ_TO_REC709 * xyz;\\n\\t\\treturn rgb;\\n\\t}\\n\\tvec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\\n\\t\\tvec3 I;\\n\\t\\tfloat iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\\n\\t\\tfloat sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\\n\\t\\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\\n\\t\\tif ( cosTheta2Sq < 0.0 ) {\\n\\t\\t\\t return vec3( 1.0 );\\n\\t\\t}\\n\\t\\tfloat cosTheta2 = sqrt( cosTheta2Sq );\\n\\t\\tfloat R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\\n\\t\\tfloat R12 = F_Schlick( R0, 1.0, cosTheta1 );\\n\\t\\tfloat R21 = R12;\\n\\t\\tfloat T121 = 1.0 - R12;\\n\\t\\tfloat phi12 = 0.0;\\n\\t\\tif ( iridescenceIOR < outsideIOR ) phi12 = PI;\\n\\t\\tfloat phi21 = PI - phi12;\\n\\t\\tvec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );\\t\\tvec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\\n\\t\\tvec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\\n\\t\\tvec3 phi23 = vec3( 0.0 );\\n\\t\\tif ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;\\n\\t\\tif ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;\\n\\t\\tif ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;\\n\\t\\tfloat OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\\n\\t\\tvec3 phi = vec3( phi21 ) + phi23;\\n\\t\\tvec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\\n\\t\\tvec3 r123 = sqrt( R123 );\\n\\t\\tvec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\\n\\t\\tvec3 C0 = R12 + Rs;\\n\\t\\tI = C0;\\n\\t\\tvec3 Cm = Rs - T121;\\n\\t\\tfor ( int m = 1; m <= 2; ++ m ) {\\n\\t\\t\\tCm *= r123;\\n\\t\\t\\tvec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\\n\\t\\t\\tI += Cm * Sm;\\n\\t\\t}\\n\\t\\treturn max( I, vec3( 0.0 ) );\\n\\t}\\n#endif\";\n\nvar bumpmap_pars_fragment = \"#ifdef USE_BUMPMAP\\n\\tuniform sampler2D bumpMap;\\n\\tuniform float bumpScale;\\n\\tvec2 dHdxy_fwd() {\\n\\t\\tvec2 dSTdx = dFdx( vUv );\\n\\t\\tvec2 dSTdy = dFdy( vUv );\\n\\t\\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\\n\\t\\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\\n\\t\\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\\n\\t\\treturn vec2( dBx, dBy );\\n\\t}\\n\\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\\n\\t\\tvec3 vSigmaX = dFdx( surf_pos.xyz );\\n\\t\\tvec3 vSigmaY = dFdy( surf_pos.xyz );\\n\\t\\tvec3 vN = surf_norm;\\n\\t\\tvec3 R1 = cross( vSigmaY, vN );\\n\\t\\tvec3 R2 = cross( vN, vSigmaX );\\n\\t\\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\\n\\t\\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\n\\t\\treturn normalize( abs( fDet ) * surf_norm - vGrad );\\n\\t}\\n#endif\";\n\nvar clipping_planes_fragment = \"#if NUM_CLIPPING_PLANES > 0\\n\\tvec4 plane;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\\n\\t\\tplane = clippingPlanes[ i ];\\n\\t\\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\\t\\tbool clipped = true;\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\\n\\t\\t\\tplane = clippingPlanes[ i ];\\n\\t\\t\\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t\\tif ( clipped ) discard;\\n\\t#endif\\n#endif\";\n\nvar clipping_planes_pars_fragment = \"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\";\n\nvar clipping_planes_pars_vertex = \"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n#endif\";\n\nvar clipping_planes_vertex = \"#if NUM_CLIPPING_PLANES > 0\\n\\tvClipPosition = - mvPosition.xyz;\\n#endif\";\n\nvar color_fragment = \"#if defined( USE_COLOR_ALPHA )\\n\\tdiffuseColor *= vColor;\\n#elif defined( USE_COLOR )\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\";\n\nvar color_pars_fragment = \"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\";\n\nvar color_pars_vertex = \"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\";\n\nvar color_vertex = \"#if defined( USE_COLOR_ALPHA )\\n\\tvColor = vec4( 1.0 );\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvColor = vec3( 1.0 );\\n#endif\\n#ifdef USE_COLOR\\n\\tvColor *= color;\\n#endif\\n#ifdef USE_INSTANCING_COLOR\\n\\tvColor.xyz *= instanceColor.xyz;\\n#endif\";\n\nvar common = \"#define PI 3.141592653589793\\n#define PI2 6.283185307179586\\n#define PI_HALF 1.5707963267948966\\n#define RECIPROCAL_PI 0.3183098861837907\\n#define RECIPROCAL_PI2 0.15915494309189535\\n#define EPSILON 1e-6\\n#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nvec3 pow2( const in vec3 x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract( sin( sn ) * c );\\n}\\n#ifdef HIGH_PRECISION\\n\\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\\n#else\\n\\tfloat precisionSafeLength( vec3 v ) {\\n\\t\\tfloat maxComponent = max3( abs( v ) );\\n\\t\\treturn length( v / maxComponent ) * maxComponent;\\n\\t}\\n#endif\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\nstruct GeometricContext {\\n\\tvec3 position;\\n\\tvec3 normal;\\n\\tvec3 viewDir;\\n#ifdef USE_CLEARCOAT\\n\\tvec3 clearcoatNormal;\\n#endif\\n};\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nmat3 transposeMat3( const in mat3 m ) {\\n\\tmat3 tmp;\\n\\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\\n\\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\\n\\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\\n\\treturn tmp;\\n}\\nfloat luminance( const in vec3 rgb ) {\\n\\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\\n\\treturn dot( weights, rgb );\\n}\\nbool isPerspectiveMatrix( mat4 m ) {\\n\\treturn m[ 2 ][ 3 ] == - 1.0;\\n}\\nvec2 equirectUv( in vec3 dir ) {\\n\\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\\n\\treturn vec2( u, v );\\n}\";\n\nvar cube_uv_reflection_fragment = \"#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t#define cubeUV_minMipLevel 4.0\\n\\t#define cubeUV_minTileSize 16.0\\n\\tfloat getFace( vec3 direction ) {\\n\\t\\tvec3 absDirection = abs( direction );\\n\\t\\tfloat face = - 1.0;\\n\\t\\tif ( absDirection.x > absDirection.z ) {\\n\\t\\t\\tif ( absDirection.x > absDirection.y )\\n\\t\\t\\t\\tface = direction.x > 0.0 ? 0.0 : 3.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t} else {\\n\\t\\t\\tif ( absDirection.z > absDirection.y )\\n\\t\\t\\t\\tface = direction.z > 0.0 ? 2.0 : 5.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t}\\n\\t\\treturn face;\\n\\t}\\n\\tvec2 getUV( vec3 direction, float face ) {\\n\\t\\tvec2 uv;\\n\\t\\tif ( face == 0.0 ) {\\n\\t\\t\\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 1.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\\n\\t\\t} else if ( face == 2.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\\n\\t\\t} else if ( face == 3.0 ) {\\n\\t\\t\\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 4.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\\n\\t\\t} else {\\n\\t\\t\\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\\n\\t\\t}\\n\\t\\treturn 0.5 * ( uv + 1.0 );\\n\\t}\\n\\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\\n\\t\\tfloat face = getFace( direction );\\n\\t\\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\\n\\t\\tmipInt = max( mipInt, cubeUV_minMipLevel );\\n\\t\\tfloat faceSize = exp2( mipInt );\\n\\t\\tvec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\\n\\t\\tif ( face > 2.0 ) {\\n\\t\\t\\tuv.y += faceSize;\\n\\t\\t\\tface -= 3.0;\\n\\t\\t}\\n\\t\\tuv.x += face * faceSize;\\n\\t\\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\\n\\t\\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\\n\\t\\tuv.x *= CUBEUV_TEXEL_WIDTH;\\n\\t\\tuv.y *= CUBEUV_TEXEL_HEIGHT;\\n\\t\\t#ifdef texture2DGradEXT\\n\\t\\t\\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\\n\\t\\t#else\\n\\t\\t\\treturn texture2D( envMap, uv ).rgb;\\n\\t\\t#endif\\n\\t}\\n\\t#define r0 1.0\\n\\t#define v0 0.339\\n\\t#define m0 - 2.0\\n\\t#define r1 0.8\\n\\t#define v1 0.276\\n\\t#define m1 - 1.0\\n\\t#define r4 0.4\\n\\t#define v4 0.046\\n\\t#define m4 2.0\\n\\t#define r5 0.305\\n\\t#define v5 0.016\\n\\t#define m5 3.0\\n\\t#define r6 0.21\\n\\t#define v6 0.0038\\n\\t#define m6 4.0\\n\\tfloat roughnessToMip( float roughness ) {\\n\\t\\tfloat mip = 0.0;\\n\\t\\tif ( roughness >= r1 ) {\\n\\t\\t\\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\\n\\t\\t} else if ( roughness >= r4 ) {\\n\\t\\t\\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\\n\\t\\t} else if ( roughness >= r5 ) {\\n\\t\\t\\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\\n\\t\\t} else if ( roughness >= r6 ) {\\n\\t\\t\\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\\n\\t\\t} else {\\n\\t\\t\\tmip = - 2.0 * log2( 1.16 * roughness );\\t\\t}\\n\\t\\treturn mip;\\n\\t}\\n\\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\\n\\t\\tfloat mip = clamp( roughnessToMip( roughness ), m0, CUBEUV_MAX_MIP );\\n\\t\\tfloat mipF = fract( mip );\\n\\t\\tfloat mipInt = floor( mip );\\n\\t\\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\\n\\t\\tif ( mipF == 0.0 ) {\\n\\t\\t\\treturn vec4( color0, 1.0 );\\n\\t\\t} else {\\n\\t\\t\\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\\n\\t\\t\\treturn vec4( mix( color0, color1, mipF ), 1.0 );\\n\\t\\t}\\n\\t}\\n#endif\";\n\nvar defaultnormal_vertex = \"vec3 transformedNormal = objectNormal;\\n#ifdef USE_INSTANCING\\n\\tmat3 m = mat3( instanceMatrix );\\n\\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\\n\\ttransformedNormal = m * transformedNormal;\\n#endif\\ntransformedNormal = normalMatrix * transformedNormal;\\n#ifdef FLIP_SIDED\\n\\ttransformedNormal = - transformedNormal;\\n#endif\\n#ifdef USE_TANGENT\\n\\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#ifdef FLIP_SIDED\\n\\t\\ttransformedTangent = - transformedTangent;\\n\\t#endif\\n#endif\";\n\nvar displacementmap_pars_vertex = \"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\";\n\nvar displacementmap_vertex = \"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\\n#endif\";\n\nvar emissivemap_fragment = \"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\";\n\nvar emissivemap_pars_fragment = \"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\";\n\nvar encodings_fragment = \"gl_FragColor = linearToOutputTexel( gl_FragColor );\";\n\nvar encodings_pars_fragment = \"vec4 LinearToLinear( in vec4 value ) {\\n\\treturn value;\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\\n}\";\n\nvar envmap_fragment = \"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvec3 cameraToFrag;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\";\n\nvar envmap_common_pars_fragment = \"#ifdef USE_ENVMAP\\n\\tuniform float envMapIntensity;\\n\\tuniform float flipEnvMap;\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\t\\n#endif\";\n\nvar envmap_pars_fragment = \"#ifdef USE_ENVMAP\\n\\tuniform float reflectivity;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\";\n\nvar envmap_pars_vertex = \"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\t\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\";\n\nvar envmap_vertex = \"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\";\n\nvar fog_vertex = \"#ifdef USE_FOG\\n\\tvFogDepth = - mvPosition.z;\\n#endif\";\n\nvar fog_pars_vertex = \"#ifdef USE_FOG\\n\\tvarying float vFogDepth;\\n#endif\";\n\nvar fog_fragment = \"#ifdef USE_FOG\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\";\n\nvar fog_pars_fragment = \"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\tvarying float vFogDepth;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\";\n\nvar gradientmap_pars_fragment = \"#ifdef USE_GRADIENTMAP\\n\\tuniform sampler2D gradientMap;\\n#endif\\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\\n\\tfloat dotNL = dot( normal, lightDirection );\\n\\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\\n\\t#ifdef USE_GRADIENTMAP\\n\\t\\treturn vec3( texture2D( gradientMap, coord ).r );\\n\\t#else\\n\\t\\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\\n\\t#endif\\n}\";\n\nvar lightmap_fragment = \"#ifdef USE_LIGHTMAP\\n\\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\\n\\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\\n\\treflectedLight.indirectDiffuse += lightMapIrradiance;\\n#endif\";\n\nvar lightmap_pars_fragment = \"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\";\n\nvar lights_lambert_vertex = \"vec3 diffuse = vec3( 1.0 );\\nGeometricContext geometry;\\ngeometry.position = mvPosition.xyz;\\ngeometry.normal = normalize( transformedNormal );\\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\\nGeometricContext backGeometry;\\nbackGeometry.position = geometry.position;\\nbackGeometry.normal = -geometry.normal;\\nbackGeometry.viewDir = geometry.viewDir;\\nvLightFront = vec3( 0.0 );\\nvIndirectFront = vec3( 0.0 );\\n#ifdef DOUBLE_SIDED\\n\\tvLightBack = vec3( 0.0 );\\n\\tvIndirectBack = vec3( 0.0 );\\n#endif\\nIncidentLight directLight;\\nfloat dotNL;\\nvec3 directLightColor_Diffuse;\\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal );\\n#ifdef DOUBLE_SIDED\\n\\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\\n\\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal );\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_DIR_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal );\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\";\n\nvar lights_pars_begin = \"uniform bool receiveShadow;\\nuniform vec3 ambientLightColor;\\nuniform vec3 lightProbe[ 9 ];\\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\\n\\tfloat x = normal.x, y = normal.y, z = normal.z;\\n\\tvec3 result = shCoefficients[ 0 ] * 0.886227;\\n\\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\\n\\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\\n\\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\\n\\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\\n\\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\\n\\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\\n\\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\\n\\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\\n\\treturn result;\\n}\\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\\n\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\\n\\treturn irradiance;\\n}\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\treturn irradiance;\\n}\\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\\n\\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\\n\\t\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\t\\tif ( cutoffDistance > 0.0 ) {\\n\\t\\t\\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t\\t}\\n\\t\\treturn distanceFalloff;\\n\\t#else\\n\\t\\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\\n\\t\\t\\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\\n\\t\\t}\\n\\t\\treturn 1.0;\\n\\t#endif\\n}\\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\\n\\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tlight.color = directionalLight.color;\\n\\t\\tlight.direction = directionalLight.direction;\\n\\t\\tlight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tvec3 lVector = pointLight.position - geometry.position;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tlight.color = pointLight.color;\\n\\t\\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tvec3 lVector = spotLight.position - geometry.position;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat angleCos = dot( light.direction, spotLight.direction );\\n\\t\\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\tif ( spotAttenuation > 0.0 ) {\\n\\t\\t\\tfloat lightDistance = length( lVector );\\n\\t\\t\\tlight.color = spotLight.color * spotAttenuation;\\n\\t\\t\\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t\\t} else {\\n\\t\\t\\tlight.color = vec3( 0.0 );\\n\\t\\t\\tlight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tstruct RectAreaLight {\\n\\t\\tvec3 color;\\n\\t\\tvec3 position;\\n\\t\\tvec3 halfWidth;\\n\\t\\tvec3 halfHeight;\\n\\t};\\n\\tuniform sampler2D ltc_1;\\tuniform sampler2D ltc_2;\\n\\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\\n\\t\\tfloat dotNL = dot( normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\";\n\nvar envmap_physical_pars_fragment = \"#if defined( USE_ENVMAP )\\n\\tvec3 getIBLIrradiance( const in vec3 normal ) {\\n\\t\\t#if defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\\n\\t\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n\\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\\n\\t\\t#if defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 reflectVec = reflect( - viewDir, normal );\\n\\t\\t\\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\\n\\t\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\\n\\t\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n#endif\";\n\nvar lights_toon_fragment = \"ToonMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\";\n\nvar lights_toon_pars_fragment = \"varying vec3 vViewPosition;\\nstruct ToonMaterial {\\n\\tvec3 diffuseColor;\\n};\\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Toon\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Toon\\n#define Material_LightProbeLOD( material )\\t(0)\";\n\nvar lights_phong_fragment = \"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\";\n\nvar lights_phong_pars_fragment = \"varying vec3 vViewPosition;\\nstruct BlinnPhongMaterial {\\n\\tvec3 diffuseColor;\\n\\tvec3 specularColor;\\n\\tfloat specularShininess;\\n\\tfloat specularStrength;\\n};\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\\n#define Material_LightProbeLOD( material )\\t(0)\";\n\nvar lights_physical_fragment = \"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\\nmaterial.roughness = min( material.roughness, 1.0 );\\n#ifdef IOR\\n\\t#ifdef SPECULAR\\n\\t\\tfloat specularIntensityFactor = specularIntensity;\\n\\t\\tvec3 specularColorFactor = specularColor;\\n\\t\\t#ifdef USE_SPECULARINTENSITYMAP\\n\\t\\t\\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\\n\\t\\t#endif\\n\\t\\t#ifdef USE_SPECULARCOLORMAP\\n\\t\\t\\tspecularColorFactor *= texture2D( specularColorMap, vUv ).rgb;\\n\\t\\t#endif\\n\\t\\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\\n\\t#else\\n\\t\\tfloat specularIntensityFactor = 1.0;\\n\\t\\tvec3 specularColorFactor = vec3( 1.0 );\\n\\t\\tmaterial.specularF90 = 1.0;\\n\\t#endif\\n\\tmaterial.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.specularF90 = 1.0;\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tmaterial.clearcoat = clearcoat;\\n\\tmaterial.clearcoatRoughness = clearcoatRoughness;\\n\\tmaterial.clearcoatF0 = vec3( 0.04 );\\n\\tmaterial.clearcoatF90 = 1.0;\\n\\t#ifdef USE_CLEARCOATMAP\\n\\t\\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\t\\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\\n\\t#endif\\n\\tmaterial.clearcoat = saturate( material.clearcoat );\\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\\n\\tmaterial.clearcoatRoughness += geometryRoughness;\\n\\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tmaterial.iridescence = iridescence;\\n\\tmaterial.iridescenceIOR = iridescenceIOR;\\n\\t#ifdef USE_IRIDESCENCEMAP\\n\\t\\tmaterial.iridescence *= texture2D( iridescenceMap, vUv ).r;\\n\\t#endif\\n\\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\t\\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vUv ).g + iridescenceThicknessMinimum;\\n\\t#else\\n\\t\\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\\n\\t#endif\\n#endif\\n#ifdef USE_SHEEN\\n\\tmaterial.sheenColor = sheenColor;\\n\\t#ifdef USE_SHEENCOLORMAP\\n\\t\\tmaterial.sheenColor *= texture2D( sheenColorMap, vUv ).rgb;\\n\\t#endif\\n\\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\\n\\t#ifdef USE_SHEENROUGHNESSMAP\\n\\t\\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\\n\\t#endif\\n#endif\";\n\nvar lights_physical_pars_fragment = \"struct PhysicalMaterial {\\n\\tvec3 diffuseColor;\\n\\tfloat roughness;\\n\\tvec3 specularColor;\\n\\tfloat specularF90;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat clearcoat;\\n\\t\\tfloat clearcoatRoughness;\\n\\t\\tvec3 clearcoatF0;\\n\\t\\tfloat clearcoatF90;\\n\\t#endif\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tfloat iridescence;\\n\\t\\tfloat iridescenceIOR;\\n\\t\\tfloat iridescenceThickness;\\n\\t\\tvec3 iridescenceFresnel;\\n\\t\\tvec3 iridescenceF0;\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tvec3 sheenColor;\\n\\t\\tfloat sheenRoughness;\\n\\t#endif\\n};\\nvec3 clearcoatSpecular = vec3( 0.0 );\\nvec3 sheenSpecular = vec3( 0.0 );\\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat r2 = roughness * roughness;\\n\\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\\n\\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\\n\\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\\n\\treturn saturate( DG * RECIPROCAL_PI );\\n}\\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\\n\\treturn fab;\\n}\\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\treturn specularColor * fab.x + specularF90 * fab.y;\\n}\\n#ifdef USE_IRIDESCENCE\\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n#else\\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n#endif\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\\n\\t#else\\n\\t\\tvec3 Fr = specularColor;\\n\\t#endif\\n\\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\\n\\tfloat Ess = fab.x + fab.y;\\n\\tfloat Ems = 1.0 - Ess;\\n\\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\\n\\tsingleScatter += FssEss;\\n\\tmultiScatter += Fms * Ems;\\n}\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 normal = geometry.normal;\\n\\t\\tvec3 viewDir = geometry.viewDir;\\n\\t\\tvec3 position = geometry.position;\\n\\t\\tvec3 lightPos = rectAreaLight.position;\\n\\t\\tvec3 halfWidth = rectAreaLight.halfWidth;\\n\\t\\tvec3 halfHeight = rectAreaLight.halfHeight;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = material.roughness;\\n\\t\\tvec3 rectCoords[ 4 ];\\n\\t\\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\\t\\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\\n\\t\\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\\n\\t\\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\\n\\t\\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\\n\\t\\tvec4 t1 = texture2D( ltc_1, uv );\\n\\t\\tvec4 t2 = texture2D( ltc_2, uv );\\n\\t\\tmat3 mInv = mat3(\\n\\t\\t\\tvec3( t1.x, 0, t1.y ),\\n\\t\\t\\tvec3( 0, 1, 0 ),\\n\\t\\t\\tvec3( t1.z, 0, t1.w )\\n\\t\\t);\\n\\t\\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\\n\\t\\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\\n\\t\\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\\n\\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\\n\\t\\tvec3 ccIrradiance = dotNLcc * directLight.color;\\n\\t\\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\\n\\t#endif\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\treflectedLight.directSpecular += irradiance * BRDF_GGX_Iridescence( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness );\\n\\t#else\\n\\t\\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\\n\\t#endif\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\\n\\t#endif\\n\\tvec3 singleScattering = vec3( 0.0 );\\n\\tvec3 multiScattering = vec3( 0.0 );\\n\\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\\n\\t#else\\n\\t\\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\\n\\t#endif\\n\\tvec3 totalScattering = singleScattering + multiScattering;\\n\\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\\n\\treflectedLight.indirectSpecular += radiance * singleScattering;\\n\\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\\n\\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\";\n\nvar lights_fragment_begin = \"\\nGeometricContext geometry;\\ngeometry.position = - vViewPosition;\\ngeometry.normal = normal;\\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\\n#ifdef USE_CLEARCOAT\\n\\tgeometry.clearcoatNormal = clearcoatNormal;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\\n\\tif ( material.iridescenceThickness == 0.0 ) {\\n\\t\\tmaterial.iridescence = 0.0;\\n\\t} else {\\n\\t\\tmaterial.iridescence = saturate( material.iridescence );\\n\\t}\\n\\tif ( material.iridescence > 0.0 ) {\\n\\t\\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\\n\\t\\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\\n\\t}\\n#endif\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointLightInfo( pointLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\\n\\t\\tpointLightShadow = pointLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotLightInfo( spotLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\tspotLightShadow = spotLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\\n\\t\\tdirectionalLightShadow = directionalLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\\tRectAreaLight rectAreaLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\\t\\trectAreaLight = rectAreaLights[ i ];\\n\\t\\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 iblIrradiance = vec3( 0.0 );\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tvec3 radiance = vec3( 0.0 );\\n\\tvec3 clearcoatRadiance = vec3( 0.0 );\\n#endif\";\n\nvar lights_fragment_maps = \"#if defined( RE_IndirectDiffuse )\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\\n\\t\\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tiblIrradiance += getIBLIrradiance( geometry.normal );\\n\\t#endif\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\\n\\t#endif\\n#endif\";\n\nvar lights_fragment_end = \"#if defined( RE_IndirectDiffuse )\\n\\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\\n#endif\";\n\nvar logdepthbuf_fragment = \"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\\n#endif\";\n\nvar logdepthbuf_pars_fragment = \"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tuniform float logDepthBufFC;\\n\\tvarying float vFragDepth;\\n\\tvarying float vIsPerspective;\\n#endif\";\n\nvar logdepthbuf_pars_vertex = \"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t\\tvarying float vIsPerspective;\\n\\t#else\\n\\t\\tuniform float logDepthBufFC;\\n\\t#endif\\n#endif\";\n\nvar logdepthbuf_vertex = \"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvFragDepth = 1.0 + gl_Position.w;\\n\\t\\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\\n\\t#else\\n\\t\\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\\n\\t\\t\\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\\n\\t\\t\\tgl_Position.z *= gl_Position.w;\\n\\t\\t}\\n\\t#endif\\n#endif\";\n\nvar map_fragment = \"#ifdef USE_MAP\\n\\tvec4 sampledDiffuseColor = texture2D( map, vUv );\\n\\t#ifdef DECODE_VIDEO_TEXTURE\\n\\t\\tsampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\\n\\t#endif\\n\\tdiffuseColor *= sampledDiffuseColor;\\n#endif\";\n\nvar map_pars_fragment = \"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\";\n\nvar map_particle_fragment = \"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\\n#endif\\n#ifdef USE_MAP\\n\\tdiffuseColor *= texture2D( map, uv );\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\\n#endif\";\n\nvar map_particle_pars_fragment = \"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\tuniform mat3 uvTransform;\\n#endif\\n#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\";\n\nvar metalnessmap_fragment = \"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\\n\\tmetalnessFactor *= texelMetalness.b;\\n#endif\";\n\nvar metalnessmap_pars_fragment = \"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\";\n\nvar morphcolor_vertex = \"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\\n\\tvColor *= morphTargetBaseInfluence;\\n\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t#if defined( USE_COLOR_ALPHA )\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\\n\\t\\t#elif defined( USE_COLOR )\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\\n\\t\\t#endif\\n\\t}\\n#endif\";\n\nvar morphnormal_vertex = \"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal *= morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\\n\\t\\t}\\n\\t#else\\n\\t\\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\\n\\t\\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\\n\\t\\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\\n\\t\\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\\n\\t#endif\\n#endif\";\n\nvar morphtarget_pars_vertex = \"#ifdef USE_MORPHTARGETS\\n\\tuniform float morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\\n\\t\\tuniform sampler2DArray morphTargetsTexture;\\n\\t\\tuniform ivec2 morphTargetsTextureSize;\\n\\t\\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\\n\\t\\t\\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\\n\\t\\t\\tint y = texelIndex / morphTargetsTextureSize.x;\\n\\t\\t\\tint x = texelIndex - y * morphTargetsTextureSize.x;\\n\\t\\t\\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\\n\\t\\t\\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\\n\\t\\t}\\n\\t#else\\n\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\tuniform float morphTargetInfluences[ 8 ];\\n\\t\\t#else\\n\\t\\t\\tuniform float morphTargetInfluences[ 4 ];\\n\\t\\t#endif\\n\\t#endif\\n#endif\";\n\nvar morphtarget_vertex = \"#ifdef USE_MORPHTARGETS\\n\\ttransformed *= morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\\n\\t\\t}\\n\\t#else\\n\\t\\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\\n\\t\\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\\n\\t\\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\\n\\t\\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\\n\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\\n\\t\\t\\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\\n\\t\\t\\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\\n\\t\\t\\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\\n\\t\\t#endif\\n\\t#endif\\n#endif\";\n\nvar normal_fragment_begin = \"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\\n#ifdef FLAT_SHADED\\n\\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\\n\\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * faceDirection;\\n\\t#endif\\n\\t#ifdef USE_TANGENT\\n\\t\\tvec3 tangent = normalize( vTangent );\\n\\t\\tvec3 bitangent = normalize( vBitangent );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\ttangent = tangent * faceDirection;\\n\\t\\t\\tbitangent = bitangent * faceDirection;\\n\\t\\t#endif\\n\\t\\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\\n\\t\\t\\tmat3 vTBN = mat3( tangent, bitangent, normal );\\n\\t\\t#endif\\n\\t#endif\\n#endif\\nvec3 geometryNormal = normal;\";\n\nvar normal_fragment_maps = \"#ifdef OBJECTSPACE_NORMALMAP\\n\\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\t#ifdef FLIP_SIDED\\n\\t\\tnormal = - normal;\\n\\t#endif\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * faceDirection;\\n\\t#endif\\n\\tnormal = normalize( normalMatrix * normal );\\n#elif defined( TANGENTSPACE_NORMALMAP )\\n\\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\tmapN.xy *= normalScale;\\n\\t#ifdef USE_TANGENT\\n\\t\\tnormal = normalize( vTBN * mapN );\\n\\t#else\\n\\t\\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\\n\\t#endif\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\\n#endif\";\n\nvar normal_pars_fragment = \"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\";\n\nvar normal_pars_vertex = \"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\";\n\nvar normal_vertex = \"#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n\\t#ifdef USE_TANGENT\\n\\t\\tvTangent = normalize( transformedTangent );\\n\\t\\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\\n\\t#endif\\n#endif\";\n\nvar normalmap_pars_fragment = \"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n#endif\\n#ifdef OBJECTSPACE_NORMALMAP\\n\\tuniform mat3 normalMatrix;\\n#endif\\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\\n\\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\\n\\t\\tvec3 q0 = dFdx( eye_pos.xyz );\\n\\t\\tvec3 q1 = dFdy( eye_pos.xyz );\\n\\t\\tvec2 st0 = dFdx( vUv.st );\\n\\t\\tvec2 st1 = dFdy( vUv.st );\\n\\t\\tvec3 N = surf_norm;\\n\\t\\tvec3 q1perp = cross( q1, N );\\n\\t\\tvec3 q0perp = cross( N, q0 );\\n\\t\\tvec3 T = q1perp * st0.x + q0perp * st1.x;\\n\\t\\tvec3 B = q1perp * st0.y + q0perp * st1.y;\\n\\t\\tfloat det = max( dot( T, T ), dot( B, B ) );\\n\\t\\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\\n\\t\\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\\n\\t}\\n#endif\";\n\nvar clearcoat_normal_fragment_begin = \"#ifdef USE_CLEARCOAT\\n\\tvec3 clearcoatNormal = geometryNormal;\\n#endif\";\n\nvar clearcoat_normal_fragment_maps = \"#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\\n\\tclearcoatMapN.xy *= clearcoatNormalScale;\\n\\t#ifdef USE_TANGENT\\n\\t\\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\\n\\t#else\\n\\t\\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\\n\\t#endif\\n#endif\";\n\nvar clearcoat_pars_fragment = \"#ifdef USE_CLEARCOATMAP\\n\\tuniform sampler2D clearcoatMap;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tuniform sampler2D clearcoatRoughnessMap;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tuniform sampler2D clearcoatNormalMap;\\n\\tuniform vec2 clearcoatNormalScale;\\n#endif\";\n\nvar iridescence_pars_fragment = \"#ifdef USE_IRIDESCENCEMAP\\n\\tuniform sampler2D iridescenceMap;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\tuniform sampler2D iridescenceThicknessMap;\\n#endif\";\n\nvar output_fragment = \"#ifdef OPAQUE\\ndiffuseColor.a = 1.0;\\n#endif\\n#ifdef USE_TRANSMISSION\\ndiffuseColor.a *= transmissionAlpha + 0.1;\\n#endif\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\";\n\nvar packing = \"vec3 packNormalToRGB( const in vec3 normal ) {\\n\\treturn normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n\\treturn 2.0 * rgb.xyz - 1.0;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nvec4 pack2HalfToRGBA( vec2 v ) {\\n\\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\\n\\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\\n}\\nvec2 unpackRGBATo2Half( vec4 v ) {\\n\\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\\n\\treturn linearClipZ * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\\n\\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\\n}\";\n\nvar premultiplied_alpha_fragment = \"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\";\n\nvar project_vertex = \"vec4 mvPosition = vec4( transformed, 1.0 );\\n#ifdef USE_INSTANCING\\n\\tmvPosition = instanceMatrix * mvPosition;\\n#endif\\nmvPosition = modelViewMatrix * mvPosition;\\ngl_Position = projectionMatrix * mvPosition;\";\n\nvar dithering_fragment = \"#ifdef DITHERING\\n\\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\\n#endif\";\n\nvar dithering_pars_fragment = \"#ifdef DITHERING\\n\\tvec3 dithering( vec3 color ) {\\n\\t\\tfloat grid_position = rand( gl_FragCoord.xy );\\n\\t\\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\\n\\t\\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\\n\\t\\treturn color + dither_shift_RGB;\\n\\t}\\n#endif\";\n\nvar roughnessmap_fragment = \"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\\n\\troughnessFactor *= texelRoughness.g;\\n#endif\";\n\nvar roughnessmap_pars_fragment = \"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\";\n\nvar shadowmap_pars_fragment = \"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\\n\\t\\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\\n\\t}\\n\\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\\n\\t\\tfloat occlusion = 1.0;\\n\\t\\tvec2 distribution = texture2DDistribution( shadow, uv );\\n\\t\\tfloat hard_shadow = step( compare , distribution.x );\\n\\t\\tif (hard_shadow != 1.0 ) {\\n\\t\\t\\tfloat distance = compare - distribution.x ;\\n\\t\\t\\tfloat variance = max( 0.00000, distribution.y * distribution.y );\\n\\t\\t\\tfloat softness_probability = variance / (variance + distance * distance );\\t\\t\\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\\t\\t\\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\\n\\t\\t}\\n\\t\\treturn occlusion;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tfloat shadow = 1.0;\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\\n\\t\\tbool inFrustum = all( inFrustumVec );\\n\\t\\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\\n\\t\\tbool frustumTest = all( frustumTestVec );\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx2 = dx0 / 2.0;\\n\\t\\t\\tfloat dy2 = dy0 / 2.0;\\n\\t\\t\\tfloat dx3 = dx1 / 2.0;\\n\\t\\t\\tfloat dy3 = dy1 / 2.0;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 17.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx = texelSize.x;\\n\\t\\t\\tfloat dy = texelSize.y;\\n\\t\\t\\tvec2 uv = shadowCoord.xy;\\n\\t\\t\\tvec2 f = fract( uv * shadowMapSize + 0.5 );\\n\\t\\t\\tuv -= f * texelSize;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t f.x ),\\n\\t\\t\\t\\t\\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t f.x ),\\n\\t\\t\\t\\t\\t f.y )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#else\\n\\t\\t\\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn shadow;\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\\t\\tdp += shadowBias;\\n\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t#endif\\n\\t}\\n#endif\";\n\nvar shadowmap_pars_vertex = \"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n#endif\";\n\nvar shadowmap_vertex = \"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\tvec4 shadowWorldPosition;\\n\\t#endif\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\";\n\nvar shadowmask_pars_fragment = \"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tspotLight = spotLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tpointLight = pointLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\";\n\nvar skinbase_vertex = \"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\";\n\nvar skinning_pars_vertex = \"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\tuniform highp sampler2D boneTexture;\\n\\tuniform int boneTextureSize;\\n\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\tfloat j = i * 4.0;\\n\\t\\tfloat x = mod( j, float( boneTextureSize ) );\\n\\t\\tfloat y = floor( j / float( boneTextureSize ) );\\n\\t\\tfloat dx = 1.0 / float( boneTextureSize );\\n\\t\\tfloat dy = 1.0 / float( boneTextureSize );\\n\\t\\ty = dy * ( y + 0.5 );\\n\\t\\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\n\\t\\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\n\\t\\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\n\\t\\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\n\\t\\tmat4 bone = mat4( v1, v2, v3, v4 );\\n\\t\\treturn bone;\\n\\t}\\n#endif\";\n\nvar skinning_vertex = \"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\ttransformed = ( bindMatrixInverse * skinned ).xyz;\\n#endif\";\n\nvar skinnormal_vertex = \"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n\\t#ifdef USE_TANGENT\\n\\t\\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#endif\\n#endif\";\n\nvar specularmap_fragment = \"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\";\n\nvar specularmap_pars_fragment = \"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\";\n\nvar tonemapping_fragment = \"#if defined( TONE_MAPPING )\\n\\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\";\n\nvar tonemapping_pars_fragment = \"#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\nuniform float toneMappingExposure;\\nvec3 LinearToneMapping( vec3 color ) {\\n\\treturn toneMappingExposure * color;\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\tcolor = max( vec3( 0.0 ), color - 0.004 );\\n\\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\nvec3 RRTAndODTFit( vec3 v ) {\\n\\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\\n\\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\\n\\treturn a / b;\\n}\\nvec3 ACESFilmicToneMapping( vec3 color ) {\\n\\tconst mat3 ACESInputMat = mat3(\\n\\t\\tvec3( 0.59719, 0.07600, 0.02840 ),\\t\\tvec3( 0.35458, 0.90834, 0.13383 ),\\n\\t\\tvec3( 0.04823, 0.01566, 0.83777 )\\n\\t);\\n\\tconst mat3 ACESOutputMat = mat3(\\n\\t\\tvec3( 1.60475, -0.10208, -0.00327 ),\\t\\tvec3( -0.53108, 1.10813, -0.07276 ),\\n\\t\\tvec3( -0.07367, -0.00605, 1.07602 )\\n\\t);\\n\\tcolor *= toneMappingExposure / 0.6;\\n\\tcolor = ACESInputMat * color;\\n\\tcolor = RRTAndODTFit( color );\\n\\tcolor = ACESOutputMat * color;\\n\\treturn saturate( color );\\n}\\nvec3 CustomToneMapping( vec3 color ) { return color; }\";\n\nvar transmission_fragment = \"#ifdef USE_TRANSMISSION\\n\\tfloat transmissionAlpha = 1.0;\\n\\tfloat transmissionFactor = transmission;\\n\\tfloat thicknessFactor = thickness;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\\n\\t#endif\\n\\tvec3 pos = vWorldPosition;\\n\\tvec3 v = normalize( cameraPosition - pos );\\n\\tvec3 n = inverseTransformDirection( normal, viewMatrix );\\n\\tvec4 transmission = getIBLVolumeRefraction(\\n\\t\\tn, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,\\n\\t\\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\\n\\t\\tattenuationColor, attenuationDistance );\\n\\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor );\\n\\ttransmissionAlpha = mix( transmissionAlpha, transmission.a, transmissionFactor );\\n#endif\";\n\nvar transmission_pars_fragment = \"#ifdef USE_TRANSMISSION\\n\\tuniform float transmission;\\n\\tuniform float thickness;\\n\\tuniform float attenuationDistance;\\n\\tuniform vec3 attenuationColor;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\tuniform sampler2D transmissionMap;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tuniform sampler2D thicknessMap;\\n\\t#endif\\n\\tuniform vec2 transmissionSamplerSize;\\n\\tuniform sampler2D transmissionSamplerMap;\\n\\tuniform mat4 modelMatrix;\\n\\tuniform mat4 projectionMatrix;\\n\\tvarying vec3 vWorldPosition;\\n\\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\\n\\t\\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\\n\\t\\tvec3 modelScale;\\n\\t\\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\\n\\t\\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\\n\\t\\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\\n\\t\\treturn normalize( refractionVector ) * thickness * modelScale;\\n\\t}\\n\\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\\n\\t\\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\\n\\t}\\n\\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\\n\\t\\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\\n\\t\\t#ifdef texture2DLodEXT\\n\\t\\t\\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\\n\\t\\t#else\\n\\t\\t\\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\\n\\t\\t#endif\\n\\t}\\n\\tvec3 applyVolumeAttenuation( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\\n\\t\\tif ( attenuationDistance == 0.0 ) {\\n\\t\\t\\treturn radiance;\\n\\t\\t} else {\\n\\t\\t\\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\\n\\t\\t\\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\\t\\t\\treturn transmittance * radiance;\\n\\t\\t}\\n\\t}\\n\\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\\n\\t\\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\\n\\t\\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\\n\\t\\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\\n\\t\\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\\n\\t\\tvec3 refractedRayExit = position + transmissionRay;\\n\\t\\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\\n\\t\\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\\n\\t\\trefractionCoords += 1.0;\\n\\t\\trefractionCoords /= 2.0;\\n\\t\\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\\n\\t\\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\\n\\t\\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\\n\\t\\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\\n\\t}\\n#endif\";\n\nvar uv_pars_fragment = \"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\\n\\tvarying vec2 vUv;\\n#endif\";\n\nvar uv_pars_vertex = \"#ifdef USE_UV\\n\\t#ifdef UVS_VERTEX_ONLY\\n\\t\\tvec2 vUv;\\n\\t#else\\n\\t\\tvarying vec2 vUv;\\n\\t#endif\\n\\tuniform mat3 uvTransform;\\n#endif\";\n\nvar uv_vertex = \"#ifdef USE_UV\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n#endif\";\n\nvar uv2_pars_fragment = \"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvarying vec2 vUv2;\\n#endif\";\n\nvar uv2_pars_vertex = \"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tattribute vec2 uv2;\\n\\tvarying vec2 vUv2;\\n\\tuniform mat3 uv2Transform;\\n#endif\";\n\nvar uv2_vertex = \"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\\n#endif\";\n\nvar worldpos_vertex = \"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\\n\\tvec4 worldPosition = vec4( transformed, 1.0 );\\n\\t#ifdef USE_INSTANCING\\n\\t\\tworldPosition = instanceMatrix * worldPosition;\\n\\t#endif\\n\\tworldPosition = modelMatrix * worldPosition;\\n#endif\";\n\nconst vertex$g = \"varying vec2 vUv;\\nuniform mat3 uvTransform;\\nvoid main() {\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n\\tgl_Position = vec4( position.xy, 1.0, 1.0 );\\n}\";\n\nconst fragment$g = \"uniform sampler2D t2D;\\nvarying vec2 vUv;\\nvoid main() {\\n\\tgl_FragColor = texture2D( t2D, vUv );\\n\\t#ifdef DECODE_VIDEO_TEXTURE\\n\\t\\tgl_FragColor = vec4( mix( pow( gl_FragColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), gl_FragColor.rgb * 0.0773993808, vec3( lessThanEqual( gl_FragColor.rgb, vec3( 0.04045 ) ) ) ), gl_FragColor.w );\\n\\t#endif\\n\\t#include \\n\\t#include \\n}\";\n\nconst vertex$f = \"varying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n\\tgl_Position.z = gl_Position.w;\\n}\";\n\nconst fragment$f = \"#include \\nuniform float opacity;\\nvarying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvec3 vReflect = vWorldDirection;\\n\\t#include \\n\\tgl_FragColor = envColor;\\n\\tgl_FragColor.a *= opacity;\\n\\t#include \\n\\t#include \\n}\";\n\nconst vertex$e = \"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvHighPrecisionZW = gl_Position.zw;\\n}\";\n\nconst fragment$e = \"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( fragCoordZ );\\n\\t#endif\\n}\";\n\nconst vertex$d = \"#define DISTANCE\\nvarying vec3 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvWorldPosition = worldPosition.xyz;\\n}\";\n\nconst fragment$d = \"#define DISTANCE\\nuniform vec3 referencePosition;\\nuniform float nearDistance;\\nuniform float farDistance;\\nvarying vec3 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main () {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\tfloat dist = length( vWorldPosition - referencePosition );\\n\\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\\n\\tdist = saturate( dist );\\n\\tgl_FragColor = packDepthToRGBA( dist );\\n}\";\n\nconst vertex$c = \"varying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\";\n\nconst fragment$c = \"uniform sampler2D tEquirect;\\nvarying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvec3 direction = normalize( vWorldDirection );\\n\\tvec2 sampleUV = equirectUv( direction );\\n\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n\\t#include \\n\\t#include \\n}\";\n\nconst vertex$b = \"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tvLineDistance = scale * lineDistance;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst fragment$b = \"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst vertex$a = \"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst fragment$a = \"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\\n\\t\\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vec3( 1.0 );\\n\\t#endif\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst vertex$9 = \"#define LAMBERT\\nvarying vec3 vLightFront;\\nvarying vec3 vIndirectFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n\\tvarying vec3 vIndirectBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst fragment$9 = \"uniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\nvarying vec3 vLightFront;\\nvarying vec3 vIndirectFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n\\tvarying vec3 vIndirectBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vIndirectFront;\\n\\t#endif\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\\n\\t#else\\n\\t\\treflectedLight.directDiffuse = vLightFront;\\n\\t#endif\\n\\treflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();\\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst vertex$8 = \"#define MATCAP\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n}\";\n\nconst fragment$8 = \"#define MATCAP\\nuniform vec3 diffuse;\\nuniform float opacity;\\nuniform sampler2D matcap;\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 viewDir = normalize( vViewPosition );\\n\\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\\n\\tvec3 y = cross( viewDir, x );\\n\\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\\n\\t#ifdef USE_MATCAP\\n\\t\\tvec4 matcapColor = texture2D( matcap, uv );\\n\\t#else\\n\\t\\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\\n\\t#endif\\n\\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst vertex$7 = \"#define NORMAL\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n}\";\n\nconst fragment$7 = \"#define NORMAL\\nuniform float opacity;\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\\n\\t#ifdef OPAQUE\\n\\t\\tgl_FragColor.a = 1.0;\\n\\t#endif\\n}\";\n\nconst vertex$6 = \"#define PHONG\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst fragment$6 = \"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst vertex$5 = \"#define STANDARD\\nvarying vec3 vViewPosition;\\n#ifdef USE_TRANSMISSION\\n\\tvarying vec3 vWorldPosition;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n#ifdef USE_TRANSMISSION\\n\\tvWorldPosition = worldPosition.xyz;\\n#endif\\n}\";\n\nconst fragment$5 = \"#define STANDARD\\n#ifdef PHYSICAL\\n\\t#define IOR\\n\\t#define SPECULAR\\n#endif\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifdef IOR\\n\\tuniform float ior;\\n#endif\\n#ifdef SPECULAR\\n\\tuniform float specularIntensity;\\n\\tuniform vec3 specularColor;\\n\\t#ifdef USE_SPECULARINTENSITYMAP\\n\\t\\tuniform sampler2D specularIntensityMap;\\n\\t#endif\\n\\t#ifdef USE_SPECULARCOLORMAP\\n\\t\\tuniform sampler2D specularColorMap;\\n\\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tuniform float clearcoat;\\n\\tuniform float clearcoatRoughness;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tuniform float iridescence;\\n\\tuniform float iridescenceIOR;\\n\\tuniform float iridescenceThicknessMinimum;\\n\\tuniform float iridescenceThicknessMaximum;\\n#endif\\n#ifdef USE_SHEEN\\n\\tuniform vec3 sheenColor;\\n\\tuniform float sheenRoughness;\\n\\t#ifdef USE_SHEENCOLORMAP\\n\\t\\tuniform sampler2D sheenColorMap;\\n\\t#endif\\n\\t#ifdef USE_SHEENROUGHNESSMAP\\n\\t\\tuniform sampler2D sheenRoughnessMap;\\n\\t#endif\\n#endif\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\\n\\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\\n\\t#include \\n\\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\\n\\t#ifdef USE_SHEEN\\n\\t\\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\\n\\t\\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\\n\\t\\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\\n\\t\\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst vertex$4 = \"#define TOON\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst fragment$4 = \"#define TOON\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst vertex$3 = \"uniform float size;\\nuniform float scale;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tgl_PointSize = size;\\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst fragment$3 = \"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst vertex$2 = \"#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst fragment$2 = \"uniform vec3 color;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst vertex$1 = \"uniform float rotation;\\nuniform vec2 center;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\tvec2 scale;\\n\\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\\n\\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\\n\\t#ifndef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) scale *= - mvPosition.z;\\n\\t#endif\\n\\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\\n\\tvec2 rotatedPosition;\\n\\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\\n\\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\\n\\tmvPosition.xy += rotatedPosition;\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst fragment$1 = \"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\";\n\nconst ShaderChunk = {\n\talphamap_fragment: alphamap_fragment,\n\talphamap_pars_fragment: alphamap_pars_fragment,\n\talphatest_fragment: alphatest_fragment,\n\talphatest_pars_fragment: alphatest_pars_fragment,\n\taomap_fragment: aomap_fragment,\n\taomap_pars_fragment: aomap_pars_fragment,\n\tbegin_vertex: begin_vertex,\n\tbeginnormal_vertex: beginnormal_vertex,\n\tbsdfs: bsdfs,\n\tiridescence_fragment: iridescence_fragment,\n\tbumpmap_pars_fragment: bumpmap_pars_fragment,\n\tclipping_planes_fragment: clipping_planes_fragment,\n\tclipping_planes_pars_fragment: clipping_planes_pars_fragment,\n\tclipping_planes_pars_vertex: clipping_planes_pars_vertex,\n\tclipping_planes_vertex: clipping_planes_vertex,\n\tcolor_fragment: color_fragment,\n\tcolor_pars_fragment: color_pars_fragment,\n\tcolor_pars_vertex: color_pars_vertex,\n\tcolor_vertex: color_vertex,\n\tcommon: common,\n\tcube_uv_reflection_fragment: cube_uv_reflection_fragment,\n\tdefaultnormal_vertex: defaultnormal_vertex,\n\tdisplacementmap_pars_vertex: displacementmap_pars_vertex,\n\tdisplacementmap_vertex: displacementmap_vertex,\n\temissivemap_fragment: emissivemap_fragment,\n\temissivemap_pars_fragment: emissivemap_pars_fragment,\n\tencodings_fragment: encodings_fragment,\n\tencodings_pars_fragment: encodings_pars_fragment,\n\tenvmap_fragment: envmap_fragment,\n\tenvmap_common_pars_fragment: envmap_common_pars_fragment,\n\tenvmap_pars_fragment: envmap_pars_fragment,\n\tenvmap_pars_vertex: envmap_pars_vertex,\n\tenvmap_physical_pars_fragment: envmap_physical_pars_fragment,\n\tenvmap_vertex: envmap_vertex,\n\tfog_vertex: fog_vertex,\n\tfog_pars_vertex: fog_pars_vertex,\n\tfog_fragment: fog_fragment,\n\tfog_pars_fragment: fog_pars_fragment,\n\tgradientmap_pars_fragment: gradientmap_pars_fragment,\n\tlightmap_fragment: lightmap_fragment,\n\tlightmap_pars_fragment: lightmap_pars_fragment,\n\tlights_lambert_vertex: lights_lambert_vertex,\n\tlights_pars_begin: lights_pars_begin,\n\tlights_toon_fragment: lights_toon_fragment,\n\tlights_toon_pars_fragment: lights_toon_pars_fragment,\n\tlights_phong_fragment: lights_phong_fragment,\n\tlights_phong_pars_fragment: lights_phong_pars_fragment,\n\tlights_physical_fragment: lights_physical_fragment,\n\tlights_physical_pars_fragment: lights_physical_pars_fragment,\n\tlights_fragment_begin: lights_fragment_begin,\n\tlights_fragment_maps: lights_fragment_maps,\n\tlights_fragment_end: lights_fragment_end,\n\tlogdepthbuf_fragment: logdepthbuf_fragment,\n\tlogdepthbuf_pars_fragment: logdepthbuf_pars_fragment,\n\tlogdepthbuf_pars_vertex: logdepthbuf_pars_vertex,\n\tlogdepthbuf_vertex: logdepthbuf_vertex,\n\tmap_fragment: map_fragment,\n\tmap_pars_fragment: map_pars_fragment,\n\tmap_particle_fragment: map_particle_fragment,\n\tmap_particle_pars_fragment: map_particle_pars_fragment,\n\tmetalnessmap_fragment: metalnessmap_fragment,\n\tmetalnessmap_pars_fragment: metalnessmap_pars_fragment,\n\tmorphcolor_vertex: morphcolor_vertex,\n\tmorphnormal_vertex: morphnormal_vertex,\n\tmorphtarget_pars_vertex: morphtarget_pars_vertex,\n\tmorphtarget_vertex: morphtarget_vertex,\n\tnormal_fragment_begin: normal_fragment_begin,\n\tnormal_fragment_maps: normal_fragment_maps,\n\tnormal_pars_fragment: normal_pars_fragment,\n\tnormal_pars_vertex: normal_pars_vertex,\n\tnormal_vertex: normal_vertex,\n\tnormalmap_pars_fragment: normalmap_pars_fragment,\n\tclearcoat_normal_fragment_begin: clearcoat_normal_fragment_begin,\n\tclearcoat_normal_fragment_maps: clearcoat_normal_fragment_maps,\n\tclearcoat_pars_fragment: clearcoat_pars_fragment,\n\tiridescence_pars_fragment: iridescence_pars_fragment,\n\toutput_fragment: output_fragment,\n\tpacking: packing,\n\tpremultiplied_alpha_fragment: premultiplied_alpha_fragment,\n\tproject_vertex: project_vertex,\n\tdithering_fragment: dithering_fragment,\n\tdithering_pars_fragment: dithering_pars_fragment,\n\troughnessmap_fragment: roughnessmap_fragment,\n\troughnessmap_pars_fragment: roughnessmap_pars_fragment,\n\tshadowmap_pars_fragment: shadowmap_pars_fragment,\n\tshadowmap_pars_vertex: shadowmap_pars_vertex,\n\tshadowmap_vertex: shadowmap_vertex,\n\tshadowmask_pars_fragment: shadowmask_pars_fragment,\n\tskinbase_vertex: skinbase_vertex,\n\tskinning_pars_vertex: skinning_pars_vertex,\n\tskinning_vertex: skinning_vertex,\n\tskinnormal_vertex: skinnormal_vertex,\n\tspecularmap_fragment: specularmap_fragment,\n\tspecularmap_pars_fragment: specularmap_pars_fragment,\n\ttonemapping_fragment: tonemapping_fragment,\n\ttonemapping_pars_fragment: tonemapping_pars_fragment,\n\ttransmission_fragment: transmission_fragment,\n\ttransmission_pars_fragment: transmission_pars_fragment,\n\tuv_pars_fragment: uv_pars_fragment,\n\tuv_pars_vertex: uv_pars_vertex,\n\tuv_vertex: uv_vertex,\n\tuv2_pars_fragment: uv2_pars_fragment,\n\tuv2_pars_vertex: uv2_pars_vertex,\n\tuv2_vertex: uv2_vertex,\n\tworldpos_vertex: worldpos_vertex,\n\n\tbackground_vert: vertex$g,\n\tbackground_frag: fragment$g,\n\tcube_vert: vertex$f,\n\tcube_frag: fragment$f,\n\tdepth_vert: vertex$e,\n\tdepth_frag: fragment$e,\n\tdistanceRGBA_vert: vertex$d,\n\tdistanceRGBA_frag: fragment$d,\n\tequirect_vert: vertex$c,\n\tequirect_frag: fragment$c,\n\tlinedashed_vert: vertex$b,\n\tlinedashed_frag: fragment$b,\n\tmeshbasic_vert: vertex$a,\n\tmeshbasic_frag: fragment$a,\n\tmeshlambert_vert: vertex$9,\n\tmeshlambert_frag: fragment$9,\n\tmeshmatcap_vert: vertex$8,\n\tmeshmatcap_frag: fragment$8,\n\tmeshnormal_vert: vertex$7,\n\tmeshnormal_frag: fragment$7,\n\tmeshphong_vert: vertex$6,\n\tmeshphong_frag: fragment$6,\n\tmeshphysical_vert: vertex$5,\n\tmeshphysical_frag: fragment$5,\n\tmeshtoon_vert: vertex$4,\n\tmeshtoon_frag: fragment$4,\n\tpoints_vert: vertex$3,\n\tpoints_frag: fragment$3,\n\tshadow_vert: vertex$2,\n\tshadow_frag: fragment$2,\n\tsprite_vert: vertex$1,\n\tsprite_frag: fragment$1\n};\n\n/**\n * Uniforms library for shared webgl shaders\n */\n\nconst UniformsLib = {\n\n\tcommon: {\n\n\t\tdiffuse: { value: /*@__PURE__*/ new Color( 0xffffff ) },\n\t\topacity: { value: 1.0 },\n\n\t\tmap: { value: null },\n\t\tuvTransform: { value: /*@__PURE__*/ new Matrix3() },\n\t\tuv2Transform: { value: /*@__PURE__*/ new Matrix3() },\n\n\t\talphaMap: { value: null },\n\t\talphaTest: { value: 0 }\n\n\t},\n\n\tspecularmap: {\n\n\t\tspecularMap: { value: null },\n\n\t},\n\n\tenvmap: {\n\n\t\tenvMap: { value: null },\n\t\tflipEnvMap: { value: - 1 },\n\t\treflectivity: { value: 1.0 }, // basic, lambert, phong\n\t\tior: { value: 1.5 }, // physical\n\t\trefractionRatio: { value: 0.98 } // basic, lambert, phong\n\n\t},\n\n\taomap: {\n\n\t\taoMap: { value: null },\n\t\taoMapIntensity: { value: 1 }\n\n\t},\n\n\tlightmap: {\n\n\t\tlightMap: { value: null },\n\t\tlightMapIntensity: { value: 1 }\n\n\t},\n\n\temissivemap: {\n\n\t\temissiveMap: { value: null }\n\n\t},\n\n\tbumpmap: {\n\n\t\tbumpMap: { value: null },\n\t\tbumpScale: { value: 1 }\n\n\t},\n\n\tnormalmap: {\n\n\t\tnormalMap: { value: null },\n\t\tnormalScale: { value: /*@__PURE__*/ new Vector2( 1, 1 ) }\n\n\t},\n\n\tdisplacementmap: {\n\n\t\tdisplacementMap: { value: null },\n\t\tdisplacementScale: { value: 1 },\n\t\tdisplacementBias: { value: 0 }\n\n\t},\n\n\troughnessmap: {\n\n\t\troughnessMap: { value: null }\n\n\t},\n\n\tmetalnessmap: {\n\n\t\tmetalnessMap: { value: null }\n\n\t},\n\n\tgradientmap: {\n\n\t\tgradientMap: { value: null }\n\n\t},\n\n\tfog: {\n\n\t\tfogDensity: { value: 0.00025 },\n\t\tfogNear: { value: 1 },\n\t\tfogFar: { value: 2000 },\n\t\tfogColor: { value: /*@__PURE__*/ new Color( 0xffffff ) }\n\n\t},\n\n\tlights: {\n\n\t\tambientLightColor: { value: [] },\n\n\t\tlightProbe: { value: [] },\n\n\t\tdirectionalLights: { value: [], properties: {\n\t\t\tdirection: {},\n\t\t\tcolor: {}\n\t\t} },\n\n\t\tdirectionalLightShadows: { value: [], properties: {\n\t\t\tshadowBias: {},\n\t\t\tshadowNormalBias: {},\n\t\t\tshadowRadius: {},\n\t\t\tshadowMapSize: {}\n\t\t} },\n\n\t\tdirectionalShadowMap: { value: [] },\n\t\tdirectionalShadowMatrix: { value: [] },\n\n\t\tspotLights: { value: [], properties: {\n\t\t\tcolor: {},\n\t\t\tposition: {},\n\t\t\tdirection: {},\n\t\t\tdistance: {},\n\t\t\tconeCos: {},\n\t\t\tpenumbraCos: {},\n\t\t\tdecay: {}\n\t\t} },\n\n\t\tspotLightShadows: { value: [], properties: {\n\t\t\tshadowBias: {},\n\t\t\tshadowNormalBias: {},\n\t\t\tshadowRadius: {},\n\t\t\tshadowMapSize: {}\n\t\t} },\n\n\t\tspotShadowMap: { value: [] },\n\t\tspotShadowMatrix: { value: [] },\n\n\t\tpointLights: { value: [], properties: {\n\t\t\tcolor: {},\n\t\t\tposition: {},\n\t\t\tdecay: {},\n\t\t\tdistance: {}\n\t\t} },\n\n\t\tpointLightShadows: { value: [], properties: {\n\t\t\tshadowBias: {},\n\t\t\tshadowNormalBias: {},\n\t\t\tshadowRadius: {},\n\t\t\tshadowMapSize: {},\n\t\t\tshadowCameraNear: {},\n\t\t\tshadowCameraFar: {}\n\t\t} },\n\n\t\tpointShadowMap: { value: [] },\n\t\tpointShadowMatrix: { value: [] },\n\n\t\themisphereLights: { value: [], properties: {\n\t\t\tdirection: {},\n\t\t\tskyColor: {},\n\t\t\tgroundColor: {}\n\t\t} },\n\n\t\t// TODO (abelnation): RectAreaLight BRDF data needs to be moved from example to main src\n\t\trectAreaLights: { value: [], properties: {\n\t\t\tcolor: {},\n\t\t\tposition: {},\n\t\t\twidth: {},\n\t\t\theight: {}\n\t\t} },\n\n\t\tltc_1: { value: null },\n\t\tltc_2: { value: null }\n\n\t},\n\n\tpoints: {\n\n\t\tdiffuse: { value: /*@__PURE__*/ new Color( 0xffffff ) },\n\t\topacity: { value: 1.0 },\n\t\tsize: { value: 1.0 },\n\t\tscale: { value: 1.0 },\n\t\tmap: { value: null },\n\t\talphaMap: { value: null },\n\t\talphaTest: { value: 0 },\n\t\tuvTransform: { value: /*@__PURE__*/ new Matrix3() }\n\n\t},\n\n\tsprite: {\n\n\t\tdiffuse: { value: /*@__PURE__*/ new Color( 0xffffff ) },\n\t\topacity: { value: 1.0 },\n\t\tcenter: { value: /*@__PURE__*/ new Vector2( 0.5, 0.5 ) },\n\t\trotation: { value: 0.0 },\n\t\tmap: { value: null },\n\t\talphaMap: { value: null },\n\t\talphaTest: { value: 0 },\n\t\tuvTransform: { value: /*@__PURE__*/ new Matrix3() }\n\n\t}\n\n};\n\nconst ShaderLib = {\n\n\tbasic: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.common,\n\t\t\tUniformsLib.specularmap,\n\t\t\tUniformsLib.envmap,\n\t\t\tUniformsLib.aomap,\n\t\t\tUniformsLib.lightmap,\n\t\t\tUniformsLib.fog\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.meshbasic_vert,\n\t\tfragmentShader: ShaderChunk.meshbasic_frag\n\n\t},\n\n\tlambert: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.common,\n\t\t\tUniformsLib.specularmap,\n\t\t\tUniformsLib.envmap,\n\t\t\tUniformsLib.aomap,\n\t\t\tUniformsLib.lightmap,\n\t\t\tUniformsLib.emissivemap,\n\t\t\tUniformsLib.fog,\n\t\t\tUniformsLib.lights,\n\t\t\t{\n\t\t\t\temissive: { value: /*@__PURE__*/ new Color( 0x000000 ) }\n\t\t\t}\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.meshlambert_vert,\n\t\tfragmentShader: ShaderChunk.meshlambert_frag\n\n\t},\n\n\tphong: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.common,\n\t\t\tUniformsLib.specularmap,\n\t\t\tUniformsLib.envmap,\n\t\t\tUniformsLib.aomap,\n\t\t\tUniformsLib.lightmap,\n\t\t\tUniformsLib.emissivemap,\n\t\t\tUniformsLib.bumpmap,\n\t\t\tUniformsLib.normalmap,\n\t\t\tUniformsLib.displacementmap,\n\t\t\tUniformsLib.fog,\n\t\t\tUniformsLib.lights,\n\t\t\t{\n\t\t\t\temissive: { value: /*@__PURE__*/ new Color( 0x000000 ) },\n\t\t\t\tspecular: { value: /*@__PURE__*/ new Color( 0x111111 ) },\n\t\t\t\tshininess: { value: 30 }\n\t\t\t}\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.meshphong_vert,\n\t\tfragmentShader: ShaderChunk.meshphong_frag\n\n\t},\n\n\tstandard: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.common,\n\t\t\tUniformsLib.envmap,\n\t\t\tUniformsLib.aomap,\n\t\t\tUniformsLib.lightmap,\n\t\t\tUniformsLib.emissivemap,\n\t\t\tUniformsLib.bumpmap,\n\t\t\tUniformsLib.normalmap,\n\t\t\tUniformsLib.displacementmap,\n\t\t\tUniformsLib.roughnessmap,\n\t\t\tUniformsLib.metalnessmap,\n\t\t\tUniformsLib.fog,\n\t\t\tUniformsLib.lights,\n\t\t\t{\n\t\t\t\temissive: { value: /*@__PURE__*/ new Color( 0x000000 ) },\n\t\t\t\troughness: { value: 1.0 },\n\t\t\t\tmetalness: { value: 0.0 },\n\t\t\t\tenvMapIntensity: { value: 1 } // temporary\n\t\t\t}\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.meshphysical_vert,\n\t\tfragmentShader: ShaderChunk.meshphysical_frag\n\n\t},\n\n\ttoon: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.common,\n\t\t\tUniformsLib.aomap,\n\t\t\tUniformsLib.lightmap,\n\t\t\tUniformsLib.emissivemap,\n\t\t\tUniformsLib.bumpmap,\n\t\t\tUniformsLib.normalmap,\n\t\t\tUniformsLib.displacementmap,\n\t\t\tUniformsLib.gradientmap,\n\t\t\tUniformsLib.fog,\n\t\t\tUniformsLib.lights,\n\t\t\t{\n\t\t\t\temissive: { value: /*@__PURE__*/ new Color( 0x000000 ) }\n\t\t\t}\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.meshtoon_vert,\n\t\tfragmentShader: ShaderChunk.meshtoon_frag\n\n\t},\n\n\tmatcap: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.common,\n\t\t\tUniformsLib.bumpmap,\n\t\t\tUniformsLib.normalmap,\n\t\t\tUniformsLib.displacementmap,\n\t\t\tUniformsLib.fog,\n\t\t\t{\n\t\t\t\tmatcap: { value: null }\n\t\t\t}\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.meshmatcap_vert,\n\t\tfragmentShader: ShaderChunk.meshmatcap_frag\n\n\t},\n\n\tpoints: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.points,\n\t\t\tUniformsLib.fog\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.points_vert,\n\t\tfragmentShader: ShaderChunk.points_frag\n\n\t},\n\n\tdashed: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.common,\n\t\t\tUniformsLib.fog,\n\t\t\t{\n\t\t\t\tscale: { value: 1 },\n\t\t\t\tdashSize: { value: 1 },\n\t\t\t\ttotalSize: { value: 2 }\n\t\t\t}\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.linedashed_vert,\n\t\tfragmentShader: ShaderChunk.linedashed_frag\n\n\t},\n\n\tdepth: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.common,\n\t\t\tUniformsLib.displacementmap\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.depth_vert,\n\t\tfragmentShader: ShaderChunk.depth_frag\n\n\t},\n\n\tnormal: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.common,\n\t\t\tUniformsLib.bumpmap,\n\t\t\tUniformsLib.normalmap,\n\t\t\tUniformsLib.displacementmap,\n\t\t\t{\n\t\t\t\topacity: { value: 1.0 }\n\t\t\t}\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.meshnormal_vert,\n\t\tfragmentShader: ShaderChunk.meshnormal_frag\n\n\t},\n\n\tsprite: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.sprite,\n\t\t\tUniformsLib.fog\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.sprite_vert,\n\t\tfragmentShader: ShaderChunk.sprite_frag\n\n\t},\n\n\tbackground: {\n\n\t\tuniforms: {\n\t\t\tuvTransform: { value: /*@__PURE__*/ new Matrix3() },\n\t\t\tt2D: { value: null },\n\t\t},\n\n\t\tvertexShader: ShaderChunk.background_vert,\n\t\tfragmentShader: ShaderChunk.background_frag\n\n\t},\n\n\tcube: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.envmap,\n\t\t\t{\n\t\t\t\topacity: { value: 1.0 }\n\t\t\t}\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.cube_vert,\n\t\tfragmentShader: ShaderChunk.cube_frag\n\n\t},\n\n\tequirect: {\n\n\t\tuniforms: {\n\t\t\ttEquirect: { value: null },\n\t\t},\n\n\t\tvertexShader: ShaderChunk.equirect_vert,\n\t\tfragmentShader: ShaderChunk.equirect_frag\n\n\t},\n\n\tdistanceRGBA: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.common,\n\t\t\tUniformsLib.displacementmap,\n\t\t\t{\n\t\t\t\treferencePosition: { value: /*@__PURE__*/ new Vector3() },\n\t\t\t\tnearDistance: { value: 1 },\n\t\t\t\tfarDistance: { value: 1000 }\n\t\t\t}\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.distanceRGBA_vert,\n\t\tfragmentShader: ShaderChunk.distanceRGBA_frag\n\n\t},\n\n\tshadow: {\n\n\t\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\t\tUniformsLib.lights,\n\t\t\tUniformsLib.fog,\n\t\t\t{\n\t\t\t\tcolor: { value: /*@__PURE__*/ new Color( 0x00000 ) },\n\t\t\t\topacity: { value: 1.0 }\n\t\t\t},\n\t\t] ),\n\n\t\tvertexShader: ShaderChunk.shadow_vert,\n\t\tfragmentShader: ShaderChunk.shadow_frag\n\n\t}\n\n};\n\nShaderLib.physical = {\n\n\tuniforms: /*@__PURE__*/ mergeUniforms( [\n\t\tShaderLib.standard.uniforms,\n\t\t{\n\t\t\tclearcoat: { value: 0 },\n\t\t\tclearcoatMap: { value: null },\n\t\t\tclearcoatRoughness: { value: 0 },\n\t\t\tclearcoatRoughnessMap: { value: null },\n\t\t\tclearcoatNormalScale: { value: /*@__PURE__*/ new Vector2( 1, 1 ) },\n\t\t\tclearcoatNormalMap: { value: null },\n\t\t\tiridescence: { value: 0 },\n\t\t\tiridescenceMap: { value: null },\n\t\t\tiridescenceIOR: { value: 1.3 },\n\t\t\tiridescenceThicknessMinimum: { value: 100 },\n\t\t\tiridescenceThicknessMaximum: { value: 400 },\n\t\t\tiridescenceThicknessMap: { value: null },\n\t\t\tsheen: { value: 0 },\n\t\t\tsheenColor: { value: /*@__PURE__*/ new Color( 0x000000 ) },\n\t\t\tsheenColorMap: { value: null },\n\t\t\tsheenRoughness: { value: 1 },\n\t\t\tsheenRoughnessMap: { value: null },\n\t\t\ttransmission: { value: 0 },\n\t\t\ttransmissionMap: { value: null },\n\t\t\ttransmissionSamplerSize: { value: /*@__PURE__*/ new Vector2() },\n\t\t\ttransmissionSamplerMap: { value: null },\n\t\t\tthickness: { value: 0 },\n\t\t\tthicknessMap: { value: null },\n\t\t\tattenuationDistance: { value: 0 },\n\t\t\tattenuationColor: { value: /*@__PURE__*/ new Color( 0x000000 ) },\n\t\t\tspecularIntensity: { value: 1 },\n\t\t\tspecularIntensityMap: { value: null },\n\t\t\tspecularColor: { value: /*@__PURE__*/ new Color( 1, 1, 1 ) },\n\t\t\tspecularColorMap: { value: null },\n\t\t}\n\t] ),\n\n\tvertexShader: ShaderChunk.meshphysical_vert,\n\tfragmentShader: ShaderChunk.meshphysical_frag\n\n};\n\nfunction WebGLBackground( renderer, cubemaps, state, objects, alpha, premultipliedAlpha ) {\n\n\tconst clearColor = new Color( 0x000000 );\n\tlet clearAlpha = alpha === true ? 0 : 1;\n\n\tlet planeMesh;\n\tlet boxMesh;\n\n\tlet currentBackground = null;\n\tlet currentBackgroundVersion = 0;\n\tlet currentTonemapping = null;\n\n\tfunction render( renderList, scene ) {\n\n\t\tlet forceClear = false;\n\t\tlet background = scene.isScene === true ? scene.background : null;\n\n\t\tif ( background && background.isTexture ) {\n\n\t\t\tbackground = cubemaps.get( background );\n\n\t\t}\n\n\t\t// Ignore background in AR\n\t\t// TODO: Reconsider this.\n\n\t\tconst xr = renderer.xr;\n\t\tconst session = xr.getSession && xr.getSession();\n\n\t\tif ( session && session.environmentBlendMode === 'additive' ) {\n\n\t\t\tbackground = null;\n\n\t\t}\n\n\t\tif ( background === null ) {\n\n\t\t\tsetClear( clearColor, clearAlpha );\n\n\t\t} else if ( background && background.isColor ) {\n\n\t\t\tsetClear( background, 1 );\n\t\t\tforceClear = true;\n\n\t\t}\n\n\t\tif ( renderer.autoClear || forceClear ) {\n\n\t\t\trenderer.clear( renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil );\n\n\t\t}\n\n\t\tif ( background && ( background.isCubeTexture || background.mapping === CubeUVReflectionMapping ) ) {\n\n\t\t\tif ( boxMesh === undefined ) {\n\n\t\t\t\tboxMesh = new Mesh(\n\t\t\t\t\tnew BoxGeometry( 1, 1, 1 ),\n\t\t\t\t\tnew ShaderMaterial( {\n\t\t\t\t\t\tname: 'BackgroundCubeMaterial',\n\t\t\t\t\t\tuniforms: cloneUniforms( ShaderLib.cube.uniforms ),\n\t\t\t\t\t\tvertexShader: ShaderLib.cube.vertexShader,\n\t\t\t\t\t\tfragmentShader: ShaderLib.cube.fragmentShader,\n\t\t\t\t\t\tside: BackSide,\n\t\t\t\t\t\tdepthTest: false,\n\t\t\t\t\t\tdepthWrite: false,\n\t\t\t\t\t\tfog: false\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\t\tboxMesh.geometry.deleteAttribute( 'normal' );\n\t\t\t\tboxMesh.geometry.deleteAttribute( 'uv' );\n\n\t\t\t\tboxMesh.onBeforeRender = function ( renderer, scene, camera ) {\n\n\t\t\t\t\tthis.matrixWorld.copyPosition( camera.matrixWorld );\n\n\t\t\t\t};\n\n\t\t\t\t// enable code injection for non-built-in material\n\t\t\t\tObject.defineProperty( boxMesh.material, 'envMap', {\n\n\t\t\t\t\tget: function () {\n\n\t\t\t\t\t\treturn this.uniforms.envMap.value;\n\n\t\t\t\t\t}\n\n\t\t\t\t} );\n\n\t\t\t\tobjects.update( boxMesh );\n\n\t\t\t}\n\n\t\t\tboxMesh.material.uniforms.envMap.value = background;\n\t\t\tboxMesh.material.uniforms.flipEnvMap.value = ( background.isCubeTexture && background.isRenderTargetTexture === false ) ? - 1 : 1;\n\n\t\t\tif ( currentBackground !== background ||\n\t\t\t\tcurrentBackgroundVersion !== background.version ||\n\t\t\t\tcurrentTonemapping !== renderer.toneMapping ) {\n\n\t\t\t\tboxMesh.material.needsUpdate = true;\n\n\t\t\t\tcurrentBackground = background;\n\t\t\t\tcurrentBackgroundVersion = background.version;\n\t\t\t\tcurrentTonemapping = renderer.toneMapping;\n\n\t\t\t}\n\n\t\t\tboxMesh.layers.enableAll();\n\n\t\t\t// push to the pre-sorted opaque render list\n\t\t\trenderList.unshift( boxMesh, boxMesh.geometry, boxMesh.material, 0, 0, null );\n\n\t\t} else if ( background && background.isTexture ) {\n\n\t\t\tif ( planeMesh === undefined ) {\n\n\t\t\t\tplaneMesh = new Mesh(\n\t\t\t\t\tnew PlaneGeometry( 2, 2 ),\n\t\t\t\t\tnew ShaderMaterial( {\n\t\t\t\t\t\tname: 'BackgroundMaterial',\n\t\t\t\t\t\tuniforms: cloneUniforms( ShaderLib.background.uniforms ),\n\t\t\t\t\t\tvertexShader: ShaderLib.background.vertexShader,\n\t\t\t\t\t\tfragmentShader: ShaderLib.background.fragmentShader,\n\t\t\t\t\t\tside: FrontSide,\n\t\t\t\t\t\tdepthTest: false,\n\t\t\t\t\t\tdepthWrite: false,\n\t\t\t\t\t\tfog: false\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\t\tplaneMesh.geometry.deleteAttribute( 'normal' );\n\n\t\t\t\t// enable code injection for non-built-in material\n\t\t\t\tObject.defineProperty( planeMesh.material, 'map', {\n\n\t\t\t\t\tget: function () {\n\n\t\t\t\t\t\treturn this.uniforms.t2D.value;\n\n\t\t\t\t\t}\n\n\t\t\t\t} );\n\n\t\t\t\tobjects.update( planeMesh );\n\n\t\t\t}\n\n\t\t\tplaneMesh.material.uniforms.t2D.value = background;\n\n\t\t\tif ( background.matrixAutoUpdate === true ) {\n\n\t\t\t\tbackground.updateMatrix();\n\n\t\t\t}\n\n\t\t\tplaneMesh.material.uniforms.uvTransform.value.copy( background.matrix );\n\n\t\t\tif ( currentBackground !== background ||\n\t\t\t\tcurrentBackgroundVersion !== background.version ||\n\t\t\t\tcurrentTonemapping !== renderer.toneMapping ) {\n\n\t\t\t\tplaneMesh.material.needsUpdate = true;\n\n\t\t\t\tcurrentBackground = background;\n\t\t\t\tcurrentBackgroundVersion = background.version;\n\t\t\t\tcurrentTonemapping = renderer.toneMapping;\n\n\t\t\t}\n\n\t\t\tplaneMesh.layers.enableAll();\n\n\t\t\t// push to the pre-sorted opaque render list\n\t\t\trenderList.unshift( planeMesh, planeMesh.geometry, planeMesh.material, 0, 0, null );\n\n\t\t}\n\n\t}\n\n\tfunction setClear( color, alpha ) {\n\n\t\tstate.buffers.color.setClear( color.r, color.g, color.b, alpha, premultipliedAlpha );\n\n\t}\n\n\treturn {\n\n\t\tgetClearColor: function () {\n\n\t\t\treturn clearColor;\n\n\t\t},\n\t\tsetClearColor: function ( color, alpha = 1 ) {\n\n\t\t\tclearColor.set( color );\n\t\t\tclearAlpha = alpha;\n\t\t\tsetClear( clearColor, clearAlpha );\n\n\t\t},\n\t\tgetClearAlpha: function () {\n\n\t\t\treturn clearAlpha;\n\n\t\t},\n\t\tsetClearAlpha: function ( alpha ) {\n\n\t\t\tclearAlpha = alpha;\n\t\t\tsetClear( clearColor, clearAlpha );\n\n\t\t},\n\t\trender: render\n\n\t};\n\n}\n\nfunction WebGLBindingStates( gl, extensions, attributes, capabilities ) {\n\n\tconst maxVertexAttributes = gl.getParameter( 34921 );\n\n\tconst extension = capabilities.isWebGL2 ? null : extensions.get( 'OES_vertex_array_object' );\n\tconst vaoAvailable = capabilities.isWebGL2 || extension !== null;\n\n\tconst bindingStates = {};\n\n\tconst defaultState = createBindingState( null );\n\tlet currentState = defaultState;\n\tlet forceUpdate = false;\n\n\tfunction setup( object, material, program, geometry, index ) {\n\n\t\tlet updateBuffers = false;\n\n\t\tif ( vaoAvailable ) {\n\n\t\t\tconst state = getBindingState( geometry, program, material );\n\n\t\t\tif ( currentState !== state ) {\n\n\t\t\t\tcurrentState = state;\n\t\t\t\tbindVertexArrayObject( currentState.object );\n\n\t\t\t}\n\n\t\t\tupdateBuffers = needsUpdate( object, geometry, program, index );\n\n\t\t\tif ( updateBuffers ) saveCache( object, geometry, program, index );\n\n\t\t} else {\n\n\t\t\tconst wireframe = ( material.wireframe === true );\n\n\t\t\tif ( currentState.geometry !== geometry.id ||\n\t\t\t\tcurrentState.program !== program.id ||\n\t\t\t\tcurrentState.wireframe !== wireframe ) {\n\n\t\t\t\tcurrentState.geometry = geometry.id;\n\t\t\t\tcurrentState.program = program.id;\n\t\t\t\tcurrentState.wireframe = wireframe;\n\n\t\t\t\tupdateBuffers = true;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( index !== null ) {\n\n\t\t\tattributes.update( index, 34963 );\n\n\t\t}\n\n\t\tif ( updateBuffers || forceUpdate ) {\n\n\t\t\tforceUpdate = false;\n\n\t\t\tsetupVertexAttributes( object, material, program, geometry );\n\n\t\t\tif ( index !== null ) {\n\n\t\t\t\tgl.bindBuffer( 34963, attributes.get( index ).buffer );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tfunction createVertexArrayObject() {\n\n\t\tif ( capabilities.isWebGL2 ) return gl.createVertexArray();\n\n\t\treturn extension.createVertexArrayOES();\n\n\t}\n\n\tfunction bindVertexArrayObject( vao ) {\n\n\t\tif ( capabilities.isWebGL2 ) return gl.bindVertexArray( vao );\n\n\t\treturn extension.bindVertexArrayOES( vao );\n\n\t}\n\n\tfunction deleteVertexArrayObject( vao ) {\n\n\t\tif ( capabilities.isWebGL2 ) return gl.deleteVertexArray( vao );\n\n\t\treturn extension.deleteVertexArrayOES( vao );\n\n\t}\n\n\tfunction getBindingState( geometry, program, material ) {\n\n\t\tconst wireframe = ( material.wireframe === true );\n\n\t\tlet programMap = bindingStates[ geometry.id ];\n\n\t\tif ( programMap === undefined ) {\n\n\t\t\tprogramMap = {};\n\t\t\tbindingStates[ geometry.id ] = programMap;\n\n\t\t}\n\n\t\tlet stateMap = programMap[ program.id ];\n\n\t\tif ( stateMap === undefined ) {\n\n\t\t\tstateMap = {};\n\t\t\tprogramMap[ program.id ] = stateMap;\n\n\t\t}\n\n\t\tlet state = stateMap[ wireframe ];\n\n\t\tif ( state === undefined ) {\n\n\t\t\tstate = createBindingState( createVertexArrayObject() );\n\t\t\tstateMap[ wireframe ] = state;\n\n\t\t}\n\n\t\treturn state;\n\n\t}\n\n\tfunction createBindingState( vao ) {\n\n\t\tconst newAttributes = [];\n\t\tconst enabledAttributes = [];\n\t\tconst attributeDivisors = [];\n\n\t\tfor ( let i = 0; i < maxVertexAttributes; i ++ ) {\n\n\t\t\tnewAttributes[ i ] = 0;\n\t\t\tenabledAttributes[ i ] = 0;\n\t\t\tattributeDivisors[ i ] = 0;\n\n\t\t}\n\n\t\treturn {\n\n\t\t\t// for backward compatibility on non-VAO support browser\n\t\t\tgeometry: null,\n\t\t\tprogram: null,\n\t\t\twireframe: false,\n\n\t\t\tnewAttributes: newAttributes,\n\t\t\tenabledAttributes: enabledAttributes,\n\t\t\tattributeDivisors: attributeDivisors,\n\t\t\tobject: vao,\n\t\t\tattributes: {},\n\t\t\tindex: null\n\n\t\t};\n\n\t}\n\n\tfunction needsUpdate( object, geometry, program, index ) {\n\n\t\tconst cachedAttributes = currentState.attributes;\n\t\tconst geometryAttributes = geometry.attributes;\n\n\t\tlet attributesNum = 0;\n\n\t\tconst programAttributes = program.getAttributes();\n\n\t\tfor ( const name in programAttributes ) {\n\n\t\t\tconst programAttribute = programAttributes[ name ];\n\n\t\t\tif ( programAttribute.location >= 0 ) {\n\n\t\t\t\tconst cachedAttribute = cachedAttributes[ name ];\n\t\t\t\tlet geometryAttribute = geometryAttributes[ name ];\n\n\t\t\t\tif ( geometryAttribute === undefined ) {\n\n\t\t\t\t\tif ( name === 'instanceMatrix' && object.instanceMatrix ) geometryAttribute = object.instanceMatrix;\n\t\t\t\t\tif ( name === 'instanceColor' && object.instanceColor ) geometryAttribute = object.instanceColor;\n\n\t\t\t\t}\n\n\t\t\t\tif ( cachedAttribute === undefined ) return true;\n\n\t\t\t\tif ( cachedAttribute.attribute !== geometryAttribute ) return true;\n\n\t\t\t\tif ( geometryAttribute && cachedAttribute.data !== geometryAttribute.data ) return true;\n\n\t\t\t\tattributesNum ++;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( currentState.attributesNum !== attributesNum ) return true;\n\n\t\tif ( currentState.index !== index ) return true;\n\n\t\treturn false;\n\n\t}\n\n\tfunction saveCache( object, geometry, program, index ) {\n\n\t\tconst cache = {};\n\t\tconst attributes = geometry.attributes;\n\t\tlet attributesNum = 0;\n\n\t\tconst programAttributes = program.getAttributes();\n\n\t\tfor ( const name in programAttributes ) {\n\n\t\t\tconst programAttribute = programAttributes[ name ];\n\n\t\t\tif ( programAttribute.location >= 0 ) {\n\n\t\t\t\tlet attribute = attributes[ name ];\n\n\t\t\t\tif ( attribute === undefined ) {\n\n\t\t\t\t\tif ( name === 'instanceMatrix' && object.instanceMatrix ) attribute = object.instanceMatrix;\n\t\t\t\t\tif ( name === 'instanceColor' && object.instanceColor ) attribute = object.instanceColor;\n\n\t\t\t\t}\n\n\t\t\t\tconst data = {};\n\t\t\t\tdata.attribute = attribute;\n\n\t\t\t\tif ( attribute && attribute.data ) {\n\n\t\t\t\t\tdata.data = attribute.data;\n\n\t\t\t\t}\n\n\t\t\t\tcache[ name ] = data;\n\n\t\t\t\tattributesNum ++;\n\n\t\t\t}\n\n\t\t}\n\n\t\tcurrentState.attributes = cache;\n\t\tcurrentState.attributesNum = attributesNum;\n\n\t\tcurrentState.index = index;\n\n\t}\n\n\tfunction initAttributes() {\n\n\t\tconst newAttributes = currentState.newAttributes;\n\n\t\tfor ( let i = 0, il = newAttributes.length; i < il; i ++ ) {\n\n\t\t\tnewAttributes[ i ] = 0;\n\n\t\t}\n\n\t}\n\n\tfunction enableAttribute( attribute ) {\n\n\t\tenableAttributeAndDivisor( attribute, 0 );\n\n\t}\n\n\tfunction enableAttributeAndDivisor( attribute, meshPerAttribute ) {\n\n\t\tconst newAttributes = currentState.newAttributes;\n\t\tconst enabledAttributes = currentState.enabledAttributes;\n\t\tconst attributeDivisors = currentState.attributeDivisors;\n\n\t\tnewAttributes[ attribute ] = 1;\n\n\t\tif ( enabledAttributes[ attribute ] === 0 ) {\n\n\t\t\tgl.enableVertexAttribArray( attribute );\n\t\t\tenabledAttributes[ attribute ] = 1;\n\n\t\t}\n\n\t\tif ( attributeDivisors[ attribute ] !== meshPerAttribute ) {\n\n\t\t\tconst extension = capabilities.isWebGL2 ? gl : extensions.get( 'ANGLE_instanced_arrays' );\n\n\t\t\textension[ capabilities.isWebGL2 ? 'vertexAttribDivisor' : 'vertexAttribDivisorANGLE' ]( attribute, meshPerAttribute );\n\t\t\tattributeDivisors[ attribute ] = meshPerAttribute;\n\n\t\t}\n\n\t}\n\n\tfunction disableUnusedAttributes() {\n\n\t\tconst newAttributes = currentState.newAttributes;\n\t\tconst enabledAttributes = currentState.enabledAttributes;\n\n\t\tfor ( let i = 0, il = enabledAttributes.length; i < il; i ++ ) {\n\n\t\t\tif ( enabledAttributes[ i ] !== newAttributes[ i ] ) {\n\n\t\t\t\tgl.disableVertexAttribArray( i );\n\t\t\t\tenabledAttributes[ i ] = 0;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tfunction vertexAttribPointer( index, size, type, normalized, stride, offset ) {\n\n\t\tif ( capabilities.isWebGL2 === true && ( type === 5124 || type === 5125 ) ) {\n\n\t\t\tgl.vertexAttribIPointer( index, size, type, stride, offset );\n\n\t\t} else {\n\n\t\t\tgl.vertexAttribPointer( index, size, type, normalized, stride, offset );\n\n\t\t}\n\n\t}\n\n\tfunction setupVertexAttributes( object, material, program, geometry ) {\n\n\t\tif ( capabilities.isWebGL2 === false && ( object.isInstancedMesh || geometry.isInstancedBufferGeometry ) ) {\n\n\t\t\tif ( extensions.get( 'ANGLE_instanced_arrays' ) === null ) return;\n\n\t\t}\n\n\t\tinitAttributes();\n\n\t\tconst geometryAttributes = geometry.attributes;\n\n\t\tconst programAttributes = program.getAttributes();\n\n\t\tconst materialDefaultAttributeValues = material.defaultAttributeValues;\n\n\t\tfor ( const name in programAttributes ) {\n\n\t\t\tconst programAttribute = programAttributes[ name ];\n\n\t\t\tif ( programAttribute.location >= 0 ) {\n\n\t\t\t\tlet geometryAttribute = geometryAttributes[ name ];\n\n\t\t\t\tif ( geometryAttribute === undefined ) {\n\n\t\t\t\t\tif ( name === 'instanceMatrix' && object.instanceMatrix ) geometryAttribute = object.instanceMatrix;\n\t\t\t\t\tif ( name === 'instanceColor' && object.instanceColor ) geometryAttribute = object.instanceColor;\n\n\t\t\t\t}\n\n\t\t\t\tif ( geometryAttribute !== undefined ) {\n\n\t\t\t\t\tconst normalized = geometryAttribute.normalized;\n\t\t\t\t\tconst size = geometryAttribute.itemSize;\n\n\t\t\t\t\tconst attribute = attributes.get( geometryAttribute );\n\n\t\t\t\t\t// TODO Attribute may not be available on context restore\n\n\t\t\t\t\tif ( attribute === undefined ) continue;\n\n\t\t\t\t\tconst buffer = attribute.buffer;\n\t\t\t\t\tconst type = attribute.type;\n\t\t\t\t\tconst bytesPerElement = attribute.bytesPerElement;\n\n\t\t\t\t\tif ( geometryAttribute.isInterleavedBufferAttribute ) {\n\n\t\t\t\t\t\tconst data = geometryAttribute.data;\n\t\t\t\t\t\tconst stride = data.stride;\n\t\t\t\t\t\tconst offset = geometryAttribute.offset;\n\n\t\t\t\t\t\tif ( data.isInstancedInterleavedBuffer ) {\n\n\t\t\t\t\t\t\tfor ( let i = 0; i < programAttribute.locationSize; i ++ ) {\n\n\t\t\t\t\t\t\t\tenableAttributeAndDivisor( programAttribute.location + i, data.meshPerAttribute );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( object.isInstancedMesh !== true && geometry._maxInstanceCount === undefined ) {\n\n\t\t\t\t\t\t\t\tgeometry._maxInstanceCount = data.meshPerAttribute * data.count;\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tfor ( let i = 0; i < programAttribute.locationSize; i ++ ) {\n\n\t\t\t\t\t\t\t\tenableAttribute( programAttribute.location + i );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tgl.bindBuffer( 34962, buffer );\n\n\t\t\t\t\t\tfor ( let i = 0; i < programAttribute.locationSize; i ++ ) {\n\n\t\t\t\t\t\t\tvertexAttribPointer(\n\t\t\t\t\t\t\t\tprogramAttribute.location + i,\n\t\t\t\t\t\t\t\tsize / programAttribute.locationSize,\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\tnormalized,\n\t\t\t\t\t\t\t\tstride * bytesPerElement,\n\t\t\t\t\t\t\t\t( offset + ( size / programAttribute.locationSize ) * i ) * bytesPerElement\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tif ( geometryAttribute.isInstancedBufferAttribute ) {\n\n\t\t\t\t\t\t\tfor ( let i = 0; i < programAttribute.locationSize; i ++ ) {\n\n\t\t\t\t\t\t\t\tenableAttributeAndDivisor( programAttribute.location + i, geometryAttribute.meshPerAttribute );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( object.isInstancedMesh !== true && geometry._maxInstanceCount === undefined ) {\n\n\t\t\t\t\t\t\t\tgeometry._maxInstanceCount = geometryAttribute.meshPerAttribute * geometryAttribute.count;\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tfor ( let i = 0; i < programAttribute.locationSize; i ++ ) {\n\n\t\t\t\t\t\t\t\tenableAttribute( programAttribute.location + i );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tgl.bindBuffer( 34962, buffer );\n\n\t\t\t\t\t\tfor ( let i = 0; i < programAttribute.locationSize; i ++ ) {\n\n\t\t\t\t\t\t\tvertexAttribPointer(\n\t\t\t\t\t\t\t\tprogramAttribute.location + i,\n\t\t\t\t\t\t\t\tsize / programAttribute.locationSize,\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\tnormalized,\n\t\t\t\t\t\t\t\tsize * bytesPerElement,\n\t\t\t\t\t\t\t\t( size / programAttribute.locationSize ) * i * bytesPerElement\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t} else if ( materialDefaultAttributeValues !== undefined ) {\n\n\t\t\t\t\tconst value = materialDefaultAttributeValues[ name ];\n\n\t\t\t\t\tif ( value !== undefined ) {\n\n\t\t\t\t\t\tswitch ( value.length ) {\n\n\t\t\t\t\t\t\tcase 2:\n\t\t\t\t\t\t\t\tgl.vertexAttrib2fv( programAttribute.location, value );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 3:\n\t\t\t\t\t\t\t\tgl.vertexAttrib3fv( programAttribute.location, value );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 4:\n\t\t\t\t\t\t\t\tgl.vertexAttrib4fv( programAttribute.location, value );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tgl.vertexAttrib1fv( programAttribute.location, value );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tdisableUnusedAttributes();\n\n\t}\n\n\tfunction dispose() {\n\n\t\treset();\n\n\t\tfor ( const geometryId in bindingStates ) {\n\n\t\t\tconst programMap = bindingStates[ geometryId ];\n\n\t\t\tfor ( const programId in programMap ) {\n\n\t\t\t\tconst stateMap = programMap[ programId ];\n\n\t\t\t\tfor ( const wireframe in stateMap ) {\n\n\t\t\t\t\tdeleteVertexArrayObject( stateMap[ wireframe ].object );\n\n\t\t\t\t\tdelete stateMap[ wireframe ];\n\n\t\t\t\t}\n\n\t\t\t\tdelete programMap[ programId ];\n\n\t\t\t}\n\n\t\t\tdelete bindingStates[ geometryId ];\n\n\t\t}\n\n\t}\n\n\tfunction releaseStatesOfGeometry( geometry ) {\n\n\t\tif ( bindingStates[ geometry.id ] === undefined ) return;\n\n\t\tconst programMap = bindingStates[ geometry.id ];\n\n\t\tfor ( const programId in programMap ) {\n\n\t\t\tconst stateMap = programMap[ programId ];\n\n\t\t\tfor ( const wireframe in stateMap ) {\n\n\t\t\t\tdeleteVertexArrayObject( stateMap[ wireframe ].object );\n\n\t\t\t\tdelete stateMap[ wireframe ];\n\n\t\t\t}\n\n\t\t\tdelete programMap[ programId ];\n\n\t\t}\n\n\t\tdelete bindingStates[ geometry.id ];\n\n\t}\n\n\tfunction releaseStatesOfProgram( program ) {\n\n\t\tfor ( const geometryId in bindingStates ) {\n\n\t\t\tconst programMap = bindingStates[ geometryId ];\n\n\t\t\tif ( programMap[ program.id ] === undefined ) continue;\n\n\t\t\tconst stateMap = programMap[ program.id ];\n\n\t\t\tfor ( const wireframe in stateMap ) {\n\n\t\t\t\tdeleteVertexArrayObject( stateMap[ wireframe ].object );\n\n\t\t\t\tdelete stateMap[ wireframe ];\n\n\t\t\t}\n\n\t\t\tdelete programMap[ program.id ];\n\n\t\t}\n\n\t}\n\n\tfunction reset() {\n\n\t\tresetDefaultState();\n\t\tforceUpdate = true;\n\n\t\tif ( currentState === defaultState ) return;\n\n\t\tcurrentState = defaultState;\n\t\tbindVertexArrayObject( currentState.object );\n\n\t}\n\n\t// for backward-compatibility\n\n\tfunction resetDefaultState() {\n\n\t\tdefaultState.geometry = null;\n\t\tdefaultState.program = null;\n\t\tdefaultState.wireframe = false;\n\n\t}\n\n\treturn {\n\n\t\tsetup: setup,\n\t\treset: reset,\n\t\tresetDefaultState: resetDefaultState,\n\t\tdispose: dispose,\n\t\treleaseStatesOfGeometry: releaseStatesOfGeometry,\n\t\treleaseStatesOfProgram: releaseStatesOfProgram,\n\n\t\tinitAttributes: initAttributes,\n\t\tenableAttribute: enableAttribute,\n\t\tdisableUnusedAttributes: disableUnusedAttributes\n\n\t};\n\n}\n\nfunction WebGLBufferRenderer( gl, extensions, info, capabilities ) {\n\n\tconst isWebGL2 = capabilities.isWebGL2;\n\n\tlet mode;\n\n\tfunction setMode( value ) {\n\n\t\tmode = value;\n\n\t}\n\n\tfunction render( start, count ) {\n\n\t\tgl.drawArrays( mode, start, count );\n\n\t\tinfo.update( count, mode, 1 );\n\n\t}\n\n\tfunction renderInstances( start, count, primcount ) {\n\n\t\tif ( primcount === 0 ) return;\n\n\t\tlet extension, methodName;\n\n\t\tif ( isWebGL2 ) {\n\n\t\t\textension = gl;\n\t\t\tmethodName = 'drawArraysInstanced';\n\n\t\t} else {\n\n\t\t\textension = extensions.get( 'ANGLE_instanced_arrays' );\n\t\t\tmethodName = 'drawArraysInstancedANGLE';\n\n\t\t\tif ( extension === null ) {\n\n\t\t\t\tconsole.error( 'THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' );\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t}\n\n\t\textension[ methodName ]( mode, start, count, primcount );\n\n\t\tinfo.update( count, mode, primcount );\n\n\t}\n\n\t//\n\n\tthis.setMode = setMode;\n\tthis.render = render;\n\tthis.renderInstances = renderInstances;\n\n}\n\nfunction WebGLCapabilities( gl, extensions, parameters ) {\n\n\tlet maxAnisotropy;\n\n\tfunction getMaxAnisotropy() {\n\n\t\tif ( maxAnisotropy !== undefined ) return maxAnisotropy;\n\n\t\tif ( extensions.has( 'EXT_texture_filter_anisotropic' ) === true ) {\n\n\t\t\tconst extension = extensions.get( 'EXT_texture_filter_anisotropic' );\n\n\t\t\tmaxAnisotropy = gl.getParameter( extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT );\n\n\t\t} else {\n\n\t\t\tmaxAnisotropy = 0;\n\n\t\t}\n\n\t\treturn maxAnisotropy;\n\n\t}\n\n\tfunction getMaxPrecision( precision ) {\n\n\t\tif ( precision === 'highp' ) {\n\n\t\t\tif ( gl.getShaderPrecisionFormat( 35633, 36338 ).precision > 0 &&\n\t\t\t\tgl.getShaderPrecisionFormat( 35632, 36338 ).precision > 0 ) {\n\n\t\t\t\treturn 'highp';\n\n\t\t\t}\n\n\t\t\tprecision = 'mediump';\n\n\t\t}\n\n\t\tif ( precision === 'mediump' ) {\n\n\t\t\tif ( gl.getShaderPrecisionFormat( 35633, 36337 ).precision > 0 &&\n\t\t\t\tgl.getShaderPrecisionFormat( 35632, 36337 ).precision > 0 ) {\n\n\t\t\t\treturn 'mediump';\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn 'lowp';\n\n\t}\n\n\tconst isWebGL2 = ( typeof WebGL2RenderingContext !== 'undefined' && gl instanceof WebGL2RenderingContext ) ||\n\t\t( typeof WebGL2ComputeRenderingContext !== 'undefined' && gl instanceof WebGL2ComputeRenderingContext );\n\n\tlet precision = parameters.precision !== undefined ? parameters.precision : 'highp';\n\tconst maxPrecision = getMaxPrecision( precision );\n\n\tif ( maxPrecision !== precision ) {\n\n\t\tconsole.warn( 'THREE.WebGLRenderer:', precision, 'not supported, using', maxPrecision, 'instead.' );\n\t\tprecision = maxPrecision;\n\n\t}\n\n\tconst drawBuffers = isWebGL2 || extensions.has( 'WEBGL_draw_buffers' );\n\n\tconst logarithmicDepthBuffer = parameters.logarithmicDepthBuffer === true;\n\n\tconst maxTextures = gl.getParameter( 34930 );\n\tconst maxVertexTextures = gl.getParameter( 35660 );\n\tconst maxTextureSize = gl.getParameter( 3379 );\n\tconst maxCubemapSize = gl.getParameter( 34076 );\n\n\tconst maxAttributes = gl.getParameter( 34921 );\n\tconst maxVertexUniforms = gl.getParameter( 36347 );\n\tconst maxVaryings = gl.getParameter( 36348 );\n\tconst maxFragmentUniforms = gl.getParameter( 36349 );\n\n\tconst vertexTextures = maxVertexTextures > 0;\n\tconst floatFragmentTextures = isWebGL2 || extensions.has( 'OES_texture_float' );\n\tconst floatVertexTextures = vertexTextures && floatFragmentTextures;\n\n\tconst maxSamples = isWebGL2 ? gl.getParameter( 36183 ) : 0;\n\n\treturn {\n\n\t\tisWebGL2: isWebGL2,\n\n\t\tdrawBuffers: drawBuffers,\n\n\t\tgetMaxAnisotropy: getMaxAnisotropy,\n\t\tgetMaxPrecision: getMaxPrecision,\n\n\t\tprecision: precision,\n\t\tlogarithmicDepthBuffer: logarithmicDepthBuffer,\n\n\t\tmaxTextures: maxTextures,\n\t\tmaxVertexTextures: maxVertexTextures,\n\t\tmaxTextureSize: maxTextureSize,\n\t\tmaxCubemapSize: maxCubemapSize,\n\n\t\tmaxAttributes: maxAttributes,\n\t\tmaxVertexUniforms: maxVertexUniforms,\n\t\tmaxVaryings: maxVaryings,\n\t\tmaxFragmentUniforms: maxFragmentUniforms,\n\n\t\tvertexTextures: vertexTextures,\n\t\tfloatFragmentTextures: floatFragmentTextures,\n\t\tfloatVertexTextures: floatVertexTextures,\n\n\t\tmaxSamples: maxSamples\n\n\t};\n\n}\n\nfunction WebGLClipping( properties ) {\n\n\tconst scope = this;\n\n\tlet globalState = null,\n\t\tnumGlobalPlanes = 0,\n\t\tlocalClippingEnabled = false,\n\t\trenderingShadows = false;\n\n\tconst plane = new Plane(),\n\t\tviewNormalMatrix = new Matrix3(),\n\n\t\tuniform = { value: null, needsUpdate: false };\n\n\tthis.uniform = uniform;\n\tthis.numPlanes = 0;\n\tthis.numIntersection = 0;\n\n\tthis.init = function ( planes, enableLocalClipping, camera ) {\n\n\t\tconst enabled =\n\t\t\tplanes.length !== 0 ||\n\t\t\tenableLocalClipping ||\n\t\t\t// enable state of previous frame - the clipping code has to\n\t\t\t// run another frame in order to reset the state:\n\t\t\tnumGlobalPlanes !== 0 ||\n\t\t\tlocalClippingEnabled;\n\n\t\tlocalClippingEnabled = enableLocalClipping;\n\n\t\tglobalState = projectPlanes( planes, camera, 0 );\n\t\tnumGlobalPlanes = planes.length;\n\n\t\treturn enabled;\n\n\t};\n\n\tthis.beginShadows = function () {\n\n\t\trenderingShadows = true;\n\t\tprojectPlanes( null );\n\n\t};\n\n\tthis.endShadows = function () {\n\n\t\trenderingShadows = false;\n\t\tresetGlobalState();\n\n\t};\n\n\tthis.setState = function ( material, camera, useCache ) {\n\n\t\tconst planes = material.clippingPlanes,\n\t\t\tclipIntersection = material.clipIntersection,\n\t\t\tclipShadows = material.clipShadows;\n\n\t\tconst materialProperties = properties.get( material );\n\n\t\tif ( ! localClippingEnabled || planes === null || planes.length === 0 || renderingShadows && ! clipShadows ) {\n\n\t\t\t// there's no local clipping\n\n\t\t\tif ( renderingShadows ) {\n\n\t\t\t\t// there's no global clipping\n\n\t\t\t\tprojectPlanes( null );\n\n\t\t\t} else {\n\n\t\t\t\tresetGlobalState();\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tconst nGlobal = renderingShadows ? 0 : numGlobalPlanes,\n\t\t\t\tlGlobal = nGlobal * 4;\n\n\t\t\tlet dstArray = materialProperties.clippingState || null;\n\n\t\t\tuniform.value = dstArray; // ensure unique state\n\n\t\t\tdstArray = projectPlanes( planes, camera, lGlobal, useCache );\n\n\t\t\tfor ( let i = 0; i !== lGlobal; ++ i ) {\n\n\t\t\t\tdstArray[ i ] = globalState[ i ];\n\n\t\t\t}\n\n\t\t\tmaterialProperties.clippingState = dstArray;\n\t\t\tthis.numIntersection = clipIntersection ? this.numPlanes : 0;\n\t\t\tthis.numPlanes += nGlobal;\n\n\t\t}\n\n\n\t};\n\n\tfunction resetGlobalState() {\n\n\t\tif ( uniform.value !== globalState ) {\n\n\t\t\tuniform.value = globalState;\n\t\t\tuniform.needsUpdate = numGlobalPlanes > 0;\n\n\t\t}\n\n\t\tscope.numPlanes = numGlobalPlanes;\n\t\tscope.numIntersection = 0;\n\n\t}\n\n\tfunction projectPlanes( planes, camera, dstOffset, skipTransform ) {\n\n\t\tconst nPlanes = planes !== null ? planes.length : 0;\n\t\tlet dstArray = null;\n\n\t\tif ( nPlanes !== 0 ) {\n\n\t\t\tdstArray = uniform.value;\n\n\t\t\tif ( skipTransform !== true || dstArray === null ) {\n\n\t\t\t\tconst flatSize = dstOffset + nPlanes * 4,\n\t\t\t\t\tviewMatrix = camera.matrixWorldInverse;\n\n\t\t\t\tviewNormalMatrix.getNormalMatrix( viewMatrix );\n\n\t\t\t\tif ( dstArray === null || dstArray.length < flatSize ) {\n\n\t\t\t\t\tdstArray = new Float32Array( flatSize );\n\n\t\t\t\t}\n\n\t\t\t\tfor ( let i = 0, i4 = dstOffset; i !== nPlanes; ++ i, i4 += 4 ) {\n\n\t\t\t\t\tplane.copy( planes[ i ] ).applyMatrix4( viewMatrix, viewNormalMatrix );\n\n\t\t\t\t\tplane.normal.toArray( dstArray, i4 );\n\t\t\t\t\tdstArray[ i4 + 3 ] = plane.constant;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tuniform.value = dstArray;\n\t\t\tuniform.needsUpdate = true;\n\n\t\t}\n\n\t\tscope.numPlanes = nPlanes;\n\t\tscope.numIntersection = 0;\n\n\t\treturn dstArray;\n\n\t}\n\n}\n\nfunction WebGLCubeMaps( renderer ) {\n\n\tlet cubemaps = new WeakMap();\n\n\tfunction mapTextureMapping( texture, mapping ) {\n\n\t\tif ( mapping === EquirectangularReflectionMapping ) {\n\n\t\t\ttexture.mapping = CubeReflectionMapping;\n\n\t\t} else if ( mapping === EquirectangularRefractionMapping ) {\n\n\t\t\ttexture.mapping = CubeRefractionMapping;\n\n\t\t}\n\n\t\treturn texture;\n\n\t}\n\n\tfunction get( texture ) {\n\n\t\tif ( texture && texture.isTexture && texture.isRenderTargetTexture === false ) {\n\n\t\t\tconst mapping = texture.mapping;\n\n\t\t\tif ( mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping ) {\n\n\t\t\t\tif ( cubemaps.has( texture ) ) {\n\n\t\t\t\t\tconst cubemap = cubemaps.get( texture ).texture;\n\t\t\t\t\treturn mapTextureMapping( cubemap, texture.mapping );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tconst image = texture.image;\n\n\t\t\t\t\tif ( image && image.height > 0 ) {\n\n\t\t\t\t\t\tconst renderTarget = new WebGLCubeRenderTarget( image.height / 2 );\n\t\t\t\t\t\trenderTarget.fromEquirectangularTexture( renderer, texture );\n\t\t\t\t\t\tcubemaps.set( texture, renderTarget );\n\n\t\t\t\t\t\ttexture.addEventListener( 'dispose', onTextureDispose );\n\n\t\t\t\t\t\treturn mapTextureMapping( renderTarget.texture, texture.mapping );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// image not yet ready. try the conversion next frame\n\n\t\t\t\t\t\treturn null;\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn texture;\n\n\t}\n\n\tfunction onTextureDispose( event ) {\n\n\t\tconst texture = event.target;\n\n\t\ttexture.removeEventListener( 'dispose', onTextureDispose );\n\n\t\tconst cubemap = cubemaps.get( texture );\n\n\t\tif ( cubemap !== undefined ) {\n\n\t\t\tcubemaps.delete( texture );\n\t\t\tcubemap.dispose();\n\n\t\t}\n\n\t}\n\n\tfunction dispose() {\n\n\t\tcubemaps = new WeakMap();\n\n\t}\n\n\treturn {\n\t\tget: get,\n\t\tdispose: dispose\n\t};\n\n}\n\nclass OrthographicCamera extends Camera {\n\n\tconstructor( left = - 1, right = 1, top = 1, bottom = - 1, near = 0.1, far = 2000 ) {\n\n\t\tsuper();\n\n\t\tthis.isOrthographicCamera = true;\n\n\t\tthis.type = 'OrthographicCamera';\n\n\t\tthis.zoom = 1;\n\t\tthis.view = null;\n\n\t\tthis.left = left;\n\t\tthis.right = right;\n\t\tthis.top = top;\n\t\tthis.bottom = bottom;\n\n\t\tthis.near = near;\n\t\tthis.far = far;\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.left = source.left;\n\t\tthis.right = source.right;\n\t\tthis.top = source.top;\n\t\tthis.bottom = source.bottom;\n\t\tthis.near = source.near;\n\t\tthis.far = source.far;\n\n\t\tthis.zoom = source.zoom;\n\t\tthis.view = source.view === null ? null : Object.assign( {}, source.view );\n\n\t\treturn this;\n\n\t}\n\n\tsetViewOffset( fullWidth, fullHeight, x, y, width, height ) {\n\n\t\tif ( this.view === null ) {\n\n\t\t\tthis.view = {\n\t\t\t\tenabled: true,\n\t\t\t\tfullWidth: 1,\n\t\t\t\tfullHeight: 1,\n\t\t\t\toffsetX: 0,\n\t\t\t\toffsetY: 0,\n\t\t\t\twidth: 1,\n\t\t\t\theight: 1\n\t\t\t};\n\n\t\t}\n\n\t\tthis.view.enabled = true;\n\t\tthis.view.fullWidth = fullWidth;\n\t\tthis.view.fullHeight = fullHeight;\n\t\tthis.view.offsetX = x;\n\t\tthis.view.offsetY = y;\n\t\tthis.view.width = width;\n\t\tthis.view.height = height;\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tclearViewOffset() {\n\n\t\tif ( this.view !== null ) {\n\n\t\t\tthis.view.enabled = false;\n\n\t\t}\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tupdateProjectionMatrix() {\n\n\t\tconst dx = ( this.right - this.left ) / ( 2 * this.zoom );\n\t\tconst dy = ( this.top - this.bottom ) / ( 2 * this.zoom );\n\t\tconst cx = ( this.right + this.left ) / 2;\n\t\tconst cy = ( this.top + this.bottom ) / 2;\n\n\t\tlet left = cx - dx;\n\t\tlet right = cx + dx;\n\t\tlet top = cy + dy;\n\t\tlet bottom = cy - dy;\n\n\t\tif ( this.view !== null && this.view.enabled ) {\n\n\t\t\tconst scaleW = ( this.right - this.left ) / this.view.fullWidth / this.zoom;\n\t\t\tconst scaleH = ( this.top - this.bottom ) / this.view.fullHeight / this.zoom;\n\n\t\t\tleft += scaleW * this.view.offsetX;\n\t\t\tright = left + scaleW * this.view.width;\n\t\t\ttop -= scaleH * this.view.offsetY;\n\t\t\tbottom = top - scaleH * this.view.height;\n\n\t\t}\n\n\t\tthis.projectionMatrix.makeOrthographic( left, right, top, bottom, this.near, this.far );\n\n\t\tthis.projectionMatrixInverse.copy( this.projectionMatrix ).invert();\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = super.toJSON( meta );\n\n\t\tdata.object.zoom = this.zoom;\n\t\tdata.object.left = this.left;\n\t\tdata.object.right = this.right;\n\t\tdata.object.top = this.top;\n\t\tdata.object.bottom = this.bottom;\n\t\tdata.object.near = this.near;\n\t\tdata.object.far = this.far;\n\n\t\tif ( this.view !== null ) data.object.view = Object.assign( {}, this.view );\n\n\t\treturn data;\n\n\t}\n\n}\n\nconst LOD_MIN = 4;\n\n// The standard deviations (radians) associated with the extra mips. These are\n// chosen to approximate a Trowbridge-Reitz distribution function times the\n// geometric shadowing function. These sigma values squared must match the\n// variance #defines in cube_uv_reflection_fragment.glsl.js.\nconst EXTRA_LOD_SIGMA = [ 0.125, 0.215, 0.35, 0.446, 0.526, 0.582 ];\n\n// The maximum length of the blur for loop. Smaller sigmas will use fewer\n// samples and exit early, but not recompile the shader.\nconst MAX_SAMPLES = 20;\n\nconst _flatCamera = /*@__PURE__*/ new OrthographicCamera();\nconst _clearColor = /*@__PURE__*/ new Color();\nlet _oldTarget = null;\n\n// Golden Ratio\nconst PHI = ( 1 + Math.sqrt( 5 ) ) / 2;\nconst INV_PHI = 1 / PHI;\n\n// Vertices of a dodecahedron (except the opposites, which represent the\n// same axis), used as axis directions evenly spread on a sphere.\nconst _axisDirections = [\n\t/*@__PURE__*/ new Vector3( 1, 1, 1 ),\n\t/*@__PURE__*/ new Vector3( - 1, 1, 1 ),\n\t/*@__PURE__*/ new Vector3( 1, 1, - 1 ),\n\t/*@__PURE__*/ new Vector3( - 1, 1, - 1 ),\n\t/*@__PURE__*/ new Vector3( 0, PHI, INV_PHI ),\n\t/*@__PURE__*/ new Vector3( 0, PHI, - INV_PHI ),\n\t/*@__PURE__*/ new Vector3( INV_PHI, 0, PHI ),\n\t/*@__PURE__*/ new Vector3( - INV_PHI, 0, PHI ),\n\t/*@__PURE__*/ new Vector3( PHI, INV_PHI, 0 ),\n\t/*@__PURE__*/ new Vector3( - PHI, INV_PHI, 0 ) ];\n\n/**\n * This class generates a Prefiltered, Mipmapped Radiance Environment Map\n * (PMREM) from a cubeMap environment texture. This allows different levels of\n * blur to be quickly accessed based on material roughness. It is packed into a\n * special CubeUV format that allows us to perform custom interpolation so that\n * we can support nonlinear formats such as RGBE. Unlike a traditional mipmap\n * chain, it only goes down to the LOD_MIN level (above), and then creates extra\n * even more filtered 'mips' at the same LOD_MIN resolution, associated with\n * higher roughness levels. In this way we maintain resolution to smoothly\n * interpolate diffuse lighting while limiting sampling computation.\n *\n * Paper: Fast, Accurate Image-Based Lighting\n * https://drive.google.com/file/d/15y8r_UpKlU9SvV4ILb0C3qCPecS8pvLz/view\n*/\n\nclass PMREMGenerator {\n\n\tconstructor( renderer ) {\n\n\t\tthis._renderer = renderer;\n\t\tthis._pingPongRenderTarget = null;\n\n\t\tthis._lodMax = 0;\n\t\tthis._cubeSize = 0;\n\t\tthis._lodPlanes = [];\n\t\tthis._sizeLods = [];\n\t\tthis._sigmas = [];\n\n\t\tthis._blurMaterial = null;\n\t\tthis._cubemapMaterial = null;\n\t\tthis._equirectMaterial = null;\n\n\t\tthis._compileMaterial( this._blurMaterial );\n\n\t}\n\n\t/**\n\t * Generates a PMREM from a supplied Scene, which can be faster than using an\n\t * image if networking bandwidth is low. Optional sigma specifies a blur radius\n\t * in radians to be applied to the scene before PMREM generation. Optional near\n\t * and far planes ensure the scene is rendered in its entirety (the cubeCamera\n\t * is placed at the origin).\n\t */\n\tfromScene( scene, sigma = 0, near = 0.1, far = 100 ) {\n\n\t\t_oldTarget = this._renderer.getRenderTarget();\n\n\t\tthis._setSize( 256 );\n\n\t\tconst cubeUVRenderTarget = this._allocateTargets();\n\t\tcubeUVRenderTarget.depthBuffer = true;\n\n\t\tthis._sceneToCubeUV( scene, near, far, cubeUVRenderTarget );\n\n\t\tif ( sigma > 0 ) {\n\n\t\t\tthis._blur( cubeUVRenderTarget, 0, 0, sigma );\n\n\t\t}\n\n\t\tthis._applyPMREM( cubeUVRenderTarget );\n\t\tthis._cleanup( cubeUVRenderTarget );\n\n\t\treturn cubeUVRenderTarget;\n\n\t}\n\n\t/**\n\t * Generates a PMREM from an equirectangular texture, which can be either LDR\n\t * or HDR. The ideal input image size is 1k (1024 x 512),\n\t * as this matches best with the 256 x 256 cubemap output.\n\t */\n\tfromEquirectangular( equirectangular, renderTarget = null ) {\n\n\t\treturn this._fromTexture( equirectangular, renderTarget );\n\n\t}\n\n\t/**\n\t * Generates a PMREM from an cubemap texture, which can be either LDR\n\t * or HDR. The ideal input cube size is 256 x 256,\n\t * as this matches best with the 256 x 256 cubemap output.\n\t */\n\tfromCubemap( cubemap, renderTarget = null ) {\n\n\t\treturn this._fromTexture( cubemap, renderTarget );\n\n\t}\n\n\t/**\n\t * Pre-compiles the cubemap shader. You can get faster start-up by invoking this method during\n\t * your texture's network fetch for increased concurrency.\n\t */\n\tcompileCubemapShader() {\n\n\t\tif ( this._cubemapMaterial === null ) {\n\n\t\t\tthis._cubemapMaterial = _getCubemapMaterial();\n\t\t\tthis._compileMaterial( this._cubemapMaterial );\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Pre-compiles the equirectangular shader. You can get faster start-up by invoking this method during\n\t * your texture's network fetch for increased concurrency.\n\t */\n\tcompileEquirectangularShader() {\n\n\t\tif ( this._equirectMaterial === null ) {\n\n\t\t\tthis._equirectMaterial = _getEquirectMaterial();\n\t\t\tthis._compileMaterial( this._equirectMaterial );\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Disposes of the PMREMGenerator's internal memory. Note that PMREMGenerator is a static class,\n\t * so you should not need more than one PMREMGenerator object. If you do, calling dispose() on\n\t * one of them will cause any others to also become unusable.\n\t */\n\tdispose() {\n\n\t\tthis._dispose();\n\n\t\tif ( this._cubemapMaterial !== null ) this._cubemapMaterial.dispose();\n\t\tif ( this._equirectMaterial !== null ) this._equirectMaterial.dispose();\n\n\t}\n\n\t// private interface\n\n\t_setSize( cubeSize ) {\n\n\t\tthis._lodMax = Math.floor( Math.log2( cubeSize ) );\n\t\tthis._cubeSize = Math.pow( 2, this._lodMax );\n\n\t}\n\n\t_dispose() {\n\n\t\tif ( this._blurMaterial !== null ) this._blurMaterial.dispose();\n\n\t\tif ( this._pingPongRenderTarget !== null ) this._pingPongRenderTarget.dispose();\n\n\t\tfor ( let i = 0; i < this._lodPlanes.length; i ++ ) {\n\n\t\t\tthis._lodPlanes[ i ].dispose();\n\n\t\t}\n\n\t}\n\n\t_cleanup( outputTarget ) {\n\n\t\tthis._renderer.setRenderTarget( _oldTarget );\n\t\toutputTarget.scissorTest = false;\n\t\t_setViewport( outputTarget, 0, 0, outputTarget.width, outputTarget.height );\n\n\t}\n\n\t_fromTexture( texture, renderTarget ) {\n\n\t\tif ( texture.mapping === CubeReflectionMapping || texture.mapping === CubeRefractionMapping ) {\n\n\t\t\tthis._setSize( texture.image.length === 0 ? 16 : ( texture.image[ 0 ].width || texture.image[ 0 ].image.width ) );\n\n\t\t} else { // Equirectangular\n\n\t\t\tthis._setSize( texture.image.width / 4 );\n\n\t\t}\n\n\t\t_oldTarget = this._renderer.getRenderTarget();\n\n\t\tconst cubeUVRenderTarget = renderTarget || this._allocateTargets();\n\t\tthis._textureToCubeUV( texture, cubeUVRenderTarget );\n\t\tthis._applyPMREM( cubeUVRenderTarget );\n\t\tthis._cleanup( cubeUVRenderTarget );\n\n\t\treturn cubeUVRenderTarget;\n\n\t}\n\n\t_allocateTargets() {\n\n\t\tconst width = 3 * Math.max( this._cubeSize, 16 * 7 );\n\t\tconst height = 4 * this._cubeSize;\n\n\t\tconst params = {\n\t\t\tmagFilter: LinearFilter,\n\t\t\tminFilter: LinearFilter,\n\t\t\tgenerateMipmaps: false,\n\t\t\ttype: HalfFloatType,\n\t\t\tformat: RGBAFormat,\n\t\t\tencoding: LinearEncoding,\n\t\t\tdepthBuffer: false\n\t\t};\n\n\t\tconst cubeUVRenderTarget = _createRenderTarget( width, height, params );\n\n\t\tif ( this._pingPongRenderTarget === null || this._pingPongRenderTarget.width !== width ) {\n\n\t\t\tif ( this._pingPongRenderTarget !== null ) {\n\n\t\t\t\tthis._dispose();\n\n\t\t\t}\n\n\t\t\tthis._pingPongRenderTarget = _createRenderTarget( width, height, params );\n\n\t\t\tconst { _lodMax } = this;\n\t\t\t( { sizeLods: this._sizeLods, lodPlanes: this._lodPlanes, sigmas: this._sigmas } = _createPlanes( _lodMax ) );\n\n\t\t\tthis._blurMaterial = _getBlurShader( _lodMax, width, height );\n\n\t\t}\n\n\t\treturn cubeUVRenderTarget;\n\n\t}\n\n\t_compileMaterial( material ) {\n\n\t\tconst tmpMesh = new Mesh( this._lodPlanes[ 0 ], material );\n\t\tthis._renderer.compile( tmpMesh, _flatCamera );\n\n\t}\n\n\t_sceneToCubeUV( scene, near, far, cubeUVRenderTarget ) {\n\n\t\tconst fov = 90;\n\t\tconst aspect = 1;\n\t\tconst cubeCamera = new PerspectiveCamera( fov, aspect, near, far );\n\t\tconst upSign = [ 1, - 1, 1, 1, 1, 1 ];\n\t\tconst forwardSign = [ 1, 1, 1, - 1, - 1, - 1 ];\n\t\tconst renderer = this._renderer;\n\n\t\tconst originalAutoClear = renderer.autoClear;\n\t\tconst toneMapping = renderer.toneMapping;\n\t\trenderer.getClearColor( _clearColor );\n\n\t\trenderer.toneMapping = NoToneMapping;\n\t\trenderer.autoClear = false;\n\n\t\tconst backgroundMaterial = new MeshBasicMaterial( {\n\t\t\tname: 'PMREM.Background',\n\t\t\tside: BackSide,\n\t\t\tdepthWrite: false,\n\t\t\tdepthTest: false,\n\t\t} );\n\n\t\tconst backgroundBox = new Mesh( new BoxGeometry(), backgroundMaterial );\n\n\t\tlet useSolidColor = false;\n\t\tconst background = scene.background;\n\n\t\tif ( background ) {\n\n\t\t\tif ( background.isColor ) {\n\n\t\t\t\tbackgroundMaterial.color.copy( background );\n\t\t\t\tscene.background = null;\n\t\t\t\tuseSolidColor = true;\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tbackgroundMaterial.color.copy( _clearColor );\n\t\t\tuseSolidColor = true;\n\n\t\t}\n\n\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\tconst col = i % 3;\n\n\t\t\tif ( col === 0 ) {\n\n\t\t\t\tcubeCamera.up.set( 0, upSign[ i ], 0 );\n\t\t\t\tcubeCamera.lookAt( forwardSign[ i ], 0, 0 );\n\n\t\t\t} else if ( col === 1 ) {\n\n\t\t\t\tcubeCamera.up.set( 0, 0, upSign[ i ] );\n\t\t\t\tcubeCamera.lookAt( 0, forwardSign[ i ], 0 );\n\n\t\t\t} else {\n\n\t\t\t\tcubeCamera.up.set( 0, upSign[ i ], 0 );\n\t\t\t\tcubeCamera.lookAt( 0, 0, forwardSign[ i ] );\n\n\t\t\t}\n\n\t\t\tconst size = this._cubeSize;\n\n\t\t\t_setViewport( cubeUVRenderTarget, col * size, i > 2 ? size : 0, size, size );\n\n\t\t\trenderer.setRenderTarget( cubeUVRenderTarget );\n\n\t\t\tif ( useSolidColor ) {\n\n\t\t\t\trenderer.render( backgroundBox, cubeCamera );\n\n\t\t\t}\n\n\t\t\trenderer.render( scene, cubeCamera );\n\n\t\t}\n\n\t\tbackgroundBox.geometry.dispose();\n\t\tbackgroundBox.material.dispose();\n\n\t\trenderer.toneMapping = toneMapping;\n\t\trenderer.autoClear = originalAutoClear;\n\t\tscene.background = background;\n\n\t}\n\n\t_textureToCubeUV( texture, cubeUVRenderTarget ) {\n\n\t\tconst renderer = this._renderer;\n\n\t\tconst isCubeTexture = ( texture.mapping === CubeReflectionMapping || texture.mapping === CubeRefractionMapping );\n\n\t\tif ( isCubeTexture ) {\n\n\t\t\tif ( this._cubemapMaterial === null ) {\n\n\t\t\t\tthis._cubemapMaterial = _getCubemapMaterial();\n\n\t\t\t}\n\n\t\t\tthis._cubemapMaterial.uniforms.flipEnvMap.value = ( texture.isRenderTargetTexture === false ) ? - 1 : 1;\n\n\t\t} else {\n\n\t\t\tif ( this._equirectMaterial === null ) {\n\n\t\t\t\tthis._equirectMaterial = _getEquirectMaterial();\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst material = isCubeTexture ? this._cubemapMaterial : this._equirectMaterial;\n\t\tconst mesh = new Mesh( this._lodPlanes[ 0 ], material );\n\n\t\tconst uniforms = material.uniforms;\n\n\t\tuniforms[ 'envMap' ].value = texture;\n\n\t\tconst size = this._cubeSize;\n\n\t\t_setViewport( cubeUVRenderTarget, 0, 0, 3 * size, 2 * size );\n\n\t\trenderer.setRenderTarget( cubeUVRenderTarget );\n\t\trenderer.render( mesh, _flatCamera );\n\n\t}\n\n\t_applyPMREM( cubeUVRenderTarget ) {\n\n\t\tconst renderer = this._renderer;\n\t\tconst autoClear = renderer.autoClear;\n\t\trenderer.autoClear = false;\n\n\t\tfor ( let i = 1; i < this._lodPlanes.length; i ++ ) {\n\n\t\t\tconst sigma = Math.sqrt( this._sigmas[ i ] * this._sigmas[ i ] - this._sigmas[ i - 1 ] * this._sigmas[ i - 1 ] );\n\n\t\t\tconst poleAxis = _axisDirections[ ( i - 1 ) % _axisDirections.length ];\n\n\t\t\tthis._blur( cubeUVRenderTarget, i - 1, i, sigma, poleAxis );\n\n\t\t}\n\n\t\trenderer.autoClear = autoClear;\n\n\t}\n\n\t/**\n\t * This is a two-pass Gaussian blur for a cubemap. Normally this is done\n\t * vertically and horizontally, but this breaks down on a cube. Here we apply\n\t * the blur latitudinally (around the poles), and then longitudinally (towards\n\t * the poles) to approximate the orthogonally-separable blur. It is least\n\t * accurate at the poles, but still does a decent job.\n\t */\n\t_blur( cubeUVRenderTarget, lodIn, lodOut, sigma, poleAxis ) {\n\n\t\tconst pingPongRenderTarget = this._pingPongRenderTarget;\n\n\t\tthis._halfBlur(\n\t\t\tcubeUVRenderTarget,\n\t\t\tpingPongRenderTarget,\n\t\t\tlodIn,\n\t\t\tlodOut,\n\t\t\tsigma,\n\t\t\t'latitudinal',\n\t\t\tpoleAxis );\n\n\t\tthis._halfBlur(\n\t\t\tpingPongRenderTarget,\n\t\t\tcubeUVRenderTarget,\n\t\t\tlodOut,\n\t\t\tlodOut,\n\t\t\tsigma,\n\t\t\t'longitudinal',\n\t\t\tpoleAxis );\n\n\t}\n\n\t_halfBlur( targetIn, targetOut, lodIn, lodOut, sigmaRadians, direction, poleAxis ) {\n\n\t\tconst renderer = this._renderer;\n\t\tconst blurMaterial = this._blurMaterial;\n\n\t\tif ( direction !== 'latitudinal' && direction !== 'longitudinal' ) {\n\n\t\t\tconsole.error(\n\t\t\t\t'blur direction must be either latitudinal or longitudinal!' );\n\n\t\t}\n\n\t\t// Number of standard deviations at which to cut off the discrete approximation.\n\t\tconst STANDARD_DEVIATIONS = 3;\n\n\t\tconst blurMesh = new Mesh( this._lodPlanes[ lodOut ], blurMaterial );\n\t\tconst blurUniforms = blurMaterial.uniforms;\n\n\t\tconst pixels = this._sizeLods[ lodIn ] - 1;\n\t\tconst radiansPerPixel = isFinite( sigmaRadians ) ? Math.PI / ( 2 * pixels ) : 2 * Math.PI / ( 2 * MAX_SAMPLES - 1 );\n\t\tconst sigmaPixels = sigmaRadians / radiansPerPixel;\n\t\tconst samples = isFinite( sigmaRadians ) ? 1 + Math.floor( STANDARD_DEVIATIONS * sigmaPixels ) : MAX_SAMPLES;\n\n\t\tif ( samples > MAX_SAMPLES ) {\n\n\t\t\tconsole.warn( `sigmaRadians, ${\n\t\t\t\tsigmaRadians}, is too large and will clip, as it requested ${\n\t\t\t\tsamples} samples when the maximum is set to ${MAX_SAMPLES}` );\n\n\t\t}\n\n\t\tconst weights = [];\n\t\tlet sum = 0;\n\n\t\tfor ( let i = 0; i < MAX_SAMPLES; ++ i ) {\n\n\t\t\tconst x = i / sigmaPixels;\n\t\t\tconst weight = Math.exp( - x * x / 2 );\n\t\t\tweights.push( weight );\n\n\t\t\tif ( i === 0 ) {\n\n\t\t\t\tsum += weight;\n\n\t\t\t} else if ( i < samples ) {\n\n\t\t\t\tsum += 2 * weight;\n\n\t\t\t}\n\n\t\t}\n\n\t\tfor ( let i = 0; i < weights.length; i ++ ) {\n\n\t\t\tweights[ i ] = weights[ i ] / sum;\n\n\t\t}\n\n\t\tblurUniforms[ 'envMap' ].value = targetIn.texture;\n\t\tblurUniforms[ 'samples' ].value = samples;\n\t\tblurUniforms[ 'weights' ].value = weights;\n\t\tblurUniforms[ 'latitudinal' ].value = direction === 'latitudinal';\n\n\t\tif ( poleAxis ) {\n\n\t\t\tblurUniforms[ 'poleAxis' ].value = poleAxis;\n\n\t\t}\n\n\t\tconst { _lodMax } = this;\n\t\tblurUniforms[ 'dTheta' ].value = radiansPerPixel;\n\t\tblurUniforms[ 'mipInt' ].value = _lodMax - lodIn;\n\n\t\tconst outputSize = this._sizeLods[ lodOut ];\n\t\tconst x = 3 * outputSize * ( lodOut > _lodMax - LOD_MIN ? lodOut - _lodMax + LOD_MIN : 0 );\n\t\tconst y = 4 * ( this._cubeSize - outputSize );\n\n\t\t_setViewport( targetOut, x, y, 3 * outputSize, 2 * outputSize );\n\t\trenderer.setRenderTarget( targetOut );\n\t\trenderer.render( blurMesh, _flatCamera );\n\n\t}\n\n}\n\n\n\nfunction _createPlanes( lodMax ) {\n\n\tconst lodPlanes = [];\n\tconst sizeLods = [];\n\tconst sigmas = [];\n\n\tlet lod = lodMax;\n\n\tconst totalLods = lodMax - LOD_MIN + 1 + EXTRA_LOD_SIGMA.length;\n\n\tfor ( let i = 0; i < totalLods; i ++ ) {\n\n\t\tconst sizeLod = Math.pow( 2, lod );\n\t\tsizeLods.push( sizeLod );\n\t\tlet sigma = 1.0 / sizeLod;\n\n\t\tif ( i > lodMax - LOD_MIN ) {\n\n\t\t\tsigma = EXTRA_LOD_SIGMA[ i - lodMax + LOD_MIN - 1 ];\n\n\t\t} else if ( i === 0 ) {\n\n\t\t\tsigma = 0;\n\n\t\t}\n\n\t\tsigmas.push( sigma );\n\n\t\tconst texelSize = 1.0 / ( sizeLod - 2 );\n\t\tconst min = - texelSize;\n\t\tconst max = 1 + texelSize;\n\t\tconst uv1 = [ min, min, max, min, max, max, min, min, max, max, min, max ];\n\n\t\tconst cubeFaces = 6;\n\t\tconst vertices = 6;\n\t\tconst positionSize = 3;\n\t\tconst uvSize = 2;\n\t\tconst faceIndexSize = 1;\n\n\t\tconst position = new Float32Array( positionSize * vertices * cubeFaces );\n\t\tconst uv = new Float32Array( uvSize * vertices * cubeFaces );\n\t\tconst faceIndex = new Float32Array( faceIndexSize * vertices * cubeFaces );\n\n\t\tfor ( let face = 0; face < cubeFaces; face ++ ) {\n\n\t\t\tconst x = ( face % 3 ) * 2 / 3 - 1;\n\t\t\tconst y = face > 2 ? 0 : - 1;\n\t\t\tconst coordinates = [\n\t\t\t\tx, y, 0,\n\t\t\t\tx + 2 / 3, y, 0,\n\t\t\t\tx + 2 / 3, y + 1, 0,\n\t\t\t\tx, y, 0,\n\t\t\t\tx + 2 / 3, y + 1, 0,\n\t\t\t\tx, y + 1, 0\n\t\t\t];\n\t\t\tposition.set( coordinates, positionSize * vertices * face );\n\t\t\tuv.set( uv1, uvSize * vertices * face );\n\t\t\tconst fill = [ face, face, face, face, face, face ];\n\t\t\tfaceIndex.set( fill, faceIndexSize * vertices * face );\n\n\t\t}\n\n\t\tconst planes = new BufferGeometry();\n\t\tplanes.setAttribute( 'position', new BufferAttribute( position, positionSize ) );\n\t\tplanes.setAttribute( 'uv', new BufferAttribute( uv, uvSize ) );\n\t\tplanes.setAttribute( 'faceIndex', new BufferAttribute( faceIndex, faceIndexSize ) );\n\t\tlodPlanes.push( planes );\n\n\t\tif ( lod > LOD_MIN ) {\n\n\t\t\tlod --;\n\n\t\t}\n\n\t}\n\n\treturn { lodPlanes, sizeLods, sigmas };\n\n}\n\nfunction _createRenderTarget( width, height, params ) {\n\n\tconst cubeUVRenderTarget = new WebGLRenderTarget( width, height, params );\n\tcubeUVRenderTarget.texture.mapping = CubeUVReflectionMapping;\n\tcubeUVRenderTarget.texture.name = 'PMREM.cubeUv';\n\tcubeUVRenderTarget.scissorTest = true;\n\treturn cubeUVRenderTarget;\n\n}\n\nfunction _setViewport( target, x, y, width, height ) {\n\n\ttarget.viewport.set( x, y, width, height );\n\ttarget.scissor.set( x, y, width, height );\n\n}\n\nfunction _getBlurShader( lodMax, width, height ) {\n\n\tconst weights = new Float32Array( MAX_SAMPLES );\n\tconst poleAxis = new Vector3( 0, 1, 0 );\n\tconst shaderMaterial = new ShaderMaterial( {\n\n\t\tname: 'SphericalGaussianBlur',\n\n\t\tdefines: {\n\t\t\t'n': MAX_SAMPLES,\n\t\t\t'CUBEUV_TEXEL_WIDTH': 1.0 / width,\n\t\t\t'CUBEUV_TEXEL_HEIGHT': 1.0 / height,\n\t\t\t'CUBEUV_MAX_MIP': `${lodMax}.0`,\n\t\t},\n\n\t\tuniforms: {\n\t\t\t'envMap': { value: null },\n\t\t\t'samples': { value: 1 },\n\t\t\t'weights': { value: weights },\n\t\t\t'latitudinal': { value: false },\n\t\t\t'dTheta': { value: 0 },\n\t\t\t'mipInt': { value: 0 },\n\t\t\t'poleAxis': { value: poleAxis }\n\t\t},\n\n\t\tvertexShader: _getCommonVertexShader(),\n\n\t\tfragmentShader: /* glsl */`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t`,\n\n\t\tblending: NoBlending,\n\t\tdepthTest: false,\n\t\tdepthWrite: false\n\n\t} );\n\n\treturn shaderMaterial;\n\n}\n\nfunction _getEquirectMaterial() {\n\n\treturn new ShaderMaterial( {\n\n\t\tname: 'EquirectangularToCubeUV',\n\n\t\tuniforms: {\n\t\t\t'envMap': { value: null }\n\t\t},\n\n\t\tvertexShader: _getCommonVertexShader(),\n\n\t\tfragmentShader: /* glsl */`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t`,\n\n\t\tblending: NoBlending,\n\t\tdepthTest: false,\n\t\tdepthWrite: false\n\n\t} );\n\n}\n\nfunction _getCubemapMaterial() {\n\n\treturn new ShaderMaterial( {\n\n\t\tname: 'CubemapToCubeUV',\n\n\t\tuniforms: {\n\t\t\t'envMap': { value: null },\n\t\t\t'flipEnvMap': { value: - 1 }\n\t\t},\n\n\t\tvertexShader: _getCommonVertexShader(),\n\n\t\tfragmentShader: /* glsl */`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t`,\n\n\t\tblending: NoBlending,\n\t\tdepthTest: false,\n\t\tdepthWrite: false\n\n\t} );\n\n}\n\nfunction _getCommonVertexShader() {\n\n\treturn /* glsl */`\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t`;\n\n}\n\nfunction WebGLCubeUVMaps( renderer ) {\n\n\tlet cubeUVmaps = new WeakMap();\n\n\tlet pmremGenerator = null;\n\n\tfunction get( texture ) {\n\n\t\tif ( texture && texture.isTexture ) {\n\n\t\t\tconst mapping = texture.mapping;\n\n\t\t\tconst isEquirectMap = ( mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping );\n\t\t\tconst isCubeMap = ( mapping === CubeReflectionMapping || mapping === CubeRefractionMapping );\n\n\t\t\t// equirect/cube map to cubeUV conversion\n\n\t\t\tif ( isEquirectMap || isCubeMap ) {\n\n\t\t\t\tif ( texture.isRenderTargetTexture && texture.needsPMREMUpdate === true ) {\n\n\t\t\t\t\ttexture.needsPMREMUpdate = false;\n\n\t\t\t\t\tlet renderTarget = cubeUVmaps.get( texture );\n\n\t\t\t\t\tif ( pmremGenerator === null ) pmremGenerator = new PMREMGenerator( renderer );\n\n\t\t\t\t\trenderTarget = isEquirectMap ? pmremGenerator.fromEquirectangular( texture, renderTarget ) : pmremGenerator.fromCubemap( texture, renderTarget );\n\t\t\t\t\tcubeUVmaps.set( texture, renderTarget );\n\n\t\t\t\t\treturn renderTarget.texture;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( cubeUVmaps.has( texture ) ) {\n\n\t\t\t\t\t\treturn cubeUVmaps.get( texture ).texture;\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tconst image = texture.image;\n\n\t\t\t\t\t\tif ( ( isEquirectMap && image && image.height > 0 ) || ( isCubeMap && image && isCubeTextureComplete( image ) ) ) {\n\n\t\t\t\t\t\t\tif ( pmremGenerator === null ) pmremGenerator = new PMREMGenerator( renderer );\n\n\t\t\t\t\t\t\tconst renderTarget = isEquirectMap ? pmremGenerator.fromEquirectangular( texture ) : pmremGenerator.fromCubemap( texture );\n\t\t\t\t\t\t\tcubeUVmaps.set( texture, renderTarget );\n\n\t\t\t\t\t\t\ttexture.addEventListener( 'dispose', onTextureDispose );\n\n\t\t\t\t\t\t\treturn renderTarget.texture;\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// image not yet ready. try the conversion next frame\n\n\t\t\t\t\t\t\treturn null;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn texture;\n\n\t}\n\n\tfunction isCubeTextureComplete( image ) {\n\n\t\tlet count = 0;\n\t\tconst length = 6;\n\n\t\tfor ( let i = 0; i < length; i ++ ) {\n\n\t\t\tif ( image[ i ] !== undefined ) count ++;\n\n\t\t}\n\n\t\treturn count === length;\n\n\n\t}\n\n\tfunction onTextureDispose( event ) {\n\n\t\tconst texture = event.target;\n\n\t\ttexture.removeEventListener( 'dispose', onTextureDispose );\n\n\t\tconst cubemapUV = cubeUVmaps.get( texture );\n\n\t\tif ( cubemapUV !== undefined ) {\n\n\t\t\tcubeUVmaps.delete( texture );\n\t\t\tcubemapUV.dispose();\n\n\t\t}\n\n\t}\n\n\tfunction dispose() {\n\n\t\tcubeUVmaps = new WeakMap();\n\n\t\tif ( pmremGenerator !== null ) {\n\n\t\t\tpmremGenerator.dispose();\n\t\t\tpmremGenerator = null;\n\n\t\t}\n\n\t}\n\n\treturn {\n\t\tget: get,\n\t\tdispose: dispose\n\t};\n\n}\n\nfunction WebGLExtensions( gl ) {\n\n\tconst extensions = {};\n\n\tfunction getExtension( name ) {\n\n\t\tif ( extensions[ name ] !== undefined ) {\n\n\t\t\treturn extensions[ name ];\n\n\t\t}\n\n\t\tlet extension;\n\n\t\tswitch ( name ) {\n\n\t\t\tcase 'WEBGL_depth_texture':\n\t\t\t\textension = gl.getExtension( 'WEBGL_depth_texture' ) || gl.getExtension( 'MOZ_WEBGL_depth_texture' ) || gl.getExtension( 'WEBKIT_WEBGL_depth_texture' );\n\t\t\t\tbreak;\n\n\t\t\tcase 'EXT_texture_filter_anisotropic':\n\t\t\t\textension = gl.getExtension( 'EXT_texture_filter_anisotropic' ) || gl.getExtension( 'MOZ_EXT_texture_filter_anisotropic' ) || gl.getExtension( 'WEBKIT_EXT_texture_filter_anisotropic' );\n\t\t\t\tbreak;\n\n\t\t\tcase 'WEBGL_compressed_texture_s3tc':\n\t\t\t\textension = gl.getExtension( 'WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'MOZ_WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_s3tc' );\n\t\t\t\tbreak;\n\n\t\t\tcase 'WEBGL_compressed_texture_pvrtc':\n\t\t\t\textension = gl.getExtension( 'WEBGL_compressed_texture_pvrtc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_pvrtc' );\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\textension = gl.getExtension( name );\n\n\t\t}\n\n\t\textensions[ name ] = extension;\n\n\t\treturn extension;\n\n\t}\n\n\treturn {\n\n\t\thas: function ( name ) {\n\n\t\t\treturn getExtension( name ) !== null;\n\n\t\t},\n\n\t\tinit: function ( capabilities ) {\n\n\t\t\tif ( capabilities.isWebGL2 ) {\n\n\t\t\t\tgetExtension( 'EXT_color_buffer_float' );\n\n\t\t\t} else {\n\n\t\t\t\tgetExtension( 'WEBGL_depth_texture' );\n\t\t\t\tgetExtension( 'OES_texture_float' );\n\t\t\t\tgetExtension( 'OES_texture_half_float' );\n\t\t\t\tgetExtension( 'OES_texture_half_float_linear' );\n\t\t\t\tgetExtension( 'OES_standard_derivatives' );\n\t\t\t\tgetExtension( 'OES_element_index_uint' );\n\t\t\t\tgetExtension( 'OES_vertex_array_object' );\n\t\t\t\tgetExtension( 'ANGLE_instanced_arrays' );\n\n\t\t\t}\n\n\t\t\tgetExtension( 'OES_texture_float_linear' );\n\t\t\tgetExtension( 'EXT_color_buffer_half_float' );\n\t\t\tgetExtension( 'WEBGL_multisampled_render_to_texture' );\n\n\t\t},\n\n\t\tget: function ( name ) {\n\n\t\t\tconst extension = getExtension( name );\n\n\t\t\tif ( extension === null ) {\n\n\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: ' + name + ' extension not supported.' );\n\n\t\t\t}\n\n\t\t\treturn extension;\n\n\t\t}\n\n\t};\n\n}\n\nfunction WebGLGeometries( gl, attributes, info, bindingStates ) {\n\n\tconst geometries = {};\n\tconst wireframeAttributes = new WeakMap();\n\n\tfunction onGeometryDispose( event ) {\n\n\t\tconst geometry = event.target;\n\n\t\tif ( geometry.index !== null ) {\n\n\t\t\tattributes.remove( geometry.index );\n\n\t\t}\n\n\t\tfor ( const name in geometry.attributes ) {\n\n\t\t\tattributes.remove( geometry.attributes[ name ] );\n\n\t\t}\n\n\t\tgeometry.removeEventListener( 'dispose', onGeometryDispose );\n\n\t\tdelete geometries[ geometry.id ];\n\n\t\tconst attribute = wireframeAttributes.get( geometry );\n\n\t\tif ( attribute ) {\n\n\t\t\tattributes.remove( attribute );\n\t\t\twireframeAttributes.delete( geometry );\n\n\t\t}\n\n\t\tbindingStates.releaseStatesOfGeometry( geometry );\n\n\t\tif ( geometry.isInstancedBufferGeometry === true ) {\n\n\t\t\tdelete geometry._maxInstanceCount;\n\n\t\t}\n\n\t\t//\n\n\t\tinfo.memory.geometries --;\n\n\t}\n\n\tfunction get( object, geometry ) {\n\n\t\tif ( geometries[ geometry.id ] === true ) return geometry;\n\n\t\tgeometry.addEventListener( 'dispose', onGeometryDispose );\n\n\t\tgeometries[ geometry.id ] = true;\n\n\t\tinfo.memory.geometries ++;\n\n\t\treturn geometry;\n\n\t}\n\n\tfunction update( geometry ) {\n\n\t\tconst geometryAttributes = geometry.attributes;\n\n\t\t// Updating index buffer in VAO now. See WebGLBindingStates.\n\n\t\tfor ( const name in geometryAttributes ) {\n\n\t\t\tattributes.update( geometryAttributes[ name ], 34962 );\n\n\t\t}\n\n\t\t// morph targets\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\n\t\tfor ( const name in morphAttributes ) {\n\n\t\t\tconst array = morphAttributes[ name ];\n\n\t\t\tfor ( let i = 0, l = array.length; i < l; i ++ ) {\n\n\t\t\t\tattributes.update( array[ i ], 34962 );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tfunction updateWireframeAttribute( geometry ) {\n\n\t\tconst indices = [];\n\n\t\tconst geometryIndex = geometry.index;\n\t\tconst geometryPosition = geometry.attributes.position;\n\t\tlet version = 0;\n\n\t\tif ( geometryIndex !== null ) {\n\n\t\t\tconst array = geometryIndex.array;\n\t\t\tversion = geometryIndex.version;\n\n\t\t\tfor ( let i = 0, l = array.length; i < l; i += 3 ) {\n\n\t\t\t\tconst a = array[ i + 0 ];\n\t\t\t\tconst b = array[ i + 1 ];\n\t\t\t\tconst c = array[ i + 2 ];\n\n\t\t\t\tindices.push( a, b, b, c, c, a );\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tconst array = geometryPosition.array;\n\t\t\tversion = geometryPosition.version;\n\n\t\t\tfor ( let i = 0, l = ( array.length / 3 ) - 1; i < l; i += 3 ) {\n\n\t\t\t\tconst a = i + 0;\n\t\t\t\tconst b = i + 1;\n\t\t\t\tconst c = i + 2;\n\n\t\t\t\tindices.push( a, b, b, c, c, a );\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst attribute = new ( arrayNeedsUint32( indices ) ? Uint32BufferAttribute : Uint16BufferAttribute )( indices, 1 );\n\t\tattribute.version = version;\n\n\t\t// Updating index buffer in VAO now. See WebGLBindingStates\n\n\t\t//\n\n\t\tconst previousAttribute = wireframeAttributes.get( geometry );\n\n\t\tif ( previousAttribute ) attributes.remove( previousAttribute );\n\n\t\t//\n\n\t\twireframeAttributes.set( geometry, attribute );\n\n\t}\n\n\tfunction getWireframeAttribute( geometry ) {\n\n\t\tconst currentAttribute = wireframeAttributes.get( geometry );\n\n\t\tif ( currentAttribute ) {\n\n\t\t\tconst geometryIndex = geometry.index;\n\n\t\t\tif ( geometryIndex !== null ) {\n\n\t\t\t\t// if the attribute is obsolete, create a new one\n\n\t\t\t\tif ( currentAttribute.version < geometryIndex.version ) {\n\n\t\t\t\t\tupdateWireframeAttribute( geometry );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tupdateWireframeAttribute( geometry );\n\n\t\t}\n\n\t\treturn wireframeAttributes.get( geometry );\n\n\t}\n\n\treturn {\n\n\t\tget: get,\n\t\tupdate: update,\n\n\t\tgetWireframeAttribute: getWireframeAttribute\n\n\t};\n\n}\n\nfunction WebGLIndexedBufferRenderer( gl, extensions, info, capabilities ) {\n\n\tconst isWebGL2 = capabilities.isWebGL2;\n\n\tlet mode;\n\n\tfunction setMode( value ) {\n\n\t\tmode = value;\n\n\t}\n\n\tlet type, bytesPerElement;\n\n\tfunction setIndex( value ) {\n\n\t\ttype = value.type;\n\t\tbytesPerElement = value.bytesPerElement;\n\n\t}\n\n\tfunction render( start, count ) {\n\n\t\tgl.drawElements( mode, count, type, start * bytesPerElement );\n\n\t\tinfo.update( count, mode, 1 );\n\n\t}\n\n\tfunction renderInstances( start, count, primcount ) {\n\n\t\tif ( primcount === 0 ) return;\n\n\t\tlet extension, methodName;\n\n\t\tif ( isWebGL2 ) {\n\n\t\t\textension = gl;\n\t\t\tmethodName = 'drawElementsInstanced';\n\n\t\t} else {\n\n\t\t\textension = extensions.get( 'ANGLE_instanced_arrays' );\n\t\t\tmethodName = 'drawElementsInstancedANGLE';\n\n\t\t\tif ( extension === null ) {\n\n\t\t\t\tconsole.error( 'THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' );\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t}\n\n\t\textension[ methodName ]( mode, count, type, start * bytesPerElement, primcount );\n\n\t\tinfo.update( count, mode, primcount );\n\n\t}\n\n\t//\n\n\tthis.setMode = setMode;\n\tthis.setIndex = setIndex;\n\tthis.render = render;\n\tthis.renderInstances = renderInstances;\n\n}\n\nfunction WebGLInfo( gl ) {\n\n\tconst memory = {\n\t\tgeometries: 0,\n\t\ttextures: 0\n\t};\n\n\tconst render = {\n\t\tframe: 0,\n\t\tcalls: 0,\n\t\ttriangles: 0,\n\t\tpoints: 0,\n\t\tlines: 0\n\t};\n\n\tfunction update( count, mode, instanceCount ) {\n\n\t\trender.calls ++;\n\n\t\tswitch ( mode ) {\n\n\t\t\tcase 4:\n\t\t\t\trender.triangles += instanceCount * ( count / 3 );\n\t\t\t\tbreak;\n\n\t\t\tcase 1:\n\t\t\t\trender.lines += instanceCount * ( count / 2 );\n\t\t\t\tbreak;\n\n\t\t\tcase 3:\n\t\t\t\trender.lines += instanceCount * ( count - 1 );\n\t\t\t\tbreak;\n\n\t\t\tcase 2:\n\t\t\t\trender.lines += instanceCount * count;\n\t\t\t\tbreak;\n\n\t\t\tcase 0:\n\t\t\t\trender.points += instanceCount * count;\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tconsole.error( 'THREE.WebGLInfo: Unknown draw mode:', mode );\n\t\t\t\tbreak;\n\n\t\t}\n\n\t}\n\n\tfunction reset() {\n\n\t\trender.frame ++;\n\t\trender.calls = 0;\n\t\trender.triangles = 0;\n\t\trender.points = 0;\n\t\trender.lines = 0;\n\n\t}\n\n\treturn {\n\t\tmemory: memory,\n\t\trender: render,\n\t\tprograms: null,\n\t\tautoReset: true,\n\t\treset: reset,\n\t\tupdate: update\n\t};\n\n}\n\nfunction numericalSort( a, b ) {\n\n\treturn a[ 0 ] - b[ 0 ];\n\n}\n\nfunction absNumericalSort( a, b ) {\n\n\treturn Math.abs( b[ 1 ] ) - Math.abs( a[ 1 ] );\n\n}\n\nfunction denormalize( morph, attribute ) {\n\n\tlet denominator = 1;\n\tconst array = attribute.isInterleavedBufferAttribute ? attribute.data.array : attribute.array;\n\n\tif ( array instanceof Int8Array ) denominator = 127;\n\telse if ( array instanceof Uint8Array ) denominator = 255;\n\telse if ( array instanceof Uint16Array ) denominator = 65535;\n\telse if ( array instanceof Int16Array ) denominator = 32767;\n\telse if ( array instanceof Int32Array ) denominator = 2147483647;\n\telse console.error( 'THREE.WebGLMorphtargets: Unsupported morph attribute data type: ', array );\n\n\tmorph.divideScalar( denominator );\n\n}\n\nfunction WebGLMorphtargets( gl, capabilities, textures ) {\n\n\tconst influencesList = {};\n\tconst morphInfluences = new Float32Array( 8 );\n\tconst morphTextures = new WeakMap();\n\tconst morph = new Vector4();\n\n\tconst workInfluences = [];\n\n\tfor ( let i = 0; i < 8; i ++ ) {\n\n\t\tworkInfluences[ i ] = [ i, 0 ];\n\n\t}\n\n\tfunction update( object, geometry, material, program ) {\n\n\t\tconst objectInfluences = object.morphTargetInfluences;\n\n\t\tif ( capabilities.isWebGL2 === true ) {\n\n\t\t\t// instead of using attributes, the WebGL 2 code path encodes morph targets\n\t\t\t// into an array of data textures. Each layer represents a single morph target.\n\n\t\t\tconst morphAttribute = geometry.morphAttributes.position || geometry.morphAttributes.normal || geometry.morphAttributes.color;\n\t\t\tconst morphTargetsCount = ( morphAttribute !== undefined ) ? morphAttribute.length : 0;\n\n\t\t\tlet entry = morphTextures.get( geometry );\n\n\t\t\tif ( entry === undefined || entry.count !== morphTargetsCount ) {\n\n\t\t\t\tif ( entry !== undefined ) entry.texture.dispose();\n\n\t\t\t\tconst hasMorphPosition = geometry.morphAttributes.position !== undefined;\n\t\t\t\tconst hasMorphNormals = geometry.morphAttributes.normal !== undefined;\n\t\t\t\tconst hasMorphColors = geometry.morphAttributes.color !== undefined;\n\n\t\t\t\tconst morphTargets = geometry.morphAttributes.position || [];\n\t\t\t\tconst morphNormals = geometry.morphAttributes.normal || [];\n\t\t\t\tconst morphColors = geometry.morphAttributes.color || [];\n\n\t\t\t\tlet vertexDataCount = 0;\n\n\t\t\t\tif ( hasMorphPosition === true ) vertexDataCount = 1;\n\t\t\t\tif ( hasMorphNormals === true ) vertexDataCount = 2;\n\t\t\t\tif ( hasMorphColors === true ) vertexDataCount = 3;\n\n\t\t\t\tlet width = geometry.attributes.position.count * vertexDataCount;\n\t\t\t\tlet height = 1;\n\n\t\t\t\tif ( width > capabilities.maxTextureSize ) {\n\n\t\t\t\t\theight = Math.ceil( width / capabilities.maxTextureSize );\n\t\t\t\t\twidth = capabilities.maxTextureSize;\n\n\t\t\t\t}\n\n\t\t\t\tconst buffer = new Float32Array( width * height * 4 * morphTargetsCount );\n\n\t\t\t\tconst texture = new DataArrayTexture( buffer, width, height, morphTargetsCount );\n\t\t\t\ttexture.type = FloatType;\n\t\t\t\ttexture.needsUpdate = true;\n\n\t\t\t\t// fill buffer\n\n\t\t\t\tconst vertexDataStride = vertexDataCount * 4;\n\n\t\t\t\tfor ( let i = 0; i < morphTargetsCount; i ++ ) {\n\n\t\t\t\t\tconst morphTarget = morphTargets[ i ];\n\t\t\t\t\tconst morphNormal = morphNormals[ i ];\n\t\t\t\t\tconst morphColor = morphColors[ i ];\n\n\t\t\t\t\tconst offset = width * height * 4 * i;\n\n\t\t\t\t\tfor ( let j = 0; j < morphTarget.count; j ++ ) {\n\n\t\t\t\t\t\tconst stride = j * vertexDataStride;\n\n\t\t\t\t\t\tif ( hasMorphPosition === true ) {\n\n\t\t\t\t\t\t\tmorph.fromBufferAttribute( morphTarget, j );\n\n\t\t\t\t\t\t\tif ( morphTarget.normalized === true ) denormalize( morph, morphTarget );\n\n\t\t\t\t\t\t\tbuffer[ offset + stride + 0 ] = morph.x;\n\t\t\t\t\t\t\tbuffer[ offset + stride + 1 ] = morph.y;\n\t\t\t\t\t\t\tbuffer[ offset + stride + 2 ] = morph.z;\n\t\t\t\t\t\t\tbuffer[ offset + stride + 3 ] = 0;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( hasMorphNormals === true ) {\n\n\t\t\t\t\t\t\tmorph.fromBufferAttribute( morphNormal, j );\n\n\t\t\t\t\t\t\tif ( morphNormal.normalized === true ) denormalize( morph, morphNormal );\n\n\t\t\t\t\t\t\tbuffer[ offset + stride + 4 ] = morph.x;\n\t\t\t\t\t\t\tbuffer[ offset + stride + 5 ] = morph.y;\n\t\t\t\t\t\t\tbuffer[ offset + stride + 6 ] = morph.z;\n\t\t\t\t\t\t\tbuffer[ offset + stride + 7 ] = 0;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( hasMorphColors === true ) {\n\n\t\t\t\t\t\t\tmorph.fromBufferAttribute( morphColor, j );\n\n\t\t\t\t\t\t\tif ( morphColor.normalized === true ) denormalize( morph, morphColor );\n\n\t\t\t\t\t\t\tbuffer[ offset + stride + 8 ] = morph.x;\n\t\t\t\t\t\t\tbuffer[ offset + stride + 9 ] = morph.y;\n\t\t\t\t\t\t\tbuffer[ offset + stride + 10 ] = morph.z;\n\t\t\t\t\t\t\tbuffer[ offset + stride + 11 ] = ( morphColor.itemSize === 4 ) ? morph.w : 1;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tentry = {\n\t\t\t\t\tcount: morphTargetsCount,\n\t\t\t\t\ttexture: texture,\n\t\t\t\t\tsize: new Vector2( width, height )\n\t\t\t\t};\n\n\t\t\t\tmorphTextures.set( geometry, entry );\n\n\t\t\t\tfunction disposeTexture() {\n\n\t\t\t\t\ttexture.dispose();\n\n\t\t\t\t\tmorphTextures.delete( geometry );\n\n\t\t\t\t\tgeometry.removeEventListener( 'dispose', disposeTexture );\n\n\t\t\t\t}\n\n\t\t\t\tgeometry.addEventListener( 'dispose', disposeTexture );\n\n\t\t\t}\n\n\t\t\t//\n\n\t\t\tlet morphInfluencesSum = 0;\n\n\t\t\tfor ( let i = 0; i < objectInfluences.length; i ++ ) {\n\n\t\t\t\tmorphInfluencesSum += objectInfluences[ i ];\n\n\t\t\t}\n\n\t\t\tconst morphBaseInfluence = geometry.morphTargetsRelative ? 1 : 1 - morphInfluencesSum;\n\n\t\t\tprogram.getUniforms().setValue( gl, 'morphTargetBaseInfluence', morphBaseInfluence );\n\t\t\tprogram.getUniforms().setValue( gl, 'morphTargetInfluences', objectInfluences );\n\n\t\t\tprogram.getUniforms().setValue( gl, 'morphTargetsTexture', entry.texture, textures );\n\t\t\tprogram.getUniforms().setValue( gl, 'morphTargetsTextureSize', entry.size );\n\n\n\t\t} else {\n\n\t\t\t// When object doesn't have morph target influences defined, we treat it as a 0-length array\n\t\t\t// This is important to make sure we set up morphTargetBaseInfluence / morphTargetInfluences\n\n\t\t\tconst length = objectInfluences === undefined ? 0 : objectInfluences.length;\n\n\t\t\tlet influences = influencesList[ geometry.id ];\n\n\t\t\tif ( influences === undefined || influences.length !== length ) {\n\n\t\t\t\t// initialise list\n\n\t\t\t\tinfluences = [];\n\n\t\t\t\tfor ( let i = 0; i < length; i ++ ) {\n\n\t\t\t\t\tinfluences[ i ] = [ i, 0 ];\n\n\t\t\t\t}\n\n\t\t\t\tinfluencesList[ geometry.id ] = influences;\n\n\t\t\t}\n\n\t\t\t// Collect influences\n\n\t\t\tfor ( let i = 0; i < length; i ++ ) {\n\n\t\t\t\tconst influence = influences[ i ];\n\n\t\t\t\tinfluence[ 0 ] = i;\n\t\t\t\tinfluence[ 1 ] = objectInfluences[ i ];\n\n\t\t\t}\n\n\t\t\tinfluences.sort( absNumericalSort );\n\n\t\t\tfor ( let i = 0; i < 8; i ++ ) {\n\n\t\t\t\tif ( i < length && influences[ i ][ 1 ] ) {\n\n\t\t\t\t\tworkInfluences[ i ][ 0 ] = influences[ i ][ 0 ];\n\t\t\t\t\tworkInfluences[ i ][ 1 ] = influences[ i ][ 1 ];\n\n\t\t\t\t} else {\n\n\t\t\t\t\tworkInfluences[ i ][ 0 ] = Number.MAX_SAFE_INTEGER;\n\t\t\t\t\tworkInfluences[ i ][ 1 ] = 0;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tworkInfluences.sort( numericalSort );\n\n\t\t\tconst morphTargets = geometry.morphAttributes.position;\n\t\t\tconst morphNormals = geometry.morphAttributes.normal;\n\n\t\t\tlet morphInfluencesSum = 0;\n\n\t\t\tfor ( let i = 0; i < 8; i ++ ) {\n\n\t\t\t\tconst influence = workInfluences[ i ];\n\t\t\t\tconst index = influence[ 0 ];\n\t\t\t\tconst value = influence[ 1 ];\n\n\t\t\t\tif ( index !== Number.MAX_SAFE_INTEGER && value ) {\n\n\t\t\t\t\tif ( morphTargets && geometry.getAttribute( 'morphTarget' + i ) !== morphTargets[ index ] ) {\n\n\t\t\t\t\t\tgeometry.setAttribute( 'morphTarget' + i, morphTargets[ index ] );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( morphNormals && geometry.getAttribute( 'morphNormal' + i ) !== morphNormals[ index ] ) {\n\n\t\t\t\t\t\tgeometry.setAttribute( 'morphNormal' + i, morphNormals[ index ] );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tmorphInfluences[ i ] = value;\n\t\t\t\t\tmorphInfluencesSum += value;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( morphTargets && geometry.hasAttribute( 'morphTarget' + i ) === true ) {\n\n\t\t\t\t\t\tgeometry.deleteAttribute( 'morphTarget' + i );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( morphNormals && geometry.hasAttribute( 'morphNormal' + i ) === true ) {\n\n\t\t\t\t\t\tgeometry.deleteAttribute( 'morphNormal' + i );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tmorphInfluences[ i ] = 0;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// GLSL shader uses formula baseinfluence * base + sum(target * influence)\n\t\t\t// This allows us to switch between absolute morphs and relative morphs without changing shader code\n\t\t\t// When baseinfluence = 1 - sum(influence), the above is equivalent to sum((target - base) * influence)\n\t\t\tconst morphBaseInfluence = geometry.morphTargetsRelative ? 1 : 1 - morphInfluencesSum;\n\n\t\t\tprogram.getUniforms().setValue( gl, 'morphTargetBaseInfluence', morphBaseInfluence );\n\t\t\tprogram.getUniforms().setValue( gl, 'morphTargetInfluences', morphInfluences );\n\n\t\t}\n\n\t}\n\n\treturn {\n\n\t\tupdate: update\n\n\t};\n\n}\n\nfunction WebGLObjects( gl, geometries, attributes, info ) {\n\n\tlet updateMap = new WeakMap();\n\n\tfunction update( object ) {\n\n\t\tconst frame = info.render.frame;\n\n\t\tconst geometry = object.geometry;\n\t\tconst buffergeometry = geometries.get( object, geometry );\n\n\t\t// Update once per frame\n\n\t\tif ( updateMap.get( buffergeometry ) !== frame ) {\n\n\t\t\tgeometries.update( buffergeometry );\n\n\t\t\tupdateMap.set( buffergeometry, frame );\n\n\t\t}\n\n\t\tif ( object.isInstancedMesh ) {\n\n\t\t\tif ( object.hasEventListener( 'dispose', onInstancedMeshDispose ) === false ) {\n\n\t\t\t\tobject.addEventListener( 'dispose', onInstancedMeshDispose );\n\n\t\t\t}\n\n\t\t\tattributes.update( object.instanceMatrix, 34962 );\n\n\t\t\tif ( object.instanceColor !== null ) {\n\n\t\t\t\tattributes.update( object.instanceColor, 34962 );\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn buffergeometry;\n\n\t}\n\n\tfunction dispose() {\n\n\t\tupdateMap = new WeakMap();\n\n\t}\n\n\tfunction onInstancedMeshDispose( event ) {\n\n\t\tconst instancedMesh = event.target;\n\n\t\tinstancedMesh.removeEventListener( 'dispose', onInstancedMeshDispose );\n\n\t\tattributes.remove( instancedMesh.instanceMatrix );\n\n\t\tif ( instancedMesh.instanceColor !== null ) attributes.remove( instancedMesh.instanceColor );\n\n\t}\n\n\treturn {\n\n\t\tupdate: update,\n\t\tdispose: dispose\n\n\t};\n\n}\n\n/**\n * Uniforms of a program.\n * Those form a tree structure with a special top-level container for the root,\n * which you get by calling 'new WebGLUniforms( gl, program )'.\n *\n *\n * Properties of inner nodes including the top-level container:\n *\n * .seq - array of nested uniforms\n * .map - nested uniforms by name\n *\n *\n * Methods of all nodes except the top-level container:\n *\n * .setValue( gl, value, [textures] )\n *\n * \t\tuploads a uniform value(s)\n * \tthe 'textures' parameter is needed for sampler uniforms\n *\n *\n * Static methods of the top-level container (textures factorizations):\n *\n * .upload( gl, seq, values, textures )\n *\n * \t\tsets uniforms in 'seq' to 'values[id].value'\n *\n * .seqWithValue( seq, values ) : filteredSeq\n *\n * \t\tfilters 'seq' entries with corresponding entry in values\n *\n *\n * Methods of the top-level container (textures factorizations):\n *\n * .setValue( gl, name, value, textures )\n *\n * \t\tsets uniform with name 'name' to 'value'\n *\n * .setOptional( gl, obj, prop )\n *\n * \t\tlike .set for an optional property of the object\n *\n */\n\nconst emptyTexture = /*@__PURE__*/ new Texture();\nconst emptyArrayTexture = /*@__PURE__*/ new DataArrayTexture();\nconst empty3dTexture = /*@__PURE__*/ new Data3DTexture();\nconst emptyCubeTexture = /*@__PURE__*/ new CubeTexture();\n\n// --- Utilities ---\n\n// Array Caches (provide typed arrays for temporary by size)\n\nconst arrayCacheF32 = [];\nconst arrayCacheI32 = [];\n\n// Float32Array caches used for uploading Matrix uniforms\n\nconst mat4array = new Float32Array( 16 );\nconst mat3array = new Float32Array( 9 );\nconst mat2array = new Float32Array( 4 );\n\n// Flattening for arrays of vectors and matrices\n\nfunction flatten( array, nBlocks, blockSize ) {\n\n\tconst firstElem = array[ 0 ];\n\n\tif ( firstElem <= 0 || firstElem > 0 ) return array;\n\t// unoptimized: ! isNaN( firstElem )\n\t// see http://jacksondunstan.com/articles/983\n\n\tconst n = nBlocks * blockSize;\n\tlet r = arrayCacheF32[ n ];\n\n\tif ( r === undefined ) {\n\n\t\tr = new Float32Array( n );\n\t\tarrayCacheF32[ n ] = r;\n\n\t}\n\n\tif ( nBlocks !== 0 ) {\n\n\t\tfirstElem.toArray( r, 0 );\n\n\t\tfor ( let i = 1, offset = 0; i !== nBlocks; ++ i ) {\n\n\t\t\toffset += blockSize;\n\t\t\tarray[ i ].toArray( r, offset );\n\n\t\t}\n\n\t}\n\n\treturn r;\n\n}\n\nfunction arraysEqual( a, b ) {\n\n\tif ( a.length !== b.length ) return false;\n\n\tfor ( let i = 0, l = a.length; i < l; i ++ ) {\n\n\t\tif ( a[ i ] !== b[ i ] ) return false;\n\n\t}\n\n\treturn true;\n\n}\n\nfunction copyArray( a, b ) {\n\n\tfor ( let i = 0, l = b.length; i < l; i ++ ) {\n\n\t\ta[ i ] = b[ i ];\n\n\t}\n\n}\n\n// Texture unit allocation\n\nfunction allocTexUnits( textures, n ) {\n\n\tlet r = arrayCacheI32[ n ];\n\n\tif ( r === undefined ) {\n\n\t\tr = new Int32Array( n );\n\t\tarrayCacheI32[ n ] = r;\n\n\t}\n\n\tfor ( let i = 0; i !== n; ++ i ) {\n\n\t\tr[ i ] = textures.allocateTextureUnit();\n\n\t}\n\n\treturn r;\n\n}\n\n// --- Setters ---\n\n// Note: Defining these methods externally, because they come in a bunch\n// and this way their names minify.\n\n// Single scalar\n\nfunction setValueV1f( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( cache[ 0 ] === v ) return;\n\n\tgl.uniform1f( this.addr, v );\n\n\tcache[ 0 ] = v;\n\n}\n\n// Single float vector (from flat array or THREE.VectorN)\n\nfunction setValueV2f( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( v.x !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y ) {\n\n\t\t\tgl.uniform2f( this.addr, v.x, v.y );\n\n\t\t\tcache[ 0 ] = v.x;\n\t\t\tcache[ 1 ] = v.y;\n\n\t\t}\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniform2fv( this.addr, v );\n\n\t\tcopyArray( cache, v );\n\n\t}\n\n}\n\nfunction setValueV3f( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( v.x !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y || cache[ 2 ] !== v.z ) {\n\n\t\t\tgl.uniform3f( this.addr, v.x, v.y, v.z );\n\n\t\t\tcache[ 0 ] = v.x;\n\t\t\tcache[ 1 ] = v.y;\n\t\t\tcache[ 2 ] = v.z;\n\n\t\t}\n\n\t} else if ( v.r !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.r || cache[ 1 ] !== v.g || cache[ 2 ] !== v.b ) {\n\n\t\t\tgl.uniform3f( this.addr, v.r, v.g, v.b );\n\n\t\t\tcache[ 0 ] = v.r;\n\t\t\tcache[ 1 ] = v.g;\n\t\t\tcache[ 2 ] = v.b;\n\n\t\t}\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniform3fv( this.addr, v );\n\n\t\tcopyArray( cache, v );\n\n\t}\n\n}\n\nfunction setValueV4f( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( v.x !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y || cache[ 2 ] !== v.z || cache[ 3 ] !== v.w ) {\n\n\t\t\tgl.uniform4f( this.addr, v.x, v.y, v.z, v.w );\n\n\t\t\tcache[ 0 ] = v.x;\n\t\t\tcache[ 1 ] = v.y;\n\t\t\tcache[ 2 ] = v.z;\n\t\t\tcache[ 3 ] = v.w;\n\n\t\t}\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniform4fv( this.addr, v );\n\n\t\tcopyArray( cache, v );\n\n\t}\n\n}\n\n// Single matrix (from flat array or THREE.MatrixN)\n\nfunction setValueM2( gl, v ) {\n\n\tconst cache = this.cache;\n\tconst elements = v.elements;\n\n\tif ( elements === undefined ) {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniformMatrix2fv( this.addr, false, v );\n\n\t\tcopyArray( cache, v );\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, elements ) ) return;\n\n\t\tmat2array.set( elements );\n\n\t\tgl.uniformMatrix2fv( this.addr, false, mat2array );\n\n\t\tcopyArray( cache, elements );\n\n\t}\n\n}\n\nfunction setValueM3( gl, v ) {\n\n\tconst cache = this.cache;\n\tconst elements = v.elements;\n\n\tif ( elements === undefined ) {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniformMatrix3fv( this.addr, false, v );\n\n\t\tcopyArray( cache, v );\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, elements ) ) return;\n\n\t\tmat3array.set( elements );\n\n\t\tgl.uniformMatrix3fv( this.addr, false, mat3array );\n\n\t\tcopyArray( cache, elements );\n\n\t}\n\n}\n\nfunction setValueM4( gl, v ) {\n\n\tconst cache = this.cache;\n\tconst elements = v.elements;\n\n\tif ( elements === undefined ) {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniformMatrix4fv( this.addr, false, v );\n\n\t\tcopyArray( cache, v );\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, elements ) ) return;\n\n\t\tmat4array.set( elements );\n\n\t\tgl.uniformMatrix4fv( this.addr, false, mat4array );\n\n\t\tcopyArray( cache, elements );\n\n\t}\n\n}\n\n// Single integer / boolean\n\nfunction setValueV1i( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( cache[ 0 ] === v ) return;\n\n\tgl.uniform1i( this.addr, v );\n\n\tcache[ 0 ] = v;\n\n}\n\n// Single integer / boolean vector (from flat array)\n\nfunction setValueV2i( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( arraysEqual( cache, v ) ) return;\n\n\tgl.uniform2iv( this.addr, v );\n\n\tcopyArray( cache, v );\n\n}\n\nfunction setValueV3i( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( arraysEqual( cache, v ) ) return;\n\n\tgl.uniform3iv( this.addr, v );\n\n\tcopyArray( cache, v );\n\n}\n\nfunction setValueV4i( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( arraysEqual( cache, v ) ) return;\n\n\tgl.uniform4iv( this.addr, v );\n\n\tcopyArray( cache, v );\n\n}\n\n// Single unsigned integer\n\nfunction setValueV1ui( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( cache[ 0 ] === v ) return;\n\n\tgl.uniform1ui( this.addr, v );\n\n\tcache[ 0 ] = v;\n\n}\n\n// Single unsigned integer vector (from flat array)\n\nfunction setValueV2ui( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( arraysEqual( cache, v ) ) return;\n\n\tgl.uniform2uiv( this.addr, v );\n\n\tcopyArray( cache, v );\n\n}\n\nfunction setValueV3ui( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( arraysEqual( cache, v ) ) return;\n\n\tgl.uniform3uiv( this.addr, v );\n\n\tcopyArray( cache, v );\n\n}\n\nfunction setValueV4ui( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( arraysEqual( cache, v ) ) return;\n\n\tgl.uniform4uiv( this.addr, v );\n\n\tcopyArray( cache, v );\n\n}\n\n\n// Single texture (2D / Cube)\n\nfunction setValueT1( gl, v, textures ) {\n\n\tconst cache = this.cache;\n\tconst unit = textures.allocateTextureUnit();\n\n\tif ( cache[ 0 ] !== unit ) {\n\n\t\tgl.uniform1i( this.addr, unit );\n\t\tcache[ 0 ] = unit;\n\n\t}\n\n\ttextures.setTexture2D( v || emptyTexture, unit );\n\n}\n\nfunction setValueT3D1( gl, v, textures ) {\n\n\tconst cache = this.cache;\n\tconst unit = textures.allocateTextureUnit();\n\n\tif ( cache[ 0 ] !== unit ) {\n\n\t\tgl.uniform1i( this.addr, unit );\n\t\tcache[ 0 ] = unit;\n\n\t}\n\n\ttextures.setTexture3D( v || empty3dTexture, unit );\n\n}\n\nfunction setValueT6( gl, v, textures ) {\n\n\tconst cache = this.cache;\n\tconst unit = textures.allocateTextureUnit();\n\n\tif ( cache[ 0 ] !== unit ) {\n\n\t\tgl.uniform1i( this.addr, unit );\n\t\tcache[ 0 ] = unit;\n\n\t}\n\n\ttextures.setTextureCube( v || emptyCubeTexture, unit );\n\n}\n\nfunction setValueT2DArray1( gl, v, textures ) {\n\n\tconst cache = this.cache;\n\tconst unit = textures.allocateTextureUnit();\n\n\tif ( cache[ 0 ] !== unit ) {\n\n\t\tgl.uniform1i( this.addr, unit );\n\t\tcache[ 0 ] = unit;\n\n\t}\n\n\ttextures.setTexture2DArray( v || emptyArrayTexture, unit );\n\n}\n\n// Helper to pick the right setter for the singular case\n\nfunction getSingularSetter( type ) {\n\n\tswitch ( type ) {\n\n\t\tcase 0x1406: return setValueV1f; // FLOAT\n\t\tcase 0x8b50: return setValueV2f; // _VEC2\n\t\tcase 0x8b51: return setValueV3f; // _VEC3\n\t\tcase 0x8b52: return setValueV4f; // _VEC4\n\n\t\tcase 0x8b5a: return setValueM2; // _MAT2\n\t\tcase 0x8b5b: return setValueM3; // _MAT3\n\t\tcase 0x8b5c: return setValueM4; // _MAT4\n\n\t\tcase 0x1404: case 0x8b56: return setValueV1i; // INT, BOOL\n\t\tcase 0x8b53: case 0x8b57: return setValueV2i; // _VEC2\n\t\tcase 0x8b54: case 0x8b58: return setValueV3i; // _VEC3\n\t\tcase 0x8b55: case 0x8b59: return setValueV4i; // _VEC4\n\n\t\tcase 0x1405: return setValueV1ui; // UINT\n\t\tcase 0x8dc6: return setValueV2ui; // _VEC2\n\t\tcase 0x8dc7: return setValueV3ui; // _VEC3\n\t\tcase 0x8dc8: return setValueV4ui; // _VEC4\n\n\t\tcase 0x8b5e: // SAMPLER_2D\n\t\tcase 0x8d66: // SAMPLER_EXTERNAL_OES\n\t\tcase 0x8dca: // INT_SAMPLER_2D\n\t\tcase 0x8dd2: // UNSIGNED_INT_SAMPLER_2D\n\t\tcase 0x8b62: // SAMPLER_2D_SHADOW\n\t\t\treturn setValueT1;\n\n\t\tcase 0x8b5f: // SAMPLER_3D\n\t\tcase 0x8dcb: // INT_SAMPLER_3D\n\t\tcase 0x8dd3: // UNSIGNED_INT_SAMPLER_3D\n\t\t\treturn setValueT3D1;\n\n\t\tcase 0x8b60: // SAMPLER_CUBE\n\t\tcase 0x8dcc: // INT_SAMPLER_CUBE\n\t\tcase 0x8dd4: // UNSIGNED_INT_SAMPLER_CUBE\n\t\tcase 0x8dc5: // SAMPLER_CUBE_SHADOW\n\t\t\treturn setValueT6;\n\n\t\tcase 0x8dc1: // SAMPLER_2D_ARRAY\n\t\tcase 0x8dcf: // INT_SAMPLER_2D_ARRAY\n\t\tcase 0x8dd7: // UNSIGNED_INT_SAMPLER_2D_ARRAY\n\t\tcase 0x8dc4: // SAMPLER_2D_ARRAY_SHADOW\n\t\t\treturn setValueT2DArray1;\n\n\t}\n\n}\n\n\n// Array of scalars\n\nfunction setValueV1fArray( gl, v ) {\n\n\tgl.uniform1fv( this.addr, v );\n\n}\n\n// Array of vectors (from flat array or array of THREE.VectorN)\n\nfunction setValueV2fArray( gl, v ) {\n\n\tconst data = flatten( v, this.size, 2 );\n\n\tgl.uniform2fv( this.addr, data );\n\n}\n\nfunction setValueV3fArray( gl, v ) {\n\n\tconst data = flatten( v, this.size, 3 );\n\n\tgl.uniform3fv( this.addr, data );\n\n}\n\nfunction setValueV4fArray( gl, v ) {\n\n\tconst data = flatten( v, this.size, 4 );\n\n\tgl.uniform4fv( this.addr, data );\n\n}\n\n// Array of matrices (from flat array or array of THREE.MatrixN)\n\nfunction setValueM2Array( gl, v ) {\n\n\tconst data = flatten( v, this.size, 4 );\n\n\tgl.uniformMatrix2fv( this.addr, false, data );\n\n}\n\nfunction setValueM3Array( gl, v ) {\n\n\tconst data = flatten( v, this.size, 9 );\n\n\tgl.uniformMatrix3fv( this.addr, false, data );\n\n}\n\nfunction setValueM4Array( gl, v ) {\n\n\tconst data = flatten( v, this.size, 16 );\n\n\tgl.uniformMatrix4fv( this.addr, false, data );\n\n}\n\n// Array of integer / boolean\n\nfunction setValueV1iArray( gl, v ) {\n\n\tgl.uniform1iv( this.addr, v );\n\n}\n\n// Array of integer / boolean vectors (from flat array)\n\nfunction setValueV2iArray( gl, v ) {\n\n\tgl.uniform2iv( this.addr, v );\n\n}\n\nfunction setValueV3iArray( gl, v ) {\n\n\tgl.uniform3iv( this.addr, v );\n\n}\n\nfunction setValueV4iArray( gl, v ) {\n\n\tgl.uniform4iv( this.addr, v );\n\n}\n\n// Array of unsigned integer\n\nfunction setValueV1uiArray( gl, v ) {\n\n\tgl.uniform1uiv( this.addr, v );\n\n}\n\n// Array of unsigned integer vectors (from flat array)\n\nfunction setValueV2uiArray( gl, v ) {\n\n\tgl.uniform2uiv( this.addr, v );\n\n}\n\nfunction setValueV3uiArray( gl, v ) {\n\n\tgl.uniform3uiv( this.addr, v );\n\n}\n\nfunction setValueV4uiArray( gl, v ) {\n\n\tgl.uniform4uiv( this.addr, v );\n\n}\n\n\n// Array of textures (2D / 3D / Cube / 2DArray)\n\nfunction setValueT1Array( gl, v, textures ) {\n\n\tconst n = v.length;\n\n\tconst units = allocTexUnits( textures, n );\n\n\tgl.uniform1iv( this.addr, units );\n\n\tfor ( let i = 0; i !== n; ++ i ) {\n\n\t\ttextures.setTexture2D( v[ i ] || emptyTexture, units[ i ] );\n\n\t}\n\n}\n\nfunction setValueT3DArray( gl, v, textures ) {\n\n\tconst n = v.length;\n\n\tconst units = allocTexUnits( textures, n );\n\n\tgl.uniform1iv( this.addr, units );\n\n\tfor ( let i = 0; i !== n; ++ i ) {\n\n\t\ttextures.setTexture3D( v[ i ] || empty3dTexture, units[ i ] );\n\n\t}\n\n}\n\nfunction setValueT6Array( gl, v, textures ) {\n\n\tconst n = v.length;\n\n\tconst units = allocTexUnits( textures, n );\n\n\tgl.uniform1iv( this.addr, units );\n\n\tfor ( let i = 0; i !== n; ++ i ) {\n\n\t\ttextures.setTextureCube( v[ i ] || emptyCubeTexture, units[ i ] );\n\n\t}\n\n}\n\nfunction setValueT2DArrayArray( gl, v, textures ) {\n\n\tconst n = v.length;\n\n\tconst units = allocTexUnits( textures, n );\n\n\tgl.uniform1iv( this.addr, units );\n\n\tfor ( let i = 0; i !== n; ++ i ) {\n\n\t\ttextures.setTexture2DArray( v[ i ] || emptyArrayTexture, units[ i ] );\n\n\t}\n\n}\n\n\n// Helper to pick the right setter for a pure (bottom-level) array\n\nfunction getPureArraySetter( type ) {\n\n\tswitch ( type ) {\n\n\t\tcase 0x1406: return setValueV1fArray; // FLOAT\n\t\tcase 0x8b50: return setValueV2fArray; // _VEC2\n\t\tcase 0x8b51: return setValueV3fArray; // _VEC3\n\t\tcase 0x8b52: return setValueV4fArray; // _VEC4\n\n\t\tcase 0x8b5a: return setValueM2Array; // _MAT2\n\t\tcase 0x8b5b: return setValueM3Array; // _MAT3\n\t\tcase 0x8b5c: return setValueM4Array; // _MAT4\n\n\t\tcase 0x1404: case 0x8b56: return setValueV1iArray; // INT, BOOL\n\t\tcase 0x8b53: case 0x8b57: return setValueV2iArray; // _VEC2\n\t\tcase 0x8b54: case 0x8b58: return setValueV3iArray; // _VEC3\n\t\tcase 0x8b55: case 0x8b59: return setValueV4iArray; // _VEC4\n\n\t\tcase 0x1405: return setValueV1uiArray; // UINT\n\t\tcase 0x8dc6: return setValueV2uiArray; // _VEC2\n\t\tcase 0x8dc7: return setValueV3uiArray; // _VEC3\n\t\tcase 0x8dc8: return setValueV4uiArray; // _VEC4\n\n\t\tcase 0x8b5e: // SAMPLER_2D\n\t\tcase 0x8d66: // SAMPLER_EXTERNAL_OES\n\t\tcase 0x8dca: // INT_SAMPLER_2D\n\t\tcase 0x8dd2: // UNSIGNED_INT_SAMPLER_2D\n\t\tcase 0x8b62: // SAMPLER_2D_SHADOW\n\t\t\treturn setValueT1Array;\n\n\t\tcase 0x8b5f: // SAMPLER_3D\n\t\tcase 0x8dcb: // INT_SAMPLER_3D\n\t\tcase 0x8dd3: // UNSIGNED_INT_SAMPLER_3D\n\t\t\treturn setValueT3DArray;\n\n\t\tcase 0x8b60: // SAMPLER_CUBE\n\t\tcase 0x8dcc: // INT_SAMPLER_CUBE\n\t\tcase 0x8dd4: // UNSIGNED_INT_SAMPLER_CUBE\n\t\tcase 0x8dc5: // SAMPLER_CUBE_SHADOW\n\t\t\treturn setValueT6Array;\n\n\t\tcase 0x8dc1: // SAMPLER_2D_ARRAY\n\t\tcase 0x8dcf: // INT_SAMPLER_2D_ARRAY\n\t\tcase 0x8dd7: // UNSIGNED_INT_SAMPLER_2D_ARRAY\n\t\tcase 0x8dc4: // SAMPLER_2D_ARRAY_SHADOW\n\t\t\treturn setValueT2DArrayArray;\n\n\t}\n\n}\n\n// --- Uniform Classes ---\n\nclass SingleUniform {\n\n\tconstructor( id, activeInfo, addr ) {\n\n\t\tthis.id = id;\n\t\tthis.addr = addr;\n\t\tthis.cache = [];\n\t\tthis.setValue = getSingularSetter( activeInfo.type );\n\n\t\t// this.path = activeInfo.name; // DEBUG\n\n\t}\n\n}\n\nclass PureArrayUniform {\n\n\tconstructor( id, activeInfo, addr ) {\n\n\t\tthis.id = id;\n\t\tthis.addr = addr;\n\t\tthis.cache = [];\n\t\tthis.size = activeInfo.size;\n\t\tthis.setValue = getPureArraySetter( activeInfo.type );\n\n\t\t// this.path = activeInfo.name; // DEBUG\n\n\t}\n\n}\n\nclass StructuredUniform {\n\n\tconstructor( id ) {\n\n\t\tthis.id = id;\n\n\t\tthis.seq = [];\n\t\tthis.map = {};\n\n\t}\n\n\tsetValue( gl, value, textures ) {\n\n\t\tconst seq = this.seq;\n\n\t\tfor ( let i = 0, n = seq.length; i !== n; ++ i ) {\n\n\t\t\tconst u = seq[ i ];\n\t\t\tu.setValue( gl, value[ u.id ], textures );\n\n\t\t}\n\n\t}\n\n}\n\n// --- Top-level ---\n\n// Parser - builds up the property tree from the path strings\n\nconst RePathPart = /(\\w+)(\\])?(\\[|\\.)?/g;\n\n// extracts\n// \t- the identifier (member name or array index)\n// - followed by an optional right bracket (found when array index)\n// - followed by an optional left bracket or dot (type of subscript)\n//\n// Note: These portions can be read in a non-overlapping fashion and\n// allow straightforward parsing of the hierarchy that WebGL encodes\n// in the uniform names.\n\nfunction addUniform( container, uniformObject ) {\n\n\tcontainer.seq.push( uniformObject );\n\tcontainer.map[ uniformObject.id ] = uniformObject;\n\n}\n\nfunction parseUniform( activeInfo, addr, container ) {\n\n\tconst path = activeInfo.name,\n\t\tpathLength = path.length;\n\n\t// reset RegExp object, because of the early exit of a previous run\n\tRePathPart.lastIndex = 0;\n\n\twhile ( true ) {\n\n\t\tconst match = RePathPart.exec( path ),\n\t\t\tmatchEnd = RePathPart.lastIndex;\n\n\t\tlet id = match[ 1 ];\n\t\tconst idIsIndex = match[ 2 ] === ']',\n\t\t\tsubscript = match[ 3 ];\n\n\t\tif ( idIsIndex ) id = id | 0; // convert to integer\n\n\t\tif ( subscript === undefined || subscript === '[' && matchEnd + 2 === pathLength ) {\n\n\t\t\t// bare name or \"pure\" bottom-level array \"[0]\" suffix\n\n\t\t\taddUniform( container, subscript === undefined ?\n\t\t\t\tnew SingleUniform( id, activeInfo, addr ) :\n\t\t\t\tnew PureArrayUniform( id, activeInfo, addr ) );\n\n\t\t\tbreak;\n\n\t\t} else {\n\n\t\t\t// step into inner node / create it in case it doesn't exist\n\n\t\t\tconst map = container.map;\n\t\t\tlet next = map[ id ];\n\n\t\t\tif ( next === undefined ) {\n\n\t\t\t\tnext = new StructuredUniform( id );\n\t\t\t\taddUniform( container, next );\n\n\t\t\t}\n\n\t\t\tcontainer = next;\n\n\t\t}\n\n\t}\n\n}\n\n// Root Container\n\nclass WebGLUniforms {\n\n\tconstructor( gl, program ) {\n\n\t\tthis.seq = [];\n\t\tthis.map = {};\n\n\t\tconst n = gl.getProgramParameter( program, 35718 );\n\n\t\tfor ( let i = 0; i < n; ++ i ) {\n\n\t\t\tconst info = gl.getActiveUniform( program, i ),\n\t\t\t\taddr = gl.getUniformLocation( program, info.name );\n\n\t\t\tparseUniform( info, addr, this );\n\n\t\t}\n\n\t}\n\n\tsetValue( gl, name, value, textures ) {\n\n\t\tconst u = this.map[ name ];\n\n\t\tif ( u !== undefined ) u.setValue( gl, value, textures );\n\n\t}\n\n\tsetOptional( gl, object, name ) {\n\n\t\tconst v = object[ name ];\n\n\t\tif ( v !== undefined ) this.setValue( gl, name, v );\n\n\t}\n\n\tstatic upload( gl, seq, values, textures ) {\n\n\t\tfor ( let i = 0, n = seq.length; i !== n; ++ i ) {\n\n\t\t\tconst u = seq[ i ],\n\t\t\t\tv = values[ u.id ];\n\n\t\t\tif ( v.needsUpdate !== false ) {\n\n\t\t\t\t// note: always updating when .needsUpdate is undefined\n\t\t\t\tu.setValue( gl, v.value, textures );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tstatic seqWithValue( seq, values ) {\n\n\t\tconst r = [];\n\n\t\tfor ( let i = 0, n = seq.length; i !== n; ++ i ) {\n\n\t\t\tconst u = seq[ i ];\n\t\t\tif ( u.id in values ) r.push( u );\n\n\t\t}\n\n\t\treturn r;\n\n\t}\n\n}\n\nfunction WebGLShader( gl, type, string ) {\n\n\tconst shader = gl.createShader( type );\n\n\tgl.shaderSource( shader, string );\n\tgl.compileShader( shader );\n\n\treturn shader;\n\n}\n\nlet programIdCount = 0;\n\nfunction handleSource( string, errorLine ) {\n\n\tconst lines = string.split( '\\n' );\n\tconst lines2 = [];\n\n\tconst from = Math.max( errorLine - 6, 0 );\n\tconst to = Math.min( errorLine + 6, lines.length );\n\n\tfor ( let i = from; i < to; i ++ ) {\n\n\t\tconst line = i + 1;\n\t\tlines2.push( `${line === errorLine ? '>' : ' '} ${line}: ${lines[ i ]}` );\n\n\t}\n\n\treturn lines2.join( '\\n' );\n\n}\n\nfunction getEncodingComponents( encoding ) {\n\n\tswitch ( encoding ) {\n\n\t\tcase LinearEncoding:\n\t\t\treturn [ 'Linear', '( value )' ];\n\t\tcase sRGBEncoding:\n\t\t\treturn [ 'sRGB', '( value )' ];\n\t\tdefault:\n\t\t\tconsole.warn( 'THREE.WebGLProgram: Unsupported encoding:', encoding );\n\t\t\treturn [ 'Linear', '( value )' ];\n\n\t}\n\n}\n\nfunction getShaderErrors( gl, shader, type ) {\n\n\tconst status = gl.getShaderParameter( shader, 35713 );\n\tconst errors = gl.getShaderInfoLog( shader ).trim();\n\n\tif ( status && errors === '' ) return '';\n\n\tconst errorMatches = /ERROR: 0:(\\d+)/.exec( errors );\n\tif ( errorMatches ) {\n\n\t\t// --enable-privileged-webgl-extension\n\t\t// console.log( '**' + type + '**', gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( shader ) );\n\n\t\tconst errorLine = parseInt( errorMatches[ 1 ] );\n\t\treturn type.toUpperCase() + '\\n\\n' + errors + '\\n\\n' + handleSource( gl.getShaderSource( shader ), errorLine );\n\n\t} else {\n\n\t\treturn errors;\n\n\t}\n\n}\n\nfunction getTexelEncodingFunction( functionName, encoding ) {\n\n\tconst components = getEncodingComponents( encoding );\n\treturn 'vec4 ' + functionName + '( vec4 value ) { return LinearTo' + components[ 0 ] + components[ 1 ] + '; }';\n\n}\n\nfunction getToneMappingFunction( functionName, toneMapping ) {\n\n\tlet toneMappingName;\n\n\tswitch ( toneMapping ) {\n\n\t\tcase LinearToneMapping:\n\t\t\ttoneMappingName = 'Linear';\n\t\t\tbreak;\n\n\t\tcase ReinhardToneMapping:\n\t\t\ttoneMappingName = 'Reinhard';\n\t\t\tbreak;\n\n\t\tcase CineonToneMapping:\n\t\t\ttoneMappingName = 'OptimizedCineon';\n\t\t\tbreak;\n\n\t\tcase ACESFilmicToneMapping:\n\t\t\ttoneMappingName = 'ACESFilmic';\n\t\t\tbreak;\n\n\t\tcase CustomToneMapping:\n\t\t\ttoneMappingName = 'Custom';\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tconsole.warn( 'THREE.WebGLProgram: Unsupported toneMapping:', toneMapping );\n\t\t\ttoneMappingName = 'Linear';\n\n\t}\n\n\treturn 'vec3 ' + functionName + '( vec3 color ) { return ' + toneMappingName + 'ToneMapping( color ); }';\n\n}\n\nfunction generateExtensions( parameters ) {\n\n\tconst chunks = [\n\t\t( parameters.extensionDerivatives || !! parameters.envMapCubeUVHeight || parameters.bumpMap || parameters.tangentSpaceNormalMap || parameters.clearcoatNormalMap || parameters.flatShading || parameters.shaderID === 'physical' ) ? '#extension GL_OES_standard_derivatives : enable' : '',\n\t\t( parameters.extensionFragDepth || parameters.logarithmicDepthBuffer ) && parameters.rendererExtensionFragDepth ? '#extension GL_EXT_frag_depth : enable' : '',\n\t\t( parameters.extensionDrawBuffers && parameters.rendererExtensionDrawBuffers ) ? '#extension GL_EXT_draw_buffers : require' : '',\n\t\t( parameters.extensionShaderTextureLOD || parameters.envMap || parameters.transmission ) && parameters.rendererExtensionShaderTextureLod ? '#extension GL_EXT_shader_texture_lod : enable' : ''\n\t];\n\n\treturn chunks.filter( filterEmptyLine ).join( '\\n' );\n\n}\n\nfunction generateDefines( defines ) {\n\n\tconst chunks = [];\n\n\tfor ( const name in defines ) {\n\n\t\tconst value = defines[ name ];\n\n\t\tif ( value === false ) continue;\n\n\t\tchunks.push( '#define ' + name + ' ' + value );\n\n\t}\n\n\treturn chunks.join( '\\n' );\n\n}\n\nfunction fetchAttributeLocations( gl, program ) {\n\n\tconst attributes = {};\n\n\tconst n = gl.getProgramParameter( program, 35721 );\n\n\tfor ( let i = 0; i < n; i ++ ) {\n\n\t\tconst info = gl.getActiveAttrib( program, i );\n\t\tconst name = info.name;\n\n\t\tlet locationSize = 1;\n\t\tif ( info.type === 35674 ) locationSize = 2;\n\t\tif ( info.type === 35675 ) locationSize = 3;\n\t\tif ( info.type === 35676 ) locationSize = 4;\n\n\t\t// console.log( 'THREE.WebGLProgram: ACTIVE VERTEX ATTRIBUTE:', name, i );\n\n\t\tattributes[ name ] = {\n\t\t\ttype: info.type,\n\t\t\tlocation: gl.getAttribLocation( program, name ),\n\t\t\tlocationSize: locationSize\n\t\t};\n\n\t}\n\n\treturn attributes;\n\n}\n\nfunction filterEmptyLine( string ) {\n\n\treturn string !== '';\n\n}\n\nfunction replaceLightNums( string, parameters ) {\n\n\treturn string\n\t\t.replace( /NUM_DIR_LIGHTS/g, parameters.numDirLights )\n\t\t.replace( /NUM_SPOT_LIGHTS/g, parameters.numSpotLights )\n\t\t.replace( /NUM_RECT_AREA_LIGHTS/g, parameters.numRectAreaLights )\n\t\t.replace( /NUM_POINT_LIGHTS/g, parameters.numPointLights )\n\t\t.replace( /NUM_HEMI_LIGHTS/g, parameters.numHemiLights )\n\t\t.replace( /NUM_DIR_LIGHT_SHADOWS/g, parameters.numDirLightShadows )\n\t\t.replace( /NUM_SPOT_LIGHT_SHADOWS/g, parameters.numSpotLightShadows )\n\t\t.replace( /NUM_POINT_LIGHT_SHADOWS/g, parameters.numPointLightShadows );\n\n}\n\nfunction replaceClippingPlaneNums( string, parameters ) {\n\n\treturn string\n\t\t.replace( /NUM_CLIPPING_PLANES/g, parameters.numClippingPlanes )\n\t\t.replace( /UNION_CLIPPING_PLANES/g, ( parameters.numClippingPlanes - parameters.numClipIntersection ) );\n\n}\n\n// Resolve Includes\n\nconst includePattern = /^[ \\t]*#include +<([\\w\\d./]+)>/gm;\n\nfunction resolveIncludes( string ) {\n\n\treturn string.replace( includePattern, includeReplacer );\n\n}\n\nfunction includeReplacer( match, include ) {\n\n\tconst string = ShaderChunk[ include ];\n\n\tif ( string === undefined ) {\n\n\t\tthrow new Error( 'Can not resolve #include <' + include + '>' );\n\n\t}\n\n\treturn resolveIncludes( string );\n\n}\n\n// Unroll Loops\n\nconst deprecatedUnrollLoopPattern = /#pragma unroll_loop[\\s]+?for \\( int i \\= (\\d+)\\; i < (\\d+)\\; i \\+\\+ \\) \\{([\\s\\S]+?)(?=\\})\\}/g;\nconst unrollLoopPattern = /#pragma unroll_loop_start\\s+for\\s*\\(\\s*int\\s+i\\s*=\\s*(\\d+)\\s*;\\s*i\\s*<\\s*(\\d+)\\s*;\\s*i\\s*\\+\\+\\s*\\)\\s*{([\\s\\S]+?)}\\s+#pragma unroll_loop_end/g;\n\nfunction unrollLoops( string ) {\n\n\treturn string\n\t\t.replace( unrollLoopPattern, loopReplacer )\n\t\t.replace( deprecatedUnrollLoopPattern, deprecatedLoopReplacer );\n\n}\n\nfunction deprecatedLoopReplacer( match, start, end, snippet ) {\n\n\tconsole.warn( 'WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead.' );\n\treturn loopReplacer( match, start, end, snippet );\n\n}\n\nfunction loopReplacer( match, start, end, snippet ) {\n\n\tlet string = '';\n\n\tfor ( let i = parseInt( start ); i < parseInt( end ); i ++ ) {\n\n\t\tstring += snippet\n\t\t\t.replace( /\\[\\s*i\\s*\\]/g, '[ ' + i + ' ]' )\n\t\t\t.replace( /UNROLLED_LOOP_INDEX/g, i );\n\n\t}\n\n\treturn string;\n\n}\n\n//\n\nfunction generatePrecision( parameters ) {\n\n\tlet precisionstring = 'precision ' + parameters.precision + ' float;\\nprecision ' + parameters.precision + ' int;';\n\n\tif ( parameters.precision === 'highp' ) {\n\n\t\tprecisionstring += '\\n#define HIGH_PRECISION';\n\n\t} else if ( parameters.precision === 'mediump' ) {\n\n\t\tprecisionstring += '\\n#define MEDIUM_PRECISION';\n\n\t} else if ( parameters.precision === 'lowp' ) {\n\n\t\tprecisionstring += '\\n#define LOW_PRECISION';\n\n\t}\n\n\treturn precisionstring;\n\n}\n\nfunction generateShadowMapTypeDefine( parameters ) {\n\n\tlet shadowMapTypeDefine = 'SHADOWMAP_TYPE_BASIC';\n\n\tif ( parameters.shadowMapType === PCFShadowMap ) {\n\n\t\tshadowMapTypeDefine = 'SHADOWMAP_TYPE_PCF';\n\n\t} else if ( parameters.shadowMapType === PCFSoftShadowMap ) {\n\n\t\tshadowMapTypeDefine = 'SHADOWMAP_TYPE_PCF_SOFT';\n\n\t} else if ( parameters.shadowMapType === VSMShadowMap ) {\n\n\t\tshadowMapTypeDefine = 'SHADOWMAP_TYPE_VSM';\n\n\t}\n\n\treturn shadowMapTypeDefine;\n\n}\n\nfunction generateEnvMapTypeDefine( parameters ) {\n\n\tlet envMapTypeDefine = 'ENVMAP_TYPE_CUBE';\n\n\tif ( parameters.envMap ) {\n\n\t\tswitch ( parameters.envMapMode ) {\n\n\t\t\tcase CubeReflectionMapping:\n\t\t\tcase CubeRefractionMapping:\n\t\t\t\tenvMapTypeDefine = 'ENVMAP_TYPE_CUBE';\n\t\t\t\tbreak;\n\n\t\t\tcase CubeUVReflectionMapping:\n\t\t\t\tenvMapTypeDefine = 'ENVMAP_TYPE_CUBE_UV';\n\t\t\t\tbreak;\n\n\t\t}\n\n\t}\n\n\treturn envMapTypeDefine;\n\n}\n\nfunction generateEnvMapModeDefine( parameters ) {\n\n\tlet envMapModeDefine = 'ENVMAP_MODE_REFLECTION';\n\n\tif ( parameters.envMap ) {\n\n\t\tswitch ( parameters.envMapMode ) {\n\n\t\t\tcase CubeRefractionMapping:\n\n\t\t\t\tenvMapModeDefine = 'ENVMAP_MODE_REFRACTION';\n\t\t\t\tbreak;\n\n\t\t}\n\n\t}\n\n\treturn envMapModeDefine;\n\n}\n\nfunction generateEnvMapBlendingDefine( parameters ) {\n\n\tlet envMapBlendingDefine = 'ENVMAP_BLENDING_NONE';\n\n\tif ( parameters.envMap ) {\n\n\t\tswitch ( parameters.combine ) {\n\n\t\t\tcase MultiplyOperation:\n\t\t\t\tenvMapBlendingDefine = 'ENVMAP_BLENDING_MULTIPLY';\n\t\t\t\tbreak;\n\n\t\t\tcase MixOperation:\n\t\t\t\tenvMapBlendingDefine = 'ENVMAP_BLENDING_MIX';\n\t\t\t\tbreak;\n\n\t\t\tcase AddOperation:\n\t\t\t\tenvMapBlendingDefine = 'ENVMAP_BLENDING_ADD';\n\t\t\t\tbreak;\n\n\t\t}\n\n\t}\n\n\treturn envMapBlendingDefine;\n\n}\n\nfunction generateCubeUVSize( parameters ) {\n\n\tconst imageHeight = parameters.envMapCubeUVHeight;\n\n\tif ( imageHeight === null ) return null;\n\n\tconst maxMip = Math.log2( imageHeight ) - 2;\n\n\tconst texelHeight = 1.0 / imageHeight;\n\n\tconst texelWidth = 1.0 / ( 3 * Math.max( Math.pow( 2, maxMip ), 7 * 16 ) );\n\n\treturn { texelWidth, texelHeight, maxMip };\n\n}\n\nfunction WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {\n\n\t// TODO Send this event to Three.js DevTools\n\t// console.log( 'WebGLProgram', cacheKey );\n\n\tconst gl = renderer.getContext();\n\n\tconst defines = parameters.defines;\n\n\tlet vertexShader = parameters.vertexShader;\n\tlet fragmentShader = parameters.fragmentShader;\n\n\tconst shadowMapTypeDefine = generateShadowMapTypeDefine( parameters );\n\tconst envMapTypeDefine = generateEnvMapTypeDefine( parameters );\n\tconst envMapModeDefine = generateEnvMapModeDefine( parameters );\n\tconst envMapBlendingDefine = generateEnvMapBlendingDefine( parameters );\n\tconst envMapCubeUVSize = generateCubeUVSize( parameters );\n\n\tconst customExtensions = parameters.isWebGL2 ? '' : generateExtensions( parameters );\n\n\tconst customDefines = generateDefines( defines );\n\n\tconst program = gl.createProgram();\n\n\tlet prefixVertex, prefixFragment;\n\tlet versionString = parameters.glslVersion ? '#version ' + parameters.glslVersion + '\\n' : '';\n\n\tif ( parameters.isRawShaderMaterial ) {\n\n\t\tprefixVertex = [\n\n\t\t\tcustomDefines\n\n\t\t].filter( filterEmptyLine ).join( '\\n' );\n\n\t\tif ( prefixVertex.length > 0 ) {\n\n\t\t\tprefixVertex += '\\n';\n\n\t\t}\n\n\t\tprefixFragment = [\n\n\t\t\tcustomExtensions,\n\t\t\tcustomDefines\n\n\t\t].filter( filterEmptyLine ).join( '\\n' );\n\n\t\tif ( prefixFragment.length > 0 ) {\n\n\t\t\tprefixFragment += '\\n';\n\n\t\t}\n\n\t} else {\n\n\t\tprefixVertex = [\n\n\t\t\tgeneratePrecision( parameters ),\n\n\t\t\t'#define SHADER_NAME ' + parameters.shaderName,\n\n\t\t\tcustomDefines,\n\n\t\t\tparameters.instancing ? '#define USE_INSTANCING' : '',\n\t\t\tparameters.instancingColor ? '#define USE_INSTANCING_COLOR' : '',\n\n\t\t\tparameters.supportsVertexTextures ? '#define VERTEX_TEXTURES' : '',\n\n\t\t\t( parameters.useFog && parameters.fog ) ? '#define USE_FOG' : '',\n\t\t\t( parameters.useFog && parameters.fogExp2 ) ? '#define FOG_EXP2' : '',\n\n\t\t\tparameters.map ? '#define USE_MAP' : '',\n\t\t\tparameters.envMap ? '#define USE_ENVMAP' : '',\n\t\t\tparameters.envMap ? '#define ' + envMapModeDefine : '',\n\t\t\tparameters.lightMap ? '#define USE_LIGHTMAP' : '',\n\t\t\tparameters.aoMap ? '#define USE_AOMAP' : '',\n\t\t\tparameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '',\n\t\t\tparameters.bumpMap ? '#define USE_BUMPMAP' : '',\n\t\t\tparameters.normalMap ? '#define USE_NORMALMAP' : '',\n\t\t\t( parameters.normalMap && parameters.objectSpaceNormalMap ) ? '#define OBJECTSPACE_NORMALMAP' : '',\n\t\t\t( parameters.normalMap && parameters.tangentSpaceNormalMap ) ? '#define TANGENTSPACE_NORMALMAP' : '',\n\n\t\t\tparameters.clearcoatMap ? '#define USE_CLEARCOATMAP' : '',\n\t\t\tparameters.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '',\n\t\t\tparameters.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '',\n\n\t\t\tparameters.iridescenceMap ? '#define USE_IRIDESCENCEMAP' : '',\n\t\t\tparameters.iridescenceThicknessMap ? '#define USE_IRIDESCENCE_THICKNESSMAP' : '',\n\n\t\t\tparameters.displacementMap && parameters.supportsVertexTextures ? '#define USE_DISPLACEMENTMAP' : '',\n\n\t\t\tparameters.specularMap ? '#define USE_SPECULARMAP' : '',\n\t\t\tparameters.specularIntensityMap ? '#define USE_SPECULARINTENSITYMAP' : '',\n\t\t\tparameters.specularColorMap ? '#define USE_SPECULARCOLORMAP' : '',\n\n\t\t\tparameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '',\n\t\t\tparameters.metalnessMap ? '#define USE_METALNESSMAP' : '',\n\t\t\tparameters.alphaMap ? '#define USE_ALPHAMAP' : '',\n\n\t\t\tparameters.transmission ? '#define USE_TRANSMISSION' : '',\n\t\t\tparameters.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '',\n\t\t\tparameters.thicknessMap ? '#define USE_THICKNESSMAP' : '',\n\n\t\t\tparameters.sheenColorMap ? '#define USE_SHEENCOLORMAP' : '',\n\t\t\tparameters.sheenRoughnessMap ? '#define USE_SHEENROUGHNESSMAP' : '',\n\n\t\t\tparameters.vertexTangents ? '#define USE_TANGENT' : '',\n\t\t\tparameters.vertexColors ? '#define USE_COLOR' : '',\n\t\t\tparameters.vertexAlphas ? '#define USE_COLOR_ALPHA' : '',\n\t\t\tparameters.vertexUvs ? '#define USE_UV' : '',\n\t\t\tparameters.uvsVertexOnly ? '#define UVS_VERTEX_ONLY' : '',\n\n\t\t\tparameters.flatShading ? '#define FLAT_SHADED' : '',\n\n\t\t\tparameters.skinning ? '#define USE_SKINNING' : '',\n\n\t\t\tparameters.morphTargets ? '#define USE_MORPHTARGETS' : '',\n\t\t\tparameters.morphNormals && parameters.flatShading === false ? '#define USE_MORPHNORMALS' : '',\n\t\t\t( parameters.morphColors && parameters.isWebGL2 ) ? '#define USE_MORPHCOLORS' : '',\n\t\t\t( parameters.morphTargetsCount > 0 && parameters.isWebGL2 ) ? '#define MORPHTARGETS_TEXTURE' : '',\n\t\t\t( parameters.morphTargetsCount > 0 && parameters.isWebGL2 ) ? '#define MORPHTARGETS_TEXTURE_STRIDE ' + parameters.morphTextureStride : '',\n\t\t\t( parameters.morphTargetsCount > 0 && parameters.isWebGL2 ) ? '#define MORPHTARGETS_COUNT ' + parameters.morphTargetsCount : '',\n\t\t\tparameters.doubleSided ? '#define DOUBLE_SIDED' : '',\n\t\t\tparameters.flipSided ? '#define FLIP_SIDED' : '',\n\n\t\t\tparameters.shadowMapEnabled ? '#define USE_SHADOWMAP' : '',\n\t\t\tparameters.shadowMapEnabled ? '#define ' + shadowMapTypeDefine : '',\n\n\t\t\tparameters.sizeAttenuation ? '#define USE_SIZEATTENUATION' : '',\n\n\t\t\tparameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '',\n\t\t\t( parameters.logarithmicDepthBuffer && parameters.rendererExtensionFragDepth ) ? '#define USE_LOGDEPTHBUF_EXT' : '',\n\n\t\t\t'uniform mat4 modelMatrix;',\n\t\t\t'uniform mat4 modelViewMatrix;',\n\t\t\t'uniform mat4 projectionMatrix;',\n\t\t\t'uniform mat4 viewMatrix;',\n\t\t\t'uniform mat3 normalMatrix;',\n\t\t\t'uniform vec3 cameraPosition;',\n\t\t\t'uniform bool isOrthographic;',\n\n\t\t\t'#ifdef USE_INSTANCING',\n\n\t\t\t'\tattribute mat4 instanceMatrix;',\n\n\t\t\t'#endif',\n\n\t\t\t'#ifdef USE_INSTANCING_COLOR',\n\n\t\t\t'\tattribute vec3 instanceColor;',\n\n\t\t\t'#endif',\n\n\t\t\t'attribute vec3 position;',\n\t\t\t'attribute vec3 normal;',\n\t\t\t'attribute vec2 uv;',\n\n\t\t\t'#ifdef USE_TANGENT',\n\n\t\t\t'\tattribute vec4 tangent;',\n\n\t\t\t'#endif',\n\n\t\t\t'#if defined( USE_COLOR_ALPHA )',\n\n\t\t\t'\tattribute vec4 color;',\n\n\t\t\t'#elif defined( USE_COLOR )',\n\n\t\t\t'\tattribute vec3 color;',\n\n\t\t\t'#endif',\n\n\t\t\t'#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )',\n\n\t\t\t'\tattribute vec3 morphTarget0;',\n\t\t\t'\tattribute vec3 morphTarget1;',\n\t\t\t'\tattribute vec3 morphTarget2;',\n\t\t\t'\tattribute vec3 morphTarget3;',\n\n\t\t\t'\t#ifdef USE_MORPHNORMALS',\n\n\t\t\t'\t\tattribute vec3 morphNormal0;',\n\t\t\t'\t\tattribute vec3 morphNormal1;',\n\t\t\t'\t\tattribute vec3 morphNormal2;',\n\t\t\t'\t\tattribute vec3 morphNormal3;',\n\n\t\t\t'\t#else',\n\n\t\t\t'\t\tattribute vec3 morphTarget4;',\n\t\t\t'\t\tattribute vec3 morphTarget5;',\n\t\t\t'\t\tattribute vec3 morphTarget6;',\n\t\t\t'\t\tattribute vec3 morphTarget7;',\n\n\t\t\t'\t#endif',\n\n\t\t\t'#endif',\n\n\t\t\t'#ifdef USE_SKINNING',\n\n\t\t\t'\tattribute vec4 skinIndex;',\n\t\t\t'\tattribute vec4 skinWeight;',\n\n\t\t\t'#endif',\n\n\t\t\t'\\n'\n\n\t\t].filter( filterEmptyLine ).join( '\\n' );\n\n\t\tprefixFragment = [\n\n\t\t\tcustomExtensions,\n\n\t\t\tgeneratePrecision( parameters ),\n\n\t\t\t'#define SHADER_NAME ' + parameters.shaderName,\n\n\t\t\tcustomDefines,\n\n\t\t\t( parameters.useFog && parameters.fog ) ? '#define USE_FOG' : '',\n\t\t\t( parameters.useFog && parameters.fogExp2 ) ? '#define FOG_EXP2' : '',\n\n\t\t\tparameters.map ? '#define USE_MAP' : '',\n\t\t\tparameters.matcap ? '#define USE_MATCAP' : '',\n\t\t\tparameters.envMap ? '#define USE_ENVMAP' : '',\n\t\t\tparameters.envMap ? '#define ' + envMapTypeDefine : '',\n\t\t\tparameters.envMap ? '#define ' + envMapModeDefine : '',\n\t\t\tparameters.envMap ? '#define ' + envMapBlendingDefine : '',\n\t\t\tenvMapCubeUVSize ? '#define CUBEUV_TEXEL_WIDTH ' + envMapCubeUVSize.texelWidth : '',\n\t\t\tenvMapCubeUVSize ? '#define CUBEUV_TEXEL_HEIGHT ' + envMapCubeUVSize.texelHeight : '',\n\t\t\tenvMapCubeUVSize ? '#define CUBEUV_MAX_MIP ' + envMapCubeUVSize.maxMip + '.0' : '',\n\t\t\tparameters.lightMap ? '#define USE_LIGHTMAP' : '',\n\t\t\tparameters.aoMap ? '#define USE_AOMAP' : '',\n\t\t\tparameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '',\n\t\t\tparameters.bumpMap ? '#define USE_BUMPMAP' : '',\n\t\t\tparameters.normalMap ? '#define USE_NORMALMAP' : '',\n\t\t\t( parameters.normalMap && parameters.objectSpaceNormalMap ) ? '#define OBJECTSPACE_NORMALMAP' : '',\n\t\t\t( parameters.normalMap && parameters.tangentSpaceNormalMap ) ? '#define TANGENTSPACE_NORMALMAP' : '',\n\n\t\t\tparameters.clearcoat ? '#define USE_CLEARCOAT' : '',\n\t\t\tparameters.clearcoatMap ? '#define USE_CLEARCOATMAP' : '',\n\t\t\tparameters.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '',\n\t\t\tparameters.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '',\n\n\t\t\tparameters.iridescence ? '#define USE_IRIDESCENCE' : '',\n\t\t\tparameters.iridescenceMap ? '#define USE_IRIDESCENCEMAP' : '',\n\t\t\tparameters.iridescenceThicknessMap ? '#define USE_IRIDESCENCE_THICKNESSMAP' : '',\n\n\t\t\tparameters.specularMap ? '#define USE_SPECULARMAP' : '',\n\t\t\tparameters.specularIntensityMap ? '#define USE_SPECULARINTENSITYMAP' : '',\n\t\t\tparameters.specularColorMap ? '#define USE_SPECULARCOLORMAP' : '',\n\t\t\tparameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '',\n\t\t\tparameters.metalnessMap ? '#define USE_METALNESSMAP' : '',\n\n\t\t\tparameters.alphaMap ? '#define USE_ALPHAMAP' : '',\n\t\t\tparameters.alphaTest ? '#define USE_ALPHATEST' : '',\n\n\t\t\tparameters.sheen ? '#define USE_SHEEN' : '',\n\t\t\tparameters.sheenColorMap ? '#define USE_SHEENCOLORMAP' : '',\n\t\t\tparameters.sheenRoughnessMap ? '#define USE_SHEENROUGHNESSMAP' : '',\n\n\t\t\tparameters.transmission ? '#define USE_TRANSMISSION' : '',\n\t\t\tparameters.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '',\n\t\t\tparameters.thicknessMap ? '#define USE_THICKNESSMAP' : '',\n\n\t\t\tparameters.decodeVideoTexture ? '#define DECODE_VIDEO_TEXTURE' : '',\n\n\t\t\tparameters.vertexTangents ? '#define USE_TANGENT' : '',\n\t\t\tparameters.vertexColors || parameters.instancingColor ? '#define USE_COLOR' : '',\n\t\t\tparameters.vertexAlphas ? '#define USE_COLOR_ALPHA' : '',\n\t\t\tparameters.vertexUvs ? '#define USE_UV' : '',\n\t\t\tparameters.uvsVertexOnly ? '#define UVS_VERTEX_ONLY' : '',\n\n\t\t\tparameters.gradientMap ? '#define USE_GRADIENTMAP' : '',\n\n\t\t\tparameters.flatShading ? '#define FLAT_SHADED' : '',\n\n\t\t\tparameters.doubleSided ? '#define DOUBLE_SIDED' : '',\n\t\t\tparameters.flipSided ? '#define FLIP_SIDED' : '',\n\n\t\t\tparameters.shadowMapEnabled ? '#define USE_SHADOWMAP' : '',\n\t\t\tparameters.shadowMapEnabled ? '#define ' + shadowMapTypeDefine : '',\n\n\t\t\tparameters.premultipliedAlpha ? '#define PREMULTIPLIED_ALPHA' : '',\n\n\t\t\tparameters.physicallyCorrectLights ? '#define PHYSICALLY_CORRECT_LIGHTS' : '',\n\n\t\t\tparameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '',\n\t\t\t( parameters.logarithmicDepthBuffer && parameters.rendererExtensionFragDepth ) ? '#define USE_LOGDEPTHBUF_EXT' : '',\n\n\t\t\t'uniform mat4 viewMatrix;',\n\t\t\t'uniform vec3 cameraPosition;',\n\t\t\t'uniform bool isOrthographic;',\n\n\t\t\t( parameters.toneMapping !== NoToneMapping ) ? '#define TONE_MAPPING' : '',\n\t\t\t( parameters.toneMapping !== NoToneMapping ) ? ShaderChunk[ 'tonemapping_pars_fragment' ] : '', // this code is required here because it is used by the toneMapping() function defined below\n\t\t\t( parameters.toneMapping !== NoToneMapping ) ? getToneMappingFunction( 'toneMapping', parameters.toneMapping ) : '',\n\n\t\t\tparameters.dithering ? '#define DITHERING' : '',\n\t\t\tparameters.opaque ? '#define OPAQUE' : '',\n\n\t\t\tShaderChunk[ 'encodings_pars_fragment' ], // this code is required here because it is used by the various encoding/decoding function defined below\n\t\t\tgetTexelEncodingFunction( 'linearToOutputTexel', parameters.outputEncoding ),\n\n\t\t\tparameters.useDepthPacking ? '#define DEPTH_PACKING ' + parameters.depthPacking : '',\n\n\t\t\t'\\n'\n\n\t\t].filter( filterEmptyLine ).join( '\\n' );\n\n\t}\n\n\tvertexShader = resolveIncludes( vertexShader );\n\tvertexShader = replaceLightNums( vertexShader, parameters );\n\tvertexShader = replaceClippingPlaneNums( vertexShader, parameters );\n\n\tfragmentShader = resolveIncludes( fragmentShader );\n\tfragmentShader = replaceLightNums( fragmentShader, parameters );\n\tfragmentShader = replaceClippingPlaneNums( fragmentShader, parameters );\n\n\tvertexShader = unrollLoops( vertexShader );\n\tfragmentShader = unrollLoops( fragmentShader );\n\n\tif ( parameters.isWebGL2 && parameters.isRawShaderMaterial !== true ) {\n\n\t\t// GLSL 3.0 conversion for built-in materials and ShaderMaterial\n\n\t\tversionString = '#version 300 es\\n';\n\n\t\tprefixVertex = [\n\t\t\t'precision mediump sampler2DArray;',\n\t\t\t'#define attribute in',\n\t\t\t'#define varying out',\n\t\t\t'#define texture2D texture'\n\t\t].join( '\\n' ) + '\\n' + prefixVertex;\n\n\t\tprefixFragment = [\n\t\t\t'#define varying in',\n\t\t\t( parameters.glslVersion === GLSL3 ) ? '' : 'layout(location = 0) out highp vec4 pc_fragColor;',\n\t\t\t( parameters.glslVersion === GLSL3 ) ? '' : '#define gl_FragColor pc_fragColor',\n\t\t\t'#define gl_FragDepthEXT gl_FragDepth',\n\t\t\t'#define texture2D texture',\n\t\t\t'#define textureCube texture',\n\t\t\t'#define texture2DProj textureProj',\n\t\t\t'#define texture2DLodEXT textureLod',\n\t\t\t'#define texture2DProjLodEXT textureProjLod',\n\t\t\t'#define textureCubeLodEXT textureLod',\n\t\t\t'#define texture2DGradEXT textureGrad',\n\t\t\t'#define texture2DProjGradEXT textureProjGrad',\n\t\t\t'#define textureCubeGradEXT textureGrad'\n\t\t].join( '\\n' ) + '\\n' + prefixFragment;\n\n\t}\n\n\tconst vertexGlsl = versionString + prefixVertex + vertexShader;\n\tconst fragmentGlsl = versionString + prefixFragment + fragmentShader;\n\n\t// console.log( '*VERTEX*', vertexGlsl );\n\t// console.log( '*FRAGMENT*', fragmentGlsl );\n\n\tconst glVertexShader = WebGLShader( gl, 35633, vertexGlsl );\n\tconst glFragmentShader = WebGLShader( gl, 35632, fragmentGlsl );\n\n\tgl.attachShader( program, glVertexShader );\n\tgl.attachShader( program, glFragmentShader );\n\n\t// Force a particular attribute to index 0.\n\n\tif ( parameters.index0AttributeName !== undefined ) {\n\n\t\tgl.bindAttribLocation( program, 0, parameters.index0AttributeName );\n\n\t} else if ( parameters.morphTargets === true ) {\n\n\t\t// programs with morphTargets displace position out of attribute 0\n\t\tgl.bindAttribLocation( program, 0, 'position' );\n\n\t}\n\n\tgl.linkProgram( program );\n\n\t// check for link errors\n\tif ( renderer.debug.checkShaderErrors ) {\n\n\t\tconst programLog = gl.getProgramInfoLog( program ).trim();\n\t\tconst vertexLog = gl.getShaderInfoLog( glVertexShader ).trim();\n\t\tconst fragmentLog = gl.getShaderInfoLog( glFragmentShader ).trim();\n\n\t\tlet runnable = true;\n\t\tlet haveDiagnostics = true;\n\n\t\tif ( gl.getProgramParameter( program, 35714 ) === false ) {\n\n\t\t\trunnable = false;\n\n\t\t\tconst vertexErrors = getShaderErrors( gl, glVertexShader, 'vertex' );\n\t\t\tconst fragmentErrors = getShaderErrors( gl, glFragmentShader, 'fragment' );\n\n\t\t\tconsole.error(\n\t\t\t\t'THREE.WebGLProgram: Shader Error ' + gl.getError() + ' - ' +\n\t\t\t\t'VALIDATE_STATUS ' + gl.getProgramParameter( program, 35715 ) + '\\n\\n' +\n\t\t\t\t'Program Info Log: ' + programLog + '\\n' +\n\t\t\t\tvertexErrors + '\\n' +\n\t\t\t\tfragmentErrors\n\t\t\t);\n\n\t\t} else if ( programLog !== '' ) {\n\n\t\t\tconsole.warn( 'THREE.WebGLProgram: Program Info Log:', programLog );\n\n\t\t} else if ( vertexLog === '' || fragmentLog === '' ) {\n\n\t\t\thaveDiagnostics = false;\n\n\t\t}\n\n\t\tif ( haveDiagnostics ) {\n\n\t\t\tthis.diagnostics = {\n\n\t\t\t\trunnable: runnable,\n\n\t\t\t\tprogramLog: programLog,\n\n\t\t\t\tvertexShader: {\n\n\t\t\t\t\tlog: vertexLog,\n\t\t\t\t\tprefix: prefixVertex\n\n\t\t\t\t},\n\n\t\t\t\tfragmentShader: {\n\n\t\t\t\t\tlog: fragmentLog,\n\t\t\t\t\tprefix: prefixFragment\n\n\t\t\t\t}\n\n\t\t\t};\n\n\t\t}\n\n\t}\n\n\t// Clean up\n\n\t// Crashes in iOS9 and iOS10. #18402\n\t// gl.detachShader( program, glVertexShader );\n\t// gl.detachShader( program, glFragmentShader );\n\n\tgl.deleteShader( glVertexShader );\n\tgl.deleteShader( glFragmentShader );\n\n\t// set up caching for uniform locations\n\n\tlet cachedUniforms;\n\n\tthis.getUniforms = function () {\n\n\t\tif ( cachedUniforms === undefined ) {\n\n\t\t\tcachedUniforms = new WebGLUniforms( gl, program );\n\n\t\t}\n\n\t\treturn cachedUniforms;\n\n\t};\n\n\t// set up caching for attribute locations\n\n\tlet cachedAttributes;\n\n\tthis.getAttributes = function () {\n\n\t\tif ( cachedAttributes === undefined ) {\n\n\t\t\tcachedAttributes = fetchAttributeLocations( gl, program );\n\n\t\t}\n\n\t\treturn cachedAttributes;\n\n\t};\n\n\t// free resource\n\n\tthis.destroy = function () {\n\n\t\tbindingStates.releaseStatesOfProgram( this );\n\n\t\tgl.deleteProgram( program );\n\t\tthis.program = undefined;\n\n\t};\n\n\t//\n\n\tthis.name = parameters.shaderName;\n\tthis.id = programIdCount ++;\n\tthis.cacheKey = cacheKey;\n\tthis.usedTimes = 1;\n\tthis.program = program;\n\tthis.vertexShader = glVertexShader;\n\tthis.fragmentShader = glFragmentShader;\n\n\treturn this;\n\n}\n\nlet _id = 0;\n\nclass WebGLShaderCache {\n\n\tconstructor() {\n\n\t\tthis.shaderCache = new Map();\n\t\tthis.materialCache = new Map();\n\n\t}\n\n\tupdate( material ) {\n\n\t\tconst vertexShader = material.vertexShader;\n\t\tconst fragmentShader = material.fragmentShader;\n\n\t\tconst vertexShaderStage = this._getShaderStage( vertexShader );\n\t\tconst fragmentShaderStage = this._getShaderStage( fragmentShader );\n\n\t\tconst materialShaders = this._getShaderCacheForMaterial( material );\n\n\t\tif ( materialShaders.has( vertexShaderStage ) === false ) {\n\n\t\t\tmaterialShaders.add( vertexShaderStage );\n\t\t\tvertexShaderStage.usedTimes ++;\n\n\t\t}\n\n\t\tif ( materialShaders.has( fragmentShaderStage ) === false ) {\n\n\t\t\tmaterialShaders.add( fragmentShaderStage );\n\t\t\tfragmentShaderStage.usedTimes ++;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tremove( material ) {\n\n\t\tconst materialShaders = this.materialCache.get( material );\n\n\t\tfor ( const shaderStage of materialShaders ) {\n\n\t\t\tshaderStage.usedTimes --;\n\n\t\t\tif ( shaderStage.usedTimes === 0 ) this.shaderCache.delete( shaderStage.code );\n\n\t\t}\n\n\t\tthis.materialCache.delete( material );\n\n\t\treturn this;\n\n\t}\n\n\tgetVertexShaderID( material ) {\n\n\t\treturn this._getShaderStage( material.vertexShader ).id;\n\n\t}\n\n\tgetFragmentShaderID( material ) {\n\n\t\treturn this._getShaderStage( material.fragmentShader ).id;\n\n\t}\n\n\tdispose() {\n\n\t\tthis.shaderCache.clear();\n\t\tthis.materialCache.clear();\n\n\t}\n\n\t_getShaderCacheForMaterial( material ) {\n\n\t\tconst cache = this.materialCache;\n\n\t\tif ( cache.has( material ) === false ) {\n\n\t\t\tcache.set( material, new Set() );\n\n\t\t}\n\n\t\treturn cache.get( material );\n\n\t}\n\n\t_getShaderStage( code ) {\n\n\t\tconst cache = this.shaderCache;\n\n\t\tif ( cache.has( code ) === false ) {\n\n\t\t\tconst stage = new WebGLShaderStage( code );\n\t\t\tcache.set( code, stage );\n\n\t\t}\n\n\t\treturn cache.get( code );\n\n\t}\n\n}\n\nclass WebGLShaderStage {\n\n\tconstructor( code ) {\n\n\t\tthis.id = _id ++;\n\n\t\tthis.code = code;\n\t\tthis.usedTimes = 0;\n\n\t}\n\n}\n\nfunction WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities, bindingStates, clipping ) {\n\n\tconst _programLayers = new Layers();\n\tconst _customShaders = new WebGLShaderCache();\n\tconst programs = [];\n\n\tconst isWebGL2 = capabilities.isWebGL2;\n\tconst logarithmicDepthBuffer = capabilities.logarithmicDepthBuffer;\n\tconst vertexTextures = capabilities.vertexTextures;\n\tlet precision = capabilities.precision;\n\n\tconst shaderIDs = {\n\t\tMeshDepthMaterial: 'depth',\n\t\tMeshDistanceMaterial: 'distanceRGBA',\n\t\tMeshNormalMaterial: 'normal',\n\t\tMeshBasicMaterial: 'basic',\n\t\tMeshLambertMaterial: 'lambert',\n\t\tMeshPhongMaterial: 'phong',\n\t\tMeshToonMaterial: 'toon',\n\t\tMeshStandardMaterial: 'physical',\n\t\tMeshPhysicalMaterial: 'physical',\n\t\tMeshMatcapMaterial: 'matcap',\n\t\tLineBasicMaterial: 'basic',\n\t\tLineDashedMaterial: 'dashed',\n\t\tPointsMaterial: 'points',\n\t\tShadowMaterial: 'shadow',\n\t\tSpriteMaterial: 'sprite'\n\t};\n\n\tfunction getParameters( material, lights, shadows, scene, object ) {\n\n\t\tconst fog = scene.fog;\n\t\tconst geometry = object.geometry;\n\t\tconst environment = material.isMeshStandardMaterial ? scene.environment : null;\n\n\t\tconst envMap = ( material.isMeshStandardMaterial ? cubeuvmaps : cubemaps ).get( material.envMap || environment );\n\t\tconst envMapCubeUVHeight = ( !! envMap ) && ( envMap.mapping === CubeUVReflectionMapping ) ? envMap.image.height : null;\n\n\t\tconst shaderID = shaderIDs[ material.type ];\n\n\t\t// heuristics to create shader parameters according to lights in the scene\n\t\t// (not to blow over maxLights budget)\n\n\t\tif ( material.precision !== null ) {\n\n\t\t\tprecision = capabilities.getMaxPrecision( material.precision );\n\n\t\t\tif ( precision !== material.precision ) {\n\n\t\t\t\tconsole.warn( 'THREE.WebGLProgram.getParameters:', material.precision, 'not supported, using', precision, 'instead.' );\n\n\t\t\t}\n\n\t\t}\n\n\t\t//\n\n\t\tconst morphAttribute = geometry.morphAttributes.position || geometry.morphAttributes.normal || geometry.morphAttributes.color;\n\t\tconst morphTargetsCount = ( morphAttribute !== undefined ) ? morphAttribute.length : 0;\n\n\t\tlet morphTextureStride = 0;\n\n\t\tif ( geometry.morphAttributes.position !== undefined ) morphTextureStride = 1;\n\t\tif ( geometry.morphAttributes.normal !== undefined ) morphTextureStride = 2;\n\t\tif ( geometry.morphAttributes.color !== undefined ) morphTextureStride = 3;\n\n\t\t//\n\n\t\tlet vertexShader, fragmentShader;\n\t\tlet customVertexShaderID, customFragmentShaderID;\n\n\t\tif ( shaderID ) {\n\n\t\t\tconst shader = ShaderLib[ shaderID ];\n\n\t\t\tvertexShader = shader.vertexShader;\n\t\t\tfragmentShader = shader.fragmentShader;\n\n\t\t} else {\n\n\t\t\tvertexShader = material.vertexShader;\n\t\t\tfragmentShader = material.fragmentShader;\n\n\t\t\t_customShaders.update( material );\n\n\t\t\tcustomVertexShaderID = _customShaders.getVertexShaderID( material );\n\t\t\tcustomFragmentShaderID = _customShaders.getFragmentShaderID( material );\n\n\t\t}\n\n\t\tconst currentRenderTarget = renderer.getRenderTarget();\n\n\t\tconst useAlphaTest = material.alphaTest > 0;\n\t\tconst useClearcoat = material.clearcoat > 0;\n\t\tconst useIridescence = material.iridescence > 0;\n\n\t\tconst parameters = {\n\n\t\t\tisWebGL2: isWebGL2,\n\n\t\t\tshaderID: shaderID,\n\t\t\tshaderName: material.type,\n\n\t\t\tvertexShader: vertexShader,\n\t\t\tfragmentShader: fragmentShader,\n\t\t\tdefines: material.defines,\n\n\t\t\tcustomVertexShaderID: customVertexShaderID,\n\t\t\tcustomFragmentShaderID: customFragmentShaderID,\n\n\t\t\tisRawShaderMaterial: material.isRawShaderMaterial === true,\n\t\t\tglslVersion: material.glslVersion,\n\n\t\t\tprecision: precision,\n\n\t\t\tinstancing: object.isInstancedMesh === true,\n\t\t\tinstancingColor: object.isInstancedMesh === true && object.instanceColor !== null,\n\n\t\t\tsupportsVertexTextures: vertexTextures,\n\t\t\toutputEncoding: ( currentRenderTarget === null ) ? renderer.outputEncoding : ( currentRenderTarget.isXRRenderTarget === true ? currentRenderTarget.texture.encoding : LinearEncoding ),\n\t\t\tmap: !! material.map,\n\t\t\tmatcap: !! material.matcap,\n\t\t\tenvMap: !! envMap,\n\t\t\tenvMapMode: envMap && envMap.mapping,\n\t\t\tenvMapCubeUVHeight: envMapCubeUVHeight,\n\t\t\tlightMap: !! material.lightMap,\n\t\t\taoMap: !! material.aoMap,\n\t\t\temissiveMap: !! material.emissiveMap,\n\t\t\tbumpMap: !! material.bumpMap,\n\t\t\tnormalMap: !! material.normalMap,\n\t\t\tobjectSpaceNormalMap: material.normalMapType === ObjectSpaceNormalMap,\n\t\t\ttangentSpaceNormalMap: material.normalMapType === TangentSpaceNormalMap,\n\n\t\t\tdecodeVideoTexture: !! material.map && ( material.map.isVideoTexture === true ) && ( material.map.encoding === sRGBEncoding ),\n\n\t\t\tclearcoat: useClearcoat,\n\t\t\tclearcoatMap: useClearcoat && !! material.clearcoatMap,\n\t\t\tclearcoatRoughnessMap: useClearcoat && !! material.clearcoatRoughnessMap,\n\t\t\tclearcoatNormalMap: useClearcoat && !! material.clearcoatNormalMap,\n\n\t\t\tiridescence: useIridescence,\n\t\t\tiridescenceMap: useIridescence && !! material.iridescenceMap,\n\t\t\tiridescenceThicknessMap: useIridescence && !! material.iridescenceThicknessMap,\n\n\t\t\tdisplacementMap: !! material.displacementMap,\n\t\t\troughnessMap: !! material.roughnessMap,\n\t\t\tmetalnessMap: !! material.metalnessMap,\n\t\t\tspecularMap: !! material.specularMap,\n\t\t\tspecularIntensityMap: !! material.specularIntensityMap,\n\t\t\tspecularColorMap: !! material.specularColorMap,\n\n\t\t\topaque: material.transparent === false && material.blending === NormalBlending,\n\n\t\t\talphaMap: !! material.alphaMap,\n\t\t\talphaTest: useAlphaTest,\n\n\t\t\tgradientMap: !! material.gradientMap,\n\n\t\t\tsheen: material.sheen > 0,\n\t\t\tsheenColorMap: !! material.sheenColorMap,\n\t\t\tsheenRoughnessMap: !! material.sheenRoughnessMap,\n\n\t\t\ttransmission: material.transmission > 0,\n\t\t\ttransmissionMap: !! material.transmissionMap,\n\t\t\tthicknessMap: !! material.thicknessMap,\n\n\t\t\tcombine: material.combine,\n\n\t\t\tvertexTangents: ( !! material.normalMap && !! geometry.attributes.tangent ),\n\t\t\tvertexColors: material.vertexColors,\n\t\t\tvertexAlphas: material.vertexColors === true && !! geometry.attributes.color && geometry.attributes.color.itemSize === 4,\n\t\t\tvertexUvs: !! material.map || !! material.bumpMap || !! material.normalMap || !! material.specularMap || !! material.alphaMap || !! material.emissiveMap || !! material.roughnessMap || !! material.metalnessMap || !! material.clearcoatMap || !! material.clearcoatRoughnessMap || !! material.clearcoatNormalMap || !! material.iridescenceMap || !! material.iridescenceThicknessMap || !! material.displacementMap || !! material.transmissionMap || !! material.thicknessMap || !! material.specularIntensityMap || !! material.specularColorMap || !! material.sheenColorMap || !! material.sheenRoughnessMap,\n\t\t\tuvsVertexOnly: ! ( !! material.map || !! material.bumpMap || !! material.normalMap || !! material.specularMap || !! material.alphaMap || !! material.emissiveMap || !! material.roughnessMap || !! material.metalnessMap || !! material.clearcoatNormalMap || !! material.iridescenceMap || !! material.iridescenceThicknessMap || material.transmission > 0 || !! material.transmissionMap || !! material.thicknessMap || !! material.specularIntensityMap || !! material.specularColorMap || material.sheen > 0 || !! material.sheenColorMap || !! material.sheenRoughnessMap ) && !! material.displacementMap,\n\n\t\t\tfog: !! fog,\n\t\t\tuseFog: material.fog === true,\n\t\t\tfogExp2: ( fog && fog.isFogExp2 ),\n\n\t\t\tflatShading: !! material.flatShading,\n\n\t\t\tsizeAttenuation: material.sizeAttenuation,\n\t\t\tlogarithmicDepthBuffer: logarithmicDepthBuffer,\n\n\t\t\tskinning: object.isSkinnedMesh === true,\n\n\t\t\tmorphTargets: geometry.morphAttributes.position !== undefined,\n\t\t\tmorphNormals: geometry.morphAttributes.normal !== undefined,\n\t\t\tmorphColors: geometry.morphAttributes.color !== undefined,\n\t\t\tmorphTargetsCount: morphTargetsCount,\n\t\t\tmorphTextureStride: morphTextureStride,\n\n\t\t\tnumDirLights: lights.directional.length,\n\t\t\tnumPointLights: lights.point.length,\n\t\t\tnumSpotLights: lights.spot.length,\n\t\t\tnumRectAreaLights: lights.rectArea.length,\n\t\t\tnumHemiLights: lights.hemi.length,\n\n\t\t\tnumDirLightShadows: lights.directionalShadowMap.length,\n\t\t\tnumPointLightShadows: lights.pointShadowMap.length,\n\t\t\tnumSpotLightShadows: lights.spotShadowMap.length,\n\n\t\t\tnumClippingPlanes: clipping.numPlanes,\n\t\t\tnumClipIntersection: clipping.numIntersection,\n\n\t\t\tdithering: material.dithering,\n\n\t\t\tshadowMapEnabled: renderer.shadowMap.enabled && shadows.length > 0,\n\t\t\tshadowMapType: renderer.shadowMap.type,\n\n\t\t\ttoneMapping: material.toneMapped ? renderer.toneMapping : NoToneMapping,\n\t\t\tphysicallyCorrectLights: renderer.physicallyCorrectLights,\n\n\t\t\tpremultipliedAlpha: material.premultipliedAlpha,\n\n\t\t\tdoubleSided: material.side === DoubleSide,\n\t\t\tflipSided: material.side === BackSide,\n\n\t\t\tuseDepthPacking: !! material.depthPacking,\n\t\t\tdepthPacking: material.depthPacking || 0,\n\n\t\t\tindex0AttributeName: material.index0AttributeName,\n\n\t\t\textensionDerivatives: material.extensions && material.extensions.derivatives,\n\t\t\textensionFragDepth: material.extensions && material.extensions.fragDepth,\n\t\t\textensionDrawBuffers: material.extensions && material.extensions.drawBuffers,\n\t\t\textensionShaderTextureLOD: material.extensions && material.extensions.shaderTextureLOD,\n\n\t\t\trendererExtensionFragDepth: isWebGL2 || extensions.has( 'EXT_frag_depth' ),\n\t\t\trendererExtensionDrawBuffers: isWebGL2 || extensions.has( 'WEBGL_draw_buffers' ),\n\t\t\trendererExtensionShaderTextureLod: isWebGL2 || extensions.has( 'EXT_shader_texture_lod' ),\n\n\t\t\tcustomProgramCacheKey: material.customProgramCacheKey()\n\n\t\t};\n\n\t\treturn parameters;\n\n\t}\n\n\tfunction getProgramCacheKey( parameters ) {\n\n\t\tconst array = [];\n\n\t\tif ( parameters.shaderID ) {\n\n\t\t\tarray.push( parameters.shaderID );\n\n\t\t} else {\n\n\t\t\tarray.push( parameters.customVertexShaderID );\n\t\t\tarray.push( parameters.customFragmentShaderID );\n\n\t\t}\n\n\t\tif ( parameters.defines !== undefined ) {\n\n\t\t\tfor ( const name in parameters.defines ) {\n\n\t\t\t\tarray.push( name );\n\t\t\t\tarray.push( parameters.defines[ name ] );\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( parameters.isRawShaderMaterial === false ) {\n\n\t\t\tgetProgramCacheKeyParameters( array, parameters );\n\t\t\tgetProgramCacheKeyBooleans( array, parameters );\n\t\t\tarray.push( renderer.outputEncoding );\n\n\t\t}\n\n\t\tarray.push( parameters.customProgramCacheKey );\n\n\t\treturn array.join();\n\n\t}\n\n\tfunction getProgramCacheKeyParameters( array, parameters ) {\n\n\t\tarray.push( parameters.precision );\n\t\tarray.push( parameters.outputEncoding );\n\t\tarray.push( parameters.envMapMode );\n\t\tarray.push( parameters.envMapCubeUVHeight );\n\t\tarray.push( parameters.combine );\n\t\tarray.push( parameters.vertexUvs );\n\t\tarray.push( parameters.fogExp2 );\n\t\tarray.push( parameters.sizeAttenuation );\n\t\tarray.push( parameters.morphTargetsCount );\n\t\tarray.push( parameters.morphAttributeCount );\n\t\tarray.push( parameters.numDirLights );\n\t\tarray.push( parameters.numPointLights );\n\t\tarray.push( parameters.numSpotLights );\n\t\tarray.push( parameters.numHemiLights );\n\t\tarray.push( parameters.numRectAreaLights );\n\t\tarray.push( parameters.numDirLightShadows );\n\t\tarray.push( parameters.numPointLightShadows );\n\t\tarray.push( parameters.numSpotLightShadows );\n\t\tarray.push( parameters.shadowMapType );\n\t\tarray.push( parameters.toneMapping );\n\t\tarray.push( parameters.numClippingPlanes );\n\t\tarray.push( parameters.numClipIntersection );\n\t\tarray.push( parameters.depthPacking );\n\n\t}\n\n\tfunction getProgramCacheKeyBooleans( array, parameters ) {\n\n\t\t_programLayers.disableAll();\n\n\t\tif ( parameters.isWebGL2 )\n\t\t\t_programLayers.enable( 0 );\n\t\tif ( parameters.supportsVertexTextures )\n\t\t\t_programLayers.enable( 1 );\n\t\tif ( parameters.instancing )\n\t\t\t_programLayers.enable( 2 );\n\t\tif ( parameters.instancingColor )\n\t\t\t_programLayers.enable( 3 );\n\t\tif ( parameters.map )\n\t\t\t_programLayers.enable( 4 );\n\t\tif ( parameters.matcap )\n\t\t\t_programLayers.enable( 5 );\n\t\tif ( parameters.envMap )\n\t\t\t_programLayers.enable( 6 );\n\t\tif ( parameters.lightMap )\n\t\t\t_programLayers.enable( 7 );\n\t\tif ( parameters.aoMap )\n\t\t\t_programLayers.enable( 8 );\n\t\tif ( parameters.emissiveMap )\n\t\t\t_programLayers.enable( 9 );\n\t\tif ( parameters.bumpMap )\n\t\t\t_programLayers.enable( 10 );\n\t\tif ( parameters.normalMap )\n\t\t\t_programLayers.enable( 11 );\n\t\tif ( parameters.objectSpaceNormalMap )\n\t\t\t_programLayers.enable( 12 );\n\t\tif ( parameters.tangentSpaceNormalMap )\n\t\t\t_programLayers.enable( 13 );\n\t\tif ( parameters.clearcoat )\n\t\t\t_programLayers.enable( 14 );\n\t\tif ( parameters.clearcoatMap )\n\t\t\t_programLayers.enable( 15 );\n\t\tif ( parameters.clearcoatRoughnessMap )\n\t\t\t_programLayers.enable( 16 );\n\t\tif ( parameters.clearcoatNormalMap )\n\t\t\t_programLayers.enable( 17 );\n\t\tif ( parameters.iridescence )\n\t\t\t_programLayers.enable( 18 );\n\t\tif ( parameters.iridescenceMap )\n\t\t\t_programLayers.enable( 19 );\n\t\tif ( parameters.iridescenceThicknessMap )\n\t\t\t_programLayers.enable( 20 );\n\t\tif ( parameters.displacementMap )\n\t\t\t_programLayers.enable( 21 );\n\t\tif ( parameters.specularMap )\n\t\t\t_programLayers.enable( 22 );\n\t\tif ( parameters.roughnessMap )\n\t\t\t_programLayers.enable( 23 );\n\t\tif ( parameters.metalnessMap )\n\t\t\t_programLayers.enable( 24 );\n\t\tif ( parameters.gradientMap )\n\t\t\t_programLayers.enable( 25 );\n\t\tif ( parameters.alphaMap )\n\t\t\t_programLayers.enable( 26 );\n\t\tif ( parameters.alphaTest )\n\t\t\t_programLayers.enable( 27 );\n\t\tif ( parameters.vertexColors )\n\t\t\t_programLayers.enable( 28 );\n\t\tif ( parameters.vertexAlphas )\n\t\t\t_programLayers.enable( 29 );\n\t\tif ( parameters.vertexUvs )\n\t\t\t_programLayers.enable( 30 );\n\t\tif ( parameters.vertexTangents )\n\t\t\t_programLayers.enable( 31 );\n\t\tif ( parameters.uvsVertexOnly )\n\t\t\t_programLayers.enable( 32 );\n\t\tif ( parameters.fog )\n\t\t\t_programLayers.enable( 33 );\n\n\t\tarray.push( _programLayers.mask );\n\t\t_programLayers.disableAll();\n\n\t\tif ( parameters.useFog )\n\t\t\t_programLayers.enable( 0 );\n\t\tif ( parameters.flatShading )\n\t\t\t_programLayers.enable( 1 );\n\t\tif ( parameters.logarithmicDepthBuffer )\n\t\t\t_programLayers.enable( 2 );\n\t\tif ( parameters.skinning )\n\t\t\t_programLayers.enable( 3 );\n\t\tif ( parameters.morphTargets )\n\t\t\t_programLayers.enable( 4 );\n\t\tif ( parameters.morphNormals )\n\t\t\t_programLayers.enable( 5 );\n\t\tif ( parameters.morphColors )\n\t\t\t_programLayers.enable( 6 );\n\t\tif ( parameters.premultipliedAlpha )\n\t\t\t_programLayers.enable( 7 );\n\t\tif ( parameters.shadowMapEnabled )\n\t\t\t_programLayers.enable( 8 );\n\t\tif ( parameters.physicallyCorrectLights )\n\t\t\t_programLayers.enable( 9 );\n\t\tif ( parameters.doubleSided )\n\t\t\t_programLayers.enable( 10 );\n\t\tif ( parameters.flipSided )\n\t\t\t_programLayers.enable( 11 );\n\t\tif ( parameters.useDepthPacking )\n\t\t\t_programLayers.enable( 12 );\n\t\tif ( parameters.dithering )\n\t\t\t_programLayers.enable( 13 );\n\t\tif ( parameters.specularIntensityMap )\n\t\t\t_programLayers.enable( 14 );\n\t\tif ( parameters.specularColorMap )\n\t\t\t_programLayers.enable( 15 );\n\t\tif ( parameters.transmission )\n\t\t\t_programLayers.enable( 16 );\n\t\tif ( parameters.transmissionMap )\n\t\t\t_programLayers.enable( 17 );\n\t\tif ( parameters.thicknessMap )\n\t\t\t_programLayers.enable( 18 );\n\t\tif ( parameters.sheen )\n\t\t\t_programLayers.enable( 19 );\n\t\tif ( parameters.sheenColorMap )\n\t\t\t_programLayers.enable( 20 );\n\t\tif ( parameters.sheenRoughnessMap )\n\t\t\t_programLayers.enable( 21 );\n\t\tif ( parameters.decodeVideoTexture )\n\t\t\t_programLayers.enable( 22 );\n\t\tif ( parameters.opaque )\n\t\t\t_programLayers.enable( 23 );\n\n\t\tarray.push( _programLayers.mask );\n\n\t}\n\n\tfunction getUniforms( material ) {\n\n\t\tconst shaderID = shaderIDs[ material.type ];\n\t\tlet uniforms;\n\n\t\tif ( shaderID ) {\n\n\t\t\tconst shader = ShaderLib[ shaderID ];\n\t\t\tuniforms = UniformsUtils.clone( shader.uniforms );\n\n\t\t} else {\n\n\t\t\tuniforms = material.uniforms;\n\n\t\t}\n\n\t\treturn uniforms;\n\n\t}\n\n\tfunction acquireProgram( parameters, cacheKey ) {\n\n\t\tlet program;\n\n\t\t// Check if code has been already compiled\n\t\tfor ( let p = 0, pl = programs.length; p < pl; p ++ ) {\n\n\t\t\tconst preexistingProgram = programs[ p ];\n\n\t\t\tif ( preexistingProgram.cacheKey === cacheKey ) {\n\n\t\t\t\tprogram = preexistingProgram;\n\t\t\t\t++ program.usedTimes;\n\n\t\t\t\tbreak;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( program === undefined ) {\n\n\t\t\tprogram = new WebGLProgram( renderer, cacheKey, parameters, bindingStates );\n\t\t\tprograms.push( program );\n\n\t\t}\n\n\t\treturn program;\n\n\t}\n\n\tfunction releaseProgram( program ) {\n\n\t\tif ( -- program.usedTimes === 0 ) {\n\n\t\t\t// Remove from unordered set\n\t\t\tconst i = programs.indexOf( program );\n\t\t\tprograms[ i ] = programs[ programs.length - 1 ];\n\t\t\tprograms.pop();\n\n\t\t\t// Free WebGL resources\n\t\t\tprogram.destroy();\n\n\t\t}\n\n\t}\n\n\tfunction releaseShaderCache( material ) {\n\n\t\t_customShaders.remove( material );\n\n\t}\n\n\tfunction dispose() {\n\n\t\t_customShaders.dispose();\n\n\t}\n\n\treturn {\n\t\tgetParameters: getParameters,\n\t\tgetProgramCacheKey: getProgramCacheKey,\n\t\tgetUniforms: getUniforms,\n\t\tacquireProgram: acquireProgram,\n\t\treleaseProgram: releaseProgram,\n\t\treleaseShaderCache: releaseShaderCache,\n\t\t// Exposed for resource monitoring & error feedback via renderer.info:\n\t\tprograms: programs,\n\t\tdispose: dispose\n\t};\n\n}\n\nfunction WebGLProperties() {\n\n\tlet properties = new WeakMap();\n\n\tfunction get( object ) {\n\n\t\tlet map = properties.get( object );\n\n\t\tif ( map === undefined ) {\n\n\t\t\tmap = {};\n\t\t\tproperties.set( object, map );\n\n\t\t}\n\n\t\treturn map;\n\n\t}\n\n\tfunction remove( object ) {\n\n\t\tproperties.delete( object );\n\n\t}\n\n\tfunction update( object, key, value ) {\n\n\t\tproperties.get( object )[ key ] = value;\n\n\t}\n\n\tfunction dispose() {\n\n\t\tproperties = new WeakMap();\n\n\t}\n\n\treturn {\n\t\tget: get,\n\t\tremove: remove,\n\t\tupdate: update,\n\t\tdispose: dispose\n\t};\n\n}\n\nfunction painterSortStable( a, b ) {\n\n\tif ( a.groupOrder !== b.groupOrder ) {\n\n\t\treturn a.groupOrder - b.groupOrder;\n\n\t} else if ( a.renderOrder !== b.renderOrder ) {\n\n\t\treturn a.renderOrder - b.renderOrder;\n\n\t} else if ( a.material.id !== b.material.id ) {\n\n\t\treturn a.material.id - b.material.id;\n\n\t} else if ( a.z !== b.z ) {\n\n\t\treturn a.z - b.z;\n\n\t} else {\n\n\t\treturn a.id - b.id;\n\n\t}\n\n}\n\nfunction reversePainterSortStable( a, b ) {\n\n\tif ( a.groupOrder !== b.groupOrder ) {\n\n\t\treturn a.groupOrder - b.groupOrder;\n\n\t} else if ( a.renderOrder !== b.renderOrder ) {\n\n\t\treturn a.renderOrder - b.renderOrder;\n\n\t} else if ( a.z !== b.z ) {\n\n\t\treturn b.z - a.z;\n\n\t} else {\n\n\t\treturn a.id - b.id;\n\n\t}\n\n}\n\n\nfunction WebGLRenderList() {\n\n\tconst renderItems = [];\n\tlet renderItemsIndex = 0;\n\n\tconst opaque = [];\n\tconst transmissive = [];\n\tconst transparent = [];\n\n\tfunction init() {\n\n\t\trenderItemsIndex = 0;\n\n\t\topaque.length = 0;\n\t\ttransmissive.length = 0;\n\t\ttransparent.length = 0;\n\n\t}\n\n\tfunction getNextRenderItem( object, geometry, material, groupOrder, z, group ) {\n\n\t\tlet renderItem = renderItems[ renderItemsIndex ];\n\n\t\tif ( renderItem === undefined ) {\n\n\t\t\trenderItem = {\n\t\t\t\tid: object.id,\n\t\t\t\tobject: object,\n\t\t\t\tgeometry: geometry,\n\t\t\t\tmaterial: material,\n\t\t\t\tgroupOrder: groupOrder,\n\t\t\t\trenderOrder: object.renderOrder,\n\t\t\t\tz: z,\n\t\t\t\tgroup: group\n\t\t\t};\n\n\t\t\trenderItems[ renderItemsIndex ] = renderItem;\n\n\t\t} else {\n\n\t\t\trenderItem.id = object.id;\n\t\t\trenderItem.object = object;\n\t\t\trenderItem.geometry = geometry;\n\t\t\trenderItem.material = material;\n\t\t\trenderItem.groupOrder = groupOrder;\n\t\t\trenderItem.renderOrder = object.renderOrder;\n\t\t\trenderItem.z = z;\n\t\t\trenderItem.group = group;\n\n\t\t}\n\n\t\trenderItemsIndex ++;\n\n\t\treturn renderItem;\n\n\t}\n\n\tfunction push( object, geometry, material, groupOrder, z, group ) {\n\n\t\tconst renderItem = getNextRenderItem( object, geometry, material, groupOrder, z, group );\n\n\t\tif ( material.transmission > 0.0 ) {\n\n\t\t\ttransmissive.push( renderItem );\n\n\t\t} else if ( material.transparent === true ) {\n\n\t\t\ttransparent.push( renderItem );\n\n\t\t} else {\n\n\t\t\topaque.push( renderItem );\n\n\t\t}\n\n\t}\n\n\tfunction unshift( object, geometry, material, groupOrder, z, group ) {\n\n\t\tconst renderItem = getNextRenderItem( object, geometry, material, groupOrder, z, group );\n\n\t\tif ( material.transmission > 0.0 ) {\n\n\t\t\ttransmissive.unshift( renderItem );\n\n\t\t} else if ( material.transparent === true ) {\n\n\t\t\ttransparent.unshift( renderItem );\n\n\t\t} else {\n\n\t\t\topaque.unshift( renderItem );\n\n\t\t}\n\n\t}\n\n\tfunction sort( customOpaqueSort, customTransparentSort ) {\n\n\t\tif ( opaque.length > 1 ) opaque.sort( customOpaqueSort || painterSortStable );\n\t\tif ( transmissive.length > 1 ) transmissive.sort( customTransparentSort || reversePainterSortStable );\n\t\tif ( transparent.length > 1 ) transparent.sort( customTransparentSort || reversePainterSortStable );\n\n\t}\n\n\tfunction finish() {\n\n\t\t// Clear references from inactive renderItems in the list\n\n\t\tfor ( let i = renderItemsIndex, il = renderItems.length; i < il; i ++ ) {\n\n\t\t\tconst renderItem = renderItems[ i ];\n\n\t\t\tif ( renderItem.id === null ) break;\n\n\t\t\trenderItem.id = null;\n\t\t\trenderItem.object = null;\n\t\t\trenderItem.geometry = null;\n\t\t\trenderItem.material = null;\n\t\t\trenderItem.group = null;\n\n\t\t}\n\n\t}\n\n\treturn {\n\n\t\topaque: opaque,\n\t\ttransmissive: transmissive,\n\t\ttransparent: transparent,\n\n\t\tinit: init,\n\t\tpush: push,\n\t\tunshift: unshift,\n\t\tfinish: finish,\n\n\t\tsort: sort\n\t};\n\n}\n\nfunction WebGLRenderLists() {\n\n\tlet lists = new WeakMap();\n\n\tfunction get( scene, renderCallDepth ) {\n\n\t\tlet list;\n\n\t\tif ( lists.has( scene ) === false ) {\n\n\t\t\tlist = new WebGLRenderList();\n\t\t\tlists.set( scene, [ list ] );\n\n\t\t} else {\n\n\t\t\tif ( renderCallDepth >= lists.get( scene ).length ) {\n\n\t\t\t\tlist = new WebGLRenderList();\n\t\t\t\tlists.get( scene ).push( list );\n\n\t\t\t} else {\n\n\t\t\t\tlist = lists.get( scene )[ renderCallDepth ];\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn list;\n\n\t}\n\n\tfunction dispose() {\n\n\t\tlists = new WeakMap();\n\n\t}\n\n\treturn {\n\t\tget: get,\n\t\tdispose: dispose\n\t};\n\n}\n\nfunction UniformsCache() {\n\n\tconst lights = {};\n\n\treturn {\n\n\t\tget: function ( light ) {\n\n\t\t\tif ( lights[ light.id ] !== undefined ) {\n\n\t\t\t\treturn lights[ light.id ];\n\n\t\t\t}\n\n\t\t\tlet uniforms;\n\n\t\t\tswitch ( light.type ) {\n\n\t\t\t\tcase 'DirectionalLight':\n\t\t\t\t\tuniforms = {\n\t\t\t\t\t\tdirection: new Vector3(),\n\t\t\t\t\t\tcolor: new Color()\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'SpotLight':\n\t\t\t\t\tuniforms = {\n\t\t\t\t\t\tposition: new Vector3(),\n\t\t\t\t\t\tdirection: new Vector3(),\n\t\t\t\t\t\tcolor: new Color(),\n\t\t\t\t\t\tdistance: 0,\n\t\t\t\t\t\tconeCos: 0,\n\t\t\t\t\t\tpenumbraCos: 0,\n\t\t\t\t\t\tdecay: 0\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'PointLight':\n\t\t\t\t\tuniforms = {\n\t\t\t\t\t\tposition: new Vector3(),\n\t\t\t\t\t\tcolor: new Color(),\n\t\t\t\t\t\tdistance: 0,\n\t\t\t\t\t\tdecay: 0\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'HemisphereLight':\n\t\t\t\t\tuniforms = {\n\t\t\t\t\t\tdirection: new Vector3(),\n\t\t\t\t\t\tskyColor: new Color(),\n\t\t\t\t\t\tgroundColor: new Color()\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'RectAreaLight':\n\t\t\t\t\tuniforms = {\n\t\t\t\t\t\tcolor: new Color(),\n\t\t\t\t\t\tposition: new Vector3(),\n\t\t\t\t\t\thalfWidth: new Vector3(),\n\t\t\t\t\t\thalfHeight: new Vector3()\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\n\t\t\tlights[ light.id ] = uniforms;\n\n\t\t\treturn uniforms;\n\n\t\t}\n\n\t};\n\n}\n\nfunction ShadowUniformsCache() {\n\n\tconst lights = {};\n\n\treturn {\n\n\t\tget: function ( light ) {\n\n\t\t\tif ( lights[ light.id ] !== undefined ) {\n\n\t\t\t\treturn lights[ light.id ];\n\n\t\t\t}\n\n\t\t\tlet uniforms;\n\n\t\t\tswitch ( light.type ) {\n\n\t\t\t\tcase 'DirectionalLight':\n\t\t\t\t\tuniforms = {\n\t\t\t\t\t\tshadowBias: 0,\n\t\t\t\t\t\tshadowNormalBias: 0,\n\t\t\t\t\t\tshadowRadius: 1,\n\t\t\t\t\t\tshadowMapSize: new Vector2()\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'SpotLight':\n\t\t\t\t\tuniforms = {\n\t\t\t\t\t\tshadowBias: 0,\n\t\t\t\t\t\tshadowNormalBias: 0,\n\t\t\t\t\t\tshadowRadius: 1,\n\t\t\t\t\t\tshadowMapSize: new Vector2()\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'PointLight':\n\t\t\t\t\tuniforms = {\n\t\t\t\t\t\tshadowBias: 0,\n\t\t\t\t\t\tshadowNormalBias: 0,\n\t\t\t\t\t\tshadowRadius: 1,\n\t\t\t\t\t\tshadowMapSize: new Vector2(),\n\t\t\t\t\t\tshadowCameraNear: 1,\n\t\t\t\t\t\tshadowCameraFar: 1000\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\n\t\t\t\t// TODO (abelnation): set RectAreaLight shadow uniforms\n\n\t\t\t}\n\n\t\t\tlights[ light.id ] = uniforms;\n\n\t\t\treturn uniforms;\n\n\t\t}\n\n\t};\n\n}\n\n\n\nlet nextVersion = 0;\n\nfunction shadowCastingLightsFirst( lightA, lightB ) {\n\n\treturn ( lightB.castShadow ? 1 : 0 ) - ( lightA.castShadow ? 1 : 0 );\n\n}\n\nfunction WebGLLights( extensions, capabilities ) {\n\n\tconst cache = new UniformsCache();\n\n\tconst shadowCache = ShadowUniformsCache();\n\n\tconst state = {\n\n\t\tversion: 0,\n\n\t\thash: {\n\t\t\tdirectionalLength: - 1,\n\t\t\tpointLength: - 1,\n\t\t\tspotLength: - 1,\n\t\t\trectAreaLength: - 1,\n\t\t\themiLength: - 1,\n\n\t\t\tnumDirectionalShadows: - 1,\n\t\t\tnumPointShadows: - 1,\n\t\t\tnumSpotShadows: - 1\n\t\t},\n\n\t\tambient: [ 0, 0, 0 ],\n\t\tprobe: [],\n\t\tdirectional: [],\n\t\tdirectionalShadow: [],\n\t\tdirectionalShadowMap: [],\n\t\tdirectionalShadowMatrix: [],\n\t\tspot: [],\n\t\tspotShadow: [],\n\t\tspotShadowMap: [],\n\t\tspotShadowMatrix: [],\n\t\trectArea: [],\n\t\trectAreaLTC1: null,\n\t\trectAreaLTC2: null,\n\t\tpoint: [],\n\t\tpointShadow: [],\n\t\tpointShadowMap: [],\n\t\tpointShadowMatrix: [],\n\t\themi: []\n\n\t};\n\n\tfor ( let i = 0; i < 9; i ++ ) state.probe.push( new Vector3() );\n\n\tconst vector3 = new Vector3();\n\tconst matrix4 = new Matrix4();\n\tconst matrix42 = new Matrix4();\n\n\tfunction setup( lights, physicallyCorrectLights ) {\n\n\t\tlet r = 0, g = 0, b = 0;\n\n\t\tfor ( let i = 0; i < 9; i ++ ) state.probe[ i ].set( 0, 0, 0 );\n\n\t\tlet directionalLength = 0;\n\t\tlet pointLength = 0;\n\t\tlet spotLength = 0;\n\t\tlet rectAreaLength = 0;\n\t\tlet hemiLength = 0;\n\n\t\tlet numDirectionalShadows = 0;\n\t\tlet numPointShadows = 0;\n\t\tlet numSpotShadows = 0;\n\n\t\tlights.sort( shadowCastingLightsFirst );\n\n\t\t// artist-friendly light intensity scaling factor\n\t\tconst scaleFactor = ( physicallyCorrectLights !== true ) ? Math.PI : 1;\n\n\t\tfor ( let i = 0, l = lights.length; i < l; i ++ ) {\n\n\t\t\tconst light = lights[ i ];\n\n\t\t\tconst color = light.color;\n\t\t\tconst intensity = light.intensity;\n\t\t\tconst distance = light.distance;\n\n\t\t\tconst shadowMap = ( light.shadow && light.shadow.map ) ? light.shadow.map.texture : null;\n\n\t\t\tif ( light.isAmbientLight ) {\n\n\t\t\t\tr += color.r * intensity * scaleFactor;\n\t\t\t\tg += color.g * intensity * scaleFactor;\n\t\t\t\tb += color.b * intensity * scaleFactor;\n\n\t\t\t} else if ( light.isLightProbe ) {\n\n\t\t\t\tfor ( let j = 0; j < 9; j ++ ) {\n\n\t\t\t\t\tstate.probe[ j ].addScaledVector( light.sh.coefficients[ j ], intensity );\n\n\t\t\t\t}\n\n\t\t\t} else if ( light.isDirectionalLight ) {\n\n\t\t\t\tconst uniforms = cache.get( light );\n\n\t\t\t\tuniforms.color.copy( light.color ).multiplyScalar( light.intensity * scaleFactor );\n\n\t\t\t\tif ( light.castShadow ) {\n\n\t\t\t\t\tconst shadow = light.shadow;\n\n\t\t\t\t\tconst shadowUniforms = shadowCache.get( light );\n\n\t\t\t\t\tshadowUniforms.shadowBias = shadow.bias;\n\t\t\t\t\tshadowUniforms.shadowNormalBias = shadow.normalBias;\n\t\t\t\t\tshadowUniforms.shadowRadius = shadow.radius;\n\t\t\t\t\tshadowUniforms.shadowMapSize = shadow.mapSize;\n\n\t\t\t\t\tstate.directionalShadow[ directionalLength ] = shadowUniforms;\n\t\t\t\t\tstate.directionalShadowMap[ directionalLength ] = shadowMap;\n\t\t\t\t\tstate.directionalShadowMatrix[ directionalLength ] = light.shadow.matrix;\n\n\t\t\t\t\tnumDirectionalShadows ++;\n\n\t\t\t\t}\n\n\t\t\t\tstate.directional[ directionalLength ] = uniforms;\n\n\t\t\t\tdirectionalLength ++;\n\n\t\t\t} else if ( light.isSpotLight ) {\n\n\t\t\t\tconst uniforms = cache.get( light );\n\n\t\t\t\tuniforms.position.setFromMatrixPosition( light.matrixWorld );\n\n\t\t\t\tuniforms.color.copy( color ).multiplyScalar( intensity * scaleFactor );\n\t\t\t\tuniforms.distance = distance;\n\n\t\t\t\tuniforms.coneCos = Math.cos( light.angle );\n\t\t\t\tuniforms.penumbraCos = Math.cos( light.angle * ( 1 - light.penumbra ) );\n\t\t\t\tuniforms.decay = light.decay;\n\n\t\t\t\tif ( light.castShadow ) {\n\n\t\t\t\t\tconst shadow = light.shadow;\n\n\t\t\t\t\tconst shadowUniforms = shadowCache.get( light );\n\n\t\t\t\t\tshadowUniforms.shadowBias = shadow.bias;\n\t\t\t\t\tshadowUniforms.shadowNormalBias = shadow.normalBias;\n\t\t\t\t\tshadowUniforms.shadowRadius = shadow.radius;\n\t\t\t\t\tshadowUniforms.shadowMapSize = shadow.mapSize;\n\n\t\t\t\t\tstate.spotShadow[ spotLength ] = shadowUniforms;\n\t\t\t\t\tstate.spotShadowMap[ spotLength ] = shadowMap;\n\t\t\t\t\tstate.spotShadowMatrix[ spotLength ] = light.shadow.matrix;\n\n\t\t\t\t\tnumSpotShadows ++;\n\n\t\t\t\t}\n\n\t\t\t\tstate.spot[ spotLength ] = uniforms;\n\n\t\t\t\tspotLength ++;\n\n\t\t\t} else if ( light.isRectAreaLight ) {\n\n\t\t\t\tconst uniforms = cache.get( light );\n\n\t\t\t\t// (a) intensity is the total visible light emitted\n\t\t\t\t//uniforms.color.copy( color ).multiplyScalar( intensity / ( light.width * light.height * Math.PI ) );\n\n\t\t\t\t// (b) intensity is the brightness of the light\n\t\t\t\tuniforms.color.copy( color ).multiplyScalar( intensity );\n\n\t\t\t\tuniforms.halfWidth.set( light.width * 0.5, 0.0, 0.0 );\n\t\t\t\tuniforms.halfHeight.set( 0.0, light.height * 0.5, 0.0 );\n\n\t\t\t\tstate.rectArea[ rectAreaLength ] = uniforms;\n\n\t\t\t\trectAreaLength ++;\n\n\t\t\t} else if ( light.isPointLight ) {\n\n\t\t\t\tconst uniforms = cache.get( light );\n\n\t\t\t\tuniforms.color.copy( light.color ).multiplyScalar( light.intensity * scaleFactor );\n\t\t\t\tuniforms.distance = light.distance;\n\t\t\t\tuniforms.decay = light.decay;\n\n\t\t\t\tif ( light.castShadow ) {\n\n\t\t\t\t\tconst shadow = light.shadow;\n\n\t\t\t\t\tconst shadowUniforms = shadowCache.get( light );\n\n\t\t\t\t\tshadowUniforms.shadowBias = shadow.bias;\n\t\t\t\t\tshadowUniforms.shadowNormalBias = shadow.normalBias;\n\t\t\t\t\tshadowUniforms.shadowRadius = shadow.radius;\n\t\t\t\t\tshadowUniforms.shadowMapSize = shadow.mapSize;\n\t\t\t\t\tshadowUniforms.shadowCameraNear = shadow.camera.near;\n\t\t\t\t\tshadowUniforms.shadowCameraFar = shadow.camera.far;\n\n\t\t\t\t\tstate.pointShadow[ pointLength ] = shadowUniforms;\n\t\t\t\t\tstate.pointShadowMap[ pointLength ] = shadowMap;\n\t\t\t\t\tstate.pointShadowMatrix[ pointLength ] = light.shadow.matrix;\n\n\t\t\t\t\tnumPointShadows ++;\n\n\t\t\t\t}\n\n\t\t\t\tstate.point[ pointLength ] = uniforms;\n\n\t\t\t\tpointLength ++;\n\n\t\t\t} else if ( light.isHemisphereLight ) {\n\n\t\t\t\tconst uniforms = cache.get( light );\n\n\t\t\t\tuniforms.skyColor.copy( light.color ).multiplyScalar( intensity * scaleFactor );\n\t\t\t\tuniforms.groundColor.copy( light.groundColor ).multiplyScalar( intensity * scaleFactor );\n\n\t\t\t\tstate.hemi[ hemiLength ] = uniforms;\n\n\t\t\t\themiLength ++;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( rectAreaLength > 0 ) {\n\n\t\t\tif ( capabilities.isWebGL2 ) {\n\n\t\t\t\t// WebGL 2\n\n\t\t\t\tstate.rectAreaLTC1 = UniformsLib.LTC_FLOAT_1;\n\t\t\t\tstate.rectAreaLTC2 = UniformsLib.LTC_FLOAT_2;\n\n\t\t\t} else {\n\n\t\t\t\t// WebGL 1\n\n\t\t\t\tif ( extensions.has( 'OES_texture_float_linear' ) === true ) {\n\n\t\t\t\t\tstate.rectAreaLTC1 = UniformsLib.LTC_FLOAT_1;\n\t\t\t\t\tstate.rectAreaLTC2 = UniformsLib.LTC_FLOAT_2;\n\n\t\t\t\t} else if ( extensions.has( 'OES_texture_half_float_linear' ) === true ) {\n\n\t\t\t\t\tstate.rectAreaLTC1 = UniformsLib.LTC_HALF_1;\n\t\t\t\t\tstate.rectAreaLTC2 = UniformsLib.LTC_HALF_2;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tconsole.error( 'THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.' );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tstate.ambient[ 0 ] = r;\n\t\tstate.ambient[ 1 ] = g;\n\t\tstate.ambient[ 2 ] = b;\n\n\t\tconst hash = state.hash;\n\n\t\tif ( hash.directionalLength !== directionalLength ||\n\t\t\thash.pointLength !== pointLength ||\n\t\t\thash.spotLength !== spotLength ||\n\t\t\thash.rectAreaLength !== rectAreaLength ||\n\t\t\thash.hemiLength !== hemiLength ||\n\t\t\thash.numDirectionalShadows !== numDirectionalShadows ||\n\t\t\thash.numPointShadows !== numPointShadows ||\n\t\t\thash.numSpotShadows !== numSpotShadows ) {\n\n\t\t\tstate.directional.length = directionalLength;\n\t\t\tstate.spot.length = spotLength;\n\t\t\tstate.rectArea.length = rectAreaLength;\n\t\t\tstate.point.length = pointLength;\n\t\t\tstate.hemi.length = hemiLength;\n\n\t\t\tstate.directionalShadow.length = numDirectionalShadows;\n\t\t\tstate.directionalShadowMap.length = numDirectionalShadows;\n\t\t\tstate.pointShadow.length = numPointShadows;\n\t\t\tstate.pointShadowMap.length = numPointShadows;\n\t\t\tstate.spotShadow.length = numSpotShadows;\n\t\t\tstate.spotShadowMap.length = numSpotShadows;\n\t\t\tstate.directionalShadowMatrix.length = numDirectionalShadows;\n\t\t\tstate.pointShadowMatrix.length = numPointShadows;\n\t\t\tstate.spotShadowMatrix.length = numSpotShadows;\n\n\t\t\thash.directionalLength = directionalLength;\n\t\t\thash.pointLength = pointLength;\n\t\t\thash.spotLength = spotLength;\n\t\t\thash.rectAreaLength = rectAreaLength;\n\t\t\thash.hemiLength = hemiLength;\n\n\t\t\thash.numDirectionalShadows = numDirectionalShadows;\n\t\t\thash.numPointShadows = numPointShadows;\n\t\t\thash.numSpotShadows = numSpotShadows;\n\n\t\t\tstate.version = nextVersion ++;\n\n\t\t}\n\n\t}\n\n\tfunction setupView( lights, camera ) {\n\n\t\tlet directionalLength = 0;\n\t\tlet pointLength = 0;\n\t\tlet spotLength = 0;\n\t\tlet rectAreaLength = 0;\n\t\tlet hemiLength = 0;\n\n\t\tconst viewMatrix = camera.matrixWorldInverse;\n\n\t\tfor ( let i = 0, l = lights.length; i < l; i ++ ) {\n\n\t\t\tconst light = lights[ i ];\n\n\t\t\tif ( light.isDirectionalLight ) {\n\n\t\t\t\tconst uniforms = state.directional[ directionalLength ];\n\n\t\t\t\tuniforms.direction.setFromMatrixPosition( light.matrixWorld );\n\t\t\t\tvector3.setFromMatrixPosition( light.target.matrixWorld );\n\t\t\t\tuniforms.direction.sub( vector3 );\n\t\t\t\tuniforms.direction.transformDirection( viewMatrix );\n\n\t\t\t\tdirectionalLength ++;\n\n\t\t\t} else if ( light.isSpotLight ) {\n\n\t\t\t\tconst uniforms = state.spot[ spotLength ];\n\n\t\t\t\tuniforms.position.setFromMatrixPosition( light.matrixWorld );\n\t\t\t\tuniforms.position.applyMatrix4( viewMatrix );\n\n\t\t\t\tuniforms.direction.setFromMatrixPosition( light.matrixWorld );\n\t\t\t\tvector3.setFromMatrixPosition( light.target.matrixWorld );\n\t\t\t\tuniforms.direction.sub( vector3 );\n\t\t\t\tuniforms.direction.transformDirection( viewMatrix );\n\n\t\t\t\tspotLength ++;\n\n\t\t\t} else if ( light.isRectAreaLight ) {\n\n\t\t\t\tconst uniforms = state.rectArea[ rectAreaLength ];\n\n\t\t\t\tuniforms.position.setFromMatrixPosition( light.matrixWorld );\n\t\t\t\tuniforms.position.applyMatrix4( viewMatrix );\n\n\t\t\t\t// extract local rotation of light to derive width/height half vectors\n\t\t\t\tmatrix42.identity();\n\t\t\t\tmatrix4.copy( light.matrixWorld );\n\t\t\t\tmatrix4.premultiply( viewMatrix );\n\t\t\t\tmatrix42.extractRotation( matrix4 );\n\n\t\t\t\tuniforms.halfWidth.set( light.width * 0.5, 0.0, 0.0 );\n\t\t\t\tuniforms.halfHeight.set( 0.0, light.height * 0.5, 0.0 );\n\n\t\t\t\tuniforms.halfWidth.applyMatrix4( matrix42 );\n\t\t\t\tuniforms.halfHeight.applyMatrix4( matrix42 );\n\n\t\t\t\trectAreaLength ++;\n\n\t\t\t} else if ( light.isPointLight ) {\n\n\t\t\t\tconst uniforms = state.point[ pointLength ];\n\n\t\t\t\tuniforms.position.setFromMatrixPosition( light.matrixWorld );\n\t\t\t\tuniforms.position.applyMatrix4( viewMatrix );\n\n\t\t\t\tpointLength ++;\n\n\t\t\t} else if ( light.isHemisphereLight ) {\n\n\t\t\t\tconst uniforms = state.hemi[ hemiLength ];\n\n\t\t\t\tuniforms.direction.setFromMatrixPosition( light.matrixWorld );\n\t\t\t\tuniforms.direction.transformDirection( viewMatrix );\n\n\t\t\t\themiLength ++;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\treturn {\n\t\tsetup: setup,\n\t\tsetupView: setupView,\n\t\tstate: state\n\t};\n\n}\n\nfunction WebGLRenderState( extensions, capabilities ) {\n\n\tconst lights = new WebGLLights( extensions, capabilities );\n\n\tconst lightsArray = [];\n\tconst shadowsArray = [];\n\n\tfunction init() {\n\n\t\tlightsArray.length = 0;\n\t\tshadowsArray.length = 0;\n\n\t}\n\n\tfunction pushLight( light ) {\n\n\t\tlightsArray.push( light );\n\n\t}\n\n\tfunction pushShadow( shadowLight ) {\n\n\t\tshadowsArray.push( shadowLight );\n\n\t}\n\n\tfunction setupLights( physicallyCorrectLights ) {\n\n\t\tlights.setup( lightsArray, physicallyCorrectLights );\n\n\t}\n\n\tfunction setupLightsView( camera ) {\n\n\t\tlights.setupView( lightsArray, camera );\n\n\t}\n\n\tconst state = {\n\t\tlightsArray: lightsArray,\n\t\tshadowsArray: shadowsArray,\n\n\t\tlights: lights\n\t};\n\n\treturn {\n\t\tinit: init,\n\t\tstate: state,\n\t\tsetupLights: setupLights,\n\t\tsetupLightsView: setupLightsView,\n\n\t\tpushLight: pushLight,\n\t\tpushShadow: pushShadow\n\t};\n\n}\n\nfunction WebGLRenderStates( extensions, capabilities ) {\n\n\tlet renderStates = new WeakMap();\n\n\tfunction get( scene, renderCallDepth = 0 ) {\n\n\t\tlet renderState;\n\n\t\tif ( renderStates.has( scene ) === false ) {\n\n\t\t\trenderState = new WebGLRenderState( extensions, capabilities );\n\t\t\trenderStates.set( scene, [ renderState ] );\n\n\t\t} else {\n\n\t\t\tif ( renderCallDepth >= renderStates.get( scene ).length ) {\n\n\t\t\t\trenderState = new WebGLRenderState( extensions, capabilities );\n\t\t\t\trenderStates.get( scene ).push( renderState );\n\n\t\t\t} else {\n\n\t\t\t\trenderState = renderStates.get( scene )[ renderCallDepth ];\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn renderState;\n\n\t}\n\n\tfunction dispose() {\n\n\t\trenderStates = new WeakMap();\n\n\t}\n\n\treturn {\n\t\tget: get,\n\t\tdispose: dispose\n\t};\n\n}\n\nclass MeshDepthMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshDepthMaterial = true;\n\n\t\tthis.type = 'MeshDepthMaterial';\n\n\t\tthis.depthPacking = BasicDepthPacking;\n\n\t\tthis.map = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.displacementMap = null;\n\t\tthis.displacementScale = 1;\n\t\tthis.displacementBias = 0;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.depthPacking = source.depthPacking;\n\n\t\tthis.map = source.map;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.displacementMap = source.displacementMap;\n\t\tthis.displacementScale = source.displacementScale;\n\t\tthis.displacementBias = source.displacementBias;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass MeshDistanceMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshDistanceMaterial = true;\n\n\t\tthis.type = 'MeshDistanceMaterial';\n\n\t\tthis.referencePosition = new Vector3();\n\t\tthis.nearDistance = 1;\n\t\tthis.farDistance = 1000;\n\n\t\tthis.map = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.displacementMap = null;\n\t\tthis.displacementScale = 1;\n\t\tthis.displacementBias = 0;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.referencePosition.copy( source.referencePosition );\n\t\tthis.nearDistance = source.nearDistance;\n\t\tthis.farDistance = source.farDistance;\n\n\t\tthis.map = source.map;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.displacementMap = source.displacementMap;\n\t\tthis.displacementScale = source.displacementScale;\n\t\tthis.displacementBias = source.displacementBias;\n\n\t\treturn this;\n\n\t}\n\n}\n\nconst vertex = \"void main() {\\n\\tgl_Position = vec4( position, 1.0 );\\n}\";\n\nconst fragment = \"uniform sampler2D shadow_pass;\\nuniform vec2 resolution;\\nuniform float radius;\\n#include \\nvoid main() {\\n\\tconst float samples = float( VSM_SAMPLES );\\n\\tfloat mean = 0.0;\\n\\tfloat squared_mean = 0.0;\\n\\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\\n\\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\\n\\tfor ( float i = 0.0; i < samples; i ++ ) {\\n\\t\\tfloat uvOffset = uvStart + i * uvStride;\\n\\t\\t#ifdef HORIZONTAL_PASS\\n\\t\\t\\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\\n\\t\\t\\tmean += distribution.x;\\n\\t\\t\\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\\n\\t\\t#else\\n\\t\\t\\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\\n\\t\\t\\tmean += depth;\\n\\t\\t\\tsquared_mean += depth * depth;\\n\\t\\t#endif\\n\\t}\\n\\tmean = mean / samples;\\n\\tsquared_mean = squared_mean / samples;\\n\\tfloat std_dev = sqrt( squared_mean - mean * mean );\\n\\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\\n}\";\n\nfunction WebGLShadowMap( _renderer, _objects, _capabilities ) {\n\n\tlet _frustum = new Frustum();\n\n\tconst _shadowMapSize = new Vector2(),\n\t\t_viewportSize = new Vector2(),\n\n\t\t_viewport = new Vector4(),\n\n\t\t_depthMaterial = new MeshDepthMaterial( { depthPacking: RGBADepthPacking } ),\n\t\t_distanceMaterial = new MeshDistanceMaterial(),\n\n\t\t_materialCache = {},\n\n\t\t_maxTextureSize = _capabilities.maxTextureSize;\n\n\tconst shadowSide = { 0: BackSide, 1: FrontSide, 2: DoubleSide };\n\n\tconst shadowMaterialVertical = new ShaderMaterial( {\n\t\tdefines: {\n\t\t\tVSM_SAMPLES: 8\n\t\t},\n\t\tuniforms: {\n\t\t\tshadow_pass: { value: null },\n\t\t\tresolution: { value: new Vector2() },\n\t\t\tradius: { value: 4.0 }\n\t\t},\n\n\t\tvertexShader: vertex,\n\t\tfragmentShader: fragment\n\n\t} );\n\n\tconst shadowMaterialHorizontal = shadowMaterialVertical.clone();\n\tshadowMaterialHorizontal.defines.HORIZONTAL_PASS = 1;\n\n\tconst fullScreenTri = new BufferGeometry();\n\tfullScreenTri.setAttribute(\n\t\t'position',\n\t\tnew BufferAttribute(\n\t\t\tnew Float32Array( [ - 1, - 1, 0.5, 3, - 1, 0.5, - 1, 3, 0.5 ] ),\n\t\t\t3\n\t\t)\n\t);\n\n\tconst fullScreenMesh = new Mesh( fullScreenTri, shadowMaterialVertical );\n\n\tconst scope = this;\n\n\tthis.enabled = false;\n\n\tthis.autoUpdate = true;\n\tthis.needsUpdate = false;\n\n\tthis.type = PCFShadowMap;\n\n\tthis.render = function ( lights, scene, camera ) {\n\n\t\tif ( scope.enabled === false ) return;\n\t\tif ( scope.autoUpdate === false && scope.needsUpdate === false ) return;\n\n\t\tif ( lights.length === 0 ) return;\n\n\t\tconst currentRenderTarget = _renderer.getRenderTarget();\n\t\tconst activeCubeFace = _renderer.getActiveCubeFace();\n\t\tconst activeMipmapLevel = _renderer.getActiveMipmapLevel();\n\n\t\tconst _state = _renderer.state;\n\n\t\t// Set GL state for depth map.\n\t\t_state.setBlending( NoBlending );\n\t\t_state.buffers.color.setClear( 1, 1, 1, 1 );\n\t\t_state.buffers.depth.setTest( true );\n\t\t_state.setScissorTest( false );\n\n\t\t// render depth map\n\n\t\tfor ( let i = 0, il = lights.length; i < il; i ++ ) {\n\n\t\t\tconst light = lights[ i ];\n\t\t\tconst shadow = light.shadow;\n\n\t\t\tif ( shadow === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.WebGLShadowMap:', light, 'has no shadow.' );\n\t\t\t\tcontinue;\n\n\t\t\t}\n\n\t\t\tif ( shadow.autoUpdate === false && shadow.needsUpdate === false ) continue;\n\n\t\t\t_shadowMapSize.copy( shadow.mapSize );\n\n\t\t\tconst shadowFrameExtents = shadow.getFrameExtents();\n\n\t\t\t_shadowMapSize.multiply( shadowFrameExtents );\n\n\t\t\t_viewportSize.copy( shadow.mapSize );\n\n\t\t\tif ( _shadowMapSize.x > _maxTextureSize || _shadowMapSize.y > _maxTextureSize ) {\n\n\t\t\t\tif ( _shadowMapSize.x > _maxTextureSize ) {\n\n\t\t\t\t\t_viewportSize.x = Math.floor( _maxTextureSize / shadowFrameExtents.x );\n\t\t\t\t\t_shadowMapSize.x = _viewportSize.x * shadowFrameExtents.x;\n\t\t\t\t\tshadow.mapSize.x = _viewportSize.x;\n\n\t\t\t\t}\n\n\t\t\t\tif ( _shadowMapSize.y > _maxTextureSize ) {\n\n\t\t\t\t\t_viewportSize.y = Math.floor( _maxTextureSize / shadowFrameExtents.y );\n\t\t\t\t\t_shadowMapSize.y = _viewportSize.y * shadowFrameExtents.y;\n\t\t\t\t\tshadow.mapSize.y = _viewportSize.y;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( shadow.map === null ) {\n\n\t\t\t\tconst pars = ( this.type !== VSMShadowMap ) ? { minFilter: NearestFilter, magFilter: NearestFilter } : {};\n\n\t\t\t\tshadow.map = new WebGLRenderTarget( _shadowMapSize.x, _shadowMapSize.y, pars );\n\t\t\t\tshadow.map.texture.name = light.name + '.shadowMap';\n\n\t\t\t\tshadow.camera.updateProjectionMatrix();\n\n\t\t\t}\n\n\t\t\t_renderer.setRenderTarget( shadow.map );\n\t\t\t_renderer.clear();\n\n\t\t\tconst viewportCount = shadow.getViewportCount();\n\n\t\t\tfor ( let vp = 0; vp < viewportCount; vp ++ ) {\n\n\t\t\t\tconst viewport = shadow.getViewport( vp );\n\n\t\t\t\t_viewport.set(\n\t\t\t\t\t_viewportSize.x * viewport.x,\n\t\t\t\t\t_viewportSize.y * viewport.y,\n\t\t\t\t\t_viewportSize.x * viewport.z,\n\t\t\t\t\t_viewportSize.y * viewport.w\n\t\t\t\t);\n\n\t\t\t\t_state.viewport( _viewport );\n\n\t\t\t\tshadow.updateMatrices( light, vp );\n\n\t\t\t\t_frustum = shadow.getFrustum();\n\n\t\t\t\trenderObject( scene, camera, shadow.camera, light, this.type );\n\n\t\t\t}\n\n\t\t\t// do blur pass for VSM\n\n\t\t\tif ( shadow.isPointLightShadow !== true && this.type === VSMShadowMap ) {\n\n\t\t\t\tVSMPass( shadow, camera );\n\n\t\t\t}\n\n\t\t\tshadow.needsUpdate = false;\n\n\t\t}\n\n\t\tscope.needsUpdate = false;\n\n\t\t_renderer.setRenderTarget( currentRenderTarget, activeCubeFace, activeMipmapLevel );\n\n\t};\n\n\tfunction VSMPass( shadow, camera ) {\n\n\t\tconst geometry = _objects.update( fullScreenMesh );\n\n\t\tif ( shadowMaterialVertical.defines.VSM_SAMPLES !== shadow.blurSamples ) {\n\n\t\t\tshadowMaterialVertical.defines.VSM_SAMPLES = shadow.blurSamples;\n\t\t\tshadowMaterialHorizontal.defines.VSM_SAMPLES = shadow.blurSamples;\n\n\t\t\tshadowMaterialVertical.needsUpdate = true;\n\t\t\tshadowMaterialHorizontal.needsUpdate = true;\n\n\t\t}\n\n\t\tif ( shadow.mapPass === null ) {\n\n\t\t\tshadow.mapPass = new WebGLRenderTarget( _shadowMapSize.x, _shadowMapSize.y );\n\n\t\t}\n\n\t\t// vertical pass\n\n\t\tshadowMaterialVertical.uniforms.shadow_pass.value = shadow.map.texture;\n\t\tshadowMaterialVertical.uniforms.resolution.value = shadow.mapSize;\n\t\tshadowMaterialVertical.uniforms.radius.value = shadow.radius;\n\t\t_renderer.setRenderTarget( shadow.mapPass );\n\t\t_renderer.clear();\n\t\t_renderer.renderBufferDirect( camera, null, geometry, shadowMaterialVertical, fullScreenMesh, null );\n\n\t\t// horizontal pass\n\n\t\tshadowMaterialHorizontal.uniforms.shadow_pass.value = shadow.mapPass.texture;\n\t\tshadowMaterialHorizontal.uniforms.resolution.value = shadow.mapSize;\n\t\tshadowMaterialHorizontal.uniforms.radius.value = shadow.radius;\n\t\t_renderer.setRenderTarget( shadow.map );\n\t\t_renderer.clear();\n\t\t_renderer.renderBufferDirect( camera, null, geometry, shadowMaterialHorizontal, fullScreenMesh, null );\n\n\t}\n\n\tfunction getDepthMaterial( object, material, light, shadowCameraNear, shadowCameraFar, type ) {\n\n\t\tlet result = null;\n\n\t\tconst customMaterial = ( light.isPointLight === true ) ? object.customDistanceMaterial : object.customDepthMaterial;\n\n\t\tif ( customMaterial !== undefined ) {\n\n\t\t\tresult = customMaterial;\n\n\t\t} else {\n\n\t\t\tresult = ( light.isPointLight === true ) ? _distanceMaterial : _depthMaterial;\n\n\t\t}\n\n\t\tif ( ( _renderer.localClippingEnabled && material.clipShadows === true && Array.isArray( material.clippingPlanes ) && material.clippingPlanes.length !== 0 ) ||\n\t\t\t( material.displacementMap && material.displacementScale !== 0 ) ||\n\t\t\t( material.alphaMap && material.alphaTest > 0 ) ) {\n\n\t\t\t// in this case we need a unique material instance reflecting the\n\t\t\t// appropriate state\n\n\t\t\tconst keyA = result.uuid, keyB = material.uuid;\n\n\t\t\tlet materialsForVariant = _materialCache[ keyA ];\n\n\t\t\tif ( materialsForVariant === undefined ) {\n\n\t\t\t\tmaterialsForVariant = {};\n\t\t\t\t_materialCache[ keyA ] = materialsForVariant;\n\n\t\t\t}\n\n\t\t\tlet cachedMaterial = materialsForVariant[ keyB ];\n\n\t\t\tif ( cachedMaterial === undefined ) {\n\n\t\t\t\tcachedMaterial = result.clone();\n\t\t\t\tmaterialsForVariant[ keyB ] = cachedMaterial;\n\n\t\t\t}\n\n\t\t\tresult = cachedMaterial;\n\n\t\t}\n\n\t\tresult.visible = material.visible;\n\t\tresult.wireframe = material.wireframe;\n\n\t\tif ( type === VSMShadowMap ) {\n\n\t\t\tresult.side = ( material.shadowSide !== null ) ? material.shadowSide : material.side;\n\n\t\t} else {\n\n\t\t\tresult.side = ( material.shadowSide !== null ) ? material.shadowSide : shadowSide[ material.side ];\n\n\t\t}\n\n\t\tresult.alphaMap = material.alphaMap;\n\t\tresult.alphaTest = material.alphaTest;\n\n\t\tresult.clipShadows = material.clipShadows;\n\t\tresult.clippingPlanes = material.clippingPlanes;\n\t\tresult.clipIntersection = material.clipIntersection;\n\n\t\tresult.displacementMap = material.displacementMap;\n\t\tresult.displacementScale = material.displacementScale;\n\t\tresult.displacementBias = material.displacementBias;\n\n\t\tresult.wireframeLinewidth = material.wireframeLinewidth;\n\t\tresult.linewidth = material.linewidth;\n\n\t\tif ( light.isPointLight === true && result.isMeshDistanceMaterial === true ) {\n\n\t\t\tresult.referencePosition.setFromMatrixPosition( light.matrixWorld );\n\t\t\tresult.nearDistance = shadowCameraNear;\n\t\t\tresult.farDistance = shadowCameraFar;\n\n\t\t}\n\n\t\treturn result;\n\n\t}\n\n\tfunction renderObject( object, camera, shadowCamera, light, type ) {\n\n\t\tif ( object.visible === false ) return;\n\n\t\tconst visible = object.layers.test( camera.layers );\n\n\t\tif ( visible && ( object.isMesh || object.isLine || object.isPoints ) ) {\n\n\t\t\tif ( ( object.castShadow || ( object.receiveShadow && type === VSMShadowMap ) ) && ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) ) {\n\n\t\t\t\tobject.modelViewMatrix.multiplyMatrices( shadowCamera.matrixWorldInverse, object.matrixWorld );\n\n\t\t\t\tconst geometry = _objects.update( object );\n\t\t\t\tconst material = object.material;\n\n\t\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\t\tconst groups = geometry.groups;\n\n\t\t\t\t\tfor ( let k = 0, kl = groups.length; k < kl; k ++ ) {\n\n\t\t\t\t\t\tconst group = groups[ k ];\n\t\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\t\tif ( groupMaterial && groupMaterial.visible ) {\n\n\t\t\t\t\t\t\tconst depthMaterial = getDepthMaterial( object, groupMaterial, light, shadowCamera.near, shadowCamera.far, type );\n\n\t\t\t\t\t\t\t_renderer.renderBufferDirect( shadowCamera, null, geometry, depthMaterial, object, group );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t} else if ( material.visible ) {\n\n\t\t\t\t\tconst depthMaterial = getDepthMaterial( object, material, light, shadowCamera.near, shadowCamera.far, type );\n\n\t\t\t\t\t_renderer.renderBufferDirect( shadowCamera, null, geometry, depthMaterial, object, null );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst children = object.children;\n\n\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\trenderObject( children[ i ], camera, shadowCamera, light, type );\n\n\t\t}\n\n\t}\n\n}\n\nfunction WebGLState( gl, extensions, capabilities ) {\n\n\tconst isWebGL2 = capabilities.isWebGL2;\n\n\tfunction ColorBuffer() {\n\n\t\tlet locked = false;\n\n\t\tconst color = new Vector4();\n\t\tlet currentColorMask = null;\n\t\tconst currentColorClear = new Vector4( 0, 0, 0, 0 );\n\n\t\treturn {\n\n\t\t\tsetMask: function ( colorMask ) {\n\n\t\t\t\tif ( currentColorMask !== colorMask && ! locked ) {\n\n\t\t\t\t\tgl.colorMask( colorMask, colorMask, colorMask, colorMask );\n\t\t\t\t\tcurrentColorMask = colorMask;\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\tsetLocked: function ( lock ) {\n\n\t\t\t\tlocked = lock;\n\n\t\t\t},\n\n\t\t\tsetClear: function ( r, g, b, a, premultipliedAlpha ) {\n\n\t\t\t\tif ( premultipliedAlpha === true ) {\n\n\t\t\t\t\tr *= a; g *= a; b *= a;\n\n\t\t\t\t}\n\n\t\t\t\tcolor.set( r, g, b, a );\n\n\t\t\t\tif ( currentColorClear.equals( color ) === false ) {\n\n\t\t\t\t\tgl.clearColor( r, g, b, a );\n\t\t\t\t\tcurrentColorClear.copy( color );\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\treset: function () {\n\n\t\t\t\tlocked = false;\n\n\t\t\t\tcurrentColorMask = null;\n\t\t\t\tcurrentColorClear.set( - 1, 0, 0, 0 ); // set to invalid state\n\n\t\t\t}\n\n\t\t};\n\n\t}\n\n\tfunction DepthBuffer() {\n\n\t\tlet locked = false;\n\n\t\tlet currentDepthMask = null;\n\t\tlet currentDepthFunc = null;\n\t\tlet currentDepthClear = null;\n\n\t\treturn {\n\n\t\t\tsetTest: function ( depthTest ) {\n\n\t\t\t\tif ( depthTest ) {\n\n\t\t\t\t\tenable( 2929 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tdisable( 2929 );\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\tsetMask: function ( depthMask ) {\n\n\t\t\t\tif ( currentDepthMask !== depthMask && ! locked ) {\n\n\t\t\t\t\tgl.depthMask( depthMask );\n\t\t\t\t\tcurrentDepthMask = depthMask;\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\tsetFunc: function ( depthFunc ) {\n\n\t\t\t\tif ( currentDepthFunc !== depthFunc ) {\n\n\t\t\t\t\tif ( depthFunc ) {\n\n\t\t\t\t\t\tswitch ( depthFunc ) {\n\n\t\t\t\t\t\t\tcase NeverDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( 512 );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase AlwaysDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( 519 );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase LessDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( 513 );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase LessEqualDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( 515 );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase EqualDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( 514 );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase GreaterEqualDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( 518 );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase GreaterDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( 516 );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase NotEqualDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( 517 );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tdefault:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( 515 );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tgl.depthFunc( 515 );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrentDepthFunc = depthFunc;\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\tsetLocked: function ( lock ) {\n\n\t\t\t\tlocked = lock;\n\n\t\t\t},\n\n\t\t\tsetClear: function ( depth ) {\n\n\t\t\t\tif ( currentDepthClear !== depth ) {\n\n\t\t\t\t\tgl.clearDepth( depth );\n\t\t\t\t\tcurrentDepthClear = depth;\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\treset: function () {\n\n\t\t\t\tlocked = false;\n\n\t\t\t\tcurrentDepthMask = null;\n\t\t\t\tcurrentDepthFunc = null;\n\t\t\t\tcurrentDepthClear = null;\n\n\t\t\t}\n\n\t\t};\n\n\t}\n\n\tfunction StencilBuffer() {\n\n\t\tlet locked = false;\n\n\t\tlet currentStencilMask = null;\n\t\tlet currentStencilFunc = null;\n\t\tlet currentStencilRef = null;\n\t\tlet currentStencilFuncMask = null;\n\t\tlet currentStencilFail = null;\n\t\tlet currentStencilZFail = null;\n\t\tlet currentStencilZPass = null;\n\t\tlet currentStencilClear = null;\n\n\t\treturn {\n\n\t\t\tsetTest: function ( stencilTest ) {\n\n\t\t\t\tif ( ! locked ) {\n\n\t\t\t\t\tif ( stencilTest ) {\n\n\t\t\t\t\t\tenable( 2960 );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tdisable( 2960 );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\tsetMask: function ( stencilMask ) {\n\n\t\t\t\tif ( currentStencilMask !== stencilMask && ! locked ) {\n\n\t\t\t\t\tgl.stencilMask( stencilMask );\n\t\t\t\t\tcurrentStencilMask = stencilMask;\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\tsetFunc: function ( stencilFunc, stencilRef, stencilMask ) {\n\n\t\t\t\tif ( currentStencilFunc !== stencilFunc ||\n\t\t\t\t currentStencilRef !== stencilRef ||\n\t\t\t\t currentStencilFuncMask !== stencilMask ) {\n\n\t\t\t\t\tgl.stencilFunc( stencilFunc, stencilRef, stencilMask );\n\n\t\t\t\t\tcurrentStencilFunc = stencilFunc;\n\t\t\t\t\tcurrentStencilRef = stencilRef;\n\t\t\t\t\tcurrentStencilFuncMask = stencilMask;\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\tsetOp: function ( stencilFail, stencilZFail, stencilZPass ) {\n\n\t\t\t\tif ( currentStencilFail !== stencilFail ||\n\t\t\t\t currentStencilZFail !== stencilZFail ||\n\t\t\t\t currentStencilZPass !== stencilZPass ) {\n\n\t\t\t\t\tgl.stencilOp( stencilFail, stencilZFail, stencilZPass );\n\n\t\t\t\t\tcurrentStencilFail = stencilFail;\n\t\t\t\t\tcurrentStencilZFail = stencilZFail;\n\t\t\t\t\tcurrentStencilZPass = stencilZPass;\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\tsetLocked: function ( lock ) {\n\n\t\t\t\tlocked = lock;\n\n\t\t\t},\n\n\t\t\tsetClear: function ( stencil ) {\n\n\t\t\t\tif ( currentStencilClear !== stencil ) {\n\n\t\t\t\t\tgl.clearStencil( stencil );\n\t\t\t\t\tcurrentStencilClear = stencil;\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\treset: function () {\n\n\t\t\t\tlocked = false;\n\n\t\t\t\tcurrentStencilMask = null;\n\t\t\t\tcurrentStencilFunc = null;\n\t\t\t\tcurrentStencilRef = null;\n\t\t\t\tcurrentStencilFuncMask = null;\n\t\t\t\tcurrentStencilFail = null;\n\t\t\t\tcurrentStencilZFail = null;\n\t\t\t\tcurrentStencilZPass = null;\n\t\t\t\tcurrentStencilClear = null;\n\n\t\t\t}\n\n\t\t};\n\n\t}\n\n\t//\n\n\tconst colorBuffer = new ColorBuffer();\n\tconst depthBuffer = new DepthBuffer();\n\tconst stencilBuffer = new StencilBuffer();\n\n\tconst uboBindings = new WeakMap();\n\tconst uboProgamMap = new WeakMap();\n\n\tlet enabledCapabilities = {};\n\n\tlet currentBoundFramebuffers = {};\n\tlet currentDrawbuffers = new WeakMap();\n\tlet defaultDrawbuffers = [];\n\n\tlet currentProgram = null;\n\n\tlet currentBlendingEnabled = false;\n\tlet currentBlending = null;\n\tlet currentBlendEquation = null;\n\tlet currentBlendSrc = null;\n\tlet currentBlendDst = null;\n\tlet currentBlendEquationAlpha = null;\n\tlet currentBlendSrcAlpha = null;\n\tlet currentBlendDstAlpha = null;\n\tlet currentPremultipledAlpha = false;\n\n\tlet currentFlipSided = null;\n\tlet currentCullFace = null;\n\n\tlet currentLineWidth = null;\n\n\tlet currentPolygonOffsetFactor = null;\n\tlet currentPolygonOffsetUnits = null;\n\n\tconst maxTextures = gl.getParameter( 35661 );\n\n\tlet lineWidthAvailable = false;\n\tlet version = 0;\n\tconst glVersion = gl.getParameter( 7938 );\n\n\tif ( glVersion.indexOf( 'WebGL' ) !== - 1 ) {\n\n\t\tversion = parseFloat( /^WebGL (\\d)/.exec( glVersion )[ 1 ] );\n\t\tlineWidthAvailable = ( version >= 1.0 );\n\n\t} else if ( glVersion.indexOf( 'OpenGL ES' ) !== - 1 ) {\n\n\t\tversion = parseFloat( /^OpenGL ES (\\d)/.exec( glVersion )[ 1 ] );\n\t\tlineWidthAvailable = ( version >= 2.0 );\n\n\t}\n\n\tlet currentTextureSlot = null;\n\tlet currentBoundTextures = {};\n\n\tconst scissorParam = gl.getParameter( 3088 );\n\tconst viewportParam = gl.getParameter( 2978 );\n\n\tconst currentScissor = new Vector4().fromArray( scissorParam );\n\tconst currentViewport = new Vector4().fromArray( viewportParam );\n\n\tfunction createTexture( type, target, count ) {\n\n\t\tconst data = new Uint8Array( 4 ); // 4 is required to match default unpack alignment of 4.\n\t\tconst texture = gl.createTexture();\n\n\t\tgl.bindTexture( type, texture );\n\t\tgl.texParameteri( type, 10241, 9728 );\n\t\tgl.texParameteri( type, 10240, 9728 );\n\n\t\tfor ( let i = 0; i < count; i ++ ) {\n\n\t\t\tgl.texImage2D( target + i, 0, 6408, 1, 1, 0, 6408, 5121, data );\n\n\t\t}\n\n\t\treturn texture;\n\n\t}\n\n\tconst emptyTextures = {};\n\temptyTextures[ 3553 ] = createTexture( 3553, 3553, 1 );\n\temptyTextures[ 34067 ] = createTexture( 34067, 34069, 6 );\n\n\t// init\n\n\tcolorBuffer.setClear( 0, 0, 0, 1 );\n\tdepthBuffer.setClear( 1 );\n\tstencilBuffer.setClear( 0 );\n\n\tenable( 2929 );\n\tdepthBuffer.setFunc( LessEqualDepth );\n\n\tsetFlipSided( false );\n\tsetCullFace( CullFaceBack );\n\tenable( 2884 );\n\n\tsetBlending( NoBlending );\n\n\t//\n\n\tfunction enable( id ) {\n\n\t\tif ( enabledCapabilities[ id ] !== true ) {\n\n\t\t\tgl.enable( id );\n\t\t\tenabledCapabilities[ id ] = true;\n\n\t\t}\n\n\t}\n\n\tfunction disable( id ) {\n\n\t\tif ( enabledCapabilities[ id ] !== false ) {\n\n\t\t\tgl.disable( id );\n\t\t\tenabledCapabilities[ id ] = false;\n\n\t\t}\n\n\t}\n\n\tfunction bindFramebuffer( target, framebuffer ) {\n\n\t\tif ( currentBoundFramebuffers[ target ] !== framebuffer ) {\n\n\t\t\tgl.bindFramebuffer( target, framebuffer );\n\n\t\t\tcurrentBoundFramebuffers[ target ] = framebuffer;\n\n\t\t\tif ( isWebGL2 ) {\n\n\t\t\t\t// 36009 is equivalent to 36160\n\n\t\t\t\tif ( target === 36009 ) {\n\n\t\t\t\t\tcurrentBoundFramebuffers[ 36160 ] = framebuffer;\n\n\t\t\t\t}\n\n\t\t\t\tif ( target === 36160 ) {\n\n\t\t\t\t\tcurrentBoundFramebuffers[ 36009 ] = framebuffer;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\treturn true;\n\n\t\t}\n\n\t\treturn false;\n\n\t}\n\n\tfunction drawBuffers( renderTarget, framebuffer ) {\n\n\t\tlet drawBuffers = defaultDrawbuffers;\n\n\t\tlet needsUpdate = false;\n\n\t\tif ( renderTarget ) {\n\n\t\t\tdrawBuffers = currentDrawbuffers.get( framebuffer );\n\n\t\t\tif ( drawBuffers === undefined ) {\n\n\t\t\t\tdrawBuffers = [];\n\t\t\t\tcurrentDrawbuffers.set( framebuffer, drawBuffers );\n\n\t\t\t}\n\n\t\t\tif ( renderTarget.isWebGLMultipleRenderTargets ) {\n\n\t\t\t\tconst textures = renderTarget.texture;\n\n\t\t\t\tif ( drawBuffers.length !== textures.length || drawBuffers[ 0 ] !== 36064 ) {\n\n\t\t\t\t\tfor ( let i = 0, il = textures.length; i < il; i ++ ) {\n\n\t\t\t\t\t\tdrawBuffers[ i ] = 36064 + i;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tdrawBuffers.length = textures.length;\n\n\t\t\t\t\tneedsUpdate = true;\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tif ( drawBuffers[ 0 ] !== 36064 ) {\n\n\t\t\t\t\tdrawBuffers[ 0 ] = 36064;\n\n\t\t\t\t\tneedsUpdate = true;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tif ( drawBuffers[ 0 ] !== 1029 ) {\n\n\t\t\t\tdrawBuffers[ 0 ] = 1029;\n\n\t\t\t\tneedsUpdate = true;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( needsUpdate ) {\n\n\t\t\tif ( capabilities.isWebGL2 ) {\n\n\t\t\t\tgl.drawBuffers( drawBuffers );\n\n\t\t\t} else {\n\n\t\t\t\textensions.get( 'WEBGL_draw_buffers' ).drawBuffersWEBGL( drawBuffers );\n\n\t\t\t}\n\n\t\t}\n\n\n\t}\n\n\tfunction useProgram( program ) {\n\n\t\tif ( currentProgram !== program ) {\n\n\t\t\tgl.useProgram( program );\n\n\t\t\tcurrentProgram = program;\n\n\t\t\treturn true;\n\n\t\t}\n\n\t\treturn false;\n\n\t}\n\n\tconst equationToGL = {\n\t\t[ AddEquation ]: 32774,\n\t\t[ SubtractEquation ]: 32778,\n\t\t[ ReverseSubtractEquation ]: 32779\n\t};\n\n\tif ( isWebGL2 ) {\n\n\t\tequationToGL[ MinEquation ] = 32775;\n\t\tequationToGL[ MaxEquation ] = 32776;\n\n\t} else {\n\n\t\tconst extension = extensions.get( 'EXT_blend_minmax' );\n\n\t\tif ( extension !== null ) {\n\n\t\t\tequationToGL[ MinEquation ] = extension.MIN_EXT;\n\t\t\tequationToGL[ MaxEquation ] = extension.MAX_EXT;\n\n\t\t}\n\n\t}\n\n\tconst factorToGL = {\n\t\t[ ZeroFactor ]: 0,\n\t\t[ OneFactor ]: 1,\n\t\t[ SrcColorFactor ]: 768,\n\t\t[ SrcAlphaFactor ]: 770,\n\t\t[ SrcAlphaSaturateFactor ]: 776,\n\t\t[ DstColorFactor ]: 774,\n\t\t[ DstAlphaFactor ]: 772,\n\t\t[ OneMinusSrcColorFactor ]: 769,\n\t\t[ OneMinusSrcAlphaFactor ]: 771,\n\t\t[ OneMinusDstColorFactor ]: 775,\n\t\t[ OneMinusDstAlphaFactor ]: 773\n\t};\n\n\tfunction setBlending( blending, blendEquation, blendSrc, blendDst, blendEquationAlpha, blendSrcAlpha, blendDstAlpha, premultipliedAlpha ) {\n\n\t\tif ( blending === NoBlending ) {\n\n\t\t\tif ( currentBlendingEnabled === true ) {\n\n\t\t\t\tdisable( 3042 );\n\t\t\t\tcurrentBlendingEnabled = false;\n\n\t\t\t}\n\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( currentBlendingEnabled === false ) {\n\n\t\t\tenable( 3042 );\n\t\t\tcurrentBlendingEnabled = true;\n\n\t\t}\n\n\t\tif ( blending !== CustomBlending ) {\n\n\t\t\tif ( blending !== currentBlending || premultipliedAlpha !== currentPremultipledAlpha ) {\n\n\t\t\t\tif ( currentBlendEquation !== AddEquation || currentBlendEquationAlpha !== AddEquation ) {\n\n\t\t\t\t\tgl.blendEquation( 32774 );\n\n\t\t\t\t\tcurrentBlendEquation = AddEquation;\n\t\t\t\t\tcurrentBlendEquationAlpha = AddEquation;\n\n\t\t\t\t}\n\n\t\t\t\tif ( premultipliedAlpha ) {\n\n\t\t\t\t\tswitch ( blending ) {\n\n\t\t\t\t\t\tcase NormalBlending:\n\t\t\t\t\t\t\tgl.blendFuncSeparate( 1, 771, 1, 771 );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase AdditiveBlending:\n\t\t\t\t\t\t\tgl.blendFunc( 1, 1 );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase SubtractiveBlending:\n\t\t\t\t\t\t\tgl.blendFuncSeparate( 0, 769, 0, 1 );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase MultiplyBlending:\n\t\t\t\t\t\t\tgl.blendFuncSeparate( 0, 768, 0, 770 );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tconsole.error( 'THREE.WebGLState: Invalid blending: ', blending );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tswitch ( blending ) {\n\n\t\t\t\t\t\tcase NormalBlending:\n\t\t\t\t\t\t\tgl.blendFuncSeparate( 770, 771, 1, 771 );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase AdditiveBlending:\n\t\t\t\t\t\t\tgl.blendFunc( 770, 1 );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase SubtractiveBlending:\n\t\t\t\t\t\t\tgl.blendFuncSeparate( 0, 769, 0, 1 );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase MultiplyBlending:\n\t\t\t\t\t\t\tgl.blendFunc( 0, 768 );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tconsole.error( 'THREE.WebGLState: Invalid blending: ', blending );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tcurrentBlendSrc = null;\n\t\t\t\tcurrentBlendDst = null;\n\t\t\t\tcurrentBlendSrcAlpha = null;\n\t\t\t\tcurrentBlendDstAlpha = null;\n\n\t\t\t\tcurrentBlending = blending;\n\t\t\t\tcurrentPremultipledAlpha = premultipliedAlpha;\n\n\t\t\t}\n\n\t\t\treturn;\n\n\t\t}\n\n\t\t// custom blending\n\n\t\tblendEquationAlpha = blendEquationAlpha || blendEquation;\n\t\tblendSrcAlpha = blendSrcAlpha || blendSrc;\n\t\tblendDstAlpha = blendDstAlpha || blendDst;\n\n\t\tif ( blendEquation !== currentBlendEquation || blendEquationAlpha !== currentBlendEquationAlpha ) {\n\n\t\t\tgl.blendEquationSeparate( equationToGL[ blendEquation ], equationToGL[ blendEquationAlpha ] );\n\n\t\t\tcurrentBlendEquation = blendEquation;\n\t\t\tcurrentBlendEquationAlpha = blendEquationAlpha;\n\n\t\t}\n\n\t\tif ( blendSrc !== currentBlendSrc || blendDst !== currentBlendDst || blendSrcAlpha !== currentBlendSrcAlpha || blendDstAlpha !== currentBlendDstAlpha ) {\n\n\t\t\tgl.blendFuncSeparate( factorToGL[ blendSrc ], factorToGL[ blendDst ], factorToGL[ blendSrcAlpha ], factorToGL[ blendDstAlpha ] );\n\n\t\t\tcurrentBlendSrc = blendSrc;\n\t\t\tcurrentBlendDst = blendDst;\n\t\t\tcurrentBlendSrcAlpha = blendSrcAlpha;\n\t\t\tcurrentBlendDstAlpha = blendDstAlpha;\n\n\t\t}\n\n\t\tcurrentBlending = blending;\n\t\tcurrentPremultipledAlpha = null;\n\n\t}\n\n\tfunction setMaterial( material, frontFaceCW ) {\n\n\t\tmaterial.side === DoubleSide\n\t\t\t? disable( 2884 )\n\t\t\t: enable( 2884 );\n\n\t\tlet flipSided = ( material.side === BackSide );\n\t\tif ( frontFaceCW ) flipSided = ! flipSided;\n\n\t\tsetFlipSided( flipSided );\n\n\t\t( material.blending === NormalBlending && material.transparent === false )\n\t\t\t? setBlending( NoBlending )\n\t\t\t: setBlending( material.blending, material.blendEquation, material.blendSrc, material.blendDst, material.blendEquationAlpha, material.blendSrcAlpha, material.blendDstAlpha, material.premultipliedAlpha );\n\n\t\tdepthBuffer.setFunc( material.depthFunc );\n\t\tdepthBuffer.setTest( material.depthTest );\n\t\tdepthBuffer.setMask( material.depthWrite );\n\t\tcolorBuffer.setMask( material.colorWrite );\n\n\t\tconst stencilWrite = material.stencilWrite;\n\t\tstencilBuffer.setTest( stencilWrite );\n\t\tif ( stencilWrite ) {\n\n\t\t\tstencilBuffer.setMask( material.stencilWriteMask );\n\t\t\tstencilBuffer.setFunc( material.stencilFunc, material.stencilRef, material.stencilFuncMask );\n\t\t\tstencilBuffer.setOp( material.stencilFail, material.stencilZFail, material.stencilZPass );\n\n\t\t}\n\n\t\tsetPolygonOffset( material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits );\n\n\t\tmaterial.alphaToCoverage === true\n\t\t\t? enable( 32926 )\n\t\t\t: disable( 32926 );\n\n\t}\n\n\t//\n\n\tfunction setFlipSided( flipSided ) {\n\n\t\tif ( currentFlipSided !== flipSided ) {\n\n\t\t\tif ( flipSided ) {\n\n\t\t\t\tgl.frontFace( 2304 );\n\n\t\t\t} else {\n\n\t\t\t\tgl.frontFace( 2305 );\n\n\t\t\t}\n\n\t\t\tcurrentFlipSided = flipSided;\n\n\t\t}\n\n\t}\n\n\tfunction setCullFace( cullFace ) {\n\n\t\tif ( cullFace !== CullFaceNone ) {\n\n\t\t\tenable( 2884 );\n\n\t\t\tif ( cullFace !== currentCullFace ) {\n\n\t\t\t\tif ( cullFace === CullFaceBack ) {\n\n\t\t\t\t\tgl.cullFace( 1029 );\n\n\t\t\t\t} else if ( cullFace === CullFaceFront ) {\n\n\t\t\t\t\tgl.cullFace( 1028 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tgl.cullFace( 1032 );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tdisable( 2884 );\n\n\t\t}\n\n\t\tcurrentCullFace = cullFace;\n\n\t}\n\n\tfunction setLineWidth( width ) {\n\n\t\tif ( width !== currentLineWidth ) {\n\n\t\t\tif ( lineWidthAvailable ) gl.lineWidth( width );\n\n\t\t\tcurrentLineWidth = width;\n\n\t\t}\n\n\t}\n\n\tfunction setPolygonOffset( polygonOffset, factor, units ) {\n\n\t\tif ( polygonOffset ) {\n\n\t\t\tenable( 32823 );\n\n\t\t\tif ( currentPolygonOffsetFactor !== factor || currentPolygonOffsetUnits !== units ) {\n\n\t\t\t\tgl.polygonOffset( factor, units );\n\n\t\t\t\tcurrentPolygonOffsetFactor = factor;\n\t\t\t\tcurrentPolygonOffsetUnits = units;\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tdisable( 32823 );\n\n\t\t}\n\n\t}\n\n\tfunction setScissorTest( scissorTest ) {\n\n\t\tif ( scissorTest ) {\n\n\t\t\tenable( 3089 );\n\n\t\t} else {\n\n\t\t\tdisable( 3089 );\n\n\t\t}\n\n\t}\n\n\t// texture\n\n\tfunction activeTexture( webglSlot ) {\n\n\t\tif ( webglSlot === undefined ) webglSlot = 33984 + maxTextures - 1;\n\n\t\tif ( currentTextureSlot !== webglSlot ) {\n\n\t\t\tgl.activeTexture( webglSlot );\n\t\t\tcurrentTextureSlot = webglSlot;\n\n\t\t}\n\n\t}\n\n\tfunction bindTexture( webglType, webglTexture ) {\n\n\t\tif ( currentTextureSlot === null ) {\n\n\t\t\tactiveTexture();\n\n\t\t}\n\n\t\tlet boundTexture = currentBoundTextures[ currentTextureSlot ];\n\n\t\tif ( boundTexture === undefined ) {\n\n\t\t\tboundTexture = { type: undefined, texture: undefined };\n\t\t\tcurrentBoundTextures[ currentTextureSlot ] = boundTexture;\n\n\t\t}\n\n\t\tif ( boundTexture.type !== webglType || boundTexture.texture !== webglTexture ) {\n\n\t\t\tgl.bindTexture( webglType, webglTexture || emptyTextures[ webglType ] );\n\n\t\t\tboundTexture.type = webglType;\n\t\t\tboundTexture.texture = webglTexture;\n\n\t\t}\n\n\t}\n\n\tfunction unbindTexture() {\n\n\t\tconst boundTexture = currentBoundTextures[ currentTextureSlot ];\n\n\t\tif ( boundTexture !== undefined && boundTexture.type !== undefined ) {\n\n\t\t\tgl.bindTexture( boundTexture.type, null );\n\n\t\t\tboundTexture.type = undefined;\n\t\t\tboundTexture.texture = undefined;\n\n\t\t}\n\n\t}\n\n\tfunction compressedTexImage2D() {\n\n\t\ttry {\n\n\t\t\tgl.compressedTexImage2D.apply( gl, arguments );\n\n\t\t} catch ( error ) {\n\n\t\t\tconsole.error( 'THREE.WebGLState:', error );\n\n\t\t}\n\n\t}\n\n\tfunction texSubImage2D() {\n\n\t\ttry {\n\n\t\t\tgl.texSubImage2D.apply( gl, arguments );\n\n\t\t} catch ( error ) {\n\n\t\t\tconsole.error( 'THREE.WebGLState:', error );\n\n\t\t}\n\n\t}\n\n\tfunction texSubImage3D() {\n\n\t\ttry {\n\n\t\t\tgl.texSubImage3D.apply( gl, arguments );\n\n\t\t} catch ( error ) {\n\n\t\t\tconsole.error( 'THREE.WebGLState:', error );\n\n\t\t}\n\n\t}\n\n\tfunction compressedTexSubImage2D() {\n\n\t\ttry {\n\n\t\t\tgl.compressedTexSubImage2D.apply( gl, arguments );\n\n\t\t} catch ( error ) {\n\n\t\t\tconsole.error( 'THREE.WebGLState:', error );\n\n\t\t}\n\n\t}\n\n\tfunction texStorage2D() {\n\n\t\ttry {\n\n\t\t\tgl.texStorage2D.apply( gl, arguments );\n\n\t\t} catch ( error ) {\n\n\t\t\tconsole.error( 'THREE.WebGLState:', error );\n\n\t\t}\n\n\t}\n\n\tfunction texStorage3D() {\n\n\t\ttry {\n\n\t\t\tgl.texStorage3D.apply( gl, arguments );\n\n\t\t} catch ( error ) {\n\n\t\t\tconsole.error( 'THREE.WebGLState:', error );\n\n\t\t}\n\n\t}\n\n\tfunction texImage2D() {\n\n\t\ttry {\n\n\t\t\tgl.texImage2D.apply( gl, arguments );\n\n\t\t} catch ( error ) {\n\n\t\t\tconsole.error( 'THREE.WebGLState:', error );\n\n\t\t}\n\n\t}\n\n\tfunction texImage3D() {\n\n\t\ttry {\n\n\t\t\tgl.texImage3D.apply( gl, arguments );\n\n\t\t} catch ( error ) {\n\n\t\t\tconsole.error( 'THREE.WebGLState:', error );\n\n\t\t}\n\n\t}\n\n\t//\n\n\tfunction scissor( scissor ) {\n\n\t\tif ( currentScissor.equals( scissor ) === false ) {\n\n\t\t\tgl.scissor( scissor.x, scissor.y, scissor.z, scissor.w );\n\t\t\tcurrentScissor.copy( scissor );\n\n\t\t}\n\n\t}\n\n\tfunction viewport( viewport ) {\n\n\t\tif ( currentViewport.equals( viewport ) === false ) {\n\n\t\t\tgl.viewport( viewport.x, viewport.y, viewport.z, viewport.w );\n\t\t\tcurrentViewport.copy( viewport );\n\n\t\t}\n\n\t}\n\n\tfunction updateUBOMapping( uniformsGroup, program ) {\n\n\t\tlet mapping = uboProgamMap.get( program );\n\n\t\tif ( mapping === undefined ) {\n\n\t\t\tmapping = new WeakMap();\n\n\t\t\tuboProgamMap.set( program, mapping );\n\n\t\t}\n\n\t\tlet blockIndex = mapping.get( uniformsGroup );\n\n\t\tif ( blockIndex === undefined ) {\n\n\t\t\tblockIndex = gl.getUniformBlockIndex( program, uniformsGroup.name );\n\n\t\t\tmapping.set( uniformsGroup, blockIndex );\n\n\t\t}\n\n\t}\n\n\tfunction uniformBlockBinding( uniformsGroup, program ) {\n\n\t\tconst mapping = uboProgamMap.get( program );\n\t\tconst blockIndex = mapping.get( uniformsGroup );\n\n\t\tif ( uboBindings.get( uniformsGroup ) !== blockIndex ) {\n\n\t\t\t// bind shader specific block index to global block point\n\n\t\t\tgl.uniformBlockBinding( program, blockIndex, uniformsGroup.__bindingPointIndex );\n\n\t\t\tuboBindings.set( uniformsGroup, blockIndex );\n\n\t\t}\n\n\t}\n\n\t//\n\n\tfunction reset() {\n\n\t\t// reset state\n\n\t\tgl.disable( 3042 );\n\t\tgl.disable( 2884 );\n\t\tgl.disable( 2929 );\n\t\tgl.disable( 32823 );\n\t\tgl.disable( 3089 );\n\t\tgl.disable( 2960 );\n\t\tgl.disable( 32926 );\n\n\t\tgl.blendEquation( 32774 );\n\t\tgl.blendFunc( 1, 0 );\n\t\tgl.blendFuncSeparate( 1, 0, 1, 0 );\n\n\t\tgl.colorMask( true, true, true, true );\n\t\tgl.clearColor( 0, 0, 0, 0 );\n\n\t\tgl.depthMask( true );\n\t\tgl.depthFunc( 513 );\n\t\tgl.clearDepth( 1 );\n\n\t\tgl.stencilMask( 0xffffffff );\n\t\tgl.stencilFunc( 519, 0, 0xffffffff );\n\t\tgl.stencilOp( 7680, 7680, 7680 );\n\t\tgl.clearStencil( 0 );\n\n\t\tgl.cullFace( 1029 );\n\t\tgl.frontFace( 2305 );\n\n\t\tgl.polygonOffset( 0, 0 );\n\n\t\tgl.activeTexture( 33984 );\n\n\t\tgl.bindFramebuffer( 36160, null );\n\n\t\tif ( isWebGL2 === true ) {\n\n\t\t\tgl.bindFramebuffer( 36009, null );\n\t\t\tgl.bindFramebuffer( 36008, null );\n\n\t\t}\n\n\t\tgl.useProgram( null );\n\n\t\tgl.lineWidth( 1 );\n\n\t\tgl.scissor( 0, 0, gl.canvas.width, gl.canvas.height );\n\t\tgl.viewport( 0, 0, gl.canvas.width, gl.canvas.height );\n\n\t\t// reset internals\n\n\t\tenabledCapabilities = {};\n\n\t\tcurrentTextureSlot = null;\n\t\tcurrentBoundTextures = {};\n\n\t\tcurrentBoundFramebuffers = {};\n\t\tcurrentDrawbuffers = new WeakMap();\n\t\tdefaultDrawbuffers = [];\n\n\t\tcurrentProgram = null;\n\n\t\tcurrentBlendingEnabled = false;\n\t\tcurrentBlending = null;\n\t\tcurrentBlendEquation = null;\n\t\tcurrentBlendSrc = null;\n\t\tcurrentBlendDst = null;\n\t\tcurrentBlendEquationAlpha = null;\n\t\tcurrentBlendSrcAlpha = null;\n\t\tcurrentBlendDstAlpha = null;\n\t\tcurrentPremultipledAlpha = false;\n\n\t\tcurrentFlipSided = null;\n\t\tcurrentCullFace = null;\n\n\t\tcurrentLineWidth = null;\n\n\t\tcurrentPolygonOffsetFactor = null;\n\t\tcurrentPolygonOffsetUnits = null;\n\n\t\tcurrentScissor.set( 0, 0, gl.canvas.width, gl.canvas.height );\n\t\tcurrentViewport.set( 0, 0, gl.canvas.width, gl.canvas.height );\n\n\t\tcolorBuffer.reset();\n\t\tdepthBuffer.reset();\n\t\tstencilBuffer.reset();\n\n\t}\n\n\treturn {\n\n\t\tbuffers: {\n\t\t\tcolor: colorBuffer,\n\t\t\tdepth: depthBuffer,\n\t\t\tstencil: stencilBuffer\n\t\t},\n\n\t\tenable: enable,\n\t\tdisable: disable,\n\n\t\tbindFramebuffer: bindFramebuffer,\n\t\tdrawBuffers: drawBuffers,\n\n\t\tuseProgram: useProgram,\n\n\t\tsetBlending: setBlending,\n\t\tsetMaterial: setMaterial,\n\n\t\tsetFlipSided: setFlipSided,\n\t\tsetCullFace: setCullFace,\n\n\t\tsetLineWidth: setLineWidth,\n\t\tsetPolygonOffset: setPolygonOffset,\n\n\t\tsetScissorTest: setScissorTest,\n\n\t\tactiveTexture: activeTexture,\n\t\tbindTexture: bindTexture,\n\t\tunbindTexture: unbindTexture,\n\t\tcompressedTexImage2D: compressedTexImage2D,\n\t\ttexImage2D: texImage2D,\n\t\ttexImage3D: texImage3D,\n\n\t\tupdateUBOMapping: updateUBOMapping,\n\t\tuniformBlockBinding: uniformBlockBinding,\n\n\t\ttexStorage2D: texStorage2D,\n\t\ttexStorage3D: texStorage3D,\n\t\ttexSubImage2D: texSubImage2D,\n\t\ttexSubImage3D: texSubImage3D,\n\t\tcompressedTexSubImage2D: compressedTexSubImage2D,\n\n\t\tscissor: scissor,\n\t\tviewport: viewport,\n\n\t\treset: reset\n\n\t};\n\n}\n\nfunction WebGLTextures( _gl, extensions, state, properties, capabilities, utils, info ) {\n\n\tconst isWebGL2 = capabilities.isWebGL2;\n\tconst maxTextures = capabilities.maxTextures;\n\tconst maxCubemapSize = capabilities.maxCubemapSize;\n\tconst maxTextureSize = capabilities.maxTextureSize;\n\tconst maxSamples = capabilities.maxSamples;\n\tconst multisampledRTTExt = extensions.has( 'WEBGL_multisampled_render_to_texture' ) ? extensions.get( 'WEBGL_multisampled_render_to_texture' ) : null;\n\tconst supportsInvalidateFramebuffer = /OculusBrowser/g.test( navigator.userAgent );\n\n\tconst _videoTextures = new WeakMap();\n\tlet _canvas;\n\n\tconst _sources = new WeakMap(); // maps WebglTexture objects to instances of Source\n\n\t// cordova iOS (as of 5.0) still uses UIWebView, which provides OffscreenCanvas,\n\t// also OffscreenCanvas.getContext(\"webgl\"), but not OffscreenCanvas.getContext(\"2d\")!\n\t// Some implementations may only implement OffscreenCanvas partially (e.g. lacking 2d).\n\n\tlet useOffscreenCanvas = false;\n\n\ttry {\n\n\t\tuseOffscreenCanvas = typeof OffscreenCanvas !== 'undefined'\n\t\t\t// eslint-disable-next-line compat/compat\n\t\t\t&& ( new OffscreenCanvas( 1, 1 ).getContext( '2d' ) ) !== null;\n\n\t} catch ( err ) {\n\n\t\t// Ignore any errors\n\n\t}\n\n\tfunction createCanvas( width, height ) {\n\n\t\t// Use OffscreenCanvas when available. Specially needed in web workers\n\n\t\treturn useOffscreenCanvas ?\n\t\t\t// eslint-disable-next-line compat/compat\n\t\t\tnew OffscreenCanvas( width, height ) : createElementNS( 'canvas' );\n\n\t}\n\n\tfunction resizeImage( image, needsPowerOfTwo, needsNewCanvas, maxSize ) {\n\n\t\tlet scale = 1;\n\n\t\t// handle case if texture exceeds max size\n\n\t\tif ( image.width > maxSize || image.height > maxSize ) {\n\n\t\t\tscale = maxSize / Math.max( image.width, image.height );\n\n\t\t}\n\n\t\t// only perform resize if necessary\n\n\t\tif ( scale < 1 || needsPowerOfTwo === true ) {\n\n\t\t\t// only perform resize for certain image types\n\n\t\t\tif ( ( typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement ) ||\n\t\t\t\t( typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement ) ||\n\t\t\t\t( typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap ) ) {\n\n\t\t\t\tconst floor = needsPowerOfTwo ? floorPowerOfTwo : Math.floor;\n\n\t\t\t\tconst width = floor( scale * image.width );\n\t\t\t\tconst height = floor( scale * image.height );\n\n\t\t\t\tif ( _canvas === undefined ) _canvas = createCanvas( width, height );\n\n\t\t\t\t// cube textures can't reuse the same canvas\n\n\t\t\t\tconst canvas = needsNewCanvas ? createCanvas( width, height ) : _canvas;\n\n\t\t\t\tcanvas.width = width;\n\t\t\t\tcanvas.height = height;\n\n\t\t\t\tconst context = canvas.getContext( '2d' );\n\t\t\t\tcontext.drawImage( image, 0, 0, width, height );\n\n\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Texture has been resized from (' + image.width + 'x' + image.height + ') to (' + width + 'x' + height + ').' );\n\n\t\t\t\treturn canvas;\n\n\t\t\t} else {\n\n\t\t\t\tif ( 'data' in image ) {\n\n\t\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Image in DataTexture is too big (' + image.width + 'x' + image.height + ').' );\n\n\t\t\t\t}\n\n\t\t\t\treturn image;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn image;\n\n\t}\n\n\tfunction isPowerOfTwo$1( image ) {\n\n\t\treturn isPowerOfTwo( image.width ) && isPowerOfTwo( image.height );\n\n\t}\n\n\tfunction textureNeedsPowerOfTwo( texture ) {\n\n\t\tif ( isWebGL2 ) return false;\n\n\t\treturn ( texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping ) ||\n\t\t\t( texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter );\n\n\t}\n\n\tfunction textureNeedsGenerateMipmaps( texture, supportsMips ) {\n\n\t\treturn texture.generateMipmaps && supportsMips &&\n\t\t\ttexture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter;\n\n\t}\n\n\tfunction generateMipmap( target ) {\n\n\t\t_gl.generateMipmap( target );\n\n\t}\n\n\tfunction getInternalFormat( internalFormatName, glFormat, glType, encoding, isVideoTexture = false ) {\n\n\t\tif ( isWebGL2 === false ) return glFormat;\n\n\t\tif ( internalFormatName !== null ) {\n\n\t\t\tif ( _gl[ internalFormatName ] !== undefined ) return _gl[ internalFormatName ];\n\n\t\t\tconsole.warn( 'THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format \\'' + internalFormatName + '\\'' );\n\n\t\t}\n\n\t\tlet internalFormat = glFormat;\n\n\t\tif ( glFormat === 6403 ) {\n\n\t\t\tif ( glType === 5126 ) internalFormat = 33326;\n\t\t\tif ( glType === 5131 ) internalFormat = 33325;\n\t\t\tif ( glType === 5121 ) internalFormat = 33321;\n\n\t\t}\n\n\t\tif ( glFormat === 33319 ) {\n\n\t\t\tif ( glType === 5126 ) internalFormat = 33328;\n\t\t\tif ( glType === 5131 ) internalFormat = 33327;\n\t\t\tif ( glType === 5121 ) internalFormat = 33323;\n\n\t\t}\n\n\t\tif ( glFormat === 6408 ) {\n\n\t\t\tif ( glType === 5126 ) internalFormat = 34836;\n\t\t\tif ( glType === 5131 ) internalFormat = 34842;\n\t\t\tif ( glType === 5121 ) internalFormat = ( encoding === sRGBEncoding && isVideoTexture === false ) ? 35907 : 32856;\n\t\t\tif ( glType === 32819 ) internalFormat = 32854;\n\t\t\tif ( glType === 32820 ) internalFormat = 32855;\n\n\t\t}\n\n\t\tif ( internalFormat === 33325 || internalFormat === 33326 ||\n\t\t\tinternalFormat === 33327 || internalFormat === 33328 ||\n\t\t\tinternalFormat === 34842 || internalFormat === 34836 ) {\n\n\t\t\textensions.get( 'EXT_color_buffer_float' );\n\n\t\t}\n\n\t\treturn internalFormat;\n\n\t}\n\n\tfunction getMipLevels( texture, image, supportsMips ) {\n\n\t\tif ( textureNeedsGenerateMipmaps( texture, supportsMips ) === true || ( texture.isFramebufferTexture && texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter ) ) {\n\n\t\t\treturn Math.log2( Math.max( image.width, image.height ) ) + 1;\n\n\t\t} else if ( texture.mipmaps !== undefined && texture.mipmaps.length > 0 ) {\n\n\t\t\t// user-defined mipmaps\n\n\t\t\treturn texture.mipmaps.length;\n\n\t\t} else if ( texture.isCompressedTexture && Array.isArray( texture.image ) ) {\n\n\t\t\treturn image.mipmaps.length;\n\n\t\t} else {\n\n\t\t\t// texture without mipmaps (only base level)\n\n\t\t\treturn 1;\n\n\t\t}\n\n\t}\n\n\t// Fallback filters for non-power-of-2 textures\n\n\tfunction filterFallback( f ) {\n\n\t\tif ( f === NearestFilter || f === NearestMipmapNearestFilter || f === NearestMipmapLinearFilter ) {\n\n\t\t\treturn 9728;\n\n\t\t}\n\n\t\treturn 9729;\n\n\t}\n\n\t//\n\n\tfunction onTextureDispose( event ) {\n\n\t\tconst texture = event.target;\n\n\t\ttexture.removeEventListener( 'dispose', onTextureDispose );\n\n\t\tdeallocateTexture( texture );\n\n\t\tif ( texture.isVideoTexture ) {\n\n\t\t\t_videoTextures.delete( texture );\n\n\t\t}\n\n\t}\n\n\tfunction onRenderTargetDispose( event ) {\n\n\t\tconst renderTarget = event.target;\n\n\t\trenderTarget.removeEventListener( 'dispose', onRenderTargetDispose );\n\n\t\tdeallocateRenderTarget( renderTarget );\n\n\t}\n\n\t//\n\n\tfunction deallocateTexture( texture ) {\n\n\t\tconst textureProperties = properties.get( texture );\n\n\t\tif ( textureProperties.__webglInit === undefined ) return;\n\n\t\t// check if it's necessary to remove the WebGLTexture object\n\n\t\tconst source = texture.source;\n\t\tconst webglTextures = _sources.get( source );\n\n\t\tif ( webglTextures ) {\n\n\t\t\tconst webglTexture = webglTextures[ textureProperties.__cacheKey ];\n\t\t\twebglTexture.usedTimes --;\n\n\t\t\t// the WebGLTexture object is not used anymore, remove it\n\n\t\t\tif ( webglTexture.usedTimes === 0 ) {\n\n\t\t\t\tdeleteTexture( texture );\n\n\t\t\t}\n\n\t\t\t// remove the weak map entry if no WebGLTexture uses the source anymore\n\n\t\t\tif ( Object.keys( webglTextures ).length === 0 ) {\n\n\t\t\t\t_sources.delete( source );\n\n\t\t\t}\n\n\t\t}\n\n\t\tproperties.remove( texture );\n\n\t}\n\n\tfunction deleteTexture( texture ) {\n\n\t\tconst textureProperties = properties.get( texture );\n\t\t_gl.deleteTexture( textureProperties.__webglTexture );\n\n\t\tconst source = texture.source;\n\t\tconst webglTextures = _sources.get( source );\n\t\tdelete webglTextures[ textureProperties.__cacheKey ];\n\n\t\tinfo.memory.textures --;\n\n\t}\n\n\tfunction deallocateRenderTarget( renderTarget ) {\n\n\t\tconst texture = renderTarget.texture;\n\n\t\tconst renderTargetProperties = properties.get( renderTarget );\n\t\tconst textureProperties = properties.get( texture );\n\n\t\tif ( textureProperties.__webglTexture !== undefined ) {\n\n\t\t\t_gl.deleteTexture( textureProperties.__webglTexture );\n\n\t\t\tinfo.memory.textures --;\n\n\t\t}\n\n\t\tif ( renderTarget.depthTexture ) {\n\n\t\t\trenderTarget.depthTexture.dispose();\n\n\t\t}\n\n\t\tif ( renderTarget.isWebGLCubeRenderTarget ) {\n\n\t\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\t\t_gl.deleteFramebuffer( renderTargetProperties.__webglFramebuffer[ i ] );\n\t\t\t\tif ( renderTargetProperties.__webglDepthbuffer ) _gl.deleteRenderbuffer( renderTargetProperties.__webglDepthbuffer[ i ] );\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t_gl.deleteFramebuffer( renderTargetProperties.__webglFramebuffer );\n\t\t\tif ( renderTargetProperties.__webglDepthbuffer ) _gl.deleteRenderbuffer( renderTargetProperties.__webglDepthbuffer );\n\t\t\tif ( renderTargetProperties.__webglMultisampledFramebuffer ) _gl.deleteFramebuffer( renderTargetProperties.__webglMultisampledFramebuffer );\n\n\t\t\tif ( renderTargetProperties.__webglColorRenderbuffer ) {\n\n\t\t\t\tfor ( let i = 0; i < renderTargetProperties.__webglColorRenderbuffer.length; i ++ ) {\n\n\t\t\t\t\tif ( renderTargetProperties.__webglColorRenderbuffer[ i ] ) _gl.deleteRenderbuffer( renderTargetProperties.__webglColorRenderbuffer[ i ] );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( renderTargetProperties.__webglDepthRenderbuffer ) _gl.deleteRenderbuffer( renderTargetProperties.__webglDepthRenderbuffer );\n\n\t\t}\n\n\t\tif ( renderTarget.isWebGLMultipleRenderTargets ) {\n\n\t\t\tfor ( let i = 0, il = texture.length; i < il; i ++ ) {\n\n\t\t\t\tconst attachmentProperties = properties.get( texture[ i ] );\n\n\t\t\t\tif ( attachmentProperties.__webglTexture ) {\n\n\t\t\t\t\t_gl.deleteTexture( attachmentProperties.__webglTexture );\n\n\t\t\t\t\tinfo.memory.textures --;\n\n\t\t\t\t}\n\n\t\t\t\tproperties.remove( texture[ i ] );\n\n\t\t\t}\n\n\t\t}\n\n\t\tproperties.remove( texture );\n\t\tproperties.remove( renderTarget );\n\n\t}\n\n\t//\n\n\tlet textureUnits = 0;\n\n\tfunction resetTextureUnits() {\n\n\t\ttextureUnits = 0;\n\n\t}\n\n\tfunction allocateTextureUnit() {\n\n\t\tconst textureUnit = textureUnits;\n\n\t\tif ( textureUnit >= maxTextures ) {\n\n\t\t\tconsole.warn( 'THREE.WebGLTextures: Trying to use ' + textureUnit + ' texture units while this GPU supports only ' + maxTextures );\n\n\t\t}\n\n\t\ttextureUnits += 1;\n\n\t\treturn textureUnit;\n\n\t}\n\n\tfunction getTextureCacheKey( texture ) {\n\n\t\tconst array = [];\n\n\t\tarray.push( texture.wrapS );\n\t\tarray.push( texture.wrapT );\n\t\tarray.push( texture.magFilter );\n\t\tarray.push( texture.minFilter );\n\t\tarray.push( texture.anisotropy );\n\t\tarray.push( texture.internalFormat );\n\t\tarray.push( texture.format );\n\t\tarray.push( texture.type );\n\t\tarray.push( texture.generateMipmaps );\n\t\tarray.push( texture.premultiplyAlpha );\n\t\tarray.push( texture.flipY );\n\t\tarray.push( texture.unpackAlignment );\n\t\tarray.push( texture.encoding );\n\n\t\treturn array.join();\n\n\t}\n\n\t//\n\n\tfunction setTexture2D( texture, slot ) {\n\n\t\tconst textureProperties = properties.get( texture );\n\n\t\tif ( texture.isVideoTexture ) updateVideoTexture( texture );\n\n\t\tif ( texture.isRenderTargetTexture === false && texture.version > 0 && textureProperties.__version !== texture.version ) {\n\n\t\t\tconst image = texture.image;\n\n\t\t\tif ( image === null ) {\n\n\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Texture marked for update but no image data found.' );\n\n\t\t\t} else if ( image.complete === false ) {\n\n\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Texture marked for update but image is incomplete' );\n\n\t\t\t} else {\n\n\t\t\t\tuploadTexture( textureProperties, texture, slot );\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t}\n\n\t\tstate.activeTexture( 33984 + slot );\n\t\tstate.bindTexture( 3553, textureProperties.__webglTexture );\n\n\t}\n\n\tfunction setTexture2DArray( texture, slot ) {\n\n\t\tconst textureProperties = properties.get( texture );\n\n\t\tif ( texture.version > 0 && textureProperties.__version !== texture.version ) {\n\n\t\t\tuploadTexture( textureProperties, texture, slot );\n\t\t\treturn;\n\n\t\t}\n\n\t\tstate.activeTexture( 33984 + slot );\n\t\tstate.bindTexture( 35866, textureProperties.__webglTexture );\n\n\t}\n\n\tfunction setTexture3D( texture, slot ) {\n\n\t\tconst textureProperties = properties.get( texture );\n\n\t\tif ( texture.version > 0 && textureProperties.__version !== texture.version ) {\n\n\t\t\tuploadTexture( textureProperties, texture, slot );\n\t\t\treturn;\n\n\t\t}\n\n\t\tstate.activeTexture( 33984 + slot );\n\t\tstate.bindTexture( 32879, textureProperties.__webglTexture );\n\n\t}\n\n\tfunction setTextureCube( texture, slot ) {\n\n\t\tconst textureProperties = properties.get( texture );\n\n\t\tif ( texture.version > 0 && textureProperties.__version !== texture.version ) {\n\n\t\t\tuploadCubeTexture( textureProperties, texture, slot );\n\t\t\treturn;\n\n\t\t}\n\n\t\tstate.activeTexture( 33984 + slot );\n\t\tstate.bindTexture( 34067, textureProperties.__webglTexture );\n\n\t}\n\n\tconst wrappingToGL = {\n\t\t[ RepeatWrapping ]: 10497,\n\t\t[ ClampToEdgeWrapping ]: 33071,\n\t\t[ MirroredRepeatWrapping ]: 33648\n\t};\n\n\tconst filterToGL = {\n\t\t[ NearestFilter ]: 9728,\n\t\t[ NearestMipmapNearestFilter ]: 9984,\n\t\t[ NearestMipmapLinearFilter ]: 9986,\n\n\t\t[ LinearFilter ]: 9729,\n\t\t[ LinearMipmapNearestFilter ]: 9985,\n\t\t[ LinearMipmapLinearFilter ]: 9987\n\t};\n\n\tfunction setTextureParameters( textureType, texture, supportsMips ) {\n\n\t\tif ( supportsMips ) {\n\n\t\t\t_gl.texParameteri( textureType, 10242, wrappingToGL[ texture.wrapS ] );\n\t\t\t_gl.texParameteri( textureType, 10243, wrappingToGL[ texture.wrapT ] );\n\n\t\t\tif ( textureType === 32879 || textureType === 35866 ) {\n\n\t\t\t\t_gl.texParameteri( textureType, 32882, wrappingToGL[ texture.wrapR ] );\n\n\t\t\t}\n\n\t\t\t_gl.texParameteri( textureType, 10240, filterToGL[ texture.magFilter ] );\n\t\t\t_gl.texParameteri( textureType, 10241, filterToGL[ texture.minFilter ] );\n\n\t\t} else {\n\n\t\t\t_gl.texParameteri( textureType, 10242, 33071 );\n\t\t\t_gl.texParameteri( textureType, 10243, 33071 );\n\n\t\t\tif ( textureType === 32879 || textureType === 35866 ) {\n\n\t\t\t\t_gl.texParameteri( textureType, 32882, 33071 );\n\n\t\t\t}\n\n\t\t\tif ( texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping ) {\n\n\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.' );\n\n\t\t\t}\n\n\t\t\t_gl.texParameteri( textureType, 10240, filterFallback( texture.magFilter ) );\n\t\t\t_gl.texParameteri( textureType, 10241, filterFallback( texture.minFilter ) );\n\n\t\t\tif ( texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter ) {\n\n\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.' );\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( extensions.has( 'EXT_texture_filter_anisotropic' ) === true ) {\n\n\t\t\tconst extension = extensions.get( 'EXT_texture_filter_anisotropic' );\n\n\t\t\tif ( texture.type === FloatType && extensions.has( 'OES_texture_float_linear' ) === false ) return; // verify extension for WebGL 1 and WebGL 2\n\t\t\tif ( isWebGL2 === false && ( texture.type === HalfFloatType && extensions.has( 'OES_texture_half_float_linear' ) === false ) ) return; // verify extension for WebGL 1 only\n\n\t\t\tif ( texture.anisotropy > 1 || properties.get( texture ).__currentAnisotropy ) {\n\n\t\t\t\t_gl.texParameterf( textureType, extension.TEXTURE_MAX_ANISOTROPY_EXT, Math.min( texture.anisotropy, capabilities.getMaxAnisotropy() ) );\n\t\t\t\tproperties.get( texture ).__currentAnisotropy = texture.anisotropy;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tfunction initTexture( textureProperties, texture ) {\n\n\t\tlet forceUpload = false;\n\n\t\tif ( textureProperties.__webglInit === undefined ) {\n\n\t\t\ttextureProperties.__webglInit = true;\n\n\t\t\ttexture.addEventListener( 'dispose', onTextureDispose );\n\n\t\t}\n\n\t\t// create Source <-> WebGLTextures mapping if necessary\n\n\t\tconst source = texture.source;\n\t\tlet webglTextures = _sources.get( source );\n\n\t\tif ( webglTextures === undefined ) {\n\n\t\t\twebglTextures = {};\n\t\t\t_sources.set( source, webglTextures );\n\n\t\t}\n\n\t\t// check if there is already a WebGLTexture object for the given texture parameters\n\n\t\tconst textureCacheKey = getTextureCacheKey( texture );\n\n\t\tif ( textureCacheKey !== textureProperties.__cacheKey ) {\n\n\t\t\t// if not, create a new instance of WebGLTexture\n\n\t\t\tif ( webglTextures[ textureCacheKey ] === undefined ) {\n\n\t\t\t\t// create new entry\n\n\t\t\t\twebglTextures[ textureCacheKey ] = {\n\t\t\t\t\ttexture: _gl.createTexture(),\n\t\t\t\t\tusedTimes: 0\n\t\t\t\t};\n\n\t\t\t\tinfo.memory.textures ++;\n\n\t\t\t\t// when a new instance of WebGLTexture was created, a texture upload is required\n\t\t\t\t// even if the image contents are identical\n\n\t\t\t\tforceUpload = true;\n\n\t\t\t}\n\n\t\t\twebglTextures[ textureCacheKey ].usedTimes ++;\n\n\t\t\t// every time the texture cache key changes, it's necessary to check if an instance of\n\t\t\t// WebGLTexture can be deleted in order to avoid a memory leak.\n\n\t\t\tconst webglTexture = webglTextures[ textureProperties.__cacheKey ];\n\n\t\t\tif ( webglTexture !== undefined ) {\n\n\t\t\t\twebglTextures[ textureProperties.__cacheKey ].usedTimes --;\n\n\t\t\t\tif ( webglTexture.usedTimes === 0 ) {\n\n\t\t\t\t\tdeleteTexture( texture );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// store references to cache key and WebGLTexture object\n\n\t\t\ttextureProperties.__cacheKey = textureCacheKey;\n\t\t\ttextureProperties.__webglTexture = webglTextures[ textureCacheKey ].texture;\n\n\t\t}\n\n\t\treturn forceUpload;\n\n\t}\n\n\tfunction uploadTexture( textureProperties, texture, slot ) {\n\n\t\tlet textureType = 3553;\n\n\t\tif ( texture.isDataArrayTexture ) textureType = 35866;\n\t\tif ( texture.isData3DTexture ) textureType = 32879;\n\n\t\tconst forceUpload = initTexture( textureProperties, texture );\n\t\tconst source = texture.source;\n\n\t\tstate.activeTexture( 33984 + slot );\n\t\tstate.bindTexture( textureType, textureProperties.__webglTexture );\n\n\t\tif ( source.version !== source.__currentVersion || forceUpload === true ) {\n\n\t\t\t_gl.pixelStorei( 37440, texture.flipY );\n\t\t\t_gl.pixelStorei( 37441, texture.premultiplyAlpha );\n\t\t\t_gl.pixelStorei( 3317, texture.unpackAlignment );\n\t\t\t_gl.pixelStorei( 37443, 0 );\n\n\t\t\tconst needsPowerOfTwo = textureNeedsPowerOfTwo( texture ) && isPowerOfTwo$1( texture.image ) === false;\n\t\t\tlet image = resizeImage( texture.image, needsPowerOfTwo, false, maxTextureSize );\n\t\t\timage = verifyColorSpace( texture, image );\n\n\t\t\tconst supportsMips = isPowerOfTwo$1( image ) || isWebGL2,\n\t\t\t\tglFormat = utils.convert( texture.format, texture.encoding );\n\n\t\t\tlet glType = utils.convert( texture.type ),\n\t\t\t\tglInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType, texture.encoding, texture.isVideoTexture );\n\n\t\t\tsetTextureParameters( textureType, texture, supportsMips );\n\n\t\t\tlet mipmap;\n\t\t\tconst mipmaps = texture.mipmaps;\n\n\t\t\tconst useTexStorage = ( isWebGL2 && texture.isVideoTexture !== true );\n\t\t\tconst allocateMemory = ( source.__currentVersion === undefined ) || ( forceUpload === true );\n\t\t\tconst levels = getMipLevels( texture, image, supportsMips );\n\n\t\t\tif ( texture.isDepthTexture ) {\n\n\t\t\t\t// populate depth texture with dummy data\n\n\t\t\t\tglInternalFormat = 6402;\n\n\t\t\t\tif ( isWebGL2 ) {\n\n\t\t\t\t\tif ( texture.type === FloatType ) {\n\n\t\t\t\t\t\tglInternalFormat = 36012;\n\n\t\t\t\t\t} else if ( texture.type === UnsignedIntType ) {\n\n\t\t\t\t\t\tglInternalFormat = 33190;\n\n\t\t\t\t\t} else if ( texture.type === UnsignedInt248Type ) {\n\n\t\t\t\t\t\tglInternalFormat = 35056;\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tglInternalFormat = 33189; // WebGL2 requires sized internalformat for glTexImage2D\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( texture.type === FloatType ) {\n\n\t\t\t\t\t\tconsole.error( 'WebGLRenderer: Floating point depth texture requires WebGL2.' );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\t// validation checks for WebGL 1\n\n\t\t\t\tif ( texture.format === DepthFormat && glInternalFormat === 6402 ) {\n\n\t\t\t\t\t// The error INVALID_OPERATION is generated by texImage2D if format and internalformat are\n\t\t\t\t\t// DEPTH_COMPONENT and type is not UNSIGNED_SHORT or UNSIGNED_INT\n\t\t\t\t\t// (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/)\n\t\t\t\t\tif ( texture.type !== UnsignedShortType && texture.type !== UnsignedIntType ) {\n\n\t\t\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.' );\n\n\t\t\t\t\t\ttexture.type = UnsignedIntType;\n\t\t\t\t\t\tglType = utils.convert( texture.type );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tif ( texture.format === DepthStencilFormat && glInternalFormat === 6402 ) {\n\n\t\t\t\t\t// Depth stencil textures need the DEPTH_STENCIL internal format\n\t\t\t\t\t// (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/)\n\t\t\t\t\tglInternalFormat = 34041;\n\n\t\t\t\t\t// The error INVALID_OPERATION is generated by texImage2D if format and internalformat are\n\t\t\t\t\t// DEPTH_STENCIL and type is not UNSIGNED_INT_24_8_WEBGL.\n\t\t\t\t\t// (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/)\n\t\t\t\t\tif ( texture.type !== UnsignedInt248Type ) {\n\n\t\t\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.' );\n\n\t\t\t\t\t\ttexture.type = UnsignedInt248Type;\n\t\t\t\t\t\tglType = utils.convert( texture.type );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\t//\n\n\t\t\t\tif ( allocateMemory ) {\n\n\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\tstate.texStorage2D( 3553, 1, glInternalFormat, image.width, image.height );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tstate.texImage2D( 3553, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, null );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else if ( texture.isDataTexture ) {\n\n\t\t\t\t// use manually created mipmaps if available\n\t\t\t\t// if there are no manual mipmaps\n\t\t\t\t// set 0 level mipmap and then use GL to generate other mipmap levels\n\n\t\t\t\tif ( mipmaps.length > 0 && supportsMips ) {\n\n\t\t\t\t\tif ( useTexStorage && allocateMemory ) {\n\n\t\t\t\t\t\tstate.texStorage2D( 3553, levels, glInternalFormat, mipmaps[ 0 ].width, mipmaps[ 0 ].height );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfor ( let i = 0, il = mipmaps.length; i < il; i ++ ) {\n\n\t\t\t\t\t\tmipmap = mipmaps[ i ];\n\n\t\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\t\tstate.texSubImage2D( 3553, i, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data );\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tstate.texImage2D( 3553, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\ttexture.generateMipmaps = false;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\tif ( allocateMemory ) {\n\n\t\t\t\t\t\t\tstate.texStorage2D( 3553, levels, glInternalFormat, image.width, image.height );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstate.texSubImage2D( 3553, 0, 0, 0, image.width, image.height, glFormat, glType, image.data );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tstate.texImage2D( 3553, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, image.data );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else if ( texture.isCompressedTexture ) {\n\n\t\t\t\tif ( useTexStorage && allocateMemory ) {\n\n\t\t\t\t\tstate.texStorage2D( 3553, levels, glInternalFormat, mipmaps[ 0 ].width, mipmaps[ 0 ].height );\n\n\t\t\t\t}\n\n\t\t\t\tfor ( let i = 0, il = mipmaps.length; i < il; i ++ ) {\n\n\t\t\t\t\tmipmap = mipmaps[ i ];\n\n\t\t\t\t\tif ( texture.format !== RGBAFormat ) {\n\n\t\t\t\t\t\tif ( glFormat !== null ) {\n\n\t\t\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\t\t\tstate.compressedTexSubImage2D( 3553, i, 0, 0, mipmap.width, mipmap.height, glFormat, mipmap.data );\n\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\tstate.compressedTexImage2D( 3553, i, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()' );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\t\tstate.texSubImage2D( 3553, i, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data );\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tstate.texImage2D( 3553, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else if ( texture.isDataArrayTexture ) {\n\n\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\tif ( allocateMemory ) {\n\n\t\t\t\t\t\tstate.texStorage3D( 35866, levels, glInternalFormat, image.width, image.height, image.depth );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tstate.texSubImage3D( 35866, 0, 0, 0, 0, image.width, image.height, image.depth, glFormat, glType, image.data );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tstate.texImage3D( 35866, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data );\n\n\t\t\t\t}\n\n\t\t\t} else if ( texture.isData3DTexture ) {\n\n\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\tif ( allocateMemory ) {\n\n\t\t\t\t\t\tstate.texStorage3D( 32879, levels, glInternalFormat, image.width, image.height, image.depth );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tstate.texSubImage3D( 32879, 0, 0, 0, 0, image.width, image.height, image.depth, glFormat, glType, image.data );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tstate.texImage3D( 32879, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data );\n\n\t\t\t\t}\n\n\t\t\t} else if ( texture.isFramebufferTexture ) {\n\n\t\t\t\tif ( allocateMemory ) {\n\n\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\tstate.texStorage2D( 3553, levels, glInternalFormat, image.width, image.height );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tlet width = image.width, height = image.height;\n\n\t\t\t\t\t\tfor ( let i = 0; i < levels; i ++ ) {\n\n\t\t\t\t\t\t\tstate.texImage2D( 3553, i, glInternalFormat, width, height, 0, glFormat, glType, null );\n\n\t\t\t\t\t\t\twidth >>= 1;\n\t\t\t\t\t\t\theight >>= 1;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\t// regular Texture (image, video, canvas)\n\n\t\t\t\t// use manually created mipmaps if available\n\t\t\t\t// if there are no manual mipmaps\n\t\t\t\t// set 0 level mipmap and then use GL to generate other mipmap levels\n\n\t\t\t\tif ( mipmaps.length > 0 && supportsMips ) {\n\n\t\t\t\t\tif ( useTexStorage && allocateMemory ) {\n\n\t\t\t\t\t\tstate.texStorage2D( 3553, levels, glInternalFormat, mipmaps[ 0 ].width, mipmaps[ 0 ].height );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfor ( let i = 0, il = mipmaps.length; i < il; i ++ ) {\n\n\t\t\t\t\t\tmipmap = mipmaps[ i ];\n\n\t\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\t\tstate.texSubImage2D( 3553, i, 0, 0, glFormat, glType, mipmap );\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tstate.texImage2D( 3553, i, glInternalFormat, glFormat, glType, mipmap );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\ttexture.generateMipmaps = false;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\tif ( allocateMemory ) {\n\n\t\t\t\t\t\t\tstate.texStorage2D( 3553, levels, glInternalFormat, image.width, image.height );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstate.texSubImage2D( 3553, 0, 0, 0, glFormat, glType, image );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tstate.texImage2D( 3553, 0, glInternalFormat, glFormat, glType, image );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) {\n\n\t\t\t\tgenerateMipmap( textureType );\n\n\t\t\t}\n\n\t\t\tsource.__currentVersion = source.version;\n\n\t\t\tif ( texture.onUpdate ) texture.onUpdate( texture );\n\n\t\t}\n\n\t\ttextureProperties.__version = texture.version;\n\n\t}\n\n\tfunction uploadCubeTexture( textureProperties, texture, slot ) {\n\n\t\tif ( texture.image.length !== 6 ) return;\n\n\t\tconst forceUpload = initTexture( textureProperties, texture );\n\t\tconst source = texture.source;\n\n\t\tstate.activeTexture( 33984 + slot );\n\t\tstate.bindTexture( 34067, textureProperties.__webglTexture );\n\n\t\tif ( source.version !== source.__currentVersion || forceUpload === true ) {\n\n\t\t\t_gl.pixelStorei( 37440, texture.flipY );\n\t\t\t_gl.pixelStorei( 37441, texture.premultiplyAlpha );\n\t\t\t_gl.pixelStorei( 3317, texture.unpackAlignment );\n\t\t\t_gl.pixelStorei( 37443, 0 );\n\n\t\t\tconst isCompressed = ( texture.isCompressedTexture || texture.image[ 0 ].isCompressedTexture );\n\t\t\tconst isDataTexture = ( texture.image[ 0 ] && texture.image[ 0 ].isDataTexture );\n\n\t\t\tconst cubeImage = [];\n\n\t\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\t\tif ( ! isCompressed && ! isDataTexture ) {\n\n\t\t\t\t\tcubeImage[ i ] = resizeImage( texture.image[ i ], false, true, maxCubemapSize );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tcubeImage[ i ] = isDataTexture ? texture.image[ i ].image : texture.image[ i ];\n\n\t\t\t\t}\n\n\t\t\t\tcubeImage[ i ] = verifyColorSpace( texture, cubeImage[ i ] );\n\n\t\t\t}\n\n\t\t\tconst image = cubeImage[ 0 ],\n\t\t\t\tsupportsMips = isPowerOfTwo$1( image ) || isWebGL2,\n\t\t\t\tglFormat = utils.convert( texture.format, texture.encoding ),\n\t\t\t\tglType = utils.convert( texture.type ),\n\t\t\t\tglInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType, texture.encoding );\n\n\t\t\tconst useTexStorage = ( isWebGL2 && texture.isVideoTexture !== true );\n\t\t\tconst allocateMemory = ( source.__currentVersion === undefined ) || ( forceUpload === true );\n\t\t\tlet levels = getMipLevels( texture, image, supportsMips );\n\n\t\t\tsetTextureParameters( 34067, texture, supportsMips );\n\n\t\t\tlet mipmaps;\n\n\t\t\tif ( isCompressed ) {\n\n\t\t\t\tif ( useTexStorage && allocateMemory ) {\n\n\t\t\t\t\tstate.texStorage2D( 34067, levels, glInternalFormat, image.width, image.height );\n\n\t\t\t\t}\n\n\t\t\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\t\t\tmipmaps = cubeImage[ i ].mipmaps;\n\n\t\t\t\t\tfor ( let j = 0; j < mipmaps.length; j ++ ) {\n\n\t\t\t\t\t\tconst mipmap = mipmaps[ j ];\n\n\t\t\t\t\t\tif ( texture.format !== RGBAFormat ) {\n\n\t\t\t\t\t\t\tif ( glFormat !== null ) {\n\n\t\t\t\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\t\t\t\tstate.compressedTexSubImage2D( 34069 + i, j, 0, 0, mipmap.width, mipmap.height, glFormat, mipmap.data );\n\n\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\tstate.compressedTexImage2D( 34069 + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data );\n\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()' );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\t\t\tstate.texSubImage2D( 34069 + i, j, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data );\n\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\tstate.texImage2D( 34069 + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tmipmaps = texture.mipmaps;\n\n\t\t\t\tif ( useTexStorage && allocateMemory ) {\n\n\t\t\t\t\t// TODO: Uniformly handle mipmap definitions\n\t\t\t\t\t// Normal textures and compressed cube textures define base level + mips with their mipmap array\n\t\t\t\t\t// Uncompressed cube textures use their mipmap array only for mips (no base level)\n\n\t\t\t\t\tif ( mipmaps.length > 0 ) levels ++;\n\n\t\t\t\t\tstate.texStorage2D( 34067, levels, glInternalFormat, cubeImage[ 0 ].width, cubeImage[ 0 ].height );\n\n\t\t\t\t}\n\n\t\t\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\t\t\tif ( isDataTexture ) {\n\n\t\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\t\tstate.texSubImage2D( 34069 + i, 0, 0, 0, cubeImage[ i ].width, cubeImage[ i ].height, glFormat, glType, cubeImage[ i ].data );\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tstate.texImage2D( 34069 + i, 0, glInternalFormat, cubeImage[ i ].width, cubeImage[ i ].height, 0, glFormat, glType, cubeImage[ i ].data );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfor ( let j = 0; j < mipmaps.length; j ++ ) {\n\n\t\t\t\t\t\t\tconst mipmap = mipmaps[ j ];\n\t\t\t\t\t\t\tconst mipmapImage = mipmap.image[ i ].image;\n\n\t\t\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\t\t\tstate.texSubImage2D( 34069 + i, j + 1, 0, 0, mipmapImage.width, mipmapImage.height, glFormat, glType, mipmapImage.data );\n\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\tstate.texImage2D( 34069 + i, j + 1, glInternalFormat, mipmapImage.width, mipmapImage.height, 0, glFormat, glType, mipmapImage.data );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\t\tstate.texSubImage2D( 34069 + i, 0, 0, 0, glFormat, glType, cubeImage[ i ] );\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tstate.texImage2D( 34069 + i, 0, glInternalFormat, glFormat, glType, cubeImage[ i ] );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfor ( let j = 0; j < mipmaps.length; j ++ ) {\n\n\t\t\t\t\t\t\tconst mipmap = mipmaps[ j ];\n\n\t\t\t\t\t\t\tif ( useTexStorage ) {\n\n\t\t\t\t\t\t\t\tstate.texSubImage2D( 34069 + i, j + 1, 0, 0, glFormat, glType, mipmap.image[ i ] );\n\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\tstate.texImage2D( 34069 + i, j + 1, glInternalFormat, glFormat, glType, mipmap.image[ i ] );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) {\n\n\t\t\t\t// We assume images for cube map have the same size.\n\t\t\t\tgenerateMipmap( 34067 );\n\n\t\t\t}\n\n\t\t\tsource.__currentVersion = source.version;\n\n\t\t\tif ( texture.onUpdate ) texture.onUpdate( texture );\n\n\t\t}\n\n\t\ttextureProperties.__version = texture.version;\n\n\t}\n\n\t// Render targets\n\n\t// Setup storage for target texture and bind it to correct framebuffer\n\tfunction setupFrameBufferTexture( framebuffer, renderTarget, texture, attachment, textureTarget ) {\n\n\t\tconst glFormat = utils.convert( texture.format, texture.encoding );\n\t\tconst glType = utils.convert( texture.type );\n\t\tconst glInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType, texture.encoding );\n\t\tconst renderTargetProperties = properties.get( renderTarget );\n\n\t\tif ( ! renderTargetProperties.__hasExternalTextures ) {\n\n\t\t\tif ( textureTarget === 32879 || textureTarget === 35866 ) {\n\n\t\t\t\tstate.texImage3D( textureTarget, 0, glInternalFormat, renderTarget.width, renderTarget.height, renderTarget.depth, 0, glFormat, glType, null );\n\n\t\t\t} else {\n\n\t\t\t\tstate.texImage2D( textureTarget, 0, glInternalFormat, renderTarget.width, renderTarget.height, 0, glFormat, glType, null );\n\n\t\t\t}\n\n\t\t}\n\n\t\tstate.bindFramebuffer( 36160, framebuffer );\n\n\t\tif ( useMultisampledRTT( renderTarget ) ) {\n\n\t\t\tmultisampledRTTExt.framebufferTexture2DMultisampleEXT( 36160, attachment, textureTarget, properties.get( texture ).__webglTexture, 0, getRenderTargetSamples( renderTarget ) );\n\n\t\t} else {\n\n\t\t\t_gl.framebufferTexture2D( 36160, attachment, textureTarget, properties.get( texture ).__webglTexture, 0 );\n\n\t\t}\n\n\t\tstate.bindFramebuffer( 36160, null );\n\n\t}\n\n\n\t// Setup storage for internal depth/stencil buffers and bind to correct framebuffer\n\tfunction setupRenderBufferStorage( renderbuffer, renderTarget, isMultisample ) {\n\n\t\t_gl.bindRenderbuffer( 36161, renderbuffer );\n\n\t\tif ( renderTarget.depthBuffer && ! renderTarget.stencilBuffer ) {\n\n\t\t\tlet glInternalFormat = 33189;\n\n\t\t\tif ( isMultisample || useMultisampledRTT( renderTarget ) ) {\n\n\t\t\t\tconst depthTexture = renderTarget.depthTexture;\n\n\t\t\t\tif ( depthTexture && depthTexture.isDepthTexture ) {\n\n\t\t\t\t\tif ( depthTexture.type === FloatType ) {\n\n\t\t\t\t\t\tglInternalFormat = 36012;\n\n\t\t\t\t\t} else if ( depthTexture.type === UnsignedIntType ) {\n\n\t\t\t\t\t\tglInternalFormat = 33190;\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tconst samples = getRenderTargetSamples( renderTarget );\n\n\t\t\t\tif ( useMultisampledRTT( renderTarget ) ) {\n\n\t\t\t\t\tmultisampledRTTExt.renderbufferStorageMultisampleEXT( 36161, samples, glInternalFormat, renderTarget.width, renderTarget.height );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t_gl.renderbufferStorageMultisample( 36161, samples, glInternalFormat, renderTarget.width, renderTarget.height );\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\t_gl.renderbufferStorage( 36161, glInternalFormat, renderTarget.width, renderTarget.height );\n\n\t\t\t}\n\n\t\t\t_gl.framebufferRenderbuffer( 36160, 36096, 36161, renderbuffer );\n\n\t\t} else if ( renderTarget.depthBuffer && renderTarget.stencilBuffer ) {\n\n\t\t\tconst samples = getRenderTargetSamples( renderTarget );\n\n\t\t\tif ( isMultisample && useMultisampledRTT( renderTarget ) === false ) {\n\n\t\t\t\t_gl.renderbufferStorageMultisample( 36161, samples, 35056, renderTarget.width, renderTarget.height );\n\n\t\t\t} else if ( useMultisampledRTT( renderTarget ) ) {\n\n\t\t\t\tmultisampledRTTExt.renderbufferStorageMultisampleEXT( 36161, samples, 35056, renderTarget.width, renderTarget.height );\n\n\t\t\t} else {\n\n\t\t\t\t_gl.renderbufferStorage( 36161, 34041, renderTarget.width, renderTarget.height );\n\n\t\t\t}\n\n\n\t\t\t_gl.framebufferRenderbuffer( 36160, 33306, 36161, renderbuffer );\n\n\t\t} else {\n\n\t\t\tconst textures = renderTarget.isWebGLMultipleRenderTargets === true ? renderTarget.texture : [ renderTarget.texture ];\n\n\t\t\tfor ( let i = 0; i < textures.length; i ++ ) {\n\n\t\t\t\tconst texture = textures[ i ];\n\n\t\t\t\tconst glFormat = utils.convert( texture.format, texture.encoding );\n\t\t\t\tconst glType = utils.convert( texture.type );\n\t\t\t\tconst glInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType, texture.encoding );\n\t\t\t\tconst samples = getRenderTargetSamples( renderTarget );\n\n\t\t\t\tif ( isMultisample && useMultisampledRTT( renderTarget ) === false ) {\n\n\t\t\t\t\t_gl.renderbufferStorageMultisample( 36161, samples, glInternalFormat, renderTarget.width, renderTarget.height );\n\n\t\t\t\t} else if ( useMultisampledRTT( renderTarget ) ) {\n\n\t\t\t\t\tmultisampledRTTExt.renderbufferStorageMultisampleEXT( 36161, samples, glInternalFormat, renderTarget.width, renderTarget.height );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t_gl.renderbufferStorage( 36161, glInternalFormat, renderTarget.width, renderTarget.height );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t_gl.bindRenderbuffer( 36161, null );\n\n\t}\n\n\t// Setup resources for a Depth Texture for a FBO (needs an extension)\n\tfunction setupDepthTexture( framebuffer, renderTarget ) {\n\n\t\tconst isCube = ( renderTarget && renderTarget.isWebGLCubeRenderTarget );\n\t\tif ( isCube ) throw new Error( 'Depth Texture with cube render targets is not supported' );\n\n\t\tstate.bindFramebuffer( 36160, framebuffer );\n\n\t\tif ( ! ( renderTarget.depthTexture && renderTarget.depthTexture.isDepthTexture ) ) {\n\n\t\t\tthrow new Error( 'renderTarget.depthTexture must be an instance of THREE.DepthTexture' );\n\n\t\t}\n\n\t\t// upload an empty depth texture with framebuffer size\n\t\tif ( ! properties.get( renderTarget.depthTexture ).__webglTexture ||\n\t\t\t\trenderTarget.depthTexture.image.width !== renderTarget.width ||\n\t\t\t\trenderTarget.depthTexture.image.height !== renderTarget.height ) {\n\n\t\t\trenderTarget.depthTexture.image.width = renderTarget.width;\n\t\t\trenderTarget.depthTexture.image.height = renderTarget.height;\n\t\t\trenderTarget.depthTexture.needsUpdate = true;\n\n\t\t}\n\n\t\tsetTexture2D( renderTarget.depthTexture, 0 );\n\n\t\tconst webglDepthTexture = properties.get( renderTarget.depthTexture ).__webglTexture;\n\t\tconst samples = getRenderTargetSamples( renderTarget );\n\n\t\tif ( renderTarget.depthTexture.format === DepthFormat ) {\n\n\t\t\tif ( useMultisampledRTT( renderTarget ) ) {\n\n\t\t\t\tmultisampledRTTExt.framebufferTexture2DMultisampleEXT( 36160, 36096, 3553, webglDepthTexture, 0, samples );\n\n\t\t\t} else {\n\n\t\t\t\t_gl.framebufferTexture2D( 36160, 36096, 3553, webglDepthTexture, 0 );\n\n\t\t\t}\n\n\t\t} else if ( renderTarget.depthTexture.format === DepthStencilFormat ) {\n\n\t\t\tif ( useMultisampledRTT( renderTarget ) ) {\n\n\t\t\t\tmultisampledRTTExt.framebufferTexture2DMultisampleEXT( 36160, 33306, 3553, webglDepthTexture, 0, samples );\n\n\t\t\t} else {\n\n\t\t\t\t_gl.framebufferTexture2D( 36160, 33306, 3553, webglDepthTexture, 0 );\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tthrow new Error( 'Unknown depthTexture format' );\n\n\t\t}\n\n\t}\n\n\t// Setup GL resources for a non-texture depth buffer\n\tfunction setupDepthRenderbuffer( renderTarget ) {\n\n\t\tconst renderTargetProperties = properties.get( renderTarget );\n\t\tconst isCube = ( renderTarget.isWebGLCubeRenderTarget === true );\n\n\t\tif ( renderTarget.depthTexture && ! renderTargetProperties.__autoAllocateDepthBuffer ) {\n\n\t\t\tif ( isCube ) throw new Error( 'target.depthTexture not supported in Cube render targets' );\n\n\t\t\tsetupDepthTexture( renderTargetProperties.__webglFramebuffer, renderTarget );\n\n\t\t} else {\n\n\t\t\tif ( isCube ) {\n\n\t\t\t\trenderTargetProperties.__webglDepthbuffer = [];\n\n\t\t\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\t\t\tstate.bindFramebuffer( 36160, renderTargetProperties.__webglFramebuffer[ i ] );\n\t\t\t\t\trenderTargetProperties.__webglDepthbuffer[ i ] = _gl.createRenderbuffer();\n\t\t\t\t\tsetupRenderBufferStorage( renderTargetProperties.__webglDepthbuffer[ i ], renderTarget, false );\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tstate.bindFramebuffer( 36160, renderTargetProperties.__webglFramebuffer );\n\t\t\t\trenderTargetProperties.__webglDepthbuffer = _gl.createRenderbuffer();\n\t\t\t\tsetupRenderBufferStorage( renderTargetProperties.__webglDepthbuffer, renderTarget, false );\n\n\t\t\t}\n\n\t\t}\n\n\t\tstate.bindFramebuffer( 36160, null );\n\n\t}\n\n\t// rebind framebuffer with external textures\n\tfunction rebindTextures( renderTarget, colorTexture, depthTexture ) {\n\n\t\tconst renderTargetProperties = properties.get( renderTarget );\n\n\t\tif ( colorTexture !== undefined ) {\n\n\t\t\tsetupFrameBufferTexture( renderTargetProperties.__webglFramebuffer, renderTarget, renderTarget.texture, 36064, 3553 );\n\n\t\t}\n\n\t\tif ( depthTexture !== undefined ) {\n\n\t\t\tsetupDepthRenderbuffer( renderTarget );\n\n\t\t}\n\n\t}\n\n\t// Set up GL resources for the render target\n\tfunction setupRenderTarget( renderTarget ) {\n\n\t\tconst texture = renderTarget.texture;\n\n\t\tconst renderTargetProperties = properties.get( renderTarget );\n\t\tconst textureProperties = properties.get( texture );\n\n\t\trenderTarget.addEventListener( 'dispose', onRenderTargetDispose );\n\n\t\tif ( renderTarget.isWebGLMultipleRenderTargets !== true ) {\n\n\t\t\tif ( textureProperties.__webglTexture === undefined ) {\n\n\t\t\t\ttextureProperties.__webglTexture = _gl.createTexture();\n\n\t\t\t}\n\n\t\t\ttextureProperties.__version = texture.version;\n\t\t\tinfo.memory.textures ++;\n\n\t\t}\n\n\t\tconst isCube = ( renderTarget.isWebGLCubeRenderTarget === true );\n\t\tconst isMultipleRenderTargets = ( renderTarget.isWebGLMultipleRenderTargets === true );\n\t\tconst supportsMips = isPowerOfTwo$1( renderTarget ) || isWebGL2;\n\n\t\t// Setup framebuffer\n\n\t\tif ( isCube ) {\n\n\t\t\trenderTargetProperties.__webglFramebuffer = [];\n\n\t\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\t\trenderTargetProperties.__webglFramebuffer[ i ] = _gl.createFramebuffer();\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\trenderTargetProperties.__webglFramebuffer = _gl.createFramebuffer();\n\n\t\t\tif ( isMultipleRenderTargets ) {\n\n\t\t\t\tif ( capabilities.drawBuffers ) {\n\n\t\t\t\t\tconst textures = renderTarget.texture;\n\n\t\t\t\t\tfor ( let i = 0, il = textures.length; i < il; i ++ ) {\n\n\t\t\t\t\t\tconst attachmentProperties = properties.get( textures[ i ] );\n\n\t\t\t\t\t\tif ( attachmentProperties.__webglTexture === undefined ) {\n\n\t\t\t\t\t\t\tattachmentProperties.__webglTexture = _gl.createTexture();\n\n\t\t\t\t\t\t\tinfo.memory.textures ++;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.' );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( ( isWebGL2 && renderTarget.samples > 0 ) && useMultisampledRTT( renderTarget ) === false ) {\n\n\t\t\t\tconst textures = isMultipleRenderTargets ? texture : [ texture ];\n\n\t\t\t\trenderTargetProperties.__webglMultisampledFramebuffer = _gl.createFramebuffer();\n\t\t\t\trenderTargetProperties.__webglColorRenderbuffer = [];\n\n\t\t\t\tstate.bindFramebuffer( 36160, renderTargetProperties.__webglMultisampledFramebuffer );\n\n\t\t\t\tfor ( let i = 0; i < textures.length; i ++ ) {\n\n\t\t\t\t\tconst texture = textures[ i ];\n\t\t\t\t\trenderTargetProperties.__webglColorRenderbuffer[ i ] = _gl.createRenderbuffer();\n\n\t\t\t\t\t_gl.bindRenderbuffer( 36161, renderTargetProperties.__webglColorRenderbuffer[ i ] );\n\n\t\t\t\t\tconst glFormat = utils.convert( texture.format, texture.encoding );\n\t\t\t\t\tconst glType = utils.convert( texture.type );\n\t\t\t\t\tconst glInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType, texture.encoding );\n\t\t\t\t\tconst samples = getRenderTargetSamples( renderTarget );\n\t\t\t\t\t_gl.renderbufferStorageMultisample( 36161, samples, glInternalFormat, renderTarget.width, renderTarget.height );\n\n\t\t\t\t\t_gl.framebufferRenderbuffer( 36160, 36064 + i, 36161, renderTargetProperties.__webglColorRenderbuffer[ i ] );\n\n\t\t\t\t}\n\n\t\t\t\t_gl.bindRenderbuffer( 36161, null );\n\n\t\t\t\tif ( renderTarget.depthBuffer ) {\n\n\t\t\t\t\trenderTargetProperties.__webglDepthRenderbuffer = _gl.createRenderbuffer();\n\t\t\t\t\tsetupRenderBufferStorage( renderTargetProperties.__webglDepthRenderbuffer, renderTarget, true );\n\n\t\t\t\t}\n\n\t\t\t\tstate.bindFramebuffer( 36160, null );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// Setup color buffer\n\n\t\tif ( isCube ) {\n\n\t\t\tstate.bindTexture( 34067, textureProperties.__webglTexture );\n\t\t\tsetTextureParameters( 34067, texture, supportsMips );\n\n\t\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\t\tsetupFrameBufferTexture( renderTargetProperties.__webglFramebuffer[ i ], renderTarget, texture, 36064, 34069 + i );\n\n\t\t\t}\n\n\t\t\tif ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) {\n\n\t\t\t\tgenerateMipmap( 34067 );\n\n\t\t\t}\n\n\t\t\tstate.unbindTexture();\n\n\t\t} else if ( isMultipleRenderTargets ) {\n\n\t\t\tconst textures = renderTarget.texture;\n\n\t\t\tfor ( let i = 0, il = textures.length; i < il; i ++ ) {\n\n\t\t\t\tconst attachment = textures[ i ];\n\t\t\t\tconst attachmentProperties = properties.get( attachment );\n\n\t\t\t\tstate.bindTexture( 3553, attachmentProperties.__webglTexture );\n\t\t\t\tsetTextureParameters( 3553, attachment, supportsMips );\n\t\t\t\tsetupFrameBufferTexture( renderTargetProperties.__webglFramebuffer, renderTarget, attachment, 36064 + i, 3553 );\n\n\t\t\t\tif ( textureNeedsGenerateMipmaps( attachment, supportsMips ) ) {\n\n\t\t\t\t\tgenerateMipmap( 3553 );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstate.unbindTexture();\n\n\t\t} else {\n\n\t\t\tlet glTextureType = 3553;\n\n\t\t\tif ( renderTarget.isWebGL3DRenderTarget || renderTarget.isWebGLArrayRenderTarget ) {\n\n\t\t\t\tif ( isWebGL2 ) {\n\n\t\t\t\t\tglTextureType = renderTarget.isWebGL3DRenderTarget ? 32879 : 35866;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tconsole.error( 'THREE.WebGLTextures: THREE.Data3DTexture and THREE.DataArrayTexture only supported with WebGL2.' );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstate.bindTexture( glTextureType, textureProperties.__webglTexture );\n\t\t\tsetTextureParameters( glTextureType, texture, supportsMips );\n\t\t\tsetupFrameBufferTexture( renderTargetProperties.__webglFramebuffer, renderTarget, texture, 36064, glTextureType );\n\n\t\t\tif ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) {\n\n\t\t\t\tgenerateMipmap( glTextureType );\n\n\t\t\t}\n\n\t\t\tstate.unbindTexture();\n\n\t\t}\n\n\t\t// Setup depth and stencil buffers\n\n\t\tif ( renderTarget.depthBuffer ) {\n\n\t\t\tsetupDepthRenderbuffer( renderTarget );\n\n\t\t}\n\n\t}\n\n\tfunction updateRenderTargetMipmap( renderTarget ) {\n\n\t\tconst supportsMips = isPowerOfTwo$1( renderTarget ) || isWebGL2;\n\n\t\tconst textures = renderTarget.isWebGLMultipleRenderTargets === true ? renderTarget.texture : [ renderTarget.texture ];\n\n\t\tfor ( let i = 0, il = textures.length; i < il; i ++ ) {\n\n\t\t\tconst texture = textures[ i ];\n\n\t\t\tif ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) {\n\n\t\t\t\tconst target = renderTarget.isWebGLCubeRenderTarget ? 34067 : 3553;\n\t\t\t\tconst webglTexture = properties.get( texture ).__webglTexture;\n\n\t\t\t\tstate.bindTexture( target, webglTexture );\n\t\t\t\tgenerateMipmap( target );\n\t\t\t\tstate.unbindTexture();\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tfunction updateMultisampleRenderTarget( renderTarget ) {\n\n\t\tif ( ( isWebGL2 && renderTarget.samples > 0 ) && useMultisampledRTT( renderTarget ) === false ) {\n\n\t\t\tconst textures = renderTarget.isWebGLMultipleRenderTargets ? renderTarget.texture : [ renderTarget.texture ];\n\t\t\tconst width = renderTarget.width;\n\t\t\tconst height = renderTarget.height;\n\t\t\tlet mask = 16384;\n\t\t\tconst invalidationArray = [];\n\t\t\tconst depthStyle = renderTarget.stencilBuffer ? 33306 : 36096;\n\t\t\tconst renderTargetProperties = properties.get( renderTarget );\n\t\t\tconst isMultipleRenderTargets = ( renderTarget.isWebGLMultipleRenderTargets === true );\n\n\t\t\t// If MRT we need to remove FBO attachments\n\t\t\tif ( isMultipleRenderTargets ) {\n\n\t\t\t\tfor ( let i = 0; i < textures.length; i ++ ) {\n\n\t\t\t\t\tstate.bindFramebuffer( 36160, renderTargetProperties.__webglMultisampledFramebuffer );\n\t\t\t\t\t_gl.framebufferRenderbuffer( 36160, 36064 + i, 36161, null );\n\n\t\t\t\t\tstate.bindFramebuffer( 36160, renderTargetProperties.__webglFramebuffer );\n\t\t\t\t\t_gl.framebufferTexture2D( 36009, 36064 + i, 3553, null, 0 );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstate.bindFramebuffer( 36008, renderTargetProperties.__webglMultisampledFramebuffer );\n\t\t\tstate.bindFramebuffer( 36009, renderTargetProperties.__webglFramebuffer );\n\n\t\t\tfor ( let i = 0; i < textures.length; i ++ ) {\n\n\t\t\t\tinvalidationArray.push( 36064 + i );\n\n\t\t\t\tif ( renderTarget.depthBuffer ) {\n\n\t\t\t\t\tinvalidationArray.push( depthStyle );\n\n\t\t\t\t}\n\n\t\t\t\tconst ignoreDepthValues = ( renderTargetProperties.__ignoreDepthValues !== undefined ) ? renderTargetProperties.__ignoreDepthValues : false;\n\n\t\t\t\tif ( ignoreDepthValues === false ) {\n\n\t\t\t\t\tif ( renderTarget.depthBuffer ) mask |= 256;\n\t\t\t\t\tif ( renderTarget.stencilBuffer ) mask |= 1024;\n\n\t\t\t\t}\n\n\t\t\t\tif ( isMultipleRenderTargets ) {\n\n\t\t\t\t\t_gl.framebufferRenderbuffer( 36008, 36064, 36161, renderTargetProperties.__webglColorRenderbuffer[ i ] );\n\n\t\t\t\t}\n\n\t\t\t\tif ( ignoreDepthValues === true ) {\n\n\t\t\t\t\t_gl.invalidateFramebuffer( 36008, [ depthStyle ] );\n\t\t\t\t\t_gl.invalidateFramebuffer( 36009, [ depthStyle ] );\n\n\t\t\t\t}\n\n\t\t\t\tif ( isMultipleRenderTargets ) {\n\n\t\t\t\t\tconst webglTexture = properties.get( textures[ i ] ).__webglTexture;\n\t\t\t\t\t_gl.framebufferTexture2D( 36009, 36064, 3553, webglTexture, 0 );\n\n\t\t\t\t}\n\n\t\t\t\t_gl.blitFramebuffer( 0, 0, width, height, 0, 0, width, height, mask, 9728 );\n\n\t\t\t\tif ( supportsInvalidateFramebuffer ) {\n\n\t\t\t\t\t_gl.invalidateFramebuffer( 36008, invalidationArray );\n\n\t\t\t\t}\n\n\n\t\t\t}\n\n\t\t\tstate.bindFramebuffer( 36008, null );\n\t\t\tstate.bindFramebuffer( 36009, null );\n\n\t\t\t// If MRT since pre-blit we removed the FBO we need to reconstruct the attachments\n\t\t\tif ( isMultipleRenderTargets ) {\n\n\t\t\t\tfor ( let i = 0; i < textures.length; i ++ ) {\n\n\t\t\t\t\tstate.bindFramebuffer( 36160, renderTargetProperties.__webglMultisampledFramebuffer );\n\t\t\t\t\t_gl.framebufferRenderbuffer( 36160, 36064 + i, 36161, renderTargetProperties.__webglColorRenderbuffer[ i ] );\n\n\t\t\t\t\tconst webglTexture = properties.get( textures[ i ] ).__webglTexture;\n\n\t\t\t\t\tstate.bindFramebuffer( 36160, renderTargetProperties.__webglFramebuffer );\n\t\t\t\t\t_gl.framebufferTexture2D( 36009, 36064 + i, 3553, webglTexture, 0 );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstate.bindFramebuffer( 36009, renderTargetProperties.__webglMultisampledFramebuffer );\n\n\t\t}\n\n\t}\n\n\tfunction getRenderTargetSamples( renderTarget ) {\n\n\t\treturn Math.min( maxSamples, renderTarget.samples );\n\n\t}\n\n\tfunction useMultisampledRTT( renderTarget ) {\n\n\t\tconst renderTargetProperties = properties.get( renderTarget );\n\n\t\treturn isWebGL2 && renderTarget.samples > 0 && extensions.has( 'WEBGL_multisampled_render_to_texture' ) === true && renderTargetProperties.__useRenderToTexture !== false;\n\n\t}\n\n\tfunction updateVideoTexture( texture ) {\n\n\t\tconst frame = info.render.frame;\n\n\t\t// Check the last frame we updated the VideoTexture\n\n\t\tif ( _videoTextures.get( texture ) !== frame ) {\n\n\t\t\t_videoTextures.set( texture, frame );\n\t\t\ttexture.update();\n\n\t\t}\n\n\t}\n\n\tfunction verifyColorSpace( texture, image ) {\n\n\t\tconst encoding = texture.encoding;\n\t\tconst format = texture.format;\n\t\tconst type = texture.type;\n\n\t\tif ( texture.isCompressedTexture === true || texture.isVideoTexture === true || texture.format === _SRGBAFormat ) return image;\n\n\t\tif ( encoding !== LinearEncoding ) {\n\n\t\t\t// sRGB\n\n\t\t\tif ( encoding === sRGBEncoding ) {\n\n\t\t\t\tif ( isWebGL2 === false ) {\n\n\t\t\t\t\t// in WebGL 1, try to use EXT_sRGB extension and unsized formats\n\n\t\t\t\t\tif ( extensions.has( 'EXT_sRGB' ) === true && format === RGBAFormat ) {\n\n\t\t\t\t\t\ttexture.format = _SRGBAFormat;\n\n\t\t\t\t\t\t// it's not possible to generate mips in WebGL 1 with this extension\n\n\t\t\t\t\t\ttexture.minFilter = LinearFilter;\n\t\t\t\t\t\ttexture.generateMipmaps = false;\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// slow fallback (CPU decode)\n\n\t\t\t\t\t\timage = ImageUtils.sRGBToLinear( image );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// in WebGL 2 uncompressed textures can only be sRGB encoded if they have the RGBA8 format\n\n\t\t\t\t\tif ( format !== RGBAFormat || type !== UnsignedByteType ) {\n\n\t\t\t\t\t\tconsole.warn( 'THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.' );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconsole.error( 'THREE.WebGLTextures: Unsupported texture encoding:', encoding );\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn image;\n\n\t}\n\n\t//\n\n\tthis.allocateTextureUnit = allocateTextureUnit;\n\tthis.resetTextureUnits = resetTextureUnits;\n\n\tthis.setTexture2D = setTexture2D;\n\tthis.setTexture2DArray = setTexture2DArray;\n\tthis.setTexture3D = setTexture3D;\n\tthis.setTextureCube = setTextureCube;\n\tthis.rebindTextures = rebindTextures;\n\tthis.setupRenderTarget = setupRenderTarget;\n\tthis.updateRenderTargetMipmap = updateRenderTargetMipmap;\n\tthis.updateMultisampleRenderTarget = updateMultisampleRenderTarget;\n\tthis.setupDepthRenderbuffer = setupDepthRenderbuffer;\n\tthis.setupFrameBufferTexture = setupFrameBufferTexture;\n\tthis.useMultisampledRTT = useMultisampledRTT;\n\n}\n\nfunction WebGLUtils( gl, extensions, capabilities ) {\n\n\tconst isWebGL2 = capabilities.isWebGL2;\n\n\tfunction convert( p, encoding = null ) {\n\n\t\tlet extension;\n\n\t\tif ( p === UnsignedByteType ) return 5121;\n\t\tif ( p === UnsignedShort4444Type ) return 32819;\n\t\tif ( p === UnsignedShort5551Type ) return 32820;\n\n\t\tif ( p === ByteType ) return 5120;\n\t\tif ( p === ShortType ) return 5122;\n\t\tif ( p === UnsignedShortType ) return 5123;\n\t\tif ( p === IntType ) return 5124;\n\t\tif ( p === UnsignedIntType ) return 5125;\n\t\tif ( p === FloatType ) return 5126;\n\n\t\tif ( p === HalfFloatType ) {\n\n\t\t\tif ( isWebGL2 ) return 5131;\n\n\t\t\textension = extensions.get( 'OES_texture_half_float' );\n\n\t\t\tif ( extension !== null ) {\n\n\t\t\t\treturn extension.HALF_FLOAT_OES;\n\n\t\t\t} else {\n\n\t\t\t\treturn null;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( p === AlphaFormat ) return 6406;\n\t\tif ( p === RGBAFormat ) return 6408;\n\t\tif ( p === LuminanceFormat ) return 6409;\n\t\tif ( p === LuminanceAlphaFormat ) return 6410;\n\t\tif ( p === DepthFormat ) return 6402;\n\t\tif ( p === DepthStencilFormat ) return 34041;\n\t\tif ( p === RedFormat ) return 6403;\n\n\t\tif ( p === RGBFormat ) {\n\n\t\t\tconsole.warn( 'THREE.WebGLRenderer: THREE.RGBFormat has been removed. Use THREE.RGBAFormat instead. https://github.com/mrdoob/three.js/pull/23228' );\n\t\t\treturn 6408;\n\n\t\t}\n\n\t\t// WebGL 1 sRGB fallback\n\n\t\tif ( p === _SRGBAFormat ) {\n\n\t\t\textension = extensions.get( 'EXT_sRGB' );\n\n\t\t\tif ( extension !== null ) {\n\n\t\t\t\treturn extension.SRGB_ALPHA_EXT;\n\n\t\t\t} else {\n\n\t\t\t\treturn null;\n\n\t\t\t}\n\n\t\t}\n\n\t\t// WebGL2 formats.\n\n\t\tif ( p === RedIntegerFormat ) return 36244;\n\t\tif ( p === RGFormat ) return 33319;\n\t\tif ( p === RGIntegerFormat ) return 33320;\n\t\tif ( p === RGBAIntegerFormat ) return 36249;\n\n\t\t// S3TC\n\n\t\tif ( p === RGB_S3TC_DXT1_Format || p === RGBA_S3TC_DXT1_Format || p === RGBA_S3TC_DXT3_Format || p === RGBA_S3TC_DXT5_Format ) {\n\n\t\t\tif ( encoding === sRGBEncoding ) {\n\n\t\t\t\textension = extensions.get( 'WEBGL_compressed_texture_s3tc_srgb' );\n\n\t\t\t\tif ( extension !== null ) {\n\n\t\t\t\t\tif ( p === RGB_S3TC_DXT1_Format ) return extension.COMPRESSED_SRGB_S3TC_DXT1_EXT;\n\t\t\t\t\tif ( p === RGBA_S3TC_DXT1_Format ) return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;\n\t\t\t\t\tif ( p === RGBA_S3TC_DXT3_Format ) return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;\n\t\t\t\t\tif ( p === RGBA_S3TC_DXT5_Format ) return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT;\n\n\t\t\t\t} else {\n\n\t\t\t\t\treturn null;\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\textension = extensions.get( 'WEBGL_compressed_texture_s3tc' );\n\n\t\t\t\tif ( extension !== null ) {\n\n\t\t\t\t\tif ( p === RGB_S3TC_DXT1_Format ) return extension.COMPRESSED_RGB_S3TC_DXT1_EXT;\n\t\t\t\t\tif ( p === RGBA_S3TC_DXT1_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT1_EXT;\n\t\t\t\t\tif ( p === RGBA_S3TC_DXT3_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT3_EXT;\n\t\t\t\t\tif ( p === RGBA_S3TC_DXT5_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT5_EXT;\n\n\t\t\t\t} else {\n\n\t\t\t\t\treturn null;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t// PVRTC\n\n\t\tif ( p === RGB_PVRTC_4BPPV1_Format || p === RGB_PVRTC_2BPPV1_Format || p === RGBA_PVRTC_4BPPV1_Format || p === RGBA_PVRTC_2BPPV1_Format ) {\n\n\t\t\textension = extensions.get( 'WEBGL_compressed_texture_pvrtc' );\n\n\t\t\tif ( extension !== null ) {\n\n\t\t\t\tif ( p === RGB_PVRTC_4BPPV1_Format ) return extension.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;\n\t\t\t\tif ( p === RGB_PVRTC_2BPPV1_Format ) return extension.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;\n\t\t\t\tif ( p === RGBA_PVRTC_4BPPV1_Format ) return extension.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;\n\t\t\t\tif ( p === RGBA_PVRTC_2BPPV1_Format ) return extension.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG;\n\n\t\t\t} else {\n\n\t\t\t\treturn null;\n\n\t\t\t}\n\n\t\t}\n\n\t\t// ETC1\n\n\t\tif ( p === RGB_ETC1_Format ) {\n\n\t\t\textension = extensions.get( 'WEBGL_compressed_texture_etc1' );\n\n\t\t\tif ( extension !== null ) {\n\n\t\t\t\treturn extension.COMPRESSED_RGB_ETC1_WEBGL;\n\n\t\t\t} else {\n\n\t\t\t\treturn null;\n\n\t\t\t}\n\n\t\t}\n\n\t\t// ETC2\n\n\t\tif ( p === RGB_ETC2_Format || p === RGBA_ETC2_EAC_Format ) {\n\n\t\t\textension = extensions.get( 'WEBGL_compressed_texture_etc' );\n\n\t\t\tif ( extension !== null ) {\n\n\t\t\t\tif ( p === RGB_ETC2_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ETC2 : extension.COMPRESSED_RGB8_ETC2;\n\t\t\t\tif ( p === RGBA_ETC2_EAC_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC : extension.COMPRESSED_RGBA8_ETC2_EAC;\n\n\t\t\t} else {\n\n\t\t\t\treturn null;\n\n\t\t\t}\n\n\t\t}\n\n\t\t// ASTC\n\n\t\tif ( p === RGBA_ASTC_4x4_Format || p === RGBA_ASTC_5x4_Format || p === RGBA_ASTC_5x5_Format ||\n\t\t\tp === RGBA_ASTC_6x5_Format || p === RGBA_ASTC_6x6_Format || p === RGBA_ASTC_8x5_Format ||\n\t\t\tp === RGBA_ASTC_8x6_Format || p === RGBA_ASTC_8x8_Format || p === RGBA_ASTC_10x5_Format ||\n\t\t\tp === RGBA_ASTC_10x6_Format || p === RGBA_ASTC_10x8_Format || p === RGBA_ASTC_10x10_Format ||\n\t\t\tp === RGBA_ASTC_12x10_Format || p === RGBA_ASTC_12x12_Format ) {\n\n\t\t\textension = extensions.get( 'WEBGL_compressed_texture_astc' );\n\n\t\t\tif ( extension !== null ) {\n\n\t\t\t\tif ( p === RGBA_ASTC_4x4_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR : extension.COMPRESSED_RGBA_ASTC_4x4_KHR;\n\t\t\t\tif ( p === RGBA_ASTC_5x4_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR : extension.COMPRESSED_RGBA_ASTC_5x4_KHR;\n\t\t\t\tif ( p === RGBA_ASTC_5x5_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR : extension.COMPRESSED_RGBA_ASTC_5x5_KHR;\n\t\t\t\tif ( p === RGBA_ASTC_6x5_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR : extension.COMPRESSED_RGBA_ASTC_6x5_KHR;\n\t\t\t\tif ( p === RGBA_ASTC_6x6_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR : extension.COMPRESSED_RGBA_ASTC_6x6_KHR;\n\t\t\t\tif ( p === RGBA_ASTC_8x5_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR : extension.COMPRESSED_RGBA_ASTC_8x5_KHR;\n\t\t\t\tif ( p === RGBA_ASTC_8x6_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR : extension.COMPRESSED_RGBA_ASTC_8x6_KHR;\n\t\t\t\tif ( p === RGBA_ASTC_8x8_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR : extension.COMPRESSED_RGBA_ASTC_8x8_KHR;\n\t\t\t\tif ( p === RGBA_ASTC_10x5_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR : extension.COMPRESSED_RGBA_ASTC_10x5_KHR;\n\t\t\t\tif ( p === RGBA_ASTC_10x6_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR : extension.COMPRESSED_RGBA_ASTC_10x6_KHR;\n\t\t\t\tif ( p === RGBA_ASTC_10x8_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR : extension.COMPRESSED_RGBA_ASTC_10x8_KHR;\n\t\t\t\tif ( p === RGBA_ASTC_10x10_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR : extension.COMPRESSED_RGBA_ASTC_10x10_KHR;\n\t\t\t\tif ( p === RGBA_ASTC_12x10_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR : extension.COMPRESSED_RGBA_ASTC_12x10_KHR;\n\t\t\t\tif ( p === RGBA_ASTC_12x12_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR : extension.COMPRESSED_RGBA_ASTC_12x12_KHR;\n\n\t\t\t} else {\n\n\t\t\t\treturn null;\n\n\t\t\t}\n\n\t\t}\n\n\t\t// BPTC\n\n\t\tif ( p === RGBA_BPTC_Format ) {\n\n\t\t\textension = extensions.get( 'EXT_texture_compression_bptc' );\n\n\t\t\tif ( extension !== null ) {\n\n\t\t\t\tif ( p === RGBA_BPTC_Format ) return ( encoding === sRGBEncoding ) ? extension.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT : extension.COMPRESSED_RGBA_BPTC_UNORM_EXT;\n\n\t\t\t} else {\n\n\t\t\t\treturn null;\n\n\t\t\t}\n\n\t\t}\n\n\t\t//\n\n\t\tif ( p === UnsignedInt248Type ) {\n\n\t\t\tif ( isWebGL2 ) return 34042;\n\n\t\t\textension = extensions.get( 'WEBGL_depth_texture' );\n\n\t\t\tif ( extension !== null ) {\n\n\t\t\t\treturn extension.UNSIGNED_INT_24_8_WEBGL;\n\n\t\t\t} else {\n\n\t\t\t\treturn null;\n\n\t\t\t}\n\n\t\t}\n\n\t\t// if \"p\" can't be resolved, assume the user defines a WebGL constant as a string (fallback/workaround for packed RGB formats)\n\n\t\treturn ( gl[ p ] !== undefined ) ? gl[ p ] : null;\n\n\t}\n\n\treturn { convert: convert };\n\n}\n\nclass ArrayCamera extends PerspectiveCamera {\n\n\tconstructor( array = [] ) {\n\n\t\tsuper();\n\n\t\tthis.isArrayCamera = true;\n\n\t\tthis.cameras = array;\n\n\t}\n\n}\n\nclass Group extends Object3D {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.isGroup = true;\n\n\t\tthis.type = 'Group';\n\n\t}\n\n}\n\nconst _moveEvent = { type: 'move' };\n\nclass WebXRController {\n\n\tconstructor() {\n\n\t\tthis._targetRay = null;\n\t\tthis._grip = null;\n\t\tthis._hand = null;\n\n\t}\n\n\tgetHandSpace() {\n\n\t\tif ( this._hand === null ) {\n\n\t\t\tthis._hand = new Group();\n\t\t\tthis._hand.matrixAutoUpdate = false;\n\t\t\tthis._hand.visible = false;\n\n\t\t\tthis._hand.joints = {};\n\t\t\tthis._hand.inputState = { pinching: false };\n\n\t\t}\n\n\t\treturn this._hand;\n\n\t}\n\n\tgetTargetRaySpace() {\n\n\t\tif ( this._targetRay === null ) {\n\n\t\t\tthis._targetRay = new Group();\n\t\t\tthis._targetRay.matrixAutoUpdate = false;\n\t\t\tthis._targetRay.visible = false;\n\t\t\tthis._targetRay.hasLinearVelocity = false;\n\t\t\tthis._targetRay.linearVelocity = new Vector3();\n\t\t\tthis._targetRay.hasAngularVelocity = false;\n\t\t\tthis._targetRay.angularVelocity = new Vector3();\n\n\t\t}\n\n\t\treturn this._targetRay;\n\n\t}\n\n\tgetGripSpace() {\n\n\t\tif ( this._grip === null ) {\n\n\t\t\tthis._grip = new Group();\n\t\t\tthis._grip.matrixAutoUpdate = false;\n\t\t\tthis._grip.visible = false;\n\t\t\tthis._grip.hasLinearVelocity = false;\n\t\t\tthis._grip.linearVelocity = new Vector3();\n\t\t\tthis._grip.hasAngularVelocity = false;\n\t\t\tthis._grip.angularVelocity = new Vector3();\n\n\t\t}\n\n\t\treturn this._grip;\n\n\t}\n\n\tdispatchEvent( event ) {\n\n\t\tif ( this._targetRay !== null ) {\n\n\t\t\tthis._targetRay.dispatchEvent( event );\n\n\t\t}\n\n\t\tif ( this._grip !== null ) {\n\n\t\t\tthis._grip.dispatchEvent( event );\n\n\t\t}\n\n\t\tif ( this._hand !== null ) {\n\n\t\t\tthis._hand.dispatchEvent( event );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tdisconnect( inputSource ) {\n\n\t\tthis.dispatchEvent( { type: 'disconnected', data: inputSource } );\n\n\t\tif ( this._targetRay !== null ) {\n\n\t\t\tthis._targetRay.visible = false;\n\n\t\t}\n\n\t\tif ( this._grip !== null ) {\n\n\t\t\tthis._grip.visible = false;\n\n\t\t}\n\n\t\tif ( this._hand !== null ) {\n\n\t\t\tthis._hand.visible = false;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tupdate( inputSource, frame, referenceSpace ) {\n\n\t\tlet inputPose = null;\n\t\tlet gripPose = null;\n\t\tlet handPose = null;\n\n\t\tconst targetRay = this._targetRay;\n\t\tconst grip = this._grip;\n\t\tconst hand = this._hand;\n\n\t\tif ( inputSource && frame.session.visibilityState !== 'visible-blurred' ) {\n\n\t\t\tif ( hand && inputSource.hand ) {\n\n\t\t\t\thandPose = true;\n\n\t\t\t\tfor ( const inputjoint of inputSource.hand.values() ) {\n\n\t\t\t\t\t// Update the joints groups with the XRJoint poses\n\t\t\t\t\tconst jointPose = frame.getJointPose( inputjoint, referenceSpace );\n\n\t\t\t\t\tif ( hand.joints[ inputjoint.jointName ] === undefined ) {\n\n\t\t\t\t\t\t// The transform of this joint will be updated with the joint pose on each frame\n\t\t\t\t\t\tconst joint = new Group();\n\t\t\t\t\t\tjoint.matrixAutoUpdate = false;\n\t\t\t\t\t\tjoint.visible = false;\n\t\t\t\t\t\thand.joints[ inputjoint.jointName ] = joint;\n\t\t\t\t\t\t// ??\n\t\t\t\t\t\thand.add( joint );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tconst joint = hand.joints[ inputjoint.jointName ];\n\n\t\t\t\t\tif ( jointPose !== null ) {\n\n\t\t\t\t\t\tjoint.matrix.fromArray( jointPose.transform.matrix );\n\t\t\t\t\t\tjoint.matrix.decompose( joint.position, joint.rotation, joint.scale );\n\t\t\t\t\t\tjoint.jointRadius = jointPose.radius;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tjoint.visible = jointPose !== null;\n\n\t\t\t\t}\n\n\t\t\t\t// Custom events\n\n\t\t\t\t// Check pinchz\n\t\t\t\tconst indexTip = hand.joints[ 'index-finger-tip' ];\n\t\t\t\tconst thumbTip = hand.joints[ 'thumb-tip' ];\n\t\t\t\tconst distance = indexTip.position.distanceTo( thumbTip.position );\n\n\t\t\t\tconst distanceToPinch = 0.02;\n\t\t\t\tconst threshold = 0.005;\n\n\t\t\t\tif ( hand.inputState.pinching && distance > distanceToPinch + threshold ) {\n\n\t\t\t\t\thand.inputState.pinching = false;\n\t\t\t\t\tthis.dispatchEvent( {\n\t\t\t\t\t\ttype: 'pinchend',\n\t\t\t\t\t\thandedness: inputSource.handedness,\n\t\t\t\t\t\ttarget: this\n\t\t\t\t\t} );\n\n\t\t\t\t} else if ( ! hand.inputState.pinching && distance <= distanceToPinch - threshold ) {\n\n\t\t\t\t\thand.inputState.pinching = true;\n\t\t\t\t\tthis.dispatchEvent( {\n\t\t\t\t\t\ttype: 'pinchstart',\n\t\t\t\t\t\thandedness: inputSource.handedness,\n\t\t\t\t\t\ttarget: this\n\t\t\t\t\t} );\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tif ( grip !== null && inputSource.gripSpace ) {\n\n\t\t\t\t\tgripPose = frame.getPose( inputSource.gripSpace, referenceSpace );\n\n\t\t\t\t\tif ( gripPose !== null ) {\n\n\t\t\t\t\t\tgrip.matrix.fromArray( gripPose.transform.matrix );\n\t\t\t\t\t\tgrip.matrix.decompose( grip.position, grip.rotation, grip.scale );\n\n\t\t\t\t\t\tif ( gripPose.linearVelocity ) {\n\n\t\t\t\t\t\t\tgrip.hasLinearVelocity = true;\n\t\t\t\t\t\t\tgrip.linearVelocity.copy( gripPose.linearVelocity );\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tgrip.hasLinearVelocity = false;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( gripPose.angularVelocity ) {\n\n\t\t\t\t\t\t\tgrip.hasAngularVelocity = true;\n\t\t\t\t\t\t\tgrip.angularVelocity.copy( gripPose.angularVelocity );\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tgrip.hasAngularVelocity = false;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( targetRay !== null ) {\n\n\t\t\t\tinputPose = frame.getPose( inputSource.targetRaySpace, referenceSpace );\n\n\t\t\t\t// Some runtimes (namely Vive Cosmos with Vive OpenXR Runtime) have only grip space and ray space is equal to it\n\t\t\t\tif ( inputPose === null && gripPose !== null ) {\n\n\t\t\t\t\tinputPose = gripPose;\n\n\t\t\t\t}\n\n\t\t\t\tif ( inputPose !== null ) {\n\n\t\t\t\t\ttargetRay.matrix.fromArray( inputPose.transform.matrix );\n\t\t\t\t\ttargetRay.matrix.decompose( targetRay.position, targetRay.rotation, targetRay.scale );\n\n\t\t\t\t\tif ( inputPose.linearVelocity ) {\n\n\t\t\t\t\t\ttargetRay.hasLinearVelocity = true;\n\t\t\t\t\t\ttargetRay.linearVelocity.copy( inputPose.linearVelocity );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\ttargetRay.hasLinearVelocity = false;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( inputPose.angularVelocity ) {\n\n\t\t\t\t\t\ttargetRay.hasAngularVelocity = true;\n\t\t\t\t\t\ttargetRay.angularVelocity.copy( inputPose.angularVelocity );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\ttargetRay.hasAngularVelocity = false;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.dispatchEvent( _moveEvent );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\n\t\t}\n\n\t\tif ( targetRay !== null ) {\n\n\t\t\ttargetRay.visible = ( inputPose !== null );\n\n\t\t}\n\n\t\tif ( grip !== null ) {\n\n\t\t\tgrip.visible = ( gripPose !== null );\n\n\t\t}\n\n\t\tif ( hand !== null ) {\n\n\t\t\thand.visible = ( handPose !== null );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass DepthTexture extends Texture {\n\n\tconstructor( width, height, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, format ) {\n\n\t\tformat = format !== undefined ? format : DepthFormat;\n\n\t\tif ( format !== DepthFormat && format !== DepthStencilFormat ) {\n\n\t\t\tthrow new Error( 'DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat' );\n\n\t\t}\n\n\t\tif ( type === undefined && format === DepthFormat ) type = UnsignedIntType;\n\t\tif ( type === undefined && format === DepthStencilFormat ) type = UnsignedInt248Type;\n\n\t\tsuper( null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy );\n\n\t\tthis.isDepthTexture = true;\n\n\t\tthis.image = { width: width, height: height };\n\n\t\tthis.magFilter = magFilter !== undefined ? magFilter : NearestFilter;\n\t\tthis.minFilter = minFilter !== undefined ? minFilter : NearestFilter;\n\n\t\tthis.flipY = false;\n\t\tthis.generateMipmaps = false;\n\n\t}\n\n\n}\n\nclass WebXRManager extends EventDispatcher {\n\n\tconstructor( renderer, gl ) {\n\n\t\tsuper();\n\n\t\tconst scope = this;\n\n\t\tlet session = null;\n\t\tlet framebufferScaleFactor = 1.0;\n\n\t\tlet referenceSpace = null;\n\t\tlet referenceSpaceType = 'local-floor';\n\t\tlet customReferenceSpace = null;\n\n\t\tlet pose = null;\n\t\tlet glBinding = null;\n\t\tlet glProjLayer = null;\n\t\tlet glBaseLayer = null;\n\t\tlet xrFrame = null;\n\t\tconst attributes = gl.getContextAttributes();\n\t\tlet initialRenderTarget = null;\n\t\tlet newRenderTarget = null;\n\n\t\tconst controllers = [];\n\t\tconst controllerInputSources = [];\n\n\t\t//\n\n\t\tconst cameraL = new PerspectiveCamera();\n\t\tcameraL.layers.enable( 1 );\n\t\tcameraL.viewport = new Vector4();\n\n\t\tconst cameraR = new PerspectiveCamera();\n\t\tcameraR.layers.enable( 2 );\n\t\tcameraR.viewport = new Vector4();\n\n\t\tconst cameras = [ cameraL, cameraR ];\n\n\t\tconst cameraVR = new ArrayCamera();\n\t\tcameraVR.layers.enable( 1 );\n\t\tcameraVR.layers.enable( 2 );\n\n\t\tlet _currentDepthNear = null;\n\t\tlet _currentDepthFar = null;\n\n\t\t//\n\n\t\tthis.cameraAutoUpdate = true;\n\t\tthis.enabled = false;\n\n\t\tthis.isPresenting = false;\n\n\t\tthis.getController = function ( index ) {\n\n\t\t\tlet controller = controllers[ index ];\n\n\t\t\tif ( controller === undefined ) {\n\n\t\t\t\tcontroller = new WebXRController();\n\t\t\t\tcontrollers[ index ] = controller;\n\n\t\t\t}\n\n\t\t\treturn controller.getTargetRaySpace();\n\n\t\t};\n\n\t\tthis.getControllerGrip = function ( index ) {\n\n\t\t\tlet controller = controllers[ index ];\n\n\t\t\tif ( controller === undefined ) {\n\n\t\t\t\tcontroller = new WebXRController();\n\t\t\t\tcontrollers[ index ] = controller;\n\n\t\t\t}\n\n\t\t\treturn controller.getGripSpace();\n\n\t\t};\n\n\t\tthis.getHand = function ( index ) {\n\n\t\t\tlet controller = controllers[ index ];\n\n\t\t\tif ( controller === undefined ) {\n\n\t\t\t\tcontroller = new WebXRController();\n\t\t\t\tcontrollers[ index ] = controller;\n\n\t\t\t}\n\n\t\t\treturn controller.getHandSpace();\n\n\t\t};\n\n\t\t//\n\n\t\tfunction onSessionEvent( event ) {\n\n\t\t\tconst controllerIndex = controllerInputSources.indexOf( event.inputSource );\n\n\t\t\tif ( controllerIndex === - 1 ) {\n\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t\tconst controller = controllers[ controllerIndex ];\n\n\t\t\tif ( controller !== undefined ) {\n\n\t\t\t\tcontroller.dispatchEvent( { type: event.type, data: event.inputSource } );\n\n\t\t\t}\n\n\t\t}\n\n\t\tfunction onSessionEnd() {\n\n\t\t\tsession.removeEventListener( 'select', onSessionEvent );\n\t\t\tsession.removeEventListener( 'selectstart', onSessionEvent );\n\t\t\tsession.removeEventListener( 'selectend', onSessionEvent );\n\t\t\tsession.removeEventListener( 'squeeze', onSessionEvent );\n\t\t\tsession.removeEventListener( 'squeezestart', onSessionEvent );\n\t\t\tsession.removeEventListener( 'squeezeend', onSessionEvent );\n\t\t\tsession.removeEventListener( 'end', onSessionEnd );\n\t\t\tsession.removeEventListener( 'inputsourceschange', onInputSourcesChange );\n\n\t\t\tfor ( let i = 0; i < controllers.length; i ++ ) {\n\n\t\t\t\tconst inputSource = controllerInputSources[ i ];\n\n\t\t\t\tif ( inputSource === null ) continue;\n\n\t\t\t\tcontrollerInputSources[ i ] = null;\n\n\t\t\t\tcontrollers[ i ].disconnect( inputSource );\n\n\t\t\t}\n\n\t\t\t_currentDepthNear = null;\n\t\t\t_currentDepthFar = null;\n\n\t\t\t// restore framebuffer/rendering state\n\n\t\t\trenderer.setRenderTarget( initialRenderTarget );\n\n\t\t\tglBaseLayer = null;\n\t\t\tglProjLayer = null;\n\t\t\tglBinding = null;\n\t\t\tsession = null;\n\t\t\tnewRenderTarget = null;\n\n\t\t\t//\n\n\t\t\tanimation.stop();\n\n\t\t\tscope.isPresenting = false;\n\n\t\t\tscope.dispatchEvent( { type: 'sessionend' } );\n\n\t\t}\n\n\t\tthis.setFramebufferScaleFactor = function ( value ) {\n\n\t\t\tframebufferScaleFactor = value;\n\n\t\t\tif ( scope.isPresenting === true ) {\n\n\t\t\t\tconsole.warn( 'THREE.WebXRManager: Cannot change framebuffer scale while presenting.' );\n\n\t\t\t}\n\n\t\t};\n\n\t\tthis.setReferenceSpaceType = function ( value ) {\n\n\t\t\treferenceSpaceType = value;\n\n\t\t\tif ( scope.isPresenting === true ) {\n\n\t\t\t\tconsole.warn( 'THREE.WebXRManager: Cannot change reference space type while presenting.' );\n\n\t\t\t}\n\n\t\t};\n\n\t\tthis.getReferenceSpace = function () {\n\n\t\t\treturn customReferenceSpace || referenceSpace;\n\n\t\t};\n\n\t\tthis.setReferenceSpace = function ( space ) {\n\n\t\t\tcustomReferenceSpace = space;\n\n\t\t};\n\n\t\tthis.getBaseLayer = function () {\n\n\t\t\treturn glProjLayer !== null ? glProjLayer : glBaseLayer;\n\n\t\t};\n\n\t\tthis.getBinding = function () {\n\n\t\t\treturn glBinding;\n\n\t\t};\n\n\t\tthis.getFrame = function () {\n\n\t\t\treturn xrFrame;\n\n\t\t};\n\n\t\tthis.getSession = function () {\n\n\t\t\treturn session;\n\n\t\t};\n\n\t\tthis.setSession = async function ( value ) {\n\n\t\t\tsession = value;\n\n\t\t\tif ( session !== null ) {\n\n\t\t\t\tinitialRenderTarget = renderer.getRenderTarget();\n\n\t\t\t\tsession.addEventListener( 'select', onSessionEvent );\n\t\t\t\tsession.addEventListener( 'selectstart', onSessionEvent );\n\t\t\t\tsession.addEventListener( 'selectend', onSessionEvent );\n\t\t\t\tsession.addEventListener( 'squeeze', onSessionEvent );\n\t\t\t\tsession.addEventListener( 'squeezestart', onSessionEvent );\n\t\t\t\tsession.addEventListener( 'squeezeend', onSessionEvent );\n\t\t\t\tsession.addEventListener( 'end', onSessionEnd );\n\t\t\t\tsession.addEventListener( 'inputsourceschange', onInputSourcesChange );\n\n\t\t\t\tif ( attributes.xrCompatible !== true ) {\n\n\t\t\t\t\tawait gl.makeXRCompatible();\n\n\t\t\t\t}\n\n\t\t\t\tif ( ( session.renderState.layers === undefined ) || ( renderer.capabilities.isWebGL2 === false ) ) {\n\n\t\t\t\t\tconst layerInit = {\n\t\t\t\t\t\tantialias: ( session.renderState.layers === undefined ) ? attributes.antialias : true,\n\t\t\t\t\t\talpha: attributes.alpha,\n\t\t\t\t\t\tdepth: attributes.depth,\n\t\t\t\t\t\tstencil: attributes.stencil,\n\t\t\t\t\t\tframebufferScaleFactor: framebufferScaleFactor\n\t\t\t\t\t};\n\n\t\t\t\t\tglBaseLayer = new XRWebGLLayer( session, gl, layerInit );\n\n\t\t\t\t\tsession.updateRenderState( { baseLayer: glBaseLayer } );\n\n\t\t\t\t\tnewRenderTarget = new WebGLRenderTarget(\n\t\t\t\t\t\tglBaseLayer.framebufferWidth,\n\t\t\t\t\t\tglBaseLayer.framebufferHeight,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tformat: RGBAFormat,\n\t\t\t\t\t\t\ttype: UnsignedByteType,\n\t\t\t\t\t\t\tencoding: renderer.outputEncoding\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t} else {\n\n\t\t\t\t\tlet depthFormat = null;\n\t\t\t\t\tlet depthType = null;\n\t\t\t\t\tlet glDepthFormat = null;\n\n\t\t\t\t\tif ( attributes.depth ) {\n\n\t\t\t\t\t\tglDepthFormat = attributes.stencil ? 35056 : 33190;\n\t\t\t\t\t\tdepthFormat = attributes.stencil ? DepthStencilFormat : DepthFormat;\n\t\t\t\t\t\tdepthType = attributes.stencil ? UnsignedInt248Type : UnsignedIntType;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tconst projectionlayerInit = {\n\t\t\t\t\t\tcolorFormat: 32856,\n\t\t\t\t\t\tdepthFormat: glDepthFormat,\n\t\t\t\t\t\tscaleFactor: framebufferScaleFactor\n\t\t\t\t\t};\n\n\t\t\t\t\tglBinding = new XRWebGLBinding( session, gl );\n\n\t\t\t\t\tglProjLayer = glBinding.createProjectionLayer( projectionlayerInit );\n\n\t\t\t\t\tsession.updateRenderState( { layers: [ glProjLayer ] } );\n\n\t\t\t\t\tnewRenderTarget = new WebGLRenderTarget(\n\t\t\t\t\t\tglProjLayer.textureWidth,\n\t\t\t\t\t\tglProjLayer.textureHeight,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tformat: RGBAFormat,\n\t\t\t\t\t\t\ttype: UnsignedByteType,\n\t\t\t\t\t\t\tdepthTexture: new DepthTexture( glProjLayer.textureWidth, glProjLayer.textureHeight, depthType, undefined, undefined, undefined, undefined, undefined, undefined, depthFormat ),\n\t\t\t\t\t\t\tstencilBuffer: attributes.stencil,\n\t\t\t\t\t\t\tencoding: renderer.outputEncoding,\n\t\t\t\t\t\t\tsamples: attributes.antialias ? 4 : 0\n\t\t\t\t\t\t} );\n\n\t\t\t\t\tconst renderTargetProperties = renderer.properties.get( newRenderTarget );\n\t\t\t\t\trenderTargetProperties.__ignoreDepthValues = glProjLayer.ignoreDepthValues;\n\n\t\t\t\t}\n\n\t\t\t\tnewRenderTarget.isXRRenderTarget = true; // TODO Remove this when possible, see #23278\n\n\t\t\t\t// Set foveation to maximum.\n\t\t\t\tthis.setFoveation( 1.0 );\n\n\t\t\t\tcustomReferenceSpace = null;\n\t\t\t\treferenceSpace = await session.requestReferenceSpace( referenceSpaceType );\n\n\t\t\t\tanimation.setContext( session );\n\t\t\t\tanimation.start();\n\n\t\t\t\tscope.isPresenting = true;\n\n\t\t\t\tscope.dispatchEvent( { type: 'sessionstart' } );\n\n\t\t\t}\n\n\t\t};\n\n\t\tfunction onInputSourcesChange( event ) {\n\n\t\t\t// Notify disconnected\n\n\t\t\tfor ( let i = 0; i < event.removed.length; i ++ ) {\n\n\t\t\t\tconst inputSource = event.removed[ i ];\n\t\t\t\tconst index = controllerInputSources.indexOf( inputSource );\n\n\t\t\t\tif ( index >= 0 ) {\n\n\t\t\t\t\tcontrollerInputSources[ index ] = null;\n\t\t\t\t\tcontrollers[ index ].dispatchEvent( { type: 'disconnected', data: inputSource } );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// Notify connected\n\n\t\t\tfor ( let i = 0; i < event.added.length; i ++ ) {\n\n\t\t\t\tconst inputSource = event.added[ i ];\n\n\t\t\t\tlet controllerIndex = controllerInputSources.indexOf( inputSource );\n\n\t\t\t\tif ( controllerIndex === - 1 ) {\n\n\t\t\t\t\t// Assign input source a controller that currently has no input source\n\n\t\t\t\t\tfor ( let i = 0; i < controllers.length; i ++ ) {\n\n\t\t\t\t\t\tif ( i >= controllerInputSources.length ) {\n\n\t\t\t\t\t\t\tcontrollerInputSources.push( inputSource );\n\t\t\t\t\t\t\tcontrollerIndex = i;\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t} else if ( controllerInputSources[ i ] === null ) {\n\n\t\t\t\t\t\t\tcontrollerInputSources[ i ] = inputSource;\n\t\t\t\t\t\t\tcontrollerIndex = i;\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\t// If all controllers do currently receive input we ignore new ones\n\n\t\t\t\t\tif ( controllerIndex === - 1 ) break;\n\n\t\t\t\t}\n\n\t\t\t\tconst controller = controllers[ controllerIndex ];\n\n\t\t\t\tif ( controller ) {\n\n\t\t\t\t\tcontroller.dispatchEvent( { type: 'connected', data: inputSource } );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t//\n\n\t\tconst cameraLPos = new Vector3();\n\t\tconst cameraRPos = new Vector3();\n\n\t\t/**\n\t\t * Assumes 2 cameras that are parallel and share an X-axis, and that\n\t\t * the cameras' projection and world matrices have already been set.\n\t\t * And that near and far planes are identical for both cameras.\n\t\t * Visualization of this technique: https://computergraphics.stackexchange.com/a/4765\n\t\t */\n\t\tfunction setProjectionFromUnion( camera, cameraL, cameraR ) {\n\n\t\t\tcameraLPos.setFromMatrixPosition( cameraL.matrixWorld );\n\t\t\tcameraRPos.setFromMatrixPosition( cameraR.matrixWorld );\n\n\t\t\tconst ipd = cameraLPos.distanceTo( cameraRPos );\n\n\t\t\tconst projL = cameraL.projectionMatrix.elements;\n\t\t\tconst projR = cameraR.projectionMatrix.elements;\n\n\t\t\t// VR systems will have identical far and near planes, and\n\t\t\t// most likely identical top and bottom frustum extents.\n\t\t\t// Use the left camera for these values.\n\t\t\tconst near = projL[ 14 ] / ( projL[ 10 ] - 1 );\n\t\t\tconst far = projL[ 14 ] / ( projL[ 10 ] + 1 );\n\t\t\tconst topFov = ( projL[ 9 ] + 1 ) / projL[ 5 ];\n\t\t\tconst bottomFov = ( projL[ 9 ] - 1 ) / projL[ 5 ];\n\n\t\t\tconst leftFov = ( projL[ 8 ] - 1 ) / projL[ 0 ];\n\t\t\tconst rightFov = ( projR[ 8 ] + 1 ) / projR[ 0 ];\n\t\t\tconst left = near * leftFov;\n\t\t\tconst right = near * rightFov;\n\n\t\t\t// Calculate the new camera's position offset from the\n\t\t\t// left camera. xOffset should be roughly half `ipd`.\n\t\t\tconst zOffset = ipd / ( - leftFov + rightFov );\n\t\t\tconst xOffset = zOffset * - leftFov;\n\n\t\t\t// TODO: Better way to apply this offset?\n\t\t\tcameraL.matrixWorld.decompose( camera.position, camera.quaternion, camera.scale );\n\t\t\tcamera.translateX( xOffset );\n\t\t\tcamera.translateZ( zOffset );\n\t\t\tcamera.matrixWorld.compose( camera.position, camera.quaternion, camera.scale );\n\t\t\tcamera.matrixWorldInverse.copy( camera.matrixWorld ).invert();\n\n\t\t\t// Find the union of the frustum values of the cameras and scale\n\t\t\t// the values so that the near plane's position does not change in world space,\n\t\t\t// although must now be relative to the new union camera.\n\t\t\tconst near2 = near + zOffset;\n\t\t\tconst far2 = far + zOffset;\n\t\t\tconst left2 = left - xOffset;\n\t\t\tconst right2 = right + ( ipd - xOffset );\n\t\t\tconst top2 = topFov * far / far2 * near2;\n\t\t\tconst bottom2 = bottomFov * far / far2 * near2;\n\n\t\t\tcamera.projectionMatrix.makePerspective( left2, right2, top2, bottom2, near2, far2 );\n\n\t\t}\n\n\t\tfunction updateCamera( camera, parent ) {\n\n\t\t\tif ( parent === null ) {\n\n\t\t\t\tcamera.matrixWorld.copy( camera.matrix );\n\n\t\t\t} else {\n\n\t\t\t\tcamera.matrixWorld.multiplyMatrices( parent.matrixWorld, camera.matrix );\n\n\t\t\t}\n\n\t\t\tcamera.matrixWorldInverse.copy( camera.matrixWorld ).invert();\n\n\t\t}\n\n\t\tthis.updateCamera = function ( camera ) {\n\n\t\t\tif ( session === null ) return;\n\n\t\t\tcameraVR.near = cameraR.near = cameraL.near = camera.near;\n\t\t\tcameraVR.far = cameraR.far = cameraL.far = camera.far;\n\n\t\t\tif ( _currentDepthNear !== cameraVR.near || _currentDepthFar !== cameraVR.far ) {\n\n\t\t\t\t// Note that the new renderState won't apply until the next frame. See #18320\n\n\t\t\t\tsession.updateRenderState( {\n\t\t\t\t\tdepthNear: cameraVR.near,\n\t\t\t\t\tdepthFar: cameraVR.far\n\t\t\t\t} );\n\n\t\t\t\t_currentDepthNear = cameraVR.near;\n\t\t\t\t_currentDepthFar = cameraVR.far;\n\n\t\t\t}\n\n\t\t\tconst parent = camera.parent;\n\t\t\tconst cameras = cameraVR.cameras;\n\n\t\t\tupdateCamera( cameraVR, parent );\n\n\t\t\tfor ( let i = 0; i < cameras.length; i ++ ) {\n\n\t\t\t\tupdateCamera( cameras[ i ], parent );\n\n\t\t\t}\n\n\t\t\tcameraVR.matrixWorld.decompose( cameraVR.position, cameraVR.quaternion, cameraVR.scale );\n\n\t\t\t// update user camera and its children\n\n\t\t\tcamera.position.copy( cameraVR.position );\n\t\t\tcamera.quaternion.copy( cameraVR.quaternion );\n\t\t\tcamera.scale.copy( cameraVR.scale );\n\t\t\tcamera.matrix.copy( cameraVR.matrix );\n\t\t\tcamera.matrixWorld.copy( cameraVR.matrixWorld );\n\n\t\t\tconst children = camera.children;\n\n\t\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\t\tchildren[ i ].updateMatrixWorld( true );\n\n\t\t\t}\n\n\t\t\t// update projection matrix for proper view frustum culling\n\n\t\t\tif ( cameras.length === 2 ) {\n\n\t\t\t\tsetProjectionFromUnion( cameraVR, cameraL, cameraR );\n\n\t\t\t} else {\n\n\t\t\t\t// assume single camera setup (AR)\n\n\t\t\t\tcameraVR.projectionMatrix.copy( cameraL.projectionMatrix );\n\n\t\t\t}\n\n\t\t};\n\n\t\tthis.getCamera = function () {\n\n\t\t\treturn cameraVR;\n\n\t\t};\n\n\t\tthis.getFoveation = function () {\n\n\t\t\tif ( glProjLayer !== null ) {\n\n\t\t\t\treturn glProjLayer.fixedFoveation;\n\n\t\t\t}\n\n\t\t\tif ( glBaseLayer !== null ) {\n\n\t\t\t\treturn glBaseLayer.fixedFoveation;\n\n\t\t\t}\n\n\t\t\treturn undefined;\n\n\t\t};\n\n\t\tthis.setFoveation = function ( foveation ) {\n\n\t\t\t// 0 = no foveation = full resolution\n\t\t\t// 1 = maximum foveation = the edges render at lower resolution\n\n\t\t\tif ( glProjLayer !== null ) {\n\n\t\t\t\tglProjLayer.fixedFoveation = foveation;\n\n\t\t\t}\n\n\t\t\tif ( glBaseLayer !== null && glBaseLayer.fixedFoveation !== undefined ) {\n\n\t\t\t\tglBaseLayer.fixedFoveation = foveation;\n\n\t\t\t}\n\n\t\t};\n\n\t\t// Animation Loop\n\n\t\tlet onAnimationFrameCallback = null;\n\n\t\tfunction onAnimationFrame( time, frame ) {\n\n\t\t\tpose = frame.getViewerPose( customReferenceSpace || referenceSpace );\n\t\t\txrFrame = frame;\n\n\t\t\tif ( pose !== null ) {\n\n\t\t\t\tconst views = pose.views;\n\n\t\t\t\tif ( glBaseLayer !== null ) {\n\n\t\t\t\t\trenderer.setRenderTargetFramebuffer( newRenderTarget, glBaseLayer.framebuffer );\n\t\t\t\t\trenderer.setRenderTarget( newRenderTarget );\n\n\t\t\t\t}\n\n\t\t\t\tlet cameraVRNeedsUpdate = false;\n\n\t\t\t\t// check if it's necessary to rebuild cameraVR's camera list\n\n\t\t\t\tif ( views.length !== cameraVR.cameras.length ) {\n\n\t\t\t\t\tcameraVR.cameras.length = 0;\n\t\t\t\t\tcameraVRNeedsUpdate = true;\n\n\t\t\t\t}\n\n\t\t\t\tfor ( let i = 0; i < views.length; i ++ ) {\n\n\t\t\t\t\tconst view = views[ i ];\n\n\t\t\t\t\tlet viewport = null;\n\n\t\t\t\t\tif ( glBaseLayer !== null ) {\n\n\t\t\t\t\t\tviewport = glBaseLayer.getViewport( view );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tconst glSubImage = glBinding.getViewSubImage( glProjLayer, view );\n\t\t\t\t\t\tviewport = glSubImage.viewport;\n\n\t\t\t\t\t\t// For side-by-side projection, we only produce a single texture for both eyes.\n\t\t\t\t\t\tif ( i === 0 ) {\n\n\t\t\t\t\t\t\trenderer.setRenderTargetTextures(\n\t\t\t\t\t\t\t\tnewRenderTarget,\n\t\t\t\t\t\t\t\tglSubImage.colorTexture,\n\t\t\t\t\t\t\t\tglProjLayer.ignoreDepthValues ? undefined : glSubImage.depthStencilTexture );\n\n\t\t\t\t\t\t\trenderer.setRenderTarget( newRenderTarget );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\tlet camera = cameras[ i ];\n\n\t\t\t\t\tif ( camera === undefined ) {\n\n\t\t\t\t\t\tcamera = new PerspectiveCamera();\n\t\t\t\t\t\tcamera.layers.enable( i );\n\t\t\t\t\t\tcamera.viewport = new Vector4();\n\t\t\t\t\t\tcameras[ i ] = camera;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tcamera.matrix.fromArray( view.transform.matrix );\n\t\t\t\t\tcamera.projectionMatrix.fromArray( view.projectionMatrix );\n\t\t\t\t\tcamera.viewport.set( viewport.x, viewport.y, viewport.width, viewport.height );\n\n\t\t\t\t\tif ( i === 0 ) {\n\n\t\t\t\t\t\tcameraVR.matrix.copy( camera.matrix );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( cameraVRNeedsUpdate === true ) {\n\n\t\t\t\t\t\tcameraVR.cameras.push( camera );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t//\n\n\t\t\tfor ( let i = 0; i < controllers.length; i ++ ) {\n\n\t\t\t\tconst inputSource = controllerInputSources[ i ];\n\t\t\t\tconst controller = controllers[ i ];\n\n\t\t\t\tif ( inputSource !== null && controller !== undefined ) {\n\n\t\t\t\t\tcontroller.update( inputSource, frame, customReferenceSpace || referenceSpace );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( onAnimationFrameCallback ) onAnimationFrameCallback( time, frame );\n\n\t\t\txrFrame = null;\n\n\t\t}\n\n\t\tconst animation = new WebGLAnimation();\n\n\t\tanimation.setAnimationLoop( onAnimationFrame );\n\n\t\tthis.setAnimationLoop = function ( callback ) {\n\n\t\t\tonAnimationFrameCallback = callback;\n\n\t\t};\n\n\t\tthis.dispose = function () {};\n\n\t}\n\n}\n\nfunction WebGLMaterials( renderer, properties ) {\n\n\tfunction refreshFogUniforms( uniforms, fog ) {\n\n\t\tuniforms.fogColor.value.copy( fog.color );\n\n\t\tif ( fog.isFog ) {\n\n\t\t\tuniforms.fogNear.value = fog.near;\n\t\t\tuniforms.fogFar.value = fog.far;\n\n\t\t} else if ( fog.isFogExp2 ) {\n\n\t\t\tuniforms.fogDensity.value = fog.density;\n\n\t\t}\n\n\t}\n\n\tfunction refreshMaterialUniforms( uniforms, material, pixelRatio, height, transmissionRenderTarget ) {\n\n\t\tif ( material.isMeshBasicMaterial ) {\n\n\t\t\trefreshUniformsCommon( uniforms, material );\n\n\t\t} else if ( material.isMeshLambertMaterial ) {\n\n\t\t\trefreshUniformsCommon( uniforms, material );\n\n\t\t} else if ( material.isMeshToonMaterial ) {\n\n\t\t\trefreshUniformsCommon( uniforms, material );\n\t\t\trefreshUniformsToon( uniforms, material );\n\n\t\t} else if ( material.isMeshPhongMaterial ) {\n\n\t\t\trefreshUniformsCommon( uniforms, material );\n\t\t\trefreshUniformsPhong( uniforms, material );\n\n\t\t} else if ( material.isMeshStandardMaterial ) {\n\n\t\t\trefreshUniformsCommon( uniforms, material );\n\t\t\trefreshUniformsStandard( uniforms, material );\n\n\t\t\tif ( material.isMeshPhysicalMaterial ) {\n\n\t\t\t\trefreshUniformsPhysical( uniforms, material, transmissionRenderTarget );\n\n\t\t\t}\n\n\t\t} else if ( material.isMeshMatcapMaterial ) {\n\n\t\t\trefreshUniformsCommon( uniforms, material );\n\t\t\trefreshUniformsMatcap( uniforms, material );\n\n\t\t} else if ( material.isMeshDepthMaterial ) {\n\n\t\t\trefreshUniformsCommon( uniforms, material );\n\n\t\t} else if ( material.isMeshDistanceMaterial ) {\n\n\t\t\trefreshUniformsCommon( uniforms, material );\n\t\t\trefreshUniformsDistance( uniforms, material );\n\n\t\t} else if ( material.isMeshNormalMaterial ) {\n\n\t\t\trefreshUniformsCommon( uniforms, material );\n\n\t\t} else if ( material.isLineBasicMaterial ) {\n\n\t\t\trefreshUniformsLine( uniforms, material );\n\n\t\t\tif ( material.isLineDashedMaterial ) {\n\n\t\t\t\trefreshUniformsDash( uniforms, material );\n\n\t\t\t}\n\n\t\t} else if ( material.isPointsMaterial ) {\n\n\t\t\trefreshUniformsPoints( uniforms, material, pixelRatio, height );\n\n\t\t} else if ( material.isSpriteMaterial ) {\n\n\t\t\trefreshUniformsSprites( uniforms, material );\n\n\t\t} else if ( material.isShadowMaterial ) {\n\n\t\t\tuniforms.color.value.copy( material.color );\n\t\t\tuniforms.opacity.value = material.opacity;\n\n\t\t} else if ( material.isShaderMaterial ) {\n\n\t\t\tmaterial.uniformsNeedUpdate = false; // #15581\n\n\t\t}\n\n\t}\n\n\tfunction refreshUniformsCommon( uniforms, material ) {\n\n\t\tuniforms.opacity.value = material.opacity;\n\n\t\tif ( material.color ) {\n\n\t\t\tuniforms.diffuse.value.copy( material.color );\n\n\t\t}\n\n\t\tif ( material.emissive ) {\n\n\t\t\tuniforms.emissive.value.copy( material.emissive ).multiplyScalar( material.emissiveIntensity );\n\n\t\t}\n\n\t\tif ( material.map ) {\n\n\t\t\tuniforms.map.value = material.map;\n\n\t\t}\n\n\t\tif ( material.alphaMap ) {\n\n\t\t\tuniforms.alphaMap.value = material.alphaMap;\n\n\t\t}\n\n\t\tif ( material.bumpMap ) {\n\n\t\t\tuniforms.bumpMap.value = material.bumpMap;\n\t\t\tuniforms.bumpScale.value = material.bumpScale;\n\t\t\tif ( material.side === BackSide ) uniforms.bumpScale.value *= - 1;\n\n\t\t}\n\n\t\tif ( material.displacementMap ) {\n\n\t\t\tuniforms.displacementMap.value = material.displacementMap;\n\t\t\tuniforms.displacementScale.value = material.displacementScale;\n\t\t\tuniforms.displacementBias.value = material.displacementBias;\n\n\t\t}\n\n\t\tif ( material.emissiveMap ) {\n\n\t\t\tuniforms.emissiveMap.value = material.emissiveMap;\n\n\t\t}\n\n\t\tif ( material.normalMap ) {\n\n\t\t\tuniforms.normalMap.value = material.normalMap;\n\t\t\tuniforms.normalScale.value.copy( material.normalScale );\n\t\t\tif ( material.side === BackSide ) uniforms.normalScale.value.negate();\n\n\t\t}\n\n\t\tif ( material.specularMap ) {\n\n\t\t\tuniforms.specularMap.value = material.specularMap;\n\n\t\t}\n\n\t\tif ( material.alphaTest > 0 ) {\n\n\t\t\tuniforms.alphaTest.value = material.alphaTest;\n\n\t\t}\n\n\t\tconst envMap = properties.get( material ).envMap;\n\n\t\tif ( envMap ) {\n\n\t\t\tuniforms.envMap.value = envMap;\n\n\t\t\tuniforms.flipEnvMap.value = ( envMap.isCubeTexture && envMap.isRenderTargetTexture === false ) ? - 1 : 1;\n\n\t\t\tuniforms.reflectivity.value = material.reflectivity;\n\t\t\tuniforms.ior.value = material.ior;\n\t\t\tuniforms.refractionRatio.value = material.refractionRatio;\n\n\t\t}\n\n\t\tif ( material.lightMap ) {\n\n\t\t\tuniforms.lightMap.value = material.lightMap;\n\n\t\t\t// artist-friendly light intensity scaling factor\n\t\t\tconst scaleFactor = ( renderer.physicallyCorrectLights !== true ) ? Math.PI : 1;\n\n\t\t\tuniforms.lightMapIntensity.value = material.lightMapIntensity * scaleFactor;\n\n\t\t}\n\n\t\tif ( material.aoMap ) {\n\n\t\t\tuniforms.aoMap.value = material.aoMap;\n\t\t\tuniforms.aoMapIntensity.value = material.aoMapIntensity;\n\n\t\t}\n\n\t\t// uv repeat and offset setting priorities\n\t\t// 1. color map\n\t\t// 2. specular map\n\t\t// 3. displacementMap map\n\t\t// 4. normal map\n\t\t// 5. bump map\n\t\t// 6. roughnessMap map\n\t\t// 7. metalnessMap map\n\t\t// 8. alphaMap map\n\t\t// 9. emissiveMap map\n\t\t// 10. clearcoat map\n\t\t// 11. clearcoat normal map\n\t\t// 12. clearcoat roughnessMap map\n\t\t// 13. iridescence map\n\t\t// 14. iridescence thickness map\n\t\t// 15. specular intensity map\n\t\t// 16. specular tint map\n\t\t// 17. transmission map\n\t\t// 18. thickness map\n\n\t\tlet uvScaleMap;\n\n\t\tif ( material.map ) {\n\n\t\t\tuvScaleMap = material.map;\n\n\t\t} else if ( material.specularMap ) {\n\n\t\t\tuvScaleMap = material.specularMap;\n\n\t\t} else if ( material.displacementMap ) {\n\n\t\t\tuvScaleMap = material.displacementMap;\n\n\t\t} else if ( material.normalMap ) {\n\n\t\t\tuvScaleMap = material.normalMap;\n\n\t\t} else if ( material.bumpMap ) {\n\n\t\t\tuvScaleMap = material.bumpMap;\n\n\t\t} else if ( material.roughnessMap ) {\n\n\t\t\tuvScaleMap = material.roughnessMap;\n\n\t\t} else if ( material.metalnessMap ) {\n\n\t\t\tuvScaleMap = material.metalnessMap;\n\n\t\t} else if ( material.alphaMap ) {\n\n\t\t\tuvScaleMap = material.alphaMap;\n\n\t\t} else if ( material.emissiveMap ) {\n\n\t\t\tuvScaleMap = material.emissiveMap;\n\n\t\t} else if ( material.clearcoatMap ) {\n\n\t\t\tuvScaleMap = material.clearcoatMap;\n\n\t\t} else if ( material.clearcoatNormalMap ) {\n\n\t\t\tuvScaleMap = material.clearcoatNormalMap;\n\n\t\t} else if ( material.clearcoatRoughnessMap ) {\n\n\t\t\tuvScaleMap = material.clearcoatRoughnessMap;\n\n\t\t} else if ( material.iridescenceMap ) {\n\n\t\t\tuvScaleMap = material.iridescenceMap;\n\n\t\t} else if ( material.iridescenceThicknessMap ) {\n\n\t\t\tuvScaleMap = material.iridescenceThicknessMap;\n\n\t\t} else if ( material.specularIntensityMap ) {\n\n\t\t\tuvScaleMap = material.specularIntensityMap;\n\n\t\t} else if ( material.specularColorMap ) {\n\n\t\t\tuvScaleMap = material.specularColorMap;\n\n\t\t} else if ( material.transmissionMap ) {\n\n\t\t\tuvScaleMap = material.transmissionMap;\n\n\t\t} else if ( material.thicknessMap ) {\n\n\t\t\tuvScaleMap = material.thicknessMap;\n\n\t\t} else if ( material.sheenColorMap ) {\n\n\t\t\tuvScaleMap = material.sheenColorMap;\n\n\t\t} else if ( material.sheenRoughnessMap ) {\n\n\t\t\tuvScaleMap = material.sheenRoughnessMap;\n\n\t\t}\n\n\t\tif ( uvScaleMap !== undefined ) {\n\n\t\t\t// backwards compatibility\n\t\t\tif ( uvScaleMap.isWebGLRenderTarget ) {\n\n\t\t\t\tuvScaleMap = uvScaleMap.texture;\n\n\t\t\t}\n\n\t\t\tif ( uvScaleMap.matrixAutoUpdate === true ) {\n\n\t\t\t\tuvScaleMap.updateMatrix();\n\n\t\t\t}\n\n\t\t\tuniforms.uvTransform.value.copy( uvScaleMap.matrix );\n\n\t\t}\n\n\t\t// uv repeat and offset setting priorities for uv2\n\t\t// 1. ao map\n\t\t// 2. light map\n\n\t\tlet uv2ScaleMap;\n\n\t\tif ( material.aoMap ) {\n\n\t\t\tuv2ScaleMap = material.aoMap;\n\n\t\t} else if ( material.lightMap ) {\n\n\t\t\tuv2ScaleMap = material.lightMap;\n\n\t\t}\n\n\t\tif ( uv2ScaleMap !== undefined ) {\n\n\t\t\t// backwards compatibility\n\t\t\tif ( uv2ScaleMap.isWebGLRenderTarget ) {\n\n\t\t\t\tuv2ScaleMap = uv2ScaleMap.texture;\n\n\t\t\t}\n\n\t\t\tif ( uv2ScaleMap.matrixAutoUpdate === true ) {\n\n\t\t\t\tuv2ScaleMap.updateMatrix();\n\n\t\t\t}\n\n\t\t\tuniforms.uv2Transform.value.copy( uv2ScaleMap.matrix );\n\n\t\t}\n\n\t}\n\n\tfunction refreshUniformsLine( uniforms, material ) {\n\n\t\tuniforms.diffuse.value.copy( material.color );\n\t\tuniforms.opacity.value = material.opacity;\n\n\t}\n\n\tfunction refreshUniformsDash( uniforms, material ) {\n\n\t\tuniforms.dashSize.value = material.dashSize;\n\t\tuniforms.totalSize.value = material.dashSize + material.gapSize;\n\t\tuniforms.scale.value = material.scale;\n\n\t}\n\n\tfunction refreshUniformsPoints( uniforms, material, pixelRatio, height ) {\n\n\t\tuniforms.diffuse.value.copy( material.color );\n\t\tuniforms.opacity.value = material.opacity;\n\t\tuniforms.size.value = material.size * pixelRatio;\n\t\tuniforms.scale.value = height * 0.5;\n\n\t\tif ( material.map ) {\n\n\t\t\tuniforms.map.value = material.map;\n\n\t\t}\n\n\t\tif ( material.alphaMap ) {\n\n\t\t\tuniforms.alphaMap.value = material.alphaMap;\n\n\t\t}\n\n\t\tif ( material.alphaTest > 0 ) {\n\n\t\t\tuniforms.alphaTest.value = material.alphaTest;\n\n\t\t}\n\n\t\t// uv repeat and offset setting priorities\n\t\t// 1. color map\n\t\t// 2. alpha map\n\n\t\tlet uvScaleMap;\n\n\t\tif ( material.map ) {\n\n\t\t\tuvScaleMap = material.map;\n\n\t\t} else if ( material.alphaMap ) {\n\n\t\t\tuvScaleMap = material.alphaMap;\n\n\t\t}\n\n\t\tif ( uvScaleMap !== undefined ) {\n\n\t\t\tif ( uvScaleMap.matrixAutoUpdate === true ) {\n\n\t\t\t\tuvScaleMap.updateMatrix();\n\n\t\t\t}\n\n\t\t\tuniforms.uvTransform.value.copy( uvScaleMap.matrix );\n\n\t\t}\n\n\t}\n\n\tfunction refreshUniformsSprites( uniforms, material ) {\n\n\t\tuniforms.diffuse.value.copy( material.color );\n\t\tuniforms.opacity.value = material.opacity;\n\t\tuniforms.rotation.value = material.rotation;\n\n\t\tif ( material.map ) {\n\n\t\t\tuniforms.map.value = material.map;\n\n\t\t}\n\n\t\tif ( material.alphaMap ) {\n\n\t\t\tuniforms.alphaMap.value = material.alphaMap;\n\n\t\t}\n\n\t\tif ( material.alphaTest > 0 ) {\n\n\t\t\tuniforms.alphaTest.value = material.alphaTest;\n\n\t\t}\n\n\t\t// uv repeat and offset setting priorities\n\t\t// 1. color map\n\t\t// 2. alpha map\n\n\t\tlet uvScaleMap;\n\n\t\tif ( material.map ) {\n\n\t\t\tuvScaleMap = material.map;\n\n\t\t} else if ( material.alphaMap ) {\n\n\t\t\tuvScaleMap = material.alphaMap;\n\n\t\t}\n\n\t\tif ( uvScaleMap !== undefined ) {\n\n\t\t\tif ( uvScaleMap.matrixAutoUpdate === true ) {\n\n\t\t\t\tuvScaleMap.updateMatrix();\n\n\t\t\t}\n\n\t\t\tuniforms.uvTransform.value.copy( uvScaleMap.matrix );\n\n\t\t}\n\n\t}\n\n\tfunction refreshUniformsPhong( uniforms, material ) {\n\n\t\tuniforms.specular.value.copy( material.specular );\n\t\tuniforms.shininess.value = Math.max( material.shininess, 1e-4 ); // to prevent pow( 0.0, 0.0 )\n\n\t}\n\n\tfunction refreshUniformsToon( uniforms, material ) {\n\n\t\tif ( material.gradientMap ) {\n\n\t\t\tuniforms.gradientMap.value = material.gradientMap;\n\n\t\t}\n\n\t}\n\n\tfunction refreshUniformsStandard( uniforms, material ) {\n\n\t\tuniforms.roughness.value = material.roughness;\n\t\tuniforms.metalness.value = material.metalness;\n\n\t\tif ( material.roughnessMap ) {\n\n\t\t\tuniforms.roughnessMap.value = material.roughnessMap;\n\n\t\t}\n\n\t\tif ( material.metalnessMap ) {\n\n\t\t\tuniforms.metalnessMap.value = material.metalnessMap;\n\n\t\t}\n\n\t\tconst envMap = properties.get( material ).envMap;\n\n\t\tif ( envMap ) {\n\n\t\t\t//uniforms.envMap.value = material.envMap; // part of uniforms common\n\t\t\tuniforms.envMapIntensity.value = material.envMapIntensity;\n\n\t\t}\n\n\t}\n\n\tfunction refreshUniformsPhysical( uniforms, material, transmissionRenderTarget ) {\n\n\t\tuniforms.ior.value = material.ior; // also part of uniforms common\n\n\t\tif ( material.sheen > 0 ) {\n\n\t\t\tuniforms.sheenColor.value.copy( material.sheenColor ).multiplyScalar( material.sheen );\n\n\t\t\tuniforms.sheenRoughness.value = material.sheenRoughness;\n\n\t\t\tif ( material.sheenColorMap ) {\n\n\t\t\t\tuniforms.sheenColorMap.value = material.sheenColorMap;\n\n\t\t\t}\n\n\t\t\tif ( material.sheenRoughnessMap ) {\n\n\t\t\t\tuniforms.sheenRoughnessMap.value = material.sheenRoughnessMap;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( material.clearcoat > 0 ) {\n\n\t\t\tuniforms.clearcoat.value = material.clearcoat;\n\t\t\tuniforms.clearcoatRoughness.value = material.clearcoatRoughness;\n\n\t\t\tif ( material.clearcoatMap ) {\n\n\t\t\t\tuniforms.clearcoatMap.value = material.clearcoatMap;\n\n\t\t\t}\n\n\t\t\tif ( material.clearcoatRoughnessMap ) {\n\n\t\t\t\tuniforms.clearcoatRoughnessMap.value = material.clearcoatRoughnessMap;\n\n\t\t\t}\n\n\t\t\tif ( material.clearcoatNormalMap ) {\n\n\t\t\t\tuniforms.clearcoatNormalScale.value.copy( material.clearcoatNormalScale );\n\t\t\t\tuniforms.clearcoatNormalMap.value = material.clearcoatNormalMap;\n\n\t\t\t\tif ( material.side === BackSide ) {\n\n\t\t\t\t\tuniforms.clearcoatNormalScale.value.negate();\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( material.iridescence > 0 ) {\n\n\t\t\tuniforms.iridescence.value = material.iridescence;\n\t\t\tuniforms.iridescenceIOR.value = material.iridescenceIOR;\n\t\t\tuniforms.iridescenceThicknessMinimum.value = material.iridescenceThicknessRange[ 0 ];\n\t\t\tuniforms.iridescenceThicknessMaximum.value = material.iridescenceThicknessRange[ 1 ];\n\n\t\t\tif ( material.iridescenceMap ) {\n\n\t\t\t\tuniforms.iridescenceMap.value = material.iridescenceMap;\n\n\t\t\t}\n\n\t\t\tif ( material.iridescenceThicknessMap ) {\n\n\t\t\t\tuniforms.iridescenceThicknessMap.value = material.iridescenceThicknessMap;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( material.transmission > 0 ) {\n\n\t\t\tuniforms.transmission.value = material.transmission;\n\t\t\tuniforms.transmissionSamplerMap.value = transmissionRenderTarget.texture;\n\t\t\tuniforms.transmissionSamplerSize.value.set( transmissionRenderTarget.width, transmissionRenderTarget.height );\n\n\t\t\tif ( material.transmissionMap ) {\n\n\t\t\t\tuniforms.transmissionMap.value = material.transmissionMap;\n\n\t\t\t}\n\n\t\t\tuniforms.thickness.value = material.thickness;\n\n\t\t\tif ( material.thicknessMap ) {\n\n\t\t\t\tuniforms.thicknessMap.value = material.thicknessMap;\n\n\t\t\t}\n\n\t\t\tuniforms.attenuationDistance.value = material.attenuationDistance;\n\t\t\tuniforms.attenuationColor.value.copy( material.attenuationColor );\n\n\t\t}\n\n\t\tuniforms.specularIntensity.value = material.specularIntensity;\n\t\tuniforms.specularColor.value.copy( material.specularColor );\n\n\t\tif ( material.specularIntensityMap ) {\n\n\t\t\tuniforms.specularIntensityMap.value = material.specularIntensityMap;\n\n\t\t}\n\n\t\tif ( material.specularColorMap ) {\n\n\t\t\tuniforms.specularColorMap.value = material.specularColorMap;\n\n\t\t}\n\n\t}\n\n\tfunction refreshUniformsMatcap( uniforms, material ) {\n\n\t\tif ( material.matcap ) {\n\n\t\t\tuniforms.matcap.value = material.matcap;\n\n\t\t}\n\n\t}\n\n\tfunction refreshUniformsDistance( uniforms, material ) {\n\n\t\tuniforms.referencePosition.value.copy( material.referencePosition );\n\t\tuniforms.nearDistance.value = material.nearDistance;\n\t\tuniforms.farDistance.value = material.farDistance;\n\n\t}\n\n\treturn {\n\t\trefreshFogUniforms: refreshFogUniforms,\n\t\trefreshMaterialUniforms: refreshMaterialUniforms\n\t};\n\n}\n\nfunction WebGLUniformsGroups( gl, info, capabilities, state ) {\n\n\tlet buffers = {};\n\tlet updateList = {};\n\tlet allocatedBindingPoints = [];\n\n\tconst maxBindingPoints = ( capabilities.isWebGL2 ) ? gl.getParameter( 35375 ) : 0; // binding points are global whereas block indices are per shader program\n\n\tfunction bind( uniformsGroup, program ) {\n\n\t\tconst webglProgram = program.program;\n\t\tstate.uniformBlockBinding( uniformsGroup, webglProgram );\n\n\t}\n\n\tfunction update( uniformsGroup, program ) {\n\n\t\tlet buffer = buffers[ uniformsGroup.id ];\n\n\t\tif ( buffer === undefined ) {\n\n\t\t\tprepareUniformsGroup( uniformsGroup );\n\n\t\t\tbuffer = createBuffer( uniformsGroup );\n\t\t\tbuffers[ uniformsGroup.id ] = buffer;\n\n\t\t\tuniformsGroup.addEventListener( 'dispose', onUniformsGroupsDispose );\n\n\t\t}\n\n\t\t// ensure to update the binding points/block indices mapping for this program\n\n\t\tconst webglProgram = program.program;\n\t\tstate.updateUBOMapping( uniformsGroup, webglProgram );\n\n\t\t// update UBO once per frame\n\n\t\tconst frame = info.render.frame;\n\n\t\tif ( updateList[ uniformsGroup.id ] !== frame ) {\n\n\t\t\tupdateBufferData( uniformsGroup );\n\n\t\t\tupdateList[ uniformsGroup.id ] = frame;\n\n\t\t}\n\n\t}\n\n\tfunction createBuffer( uniformsGroup ) {\n\n\t\t// the setup of an UBO is independent of a particular shader program but global\n\n\t\tconst bindingPointIndex = allocateBindingPointIndex();\n\t\tuniformsGroup.__bindingPointIndex = bindingPointIndex;\n\n\t\tconst buffer = gl.createBuffer();\n\t\tconst size = uniformsGroup.__size;\n\t\tconst usage = uniformsGroup.usage;\n\n\t\tgl.bindBuffer( 35345, buffer );\n\t\tgl.bufferData( 35345, size, usage );\n\t\tgl.bindBuffer( 35345, null );\n\t\tgl.bindBufferBase( 35345, bindingPointIndex, buffer );\n\n\t\treturn buffer;\n\n\t}\n\n\tfunction allocateBindingPointIndex() {\n\n\t\tfor ( let i = 0; i < maxBindingPoints; i ++ ) {\n\n\t\t\tif ( allocatedBindingPoints.indexOf( i ) === - 1 ) {\n\n\t\t\t\tallocatedBindingPoints.push( i );\n\t\t\t\treturn i;\n\n\t\t\t}\n\n\t\t}\n\n\t\tconsole.error( 'THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached.' );\n\n\t\treturn 0;\n\n\t}\n\n\tfunction updateBufferData( uniformsGroup ) {\n\n\t\tconst buffer = buffers[ uniformsGroup.id ];\n\t\tconst uniforms = uniformsGroup.uniforms;\n\t\tconst cache = uniformsGroup.__cache;\n\n\t\tgl.bindBuffer( 35345, buffer );\n\n\t\tfor ( let i = 0, il = uniforms.length; i < il; i ++ ) {\n\n\t\t\tconst uniform = uniforms[ i ];\n\n\t\t\t// partly update the buffer if necessary\n\n\t\t\tif ( hasUniformChanged( uniform, i, cache ) === true ) {\n\n\t\t\t\tconst value = uniform.value;\n\t\t\t\tconst offset = uniform.__offset;\n\n\t\t\t\tif ( typeof value === 'number' ) {\n\n\t\t\t\t\tuniform.__data[ 0 ] = value;\n\t\t\t\t\tgl.bufferSubData( 35345, offset, uniform.__data );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( uniform.value.isMatrix3 ) {\n\n\t\t\t\t\t\t// manually converting 3x3 to 3x4\n\n\t\t\t\t\t\tuniform.__data[ 0 ] = uniform.value.elements[ 0 ];\n\t\t\t\t\t\tuniform.__data[ 1 ] = uniform.value.elements[ 1 ];\n\t\t\t\t\t\tuniform.__data[ 2 ] = uniform.value.elements[ 2 ];\n\t\t\t\t\t\tuniform.__data[ 3 ] = uniform.value.elements[ 0 ];\n\t\t\t\t\t\tuniform.__data[ 4 ] = uniform.value.elements[ 3 ];\n\t\t\t\t\t\tuniform.__data[ 5 ] = uniform.value.elements[ 4 ];\n\t\t\t\t\t\tuniform.__data[ 6 ] = uniform.value.elements[ 5 ];\n\t\t\t\t\t\tuniform.__data[ 7 ] = uniform.value.elements[ 0 ];\n\t\t\t\t\t\tuniform.__data[ 8 ] = uniform.value.elements[ 6 ];\n\t\t\t\t\t\tuniform.__data[ 9 ] = uniform.value.elements[ 7 ];\n\t\t\t\t\t\tuniform.__data[ 10 ] = uniform.value.elements[ 8 ];\n\t\t\t\t\t\tuniform.__data[ 11 ] = uniform.value.elements[ 0 ];\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tvalue.toArray( uniform.__data );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tgl.bufferSubData( 35345, offset, uniform.__data );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tgl.bindBuffer( 35345, null );\n\n\t}\n\n\tfunction hasUniformChanged( uniform, index, cache ) {\n\n\t\tconst value = uniform.value;\n\n\t\tif ( cache[ index ] === undefined ) {\n\n\t\t\t// cache entry does not exist so far\n\n\t\t\tif ( typeof value === 'number' ) {\n\n\t\t\t\tcache[ index ] = value;\n\n\t\t\t} else {\n\n\t\t\t\tcache[ index ] = value.clone();\n\n\t\t\t}\n\n\t\t\treturn true;\n\n\t\t} else {\n\n\t\t\t// compare current value with cached entry\n\n\t\t\tif ( typeof value === 'number' ) {\n\n\t\t\t\tif ( cache[ index ] !== value ) {\n\n\t\t\t\t\tcache[ index ] = value;\n\t\t\t\t\treturn true;\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconst cachedObject = cache[ index ];\n\n\t\t\t\tif ( cachedObject.equals( value ) === false ) {\n\n\t\t\t\t\tcachedObject.copy( value );\n\t\t\t\t\treturn true;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn false;\n\n\t}\n\n\tfunction prepareUniformsGroup( uniformsGroup ) {\n\n\t\t// determine total buffer size according to the STD140 layout\n\t\t// Hint: STD140 is the only supported layout in WebGL 2\n\n\t\tconst uniforms = uniformsGroup.uniforms;\n\n\t\tlet offset = 0; // global buffer offset in bytes\n\t\tconst chunkSize = 16; // size of a chunk in bytes\n\t\tlet chunkOffset = 0; // offset within a single chunk in bytes\n\n\t\tfor ( let i = 0, l = uniforms.length; i < l; i ++ ) {\n\n\t\t\tconst uniform = uniforms[ i ];\n\t\t\tconst info = getUniformSize( uniform );\n\n\t\t\t// the following two properties will be used for partial buffer updates\n\n\t\t\tuniform.__data = new Float32Array( info.storage / Float32Array.BYTES_PER_ELEMENT );\n\t\t\tuniform.__offset = offset;\n\n\t\t\t//\n\n\t\t\tif ( i > 0 ) {\n\n\t\t\t\tchunkOffset = offset % chunkSize;\n\n\t\t\t\tconst remainingSizeInChunk = chunkSize - chunkOffset;\n\n\t\t\t\t// check for chunk overflow\n\n\t\t\t\tif ( chunkOffset !== 0 && ( remainingSizeInChunk - info.boundary ) < 0 ) {\n\n\t\t\t\t\t// add padding and adjust offset\n\n\t\t\t\t\toffset += ( chunkSize - chunkOffset );\n\t\t\t\t\tuniform.__offset = offset;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\toffset += info.storage;\n\n\t\t}\n\n\t\t// ensure correct final padding\n\n\t\tchunkOffset = offset % chunkSize;\n\n\t\tif ( chunkOffset > 0 ) offset += ( chunkSize - chunkOffset );\n\n\t\t//\n\n\t\tuniformsGroup.__size = offset;\n\t\tuniformsGroup.__cache = {};\n\n\t\treturn this;\n\n\t}\n\n\tfunction getUniformSize( uniform ) {\n\n\t\tconst value = uniform.value;\n\n\t\tconst info = {\n\t\t\tboundary: 0, // bytes\n\t\t\tstorage: 0 // bytes\n\t\t};\n\n\t\t// determine sizes according to STD140\n\n\t\tif ( typeof value === 'number' ) {\n\n\t\t\t// float/int\n\n\t\t\tinfo.boundary = 4;\n\t\t\tinfo.storage = 4;\n\n\t\t} else if ( value.isVector2 ) {\n\n\t\t\t// vec2\n\n\t\t\tinfo.boundary = 8;\n\t\t\tinfo.storage = 8;\n\n\t\t} else if ( value.isVector3 || value.isColor ) {\n\n\t\t\t// vec3\n\n\t\t\tinfo.boundary = 16;\n\t\t\tinfo.storage = 12; // evil: vec3 must start on a 16-byte boundary but it only consumes 12 bytes\n\n\t\t} else if ( value.isVector4 ) {\n\n\t\t\t// vec4\n\n\t\t\tinfo.boundary = 16;\n\t\t\tinfo.storage = 16;\n\n\t\t} else if ( value.isMatrix3 ) {\n\n\t\t\t// mat3 (in STD140 a 3x3 matrix is represented as 3x4)\n\n\t\t\tinfo.boundary = 48;\n\t\t\tinfo.storage = 48;\n\n\t\t} else if ( value.isMatrix4 ) {\n\n\t\t\t// mat4\n\n\t\t\tinfo.boundary = 64;\n\t\t\tinfo.storage = 64;\n\n\t\t} else if ( value.isTexture ) {\n\n\t\t\tconsole.warn( 'THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group.' );\n\n\t\t} else {\n\n\t\t\tconsole.warn( 'THREE.WebGLRenderer: Unsupported uniform value type.', value );\n\n\t\t}\n\n\t\treturn info;\n\n\t}\n\n\tfunction onUniformsGroupsDispose( event ) {\n\n\t\tconst uniformsGroup = event.target;\n\n\t\tuniformsGroup.removeEventListener( 'dispose', onUniformsGroupsDispose );\n\n\t\tconst index = allocatedBindingPoints.indexOf( uniformsGroup.__bindingPointIndex );\n\t\tallocatedBindingPoints.splice( index, 1 );\n\n\t\tgl.deleteBuffer( buffers[ uniformsGroup.id ] );\n\n\t\tdelete buffers[ uniformsGroup.id ];\n\t\tdelete updateList[ uniformsGroup.id ];\n\n\t}\n\n\tfunction dispose() {\n\n\t\tfor ( const id in buffers ) {\n\n\t\t\tgl.deleteBuffer( buffers[ id ] );\n\n\t\t}\n\n\t\tallocatedBindingPoints = [];\n\t\tbuffers = {};\n\t\tupdateList = {};\n\n\t}\n\n\treturn {\n\n\t\tbind: bind,\n\t\tupdate: update,\n\n\t\tdispose: dispose\n\n\t};\n\n}\n\nfunction createCanvasElement() {\n\n\tconst canvas = createElementNS( 'canvas' );\n\tcanvas.style.display = 'block';\n\treturn canvas;\n\n}\n\nfunction WebGLRenderer( parameters = {} ) {\n\n\tthis.isWebGLRenderer = true;\n\n\tconst _canvas = parameters.canvas !== undefined ? parameters.canvas : createCanvasElement(),\n\t\t_context = parameters.context !== undefined ? parameters.context : null,\n\n\t\t_depth = parameters.depth !== undefined ? parameters.depth : true,\n\t\t_stencil = parameters.stencil !== undefined ? parameters.stencil : true,\n\t\t_antialias = parameters.antialias !== undefined ? parameters.antialias : false,\n\t\t_premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true,\n\t\t_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false,\n\t\t_powerPreference = parameters.powerPreference !== undefined ? parameters.powerPreference : 'default',\n\t\t_failIfMajorPerformanceCaveat = parameters.failIfMajorPerformanceCaveat !== undefined ? parameters.failIfMajorPerformanceCaveat : false;\n\n\tlet _alpha;\n\n\tif ( _context !== null ) {\n\n\t\t_alpha = _context.getContextAttributes().alpha;\n\n\t} else {\n\n\t\t_alpha = parameters.alpha !== undefined ? parameters.alpha : false;\n\n\t}\n\n\tlet currentRenderList = null;\n\tlet currentRenderState = null;\n\n\t// render() can be called from within a callback triggered by another render.\n\t// We track this so that the nested render call gets its list and state isolated from the parent render call.\n\n\tconst renderListStack = [];\n\tconst renderStateStack = [];\n\n\t// public properties\n\n\tthis.domElement = _canvas;\n\n\t// Debug configuration container\n\tthis.debug = {\n\n\t\t/**\n\t\t * Enables error checking and reporting when shader programs are being compiled\n\t\t * @type {boolean}\n\t\t */\n\t\tcheckShaderErrors: true\n\t};\n\n\t// clearing\n\n\tthis.autoClear = true;\n\tthis.autoClearColor = true;\n\tthis.autoClearDepth = true;\n\tthis.autoClearStencil = true;\n\n\t// scene graph\n\n\tthis.sortObjects = true;\n\n\t// user-defined clipping\n\n\tthis.clippingPlanes = [];\n\tthis.localClippingEnabled = false;\n\n\t// physically based shading\n\n\tthis.outputEncoding = LinearEncoding;\n\n\t// physical lights\n\n\tthis.physicallyCorrectLights = false;\n\n\t// tone mapping\n\n\tthis.toneMapping = NoToneMapping;\n\tthis.toneMappingExposure = 1.0;\n\n\t//\n\n\tObject.defineProperties( this, {\n\n\t\t// @deprecated since r136, 0e21088102b4de7e0a0a33140620b7a3424b9e6d\n\n\t\tgammaFactor: {\n\t\t\tget: function () {\n\n\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: .gammaFactor has been removed.' );\n\t\t\t\treturn 2;\n\n\t\t\t},\n\t\t\tset: function () {\n\n\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: .gammaFactor has been removed.' );\n\n\t\t\t}\n\t\t}\n\n\t} );\n\n\t// internal properties\n\n\tconst _this = this;\n\n\tlet _isContextLost = false;\n\n\t// internal state cache\n\n\tlet _currentActiveCubeFace = 0;\n\tlet _currentActiveMipmapLevel = 0;\n\tlet _currentRenderTarget = null;\n\tlet _currentMaterialId = - 1;\n\n\tlet _currentCamera = null;\n\n\tconst _currentViewport = new Vector4();\n\tconst _currentScissor = new Vector4();\n\tlet _currentScissorTest = null;\n\n\t//\n\n\tlet _width = _canvas.width;\n\tlet _height = _canvas.height;\n\n\tlet _pixelRatio = 1;\n\tlet _opaqueSort = null;\n\tlet _transparentSort = null;\n\n\tconst _viewport = new Vector4( 0, 0, _width, _height );\n\tconst _scissor = new Vector4( 0, 0, _width, _height );\n\tlet _scissorTest = false;\n\n\t// frustum\n\n\tconst _frustum = new Frustum();\n\n\t// clipping\n\n\tlet _clippingEnabled = false;\n\tlet _localClippingEnabled = false;\n\n\t// transmission\n\n\tlet _transmissionRenderTarget = null;\n\n\t// camera matrices cache\n\n\tconst _projScreenMatrix = new Matrix4();\n\n\tconst _vector2 = new Vector2();\n\tconst _vector3 = new Vector3();\n\n\tconst _emptyScene = { background: null, fog: null, environment: null, overrideMaterial: null, isScene: true };\n\n\tfunction getTargetPixelRatio() {\n\n\t\treturn _currentRenderTarget === null ? _pixelRatio : 1;\n\n\t}\n\n\t// initialize\n\n\tlet _gl = _context;\n\n\tfunction getContext( contextNames, contextAttributes ) {\n\n\t\tfor ( let i = 0; i < contextNames.length; i ++ ) {\n\n\t\t\tconst contextName = contextNames[ i ];\n\t\t\tconst context = _canvas.getContext( contextName, contextAttributes );\n\t\t\tif ( context !== null ) return context;\n\n\t\t}\n\n\t\treturn null;\n\n\t}\n\n\ttry {\n\n\t\tconst contextAttributes = {\n\t\t\talpha: true,\n\t\t\tdepth: _depth,\n\t\t\tstencil: _stencil,\n\t\t\tantialias: _antialias,\n\t\t\tpremultipliedAlpha: _premultipliedAlpha,\n\t\t\tpreserveDrawingBuffer: _preserveDrawingBuffer,\n\t\t\tpowerPreference: _powerPreference,\n\t\t\tfailIfMajorPerformanceCaveat: _failIfMajorPerformanceCaveat\n\t\t};\n\n\t\t// OffscreenCanvas does not have setAttribute, see #22811\n\t\tif ( 'setAttribute' in _canvas ) _canvas.setAttribute( 'data-engine', `three.js r${REVISION}` );\n\n\t\t// event listeners must be registered before WebGL context is created, see #12753\n\t\t_canvas.addEventListener( 'webglcontextlost', onContextLost, false );\n\t\t_canvas.addEventListener( 'webglcontextrestored', onContextRestore, false );\n\t\t_canvas.addEventListener( 'webglcontextcreationerror', onContextCreationError, false );\n\n\t\tif ( _gl === null ) {\n\n\t\t\tconst contextNames = [ 'webgl2', 'webgl', 'experimental-webgl' ];\n\n\t\t\tif ( _this.isWebGL1Renderer === true ) {\n\n\t\t\t\tcontextNames.shift();\n\n\t\t\t}\n\n\t\t\t_gl = getContext( contextNames, contextAttributes );\n\n\t\t\tif ( _gl === null ) {\n\n\t\t\t\tif ( getContext( contextNames ) ) {\n\n\t\t\t\t\tthrow new Error( 'Error creating WebGL context with your selected attributes.' );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthrow new Error( 'Error creating WebGL context.' );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t// Some experimental-webgl implementations do not have getShaderPrecisionFormat\n\n\t\tif ( _gl.getShaderPrecisionFormat === undefined ) {\n\n\t\t\t_gl.getShaderPrecisionFormat = function () {\n\n\t\t\t\treturn { 'rangeMin': 1, 'rangeMax': 1, 'precision': 1 };\n\n\t\t\t};\n\n\t\t}\n\n\t} catch ( error ) {\n\n\t\tconsole.error( 'THREE.WebGLRenderer: ' + error.message );\n\t\tthrow error;\n\n\t}\n\n\tlet extensions, capabilities, state, info;\n\tlet properties, textures, cubemaps, cubeuvmaps, attributes, geometries, objects;\n\tlet programCache, materials, renderLists, renderStates, clipping, shadowMap;\n\n\tlet background, morphtargets, bufferRenderer, indexedBufferRenderer;\n\n\tlet utils, bindingStates, uniformsGroups;\n\n\tfunction initGLContext() {\n\n\t\textensions = new WebGLExtensions( _gl );\n\n\t\tcapabilities = new WebGLCapabilities( _gl, extensions, parameters );\n\n\t\textensions.init( capabilities );\n\n\t\tutils = new WebGLUtils( _gl, extensions, capabilities );\n\n\t\tstate = new WebGLState( _gl, extensions, capabilities );\n\n\t\tinfo = new WebGLInfo();\n\t\tproperties = new WebGLProperties();\n\t\ttextures = new WebGLTextures( _gl, extensions, state, properties, capabilities, utils, info );\n\t\tcubemaps = new WebGLCubeMaps( _this );\n\t\tcubeuvmaps = new WebGLCubeUVMaps( _this );\n\t\tattributes = new WebGLAttributes( _gl, capabilities );\n\t\tbindingStates = new WebGLBindingStates( _gl, extensions, attributes, capabilities );\n\t\tgeometries = new WebGLGeometries( _gl, attributes, info, bindingStates );\n\t\tobjects = new WebGLObjects( _gl, geometries, attributes, info );\n\t\tmorphtargets = new WebGLMorphtargets( _gl, capabilities, textures );\n\t\tclipping = new WebGLClipping( properties );\n\t\tprogramCache = new WebGLPrograms( _this, cubemaps, cubeuvmaps, extensions, capabilities, bindingStates, clipping );\n\t\tmaterials = new WebGLMaterials( _this, properties );\n\t\trenderLists = new WebGLRenderLists();\n\t\trenderStates = new WebGLRenderStates( extensions, capabilities );\n\t\tbackground = new WebGLBackground( _this, cubemaps, state, objects, _alpha, _premultipliedAlpha );\n\t\tshadowMap = new WebGLShadowMap( _this, objects, capabilities );\n\t\tuniformsGroups = new WebGLUniformsGroups( _gl, info, capabilities, state );\n\n\t\tbufferRenderer = new WebGLBufferRenderer( _gl, extensions, info, capabilities );\n\t\tindexedBufferRenderer = new WebGLIndexedBufferRenderer( _gl, extensions, info, capabilities );\n\n\t\tinfo.programs = programCache.programs;\n\n\t\t_this.capabilities = capabilities;\n\t\t_this.extensions = extensions;\n\t\t_this.properties = properties;\n\t\t_this.renderLists = renderLists;\n\t\t_this.shadowMap = shadowMap;\n\t\t_this.state = state;\n\t\t_this.info = info;\n\n\t}\n\n\tinitGLContext();\n\n\t// xr\n\n\tconst xr = new WebXRManager( _this, _gl );\n\n\tthis.xr = xr;\n\n\t// API\n\n\tthis.getContext = function () {\n\n\t\treturn _gl;\n\n\t};\n\n\tthis.getContextAttributes = function () {\n\n\t\treturn _gl.getContextAttributes();\n\n\t};\n\n\tthis.forceContextLoss = function () {\n\n\t\tconst extension = extensions.get( 'WEBGL_lose_context' );\n\t\tif ( extension ) extension.loseContext();\n\n\t};\n\n\tthis.forceContextRestore = function () {\n\n\t\tconst extension = extensions.get( 'WEBGL_lose_context' );\n\t\tif ( extension ) extension.restoreContext();\n\n\t};\n\n\tthis.getPixelRatio = function () {\n\n\t\treturn _pixelRatio;\n\n\t};\n\n\tthis.setPixelRatio = function ( value ) {\n\n\t\tif ( value === undefined ) return;\n\n\t\t_pixelRatio = value;\n\n\t\tthis.setSize( _width, _height, false );\n\n\t};\n\n\tthis.getSize = function ( target ) {\n\n\t\treturn target.set( _width, _height );\n\n\t};\n\n\tthis.setSize = function ( width, height, updateStyle ) {\n\n\t\tif ( xr.isPresenting ) {\n\n\t\t\tconsole.warn( 'THREE.WebGLRenderer: Can\\'t change size while VR device is presenting.' );\n\t\t\treturn;\n\n\t\t}\n\n\t\t_width = width;\n\t\t_height = height;\n\n\t\t_canvas.width = Math.floor( width * _pixelRatio );\n\t\t_canvas.height = Math.floor( height * _pixelRatio );\n\n\t\tif ( updateStyle !== false ) {\n\n\t\t\t_canvas.style.width = width + 'px';\n\t\t\t_canvas.style.height = height + 'px';\n\n\t\t}\n\n\t\tthis.setViewport( 0, 0, width, height );\n\n\t};\n\n\tthis.getDrawingBufferSize = function ( target ) {\n\n\t\treturn target.set( _width * _pixelRatio, _height * _pixelRatio ).floor();\n\n\t};\n\n\tthis.setDrawingBufferSize = function ( width, height, pixelRatio ) {\n\n\t\t_width = width;\n\t\t_height = height;\n\n\t\t_pixelRatio = pixelRatio;\n\n\t\t_canvas.width = Math.floor( width * pixelRatio );\n\t\t_canvas.height = Math.floor( height * pixelRatio );\n\n\t\tthis.setViewport( 0, 0, width, height );\n\n\t};\n\n\tthis.getCurrentViewport = function ( target ) {\n\n\t\treturn target.copy( _currentViewport );\n\n\t};\n\n\tthis.getViewport = function ( target ) {\n\n\t\treturn target.copy( _viewport );\n\n\t};\n\n\tthis.setViewport = function ( x, y, width, height ) {\n\n\t\tif ( x.isVector4 ) {\n\n\t\t\t_viewport.set( x.x, x.y, x.z, x.w );\n\n\t\t} else {\n\n\t\t\t_viewport.set( x, y, width, height );\n\n\t\t}\n\n\t\tstate.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ).floor() );\n\n\t};\n\n\tthis.getScissor = function ( target ) {\n\n\t\treturn target.copy( _scissor );\n\n\t};\n\n\tthis.setScissor = function ( x, y, width, height ) {\n\n\t\tif ( x.isVector4 ) {\n\n\t\t\t_scissor.set( x.x, x.y, x.z, x.w );\n\n\t\t} else {\n\n\t\t\t_scissor.set( x, y, width, height );\n\n\t\t}\n\n\t\tstate.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ).floor() );\n\n\t};\n\n\tthis.getScissorTest = function () {\n\n\t\treturn _scissorTest;\n\n\t};\n\n\tthis.setScissorTest = function ( boolean ) {\n\n\t\tstate.setScissorTest( _scissorTest = boolean );\n\n\t};\n\n\tthis.setOpaqueSort = function ( method ) {\n\n\t\t_opaqueSort = method;\n\n\t};\n\n\tthis.setTransparentSort = function ( method ) {\n\n\t\t_transparentSort = method;\n\n\t};\n\n\t// Clearing\n\n\tthis.getClearColor = function ( target ) {\n\n\t\treturn target.copy( background.getClearColor() );\n\n\t};\n\n\tthis.setClearColor = function () {\n\n\t\tbackground.setClearColor.apply( background, arguments );\n\n\t};\n\n\tthis.getClearAlpha = function () {\n\n\t\treturn background.getClearAlpha();\n\n\t};\n\n\tthis.setClearAlpha = function () {\n\n\t\tbackground.setClearAlpha.apply( background, arguments );\n\n\t};\n\n\tthis.clear = function ( color = true, depth = true, stencil = true ) {\n\n\t\tlet bits = 0;\n\n\t\tif ( color ) bits |= 16384;\n\t\tif ( depth ) bits |= 256;\n\t\tif ( stencil ) bits |= 1024;\n\n\t\t_gl.clear( bits );\n\n\t};\n\n\tthis.clearColor = function () {\n\n\t\tthis.clear( true, false, false );\n\n\t};\n\n\tthis.clearDepth = function () {\n\n\t\tthis.clear( false, true, false );\n\n\t};\n\n\tthis.clearStencil = function () {\n\n\t\tthis.clear( false, false, true );\n\n\t};\n\n\t//\n\n\tthis.dispose = function () {\n\n\t\t_canvas.removeEventListener( 'webglcontextlost', onContextLost, false );\n\t\t_canvas.removeEventListener( 'webglcontextrestored', onContextRestore, false );\n\t\t_canvas.removeEventListener( 'webglcontextcreationerror', onContextCreationError, false );\n\n\t\trenderLists.dispose();\n\t\trenderStates.dispose();\n\t\tproperties.dispose();\n\t\tcubemaps.dispose();\n\t\tcubeuvmaps.dispose();\n\t\tobjects.dispose();\n\t\tbindingStates.dispose();\n\t\tuniformsGroups.dispose();\n\t\tprogramCache.dispose();\n\n\t\txr.dispose();\n\n\t\txr.removeEventListener( 'sessionstart', onXRSessionStart );\n\t\txr.removeEventListener( 'sessionend', onXRSessionEnd );\n\n\t\tif ( _transmissionRenderTarget ) {\n\n\t\t\t_transmissionRenderTarget.dispose();\n\t\t\t_transmissionRenderTarget = null;\n\n\t\t}\n\n\t\tanimation.stop();\n\n\t};\n\n\t// Events\n\n\tfunction onContextLost( event ) {\n\n\t\tevent.preventDefault();\n\n\t\tconsole.log( 'THREE.WebGLRenderer: Context Lost.' );\n\n\t\t_isContextLost = true;\n\n\t}\n\n\tfunction onContextRestore( /* event */ ) {\n\n\t\tconsole.log( 'THREE.WebGLRenderer: Context Restored.' );\n\n\t\t_isContextLost = false;\n\n\t\tconst infoAutoReset = info.autoReset;\n\t\tconst shadowMapEnabled = shadowMap.enabled;\n\t\tconst shadowMapAutoUpdate = shadowMap.autoUpdate;\n\t\tconst shadowMapNeedsUpdate = shadowMap.needsUpdate;\n\t\tconst shadowMapType = shadowMap.type;\n\n\t\tinitGLContext();\n\n\t\tinfo.autoReset = infoAutoReset;\n\t\tshadowMap.enabled = shadowMapEnabled;\n\t\tshadowMap.autoUpdate = shadowMapAutoUpdate;\n\t\tshadowMap.needsUpdate = shadowMapNeedsUpdate;\n\t\tshadowMap.type = shadowMapType;\n\n\t}\n\n\tfunction onContextCreationError( event ) {\n\n\t\tconsole.error( 'THREE.WebGLRenderer: A WebGL context could not be created. Reason: ', event.statusMessage );\n\n\t}\n\n\tfunction onMaterialDispose( event ) {\n\n\t\tconst material = event.target;\n\n\t\tmaterial.removeEventListener( 'dispose', onMaterialDispose );\n\n\t\tdeallocateMaterial( material );\n\n\t}\n\n\t// Buffer deallocation\n\n\tfunction deallocateMaterial( material ) {\n\n\t\treleaseMaterialProgramReferences( material );\n\n\t\tproperties.remove( material );\n\n\t}\n\n\n\tfunction releaseMaterialProgramReferences( material ) {\n\n\t\tconst programs = properties.get( material ).programs;\n\n\t\tif ( programs !== undefined ) {\n\n\t\t\tprograms.forEach( function ( program ) {\n\n\t\t\t\tprogramCache.releaseProgram( program );\n\n\t\t\t} );\n\n\t\t\tif ( material.isShaderMaterial ) {\n\n\t\t\t\tprogramCache.releaseShaderCache( material );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t// Buffer rendering\n\n\tthis.renderBufferDirect = function ( camera, scene, geometry, material, object, group ) {\n\n\t\tif ( scene === null ) scene = _emptyScene; // renderBufferDirect second parameter used to be fog (could be null)\n\n\t\tconst frontFaceCW = ( object.isMesh && object.matrixWorld.determinant() < 0 );\n\n\t\tconst program = setProgram( camera, scene, geometry, material, object );\n\n\t\tstate.setMaterial( material, frontFaceCW );\n\n\t\t//\n\n\t\tlet index = geometry.index;\n\t\tconst position = geometry.attributes.position;\n\n\t\t//\n\n\t\tif ( index === null ) {\n\n\t\t\tif ( position === undefined || position.count === 0 ) return;\n\n\t\t} else if ( index.count === 0 ) {\n\n\t\t\treturn;\n\n\t\t}\n\n\t\t//\n\n\t\tlet rangeFactor = 1;\n\n\t\tif ( material.wireframe === true ) {\n\n\t\t\tindex = geometries.getWireframeAttribute( geometry );\n\t\t\trangeFactor = 2;\n\n\t\t}\n\n\t\tbindingStates.setup( object, material, program, geometry, index );\n\n\t\tlet attribute;\n\t\tlet renderer = bufferRenderer;\n\n\t\tif ( index !== null ) {\n\n\t\t\tattribute = attributes.get( index );\n\n\t\t\trenderer = indexedBufferRenderer;\n\t\t\trenderer.setIndex( attribute );\n\n\t\t}\n\n\t\t//\n\n\t\tconst dataCount = ( index !== null ) ? index.count : position.count;\n\n\t\tconst rangeStart = geometry.drawRange.start * rangeFactor;\n\t\tconst rangeCount = geometry.drawRange.count * rangeFactor;\n\n\t\tconst groupStart = group !== null ? group.start * rangeFactor : 0;\n\t\tconst groupCount = group !== null ? group.count * rangeFactor : Infinity;\n\n\t\tconst drawStart = Math.max( rangeStart, groupStart );\n\t\tconst drawEnd = Math.min( dataCount, rangeStart + rangeCount, groupStart + groupCount ) - 1;\n\n\t\tconst drawCount = Math.max( 0, drawEnd - drawStart + 1 );\n\n\t\tif ( drawCount === 0 ) return;\n\n\t\t//\n\n\t\tif ( object.isMesh ) {\n\n\t\t\tif ( material.wireframe === true ) {\n\n\t\t\t\tstate.setLineWidth( material.wireframeLinewidth * getTargetPixelRatio() );\n\t\t\t\trenderer.setMode( 1 );\n\n\t\t\t} else {\n\n\t\t\t\trenderer.setMode( 4 );\n\n\t\t\t}\n\n\t\t} else if ( object.isLine ) {\n\n\t\t\tlet lineWidth = material.linewidth;\n\n\t\t\tif ( lineWidth === undefined ) lineWidth = 1; // Not using Line*Material\n\n\t\t\tstate.setLineWidth( lineWidth * getTargetPixelRatio() );\n\n\t\t\tif ( object.isLineSegments ) {\n\n\t\t\t\trenderer.setMode( 1 );\n\n\t\t\t} else if ( object.isLineLoop ) {\n\n\t\t\t\trenderer.setMode( 2 );\n\n\t\t\t} else {\n\n\t\t\t\trenderer.setMode( 3 );\n\n\t\t\t}\n\n\t\t} else if ( object.isPoints ) {\n\n\t\t\trenderer.setMode( 0 );\n\n\t\t} else if ( object.isSprite ) {\n\n\t\t\trenderer.setMode( 4 );\n\n\t\t}\n\n\t\tif ( object.isInstancedMesh ) {\n\n\t\t\trenderer.renderInstances( drawStart, drawCount, object.count );\n\n\t\t} else if ( geometry.isInstancedBufferGeometry ) {\n\n\t\t\tconst instanceCount = Math.min( geometry.instanceCount, geometry._maxInstanceCount );\n\n\t\t\trenderer.renderInstances( drawStart, drawCount, instanceCount );\n\n\t\t} else {\n\n\t\t\trenderer.render( drawStart, drawCount );\n\n\t\t}\n\n\t};\n\n\t// Compile\n\n\tthis.compile = function ( scene, camera ) {\n\n\t\tcurrentRenderState = renderStates.get( scene );\n\t\tcurrentRenderState.init();\n\n\t\trenderStateStack.push( currentRenderState );\n\n\t\tscene.traverseVisible( function ( object ) {\n\n\t\t\tif ( object.isLight && object.layers.test( camera.layers ) ) {\n\n\t\t\t\tcurrentRenderState.pushLight( object );\n\n\t\t\t\tif ( object.castShadow ) {\n\n\t\t\t\t\tcurrentRenderState.pushShadow( object );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} );\n\n\t\tcurrentRenderState.setupLights( _this.physicallyCorrectLights );\n\n\t\tscene.traverse( function ( object ) {\n\n\t\t\tconst material = object.material;\n\n\t\t\tif ( material ) {\n\n\t\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\t\tfor ( let i = 0; i < material.length; i ++ ) {\n\n\t\t\t\t\t\tconst material2 = material[ i ];\n\n\t\t\t\t\t\tgetProgram( material2, scene, object );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tgetProgram( material, scene, object );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} );\n\n\t\trenderStateStack.pop();\n\t\tcurrentRenderState = null;\n\n\t};\n\n\t// Animation Loop\n\n\tlet onAnimationFrameCallback = null;\n\n\tfunction onAnimationFrame( time ) {\n\n\t\tif ( onAnimationFrameCallback ) onAnimationFrameCallback( time );\n\n\t}\n\n\tfunction onXRSessionStart() {\n\n\t\tanimation.stop();\n\n\t}\n\n\tfunction onXRSessionEnd() {\n\n\t\tanimation.start();\n\n\t}\n\n\tconst animation = new WebGLAnimation();\n\tanimation.setAnimationLoop( onAnimationFrame );\n\n\tif ( typeof self !== 'undefined' ) animation.setContext( self );\n\n\tthis.setAnimationLoop = function ( callback ) {\n\n\t\tonAnimationFrameCallback = callback;\n\t\txr.setAnimationLoop( callback );\n\n\t\t( callback === null ) ? animation.stop() : animation.start();\n\n\t};\n\n\txr.addEventListener( 'sessionstart', onXRSessionStart );\n\txr.addEventListener( 'sessionend', onXRSessionEnd );\n\n\t// Rendering\n\n\tthis.render = function ( scene, camera ) {\n\n\t\tif ( camera !== undefined && camera.isCamera !== true ) {\n\n\t\t\tconsole.error( 'THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.' );\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( _isContextLost === true ) return;\n\n\t\t// update scene graph\n\n\t\tif ( scene.autoUpdate === true ) scene.updateMatrixWorld();\n\n\t\t// update camera matrices and frustum\n\n\t\tif ( camera.parent === null ) camera.updateMatrixWorld();\n\n\t\tif ( xr.enabled === true && xr.isPresenting === true ) {\n\n\t\t\tif ( xr.cameraAutoUpdate === true ) xr.updateCamera( camera );\n\n\t\t\tcamera = xr.getCamera(); // use XR camera for rendering\n\n\t\t}\n\n\t\t//\n\t\tif ( scene.isScene === true ) scene.onBeforeRender( _this, scene, camera, _currentRenderTarget );\n\n\t\tcurrentRenderState = renderStates.get( scene, renderStateStack.length );\n\t\tcurrentRenderState.init();\n\n\t\trenderStateStack.push( currentRenderState );\n\n\t\t_projScreenMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse );\n\t\t_frustum.setFromProjectionMatrix( _projScreenMatrix );\n\n\t\t_localClippingEnabled = this.localClippingEnabled;\n\t\t_clippingEnabled = clipping.init( this.clippingPlanes, _localClippingEnabled, camera );\n\n\t\tcurrentRenderList = renderLists.get( scene, renderListStack.length );\n\t\tcurrentRenderList.init();\n\n\t\trenderListStack.push( currentRenderList );\n\n\t\tprojectObject( scene, camera, 0, _this.sortObjects );\n\n\t\tcurrentRenderList.finish();\n\n\t\tif ( _this.sortObjects === true ) {\n\n\t\t\tcurrentRenderList.sort( _opaqueSort, _transparentSort );\n\n\t\t}\n\n\t\t//\n\n\t\tif ( _clippingEnabled === true ) clipping.beginShadows();\n\n\t\tconst shadowsArray = currentRenderState.state.shadowsArray;\n\n\t\tshadowMap.render( shadowsArray, scene, camera );\n\n\t\tif ( _clippingEnabled === true ) clipping.endShadows();\n\n\t\t//\n\n\t\tif ( this.info.autoReset === true ) this.info.reset();\n\n\t\t//\n\n\t\tbackground.render( currentRenderList, scene );\n\n\t\t// render scene\n\n\t\tcurrentRenderState.setupLights( _this.physicallyCorrectLights );\n\n\t\tif ( camera.isArrayCamera ) {\n\n\t\t\tconst cameras = camera.cameras;\n\n\t\t\tfor ( let i = 0, l = cameras.length; i < l; i ++ ) {\n\n\t\t\t\tconst camera2 = cameras[ i ];\n\n\t\t\t\trenderScene( currentRenderList, scene, camera2, camera2.viewport );\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\trenderScene( currentRenderList, scene, camera );\n\n\t\t}\n\n\t\t//\n\n\t\tif ( _currentRenderTarget !== null ) {\n\n\t\t\t// resolve multisample renderbuffers to a single-sample texture if necessary\n\n\t\t\ttextures.updateMultisampleRenderTarget( _currentRenderTarget );\n\n\t\t\t// Generate mipmap if we're using any kind of mipmap filtering\n\n\t\t\ttextures.updateRenderTargetMipmap( _currentRenderTarget );\n\n\t\t}\n\n\t\t//\n\n\t\tif ( scene.isScene === true ) scene.onAfterRender( _this, scene, camera );\n\n\t\t// _gl.finish();\n\n\t\tbindingStates.resetDefaultState();\n\t\t_currentMaterialId = - 1;\n\t\t_currentCamera = null;\n\n\t\trenderStateStack.pop();\n\n\t\tif ( renderStateStack.length > 0 ) {\n\n\t\t\tcurrentRenderState = renderStateStack[ renderStateStack.length - 1 ];\n\n\t\t} else {\n\n\t\t\tcurrentRenderState = null;\n\n\t\t}\n\n\t\trenderListStack.pop();\n\n\t\tif ( renderListStack.length > 0 ) {\n\n\t\t\tcurrentRenderList = renderListStack[ renderListStack.length - 1 ];\n\n\t\t} else {\n\n\t\t\tcurrentRenderList = null;\n\n\t\t}\n\n\t};\n\n\tfunction projectObject( object, camera, groupOrder, sortObjects ) {\n\n\t\tif ( object.visible === false ) return;\n\n\t\tconst visible = object.layers.test( camera.layers );\n\n\t\tif ( visible ) {\n\n\t\t\tif ( object.isGroup ) {\n\n\t\t\t\tgroupOrder = object.renderOrder;\n\n\t\t\t} else if ( object.isLOD ) {\n\n\t\t\t\tif ( object.autoUpdate === true ) object.update( camera );\n\n\t\t\t} else if ( object.isLight ) {\n\n\t\t\t\tcurrentRenderState.pushLight( object );\n\n\t\t\t\tif ( object.castShadow ) {\n\n\t\t\t\t\tcurrentRenderState.pushShadow( object );\n\n\t\t\t\t}\n\n\t\t\t} else if ( object.isSprite ) {\n\n\t\t\t\tif ( ! object.frustumCulled || _frustum.intersectsSprite( object ) ) {\n\n\t\t\t\t\tif ( sortObjects ) {\n\n\t\t\t\t\t\t_vector3.setFromMatrixPosition( object.matrixWorld )\n\t\t\t\t\t\t\t.applyMatrix4( _projScreenMatrix );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tconst geometry = objects.update( object );\n\t\t\t\t\tconst material = object.material;\n\n\t\t\t\t\tif ( material.visible ) {\n\n\t\t\t\t\t\tcurrentRenderList.push( object, geometry, material, groupOrder, _vector3.z, null );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else if ( object.isMesh || object.isLine || object.isPoints ) {\n\n\t\t\t\tif ( object.isSkinnedMesh ) {\n\n\t\t\t\t\t// update skeleton only once in a frame\n\n\t\t\t\t\tif ( object.skeleton.frame !== info.render.frame ) {\n\n\t\t\t\t\t\tobject.skeleton.update();\n\t\t\t\t\t\tobject.skeleton.frame = info.render.frame;\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tif ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) {\n\n\t\t\t\t\tif ( sortObjects ) {\n\n\t\t\t\t\t\t_vector3.setFromMatrixPosition( object.matrixWorld )\n\t\t\t\t\t\t\t.applyMatrix4( _projScreenMatrix );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tconst geometry = objects.update( object );\n\t\t\t\t\tconst material = object.material;\n\n\t\t\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\t\t\tconst groups = geometry.groups;\n\n\t\t\t\t\t\tfor ( let i = 0, l = groups.length; i < l; i ++ ) {\n\n\t\t\t\t\t\t\tconst group = groups[ i ];\n\t\t\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\t\t\tif ( groupMaterial && groupMaterial.visible ) {\n\n\t\t\t\t\t\t\t\tcurrentRenderList.push( object, geometry, groupMaterial, groupOrder, _vector3.z, group );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else if ( material.visible ) {\n\n\t\t\t\t\t\tcurrentRenderList.push( object, geometry, material, groupOrder, _vector3.z, null );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst children = object.children;\n\n\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\tprojectObject( children[ i ], camera, groupOrder, sortObjects );\n\n\t\t}\n\n\t}\n\n\tfunction renderScene( currentRenderList, scene, camera, viewport ) {\n\n\t\tconst opaqueObjects = currentRenderList.opaque;\n\t\tconst transmissiveObjects = currentRenderList.transmissive;\n\t\tconst transparentObjects = currentRenderList.transparent;\n\n\t\tcurrentRenderState.setupLightsView( camera );\n\n\t\tif ( transmissiveObjects.length > 0 ) renderTransmissionPass( opaqueObjects, scene, camera );\n\n\t\tif ( viewport ) state.viewport( _currentViewport.copy( viewport ) );\n\n\t\tif ( opaqueObjects.length > 0 ) renderObjects( opaqueObjects, scene, camera );\n\t\tif ( transmissiveObjects.length > 0 ) renderObjects( transmissiveObjects, scene, camera );\n\t\tif ( transparentObjects.length > 0 ) renderObjects( transparentObjects, scene, camera );\n\n\t\t// Ensure depth buffer writing is enabled so it can be cleared on next render\n\n\t\tstate.buffers.depth.setTest( true );\n\t\tstate.buffers.depth.setMask( true );\n\t\tstate.buffers.color.setMask( true );\n\n\t\tstate.setPolygonOffset( false );\n\n\t}\n\n\tfunction renderTransmissionPass( opaqueObjects, scene, camera ) {\n\n\t\tconst isWebGL2 = capabilities.isWebGL2;\n\n\t\tif ( _transmissionRenderTarget === null ) {\n\n\t\t\t_transmissionRenderTarget = new WebGLRenderTarget( 1, 1, {\n\t\t\t\tgenerateMipmaps: true,\n\t\t\t\ttype: extensions.has( 'EXT_color_buffer_half_float' ) ? HalfFloatType : UnsignedByteType,\n\t\t\t\tminFilter: LinearMipmapLinearFilter,\n\t\t\t\tsamples: ( isWebGL2 && _antialias === true ) ? 4 : 0\n\t\t\t} );\n\n\t\t}\n\n\t\t_this.getDrawingBufferSize( _vector2 );\n\n\t\tif ( isWebGL2 ) {\n\n\t\t\t_transmissionRenderTarget.setSize( _vector2.x, _vector2.y );\n\n\t\t} else {\n\n\t\t\t_transmissionRenderTarget.setSize( floorPowerOfTwo( _vector2.x ), floorPowerOfTwo( _vector2.y ) );\n\n\t\t}\n\n\t\t//\n\n\t\tconst currentRenderTarget = _this.getRenderTarget();\n\t\t_this.setRenderTarget( _transmissionRenderTarget );\n\t\t_this.clear();\n\n\t\t// Turn off the features which can affect the frag color for opaque objects pass.\n\t\t// Otherwise they are applied twice in opaque objects pass and transmission objects pass.\n\t\tconst currentToneMapping = _this.toneMapping;\n\t\t_this.toneMapping = NoToneMapping;\n\n\t\trenderObjects( opaqueObjects, scene, camera );\n\n\t\t_this.toneMapping = currentToneMapping;\n\n\t\ttextures.updateMultisampleRenderTarget( _transmissionRenderTarget );\n\t\ttextures.updateRenderTargetMipmap( _transmissionRenderTarget );\n\n\t\t_this.setRenderTarget( currentRenderTarget );\n\n\t}\n\n\tfunction renderObjects( renderList, scene, camera ) {\n\n\t\tconst overrideMaterial = scene.isScene === true ? scene.overrideMaterial : null;\n\n\t\tfor ( let i = 0, l = renderList.length; i < l; i ++ ) {\n\n\t\t\tconst renderItem = renderList[ i ];\n\n\t\t\tconst object = renderItem.object;\n\t\t\tconst geometry = renderItem.geometry;\n\t\t\tconst material = overrideMaterial === null ? renderItem.material : overrideMaterial;\n\t\t\tconst group = renderItem.group;\n\n\t\t\tif ( object.layers.test( camera.layers ) ) {\n\n\t\t\t\trenderObject( object, scene, camera, geometry, material, group );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tfunction renderObject( object, scene, camera, geometry, material, group ) {\n\n\t\tobject.onBeforeRender( _this, scene, camera, geometry, material, group );\n\n\t\tobject.modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, object.matrixWorld );\n\t\tobject.normalMatrix.getNormalMatrix( object.modelViewMatrix );\n\n\t\tmaterial.onBeforeRender( _this, scene, camera, geometry, object, group );\n\n\t\tif ( material.transparent === true && material.side === DoubleSide ) {\n\n\t\t\tmaterial.side = BackSide;\n\t\t\tmaterial.needsUpdate = true;\n\t\t\t_this.renderBufferDirect( camera, scene, geometry, material, object, group );\n\n\t\t\tmaterial.side = FrontSide;\n\t\t\tmaterial.needsUpdate = true;\n\t\t\t_this.renderBufferDirect( camera, scene, geometry, material, object, group );\n\n\t\t\tmaterial.side = DoubleSide;\n\n\t\t} else {\n\n\t\t\t_this.renderBufferDirect( camera, scene, geometry, material, object, group );\n\n\t\t}\n\n\t\tobject.onAfterRender( _this, scene, camera, geometry, material, group );\n\n\t}\n\n\tfunction getProgram( material, scene, object ) {\n\n\t\tif ( scene.isScene !== true ) scene = _emptyScene; // scene could be a Mesh, Line, Points, ...\n\n\t\tconst materialProperties = properties.get( material );\n\n\t\tconst lights = currentRenderState.state.lights;\n\t\tconst shadowsArray = currentRenderState.state.shadowsArray;\n\n\t\tconst lightsStateVersion = lights.state.version;\n\n\t\tconst parameters = programCache.getParameters( material, lights.state, shadowsArray, scene, object );\n\t\tconst programCacheKey = programCache.getProgramCacheKey( parameters );\n\n\t\tlet programs = materialProperties.programs;\n\n\t\t// always update environment and fog - changing these trigger an getProgram call, but it's possible that the program doesn't change\n\n\t\tmaterialProperties.environment = material.isMeshStandardMaterial ? scene.environment : null;\n\t\tmaterialProperties.fog = scene.fog;\n\t\tmaterialProperties.envMap = ( material.isMeshStandardMaterial ? cubeuvmaps : cubemaps ).get( material.envMap || materialProperties.environment );\n\n\t\tif ( programs === undefined ) {\n\n\t\t\t// new material\n\n\t\t\tmaterial.addEventListener( 'dispose', onMaterialDispose );\n\n\t\t\tprograms = new Map();\n\t\t\tmaterialProperties.programs = programs;\n\n\t\t}\n\n\t\tlet program = programs.get( programCacheKey );\n\n\t\tif ( program !== undefined ) {\n\n\t\t\t// early out if program and light state is identical\n\n\t\t\tif ( materialProperties.currentProgram === program && materialProperties.lightsStateVersion === lightsStateVersion ) {\n\n\t\t\t\tupdateCommonMaterialProperties( material, parameters );\n\n\t\t\t\treturn program;\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tparameters.uniforms = programCache.getUniforms( material );\n\n\t\t\tmaterial.onBuild( object, parameters, _this );\n\n\t\t\tmaterial.onBeforeCompile( parameters, _this );\n\n\t\t\tprogram = programCache.acquireProgram( parameters, programCacheKey );\n\t\t\tprograms.set( programCacheKey, program );\n\n\t\t\tmaterialProperties.uniforms = parameters.uniforms;\n\n\t\t}\n\n\t\tconst uniforms = materialProperties.uniforms;\n\n\t\tif ( ( ! material.isShaderMaterial && ! material.isRawShaderMaterial ) || material.clipping === true ) {\n\n\t\t\tuniforms.clippingPlanes = clipping.uniform;\n\n\t\t}\n\n\t\tupdateCommonMaterialProperties( material, parameters );\n\n\t\t// store the light setup it was created for\n\n\t\tmaterialProperties.needsLights = materialNeedsLights( material );\n\t\tmaterialProperties.lightsStateVersion = lightsStateVersion;\n\n\t\tif ( materialProperties.needsLights ) {\n\n\t\t\t// wire up the material to this renderer's lighting state\n\n\t\t\tuniforms.ambientLightColor.value = lights.state.ambient;\n\t\t\tuniforms.lightProbe.value = lights.state.probe;\n\t\t\tuniforms.directionalLights.value = lights.state.directional;\n\t\t\tuniforms.directionalLightShadows.value = lights.state.directionalShadow;\n\t\t\tuniforms.spotLights.value = lights.state.spot;\n\t\t\tuniforms.spotLightShadows.value = lights.state.spotShadow;\n\t\t\tuniforms.rectAreaLights.value = lights.state.rectArea;\n\t\t\tuniforms.ltc_1.value = lights.state.rectAreaLTC1;\n\t\t\tuniforms.ltc_2.value = lights.state.rectAreaLTC2;\n\t\t\tuniforms.pointLights.value = lights.state.point;\n\t\t\tuniforms.pointLightShadows.value = lights.state.pointShadow;\n\t\t\tuniforms.hemisphereLights.value = lights.state.hemi;\n\n\t\t\tuniforms.directionalShadowMap.value = lights.state.directionalShadowMap;\n\t\t\tuniforms.directionalShadowMatrix.value = lights.state.directionalShadowMatrix;\n\t\t\tuniforms.spotShadowMap.value = lights.state.spotShadowMap;\n\t\t\tuniforms.spotShadowMatrix.value = lights.state.spotShadowMatrix;\n\t\t\tuniforms.pointShadowMap.value = lights.state.pointShadowMap;\n\t\t\tuniforms.pointShadowMatrix.value = lights.state.pointShadowMatrix;\n\t\t\t// TODO (abelnation): add area lights shadow info to uniforms\n\n\t\t}\n\n\t\tconst progUniforms = program.getUniforms();\n\t\tconst uniformsList = WebGLUniforms.seqWithValue( progUniforms.seq, uniforms );\n\n\t\tmaterialProperties.currentProgram = program;\n\t\tmaterialProperties.uniformsList = uniformsList;\n\n\t\treturn program;\n\n\t}\n\n\tfunction updateCommonMaterialProperties( material, parameters ) {\n\n\t\tconst materialProperties = properties.get( material );\n\n\t\tmaterialProperties.outputEncoding = parameters.outputEncoding;\n\t\tmaterialProperties.instancing = parameters.instancing;\n\t\tmaterialProperties.skinning = parameters.skinning;\n\t\tmaterialProperties.morphTargets = parameters.morphTargets;\n\t\tmaterialProperties.morphNormals = parameters.morphNormals;\n\t\tmaterialProperties.morphColors = parameters.morphColors;\n\t\tmaterialProperties.morphTargetsCount = parameters.morphTargetsCount;\n\t\tmaterialProperties.numClippingPlanes = parameters.numClippingPlanes;\n\t\tmaterialProperties.numIntersection = parameters.numClipIntersection;\n\t\tmaterialProperties.vertexAlphas = parameters.vertexAlphas;\n\t\tmaterialProperties.vertexTangents = parameters.vertexTangents;\n\t\tmaterialProperties.toneMapping = parameters.toneMapping;\n\n\t}\n\n\tfunction setProgram( camera, scene, geometry, material, object ) {\n\n\t\tif ( scene.isScene !== true ) scene = _emptyScene; // scene could be a Mesh, Line, Points, ...\n\n\t\ttextures.resetTextureUnits();\n\n\t\tconst fog = scene.fog;\n\t\tconst environment = material.isMeshStandardMaterial ? scene.environment : null;\n\t\tconst encoding = ( _currentRenderTarget === null ) ? _this.outputEncoding : ( _currentRenderTarget.isXRRenderTarget === true ? _currentRenderTarget.texture.encoding : LinearEncoding );\n\t\tconst envMap = ( material.isMeshStandardMaterial ? cubeuvmaps : cubemaps ).get( material.envMap || environment );\n\t\tconst vertexAlphas = material.vertexColors === true && !! geometry.attributes.color && geometry.attributes.color.itemSize === 4;\n\t\tconst vertexTangents = !! material.normalMap && !! geometry.attributes.tangent;\n\t\tconst morphTargets = !! geometry.morphAttributes.position;\n\t\tconst morphNormals = !! geometry.morphAttributes.normal;\n\t\tconst morphColors = !! geometry.morphAttributes.color;\n\t\tconst toneMapping = material.toneMapped ? _this.toneMapping : NoToneMapping;\n\n\t\tconst morphAttribute = geometry.morphAttributes.position || geometry.morphAttributes.normal || geometry.morphAttributes.color;\n\t\tconst morphTargetsCount = ( morphAttribute !== undefined ) ? morphAttribute.length : 0;\n\n\t\tconst materialProperties = properties.get( material );\n\t\tconst lights = currentRenderState.state.lights;\n\n\t\tif ( _clippingEnabled === true ) {\n\n\t\t\tif ( _localClippingEnabled === true || camera !== _currentCamera ) {\n\n\t\t\t\tconst useCache =\n\t\t\t\t\tcamera === _currentCamera &&\n\t\t\t\t\tmaterial.id === _currentMaterialId;\n\n\t\t\t\t// we might want to call this function with some ClippingGroup\n\t\t\t\t// object instead of the material, once it becomes feasible\n\t\t\t\t// (#8465, #8379)\n\t\t\t\tclipping.setState( material, camera, useCache );\n\n\t\t\t}\n\n\t\t}\n\n\t\t//\n\n\t\tlet needsProgramChange = false;\n\n\t\tif ( material.version === materialProperties.__version ) {\n\n\t\t\tif ( materialProperties.needsLights && ( materialProperties.lightsStateVersion !== lights.state.version ) ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( materialProperties.outputEncoding !== encoding ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( object.isInstancedMesh && materialProperties.instancing === false ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( ! object.isInstancedMesh && materialProperties.instancing === true ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( object.isSkinnedMesh && materialProperties.skinning === false ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( ! object.isSkinnedMesh && materialProperties.skinning === true ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( materialProperties.envMap !== envMap ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( material.fog === true && materialProperties.fog !== fog ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( materialProperties.numClippingPlanes !== undefined &&\n\t\t\t\t( materialProperties.numClippingPlanes !== clipping.numPlanes ||\n\t\t\t\tmaterialProperties.numIntersection !== clipping.numIntersection ) ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( materialProperties.vertexAlphas !== vertexAlphas ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( materialProperties.vertexTangents !== vertexTangents ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( materialProperties.morphTargets !== morphTargets ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( materialProperties.morphNormals !== morphNormals ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( materialProperties.morphColors !== morphColors ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( materialProperties.toneMapping !== toneMapping ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t} else if ( capabilities.isWebGL2 === true && materialProperties.morphTargetsCount !== morphTargetsCount ) {\n\n\t\t\t\tneedsProgramChange = true;\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tneedsProgramChange = true;\n\t\t\tmaterialProperties.__version = material.version;\n\n\t\t}\n\n\t\t//\n\n\t\tlet program = materialProperties.currentProgram;\n\n\t\tif ( needsProgramChange === true ) {\n\n\t\t\tprogram = getProgram( material, scene, object );\n\n\t\t}\n\n\t\tlet refreshProgram = false;\n\t\tlet refreshMaterial = false;\n\t\tlet refreshLights = false;\n\n\t\tconst p_uniforms = program.getUniforms(),\n\t\t\tm_uniforms = materialProperties.uniforms;\n\n\t\tif ( state.useProgram( program.program ) ) {\n\n\t\t\trefreshProgram = true;\n\t\t\trefreshMaterial = true;\n\t\t\trefreshLights = true;\n\n\t\t}\n\n\t\tif ( material.id !== _currentMaterialId ) {\n\n\t\t\t_currentMaterialId = material.id;\n\n\t\t\trefreshMaterial = true;\n\n\t\t}\n\n\t\tif ( refreshProgram || _currentCamera !== camera ) {\n\n\t\t\tp_uniforms.setValue( _gl, 'projectionMatrix', camera.projectionMatrix );\n\n\t\t\tif ( capabilities.logarithmicDepthBuffer ) {\n\n\t\t\t\tp_uniforms.setValue( _gl, 'logDepthBufFC',\n\t\t\t\t\t2.0 / ( Math.log( camera.far + 1.0 ) / Math.LN2 ) );\n\n\t\t\t}\n\n\t\t\tif ( _currentCamera !== camera ) {\n\n\t\t\t\t_currentCamera = camera;\n\n\t\t\t\t// lighting uniforms depend on the camera so enforce an update\n\t\t\t\t// now, in case this material supports lights - or later, when\n\t\t\t\t// the next material that does gets activated:\n\n\t\t\t\trefreshMaterial = true;\t\t// set to true on material change\n\t\t\t\trefreshLights = true;\t\t// remains set until update done\n\n\t\t\t}\n\n\t\t\t// load material specific uniforms\n\t\t\t// (shader material also gets them for the sake of genericity)\n\n\t\t\tif ( material.isShaderMaterial ||\n\t\t\t\tmaterial.isMeshPhongMaterial ||\n\t\t\t\tmaterial.isMeshToonMaterial ||\n\t\t\t\tmaterial.isMeshStandardMaterial ||\n\t\t\t\tmaterial.envMap ) {\n\n\t\t\t\tconst uCamPos = p_uniforms.map.cameraPosition;\n\n\t\t\t\tif ( uCamPos !== undefined ) {\n\n\t\t\t\t\tuCamPos.setValue( _gl,\n\t\t\t\t\t\t_vector3.setFromMatrixPosition( camera.matrixWorld ) );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( material.isMeshPhongMaterial ||\n\t\t\t\tmaterial.isMeshToonMaterial ||\n\t\t\t\tmaterial.isMeshLambertMaterial ||\n\t\t\t\tmaterial.isMeshBasicMaterial ||\n\t\t\t\tmaterial.isMeshStandardMaterial ||\n\t\t\t\tmaterial.isShaderMaterial ) {\n\n\t\t\t\tp_uniforms.setValue( _gl, 'isOrthographic', camera.isOrthographicCamera === true );\n\n\t\t\t}\n\n\t\t\tif ( material.isMeshPhongMaterial ||\n\t\t\t\tmaterial.isMeshToonMaterial ||\n\t\t\t\tmaterial.isMeshLambertMaterial ||\n\t\t\t\tmaterial.isMeshBasicMaterial ||\n\t\t\t\tmaterial.isMeshStandardMaterial ||\n\t\t\t\tmaterial.isShaderMaterial ||\n\t\t\t\tmaterial.isShadowMaterial ||\n\t\t\t\tobject.isSkinnedMesh ) {\n\n\t\t\t\tp_uniforms.setValue( _gl, 'viewMatrix', camera.matrixWorldInverse );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// skinning and morph target uniforms must be set even if material didn't change\n\t\t// auto-setting of texture unit for bone and morph texture must go before other textures\n\t\t// otherwise textures used for skinning and morphing can take over texture units reserved for other material textures\n\n\t\tif ( object.isSkinnedMesh ) {\n\n\t\t\tp_uniforms.setOptional( _gl, object, 'bindMatrix' );\n\t\t\tp_uniforms.setOptional( _gl, object, 'bindMatrixInverse' );\n\n\t\t\tconst skeleton = object.skeleton;\n\n\t\t\tif ( skeleton ) {\n\n\t\t\t\tif ( capabilities.floatVertexTextures ) {\n\n\t\t\t\t\tif ( skeleton.boneTexture === null ) skeleton.computeBoneTexture();\n\n\t\t\t\t\tp_uniforms.setValue( _gl, 'boneTexture', skeleton.boneTexture, textures );\n\t\t\t\t\tp_uniforms.setValue( _gl, 'boneTextureSize', skeleton.boneTextureSize );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required.' );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\n\t\tif ( morphAttributes.position !== undefined || morphAttributes.normal !== undefined || ( morphAttributes.color !== undefined && capabilities.isWebGL2 === true ) ) {\n\n\t\t\tmorphtargets.update( object, geometry, material, program );\n\n\t\t}\n\n\n\t\tif ( refreshMaterial || materialProperties.receiveShadow !== object.receiveShadow ) {\n\n\t\t\tmaterialProperties.receiveShadow = object.receiveShadow;\n\t\t\tp_uniforms.setValue( _gl, 'receiveShadow', object.receiveShadow );\n\n\t\t}\n\n\t\tif ( refreshMaterial ) {\n\n\t\t\tp_uniforms.setValue( _gl, 'toneMappingExposure', _this.toneMappingExposure );\n\n\t\t\tif ( materialProperties.needsLights ) {\n\n\t\t\t\t// the current material requires lighting info\n\n\t\t\t\t// note: all lighting uniforms are always set correctly\n\t\t\t\t// they simply reference the renderer's state for their\n\t\t\t\t// values\n\t\t\t\t//\n\t\t\t\t// use the current material's .needsUpdate flags to set\n\t\t\t\t// the GL state when required\n\n\t\t\t\tmarkUniformsLightsNeedsUpdate( m_uniforms, refreshLights );\n\n\t\t\t}\n\n\t\t\t// refresh uniforms common to several materials\n\n\t\t\tif ( fog && material.fog === true ) {\n\n\t\t\t\tmaterials.refreshFogUniforms( m_uniforms, fog );\n\n\t\t\t}\n\n\t\t\tmaterials.refreshMaterialUniforms( m_uniforms, material, _pixelRatio, _height, _transmissionRenderTarget );\n\n\t\t\tWebGLUniforms.upload( _gl, materialProperties.uniformsList, m_uniforms, textures );\n\n\t\t}\n\n\t\tif ( material.isShaderMaterial && material.uniformsNeedUpdate === true ) {\n\n\t\t\tWebGLUniforms.upload( _gl, materialProperties.uniformsList, m_uniforms, textures );\n\t\t\tmaterial.uniformsNeedUpdate = false;\n\n\t\t}\n\n\t\tif ( material.isSpriteMaterial ) {\n\n\t\t\tp_uniforms.setValue( _gl, 'center', object.center );\n\n\t\t}\n\n\t\t// common matrices\n\n\t\tp_uniforms.setValue( _gl, 'modelViewMatrix', object.modelViewMatrix );\n\t\tp_uniforms.setValue( _gl, 'normalMatrix', object.normalMatrix );\n\t\tp_uniforms.setValue( _gl, 'modelMatrix', object.matrixWorld );\n\n\t\t// UBOs\n\n\t\tif ( material.isShaderMaterial || material.isRawShaderMaterial ) {\n\n\t\t\tconst groups = material.uniformsGroups;\n\n\t\t\tfor ( let i = 0, l = groups.length; i < l; i ++ ) {\n\n\t\t\t\tif ( capabilities.isWebGL2 ) {\n\n\t\t\t\t\tconst group = groups[ i ];\n\n\t\t\t\t\tuniformsGroups.update( group, program );\n\t\t\t\t\tuniformsGroups.bind( group, program );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.' );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn program;\n\n\t}\n\n\t// If uniforms are marked as clean, they don't need to be loaded to the GPU.\n\n\tfunction markUniformsLightsNeedsUpdate( uniforms, value ) {\n\n\t\tuniforms.ambientLightColor.needsUpdate = value;\n\t\tuniforms.lightProbe.needsUpdate = value;\n\n\t\tuniforms.directionalLights.needsUpdate = value;\n\t\tuniforms.directionalLightShadows.needsUpdate = value;\n\t\tuniforms.pointLights.needsUpdate = value;\n\t\tuniforms.pointLightShadows.needsUpdate = value;\n\t\tuniforms.spotLights.needsUpdate = value;\n\t\tuniforms.spotLightShadows.needsUpdate = value;\n\t\tuniforms.rectAreaLights.needsUpdate = value;\n\t\tuniforms.hemisphereLights.needsUpdate = value;\n\n\t}\n\n\tfunction materialNeedsLights( material ) {\n\n\t\treturn material.isMeshLambertMaterial || material.isMeshToonMaterial || material.isMeshPhongMaterial ||\n\t\t\tmaterial.isMeshStandardMaterial || material.isShadowMaterial ||\n\t\t\t( material.isShaderMaterial && material.lights === true );\n\n\t}\n\n\tthis.getActiveCubeFace = function () {\n\n\t\treturn _currentActiveCubeFace;\n\n\t};\n\n\tthis.getActiveMipmapLevel = function () {\n\n\t\treturn _currentActiveMipmapLevel;\n\n\t};\n\n\tthis.getRenderTarget = function () {\n\n\t\treturn _currentRenderTarget;\n\n\t};\n\n\tthis.setRenderTargetTextures = function ( renderTarget, colorTexture, depthTexture ) {\n\n\t\tproperties.get( renderTarget.texture ).__webglTexture = colorTexture;\n\t\tproperties.get( renderTarget.depthTexture ).__webglTexture = depthTexture;\n\n\t\tconst renderTargetProperties = properties.get( renderTarget );\n\t\trenderTargetProperties.__hasExternalTextures = true;\n\n\t\tif ( renderTargetProperties.__hasExternalTextures ) {\n\n\t\t\trenderTargetProperties.__autoAllocateDepthBuffer = depthTexture === undefined;\n\n\t\t\tif ( ! renderTargetProperties.__autoAllocateDepthBuffer ) {\n\n\t\t\t\t// The multisample_render_to_texture extension doesn't work properly if there\n\t\t\t\t// are midframe flushes and an external depth buffer. Disable use of the extension.\n\t\t\t\tif ( extensions.has( 'WEBGL_multisampled_render_to_texture' ) === true ) {\n\n\t\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided' );\n\t\t\t\t\trenderTargetProperties.__useRenderToTexture = false;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t};\n\n\tthis.setRenderTargetFramebuffer = function ( renderTarget, defaultFramebuffer ) {\n\n\t\tconst renderTargetProperties = properties.get( renderTarget );\n\t\trenderTargetProperties.__webglFramebuffer = defaultFramebuffer;\n\t\trenderTargetProperties.__useDefaultFramebuffer = defaultFramebuffer === undefined;\n\n\t};\n\n\tthis.setRenderTarget = function ( renderTarget, activeCubeFace = 0, activeMipmapLevel = 0 ) {\n\n\t\t_currentRenderTarget = renderTarget;\n\t\t_currentActiveCubeFace = activeCubeFace;\n\t\t_currentActiveMipmapLevel = activeMipmapLevel;\n\n\t\tlet useDefaultFramebuffer = true;\n\n\t\tif ( renderTarget ) {\n\n\t\t\tconst renderTargetProperties = properties.get( renderTarget );\n\n\t\t\tif ( renderTargetProperties.__useDefaultFramebuffer !== undefined ) {\n\n\t\t\t\t// We need to make sure to rebind the framebuffer.\n\t\t\t\tstate.bindFramebuffer( 36160, null );\n\t\t\t\tuseDefaultFramebuffer = false;\n\n\t\t\t} else if ( renderTargetProperties.__webglFramebuffer === undefined ) {\n\n\t\t\t\ttextures.setupRenderTarget( renderTarget );\n\n\t\t\t} else if ( renderTargetProperties.__hasExternalTextures ) {\n\n\t\t\t\t// Color and depth texture must be rebound in order for the swapchain to update.\n\t\t\t\ttextures.rebindTextures( renderTarget, properties.get( renderTarget.texture ).__webglTexture, properties.get( renderTarget.depthTexture ).__webglTexture );\n\n\t\t\t}\n\n\t\t}\n\n\t\tlet framebuffer = null;\n\t\tlet isCube = false;\n\t\tlet isRenderTarget3D = false;\n\n\t\tif ( renderTarget ) {\n\n\t\t\tconst texture = renderTarget.texture;\n\n\t\t\tif ( texture.isData3DTexture || texture.isDataArrayTexture ) {\n\n\t\t\t\tisRenderTarget3D = true;\n\n\t\t\t}\n\n\t\t\tconst __webglFramebuffer = properties.get( renderTarget ).__webglFramebuffer;\n\n\t\t\tif ( renderTarget.isWebGLCubeRenderTarget ) {\n\n\t\t\t\tframebuffer = __webglFramebuffer[ activeCubeFace ];\n\t\t\t\tisCube = true;\n\n\t\t\t} else if ( ( capabilities.isWebGL2 && renderTarget.samples > 0 ) && textures.useMultisampledRTT( renderTarget ) === false ) {\n\n\t\t\t\tframebuffer = properties.get( renderTarget ).__webglMultisampledFramebuffer;\n\n\t\t\t} else {\n\n\t\t\t\tframebuffer = __webglFramebuffer;\n\n\t\t\t}\n\n\t\t\t_currentViewport.copy( renderTarget.viewport );\n\t\t\t_currentScissor.copy( renderTarget.scissor );\n\t\t\t_currentScissorTest = renderTarget.scissorTest;\n\n\t\t} else {\n\n\t\t\t_currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ).floor();\n\t\t\t_currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ).floor();\n\t\t\t_currentScissorTest = _scissorTest;\n\n\t\t}\n\n\t\tconst framebufferBound = state.bindFramebuffer( 36160, framebuffer );\n\n\t\tif ( framebufferBound && capabilities.drawBuffers && useDefaultFramebuffer ) {\n\n\t\t\tstate.drawBuffers( renderTarget, framebuffer );\n\n\t\t}\n\n\t\tstate.viewport( _currentViewport );\n\t\tstate.scissor( _currentScissor );\n\t\tstate.setScissorTest( _currentScissorTest );\n\n\t\tif ( isCube ) {\n\n\t\t\tconst textureProperties = properties.get( renderTarget.texture );\n\t\t\t_gl.framebufferTexture2D( 36160, 36064, 34069 + activeCubeFace, textureProperties.__webglTexture, activeMipmapLevel );\n\n\t\t} else if ( isRenderTarget3D ) {\n\n\t\t\tconst textureProperties = properties.get( renderTarget.texture );\n\t\t\tconst layer = activeCubeFace || 0;\n\t\t\t_gl.framebufferTextureLayer( 36160, 36064, textureProperties.__webglTexture, activeMipmapLevel || 0, layer );\n\n\t\t}\n\n\t\t_currentMaterialId = - 1; // reset current material to ensure correct uniform bindings\n\n\t};\n\n\tthis.readRenderTargetPixels = function ( renderTarget, x, y, width, height, buffer, activeCubeFaceIndex ) {\n\n\t\tif ( ! ( renderTarget && renderTarget.isWebGLRenderTarget ) ) {\n\n\t\t\tconsole.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.' );\n\t\t\treturn;\n\n\t\t}\n\n\t\tlet framebuffer = properties.get( renderTarget ).__webglFramebuffer;\n\n\t\tif ( renderTarget.isWebGLCubeRenderTarget && activeCubeFaceIndex !== undefined ) {\n\n\t\t\tframebuffer = framebuffer[ activeCubeFaceIndex ];\n\n\t\t}\n\n\t\tif ( framebuffer ) {\n\n\t\t\tstate.bindFramebuffer( 36160, framebuffer );\n\n\t\t\ttry {\n\n\t\t\t\tconst texture = renderTarget.texture;\n\t\t\t\tconst textureFormat = texture.format;\n\t\t\t\tconst textureType = texture.type;\n\n\t\t\t\tif ( textureFormat !== RGBAFormat && utils.convert( textureFormat ) !== _gl.getParameter( 35739 ) ) {\n\n\t\t\t\t\tconsole.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.' );\n\t\t\t\t\treturn;\n\n\t\t\t\t}\n\n\t\t\t\tconst halfFloatSupportedByExt = ( textureType === HalfFloatType ) && ( extensions.has( 'EXT_color_buffer_half_float' ) || ( capabilities.isWebGL2 && extensions.has( 'EXT_color_buffer_float' ) ) );\n\n\t\t\t\tif ( textureType !== UnsignedByteType && utils.convert( textureType ) !== _gl.getParameter( 35738 ) && // Edge and Chrome Mac < 52 (#9513)\n\t\t\t\t\t! ( textureType === FloatType && ( capabilities.isWebGL2 || extensions.has( 'OES_texture_float' ) || extensions.has( 'WEBGL_color_buffer_float' ) ) ) && // Chrome Mac >= 52 and Firefox\n\t\t\t\t\t! halfFloatSupportedByExt ) {\n\n\t\t\t\t\tconsole.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.' );\n\t\t\t\t\treturn;\n\n\t\t\t\t}\n\n\t\t\t\t// the following if statement ensures valid read requests (no out-of-bounds pixels, see #8604)\n\n\t\t\t\tif ( ( x >= 0 && x <= ( renderTarget.width - width ) ) && ( y >= 0 && y <= ( renderTarget.height - height ) ) ) {\n\n\t\t\t\t\t_gl.readPixels( x, y, width, height, utils.convert( textureFormat ), utils.convert( textureType ), buffer );\n\n\t\t\t\t}\n\n\t\t\t} finally {\n\n\t\t\t\t// restore framebuffer of current render target if necessary\n\n\t\t\t\tconst framebuffer = ( _currentRenderTarget !== null ) ? properties.get( _currentRenderTarget ).__webglFramebuffer : null;\n\t\t\t\tstate.bindFramebuffer( 36160, framebuffer );\n\n\t\t\t}\n\n\t\t}\n\n\t};\n\n\tthis.copyFramebufferToTexture = function ( position, texture, level = 0 ) {\n\n\t\tconst levelScale = Math.pow( 2, - level );\n\t\tconst width = Math.floor( texture.image.width * levelScale );\n\t\tconst height = Math.floor( texture.image.height * levelScale );\n\n\t\ttextures.setTexture2D( texture, 0 );\n\n\t\t_gl.copyTexSubImage2D( 3553, level, 0, 0, position.x, position.y, width, height );\n\n\t\tstate.unbindTexture();\n\n\t};\n\n\tthis.copyTextureToTexture = function ( position, srcTexture, dstTexture, level = 0 ) {\n\n\t\tconst width = srcTexture.image.width;\n\t\tconst height = srcTexture.image.height;\n\t\tconst glFormat = utils.convert( dstTexture.format );\n\t\tconst glType = utils.convert( dstTexture.type );\n\n\t\ttextures.setTexture2D( dstTexture, 0 );\n\n\t\t// As another texture upload may have changed pixelStorei\n\t\t// parameters, make sure they are correct for the dstTexture\n\t\t_gl.pixelStorei( 37440, dstTexture.flipY );\n\t\t_gl.pixelStorei( 37441, dstTexture.premultiplyAlpha );\n\t\t_gl.pixelStorei( 3317, dstTexture.unpackAlignment );\n\n\t\tif ( srcTexture.isDataTexture ) {\n\n\t\t\t_gl.texSubImage2D( 3553, level, position.x, position.y, width, height, glFormat, glType, srcTexture.image.data );\n\n\t\t} else {\n\n\t\t\tif ( srcTexture.isCompressedTexture ) {\n\n\t\t\t\t_gl.compressedTexSubImage2D( 3553, level, position.x, position.y, srcTexture.mipmaps[ 0 ].width, srcTexture.mipmaps[ 0 ].height, glFormat, srcTexture.mipmaps[ 0 ].data );\n\n\t\t\t} else {\n\n\t\t\t\t_gl.texSubImage2D( 3553, level, position.x, position.y, glFormat, glType, srcTexture.image );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// Generate mipmaps only when copying level 0\n\t\tif ( level === 0 && dstTexture.generateMipmaps ) _gl.generateMipmap( 3553 );\n\n\t\tstate.unbindTexture();\n\n\t};\n\n\tthis.copyTextureToTexture3D = function ( sourceBox, position, srcTexture, dstTexture, level = 0 ) {\n\n\t\tif ( _this.isWebGL1Renderer ) {\n\n\t\t\tconsole.warn( 'THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.' );\n\t\t\treturn;\n\n\t\t}\n\n\t\tconst width = sourceBox.max.x - sourceBox.min.x + 1;\n\t\tconst height = sourceBox.max.y - sourceBox.min.y + 1;\n\t\tconst depth = sourceBox.max.z - sourceBox.min.z + 1;\n\t\tconst glFormat = utils.convert( dstTexture.format );\n\t\tconst glType = utils.convert( dstTexture.type );\n\t\tlet glTarget;\n\n\t\tif ( dstTexture.isData3DTexture ) {\n\n\t\t\ttextures.setTexture3D( dstTexture, 0 );\n\t\t\tglTarget = 32879;\n\n\t\t} else if ( dstTexture.isDataArrayTexture ) {\n\n\t\t\ttextures.setTexture2DArray( dstTexture, 0 );\n\t\t\tglTarget = 35866;\n\n\t\t} else {\n\n\t\t\tconsole.warn( 'THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.' );\n\t\t\treturn;\n\n\t\t}\n\n\t\t_gl.pixelStorei( 37440, dstTexture.flipY );\n\t\t_gl.pixelStorei( 37441, dstTexture.premultiplyAlpha );\n\t\t_gl.pixelStorei( 3317, dstTexture.unpackAlignment );\n\n\t\tconst unpackRowLen = _gl.getParameter( 3314 );\n\t\tconst unpackImageHeight = _gl.getParameter( 32878 );\n\t\tconst unpackSkipPixels = _gl.getParameter( 3316 );\n\t\tconst unpackSkipRows = _gl.getParameter( 3315 );\n\t\tconst unpackSkipImages = _gl.getParameter( 32877 );\n\n\t\tconst image = srcTexture.isCompressedTexture ? srcTexture.mipmaps[ 0 ] : srcTexture.image;\n\n\t\t_gl.pixelStorei( 3314, image.width );\n\t\t_gl.pixelStorei( 32878, image.height );\n\t\t_gl.pixelStorei( 3316, sourceBox.min.x );\n\t\t_gl.pixelStorei( 3315, sourceBox.min.y );\n\t\t_gl.pixelStorei( 32877, sourceBox.min.z );\n\n\t\tif ( srcTexture.isDataTexture || srcTexture.isData3DTexture ) {\n\n\t\t\t_gl.texSubImage3D( glTarget, level, position.x, position.y, position.z, width, height, depth, glFormat, glType, image.data );\n\n\t\t} else {\n\n\t\t\tif ( srcTexture.isCompressedTexture ) {\n\n\t\t\t\tconsole.warn( 'THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture.' );\n\t\t\t\t_gl.compressedTexSubImage3D( glTarget, level, position.x, position.y, position.z, width, height, depth, glFormat, image.data );\n\n\t\t\t} else {\n\n\t\t\t\t_gl.texSubImage3D( glTarget, level, position.x, position.y, position.z, width, height, depth, glFormat, glType, image );\n\n\t\t\t}\n\n\t\t}\n\n\t\t_gl.pixelStorei( 3314, unpackRowLen );\n\t\t_gl.pixelStorei( 32878, unpackImageHeight );\n\t\t_gl.pixelStorei( 3316, unpackSkipPixels );\n\t\t_gl.pixelStorei( 3315, unpackSkipRows );\n\t\t_gl.pixelStorei( 32877, unpackSkipImages );\n\n\t\t// Generate mipmaps only when copying level 0\n\t\tif ( level === 0 && dstTexture.generateMipmaps ) _gl.generateMipmap( glTarget );\n\n\t\tstate.unbindTexture();\n\n\t};\n\n\tthis.initTexture = function ( texture ) {\n\n\t\tif ( texture.isCubeTexture ) {\n\n\t\t\ttextures.setTextureCube( texture, 0 );\n\n\t\t} else if ( texture.isData3DTexture ) {\n\n\t\t\ttextures.setTexture3D( texture, 0 );\n\n\t\t} else if ( texture.isDataArrayTexture ) {\n\n\t\t\ttextures.setTexture2DArray( texture, 0 );\n\n\t\t} else {\n\n\t\t\ttextures.setTexture2D( texture, 0 );\n\n\t\t}\n\n\t\tstate.unbindTexture();\n\n\t};\n\n\tthis.resetState = function () {\n\n\t\t_currentActiveCubeFace = 0;\n\t\t_currentActiveMipmapLevel = 0;\n\t\t_currentRenderTarget = null;\n\n\t\tstate.reset();\n\t\tbindingStates.reset();\n\n\t};\n\n\tif ( typeof __THREE_DEVTOOLS__ !== 'undefined' ) {\n\n\t\t__THREE_DEVTOOLS__.dispatchEvent( new CustomEvent( 'observe', { detail: this } ) );\n\n\t}\n\n}\n\nclass WebGL1Renderer extends WebGLRenderer {}\n\nWebGL1Renderer.prototype.isWebGL1Renderer = true;\n\nclass FogExp2 {\n\n\tconstructor( color, density = 0.00025 ) {\n\n\t\tthis.isFogExp2 = true;\n\n\t\tthis.name = '';\n\n\t\tthis.color = new Color( color );\n\t\tthis.density = density;\n\n\t}\n\n\tclone() {\n\n\t\treturn new FogExp2( this.color, this.density );\n\n\t}\n\n\ttoJSON( /* meta */ ) {\n\n\t\treturn {\n\t\t\ttype: 'FogExp2',\n\t\t\tcolor: this.color.getHex(),\n\t\t\tdensity: this.density\n\t\t};\n\n\t}\n\n}\n\nclass Fog {\n\n\tconstructor( color, near = 1, far = 1000 ) {\n\n\t\tthis.isFog = true;\n\n\t\tthis.name = '';\n\n\t\tthis.color = new Color( color );\n\n\t\tthis.near = near;\n\t\tthis.far = far;\n\n\t}\n\n\tclone() {\n\n\t\treturn new Fog( this.color, this.near, this.far );\n\n\t}\n\n\ttoJSON( /* meta */ ) {\n\n\t\treturn {\n\t\t\ttype: 'Fog',\n\t\t\tcolor: this.color.getHex(),\n\t\t\tnear: this.near,\n\t\t\tfar: this.far\n\t\t};\n\n\t}\n\n}\n\nclass Scene extends Object3D {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.isScene = true;\n\n\t\tthis.type = 'Scene';\n\n\t\tthis.background = null;\n\t\tthis.environment = null;\n\t\tthis.fog = null;\n\n\t\tthis.overrideMaterial = null;\n\n\t\tthis.autoUpdate = true; // checked by the renderer\n\n\t\tif ( typeof __THREE_DEVTOOLS__ !== 'undefined' ) {\n\n\t\t\t__THREE_DEVTOOLS__.dispatchEvent( new CustomEvent( 'observe', { detail: this } ) );\n\n\t\t}\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tif ( source.background !== null ) this.background = source.background.clone();\n\t\tif ( source.environment !== null ) this.environment = source.environment.clone();\n\t\tif ( source.fog !== null ) this.fog = source.fog.clone();\n\n\t\tif ( source.overrideMaterial !== null ) this.overrideMaterial = source.overrideMaterial.clone();\n\n\t\tthis.autoUpdate = source.autoUpdate;\n\t\tthis.matrixAutoUpdate = source.matrixAutoUpdate;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = super.toJSON( meta );\n\n\t\tif ( this.fog !== null ) data.object.fog = this.fog.toJSON();\n\n\t\treturn data;\n\n\t}\n\n}\n\nclass InterleavedBuffer {\n\n\tconstructor( array, stride ) {\n\n\t\tthis.isInterleavedBuffer = true;\n\n\t\tthis.array = array;\n\t\tthis.stride = stride;\n\t\tthis.count = array !== undefined ? array.length / stride : 0;\n\n\t\tthis.usage = StaticDrawUsage;\n\t\tthis.updateRange = { offset: 0, count: - 1 };\n\n\t\tthis.version = 0;\n\n\t\tthis.uuid = generateUUID();\n\n\t}\n\n\tonUploadCallback() {}\n\n\tset needsUpdate( value ) {\n\n\t\tif ( value === true ) this.version ++;\n\n\t}\n\n\tsetUsage( value ) {\n\n\t\tthis.usage = value;\n\n\t\treturn this;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.array = new source.array.constructor( source.array );\n\t\tthis.count = source.count;\n\t\tthis.stride = source.stride;\n\t\tthis.usage = source.usage;\n\n\t\treturn this;\n\n\t}\n\n\tcopyAt( index1, attribute, index2 ) {\n\n\t\tindex1 *= this.stride;\n\t\tindex2 *= attribute.stride;\n\n\t\tfor ( let i = 0, l = this.stride; i < l; i ++ ) {\n\n\t\t\tthis.array[ index1 + i ] = attribute.array[ index2 + i ];\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tset( value, offset = 0 ) {\n\n\t\tthis.array.set( value, offset );\n\n\t\treturn this;\n\n\t}\n\n\tclone( data ) {\n\n\t\tif ( data.arrayBuffers === undefined ) {\n\n\t\t\tdata.arrayBuffers = {};\n\n\t\t}\n\n\t\tif ( this.array.buffer._uuid === undefined ) {\n\n\t\t\tthis.array.buffer._uuid = generateUUID();\n\n\t\t}\n\n\t\tif ( data.arrayBuffers[ this.array.buffer._uuid ] === undefined ) {\n\n\t\t\tdata.arrayBuffers[ this.array.buffer._uuid ] = this.array.slice( 0 ).buffer;\n\n\t\t}\n\n\t\tconst array = new this.array.constructor( data.arrayBuffers[ this.array.buffer._uuid ] );\n\n\t\tconst ib = new this.constructor( array, this.stride );\n\t\tib.setUsage( this.usage );\n\n\t\treturn ib;\n\n\t}\n\n\tonUpload( callback ) {\n\n\t\tthis.onUploadCallback = callback;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON( data ) {\n\n\t\tif ( data.arrayBuffers === undefined ) {\n\n\t\t\tdata.arrayBuffers = {};\n\n\t\t}\n\n\t\t// generate UUID for array buffer if necessary\n\n\t\tif ( this.array.buffer._uuid === undefined ) {\n\n\t\t\tthis.array.buffer._uuid = generateUUID();\n\n\t\t}\n\n\t\tif ( data.arrayBuffers[ this.array.buffer._uuid ] === undefined ) {\n\n\t\t\tdata.arrayBuffers[ this.array.buffer._uuid ] = Array.from( new Uint32Array( this.array.buffer ) );\n\n\t\t}\n\n\t\t//\n\n\t\treturn {\n\t\t\tuuid: this.uuid,\n\t\t\tbuffer: this.array.buffer._uuid,\n\t\t\ttype: this.array.constructor.name,\n\t\t\tstride: this.stride\n\t\t};\n\n\t}\n\n}\n\nconst _vector$6 = /*@__PURE__*/ new Vector3();\n\nclass InterleavedBufferAttribute {\n\n\tconstructor( interleavedBuffer, itemSize, offset, normalized = false ) {\n\n\t\tthis.isInterleavedBufferAttribute = true;\n\n\t\tthis.name = '';\n\n\t\tthis.data = interleavedBuffer;\n\t\tthis.itemSize = itemSize;\n\t\tthis.offset = offset;\n\n\t\tthis.normalized = normalized === true;\n\n\t}\n\n\tget count() {\n\n\t\treturn this.data.count;\n\n\t}\n\n\tget array() {\n\n\t\treturn this.data.array;\n\n\t}\n\n\tset needsUpdate( value ) {\n\n\t\tthis.data.needsUpdate = value;\n\n\t}\n\n\tapplyMatrix4( m ) {\n\n\t\tfor ( let i = 0, l = this.data.count; i < l; i ++ ) {\n\n\t\t\t_vector$6.fromBufferAttribute( this, i );\n\n\t\t\t_vector$6.applyMatrix4( m );\n\n\t\t\tthis.setXYZ( i, _vector$6.x, _vector$6.y, _vector$6.z );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tapplyNormalMatrix( m ) {\n\n\t\tfor ( let i = 0, l = this.count; i < l; i ++ ) {\n\n\t\t\t_vector$6.fromBufferAttribute( this, i );\n\n\t\t\t_vector$6.applyNormalMatrix( m );\n\n\t\t\tthis.setXYZ( i, _vector$6.x, _vector$6.y, _vector$6.z );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\ttransformDirection( m ) {\n\n\t\tfor ( let i = 0, l = this.count; i < l; i ++ ) {\n\n\t\t\t_vector$6.fromBufferAttribute( this, i );\n\n\t\t\t_vector$6.transformDirection( m );\n\n\t\t\tthis.setXYZ( i, _vector$6.x, _vector$6.y, _vector$6.z );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetX( index, x ) {\n\n\t\tthis.data.array[ index * this.data.stride + this.offset ] = x;\n\n\t\treturn this;\n\n\t}\n\n\tsetY( index, y ) {\n\n\t\tthis.data.array[ index * this.data.stride + this.offset + 1 ] = y;\n\n\t\treturn this;\n\n\t}\n\n\tsetZ( index, z ) {\n\n\t\tthis.data.array[ index * this.data.stride + this.offset + 2 ] = z;\n\n\t\treturn this;\n\n\t}\n\n\tsetW( index, w ) {\n\n\t\tthis.data.array[ index * this.data.stride + this.offset + 3 ] = w;\n\n\t\treturn this;\n\n\t}\n\n\tgetX( index ) {\n\n\t\treturn this.data.array[ index * this.data.stride + this.offset ];\n\n\t}\n\n\tgetY( index ) {\n\n\t\treturn this.data.array[ index * this.data.stride + this.offset + 1 ];\n\n\t}\n\n\tgetZ( index ) {\n\n\t\treturn this.data.array[ index * this.data.stride + this.offset + 2 ];\n\n\t}\n\n\tgetW( index ) {\n\n\t\treturn this.data.array[ index * this.data.stride + this.offset + 3 ];\n\n\t}\n\n\tsetXY( index, x, y ) {\n\n\t\tindex = index * this.data.stride + this.offset;\n\n\t\tthis.data.array[ index + 0 ] = x;\n\t\tthis.data.array[ index + 1 ] = y;\n\n\t\treturn this;\n\n\t}\n\n\tsetXYZ( index, x, y, z ) {\n\n\t\tindex = index * this.data.stride + this.offset;\n\n\t\tthis.data.array[ index + 0 ] = x;\n\t\tthis.data.array[ index + 1 ] = y;\n\t\tthis.data.array[ index + 2 ] = z;\n\n\t\treturn this;\n\n\t}\n\n\tsetXYZW( index, x, y, z, w ) {\n\n\t\tindex = index * this.data.stride + this.offset;\n\n\t\tthis.data.array[ index + 0 ] = x;\n\t\tthis.data.array[ index + 1 ] = y;\n\t\tthis.data.array[ index + 2 ] = z;\n\t\tthis.data.array[ index + 3 ] = w;\n\n\t\treturn this;\n\n\t}\n\n\tclone( data ) {\n\n\t\tif ( data === undefined ) {\n\n\t\t\tconsole.log( 'THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will deinterleave buffer data.' );\n\n\t\t\tconst array = [];\n\n\t\t\tfor ( let i = 0; i < this.count; i ++ ) {\n\n\t\t\t\tconst index = i * this.data.stride + this.offset;\n\n\t\t\t\tfor ( let j = 0; j < this.itemSize; j ++ ) {\n\n\t\t\t\t\tarray.push( this.data.array[ index + j ] );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\treturn new BufferAttribute( new this.array.constructor( array ), this.itemSize, this.normalized );\n\n\t\t} else {\n\n\t\t\tif ( data.interleavedBuffers === undefined ) {\n\n\t\t\t\tdata.interleavedBuffers = {};\n\n\t\t\t}\n\n\t\t\tif ( data.interleavedBuffers[ this.data.uuid ] === undefined ) {\n\n\t\t\t\tdata.interleavedBuffers[ this.data.uuid ] = this.data.clone( data );\n\n\t\t\t}\n\n\t\t\treturn new InterleavedBufferAttribute( data.interleavedBuffers[ this.data.uuid ], this.itemSize, this.offset, this.normalized );\n\n\t\t}\n\n\t}\n\n\ttoJSON( data ) {\n\n\t\tif ( data === undefined ) {\n\n\t\t\tconsole.log( 'THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will deinterleave buffer data.' );\n\n\t\t\tconst array = [];\n\n\t\t\tfor ( let i = 0; i < this.count; i ++ ) {\n\n\t\t\t\tconst index = i * this.data.stride + this.offset;\n\n\t\t\t\tfor ( let j = 0; j < this.itemSize; j ++ ) {\n\n\t\t\t\t\tarray.push( this.data.array[ index + j ] );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// deinterleave data and save it as an ordinary buffer attribute for now\n\n\t\t\treturn {\n\t\t\t\titemSize: this.itemSize,\n\t\t\t\ttype: this.array.constructor.name,\n\t\t\t\tarray: array,\n\t\t\t\tnormalized: this.normalized\n\t\t\t};\n\n\t\t} else {\n\n\t\t\t// save as true interleaved attribtue\n\n\t\t\tif ( data.interleavedBuffers === undefined ) {\n\n\t\t\t\tdata.interleavedBuffers = {};\n\n\t\t\t}\n\n\t\t\tif ( data.interleavedBuffers[ this.data.uuid ] === undefined ) {\n\n\t\t\t\tdata.interleavedBuffers[ this.data.uuid ] = this.data.toJSON( data );\n\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tisInterleavedBufferAttribute: true,\n\t\t\t\titemSize: this.itemSize,\n\t\t\t\tdata: this.data.uuid,\n\t\t\t\toffset: this.offset,\n\t\t\t\tnormalized: this.normalized\n\t\t\t};\n\n\t\t}\n\n\t}\n\n}\n\nclass SpriteMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isSpriteMaterial = true;\n\n\t\tthis.type = 'SpriteMaterial';\n\n\t\tthis.color = new Color( 0xffffff );\n\n\t\tthis.map = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.rotation = 0;\n\n\t\tthis.sizeAttenuation = true;\n\n\t\tthis.transparent = true;\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.rotation = source.rotation;\n\n\t\tthis.sizeAttenuation = source.sizeAttenuation;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nlet _geometry;\n\nconst _intersectPoint = /*@__PURE__*/ new Vector3();\nconst _worldScale = /*@__PURE__*/ new Vector3();\nconst _mvPosition = /*@__PURE__*/ new Vector3();\n\nconst _alignedPosition = /*@__PURE__*/ new Vector2();\nconst _rotatedPosition = /*@__PURE__*/ new Vector2();\nconst _viewWorldMatrix = /*@__PURE__*/ new Matrix4();\n\nconst _vA = /*@__PURE__*/ new Vector3();\nconst _vB = /*@__PURE__*/ new Vector3();\nconst _vC = /*@__PURE__*/ new Vector3();\n\nconst _uvA = /*@__PURE__*/ new Vector2();\nconst _uvB = /*@__PURE__*/ new Vector2();\nconst _uvC = /*@__PURE__*/ new Vector2();\n\nclass Sprite extends Object3D {\n\n\tconstructor( material ) {\n\n\t\tsuper();\n\n\t\tthis.isSprite = true;\n\n\t\tthis.type = 'Sprite';\n\n\t\tif ( _geometry === undefined ) {\n\n\t\t\t_geometry = new BufferGeometry();\n\n\t\t\tconst float32Array = new Float32Array( [\n\t\t\t\t- 0.5, - 0.5, 0, 0, 0,\n\t\t\t\t0.5, - 0.5, 0, 1, 0,\n\t\t\t\t0.5, 0.5, 0, 1, 1,\n\t\t\t\t- 0.5, 0.5, 0, 0, 1\n\t\t\t] );\n\n\t\t\tconst interleavedBuffer = new InterleavedBuffer( float32Array, 5 );\n\n\t\t\t_geometry.setIndex( [ 0, 1, 2,\t0, 2, 3 ] );\n\t\t\t_geometry.setAttribute( 'position', new InterleavedBufferAttribute( interleavedBuffer, 3, 0, false ) );\n\t\t\t_geometry.setAttribute( 'uv', new InterleavedBufferAttribute( interleavedBuffer, 2, 3, false ) );\n\n\t\t}\n\n\t\tthis.geometry = _geometry;\n\t\tthis.material = ( material !== undefined ) ? material : new SpriteMaterial();\n\n\t\tthis.center = new Vector2( 0.5, 0.5 );\n\n\t}\n\n\traycast( raycaster, intersects ) {\n\n\t\tif ( raycaster.camera === null ) {\n\n\t\t\tconsole.error( 'THREE.Sprite: \"Raycaster.camera\" needs to be set in order to raycast against sprites.' );\n\n\t\t}\n\n\t\t_worldScale.setFromMatrixScale( this.matrixWorld );\n\n\t\t_viewWorldMatrix.copy( raycaster.camera.matrixWorld );\n\t\tthis.modelViewMatrix.multiplyMatrices( raycaster.camera.matrixWorldInverse, this.matrixWorld );\n\n\t\t_mvPosition.setFromMatrixPosition( this.modelViewMatrix );\n\n\t\tif ( raycaster.camera.isPerspectiveCamera && this.material.sizeAttenuation === false ) {\n\n\t\t\t_worldScale.multiplyScalar( - _mvPosition.z );\n\n\t\t}\n\n\t\tconst rotation = this.material.rotation;\n\t\tlet sin, cos;\n\n\t\tif ( rotation !== 0 ) {\n\n\t\t\tcos = Math.cos( rotation );\n\t\t\tsin = Math.sin( rotation );\n\n\t\t}\n\n\t\tconst center = this.center;\n\n\t\ttransformVertex( _vA.set( - 0.5, - 0.5, 0 ), _mvPosition, center, _worldScale, sin, cos );\n\t\ttransformVertex( _vB.set( 0.5, - 0.5, 0 ), _mvPosition, center, _worldScale, sin, cos );\n\t\ttransformVertex( _vC.set( 0.5, 0.5, 0 ), _mvPosition, center, _worldScale, sin, cos );\n\n\t\t_uvA.set( 0, 0 );\n\t\t_uvB.set( 1, 0 );\n\t\t_uvC.set( 1, 1 );\n\n\t\t// check first triangle\n\t\tlet intersect = raycaster.ray.intersectTriangle( _vA, _vB, _vC, false, _intersectPoint );\n\n\t\tif ( intersect === null ) {\n\n\t\t\t// check second triangle\n\t\t\ttransformVertex( _vB.set( - 0.5, 0.5, 0 ), _mvPosition, center, _worldScale, sin, cos );\n\t\t\t_uvB.set( 0, 1 );\n\n\t\t\tintersect = raycaster.ray.intersectTriangle( _vA, _vC, _vB, false, _intersectPoint );\n\t\t\tif ( intersect === null ) {\n\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst distance = raycaster.ray.origin.distanceTo( _intersectPoint );\n\n\t\tif ( distance < raycaster.near || distance > raycaster.far ) return;\n\n\t\tintersects.push( {\n\n\t\t\tdistance: distance,\n\t\t\tpoint: _intersectPoint.clone(),\n\t\t\tuv: Triangle.getUV( _intersectPoint, _vA, _vB, _vC, _uvA, _uvB, _uvC, new Vector2() ),\n\t\t\tface: null,\n\t\t\tobject: this\n\n\t\t} );\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tif ( source.center !== undefined ) this.center.copy( source.center );\n\n\t\tthis.material = source.material;\n\n\t\treturn this;\n\n\t}\n\n}\n\nfunction transformVertex( vertexPosition, mvPosition, center, scale, sin, cos ) {\n\n\t// compute position in camera space\n\t_alignedPosition.subVectors( vertexPosition, center ).addScalar( 0.5 ).multiply( scale );\n\n\t// to check if rotation is not zero\n\tif ( sin !== undefined ) {\n\n\t\t_rotatedPosition.x = ( cos * _alignedPosition.x ) - ( sin * _alignedPosition.y );\n\t\t_rotatedPosition.y = ( sin * _alignedPosition.x ) + ( cos * _alignedPosition.y );\n\n\t} else {\n\n\t\t_rotatedPosition.copy( _alignedPosition );\n\n\t}\n\n\n\tvertexPosition.copy( mvPosition );\n\tvertexPosition.x += _rotatedPosition.x;\n\tvertexPosition.y += _rotatedPosition.y;\n\n\t// transform to world space\n\tvertexPosition.applyMatrix4( _viewWorldMatrix );\n\n}\n\nconst _v1$2 = /*@__PURE__*/ new Vector3();\nconst _v2$1 = /*@__PURE__*/ new Vector3();\n\nclass LOD extends Object3D {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis._currentLevel = 0;\n\n\t\tthis.type = 'LOD';\n\n\t\tObject.defineProperties( this, {\n\t\t\tlevels: {\n\t\t\t\tenumerable: true,\n\t\t\t\tvalue: []\n\t\t\t},\n\t\t\tisLOD: {\n\t\t\t\tvalue: true,\n\t\t\t}\n\t\t} );\n\n\t\tthis.autoUpdate = true;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source, false );\n\n\t\tconst levels = source.levels;\n\n\t\tfor ( let i = 0, l = levels.length; i < l; i ++ ) {\n\n\t\t\tconst level = levels[ i ];\n\n\t\t\tthis.addLevel( level.object.clone(), level.distance );\n\n\t\t}\n\n\t\tthis.autoUpdate = source.autoUpdate;\n\n\t\treturn this;\n\n\t}\n\n\taddLevel( object, distance = 0 ) {\n\n\t\tdistance = Math.abs( distance );\n\n\t\tconst levels = this.levels;\n\n\t\tlet l;\n\n\t\tfor ( l = 0; l < levels.length; l ++ ) {\n\n\t\t\tif ( distance < levels[ l ].distance ) {\n\n\t\t\t\tbreak;\n\n\t\t\t}\n\n\t\t}\n\n\t\tlevels.splice( l, 0, { distance: distance, object: object } );\n\n\t\tthis.add( object );\n\n\t\treturn this;\n\n\t}\n\n\tgetCurrentLevel() {\n\n\t\treturn this._currentLevel;\n\n\t}\n\n\tgetObjectForDistance( distance ) {\n\n\t\tconst levels = this.levels;\n\n\t\tif ( levels.length > 0 ) {\n\n\t\t\tlet i, l;\n\n\t\t\tfor ( i = 1, l = levels.length; i < l; i ++ ) {\n\n\t\t\t\tif ( distance < levels[ i ].distance ) {\n\n\t\t\t\t\tbreak;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\treturn levels[ i - 1 ].object;\n\n\t\t}\n\n\t\treturn null;\n\n\t}\n\n\traycast( raycaster, intersects ) {\n\n\t\tconst levels = this.levels;\n\n\t\tif ( levels.length > 0 ) {\n\n\t\t\t_v1$2.setFromMatrixPosition( this.matrixWorld );\n\n\t\t\tconst distance = raycaster.ray.origin.distanceTo( _v1$2 );\n\n\t\t\tthis.getObjectForDistance( distance ).raycast( raycaster, intersects );\n\n\t\t}\n\n\t}\n\n\tupdate( camera ) {\n\n\t\tconst levels = this.levels;\n\n\t\tif ( levels.length > 1 ) {\n\n\t\t\t_v1$2.setFromMatrixPosition( camera.matrixWorld );\n\t\t\t_v2$1.setFromMatrixPosition( this.matrixWorld );\n\n\t\t\tconst distance = _v1$2.distanceTo( _v2$1 ) / camera.zoom;\n\n\t\t\tlevels[ 0 ].object.visible = true;\n\n\t\t\tlet i, l;\n\n\t\t\tfor ( i = 1, l = levels.length; i < l; i ++ ) {\n\n\t\t\t\tif ( distance >= levels[ i ].distance ) {\n\n\t\t\t\t\tlevels[ i - 1 ].object.visible = false;\n\t\t\t\t\tlevels[ i ].object.visible = true;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tbreak;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis._currentLevel = i - 1;\n\n\t\t\tfor ( ; i < l; i ++ ) {\n\n\t\t\t\tlevels[ i ].object.visible = false;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = super.toJSON( meta );\n\n\t\tif ( this.autoUpdate === false ) data.object.autoUpdate = false;\n\n\t\tdata.object.levels = [];\n\n\t\tconst levels = this.levels;\n\n\t\tfor ( let i = 0, l = levels.length; i < l; i ++ ) {\n\n\t\t\tconst level = levels[ i ];\n\n\t\t\tdata.object.levels.push( {\n\t\t\t\tobject: level.object.uuid,\n\t\t\t\tdistance: level.distance\n\t\t\t} );\n\n\t\t}\n\n\t\treturn data;\n\n\t}\n\n}\n\nconst _basePosition = /*@__PURE__*/ new Vector3();\n\nconst _skinIndex = /*@__PURE__*/ new Vector4();\nconst _skinWeight = /*@__PURE__*/ new Vector4();\n\nconst _vector$5 = /*@__PURE__*/ new Vector3();\nconst _matrix = /*@__PURE__*/ new Matrix4();\n\nclass SkinnedMesh extends Mesh {\n\n\tconstructor( geometry, material ) {\n\n\t\tsuper( geometry, material );\n\n\t\tthis.isSkinnedMesh = true;\n\n\t\tthis.type = 'SkinnedMesh';\n\n\t\tthis.bindMode = 'attached';\n\t\tthis.bindMatrix = new Matrix4();\n\t\tthis.bindMatrixInverse = new Matrix4();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.bindMode = source.bindMode;\n\t\tthis.bindMatrix.copy( source.bindMatrix );\n\t\tthis.bindMatrixInverse.copy( source.bindMatrixInverse );\n\n\t\tthis.skeleton = source.skeleton;\n\n\t\treturn this;\n\n\t}\n\n\tbind( skeleton, bindMatrix ) {\n\n\t\tthis.skeleton = skeleton;\n\n\t\tif ( bindMatrix === undefined ) {\n\n\t\t\tthis.updateMatrixWorld( true );\n\n\t\t\tthis.skeleton.calculateInverses();\n\n\t\t\tbindMatrix = this.matrixWorld;\n\n\t\t}\n\n\t\tthis.bindMatrix.copy( bindMatrix );\n\t\tthis.bindMatrixInverse.copy( bindMatrix ).invert();\n\n\t}\n\n\tpose() {\n\n\t\tthis.skeleton.pose();\n\n\t}\n\n\tnormalizeSkinWeights() {\n\n\t\tconst vector = new Vector4();\n\n\t\tconst skinWeight = this.geometry.attributes.skinWeight;\n\n\t\tfor ( let i = 0, l = skinWeight.count; i < l; i ++ ) {\n\n\t\t\tvector.fromBufferAttribute( skinWeight, i );\n\n\t\t\tconst scale = 1.0 / vector.manhattanLength();\n\n\t\t\tif ( scale !== Infinity ) {\n\n\t\t\t\tvector.multiplyScalar( scale );\n\n\t\t\t} else {\n\n\t\t\t\tvector.set( 1, 0, 0, 0 ); // do something reasonable\n\n\t\t\t}\n\n\t\t\tskinWeight.setXYZW( i, vector.x, vector.y, vector.z, vector.w );\n\n\t\t}\n\n\t}\n\n\tupdateMatrixWorld( force ) {\n\n\t\tsuper.updateMatrixWorld( force );\n\n\t\tif ( this.bindMode === 'attached' ) {\n\n\t\t\tthis.bindMatrixInverse.copy( this.matrixWorld ).invert();\n\n\t\t} else if ( this.bindMode === 'detached' ) {\n\n\t\t\tthis.bindMatrixInverse.copy( this.bindMatrix ).invert();\n\n\t\t} else {\n\n\t\t\tconsole.warn( 'THREE.SkinnedMesh: Unrecognized bindMode: ' + this.bindMode );\n\n\t\t}\n\n\t}\n\n\tboneTransform( index, target ) {\n\n\t\tconst skeleton = this.skeleton;\n\t\tconst geometry = this.geometry;\n\n\t\t_skinIndex.fromBufferAttribute( geometry.attributes.skinIndex, index );\n\t\t_skinWeight.fromBufferAttribute( geometry.attributes.skinWeight, index );\n\n\t\t_basePosition.copy( target ).applyMatrix4( this.bindMatrix );\n\n\t\ttarget.set( 0, 0, 0 );\n\n\t\tfor ( let i = 0; i < 4; i ++ ) {\n\n\t\t\tconst weight = _skinWeight.getComponent( i );\n\n\t\t\tif ( weight !== 0 ) {\n\n\t\t\t\tconst boneIndex = _skinIndex.getComponent( i );\n\n\t\t\t\t_matrix.multiplyMatrices( skeleton.bones[ boneIndex ].matrixWorld, skeleton.boneInverses[ boneIndex ] );\n\n\t\t\t\ttarget.addScaledVector( _vector$5.copy( _basePosition ).applyMatrix4( _matrix ), weight );\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn target.applyMatrix4( this.bindMatrixInverse );\n\n\t}\n\n}\n\nclass Bone extends Object3D {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.isBone = true;\n\n\t\tthis.type = 'Bone';\n\n\t}\n\n}\n\nclass DataTexture extends Texture {\n\n\tconstructor( data = null, width = 1, height = 1, format, type, mapping, wrapS, wrapT, magFilter = NearestFilter, minFilter = NearestFilter, anisotropy, encoding ) {\n\n\t\tsuper( null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding );\n\n\t\tthis.isDataTexture = true;\n\n\t\tthis.image = { data: data, width: width, height: height };\n\n\t\tthis.generateMipmaps = false;\n\t\tthis.flipY = false;\n\t\tthis.unpackAlignment = 1;\n\n\t}\n\n}\n\nconst _offsetMatrix = /*@__PURE__*/ new Matrix4();\nconst _identityMatrix = /*@__PURE__*/ new Matrix4();\n\nclass Skeleton {\n\n\tconstructor( bones = [], boneInverses = [] ) {\n\n\t\tthis.uuid = generateUUID();\n\n\t\tthis.bones = bones.slice( 0 );\n\t\tthis.boneInverses = boneInverses;\n\t\tthis.boneMatrices = null;\n\n\t\tthis.boneTexture = null;\n\t\tthis.boneTextureSize = 0;\n\n\t\tthis.frame = - 1;\n\n\t\tthis.init();\n\n\t}\n\n\tinit() {\n\n\t\tconst bones = this.bones;\n\t\tconst boneInverses = this.boneInverses;\n\n\t\tthis.boneMatrices = new Float32Array( bones.length * 16 );\n\n\t\t// calculate inverse bone matrices if necessary\n\n\t\tif ( boneInverses.length === 0 ) {\n\n\t\t\tthis.calculateInverses();\n\n\t\t} else {\n\n\t\t\t// handle special case\n\n\t\t\tif ( bones.length !== boneInverses.length ) {\n\n\t\t\t\tconsole.warn( 'THREE.Skeleton: Number of inverse bone matrices does not match amount of bones.' );\n\n\t\t\t\tthis.boneInverses = [];\n\n\t\t\t\tfor ( let i = 0, il = this.bones.length; i < il; i ++ ) {\n\n\t\t\t\t\tthis.boneInverses.push( new Matrix4() );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tcalculateInverses() {\n\n\t\tthis.boneInverses.length = 0;\n\n\t\tfor ( let i = 0, il = this.bones.length; i < il; i ++ ) {\n\n\t\t\tconst inverse = new Matrix4();\n\n\t\t\tif ( this.bones[ i ] ) {\n\n\t\t\t\tinverse.copy( this.bones[ i ].matrixWorld ).invert();\n\n\t\t\t}\n\n\t\t\tthis.boneInverses.push( inverse );\n\n\t\t}\n\n\t}\n\n\tpose() {\n\n\t\t// recover the bind-time world matrices\n\n\t\tfor ( let i = 0, il = this.bones.length; i < il; i ++ ) {\n\n\t\t\tconst bone = this.bones[ i ];\n\n\t\t\tif ( bone ) {\n\n\t\t\t\tbone.matrixWorld.copy( this.boneInverses[ i ] ).invert();\n\n\t\t\t}\n\n\t\t}\n\n\t\t// compute the local matrices, positions, rotations and scales\n\n\t\tfor ( let i = 0, il = this.bones.length; i < il; i ++ ) {\n\n\t\t\tconst bone = this.bones[ i ];\n\n\t\t\tif ( bone ) {\n\n\t\t\t\tif ( bone.parent && bone.parent.isBone ) {\n\n\t\t\t\t\tbone.matrix.copy( bone.parent.matrixWorld ).invert();\n\t\t\t\t\tbone.matrix.multiply( bone.matrixWorld );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tbone.matrix.copy( bone.matrixWorld );\n\n\t\t\t\t}\n\n\t\t\t\tbone.matrix.decompose( bone.position, bone.quaternion, bone.scale );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tupdate() {\n\n\t\tconst bones = this.bones;\n\t\tconst boneInverses = this.boneInverses;\n\t\tconst boneMatrices = this.boneMatrices;\n\t\tconst boneTexture = this.boneTexture;\n\n\t\t// flatten bone matrices to array\n\n\t\tfor ( let i = 0, il = bones.length; i < il; i ++ ) {\n\n\t\t\t// compute the offset between the current and the original transform\n\n\t\t\tconst matrix = bones[ i ] ? bones[ i ].matrixWorld : _identityMatrix;\n\n\t\t\t_offsetMatrix.multiplyMatrices( matrix, boneInverses[ i ] );\n\t\t\t_offsetMatrix.toArray( boneMatrices, i * 16 );\n\n\t\t}\n\n\t\tif ( boneTexture !== null ) {\n\n\t\t\tboneTexture.needsUpdate = true;\n\n\t\t}\n\n\t}\n\n\tclone() {\n\n\t\treturn new Skeleton( this.bones, this.boneInverses );\n\n\t}\n\n\tcomputeBoneTexture() {\n\n\t\t// layout (1 matrix = 4 pixels)\n\t\t// RGBA RGBA RGBA RGBA (=> column1, column2, column3, column4)\n\t\t// with 8x8 pixel texture max 16 bones * 4 pixels = (8 * 8)\n\t\t// 16x16 pixel texture max 64 bones * 4 pixels = (16 * 16)\n\t\t// 32x32 pixel texture max 256 bones * 4 pixels = (32 * 32)\n\t\t// 64x64 pixel texture max 1024 bones * 4 pixels = (64 * 64)\n\n\t\tlet size = Math.sqrt( this.bones.length * 4 ); // 4 pixels needed for 1 matrix\n\t\tsize = ceilPowerOfTwo( size );\n\t\tsize = Math.max( size, 4 );\n\n\t\tconst boneMatrices = new Float32Array( size * size * 4 ); // 4 floats per RGBA pixel\n\t\tboneMatrices.set( this.boneMatrices ); // copy current values\n\n\t\tconst boneTexture = new DataTexture( boneMatrices, size, size, RGBAFormat, FloatType );\n\t\tboneTexture.needsUpdate = true;\n\n\t\tthis.boneMatrices = boneMatrices;\n\t\tthis.boneTexture = boneTexture;\n\t\tthis.boneTextureSize = size;\n\n\t\treturn this;\n\n\t}\n\n\tgetBoneByName( name ) {\n\n\t\tfor ( let i = 0, il = this.bones.length; i < il; i ++ ) {\n\n\t\t\tconst bone = this.bones[ i ];\n\n\t\t\tif ( bone.name === name ) {\n\n\t\t\t\treturn bone;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn undefined;\n\n\t}\n\n\tdispose( ) {\n\n\t\tif ( this.boneTexture !== null ) {\n\n\t\t\tthis.boneTexture.dispose();\n\n\t\t\tthis.boneTexture = null;\n\n\t\t}\n\n\t}\n\n\tfromJSON( json, bones ) {\n\n\t\tthis.uuid = json.uuid;\n\n\t\tfor ( let i = 0, l = json.bones.length; i < l; i ++ ) {\n\n\t\t\tconst uuid = json.bones[ i ];\n\t\t\tlet bone = bones[ uuid ];\n\n\t\t\tif ( bone === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.Skeleton: No bone found with UUID:', uuid );\n\t\t\t\tbone = new Bone();\n\n\t\t\t}\n\n\t\t\tthis.bones.push( bone );\n\t\t\tthis.boneInverses.push( new Matrix4().fromArray( json.boneInverses[ i ] ) );\n\n\t\t}\n\n\t\tthis.init();\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = {\n\t\t\tmetadata: {\n\t\t\t\tversion: 4.5,\n\t\t\t\ttype: 'Skeleton',\n\t\t\t\tgenerator: 'Skeleton.toJSON'\n\t\t\t},\n\t\t\tbones: [],\n\t\t\tboneInverses: []\n\t\t};\n\n\t\tdata.uuid = this.uuid;\n\n\t\tconst bones = this.bones;\n\t\tconst boneInverses = this.boneInverses;\n\n\t\tfor ( let i = 0, l = bones.length; i < l; i ++ ) {\n\n\t\t\tconst bone = bones[ i ];\n\t\t\tdata.bones.push( bone.uuid );\n\n\t\t\tconst boneInverse = boneInverses[ i ];\n\t\t\tdata.boneInverses.push( boneInverse.toArray() );\n\n\t\t}\n\n\t\treturn data;\n\n\t}\n\n}\n\nclass InstancedBufferAttribute extends BufferAttribute {\n\n\tconstructor( array, itemSize, normalized, meshPerAttribute = 1 ) {\n\n\t\tif ( typeof normalized === 'number' ) {\n\n\t\t\tmeshPerAttribute = normalized;\n\n\t\t\tnormalized = false;\n\n\t\t\tconsole.error( 'THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.' );\n\n\t\t}\n\n\t\tsuper( array, itemSize, normalized );\n\n\t\tthis.isInstancedBufferAttribute = true;\n\n\t\tthis.meshPerAttribute = meshPerAttribute;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.meshPerAttribute = source.meshPerAttribute;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.meshPerAttribute = this.meshPerAttribute;\n\n\t\tdata.isInstancedBufferAttribute = true;\n\n\t\treturn data;\n\n\t}\n\n}\n\nconst _instanceLocalMatrix = /*@__PURE__*/ new Matrix4();\nconst _instanceWorldMatrix = /*@__PURE__*/ new Matrix4();\n\nconst _instanceIntersects = [];\n\nconst _mesh = /*@__PURE__*/ new Mesh();\n\nclass InstancedMesh extends Mesh {\n\n\tconstructor( geometry, material, count ) {\n\n\t\tsuper( geometry, material );\n\n\t\tthis.isInstancedMesh = true;\n\n\t\tthis.instanceMatrix = new InstancedBufferAttribute( new Float32Array( count * 16 ), 16 );\n\t\tthis.instanceColor = null;\n\n\t\tthis.count = count;\n\n\t\tthis.frustumCulled = false;\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.instanceMatrix.copy( source.instanceMatrix );\n\n\t\tif ( source.instanceColor !== null ) this.instanceColor = source.instanceColor.clone();\n\n\t\tthis.count = source.count;\n\n\t\treturn this;\n\n\t}\n\n\tgetColorAt( index, color ) {\n\n\t\tcolor.fromArray( this.instanceColor.array, index * 3 );\n\n\t}\n\n\tgetMatrixAt( index, matrix ) {\n\n\t\tmatrix.fromArray( this.instanceMatrix.array, index * 16 );\n\n\t}\n\n\traycast( raycaster, intersects ) {\n\n\t\tconst matrixWorld = this.matrixWorld;\n\t\tconst raycastTimes = this.count;\n\n\t\t_mesh.geometry = this.geometry;\n\t\t_mesh.material = this.material;\n\n\t\tif ( _mesh.material === undefined ) return;\n\n\t\tfor ( let instanceId = 0; instanceId < raycastTimes; instanceId ++ ) {\n\n\t\t\t// calculate the world matrix for each instance\n\n\t\t\tthis.getMatrixAt( instanceId, _instanceLocalMatrix );\n\n\t\t\t_instanceWorldMatrix.multiplyMatrices( matrixWorld, _instanceLocalMatrix );\n\n\t\t\t// the mesh represents this single instance\n\n\t\t\t_mesh.matrixWorld = _instanceWorldMatrix;\n\n\t\t\t_mesh.raycast( raycaster, _instanceIntersects );\n\n\t\t\t// process the result of raycast\n\n\t\t\tfor ( let i = 0, l = _instanceIntersects.length; i < l; i ++ ) {\n\n\t\t\t\tconst intersect = _instanceIntersects[ i ];\n\t\t\t\tintersect.instanceId = instanceId;\n\t\t\t\tintersect.object = this;\n\t\t\t\tintersects.push( intersect );\n\n\t\t\t}\n\n\t\t\t_instanceIntersects.length = 0;\n\n\t\t}\n\n\t}\n\n\tsetColorAt( index, color ) {\n\n\t\tif ( this.instanceColor === null ) {\n\n\t\t\tthis.instanceColor = new InstancedBufferAttribute( new Float32Array( this.instanceMatrix.count * 3 ), 3 );\n\n\t\t}\n\n\t\tcolor.toArray( this.instanceColor.array, index * 3 );\n\n\t}\n\n\tsetMatrixAt( index, matrix ) {\n\n\t\tmatrix.toArray( this.instanceMatrix.array, index * 16 );\n\n\t}\n\n\tupdateMorphTargets() {\n\n\t}\n\n\tdispose() {\n\n\t\tthis.dispatchEvent( { type: 'dispose' } );\n\n\t}\n\n}\n\nclass LineBasicMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isLineBasicMaterial = true;\n\n\t\tthis.type = 'LineBasicMaterial';\n\n\t\tthis.color = new Color( 0xffffff );\n\n\t\tthis.linewidth = 1;\n\t\tthis.linecap = 'round';\n\t\tthis.linejoin = 'round';\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.linewidth = source.linewidth;\n\t\tthis.linecap = source.linecap;\n\t\tthis.linejoin = source.linejoin;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nconst _start$1 = /*@__PURE__*/ new Vector3();\nconst _end$1 = /*@__PURE__*/ new Vector3();\nconst _inverseMatrix$1 = /*@__PURE__*/ new Matrix4();\nconst _ray$1 = /*@__PURE__*/ new Ray();\nconst _sphere$1 = /*@__PURE__*/ new Sphere();\n\nclass Line extends Object3D {\n\n\tconstructor( geometry = new BufferGeometry(), material = new LineBasicMaterial() ) {\n\n\t\tsuper();\n\n\t\tthis.isLine = true;\n\n\t\tthis.type = 'Line';\n\n\t\tthis.geometry = geometry;\n\t\tthis.material = material;\n\n\t\tthis.updateMorphTargets();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.material = source.material;\n\t\tthis.geometry = source.geometry;\n\n\t\treturn this;\n\n\t}\n\n\tcomputeLineDistances() {\n\n\t\tconst geometry = this.geometry;\n\n\t\t// we assume non-indexed geometry\n\n\t\tif ( geometry.index === null ) {\n\n\t\t\tconst positionAttribute = geometry.attributes.position;\n\t\t\tconst lineDistances = [ 0 ];\n\n\t\t\tfor ( let i = 1, l = positionAttribute.count; i < l; i ++ ) {\n\n\t\t\t\t_start$1.fromBufferAttribute( positionAttribute, i - 1 );\n\t\t\t\t_end$1.fromBufferAttribute( positionAttribute, i );\n\n\t\t\t\tlineDistances[ i ] = lineDistances[ i - 1 ];\n\t\t\t\tlineDistances[ i ] += _start$1.distanceTo( _end$1 );\n\n\t\t\t}\n\n\t\t\tgeometry.setAttribute( 'lineDistance', new Float32BufferAttribute( lineDistances, 1 ) );\n\n\t\t} else {\n\n\t\t\tconsole.warn( 'THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\traycast( raycaster, intersects ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst matrixWorld = this.matrixWorld;\n\t\tconst threshold = raycaster.params.Line.threshold;\n\t\tconst drawRange = geometry.drawRange;\n\n\t\t// Checking boundingSphere distance to ray\n\n\t\tif ( geometry.boundingSphere === null ) geometry.computeBoundingSphere();\n\n\t\t_sphere$1.copy( geometry.boundingSphere );\n\t\t_sphere$1.applyMatrix4( matrixWorld );\n\t\t_sphere$1.radius += threshold;\n\n\t\tif ( raycaster.ray.intersectsSphere( _sphere$1 ) === false ) return;\n\n\t\t//\n\n\t\t_inverseMatrix$1.copy( matrixWorld ).invert();\n\t\t_ray$1.copy( raycaster.ray ).applyMatrix4( _inverseMatrix$1 );\n\n\t\tconst localThreshold = threshold / ( ( this.scale.x + this.scale.y + this.scale.z ) / 3 );\n\t\tconst localThresholdSq = localThreshold * localThreshold;\n\n\t\tconst vStart = new Vector3();\n\t\tconst vEnd = new Vector3();\n\t\tconst interSegment = new Vector3();\n\t\tconst interRay = new Vector3();\n\t\tconst step = this.isLineSegments ? 2 : 1;\n\n\t\tconst index = geometry.index;\n\t\tconst attributes = geometry.attributes;\n\t\tconst positionAttribute = attributes.position;\n\n\t\tif ( index !== null ) {\n\n\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\tconst end = Math.min( index.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\tfor ( let i = start, l = end - 1; i < l; i += step ) {\n\n\t\t\t\tconst a = index.getX( i );\n\t\t\t\tconst b = index.getX( i + 1 );\n\n\t\t\t\tvStart.fromBufferAttribute( positionAttribute, a );\n\t\t\t\tvEnd.fromBufferAttribute( positionAttribute, b );\n\n\t\t\t\tconst distSq = _ray$1.distanceSqToSegment( vStart, vEnd, interRay, interSegment );\n\n\t\t\t\tif ( distSq > localThresholdSq ) continue;\n\n\t\t\t\tinterRay.applyMatrix4( this.matrixWorld ); //Move back to world space for distance calculation\n\n\t\t\t\tconst distance = raycaster.ray.origin.distanceTo( interRay );\n\n\t\t\t\tif ( distance < raycaster.near || distance > raycaster.far ) continue;\n\n\t\t\t\tintersects.push( {\n\n\t\t\t\t\tdistance: distance,\n\t\t\t\t\t// What do we want? intersection point on the ray or on the segment??\n\t\t\t\t\t// point: raycaster.ray.at( distance ),\n\t\t\t\t\tpoint: interSegment.clone().applyMatrix4( this.matrixWorld ),\n\t\t\t\t\tindex: i,\n\t\t\t\t\tface: null,\n\t\t\t\t\tfaceIndex: null,\n\t\t\t\t\tobject: this\n\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\tconst end = Math.min( positionAttribute.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\tfor ( let i = start, l = end - 1; i < l; i += step ) {\n\n\t\t\t\tvStart.fromBufferAttribute( positionAttribute, i );\n\t\t\t\tvEnd.fromBufferAttribute( positionAttribute, i + 1 );\n\n\t\t\t\tconst distSq = _ray$1.distanceSqToSegment( vStart, vEnd, interRay, interSegment );\n\n\t\t\t\tif ( distSq > localThresholdSq ) continue;\n\n\t\t\t\tinterRay.applyMatrix4( this.matrixWorld ); //Move back to world space for distance calculation\n\n\t\t\t\tconst distance = raycaster.ray.origin.distanceTo( interRay );\n\n\t\t\t\tif ( distance < raycaster.near || distance > raycaster.far ) continue;\n\n\t\t\t\tintersects.push( {\n\n\t\t\t\t\tdistance: distance,\n\t\t\t\t\t// What do we want? intersection point on the ray or on the segment??\n\t\t\t\t\t// point: raycaster.ray.at( distance ),\n\t\t\t\t\tpoint: interSegment.clone().applyMatrix4( this.matrixWorld ),\n\t\t\t\t\tindex: i,\n\t\t\t\t\tface: null,\n\t\t\t\t\tfaceIndex: null,\n\t\t\t\t\tobject: this\n\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tupdateMorphTargets() {\n\n\t\tconst geometry = this.geometry;\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\t\tconst keys = Object.keys( morphAttributes );\n\n\t\tif ( keys.length > 0 ) {\n\n\t\t\tconst morphAttribute = morphAttributes[ keys[ 0 ] ];\n\n\t\t\tif ( morphAttribute !== undefined ) {\n\n\t\t\t\tthis.morphTargetInfluences = [];\n\t\t\t\tthis.morphTargetDictionary = {};\n\n\t\t\t\tfor ( let m = 0, ml = morphAttribute.length; m < ml; m ++ ) {\n\n\t\t\t\t\tconst name = morphAttribute[ m ].name || String( m );\n\n\t\t\t\t\tthis.morphTargetInfluences.push( 0 );\n\t\t\t\t\tthis.morphTargetDictionary[ name ] = m;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n\nconst _start = /*@__PURE__*/ new Vector3();\nconst _end = /*@__PURE__*/ new Vector3();\n\nclass LineSegments extends Line {\n\n\tconstructor( geometry, material ) {\n\n\t\tsuper( geometry, material );\n\n\t\tthis.isLineSegments = true;\n\n\t\tthis.type = 'LineSegments';\n\n\t}\n\n\tcomputeLineDistances() {\n\n\t\tconst geometry = this.geometry;\n\n\t\t// we assume non-indexed geometry\n\n\t\tif ( geometry.index === null ) {\n\n\t\t\tconst positionAttribute = geometry.attributes.position;\n\t\t\tconst lineDistances = [];\n\n\t\t\tfor ( let i = 0, l = positionAttribute.count; i < l; i += 2 ) {\n\n\t\t\t\t_start.fromBufferAttribute( positionAttribute, i );\n\t\t\t\t_end.fromBufferAttribute( positionAttribute, i + 1 );\n\n\t\t\t\tlineDistances[ i ] = ( i === 0 ) ? 0 : lineDistances[ i - 1 ];\n\t\t\t\tlineDistances[ i + 1 ] = lineDistances[ i ] + _start.distanceTo( _end );\n\n\t\t\t}\n\n\t\t\tgeometry.setAttribute( 'lineDistance', new Float32BufferAttribute( lineDistances, 1 ) );\n\n\t\t} else {\n\n\t\t\tconsole.warn( 'THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass LineLoop extends Line {\n\n\tconstructor( geometry, material ) {\n\n\t\tsuper( geometry, material );\n\n\t\tthis.isLineLoop = true;\n\n\t\tthis.type = 'LineLoop';\n\n\t}\n\n}\n\nclass PointsMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isPointsMaterial = true;\n\n\t\tthis.type = 'PointsMaterial';\n\n\t\tthis.color = new Color( 0xffffff );\n\n\t\tthis.map = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.size = 1;\n\t\tthis.sizeAttenuation = true;\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.size = source.size;\n\t\tthis.sizeAttenuation = source.sizeAttenuation;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nconst _inverseMatrix = /*@__PURE__*/ new Matrix4();\nconst _ray = /*@__PURE__*/ new Ray();\nconst _sphere = /*@__PURE__*/ new Sphere();\nconst _position$2 = /*@__PURE__*/ new Vector3();\n\nclass Points extends Object3D {\n\n\tconstructor( geometry = new BufferGeometry(), material = new PointsMaterial() ) {\n\n\t\tsuper();\n\n\t\tthis.isPoints = true;\n\n\t\tthis.type = 'Points';\n\n\t\tthis.geometry = geometry;\n\t\tthis.material = material;\n\n\t\tthis.updateMorphTargets();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.material = source.material;\n\t\tthis.geometry = source.geometry;\n\n\t\treturn this;\n\n\t}\n\n\traycast( raycaster, intersects ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst matrixWorld = this.matrixWorld;\n\t\tconst threshold = raycaster.params.Points.threshold;\n\t\tconst drawRange = geometry.drawRange;\n\n\t\t// Checking boundingSphere distance to ray\n\n\t\tif ( geometry.boundingSphere === null ) geometry.computeBoundingSphere();\n\n\t\t_sphere.copy( geometry.boundingSphere );\n\t\t_sphere.applyMatrix4( matrixWorld );\n\t\t_sphere.radius += threshold;\n\n\t\tif ( raycaster.ray.intersectsSphere( _sphere ) === false ) return;\n\n\t\t//\n\n\t\t_inverseMatrix.copy( matrixWorld ).invert();\n\t\t_ray.copy( raycaster.ray ).applyMatrix4( _inverseMatrix );\n\n\t\tconst localThreshold = threshold / ( ( this.scale.x + this.scale.y + this.scale.z ) / 3 );\n\t\tconst localThresholdSq = localThreshold * localThreshold;\n\n\t\tconst index = geometry.index;\n\t\tconst attributes = geometry.attributes;\n\t\tconst positionAttribute = attributes.position;\n\n\t\tif ( index !== null ) {\n\n\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\tconst end = Math.min( index.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\tfor ( let i = start, il = end; i < il; i ++ ) {\n\n\t\t\t\tconst a = index.getX( i );\n\n\t\t\t\t_position$2.fromBufferAttribute( positionAttribute, a );\n\n\t\t\t\ttestPoint( _position$2, a, localThresholdSq, matrixWorld, raycaster, intersects, this );\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\tconst end = Math.min( positionAttribute.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\tfor ( let i = start, l = end; i < l; i ++ ) {\n\n\t\t\t\t_position$2.fromBufferAttribute( positionAttribute, i );\n\n\t\t\t\ttestPoint( _position$2, i, localThresholdSq, matrixWorld, raycaster, intersects, this );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tupdateMorphTargets() {\n\n\t\tconst geometry = this.geometry;\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\t\tconst keys = Object.keys( morphAttributes );\n\n\t\tif ( keys.length > 0 ) {\n\n\t\t\tconst morphAttribute = morphAttributes[ keys[ 0 ] ];\n\n\t\t\tif ( morphAttribute !== undefined ) {\n\n\t\t\t\tthis.morphTargetInfluences = [];\n\t\t\t\tthis.morphTargetDictionary = {};\n\n\t\t\t\tfor ( let m = 0, ml = morphAttribute.length; m < ml; m ++ ) {\n\n\t\t\t\t\tconst name = morphAttribute[ m ].name || String( m );\n\n\t\t\t\t\tthis.morphTargetInfluences.push( 0 );\n\t\t\t\t\tthis.morphTargetDictionary[ name ] = m;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n\nfunction testPoint( point, index, localThresholdSq, matrixWorld, raycaster, intersects, object ) {\n\n\tconst rayPointDistanceSq = _ray.distanceSqToPoint( point );\n\n\tif ( rayPointDistanceSq < localThresholdSq ) {\n\n\t\tconst intersectPoint = new Vector3();\n\n\t\t_ray.closestPointToPoint( point, intersectPoint );\n\t\tintersectPoint.applyMatrix4( matrixWorld );\n\n\t\tconst distance = raycaster.ray.origin.distanceTo( intersectPoint );\n\n\t\tif ( distance < raycaster.near || distance > raycaster.far ) return;\n\n\t\tintersects.push( {\n\n\t\t\tdistance: distance,\n\t\t\tdistanceToRay: Math.sqrt( rayPointDistanceSq ),\n\t\t\tpoint: intersectPoint,\n\t\t\tindex: index,\n\t\t\tface: null,\n\t\t\tobject: object\n\n\t\t} );\n\n\t}\n\n}\n\nclass VideoTexture extends Texture {\n\n\tconstructor( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) {\n\n\t\tsuper( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy );\n\n\t\tthis.isVideoTexture = true;\n\n\t\tthis.minFilter = minFilter !== undefined ? minFilter : LinearFilter;\n\t\tthis.magFilter = magFilter !== undefined ? magFilter : LinearFilter;\n\n\t\tthis.generateMipmaps = false;\n\n\t\tconst scope = this;\n\n\t\tfunction updateVideo() {\n\n\t\t\tscope.needsUpdate = true;\n\t\t\tvideo.requestVideoFrameCallback( updateVideo );\n\n\t\t}\n\n\t\tif ( 'requestVideoFrameCallback' in video ) {\n\n\t\t\tvideo.requestVideoFrameCallback( updateVideo );\n\n\t\t}\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this.image ).copy( this );\n\n\t}\n\n\tupdate() {\n\n\t\tconst video = this.image;\n\t\tconst hasVideoFrameCallback = 'requestVideoFrameCallback' in video;\n\n\t\tif ( hasVideoFrameCallback === false && video.readyState >= video.HAVE_CURRENT_DATA ) {\n\n\t\t\tthis.needsUpdate = true;\n\n\t\t}\n\n\t}\n\n}\n\nclass FramebufferTexture extends Texture {\n\n\tconstructor( width, height, format ) {\n\n\t\tsuper( { width, height } );\n\n\t\tthis.isFramebufferTexture = true;\n\n\t\tthis.format = format;\n\n\t\tthis.magFilter = NearestFilter;\n\t\tthis.minFilter = NearestFilter;\n\n\t\tthis.generateMipmaps = false;\n\n\t\tthis.needsUpdate = true;\n\n\t}\n\n}\n\nclass CompressedTexture extends Texture {\n\n\tconstructor( mipmaps, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding ) {\n\n\t\tsuper( null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding );\n\n\t\tthis.isCompressedTexture = true;\n\n\t\tthis.image = { width: width, height: height };\n\t\tthis.mipmaps = mipmaps;\n\n\t\t// no flipping for cube textures\n\t\t// (also flipping doesn't work for compressed textures )\n\n\t\tthis.flipY = false;\n\n\t\t// can't generate mipmaps for compressed textures\n\t\t// mips must be embedded in DDS files\n\n\t\tthis.generateMipmaps = false;\n\n\t}\n\n}\n\nclass CanvasTexture extends Texture {\n\n\tconstructor( canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) {\n\n\t\tsuper( canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy );\n\n\t\tthis.isCanvasTexture = true;\n\n\t\tthis.needsUpdate = true;\n\n\t}\n\n}\n\n/**\n * Extensible curve object.\n *\n * Some common of curve methods:\n * .getPoint( t, optionalTarget ), .getTangent( t, optionalTarget )\n * .getPointAt( u, optionalTarget ), .getTangentAt( u, optionalTarget )\n * .getPoints(), .getSpacedPoints()\n * .getLength()\n * .updateArcLengths()\n *\n * This following curves inherit from THREE.Curve:\n *\n * -- 2D curves --\n * THREE.ArcCurve\n * THREE.CubicBezierCurve\n * THREE.EllipseCurve\n * THREE.LineCurve\n * THREE.QuadraticBezierCurve\n * THREE.SplineCurve\n *\n * -- 3D curves --\n * THREE.CatmullRomCurve3\n * THREE.CubicBezierCurve3\n * THREE.LineCurve3\n * THREE.QuadraticBezierCurve3\n *\n * A series of curves can be represented as a THREE.CurvePath.\n *\n **/\n\nclass Curve {\n\n\tconstructor() {\n\n\t\tthis.type = 'Curve';\n\n\t\tthis.arcLengthDivisions = 200;\n\n\t}\n\n\t// Virtual base class method to overwrite and implement in subclasses\n\t//\t- t [0 .. 1]\n\n\tgetPoint( /* t, optionalTarget */ ) {\n\n\t\tconsole.warn( 'THREE.Curve: .getPoint() not implemented.' );\n\t\treturn null;\n\n\t}\n\n\t// Get point at relative position in curve according to arc length\n\t// - u [0 .. 1]\n\n\tgetPointAt( u, optionalTarget ) {\n\n\t\tconst t = this.getUtoTmapping( u );\n\t\treturn this.getPoint( t, optionalTarget );\n\n\t}\n\n\t// Get sequence of points using getPoint( t )\n\n\tgetPoints( divisions = 5 ) {\n\n\t\tconst points = [];\n\n\t\tfor ( let d = 0; d <= divisions; d ++ ) {\n\n\t\t\tpoints.push( this.getPoint( d / divisions ) );\n\n\t\t}\n\n\t\treturn points;\n\n\t}\n\n\t// Get sequence of points using getPointAt( u )\n\n\tgetSpacedPoints( divisions = 5 ) {\n\n\t\tconst points = [];\n\n\t\tfor ( let d = 0; d <= divisions; d ++ ) {\n\n\t\t\tpoints.push( this.getPointAt( d / divisions ) );\n\n\t\t}\n\n\t\treturn points;\n\n\t}\n\n\t// Get total curve arc length\n\n\tgetLength() {\n\n\t\tconst lengths = this.getLengths();\n\t\treturn lengths[ lengths.length - 1 ];\n\n\t}\n\n\t// Get list of cumulative segment lengths\n\n\tgetLengths( divisions = this.arcLengthDivisions ) {\n\n\t\tif ( this.cacheArcLengths &&\n\t\t\t( this.cacheArcLengths.length === divisions + 1 ) &&\n\t\t\t! this.needsUpdate ) {\n\n\t\t\treturn this.cacheArcLengths;\n\n\t\t}\n\n\t\tthis.needsUpdate = false;\n\n\t\tconst cache = [];\n\t\tlet current, last = this.getPoint( 0 );\n\t\tlet sum = 0;\n\n\t\tcache.push( 0 );\n\n\t\tfor ( let p = 1; p <= divisions; p ++ ) {\n\n\t\t\tcurrent = this.getPoint( p / divisions );\n\t\t\tsum += current.distanceTo( last );\n\t\t\tcache.push( sum );\n\t\t\tlast = current;\n\n\t\t}\n\n\t\tthis.cacheArcLengths = cache;\n\n\t\treturn cache; // { sums: cache, sum: sum }; Sum is in the last element.\n\n\t}\n\n\tupdateArcLengths() {\n\n\t\tthis.needsUpdate = true;\n\t\tthis.getLengths();\n\n\t}\n\n\t// Given u ( 0 .. 1 ), get a t to find p. This gives you points which are equidistant\n\n\tgetUtoTmapping( u, distance ) {\n\n\t\tconst arcLengths = this.getLengths();\n\n\t\tlet i = 0;\n\t\tconst il = arcLengths.length;\n\n\t\tlet targetArcLength; // The targeted u distance value to get\n\n\t\tif ( distance ) {\n\n\t\t\ttargetArcLength = distance;\n\n\t\t} else {\n\n\t\t\ttargetArcLength = u * arcLengths[ il - 1 ];\n\n\t\t}\n\n\t\t// binary search for the index with largest value smaller than target u distance\n\n\t\tlet low = 0, high = il - 1, comparison;\n\n\t\twhile ( low <= high ) {\n\n\t\t\ti = Math.floor( low + ( high - low ) / 2 ); // less likely to overflow, though probably not issue here, JS doesn't really have integers, all numbers are floats\n\n\t\t\tcomparison = arcLengths[ i ] - targetArcLength;\n\n\t\t\tif ( comparison < 0 ) {\n\n\t\t\t\tlow = i + 1;\n\n\t\t\t} else if ( comparison > 0 ) {\n\n\t\t\t\thigh = i - 1;\n\n\t\t\t} else {\n\n\t\t\t\thigh = i;\n\t\t\t\tbreak;\n\n\t\t\t\t// DONE\n\n\t\t\t}\n\n\t\t}\n\n\t\ti = high;\n\n\t\tif ( arcLengths[ i ] === targetArcLength ) {\n\n\t\t\treturn i / ( il - 1 );\n\n\t\t}\n\n\t\t// we could get finer grain at lengths, or use simple interpolation between two points\n\n\t\tconst lengthBefore = arcLengths[ i ];\n\t\tconst lengthAfter = arcLengths[ i + 1 ];\n\n\t\tconst segmentLength = lengthAfter - lengthBefore;\n\n\t\t// determine where we are between the 'before' and 'after' points\n\n\t\tconst segmentFraction = ( targetArcLength - lengthBefore ) / segmentLength;\n\n\t\t// add that fractional amount to t\n\n\t\tconst t = ( i + segmentFraction ) / ( il - 1 );\n\n\t\treturn t;\n\n\t}\n\n\t// Returns a unit vector tangent at t\n\t// In case any sub curve does not implement its tangent derivation,\n\t// 2 points a small delta apart will be used to find its gradient\n\t// which seems to give a reasonable approximation\n\n\tgetTangent( t, optionalTarget ) {\n\n\t\tconst delta = 0.0001;\n\t\tlet t1 = t - delta;\n\t\tlet t2 = t + delta;\n\n\t\t// Capping in case of danger\n\n\t\tif ( t1 < 0 ) t1 = 0;\n\t\tif ( t2 > 1 ) t2 = 1;\n\n\t\tconst pt1 = this.getPoint( t1 );\n\t\tconst pt2 = this.getPoint( t2 );\n\n\t\tconst tangent = optionalTarget || ( ( pt1.isVector2 ) ? new Vector2() : new Vector3() );\n\n\t\ttangent.copy( pt2 ).sub( pt1 ).normalize();\n\n\t\treturn tangent;\n\n\t}\n\n\tgetTangentAt( u, optionalTarget ) {\n\n\t\tconst t = this.getUtoTmapping( u );\n\t\treturn this.getTangent( t, optionalTarget );\n\n\t}\n\n\tcomputeFrenetFrames( segments, closed ) {\n\n\t\t// see http://www.cs.indiana.edu/pub/techreports/TR425.pdf\n\n\t\tconst normal = new Vector3();\n\n\t\tconst tangents = [];\n\t\tconst normals = [];\n\t\tconst binormals = [];\n\n\t\tconst vec = new Vector3();\n\t\tconst mat = new Matrix4();\n\n\t\t// compute the tangent vectors for each segment on the curve\n\n\t\tfor ( let i = 0; i <= segments; i ++ ) {\n\n\t\t\tconst u = i / segments;\n\n\t\t\ttangents[ i ] = this.getTangentAt( u, new Vector3() );\n\n\t\t}\n\n\t\t// select an initial normal vector perpendicular to the first tangent vector,\n\t\t// and in the direction of the minimum tangent xyz component\n\n\t\tnormals[ 0 ] = new Vector3();\n\t\tbinormals[ 0 ] = new Vector3();\n\t\tlet min = Number.MAX_VALUE;\n\t\tconst tx = Math.abs( tangents[ 0 ].x );\n\t\tconst ty = Math.abs( tangents[ 0 ].y );\n\t\tconst tz = Math.abs( tangents[ 0 ].z );\n\n\t\tif ( tx <= min ) {\n\n\t\t\tmin = tx;\n\t\t\tnormal.set( 1, 0, 0 );\n\n\t\t}\n\n\t\tif ( ty <= min ) {\n\n\t\t\tmin = ty;\n\t\t\tnormal.set( 0, 1, 0 );\n\n\t\t}\n\n\t\tif ( tz <= min ) {\n\n\t\t\tnormal.set( 0, 0, 1 );\n\n\t\t}\n\n\t\tvec.crossVectors( tangents[ 0 ], normal ).normalize();\n\n\t\tnormals[ 0 ].crossVectors( tangents[ 0 ], vec );\n\t\tbinormals[ 0 ].crossVectors( tangents[ 0 ], normals[ 0 ] );\n\n\n\t\t// compute the slowly-varying normal and binormal vectors for each segment on the curve\n\n\t\tfor ( let i = 1; i <= segments; i ++ ) {\n\n\t\t\tnormals[ i ] = normals[ i - 1 ].clone();\n\n\t\t\tbinormals[ i ] = binormals[ i - 1 ].clone();\n\n\t\t\tvec.crossVectors( tangents[ i - 1 ], tangents[ i ] );\n\n\t\t\tif ( vec.length() > Number.EPSILON ) {\n\n\t\t\t\tvec.normalize();\n\n\t\t\t\tconst theta = Math.acos( clamp( tangents[ i - 1 ].dot( tangents[ i ] ), - 1, 1 ) ); // clamp for floating pt errors\n\n\t\t\t\tnormals[ i ].applyMatrix4( mat.makeRotationAxis( vec, theta ) );\n\n\t\t\t}\n\n\t\t\tbinormals[ i ].crossVectors( tangents[ i ], normals[ i ] );\n\n\t\t}\n\n\t\t// if the curve is closed, postprocess the vectors so the first and last normal vectors are the same\n\n\t\tif ( closed === true ) {\n\n\t\t\tlet theta = Math.acos( clamp( normals[ 0 ].dot( normals[ segments ] ), - 1, 1 ) );\n\t\t\ttheta /= segments;\n\n\t\t\tif ( tangents[ 0 ].dot( vec.crossVectors( normals[ 0 ], normals[ segments ] ) ) > 0 ) {\n\n\t\t\t\ttheta = - theta;\n\n\t\t\t}\n\n\t\t\tfor ( let i = 1; i <= segments; i ++ ) {\n\n\t\t\t\t// twist a little...\n\t\t\t\tnormals[ i ].applyMatrix4( mat.makeRotationAxis( tangents[ i ], theta * i ) );\n\t\t\t\tbinormals[ i ].crossVectors( tangents[ i ], normals[ i ] );\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn {\n\t\t\ttangents: tangents,\n\t\t\tnormals: normals,\n\t\t\tbinormals: binormals\n\t\t};\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.arcLengthDivisions = source.arcLengthDivisions;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = {\n\t\t\tmetadata: {\n\t\t\t\tversion: 4.5,\n\t\t\t\ttype: 'Curve',\n\t\t\t\tgenerator: 'Curve.toJSON'\n\t\t\t}\n\t\t};\n\n\t\tdata.arcLengthDivisions = this.arcLengthDivisions;\n\t\tdata.type = this.type;\n\n\t\treturn data;\n\n\t}\n\n\tfromJSON( json ) {\n\n\t\tthis.arcLengthDivisions = json.arcLengthDivisions;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass EllipseCurve extends Curve {\n\n\tconstructor( aX = 0, aY = 0, xRadius = 1, yRadius = 1, aStartAngle = 0, aEndAngle = Math.PI * 2, aClockwise = false, aRotation = 0 ) {\n\n\t\tsuper();\n\n\t\tthis.isEllipseCurve = true;\n\n\t\tthis.type = 'EllipseCurve';\n\n\t\tthis.aX = aX;\n\t\tthis.aY = aY;\n\n\t\tthis.xRadius = xRadius;\n\t\tthis.yRadius = yRadius;\n\n\t\tthis.aStartAngle = aStartAngle;\n\t\tthis.aEndAngle = aEndAngle;\n\n\t\tthis.aClockwise = aClockwise;\n\n\t\tthis.aRotation = aRotation;\n\n\t}\n\n\tgetPoint( t, optionalTarget ) {\n\n\t\tconst point = optionalTarget || new Vector2();\n\n\t\tconst twoPi = Math.PI * 2;\n\t\tlet deltaAngle = this.aEndAngle - this.aStartAngle;\n\t\tconst samePoints = Math.abs( deltaAngle ) < Number.EPSILON;\n\n\t\t// ensures that deltaAngle is 0 .. 2 PI\n\t\twhile ( deltaAngle < 0 ) deltaAngle += twoPi;\n\t\twhile ( deltaAngle > twoPi ) deltaAngle -= twoPi;\n\n\t\tif ( deltaAngle < Number.EPSILON ) {\n\n\t\t\tif ( samePoints ) {\n\n\t\t\t\tdeltaAngle = 0;\n\n\t\t\t} else {\n\n\t\t\t\tdeltaAngle = twoPi;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( this.aClockwise === true && ! samePoints ) {\n\n\t\t\tif ( deltaAngle === twoPi ) {\n\n\t\t\t\tdeltaAngle = - twoPi;\n\n\t\t\t} else {\n\n\t\t\t\tdeltaAngle = deltaAngle - twoPi;\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst angle = this.aStartAngle + t * deltaAngle;\n\t\tlet x = this.aX + this.xRadius * Math.cos( angle );\n\t\tlet y = this.aY + this.yRadius * Math.sin( angle );\n\n\t\tif ( this.aRotation !== 0 ) {\n\n\t\t\tconst cos = Math.cos( this.aRotation );\n\t\t\tconst sin = Math.sin( this.aRotation );\n\n\t\t\tconst tx = x - this.aX;\n\t\t\tconst ty = y - this.aY;\n\n\t\t\t// Rotate the point about the center of the ellipse.\n\t\t\tx = tx * cos - ty * sin + this.aX;\n\t\t\ty = tx * sin + ty * cos + this.aY;\n\n\t\t}\n\n\t\treturn point.set( x, y );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.aX = source.aX;\n\t\tthis.aY = source.aY;\n\n\t\tthis.xRadius = source.xRadius;\n\t\tthis.yRadius = source.yRadius;\n\n\t\tthis.aStartAngle = source.aStartAngle;\n\t\tthis.aEndAngle = source.aEndAngle;\n\n\t\tthis.aClockwise = source.aClockwise;\n\n\t\tthis.aRotation = source.aRotation;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.aX = this.aX;\n\t\tdata.aY = this.aY;\n\n\t\tdata.xRadius = this.xRadius;\n\t\tdata.yRadius = this.yRadius;\n\n\t\tdata.aStartAngle = this.aStartAngle;\n\t\tdata.aEndAngle = this.aEndAngle;\n\n\t\tdata.aClockwise = this.aClockwise;\n\n\t\tdata.aRotation = this.aRotation;\n\n\t\treturn data;\n\n\t}\n\n\tfromJSON( json ) {\n\n\t\tsuper.fromJSON( json );\n\n\t\tthis.aX = json.aX;\n\t\tthis.aY = json.aY;\n\n\t\tthis.xRadius = json.xRadius;\n\t\tthis.yRadius = json.yRadius;\n\n\t\tthis.aStartAngle = json.aStartAngle;\n\t\tthis.aEndAngle = json.aEndAngle;\n\n\t\tthis.aClockwise = json.aClockwise;\n\n\t\tthis.aRotation = json.aRotation;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass ArcCurve extends EllipseCurve {\n\n\tconstructor( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) {\n\n\t\tsuper( aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise );\n\n\t\tthis.isArcCurve = true;\n\n\t\tthis.type = 'ArcCurve';\n\n\t}\n\n}\n\n/**\n * Centripetal CatmullRom Curve - which is useful for avoiding\n * cusps and self-intersections in non-uniform catmull rom curves.\n * http://www.cemyuksel.com/research/catmullrom_param/catmullrom.pdf\n *\n * curve.type accepts centripetal(default), chordal and catmullrom\n * curve.tension is used for catmullrom which defaults to 0.5\n */\n\n\n/*\nBased on an optimized c++ solution in\n - http://stackoverflow.com/questions/9489736/catmull-rom-curve-with-no-cusps-and-no-self-intersections/\n - http://ideone.com/NoEbVM\n\nThis CubicPoly class could be used for reusing some variables and calculations,\nbut for three.js curve use, it could be possible inlined and flatten into a single function call\nwhich can be placed in CurveUtils.\n*/\n\nfunction CubicPoly() {\n\n\tlet c0 = 0, c1 = 0, c2 = 0, c3 = 0;\n\n\t/*\n\t * Compute coefficients for a cubic polynomial\n\t * p(s) = c0 + c1*s + c2*s^2 + c3*s^3\n\t * such that\n\t * p(0) = x0, p(1) = x1\n\t * and\n\t * p'(0) = t0, p'(1) = t1.\n\t */\n\tfunction init( x0, x1, t0, t1 ) {\n\n\t\tc0 = x0;\n\t\tc1 = t0;\n\t\tc2 = - 3 * x0 + 3 * x1 - 2 * t0 - t1;\n\t\tc3 = 2 * x0 - 2 * x1 + t0 + t1;\n\n\t}\n\n\treturn {\n\n\t\tinitCatmullRom: function ( x0, x1, x2, x3, tension ) {\n\n\t\t\tinit( x1, x2, tension * ( x2 - x0 ), tension * ( x3 - x1 ) );\n\n\t\t},\n\n\t\tinitNonuniformCatmullRom: function ( x0, x1, x2, x3, dt0, dt1, dt2 ) {\n\n\t\t\t// compute tangents when parameterized in [t1,t2]\n\t\t\tlet t1 = ( x1 - x0 ) / dt0 - ( x2 - x0 ) / ( dt0 + dt1 ) + ( x2 - x1 ) / dt1;\n\t\t\tlet t2 = ( x2 - x1 ) / dt1 - ( x3 - x1 ) / ( dt1 + dt2 ) + ( x3 - x2 ) / dt2;\n\n\t\t\t// rescale tangents for parametrization in [0,1]\n\t\t\tt1 *= dt1;\n\t\t\tt2 *= dt1;\n\n\t\t\tinit( x1, x2, t1, t2 );\n\n\t\t},\n\n\t\tcalc: function ( t ) {\n\n\t\t\tconst t2 = t * t;\n\t\t\tconst t3 = t2 * t;\n\t\t\treturn c0 + c1 * t + c2 * t2 + c3 * t3;\n\n\t\t}\n\n\t};\n\n}\n\n//\n\nconst tmp = /*@__PURE__*/ new Vector3();\nconst px = /*@__PURE__*/ new CubicPoly();\nconst py = /*@__PURE__*/ new CubicPoly();\nconst pz = /*@__PURE__*/ new CubicPoly();\n\nclass CatmullRomCurve3 extends Curve {\n\n\tconstructor( points = [], closed = false, curveType = 'centripetal', tension = 0.5 ) {\n\n\t\tsuper();\n\n\t\tthis.isCatmullRomCurve3 = true;\n\n\t\tthis.type = 'CatmullRomCurve3';\n\n\t\tthis.points = points;\n\t\tthis.closed = closed;\n\t\tthis.curveType = curveType;\n\t\tthis.tension = tension;\n\n\t}\n\n\tgetPoint( t, optionalTarget = new Vector3() ) {\n\n\t\tconst point = optionalTarget;\n\n\t\tconst points = this.points;\n\t\tconst l = points.length;\n\n\t\tconst p = ( l - ( this.closed ? 0 : 1 ) ) * t;\n\t\tlet intPoint = Math.floor( p );\n\t\tlet weight = p - intPoint;\n\n\t\tif ( this.closed ) {\n\n\t\t\tintPoint += intPoint > 0 ? 0 : ( Math.floor( Math.abs( intPoint ) / l ) + 1 ) * l;\n\n\t\t} else if ( weight === 0 && intPoint === l - 1 ) {\n\n\t\t\tintPoint = l - 2;\n\t\t\tweight = 1;\n\n\t\t}\n\n\t\tlet p0, p3; // 4 points (p1 & p2 defined below)\n\n\t\tif ( this.closed || intPoint > 0 ) {\n\n\t\t\tp0 = points[ ( intPoint - 1 ) % l ];\n\n\t\t} else {\n\n\t\t\t// extrapolate first point\n\t\t\ttmp.subVectors( points[ 0 ], points[ 1 ] ).add( points[ 0 ] );\n\t\t\tp0 = tmp;\n\n\t\t}\n\n\t\tconst p1 = points[ intPoint % l ];\n\t\tconst p2 = points[ ( intPoint + 1 ) % l ];\n\n\t\tif ( this.closed || intPoint + 2 < l ) {\n\n\t\t\tp3 = points[ ( intPoint + 2 ) % l ];\n\n\t\t} else {\n\n\t\t\t// extrapolate last point\n\t\t\ttmp.subVectors( points[ l - 1 ], points[ l - 2 ] ).add( points[ l - 1 ] );\n\t\t\tp3 = tmp;\n\n\t\t}\n\n\t\tif ( this.curveType === 'centripetal' || this.curveType === 'chordal' ) {\n\n\t\t\t// init Centripetal / Chordal Catmull-Rom\n\t\t\tconst pow = this.curveType === 'chordal' ? 0.5 : 0.25;\n\t\t\tlet dt0 = Math.pow( p0.distanceToSquared( p1 ), pow );\n\t\t\tlet dt1 = Math.pow( p1.distanceToSquared( p2 ), pow );\n\t\t\tlet dt2 = Math.pow( p2.distanceToSquared( p3 ), pow );\n\n\t\t\t// safety check for repeated points\n\t\t\tif ( dt1 < 1e-4 ) dt1 = 1.0;\n\t\t\tif ( dt0 < 1e-4 ) dt0 = dt1;\n\t\t\tif ( dt2 < 1e-4 ) dt2 = dt1;\n\n\t\t\tpx.initNonuniformCatmullRom( p0.x, p1.x, p2.x, p3.x, dt0, dt1, dt2 );\n\t\t\tpy.initNonuniformCatmullRom( p0.y, p1.y, p2.y, p3.y, dt0, dt1, dt2 );\n\t\t\tpz.initNonuniformCatmullRom( p0.z, p1.z, p2.z, p3.z, dt0, dt1, dt2 );\n\n\t\t} else if ( this.curveType === 'catmullrom' ) {\n\n\t\t\tpx.initCatmullRom( p0.x, p1.x, p2.x, p3.x, this.tension );\n\t\t\tpy.initCatmullRom( p0.y, p1.y, p2.y, p3.y, this.tension );\n\t\t\tpz.initCatmullRom( p0.z, p1.z, p2.z, p3.z, this.tension );\n\n\t\t}\n\n\t\tpoint.set(\n\t\t\tpx.calc( weight ),\n\t\t\tpy.calc( weight ),\n\t\t\tpz.calc( weight )\n\t\t);\n\n\t\treturn point;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.points = [];\n\n\t\tfor ( let i = 0, l = source.points.length; i < l; i ++ ) {\n\n\t\t\tconst point = source.points[ i ];\n\n\t\t\tthis.points.push( point.clone() );\n\n\t\t}\n\n\t\tthis.closed = source.closed;\n\t\tthis.curveType = source.curveType;\n\t\tthis.tension = source.tension;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.points = [];\n\n\t\tfor ( let i = 0, l = this.points.length; i < l; i ++ ) {\n\n\t\t\tconst point = this.points[ i ];\n\t\t\tdata.points.push( point.toArray() );\n\n\t\t}\n\n\t\tdata.closed = this.closed;\n\t\tdata.curveType = this.curveType;\n\t\tdata.tension = this.tension;\n\n\t\treturn data;\n\n\t}\n\n\tfromJSON( json ) {\n\n\t\tsuper.fromJSON( json );\n\n\t\tthis.points = [];\n\n\t\tfor ( let i = 0, l = json.points.length; i < l; i ++ ) {\n\n\t\t\tconst point = json.points[ i ];\n\t\t\tthis.points.push( new Vector3().fromArray( point ) );\n\n\t\t}\n\n\t\tthis.closed = json.closed;\n\t\tthis.curveType = json.curveType;\n\t\tthis.tension = json.tension;\n\n\t\treturn this;\n\n\t}\n\n}\n\n/**\n * Bezier Curves formulas obtained from\n * https://en.wikipedia.org/wiki/B%C3%A9zier_curve\n */\n\nfunction CatmullRom( t, p0, p1, p2, p3 ) {\n\n\tconst v0 = ( p2 - p0 ) * 0.5;\n\tconst v1 = ( p3 - p1 ) * 0.5;\n\tconst t2 = t * t;\n\tconst t3 = t * t2;\n\treturn ( 2 * p1 - 2 * p2 + v0 + v1 ) * t3 + ( - 3 * p1 + 3 * p2 - 2 * v0 - v1 ) * t2 + v0 * t + p1;\n\n}\n\n//\n\nfunction QuadraticBezierP0( t, p ) {\n\n\tconst k = 1 - t;\n\treturn k * k * p;\n\n}\n\nfunction QuadraticBezierP1( t, p ) {\n\n\treturn 2 * ( 1 - t ) * t * p;\n\n}\n\nfunction QuadraticBezierP2( t, p ) {\n\n\treturn t * t * p;\n\n}\n\nfunction QuadraticBezier( t, p0, p1, p2 ) {\n\n\treturn QuadraticBezierP0( t, p0 ) + QuadraticBezierP1( t, p1 ) +\n\t\tQuadraticBezierP2( t, p2 );\n\n}\n\n//\n\nfunction CubicBezierP0( t, p ) {\n\n\tconst k = 1 - t;\n\treturn k * k * k * p;\n\n}\n\nfunction CubicBezierP1( t, p ) {\n\n\tconst k = 1 - t;\n\treturn 3 * k * k * t * p;\n\n}\n\nfunction CubicBezierP2( t, p ) {\n\n\treturn 3 * ( 1 - t ) * t * t * p;\n\n}\n\nfunction CubicBezierP3( t, p ) {\n\n\treturn t * t * t * p;\n\n}\n\nfunction CubicBezier( t, p0, p1, p2, p3 ) {\n\n\treturn CubicBezierP0( t, p0 ) + CubicBezierP1( t, p1 ) + CubicBezierP2( t, p2 ) +\n\t\tCubicBezierP3( t, p3 );\n\n}\n\nclass CubicBezierCurve extends Curve {\n\n\tconstructor( v0 = new Vector2(), v1 = new Vector2(), v2 = new Vector2(), v3 = new Vector2() ) {\n\n\t\tsuper();\n\n\t\tthis.isCubicBezierCurve = true;\n\n\t\tthis.type = 'CubicBezierCurve';\n\n\t\tthis.v0 = v0;\n\t\tthis.v1 = v1;\n\t\tthis.v2 = v2;\n\t\tthis.v3 = v3;\n\n\t}\n\n\tgetPoint( t, optionalTarget = new Vector2() ) {\n\n\t\tconst point = optionalTarget;\n\n\t\tconst v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3;\n\n\t\tpoint.set(\n\t\t\tCubicBezier( t, v0.x, v1.x, v2.x, v3.x ),\n\t\t\tCubicBezier( t, v0.y, v1.y, v2.y, v3.y )\n\t\t);\n\n\t\treturn point;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.v0.copy( source.v0 );\n\t\tthis.v1.copy( source.v1 );\n\t\tthis.v2.copy( source.v2 );\n\t\tthis.v3.copy( source.v3 );\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.v0 = this.v0.toArray();\n\t\tdata.v1 = this.v1.toArray();\n\t\tdata.v2 = this.v2.toArray();\n\t\tdata.v3 = this.v3.toArray();\n\n\t\treturn data;\n\n\t}\n\n\tfromJSON( json ) {\n\n\t\tsuper.fromJSON( json );\n\n\t\tthis.v0.fromArray( json.v0 );\n\t\tthis.v1.fromArray( json.v1 );\n\t\tthis.v2.fromArray( json.v2 );\n\t\tthis.v3.fromArray( json.v3 );\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass CubicBezierCurve3 extends Curve {\n\n\tconstructor( v0 = new Vector3(), v1 = new Vector3(), v2 = new Vector3(), v3 = new Vector3() ) {\n\n\t\tsuper();\n\n\t\tthis.isCubicBezierCurve3 = true;\n\n\t\tthis.type = 'CubicBezierCurve3';\n\n\t\tthis.v0 = v0;\n\t\tthis.v1 = v1;\n\t\tthis.v2 = v2;\n\t\tthis.v3 = v3;\n\n\t}\n\n\tgetPoint( t, optionalTarget = new Vector3() ) {\n\n\t\tconst point = optionalTarget;\n\n\t\tconst v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3;\n\n\t\tpoint.set(\n\t\t\tCubicBezier( t, v0.x, v1.x, v2.x, v3.x ),\n\t\t\tCubicBezier( t, v0.y, v1.y, v2.y, v3.y ),\n\t\t\tCubicBezier( t, v0.z, v1.z, v2.z, v3.z )\n\t\t);\n\n\t\treturn point;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.v0.copy( source.v0 );\n\t\tthis.v1.copy( source.v1 );\n\t\tthis.v2.copy( source.v2 );\n\t\tthis.v3.copy( source.v3 );\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.v0 = this.v0.toArray();\n\t\tdata.v1 = this.v1.toArray();\n\t\tdata.v2 = this.v2.toArray();\n\t\tdata.v3 = this.v3.toArray();\n\n\t\treturn data;\n\n\t}\n\n\tfromJSON( json ) {\n\n\t\tsuper.fromJSON( json );\n\n\t\tthis.v0.fromArray( json.v0 );\n\t\tthis.v1.fromArray( json.v1 );\n\t\tthis.v2.fromArray( json.v2 );\n\t\tthis.v3.fromArray( json.v3 );\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass LineCurve extends Curve {\n\n\tconstructor( v1 = new Vector2(), v2 = new Vector2() ) {\n\n\t\tsuper();\n\n\t\tthis.isLineCurve = true;\n\n\t\tthis.type = 'LineCurve';\n\n\t\tthis.v1 = v1;\n\t\tthis.v2 = v2;\n\n\t}\n\n\tgetPoint( t, optionalTarget = new Vector2() ) {\n\n\t\tconst point = optionalTarget;\n\n\t\tif ( t === 1 ) {\n\n\t\t\tpoint.copy( this.v2 );\n\n\t\t} else {\n\n\t\t\tpoint.copy( this.v2 ).sub( this.v1 );\n\t\t\tpoint.multiplyScalar( t ).add( this.v1 );\n\n\t\t}\n\n\t\treturn point;\n\n\t}\n\n\t// Line curve is linear, so we can overwrite default getPointAt\n\tgetPointAt( u, optionalTarget ) {\n\n\t\treturn this.getPoint( u, optionalTarget );\n\n\t}\n\n\tgetTangent( t, optionalTarget ) {\n\n\t\tconst tangent = optionalTarget || new Vector2();\n\n\t\ttangent.copy( this.v2 ).sub( this.v1 ).normalize();\n\n\t\treturn tangent;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.v1.copy( source.v1 );\n\t\tthis.v2.copy( source.v2 );\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.v1 = this.v1.toArray();\n\t\tdata.v2 = this.v2.toArray();\n\n\t\treturn data;\n\n\t}\n\n\tfromJSON( json ) {\n\n\t\tsuper.fromJSON( json );\n\n\t\tthis.v1.fromArray( json.v1 );\n\t\tthis.v2.fromArray( json.v2 );\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass LineCurve3 extends Curve {\n\n\tconstructor( v1 = new Vector3(), v2 = new Vector3() ) {\n\n\t\tsuper();\n\n\t\tthis.isLineCurve3 = true;\n\n\t\tthis.type = 'LineCurve3';\n\n\t\tthis.v1 = v1;\n\t\tthis.v2 = v2;\n\n\t}\n\tgetPoint( t, optionalTarget = new Vector3() ) {\n\n\t\tconst point = optionalTarget;\n\n\t\tif ( t === 1 ) {\n\n\t\t\tpoint.copy( this.v2 );\n\n\t\t} else {\n\n\t\t\tpoint.copy( this.v2 ).sub( this.v1 );\n\t\t\tpoint.multiplyScalar( t ).add( this.v1 );\n\n\t\t}\n\n\t\treturn point;\n\n\t}\n\t// Line curve is linear, so we can overwrite default getPointAt\n\tgetPointAt( u, optionalTarget ) {\n\n\t\treturn this.getPoint( u, optionalTarget );\n\n\t}\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.v1.copy( source.v1 );\n\t\tthis.v2.copy( source.v2 );\n\n\t\treturn this;\n\n\t}\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.v1 = this.v1.toArray();\n\t\tdata.v2 = this.v2.toArray();\n\n\t\treturn data;\n\n\t}\n\tfromJSON( json ) {\n\n\t\tsuper.fromJSON( json );\n\n\t\tthis.v1.fromArray( json.v1 );\n\t\tthis.v2.fromArray( json.v2 );\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass QuadraticBezierCurve extends Curve {\n\n\tconstructor( v0 = new Vector2(), v1 = new Vector2(), v2 = new Vector2() ) {\n\n\t\tsuper();\n\n\t\tthis.isQuadraticBezierCurve = true;\n\n\t\tthis.type = 'QuadraticBezierCurve';\n\n\t\tthis.v0 = v0;\n\t\tthis.v1 = v1;\n\t\tthis.v2 = v2;\n\n\t}\n\n\tgetPoint( t, optionalTarget = new Vector2() ) {\n\n\t\tconst point = optionalTarget;\n\n\t\tconst v0 = this.v0, v1 = this.v1, v2 = this.v2;\n\n\t\tpoint.set(\n\t\t\tQuadraticBezier( t, v0.x, v1.x, v2.x ),\n\t\t\tQuadraticBezier( t, v0.y, v1.y, v2.y )\n\t\t);\n\n\t\treturn point;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.v0.copy( source.v0 );\n\t\tthis.v1.copy( source.v1 );\n\t\tthis.v2.copy( source.v2 );\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.v0 = this.v0.toArray();\n\t\tdata.v1 = this.v1.toArray();\n\t\tdata.v2 = this.v2.toArray();\n\n\t\treturn data;\n\n\t}\n\n\tfromJSON( json ) {\n\n\t\tsuper.fromJSON( json );\n\n\t\tthis.v0.fromArray( json.v0 );\n\t\tthis.v1.fromArray( json.v1 );\n\t\tthis.v2.fromArray( json.v2 );\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass QuadraticBezierCurve3 extends Curve {\n\n\tconstructor( v0 = new Vector3(), v1 = new Vector3(), v2 = new Vector3() ) {\n\n\t\tsuper();\n\n\t\tthis.isQuadraticBezierCurve3 = true;\n\n\t\tthis.type = 'QuadraticBezierCurve3';\n\n\t\tthis.v0 = v0;\n\t\tthis.v1 = v1;\n\t\tthis.v2 = v2;\n\n\t}\n\n\tgetPoint( t, optionalTarget = new Vector3() ) {\n\n\t\tconst point = optionalTarget;\n\n\t\tconst v0 = this.v0, v1 = this.v1, v2 = this.v2;\n\n\t\tpoint.set(\n\t\t\tQuadraticBezier( t, v0.x, v1.x, v2.x ),\n\t\t\tQuadraticBezier( t, v0.y, v1.y, v2.y ),\n\t\t\tQuadraticBezier( t, v0.z, v1.z, v2.z )\n\t\t);\n\n\t\treturn point;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.v0.copy( source.v0 );\n\t\tthis.v1.copy( source.v1 );\n\t\tthis.v2.copy( source.v2 );\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.v0 = this.v0.toArray();\n\t\tdata.v1 = this.v1.toArray();\n\t\tdata.v2 = this.v2.toArray();\n\n\t\treturn data;\n\n\t}\n\n\tfromJSON( json ) {\n\n\t\tsuper.fromJSON( json );\n\n\t\tthis.v0.fromArray( json.v0 );\n\t\tthis.v1.fromArray( json.v1 );\n\t\tthis.v2.fromArray( json.v2 );\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass SplineCurve extends Curve {\n\n\tconstructor( points = [] ) {\n\n\t\tsuper();\n\n\t\tthis.isSplineCurve = true;\n\n\t\tthis.type = 'SplineCurve';\n\n\t\tthis.points = points;\n\n\t}\n\n\tgetPoint( t, optionalTarget = new Vector2() ) {\n\n\t\tconst point = optionalTarget;\n\n\t\tconst points = this.points;\n\t\tconst p = ( points.length - 1 ) * t;\n\n\t\tconst intPoint = Math.floor( p );\n\t\tconst weight = p - intPoint;\n\n\t\tconst p0 = points[ intPoint === 0 ? intPoint : intPoint - 1 ];\n\t\tconst p1 = points[ intPoint ];\n\t\tconst p2 = points[ intPoint > points.length - 2 ? points.length - 1 : intPoint + 1 ];\n\t\tconst p3 = points[ intPoint > points.length - 3 ? points.length - 1 : intPoint + 2 ];\n\n\t\tpoint.set(\n\t\t\tCatmullRom( weight, p0.x, p1.x, p2.x, p3.x ),\n\t\t\tCatmullRom( weight, p0.y, p1.y, p2.y, p3.y )\n\t\t);\n\n\t\treturn point;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.points = [];\n\n\t\tfor ( let i = 0, l = source.points.length; i < l; i ++ ) {\n\n\t\t\tconst point = source.points[ i ];\n\n\t\t\tthis.points.push( point.clone() );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.points = [];\n\n\t\tfor ( let i = 0, l = this.points.length; i < l; i ++ ) {\n\n\t\t\tconst point = this.points[ i ];\n\t\t\tdata.points.push( point.toArray() );\n\n\t\t}\n\n\t\treturn data;\n\n\t}\n\n\tfromJSON( json ) {\n\n\t\tsuper.fromJSON( json );\n\n\t\tthis.points = [];\n\n\t\tfor ( let i = 0, l = json.points.length; i < l; i ++ ) {\n\n\t\t\tconst point = json.points[ i ];\n\t\t\tthis.points.push( new Vector2().fromArray( point ) );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n}\n\nvar Curves = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tArcCurve: ArcCurve,\n\tCatmullRomCurve3: CatmullRomCurve3,\n\tCubicBezierCurve: CubicBezierCurve,\n\tCubicBezierCurve3: CubicBezierCurve3,\n\tEllipseCurve: EllipseCurve,\n\tLineCurve: LineCurve,\n\tLineCurve3: LineCurve3,\n\tQuadraticBezierCurve: QuadraticBezierCurve,\n\tQuadraticBezierCurve3: QuadraticBezierCurve3,\n\tSplineCurve: SplineCurve\n});\n\n/**************************************************************\n *\tCurved Path - a curve path is simply a array of connected\n * curves, but retains the api of a curve\n **************************************************************/\n\nclass CurvePath extends Curve {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.type = 'CurvePath';\n\n\t\tthis.curves = [];\n\t\tthis.autoClose = false; // Automatically closes the path\n\n\t}\n\n\tadd( curve ) {\n\n\t\tthis.curves.push( curve );\n\n\t}\n\n\tclosePath() {\n\n\t\t// Add a line curve if start and end of lines are not connected\n\t\tconst startPoint = this.curves[ 0 ].getPoint( 0 );\n\t\tconst endPoint = this.curves[ this.curves.length - 1 ].getPoint( 1 );\n\n\t\tif ( ! startPoint.equals( endPoint ) ) {\n\n\t\t\tthis.curves.push( new LineCurve( endPoint, startPoint ) );\n\n\t\t}\n\n\t}\n\n\t// To get accurate point with reference to\n\t// entire path distance at time t,\n\t// following has to be done:\n\n\t// 1. Length of each sub path have to be known\n\t// 2. Locate and identify type of curve\n\t// 3. Get t for the curve\n\t// 4. Return curve.getPointAt(t')\n\n\tgetPoint( t, optionalTarget ) {\n\n\t\tconst d = t * this.getLength();\n\t\tconst curveLengths = this.getCurveLengths();\n\t\tlet i = 0;\n\n\t\t// To think about boundaries points.\n\n\t\twhile ( i < curveLengths.length ) {\n\n\t\t\tif ( curveLengths[ i ] >= d ) {\n\n\t\t\t\tconst diff = curveLengths[ i ] - d;\n\t\t\t\tconst curve = this.curves[ i ];\n\n\t\t\t\tconst segmentLength = curve.getLength();\n\t\t\t\tconst u = segmentLength === 0 ? 0 : 1 - diff / segmentLength;\n\n\t\t\t\treturn curve.getPointAt( u, optionalTarget );\n\n\t\t\t}\n\n\t\t\ti ++;\n\n\t\t}\n\n\t\treturn null;\n\n\t\t// loop where sum != 0, sum > d , sum+1 1 && ! points[ points.length - 1 ].equals( points[ 0 ] ) ) {\n\n\t\t\tpoints.push( points[ 0 ] );\n\n\t\t}\n\n\t\treturn points;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.curves = [];\n\n\t\tfor ( let i = 0, l = source.curves.length; i < l; i ++ ) {\n\n\t\t\tconst curve = source.curves[ i ];\n\n\t\t\tthis.curves.push( curve.clone() );\n\n\t\t}\n\n\t\tthis.autoClose = source.autoClose;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.autoClose = this.autoClose;\n\t\tdata.curves = [];\n\n\t\tfor ( let i = 0, l = this.curves.length; i < l; i ++ ) {\n\n\t\t\tconst curve = this.curves[ i ];\n\t\t\tdata.curves.push( curve.toJSON() );\n\n\t\t}\n\n\t\treturn data;\n\n\t}\n\n\tfromJSON( json ) {\n\n\t\tsuper.fromJSON( json );\n\n\t\tthis.autoClose = json.autoClose;\n\t\tthis.curves = [];\n\n\t\tfor ( let i = 0, l = json.curves.length; i < l; i ++ ) {\n\n\t\t\tconst curve = json.curves[ i ];\n\t\t\tthis.curves.push( new Curves[ curve.type ]().fromJSON( curve ) );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass Path extends CurvePath {\n\n\tconstructor( points ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'Path';\n\n\t\tthis.currentPoint = new Vector2();\n\n\t\tif ( points ) {\n\n\t\t\tthis.setFromPoints( points );\n\n\t\t}\n\n\t}\n\n\tsetFromPoints( points ) {\n\n\t\tthis.moveTo( points[ 0 ].x, points[ 0 ].y );\n\n\t\tfor ( let i = 1, l = points.length; i < l; i ++ ) {\n\n\t\t\tthis.lineTo( points[ i ].x, points[ i ].y );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tmoveTo( x, y ) {\n\n\t\tthis.currentPoint.set( x, y ); // TODO consider referencing vectors instead of copying?\n\n\t\treturn this;\n\n\t}\n\n\tlineTo( x, y ) {\n\n\t\tconst curve = new LineCurve( this.currentPoint.clone(), new Vector2( x, y ) );\n\t\tthis.curves.push( curve );\n\n\t\tthis.currentPoint.set( x, y );\n\n\t\treturn this;\n\n\t}\n\n\tquadraticCurveTo( aCPx, aCPy, aX, aY ) {\n\n\t\tconst curve = new QuadraticBezierCurve(\n\t\t\tthis.currentPoint.clone(),\n\t\t\tnew Vector2( aCPx, aCPy ),\n\t\t\tnew Vector2( aX, aY )\n\t\t);\n\n\t\tthis.curves.push( curve );\n\n\t\tthis.currentPoint.set( aX, aY );\n\n\t\treturn this;\n\n\t}\n\n\tbezierCurveTo( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ) {\n\n\t\tconst curve = new CubicBezierCurve(\n\t\t\tthis.currentPoint.clone(),\n\t\t\tnew Vector2( aCP1x, aCP1y ),\n\t\t\tnew Vector2( aCP2x, aCP2y ),\n\t\t\tnew Vector2( aX, aY )\n\t\t);\n\n\t\tthis.curves.push( curve );\n\n\t\tthis.currentPoint.set( aX, aY );\n\n\t\treturn this;\n\n\t}\n\n\tsplineThru( pts /*Array of Vector*/ ) {\n\n\t\tconst npts = [ this.currentPoint.clone() ].concat( pts );\n\n\t\tconst curve = new SplineCurve( npts );\n\t\tthis.curves.push( curve );\n\n\t\tthis.currentPoint.copy( pts[ pts.length - 1 ] );\n\n\t\treturn this;\n\n\t}\n\n\tarc( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) {\n\n\t\tconst x0 = this.currentPoint.x;\n\t\tconst y0 = this.currentPoint.y;\n\n\t\tthis.absarc( aX + x0, aY + y0, aRadius,\n\t\t\taStartAngle, aEndAngle, aClockwise );\n\n\t\treturn this;\n\n\t}\n\n\tabsarc( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) {\n\n\t\tthis.absellipse( aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise );\n\n\t\treturn this;\n\n\t}\n\n\tellipse( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) {\n\n\t\tconst x0 = this.currentPoint.x;\n\t\tconst y0 = this.currentPoint.y;\n\n\t\tthis.absellipse( aX + x0, aY + y0, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation );\n\n\t\treturn this;\n\n\t}\n\n\tabsellipse( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) {\n\n\t\tconst curve = new EllipseCurve( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation );\n\n\t\tif ( this.curves.length > 0 ) {\n\n\t\t\t// if a previous curve is present, attempt to join\n\t\t\tconst firstPoint = curve.getPoint( 0 );\n\n\t\t\tif ( ! firstPoint.equals( this.currentPoint ) ) {\n\n\t\t\t\tthis.lineTo( firstPoint.x, firstPoint.y );\n\n\t\t\t}\n\n\t\t}\n\n\t\tthis.curves.push( curve );\n\n\t\tconst lastPoint = curve.getPoint( 1 );\n\t\tthis.currentPoint.copy( lastPoint );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.currentPoint.copy( source.currentPoint );\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.currentPoint = this.currentPoint.toArray();\n\n\t\treturn data;\n\n\t}\n\n\tfromJSON( json ) {\n\n\t\tsuper.fromJSON( json );\n\n\t\tthis.currentPoint.fromArray( json.currentPoint );\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass LatheGeometry extends BufferGeometry {\n\n\tconstructor( points = [ new Vector2( 0, - 0.5 ), new Vector2( 0.5, 0 ), new Vector2( 0, 0.5 ) ], segments = 12, phiStart = 0, phiLength = Math.PI * 2 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'LatheGeometry';\n\n\t\tthis.parameters = {\n\t\t\tpoints: points,\n\t\t\tsegments: segments,\n\t\t\tphiStart: phiStart,\n\t\t\tphiLength: phiLength\n\t\t};\n\n\t\tsegments = Math.floor( segments );\n\n\t\t// clamp phiLength so it's in range of [ 0, 2PI ]\n\n\t\tphiLength = clamp( phiLength, 0, Math.PI * 2 );\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst uvs = [];\n\t\tconst initNormals = [];\n\t\tconst normals = [];\n\n\t\t// helper variables\n\n\t\tconst inverseSegments = 1.0 / segments;\n\t\tconst vertex = new Vector3();\n\t\tconst uv = new Vector2();\n\t\tconst normal = new Vector3();\n\t\tconst curNormal = new Vector3();\n\t\tconst prevNormal = new Vector3();\n\t\tlet dx = 0;\n\t\tlet dy = 0;\n\n\t\t// pre-compute normals for initial \"meridian\"\n\n\t\tfor ( let j = 0; j <= ( points.length - 1 ); j ++ ) {\n\n\t\t\tswitch ( j ) {\n\n\t\t\t\tcase 0:\t\t\t\t// special handling for 1st vertex on path\n\n\t\t\t\t\tdx = points[ j + 1 ].x - points[ j ].x;\n\t\t\t\t\tdy = points[ j + 1 ].y - points[ j ].y;\n\n\t\t\t\t\tnormal.x = dy * 1.0;\n\t\t\t\t\tnormal.y = - dx;\n\t\t\t\t\tnormal.z = dy * 0.0;\n\n\t\t\t\t\tprevNormal.copy( normal );\n\n\t\t\t\t\tnormal.normalize();\n\n\t\t\t\t\tinitNormals.push( normal.x, normal.y, normal.z );\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase ( points.length - 1 ):\t// special handling for last Vertex on path\n\n\t\t\t\t\tinitNormals.push( prevNormal.x, prevNormal.y, prevNormal.z );\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\t\t\t// default handling for all vertices in between\n\n\t\t\t\t\tdx = points[ j + 1 ].x - points[ j ].x;\n\t\t\t\t\tdy = points[ j + 1 ].y - points[ j ].y;\n\n\t\t\t\t\tnormal.x = dy * 1.0;\n\t\t\t\t\tnormal.y = - dx;\n\t\t\t\t\tnormal.z = dy * 0.0;\n\n\t\t\t\t\tcurNormal.copy( normal );\n\n\t\t\t\t\tnormal.x += prevNormal.x;\n\t\t\t\t\tnormal.y += prevNormal.y;\n\t\t\t\t\tnormal.z += prevNormal.z;\n\n\t\t\t\t\tnormal.normalize();\n\n\t\t\t\t\tinitNormals.push( normal.x, normal.y, normal.z );\n\n\t\t\t\t\tprevNormal.copy( curNormal );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// generate vertices, uvs and normals\n\n\t\tfor ( let i = 0; i <= segments; i ++ ) {\n\n\t\t\tconst phi = phiStart + i * inverseSegments * phiLength;\n\n\t\t\tconst sin = Math.sin( phi );\n\t\t\tconst cos = Math.cos( phi );\n\n\t\t\tfor ( let j = 0; j <= ( points.length - 1 ); j ++ ) {\n\n\t\t\t\t// vertex\n\n\t\t\t\tvertex.x = points[ j ].x * sin;\n\t\t\t\tvertex.y = points[ j ].y;\n\t\t\t\tvertex.z = points[ j ].x * cos;\n\n\t\t\t\tvertices.push( vertex.x, vertex.y, vertex.z );\n\n\t\t\t\t// uv\n\n\t\t\t\tuv.x = i / segments;\n\t\t\t\tuv.y = j / ( points.length - 1 );\n\n\t\t\t\tuvs.push( uv.x, uv.y );\n\n\t\t\t\t// normal\n\n\t\t\t\tconst x = initNormals[ 3 * j + 0 ] * sin;\n\t\t\t\tconst y = initNormals[ 3 * j + 1 ];\n\t\t\t\tconst z = initNormals[ 3 * j + 0 ] * cos;\n\n\t\t\t\tnormals.push( x, y, z );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// indices\n\n\t\tfor ( let i = 0; i < segments; i ++ ) {\n\n\t\t\tfor ( let j = 0; j < ( points.length - 1 ); j ++ ) {\n\n\t\t\t\tconst base = j + i * points.length;\n\n\t\t\t\tconst a = base;\n\t\t\t\tconst b = base + points.length;\n\t\t\t\tconst c = base + points.length + 1;\n\t\t\t\tconst d = base + 1;\n\n\t\t\t\t// faces\n\n\t\t\t\tindices.push( a, b, d );\n\t\t\t\tindices.push( c, d, b );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new LatheGeometry( data.points, data.segments, data.phiStart, data.phiLength );\n\n\t}\n\n}\n\nclass CapsuleGeometry extends LatheGeometry {\n\n\tconstructor( radius = 1, length = 1, capSegments = 4, radialSegments = 8 ) {\n\n\t\tconst path = new Path();\n\t\tpath.absarc( 0, - length / 2, radius, Math.PI * 1.5, 0 );\n\t\tpath.absarc( 0, length / 2, radius, 0, Math.PI * 0.5 );\n\n\t\tsuper( path.getPoints( capSegments ), radialSegments );\n\n\t\tthis.type = 'CapsuleGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\theight: length,\n\t\t\tcapSegments: capSegments,\n\t\t\tradialSegments: radialSegments,\n\t\t};\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new CapsuleGeometry( data.radius, data.length, data.capSegments, data.radialSegments );\n\n\t}\n\n}\n\nclass CircleGeometry extends BufferGeometry {\n\n\tconstructor( radius = 1, segments = 8, thetaStart = 0, thetaLength = Math.PI * 2 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'CircleGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\tsegments: segments,\n\t\t\tthetaStart: thetaStart,\n\t\t\tthetaLength: thetaLength\n\t\t};\n\n\t\tsegments = Math.max( 3, segments );\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// helper variables\n\n\t\tconst vertex = new Vector3();\n\t\tconst uv = new Vector2();\n\n\t\t// center point\n\n\t\tvertices.push( 0, 0, 0 );\n\t\tnormals.push( 0, 0, 1 );\n\t\tuvs.push( 0.5, 0.5 );\n\n\t\tfor ( let s = 0, i = 3; s <= segments; s ++, i += 3 ) {\n\n\t\t\tconst segment = thetaStart + s / segments * thetaLength;\n\n\t\t\t// vertex\n\n\t\t\tvertex.x = radius * Math.cos( segment );\n\t\t\tvertex.y = radius * Math.sin( segment );\n\n\t\t\tvertices.push( vertex.x, vertex.y, vertex.z );\n\n\t\t\t// normal\n\n\t\t\tnormals.push( 0, 0, 1 );\n\n\t\t\t// uvs\n\n\t\t\tuv.x = ( vertices[ i ] / radius + 1 ) / 2;\n\t\t\tuv.y = ( vertices[ i + 1 ] / radius + 1 ) / 2;\n\n\t\t\tuvs.push( uv.x, uv.y );\n\n\t\t}\n\n\t\t// indices\n\n\t\tfor ( let i = 1; i <= segments; i ++ ) {\n\n\t\t\tindices.push( i, i + 1, 0 );\n\n\t\t}\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new CircleGeometry( data.radius, data.segments, data.thetaStart, data.thetaLength );\n\n\t}\n\n}\n\nclass CylinderGeometry extends BufferGeometry {\n\n\tconstructor( radiusTop = 1, radiusBottom = 1, height = 1, radialSegments = 8, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'CylinderGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradiusTop: radiusTop,\n\t\t\tradiusBottom: radiusBottom,\n\t\t\theight: height,\n\t\t\tradialSegments: radialSegments,\n\t\t\theightSegments: heightSegments,\n\t\t\topenEnded: openEnded,\n\t\t\tthetaStart: thetaStart,\n\t\t\tthetaLength: thetaLength\n\t\t};\n\n\t\tconst scope = this;\n\n\t\tradialSegments = Math.floor( radialSegments );\n\t\theightSegments = Math.floor( heightSegments );\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// helper variables\n\n\t\tlet index = 0;\n\t\tconst indexArray = [];\n\t\tconst halfHeight = height / 2;\n\t\tlet groupStart = 0;\n\n\t\t// generate geometry\n\n\t\tgenerateTorso();\n\n\t\tif ( openEnded === false ) {\n\n\t\t\tif ( radiusTop > 0 ) generateCap( true );\n\t\t\tif ( radiusBottom > 0 ) generateCap( false );\n\n\t\t}\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t\tfunction generateTorso() {\n\n\t\t\tconst normal = new Vector3();\n\t\t\tconst vertex = new Vector3();\n\n\t\t\tlet groupCount = 0;\n\n\t\t\t// this will be used to calculate the normal\n\t\t\tconst slope = ( radiusBottom - radiusTop ) / height;\n\n\t\t\t// generate vertices, normals and uvs\n\n\t\t\tfor ( let y = 0; y <= heightSegments; y ++ ) {\n\n\t\t\t\tconst indexRow = [];\n\n\t\t\t\tconst v = y / heightSegments;\n\n\t\t\t\t// calculate the radius of the current row\n\n\t\t\t\tconst radius = v * ( radiusBottom - radiusTop ) + radiusTop;\n\n\t\t\t\tfor ( let x = 0; x <= radialSegments; x ++ ) {\n\n\t\t\t\t\tconst u = x / radialSegments;\n\n\t\t\t\t\tconst theta = u * thetaLength + thetaStart;\n\n\t\t\t\t\tconst sinTheta = Math.sin( theta );\n\t\t\t\t\tconst cosTheta = Math.cos( theta );\n\n\t\t\t\t\t// vertex\n\n\t\t\t\t\tvertex.x = radius * sinTheta;\n\t\t\t\t\tvertex.y = - v * height + halfHeight;\n\t\t\t\t\tvertex.z = radius * cosTheta;\n\t\t\t\t\tvertices.push( vertex.x, vertex.y, vertex.z );\n\n\t\t\t\t\t// normal\n\n\t\t\t\t\tnormal.set( sinTheta, slope, cosTheta ).normalize();\n\t\t\t\t\tnormals.push( normal.x, normal.y, normal.z );\n\n\t\t\t\t\t// uv\n\n\t\t\t\t\tuvs.push( u, 1 - v );\n\n\t\t\t\t\t// save index of vertex in respective row\n\n\t\t\t\t\tindexRow.push( index ++ );\n\n\t\t\t\t}\n\n\t\t\t\t// now save vertices of the row in our index array\n\n\t\t\t\tindexArray.push( indexRow );\n\n\t\t\t}\n\n\t\t\t// generate indices\n\n\t\t\tfor ( let x = 0; x < radialSegments; x ++ ) {\n\n\t\t\t\tfor ( let y = 0; y < heightSegments; y ++ ) {\n\n\t\t\t\t\t// we use the index array to access the correct indices\n\n\t\t\t\t\tconst a = indexArray[ y ][ x ];\n\t\t\t\t\tconst b = indexArray[ y + 1 ][ x ];\n\t\t\t\t\tconst c = indexArray[ y + 1 ][ x + 1 ];\n\t\t\t\t\tconst d = indexArray[ y ][ x + 1 ];\n\n\t\t\t\t\t// faces\n\n\t\t\t\t\tindices.push( a, b, d );\n\t\t\t\t\tindices.push( b, c, d );\n\n\t\t\t\t\t// update group counter\n\n\t\t\t\t\tgroupCount += 6;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// add a group to the geometry. this will ensure multi material support\n\n\t\t\tscope.addGroup( groupStart, groupCount, 0 );\n\n\t\t\t// calculate new start value for groups\n\n\t\t\tgroupStart += groupCount;\n\n\t\t}\n\n\t\tfunction generateCap( top ) {\n\n\t\t\t// save the index of the first center vertex\n\t\t\tconst centerIndexStart = index;\n\n\t\t\tconst uv = new Vector2();\n\t\t\tconst vertex = new Vector3();\n\n\t\t\tlet groupCount = 0;\n\n\t\t\tconst radius = ( top === true ) ? radiusTop : radiusBottom;\n\t\t\tconst sign = ( top === true ) ? 1 : - 1;\n\n\t\t\t// first we generate the center vertex data of the cap.\n\t\t\t// because the geometry needs one set of uvs per face,\n\t\t\t// we must generate a center vertex per face/segment\n\n\t\t\tfor ( let x = 1; x <= radialSegments; x ++ ) {\n\n\t\t\t\t// vertex\n\n\t\t\t\tvertices.push( 0, halfHeight * sign, 0 );\n\n\t\t\t\t// normal\n\n\t\t\t\tnormals.push( 0, sign, 0 );\n\n\t\t\t\t// uv\n\n\t\t\t\tuvs.push( 0.5, 0.5 );\n\n\t\t\t\t// increase index\n\n\t\t\t\tindex ++;\n\n\t\t\t}\n\n\t\t\t// save the index of the last center vertex\n\t\t\tconst centerIndexEnd = index;\n\n\t\t\t// now we generate the surrounding vertices, normals and uvs\n\n\t\t\tfor ( let x = 0; x <= radialSegments; x ++ ) {\n\n\t\t\t\tconst u = x / radialSegments;\n\t\t\t\tconst theta = u * thetaLength + thetaStart;\n\n\t\t\t\tconst cosTheta = Math.cos( theta );\n\t\t\t\tconst sinTheta = Math.sin( theta );\n\n\t\t\t\t// vertex\n\n\t\t\t\tvertex.x = radius * sinTheta;\n\t\t\t\tvertex.y = halfHeight * sign;\n\t\t\t\tvertex.z = radius * cosTheta;\n\t\t\t\tvertices.push( vertex.x, vertex.y, vertex.z );\n\n\t\t\t\t// normal\n\n\t\t\t\tnormals.push( 0, sign, 0 );\n\n\t\t\t\t// uv\n\n\t\t\t\tuv.x = ( cosTheta * 0.5 ) + 0.5;\n\t\t\t\tuv.y = ( sinTheta * 0.5 * sign ) + 0.5;\n\t\t\t\tuvs.push( uv.x, uv.y );\n\n\t\t\t\t// increase index\n\n\t\t\t\tindex ++;\n\n\t\t\t}\n\n\t\t\t// generate indices\n\n\t\t\tfor ( let x = 0; x < radialSegments; x ++ ) {\n\n\t\t\t\tconst c = centerIndexStart + x;\n\t\t\t\tconst i = centerIndexEnd + x;\n\n\t\t\t\tif ( top === true ) {\n\n\t\t\t\t\t// face top\n\n\t\t\t\t\tindices.push( i, i + 1, c );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// face bottom\n\n\t\t\t\t\tindices.push( i + 1, i, c );\n\n\t\t\t\t}\n\n\t\t\t\tgroupCount += 3;\n\n\t\t\t}\n\n\t\t\t// add a group to the geometry. this will ensure multi material support\n\n\t\t\tscope.addGroup( groupStart, groupCount, top === true ? 1 : 2 );\n\n\t\t\t// calculate new start value for groups\n\n\t\t\tgroupStart += groupCount;\n\n\t\t}\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new CylinderGeometry( data.radiusTop, data.radiusBottom, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength );\n\n\t}\n\n}\n\nclass ConeGeometry extends CylinderGeometry {\n\n\tconstructor( radius = 1, height = 1, radialSegments = 8, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2 ) {\n\n\t\tsuper( 0, radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength );\n\n\t\tthis.type = 'ConeGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\theight: height,\n\t\t\tradialSegments: radialSegments,\n\t\t\theightSegments: heightSegments,\n\t\t\topenEnded: openEnded,\n\t\t\tthetaStart: thetaStart,\n\t\t\tthetaLength: thetaLength\n\t\t};\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new ConeGeometry( data.radius, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength );\n\n\t}\n\n}\n\nclass PolyhedronGeometry extends BufferGeometry {\n\n\tconstructor( vertices = [], indices = [], radius = 1, detail = 0 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'PolyhedronGeometry';\n\n\t\tthis.parameters = {\n\t\t\tvertices: vertices,\n\t\t\tindices: indices,\n\t\t\tradius: radius,\n\t\t\tdetail: detail\n\t\t};\n\n\t\t// default buffer data\n\n\t\tconst vertexBuffer = [];\n\t\tconst uvBuffer = [];\n\n\t\t// the subdivision creates the vertex buffer data\n\n\t\tsubdivide( detail );\n\n\t\t// all vertices should lie on a conceptual sphere with a given radius\n\n\t\tapplyRadius( radius );\n\n\t\t// finally, create the uv data\n\n\t\tgenerateUVs();\n\n\t\t// build non-indexed geometry\n\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertexBuffer, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( vertexBuffer.slice(), 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvBuffer, 2 ) );\n\n\t\tif ( detail === 0 ) {\n\n\t\t\tthis.computeVertexNormals(); // flat normals\n\n\t\t} else {\n\n\t\t\tthis.normalizeNormals(); // smooth normals\n\n\t\t}\n\n\t\t// helper functions\n\n\t\tfunction subdivide( detail ) {\n\n\t\t\tconst a = new Vector3();\n\t\t\tconst b = new Vector3();\n\t\t\tconst c = new Vector3();\n\n\t\t\t// iterate over all faces and apply a subdivison with the given detail value\n\n\t\t\tfor ( let i = 0; i < indices.length; i += 3 ) {\n\n\t\t\t\t// get the vertices of the face\n\n\t\t\t\tgetVertexByIndex( indices[ i + 0 ], a );\n\t\t\t\tgetVertexByIndex( indices[ i + 1 ], b );\n\t\t\t\tgetVertexByIndex( indices[ i + 2 ], c );\n\n\t\t\t\t// perform subdivision\n\n\t\t\t\tsubdivideFace( a, b, c, detail );\n\n\t\t\t}\n\n\t\t}\n\n\t\tfunction subdivideFace( a, b, c, detail ) {\n\n\t\t\tconst cols = detail + 1;\n\n\t\t\t// we use this multidimensional array as a data structure for creating the subdivision\n\n\t\t\tconst v = [];\n\n\t\t\t// construct all of the vertices for this subdivision\n\n\t\t\tfor ( let i = 0; i <= cols; i ++ ) {\n\n\t\t\t\tv[ i ] = [];\n\n\t\t\t\tconst aj = a.clone().lerp( c, i / cols );\n\t\t\t\tconst bj = b.clone().lerp( c, i / cols );\n\n\t\t\t\tconst rows = cols - i;\n\n\t\t\t\tfor ( let j = 0; j <= rows; j ++ ) {\n\n\t\t\t\t\tif ( j === 0 && i === cols ) {\n\n\t\t\t\t\t\tv[ i ][ j ] = aj;\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tv[ i ][ j ] = aj.clone().lerp( bj, j / rows );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// construct all of the faces\n\n\t\t\tfor ( let i = 0; i < cols; i ++ ) {\n\n\t\t\t\tfor ( let j = 0; j < 2 * ( cols - i ) - 1; j ++ ) {\n\n\t\t\t\t\tconst k = Math.floor( j / 2 );\n\n\t\t\t\t\tif ( j % 2 === 0 ) {\n\n\t\t\t\t\t\tpushVertex( v[ i ][ k + 1 ] );\n\t\t\t\t\t\tpushVertex( v[ i + 1 ][ k ] );\n\t\t\t\t\t\tpushVertex( v[ i ][ k ] );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tpushVertex( v[ i ][ k + 1 ] );\n\t\t\t\t\t\tpushVertex( v[ i + 1 ][ k + 1 ] );\n\t\t\t\t\t\tpushVertex( v[ i + 1 ][ k ] );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tfunction applyRadius( radius ) {\n\n\t\t\tconst vertex = new Vector3();\n\n\t\t\t// iterate over the entire buffer and apply the radius to each vertex\n\n\t\t\tfor ( let i = 0; i < vertexBuffer.length; i += 3 ) {\n\n\t\t\t\tvertex.x = vertexBuffer[ i + 0 ];\n\t\t\t\tvertex.y = vertexBuffer[ i + 1 ];\n\t\t\t\tvertex.z = vertexBuffer[ i + 2 ];\n\n\t\t\t\tvertex.normalize().multiplyScalar( radius );\n\n\t\t\t\tvertexBuffer[ i + 0 ] = vertex.x;\n\t\t\t\tvertexBuffer[ i + 1 ] = vertex.y;\n\t\t\t\tvertexBuffer[ i + 2 ] = vertex.z;\n\n\t\t\t}\n\n\t\t}\n\n\t\tfunction generateUVs() {\n\n\t\t\tconst vertex = new Vector3();\n\n\t\t\tfor ( let i = 0; i < vertexBuffer.length; i += 3 ) {\n\n\t\t\t\tvertex.x = vertexBuffer[ i + 0 ];\n\t\t\t\tvertex.y = vertexBuffer[ i + 1 ];\n\t\t\t\tvertex.z = vertexBuffer[ i + 2 ];\n\n\t\t\t\tconst u = azimuth( vertex ) / 2 / Math.PI + 0.5;\n\t\t\t\tconst v = inclination( vertex ) / Math.PI + 0.5;\n\t\t\t\tuvBuffer.push( u, 1 - v );\n\n\t\t\t}\n\n\t\t\tcorrectUVs();\n\n\t\t\tcorrectSeam();\n\n\t\t}\n\n\t\tfunction correctSeam() {\n\n\t\t\t// handle case when face straddles the seam, see #3269\n\n\t\t\tfor ( let i = 0; i < uvBuffer.length; i += 6 ) {\n\n\t\t\t\t// uv data of a single face\n\n\t\t\t\tconst x0 = uvBuffer[ i + 0 ];\n\t\t\t\tconst x1 = uvBuffer[ i + 2 ];\n\t\t\t\tconst x2 = uvBuffer[ i + 4 ];\n\n\t\t\t\tconst max = Math.max( x0, x1, x2 );\n\t\t\t\tconst min = Math.min( x0, x1, x2 );\n\n\t\t\t\t// 0.9 is somewhat arbitrary\n\n\t\t\t\tif ( max > 0.9 && min < 0.1 ) {\n\n\t\t\t\t\tif ( x0 < 0.2 ) uvBuffer[ i + 0 ] += 1;\n\t\t\t\t\tif ( x1 < 0.2 ) uvBuffer[ i + 2 ] += 1;\n\t\t\t\t\tif ( x2 < 0.2 ) uvBuffer[ i + 4 ] += 1;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tfunction pushVertex( vertex ) {\n\n\t\t\tvertexBuffer.push( vertex.x, vertex.y, vertex.z );\n\n\t\t}\n\n\t\tfunction getVertexByIndex( index, vertex ) {\n\n\t\t\tconst stride = index * 3;\n\n\t\t\tvertex.x = vertices[ stride + 0 ];\n\t\t\tvertex.y = vertices[ stride + 1 ];\n\t\t\tvertex.z = vertices[ stride + 2 ];\n\n\t\t}\n\n\t\tfunction correctUVs() {\n\n\t\t\tconst a = new Vector3();\n\t\t\tconst b = new Vector3();\n\t\t\tconst c = new Vector3();\n\n\t\t\tconst centroid = new Vector3();\n\n\t\t\tconst uvA = new Vector2();\n\t\t\tconst uvB = new Vector2();\n\t\t\tconst uvC = new Vector2();\n\n\t\t\tfor ( let i = 0, j = 0; i < vertexBuffer.length; i += 9, j += 6 ) {\n\n\t\t\t\ta.set( vertexBuffer[ i + 0 ], vertexBuffer[ i + 1 ], vertexBuffer[ i + 2 ] );\n\t\t\t\tb.set( vertexBuffer[ i + 3 ], vertexBuffer[ i + 4 ], vertexBuffer[ i + 5 ] );\n\t\t\t\tc.set( vertexBuffer[ i + 6 ], vertexBuffer[ i + 7 ], vertexBuffer[ i + 8 ] );\n\n\t\t\t\tuvA.set( uvBuffer[ j + 0 ], uvBuffer[ j + 1 ] );\n\t\t\t\tuvB.set( uvBuffer[ j + 2 ], uvBuffer[ j + 3 ] );\n\t\t\t\tuvC.set( uvBuffer[ j + 4 ], uvBuffer[ j + 5 ] );\n\n\t\t\t\tcentroid.copy( a ).add( b ).add( c ).divideScalar( 3 );\n\n\t\t\t\tconst azi = azimuth( centroid );\n\n\t\t\t\tcorrectUV( uvA, j + 0, a, azi );\n\t\t\t\tcorrectUV( uvB, j + 2, b, azi );\n\t\t\t\tcorrectUV( uvC, j + 4, c, azi );\n\n\t\t\t}\n\n\t\t}\n\n\t\tfunction correctUV( uv, stride, vector, azimuth ) {\n\n\t\t\tif ( ( azimuth < 0 ) && ( uv.x === 1 ) ) {\n\n\t\t\t\tuvBuffer[ stride ] = uv.x - 1;\n\n\t\t\t}\n\n\t\t\tif ( ( vector.x === 0 ) && ( vector.z === 0 ) ) {\n\n\t\t\t\tuvBuffer[ stride ] = azimuth / 2 / Math.PI + 0.5;\n\n\t\t\t}\n\n\t\t}\n\n\t\t// Angle around the Y axis, counter-clockwise when looking from above.\n\n\t\tfunction azimuth( vector ) {\n\n\t\t\treturn Math.atan2( vector.z, - vector.x );\n\n\t\t}\n\n\n\t\t// Angle above the XZ plane.\n\n\t\tfunction inclination( vector ) {\n\n\t\t\treturn Math.atan2( - vector.y, Math.sqrt( ( vector.x * vector.x ) + ( vector.z * vector.z ) ) );\n\n\t\t}\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new PolyhedronGeometry( data.vertices, data.indices, data.radius, data.details );\n\n\t}\n\n}\n\nclass DodecahedronGeometry extends PolyhedronGeometry {\n\n\tconstructor( radius = 1, detail = 0 ) {\n\n\t\tconst t = ( 1 + Math.sqrt( 5 ) ) / 2;\n\t\tconst r = 1 / t;\n\n\t\tconst vertices = [\n\n\t\t\t// (±1, ±1, ±1)\n\t\t\t- 1, - 1, - 1,\t- 1, - 1, 1,\n\t\t\t- 1, 1, - 1, - 1, 1, 1,\n\t\t\t1, - 1, - 1, 1, - 1, 1,\n\t\t\t1, 1, - 1, 1, 1, 1,\n\n\t\t\t// (0, ±1/φ, ±φ)\n\t\t\t0, - r, - t, 0, - r, t,\n\t\t\t0, r, - t, 0, r, t,\n\n\t\t\t// (±1/φ, ±φ, 0)\n\t\t\t- r, - t, 0, - r, t, 0,\n\t\t\tr, - t, 0, r, t, 0,\n\n\t\t\t// (±φ, 0, ±1/φ)\n\t\t\t- t, 0, - r, t, 0, - r,\n\t\t\t- t, 0, r, t, 0, r\n\t\t];\n\n\t\tconst indices = [\n\t\t\t3, 11, 7, \t3, 7, 15, \t3, 15, 13,\n\t\t\t7, 19, 17, \t7, 17, 6, \t7, 6, 15,\n\t\t\t17, 4, 8, \t17, 8, 10, \t17, 10, 6,\n\t\t\t8, 0, 16, \t8, 16, 2, \t8, 2, 10,\n\t\t\t0, 12, 1, \t0, 1, 18, \t0, 18, 16,\n\t\t\t6, 10, 2, \t6, 2, 13, \t6, 13, 15,\n\t\t\t2, 16, 18, \t2, 18, 3, \t2, 3, 13,\n\t\t\t18, 1, 9, \t18, 9, 11, \t18, 11, 3,\n\t\t\t4, 14, 12, \t4, 12, 0, \t4, 0, 8,\n\t\t\t11, 9, 5, \t11, 5, 19, \t11, 19, 7,\n\t\t\t19, 5, 14, \t19, 14, 4, \t19, 4, 17,\n\t\t\t1, 12, 14, \t1, 14, 5, \t1, 5, 9\n\t\t];\n\n\t\tsuper( vertices, indices, radius, detail );\n\n\t\tthis.type = 'DodecahedronGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\tdetail: detail\n\t\t};\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new DodecahedronGeometry( data.radius, data.detail );\n\n\t}\n\n}\n\nconst _v0 = /*@__PURE__*/ new Vector3();\nconst _v1$1 = /*@__PURE__*/ new Vector3();\nconst _normal = /*@__PURE__*/ new Vector3();\nconst _triangle = /*@__PURE__*/ new Triangle();\n\nclass EdgesGeometry extends BufferGeometry {\n\n\tconstructor( geometry = null, thresholdAngle = 1 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'EdgesGeometry';\n\n\t\tthis.parameters = {\n\t\t\tgeometry: geometry,\n\t\t\tthresholdAngle: thresholdAngle\n\t\t};\n\n\t\tif ( geometry !== null ) {\n\n\t\t\tconst precisionPoints = 4;\n\t\t\tconst precision = Math.pow( 10, precisionPoints );\n\t\t\tconst thresholdDot = Math.cos( DEG2RAD * thresholdAngle );\n\n\t\t\tconst indexAttr = geometry.getIndex();\n\t\t\tconst positionAttr = geometry.getAttribute( 'position' );\n\t\t\tconst indexCount = indexAttr ? indexAttr.count : positionAttr.count;\n\n\t\t\tconst indexArr = [ 0, 0, 0 ];\n\t\t\tconst vertKeys = [ 'a', 'b', 'c' ];\n\t\t\tconst hashes = new Array( 3 );\n\n\t\t\tconst edgeData = {};\n\t\t\tconst vertices = [];\n\t\t\tfor ( let i = 0; i < indexCount; i += 3 ) {\n\n\t\t\t\tif ( indexAttr ) {\n\n\t\t\t\t\tindexArr[ 0 ] = indexAttr.getX( i );\n\t\t\t\t\tindexArr[ 1 ] = indexAttr.getX( i + 1 );\n\t\t\t\t\tindexArr[ 2 ] = indexAttr.getX( i + 2 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tindexArr[ 0 ] = i;\n\t\t\t\t\tindexArr[ 1 ] = i + 1;\n\t\t\t\t\tindexArr[ 2 ] = i + 2;\n\n\t\t\t\t}\n\n\t\t\t\tconst { a, b, c } = _triangle;\n\t\t\t\ta.fromBufferAttribute( positionAttr, indexArr[ 0 ] );\n\t\t\t\tb.fromBufferAttribute( positionAttr, indexArr[ 1 ] );\n\t\t\t\tc.fromBufferAttribute( positionAttr, indexArr[ 2 ] );\n\t\t\t\t_triangle.getNormal( _normal );\n\n\t\t\t\t// create hashes for the edge from the vertices\n\t\t\t\thashes[ 0 ] = `${ Math.round( a.x * precision ) },${ Math.round( a.y * precision ) },${ Math.round( a.z * precision ) }`;\n\t\t\t\thashes[ 1 ] = `${ Math.round( b.x * precision ) },${ Math.round( b.y * precision ) },${ Math.round( b.z * precision ) }`;\n\t\t\t\thashes[ 2 ] = `${ Math.round( c.x * precision ) },${ Math.round( c.y * precision ) },${ Math.round( c.z * precision ) }`;\n\n\t\t\t\t// skip degenerate triangles\n\t\t\t\tif ( hashes[ 0 ] === hashes[ 1 ] || hashes[ 1 ] === hashes[ 2 ] || hashes[ 2 ] === hashes[ 0 ] ) {\n\n\t\t\t\t\tcontinue;\n\n\t\t\t\t}\n\n\t\t\t\t// iterate over every edge\n\t\t\t\tfor ( let j = 0; j < 3; j ++ ) {\n\n\t\t\t\t\t// get the first and next vertex making up the edge\n\t\t\t\t\tconst jNext = ( j + 1 ) % 3;\n\t\t\t\t\tconst vecHash0 = hashes[ j ];\n\t\t\t\t\tconst vecHash1 = hashes[ jNext ];\n\t\t\t\t\tconst v0 = _triangle[ vertKeys[ j ] ];\n\t\t\t\t\tconst v1 = _triangle[ vertKeys[ jNext ] ];\n\n\t\t\t\t\tconst hash = `${ vecHash0 }_${ vecHash1 }`;\n\t\t\t\t\tconst reverseHash = `${ vecHash1 }_${ vecHash0 }`;\n\n\t\t\t\t\tif ( reverseHash in edgeData && edgeData[ reverseHash ] ) {\n\n\t\t\t\t\t\t// if we found a sibling edge add it into the vertex array if\n\t\t\t\t\t\t// it meets the angle threshold and delete the edge from the map.\n\t\t\t\t\t\tif ( _normal.dot( edgeData[ reverseHash ].normal ) <= thresholdDot ) {\n\n\t\t\t\t\t\t\tvertices.push( v0.x, v0.y, v0.z );\n\t\t\t\t\t\t\tvertices.push( v1.x, v1.y, v1.z );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tedgeData[ reverseHash ] = null;\n\n\t\t\t\t\t} else if ( ! ( hash in edgeData ) ) {\n\n\t\t\t\t\t\t// if we've already got an edge here then skip adding a new one\n\t\t\t\t\t\tedgeData[ hash ] = {\n\n\t\t\t\t\t\t\tindex0: indexArr[ j ],\n\t\t\t\t\t\t\tindex1: indexArr[ jNext ],\n\t\t\t\t\t\t\tnormal: _normal.clone(),\n\n\t\t\t\t\t\t};\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// iterate over all remaining, unmatched edges and add them to the vertex array\n\t\t\tfor ( const key in edgeData ) {\n\n\t\t\t\tif ( edgeData[ key ] ) {\n\n\t\t\t\t\tconst { index0, index1 } = edgeData[ key ];\n\t\t\t\t\t_v0.fromBufferAttribute( positionAttr, index0 );\n\t\t\t\t\t_v1$1.fromBufferAttribute( positionAttr, index1 );\n\n\t\t\t\t\tvertices.push( _v0.x, _v0.y, _v0.z );\n\t\t\t\t\tvertices.push( _v1$1.x, _v1$1.y, _v1$1.z );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\n\t\t}\n\n\t}\n\n}\n\nclass Shape extends Path {\n\n\tconstructor( points ) {\n\n\t\tsuper( points );\n\n\t\tthis.uuid = generateUUID();\n\n\t\tthis.type = 'Shape';\n\n\t\tthis.holes = [];\n\n\t}\n\n\tgetPointsHoles( divisions ) {\n\n\t\tconst holesPts = [];\n\n\t\tfor ( let i = 0, l = this.holes.length; i < l; i ++ ) {\n\n\t\t\tholesPts[ i ] = this.holes[ i ].getPoints( divisions );\n\n\t\t}\n\n\t\treturn holesPts;\n\n\t}\n\n\t// get points of shape and holes (keypoints based on segments parameter)\n\n\textractPoints( divisions ) {\n\n\t\treturn {\n\n\t\t\tshape: this.getPoints( divisions ),\n\t\t\tholes: this.getPointsHoles( divisions )\n\n\t\t};\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.holes = [];\n\n\t\tfor ( let i = 0, l = source.holes.length; i < l; i ++ ) {\n\n\t\t\tconst hole = source.holes[ i ];\n\n\t\t\tthis.holes.push( hole.clone() );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.uuid = this.uuid;\n\t\tdata.holes = [];\n\n\t\tfor ( let i = 0, l = this.holes.length; i < l; i ++ ) {\n\n\t\t\tconst hole = this.holes[ i ];\n\t\t\tdata.holes.push( hole.toJSON() );\n\n\t\t}\n\n\t\treturn data;\n\n\t}\n\n\tfromJSON( json ) {\n\n\t\tsuper.fromJSON( json );\n\n\t\tthis.uuid = json.uuid;\n\t\tthis.holes = [];\n\n\t\tfor ( let i = 0, l = json.holes.length; i < l; i ++ ) {\n\n\t\t\tconst hole = json.holes[ i ];\n\t\t\tthis.holes.push( new Path().fromJSON( hole ) );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n}\n\n/**\n * Port from https://github.com/mapbox/earcut (v2.2.2)\n */\n\nconst Earcut = {\n\n\ttriangulate: function ( data, holeIndices, dim = 2 ) {\n\n\t\tconst hasHoles = holeIndices && holeIndices.length;\n\t\tconst outerLen = hasHoles ? holeIndices[ 0 ] * dim : data.length;\n\t\tlet outerNode = linkedList( data, 0, outerLen, dim, true );\n\t\tconst triangles = [];\n\n\t\tif ( ! outerNode || outerNode.next === outerNode.prev ) return triangles;\n\n\t\tlet minX, minY, maxX, maxY, x, y, invSize;\n\n\t\tif ( hasHoles ) outerNode = eliminateHoles( data, holeIndices, outerNode, dim );\n\n\t\t// if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox\n\t\tif ( data.length > 80 * dim ) {\n\n\t\t\tminX = maxX = data[ 0 ];\n\t\t\tminY = maxY = data[ 1 ];\n\n\t\t\tfor ( let i = dim; i < outerLen; i += dim ) {\n\n\t\t\t\tx = data[ i ];\n\t\t\t\ty = data[ i + 1 ];\n\t\t\t\tif ( x < minX ) minX = x;\n\t\t\t\tif ( y < minY ) minY = y;\n\t\t\t\tif ( x > maxX ) maxX = x;\n\t\t\t\tif ( y > maxY ) maxY = y;\n\n\t\t\t}\n\n\t\t\t// minX, minY and invSize are later used to transform coords into integers for z-order calculation\n\t\t\tinvSize = Math.max( maxX - minX, maxY - minY );\n\t\t\tinvSize = invSize !== 0 ? 1 / invSize : 0;\n\n\t\t}\n\n\t\tearcutLinked( outerNode, triangles, dim, minX, minY, invSize );\n\n\t\treturn triangles;\n\n\t}\n\n};\n\n// create a circular doubly linked list from polygon points in the specified winding order\nfunction linkedList( data, start, end, dim, clockwise ) {\n\n\tlet i, last;\n\n\tif ( clockwise === ( signedArea( data, start, end, dim ) > 0 ) ) {\n\n\t\tfor ( i = start; i < end; i += dim ) last = insertNode( i, data[ i ], data[ i + 1 ], last );\n\n\t} else {\n\n\t\tfor ( i = end - dim; i >= start; i -= dim ) last = insertNode( i, data[ i ], data[ i + 1 ], last );\n\n\t}\n\n\tif ( last && equals( last, last.next ) ) {\n\n\t\tremoveNode( last );\n\t\tlast = last.next;\n\n\t}\n\n\treturn last;\n\n}\n\n// eliminate colinear or duplicate points\nfunction filterPoints( start, end ) {\n\n\tif ( ! start ) return start;\n\tif ( ! end ) end = start;\n\n\tlet p = start,\n\t\tagain;\n\tdo {\n\n\t\tagain = false;\n\n\t\tif ( ! p.steiner && ( equals( p, p.next ) || area( p.prev, p, p.next ) === 0 ) ) {\n\n\t\t\tremoveNode( p );\n\t\t\tp = end = p.prev;\n\t\t\tif ( p === p.next ) break;\n\t\t\tagain = true;\n\n\t\t} else {\n\n\t\t\tp = p.next;\n\n\t\t}\n\n\t} while ( again || p !== end );\n\n\treturn end;\n\n}\n\n// main ear slicing loop which triangulates a polygon (given as a linked list)\nfunction earcutLinked( ear, triangles, dim, minX, minY, invSize, pass ) {\n\n\tif ( ! ear ) return;\n\n\t// interlink polygon nodes in z-order\n\tif ( ! pass && invSize ) indexCurve( ear, minX, minY, invSize );\n\n\tlet stop = ear,\n\t\tprev, next;\n\n\t// iterate through ears, slicing them one by one\n\twhile ( ear.prev !== ear.next ) {\n\n\t\tprev = ear.prev;\n\t\tnext = ear.next;\n\n\t\tif ( invSize ? isEarHashed( ear, minX, minY, invSize ) : isEar( ear ) ) {\n\n\t\t\t// cut off the triangle\n\t\t\ttriangles.push( prev.i / dim );\n\t\t\ttriangles.push( ear.i / dim );\n\t\t\ttriangles.push( next.i / dim );\n\n\t\t\tremoveNode( ear );\n\n\t\t\t// skipping the next vertex leads to less sliver triangles\n\t\t\tear = next.next;\n\t\t\tstop = next.next;\n\n\t\t\tcontinue;\n\n\t\t}\n\n\t\tear = next;\n\n\t\t// if we looped through the whole remaining polygon and can't find any more ears\n\t\tif ( ear === stop ) {\n\n\t\t\t// try filtering points and slicing again\n\t\t\tif ( ! pass ) {\n\n\t\t\t\tearcutLinked( filterPoints( ear ), triangles, dim, minX, minY, invSize, 1 );\n\n\t\t\t\t// if this didn't work, try curing all small self-intersections locally\n\n\t\t\t} else if ( pass === 1 ) {\n\n\t\t\t\tear = cureLocalIntersections( filterPoints( ear ), triangles, dim );\n\t\t\t\tearcutLinked( ear, triangles, dim, minX, minY, invSize, 2 );\n\n\t\t\t\t// as a last resort, try splitting the remaining polygon into two\n\n\t\t\t} else if ( pass === 2 ) {\n\n\t\t\t\tsplitEarcut( ear, triangles, dim, minX, minY, invSize );\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\t}\n\n\t}\n\n}\n\n// check whether a polygon node forms a valid ear with adjacent nodes\nfunction isEar( ear ) {\n\n\tconst a = ear.prev,\n\t\tb = ear,\n\t\tc = ear.next;\n\n\tif ( area( a, b, c ) >= 0 ) return false; // reflex, can't be an ear\n\n\t// now make sure we don't have other points inside the potential ear\n\tlet p = ear.next.next;\n\n\twhile ( p !== ear.prev ) {\n\n\t\tif ( pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y ) &&\n\t\t\tarea( p.prev, p, p.next ) >= 0 ) return false;\n\t\tp = p.next;\n\n\t}\n\n\treturn true;\n\n}\n\nfunction isEarHashed( ear, minX, minY, invSize ) {\n\n\tconst a = ear.prev,\n\t\tb = ear,\n\t\tc = ear.next;\n\n\tif ( area( a, b, c ) >= 0 ) return false; // reflex, can't be an ear\n\n\t// triangle bbox; min & max are calculated like this for speed\n\tconst minTX = a.x < b.x ? ( a.x < c.x ? a.x : c.x ) : ( b.x < c.x ? b.x : c.x ),\n\t\tminTY = a.y < b.y ? ( a.y < c.y ? a.y : c.y ) : ( b.y < c.y ? b.y : c.y ),\n\t\tmaxTX = a.x > b.x ? ( a.x > c.x ? a.x : c.x ) : ( b.x > c.x ? b.x : c.x ),\n\t\tmaxTY = a.y > b.y ? ( a.y > c.y ? a.y : c.y ) : ( b.y > c.y ? b.y : c.y );\n\n\t// z-order range for the current triangle bbox;\n\tconst minZ = zOrder( minTX, minTY, minX, minY, invSize ),\n\t\tmaxZ = zOrder( maxTX, maxTY, minX, minY, invSize );\n\n\tlet p = ear.prevZ,\n\t\tn = ear.nextZ;\n\n\t// look for points inside the triangle in both directions\n\twhile ( p && p.z >= minZ && n && n.z <= maxZ ) {\n\n\t\tif ( p !== ear.prev && p !== ear.next &&\n\t\t\tpointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y ) &&\n\t\t\tarea( p.prev, p, p.next ) >= 0 ) return false;\n\t\tp = p.prevZ;\n\n\t\tif ( n !== ear.prev && n !== ear.next &&\n\t\t\tpointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y ) &&\n\t\t\tarea( n.prev, n, n.next ) >= 0 ) return false;\n\t\tn = n.nextZ;\n\n\t}\n\n\t// look for remaining points in decreasing z-order\n\twhile ( p && p.z >= minZ ) {\n\n\t\tif ( p !== ear.prev && p !== ear.next &&\n\t\t\tpointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y ) &&\n\t\t\tarea( p.prev, p, p.next ) >= 0 ) return false;\n\t\tp = p.prevZ;\n\n\t}\n\n\t// look for remaining points in increasing z-order\n\twhile ( n && n.z <= maxZ ) {\n\n\t\tif ( n !== ear.prev && n !== ear.next &&\n\t\t\tpointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y ) &&\n\t\t\tarea( n.prev, n, n.next ) >= 0 ) return false;\n\t\tn = n.nextZ;\n\n\t}\n\n\treturn true;\n\n}\n\n// go through all polygon nodes and cure small local self-intersections\nfunction cureLocalIntersections( start, triangles, dim ) {\n\n\tlet p = start;\n\tdo {\n\n\t\tconst a = p.prev,\n\t\t\tb = p.next.next;\n\n\t\tif ( ! equals( a, b ) && intersects( a, p, p.next, b ) && locallyInside( a, b ) && locallyInside( b, a ) ) {\n\n\t\t\ttriangles.push( a.i / dim );\n\t\t\ttriangles.push( p.i / dim );\n\t\t\ttriangles.push( b.i / dim );\n\n\t\t\t// remove two nodes involved\n\t\t\tremoveNode( p );\n\t\t\tremoveNode( p.next );\n\n\t\t\tp = start = b;\n\n\t\t}\n\n\t\tp = p.next;\n\n\t} while ( p !== start );\n\n\treturn filterPoints( p );\n\n}\n\n// try splitting polygon into two and triangulate them independently\nfunction splitEarcut( start, triangles, dim, minX, minY, invSize ) {\n\n\t// look for a valid diagonal that divides the polygon into two\n\tlet a = start;\n\tdo {\n\n\t\tlet b = a.next.next;\n\t\twhile ( b !== a.prev ) {\n\n\t\t\tif ( a.i !== b.i && isValidDiagonal( a, b ) ) {\n\n\t\t\t\t// split the polygon in two by the diagonal\n\t\t\t\tlet c = splitPolygon( a, b );\n\n\t\t\t\t// filter colinear points around the cuts\n\t\t\t\ta = filterPoints( a, a.next );\n\t\t\t\tc = filterPoints( c, c.next );\n\n\t\t\t\t// run earcut on each half\n\t\t\t\tearcutLinked( a, triangles, dim, minX, minY, invSize );\n\t\t\t\tearcutLinked( c, triangles, dim, minX, minY, invSize );\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t\tb = b.next;\n\n\t\t}\n\n\t\ta = a.next;\n\n\t} while ( a !== start );\n\n}\n\n// link every hole into the outer loop, producing a single-ring polygon without holes\nfunction eliminateHoles( data, holeIndices, outerNode, dim ) {\n\n\tconst queue = [];\n\tlet i, len, start, end, list;\n\n\tfor ( i = 0, len = holeIndices.length; i < len; i ++ ) {\n\n\t\tstart = holeIndices[ i ] * dim;\n\t\tend = i < len - 1 ? holeIndices[ i + 1 ] * dim : data.length;\n\t\tlist = linkedList( data, start, end, dim, false );\n\t\tif ( list === list.next ) list.steiner = true;\n\t\tqueue.push( getLeftmost( list ) );\n\n\t}\n\n\tqueue.sort( compareX );\n\n\t// process holes from left to right\n\tfor ( i = 0; i < queue.length; i ++ ) {\n\n\t\teliminateHole( queue[ i ], outerNode );\n\t\touterNode = filterPoints( outerNode, outerNode.next );\n\n\t}\n\n\treturn outerNode;\n\n}\n\nfunction compareX( a, b ) {\n\n\treturn a.x - b.x;\n\n}\n\n// find a bridge between vertices that connects hole with an outer ring and link it\nfunction eliminateHole( hole, outerNode ) {\n\n\touterNode = findHoleBridge( hole, outerNode );\n\tif ( outerNode ) {\n\n\t\tconst b = splitPolygon( outerNode, hole );\n\n\t\t// filter collinear points around the cuts\n\t\tfilterPoints( outerNode, outerNode.next );\n\t\tfilterPoints( b, b.next );\n\n\t}\n\n}\n\n// David Eberly's algorithm for finding a bridge between hole and outer polygon\nfunction findHoleBridge( hole, outerNode ) {\n\n\tlet p = outerNode;\n\tconst hx = hole.x;\n\tconst hy = hole.y;\n\tlet qx = - Infinity, m;\n\n\t// find a segment intersected by a ray from the hole's leftmost point to the left;\n\t// segment's endpoint with lesser x will be potential connection point\n\tdo {\n\n\t\tif ( hy <= p.y && hy >= p.next.y && p.next.y !== p.y ) {\n\n\t\t\tconst x = p.x + ( hy - p.y ) * ( p.next.x - p.x ) / ( p.next.y - p.y );\n\t\t\tif ( x <= hx && x > qx ) {\n\n\t\t\t\tqx = x;\n\t\t\t\tif ( x === hx ) {\n\n\t\t\t\t\tif ( hy === p.y ) return p;\n\t\t\t\t\tif ( hy === p.next.y ) return p.next;\n\n\t\t\t\t}\n\n\t\t\t\tm = p.x < p.next.x ? p : p.next;\n\n\t\t\t}\n\n\t\t}\n\n\t\tp = p.next;\n\n\t} while ( p !== outerNode );\n\n\tif ( ! m ) return null;\n\n\tif ( hx === qx ) return m; // hole touches outer segment; pick leftmost endpoint\n\n\t// look for points inside the triangle of hole point, segment intersection and endpoint;\n\t// if there are no points found, we have a valid connection;\n\t// otherwise choose the point of the minimum angle with the ray as connection point\n\n\tconst stop = m,\n\t\tmx = m.x,\n\t\tmy = m.y;\n\tlet tanMin = Infinity, tan;\n\n\tp = m;\n\n\tdo {\n\n\t\tif ( hx >= p.x && p.x >= mx && hx !== p.x &&\n\t\t\t\tpointInTriangle( hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y ) ) {\n\n\t\t\ttan = Math.abs( hy - p.y ) / ( hx - p.x ); // tangential\n\n\t\t\tif ( locallyInside( p, hole ) && ( tan < tanMin || ( tan === tanMin && ( p.x > m.x || ( p.x === m.x && sectorContainsSector( m, p ) ) ) ) ) ) {\n\n\t\t\t\tm = p;\n\t\t\t\ttanMin = tan;\n\n\t\t\t}\n\n\t\t}\n\n\t\tp = p.next;\n\n\t} while ( p !== stop );\n\n\treturn m;\n\n}\n\n// whether sector in vertex m contains sector in vertex p in the same coordinates\nfunction sectorContainsSector( m, p ) {\n\n\treturn area( m.prev, m, p.prev ) < 0 && area( p.next, m, m.next ) < 0;\n\n}\n\n// interlink polygon nodes in z-order\nfunction indexCurve( start, minX, minY, invSize ) {\n\n\tlet p = start;\n\tdo {\n\n\t\tif ( p.z === null ) p.z = zOrder( p.x, p.y, minX, minY, invSize );\n\t\tp.prevZ = p.prev;\n\t\tp.nextZ = p.next;\n\t\tp = p.next;\n\n\t} while ( p !== start );\n\n\tp.prevZ.nextZ = null;\n\tp.prevZ = null;\n\n\tsortLinked( p );\n\n}\n\n// Simon Tatham's linked list merge sort algorithm\n// http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html\nfunction sortLinked( list ) {\n\n\tlet i, p, q, e, tail, numMerges, pSize, qSize,\n\t\tinSize = 1;\n\n\tdo {\n\n\t\tp = list;\n\t\tlist = null;\n\t\ttail = null;\n\t\tnumMerges = 0;\n\n\t\twhile ( p ) {\n\n\t\t\tnumMerges ++;\n\t\t\tq = p;\n\t\t\tpSize = 0;\n\t\t\tfor ( i = 0; i < inSize; i ++ ) {\n\n\t\t\t\tpSize ++;\n\t\t\t\tq = q.nextZ;\n\t\t\t\tif ( ! q ) break;\n\n\t\t\t}\n\n\t\t\tqSize = inSize;\n\n\t\t\twhile ( pSize > 0 || ( qSize > 0 && q ) ) {\n\n\t\t\t\tif ( pSize !== 0 && ( qSize === 0 || ! q || p.z <= q.z ) ) {\n\n\t\t\t\t\te = p;\n\t\t\t\t\tp = p.nextZ;\n\t\t\t\t\tpSize --;\n\n\t\t\t\t} else {\n\n\t\t\t\t\te = q;\n\t\t\t\t\tq = q.nextZ;\n\t\t\t\t\tqSize --;\n\n\t\t\t\t}\n\n\t\t\t\tif ( tail ) tail.nextZ = e;\n\t\t\t\telse list = e;\n\n\t\t\t\te.prevZ = tail;\n\t\t\t\ttail = e;\n\n\t\t\t}\n\n\t\t\tp = q;\n\n\t\t}\n\n\t\ttail.nextZ = null;\n\t\tinSize *= 2;\n\n\t} while ( numMerges > 1 );\n\n\treturn list;\n\n}\n\n// z-order of a point given coords and inverse of the longer side of data bbox\nfunction zOrder( x, y, minX, minY, invSize ) {\n\n\t// coords are transformed into non-negative 15-bit integer range\n\tx = 32767 * ( x - minX ) * invSize;\n\ty = 32767 * ( y - minY ) * invSize;\n\n\tx = ( x | ( x << 8 ) ) & 0x00FF00FF;\n\tx = ( x | ( x << 4 ) ) & 0x0F0F0F0F;\n\tx = ( x | ( x << 2 ) ) & 0x33333333;\n\tx = ( x | ( x << 1 ) ) & 0x55555555;\n\n\ty = ( y | ( y << 8 ) ) & 0x00FF00FF;\n\ty = ( y | ( y << 4 ) ) & 0x0F0F0F0F;\n\ty = ( y | ( y << 2 ) ) & 0x33333333;\n\ty = ( y | ( y << 1 ) ) & 0x55555555;\n\n\treturn x | ( y << 1 );\n\n}\n\n// find the leftmost node of a polygon ring\nfunction getLeftmost( start ) {\n\n\tlet p = start,\n\t\tleftmost = start;\n\tdo {\n\n\t\tif ( p.x < leftmost.x || ( p.x === leftmost.x && p.y < leftmost.y ) ) leftmost = p;\n\t\tp = p.next;\n\n\t} while ( p !== start );\n\n\treturn leftmost;\n\n}\n\n// check if a point lies within a convex triangle\nfunction pointInTriangle( ax, ay, bx, by, cx, cy, px, py ) {\n\n\treturn ( cx - px ) * ( ay - py ) - ( ax - px ) * ( cy - py ) >= 0 &&\n\t\t\t( ax - px ) * ( by - py ) - ( bx - px ) * ( ay - py ) >= 0 &&\n\t\t\t( bx - px ) * ( cy - py ) - ( cx - px ) * ( by - py ) >= 0;\n\n}\n\n// check if a diagonal between two polygon nodes is valid (lies in polygon interior)\nfunction isValidDiagonal( a, b ) {\n\n\treturn a.next.i !== b.i && a.prev.i !== b.i && ! intersectsPolygon( a, b ) && // doesn't intersect other edges\n\t\t( locallyInside( a, b ) && locallyInside( b, a ) && middleInside( a, b ) && // locally visible\n\t\t( area( a.prev, a, b.prev ) || area( a, b.prev, b ) ) || // does not create opposite-facing sectors\n\t\tequals( a, b ) && area( a.prev, a, a.next ) > 0 && area( b.prev, b, b.next ) > 0 ); // special zero-length case\n\n}\n\n// signed area of a triangle\nfunction area( p, q, r ) {\n\n\treturn ( q.y - p.y ) * ( r.x - q.x ) - ( q.x - p.x ) * ( r.y - q.y );\n\n}\n\n// check if two points are equal\nfunction equals( p1, p2 ) {\n\n\treturn p1.x === p2.x && p1.y === p2.y;\n\n}\n\n// check if two segments intersect\nfunction intersects( p1, q1, p2, q2 ) {\n\n\tconst o1 = sign( area( p1, q1, p2 ) );\n\tconst o2 = sign( area( p1, q1, q2 ) );\n\tconst o3 = sign( area( p2, q2, p1 ) );\n\tconst o4 = sign( area( p2, q2, q1 ) );\n\n\tif ( o1 !== o2 && o3 !== o4 ) return true; // general case\n\n\tif ( o1 === 0 && onSegment( p1, p2, q1 ) ) return true; // p1, q1 and p2 are collinear and p2 lies on p1q1\n\tif ( o2 === 0 && onSegment( p1, q2, q1 ) ) return true; // p1, q1 and q2 are collinear and q2 lies on p1q1\n\tif ( o3 === 0 && onSegment( p2, p1, q2 ) ) return true; // p2, q2 and p1 are collinear and p1 lies on p2q2\n\tif ( o4 === 0 && onSegment( p2, q1, q2 ) ) return true; // p2, q2 and q1 are collinear and q1 lies on p2q2\n\n\treturn false;\n\n}\n\n// for collinear points p, q, r, check if point q lies on segment pr\nfunction onSegment( p, q, r ) {\n\n\treturn q.x <= Math.max( p.x, r.x ) && q.x >= Math.min( p.x, r.x ) && q.y <= Math.max( p.y, r.y ) && q.y >= Math.min( p.y, r.y );\n\n}\n\nfunction sign( num ) {\n\n\treturn num > 0 ? 1 : num < 0 ? - 1 : 0;\n\n}\n\n// check if a polygon diagonal intersects any polygon segments\nfunction intersectsPolygon( a, b ) {\n\n\tlet p = a;\n\tdo {\n\n\t\tif ( p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i &&\n\t\t\t\tintersects( p, p.next, a, b ) ) return true;\n\t\tp = p.next;\n\n\t} while ( p !== a );\n\n\treturn false;\n\n}\n\n// check if a polygon diagonal is locally inside the polygon\nfunction locallyInside( a, b ) {\n\n\treturn area( a.prev, a, a.next ) < 0 ?\n\t\tarea( a, b, a.next ) >= 0 && area( a, a.prev, b ) >= 0 :\n\t\tarea( a, b, a.prev ) < 0 || area( a, a.next, b ) < 0;\n\n}\n\n// check if the middle point of a polygon diagonal is inside the polygon\nfunction middleInside( a, b ) {\n\n\tlet p = a,\n\t\tinside = false;\n\tconst px = ( a.x + b.x ) / 2,\n\t\tpy = ( a.y + b.y ) / 2;\n\tdo {\n\n\t\tif ( ( ( p.y > py ) !== ( p.next.y > py ) ) && p.next.y !== p.y &&\n\t\t\t\t( px < ( p.next.x - p.x ) * ( py - p.y ) / ( p.next.y - p.y ) + p.x ) )\n\t\t\tinside = ! inside;\n\t\tp = p.next;\n\n\t} while ( p !== a );\n\n\treturn inside;\n\n}\n\n// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two;\n// if one belongs to the outer ring and another to a hole, it merges it into a single ring\nfunction splitPolygon( a, b ) {\n\n\tconst a2 = new Node( a.i, a.x, a.y ),\n\t\tb2 = new Node( b.i, b.x, b.y ),\n\t\tan = a.next,\n\t\tbp = b.prev;\n\n\ta.next = b;\n\tb.prev = a;\n\n\ta2.next = an;\n\tan.prev = a2;\n\n\tb2.next = a2;\n\ta2.prev = b2;\n\n\tbp.next = b2;\n\tb2.prev = bp;\n\n\treturn b2;\n\n}\n\n// create a node and optionally link it with previous one (in a circular doubly linked list)\nfunction insertNode( i, x, y, last ) {\n\n\tconst p = new Node( i, x, y );\n\n\tif ( ! last ) {\n\n\t\tp.prev = p;\n\t\tp.next = p;\n\n\t} else {\n\n\t\tp.next = last.next;\n\t\tp.prev = last;\n\t\tlast.next.prev = p;\n\t\tlast.next = p;\n\n\t}\n\n\treturn p;\n\n}\n\nfunction removeNode( p ) {\n\n\tp.next.prev = p.prev;\n\tp.prev.next = p.next;\n\n\tif ( p.prevZ ) p.prevZ.nextZ = p.nextZ;\n\tif ( p.nextZ ) p.nextZ.prevZ = p.prevZ;\n\n}\n\nfunction Node( i, x, y ) {\n\n\t// vertex index in coordinates array\n\tthis.i = i;\n\n\t// vertex coordinates\n\tthis.x = x;\n\tthis.y = y;\n\n\t// previous and next vertex nodes in a polygon ring\n\tthis.prev = null;\n\tthis.next = null;\n\n\t// z-order curve value\n\tthis.z = null;\n\n\t// previous and next nodes in z-order\n\tthis.prevZ = null;\n\tthis.nextZ = null;\n\n\t// indicates whether this is a steiner point\n\tthis.steiner = false;\n\n}\n\nfunction signedArea( data, start, end, dim ) {\n\n\tlet sum = 0;\n\tfor ( let i = start, j = end - dim; i < end; i += dim ) {\n\n\t\tsum += ( data[ j ] - data[ i ] ) * ( data[ i + 1 ] + data[ j + 1 ] );\n\t\tj = i;\n\n\t}\n\n\treturn sum;\n\n}\n\nclass ShapeUtils {\n\n\t// calculate area of the contour polygon\n\n\tstatic area( contour ) {\n\n\t\tconst n = contour.length;\n\t\tlet a = 0.0;\n\n\t\tfor ( let p = n - 1, q = 0; q < n; p = q ++ ) {\n\n\t\t\ta += contour[ p ].x * contour[ q ].y - contour[ q ].x * contour[ p ].y;\n\n\t\t}\n\n\t\treturn a * 0.5;\n\n\t}\n\n\tstatic isClockWise( pts ) {\n\n\t\treturn ShapeUtils.area( pts ) < 0;\n\n\t}\n\n\tstatic triangulateShape( contour, holes ) {\n\n\t\tconst vertices = []; // flat array of vertices like [ x0,y0, x1,y1, x2,y2, ... ]\n\t\tconst holeIndices = []; // array of hole indices\n\t\tconst faces = []; // final array of vertex indices like [ [ a,b,d ], [ b,c,d ] ]\n\n\t\tremoveDupEndPts( contour );\n\t\taddContour( vertices, contour );\n\n\t\t//\n\n\t\tlet holeIndex = contour.length;\n\n\t\tholes.forEach( removeDupEndPts );\n\n\t\tfor ( let i = 0; i < holes.length; i ++ ) {\n\n\t\t\tholeIndices.push( holeIndex );\n\t\t\tholeIndex += holes[ i ].length;\n\t\t\taddContour( vertices, holes[ i ] );\n\n\t\t}\n\n\t\t//\n\n\t\tconst triangles = Earcut.triangulate( vertices, holeIndices );\n\n\t\t//\n\n\t\tfor ( let i = 0; i < triangles.length; i += 3 ) {\n\n\t\t\tfaces.push( triangles.slice( i, i + 3 ) );\n\n\t\t}\n\n\t\treturn faces;\n\n\t}\n\n}\n\nfunction removeDupEndPts( points ) {\n\n\tconst l = points.length;\n\n\tif ( l > 2 && points[ l - 1 ].equals( points[ 0 ] ) ) {\n\n\t\tpoints.pop();\n\n\t}\n\n}\n\nfunction addContour( vertices, contour ) {\n\n\tfor ( let i = 0; i < contour.length; i ++ ) {\n\n\t\tvertices.push( contour[ i ].x );\n\t\tvertices.push( contour[ i ].y );\n\n\t}\n\n}\n\n/**\n * Creates extruded geometry from a path shape.\n *\n * parameters = {\n *\n * curveSegments: , // number of points on the curves\n * steps: , // number of points for z-side extrusions / used for subdividing segments of extrude spline too\n * depth: , // Depth to extrude the shape\n *\n * bevelEnabled: , // turn on bevel\n * bevelThickness: , // how deep into the original shape bevel goes\n * bevelSize: , // how far from shape outline (including bevelOffset) is bevel\n * bevelOffset: , // how far from shape outline does bevel start\n * bevelSegments: , // number of bevel layers\n *\n * extrudePath: // curve to extrude shape along\n *\n * UVGenerator: // object that provides UV generator functions\n *\n * }\n */\n\nclass ExtrudeGeometry extends BufferGeometry {\n\n\tconstructor( shapes = new Shape( [ new Vector2( 0.5, 0.5 ), new Vector2( - 0.5, 0.5 ), new Vector2( - 0.5, - 0.5 ), new Vector2( 0.5, - 0.5 ) ] ), options = {} ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'ExtrudeGeometry';\n\n\t\tthis.parameters = {\n\t\t\tshapes: shapes,\n\t\t\toptions: options\n\t\t};\n\n\t\tshapes = Array.isArray( shapes ) ? shapes : [ shapes ];\n\n\t\tconst scope = this;\n\n\t\tconst verticesArray = [];\n\t\tconst uvArray = [];\n\n\t\tfor ( let i = 0, l = shapes.length; i < l; i ++ ) {\n\n\t\t\tconst shape = shapes[ i ];\n\t\t\taddShape( shape );\n\n\t\t}\n\n\t\t// build geometry\n\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( verticesArray, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvArray, 2 ) );\n\n\t\tthis.computeVertexNormals();\n\n\t\t// functions\n\n\t\tfunction addShape( shape ) {\n\n\t\t\tconst placeholder = [];\n\n\t\t\t// options\n\n\t\t\tconst curveSegments = options.curveSegments !== undefined ? options.curveSegments : 12;\n\t\t\tconst steps = options.steps !== undefined ? options.steps : 1;\n\t\t\tconst depth = options.depth !== undefined ? options.depth : 1;\n\n\t\t\tlet bevelEnabled = options.bevelEnabled !== undefined ? options.bevelEnabled : true;\n\t\t\tlet bevelThickness = options.bevelThickness !== undefined ? options.bevelThickness : 0.2;\n\t\t\tlet bevelSize = options.bevelSize !== undefined ? options.bevelSize : bevelThickness - 0.1;\n\t\t\tlet bevelOffset = options.bevelOffset !== undefined ? options.bevelOffset : 0;\n\t\t\tlet bevelSegments = options.bevelSegments !== undefined ? options.bevelSegments : 3;\n\n\t\t\tconst extrudePath = options.extrudePath;\n\n\t\t\tconst uvgen = options.UVGenerator !== undefined ? options.UVGenerator : WorldUVGenerator;\n\n\t\t\t//\n\n\t\t\tlet extrudePts, extrudeByPath = false;\n\t\t\tlet splineTube, binormal, normal, position2;\n\n\t\t\tif ( extrudePath ) {\n\n\t\t\t\textrudePts = extrudePath.getSpacedPoints( steps );\n\n\t\t\t\textrudeByPath = true;\n\t\t\t\tbevelEnabled = false; // bevels not supported for path extrusion\n\n\t\t\t\t// SETUP TNB variables\n\n\t\t\t\t// TODO1 - have a .isClosed in spline?\n\n\t\t\t\tsplineTube = extrudePath.computeFrenetFrames( steps, false );\n\n\t\t\t\t// console.log(splineTube, 'splineTube', splineTube.normals.length, 'steps', steps, 'extrudePts', extrudePts.length);\n\n\t\t\t\tbinormal = new Vector3();\n\t\t\t\tnormal = new Vector3();\n\t\t\t\tposition2 = new Vector3();\n\n\t\t\t}\n\n\t\t\t// Safeguards if bevels are not enabled\n\n\t\t\tif ( ! bevelEnabled ) {\n\n\t\t\t\tbevelSegments = 0;\n\t\t\t\tbevelThickness = 0;\n\t\t\t\tbevelSize = 0;\n\t\t\t\tbevelOffset = 0;\n\n\t\t\t}\n\n\t\t\t// Variables initialization\n\n\t\t\tconst shapePoints = shape.extractPoints( curveSegments );\n\n\t\t\tlet vertices = shapePoints.shape;\n\t\t\tconst holes = shapePoints.holes;\n\n\t\t\tconst reverse = ! ShapeUtils.isClockWise( vertices );\n\n\t\t\tif ( reverse ) {\n\n\t\t\t\tvertices = vertices.reverse();\n\n\t\t\t\t// Maybe we should also check if holes are in the opposite direction, just to be safe ...\n\n\t\t\t\tfor ( let h = 0, hl = holes.length; h < hl; h ++ ) {\n\n\t\t\t\t\tconst ahole = holes[ h ];\n\n\t\t\t\t\tif ( ShapeUtils.isClockWise( ahole ) ) {\n\n\t\t\t\t\t\tholes[ h ] = ahole.reverse();\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\n\t\t\tconst faces = ShapeUtils.triangulateShape( vertices, holes );\n\n\t\t\t/* Vertices */\n\n\t\t\tconst contour = vertices; // vertices has all points but contour has only points of circumference\n\n\t\t\tfor ( let h = 0, hl = holes.length; h < hl; h ++ ) {\n\n\t\t\t\tconst ahole = holes[ h ];\n\n\t\t\t\tvertices = vertices.concat( ahole );\n\n\t\t\t}\n\n\n\t\t\tfunction scalePt2( pt, vec, size ) {\n\n\t\t\t\tif ( ! vec ) console.error( 'THREE.ExtrudeGeometry: vec does not exist' );\n\n\t\t\t\treturn vec.clone().multiplyScalar( size ).add( pt );\n\n\t\t\t}\n\n\t\t\tconst vlen = vertices.length, flen = faces.length;\n\n\n\t\t\t// Find directions for point movement\n\n\n\t\t\tfunction getBevelVec( inPt, inPrev, inNext ) {\n\n\t\t\t\t// computes for inPt the corresponding point inPt' on a new contour\n\t\t\t\t// shifted by 1 unit (length of normalized vector) to the left\n\t\t\t\t// if we walk along contour clockwise, this new contour is outside the old one\n\t\t\t\t//\n\t\t\t\t// inPt' is the intersection of the two lines parallel to the two\n\t\t\t\t// adjacent edges of inPt at a distance of 1 unit on the left side.\n\n\t\t\t\tlet v_trans_x, v_trans_y, shrink_by; // resulting translation vector for inPt\n\n\t\t\t\t// good reading for geometry algorithms (here: line-line intersection)\n\t\t\t\t// http://geomalgorithms.com/a05-_intersect-1.html\n\n\t\t\t\tconst v_prev_x = inPt.x - inPrev.x,\n\t\t\t\t\tv_prev_y = inPt.y - inPrev.y;\n\t\t\t\tconst v_next_x = inNext.x - inPt.x,\n\t\t\t\t\tv_next_y = inNext.y - inPt.y;\n\n\t\t\t\tconst v_prev_lensq = ( v_prev_x * v_prev_x + v_prev_y * v_prev_y );\n\n\t\t\t\t// check for collinear edges\n\t\t\t\tconst collinear0 = ( v_prev_x * v_next_y - v_prev_y * v_next_x );\n\n\t\t\t\tif ( Math.abs( collinear0 ) > Number.EPSILON ) {\n\n\t\t\t\t\t// not collinear\n\n\t\t\t\t\t// length of vectors for normalizing\n\n\t\t\t\t\tconst v_prev_len = Math.sqrt( v_prev_lensq );\n\t\t\t\t\tconst v_next_len = Math.sqrt( v_next_x * v_next_x + v_next_y * v_next_y );\n\n\t\t\t\t\t// shift adjacent points by unit vectors to the left\n\n\t\t\t\t\tconst ptPrevShift_x = ( inPrev.x - v_prev_y / v_prev_len );\n\t\t\t\t\tconst ptPrevShift_y = ( inPrev.y + v_prev_x / v_prev_len );\n\n\t\t\t\t\tconst ptNextShift_x = ( inNext.x - v_next_y / v_next_len );\n\t\t\t\t\tconst ptNextShift_y = ( inNext.y + v_next_x / v_next_len );\n\n\t\t\t\t\t// scaling factor for v_prev to intersection point\n\n\t\t\t\t\tconst sf = ( ( ptNextShift_x - ptPrevShift_x ) * v_next_y -\n\t\t\t\t\t\t\t( ptNextShift_y - ptPrevShift_y ) * v_next_x ) /\n\t\t\t\t\t\t( v_prev_x * v_next_y - v_prev_y * v_next_x );\n\n\t\t\t\t\t// vector from inPt to intersection point\n\n\t\t\t\t\tv_trans_x = ( ptPrevShift_x + v_prev_x * sf - inPt.x );\n\t\t\t\t\tv_trans_y = ( ptPrevShift_y + v_prev_y * sf - inPt.y );\n\n\t\t\t\t\t// Don't normalize!, otherwise sharp corners become ugly\n\t\t\t\t\t// but prevent crazy spikes\n\t\t\t\t\tconst v_trans_lensq = ( v_trans_x * v_trans_x + v_trans_y * v_trans_y );\n\t\t\t\t\tif ( v_trans_lensq <= 2 ) {\n\n\t\t\t\t\t\treturn new Vector2( v_trans_x, v_trans_y );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tshrink_by = Math.sqrt( v_trans_lensq / 2 );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// handle special case of collinear edges\n\n\t\t\t\t\tlet direction_eq = false; // assumes: opposite\n\n\t\t\t\t\tif ( v_prev_x > Number.EPSILON ) {\n\n\t\t\t\t\t\tif ( v_next_x > Number.EPSILON ) {\n\n\t\t\t\t\t\t\tdirection_eq = true;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tif ( v_prev_x < - Number.EPSILON ) {\n\n\t\t\t\t\t\t\tif ( v_next_x < - Number.EPSILON ) {\n\n\t\t\t\t\t\t\t\tdirection_eq = true;\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tif ( Math.sign( v_prev_y ) === Math.sign( v_next_y ) ) {\n\n\t\t\t\t\t\t\t\tdirection_eq = true;\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( direction_eq ) {\n\n\t\t\t\t\t\t// console.log(\"Warning: lines are a straight sequence\");\n\t\t\t\t\t\tv_trans_x = - v_prev_y;\n\t\t\t\t\t\tv_trans_y = v_prev_x;\n\t\t\t\t\t\tshrink_by = Math.sqrt( v_prev_lensq );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// console.log(\"Warning: lines are a straight spike\");\n\t\t\t\t\t\tv_trans_x = v_prev_x;\n\t\t\t\t\t\tv_trans_y = v_prev_y;\n\t\t\t\t\t\tshrink_by = Math.sqrt( v_prev_lensq / 2 );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\treturn new Vector2( v_trans_x / shrink_by, v_trans_y / shrink_by );\n\n\t\t\t}\n\n\n\t\t\tconst contourMovements = [];\n\n\t\t\tfor ( let i = 0, il = contour.length, j = il - 1, k = i + 1; i < il; i ++, j ++, k ++ ) {\n\n\t\t\t\tif ( j === il ) j = 0;\n\t\t\t\tif ( k === il ) k = 0;\n\n\t\t\t\t// (j)---(i)---(k)\n\t\t\t\t// console.log('i,j,k', i, j , k)\n\n\t\t\t\tcontourMovements[ i ] = getBevelVec( contour[ i ], contour[ j ], contour[ k ] );\n\n\t\t\t}\n\n\t\t\tconst holesMovements = [];\n\t\t\tlet oneHoleMovements, verticesMovements = contourMovements.concat();\n\n\t\t\tfor ( let h = 0, hl = holes.length; h < hl; h ++ ) {\n\n\t\t\t\tconst ahole = holes[ h ];\n\n\t\t\t\toneHoleMovements = [];\n\n\t\t\t\tfor ( let i = 0, il = ahole.length, j = il - 1, k = i + 1; i < il; i ++, j ++, k ++ ) {\n\n\t\t\t\t\tif ( j === il ) j = 0;\n\t\t\t\t\tif ( k === il ) k = 0;\n\n\t\t\t\t\t// (j)---(i)---(k)\n\t\t\t\t\toneHoleMovements[ i ] = getBevelVec( ahole[ i ], ahole[ j ], ahole[ k ] );\n\n\t\t\t\t}\n\n\t\t\t\tholesMovements.push( oneHoleMovements );\n\t\t\t\tverticesMovements = verticesMovements.concat( oneHoleMovements );\n\n\t\t\t}\n\n\n\t\t\t// Loop bevelSegments, 1 for the front, 1 for the back\n\n\t\t\tfor ( let b = 0; b < bevelSegments; b ++ ) {\n\n\t\t\t\t//for ( b = bevelSegments; b > 0; b -- ) {\n\n\t\t\t\tconst t = b / bevelSegments;\n\t\t\t\tconst z = bevelThickness * Math.cos( t * Math.PI / 2 );\n\t\t\t\tconst bs = bevelSize * Math.sin( t * Math.PI / 2 ) + bevelOffset;\n\n\t\t\t\t// contract shape\n\n\t\t\t\tfor ( let i = 0, il = contour.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst vert = scalePt2( contour[ i ], contourMovements[ i ], bs );\n\n\t\t\t\t\tv( vert.x, vert.y, - z );\n\n\t\t\t\t}\n\n\t\t\t\t// expand holes\n\n\t\t\t\tfor ( let h = 0, hl = holes.length; h < hl; h ++ ) {\n\n\t\t\t\t\tconst ahole = holes[ h ];\n\t\t\t\t\toneHoleMovements = holesMovements[ h ];\n\n\t\t\t\t\tfor ( let i = 0, il = ahole.length; i < il; i ++ ) {\n\n\t\t\t\t\t\tconst vert = scalePt2( ahole[ i ], oneHoleMovements[ i ], bs );\n\n\t\t\t\t\t\tv( vert.x, vert.y, - z );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst bs = bevelSize + bevelOffset;\n\n\t\t\t// Back facing vertices\n\n\t\t\tfor ( let i = 0; i < vlen; i ++ ) {\n\n\t\t\t\tconst vert = bevelEnabled ? scalePt2( vertices[ i ], verticesMovements[ i ], bs ) : vertices[ i ];\n\n\t\t\t\tif ( ! extrudeByPath ) {\n\n\t\t\t\t\tv( vert.x, vert.y, 0 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// v( vert.x, vert.y + extrudePts[ 0 ].y, extrudePts[ 0 ].x );\n\n\t\t\t\t\tnormal.copy( splineTube.normals[ 0 ] ).multiplyScalar( vert.x );\n\t\t\t\t\tbinormal.copy( splineTube.binormals[ 0 ] ).multiplyScalar( vert.y );\n\n\t\t\t\t\tposition2.copy( extrudePts[ 0 ] ).add( normal ).add( binormal );\n\n\t\t\t\t\tv( position2.x, position2.y, position2.z );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// Add stepped vertices...\n\t\t\t// Including front facing vertices\n\n\t\t\tfor ( let s = 1; s <= steps; s ++ ) {\n\n\t\t\t\tfor ( let i = 0; i < vlen; i ++ ) {\n\n\t\t\t\t\tconst vert = bevelEnabled ? scalePt2( vertices[ i ], verticesMovements[ i ], bs ) : vertices[ i ];\n\n\t\t\t\t\tif ( ! extrudeByPath ) {\n\n\t\t\t\t\t\tv( vert.x, vert.y, depth / steps * s );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// v( vert.x, vert.y + extrudePts[ s - 1 ].y, extrudePts[ s - 1 ].x );\n\n\t\t\t\t\t\tnormal.copy( splineTube.normals[ s ] ).multiplyScalar( vert.x );\n\t\t\t\t\t\tbinormal.copy( splineTube.binormals[ s ] ).multiplyScalar( vert.y );\n\n\t\t\t\t\t\tposition2.copy( extrudePts[ s ] ).add( normal ).add( binormal );\n\n\t\t\t\t\t\tv( position2.x, position2.y, position2.z );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\n\t\t\t// Add bevel segments planes\n\n\t\t\t//for ( b = 1; b <= bevelSegments; b ++ ) {\n\t\t\tfor ( let b = bevelSegments - 1; b >= 0; b -- ) {\n\n\t\t\t\tconst t = b / bevelSegments;\n\t\t\t\tconst z = bevelThickness * Math.cos( t * Math.PI / 2 );\n\t\t\t\tconst bs = bevelSize * Math.sin( t * Math.PI / 2 ) + bevelOffset;\n\n\t\t\t\t// contract shape\n\n\t\t\t\tfor ( let i = 0, il = contour.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst vert = scalePt2( contour[ i ], contourMovements[ i ], bs );\n\t\t\t\t\tv( vert.x, vert.y, depth + z );\n\n\t\t\t\t}\n\n\t\t\t\t// expand holes\n\n\t\t\t\tfor ( let h = 0, hl = holes.length; h < hl; h ++ ) {\n\n\t\t\t\t\tconst ahole = holes[ h ];\n\t\t\t\t\toneHoleMovements = holesMovements[ h ];\n\n\t\t\t\t\tfor ( let i = 0, il = ahole.length; i < il; i ++ ) {\n\n\t\t\t\t\t\tconst vert = scalePt2( ahole[ i ], oneHoleMovements[ i ], bs );\n\n\t\t\t\t\t\tif ( ! extrudeByPath ) {\n\n\t\t\t\t\t\t\tv( vert.x, vert.y, depth + z );\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tv( vert.x, vert.y + extrudePts[ steps - 1 ].y, extrudePts[ steps - 1 ].x + z );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t/* Faces */\n\n\t\t\t// Top and bottom faces\n\n\t\t\tbuildLidFaces();\n\n\t\t\t// Sides faces\n\n\t\t\tbuildSideFaces();\n\n\n\t\t\t///// Internal functions\n\n\t\t\tfunction buildLidFaces() {\n\n\t\t\t\tconst start = verticesArray.length / 3;\n\n\t\t\t\tif ( bevelEnabled ) {\n\n\t\t\t\t\tlet layer = 0; // steps + 1\n\t\t\t\t\tlet offset = vlen * layer;\n\n\t\t\t\t\t// Bottom faces\n\n\t\t\t\t\tfor ( let i = 0; i < flen; i ++ ) {\n\n\t\t\t\t\t\tconst face = faces[ i ];\n\t\t\t\t\t\tf3( face[ 2 ] + offset, face[ 1 ] + offset, face[ 0 ] + offset );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tlayer = steps + bevelSegments * 2;\n\t\t\t\t\toffset = vlen * layer;\n\n\t\t\t\t\t// Top faces\n\n\t\t\t\t\tfor ( let i = 0; i < flen; i ++ ) {\n\n\t\t\t\t\t\tconst face = faces[ i ];\n\t\t\t\t\t\tf3( face[ 0 ] + offset, face[ 1 ] + offset, face[ 2 ] + offset );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// Bottom faces\n\n\t\t\t\t\tfor ( let i = 0; i < flen; i ++ ) {\n\n\t\t\t\t\t\tconst face = faces[ i ];\n\t\t\t\t\t\tf3( face[ 2 ], face[ 1 ], face[ 0 ] );\n\n\t\t\t\t\t}\n\n\t\t\t\t\t// Top faces\n\n\t\t\t\t\tfor ( let i = 0; i < flen; i ++ ) {\n\n\t\t\t\t\t\tconst face = faces[ i ];\n\t\t\t\t\t\tf3( face[ 0 ] + vlen * steps, face[ 1 ] + vlen * steps, face[ 2 ] + vlen * steps );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tscope.addGroup( start, verticesArray.length / 3 - start, 0 );\n\n\t\t\t}\n\n\t\t\t// Create faces for the z-sides of the shape\n\n\t\t\tfunction buildSideFaces() {\n\n\t\t\t\tconst start = verticesArray.length / 3;\n\t\t\t\tlet layeroffset = 0;\n\t\t\t\tsidewalls( contour, layeroffset );\n\t\t\t\tlayeroffset += contour.length;\n\n\t\t\t\tfor ( let h = 0, hl = holes.length; h < hl; h ++ ) {\n\n\t\t\t\t\tconst ahole = holes[ h ];\n\t\t\t\t\tsidewalls( ahole, layeroffset );\n\n\t\t\t\t\t//, true\n\t\t\t\t\tlayeroffset += ahole.length;\n\n\t\t\t\t}\n\n\n\t\t\t\tscope.addGroup( start, verticesArray.length / 3 - start, 1 );\n\n\n\t\t\t}\n\n\t\t\tfunction sidewalls( contour, layeroffset ) {\n\n\t\t\t\tlet i = contour.length;\n\n\t\t\t\twhile ( -- i >= 0 ) {\n\n\t\t\t\t\tconst j = i;\n\t\t\t\t\tlet k = i - 1;\n\t\t\t\t\tif ( k < 0 ) k = contour.length - 1;\n\n\t\t\t\t\t//console.log('b', i,j, i-1, k,vertices.length);\n\n\t\t\t\t\tfor ( let s = 0, sl = ( steps + bevelSegments * 2 ); s < sl; s ++ ) {\n\n\t\t\t\t\t\tconst slen1 = vlen * s;\n\t\t\t\t\t\tconst slen2 = vlen * ( s + 1 );\n\n\t\t\t\t\t\tconst a = layeroffset + j + slen1,\n\t\t\t\t\t\t\tb = layeroffset + k + slen1,\n\t\t\t\t\t\t\tc = layeroffset + k + slen2,\n\t\t\t\t\t\t\td = layeroffset + j + slen2;\n\n\t\t\t\t\t\tf4( a, b, c, d );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tfunction v( x, y, z ) {\n\n\t\t\t\tplaceholder.push( x );\n\t\t\t\tplaceholder.push( y );\n\t\t\t\tplaceholder.push( z );\n\n\t\t\t}\n\n\n\t\t\tfunction f3( a, b, c ) {\n\n\t\t\t\taddVertex( a );\n\t\t\t\taddVertex( b );\n\t\t\t\taddVertex( c );\n\n\t\t\t\tconst nextIndex = verticesArray.length / 3;\n\t\t\t\tconst uvs = uvgen.generateTopUV( scope, verticesArray, nextIndex - 3, nextIndex - 2, nextIndex - 1 );\n\n\t\t\t\taddUV( uvs[ 0 ] );\n\t\t\t\taddUV( uvs[ 1 ] );\n\t\t\t\taddUV( uvs[ 2 ] );\n\n\t\t\t}\n\n\t\t\tfunction f4( a, b, c, d ) {\n\n\t\t\t\taddVertex( a );\n\t\t\t\taddVertex( b );\n\t\t\t\taddVertex( d );\n\n\t\t\t\taddVertex( b );\n\t\t\t\taddVertex( c );\n\t\t\t\taddVertex( d );\n\n\n\t\t\t\tconst nextIndex = verticesArray.length / 3;\n\t\t\t\tconst uvs = uvgen.generateSideWallUV( scope, verticesArray, nextIndex - 6, nextIndex - 3, nextIndex - 2, nextIndex - 1 );\n\n\t\t\t\taddUV( uvs[ 0 ] );\n\t\t\t\taddUV( uvs[ 1 ] );\n\t\t\t\taddUV( uvs[ 3 ] );\n\n\t\t\t\taddUV( uvs[ 1 ] );\n\t\t\t\taddUV( uvs[ 2 ] );\n\t\t\t\taddUV( uvs[ 3 ] );\n\n\t\t\t}\n\n\t\t\tfunction addVertex( index ) {\n\n\t\t\t\tverticesArray.push( placeholder[ index * 3 + 0 ] );\n\t\t\t\tverticesArray.push( placeholder[ index * 3 + 1 ] );\n\t\t\t\tverticesArray.push( placeholder[ index * 3 + 2 ] );\n\n\t\t\t}\n\n\n\t\t\tfunction addUV( vector2 ) {\n\n\t\t\t\tuvArray.push( vector2.x );\n\t\t\t\tuvArray.push( vector2.y );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tconst shapes = this.parameters.shapes;\n\t\tconst options = this.parameters.options;\n\n\t\treturn toJSON$1( shapes, options, data );\n\n\t}\n\n\tstatic fromJSON( data, shapes ) {\n\n\t\tconst geometryShapes = [];\n\n\t\tfor ( let j = 0, jl = data.shapes.length; j < jl; j ++ ) {\n\n\t\t\tconst shape = shapes[ data.shapes[ j ] ];\n\n\t\t\tgeometryShapes.push( shape );\n\n\t\t}\n\n\t\tconst extrudePath = data.options.extrudePath;\n\n\t\tif ( extrudePath !== undefined ) {\n\n\t\t\tdata.options.extrudePath = new Curves[ extrudePath.type ]().fromJSON( extrudePath );\n\n\t\t}\n\n\t\treturn new ExtrudeGeometry( geometryShapes, data.options );\n\n\t}\n\n}\n\nconst WorldUVGenerator = {\n\n\tgenerateTopUV: function ( geometry, vertices, indexA, indexB, indexC ) {\n\n\t\tconst a_x = vertices[ indexA * 3 ];\n\t\tconst a_y = vertices[ indexA * 3 + 1 ];\n\t\tconst b_x = vertices[ indexB * 3 ];\n\t\tconst b_y = vertices[ indexB * 3 + 1 ];\n\t\tconst c_x = vertices[ indexC * 3 ];\n\t\tconst c_y = vertices[ indexC * 3 + 1 ];\n\n\t\treturn [\n\t\t\tnew Vector2( a_x, a_y ),\n\t\t\tnew Vector2( b_x, b_y ),\n\t\t\tnew Vector2( c_x, c_y )\n\t\t];\n\n\t},\n\n\tgenerateSideWallUV: function ( geometry, vertices, indexA, indexB, indexC, indexD ) {\n\n\t\tconst a_x = vertices[ indexA * 3 ];\n\t\tconst a_y = vertices[ indexA * 3 + 1 ];\n\t\tconst a_z = vertices[ indexA * 3 + 2 ];\n\t\tconst b_x = vertices[ indexB * 3 ];\n\t\tconst b_y = vertices[ indexB * 3 + 1 ];\n\t\tconst b_z = vertices[ indexB * 3 + 2 ];\n\t\tconst c_x = vertices[ indexC * 3 ];\n\t\tconst c_y = vertices[ indexC * 3 + 1 ];\n\t\tconst c_z = vertices[ indexC * 3 + 2 ];\n\t\tconst d_x = vertices[ indexD * 3 ];\n\t\tconst d_y = vertices[ indexD * 3 + 1 ];\n\t\tconst d_z = vertices[ indexD * 3 + 2 ];\n\n\t\tif ( Math.abs( a_y - b_y ) < Math.abs( a_x - b_x ) ) {\n\n\t\t\treturn [\n\t\t\t\tnew Vector2( a_x, 1 - a_z ),\n\t\t\t\tnew Vector2( b_x, 1 - b_z ),\n\t\t\t\tnew Vector2( c_x, 1 - c_z ),\n\t\t\t\tnew Vector2( d_x, 1 - d_z )\n\t\t\t];\n\n\t\t} else {\n\n\t\t\treturn [\n\t\t\t\tnew Vector2( a_y, 1 - a_z ),\n\t\t\t\tnew Vector2( b_y, 1 - b_z ),\n\t\t\t\tnew Vector2( c_y, 1 - c_z ),\n\t\t\t\tnew Vector2( d_y, 1 - d_z )\n\t\t\t];\n\n\t\t}\n\n\t}\n\n};\n\nfunction toJSON$1( shapes, options, data ) {\n\n\tdata.shapes = [];\n\n\tif ( Array.isArray( shapes ) ) {\n\n\t\tfor ( let i = 0, l = shapes.length; i < l; i ++ ) {\n\n\t\t\tconst shape = shapes[ i ];\n\n\t\t\tdata.shapes.push( shape.uuid );\n\n\t\t}\n\n\t} else {\n\n\t\tdata.shapes.push( shapes.uuid );\n\n\t}\n\n\tdata.options = Object.assign( {}, options );\n\n\tif ( options.extrudePath !== undefined ) data.options.extrudePath = options.extrudePath.toJSON();\n\n\treturn data;\n\n}\n\nclass IcosahedronGeometry extends PolyhedronGeometry {\n\n\tconstructor( radius = 1, detail = 0 ) {\n\n\t\tconst t = ( 1 + Math.sqrt( 5 ) ) / 2;\n\n\t\tconst vertices = [\n\t\t\t- 1, t, 0, \t1, t, 0, \t- 1, - t, 0, \t1, - t, 0,\n\t\t\t0, - 1, t, \t0, 1, t,\t0, - 1, - t, \t0, 1, - t,\n\t\t\tt, 0, - 1, \tt, 0, 1, \t- t, 0, - 1, \t- t, 0, 1\n\t\t];\n\n\t\tconst indices = [\n\t\t\t0, 11, 5, \t0, 5, 1, \t0, 1, 7, \t0, 7, 10, \t0, 10, 11,\n\t\t\t1, 5, 9, \t5, 11, 4,\t11, 10, 2,\t10, 7, 6,\t7, 1, 8,\n\t\t\t3, 9, 4, \t3, 4, 2,\t3, 2, 6,\t3, 6, 8,\t3, 8, 9,\n\t\t\t4, 9, 5, \t2, 4, 11,\t6, 2, 10,\t8, 6, 7,\t9, 8, 1\n\t\t];\n\n\t\tsuper( vertices, indices, radius, detail );\n\n\t\tthis.type = 'IcosahedronGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\tdetail: detail\n\t\t};\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new IcosahedronGeometry( data.radius, data.detail );\n\n\t}\n\n}\n\nclass OctahedronGeometry extends PolyhedronGeometry {\n\n\tconstructor( radius = 1, detail = 0 ) {\n\n\t\tconst vertices = [\n\t\t\t1, 0, 0, \t- 1, 0, 0,\t0, 1, 0,\n\t\t\t0, - 1, 0, \t0, 0, 1,\t0, 0, - 1\n\t\t];\n\n\t\tconst indices = [\n\t\t\t0, 2, 4,\t0, 4, 3,\t0, 3, 5,\n\t\t\t0, 5, 2,\t1, 2, 5,\t1, 5, 3,\n\t\t\t1, 3, 4,\t1, 4, 2\n\t\t];\n\n\t\tsuper( vertices, indices, radius, detail );\n\n\t\tthis.type = 'OctahedronGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\tdetail: detail\n\t\t};\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new OctahedronGeometry( data.radius, data.detail );\n\n\t}\n\n}\n\nclass RingGeometry extends BufferGeometry {\n\n\tconstructor( innerRadius = 0.5, outerRadius = 1, thetaSegments = 8, phiSegments = 1, thetaStart = 0, thetaLength = Math.PI * 2 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'RingGeometry';\n\n\t\tthis.parameters = {\n\t\t\tinnerRadius: innerRadius,\n\t\t\touterRadius: outerRadius,\n\t\t\tthetaSegments: thetaSegments,\n\t\t\tphiSegments: phiSegments,\n\t\t\tthetaStart: thetaStart,\n\t\t\tthetaLength: thetaLength\n\t\t};\n\n\t\tthetaSegments = Math.max( 3, thetaSegments );\n\t\tphiSegments = Math.max( 1, phiSegments );\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// some helper variables\n\n\t\tlet radius = innerRadius;\n\t\tconst radiusStep = ( ( outerRadius - innerRadius ) / phiSegments );\n\t\tconst vertex = new Vector3();\n\t\tconst uv = new Vector2();\n\n\t\t// generate vertices, normals and uvs\n\n\t\tfor ( let j = 0; j <= phiSegments; j ++ ) {\n\n\t\t\tfor ( let i = 0; i <= thetaSegments; i ++ ) {\n\n\t\t\t\t// values are generate from the inside of the ring to the outside\n\n\t\t\t\tconst segment = thetaStart + i / thetaSegments * thetaLength;\n\n\t\t\t\t// vertex\n\n\t\t\t\tvertex.x = radius * Math.cos( segment );\n\t\t\t\tvertex.y = radius * Math.sin( segment );\n\n\t\t\t\tvertices.push( vertex.x, vertex.y, vertex.z );\n\n\t\t\t\t// normal\n\n\t\t\t\tnormals.push( 0, 0, 1 );\n\n\t\t\t\t// uv\n\n\t\t\t\tuv.x = ( vertex.x / outerRadius + 1 ) / 2;\n\t\t\t\tuv.y = ( vertex.y / outerRadius + 1 ) / 2;\n\n\t\t\t\tuvs.push( uv.x, uv.y );\n\n\t\t\t}\n\n\t\t\t// increase the radius for next row of vertices\n\n\t\t\tradius += radiusStep;\n\n\t\t}\n\n\t\t// indices\n\n\t\tfor ( let j = 0; j < phiSegments; j ++ ) {\n\n\t\t\tconst thetaSegmentLevel = j * ( thetaSegments + 1 );\n\n\t\t\tfor ( let i = 0; i < thetaSegments; i ++ ) {\n\n\t\t\t\tconst segment = i + thetaSegmentLevel;\n\n\t\t\t\tconst a = segment;\n\t\t\t\tconst b = segment + thetaSegments + 1;\n\t\t\t\tconst c = segment + thetaSegments + 2;\n\t\t\t\tconst d = segment + 1;\n\n\t\t\t\t// faces\n\n\t\t\t\tindices.push( a, b, d );\n\t\t\t\tindices.push( b, c, d );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new RingGeometry( data.innerRadius, data.outerRadius, data.thetaSegments, data.phiSegments, data.thetaStart, data.thetaLength );\n\n\t}\n\n}\n\nclass ShapeGeometry extends BufferGeometry {\n\n\tconstructor( shapes = new Shape( [ new Vector2( 0, 0.5 ), new Vector2( - 0.5, - 0.5 ), new Vector2( 0.5, - 0.5 ) ] ), curveSegments = 12 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'ShapeGeometry';\n\n\t\tthis.parameters = {\n\t\t\tshapes: shapes,\n\t\t\tcurveSegments: curveSegments\n\t\t};\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// helper variables\n\n\t\tlet groupStart = 0;\n\t\tlet groupCount = 0;\n\n\t\t// allow single and array values for \"shapes\" parameter\n\n\t\tif ( Array.isArray( shapes ) === false ) {\n\n\t\t\taddShape( shapes );\n\n\t\t} else {\n\n\t\t\tfor ( let i = 0; i < shapes.length; i ++ ) {\n\n\t\t\t\taddShape( shapes[ i ] );\n\n\t\t\t\tthis.addGroup( groupStart, groupCount, i ); // enables MultiMaterial support\n\n\t\t\t\tgroupStart += groupCount;\n\t\t\t\tgroupCount = 0;\n\n\t\t\t}\n\n\t\t}\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\n\t\t// helper functions\n\n\t\tfunction addShape( shape ) {\n\n\t\t\tconst indexOffset = vertices.length / 3;\n\t\t\tconst points = shape.extractPoints( curveSegments );\n\n\t\t\tlet shapeVertices = points.shape;\n\t\t\tconst shapeHoles = points.holes;\n\n\t\t\t// check direction of vertices\n\n\t\t\tif ( ShapeUtils.isClockWise( shapeVertices ) === false ) {\n\n\t\t\t\tshapeVertices = shapeVertices.reverse();\n\n\t\t\t}\n\n\t\t\tfor ( let i = 0, l = shapeHoles.length; i < l; i ++ ) {\n\n\t\t\t\tconst shapeHole = shapeHoles[ i ];\n\n\t\t\t\tif ( ShapeUtils.isClockWise( shapeHole ) === true ) {\n\n\t\t\t\t\tshapeHoles[ i ] = shapeHole.reverse();\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst faces = ShapeUtils.triangulateShape( shapeVertices, shapeHoles );\n\n\t\t\t// join vertices of inner and outer paths to a single array\n\n\t\t\tfor ( let i = 0, l = shapeHoles.length; i < l; i ++ ) {\n\n\t\t\t\tconst shapeHole = shapeHoles[ i ];\n\t\t\t\tshapeVertices = shapeVertices.concat( shapeHole );\n\n\t\t\t}\n\n\t\t\t// vertices, normals, uvs\n\n\t\t\tfor ( let i = 0, l = shapeVertices.length; i < l; i ++ ) {\n\n\t\t\t\tconst vertex = shapeVertices[ i ];\n\n\t\t\t\tvertices.push( vertex.x, vertex.y, 0 );\n\t\t\t\tnormals.push( 0, 0, 1 );\n\t\t\t\tuvs.push( vertex.x, vertex.y ); // world uvs\n\n\t\t\t}\n\n\t\t\t// incides\n\n\t\t\tfor ( let i = 0, l = faces.length; i < l; i ++ ) {\n\n\t\t\t\tconst face = faces[ i ];\n\n\t\t\t\tconst a = face[ 0 ] + indexOffset;\n\t\t\t\tconst b = face[ 1 ] + indexOffset;\n\t\t\t\tconst c = face[ 2 ] + indexOffset;\n\n\t\t\t\tindices.push( a, b, c );\n\t\t\t\tgroupCount += 3;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tconst shapes = this.parameters.shapes;\n\n\t\treturn toJSON( shapes, data );\n\n\t}\n\n\tstatic fromJSON( data, shapes ) {\n\n\t\tconst geometryShapes = [];\n\n\t\tfor ( let j = 0, jl = data.shapes.length; j < jl; j ++ ) {\n\n\t\t\tconst shape = shapes[ data.shapes[ j ] ];\n\n\t\t\tgeometryShapes.push( shape );\n\n\t\t}\n\n\t\treturn new ShapeGeometry( geometryShapes, data.curveSegments );\n\n\t}\n\n}\n\nfunction toJSON( shapes, data ) {\n\n\tdata.shapes = [];\n\n\tif ( Array.isArray( shapes ) ) {\n\n\t\tfor ( let i = 0, l = shapes.length; i < l; i ++ ) {\n\n\t\t\tconst shape = shapes[ i ];\n\n\t\t\tdata.shapes.push( shape.uuid );\n\n\t\t}\n\n\t} else {\n\n\t\tdata.shapes.push( shapes.uuid );\n\n\t}\n\n\treturn data;\n\n}\n\nclass SphereGeometry extends BufferGeometry {\n\n\tconstructor( radius = 1, widthSegments = 32, heightSegments = 16, phiStart = 0, phiLength = Math.PI * 2, thetaStart = 0, thetaLength = Math.PI ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'SphereGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\twidthSegments: widthSegments,\n\t\t\theightSegments: heightSegments,\n\t\t\tphiStart: phiStart,\n\t\t\tphiLength: phiLength,\n\t\t\tthetaStart: thetaStart,\n\t\t\tthetaLength: thetaLength\n\t\t};\n\n\t\twidthSegments = Math.max( 3, Math.floor( widthSegments ) );\n\t\theightSegments = Math.max( 2, Math.floor( heightSegments ) );\n\n\t\tconst thetaEnd = Math.min( thetaStart + thetaLength, Math.PI );\n\n\t\tlet index = 0;\n\t\tconst grid = [];\n\n\t\tconst vertex = new Vector3();\n\t\tconst normal = new Vector3();\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// generate vertices, normals and uvs\n\n\t\tfor ( let iy = 0; iy <= heightSegments; iy ++ ) {\n\n\t\t\tconst verticesRow = [];\n\n\t\t\tconst v = iy / heightSegments;\n\n\t\t\t// special case for the poles\n\n\t\t\tlet uOffset = 0;\n\n\t\t\tif ( iy == 0 && thetaStart == 0 ) {\n\n\t\t\t\tuOffset = 0.5 / widthSegments;\n\n\t\t\t} else if ( iy == heightSegments && thetaEnd == Math.PI ) {\n\n\t\t\t\tuOffset = - 0.5 / widthSegments;\n\n\t\t\t}\n\n\t\t\tfor ( let ix = 0; ix <= widthSegments; ix ++ ) {\n\n\t\t\t\tconst u = ix / widthSegments;\n\n\t\t\t\t// vertex\n\n\t\t\t\tvertex.x = - radius * Math.cos( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength );\n\t\t\t\tvertex.y = radius * Math.cos( thetaStart + v * thetaLength );\n\t\t\t\tvertex.z = radius * Math.sin( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength );\n\n\t\t\t\tvertices.push( vertex.x, vertex.y, vertex.z );\n\n\t\t\t\t// normal\n\n\t\t\t\tnormal.copy( vertex ).normalize();\n\t\t\t\tnormals.push( normal.x, normal.y, normal.z );\n\n\t\t\t\t// uv\n\n\t\t\t\tuvs.push( u + uOffset, 1 - v );\n\n\t\t\t\tverticesRow.push( index ++ );\n\n\t\t\t}\n\n\t\t\tgrid.push( verticesRow );\n\n\t\t}\n\n\t\t// indices\n\n\t\tfor ( let iy = 0; iy < heightSegments; iy ++ ) {\n\n\t\t\tfor ( let ix = 0; ix < widthSegments; ix ++ ) {\n\n\t\t\t\tconst a = grid[ iy ][ ix + 1 ];\n\t\t\t\tconst b = grid[ iy ][ ix ];\n\t\t\t\tconst c = grid[ iy + 1 ][ ix ];\n\t\t\t\tconst d = grid[ iy + 1 ][ ix + 1 ];\n\n\t\t\t\tif ( iy !== 0 || thetaStart > 0 ) indices.push( a, b, d );\n\t\t\t\tif ( iy !== heightSegments - 1 || thetaEnd < Math.PI ) indices.push( b, c, d );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new SphereGeometry( data.radius, data.widthSegments, data.heightSegments, data.phiStart, data.phiLength, data.thetaStart, data.thetaLength );\n\n\t}\n\n}\n\nclass TetrahedronGeometry extends PolyhedronGeometry {\n\n\tconstructor( radius = 1, detail = 0 ) {\n\n\t\tconst vertices = [\n\t\t\t1, 1, 1, \t- 1, - 1, 1, \t- 1, 1, - 1, \t1, - 1, - 1\n\t\t];\n\n\t\tconst indices = [\n\t\t\t2, 1, 0, \t0, 3, 2,\t1, 3, 0,\t2, 3, 1\n\t\t];\n\n\t\tsuper( vertices, indices, radius, detail );\n\n\t\tthis.type = 'TetrahedronGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\tdetail: detail\n\t\t};\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new TetrahedronGeometry( data.radius, data.detail );\n\n\t}\n\n}\n\nclass TorusGeometry extends BufferGeometry {\n\n\tconstructor( radius = 1, tube = 0.4, radialSegments = 8, tubularSegments = 6, arc = Math.PI * 2 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'TorusGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\ttube: tube,\n\t\t\tradialSegments: radialSegments,\n\t\t\ttubularSegments: tubularSegments,\n\t\t\tarc: arc\n\t\t};\n\n\t\tradialSegments = Math.floor( radialSegments );\n\t\ttubularSegments = Math.floor( tubularSegments );\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// helper variables\n\n\t\tconst center = new Vector3();\n\t\tconst vertex = new Vector3();\n\t\tconst normal = new Vector3();\n\n\t\t// generate vertices, normals and uvs\n\n\t\tfor ( let j = 0; j <= radialSegments; j ++ ) {\n\n\t\t\tfor ( let i = 0; i <= tubularSegments; i ++ ) {\n\n\t\t\t\tconst u = i / tubularSegments * arc;\n\t\t\t\tconst v = j / radialSegments * Math.PI * 2;\n\n\t\t\t\t// vertex\n\n\t\t\t\tvertex.x = ( radius + tube * Math.cos( v ) ) * Math.cos( u );\n\t\t\t\tvertex.y = ( radius + tube * Math.cos( v ) ) * Math.sin( u );\n\t\t\t\tvertex.z = tube * Math.sin( v );\n\n\t\t\t\tvertices.push( vertex.x, vertex.y, vertex.z );\n\n\t\t\t\t// normal\n\n\t\t\t\tcenter.x = radius * Math.cos( u );\n\t\t\t\tcenter.y = radius * Math.sin( u );\n\t\t\t\tnormal.subVectors( vertex, center ).normalize();\n\n\t\t\t\tnormals.push( normal.x, normal.y, normal.z );\n\n\t\t\t\t// uv\n\n\t\t\t\tuvs.push( i / tubularSegments );\n\t\t\t\tuvs.push( j / radialSegments );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// generate indices\n\n\t\tfor ( let j = 1; j <= radialSegments; j ++ ) {\n\n\t\t\tfor ( let i = 1; i <= tubularSegments; i ++ ) {\n\n\t\t\t\t// indices\n\n\t\t\t\tconst a = ( tubularSegments + 1 ) * j + i - 1;\n\t\t\t\tconst b = ( tubularSegments + 1 ) * ( j - 1 ) + i - 1;\n\t\t\t\tconst c = ( tubularSegments + 1 ) * ( j - 1 ) + i;\n\t\t\t\tconst d = ( tubularSegments + 1 ) * j + i;\n\n\t\t\t\t// faces\n\n\t\t\t\tindices.push( a, b, d );\n\t\t\t\tindices.push( b, c, d );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new TorusGeometry( data.radius, data.tube, data.radialSegments, data.tubularSegments, data.arc );\n\n\t}\n\n}\n\nclass TorusKnotGeometry extends BufferGeometry {\n\n\tconstructor( radius = 1, tube = 0.4, tubularSegments = 64, radialSegments = 8, p = 2, q = 3 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'TorusKnotGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\ttube: tube,\n\t\t\ttubularSegments: tubularSegments,\n\t\t\tradialSegments: radialSegments,\n\t\t\tp: p,\n\t\t\tq: q\n\t\t};\n\n\t\ttubularSegments = Math.floor( tubularSegments );\n\t\tradialSegments = Math.floor( radialSegments );\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// helper variables\n\n\t\tconst vertex = new Vector3();\n\t\tconst normal = new Vector3();\n\n\t\tconst P1 = new Vector3();\n\t\tconst P2 = new Vector3();\n\n\t\tconst B = new Vector3();\n\t\tconst T = new Vector3();\n\t\tconst N = new Vector3();\n\n\t\t// generate vertices, normals and uvs\n\n\t\tfor ( let i = 0; i <= tubularSegments; ++ i ) {\n\n\t\t\t// the radian \"u\" is used to calculate the position on the torus curve of the current tubular segment\n\n\t\t\tconst u = i / tubularSegments * p * Math.PI * 2;\n\n\t\t\t// now we calculate two points. P1 is our current position on the curve, P2 is a little farther ahead.\n\t\t\t// these points are used to create a special \"coordinate space\", which is necessary to calculate the correct vertex positions\n\n\t\t\tcalculatePositionOnCurve( u, p, q, radius, P1 );\n\t\t\tcalculatePositionOnCurve( u + 0.01, p, q, radius, P2 );\n\n\t\t\t// calculate orthonormal basis\n\n\t\t\tT.subVectors( P2, P1 );\n\t\t\tN.addVectors( P2, P1 );\n\t\t\tB.crossVectors( T, N );\n\t\t\tN.crossVectors( B, T );\n\n\t\t\t// normalize B, N. T can be ignored, we don't use it\n\n\t\t\tB.normalize();\n\t\t\tN.normalize();\n\n\t\t\tfor ( let j = 0; j <= radialSegments; ++ j ) {\n\n\t\t\t\t// now calculate the vertices. they are nothing more than an extrusion of the torus curve.\n\t\t\t\t// because we extrude a shape in the xy-plane, there is no need to calculate a z-value.\n\n\t\t\t\tconst v = j / radialSegments * Math.PI * 2;\n\t\t\t\tconst cx = - tube * Math.cos( v );\n\t\t\t\tconst cy = tube * Math.sin( v );\n\n\t\t\t\t// now calculate the final vertex position.\n\t\t\t\t// first we orient the extrusion with our basis vectors, then we add it to the current position on the curve\n\n\t\t\t\tvertex.x = P1.x + ( cx * N.x + cy * B.x );\n\t\t\t\tvertex.y = P1.y + ( cx * N.y + cy * B.y );\n\t\t\t\tvertex.z = P1.z + ( cx * N.z + cy * B.z );\n\n\t\t\t\tvertices.push( vertex.x, vertex.y, vertex.z );\n\n\t\t\t\t// normal (P1 is always the center/origin of the extrusion, thus we can use it to calculate the normal)\n\n\t\t\t\tnormal.subVectors( vertex, P1 ).normalize();\n\n\t\t\t\tnormals.push( normal.x, normal.y, normal.z );\n\n\t\t\t\t// uv\n\n\t\t\t\tuvs.push( i / tubularSegments );\n\t\t\t\tuvs.push( j / radialSegments );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// generate indices\n\n\t\tfor ( let j = 1; j <= tubularSegments; j ++ ) {\n\n\t\t\tfor ( let i = 1; i <= radialSegments; i ++ ) {\n\n\t\t\t\t// indices\n\n\t\t\t\tconst a = ( radialSegments + 1 ) * ( j - 1 ) + ( i - 1 );\n\t\t\t\tconst b = ( radialSegments + 1 ) * j + ( i - 1 );\n\t\t\t\tconst c = ( radialSegments + 1 ) * j + i;\n\t\t\t\tconst d = ( radialSegments + 1 ) * ( j - 1 ) + i;\n\n\t\t\t\t// faces\n\n\t\t\t\tindices.push( a, b, d );\n\t\t\t\tindices.push( b, c, d );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t\t// this function calculates the current position on the torus curve\n\n\t\tfunction calculatePositionOnCurve( u, p, q, radius, position ) {\n\n\t\t\tconst cu = Math.cos( u );\n\t\t\tconst su = Math.sin( u );\n\t\t\tconst quOverP = q / p * u;\n\t\t\tconst cs = Math.cos( quOverP );\n\n\t\t\tposition.x = radius * ( 2 + cs ) * 0.5 * cu;\n\t\t\tposition.y = radius * ( 2 + cs ) * su * 0.5;\n\t\t\tposition.z = radius * Math.sin( quOverP ) * 0.5;\n\n\t\t}\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new TorusKnotGeometry( data.radius, data.tube, data.tubularSegments, data.radialSegments, data.p, data.q );\n\n\t}\n\n}\n\nclass TubeGeometry extends BufferGeometry {\n\n\tconstructor( path = new QuadraticBezierCurve3( new Vector3( - 1, - 1, 0 ), new Vector3( - 1, 1, 0 ), new Vector3( 1, 1, 0 ) ), tubularSegments = 64, radius = 1, radialSegments = 8, closed = false ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'TubeGeometry';\n\n\t\tthis.parameters = {\n\t\t\tpath: path,\n\t\t\ttubularSegments: tubularSegments,\n\t\t\tradius: radius,\n\t\t\tradialSegments: radialSegments,\n\t\t\tclosed: closed\n\t\t};\n\n\t\tconst frames = path.computeFrenetFrames( tubularSegments, closed );\n\n\t\t// expose internals\n\n\t\tthis.tangents = frames.tangents;\n\t\tthis.normals = frames.normals;\n\t\tthis.binormals = frames.binormals;\n\n\t\t// helper variables\n\n\t\tconst vertex = new Vector3();\n\t\tconst normal = new Vector3();\n\t\tconst uv = new Vector2();\n\t\tlet P = new Vector3();\n\n\t\t// buffer\n\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\t\tconst indices = [];\n\n\t\t// create buffer data\n\n\t\tgenerateBufferData();\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t\t// functions\n\n\t\tfunction generateBufferData() {\n\n\t\t\tfor ( let i = 0; i < tubularSegments; i ++ ) {\n\n\t\t\t\tgenerateSegment( i );\n\n\t\t\t}\n\n\t\t\t// if the geometry is not closed, generate the last row of vertices and normals\n\t\t\t// at the regular position on the given path\n\t\t\t//\n\t\t\t// if the geometry is closed, duplicate the first row of vertices and normals (uvs will differ)\n\n\t\t\tgenerateSegment( ( closed === false ) ? tubularSegments : 0 );\n\n\t\t\t// uvs are generated in a separate function.\n\t\t\t// this makes it easy compute correct values for closed geometries\n\n\t\t\tgenerateUVs();\n\n\t\t\t// finally create faces\n\n\t\t\tgenerateIndices();\n\n\t\t}\n\n\t\tfunction generateSegment( i ) {\n\n\t\t\t// we use getPointAt to sample evenly distributed points from the given path\n\n\t\t\tP = path.getPointAt( i / tubularSegments, P );\n\n\t\t\t// retrieve corresponding normal and binormal\n\n\t\t\tconst N = frames.normals[ i ];\n\t\t\tconst B = frames.binormals[ i ];\n\n\t\t\t// generate normals and vertices for the current segment\n\n\t\t\tfor ( let j = 0; j <= radialSegments; j ++ ) {\n\n\t\t\t\tconst v = j / radialSegments * Math.PI * 2;\n\n\t\t\t\tconst sin = Math.sin( v );\n\t\t\t\tconst cos = - Math.cos( v );\n\n\t\t\t\t// normal\n\n\t\t\t\tnormal.x = ( cos * N.x + sin * B.x );\n\t\t\t\tnormal.y = ( cos * N.y + sin * B.y );\n\t\t\t\tnormal.z = ( cos * N.z + sin * B.z );\n\t\t\t\tnormal.normalize();\n\n\t\t\t\tnormals.push( normal.x, normal.y, normal.z );\n\n\t\t\t\t// vertex\n\n\t\t\t\tvertex.x = P.x + radius * normal.x;\n\t\t\t\tvertex.y = P.y + radius * normal.y;\n\t\t\t\tvertex.z = P.z + radius * normal.z;\n\n\t\t\t\tvertices.push( vertex.x, vertex.y, vertex.z );\n\n\t\t\t}\n\n\t\t}\n\n\t\tfunction generateIndices() {\n\n\t\t\tfor ( let j = 1; j <= tubularSegments; j ++ ) {\n\n\t\t\t\tfor ( let i = 1; i <= radialSegments; i ++ ) {\n\n\t\t\t\t\tconst a = ( radialSegments + 1 ) * ( j - 1 ) + ( i - 1 );\n\t\t\t\t\tconst b = ( radialSegments + 1 ) * j + ( i - 1 );\n\t\t\t\t\tconst c = ( radialSegments + 1 ) * j + i;\n\t\t\t\t\tconst d = ( radialSegments + 1 ) * ( j - 1 ) + i;\n\n\t\t\t\t\t// faces\n\n\t\t\t\t\tindices.push( a, b, d );\n\t\t\t\t\tindices.push( b, c, d );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tfunction generateUVs() {\n\n\t\t\tfor ( let i = 0; i <= tubularSegments; i ++ ) {\n\n\t\t\t\tfor ( let j = 0; j <= radialSegments; j ++ ) {\n\n\t\t\t\t\tuv.x = i / tubularSegments;\n\t\t\t\t\tuv.y = j / radialSegments;\n\n\t\t\t\t\tuvs.push( uv.x, uv.y );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON();\n\n\t\tdata.path = this.parameters.path.toJSON();\n\n\t\treturn data;\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\t// This only works for built-in curves (e.g. CatmullRomCurve3).\n\t\t// User defined curves or instances of CurvePath will not be deserialized.\n\t\treturn new TubeGeometry(\n\t\t\tnew Curves[ data.path.type ]().fromJSON( data.path ),\n\t\t\tdata.tubularSegments,\n\t\t\tdata.radius,\n\t\t\tdata.radialSegments,\n\t\t\tdata.closed\n\t\t);\n\n\t}\n\n}\n\nclass WireframeGeometry extends BufferGeometry {\n\n\tconstructor( geometry = null ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'WireframeGeometry';\n\n\t\tthis.parameters = {\n\t\t\tgeometry: geometry\n\t\t};\n\n\t\tif ( geometry !== null ) {\n\n\t\t\t// buffer\n\n\t\t\tconst vertices = [];\n\t\t\tconst edges = new Set();\n\n\t\t\t// helper variables\n\n\t\t\tconst start = new Vector3();\n\t\t\tconst end = new Vector3();\n\n\t\t\tif ( geometry.index !== null ) {\n\n\t\t\t\t// indexed BufferGeometry\n\n\t\t\t\tconst position = geometry.attributes.position;\n\t\t\t\tconst indices = geometry.index;\n\t\t\t\tlet groups = geometry.groups;\n\n\t\t\t\tif ( groups.length === 0 ) {\n\n\t\t\t\t\tgroups = [ { start: 0, count: indices.count, materialIndex: 0 } ];\n\n\t\t\t\t}\n\n\t\t\t\t// create a data structure that contains all edges without duplicates\n\n\t\t\t\tfor ( let o = 0, ol = groups.length; o < ol; ++ o ) {\n\n\t\t\t\t\tconst group = groups[ o ];\n\n\t\t\t\t\tconst groupStart = group.start;\n\t\t\t\t\tconst groupCount = group.count;\n\n\t\t\t\t\tfor ( let i = groupStart, l = ( groupStart + groupCount ); i < l; i += 3 ) {\n\n\t\t\t\t\t\tfor ( let j = 0; j < 3; j ++ ) {\n\n\t\t\t\t\t\t\tconst index1 = indices.getX( i + j );\n\t\t\t\t\t\t\tconst index2 = indices.getX( i + ( j + 1 ) % 3 );\n\n\t\t\t\t\t\t\tstart.fromBufferAttribute( position, index1 );\n\t\t\t\t\t\t\tend.fromBufferAttribute( position, index2 );\n\n\t\t\t\t\t\t\tif ( isUniqueEdge( start, end, edges ) === true ) {\n\n\t\t\t\t\t\t\t\tvertices.push( start.x, start.y, start.z );\n\t\t\t\t\t\t\t\tvertices.push( end.x, end.y, end.z );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\t// non-indexed BufferGeometry\n\n\t\t\t\tconst position = geometry.attributes.position;\n\n\t\t\t\tfor ( let i = 0, l = ( position.count / 3 ); i < l; i ++ ) {\n\n\t\t\t\t\tfor ( let j = 0; j < 3; j ++ ) {\n\n\t\t\t\t\t\t// three edges per triangle, an edge is represented as (index1, index2)\n\t\t\t\t\t\t// e.g. the first triangle has the following edges: (0,1),(1,2),(2,0)\n\n\t\t\t\t\t\tconst index1 = 3 * i + j;\n\t\t\t\t\t\tconst index2 = 3 * i + ( ( j + 1 ) % 3 );\n\n\t\t\t\t\t\tstart.fromBufferAttribute( position, index1 );\n\t\t\t\t\t\tend.fromBufferAttribute( position, index2 );\n\n\t\t\t\t\t\tif ( isUniqueEdge( start, end, edges ) === true ) {\n\n\t\t\t\t\t\t\tvertices.push( start.x, start.y, start.z );\n\t\t\t\t\t\t\tvertices.push( end.x, end.y, end.z );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// build geometry\n\n\t\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\n\t\t}\n\n\t}\n\n}\n\nfunction isUniqueEdge( start, end, edges ) {\n\n\tconst hash1 = `${start.x},${start.y},${start.z}-${end.x},${end.y},${end.z}`;\n\tconst hash2 = `${end.x},${end.y},${end.z}-${start.x},${start.y},${start.z}`; // coincident edge\n\n\tif ( edges.has( hash1 ) === true || edges.has( hash2 ) === true ) {\n\n\t\treturn false;\n\n\t} else {\n\n\t\tedges.add( hash1 );\n\t\tedges.add( hash2 );\n\t\treturn true;\n\n\t}\n\n}\n\nvar Geometries = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tBoxGeometry: BoxGeometry,\n\tBoxBufferGeometry: BoxGeometry,\n\tCapsuleGeometry: CapsuleGeometry,\n\tCapsuleBufferGeometry: CapsuleGeometry,\n\tCircleGeometry: CircleGeometry,\n\tCircleBufferGeometry: CircleGeometry,\n\tConeGeometry: ConeGeometry,\n\tConeBufferGeometry: ConeGeometry,\n\tCylinderGeometry: CylinderGeometry,\n\tCylinderBufferGeometry: CylinderGeometry,\n\tDodecahedronGeometry: DodecahedronGeometry,\n\tDodecahedronBufferGeometry: DodecahedronGeometry,\n\tEdgesGeometry: EdgesGeometry,\n\tExtrudeGeometry: ExtrudeGeometry,\n\tExtrudeBufferGeometry: ExtrudeGeometry,\n\tIcosahedronGeometry: IcosahedronGeometry,\n\tIcosahedronBufferGeometry: IcosahedronGeometry,\n\tLatheGeometry: LatheGeometry,\n\tLatheBufferGeometry: LatheGeometry,\n\tOctahedronGeometry: OctahedronGeometry,\n\tOctahedronBufferGeometry: OctahedronGeometry,\n\tPlaneGeometry: PlaneGeometry,\n\tPlaneBufferGeometry: PlaneGeometry,\n\tPolyhedronGeometry: PolyhedronGeometry,\n\tPolyhedronBufferGeometry: PolyhedronGeometry,\n\tRingGeometry: RingGeometry,\n\tRingBufferGeometry: RingGeometry,\n\tShapeGeometry: ShapeGeometry,\n\tShapeBufferGeometry: ShapeGeometry,\n\tSphereGeometry: SphereGeometry,\n\tSphereBufferGeometry: SphereGeometry,\n\tTetrahedronGeometry: TetrahedronGeometry,\n\tTetrahedronBufferGeometry: TetrahedronGeometry,\n\tTorusGeometry: TorusGeometry,\n\tTorusBufferGeometry: TorusGeometry,\n\tTorusKnotGeometry: TorusKnotGeometry,\n\tTorusKnotBufferGeometry: TorusKnotGeometry,\n\tTubeGeometry: TubeGeometry,\n\tTubeBufferGeometry: TubeGeometry,\n\tWireframeGeometry: WireframeGeometry\n});\n\nclass ShadowMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isShadowMaterial = true;\n\n\t\tthis.type = 'ShadowMaterial';\n\n\t\tthis.color = new Color( 0x000000 );\n\t\tthis.transparent = true;\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass RawShaderMaterial extends ShaderMaterial {\n\n\tconstructor( parameters ) {\n\n\t\tsuper( parameters );\n\n\t\tthis.isRawShaderMaterial = true;\n\n\t\tthis.type = 'RawShaderMaterial';\n\n\t}\n\n}\n\nclass MeshStandardMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshStandardMaterial = true;\n\n\t\tthis.defines = { 'STANDARD': '' };\n\n\t\tthis.type = 'MeshStandardMaterial';\n\n\t\tthis.color = new Color( 0xffffff ); // diffuse\n\t\tthis.roughness = 1.0;\n\t\tthis.metalness = 0.0;\n\n\t\tthis.map = null;\n\n\t\tthis.lightMap = null;\n\t\tthis.lightMapIntensity = 1.0;\n\n\t\tthis.aoMap = null;\n\t\tthis.aoMapIntensity = 1.0;\n\n\t\tthis.emissive = new Color( 0x000000 );\n\t\tthis.emissiveIntensity = 1.0;\n\t\tthis.emissiveMap = null;\n\n\t\tthis.bumpMap = null;\n\t\tthis.bumpScale = 1;\n\n\t\tthis.normalMap = null;\n\t\tthis.normalMapType = TangentSpaceNormalMap;\n\t\tthis.normalScale = new Vector2( 1, 1 );\n\n\t\tthis.displacementMap = null;\n\t\tthis.displacementScale = 1;\n\t\tthis.displacementBias = 0;\n\n\t\tthis.roughnessMap = null;\n\n\t\tthis.metalnessMap = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.envMap = null;\n\t\tthis.envMapIntensity = 1.0;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\t\tthis.wireframeLinecap = 'round';\n\t\tthis.wireframeLinejoin = 'round';\n\n\t\tthis.flatShading = false;\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.defines = { 'STANDARD': '' };\n\n\t\tthis.color.copy( source.color );\n\t\tthis.roughness = source.roughness;\n\t\tthis.metalness = source.metalness;\n\n\t\tthis.map = source.map;\n\n\t\tthis.lightMap = source.lightMap;\n\t\tthis.lightMapIntensity = source.lightMapIntensity;\n\n\t\tthis.aoMap = source.aoMap;\n\t\tthis.aoMapIntensity = source.aoMapIntensity;\n\n\t\tthis.emissive.copy( source.emissive );\n\t\tthis.emissiveMap = source.emissiveMap;\n\t\tthis.emissiveIntensity = source.emissiveIntensity;\n\n\t\tthis.bumpMap = source.bumpMap;\n\t\tthis.bumpScale = source.bumpScale;\n\n\t\tthis.normalMap = source.normalMap;\n\t\tthis.normalMapType = source.normalMapType;\n\t\tthis.normalScale.copy( source.normalScale );\n\n\t\tthis.displacementMap = source.displacementMap;\n\t\tthis.displacementScale = source.displacementScale;\n\t\tthis.displacementBias = source.displacementBias;\n\n\t\tthis.roughnessMap = source.roughnessMap;\n\n\t\tthis.metalnessMap = source.metalnessMap;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.envMap = source.envMap;\n\t\tthis.envMapIntensity = source.envMapIntensity;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\t\tthis.wireframeLinecap = source.wireframeLinecap;\n\t\tthis.wireframeLinejoin = source.wireframeLinejoin;\n\n\t\tthis.flatShading = source.flatShading;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass MeshPhysicalMaterial extends MeshStandardMaterial {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshPhysicalMaterial = true;\n\n\t\tthis.defines = {\n\n\t\t\t'STANDARD': '',\n\t\t\t'PHYSICAL': ''\n\n\t\t};\n\n\t\tthis.type = 'MeshPhysicalMaterial';\n\n\t\tthis.clearcoatMap = null;\n\t\tthis.clearcoatRoughness = 0.0;\n\t\tthis.clearcoatRoughnessMap = null;\n\t\tthis.clearcoatNormalScale = new Vector2( 1, 1 );\n\t\tthis.clearcoatNormalMap = null;\n\n\t\tthis.ior = 1.5;\n\n\t\tObject.defineProperty( this, 'reflectivity', {\n\t\t\tget: function () {\n\n\t\t\t\treturn ( clamp( 2.5 * ( this.ior - 1 ) / ( this.ior + 1 ), 0, 1 ) );\n\n\t\t\t},\n\t\t\tset: function ( reflectivity ) {\n\n\t\t\t\tthis.ior = ( 1 + 0.4 * reflectivity ) / ( 1 - 0.4 * reflectivity );\n\n\t\t\t}\n\t\t} );\n\n\t\tthis.iridescenceMap = null;\n\t\tthis.iridescenceIOR = 1.3;\n\t\tthis.iridescenceThicknessRange = [ 100, 400 ];\n\t\tthis.iridescenceThicknessMap = null;\n\n\t\tthis.sheenColor = new Color( 0x000000 );\n\t\tthis.sheenColorMap = null;\n\t\tthis.sheenRoughness = 1.0;\n\t\tthis.sheenRoughnessMap = null;\n\n\t\tthis.transmissionMap = null;\n\n\t\tthis.thickness = 0;\n\t\tthis.thicknessMap = null;\n\t\tthis.attenuationDistance = 0.0;\n\t\tthis.attenuationColor = new Color( 1, 1, 1 );\n\n\t\tthis.specularIntensity = 1.0;\n\t\tthis.specularIntensityMap = null;\n\t\tthis.specularColor = new Color( 1, 1, 1 );\n\t\tthis.specularColorMap = null;\n\n\t\tthis._sheen = 0.0;\n\t\tthis._clearcoat = 0;\n\t\tthis._iridescence = 0;\n\t\tthis._transmission = 0;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tget sheen() {\n\n\t\treturn this._sheen;\n\n\t}\n\n\tset sheen( value ) {\n\n\t\tif ( this._sheen > 0 !== value > 0 ) {\n\n\t\t\tthis.version ++;\n\n\t\t}\n\n\t\tthis._sheen = value;\n\n\t}\n\n\tget clearcoat() {\n\n\t\treturn this._clearcoat;\n\n\t}\n\n\tset clearcoat( value ) {\n\n\t\tif ( this._clearcoat > 0 !== value > 0 ) {\n\n\t\t\tthis.version ++;\n\n\t\t}\n\n\t\tthis._clearcoat = value;\n\n\t}\n\n\tget iridescence() {\n\n\t\treturn this._iridescence;\n\n\t}\n\n\tset iridescence( value ) {\n\n\t\tif ( this._iridescence > 0 !== value > 0 ) {\n\n\t\t\tthis.version ++;\n\n\t\t}\n\n\t\tthis._iridescence = value;\n\n\t}\n\n\tget transmission() {\n\n\t\treturn this._transmission;\n\n\t}\n\n\tset transmission( value ) {\n\n\t\tif ( this._transmission > 0 !== value > 0 ) {\n\n\t\t\tthis.version ++;\n\n\t\t}\n\n\t\tthis._transmission = value;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.defines = {\n\n\t\t\t'STANDARD': '',\n\t\t\t'PHYSICAL': ''\n\n\t\t};\n\n\t\tthis.clearcoat = source.clearcoat;\n\t\tthis.clearcoatMap = source.clearcoatMap;\n\t\tthis.clearcoatRoughness = source.clearcoatRoughness;\n\t\tthis.clearcoatRoughnessMap = source.clearcoatRoughnessMap;\n\t\tthis.clearcoatNormalMap = source.clearcoatNormalMap;\n\t\tthis.clearcoatNormalScale.copy( source.clearcoatNormalScale );\n\n\t\tthis.ior = source.ior;\n\n\t\tthis.iridescence = source.iridescence;\n\t\tthis.iridescenceMap = source.iridescenceMap;\n\t\tthis.iridescenceIOR = source.iridescenceIOR;\n\t\tthis.iridescenceThicknessRange = [ ...source.iridescenceThicknessRange ];\n\t\tthis.iridescenceThicknessMap = source.iridescenceThicknessMap;\n\n\t\tthis.sheen = source.sheen;\n\t\tthis.sheenColor.copy( source.sheenColor );\n\t\tthis.sheenColorMap = source.sheenColorMap;\n\t\tthis.sheenRoughness = source.sheenRoughness;\n\t\tthis.sheenRoughnessMap = source.sheenRoughnessMap;\n\n\t\tthis.transmission = source.transmission;\n\t\tthis.transmissionMap = source.transmissionMap;\n\n\t\tthis.thickness = source.thickness;\n\t\tthis.thicknessMap = source.thicknessMap;\n\t\tthis.attenuationDistance = source.attenuationDistance;\n\t\tthis.attenuationColor.copy( source.attenuationColor );\n\n\t\tthis.specularIntensity = source.specularIntensity;\n\t\tthis.specularIntensityMap = source.specularIntensityMap;\n\t\tthis.specularColor.copy( source.specularColor );\n\t\tthis.specularColorMap = source.specularColorMap;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass MeshPhongMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshPhongMaterial = true;\n\n\t\tthis.type = 'MeshPhongMaterial';\n\n\t\tthis.color = new Color( 0xffffff ); // diffuse\n\t\tthis.specular = new Color( 0x111111 );\n\t\tthis.shininess = 30;\n\n\t\tthis.map = null;\n\n\t\tthis.lightMap = null;\n\t\tthis.lightMapIntensity = 1.0;\n\n\t\tthis.aoMap = null;\n\t\tthis.aoMapIntensity = 1.0;\n\n\t\tthis.emissive = new Color( 0x000000 );\n\t\tthis.emissiveIntensity = 1.0;\n\t\tthis.emissiveMap = null;\n\n\t\tthis.bumpMap = null;\n\t\tthis.bumpScale = 1;\n\n\t\tthis.normalMap = null;\n\t\tthis.normalMapType = TangentSpaceNormalMap;\n\t\tthis.normalScale = new Vector2( 1, 1 );\n\n\t\tthis.displacementMap = null;\n\t\tthis.displacementScale = 1;\n\t\tthis.displacementBias = 0;\n\n\t\tthis.specularMap = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.envMap = null;\n\t\tthis.combine = MultiplyOperation;\n\t\tthis.reflectivity = 1;\n\t\tthis.refractionRatio = 0.98;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\t\tthis.wireframeLinecap = 'round';\n\t\tthis.wireframeLinejoin = 'round';\n\n\t\tthis.flatShading = false;\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\t\tthis.specular.copy( source.specular );\n\t\tthis.shininess = source.shininess;\n\n\t\tthis.map = source.map;\n\n\t\tthis.lightMap = source.lightMap;\n\t\tthis.lightMapIntensity = source.lightMapIntensity;\n\n\t\tthis.aoMap = source.aoMap;\n\t\tthis.aoMapIntensity = source.aoMapIntensity;\n\n\t\tthis.emissive.copy( source.emissive );\n\t\tthis.emissiveMap = source.emissiveMap;\n\t\tthis.emissiveIntensity = source.emissiveIntensity;\n\n\t\tthis.bumpMap = source.bumpMap;\n\t\tthis.bumpScale = source.bumpScale;\n\n\t\tthis.normalMap = source.normalMap;\n\t\tthis.normalMapType = source.normalMapType;\n\t\tthis.normalScale.copy( source.normalScale );\n\n\t\tthis.displacementMap = source.displacementMap;\n\t\tthis.displacementScale = source.displacementScale;\n\t\tthis.displacementBias = source.displacementBias;\n\n\t\tthis.specularMap = source.specularMap;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.envMap = source.envMap;\n\t\tthis.combine = source.combine;\n\t\tthis.reflectivity = source.reflectivity;\n\t\tthis.refractionRatio = source.refractionRatio;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\t\tthis.wireframeLinecap = source.wireframeLinecap;\n\t\tthis.wireframeLinejoin = source.wireframeLinejoin;\n\n\t\tthis.flatShading = source.flatShading;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass MeshToonMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshToonMaterial = true;\n\n\t\tthis.defines = { 'TOON': '' };\n\n\t\tthis.type = 'MeshToonMaterial';\n\n\t\tthis.color = new Color( 0xffffff );\n\n\t\tthis.map = null;\n\t\tthis.gradientMap = null;\n\n\t\tthis.lightMap = null;\n\t\tthis.lightMapIntensity = 1.0;\n\n\t\tthis.aoMap = null;\n\t\tthis.aoMapIntensity = 1.0;\n\n\t\tthis.emissive = new Color( 0x000000 );\n\t\tthis.emissiveIntensity = 1.0;\n\t\tthis.emissiveMap = null;\n\n\t\tthis.bumpMap = null;\n\t\tthis.bumpScale = 1;\n\n\t\tthis.normalMap = null;\n\t\tthis.normalMapType = TangentSpaceNormalMap;\n\t\tthis.normalScale = new Vector2( 1, 1 );\n\n\t\tthis.displacementMap = null;\n\t\tthis.displacementScale = 1;\n\t\tthis.displacementBias = 0;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\t\tthis.wireframeLinecap = 'round';\n\t\tthis.wireframeLinejoin = 'round';\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\t\tthis.gradientMap = source.gradientMap;\n\n\t\tthis.lightMap = source.lightMap;\n\t\tthis.lightMapIntensity = source.lightMapIntensity;\n\n\t\tthis.aoMap = source.aoMap;\n\t\tthis.aoMapIntensity = source.aoMapIntensity;\n\n\t\tthis.emissive.copy( source.emissive );\n\t\tthis.emissiveMap = source.emissiveMap;\n\t\tthis.emissiveIntensity = source.emissiveIntensity;\n\n\t\tthis.bumpMap = source.bumpMap;\n\t\tthis.bumpScale = source.bumpScale;\n\n\t\tthis.normalMap = source.normalMap;\n\t\tthis.normalMapType = source.normalMapType;\n\t\tthis.normalScale.copy( source.normalScale );\n\n\t\tthis.displacementMap = source.displacementMap;\n\t\tthis.displacementScale = source.displacementScale;\n\t\tthis.displacementBias = source.displacementBias;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\t\tthis.wireframeLinecap = source.wireframeLinecap;\n\t\tthis.wireframeLinejoin = source.wireframeLinejoin;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass MeshNormalMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshNormalMaterial = true;\n\n\t\tthis.type = 'MeshNormalMaterial';\n\n\t\tthis.bumpMap = null;\n\t\tthis.bumpScale = 1;\n\n\t\tthis.normalMap = null;\n\t\tthis.normalMapType = TangentSpaceNormalMap;\n\t\tthis.normalScale = new Vector2( 1, 1 );\n\n\t\tthis.displacementMap = null;\n\t\tthis.displacementScale = 1;\n\t\tthis.displacementBias = 0;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\n\t\tthis.flatShading = false;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.bumpMap = source.bumpMap;\n\t\tthis.bumpScale = source.bumpScale;\n\n\t\tthis.normalMap = source.normalMap;\n\t\tthis.normalMapType = source.normalMapType;\n\t\tthis.normalScale.copy( source.normalScale );\n\n\t\tthis.displacementMap = source.displacementMap;\n\t\tthis.displacementScale = source.displacementScale;\n\t\tthis.displacementBias = source.displacementBias;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\n\t\tthis.flatShading = source.flatShading;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass MeshLambertMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshLambertMaterial = true;\n\n\t\tthis.type = 'MeshLambertMaterial';\n\n\t\tthis.color = new Color( 0xffffff ); // diffuse\n\n\t\tthis.map = null;\n\n\t\tthis.lightMap = null;\n\t\tthis.lightMapIntensity = 1.0;\n\n\t\tthis.aoMap = null;\n\t\tthis.aoMapIntensity = 1.0;\n\n\t\tthis.emissive = new Color( 0x000000 );\n\t\tthis.emissiveIntensity = 1.0;\n\t\tthis.emissiveMap = null;\n\n\t\tthis.specularMap = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.envMap = null;\n\t\tthis.combine = MultiplyOperation;\n\t\tthis.reflectivity = 1;\n\t\tthis.refractionRatio = 0.98;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\t\tthis.wireframeLinecap = 'round';\n\t\tthis.wireframeLinejoin = 'round';\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.lightMap = source.lightMap;\n\t\tthis.lightMapIntensity = source.lightMapIntensity;\n\n\t\tthis.aoMap = source.aoMap;\n\t\tthis.aoMapIntensity = source.aoMapIntensity;\n\n\t\tthis.emissive.copy( source.emissive );\n\t\tthis.emissiveMap = source.emissiveMap;\n\t\tthis.emissiveIntensity = source.emissiveIntensity;\n\n\t\tthis.specularMap = source.specularMap;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.envMap = source.envMap;\n\t\tthis.combine = source.combine;\n\t\tthis.reflectivity = source.reflectivity;\n\t\tthis.refractionRatio = source.refractionRatio;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\t\tthis.wireframeLinecap = source.wireframeLinecap;\n\t\tthis.wireframeLinejoin = source.wireframeLinejoin;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass MeshMatcapMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshMatcapMaterial = true;\n\n\t\tthis.defines = { 'MATCAP': '' };\n\n\t\tthis.type = 'MeshMatcapMaterial';\n\n\t\tthis.color = new Color( 0xffffff ); // diffuse\n\n\t\tthis.matcap = null;\n\n\t\tthis.map = null;\n\n\t\tthis.bumpMap = null;\n\t\tthis.bumpScale = 1;\n\n\t\tthis.normalMap = null;\n\t\tthis.normalMapType = TangentSpaceNormalMap;\n\t\tthis.normalScale = new Vector2( 1, 1 );\n\n\t\tthis.displacementMap = null;\n\t\tthis.displacementScale = 1;\n\t\tthis.displacementBias = 0;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.flatShading = false;\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.defines = { 'MATCAP': '' };\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.matcap = source.matcap;\n\n\t\tthis.map = source.map;\n\n\t\tthis.bumpMap = source.bumpMap;\n\t\tthis.bumpScale = source.bumpScale;\n\n\t\tthis.normalMap = source.normalMap;\n\t\tthis.normalMapType = source.normalMapType;\n\t\tthis.normalScale.copy( source.normalScale );\n\n\t\tthis.displacementMap = source.displacementMap;\n\t\tthis.displacementScale = source.displacementScale;\n\t\tthis.displacementBias = source.displacementBias;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.flatShading = source.flatShading;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass LineDashedMaterial extends LineBasicMaterial {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isLineDashedMaterial = true;\n\n\t\tthis.type = 'LineDashedMaterial';\n\n\t\tthis.scale = 1;\n\t\tthis.dashSize = 3;\n\t\tthis.gapSize = 1;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.scale = source.scale;\n\t\tthis.dashSize = source.dashSize;\n\t\tthis.gapSize = source.gapSize;\n\n\t\treturn this;\n\n\t}\n\n}\n\n// same as Array.prototype.slice, but also works on typed arrays\nfunction arraySlice( array, from, to ) {\n\n\tif ( isTypedArray( array ) ) {\n\n\t\t// in ios9 array.subarray(from, undefined) will return empty array\n\t\t// but array.subarray(from) or array.subarray(from, len) is correct\n\t\treturn new array.constructor( array.subarray( from, to !== undefined ? to : array.length ) );\n\n\t}\n\n\treturn array.slice( from, to );\n\n}\n\n// converts an array to a specific type\nfunction convertArray( array, type, forceClone ) {\n\n\tif ( ! array || // let 'undefined' and 'null' pass\n\t\t! forceClone && array.constructor === type ) return array;\n\n\tif ( typeof type.BYTES_PER_ELEMENT === 'number' ) {\n\n\t\treturn new type( array ); // create typed array\n\n\t}\n\n\treturn Array.prototype.slice.call( array ); // create Array\n\n}\n\nfunction isTypedArray( object ) {\n\n\treturn ArrayBuffer.isView( object ) &&\n\t\t! ( object instanceof DataView );\n\n}\n\n// returns an array by which times and values can be sorted\nfunction getKeyframeOrder( times ) {\n\n\tfunction compareTime( i, j ) {\n\n\t\treturn times[ i ] - times[ j ];\n\n\t}\n\n\tconst n = times.length;\n\tconst result = new Array( n );\n\tfor ( let i = 0; i !== n; ++ i ) result[ i ] = i;\n\n\tresult.sort( compareTime );\n\n\treturn result;\n\n}\n\n// uses the array previously returned by 'getKeyframeOrder' to sort data\nfunction sortedArray( values, stride, order ) {\n\n\tconst nValues = values.length;\n\tconst result = new values.constructor( nValues );\n\n\tfor ( let i = 0, dstOffset = 0; dstOffset !== nValues; ++ i ) {\n\n\t\tconst srcOffset = order[ i ] * stride;\n\n\t\tfor ( let j = 0; j !== stride; ++ j ) {\n\n\t\t\tresult[ dstOffset ++ ] = values[ srcOffset + j ];\n\n\t\t}\n\n\t}\n\n\treturn result;\n\n}\n\n// function for parsing AOS keyframe formats\nfunction flattenJSON( jsonKeys, times, values, valuePropertyName ) {\n\n\tlet i = 1, key = jsonKeys[ 0 ];\n\n\twhile ( key !== undefined && key[ valuePropertyName ] === undefined ) {\n\n\t\tkey = jsonKeys[ i ++ ];\n\n\t}\n\n\tif ( key === undefined ) return; // no data\n\n\tlet value = key[ valuePropertyName ];\n\tif ( value === undefined ) return; // no data\n\n\tif ( Array.isArray( value ) ) {\n\n\t\tdo {\n\n\t\t\tvalue = key[ valuePropertyName ];\n\n\t\t\tif ( value !== undefined ) {\n\n\t\t\t\ttimes.push( key.time );\n\t\t\t\tvalues.push.apply( values, value ); // push all elements\n\n\t\t\t}\n\n\t\t\tkey = jsonKeys[ i ++ ];\n\n\t\t} while ( key !== undefined );\n\n\t} else if ( value.toArray !== undefined ) {\n\n\t\t// ...assume THREE.Math-ish\n\n\t\tdo {\n\n\t\t\tvalue = key[ valuePropertyName ];\n\n\t\t\tif ( value !== undefined ) {\n\n\t\t\t\ttimes.push( key.time );\n\t\t\t\tvalue.toArray( values, values.length );\n\n\t\t\t}\n\n\t\t\tkey = jsonKeys[ i ++ ];\n\n\t\t} while ( key !== undefined );\n\n\t} else {\n\n\t\t// otherwise push as-is\n\n\t\tdo {\n\n\t\t\tvalue = key[ valuePropertyName ];\n\n\t\t\tif ( value !== undefined ) {\n\n\t\t\t\ttimes.push( key.time );\n\t\t\t\tvalues.push( value );\n\n\t\t\t}\n\n\t\t\tkey = jsonKeys[ i ++ ];\n\n\t\t} while ( key !== undefined );\n\n\t}\n\n}\n\nfunction subclip( sourceClip, name, startFrame, endFrame, fps = 30 ) {\n\n\tconst clip = sourceClip.clone();\n\n\tclip.name = name;\n\n\tconst tracks = [];\n\n\tfor ( let i = 0; i < clip.tracks.length; ++ i ) {\n\n\t\tconst track = clip.tracks[ i ];\n\t\tconst valueSize = track.getValueSize();\n\n\t\tconst times = [];\n\t\tconst values = [];\n\n\t\tfor ( let j = 0; j < track.times.length; ++ j ) {\n\n\t\t\tconst frame = track.times[ j ] * fps;\n\n\t\t\tif ( frame < startFrame || frame >= endFrame ) continue;\n\n\t\t\ttimes.push( track.times[ j ] );\n\n\t\t\tfor ( let k = 0; k < valueSize; ++ k ) {\n\n\t\t\t\tvalues.push( track.values[ j * valueSize + k ] );\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( times.length === 0 ) continue;\n\n\t\ttrack.times = convertArray( times, track.times.constructor );\n\t\ttrack.values = convertArray( values, track.values.constructor );\n\n\t\ttracks.push( track );\n\n\t}\n\n\tclip.tracks = tracks;\n\n\t// find minimum .times value across all tracks in the trimmed clip\n\n\tlet minStartTime = Infinity;\n\n\tfor ( let i = 0; i < clip.tracks.length; ++ i ) {\n\n\t\tif ( minStartTime > clip.tracks[ i ].times[ 0 ] ) {\n\n\t\t\tminStartTime = clip.tracks[ i ].times[ 0 ];\n\n\t\t}\n\n\t}\n\n\t// shift all tracks such that clip begins at t=0\n\n\tfor ( let i = 0; i < clip.tracks.length; ++ i ) {\n\n\t\tclip.tracks[ i ].shift( - 1 * minStartTime );\n\n\t}\n\n\tclip.resetDuration();\n\n\treturn clip;\n\n}\n\nfunction makeClipAdditive( targetClip, referenceFrame = 0, referenceClip = targetClip, fps = 30 ) {\n\n\tif ( fps <= 0 ) fps = 30;\n\n\tconst numTracks = referenceClip.tracks.length;\n\tconst referenceTime = referenceFrame / fps;\n\n\t// Make each track's values relative to the values at the reference frame\n\tfor ( let i = 0; i < numTracks; ++ i ) {\n\n\t\tconst referenceTrack = referenceClip.tracks[ i ];\n\t\tconst referenceTrackType = referenceTrack.ValueTypeName;\n\n\t\t// Skip this track if it's non-numeric\n\t\tif ( referenceTrackType === 'bool' || referenceTrackType === 'string' ) continue;\n\n\t\t// Find the track in the target clip whose name and type matches the reference track\n\t\tconst targetTrack = targetClip.tracks.find( function ( track ) {\n\n\t\t\treturn track.name === referenceTrack.name\n\t\t\t\t&& track.ValueTypeName === referenceTrackType;\n\n\t\t} );\n\n\t\tif ( targetTrack === undefined ) continue;\n\n\t\tlet referenceOffset = 0;\n\t\tconst referenceValueSize = referenceTrack.getValueSize();\n\n\t\tif ( referenceTrack.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline ) {\n\n\t\t\treferenceOffset = referenceValueSize / 3;\n\n\t\t}\n\n\t\tlet targetOffset = 0;\n\t\tconst targetValueSize = targetTrack.getValueSize();\n\n\t\tif ( targetTrack.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline ) {\n\n\t\t\ttargetOffset = targetValueSize / 3;\n\n\t\t}\n\n\t\tconst lastIndex = referenceTrack.times.length - 1;\n\t\tlet referenceValue;\n\n\t\t// Find the value to subtract out of the track\n\t\tif ( referenceTime <= referenceTrack.times[ 0 ] ) {\n\n\t\t\t// Reference frame is earlier than the first keyframe, so just use the first keyframe\n\t\t\tconst startIndex = referenceOffset;\n\t\t\tconst endIndex = referenceValueSize - referenceOffset;\n\t\t\treferenceValue = arraySlice( referenceTrack.values, startIndex, endIndex );\n\n\t\t} else if ( referenceTime >= referenceTrack.times[ lastIndex ] ) {\n\n\t\t\t// Reference frame is after the last keyframe, so just use the last keyframe\n\t\t\tconst startIndex = lastIndex * referenceValueSize + referenceOffset;\n\t\t\tconst endIndex = startIndex + referenceValueSize - referenceOffset;\n\t\t\treferenceValue = arraySlice( referenceTrack.values, startIndex, endIndex );\n\n\t\t} else {\n\n\t\t\t// Interpolate to the reference value\n\t\t\tconst interpolant = referenceTrack.createInterpolant();\n\t\t\tconst startIndex = referenceOffset;\n\t\t\tconst endIndex = referenceValueSize - referenceOffset;\n\t\t\tinterpolant.evaluate( referenceTime );\n\t\t\treferenceValue = arraySlice( interpolant.resultBuffer, startIndex, endIndex );\n\n\t\t}\n\n\t\t// Conjugate the quaternion\n\t\tif ( referenceTrackType === 'quaternion' ) {\n\n\t\t\tconst referenceQuat = new Quaternion().fromArray( referenceValue ).normalize().conjugate();\n\t\t\treferenceQuat.toArray( referenceValue );\n\n\t\t}\n\n\t\t// Subtract the reference value from all of the track values\n\n\t\tconst numTimes = targetTrack.times.length;\n\t\tfor ( let j = 0; j < numTimes; ++ j ) {\n\n\t\t\tconst valueStart = j * targetValueSize + targetOffset;\n\n\t\t\tif ( referenceTrackType === 'quaternion' ) {\n\n\t\t\t\t// Multiply the conjugate for quaternion track types\n\t\t\t\tQuaternion.multiplyQuaternionsFlat(\n\t\t\t\t\ttargetTrack.values,\n\t\t\t\t\tvalueStart,\n\t\t\t\t\treferenceValue,\n\t\t\t\t\t0,\n\t\t\t\t\ttargetTrack.values,\n\t\t\t\t\tvalueStart\n\t\t\t\t);\n\n\t\t\t} else {\n\n\t\t\t\tconst valueEnd = targetValueSize - targetOffset * 2;\n\n\t\t\t\t// Subtract each value for all other numeric track types\n\t\t\t\tfor ( let k = 0; k < valueEnd; ++ k ) {\n\n\t\t\t\t\ttargetTrack.values[ valueStart + k ] -= referenceValue[ k ];\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\ttargetClip.blendMode = AdditiveAnimationBlendMode;\n\n\treturn targetClip;\n\n}\n\nvar AnimationUtils = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tarraySlice: arraySlice,\n\tconvertArray: convertArray,\n\tisTypedArray: isTypedArray,\n\tgetKeyframeOrder: getKeyframeOrder,\n\tsortedArray: sortedArray,\n\tflattenJSON: flattenJSON,\n\tsubclip: subclip,\n\tmakeClipAdditive: makeClipAdditive\n});\n\n/**\n * Abstract base class of interpolants over parametric samples.\n *\n * The parameter domain is one dimensional, typically the time or a path\n * along a curve defined by the data.\n *\n * The sample values can have any dimensionality and derived classes may\n * apply special interpretations to the data.\n *\n * This class provides the interval seek in a Template Method, deferring\n * the actual interpolation to derived classes.\n *\n * Time complexity is O(1) for linear access crossing at most two points\n * and O(log N) for random access, where N is the number of positions.\n *\n * References:\n *\n * \t\thttp://www.oodesign.com/template-method-pattern.html\n *\n */\n\nclass Interpolant {\n\n\tconstructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {\n\n\t\tthis.parameterPositions = parameterPositions;\n\t\tthis._cachedIndex = 0;\n\n\t\tthis.resultBuffer = resultBuffer !== undefined ?\n\t\t\tresultBuffer : new sampleValues.constructor( sampleSize );\n\t\tthis.sampleValues = sampleValues;\n\t\tthis.valueSize = sampleSize;\n\n\t\tthis.settings = null;\n\t\tthis.DefaultSettings_ = {};\n\n\t}\n\n\tevaluate( t ) {\n\n\t\tconst pp = this.parameterPositions;\n\t\tlet i1 = this._cachedIndex,\n\t\t\tt1 = pp[ i1 ],\n\t\t\tt0 = pp[ i1 - 1 ];\n\n\t\tvalidate_interval: {\n\n\t\t\tseek: {\n\n\t\t\t\tlet right;\n\n\t\t\t\tlinear_scan: {\n\n\t\t\t\t\t//- See http://jsperf.com/comparison-to-undefined/3\n\t\t\t\t\t//- slower code:\n\t\t\t\t\t//-\n\t\t\t\t\t//- \t\t\t\tif ( t >= t1 || t1 === undefined ) {\n\t\t\t\t\tforward_scan: if ( ! ( t < t1 ) ) {\n\n\t\t\t\t\t\tfor ( let giveUpAt = i1 + 2; ; ) {\n\n\t\t\t\t\t\t\tif ( t1 === undefined ) {\n\n\t\t\t\t\t\t\t\tif ( t < t0 ) break forward_scan;\n\n\t\t\t\t\t\t\t\t// after end\n\n\t\t\t\t\t\t\t\ti1 = pp.length;\n\t\t\t\t\t\t\t\tthis._cachedIndex = i1;\n\t\t\t\t\t\t\t\treturn this.copySampleValue_( i1 - 1 );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( i1 === giveUpAt ) break; // this loop\n\n\t\t\t\t\t\t\tt0 = t1;\n\t\t\t\t\t\t\tt1 = pp[ ++ i1 ];\n\n\t\t\t\t\t\t\tif ( t < t1 ) {\n\n\t\t\t\t\t\t\t\t// we have arrived at the sought interval\n\t\t\t\t\t\t\t\tbreak seek;\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// prepare binary search on the right side of the index\n\t\t\t\t\t\tright = pp.length;\n\t\t\t\t\t\tbreak linear_scan;\n\n\t\t\t\t\t}\n\n\t\t\t\t\t//- slower code:\n\t\t\t\t\t//-\t\t\t\t\tif ( t < t0 || t0 === undefined ) {\n\t\t\t\t\tif ( ! ( t >= t0 ) ) {\n\n\t\t\t\t\t\t// looping?\n\n\t\t\t\t\t\tconst t1global = pp[ 1 ];\n\n\t\t\t\t\t\tif ( t < t1global ) {\n\n\t\t\t\t\t\t\ti1 = 2; // + 1, using the scan for the details\n\t\t\t\t\t\t\tt0 = t1global;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// linear reverse scan\n\n\t\t\t\t\t\tfor ( let giveUpAt = i1 - 2; ; ) {\n\n\t\t\t\t\t\t\tif ( t0 === undefined ) {\n\n\t\t\t\t\t\t\t\t// before start\n\n\t\t\t\t\t\t\t\tthis._cachedIndex = 0;\n\t\t\t\t\t\t\t\treturn this.copySampleValue_( 0 );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( i1 === giveUpAt ) break; // this loop\n\n\t\t\t\t\t\t\tt1 = t0;\n\t\t\t\t\t\t\tt0 = pp[ -- i1 - 1 ];\n\n\t\t\t\t\t\t\tif ( t >= t0 ) {\n\n\t\t\t\t\t\t\t\t// we have arrived at the sought interval\n\t\t\t\t\t\t\t\tbreak seek;\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// prepare binary search on the left side of the index\n\t\t\t\t\t\tright = i1;\n\t\t\t\t\t\ti1 = 0;\n\t\t\t\t\t\tbreak linear_scan;\n\n\t\t\t\t\t}\n\n\t\t\t\t\t// the interval is valid\n\n\t\t\t\t\tbreak validate_interval;\n\n\t\t\t\t} // linear scan\n\n\t\t\t\t// binary search\n\n\t\t\t\twhile ( i1 < right ) {\n\n\t\t\t\t\tconst mid = ( i1 + right ) >>> 1;\n\n\t\t\t\t\tif ( t < pp[ mid ] ) {\n\n\t\t\t\t\t\tright = mid;\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\ti1 = mid + 1;\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tt1 = pp[ i1 ];\n\t\t\t\tt0 = pp[ i1 - 1 ];\n\n\t\t\t\t// check boundary cases, again\n\n\t\t\t\tif ( t0 === undefined ) {\n\n\t\t\t\t\tthis._cachedIndex = 0;\n\t\t\t\t\treturn this.copySampleValue_( 0 );\n\n\t\t\t\t}\n\n\t\t\t\tif ( t1 === undefined ) {\n\n\t\t\t\t\ti1 = pp.length;\n\t\t\t\t\tthis._cachedIndex = i1;\n\t\t\t\t\treturn this.copySampleValue_( i1 - 1 );\n\n\t\t\t\t}\n\n\t\t\t} // seek\n\n\t\t\tthis._cachedIndex = i1;\n\n\t\t\tthis.intervalChanged_( i1, t0, t1 );\n\n\t\t} // validate_interval\n\n\t\treturn this.interpolate_( i1, t0, t, t1 );\n\n\t}\n\n\tgetSettings_() {\n\n\t\treturn this.settings || this.DefaultSettings_;\n\n\t}\n\n\tcopySampleValue_( index ) {\n\n\t\t// copies a sample value to the result buffer\n\n\t\tconst result = this.resultBuffer,\n\t\t\tvalues = this.sampleValues,\n\t\t\tstride = this.valueSize,\n\t\t\toffset = index * stride;\n\n\t\tfor ( let i = 0; i !== stride; ++ i ) {\n\n\t\t\tresult[ i ] = values[ offset + i ];\n\n\t\t}\n\n\t\treturn result;\n\n\t}\n\n\t// Template methods for derived classes:\n\n\tinterpolate_( /* i1, t0, t, t1 */ ) {\n\n\t\tthrow new Error( 'call to abstract method' );\n\t\t// implementations shall return this.resultBuffer\n\n\t}\n\n\tintervalChanged_( /* i1, t0, t1 */ ) {\n\n\t\t// empty\n\n\t}\n\n}\n\n/**\n * Fast and simple cubic spline interpolant.\n *\n * It was derived from a Hermitian construction setting the first derivative\n * at each sample position to the linear slope between neighboring positions\n * over their parameter interval.\n */\n\nclass CubicInterpolant extends Interpolant {\n\n\tconstructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {\n\n\t\tsuper( parameterPositions, sampleValues, sampleSize, resultBuffer );\n\n\t\tthis._weightPrev = - 0;\n\t\tthis._offsetPrev = - 0;\n\t\tthis._weightNext = - 0;\n\t\tthis._offsetNext = - 0;\n\n\t\tthis.DefaultSettings_ = {\n\n\t\t\tendingStart: ZeroCurvatureEnding,\n\t\t\tendingEnd: ZeroCurvatureEnding\n\n\t\t};\n\n\t}\n\n\tintervalChanged_( i1, t0, t1 ) {\n\n\t\tconst pp = this.parameterPositions;\n\t\tlet iPrev = i1 - 2,\n\t\t\tiNext = i1 + 1,\n\n\t\t\ttPrev = pp[ iPrev ],\n\t\t\ttNext = pp[ iNext ];\n\n\t\tif ( tPrev === undefined ) {\n\n\t\t\tswitch ( this.getSettings_().endingStart ) {\n\n\t\t\t\tcase ZeroSlopeEnding:\n\n\t\t\t\t\t// f'(t0) = 0\n\t\t\t\t\tiPrev = i1;\n\t\t\t\t\ttPrev = 2 * t0 - t1;\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase WrapAroundEnding:\n\n\t\t\t\t\t// use the other end of the curve\n\t\t\t\t\tiPrev = pp.length - 2;\n\t\t\t\t\ttPrev = t0 + pp[ iPrev ] - pp[ iPrev + 1 ];\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault: // ZeroCurvatureEnding\n\n\t\t\t\t\t// f''(t0) = 0 a.k.a. Natural Spline\n\t\t\t\t\tiPrev = i1;\n\t\t\t\t\ttPrev = t1;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( tNext === undefined ) {\n\n\t\t\tswitch ( this.getSettings_().endingEnd ) {\n\n\t\t\t\tcase ZeroSlopeEnding:\n\n\t\t\t\t\t// f'(tN) = 0\n\t\t\t\t\tiNext = i1;\n\t\t\t\t\ttNext = 2 * t1 - t0;\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase WrapAroundEnding:\n\n\t\t\t\t\t// use the other end of the curve\n\t\t\t\t\tiNext = 1;\n\t\t\t\t\ttNext = t1 + pp[ 1 ] - pp[ 0 ];\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault: // ZeroCurvatureEnding\n\n\t\t\t\t\t// f''(tN) = 0, a.k.a. Natural Spline\n\t\t\t\t\tiNext = i1 - 1;\n\t\t\t\t\ttNext = t0;\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst halfDt = ( t1 - t0 ) * 0.5,\n\t\t\tstride = this.valueSize;\n\n\t\tthis._weightPrev = halfDt / ( t0 - tPrev );\n\t\tthis._weightNext = halfDt / ( tNext - t1 );\n\t\tthis._offsetPrev = iPrev * stride;\n\t\tthis._offsetNext = iNext * stride;\n\n\t}\n\n\tinterpolate_( i1, t0, t, t1 ) {\n\n\t\tconst result = this.resultBuffer,\n\t\t\tvalues = this.sampleValues,\n\t\t\tstride = this.valueSize,\n\n\t\t\to1 = i1 * stride,\t\to0 = o1 - stride,\n\t\t\toP = this._offsetPrev, \toN = this._offsetNext,\n\t\t\twP = this._weightPrev,\twN = this._weightNext,\n\n\t\t\tp = ( t - t0 ) / ( t1 - t0 ),\n\t\t\tpp = p * p,\n\t\t\tppp = pp * p;\n\n\t\t// evaluate polynomials\n\n\t\tconst sP = - wP * ppp + 2 * wP * pp - wP * p;\n\t\tconst s0 = ( 1 + wP ) * ppp + ( - 1.5 - 2 * wP ) * pp + ( - 0.5 + wP ) * p + 1;\n\t\tconst s1 = ( - 1 - wN ) * ppp + ( 1.5 + wN ) * pp + 0.5 * p;\n\t\tconst sN = wN * ppp - wN * pp;\n\n\t\t// combine data linearly\n\n\t\tfor ( let i = 0; i !== stride; ++ i ) {\n\n\t\t\tresult[ i ] =\n\t\t\t\t\tsP * values[ oP + i ] +\n\t\t\t\t\ts0 * values[ o0 + i ] +\n\t\t\t\t\ts1 * values[ o1 + i ] +\n\t\t\t\t\tsN * values[ oN + i ];\n\n\t\t}\n\n\t\treturn result;\n\n\t}\n\n}\n\nclass LinearInterpolant extends Interpolant {\n\n\tconstructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {\n\n\t\tsuper( parameterPositions, sampleValues, sampleSize, resultBuffer );\n\n\t}\n\n\tinterpolate_( i1, t0, t, t1 ) {\n\n\t\tconst result = this.resultBuffer,\n\t\t\tvalues = this.sampleValues,\n\t\t\tstride = this.valueSize,\n\n\t\t\toffset1 = i1 * stride,\n\t\t\toffset0 = offset1 - stride,\n\n\t\t\tweight1 = ( t - t0 ) / ( t1 - t0 ),\n\t\t\tweight0 = 1 - weight1;\n\n\t\tfor ( let i = 0; i !== stride; ++ i ) {\n\n\t\t\tresult[ i ] =\n\t\t\t\t\tvalues[ offset0 + i ] * weight0 +\n\t\t\t\t\tvalues[ offset1 + i ] * weight1;\n\n\t\t}\n\n\t\treturn result;\n\n\t}\n\n}\n\n/**\n *\n * Interpolant that evaluates to the sample value at the position preceding\n * the parameter.\n */\n\nclass DiscreteInterpolant extends Interpolant {\n\n\tconstructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {\n\n\t\tsuper( parameterPositions, sampleValues, sampleSize, resultBuffer );\n\n\t}\n\n\tinterpolate_( i1 /*, t0, t, t1 */ ) {\n\n\t\treturn this.copySampleValue_( i1 - 1 );\n\n\t}\n\n}\n\nclass KeyframeTrack {\n\n\tconstructor( name, times, values, interpolation ) {\n\n\t\tif ( name === undefined ) throw new Error( 'THREE.KeyframeTrack: track name is undefined' );\n\t\tif ( times === undefined || times.length === 0 ) throw new Error( 'THREE.KeyframeTrack: no keyframes in track named ' + name );\n\n\t\tthis.name = name;\n\n\t\tthis.times = convertArray( times, this.TimeBufferType );\n\t\tthis.values = convertArray( values, this.ValueBufferType );\n\n\t\tthis.setInterpolation( interpolation || this.DefaultInterpolation );\n\n\t}\n\n\t// Serialization (in static context, because of constructor invocation\n\t// and automatic invocation of .toJSON):\n\n\tstatic toJSON( track ) {\n\n\t\tconst trackType = track.constructor;\n\n\t\tlet json;\n\n\t\t// derived classes can define a static toJSON method\n\t\tif ( trackType.toJSON !== this.toJSON ) {\n\n\t\t\tjson = trackType.toJSON( track );\n\n\t\t} else {\n\n\t\t\t// by default, we assume the data can be serialized as-is\n\t\t\tjson = {\n\n\t\t\t\t'name': track.name,\n\t\t\t\t'times': convertArray( track.times, Array ),\n\t\t\t\t'values': convertArray( track.values, Array )\n\n\t\t\t};\n\n\t\t\tconst interpolation = track.getInterpolation();\n\n\t\t\tif ( interpolation !== track.DefaultInterpolation ) {\n\n\t\t\t\tjson.interpolation = interpolation;\n\n\t\t\t}\n\n\t\t}\n\n\t\tjson.type = track.ValueTypeName; // mandatory\n\n\t\treturn json;\n\n\t}\n\n\tInterpolantFactoryMethodDiscrete( result ) {\n\n\t\treturn new DiscreteInterpolant( this.times, this.values, this.getValueSize(), result );\n\n\t}\n\n\tInterpolantFactoryMethodLinear( result ) {\n\n\t\treturn new LinearInterpolant( this.times, this.values, this.getValueSize(), result );\n\n\t}\n\n\tInterpolantFactoryMethodSmooth( result ) {\n\n\t\treturn new CubicInterpolant( this.times, this.values, this.getValueSize(), result );\n\n\t}\n\n\tsetInterpolation( interpolation ) {\n\n\t\tlet factoryMethod;\n\n\t\tswitch ( interpolation ) {\n\n\t\t\tcase InterpolateDiscrete:\n\n\t\t\t\tfactoryMethod = this.InterpolantFactoryMethodDiscrete;\n\n\t\t\t\tbreak;\n\n\t\t\tcase InterpolateLinear:\n\n\t\t\t\tfactoryMethod = this.InterpolantFactoryMethodLinear;\n\n\t\t\t\tbreak;\n\n\t\t\tcase InterpolateSmooth:\n\n\t\t\t\tfactoryMethod = this.InterpolantFactoryMethodSmooth;\n\n\t\t\t\tbreak;\n\n\t\t}\n\n\t\tif ( factoryMethod === undefined ) {\n\n\t\t\tconst message = 'unsupported interpolation for ' +\n\t\t\t\tthis.ValueTypeName + ' keyframe track named ' + this.name;\n\n\t\t\tif ( this.createInterpolant === undefined ) {\n\n\t\t\t\t// fall back to default, unless the default itself is messed up\n\t\t\t\tif ( interpolation !== this.DefaultInterpolation ) {\n\n\t\t\t\t\tthis.setInterpolation( this.DefaultInterpolation );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthrow new Error( message ); // fatal, in this case\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconsole.warn( 'THREE.KeyframeTrack:', message );\n\t\t\treturn this;\n\n\t\t}\n\n\t\tthis.createInterpolant = factoryMethod;\n\n\t\treturn this;\n\n\t}\n\n\tgetInterpolation() {\n\n\t\tswitch ( this.createInterpolant ) {\n\n\t\t\tcase this.InterpolantFactoryMethodDiscrete:\n\n\t\t\t\treturn InterpolateDiscrete;\n\n\t\t\tcase this.InterpolantFactoryMethodLinear:\n\n\t\t\t\treturn InterpolateLinear;\n\n\t\t\tcase this.InterpolantFactoryMethodSmooth:\n\n\t\t\t\treturn InterpolateSmooth;\n\n\t\t}\n\n\t}\n\n\tgetValueSize() {\n\n\t\treturn this.values.length / this.times.length;\n\n\t}\n\n\t// move all keyframes either forwards or backwards in time\n\tshift( timeOffset ) {\n\n\t\tif ( timeOffset !== 0.0 ) {\n\n\t\t\tconst times = this.times;\n\n\t\t\tfor ( let i = 0, n = times.length; i !== n; ++ i ) {\n\n\t\t\t\ttimes[ i ] += timeOffset;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\t// scale all keyframe times by a factor (useful for frame <-> seconds conversions)\n\tscale( timeScale ) {\n\n\t\tif ( timeScale !== 1.0 ) {\n\n\t\t\tconst times = this.times;\n\n\t\t\tfor ( let i = 0, n = times.length; i !== n; ++ i ) {\n\n\t\t\t\ttimes[ i ] *= timeScale;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\t// removes keyframes before and after animation without changing any values within the range [startTime, endTime].\n\t// IMPORTANT: We do not shift around keys to the start of the track time, because for interpolated keys this will change their values\n\ttrim( startTime, endTime ) {\n\n\t\tconst times = this.times,\n\t\t\tnKeys = times.length;\n\n\t\tlet from = 0,\n\t\t\tto = nKeys - 1;\n\n\t\twhile ( from !== nKeys && times[ from ] < startTime ) {\n\n\t\t\t++ from;\n\n\t\t}\n\n\t\twhile ( to !== - 1 && times[ to ] > endTime ) {\n\n\t\t\t-- to;\n\n\t\t}\n\n\t\t++ to; // inclusive -> exclusive bound\n\n\t\tif ( from !== 0 || to !== nKeys ) {\n\n\t\t\t// empty tracks are forbidden, so keep at least one keyframe\n\t\t\tif ( from >= to ) {\n\n\t\t\t\tto = Math.max( to, 1 );\n\t\t\t\tfrom = to - 1;\n\n\t\t\t}\n\n\t\t\tconst stride = this.getValueSize();\n\t\t\tthis.times = arraySlice( times, from, to );\n\t\t\tthis.values = arraySlice( this.values, from * stride, to * stride );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\t// ensure we do not get a GarbageInGarbageOut situation, make sure tracks are at least minimally viable\n\tvalidate() {\n\n\t\tlet valid = true;\n\n\t\tconst valueSize = this.getValueSize();\n\t\tif ( valueSize - Math.floor( valueSize ) !== 0 ) {\n\n\t\t\tconsole.error( 'THREE.KeyframeTrack: Invalid value size in track.', this );\n\t\t\tvalid = false;\n\n\t\t}\n\n\t\tconst times = this.times,\n\t\t\tvalues = this.values,\n\n\t\t\tnKeys = times.length;\n\n\t\tif ( nKeys === 0 ) {\n\n\t\t\tconsole.error( 'THREE.KeyframeTrack: Track is empty.', this );\n\t\t\tvalid = false;\n\n\t\t}\n\n\t\tlet prevTime = null;\n\n\t\tfor ( let i = 0; i !== nKeys; i ++ ) {\n\n\t\t\tconst currTime = times[ i ];\n\n\t\t\tif ( typeof currTime === 'number' && isNaN( currTime ) ) {\n\n\t\t\t\tconsole.error( 'THREE.KeyframeTrack: Time is not a valid number.', this, i, currTime );\n\t\t\t\tvalid = false;\n\t\t\t\tbreak;\n\n\t\t\t}\n\n\t\t\tif ( prevTime !== null && prevTime > currTime ) {\n\n\t\t\t\tconsole.error( 'THREE.KeyframeTrack: Out of order keys.', this, i, currTime, prevTime );\n\t\t\t\tvalid = false;\n\t\t\t\tbreak;\n\n\t\t\t}\n\n\t\t\tprevTime = currTime;\n\n\t\t}\n\n\t\tif ( values !== undefined ) {\n\n\t\t\tif ( isTypedArray( values ) ) {\n\n\t\t\t\tfor ( let i = 0, n = values.length; i !== n; ++ i ) {\n\n\t\t\t\t\tconst value = values[ i ];\n\n\t\t\t\t\tif ( isNaN( value ) ) {\n\n\t\t\t\t\t\tconsole.error( 'THREE.KeyframeTrack: Value is not a valid number.', this, i, value );\n\t\t\t\t\t\tvalid = false;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn valid;\n\n\t}\n\n\t// removes equivalent sequential keys as common in morph target sequences\n\t// (0,0,0,0,1,1,1,0,0,0,0,0,0,0) --> (0,0,1,1,0,0)\n\toptimize() {\n\n\t\t// times or values may be shared with other tracks, so overwriting is unsafe\n\t\tconst times = arraySlice( this.times ),\n\t\t\tvalues = arraySlice( this.values ),\n\t\t\tstride = this.getValueSize(),\n\n\t\t\tsmoothInterpolation = this.getInterpolation() === InterpolateSmooth,\n\n\t\t\tlastIndex = times.length - 1;\n\n\t\tlet writeIndex = 1;\n\n\t\tfor ( let i = 1; i < lastIndex; ++ i ) {\n\n\t\t\tlet keep = false;\n\n\t\t\tconst time = times[ i ];\n\t\t\tconst timeNext = times[ i + 1 ];\n\n\t\t\t// remove adjacent keyframes scheduled at the same time\n\n\t\t\tif ( time !== timeNext && ( i !== 1 || time !== times[ 0 ] ) ) {\n\n\t\t\t\tif ( ! smoothInterpolation ) {\n\n\t\t\t\t\t// remove unnecessary keyframes same as their neighbors\n\n\t\t\t\t\tconst offset = i * stride,\n\t\t\t\t\t\toffsetP = offset - stride,\n\t\t\t\t\t\toffsetN = offset + stride;\n\n\t\t\t\t\tfor ( let j = 0; j !== stride; ++ j ) {\n\n\t\t\t\t\t\tconst value = values[ offset + j ];\n\n\t\t\t\t\t\tif ( value !== values[ offsetP + j ] ||\n\t\t\t\t\t\t\tvalue !== values[ offsetN + j ] ) {\n\n\t\t\t\t\t\t\tkeep = true;\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tkeep = true;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// in-place compaction\n\n\t\t\tif ( keep ) {\n\n\t\t\t\tif ( i !== writeIndex ) {\n\n\t\t\t\t\ttimes[ writeIndex ] = times[ i ];\n\n\t\t\t\t\tconst readOffset = i * stride,\n\t\t\t\t\t\twriteOffset = writeIndex * stride;\n\n\t\t\t\t\tfor ( let j = 0; j !== stride; ++ j ) {\n\n\t\t\t\t\t\tvalues[ writeOffset + j ] = values[ readOffset + j ];\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\t++ writeIndex;\n\n\t\t\t}\n\n\t\t}\n\n\t\t// flush last keyframe (compaction looks ahead)\n\n\t\tif ( lastIndex > 0 ) {\n\n\t\t\ttimes[ writeIndex ] = times[ lastIndex ];\n\n\t\t\tfor ( let readOffset = lastIndex * stride, writeOffset = writeIndex * stride, j = 0; j !== stride; ++ j ) {\n\n\t\t\t\tvalues[ writeOffset + j ] = values[ readOffset + j ];\n\n\t\t\t}\n\n\t\t\t++ writeIndex;\n\n\t\t}\n\n\t\tif ( writeIndex !== times.length ) {\n\n\t\t\tthis.times = arraySlice( times, 0, writeIndex );\n\t\t\tthis.values = arraySlice( values, 0, writeIndex * stride );\n\n\t\t} else {\n\n\t\t\tthis.times = times;\n\t\t\tthis.values = values;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\tconst times = arraySlice( this.times, 0 );\n\t\tconst values = arraySlice( this.values, 0 );\n\n\t\tconst TypedKeyframeTrack = this.constructor;\n\t\tconst track = new TypedKeyframeTrack( this.name, times, values );\n\n\t\t// Interpolant argument to constructor is not saved, so copy the factory method directly.\n\t\ttrack.createInterpolant = this.createInterpolant;\n\n\t\treturn track;\n\n\t}\n\n}\n\nKeyframeTrack.prototype.TimeBufferType = Float32Array;\nKeyframeTrack.prototype.ValueBufferType = Float32Array;\nKeyframeTrack.prototype.DefaultInterpolation = InterpolateLinear;\n\n/**\n * A Track of Boolean keyframe values.\n */\nclass BooleanKeyframeTrack extends KeyframeTrack {}\n\nBooleanKeyframeTrack.prototype.ValueTypeName = 'bool';\nBooleanKeyframeTrack.prototype.ValueBufferType = Array;\nBooleanKeyframeTrack.prototype.DefaultInterpolation = InterpolateDiscrete;\nBooleanKeyframeTrack.prototype.InterpolantFactoryMethodLinear = undefined;\nBooleanKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = undefined;\n\n/**\n * A Track of keyframe values that represent color.\n */\nclass ColorKeyframeTrack extends KeyframeTrack {}\n\nColorKeyframeTrack.prototype.ValueTypeName = 'color';\n\n/**\n * A Track of numeric keyframe values.\n */\nclass NumberKeyframeTrack extends KeyframeTrack {}\n\nNumberKeyframeTrack.prototype.ValueTypeName = 'number';\n\n/**\n * Spherical linear unit quaternion interpolant.\n */\n\nclass QuaternionLinearInterpolant extends Interpolant {\n\n\tconstructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {\n\n\t\tsuper( parameterPositions, sampleValues, sampleSize, resultBuffer );\n\n\t}\n\n\tinterpolate_( i1, t0, t, t1 ) {\n\n\t\tconst result = this.resultBuffer,\n\t\t\tvalues = this.sampleValues,\n\t\t\tstride = this.valueSize,\n\n\t\t\talpha = ( t - t0 ) / ( t1 - t0 );\n\n\t\tlet offset = i1 * stride;\n\n\t\tfor ( let end = offset + stride; offset !== end; offset += 4 ) {\n\n\t\t\tQuaternion.slerpFlat( result, 0, values, offset - stride, values, offset, alpha );\n\n\t\t}\n\n\t\treturn result;\n\n\t}\n\n}\n\n/**\n * A Track of quaternion keyframe values.\n */\nclass QuaternionKeyframeTrack extends KeyframeTrack {\n\n\tInterpolantFactoryMethodLinear( result ) {\n\n\t\treturn new QuaternionLinearInterpolant( this.times, this.values, this.getValueSize(), result );\n\n\t}\n\n}\n\nQuaternionKeyframeTrack.prototype.ValueTypeName = 'quaternion';\n// ValueBufferType is inherited\nQuaternionKeyframeTrack.prototype.DefaultInterpolation = InterpolateLinear;\nQuaternionKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = undefined;\n\n/**\n * A Track that interpolates Strings\n */\nclass StringKeyframeTrack extends KeyframeTrack {}\n\nStringKeyframeTrack.prototype.ValueTypeName = 'string';\nStringKeyframeTrack.prototype.ValueBufferType = Array;\nStringKeyframeTrack.prototype.DefaultInterpolation = InterpolateDiscrete;\nStringKeyframeTrack.prototype.InterpolantFactoryMethodLinear = undefined;\nStringKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = undefined;\n\n/**\n * A Track of vectored keyframe values.\n */\nclass VectorKeyframeTrack extends KeyframeTrack {}\n\nVectorKeyframeTrack.prototype.ValueTypeName = 'vector';\n\nclass AnimationClip {\n\n\tconstructor( name, duration = - 1, tracks, blendMode = NormalAnimationBlendMode ) {\n\n\t\tthis.name = name;\n\t\tthis.tracks = tracks;\n\t\tthis.duration = duration;\n\t\tthis.blendMode = blendMode;\n\n\t\tthis.uuid = generateUUID();\n\n\t\t// this means it should figure out its duration by scanning the tracks\n\t\tif ( this.duration < 0 ) {\n\n\t\t\tthis.resetDuration();\n\n\t\t}\n\n\t}\n\n\n\tstatic parse( json ) {\n\n\t\tconst tracks = [],\n\t\t\tjsonTracks = json.tracks,\n\t\t\tframeTime = 1.0 / ( json.fps || 1.0 );\n\n\t\tfor ( let i = 0, n = jsonTracks.length; i !== n; ++ i ) {\n\n\t\t\ttracks.push( parseKeyframeTrack( jsonTracks[ i ] ).scale( frameTime ) );\n\n\t\t}\n\n\t\tconst clip = new this( json.name, json.duration, tracks, json.blendMode );\n\t\tclip.uuid = json.uuid;\n\n\t\treturn clip;\n\n\t}\n\n\tstatic toJSON( clip ) {\n\n\t\tconst tracks = [],\n\t\t\tclipTracks = clip.tracks;\n\n\t\tconst json = {\n\n\t\t\t'name': clip.name,\n\t\t\t'duration': clip.duration,\n\t\t\t'tracks': tracks,\n\t\t\t'uuid': clip.uuid,\n\t\t\t'blendMode': clip.blendMode\n\n\t\t};\n\n\t\tfor ( let i = 0, n = clipTracks.length; i !== n; ++ i ) {\n\n\t\t\ttracks.push( KeyframeTrack.toJSON( clipTracks[ i ] ) );\n\n\t\t}\n\n\t\treturn json;\n\n\t}\n\n\tstatic CreateFromMorphTargetSequence( name, morphTargetSequence, fps, noLoop ) {\n\n\t\tconst numMorphTargets = morphTargetSequence.length;\n\t\tconst tracks = [];\n\n\t\tfor ( let i = 0; i < numMorphTargets; i ++ ) {\n\n\t\t\tlet times = [];\n\t\t\tlet values = [];\n\n\t\t\ttimes.push(\n\t\t\t\t( i + numMorphTargets - 1 ) % numMorphTargets,\n\t\t\t\ti,\n\t\t\t\t( i + 1 ) % numMorphTargets );\n\n\t\t\tvalues.push( 0, 1, 0 );\n\n\t\t\tconst order = getKeyframeOrder( times );\n\t\t\ttimes = sortedArray( times, 1, order );\n\t\t\tvalues = sortedArray( values, 1, order );\n\n\t\t\t// if there is a key at the first frame, duplicate it as the\n\t\t\t// last frame as well for perfect loop.\n\t\t\tif ( ! noLoop && times[ 0 ] === 0 ) {\n\n\t\t\t\ttimes.push( numMorphTargets );\n\t\t\t\tvalues.push( values[ 0 ] );\n\n\t\t\t}\n\n\t\t\ttracks.push(\n\t\t\t\tnew NumberKeyframeTrack(\n\t\t\t\t\t'.morphTargetInfluences[' + morphTargetSequence[ i ].name + ']',\n\t\t\t\t\ttimes, values\n\t\t\t\t).scale( 1.0 / fps ) );\n\n\t\t}\n\n\t\treturn new this( name, - 1, tracks );\n\n\t}\n\n\tstatic findByName( objectOrClipArray, name ) {\n\n\t\tlet clipArray = objectOrClipArray;\n\n\t\tif ( ! Array.isArray( objectOrClipArray ) ) {\n\n\t\t\tconst o = objectOrClipArray;\n\t\t\tclipArray = o.geometry && o.geometry.animations || o.animations;\n\n\t\t}\n\n\t\tfor ( let i = 0; i < clipArray.length; i ++ ) {\n\n\t\t\tif ( clipArray[ i ].name === name ) {\n\n\t\t\t\treturn clipArray[ i ];\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn null;\n\n\t}\n\n\tstatic CreateClipsFromMorphTargetSequences( morphTargets, fps, noLoop ) {\n\n\t\tconst animationToMorphTargets = {};\n\n\t\t// tested with https://regex101.com/ on trick sequences\n\t\t// such flamingo_flyA_003, flamingo_run1_003, crdeath0059\n\t\tconst pattern = /^([\\w-]*?)([\\d]+)$/;\n\n\t\t// sort morph target names into animation groups based\n\t\t// patterns like Walk_001, Walk_002, Run_001, Run_002\n\t\tfor ( let i = 0, il = morphTargets.length; i < il; i ++ ) {\n\n\t\t\tconst morphTarget = morphTargets[ i ];\n\t\t\tconst parts = morphTarget.name.match( pattern );\n\n\t\t\tif ( parts && parts.length > 1 ) {\n\n\t\t\t\tconst name = parts[ 1 ];\n\n\t\t\t\tlet animationMorphTargets = animationToMorphTargets[ name ];\n\n\t\t\t\tif ( ! animationMorphTargets ) {\n\n\t\t\t\t\tanimationToMorphTargets[ name ] = animationMorphTargets = [];\n\n\t\t\t\t}\n\n\t\t\t\tanimationMorphTargets.push( morphTarget );\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst clips = [];\n\n\t\tfor ( const name in animationToMorphTargets ) {\n\n\t\t\tclips.push( this.CreateFromMorphTargetSequence( name, animationToMorphTargets[ name ], fps, noLoop ) );\n\n\t\t}\n\n\t\treturn clips;\n\n\t}\n\n\t// parse the animation.hierarchy format\n\tstatic parseAnimation( animation, bones ) {\n\n\t\tif ( ! animation ) {\n\n\t\t\tconsole.error( 'THREE.AnimationClip: No animation in JSONLoader data.' );\n\t\t\treturn null;\n\n\t\t}\n\n\t\tconst addNonemptyTrack = function ( trackType, trackName, animationKeys, propertyName, destTracks ) {\n\n\t\t\t// only return track if there are actually keys.\n\t\t\tif ( animationKeys.length !== 0 ) {\n\n\t\t\t\tconst times = [];\n\t\t\t\tconst values = [];\n\n\t\t\t\tflattenJSON( animationKeys, times, values, propertyName );\n\n\t\t\t\t// empty keys are filtered out, so check again\n\t\t\t\tif ( times.length !== 0 ) {\n\n\t\t\t\t\tdestTracks.push( new trackType( trackName, times, values ) );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t};\n\n\t\tconst tracks = [];\n\n\t\tconst clipName = animation.name || 'default';\n\t\tconst fps = animation.fps || 30;\n\t\tconst blendMode = animation.blendMode;\n\n\t\t// automatic length determination in AnimationClip.\n\t\tlet duration = animation.length || - 1;\n\n\t\tconst hierarchyTracks = animation.hierarchy || [];\n\n\t\tfor ( let h = 0; h < hierarchyTracks.length; h ++ ) {\n\n\t\t\tconst animationKeys = hierarchyTracks[ h ].keys;\n\n\t\t\t// skip empty tracks\n\t\t\tif ( ! animationKeys || animationKeys.length === 0 ) continue;\n\n\t\t\t// process morph targets\n\t\t\tif ( animationKeys[ 0 ].morphTargets ) {\n\n\t\t\t\t// figure out all morph targets used in this track\n\t\t\t\tconst morphTargetNames = {};\n\n\t\t\t\tlet k;\n\n\t\t\t\tfor ( k = 0; k < animationKeys.length; k ++ ) {\n\n\t\t\t\t\tif ( animationKeys[ k ].morphTargets ) {\n\n\t\t\t\t\t\tfor ( let m = 0; m < animationKeys[ k ].morphTargets.length; m ++ ) {\n\n\t\t\t\t\t\t\tmorphTargetNames[ animationKeys[ k ].morphTargets[ m ] ] = - 1;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\t// create a track for each morph target with all zero\n\t\t\t\t// morphTargetInfluences except for the keys in which\n\t\t\t\t// the morphTarget is named.\n\t\t\t\tfor ( const morphTargetName in morphTargetNames ) {\n\n\t\t\t\t\tconst times = [];\n\t\t\t\t\tconst values = [];\n\n\t\t\t\t\tfor ( let m = 0; m !== animationKeys[ k ].morphTargets.length; ++ m ) {\n\n\t\t\t\t\t\tconst animationKey = animationKeys[ k ];\n\n\t\t\t\t\t\ttimes.push( animationKey.time );\n\t\t\t\t\t\tvalues.push( ( animationKey.morphTarget === morphTargetName ) ? 1 : 0 );\n\n\t\t\t\t\t}\n\n\t\t\t\t\ttracks.push( new NumberKeyframeTrack( '.morphTargetInfluence[' + morphTargetName + ']', times, values ) );\n\n\t\t\t\t}\n\n\t\t\t\tduration = morphTargetNames.length * fps;\n\n\t\t\t} else {\n\n\t\t\t\t// ...assume skeletal animation\n\n\t\t\t\tconst boneName = '.bones[' + bones[ h ].name + ']';\n\n\t\t\t\taddNonemptyTrack(\n\t\t\t\t\tVectorKeyframeTrack, boneName + '.position',\n\t\t\t\t\tanimationKeys, 'pos', tracks );\n\n\t\t\t\taddNonemptyTrack(\n\t\t\t\t\tQuaternionKeyframeTrack, boneName + '.quaternion',\n\t\t\t\t\tanimationKeys, 'rot', tracks );\n\n\t\t\t\taddNonemptyTrack(\n\t\t\t\t\tVectorKeyframeTrack, boneName + '.scale',\n\t\t\t\t\tanimationKeys, 'scl', tracks );\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( tracks.length === 0 ) {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\tconst clip = new this( clipName, duration, tracks, blendMode );\n\n\t\treturn clip;\n\n\t}\n\n\tresetDuration() {\n\n\t\tconst tracks = this.tracks;\n\t\tlet duration = 0;\n\n\t\tfor ( let i = 0, n = tracks.length; i !== n; ++ i ) {\n\n\t\t\tconst track = this.tracks[ i ];\n\n\t\t\tduration = Math.max( duration, track.times[ track.times.length - 1 ] );\n\n\t\t}\n\n\t\tthis.duration = duration;\n\n\t\treturn this;\n\n\t}\n\n\ttrim() {\n\n\t\tfor ( let i = 0; i < this.tracks.length; i ++ ) {\n\n\t\t\tthis.tracks[ i ].trim( 0, this.duration );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tvalidate() {\n\n\t\tlet valid = true;\n\n\t\tfor ( let i = 0; i < this.tracks.length; i ++ ) {\n\n\t\t\tvalid = valid && this.tracks[ i ].validate();\n\n\t\t}\n\n\t\treturn valid;\n\n\t}\n\n\toptimize() {\n\n\t\tfor ( let i = 0; i < this.tracks.length; i ++ ) {\n\n\t\t\tthis.tracks[ i ].optimize();\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\tconst tracks = [];\n\n\t\tfor ( let i = 0; i < this.tracks.length; i ++ ) {\n\n\t\t\ttracks.push( this.tracks[ i ].clone() );\n\n\t\t}\n\n\t\treturn new this.constructor( this.name, this.duration, tracks, this.blendMode );\n\n\t}\n\n\ttoJSON() {\n\n\t\treturn this.constructor.toJSON( this );\n\n\t}\n\n}\n\nfunction getTrackTypeForValueTypeName( typeName ) {\n\n\tswitch ( typeName.toLowerCase() ) {\n\n\t\tcase 'scalar':\n\t\tcase 'double':\n\t\tcase 'float':\n\t\tcase 'number':\n\t\tcase 'integer':\n\n\t\t\treturn NumberKeyframeTrack;\n\n\t\tcase 'vector':\n\t\tcase 'vector2':\n\t\tcase 'vector3':\n\t\tcase 'vector4':\n\n\t\t\treturn VectorKeyframeTrack;\n\n\t\tcase 'color':\n\n\t\t\treturn ColorKeyframeTrack;\n\n\t\tcase 'quaternion':\n\n\t\t\treturn QuaternionKeyframeTrack;\n\n\t\tcase 'bool':\n\t\tcase 'boolean':\n\n\t\t\treturn BooleanKeyframeTrack;\n\n\t\tcase 'string':\n\n\t\t\treturn StringKeyframeTrack;\n\n\t}\n\n\tthrow new Error( 'THREE.KeyframeTrack: Unsupported typeName: ' + typeName );\n\n}\n\nfunction parseKeyframeTrack( json ) {\n\n\tif ( json.type === undefined ) {\n\n\t\tthrow new Error( 'THREE.KeyframeTrack: track type undefined, can not parse' );\n\n\t}\n\n\tconst trackType = getTrackTypeForValueTypeName( json.type );\n\n\tif ( json.times === undefined ) {\n\n\t\tconst times = [], values = [];\n\n\t\tflattenJSON( json.keys, times, values, 'value' );\n\n\t\tjson.times = times;\n\t\tjson.values = values;\n\n\t}\n\n\t// derived classes can define a static parse method\n\tif ( trackType.parse !== undefined ) {\n\n\t\treturn trackType.parse( json );\n\n\t} else {\n\n\t\t// by default, we assume a constructor compatible with the base\n\t\treturn new trackType( json.name, json.times, json.values, json.interpolation );\n\n\t}\n\n}\n\nconst Cache = {\n\n\tenabled: false,\n\n\tfiles: {},\n\n\tadd: function ( key, file ) {\n\n\t\tif ( this.enabled === false ) return;\n\n\t\t// console.log( 'THREE.Cache', 'Adding key:', key );\n\n\t\tthis.files[ key ] = file;\n\n\t},\n\n\tget: function ( key ) {\n\n\t\tif ( this.enabled === false ) return;\n\n\t\t// console.log( 'THREE.Cache', 'Checking key:', key );\n\n\t\treturn this.files[ key ];\n\n\t},\n\n\tremove: function ( key ) {\n\n\t\tdelete this.files[ key ];\n\n\t},\n\n\tclear: function () {\n\n\t\tthis.files = {};\n\n\t}\n\n};\n\nclass LoadingManager {\n\n\tconstructor( onLoad, onProgress, onError ) {\n\n\t\tconst scope = this;\n\n\t\tlet isLoading = false;\n\t\tlet itemsLoaded = 0;\n\t\tlet itemsTotal = 0;\n\t\tlet urlModifier = undefined;\n\t\tconst handlers = [];\n\n\t\t// Refer to #5689 for the reason why we don't set .onStart\n\t\t// in the constructor\n\n\t\tthis.onStart = undefined;\n\t\tthis.onLoad = onLoad;\n\t\tthis.onProgress = onProgress;\n\t\tthis.onError = onError;\n\n\t\tthis.itemStart = function ( url ) {\n\n\t\t\titemsTotal ++;\n\n\t\t\tif ( isLoading === false ) {\n\n\t\t\t\tif ( scope.onStart !== undefined ) {\n\n\t\t\t\t\tscope.onStart( url, itemsLoaded, itemsTotal );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tisLoading = true;\n\n\t\t};\n\n\t\tthis.itemEnd = function ( url ) {\n\n\t\t\titemsLoaded ++;\n\n\t\t\tif ( scope.onProgress !== undefined ) {\n\n\t\t\t\tscope.onProgress( url, itemsLoaded, itemsTotal );\n\n\t\t\t}\n\n\t\t\tif ( itemsLoaded === itemsTotal ) {\n\n\t\t\t\tisLoading = false;\n\n\t\t\t\tif ( scope.onLoad !== undefined ) {\n\n\t\t\t\t\tscope.onLoad();\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t};\n\n\t\tthis.itemError = function ( url ) {\n\n\t\t\tif ( scope.onError !== undefined ) {\n\n\t\t\t\tscope.onError( url );\n\n\t\t\t}\n\n\t\t};\n\n\t\tthis.resolveURL = function ( url ) {\n\n\t\t\tif ( urlModifier ) {\n\n\t\t\t\treturn urlModifier( url );\n\n\t\t\t}\n\n\t\t\treturn url;\n\n\t\t};\n\n\t\tthis.setURLModifier = function ( transform ) {\n\n\t\t\turlModifier = transform;\n\n\t\t\treturn this;\n\n\t\t};\n\n\t\tthis.addHandler = function ( regex, loader ) {\n\n\t\t\thandlers.push( regex, loader );\n\n\t\t\treturn this;\n\n\t\t};\n\n\t\tthis.removeHandler = function ( regex ) {\n\n\t\t\tconst index = handlers.indexOf( regex );\n\n\t\t\tif ( index !== - 1 ) {\n\n\t\t\t\thandlers.splice( index, 2 );\n\n\t\t\t}\n\n\t\t\treturn this;\n\n\t\t};\n\n\t\tthis.getHandler = function ( file ) {\n\n\t\t\tfor ( let i = 0, l = handlers.length; i < l; i += 2 ) {\n\n\t\t\t\tconst regex = handlers[ i ];\n\t\t\t\tconst loader = handlers[ i + 1 ];\n\n\t\t\t\tif ( regex.global ) regex.lastIndex = 0; // see #17920\n\n\t\t\t\tif ( regex.test( file ) ) {\n\n\t\t\t\t\treturn loader;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\treturn null;\n\n\t\t};\n\n\t}\n\n}\n\nconst DefaultLoadingManager = /*@__PURE__*/ new LoadingManager();\n\nclass Loader {\n\n\tconstructor( manager ) {\n\n\t\tthis.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager;\n\n\t\tthis.crossOrigin = 'anonymous';\n\t\tthis.withCredentials = false;\n\t\tthis.path = '';\n\t\tthis.resourcePath = '';\n\t\tthis.requestHeader = {};\n\n\t}\n\n\tload( /* url, onLoad, onProgress, onError */ ) {}\n\n\tloadAsync( url, onProgress ) {\n\n\t\tconst scope = this;\n\n\t\treturn new Promise( function ( resolve, reject ) {\n\n\t\t\tscope.load( url, resolve, onProgress, reject );\n\n\t\t} );\n\n\t}\n\n\tparse( /* data */ ) {}\n\n\tsetCrossOrigin( crossOrigin ) {\n\n\t\tthis.crossOrigin = crossOrigin;\n\t\treturn this;\n\n\t}\n\n\tsetWithCredentials( value ) {\n\n\t\tthis.withCredentials = value;\n\t\treturn this;\n\n\t}\n\n\tsetPath( path ) {\n\n\t\tthis.path = path;\n\t\treturn this;\n\n\t}\n\n\tsetResourcePath( resourcePath ) {\n\n\t\tthis.resourcePath = resourcePath;\n\t\treturn this;\n\n\t}\n\n\tsetRequestHeader( requestHeader ) {\n\n\t\tthis.requestHeader = requestHeader;\n\t\treturn this;\n\n\t}\n\n}\n\nconst loading = {};\n\nclass HttpError extends Error {\n\n\tconstructor( message, response ) {\n\n\t\tsuper( message );\n\t\tthis.response = response;\n\n\t}\n\n}\n\nclass FileLoader extends Loader {\n\n\tconstructor( manager ) {\n\n\t\tsuper( manager );\n\n\t}\n\n\tload( url, onLoad, onProgress, onError ) {\n\n\t\tif ( url === undefined ) url = '';\n\n\t\tif ( this.path !== undefined ) url = this.path + url;\n\n\t\turl = this.manager.resolveURL( url );\n\n\t\tconst cached = Cache.get( url );\n\n\t\tif ( cached !== undefined ) {\n\n\t\t\tthis.manager.itemStart( url );\n\n\t\t\tsetTimeout( () => {\n\n\t\t\t\tif ( onLoad ) onLoad( cached );\n\n\t\t\t\tthis.manager.itemEnd( url );\n\n\t\t\t}, 0 );\n\n\t\t\treturn cached;\n\n\t\t}\n\n\t\t// Check if request is duplicate\n\n\t\tif ( loading[ url ] !== undefined ) {\n\n\t\t\tloading[ url ].push( {\n\n\t\t\t\tonLoad: onLoad,\n\t\t\t\tonProgress: onProgress,\n\t\t\t\tonError: onError\n\n\t\t\t} );\n\n\t\t\treturn;\n\n\t\t}\n\n\t\t// Initialise array for duplicate requests\n\t\tloading[ url ] = [];\n\n\t\tloading[ url ].push( {\n\t\t\tonLoad: onLoad,\n\t\t\tonProgress: onProgress,\n\t\t\tonError: onError,\n\t\t} );\n\n\t\t// create request\n\t\tconst req = new Request( url, {\n\t\t\theaders: new Headers( this.requestHeader ),\n\t\t\tcredentials: this.withCredentials ? 'include' : 'same-origin',\n\t\t\t// An abort controller could be added within a future PR\n\t\t} );\n\n\t\t// record states ( avoid data race )\n\t\tconst mimeType = this.mimeType;\n\t\tconst responseType = this.responseType;\n\n\t\t// start the fetch\n\t\tfetch( req )\n\t\t\t.then( response => {\n\n\t\t\t\tif ( response.status === 200 || response.status === 0 ) {\n\n\t\t\t\t\t// Some browsers return HTTP Status 0 when using non-http protocol\n\t\t\t\t\t// e.g. 'file://' or 'data://'. Handle as success.\n\n\t\t\t\t\tif ( response.status === 0 ) {\n\n\t\t\t\t\t\tconsole.warn( 'THREE.FileLoader: HTTP Status 0 received.' );\n\n\t\t\t\t\t}\n\n\t\t\t\t\t// Workaround: Checking if response.body === undefined for Alipay browser #23548\n\n\t\t\t\t\tif ( typeof ReadableStream === 'undefined' || response.body === undefined || response.body.getReader === undefined ) {\n\n\t\t\t\t\t\treturn response;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tconst callbacks = loading[ url ];\n\t\t\t\t\tconst reader = response.body.getReader();\n\t\t\t\t\tconst contentLength = response.headers.get( 'Content-Length' );\n\t\t\t\t\tconst total = contentLength ? parseInt( contentLength ) : 0;\n\t\t\t\t\tconst lengthComputable = total !== 0;\n\t\t\t\t\tlet loaded = 0;\n\n\t\t\t\t\t// periodically read data into the new stream tracking while download progress\n\t\t\t\t\tconst stream = new ReadableStream( {\n\t\t\t\t\t\tstart( controller ) {\n\n\t\t\t\t\t\t\treadData();\n\n\t\t\t\t\t\t\tfunction readData() {\n\n\t\t\t\t\t\t\t\treader.read().then( ( { done, value } ) => {\n\n\t\t\t\t\t\t\t\t\tif ( done ) {\n\n\t\t\t\t\t\t\t\t\t\tcontroller.close();\n\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\tloaded += value.byteLength;\n\n\t\t\t\t\t\t\t\t\t\tconst event = new ProgressEvent( 'progress', { lengthComputable, loaded, total } );\n\t\t\t\t\t\t\t\t\t\tfor ( let i = 0, il = callbacks.length; i < il; i ++ ) {\n\n\t\t\t\t\t\t\t\t\t\t\tconst callback = callbacks[ i ];\n\t\t\t\t\t\t\t\t\t\t\tif ( callback.onProgress ) callback.onProgress( event );\n\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tcontroller.enqueue( value );\n\t\t\t\t\t\t\t\t\t\treadData();\n\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn new Response( stream );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthrow new HttpError( `fetch for \"${response.url}\" responded with ${response.status}: ${response.statusText}`, response );\n\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t.then( response => {\n\n\t\t\t\tswitch ( responseType ) {\n\n\t\t\t\t\tcase 'arraybuffer':\n\n\t\t\t\t\t\treturn response.arrayBuffer();\n\n\t\t\t\t\tcase 'blob':\n\n\t\t\t\t\t\treturn response.blob();\n\n\t\t\t\t\tcase 'document':\n\n\t\t\t\t\t\treturn response.text()\n\t\t\t\t\t\t\t.then( text => {\n\n\t\t\t\t\t\t\t\tconst parser = new DOMParser();\n\t\t\t\t\t\t\t\treturn parser.parseFromString( text, mimeType );\n\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\tcase 'json':\n\n\t\t\t\t\t\treturn response.json();\n\n\t\t\t\t\tdefault:\n\n\t\t\t\t\t\tif ( mimeType === undefined ) {\n\n\t\t\t\t\t\t\treturn response.text();\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// sniff encoding\n\t\t\t\t\t\t\tconst re = /charset=\"?([^;\"\\s]*)\"?/i;\n\t\t\t\t\t\t\tconst exec = re.exec( mimeType );\n\t\t\t\t\t\t\tconst label = exec && exec[ 1 ] ? exec[ 1 ].toLowerCase() : undefined;\n\t\t\t\t\t\t\tconst decoder = new TextDecoder( label );\n\t\t\t\t\t\t\treturn response.arrayBuffer().then( ab => decoder.decode( ab ) );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t.then( data => {\n\n\t\t\t\t// Add to cache only on HTTP success, so that we do not cache\n\t\t\t\t// error response bodies as proper responses to requests.\n\t\t\t\tCache.add( url, data );\n\n\t\t\t\tconst callbacks = loading[ url ];\n\t\t\t\tdelete loading[ url ];\n\n\t\t\t\tfor ( let i = 0, il = callbacks.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst callback = callbacks[ i ];\n\t\t\t\t\tif ( callback.onLoad ) callback.onLoad( data );\n\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t.catch( err => {\n\n\t\t\t\t// Abort errors and other errors are handled the same\n\n\t\t\t\tconst callbacks = loading[ url ];\n\n\t\t\t\tif ( callbacks === undefined ) {\n\n\t\t\t\t\t// When onLoad was called and url was deleted in `loading`\n\t\t\t\t\tthis.manager.itemError( url );\n\t\t\t\t\tthrow err;\n\n\t\t\t\t}\n\n\t\t\t\tdelete loading[ url ];\n\n\t\t\t\tfor ( let i = 0, il = callbacks.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst callback = callbacks[ i ];\n\t\t\t\t\tif ( callback.onError ) callback.onError( err );\n\n\t\t\t\t}\n\n\t\t\t\tthis.manager.itemError( url );\n\n\t\t\t} )\n\t\t\t.finally( () => {\n\n\t\t\t\tthis.manager.itemEnd( url );\n\n\t\t\t} );\n\n\t\tthis.manager.itemStart( url );\n\n\t}\n\n\tsetResponseType( value ) {\n\n\t\tthis.responseType = value;\n\t\treturn this;\n\n\t}\n\n\tsetMimeType( value ) {\n\n\t\tthis.mimeType = value;\n\t\treturn this;\n\n\t}\n\n}\n\nclass AnimationLoader extends Loader {\n\n\tconstructor( manager ) {\n\n\t\tsuper( manager );\n\n\t}\n\n\tload( url, onLoad, onProgress, onError ) {\n\n\t\tconst scope = this;\n\n\t\tconst loader = new FileLoader( this.manager );\n\t\tloader.setPath( this.path );\n\t\tloader.setRequestHeader( this.requestHeader );\n\t\tloader.setWithCredentials( this.withCredentials );\n\t\tloader.load( url, function ( text ) {\n\n\t\t\ttry {\n\n\t\t\t\tonLoad( scope.parse( JSON.parse( text ) ) );\n\n\t\t\t} catch ( e ) {\n\n\t\t\t\tif ( onError ) {\n\n\t\t\t\t\tonError( e );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tconsole.error( e );\n\n\t\t\t\t}\n\n\t\t\t\tscope.manager.itemError( url );\n\n\t\t\t}\n\n\t\t}, onProgress, onError );\n\n\t}\n\n\tparse( json ) {\n\n\t\tconst animations = [];\n\n\t\tfor ( let i = 0; i < json.length; i ++ ) {\n\n\t\t\tconst clip = AnimationClip.parse( json[ i ] );\n\n\t\t\tanimations.push( clip );\n\n\t\t}\n\n\t\treturn animations;\n\n\t}\n\n}\n\n/**\n * Abstract Base class to block based textures loader (dds, pvr, ...)\n *\n * Sub classes have to implement the parse() method which will be used in load().\n */\n\nclass CompressedTextureLoader extends Loader {\n\n\tconstructor( manager ) {\n\n\t\tsuper( manager );\n\n\t}\n\n\tload( url, onLoad, onProgress, onError ) {\n\n\t\tconst scope = this;\n\n\t\tconst images = [];\n\n\t\tconst texture = new CompressedTexture();\n\n\t\tconst loader = new FileLoader( this.manager );\n\t\tloader.setPath( this.path );\n\t\tloader.setResponseType( 'arraybuffer' );\n\t\tloader.setRequestHeader( this.requestHeader );\n\t\tloader.setWithCredentials( scope.withCredentials );\n\n\t\tlet loaded = 0;\n\n\t\tfunction loadTexture( i ) {\n\n\t\t\tloader.load( url[ i ], function ( buffer ) {\n\n\t\t\t\tconst texDatas = scope.parse( buffer, true );\n\n\t\t\t\timages[ i ] = {\n\t\t\t\t\twidth: texDatas.width,\n\t\t\t\t\theight: texDatas.height,\n\t\t\t\t\tformat: texDatas.format,\n\t\t\t\t\tmipmaps: texDatas.mipmaps\n\t\t\t\t};\n\n\t\t\t\tloaded += 1;\n\n\t\t\t\tif ( loaded === 6 ) {\n\n\t\t\t\t\tif ( texDatas.mipmapCount === 1 ) texture.minFilter = LinearFilter;\n\n\t\t\t\t\ttexture.image = images;\n\t\t\t\t\ttexture.format = texDatas.format;\n\t\t\t\t\ttexture.needsUpdate = true;\n\n\t\t\t\t\tif ( onLoad ) onLoad( texture );\n\n\t\t\t\t}\n\n\t\t\t}, onProgress, onError );\n\n\t\t}\n\n\t\tif ( Array.isArray( url ) ) {\n\n\t\t\tfor ( let i = 0, il = url.length; i < il; ++ i ) {\n\n\t\t\t\tloadTexture( i );\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// compressed cubemap texture stored in a single DDS file\n\n\t\t\tloader.load( url, function ( buffer ) {\n\n\t\t\t\tconst texDatas = scope.parse( buffer, true );\n\n\t\t\t\tif ( texDatas.isCubemap ) {\n\n\t\t\t\t\tconst faces = texDatas.mipmaps.length / texDatas.mipmapCount;\n\n\t\t\t\t\tfor ( let f = 0; f < faces; f ++ ) {\n\n\t\t\t\t\t\timages[ f ] = { mipmaps: [] };\n\n\t\t\t\t\t\tfor ( let i = 0; i < texDatas.mipmapCount; i ++ ) {\n\n\t\t\t\t\t\t\timages[ f ].mipmaps.push( texDatas.mipmaps[ f * texDatas.mipmapCount + i ] );\n\t\t\t\t\t\t\timages[ f ].format = texDatas.format;\n\t\t\t\t\t\t\timages[ f ].width = texDatas.width;\n\t\t\t\t\t\t\timages[ f ].height = texDatas.height;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\ttexture.image = images;\n\n\t\t\t\t} else {\n\n\t\t\t\t\ttexture.image.width = texDatas.width;\n\t\t\t\t\ttexture.image.height = texDatas.height;\n\t\t\t\t\ttexture.mipmaps = texDatas.mipmaps;\n\n\t\t\t\t}\n\n\t\t\t\tif ( texDatas.mipmapCount === 1 ) {\n\n\t\t\t\t\ttexture.minFilter = LinearFilter;\n\n\t\t\t\t}\n\n\t\t\t\ttexture.format = texDatas.format;\n\t\t\t\ttexture.needsUpdate = true;\n\n\t\t\t\tif ( onLoad ) onLoad( texture );\n\n\t\t\t}, onProgress, onError );\n\n\t\t}\n\n\t\treturn texture;\n\n\t}\n\n}\n\nclass ImageLoader extends Loader {\n\n\tconstructor( manager ) {\n\n\t\tsuper( manager );\n\n\t}\n\n\tload( url, onLoad, onProgress, onError ) {\n\n\t\tif ( this.path !== undefined ) url = this.path + url;\n\n\t\turl = this.manager.resolveURL( url );\n\n\t\tconst scope = this;\n\n\t\tconst cached = Cache.get( url );\n\n\t\tif ( cached !== undefined ) {\n\n\t\t\tscope.manager.itemStart( url );\n\n\t\t\tsetTimeout( function () {\n\n\t\t\t\tif ( onLoad ) onLoad( cached );\n\n\t\t\t\tscope.manager.itemEnd( url );\n\n\t\t\t}, 0 );\n\n\t\t\treturn cached;\n\n\t\t}\n\n\t\tconst image = createElementNS( 'img' );\n\n\t\tfunction onImageLoad() {\n\n\t\t\tremoveEventListeners();\n\n\t\t\tCache.add( url, this );\n\n\t\t\tif ( onLoad ) onLoad( this );\n\n\t\t\tscope.manager.itemEnd( url );\n\n\t\t}\n\n\t\tfunction onImageError( event ) {\n\n\t\t\tremoveEventListeners();\n\n\t\t\tif ( onError ) onError( event );\n\n\t\t\tscope.manager.itemError( url );\n\t\t\tscope.manager.itemEnd( url );\n\n\t\t}\n\n\t\tfunction removeEventListeners() {\n\n\t\t\timage.removeEventListener( 'load', onImageLoad, false );\n\t\t\timage.removeEventListener( 'error', onImageError, false );\n\n\t\t}\n\n\t\timage.addEventListener( 'load', onImageLoad, false );\n\t\timage.addEventListener( 'error', onImageError, false );\n\n\t\tif ( url.slice( 0, 5 ) !== 'data:' ) {\n\n\t\t\tif ( this.crossOrigin !== undefined ) image.crossOrigin = this.crossOrigin;\n\n\t\t}\n\n\t\tscope.manager.itemStart( url );\n\n\t\timage.src = url;\n\n\t\treturn image;\n\n\t}\n\n}\n\nclass CubeTextureLoader extends Loader {\n\n\tconstructor( manager ) {\n\n\t\tsuper( manager );\n\n\t}\n\n\tload( urls, onLoad, onProgress, onError ) {\n\n\t\tconst texture = new CubeTexture();\n\n\t\tconst loader = new ImageLoader( this.manager );\n\t\tloader.setCrossOrigin( this.crossOrigin );\n\t\tloader.setPath( this.path );\n\n\t\tlet loaded = 0;\n\n\t\tfunction loadTexture( i ) {\n\n\t\t\tloader.load( urls[ i ], function ( image ) {\n\n\t\t\t\ttexture.images[ i ] = image;\n\n\t\t\t\tloaded ++;\n\n\t\t\t\tif ( loaded === 6 ) {\n\n\t\t\t\t\ttexture.needsUpdate = true;\n\n\t\t\t\t\tif ( onLoad ) onLoad( texture );\n\n\t\t\t\t}\n\n\t\t\t}, undefined, onError );\n\n\t\t}\n\n\t\tfor ( let i = 0; i < urls.length; ++ i ) {\n\n\t\t\tloadTexture( i );\n\n\t\t}\n\n\t\treturn texture;\n\n\t}\n\n}\n\n/**\n * Abstract Base class to load generic binary textures formats (rgbe, hdr, ...)\n *\n * Sub classes have to implement the parse() method which will be used in load().\n */\n\nclass DataTextureLoader extends Loader {\n\n\tconstructor( manager ) {\n\n\t\tsuper( manager );\n\n\t}\n\n\tload( url, onLoad, onProgress, onError ) {\n\n\t\tconst scope = this;\n\n\t\tconst texture = new DataTexture();\n\n\t\tconst loader = new FileLoader( this.manager );\n\t\tloader.setResponseType( 'arraybuffer' );\n\t\tloader.setRequestHeader( this.requestHeader );\n\t\tloader.setPath( this.path );\n\t\tloader.setWithCredentials( scope.withCredentials );\n\t\tloader.load( url, function ( buffer ) {\n\n\t\t\tconst texData = scope.parse( buffer );\n\n\t\t\tif ( ! texData ) return;\n\n\t\t\tif ( texData.image !== undefined ) {\n\n\t\t\t\ttexture.image = texData.image;\n\n\t\t\t} else if ( texData.data !== undefined ) {\n\n\t\t\t\ttexture.image.width = texData.width;\n\t\t\t\ttexture.image.height = texData.height;\n\t\t\t\ttexture.image.data = texData.data;\n\n\t\t\t}\n\n\t\t\ttexture.wrapS = texData.wrapS !== undefined ? texData.wrapS : ClampToEdgeWrapping;\n\t\t\ttexture.wrapT = texData.wrapT !== undefined ? texData.wrapT : ClampToEdgeWrapping;\n\n\t\t\ttexture.magFilter = texData.magFilter !== undefined ? texData.magFilter : LinearFilter;\n\t\t\ttexture.minFilter = texData.minFilter !== undefined ? texData.minFilter : LinearFilter;\n\n\t\t\ttexture.anisotropy = texData.anisotropy !== undefined ? texData.anisotropy : 1;\n\n\t\t\tif ( texData.encoding !== undefined ) {\n\n\t\t\t\ttexture.encoding = texData.encoding;\n\n\t\t\t}\n\n\t\t\tif ( texData.flipY !== undefined ) {\n\n\t\t\t\ttexture.flipY = texData.flipY;\n\n\t\t\t}\n\n\t\t\tif ( texData.format !== undefined ) {\n\n\t\t\t\ttexture.format = texData.format;\n\n\t\t\t}\n\n\t\t\tif ( texData.type !== undefined ) {\n\n\t\t\t\ttexture.type = texData.type;\n\n\t\t\t}\n\n\t\t\tif ( texData.mipmaps !== undefined ) {\n\n\t\t\t\ttexture.mipmaps = texData.mipmaps;\n\t\t\t\ttexture.minFilter = LinearMipmapLinearFilter; // presumably...\n\n\t\t\t}\n\n\t\t\tif ( texData.mipmapCount === 1 ) {\n\n\t\t\t\ttexture.minFilter = LinearFilter;\n\n\t\t\t}\n\n\t\t\tif ( texData.generateMipmaps !== undefined ) {\n\n\t\t\t\ttexture.generateMipmaps = texData.generateMipmaps;\n\n\t\t\t}\n\n\t\t\ttexture.needsUpdate = true;\n\n\t\t\tif ( onLoad ) onLoad( texture, texData );\n\n\t\t}, onProgress, onError );\n\n\n\t\treturn texture;\n\n\t}\n\n}\n\nclass TextureLoader extends Loader {\n\n\tconstructor( manager ) {\n\n\t\tsuper( manager );\n\n\t}\n\n\tload( url, onLoad, onProgress, onError ) {\n\n\t\tconst texture = new Texture();\n\n\t\tconst loader = new ImageLoader( this.manager );\n\t\tloader.setCrossOrigin( this.crossOrigin );\n\t\tloader.setPath( this.path );\n\n\t\tloader.load( url, function ( image ) {\n\n\t\t\ttexture.image = image;\n\t\t\ttexture.needsUpdate = true;\n\n\t\t\tif ( onLoad !== undefined ) {\n\n\t\t\t\tonLoad( texture );\n\n\t\t\t}\n\n\t\t}, onProgress, onError );\n\n\t\treturn texture;\n\n\t}\n\n}\n\nclass Light extends Object3D {\n\n\tconstructor( color, intensity = 1 ) {\n\n\t\tsuper();\n\n\t\tthis.isLight = true;\n\n\t\tthis.type = 'Light';\n\n\t\tthis.color = new Color( color );\n\t\tthis.intensity = intensity;\n\n\t}\n\n\tdispose() {\n\n\t\t// Empty here in base class; some subclasses override.\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.color.copy( source.color );\n\t\tthis.intensity = source.intensity;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = super.toJSON( meta );\n\n\t\tdata.object.color = this.color.getHex();\n\t\tdata.object.intensity = this.intensity;\n\n\t\tif ( this.groundColor !== undefined ) data.object.groundColor = this.groundColor.getHex();\n\n\t\tif ( this.distance !== undefined ) data.object.distance = this.distance;\n\t\tif ( this.angle !== undefined ) data.object.angle = this.angle;\n\t\tif ( this.decay !== undefined ) data.object.decay = this.decay;\n\t\tif ( this.penumbra !== undefined ) data.object.penumbra = this.penumbra;\n\n\t\tif ( this.shadow !== undefined ) data.object.shadow = this.shadow.toJSON();\n\n\t\treturn data;\n\n\t}\n\n}\n\nclass HemisphereLight extends Light {\n\n\tconstructor( skyColor, groundColor, intensity ) {\n\n\t\tsuper( skyColor, intensity );\n\n\t\tthis.isHemisphereLight = true;\n\n\t\tthis.type = 'HemisphereLight';\n\n\t\tthis.position.copy( Object3D.DefaultUp );\n\t\tthis.updateMatrix();\n\n\t\tthis.groundColor = new Color( groundColor );\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.groundColor.copy( source.groundColor );\n\n\t\treturn this;\n\n\t}\n\n}\n\nconst _projScreenMatrix$1 = /*@__PURE__*/ new Matrix4();\nconst _lightPositionWorld$1 = /*@__PURE__*/ new Vector3();\nconst _lookTarget$1 = /*@__PURE__*/ new Vector3();\n\nclass LightShadow {\n\n\tconstructor( camera ) {\n\n\t\tthis.camera = camera;\n\n\t\tthis.bias = 0;\n\t\tthis.normalBias = 0;\n\t\tthis.radius = 1;\n\t\tthis.blurSamples = 8;\n\n\t\tthis.mapSize = new Vector2( 512, 512 );\n\n\t\tthis.map = null;\n\t\tthis.mapPass = null;\n\t\tthis.matrix = new Matrix4();\n\n\t\tthis.autoUpdate = true;\n\t\tthis.needsUpdate = false;\n\n\t\tthis._frustum = new Frustum();\n\t\tthis._frameExtents = new Vector2( 1, 1 );\n\n\t\tthis._viewportCount = 1;\n\n\t\tthis._viewports = [\n\n\t\t\tnew Vector4( 0, 0, 1, 1 )\n\n\t\t];\n\n\t}\n\n\tgetViewportCount() {\n\n\t\treturn this._viewportCount;\n\n\t}\n\n\tgetFrustum() {\n\n\t\treturn this._frustum;\n\n\t}\n\n\tupdateMatrices( light ) {\n\n\t\tconst shadowCamera = this.camera;\n\t\tconst shadowMatrix = this.matrix;\n\n\t\t_lightPositionWorld$1.setFromMatrixPosition( light.matrixWorld );\n\t\tshadowCamera.position.copy( _lightPositionWorld$1 );\n\n\t\t_lookTarget$1.setFromMatrixPosition( light.target.matrixWorld );\n\t\tshadowCamera.lookAt( _lookTarget$1 );\n\t\tshadowCamera.updateMatrixWorld();\n\n\t\t_projScreenMatrix$1.multiplyMatrices( shadowCamera.projectionMatrix, shadowCamera.matrixWorldInverse );\n\t\tthis._frustum.setFromProjectionMatrix( _projScreenMatrix$1 );\n\n\t\tshadowMatrix.set(\n\t\t\t0.5, 0.0, 0.0, 0.5,\n\t\t\t0.0, 0.5, 0.0, 0.5,\n\t\t\t0.0, 0.0, 0.5, 0.5,\n\t\t\t0.0, 0.0, 0.0, 1.0\n\t\t);\n\n\t\tshadowMatrix.multiply( shadowCamera.projectionMatrix );\n\t\tshadowMatrix.multiply( shadowCamera.matrixWorldInverse );\n\n\t}\n\n\tgetViewport( viewportIndex ) {\n\n\t\treturn this._viewports[ viewportIndex ];\n\n\t}\n\n\tgetFrameExtents() {\n\n\t\treturn this._frameExtents;\n\n\t}\n\n\tdispose() {\n\n\t\tif ( this.map ) {\n\n\t\t\tthis.map.dispose();\n\n\t\t}\n\n\t\tif ( this.mapPass ) {\n\n\t\t\tthis.mapPass.dispose();\n\n\t\t}\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.camera = source.camera.clone();\n\n\t\tthis.bias = source.bias;\n\t\tthis.radius = source.radius;\n\n\t\tthis.mapSize.copy( source.mapSize );\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst object = {};\n\n\t\tif ( this.bias !== 0 ) object.bias = this.bias;\n\t\tif ( this.normalBias !== 0 ) object.normalBias = this.normalBias;\n\t\tif ( this.radius !== 1 ) object.radius = this.radius;\n\t\tif ( this.mapSize.x !== 512 || this.mapSize.y !== 512 ) object.mapSize = this.mapSize.toArray();\n\n\t\tobject.camera = this.camera.toJSON( false ).object;\n\t\tdelete object.camera.matrix;\n\n\t\treturn object;\n\n\t}\n\n}\n\nclass SpotLightShadow extends LightShadow {\n\n\tconstructor() {\n\n\t\tsuper( new PerspectiveCamera( 50, 1, 0.5, 500 ) );\n\n\t\tthis.isSpotLightShadow = true;\n\n\t\tthis.focus = 1;\n\n\t}\n\n\tupdateMatrices( light ) {\n\n\t\tconst camera = this.camera;\n\n\t\tconst fov = RAD2DEG * 2 * light.angle * this.focus;\n\t\tconst aspect = this.mapSize.width / this.mapSize.height;\n\t\tconst far = light.distance || camera.far;\n\n\t\tif ( fov !== camera.fov || aspect !== camera.aspect || far !== camera.far ) {\n\n\t\t\tcamera.fov = fov;\n\t\t\tcamera.aspect = aspect;\n\t\t\tcamera.far = far;\n\t\t\tcamera.updateProjectionMatrix();\n\n\t\t}\n\n\t\tsuper.updateMatrices( light );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.focus = source.focus;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass SpotLight extends Light {\n\n\tconstructor( color, intensity, distance = 0, angle = Math.PI / 3, penumbra = 0, decay = 1 ) {\n\n\t\tsuper( color, intensity );\n\n\t\tthis.isSpotLight = true;\n\n\t\tthis.type = 'SpotLight';\n\n\t\tthis.position.copy( Object3D.DefaultUp );\n\t\tthis.updateMatrix();\n\n\t\tthis.target = new Object3D();\n\n\t\tthis.distance = distance;\n\t\tthis.angle = angle;\n\t\tthis.penumbra = penumbra;\n\t\tthis.decay = decay; // for physically correct lights, should be 2.\n\n\t\tthis.shadow = new SpotLightShadow();\n\n\t}\n\n\tget power() {\n\n\t\t// compute the light's luminous power (in lumens) from its intensity (in candela)\n\t\t// by convention for a spotlight, luminous power (lm) = π * luminous intensity (cd)\n\t\treturn this.intensity * Math.PI;\n\n\t}\n\n\tset power( power ) {\n\n\t\t// set the light's intensity (in candela) from the desired luminous power (in lumens)\n\t\tthis.intensity = power / Math.PI;\n\n\t}\n\n\tdispose() {\n\n\t\tthis.shadow.dispose();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.distance = source.distance;\n\t\tthis.angle = source.angle;\n\t\tthis.penumbra = source.penumbra;\n\t\tthis.decay = source.decay;\n\n\t\tthis.target = source.target.clone();\n\n\t\tthis.shadow = source.shadow.clone();\n\n\t\treturn this;\n\n\t}\n\n}\n\nconst _projScreenMatrix = /*@__PURE__*/ new Matrix4();\nconst _lightPositionWorld = /*@__PURE__*/ new Vector3();\nconst _lookTarget = /*@__PURE__*/ new Vector3();\n\nclass PointLightShadow extends LightShadow {\n\n\tconstructor() {\n\n\t\tsuper( new PerspectiveCamera( 90, 1, 0.5, 500 ) );\n\n\t\tthis.isPointLightShadow = true;\n\n\t\tthis._frameExtents = new Vector2( 4, 2 );\n\n\t\tthis._viewportCount = 6;\n\n\t\tthis._viewports = [\n\t\t\t// These viewports map a cube-map onto a 2D texture with the\n\t\t\t// following orientation:\n\t\t\t//\n\t\t\t// xzXZ\n\t\t\t// y Y\n\t\t\t//\n\t\t\t// X - Positive x direction\n\t\t\t// x - Negative x direction\n\t\t\t// Y - Positive y direction\n\t\t\t// y - Negative y direction\n\t\t\t// Z - Positive z direction\n\t\t\t// z - Negative z direction\n\n\t\t\t// positive X\n\t\t\tnew Vector4( 2, 1, 1, 1 ),\n\t\t\t// negative X\n\t\t\tnew Vector4( 0, 1, 1, 1 ),\n\t\t\t// positive Z\n\t\t\tnew Vector4( 3, 1, 1, 1 ),\n\t\t\t// negative Z\n\t\t\tnew Vector4( 1, 1, 1, 1 ),\n\t\t\t// positive Y\n\t\t\tnew Vector4( 3, 0, 1, 1 ),\n\t\t\t// negative Y\n\t\t\tnew Vector4( 1, 0, 1, 1 )\n\t\t];\n\n\t\tthis._cubeDirections = [\n\t\t\tnew Vector3( 1, 0, 0 ), new Vector3( - 1, 0, 0 ), new Vector3( 0, 0, 1 ),\n\t\t\tnew Vector3( 0, 0, - 1 ), new Vector3( 0, 1, 0 ), new Vector3( 0, - 1, 0 )\n\t\t];\n\n\t\tthis._cubeUps = [\n\t\t\tnew Vector3( 0, 1, 0 ), new Vector3( 0, 1, 0 ), new Vector3( 0, 1, 0 ),\n\t\t\tnew Vector3( 0, 1, 0 ), new Vector3( 0, 0, 1 ),\tnew Vector3( 0, 0, - 1 )\n\t\t];\n\n\t}\n\n\tupdateMatrices( light, viewportIndex = 0 ) {\n\n\t\tconst camera = this.camera;\n\t\tconst shadowMatrix = this.matrix;\n\n\t\tconst far = light.distance || camera.far;\n\n\t\tif ( far !== camera.far ) {\n\n\t\t\tcamera.far = far;\n\t\t\tcamera.updateProjectionMatrix();\n\n\t\t}\n\n\t\t_lightPositionWorld.setFromMatrixPosition( light.matrixWorld );\n\t\tcamera.position.copy( _lightPositionWorld );\n\n\t\t_lookTarget.copy( camera.position );\n\t\t_lookTarget.add( this._cubeDirections[ viewportIndex ] );\n\t\tcamera.up.copy( this._cubeUps[ viewportIndex ] );\n\t\tcamera.lookAt( _lookTarget );\n\t\tcamera.updateMatrixWorld();\n\n\t\tshadowMatrix.makeTranslation( - _lightPositionWorld.x, - _lightPositionWorld.y, - _lightPositionWorld.z );\n\n\t\t_projScreenMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse );\n\t\tthis._frustum.setFromProjectionMatrix( _projScreenMatrix );\n\n\t}\n\n}\n\nclass PointLight extends Light {\n\n\tconstructor( color, intensity, distance = 0, decay = 1 ) {\n\n\t\tsuper( color, intensity );\n\n\t\tthis.isPointLight = true;\n\n\t\tthis.type = 'PointLight';\n\n\t\tthis.distance = distance;\n\t\tthis.decay = decay; // for physically correct lights, should be 2.\n\n\t\tthis.shadow = new PointLightShadow();\n\n\t}\n\n\tget power() {\n\n\t\t// compute the light's luminous power (in lumens) from its intensity (in candela)\n\t\t// for an isotropic light source, luminous power (lm) = 4 π luminous intensity (cd)\n\t\treturn this.intensity * 4 * Math.PI;\n\n\t}\n\n\tset power( power ) {\n\n\t\t// set the light's intensity (in candela) from the desired luminous power (in lumens)\n\t\tthis.intensity = power / ( 4 * Math.PI );\n\n\t}\n\n\tdispose() {\n\n\t\tthis.shadow.dispose();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.distance = source.distance;\n\t\tthis.decay = source.decay;\n\n\t\tthis.shadow = source.shadow.clone();\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass DirectionalLightShadow extends LightShadow {\n\n\tconstructor() {\n\n\t\tsuper( new OrthographicCamera( - 5, 5, 5, - 5, 0.5, 500 ) );\n\n\t\tthis.isDirectionalLightShadow = true;\n\n\t}\n\n}\n\nclass DirectionalLight extends Light {\n\n\tconstructor( color, intensity ) {\n\n\t\tsuper( color, intensity );\n\n\t\tthis.isDirectionalLight = true;\n\n\t\tthis.type = 'DirectionalLight';\n\n\t\tthis.position.copy( Object3D.DefaultUp );\n\t\tthis.updateMatrix();\n\n\t\tthis.target = new Object3D();\n\n\t\tthis.shadow = new DirectionalLightShadow();\n\n\t}\n\n\tdispose() {\n\n\t\tthis.shadow.dispose();\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.target = source.target.clone();\n\t\tthis.shadow = source.shadow.clone();\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass AmbientLight extends Light {\n\n\tconstructor( color, intensity ) {\n\n\t\tsuper( color, intensity );\n\n\t\tthis.isAmbientLight = true;\n\n\t\tthis.type = 'AmbientLight';\n\n\t}\n\n}\n\nclass RectAreaLight extends Light {\n\n\tconstructor( color, intensity, width = 10, height = 10 ) {\n\n\t\tsuper( color, intensity );\n\n\t\tthis.isRectAreaLight = true;\n\n\t\tthis.type = 'RectAreaLight';\n\n\t\tthis.width = width;\n\t\tthis.height = height;\n\n\t}\n\n\tget power() {\n\n\t\t// compute the light's luminous power (in lumens) from its intensity (in nits)\n\t\treturn this.intensity * this.width * this.height * Math.PI;\n\n\t}\n\n\tset power( power ) {\n\n\t\t// set the light's intensity (in nits) from the desired luminous power (in lumens)\n\t\tthis.intensity = power / ( this.width * this.height * Math.PI );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.width = source.width;\n\t\tthis.height = source.height;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = super.toJSON( meta );\n\n\t\tdata.object.width = this.width;\n\t\tdata.object.height = this.height;\n\n\t\treturn data;\n\n\t}\n\n}\n\n/**\n * Primary reference:\n * https://graphics.stanford.edu/papers/envmap/envmap.pdf\n *\n * Secondary reference:\n * https://www.ppsloan.org/publications/StupidSH36.pdf\n */\n\n// 3-band SH defined by 9 coefficients\n\nclass SphericalHarmonics3 {\n\n\tconstructor() {\n\n\t\tthis.isSphericalHarmonics3 = true;\n\n\t\tthis.coefficients = [];\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tthis.coefficients.push( new Vector3() );\n\n\t\t}\n\n\t}\n\n\tset( coefficients ) {\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tthis.coefficients[ i ].copy( coefficients[ i ] );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tzero() {\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tthis.coefficients[ i ].set( 0, 0, 0 );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\t// get the radiance in the direction of the normal\n\t// target is a Vector3\n\tgetAt( normal, target ) {\n\n\t\t// normal is assumed to be unit length\n\n\t\tconst x = normal.x, y = normal.y, z = normal.z;\n\n\t\tconst coeff = this.coefficients;\n\n\t\t// band 0\n\t\ttarget.copy( coeff[ 0 ] ).multiplyScalar( 0.282095 );\n\n\t\t// band 1\n\t\ttarget.addScaledVector( coeff[ 1 ], 0.488603 * y );\n\t\ttarget.addScaledVector( coeff[ 2 ], 0.488603 * z );\n\t\ttarget.addScaledVector( coeff[ 3 ], 0.488603 * x );\n\n\t\t// band 2\n\t\ttarget.addScaledVector( coeff[ 4 ], 1.092548 * ( x * y ) );\n\t\ttarget.addScaledVector( coeff[ 5 ], 1.092548 * ( y * z ) );\n\t\ttarget.addScaledVector( coeff[ 6 ], 0.315392 * ( 3.0 * z * z - 1.0 ) );\n\t\ttarget.addScaledVector( coeff[ 7 ], 1.092548 * ( x * z ) );\n\t\ttarget.addScaledVector( coeff[ 8 ], 0.546274 * ( x * x - y * y ) );\n\n\t\treturn target;\n\n\t}\n\n\t// get the irradiance (radiance convolved with cosine lobe) in the direction of the normal\n\t// target is a Vector3\n\t// https://graphics.stanford.edu/papers/envmap/envmap.pdf\n\tgetIrradianceAt( normal, target ) {\n\n\t\t// normal is assumed to be unit length\n\n\t\tconst x = normal.x, y = normal.y, z = normal.z;\n\n\t\tconst coeff = this.coefficients;\n\n\t\t// band 0\n\t\ttarget.copy( coeff[ 0 ] ).multiplyScalar( 0.886227 ); // π * 0.282095\n\n\t\t// band 1\n\t\ttarget.addScaledVector( coeff[ 1 ], 2.0 * 0.511664 * y ); // ( 2 * π / 3 ) * 0.488603\n\t\ttarget.addScaledVector( coeff[ 2 ], 2.0 * 0.511664 * z );\n\t\ttarget.addScaledVector( coeff[ 3 ], 2.0 * 0.511664 * x );\n\n\t\t// band 2\n\t\ttarget.addScaledVector( coeff[ 4 ], 2.0 * 0.429043 * x * y ); // ( π / 4 ) * 1.092548\n\t\ttarget.addScaledVector( coeff[ 5 ], 2.0 * 0.429043 * y * z );\n\t\ttarget.addScaledVector( coeff[ 6 ], 0.743125 * z * z - 0.247708 ); // ( π / 4 ) * 0.315392 * 3\n\t\ttarget.addScaledVector( coeff[ 7 ], 2.0 * 0.429043 * x * z );\n\t\ttarget.addScaledVector( coeff[ 8 ], 0.429043 * ( x * x - y * y ) ); // ( π / 4 ) * 0.546274\n\n\t\treturn target;\n\n\t}\n\n\tadd( sh ) {\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tthis.coefficients[ i ].add( sh.coefficients[ i ] );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\taddScaledSH( sh, s ) {\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tthis.coefficients[ i ].addScaledVector( sh.coefficients[ i ], s );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tscale( s ) {\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tthis.coefficients[ i ].multiplyScalar( s );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tlerp( sh, alpha ) {\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tthis.coefficients[ i ].lerp( sh.coefficients[ i ], alpha );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tequals( sh ) {\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tif ( ! this.coefficients[ i ].equals( sh.coefficients[ i ] ) ) {\n\n\t\t\t\treturn false;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn true;\n\n\t}\n\n\tcopy( sh ) {\n\n\t\treturn this.set( sh.coefficients );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tconst coefficients = this.coefficients;\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tcoefficients[ i ].fromArray( array, offset + ( i * 3 ) );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tconst coefficients = this.coefficients;\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tcoefficients[ i ].toArray( array, offset + ( i * 3 ) );\n\n\t\t}\n\n\t\treturn array;\n\n\t}\n\n\t// evaluate the basis functions\n\t// shBasis is an Array[ 9 ]\n\tstatic getBasisAt( normal, shBasis ) {\n\n\t\t// normal is assumed to be unit length\n\n\t\tconst x = normal.x, y = normal.y, z = normal.z;\n\n\t\t// band 0\n\t\tshBasis[ 0 ] = 0.282095;\n\n\t\t// band 1\n\t\tshBasis[ 1 ] = 0.488603 * y;\n\t\tshBasis[ 2 ] = 0.488603 * z;\n\t\tshBasis[ 3 ] = 0.488603 * x;\n\n\t\t// band 2\n\t\tshBasis[ 4 ] = 1.092548 * x * y;\n\t\tshBasis[ 5 ] = 1.092548 * y * z;\n\t\tshBasis[ 6 ] = 0.315392 * ( 3 * z * z - 1 );\n\t\tshBasis[ 7 ] = 1.092548 * x * z;\n\t\tshBasis[ 8 ] = 0.546274 * ( x * x - y * y );\n\n\t}\n\n}\n\nclass LightProbe extends Light {\n\n\tconstructor( sh = new SphericalHarmonics3(), intensity = 1 ) {\n\n\t\tsuper( undefined, intensity );\n\n\t\tthis.isLightProbe = true;\n\n\t\tthis.sh = sh;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.sh.copy( source.sh );\n\n\t\treturn this;\n\n\t}\n\n\tfromJSON( json ) {\n\n\t\tthis.intensity = json.intensity; // TODO: Move this bit to Light.fromJSON();\n\t\tthis.sh.fromArray( json.sh );\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = super.toJSON( meta );\n\n\t\tdata.object.sh = this.sh.toArray();\n\n\t\treturn data;\n\n\t}\n\n}\n\nclass MaterialLoader extends Loader {\n\n\tconstructor( manager ) {\n\n\t\tsuper( manager );\n\t\tthis.textures = {};\n\n\t}\n\n\tload( url, onLoad, onProgress, onError ) {\n\n\t\tconst scope = this;\n\n\t\tconst loader = new FileLoader( scope.manager );\n\t\tloader.setPath( scope.path );\n\t\tloader.setRequestHeader( scope.requestHeader );\n\t\tloader.setWithCredentials( scope.withCredentials );\n\t\tloader.load( url, function ( text ) {\n\n\t\t\ttry {\n\n\t\t\t\tonLoad( scope.parse( JSON.parse( text ) ) );\n\n\t\t\t} catch ( e ) {\n\n\t\t\t\tif ( onError ) {\n\n\t\t\t\t\tonError( e );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tconsole.error( e );\n\n\t\t\t\t}\n\n\t\t\t\tscope.manager.itemError( url );\n\n\t\t\t}\n\n\t\t}, onProgress, onError );\n\n\t}\n\n\tparse( json ) {\n\n\t\tconst textures = this.textures;\n\n\t\tfunction getTexture( name ) {\n\n\t\t\tif ( textures[ name ] === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.MaterialLoader: Undefined texture', name );\n\n\t\t\t}\n\n\t\t\treturn textures[ name ];\n\n\t\t}\n\n\t\tconst material = MaterialLoader.createMaterialFromType( json.type );\n\n\t\tif ( json.uuid !== undefined ) material.uuid = json.uuid;\n\t\tif ( json.name !== undefined ) material.name = json.name;\n\t\tif ( json.color !== undefined && material.color !== undefined ) material.color.setHex( json.color );\n\t\tif ( json.roughness !== undefined ) material.roughness = json.roughness;\n\t\tif ( json.metalness !== undefined ) material.metalness = json.metalness;\n\t\tif ( json.sheen !== undefined ) material.sheen = json.sheen;\n\t\tif ( json.sheenColor !== undefined ) material.sheenColor = new Color().setHex( json.sheenColor );\n\t\tif ( json.sheenRoughness !== undefined ) material.sheenRoughness = json.sheenRoughness;\n\t\tif ( json.emissive !== undefined && material.emissive !== undefined ) material.emissive.setHex( json.emissive );\n\t\tif ( json.specular !== undefined && material.specular !== undefined ) material.specular.setHex( json.specular );\n\t\tif ( json.specularIntensity !== undefined ) material.specularIntensity = json.specularIntensity;\n\t\tif ( json.specularColor !== undefined && material.specularColor !== undefined ) material.specularColor.setHex( json.specularColor );\n\t\tif ( json.shininess !== undefined ) material.shininess = json.shininess;\n\t\tif ( json.clearcoat !== undefined ) material.clearcoat = json.clearcoat;\n\t\tif ( json.clearcoatRoughness !== undefined ) material.clearcoatRoughness = json.clearcoatRoughness;\n\t\tif ( json.iridescence !== undefined ) material.iridescence = json.iridescence;\n\t\tif ( json.iridescenceIOR !== undefined ) material.iridescenceIOR = json.iridescenceIOR;\n\t\tif ( json.iridescenceThicknessRange !== undefined ) material.iridescenceThicknessRange = json.iridescenceThicknessRange;\n\t\tif ( json.transmission !== undefined ) material.transmission = json.transmission;\n\t\tif ( json.thickness !== undefined ) material.thickness = json.thickness;\n\t\tif ( json.attenuationDistance !== undefined ) material.attenuationDistance = json.attenuationDistance;\n\t\tif ( json.attenuationColor !== undefined && material.attenuationColor !== undefined ) material.attenuationColor.setHex( json.attenuationColor );\n\t\tif ( json.fog !== undefined ) material.fog = json.fog;\n\t\tif ( json.flatShading !== undefined ) material.flatShading = json.flatShading;\n\t\tif ( json.blending !== undefined ) material.blending = json.blending;\n\t\tif ( json.combine !== undefined ) material.combine = json.combine;\n\t\tif ( json.side !== undefined ) material.side = json.side;\n\t\tif ( json.shadowSide !== undefined ) material.shadowSide = json.shadowSide;\n\t\tif ( json.opacity !== undefined ) material.opacity = json.opacity;\n\t\tif ( json.transparent !== undefined ) material.transparent = json.transparent;\n\t\tif ( json.alphaTest !== undefined ) material.alphaTest = json.alphaTest;\n\t\tif ( json.depthTest !== undefined ) material.depthTest = json.depthTest;\n\t\tif ( json.depthWrite !== undefined ) material.depthWrite = json.depthWrite;\n\t\tif ( json.colorWrite !== undefined ) material.colorWrite = json.colorWrite;\n\n\t\tif ( json.stencilWrite !== undefined ) material.stencilWrite = json.stencilWrite;\n\t\tif ( json.stencilWriteMask !== undefined ) material.stencilWriteMask = json.stencilWriteMask;\n\t\tif ( json.stencilFunc !== undefined ) material.stencilFunc = json.stencilFunc;\n\t\tif ( json.stencilRef !== undefined ) material.stencilRef = json.stencilRef;\n\t\tif ( json.stencilFuncMask !== undefined ) material.stencilFuncMask = json.stencilFuncMask;\n\t\tif ( json.stencilFail !== undefined ) material.stencilFail = json.stencilFail;\n\t\tif ( json.stencilZFail !== undefined ) material.stencilZFail = json.stencilZFail;\n\t\tif ( json.stencilZPass !== undefined ) material.stencilZPass = json.stencilZPass;\n\n\t\tif ( json.wireframe !== undefined ) material.wireframe = json.wireframe;\n\t\tif ( json.wireframeLinewidth !== undefined ) material.wireframeLinewidth = json.wireframeLinewidth;\n\t\tif ( json.wireframeLinecap !== undefined ) material.wireframeLinecap = json.wireframeLinecap;\n\t\tif ( json.wireframeLinejoin !== undefined ) material.wireframeLinejoin = json.wireframeLinejoin;\n\n\t\tif ( json.rotation !== undefined ) material.rotation = json.rotation;\n\n\t\tif ( json.linewidth !== 1 ) material.linewidth = json.linewidth;\n\t\tif ( json.dashSize !== undefined ) material.dashSize = json.dashSize;\n\t\tif ( json.gapSize !== undefined ) material.gapSize = json.gapSize;\n\t\tif ( json.scale !== undefined ) material.scale = json.scale;\n\n\t\tif ( json.polygonOffset !== undefined ) material.polygonOffset = json.polygonOffset;\n\t\tif ( json.polygonOffsetFactor !== undefined ) material.polygonOffsetFactor = json.polygonOffsetFactor;\n\t\tif ( json.polygonOffsetUnits !== undefined ) material.polygonOffsetUnits = json.polygonOffsetUnits;\n\n\t\tif ( json.dithering !== undefined ) material.dithering = json.dithering;\n\n\t\tif ( json.alphaToCoverage !== undefined ) material.alphaToCoverage = json.alphaToCoverage;\n\t\tif ( json.premultipliedAlpha !== undefined ) material.premultipliedAlpha = json.premultipliedAlpha;\n\n\t\tif ( json.visible !== undefined ) material.visible = json.visible;\n\n\t\tif ( json.toneMapped !== undefined ) material.toneMapped = json.toneMapped;\n\n\t\tif ( json.userData !== undefined ) material.userData = json.userData;\n\n\t\tif ( json.vertexColors !== undefined ) {\n\n\t\t\tif ( typeof json.vertexColors === 'number' ) {\n\n\t\t\t\tmaterial.vertexColors = ( json.vertexColors > 0 ) ? true : false;\n\n\t\t\t} else {\n\n\t\t\t\tmaterial.vertexColors = json.vertexColors;\n\n\t\t\t}\n\n\t\t}\n\n\t\t// Shader Material\n\n\t\tif ( json.uniforms !== undefined ) {\n\n\t\t\tfor ( const name in json.uniforms ) {\n\n\t\t\t\tconst uniform = json.uniforms[ name ];\n\n\t\t\t\tmaterial.uniforms[ name ] = {};\n\n\t\t\t\tswitch ( uniform.type ) {\n\n\t\t\t\t\tcase 't':\n\t\t\t\t\t\tmaterial.uniforms[ name ].value = getTexture( uniform.value );\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'c':\n\t\t\t\t\t\tmaterial.uniforms[ name ].value = new Color().setHex( uniform.value );\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'v2':\n\t\t\t\t\t\tmaterial.uniforms[ name ].value = new Vector2().fromArray( uniform.value );\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'v3':\n\t\t\t\t\t\tmaterial.uniforms[ name ].value = new Vector3().fromArray( uniform.value );\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'v4':\n\t\t\t\t\t\tmaterial.uniforms[ name ].value = new Vector4().fromArray( uniform.value );\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'm3':\n\t\t\t\t\t\tmaterial.uniforms[ name ].value = new Matrix3().fromArray( uniform.value );\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'm4':\n\t\t\t\t\t\tmaterial.uniforms[ name ].value = new Matrix4().fromArray( uniform.value );\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tmaterial.uniforms[ name ].value = uniform.value;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( json.defines !== undefined ) material.defines = json.defines;\n\t\tif ( json.vertexShader !== undefined ) material.vertexShader = json.vertexShader;\n\t\tif ( json.fragmentShader !== undefined ) material.fragmentShader = json.fragmentShader;\n\n\t\tif ( json.extensions !== undefined ) {\n\n\t\t\tfor ( const key in json.extensions ) {\n\n\t\t\t\tmaterial.extensions[ key ] = json.extensions[ key ];\n\n\t\t\t}\n\n\t\t}\n\n\t\t// Deprecated\n\n\t\tif ( json.shading !== undefined ) material.flatShading = json.shading === 1; // THREE.FlatShading\n\n\t\t// for PointsMaterial\n\n\t\tif ( json.size !== undefined ) material.size = json.size;\n\t\tif ( json.sizeAttenuation !== undefined ) material.sizeAttenuation = json.sizeAttenuation;\n\n\t\t// maps\n\n\t\tif ( json.map !== undefined ) material.map = getTexture( json.map );\n\t\tif ( json.matcap !== undefined ) material.matcap = getTexture( json.matcap );\n\n\t\tif ( json.alphaMap !== undefined ) material.alphaMap = getTexture( json.alphaMap );\n\n\t\tif ( json.bumpMap !== undefined ) material.bumpMap = getTexture( json.bumpMap );\n\t\tif ( json.bumpScale !== undefined ) material.bumpScale = json.bumpScale;\n\n\t\tif ( json.normalMap !== undefined ) material.normalMap = getTexture( json.normalMap );\n\t\tif ( json.normalMapType !== undefined ) material.normalMapType = json.normalMapType;\n\t\tif ( json.normalScale !== undefined ) {\n\n\t\t\tlet normalScale = json.normalScale;\n\n\t\t\tif ( Array.isArray( normalScale ) === false ) {\n\n\t\t\t\t// Blender exporter used to export a scalar. See #7459\n\n\t\t\t\tnormalScale = [ normalScale, normalScale ];\n\n\t\t\t}\n\n\t\t\tmaterial.normalScale = new Vector2().fromArray( normalScale );\n\n\t\t}\n\n\t\tif ( json.displacementMap !== undefined ) material.displacementMap = getTexture( json.displacementMap );\n\t\tif ( json.displacementScale !== undefined ) material.displacementScale = json.displacementScale;\n\t\tif ( json.displacementBias !== undefined ) material.displacementBias = json.displacementBias;\n\n\t\tif ( json.roughnessMap !== undefined ) material.roughnessMap = getTexture( json.roughnessMap );\n\t\tif ( json.metalnessMap !== undefined ) material.metalnessMap = getTexture( json.metalnessMap );\n\n\t\tif ( json.emissiveMap !== undefined ) material.emissiveMap = getTexture( json.emissiveMap );\n\t\tif ( json.emissiveIntensity !== undefined ) material.emissiveIntensity = json.emissiveIntensity;\n\n\t\tif ( json.specularMap !== undefined ) material.specularMap = getTexture( json.specularMap );\n\t\tif ( json.specularIntensityMap !== undefined ) material.specularIntensityMap = getTexture( json.specularIntensityMap );\n\t\tif ( json.specularColorMap !== undefined ) material.specularColorMap = getTexture( json.specularColorMap );\n\n\t\tif ( json.envMap !== undefined ) material.envMap = getTexture( json.envMap );\n\t\tif ( json.envMapIntensity !== undefined ) material.envMapIntensity = json.envMapIntensity;\n\n\t\tif ( json.reflectivity !== undefined ) material.reflectivity = json.reflectivity;\n\t\tif ( json.refractionRatio !== undefined ) material.refractionRatio = json.refractionRatio;\n\n\t\tif ( json.lightMap !== undefined ) material.lightMap = getTexture( json.lightMap );\n\t\tif ( json.lightMapIntensity !== undefined ) material.lightMapIntensity = json.lightMapIntensity;\n\n\t\tif ( json.aoMap !== undefined ) material.aoMap = getTexture( json.aoMap );\n\t\tif ( json.aoMapIntensity !== undefined ) material.aoMapIntensity = json.aoMapIntensity;\n\n\t\tif ( json.gradientMap !== undefined ) material.gradientMap = getTexture( json.gradientMap );\n\n\t\tif ( json.clearcoatMap !== undefined ) material.clearcoatMap = getTexture( json.clearcoatMap );\n\t\tif ( json.clearcoatRoughnessMap !== undefined ) material.clearcoatRoughnessMap = getTexture( json.clearcoatRoughnessMap );\n\t\tif ( json.clearcoatNormalMap !== undefined ) material.clearcoatNormalMap = getTexture( json.clearcoatNormalMap );\n\t\tif ( json.clearcoatNormalScale !== undefined ) material.clearcoatNormalScale = new Vector2().fromArray( json.clearcoatNormalScale );\n\n\t\tif ( json.iridescenceMap !== undefined ) material.iridescenceMap = getTexture( json.iridescenceMap );\n\t\tif ( json.iridescenceThicknessMap !== undefined ) material.iridescenceThicknessMap = getTexture( json.iridescenceThicknessMap );\n\n\t\tif ( json.transmissionMap !== undefined ) material.transmissionMap = getTexture( json.transmissionMap );\n\t\tif ( json.thicknessMap !== undefined ) material.thicknessMap = getTexture( json.thicknessMap );\n\n\t\tif ( json.sheenColorMap !== undefined ) material.sheenColorMap = getTexture( json.sheenColorMap );\n\t\tif ( json.sheenRoughnessMap !== undefined ) material.sheenRoughnessMap = getTexture( json.sheenRoughnessMap );\n\n\t\treturn material;\n\n\t}\n\n\tsetTextures( value ) {\n\n\t\tthis.textures = value;\n\t\treturn this;\n\n\t}\n\n\tstatic createMaterialFromType( type ) {\n\n\t\tconst materialLib = {\n\t\t\tShadowMaterial,\n\t\t\tSpriteMaterial,\n\t\t\tRawShaderMaterial,\n\t\t\tShaderMaterial,\n\t\t\tPointsMaterial,\n\t\t\tMeshPhysicalMaterial,\n\t\t\tMeshStandardMaterial,\n\t\t\tMeshPhongMaterial,\n\t\t\tMeshToonMaterial,\n\t\t\tMeshNormalMaterial,\n\t\t\tMeshLambertMaterial,\n\t\t\tMeshDepthMaterial,\n\t\t\tMeshDistanceMaterial,\n\t\t\tMeshBasicMaterial,\n\t\t\tMeshMatcapMaterial,\n\t\t\tLineDashedMaterial,\n\t\t\tLineBasicMaterial,\n\t\t\tMaterial\n\t\t};\n\n\t\treturn new materialLib[ type ]();\n\n\t}\n\n}\n\nclass LoaderUtils {\n\n\tstatic decodeText( array ) {\n\n\t\tif ( typeof TextDecoder !== 'undefined' ) {\n\n\t\t\treturn new TextDecoder().decode( array );\n\n\t\t}\n\n\t\t// Avoid the String.fromCharCode.apply(null, array) shortcut, which\n\t\t// throws a \"maximum call stack size exceeded\" error for large arrays.\n\n\t\tlet s = '';\n\n\t\tfor ( let i = 0, il = array.length; i < il; i ++ ) {\n\n\t\t\t// Implicitly assumes little-endian.\n\t\t\ts += String.fromCharCode( array[ i ] );\n\n\t\t}\n\n\t\ttry {\n\n\t\t\t// merges multi-byte utf-8 characters.\n\n\t\t\treturn decodeURIComponent( escape( s ) );\n\n\t\t} catch ( e ) { // see #16358\n\n\t\t\treturn s;\n\n\t\t}\n\n\t}\n\n\tstatic extractUrlBase( url ) {\n\n\t\tconst index = url.lastIndexOf( '/' );\n\n\t\tif ( index === - 1 ) return './';\n\n\t\treturn url.slice( 0, index + 1 );\n\n\t}\n\n\tstatic resolveURL( url, path ) {\n\n\t\t// Invalid URL\n\t\tif ( typeof url !== 'string' || url === '' ) return '';\n\n\t\t// Host Relative URL\n\t\tif ( /^https?:\\/\\//i.test( path ) && /^\\//.test( url ) ) {\n\n\t\t\tpath = path.replace( /(^https?:\\/\\/[^\\/]+).*/i, '$1' );\n\n\t\t}\n\n\t\t// Absolute URL http://,https://,//\n\t\tif ( /^(https?:)?\\/\\//i.test( url ) ) return url;\n\n\t\t// Data URI\n\t\tif ( /^data:.*,.*$/i.test( url ) ) return url;\n\n\t\t// Blob URL\n\t\tif ( /^blob:.*$/i.test( url ) ) return url;\n\n\t\t// Relative URL\n\t\treturn path + url;\n\n\t}\n\n}\n\nclass InstancedBufferGeometry extends BufferGeometry {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.isInstancedBufferGeometry = true;\n\n\t\tthis.type = 'InstancedBufferGeometry';\n\t\tthis.instanceCount = Infinity;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.instanceCount = source.instanceCount;\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst data = super.toJSON( this );\n\n\t\tdata.instanceCount = this.instanceCount;\n\n\t\tdata.isInstancedBufferGeometry = true;\n\n\t\treturn data;\n\n\t}\n\n}\n\nclass BufferGeometryLoader extends Loader {\n\n\tconstructor( manager ) {\n\n\t\tsuper( manager );\n\n\t}\n\n\tload( url, onLoad, onProgress, onError ) {\n\n\t\tconst scope = this;\n\n\t\tconst loader = new FileLoader( scope.manager );\n\t\tloader.setPath( scope.path );\n\t\tloader.setRequestHeader( scope.requestHeader );\n\t\tloader.setWithCredentials( scope.withCredentials );\n\t\tloader.load( url, function ( text ) {\n\n\t\t\ttry {\n\n\t\t\t\tonLoad( scope.parse( JSON.parse( text ) ) );\n\n\t\t\t} catch ( e ) {\n\n\t\t\t\tif ( onError ) {\n\n\t\t\t\t\tonError( e );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tconsole.error( e );\n\n\t\t\t\t}\n\n\t\t\t\tscope.manager.itemError( url );\n\n\t\t\t}\n\n\t\t}, onProgress, onError );\n\n\t}\n\n\tparse( json ) {\n\n\t\tconst interleavedBufferMap = {};\n\t\tconst arrayBufferMap = {};\n\n\t\tfunction getInterleavedBuffer( json, uuid ) {\n\n\t\t\tif ( interleavedBufferMap[ uuid ] !== undefined ) return interleavedBufferMap[ uuid ];\n\n\t\t\tconst interleavedBuffers = json.interleavedBuffers;\n\t\t\tconst interleavedBuffer = interleavedBuffers[ uuid ];\n\n\t\t\tconst buffer = getArrayBuffer( json, interleavedBuffer.buffer );\n\n\t\t\tconst array = getTypedArray( interleavedBuffer.type, buffer );\n\t\t\tconst ib = new InterleavedBuffer( array, interleavedBuffer.stride );\n\t\t\tib.uuid = interleavedBuffer.uuid;\n\n\t\t\tinterleavedBufferMap[ uuid ] = ib;\n\n\t\t\treturn ib;\n\n\t\t}\n\n\t\tfunction getArrayBuffer( json, uuid ) {\n\n\t\t\tif ( arrayBufferMap[ uuid ] !== undefined ) return arrayBufferMap[ uuid ];\n\n\t\t\tconst arrayBuffers = json.arrayBuffers;\n\t\t\tconst arrayBuffer = arrayBuffers[ uuid ];\n\n\t\t\tconst ab = new Uint32Array( arrayBuffer ).buffer;\n\n\t\t\tarrayBufferMap[ uuid ] = ab;\n\n\t\t\treturn ab;\n\n\t\t}\n\n\t\tconst geometry = json.isInstancedBufferGeometry ? new InstancedBufferGeometry() : new BufferGeometry();\n\n\t\tconst index = json.data.index;\n\n\t\tif ( index !== undefined ) {\n\n\t\t\tconst typedArray = getTypedArray( index.type, index.array );\n\t\t\tgeometry.setIndex( new BufferAttribute( typedArray, 1 ) );\n\n\t\t}\n\n\t\tconst attributes = json.data.attributes;\n\n\t\tfor ( const key in attributes ) {\n\n\t\t\tconst attribute = attributes[ key ];\n\t\t\tlet bufferAttribute;\n\n\t\t\tif ( attribute.isInterleavedBufferAttribute ) {\n\n\t\t\t\tconst interleavedBuffer = getInterleavedBuffer( json.data, attribute.data );\n\t\t\t\tbufferAttribute = new InterleavedBufferAttribute( interleavedBuffer, attribute.itemSize, attribute.offset, attribute.normalized );\n\n\t\t\t} else {\n\n\t\t\t\tconst typedArray = getTypedArray( attribute.type, attribute.array );\n\t\t\t\tconst bufferAttributeConstr = attribute.isInstancedBufferAttribute ? InstancedBufferAttribute : BufferAttribute;\n\t\t\t\tbufferAttribute = new bufferAttributeConstr( typedArray, attribute.itemSize, attribute.normalized );\n\n\t\t\t}\n\n\t\t\tif ( attribute.name !== undefined ) bufferAttribute.name = attribute.name;\n\t\t\tif ( attribute.usage !== undefined ) bufferAttribute.setUsage( attribute.usage );\n\n\t\t\tif ( attribute.updateRange !== undefined ) {\n\n\t\t\t\tbufferAttribute.updateRange.offset = attribute.updateRange.offset;\n\t\t\t\tbufferAttribute.updateRange.count = attribute.updateRange.count;\n\n\t\t\t}\n\n\t\t\tgeometry.setAttribute( key, bufferAttribute );\n\n\t\t}\n\n\t\tconst morphAttributes = json.data.morphAttributes;\n\n\t\tif ( morphAttributes ) {\n\n\t\t\tfor ( const key in morphAttributes ) {\n\n\t\t\t\tconst attributeArray = morphAttributes[ key ];\n\n\t\t\t\tconst array = [];\n\n\t\t\t\tfor ( let i = 0, il = attributeArray.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst attribute = attributeArray[ i ];\n\t\t\t\t\tlet bufferAttribute;\n\n\t\t\t\t\tif ( attribute.isInterleavedBufferAttribute ) {\n\n\t\t\t\t\t\tconst interleavedBuffer = getInterleavedBuffer( json.data, attribute.data );\n\t\t\t\t\t\tbufferAttribute = new InterleavedBufferAttribute( interleavedBuffer, attribute.itemSize, attribute.offset, attribute.normalized );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tconst typedArray = getTypedArray( attribute.type, attribute.array );\n\t\t\t\t\t\tbufferAttribute = new BufferAttribute( typedArray, attribute.itemSize, attribute.normalized );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( attribute.name !== undefined ) bufferAttribute.name = attribute.name;\n\t\t\t\t\tarray.push( bufferAttribute );\n\n\t\t\t\t}\n\n\t\t\t\tgeometry.morphAttributes[ key ] = array;\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst morphTargetsRelative = json.data.morphTargetsRelative;\n\n\t\tif ( morphTargetsRelative ) {\n\n\t\t\tgeometry.morphTargetsRelative = true;\n\n\t\t}\n\n\t\tconst groups = json.data.groups || json.data.drawcalls || json.data.offsets;\n\n\t\tif ( groups !== undefined ) {\n\n\t\t\tfor ( let i = 0, n = groups.length; i !== n; ++ i ) {\n\n\t\t\t\tconst group = groups[ i ];\n\n\t\t\t\tgeometry.addGroup( group.start, group.count, group.materialIndex );\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst boundingSphere = json.data.boundingSphere;\n\n\t\tif ( boundingSphere !== undefined ) {\n\n\t\t\tconst center = new Vector3();\n\n\t\t\tif ( boundingSphere.center !== undefined ) {\n\n\t\t\t\tcenter.fromArray( boundingSphere.center );\n\n\t\t\t}\n\n\t\t\tgeometry.boundingSphere = new Sphere( center, boundingSphere.radius );\n\n\t\t}\n\n\t\tif ( json.name ) geometry.name = json.name;\n\t\tif ( json.userData ) geometry.userData = json.userData;\n\n\t\treturn geometry;\n\n\t}\n\n}\n\nclass ObjectLoader extends Loader {\n\n\tconstructor( manager ) {\n\n\t\tsuper( manager );\n\n\t}\n\n\tload( url, onLoad, onProgress, onError ) {\n\n\t\tconst scope = this;\n\n\t\tconst path = ( this.path === '' ) ? LoaderUtils.extractUrlBase( url ) : this.path;\n\t\tthis.resourcePath = this.resourcePath || path;\n\n\t\tconst loader = new FileLoader( this.manager );\n\t\tloader.setPath( this.path );\n\t\tloader.setRequestHeader( this.requestHeader );\n\t\tloader.setWithCredentials( this.withCredentials );\n\t\tloader.load( url, function ( text ) {\n\n\t\t\tlet json = null;\n\n\t\t\ttry {\n\n\t\t\t\tjson = JSON.parse( text );\n\n\t\t\t} catch ( error ) {\n\n\t\t\t\tif ( onError !== undefined ) onError( error );\n\n\t\t\t\tconsole.error( 'THREE:ObjectLoader: Can\\'t parse ' + url + '.', error.message );\n\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t\tconst metadata = json.metadata;\n\n\t\t\tif ( metadata === undefined || metadata.type === undefined || metadata.type.toLowerCase() === 'geometry' ) {\n\n\t\t\t\tconsole.error( 'THREE.ObjectLoader: Can\\'t load ' + url );\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t\tscope.parse( json, onLoad );\n\n\t\t}, onProgress, onError );\n\n\t}\n\n\tasync loadAsync( url, onProgress ) {\n\n\t\tconst scope = this;\n\n\t\tconst path = ( this.path === '' ) ? LoaderUtils.extractUrlBase( url ) : this.path;\n\t\tthis.resourcePath = this.resourcePath || path;\n\n\t\tconst loader = new FileLoader( this.manager );\n\t\tloader.setPath( this.path );\n\t\tloader.setRequestHeader( this.requestHeader );\n\t\tloader.setWithCredentials( this.withCredentials );\n\n\t\tconst text = await loader.loadAsync( url, onProgress );\n\n\t\tconst json = JSON.parse( text );\n\n\t\tconst metadata = json.metadata;\n\n\t\tif ( metadata === undefined || metadata.type === undefined || metadata.type.toLowerCase() === 'geometry' ) {\n\n\t\t\tthrow new Error( 'THREE.ObjectLoader: Can\\'t load ' + url );\n\n\t\t}\n\n\t\treturn await scope.parseAsync( json );\n\n\t}\n\n\tparse( json, onLoad ) {\n\n\t\tconst animations = this.parseAnimations( json.animations );\n\t\tconst shapes = this.parseShapes( json.shapes );\n\t\tconst geometries = this.parseGeometries( json.geometries, shapes );\n\n\t\tconst images = this.parseImages( json.images, function () {\n\n\t\t\tif ( onLoad !== undefined ) onLoad( object );\n\n\t\t} );\n\n\t\tconst textures = this.parseTextures( json.textures, images );\n\t\tconst materials = this.parseMaterials( json.materials, textures );\n\n\t\tconst object = this.parseObject( json.object, geometries, materials, textures, animations );\n\t\tconst skeletons = this.parseSkeletons( json.skeletons, object );\n\n\t\tthis.bindSkeletons( object, skeletons );\n\n\t\t//\n\n\t\tif ( onLoad !== undefined ) {\n\n\t\t\tlet hasImages = false;\n\n\t\t\tfor ( const uuid in images ) {\n\n\t\t\t\tif ( images[ uuid ].data instanceof HTMLImageElement ) {\n\n\t\t\t\t\thasImages = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( hasImages === false ) onLoad( object );\n\n\t\t}\n\n\t\treturn object;\n\n\t}\n\n\tasync parseAsync( json ) {\n\n\t\tconst animations = this.parseAnimations( json.animations );\n\t\tconst shapes = this.parseShapes( json.shapes );\n\t\tconst geometries = this.parseGeometries( json.geometries, shapes );\n\n\t\tconst images = await this.parseImagesAsync( json.images );\n\n\t\tconst textures = this.parseTextures( json.textures, images );\n\t\tconst materials = this.parseMaterials( json.materials, textures );\n\n\t\tconst object = this.parseObject( json.object, geometries, materials, textures, animations );\n\t\tconst skeletons = this.parseSkeletons( json.skeletons, object );\n\n\t\tthis.bindSkeletons( object, skeletons );\n\n\t\treturn object;\n\n\t}\n\n\tparseShapes( json ) {\n\n\t\tconst shapes = {};\n\n\t\tif ( json !== undefined ) {\n\n\t\t\tfor ( let i = 0, l = json.length; i < l; i ++ ) {\n\n\t\t\t\tconst shape = new Shape().fromJSON( json[ i ] );\n\n\t\t\t\tshapes[ shape.uuid ] = shape;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn shapes;\n\n\t}\n\n\tparseSkeletons( json, object ) {\n\n\t\tconst skeletons = {};\n\t\tconst bones = {};\n\n\t\t// generate bone lookup table\n\n\t\tobject.traverse( function ( child ) {\n\n\t\t\tif ( child.isBone ) bones[ child.uuid ] = child;\n\n\t\t} );\n\n\t\t// create skeletons\n\n\t\tif ( json !== undefined ) {\n\n\t\t\tfor ( let i = 0, l = json.length; i < l; i ++ ) {\n\n\t\t\t\tconst skeleton = new Skeleton().fromJSON( json[ i ], bones );\n\n\t\t\t\tskeletons[ skeleton.uuid ] = skeleton;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn skeletons;\n\n\t}\n\n\tparseGeometries( json, shapes ) {\n\n\t\tconst geometries = {};\n\n\t\tif ( json !== undefined ) {\n\n\t\t\tconst bufferGeometryLoader = new BufferGeometryLoader();\n\n\t\t\tfor ( let i = 0, l = json.length; i < l; i ++ ) {\n\n\t\t\t\tlet geometry;\n\t\t\t\tconst data = json[ i ];\n\n\t\t\t\tswitch ( data.type ) {\n\n\t\t\t\t\tcase 'BufferGeometry':\n\t\t\t\t\tcase 'InstancedBufferGeometry':\n\n\t\t\t\t\t\tgeometry = bufferGeometryLoader.parse( data );\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Geometry':\n\n\t\t\t\t\t\tconsole.error( 'THREE.ObjectLoader: The legacy Geometry type is no longer supported.' );\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\n\t\t\t\t\t\tif ( data.type in Geometries ) {\n\n\t\t\t\t\t\t\tgeometry = Geometries[ data.type ].fromJSON( data, shapes );\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tconsole.warn( `THREE.ObjectLoader: Unsupported geometry type \"${ data.type }\"` );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tgeometry.uuid = data.uuid;\n\n\t\t\t\tif ( data.name !== undefined ) geometry.name = data.name;\n\t\t\t\tif ( geometry.isBufferGeometry === true && data.userData !== undefined ) geometry.userData = data.userData;\n\n\t\t\t\tgeometries[ data.uuid ] = geometry;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn geometries;\n\n\t}\n\n\tparseMaterials( json, textures ) {\n\n\t\tconst cache = {}; // MultiMaterial\n\t\tconst materials = {};\n\n\t\tif ( json !== undefined ) {\n\n\t\t\tconst loader = new MaterialLoader();\n\t\t\tloader.setTextures( textures );\n\n\t\t\tfor ( let i = 0, l = json.length; i < l; i ++ ) {\n\n\t\t\t\tconst data = json[ i ];\n\n\t\t\t\tif ( data.type === 'MultiMaterial' ) {\n\n\t\t\t\t\t// Deprecated\n\n\t\t\t\t\tconst array = [];\n\n\t\t\t\t\tfor ( let j = 0; j < data.materials.length; j ++ ) {\n\n\t\t\t\t\t\tconst material = data.materials[ j ];\n\n\t\t\t\t\t\tif ( cache[ material.uuid ] === undefined ) {\n\n\t\t\t\t\t\t\tcache[ material.uuid ] = loader.parse( material );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tarray.push( cache[ material.uuid ] );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tmaterials[ data.uuid ] = array;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( cache[ data.uuid ] === undefined ) {\n\n\t\t\t\t\t\tcache[ data.uuid ] = loader.parse( data );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tmaterials[ data.uuid ] = cache[ data.uuid ];\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn materials;\n\n\t}\n\n\tparseAnimations( json ) {\n\n\t\tconst animations = {};\n\n\t\tif ( json !== undefined ) {\n\n\t\t\tfor ( let i = 0; i < json.length; i ++ ) {\n\n\t\t\t\tconst data = json[ i ];\n\n\t\t\t\tconst clip = AnimationClip.parse( data );\n\n\t\t\t\tanimations[ clip.uuid ] = clip;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn animations;\n\n\t}\n\n\tparseImages( json, onLoad ) {\n\n\t\tconst scope = this;\n\t\tconst images = {};\n\n\t\tlet loader;\n\n\t\tfunction loadImage( url ) {\n\n\t\t\tscope.manager.itemStart( url );\n\n\t\t\treturn loader.load( url, function () {\n\n\t\t\t\tscope.manager.itemEnd( url );\n\n\t\t\t}, undefined, function () {\n\n\t\t\t\tscope.manager.itemError( url );\n\t\t\t\tscope.manager.itemEnd( url );\n\n\t\t\t} );\n\n\t\t}\n\n\t\tfunction deserializeImage( image ) {\n\n\t\t\tif ( typeof image === 'string' ) {\n\n\t\t\t\tconst url = image;\n\n\t\t\t\tconst path = /^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test( url ) ? url : scope.resourcePath + url;\n\n\t\t\t\treturn loadImage( path );\n\n\t\t\t} else {\n\n\t\t\t\tif ( image.data ) {\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdata: getTypedArray( image.type, image.data ),\n\t\t\t\t\t\twidth: image.width,\n\t\t\t\t\t\theight: image.height\n\t\t\t\t\t};\n\n\t\t\t\t} else {\n\n\t\t\t\t\treturn null;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( json !== undefined && json.length > 0 ) {\n\n\t\t\tconst manager = new LoadingManager( onLoad );\n\n\t\t\tloader = new ImageLoader( manager );\n\t\t\tloader.setCrossOrigin( this.crossOrigin );\n\n\t\t\tfor ( let i = 0, il = json.length; i < il; i ++ ) {\n\n\t\t\t\tconst image = json[ i ];\n\t\t\t\tconst url = image.url;\n\n\t\t\t\tif ( Array.isArray( url ) ) {\n\n\t\t\t\t\t// load array of images e.g CubeTexture\n\n\t\t\t\t\tconst imageArray = [];\n\n\t\t\t\t\tfor ( let j = 0, jl = url.length; j < jl; j ++ ) {\n\n\t\t\t\t\t\tconst currentUrl = url[ j ];\n\n\t\t\t\t\t\tconst deserializedImage = deserializeImage( currentUrl );\n\n\t\t\t\t\t\tif ( deserializedImage !== null ) {\n\n\t\t\t\t\t\t\tif ( deserializedImage instanceof HTMLImageElement ) {\n\n\t\t\t\t\t\t\t\timageArray.push( deserializedImage );\n\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// special case: handle array of data textures for cube textures\n\n\t\t\t\t\t\t\t\timageArray.push( new DataTexture( deserializedImage.data, deserializedImage.width, deserializedImage.height ) );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\timages[ image.uuid ] = new Source( imageArray );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// load single image\n\n\t\t\t\t\tconst deserializedImage = deserializeImage( image.url );\n\t\t\t\t\timages[ image.uuid ] = new Source( deserializedImage );\n\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn images;\n\n\t}\n\n\tasync parseImagesAsync( json ) {\n\n\t\tconst scope = this;\n\t\tconst images = {};\n\n\t\tlet loader;\n\n\t\tasync function deserializeImage( image ) {\n\n\t\t\tif ( typeof image === 'string' ) {\n\n\t\t\t\tconst url = image;\n\n\t\t\t\tconst path = /^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test( url ) ? url : scope.resourcePath + url;\n\n\t\t\t\treturn await loader.loadAsync( path );\n\n\t\t\t} else {\n\n\t\t\t\tif ( image.data ) {\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdata: getTypedArray( image.type, image.data ),\n\t\t\t\t\t\twidth: image.width,\n\t\t\t\t\t\theight: image.height\n\t\t\t\t\t};\n\n\t\t\t\t} else {\n\n\t\t\t\t\treturn null;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( json !== undefined && json.length > 0 ) {\n\n\t\t\tloader = new ImageLoader( this.manager );\n\t\t\tloader.setCrossOrigin( this.crossOrigin );\n\n\t\t\tfor ( let i = 0, il = json.length; i < il; i ++ ) {\n\n\t\t\t\tconst image = json[ i ];\n\t\t\t\tconst url = image.url;\n\n\t\t\t\tif ( Array.isArray( url ) ) {\n\n\t\t\t\t\t// load array of images e.g CubeTexture\n\n\t\t\t\t\tconst imageArray = [];\n\n\t\t\t\t\tfor ( let j = 0, jl = url.length; j < jl; j ++ ) {\n\n\t\t\t\t\t\tconst currentUrl = url[ j ];\n\n\t\t\t\t\t\tconst deserializedImage = await deserializeImage( currentUrl );\n\n\t\t\t\t\t\tif ( deserializedImage !== null ) {\n\n\t\t\t\t\t\t\tif ( deserializedImage instanceof HTMLImageElement ) {\n\n\t\t\t\t\t\t\t\timageArray.push( deserializedImage );\n\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// special case: handle array of data textures for cube textures\n\n\t\t\t\t\t\t\t\timageArray.push( new DataTexture( deserializedImage.data, deserializedImage.width, deserializedImage.height ) );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\timages[ image.uuid ] = new Source( imageArray );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// load single image\n\n\t\t\t\t\tconst deserializedImage = await deserializeImage( image.url );\n\t\t\t\t\timages[ image.uuid ] = new Source( deserializedImage );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn images;\n\n\t}\n\n\tparseTextures( json, images ) {\n\n\t\tfunction parseConstant( value, type ) {\n\n\t\t\tif ( typeof value === 'number' ) return value;\n\n\t\t\tconsole.warn( 'THREE.ObjectLoader.parseTexture: Constant should be in numeric form.', value );\n\n\t\t\treturn type[ value ];\n\n\t\t}\n\n\t\tconst textures = {};\n\n\t\tif ( json !== undefined ) {\n\n\t\t\tfor ( let i = 0, l = json.length; i < l; i ++ ) {\n\n\t\t\t\tconst data = json[ i ];\n\n\t\t\t\tif ( data.image === undefined ) {\n\n\t\t\t\t\tconsole.warn( 'THREE.ObjectLoader: No \"image\" specified for', data.uuid );\n\n\t\t\t\t}\n\n\t\t\t\tif ( images[ data.image ] === undefined ) {\n\n\t\t\t\t\tconsole.warn( 'THREE.ObjectLoader: Undefined image', data.image );\n\n\t\t\t\t}\n\n\t\t\t\tconst source = images[ data.image ];\n\t\t\t\tconst image = source.data;\n\n\t\t\t\tlet texture;\n\n\t\t\t\tif ( Array.isArray( image ) ) {\n\n\t\t\t\t\ttexture = new CubeTexture();\n\n\t\t\t\t\tif ( image.length === 6 ) texture.needsUpdate = true;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( image && image.data ) {\n\n\t\t\t\t\t\ttexture = new DataTexture();\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\ttexture = new Texture();\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( image ) texture.needsUpdate = true; // textures can have undefined image data\n\n\t\t\t\t}\n\n\t\t\t\ttexture.source = source;\n\n\t\t\t\ttexture.uuid = data.uuid;\n\n\t\t\t\tif ( data.name !== undefined ) texture.name = data.name;\n\n\t\t\t\tif ( data.mapping !== undefined ) texture.mapping = parseConstant( data.mapping, TEXTURE_MAPPING );\n\n\t\t\t\tif ( data.offset !== undefined ) texture.offset.fromArray( data.offset );\n\t\t\t\tif ( data.repeat !== undefined ) texture.repeat.fromArray( data.repeat );\n\t\t\t\tif ( data.center !== undefined ) texture.center.fromArray( data.center );\n\t\t\t\tif ( data.rotation !== undefined ) texture.rotation = data.rotation;\n\n\t\t\t\tif ( data.wrap !== undefined ) {\n\n\t\t\t\t\ttexture.wrapS = parseConstant( data.wrap[ 0 ], TEXTURE_WRAPPING );\n\t\t\t\t\ttexture.wrapT = parseConstant( data.wrap[ 1 ], TEXTURE_WRAPPING );\n\n\t\t\t\t}\n\n\t\t\t\tif ( data.format !== undefined ) texture.format = data.format;\n\t\t\t\tif ( data.type !== undefined ) texture.type = data.type;\n\t\t\t\tif ( data.encoding !== undefined ) texture.encoding = data.encoding;\n\n\t\t\t\tif ( data.minFilter !== undefined ) texture.minFilter = parseConstant( data.minFilter, TEXTURE_FILTER );\n\t\t\t\tif ( data.magFilter !== undefined ) texture.magFilter = parseConstant( data.magFilter, TEXTURE_FILTER );\n\t\t\t\tif ( data.anisotropy !== undefined ) texture.anisotropy = data.anisotropy;\n\n\t\t\t\tif ( data.flipY !== undefined ) texture.flipY = data.flipY;\n\n\t\t\t\tif ( data.premultiplyAlpha !== undefined ) texture.premultiplyAlpha = data.premultiplyAlpha;\n\t\t\t\tif ( data.unpackAlignment !== undefined ) texture.unpackAlignment = data.unpackAlignment;\n\n\t\t\t\tif ( data.userData !== undefined ) texture.userData = data.userData;\n\n\t\t\t\ttextures[ data.uuid ] = texture;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn textures;\n\n\t}\n\n\tparseObject( data, geometries, materials, textures, animations ) {\n\n\t\tlet object;\n\n\t\tfunction getGeometry( name ) {\n\n\t\t\tif ( geometries[ name ] === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.ObjectLoader: Undefined geometry', name );\n\n\t\t\t}\n\n\t\t\treturn geometries[ name ];\n\n\t\t}\n\n\t\tfunction getMaterial( name ) {\n\n\t\t\tif ( name === undefined ) return undefined;\n\n\t\t\tif ( Array.isArray( name ) ) {\n\n\t\t\t\tconst array = [];\n\n\t\t\t\tfor ( let i = 0, l = name.length; i < l; i ++ ) {\n\n\t\t\t\t\tconst uuid = name[ i ];\n\n\t\t\t\t\tif ( materials[ uuid ] === undefined ) {\n\n\t\t\t\t\t\tconsole.warn( 'THREE.ObjectLoader: Undefined material', uuid );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tarray.push( materials[ uuid ] );\n\n\t\t\t\t}\n\n\t\t\t\treturn array;\n\n\t\t\t}\n\n\t\t\tif ( materials[ name ] === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.ObjectLoader: Undefined material', name );\n\n\t\t\t}\n\n\t\t\treturn materials[ name ];\n\n\t\t}\n\n\t\tfunction getTexture( uuid ) {\n\n\t\t\tif ( textures[ uuid ] === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.ObjectLoader: Undefined texture', uuid );\n\n\t\t\t}\n\n\t\t\treturn textures[ uuid ];\n\n\t\t}\n\n\t\tlet geometry, material;\n\n\t\tswitch ( data.type ) {\n\n\t\t\tcase 'Scene':\n\n\t\t\t\tobject = new Scene();\n\n\t\t\t\tif ( data.background !== undefined ) {\n\n\t\t\t\t\tif ( Number.isInteger( data.background ) ) {\n\n\t\t\t\t\t\tobject.background = new Color( data.background );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tobject.background = getTexture( data.background );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tif ( data.environment !== undefined ) {\n\n\t\t\t\t\tobject.environment = getTexture( data.environment );\n\n\t\t\t\t}\n\n\t\t\t\tif ( data.fog !== undefined ) {\n\n\t\t\t\t\tif ( data.fog.type === 'Fog' ) {\n\n\t\t\t\t\t\tobject.fog = new Fog( data.fog.color, data.fog.near, data.fog.far );\n\n\t\t\t\t\t} else if ( data.fog.type === 'FogExp2' ) {\n\n\t\t\t\t\t\tobject.fog = new FogExp2( data.fog.color, data.fog.density );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'PerspectiveCamera':\n\n\t\t\t\tobject = new PerspectiveCamera( data.fov, data.aspect, data.near, data.far );\n\n\t\t\t\tif ( data.focus !== undefined ) object.focus = data.focus;\n\t\t\t\tif ( data.zoom !== undefined ) object.zoom = data.zoom;\n\t\t\t\tif ( data.filmGauge !== undefined ) object.filmGauge = data.filmGauge;\n\t\t\t\tif ( data.filmOffset !== undefined ) object.filmOffset = data.filmOffset;\n\t\t\t\tif ( data.view !== undefined ) object.view = Object.assign( {}, data.view );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'OrthographicCamera':\n\n\t\t\t\tobject = new OrthographicCamera( data.left, data.right, data.top, data.bottom, data.near, data.far );\n\n\t\t\t\tif ( data.zoom !== undefined ) object.zoom = data.zoom;\n\t\t\t\tif ( data.view !== undefined ) object.view = Object.assign( {}, data.view );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'AmbientLight':\n\n\t\t\t\tobject = new AmbientLight( data.color, data.intensity );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'DirectionalLight':\n\n\t\t\t\tobject = new DirectionalLight( data.color, data.intensity );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'PointLight':\n\n\t\t\t\tobject = new PointLight( data.color, data.intensity, data.distance, data.decay );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'RectAreaLight':\n\n\t\t\t\tobject = new RectAreaLight( data.color, data.intensity, data.width, data.height );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'SpotLight':\n\n\t\t\t\tobject = new SpotLight( data.color, data.intensity, data.distance, data.angle, data.penumbra, data.decay );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'HemisphereLight':\n\n\t\t\t\tobject = new HemisphereLight( data.color, data.groundColor, data.intensity );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'LightProbe':\n\n\t\t\t\tobject = new LightProbe().fromJSON( data );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'SkinnedMesh':\n\n\t\t\t\tgeometry = getGeometry( data.geometry );\n\t\t\t \tmaterial = getMaterial( data.material );\n\n\t\t\t\tobject = new SkinnedMesh( geometry, material );\n\n\t\t\t\tif ( data.bindMode !== undefined ) object.bindMode = data.bindMode;\n\t\t\t\tif ( data.bindMatrix !== undefined ) object.bindMatrix.fromArray( data.bindMatrix );\n\t\t\t\tif ( data.skeleton !== undefined ) object.skeleton = data.skeleton;\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'Mesh':\n\n\t\t\t\tgeometry = getGeometry( data.geometry );\n\t\t\t\tmaterial = getMaterial( data.material );\n\n\t\t\t\tobject = new Mesh( geometry, material );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'InstancedMesh':\n\n\t\t\t\tgeometry = getGeometry( data.geometry );\n\t\t\t\tmaterial = getMaterial( data.material );\n\t\t\t\tconst count = data.count;\n\t\t\t\tconst instanceMatrix = data.instanceMatrix;\n\t\t\t\tconst instanceColor = data.instanceColor;\n\n\t\t\t\tobject = new InstancedMesh( geometry, material, count );\n\t\t\t\tobject.instanceMatrix = new InstancedBufferAttribute( new Float32Array( instanceMatrix.array ), 16 );\n\t\t\t\tif ( instanceColor !== undefined ) object.instanceColor = new InstancedBufferAttribute( new Float32Array( instanceColor.array ), instanceColor.itemSize );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'LOD':\n\n\t\t\t\tobject = new LOD();\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'Line':\n\n\t\t\t\tobject = new Line( getGeometry( data.geometry ), getMaterial( data.material ) );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'LineLoop':\n\n\t\t\t\tobject = new LineLoop( getGeometry( data.geometry ), getMaterial( data.material ) );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'LineSegments':\n\n\t\t\t\tobject = new LineSegments( getGeometry( data.geometry ), getMaterial( data.material ) );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'PointCloud':\n\t\t\tcase 'Points':\n\n\t\t\t\tobject = new Points( getGeometry( data.geometry ), getMaterial( data.material ) );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'Sprite':\n\n\t\t\t\tobject = new Sprite( getMaterial( data.material ) );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'Group':\n\n\t\t\t\tobject = new Group();\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'Bone':\n\n\t\t\t\tobject = new Bone();\n\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\n\t\t\t\tobject = new Object3D();\n\n\t\t}\n\n\t\tobject.uuid = data.uuid;\n\n\t\tif ( data.name !== undefined ) object.name = data.name;\n\n\t\tif ( data.matrix !== undefined ) {\n\n\t\t\tobject.matrix.fromArray( data.matrix );\n\n\t\t\tif ( data.matrixAutoUpdate !== undefined ) object.matrixAutoUpdate = data.matrixAutoUpdate;\n\t\t\tif ( object.matrixAutoUpdate ) object.matrix.decompose( object.position, object.quaternion, object.scale );\n\n\t\t} else {\n\n\t\t\tif ( data.position !== undefined ) object.position.fromArray( data.position );\n\t\t\tif ( data.rotation !== undefined ) object.rotation.fromArray( data.rotation );\n\t\t\tif ( data.quaternion !== undefined ) object.quaternion.fromArray( data.quaternion );\n\t\t\tif ( data.scale !== undefined ) object.scale.fromArray( data.scale );\n\n\t\t}\n\n\t\tif ( data.castShadow !== undefined ) object.castShadow = data.castShadow;\n\t\tif ( data.receiveShadow !== undefined ) object.receiveShadow = data.receiveShadow;\n\n\t\tif ( data.shadow ) {\n\n\t\t\tif ( data.shadow.bias !== undefined ) object.shadow.bias = data.shadow.bias;\n\t\t\tif ( data.shadow.normalBias !== undefined ) object.shadow.normalBias = data.shadow.normalBias;\n\t\t\tif ( data.shadow.radius !== undefined ) object.shadow.radius = data.shadow.radius;\n\t\t\tif ( data.shadow.mapSize !== undefined ) object.shadow.mapSize.fromArray( data.shadow.mapSize );\n\t\t\tif ( data.shadow.camera !== undefined ) object.shadow.camera = this.parseObject( data.shadow.camera );\n\n\t\t}\n\n\t\tif ( data.visible !== undefined ) object.visible = data.visible;\n\t\tif ( data.frustumCulled !== undefined ) object.frustumCulled = data.frustumCulled;\n\t\tif ( data.renderOrder !== undefined ) object.renderOrder = data.renderOrder;\n\t\tif ( data.userData !== undefined ) object.userData = data.userData;\n\t\tif ( data.layers !== undefined ) object.layers.mask = data.layers;\n\n\t\tif ( data.children !== undefined ) {\n\n\t\t\tconst children = data.children;\n\n\t\t\tfor ( let i = 0; i < children.length; i ++ ) {\n\n\t\t\t\tobject.add( this.parseObject( children[ i ], geometries, materials, textures, animations ) );\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( data.animations !== undefined ) {\n\n\t\t\tconst objectAnimations = data.animations;\n\n\t\t\tfor ( let i = 0; i < objectAnimations.length; i ++ ) {\n\n\t\t\t\tconst uuid = objectAnimations[ i ];\n\n\t\t\t\tobject.animations.push( animations[ uuid ] );\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( data.type === 'LOD' ) {\n\n\t\t\tif ( data.autoUpdate !== undefined ) object.autoUpdate = data.autoUpdate;\n\n\t\t\tconst levels = data.levels;\n\n\t\t\tfor ( let l = 0; l < levels.length; l ++ ) {\n\n\t\t\t\tconst level = levels[ l ];\n\t\t\t\tconst child = object.getObjectByProperty( 'uuid', level.object );\n\n\t\t\t\tif ( child !== undefined ) {\n\n\t\t\t\t\tobject.addLevel( child, level.distance );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn object;\n\n\t}\n\n\tbindSkeletons( object, skeletons ) {\n\n\t\tif ( Object.keys( skeletons ).length === 0 ) return;\n\n\t\tobject.traverse( function ( child ) {\n\n\t\t\tif ( child.isSkinnedMesh === true && child.skeleton !== undefined ) {\n\n\t\t\t\tconst skeleton = skeletons[ child.skeleton ];\n\n\t\t\t\tif ( skeleton === undefined ) {\n\n\t\t\t\t\tconsole.warn( 'THREE.ObjectLoader: No skeleton found with UUID:', child.skeleton );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tchild.bind( skeleton, child.bindMatrix );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} );\n\n\t}\n\n}\n\nconst TEXTURE_MAPPING = {\n\tUVMapping: UVMapping,\n\tCubeReflectionMapping: CubeReflectionMapping,\n\tCubeRefractionMapping: CubeRefractionMapping,\n\tEquirectangularReflectionMapping: EquirectangularReflectionMapping,\n\tEquirectangularRefractionMapping: EquirectangularRefractionMapping,\n\tCubeUVReflectionMapping: CubeUVReflectionMapping\n};\n\nconst TEXTURE_WRAPPING = {\n\tRepeatWrapping: RepeatWrapping,\n\tClampToEdgeWrapping: ClampToEdgeWrapping,\n\tMirroredRepeatWrapping: MirroredRepeatWrapping\n};\n\nconst TEXTURE_FILTER = {\n\tNearestFilter: NearestFilter,\n\tNearestMipmapNearestFilter: NearestMipmapNearestFilter,\n\tNearestMipmapLinearFilter: NearestMipmapLinearFilter,\n\tLinearFilter: LinearFilter,\n\tLinearMipmapNearestFilter: LinearMipmapNearestFilter,\n\tLinearMipmapLinearFilter: LinearMipmapLinearFilter\n};\n\nclass ImageBitmapLoader extends Loader {\n\n\tconstructor( manager ) {\n\n\t\tsuper( manager );\n\n\t\tthis.isImageBitmapLoader = true;\n\n\t\tif ( typeof createImageBitmap === 'undefined' ) {\n\n\t\t\tconsole.warn( 'THREE.ImageBitmapLoader: createImageBitmap() not supported.' );\n\n\t\t}\n\n\t\tif ( typeof fetch === 'undefined' ) {\n\n\t\t\tconsole.warn( 'THREE.ImageBitmapLoader: fetch() not supported.' );\n\n\t\t}\n\n\t\tthis.options = { premultiplyAlpha: 'none' };\n\n\t}\n\n\tsetOptions( options ) {\n\n\t\tthis.options = options;\n\n\t\treturn this;\n\n\t}\n\n\tload( url, onLoad, onProgress, onError ) {\n\n\t\tif ( url === undefined ) url = '';\n\n\t\tif ( this.path !== undefined ) url = this.path + url;\n\n\t\turl = this.manager.resolveURL( url );\n\n\t\tconst scope = this;\n\n\t\tconst cached = Cache.get( url );\n\n\t\tif ( cached !== undefined ) {\n\n\t\t\tscope.manager.itemStart( url );\n\n\t\t\tsetTimeout( function () {\n\n\t\t\t\tif ( onLoad ) onLoad( cached );\n\n\t\t\t\tscope.manager.itemEnd( url );\n\n\t\t\t}, 0 );\n\n\t\t\treturn cached;\n\n\t\t}\n\n\t\tconst fetchOptions = {};\n\t\tfetchOptions.credentials = ( this.crossOrigin === 'anonymous' ) ? 'same-origin' : 'include';\n\t\tfetchOptions.headers = this.requestHeader;\n\n\t\tfetch( url, fetchOptions ).then( function ( res ) {\n\n\t\t\treturn res.blob();\n\n\t\t} ).then( function ( blob ) {\n\n\t\t\treturn createImageBitmap( blob, Object.assign( scope.options, { colorSpaceConversion: 'none' } ) );\n\n\t\t} ).then( function ( imageBitmap ) {\n\n\t\t\tCache.add( url, imageBitmap );\n\n\t\t\tif ( onLoad ) onLoad( imageBitmap );\n\n\t\t\tscope.manager.itemEnd( url );\n\n\t\t} ).catch( function ( e ) {\n\n\t\t\tif ( onError ) onError( e );\n\n\t\t\tscope.manager.itemError( url );\n\t\t\tscope.manager.itemEnd( url );\n\n\t\t} );\n\n\t\tscope.manager.itemStart( url );\n\n\t}\n\n}\n\nlet _context;\n\nconst AudioContext = {\n\n\tgetContext: function () {\n\n\t\tif ( _context === undefined ) {\n\n\t\t\t_context = new ( window.AudioContext || window.webkitAudioContext )();\n\n\t\t}\n\n\t\treturn _context;\n\n\t},\n\n\tsetContext: function ( value ) {\n\n\t\t_context = value;\n\n\t}\n\n};\n\nclass AudioLoader extends Loader {\n\n\tconstructor( manager ) {\n\n\t\tsuper( manager );\n\n\t}\n\n\tload( url, onLoad, onProgress, onError ) {\n\n\t\tconst scope = this;\n\n\t\tconst loader = new FileLoader( this.manager );\n\t\tloader.setResponseType( 'arraybuffer' );\n\t\tloader.setPath( this.path );\n\t\tloader.setRequestHeader( this.requestHeader );\n\t\tloader.setWithCredentials( this.withCredentials );\n\t\tloader.load( url, function ( buffer ) {\n\n\t\t\ttry {\n\n\t\t\t\t// Create a copy of the buffer. The `decodeAudioData` method\n\t\t\t\t// detaches the buffer when complete, preventing reuse.\n\t\t\t\tconst bufferCopy = buffer.slice( 0 );\n\n\t\t\t\tconst context = AudioContext.getContext();\n\t\t\t\tcontext.decodeAudioData( bufferCopy, function ( audioBuffer ) {\n\n\t\t\t\t\tonLoad( audioBuffer );\n\n\t\t\t\t} );\n\n\t\t\t} catch ( e ) {\n\n\t\t\t\tif ( onError ) {\n\n\t\t\t\t\tonError( e );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tconsole.error( e );\n\n\t\t\t\t}\n\n\t\t\t\tscope.manager.itemError( url );\n\n\t\t\t}\n\n\t\t}, onProgress, onError );\n\n\t}\n\n}\n\nclass HemisphereLightProbe extends LightProbe {\n\n\tconstructor( skyColor, groundColor, intensity = 1 ) {\n\n\t\tsuper( undefined, intensity );\n\n\t\tthis.isHemisphereLightProbe = true;\n\n\t\tconst color1 = new Color().set( skyColor );\n\t\tconst color2 = new Color().set( groundColor );\n\n\t\tconst sky = new Vector3( color1.r, color1.g, color1.b );\n\t\tconst ground = new Vector3( color2.r, color2.g, color2.b );\n\n\t\t// without extra factor of PI in the shader, should = 1 / Math.sqrt( Math.PI );\n\t\tconst c0 = Math.sqrt( Math.PI );\n\t\tconst c1 = c0 * Math.sqrt( 0.75 );\n\n\t\tthis.sh.coefficients[ 0 ].copy( sky ).add( ground ).multiplyScalar( c0 );\n\t\tthis.sh.coefficients[ 1 ].copy( sky ).sub( ground ).multiplyScalar( c1 );\n\n\t}\n\n}\n\nclass AmbientLightProbe extends LightProbe {\n\n\tconstructor( color, intensity = 1 ) {\n\n\t\tsuper( undefined, intensity );\n\n\t\tthis.isAmbientLightProbe = true;\n\n\t\tconst color1 = new Color().set( color );\n\n\t\t// without extra factor of PI in the shader, would be 2 / Math.sqrt( Math.PI );\n\t\tthis.sh.coefficients[ 0 ].set( color1.r, color1.g, color1.b ).multiplyScalar( 2 * Math.sqrt( Math.PI ) );\n\n\t}\n\n}\n\nconst _eyeRight = /*@__PURE__*/ new Matrix4();\nconst _eyeLeft = /*@__PURE__*/ new Matrix4();\nconst _projectionMatrix = /*@__PURE__*/ new Matrix4();\n\nclass StereoCamera {\n\n\tconstructor() {\n\n\t\tthis.type = 'StereoCamera';\n\n\t\tthis.aspect = 1;\n\n\t\tthis.eyeSep = 0.064;\n\n\t\tthis.cameraL = new PerspectiveCamera();\n\t\tthis.cameraL.layers.enable( 1 );\n\t\tthis.cameraL.matrixAutoUpdate = false;\n\n\t\tthis.cameraR = new PerspectiveCamera();\n\t\tthis.cameraR.layers.enable( 2 );\n\t\tthis.cameraR.matrixAutoUpdate = false;\n\n\t\tthis._cache = {\n\t\t\tfocus: null,\n\t\t\tfov: null,\n\t\t\taspect: null,\n\t\t\tnear: null,\n\t\t\tfar: null,\n\t\t\tzoom: null,\n\t\t\teyeSep: null\n\t\t};\n\n\t}\n\n\tupdate( camera ) {\n\n\t\tconst cache = this._cache;\n\n\t\tconst needsUpdate = cache.focus !== camera.focus || cache.fov !== camera.fov ||\n\t\t\tcache.aspect !== camera.aspect * this.aspect || cache.near !== camera.near ||\n\t\t\tcache.far !== camera.far || cache.zoom !== camera.zoom || cache.eyeSep !== this.eyeSep;\n\n\t\tif ( needsUpdate ) {\n\n\t\t\tcache.focus = camera.focus;\n\t\t\tcache.fov = camera.fov;\n\t\t\tcache.aspect = camera.aspect * this.aspect;\n\t\t\tcache.near = camera.near;\n\t\t\tcache.far = camera.far;\n\t\t\tcache.zoom = camera.zoom;\n\t\t\tcache.eyeSep = this.eyeSep;\n\n\t\t\t// Off-axis stereoscopic effect based on\n\t\t\t// http://paulbourke.net/stereographics/stereorender/\n\n\t\t\t_projectionMatrix.copy( camera.projectionMatrix );\n\t\t\tconst eyeSepHalf = cache.eyeSep / 2;\n\t\t\tconst eyeSepOnProjection = eyeSepHalf * cache.near / cache.focus;\n\t\t\tconst ymax = ( cache.near * Math.tan( DEG2RAD * cache.fov * 0.5 ) ) / cache.zoom;\n\t\t\tlet xmin, xmax;\n\n\t\t\t// translate xOffset\n\n\t\t\t_eyeLeft.elements[ 12 ] = - eyeSepHalf;\n\t\t\t_eyeRight.elements[ 12 ] = eyeSepHalf;\n\n\t\t\t// for left eye\n\n\t\t\txmin = - ymax * cache.aspect + eyeSepOnProjection;\n\t\t\txmax = ymax * cache.aspect + eyeSepOnProjection;\n\n\t\t\t_projectionMatrix.elements[ 0 ] = 2 * cache.near / ( xmax - xmin );\n\t\t\t_projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin );\n\n\t\t\tthis.cameraL.projectionMatrix.copy( _projectionMatrix );\n\n\t\t\t// for right eye\n\n\t\t\txmin = - ymax * cache.aspect - eyeSepOnProjection;\n\t\t\txmax = ymax * cache.aspect - eyeSepOnProjection;\n\n\t\t\t_projectionMatrix.elements[ 0 ] = 2 * cache.near / ( xmax - xmin );\n\t\t\t_projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin );\n\n\t\t\tthis.cameraR.projectionMatrix.copy( _projectionMatrix );\n\n\t\t}\n\n\t\tthis.cameraL.matrixWorld.copy( camera.matrixWorld ).multiply( _eyeLeft );\n\t\tthis.cameraR.matrixWorld.copy( camera.matrixWorld ).multiply( _eyeRight );\n\n\t}\n\n}\n\nclass Clock {\n\n\tconstructor( autoStart = true ) {\n\n\t\tthis.autoStart = autoStart;\n\n\t\tthis.startTime = 0;\n\t\tthis.oldTime = 0;\n\t\tthis.elapsedTime = 0;\n\n\t\tthis.running = false;\n\n\t}\n\n\tstart() {\n\n\t\tthis.startTime = now();\n\n\t\tthis.oldTime = this.startTime;\n\t\tthis.elapsedTime = 0;\n\t\tthis.running = true;\n\n\t}\n\n\tstop() {\n\n\t\tthis.getElapsedTime();\n\t\tthis.running = false;\n\t\tthis.autoStart = false;\n\n\t}\n\n\tgetElapsedTime() {\n\n\t\tthis.getDelta();\n\t\treturn this.elapsedTime;\n\n\t}\n\n\tgetDelta() {\n\n\t\tlet diff = 0;\n\n\t\tif ( this.autoStart && ! this.running ) {\n\n\t\t\tthis.start();\n\t\t\treturn 0;\n\n\t\t}\n\n\t\tif ( this.running ) {\n\n\t\t\tconst newTime = now();\n\n\t\t\tdiff = ( newTime - this.oldTime ) / 1000;\n\t\t\tthis.oldTime = newTime;\n\n\t\t\tthis.elapsedTime += diff;\n\n\t\t}\n\n\t\treturn diff;\n\n\t}\n\n}\n\nfunction now() {\n\n\treturn ( typeof performance === 'undefined' ? Date : performance ).now(); // see #10732\n\n}\n\nconst _position$1 = /*@__PURE__*/ new Vector3();\nconst _quaternion$1 = /*@__PURE__*/ new Quaternion();\nconst _scale$1 = /*@__PURE__*/ new Vector3();\nconst _orientation$1 = /*@__PURE__*/ new Vector3();\n\nclass AudioListener extends Object3D {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.type = 'AudioListener';\n\n\t\tthis.context = AudioContext.getContext();\n\n\t\tthis.gain = this.context.createGain();\n\t\tthis.gain.connect( this.context.destination );\n\n\t\tthis.filter = null;\n\n\t\tthis.timeDelta = 0;\n\n\t\t// private\n\n\t\tthis._clock = new Clock();\n\n\t}\n\n\tgetInput() {\n\n\t\treturn this.gain;\n\n\t}\n\n\tremoveFilter() {\n\n\t\tif ( this.filter !== null ) {\n\n\t\t\tthis.gain.disconnect( this.filter );\n\t\t\tthis.filter.disconnect( this.context.destination );\n\t\t\tthis.gain.connect( this.context.destination );\n\t\t\tthis.filter = null;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tgetFilter() {\n\n\t\treturn this.filter;\n\n\t}\n\n\tsetFilter( value ) {\n\n\t\tif ( this.filter !== null ) {\n\n\t\t\tthis.gain.disconnect( this.filter );\n\t\t\tthis.filter.disconnect( this.context.destination );\n\n\t\t} else {\n\n\t\t\tthis.gain.disconnect( this.context.destination );\n\n\t\t}\n\n\t\tthis.filter = value;\n\t\tthis.gain.connect( this.filter );\n\t\tthis.filter.connect( this.context.destination );\n\n\t\treturn this;\n\n\t}\n\n\tgetMasterVolume() {\n\n\t\treturn this.gain.gain.value;\n\n\t}\n\n\tsetMasterVolume( value ) {\n\n\t\tthis.gain.gain.setTargetAtTime( value, this.context.currentTime, 0.01 );\n\n\t\treturn this;\n\n\t}\n\n\tupdateMatrixWorld( force ) {\n\n\t\tsuper.updateMatrixWorld( force );\n\n\t\tconst listener = this.context.listener;\n\t\tconst up = this.up;\n\n\t\tthis.timeDelta = this._clock.getDelta();\n\n\t\tthis.matrixWorld.decompose( _position$1, _quaternion$1, _scale$1 );\n\n\t\t_orientation$1.set( 0, 0, - 1 ).applyQuaternion( _quaternion$1 );\n\n\t\tif ( listener.positionX ) {\n\n\t\t\t// code path for Chrome (see #14393)\n\n\t\t\tconst endTime = this.context.currentTime + this.timeDelta;\n\n\t\t\tlistener.positionX.linearRampToValueAtTime( _position$1.x, endTime );\n\t\t\tlistener.positionY.linearRampToValueAtTime( _position$1.y, endTime );\n\t\t\tlistener.positionZ.linearRampToValueAtTime( _position$1.z, endTime );\n\t\t\tlistener.forwardX.linearRampToValueAtTime( _orientation$1.x, endTime );\n\t\t\tlistener.forwardY.linearRampToValueAtTime( _orientation$1.y, endTime );\n\t\t\tlistener.forwardZ.linearRampToValueAtTime( _orientation$1.z, endTime );\n\t\t\tlistener.upX.linearRampToValueAtTime( up.x, endTime );\n\t\t\tlistener.upY.linearRampToValueAtTime( up.y, endTime );\n\t\t\tlistener.upZ.linearRampToValueAtTime( up.z, endTime );\n\n\t\t} else {\n\n\t\t\tlistener.setPosition( _position$1.x, _position$1.y, _position$1.z );\n\t\t\tlistener.setOrientation( _orientation$1.x, _orientation$1.y, _orientation$1.z, up.x, up.y, up.z );\n\n\t\t}\n\n\t}\n\n}\n\nclass Audio extends Object3D {\n\n\tconstructor( listener ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'Audio';\n\n\t\tthis.listener = listener;\n\t\tthis.context = listener.context;\n\n\t\tthis.gain = this.context.createGain();\n\t\tthis.gain.connect( listener.getInput() );\n\n\t\tthis.autoplay = false;\n\n\t\tthis.buffer = null;\n\t\tthis.detune = 0;\n\t\tthis.loop = false;\n\t\tthis.loopStart = 0;\n\t\tthis.loopEnd = 0;\n\t\tthis.offset = 0;\n\t\tthis.duration = undefined;\n\t\tthis.playbackRate = 1;\n\t\tthis.isPlaying = false;\n\t\tthis.hasPlaybackControl = true;\n\t\tthis.source = null;\n\t\tthis.sourceType = 'empty';\n\n\t\tthis._startedAt = 0;\n\t\tthis._progress = 0;\n\t\tthis._connected = false;\n\n\t\tthis.filters = [];\n\n\t}\n\n\tgetOutput() {\n\n\t\treturn this.gain;\n\n\t}\n\n\tsetNodeSource( audioNode ) {\n\n\t\tthis.hasPlaybackControl = false;\n\t\tthis.sourceType = 'audioNode';\n\t\tthis.source = audioNode;\n\t\tthis.connect();\n\n\t\treturn this;\n\n\t}\n\n\tsetMediaElementSource( mediaElement ) {\n\n\t\tthis.hasPlaybackControl = false;\n\t\tthis.sourceType = 'mediaNode';\n\t\tthis.source = this.context.createMediaElementSource( mediaElement );\n\t\tthis.connect();\n\n\t\treturn this;\n\n\t}\n\n\tsetMediaStreamSource( mediaStream ) {\n\n\t\tthis.hasPlaybackControl = false;\n\t\tthis.sourceType = 'mediaStreamNode';\n\t\tthis.source = this.context.createMediaStreamSource( mediaStream );\n\t\tthis.connect();\n\n\t\treturn this;\n\n\t}\n\n\tsetBuffer( audioBuffer ) {\n\n\t\tthis.buffer = audioBuffer;\n\t\tthis.sourceType = 'buffer';\n\n\t\tif ( this.autoplay ) this.play();\n\n\t\treturn this;\n\n\t}\n\n\tplay( delay = 0 ) {\n\n\t\tif ( this.isPlaying === true ) {\n\n\t\t\tconsole.warn( 'THREE.Audio: Audio is already playing.' );\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( this.hasPlaybackControl === false ) {\n\n\t\t\tconsole.warn( 'THREE.Audio: this Audio has no playback control.' );\n\t\t\treturn;\n\n\t\t}\n\n\t\tthis._startedAt = this.context.currentTime + delay;\n\n\t\tconst source = this.context.createBufferSource();\n\t\tsource.buffer = this.buffer;\n\t\tsource.loop = this.loop;\n\t\tsource.loopStart = this.loopStart;\n\t\tsource.loopEnd = this.loopEnd;\n\t\tsource.onended = this.onEnded.bind( this );\n\t\tsource.start( this._startedAt, this._progress + this.offset, this.duration );\n\n\t\tthis.isPlaying = true;\n\n\t\tthis.source = source;\n\n\t\tthis.setDetune( this.detune );\n\t\tthis.setPlaybackRate( this.playbackRate );\n\n\t\treturn this.connect();\n\n\t}\n\n\tpause() {\n\n\t\tif ( this.hasPlaybackControl === false ) {\n\n\t\t\tconsole.warn( 'THREE.Audio: this Audio has no playback control.' );\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( this.isPlaying === true ) {\n\n\t\t\t// update current progress\n\n\t\t\tthis._progress += Math.max( this.context.currentTime - this._startedAt, 0 ) * this.playbackRate;\n\n\t\t\tif ( this.loop === true ) {\n\n\t\t\t\t// ensure _progress does not exceed duration with looped audios\n\n\t\t\t\tthis._progress = this._progress % ( this.duration || this.buffer.duration );\n\n\t\t\t}\n\n\t\t\tthis.source.stop();\n\t\t\tthis.source.onended = null;\n\n\t\t\tthis.isPlaying = false;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tstop() {\n\n\t\tif ( this.hasPlaybackControl === false ) {\n\n\t\t\tconsole.warn( 'THREE.Audio: this Audio has no playback control.' );\n\t\t\treturn;\n\n\t\t}\n\n\t\tthis._progress = 0;\n\n\t\tthis.source.stop();\n\t\tthis.source.onended = null;\n\t\tthis.isPlaying = false;\n\n\t\treturn this;\n\n\t}\n\n\tconnect() {\n\n\t\tif ( this.filters.length > 0 ) {\n\n\t\t\tthis.source.connect( this.filters[ 0 ] );\n\n\t\t\tfor ( let i = 1, l = this.filters.length; i < l; i ++ ) {\n\n\t\t\t\tthis.filters[ i - 1 ].connect( this.filters[ i ] );\n\n\t\t\t}\n\n\t\t\tthis.filters[ this.filters.length - 1 ].connect( this.getOutput() );\n\n\t\t} else {\n\n\t\t\tthis.source.connect( this.getOutput() );\n\n\t\t}\n\n\t\tthis._connected = true;\n\n\t\treturn this;\n\n\t}\n\n\tdisconnect() {\n\n\t\tif ( this.filters.length > 0 ) {\n\n\t\t\tthis.source.disconnect( this.filters[ 0 ] );\n\n\t\t\tfor ( let i = 1, l = this.filters.length; i < l; i ++ ) {\n\n\t\t\t\tthis.filters[ i - 1 ].disconnect( this.filters[ i ] );\n\n\t\t\t}\n\n\t\t\tthis.filters[ this.filters.length - 1 ].disconnect( this.getOutput() );\n\n\t\t} else {\n\n\t\t\tthis.source.disconnect( this.getOutput() );\n\n\t\t}\n\n\t\tthis._connected = false;\n\n\t\treturn this;\n\n\t}\n\n\tgetFilters() {\n\n\t\treturn this.filters;\n\n\t}\n\n\tsetFilters( value ) {\n\n\t\tif ( ! value ) value = [];\n\n\t\tif ( this._connected === true ) {\n\n\t\t\tthis.disconnect();\n\t\t\tthis.filters = value.slice();\n\t\t\tthis.connect();\n\n\t\t} else {\n\n\t\t\tthis.filters = value.slice();\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetDetune( value ) {\n\n\t\tthis.detune = value;\n\n\t\tif ( this.source.detune === undefined ) return; // only set detune when available\n\n\t\tif ( this.isPlaying === true ) {\n\n\t\t\tthis.source.detune.setTargetAtTime( this.detune, this.context.currentTime, 0.01 );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tgetDetune() {\n\n\t\treturn this.detune;\n\n\t}\n\n\tgetFilter() {\n\n\t\treturn this.getFilters()[ 0 ];\n\n\t}\n\n\tsetFilter( filter ) {\n\n\t\treturn this.setFilters( filter ? [ filter ] : [] );\n\n\t}\n\n\tsetPlaybackRate( value ) {\n\n\t\tif ( this.hasPlaybackControl === false ) {\n\n\t\t\tconsole.warn( 'THREE.Audio: this Audio has no playback control.' );\n\t\t\treturn;\n\n\t\t}\n\n\t\tthis.playbackRate = value;\n\n\t\tif ( this.isPlaying === true ) {\n\n\t\t\tthis.source.playbackRate.setTargetAtTime( this.playbackRate, this.context.currentTime, 0.01 );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tgetPlaybackRate() {\n\n\t\treturn this.playbackRate;\n\n\t}\n\n\tonEnded() {\n\n\t\tthis.isPlaying = false;\n\n\t}\n\n\tgetLoop() {\n\n\t\tif ( this.hasPlaybackControl === false ) {\n\n\t\t\tconsole.warn( 'THREE.Audio: this Audio has no playback control.' );\n\t\t\treturn false;\n\n\t\t}\n\n\t\treturn this.loop;\n\n\t}\n\n\tsetLoop( value ) {\n\n\t\tif ( this.hasPlaybackControl === false ) {\n\n\t\t\tconsole.warn( 'THREE.Audio: this Audio has no playback control.' );\n\t\t\treturn;\n\n\t\t}\n\n\t\tthis.loop = value;\n\n\t\tif ( this.isPlaying === true ) {\n\n\t\t\tthis.source.loop = this.loop;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetLoopStart( value ) {\n\n\t\tthis.loopStart = value;\n\n\t\treturn this;\n\n\t}\n\n\tsetLoopEnd( value ) {\n\n\t\tthis.loopEnd = value;\n\n\t\treturn this;\n\n\t}\n\n\tgetVolume() {\n\n\t\treturn this.gain.gain.value;\n\n\t}\n\n\tsetVolume( value ) {\n\n\t\tthis.gain.gain.setTargetAtTime( value, this.context.currentTime, 0.01 );\n\n\t\treturn this;\n\n\t}\n\n}\n\nconst _position = /*@__PURE__*/ new Vector3();\nconst _quaternion = /*@__PURE__*/ new Quaternion();\nconst _scale = /*@__PURE__*/ new Vector3();\nconst _orientation = /*@__PURE__*/ new Vector3();\n\nclass PositionalAudio extends Audio {\n\n\tconstructor( listener ) {\n\n\t\tsuper( listener );\n\n\t\tthis.panner = this.context.createPanner();\n\t\tthis.panner.panningModel = 'HRTF';\n\t\tthis.panner.connect( this.gain );\n\n\t}\n\n\tdisconnect() {\n\n\t\tsuper.disconnect();\n\n\t\tthis.panner.disconnect( this.gain );\n\n\t}\n\n\tgetOutput() {\n\n\t\treturn this.panner;\n\n\t}\n\n\tgetRefDistance() {\n\n\t\treturn this.panner.refDistance;\n\n\t}\n\n\tsetRefDistance( value ) {\n\n\t\tthis.panner.refDistance = value;\n\n\t\treturn this;\n\n\t}\n\n\tgetRolloffFactor() {\n\n\t\treturn this.panner.rolloffFactor;\n\n\t}\n\n\tsetRolloffFactor( value ) {\n\n\t\tthis.panner.rolloffFactor = value;\n\n\t\treturn this;\n\n\t}\n\n\tgetDistanceModel() {\n\n\t\treturn this.panner.distanceModel;\n\n\t}\n\n\tsetDistanceModel( value ) {\n\n\t\tthis.panner.distanceModel = value;\n\n\t\treturn this;\n\n\t}\n\n\tgetMaxDistance() {\n\n\t\treturn this.panner.maxDistance;\n\n\t}\n\n\tsetMaxDistance( value ) {\n\n\t\tthis.panner.maxDistance = value;\n\n\t\treturn this;\n\n\t}\n\n\tsetDirectionalCone( coneInnerAngle, coneOuterAngle, coneOuterGain ) {\n\n\t\tthis.panner.coneInnerAngle = coneInnerAngle;\n\t\tthis.panner.coneOuterAngle = coneOuterAngle;\n\t\tthis.panner.coneOuterGain = coneOuterGain;\n\n\t\treturn this;\n\n\t}\n\n\tupdateMatrixWorld( force ) {\n\n\t\tsuper.updateMatrixWorld( force );\n\n\t\tif ( this.hasPlaybackControl === true && this.isPlaying === false ) return;\n\n\t\tthis.matrixWorld.decompose( _position, _quaternion, _scale );\n\n\t\t_orientation.set( 0, 0, 1 ).applyQuaternion( _quaternion );\n\n\t\tconst panner = this.panner;\n\n\t\tif ( panner.positionX ) {\n\n\t\t\t// code path for Chrome and Firefox (see #14393)\n\n\t\t\tconst endTime = this.context.currentTime + this.listener.timeDelta;\n\n\t\t\tpanner.positionX.linearRampToValueAtTime( _position.x, endTime );\n\t\t\tpanner.positionY.linearRampToValueAtTime( _position.y, endTime );\n\t\t\tpanner.positionZ.linearRampToValueAtTime( _position.z, endTime );\n\t\t\tpanner.orientationX.linearRampToValueAtTime( _orientation.x, endTime );\n\t\t\tpanner.orientationY.linearRampToValueAtTime( _orientation.y, endTime );\n\t\t\tpanner.orientationZ.linearRampToValueAtTime( _orientation.z, endTime );\n\n\t\t} else {\n\n\t\t\tpanner.setPosition( _position.x, _position.y, _position.z );\n\t\t\tpanner.setOrientation( _orientation.x, _orientation.y, _orientation.z );\n\n\t\t}\n\n\t}\n\n}\n\nclass AudioAnalyser {\n\n\tconstructor( audio, fftSize = 2048 ) {\n\n\t\tthis.analyser = audio.context.createAnalyser();\n\t\tthis.analyser.fftSize = fftSize;\n\n\t\tthis.data = new Uint8Array( this.analyser.frequencyBinCount );\n\n\t\taudio.getOutput().connect( this.analyser );\n\n\t}\n\n\n\tgetFrequencyData() {\n\n\t\tthis.analyser.getByteFrequencyData( this.data );\n\n\t\treturn this.data;\n\n\t}\n\n\tgetAverageFrequency() {\n\n\t\tlet value = 0;\n\t\tconst data = this.getFrequencyData();\n\n\t\tfor ( let i = 0; i < data.length; i ++ ) {\n\n\t\t\tvalue += data[ i ];\n\n\t\t}\n\n\t\treturn value / data.length;\n\n\t}\n\n}\n\nclass PropertyMixer {\n\n\tconstructor( binding, typeName, valueSize ) {\n\n\t\tthis.binding = binding;\n\t\tthis.valueSize = valueSize;\n\n\t\tlet mixFunction,\n\t\t\tmixFunctionAdditive,\n\t\t\tsetIdentity;\n\n\t\t// buffer layout: [ incoming | accu0 | accu1 | orig | addAccu | (optional work) ]\n\t\t//\n\t\t// interpolators can use .buffer as their .result\n\t\t// the data then goes to 'incoming'\n\t\t//\n\t\t// 'accu0' and 'accu1' are used frame-interleaved for\n\t\t// the cumulative result and are compared to detect\n\t\t// changes\n\t\t//\n\t\t// 'orig' stores the original state of the property\n\t\t//\n\t\t// 'add' is used for additive cumulative results\n\t\t//\n\t\t// 'work' is optional and is only present for quaternion types. It is used\n\t\t// to store intermediate quaternion multiplication results\n\n\t\tswitch ( typeName ) {\n\n\t\t\tcase 'quaternion':\n\t\t\t\tmixFunction = this._slerp;\n\t\t\t\tmixFunctionAdditive = this._slerpAdditive;\n\t\t\t\tsetIdentity = this._setAdditiveIdentityQuaternion;\n\n\t\t\t\tthis.buffer = new Float64Array( valueSize * 6 );\n\t\t\t\tthis._workIndex = 5;\n\t\t\t\tbreak;\n\n\t\t\tcase 'string':\n\t\t\tcase 'bool':\n\t\t\t\tmixFunction = this._select;\n\n\t\t\t\t// Use the regular mix function and for additive on these types,\n\t\t\t\t// additive is not relevant for non-numeric types\n\t\t\t\tmixFunctionAdditive = this._select;\n\n\t\t\t\tsetIdentity = this._setAdditiveIdentityOther;\n\n\t\t\t\tthis.buffer = new Array( valueSize * 5 );\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tmixFunction = this._lerp;\n\t\t\t\tmixFunctionAdditive = this._lerpAdditive;\n\t\t\t\tsetIdentity = this._setAdditiveIdentityNumeric;\n\n\t\t\t\tthis.buffer = new Float64Array( valueSize * 5 );\n\n\t\t}\n\n\t\tthis._mixBufferRegion = mixFunction;\n\t\tthis._mixBufferRegionAdditive = mixFunctionAdditive;\n\t\tthis._setIdentity = setIdentity;\n\t\tthis._origIndex = 3;\n\t\tthis._addIndex = 4;\n\n\t\tthis.cumulativeWeight = 0;\n\t\tthis.cumulativeWeightAdditive = 0;\n\n\t\tthis.useCount = 0;\n\t\tthis.referenceCount = 0;\n\n\t}\n\n\t// accumulate data in the 'incoming' region into 'accu'\n\taccumulate( accuIndex, weight ) {\n\n\t\t// note: happily accumulating nothing when weight = 0, the caller knows\n\t\t// the weight and shouldn't have made the call in the first place\n\n\t\tconst buffer = this.buffer,\n\t\t\tstride = this.valueSize,\n\t\t\toffset = accuIndex * stride + stride;\n\n\t\tlet currentWeight = this.cumulativeWeight;\n\n\t\tif ( currentWeight === 0 ) {\n\n\t\t\t// accuN := incoming * weight\n\n\t\t\tfor ( let i = 0; i !== stride; ++ i ) {\n\n\t\t\t\tbuffer[ offset + i ] = buffer[ i ];\n\n\t\t\t}\n\n\t\t\tcurrentWeight = weight;\n\n\t\t} else {\n\n\t\t\t// accuN := accuN + incoming * weight\n\n\t\t\tcurrentWeight += weight;\n\t\t\tconst mix = weight / currentWeight;\n\t\t\tthis._mixBufferRegion( buffer, offset, 0, mix, stride );\n\n\t\t}\n\n\t\tthis.cumulativeWeight = currentWeight;\n\n\t}\n\n\t// accumulate data in the 'incoming' region into 'add'\n\taccumulateAdditive( weight ) {\n\n\t\tconst buffer = this.buffer,\n\t\t\tstride = this.valueSize,\n\t\t\toffset = stride * this._addIndex;\n\n\t\tif ( this.cumulativeWeightAdditive === 0 ) {\n\n\t\t\t// add = identity\n\n\t\t\tthis._setIdentity();\n\n\t\t}\n\n\t\t// add := add + incoming * weight\n\n\t\tthis._mixBufferRegionAdditive( buffer, offset, 0, weight, stride );\n\t\tthis.cumulativeWeightAdditive += weight;\n\n\t}\n\n\t// apply the state of 'accu' to the binding when accus differ\n\tapply( accuIndex ) {\n\n\t\tconst stride = this.valueSize,\n\t\t\tbuffer = this.buffer,\n\t\t\toffset = accuIndex * stride + stride,\n\n\t\t\tweight = this.cumulativeWeight,\n\t\t\tweightAdditive = this.cumulativeWeightAdditive,\n\n\t\t\tbinding = this.binding;\n\n\t\tthis.cumulativeWeight = 0;\n\t\tthis.cumulativeWeightAdditive = 0;\n\n\t\tif ( weight < 1 ) {\n\n\t\t\t// accuN := accuN + original * ( 1 - cumulativeWeight )\n\n\t\t\tconst originalValueOffset = stride * this._origIndex;\n\n\t\t\tthis._mixBufferRegion(\n\t\t\t\tbuffer, offset, originalValueOffset, 1 - weight, stride );\n\n\t\t}\n\n\t\tif ( weightAdditive > 0 ) {\n\n\t\t\t// accuN := accuN + additive accuN\n\n\t\t\tthis._mixBufferRegionAdditive( buffer, offset, this._addIndex * stride, 1, stride );\n\n\t\t}\n\n\t\tfor ( let i = stride, e = stride + stride; i !== e; ++ i ) {\n\n\t\t\tif ( buffer[ i ] !== buffer[ i + stride ] ) {\n\n\t\t\t\t// value has changed -> update scene graph\n\n\t\t\t\tbinding.setValue( buffer, offset );\n\t\t\t\tbreak;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t// remember the state of the bound property and copy it to both accus\n\tsaveOriginalState() {\n\n\t\tconst binding = this.binding;\n\n\t\tconst buffer = this.buffer,\n\t\t\tstride = this.valueSize,\n\n\t\t\toriginalValueOffset = stride * this._origIndex;\n\n\t\tbinding.getValue( buffer, originalValueOffset );\n\n\t\t// accu[0..1] := orig -- initially detect changes against the original\n\t\tfor ( let i = stride, e = originalValueOffset; i !== e; ++ i ) {\n\n\t\t\tbuffer[ i ] = buffer[ originalValueOffset + ( i % stride ) ];\n\n\t\t}\n\n\t\t// Add to identity for additive\n\t\tthis._setIdentity();\n\n\t\tthis.cumulativeWeight = 0;\n\t\tthis.cumulativeWeightAdditive = 0;\n\n\t}\n\n\t// apply the state previously taken via 'saveOriginalState' to the binding\n\trestoreOriginalState() {\n\n\t\tconst originalValueOffset = this.valueSize * 3;\n\t\tthis.binding.setValue( this.buffer, originalValueOffset );\n\n\t}\n\n\t_setAdditiveIdentityNumeric() {\n\n\t\tconst startIndex = this._addIndex * this.valueSize;\n\t\tconst endIndex = startIndex + this.valueSize;\n\n\t\tfor ( let i = startIndex; i < endIndex; i ++ ) {\n\n\t\t\tthis.buffer[ i ] = 0;\n\n\t\t}\n\n\t}\n\n\t_setAdditiveIdentityQuaternion() {\n\n\t\tthis._setAdditiveIdentityNumeric();\n\t\tthis.buffer[ this._addIndex * this.valueSize + 3 ] = 1;\n\n\t}\n\n\t_setAdditiveIdentityOther() {\n\n\t\tconst startIndex = this._origIndex * this.valueSize;\n\t\tconst targetIndex = this._addIndex * this.valueSize;\n\n\t\tfor ( let i = 0; i < this.valueSize; i ++ ) {\n\n\t\t\tthis.buffer[ targetIndex + i ] = this.buffer[ startIndex + i ];\n\n\t\t}\n\n\t}\n\n\n\t// mix functions\n\n\t_select( buffer, dstOffset, srcOffset, t, stride ) {\n\n\t\tif ( t >= 0.5 ) {\n\n\t\t\tfor ( let i = 0; i !== stride; ++ i ) {\n\n\t\t\t\tbuffer[ dstOffset + i ] = buffer[ srcOffset + i ];\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t_slerp( buffer, dstOffset, srcOffset, t ) {\n\n\t\tQuaternion.slerpFlat( buffer, dstOffset, buffer, dstOffset, buffer, srcOffset, t );\n\n\t}\n\n\t_slerpAdditive( buffer, dstOffset, srcOffset, t, stride ) {\n\n\t\tconst workOffset = this._workIndex * stride;\n\n\t\t// Store result in intermediate buffer offset\n\t\tQuaternion.multiplyQuaternionsFlat( buffer, workOffset, buffer, dstOffset, buffer, srcOffset );\n\n\t\t// Slerp to the intermediate result\n\t\tQuaternion.slerpFlat( buffer, dstOffset, buffer, dstOffset, buffer, workOffset, t );\n\n\t}\n\n\t_lerp( buffer, dstOffset, srcOffset, t, stride ) {\n\n\t\tconst s = 1 - t;\n\n\t\tfor ( let i = 0; i !== stride; ++ i ) {\n\n\t\t\tconst j = dstOffset + i;\n\n\t\t\tbuffer[ j ] = buffer[ j ] * s + buffer[ srcOffset + i ] * t;\n\n\t\t}\n\n\t}\n\n\t_lerpAdditive( buffer, dstOffset, srcOffset, t, stride ) {\n\n\t\tfor ( let i = 0; i !== stride; ++ i ) {\n\n\t\t\tconst j = dstOffset + i;\n\n\t\t\tbuffer[ j ] = buffer[ j ] + buffer[ srcOffset + i ] * t;\n\n\t\t}\n\n\t}\n\n}\n\n// Characters [].:/ are reserved for track binding syntax.\nconst _RESERVED_CHARS_RE = '\\\\[\\\\]\\\\.:\\\\/';\nconst _reservedRe = new RegExp( '[' + _RESERVED_CHARS_RE + ']', 'g' );\n\n// Attempts to allow node names from any language. ES5's `\\w` regexp matches\n// only latin characters, and the unicode \\p{L} is not yet supported. So\n// instead, we exclude reserved characters and match everything else.\nconst _wordChar = '[^' + _RESERVED_CHARS_RE + ']';\nconst _wordCharOrDot = '[^' + _RESERVED_CHARS_RE.replace( '\\\\.', '' ) + ']';\n\n// Parent directories, delimited by '/' or ':'. Currently unused, but must\n// be matched to parse the rest of the track name.\nconst _directoryRe = /*@__PURE__*/ /((?:WC+[\\/:])*)/.source.replace( 'WC', _wordChar );\n\n// Target node. May contain word characters (a-zA-Z0-9_) and '.' or '-'.\nconst _nodeRe = /*@__PURE__*/ /(WCOD+)?/.source.replace( 'WCOD', _wordCharOrDot );\n\n// Object on target node, and accessor. May not contain reserved\n// characters. Accessor may contain any character except closing bracket.\nconst _objectRe = /*@__PURE__*/ /(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace( 'WC', _wordChar );\n\n// Property and accessor. May not contain reserved characters. Accessor may\n// contain any non-bracket characters.\nconst _propertyRe = /*@__PURE__*/ /\\.(WC+)(?:\\[(.+)\\])?/.source.replace( 'WC', _wordChar );\n\nconst _trackRe = new RegExp( ''\n\t+ '^'\n\t+ _directoryRe\n\t+ _nodeRe\n\t+ _objectRe\n\t+ _propertyRe\n\t+ '$'\n);\n\nconst _supportedObjectNames = [ 'material', 'materials', 'bones' ];\n\nclass Composite {\n\n\tconstructor( targetGroup, path, optionalParsedPath ) {\n\n\t\tconst parsedPath = optionalParsedPath || PropertyBinding.parseTrackName( path );\n\n\t\tthis._targetGroup = targetGroup;\n\t\tthis._bindings = targetGroup.subscribe_( path, parsedPath );\n\n\t}\n\n\tgetValue( array, offset ) {\n\n\t\tthis.bind(); // bind all binding\n\n\t\tconst firstValidIndex = this._targetGroup.nCachedObjects_,\n\t\t\tbinding = this._bindings[ firstValidIndex ];\n\n\t\t// and only call .getValue on the first\n\t\tif ( binding !== undefined ) binding.getValue( array, offset );\n\n\t}\n\n\tsetValue( array, offset ) {\n\n\t\tconst bindings = this._bindings;\n\n\t\tfor ( let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++ i ) {\n\n\t\t\tbindings[ i ].setValue( array, offset );\n\n\t\t}\n\n\t}\n\n\tbind() {\n\n\t\tconst bindings = this._bindings;\n\n\t\tfor ( let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++ i ) {\n\n\t\t\tbindings[ i ].bind();\n\n\t\t}\n\n\t}\n\n\tunbind() {\n\n\t\tconst bindings = this._bindings;\n\n\t\tfor ( let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++ i ) {\n\n\t\t\tbindings[ i ].unbind();\n\n\t\t}\n\n\t}\n\n}\n\n// Note: This class uses a State pattern on a per-method basis:\n// 'bind' sets 'this.getValue' / 'setValue' and shadows the\n// prototype version of these methods with one that represents\n// the bound state. When the property is not found, the methods\n// become no-ops.\nclass PropertyBinding {\n\n\tconstructor( rootNode, path, parsedPath ) {\n\n\t\tthis.path = path;\n\t\tthis.parsedPath = parsedPath || PropertyBinding.parseTrackName( path );\n\n\t\tthis.node = PropertyBinding.findNode( rootNode, this.parsedPath.nodeName ) || rootNode;\n\n\t\tthis.rootNode = rootNode;\n\n\t\t// initial state of these methods that calls 'bind'\n\t\tthis.getValue = this._getValue_unbound;\n\t\tthis.setValue = this._setValue_unbound;\n\n\t}\n\n\n\tstatic create( root, path, parsedPath ) {\n\n\t\tif ( ! ( root && root.isAnimationObjectGroup ) ) {\n\n\t\t\treturn new PropertyBinding( root, path, parsedPath );\n\n\t\t} else {\n\n\t\t\treturn new PropertyBinding.Composite( root, path, parsedPath );\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Replaces spaces with underscores and removes unsupported characters from\n\t * node names, to ensure compatibility with parseTrackName().\n\t *\n\t * @param {string} name Node name to be sanitized.\n\t * @return {string}\n\t */\n\tstatic sanitizeNodeName( name ) {\n\n\t\treturn name.replace( /\\s/g, '_' ).replace( _reservedRe, '' );\n\n\t}\n\n\tstatic parseTrackName( trackName ) {\n\n\t\tconst matches = _trackRe.exec( trackName );\n\n\t\tif ( matches === null ) {\n\n\t\t\tthrow new Error( 'PropertyBinding: Cannot parse trackName: ' + trackName );\n\n\t\t}\n\n\t\tconst results = {\n\t\t\t// directoryName: matches[ 1 ], // (tschw) currently unused\n\t\t\tnodeName: matches[ 2 ],\n\t\t\tobjectName: matches[ 3 ],\n\t\t\tobjectIndex: matches[ 4 ],\n\t\t\tpropertyName: matches[ 5 ], // required\n\t\t\tpropertyIndex: matches[ 6 ]\n\t\t};\n\n\t\tconst lastDot = results.nodeName && results.nodeName.lastIndexOf( '.' );\n\n\t\tif ( lastDot !== undefined && lastDot !== - 1 ) {\n\n\t\t\tconst objectName = results.nodeName.substring( lastDot + 1 );\n\n\t\t\t// Object names must be checked against an allowlist. Otherwise, there\n\t\t\t// is no way to parse 'foo.bar.baz': 'baz' must be a property, but\n\t\t\t// 'bar' could be the objectName, or part of a nodeName (which can\n\t\t\t// include '.' characters).\n\t\t\tif ( _supportedObjectNames.indexOf( objectName ) !== - 1 ) {\n\n\t\t\t\tresults.nodeName = results.nodeName.substring( 0, lastDot );\n\t\t\t\tresults.objectName = objectName;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( results.propertyName === null || results.propertyName.length === 0 ) {\n\n\t\t\tthrow new Error( 'PropertyBinding: can not parse propertyName from trackName: ' + trackName );\n\n\t\t}\n\n\t\treturn results;\n\n\t}\n\n\tstatic findNode( root, nodeName ) {\n\n\t\tif ( nodeName === undefined || nodeName === '' || nodeName === '.' || nodeName === - 1 || nodeName === root.name || nodeName === root.uuid ) {\n\n\t\t\treturn root;\n\n\t\t}\n\n\t\t// search into skeleton bones.\n\t\tif ( root.skeleton ) {\n\n\t\t\tconst bone = root.skeleton.getBoneByName( nodeName );\n\n\t\t\tif ( bone !== undefined ) {\n\n\t\t\t\treturn bone;\n\n\t\t\t}\n\n\t\t}\n\n\t\t// search into node subtree.\n\t\tif ( root.children ) {\n\n\t\t\tconst searchNodeSubtree = function ( children ) {\n\n\t\t\t\tfor ( let i = 0; i < children.length; i ++ ) {\n\n\t\t\t\t\tconst childNode = children[ i ];\n\n\t\t\t\t\tif ( childNode.name === nodeName || childNode.uuid === nodeName ) {\n\n\t\t\t\t\t\treturn childNode;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tconst result = searchNodeSubtree( childNode.children );\n\n\t\t\t\t\tif ( result ) return result;\n\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\n\t\t\t};\n\n\t\t\tconst subTreeNode = searchNodeSubtree( root.children );\n\n\t\t\tif ( subTreeNode ) {\n\n\t\t\t\treturn subTreeNode;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn null;\n\n\t}\n\n\t// these are used to \"bind\" a nonexistent property\n\t_getValue_unavailable() {}\n\t_setValue_unavailable() {}\n\n\t// Getters\n\n\t_getValue_direct( buffer, offset ) {\n\n\t\tbuffer[ offset ] = this.targetObject[ this.propertyName ];\n\n\t}\n\n\t_getValue_array( buffer, offset ) {\n\n\t\tconst source = this.resolvedProperty;\n\n\t\tfor ( let i = 0, n = source.length; i !== n; ++ i ) {\n\n\t\t\tbuffer[ offset ++ ] = source[ i ];\n\n\t\t}\n\n\t}\n\n\t_getValue_arrayElement( buffer, offset ) {\n\n\t\tbuffer[ offset ] = this.resolvedProperty[ this.propertyIndex ];\n\n\t}\n\n\t_getValue_toArray( buffer, offset ) {\n\n\t\tthis.resolvedProperty.toArray( buffer, offset );\n\n\t}\n\n\t// Direct\n\n\t_setValue_direct( buffer, offset ) {\n\n\t\tthis.targetObject[ this.propertyName ] = buffer[ offset ];\n\n\t}\n\n\t_setValue_direct_setNeedsUpdate( buffer, offset ) {\n\n\t\tthis.targetObject[ this.propertyName ] = buffer[ offset ];\n\t\tthis.targetObject.needsUpdate = true;\n\n\t}\n\n\t_setValue_direct_setMatrixWorldNeedsUpdate( buffer, offset ) {\n\n\t\tthis.targetObject[ this.propertyName ] = buffer[ offset ];\n\t\tthis.targetObject.matrixWorldNeedsUpdate = true;\n\n\t}\n\n\t// EntireArray\n\n\t_setValue_array( buffer, offset ) {\n\n\t\tconst dest = this.resolvedProperty;\n\n\t\tfor ( let i = 0, n = dest.length; i !== n; ++ i ) {\n\n\t\t\tdest[ i ] = buffer[ offset ++ ];\n\n\t\t}\n\n\t}\n\n\t_setValue_array_setNeedsUpdate( buffer, offset ) {\n\n\t\tconst dest = this.resolvedProperty;\n\n\t\tfor ( let i = 0, n = dest.length; i !== n; ++ i ) {\n\n\t\t\tdest[ i ] = buffer[ offset ++ ];\n\n\t\t}\n\n\t\tthis.targetObject.needsUpdate = true;\n\n\t}\n\n\t_setValue_array_setMatrixWorldNeedsUpdate( buffer, offset ) {\n\n\t\tconst dest = this.resolvedProperty;\n\n\t\tfor ( let i = 0, n = dest.length; i !== n; ++ i ) {\n\n\t\t\tdest[ i ] = buffer[ offset ++ ];\n\n\t\t}\n\n\t\tthis.targetObject.matrixWorldNeedsUpdate = true;\n\n\t}\n\n\t// ArrayElement\n\n\t_setValue_arrayElement( buffer, offset ) {\n\n\t\tthis.resolvedProperty[ this.propertyIndex ] = buffer[ offset ];\n\n\t}\n\n\t_setValue_arrayElement_setNeedsUpdate( buffer, offset ) {\n\n\t\tthis.resolvedProperty[ this.propertyIndex ] = buffer[ offset ];\n\t\tthis.targetObject.needsUpdate = true;\n\n\t}\n\n\t_setValue_arrayElement_setMatrixWorldNeedsUpdate( buffer, offset ) {\n\n\t\tthis.resolvedProperty[ this.propertyIndex ] = buffer[ offset ];\n\t\tthis.targetObject.matrixWorldNeedsUpdate = true;\n\n\t}\n\n\t// HasToFromArray\n\n\t_setValue_fromArray( buffer, offset ) {\n\n\t\tthis.resolvedProperty.fromArray( buffer, offset );\n\n\t}\n\n\t_setValue_fromArray_setNeedsUpdate( buffer, offset ) {\n\n\t\tthis.resolvedProperty.fromArray( buffer, offset );\n\t\tthis.targetObject.needsUpdate = true;\n\n\t}\n\n\t_setValue_fromArray_setMatrixWorldNeedsUpdate( buffer, offset ) {\n\n\t\tthis.resolvedProperty.fromArray( buffer, offset );\n\t\tthis.targetObject.matrixWorldNeedsUpdate = true;\n\n\t}\n\n\t_getValue_unbound( targetArray, offset ) {\n\n\t\tthis.bind();\n\t\tthis.getValue( targetArray, offset );\n\n\t}\n\n\t_setValue_unbound( sourceArray, offset ) {\n\n\t\tthis.bind();\n\t\tthis.setValue( sourceArray, offset );\n\n\t}\n\n\t// create getter / setter pair for a property in the scene graph\n\tbind() {\n\n\t\tlet targetObject = this.node;\n\t\tconst parsedPath = this.parsedPath;\n\n\t\tconst objectName = parsedPath.objectName;\n\t\tconst propertyName = parsedPath.propertyName;\n\t\tlet propertyIndex = parsedPath.propertyIndex;\n\n\t\tif ( ! targetObject ) {\n\n\t\t\ttargetObject = PropertyBinding.findNode( this.rootNode, parsedPath.nodeName ) || this.rootNode;\n\n\t\t\tthis.node = targetObject;\n\n\t\t}\n\n\t\t// set fail state so we can just 'return' on error\n\t\tthis.getValue = this._getValue_unavailable;\n\t\tthis.setValue = this._setValue_unavailable;\n\n\t\t// ensure there is a value node\n\t\tif ( ! targetObject ) {\n\n\t\t\tconsole.error( 'THREE.PropertyBinding: Trying to update node for track: ' + this.path + ' but it wasn\\'t found.' );\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( objectName ) {\n\n\t\t\tlet objectIndex = parsedPath.objectIndex;\n\n\t\t\t// special cases were we need to reach deeper into the hierarchy to get the face materials....\n\t\t\tswitch ( objectName ) {\n\n\t\t\t\tcase 'materials':\n\n\t\t\t\t\tif ( ! targetObject.material ) {\n\n\t\t\t\t\t\tconsole.error( 'THREE.PropertyBinding: Can not bind to material as node does not have a material.', this );\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! targetObject.material.materials ) {\n\n\t\t\t\t\t\tconsole.error( 'THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.', this );\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t}\n\n\t\t\t\t\ttargetObject = targetObject.material.materials;\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'bones':\n\n\t\t\t\t\tif ( ! targetObject.skeleton ) {\n\n\t\t\t\t\t\tconsole.error( 'THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.', this );\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t}\n\n\t\t\t\t\t// potential future optimization: skip this if propertyIndex is already an integer\n\t\t\t\t\t// and convert the integer string to a true integer.\n\n\t\t\t\t\ttargetObject = targetObject.skeleton.bones;\n\n\t\t\t\t\t// support resolving morphTarget names into indices.\n\t\t\t\t\tfor ( let i = 0; i < targetObject.length; i ++ ) {\n\n\t\t\t\t\t\tif ( targetObject[ i ].name === objectIndex ) {\n\n\t\t\t\t\t\t\tobjectIndex = i;\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\n\t\t\t\t\tif ( targetObject[ objectName ] === undefined ) {\n\n\t\t\t\t\t\tconsole.error( 'THREE.PropertyBinding: Can not bind to objectName of node undefined.', this );\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t}\n\n\t\t\t\t\ttargetObject = targetObject[ objectName ];\n\n\t\t\t}\n\n\n\t\t\tif ( objectIndex !== undefined ) {\n\n\t\t\t\tif ( targetObject[ objectIndex ] === undefined ) {\n\n\t\t\t\t\tconsole.error( 'THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.', this, targetObject );\n\t\t\t\t\treturn;\n\n\t\t\t\t}\n\n\t\t\t\ttargetObject = targetObject[ objectIndex ];\n\n\t\t\t}\n\n\t\t}\n\n\t\t// resolve property\n\t\tconst nodeProperty = targetObject[ propertyName ];\n\n\t\tif ( nodeProperty === undefined ) {\n\n\t\t\tconst nodeName = parsedPath.nodeName;\n\n\t\t\tconsole.error( 'THREE.PropertyBinding: Trying to update property for track: ' + nodeName +\n\t\t\t\t'.' + propertyName + ' but it wasn\\'t found.', targetObject );\n\t\t\treturn;\n\n\t\t}\n\n\t\t// determine versioning scheme\n\t\tlet versioning = this.Versioning.None;\n\n\t\tthis.targetObject = targetObject;\n\n\t\tif ( targetObject.needsUpdate !== undefined ) { // material\n\n\t\t\tversioning = this.Versioning.NeedsUpdate;\n\n\t\t} else if ( targetObject.matrixWorldNeedsUpdate !== undefined ) { // node transform\n\n\t\t\tversioning = this.Versioning.MatrixWorldNeedsUpdate;\n\n\t\t}\n\n\t\t// determine how the property gets bound\n\t\tlet bindingType = this.BindingType.Direct;\n\n\t\tif ( propertyIndex !== undefined ) {\n\n\t\t\t// access a sub element of the property array (only primitives are supported right now)\n\n\t\t\tif ( propertyName === 'morphTargetInfluences' ) {\n\n\t\t\t\t// potential optimization, skip this if propertyIndex is already an integer, and convert the integer string to a true integer.\n\n\t\t\t\t// support resolving morphTarget names into indices.\n\t\t\t\tif ( ! targetObject.geometry ) {\n\n\t\t\t\t\tconsole.error( 'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.', this );\n\t\t\t\t\treturn;\n\n\t\t\t\t}\n\n\t\t\t\tif ( ! targetObject.geometry.morphAttributes ) {\n\n\t\t\t\t\tconsole.error( 'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.', this );\n\t\t\t\t\treturn;\n\n\t\t\t\t}\n\n\t\t\t\tif ( targetObject.morphTargetDictionary[ propertyIndex ] !== undefined ) {\n\n\t\t\t\t\tpropertyIndex = targetObject.morphTargetDictionary[ propertyIndex ];\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tbindingType = this.BindingType.ArrayElement;\n\n\t\t\tthis.resolvedProperty = nodeProperty;\n\t\t\tthis.propertyIndex = propertyIndex;\n\n\t\t} else if ( nodeProperty.fromArray !== undefined && nodeProperty.toArray !== undefined ) {\n\n\t\t\t// must use copy for Object3D.Euler/Quaternion\n\n\t\t\tbindingType = this.BindingType.HasFromToArray;\n\n\t\t\tthis.resolvedProperty = nodeProperty;\n\n\t\t} else if ( Array.isArray( nodeProperty ) ) {\n\n\t\t\tbindingType = this.BindingType.EntireArray;\n\n\t\t\tthis.resolvedProperty = nodeProperty;\n\n\t\t} else {\n\n\t\t\tthis.propertyName = propertyName;\n\n\t\t}\n\n\t\t// select getter / setter\n\t\tthis.getValue = this.GetterByBindingType[ bindingType ];\n\t\tthis.setValue = this.SetterByBindingTypeAndVersioning[ bindingType ][ versioning ];\n\n\t}\n\n\tunbind() {\n\n\t\tthis.node = null;\n\n\t\t// back to the prototype version of getValue / setValue\n\t\t// note: avoiding to mutate the shape of 'this' via 'delete'\n\t\tthis.getValue = this._getValue_unbound;\n\t\tthis.setValue = this._setValue_unbound;\n\n\t}\n\n}\n\nPropertyBinding.Composite = Composite;\n\nPropertyBinding.prototype.BindingType = {\n\tDirect: 0,\n\tEntireArray: 1,\n\tArrayElement: 2,\n\tHasFromToArray: 3\n};\n\nPropertyBinding.prototype.Versioning = {\n\tNone: 0,\n\tNeedsUpdate: 1,\n\tMatrixWorldNeedsUpdate: 2\n};\n\nPropertyBinding.prototype.GetterByBindingType = [\n\n\tPropertyBinding.prototype._getValue_direct,\n\tPropertyBinding.prototype._getValue_array,\n\tPropertyBinding.prototype._getValue_arrayElement,\n\tPropertyBinding.prototype._getValue_toArray,\n\n];\n\nPropertyBinding.prototype.SetterByBindingTypeAndVersioning = [\n\n\t[\n\t\t// Direct\n\t\tPropertyBinding.prototype._setValue_direct,\n\t\tPropertyBinding.prototype._setValue_direct_setNeedsUpdate,\n\t\tPropertyBinding.prototype._setValue_direct_setMatrixWorldNeedsUpdate,\n\n\t], [\n\n\t\t// EntireArray\n\n\t\tPropertyBinding.prototype._setValue_array,\n\t\tPropertyBinding.prototype._setValue_array_setNeedsUpdate,\n\t\tPropertyBinding.prototype._setValue_array_setMatrixWorldNeedsUpdate,\n\n\t], [\n\n\t\t// ArrayElement\n\t\tPropertyBinding.prototype._setValue_arrayElement,\n\t\tPropertyBinding.prototype._setValue_arrayElement_setNeedsUpdate,\n\t\tPropertyBinding.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate,\n\n\t], [\n\n\t\t// HasToFromArray\n\t\tPropertyBinding.prototype._setValue_fromArray,\n\t\tPropertyBinding.prototype._setValue_fromArray_setNeedsUpdate,\n\t\tPropertyBinding.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate,\n\n\t]\n\n];\n\n/**\n *\n * A group of objects that receives a shared animation state.\n *\n * Usage:\n *\n * - Add objects you would otherwise pass as 'root' to the\n * constructor or the .clipAction method of AnimationMixer.\n *\n * - Instead pass this object as 'root'.\n *\n * - You can also add and remove objects later when the mixer\n * is running.\n *\n * Note:\n *\n * Objects of this class appear as one object to the mixer,\n * so cache control of the individual objects must be done\n * on the group.\n *\n * Limitation:\n *\n * - The animated properties must be compatible among the\n * all objects in the group.\n *\n * - A single property can either be controlled through a\n * target group or directly, but not both.\n */\n\nclass AnimationObjectGroup {\n\n\tconstructor() {\n\n\t\tthis.isAnimationObjectGroup = true;\n\n\t\tthis.uuid = generateUUID();\n\n\t\t// cached objects followed by the active ones\n\t\tthis._objects = Array.prototype.slice.call( arguments );\n\n\t\tthis.nCachedObjects_ = 0; // threshold\n\t\t// note: read by PropertyBinding.Composite\n\n\t\tconst indices = {};\n\t\tthis._indicesByUUID = indices; // for bookkeeping\n\n\t\tfor ( let i = 0, n = arguments.length; i !== n; ++ i ) {\n\n\t\t\tindices[ arguments[ i ].uuid ] = i;\n\n\t\t}\n\n\t\tthis._paths = []; // inside: string\n\t\tthis._parsedPaths = []; // inside: { we don't care, here }\n\t\tthis._bindings = []; // inside: Array< PropertyBinding >\n\t\tthis._bindingsIndicesByPath = {}; // inside: indices in these arrays\n\n\t\tconst scope = this;\n\n\t\tthis.stats = {\n\n\t\t\tobjects: {\n\t\t\t\tget total() {\n\n\t\t\t\t\treturn scope._objects.length;\n\n\t\t\t\t},\n\t\t\t\tget inUse() {\n\n\t\t\t\t\treturn this.total - scope.nCachedObjects_;\n\n\t\t\t\t}\n\t\t\t},\n\t\t\tget bindingsPerObject() {\n\n\t\t\t\treturn scope._bindings.length;\n\n\t\t\t}\n\n\t\t};\n\n\t}\n\n\tadd() {\n\n\t\tconst objects = this._objects,\n\t\t\tindicesByUUID = this._indicesByUUID,\n\t\t\tpaths = this._paths,\n\t\t\tparsedPaths = this._parsedPaths,\n\t\t\tbindings = this._bindings,\n\t\t\tnBindings = bindings.length;\n\n\t\tlet knownObject = undefined,\n\t\t\tnObjects = objects.length,\n\t\t\tnCachedObjects = this.nCachedObjects_;\n\n\t\tfor ( let i = 0, n = arguments.length; i !== n; ++ i ) {\n\n\t\t\tconst object = arguments[ i ],\n\t\t\t\tuuid = object.uuid;\n\t\t\tlet index = indicesByUUID[ uuid ];\n\n\t\t\tif ( index === undefined ) {\n\n\t\t\t\t// unknown object -> add it to the ACTIVE region\n\n\t\t\t\tindex = nObjects ++;\n\t\t\t\tindicesByUUID[ uuid ] = index;\n\t\t\t\tobjects.push( object );\n\n\t\t\t\t// accounting is done, now do the same for all bindings\n\n\t\t\t\tfor ( let j = 0, m = nBindings; j !== m; ++ j ) {\n\n\t\t\t\t\tbindings[ j ].push( new PropertyBinding( object, paths[ j ], parsedPaths[ j ] ) );\n\n\t\t\t\t}\n\n\t\t\t} else if ( index < nCachedObjects ) {\n\n\t\t\t\tknownObject = objects[ index ];\n\n\t\t\t\t// move existing object to the ACTIVE region\n\n\t\t\t\tconst firstActiveIndex = -- nCachedObjects,\n\t\t\t\t\tlastCachedObject = objects[ firstActiveIndex ];\n\n\t\t\t\tindicesByUUID[ lastCachedObject.uuid ] = index;\n\t\t\t\tobjects[ index ] = lastCachedObject;\n\n\t\t\t\tindicesByUUID[ uuid ] = firstActiveIndex;\n\t\t\t\tobjects[ firstActiveIndex ] = object;\n\n\t\t\t\t// accounting is done, now do the same for all bindings\n\n\t\t\t\tfor ( let j = 0, m = nBindings; j !== m; ++ j ) {\n\n\t\t\t\t\tconst bindingsForPath = bindings[ j ],\n\t\t\t\t\t\tlastCached = bindingsForPath[ firstActiveIndex ];\n\n\t\t\t\t\tlet binding = bindingsForPath[ index ];\n\n\t\t\t\t\tbindingsForPath[ index ] = lastCached;\n\n\t\t\t\t\tif ( binding === undefined ) {\n\n\t\t\t\t\t\t// since we do not bother to create new bindings\n\t\t\t\t\t\t// for objects that are cached, the binding may\n\t\t\t\t\t\t// or may not exist\n\n\t\t\t\t\t\tbinding = new PropertyBinding( object, paths[ j ], parsedPaths[ j ] );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tbindingsForPath[ firstActiveIndex ] = binding;\n\n\t\t\t\t}\n\n\t\t\t} else if ( objects[ index ] !== knownObject ) {\n\n\t\t\t\tconsole.error( 'THREE.AnimationObjectGroup: Different objects with the same UUID ' +\n\t\t\t\t\t'detected. Clean the caches or recreate your infrastructure when reloading scenes.' );\n\n\t\t\t} // else the object is already where we want it to be\n\n\t\t} // for arguments\n\n\t\tthis.nCachedObjects_ = nCachedObjects;\n\n\t}\n\n\tremove() {\n\n\t\tconst objects = this._objects,\n\t\t\tindicesByUUID = this._indicesByUUID,\n\t\t\tbindings = this._bindings,\n\t\t\tnBindings = bindings.length;\n\n\t\tlet nCachedObjects = this.nCachedObjects_;\n\n\t\tfor ( let i = 0, n = arguments.length; i !== n; ++ i ) {\n\n\t\t\tconst object = arguments[ i ],\n\t\t\t\tuuid = object.uuid,\n\t\t\t\tindex = indicesByUUID[ uuid ];\n\n\t\t\tif ( index !== undefined && index >= nCachedObjects ) {\n\n\t\t\t\t// move existing object into the CACHED region\n\n\t\t\t\tconst lastCachedIndex = nCachedObjects ++,\n\t\t\t\t\tfirstActiveObject = objects[ lastCachedIndex ];\n\n\t\t\t\tindicesByUUID[ firstActiveObject.uuid ] = index;\n\t\t\t\tobjects[ index ] = firstActiveObject;\n\n\t\t\t\tindicesByUUID[ uuid ] = lastCachedIndex;\n\t\t\t\tobjects[ lastCachedIndex ] = object;\n\n\t\t\t\t// accounting is done, now do the same for all bindings\n\n\t\t\t\tfor ( let j = 0, m = nBindings; j !== m; ++ j ) {\n\n\t\t\t\t\tconst bindingsForPath = bindings[ j ],\n\t\t\t\t\t\tfirstActive = bindingsForPath[ lastCachedIndex ],\n\t\t\t\t\t\tbinding = bindingsForPath[ index ];\n\n\t\t\t\t\tbindingsForPath[ index ] = firstActive;\n\t\t\t\t\tbindingsForPath[ lastCachedIndex ] = binding;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} // for arguments\n\n\t\tthis.nCachedObjects_ = nCachedObjects;\n\n\t}\n\n\t// remove & forget\n\tuncache() {\n\n\t\tconst objects = this._objects,\n\t\t\tindicesByUUID = this._indicesByUUID,\n\t\t\tbindings = this._bindings,\n\t\t\tnBindings = bindings.length;\n\n\t\tlet nCachedObjects = this.nCachedObjects_,\n\t\t\tnObjects = objects.length;\n\n\t\tfor ( let i = 0, n = arguments.length; i !== n; ++ i ) {\n\n\t\t\tconst object = arguments[ i ],\n\t\t\t\tuuid = object.uuid,\n\t\t\t\tindex = indicesByUUID[ uuid ];\n\n\t\t\tif ( index !== undefined ) {\n\n\t\t\t\tdelete indicesByUUID[ uuid ];\n\n\t\t\t\tif ( index < nCachedObjects ) {\n\n\t\t\t\t\t// object is cached, shrink the CACHED region\n\n\t\t\t\t\tconst firstActiveIndex = -- nCachedObjects,\n\t\t\t\t\t\tlastCachedObject = objects[ firstActiveIndex ],\n\t\t\t\t\t\tlastIndex = -- nObjects,\n\t\t\t\t\t\tlastObject = objects[ lastIndex ];\n\n\t\t\t\t\t// last cached object takes this object's place\n\t\t\t\t\tindicesByUUID[ lastCachedObject.uuid ] = index;\n\t\t\t\t\tobjects[ index ] = lastCachedObject;\n\n\t\t\t\t\t// last object goes to the activated slot and pop\n\t\t\t\t\tindicesByUUID[ lastObject.uuid ] = firstActiveIndex;\n\t\t\t\t\tobjects[ firstActiveIndex ] = lastObject;\n\t\t\t\t\tobjects.pop();\n\n\t\t\t\t\t// accounting is done, now do the same for all bindings\n\n\t\t\t\t\tfor ( let j = 0, m = nBindings; j !== m; ++ j ) {\n\n\t\t\t\t\t\tconst bindingsForPath = bindings[ j ],\n\t\t\t\t\t\t\tlastCached = bindingsForPath[ firstActiveIndex ],\n\t\t\t\t\t\t\tlast = bindingsForPath[ lastIndex ];\n\n\t\t\t\t\t\tbindingsForPath[ index ] = lastCached;\n\t\t\t\t\t\tbindingsForPath[ firstActiveIndex ] = last;\n\t\t\t\t\t\tbindingsForPath.pop();\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// object is active, just swap with the last and pop\n\n\t\t\t\t\tconst lastIndex = -- nObjects,\n\t\t\t\t\t\tlastObject = objects[ lastIndex ];\n\n\t\t\t\t\tif ( lastIndex > 0 ) {\n\n\t\t\t\t\t\tindicesByUUID[ lastObject.uuid ] = index;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tobjects[ index ] = lastObject;\n\t\t\t\t\tobjects.pop();\n\n\t\t\t\t\t// accounting is done, now do the same for all bindings\n\n\t\t\t\t\tfor ( let j = 0, m = nBindings; j !== m; ++ j ) {\n\n\t\t\t\t\t\tconst bindingsForPath = bindings[ j ];\n\n\t\t\t\t\t\tbindingsForPath[ index ] = bindingsForPath[ lastIndex ];\n\t\t\t\t\t\tbindingsForPath.pop();\n\n\t\t\t\t\t}\n\n\t\t\t\t} // cached or active\n\n\t\t\t} // if object is known\n\n\t\t} // for arguments\n\n\t\tthis.nCachedObjects_ = nCachedObjects;\n\n\t}\n\n\t// Internal interface used by befriended PropertyBinding.Composite:\n\n\tsubscribe_( path, parsedPath ) {\n\n\t\t// returns an array of bindings for the given path that is changed\n\t\t// according to the contained objects in the group\n\n\t\tconst indicesByPath = this._bindingsIndicesByPath;\n\t\tlet index = indicesByPath[ path ];\n\t\tconst bindings = this._bindings;\n\n\t\tif ( index !== undefined ) return bindings[ index ];\n\n\t\tconst paths = this._paths,\n\t\t\tparsedPaths = this._parsedPaths,\n\t\t\tobjects = this._objects,\n\t\t\tnObjects = objects.length,\n\t\t\tnCachedObjects = this.nCachedObjects_,\n\t\t\tbindingsForPath = new Array( nObjects );\n\n\t\tindex = bindings.length;\n\n\t\tindicesByPath[ path ] = index;\n\n\t\tpaths.push( path );\n\t\tparsedPaths.push( parsedPath );\n\t\tbindings.push( bindingsForPath );\n\n\t\tfor ( let i = nCachedObjects, n = objects.length; i !== n; ++ i ) {\n\n\t\t\tconst object = objects[ i ];\n\t\t\tbindingsForPath[ i ] = new PropertyBinding( object, path, parsedPath );\n\n\t\t}\n\n\t\treturn bindingsForPath;\n\n\t}\n\n\tunsubscribe_( path ) {\n\n\t\t// tells the group to forget about a property path and no longer\n\t\t// update the array previously obtained with 'subscribe_'\n\n\t\tconst indicesByPath = this._bindingsIndicesByPath,\n\t\t\tindex = indicesByPath[ path ];\n\n\t\tif ( index !== undefined ) {\n\n\t\t\tconst paths = this._paths,\n\t\t\t\tparsedPaths = this._parsedPaths,\n\t\t\t\tbindings = this._bindings,\n\t\t\t\tlastBindingsIndex = bindings.length - 1,\n\t\t\t\tlastBindings = bindings[ lastBindingsIndex ],\n\t\t\t\tlastBindingsPath = path[ lastBindingsIndex ];\n\n\t\t\tindicesByPath[ lastBindingsPath ] = index;\n\n\t\t\tbindings[ index ] = lastBindings;\n\t\t\tbindings.pop();\n\n\t\t\tparsedPaths[ index ] = parsedPaths[ lastBindingsIndex ];\n\t\t\tparsedPaths.pop();\n\n\t\t\tpaths[ index ] = paths[ lastBindingsIndex ];\n\t\t\tpaths.pop();\n\n\t\t}\n\n\t}\n\n}\n\nclass AnimationAction {\n\n\tconstructor( mixer, clip, localRoot = null, blendMode = clip.blendMode ) {\n\n\t\tthis._mixer = mixer;\n\t\tthis._clip = clip;\n\t\tthis._localRoot = localRoot;\n\t\tthis.blendMode = blendMode;\n\n\t\tconst tracks = clip.tracks,\n\t\t\tnTracks = tracks.length,\n\t\t\tinterpolants = new Array( nTracks );\n\n\t\tconst interpolantSettings = {\n\t\t\tendingStart: ZeroCurvatureEnding,\n\t\t\tendingEnd: ZeroCurvatureEnding\n\t\t};\n\n\t\tfor ( let i = 0; i !== nTracks; ++ i ) {\n\n\t\t\tconst interpolant = tracks[ i ].createInterpolant( null );\n\t\t\tinterpolants[ i ] = interpolant;\n\t\t\tinterpolant.settings = interpolantSettings;\n\n\t\t}\n\n\t\tthis._interpolantSettings = interpolantSettings;\n\n\t\tthis._interpolants = interpolants; // bound by the mixer\n\n\t\t// inside: PropertyMixer (managed by the mixer)\n\t\tthis._propertyBindings = new Array( nTracks );\n\n\t\tthis._cacheIndex = null; // for the memory manager\n\t\tthis._byClipCacheIndex = null; // for the memory manager\n\n\t\tthis._timeScaleInterpolant = null;\n\t\tthis._weightInterpolant = null;\n\n\t\tthis.loop = LoopRepeat;\n\t\tthis._loopCount = - 1;\n\n\t\t// global mixer time when the action is to be started\n\t\t// it's set back to 'null' upon start of the action\n\t\tthis._startTime = null;\n\n\t\t// scaled local time of the action\n\t\t// gets clamped or wrapped to 0..clip.duration according to loop\n\t\tthis.time = 0;\n\n\t\tthis.timeScale = 1;\n\t\tthis._effectiveTimeScale = 1;\n\n\t\tthis.weight = 1;\n\t\tthis._effectiveWeight = 1;\n\n\t\tthis.repetitions = Infinity; // no. of repetitions when looping\n\n\t\tthis.paused = false; // true -> zero effective time scale\n\t\tthis.enabled = true; // false -> zero effective weight\n\n\t\tthis.clampWhenFinished = false;// keep feeding the last frame?\n\n\t\tthis.zeroSlopeAtStart = true;// for smooth interpolation w/o separate\n\t\tthis.zeroSlopeAtEnd = true;// clips for start, loop and end\n\n\t}\n\n\t// State & Scheduling\n\n\tplay() {\n\n\t\tthis._mixer._activateAction( this );\n\n\t\treturn this;\n\n\t}\n\n\tstop() {\n\n\t\tthis._mixer._deactivateAction( this );\n\n\t\treturn this.reset();\n\n\t}\n\n\treset() {\n\n\t\tthis.paused = false;\n\t\tthis.enabled = true;\n\n\t\tthis.time = 0; // restart clip\n\t\tthis._loopCount = - 1;// forget previous loops\n\t\tthis._startTime = null;// forget scheduling\n\n\t\treturn this.stopFading().stopWarping();\n\n\t}\n\n\tisRunning() {\n\n\t\treturn this.enabled && ! this.paused && this.timeScale !== 0 &&\n\t\t\tthis._startTime === null && this._mixer._isActiveAction( this );\n\n\t}\n\n\t// return true when play has been called\n\tisScheduled() {\n\n\t\treturn this._mixer._isActiveAction( this );\n\n\t}\n\n\tstartAt( time ) {\n\n\t\tthis._startTime = time;\n\n\t\treturn this;\n\n\t}\n\n\tsetLoop( mode, repetitions ) {\n\n\t\tthis.loop = mode;\n\t\tthis.repetitions = repetitions;\n\n\t\treturn this;\n\n\t}\n\n\t// Weight\n\n\t// set the weight stopping any scheduled fading\n\t// although .enabled = false yields an effective weight of zero, this\n\t// method does *not* change .enabled, because it would be confusing\n\tsetEffectiveWeight( weight ) {\n\n\t\tthis.weight = weight;\n\n\t\t// note: same logic as when updated at runtime\n\t\tthis._effectiveWeight = this.enabled ? weight : 0;\n\n\t\treturn this.stopFading();\n\n\t}\n\n\t// return the weight considering fading and .enabled\n\tgetEffectiveWeight() {\n\n\t\treturn this._effectiveWeight;\n\n\t}\n\n\tfadeIn( duration ) {\n\n\t\treturn this._scheduleFading( duration, 0, 1 );\n\n\t}\n\n\tfadeOut( duration ) {\n\n\t\treturn this._scheduleFading( duration, 1, 0 );\n\n\t}\n\n\tcrossFadeFrom( fadeOutAction, duration, warp ) {\n\n\t\tfadeOutAction.fadeOut( duration );\n\t\tthis.fadeIn( duration );\n\n\t\tif ( warp ) {\n\n\t\t\tconst fadeInDuration = this._clip.duration,\n\t\t\t\tfadeOutDuration = fadeOutAction._clip.duration,\n\n\t\t\t\tstartEndRatio = fadeOutDuration / fadeInDuration,\n\t\t\t\tendStartRatio = fadeInDuration / fadeOutDuration;\n\n\t\t\tfadeOutAction.warp( 1.0, startEndRatio, duration );\n\t\t\tthis.warp( endStartRatio, 1.0, duration );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tcrossFadeTo( fadeInAction, duration, warp ) {\n\n\t\treturn fadeInAction.crossFadeFrom( this, duration, warp );\n\n\t}\n\n\tstopFading() {\n\n\t\tconst weightInterpolant = this._weightInterpolant;\n\n\t\tif ( weightInterpolant !== null ) {\n\n\t\t\tthis._weightInterpolant = null;\n\t\t\tthis._mixer._takeBackControlInterpolant( weightInterpolant );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\t// Time Scale Control\n\n\t// set the time scale stopping any scheduled warping\n\t// although .paused = true yields an effective time scale of zero, this\n\t// method does *not* change .paused, because it would be confusing\n\tsetEffectiveTimeScale( timeScale ) {\n\n\t\tthis.timeScale = timeScale;\n\t\tthis._effectiveTimeScale = this.paused ? 0 : timeScale;\n\n\t\treturn this.stopWarping();\n\n\t}\n\n\t// return the time scale considering warping and .paused\n\tgetEffectiveTimeScale() {\n\n\t\treturn this._effectiveTimeScale;\n\n\t}\n\n\tsetDuration( duration ) {\n\n\t\tthis.timeScale = this._clip.duration / duration;\n\n\t\treturn this.stopWarping();\n\n\t}\n\n\tsyncWith( action ) {\n\n\t\tthis.time = action.time;\n\t\tthis.timeScale = action.timeScale;\n\n\t\treturn this.stopWarping();\n\n\t}\n\n\thalt( duration ) {\n\n\t\treturn this.warp( this._effectiveTimeScale, 0, duration );\n\n\t}\n\n\twarp( startTimeScale, endTimeScale, duration ) {\n\n\t\tconst mixer = this._mixer,\n\t\t\tnow = mixer.time,\n\t\t\ttimeScale = this.timeScale;\n\n\t\tlet interpolant = this._timeScaleInterpolant;\n\n\t\tif ( interpolant === null ) {\n\n\t\t\tinterpolant = mixer._lendControlInterpolant();\n\t\t\tthis._timeScaleInterpolant = interpolant;\n\n\t\t}\n\n\t\tconst times = interpolant.parameterPositions,\n\t\t\tvalues = interpolant.sampleValues;\n\n\t\ttimes[ 0 ] = now;\n\t\ttimes[ 1 ] = now + duration;\n\n\t\tvalues[ 0 ] = startTimeScale / timeScale;\n\t\tvalues[ 1 ] = endTimeScale / timeScale;\n\n\t\treturn this;\n\n\t}\n\n\tstopWarping() {\n\n\t\tconst timeScaleInterpolant = this._timeScaleInterpolant;\n\n\t\tif ( timeScaleInterpolant !== null ) {\n\n\t\t\tthis._timeScaleInterpolant = null;\n\t\t\tthis._mixer._takeBackControlInterpolant( timeScaleInterpolant );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\t// Object Accessors\n\n\tgetMixer() {\n\n\t\treturn this._mixer;\n\n\t}\n\n\tgetClip() {\n\n\t\treturn this._clip;\n\n\t}\n\n\tgetRoot() {\n\n\t\treturn this._localRoot || this._mixer._root;\n\n\t}\n\n\t// Interna\n\n\t_update( time, deltaTime, timeDirection, accuIndex ) {\n\n\t\t// called by the mixer\n\n\t\tif ( ! this.enabled ) {\n\n\t\t\t// call ._updateWeight() to update ._effectiveWeight\n\n\t\t\tthis._updateWeight( time );\n\t\t\treturn;\n\n\t\t}\n\n\t\tconst startTime = this._startTime;\n\n\t\tif ( startTime !== null ) {\n\n\t\t\t// check for scheduled start of action\n\n\t\t\tconst timeRunning = ( time - startTime ) * timeDirection;\n\t\t\tif ( timeRunning < 0 || timeDirection === 0 ) {\n\n\t\t\t\treturn; // yet to come / don't decide when delta = 0\n\n\t\t\t}\n\n\t\t\t// start\n\n\t\t\tthis._startTime = null; // unschedule\n\t\t\tdeltaTime = timeDirection * timeRunning;\n\n\t\t}\n\n\t\t// apply time scale and advance time\n\n\t\tdeltaTime *= this._updateTimeScale( time );\n\t\tconst clipTime = this._updateTime( deltaTime );\n\n\t\t// note: _updateTime may disable the action resulting in\n\t\t// an effective weight of 0\n\n\t\tconst weight = this._updateWeight( time );\n\n\t\tif ( weight > 0 ) {\n\n\t\t\tconst interpolants = this._interpolants;\n\t\t\tconst propertyMixers = this._propertyBindings;\n\n\t\t\tswitch ( this.blendMode ) {\n\n\t\t\t\tcase AdditiveAnimationBlendMode:\n\n\t\t\t\t\tfor ( let j = 0, m = interpolants.length; j !== m; ++ j ) {\n\n\t\t\t\t\t\tinterpolants[ j ].evaluate( clipTime );\n\t\t\t\t\t\tpropertyMixers[ j ].accumulateAdditive( weight );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase NormalAnimationBlendMode:\n\t\t\t\tdefault:\n\n\t\t\t\t\tfor ( let j = 0, m = interpolants.length; j !== m; ++ j ) {\n\n\t\t\t\t\t\tinterpolants[ j ].evaluate( clipTime );\n\t\t\t\t\t\tpropertyMixers[ j ].accumulate( accuIndex, weight );\n\n\t\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t_updateWeight( time ) {\n\n\t\tlet weight = 0;\n\n\t\tif ( this.enabled ) {\n\n\t\t\tweight = this.weight;\n\t\t\tconst interpolant = this._weightInterpolant;\n\n\t\t\tif ( interpolant !== null ) {\n\n\t\t\t\tconst interpolantValue = interpolant.evaluate( time )[ 0 ];\n\n\t\t\t\tweight *= interpolantValue;\n\n\t\t\t\tif ( time > interpolant.parameterPositions[ 1 ] ) {\n\n\t\t\t\t\tthis.stopFading();\n\n\t\t\t\t\tif ( interpolantValue === 0 ) {\n\n\t\t\t\t\t\t// faded out, disable\n\t\t\t\t\t\tthis.enabled = false;\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tthis._effectiveWeight = weight;\n\t\treturn weight;\n\n\t}\n\n\t_updateTimeScale( time ) {\n\n\t\tlet timeScale = 0;\n\n\t\tif ( ! this.paused ) {\n\n\t\t\ttimeScale = this.timeScale;\n\n\t\t\tconst interpolant = this._timeScaleInterpolant;\n\n\t\t\tif ( interpolant !== null ) {\n\n\t\t\t\tconst interpolantValue = interpolant.evaluate( time )[ 0 ];\n\n\t\t\t\ttimeScale *= interpolantValue;\n\n\t\t\t\tif ( time > interpolant.parameterPositions[ 1 ] ) {\n\n\t\t\t\t\tthis.stopWarping();\n\n\t\t\t\t\tif ( timeScale === 0 ) {\n\n\t\t\t\t\t\t// motion has halted, pause\n\t\t\t\t\t\tthis.paused = true;\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// warp done - apply final time scale\n\t\t\t\t\t\tthis.timeScale = timeScale;\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tthis._effectiveTimeScale = timeScale;\n\t\treturn timeScale;\n\n\t}\n\n\t_updateTime( deltaTime ) {\n\n\t\tconst duration = this._clip.duration;\n\t\tconst loop = this.loop;\n\n\t\tlet time = this.time + deltaTime;\n\t\tlet loopCount = this._loopCount;\n\n\t\tconst pingPong = ( loop === LoopPingPong );\n\n\t\tif ( deltaTime === 0 ) {\n\n\t\t\tif ( loopCount === - 1 ) return time;\n\n\t\t\treturn ( pingPong && ( loopCount & 1 ) === 1 ) ? duration - time : time;\n\n\t\t}\n\n\t\tif ( loop === LoopOnce ) {\n\n\t\t\tif ( loopCount === - 1 ) {\n\n\t\t\t\t// just started\n\n\t\t\t\tthis._loopCount = 0;\n\t\t\t\tthis._setEndings( true, true, false );\n\n\t\t\t}\n\n\t\t\thandle_stop: {\n\n\t\t\t\tif ( time >= duration ) {\n\n\t\t\t\t\ttime = duration;\n\n\t\t\t\t} else if ( time < 0 ) {\n\n\t\t\t\t\ttime = 0;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis.time = time;\n\n\t\t\t\t\tbreak handle_stop;\n\n\t\t\t\t}\n\n\t\t\t\tif ( this.clampWhenFinished ) this.paused = true;\n\t\t\t\telse this.enabled = false;\n\n\t\t\t\tthis.time = time;\n\n\t\t\t\tthis._mixer.dispatchEvent( {\n\t\t\t\t\ttype: 'finished', action: this,\n\t\t\t\t\tdirection: deltaTime < 0 ? - 1 : 1\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t} else { // repetitive Repeat or PingPong\n\n\t\t\tif ( loopCount === - 1 ) {\n\n\t\t\t\t// just started\n\n\t\t\t\tif ( deltaTime >= 0 ) {\n\n\t\t\t\t\tloopCount = 0;\n\n\t\t\t\t\tthis._setEndings( true, this.repetitions === 0, pingPong );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// when looping in reverse direction, the initial\n\t\t\t\t\t// transition through zero counts as a repetition,\n\t\t\t\t\t// so leave loopCount at -1\n\n\t\t\t\t\tthis._setEndings( this.repetitions === 0, true, pingPong );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( time >= duration || time < 0 ) {\n\n\t\t\t\t// wrap around\n\n\t\t\t\tconst loopDelta = Math.floor( time / duration ); // signed\n\t\t\t\ttime -= duration * loopDelta;\n\n\t\t\t\tloopCount += Math.abs( loopDelta );\n\n\t\t\t\tconst pending = this.repetitions - loopCount;\n\n\t\t\t\tif ( pending <= 0 ) {\n\n\t\t\t\t\t// have to stop (switch state, clamp time, fire event)\n\n\t\t\t\t\tif ( this.clampWhenFinished ) this.paused = true;\n\t\t\t\t\telse this.enabled = false;\n\n\t\t\t\t\ttime = deltaTime > 0 ? duration : 0;\n\n\t\t\t\t\tthis.time = time;\n\n\t\t\t\t\tthis._mixer.dispatchEvent( {\n\t\t\t\t\t\ttype: 'finished', action: this,\n\t\t\t\t\t\tdirection: deltaTime > 0 ? 1 : - 1\n\t\t\t\t\t} );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// keep running\n\n\t\t\t\t\tif ( pending === 1 ) {\n\n\t\t\t\t\t\t// entering the last round\n\n\t\t\t\t\t\tconst atStart = deltaTime < 0;\n\t\t\t\t\t\tthis._setEndings( atStart, ! atStart, pingPong );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tthis._setEndings( false, false, pingPong );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._loopCount = loopCount;\n\n\t\t\t\t\tthis.time = time;\n\n\t\t\t\t\tthis._mixer.dispatchEvent( {\n\t\t\t\t\t\ttype: 'loop', action: this, loopDelta: loopDelta\n\t\t\t\t\t} );\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tthis.time = time;\n\n\t\t\t}\n\n\t\t\tif ( pingPong && ( loopCount & 1 ) === 1 ) {\n\n\t\t\t\t// invert time for the \"pong round\"\n\n\t\t\t\treturn duration - time;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn time;\n\n\t}\n\n\t_setEndings( atStart, atEnd, pingPong ) {\n\n\t\tconst settings = this._interpolantSettings;\n\n\t\tif ( pingPong ) {\n\n\t\t\tsettings.endingStart = ZeroSlopeEnding;\n\t\t\tsettings.endingEnd = ZeroSlopeEnding;\n\n\t\t} else {\n\n\t\t\t// assuming for LoopOnce atStart == atEnd == true\n\n\t\t\tif ( atStart ) {\n\n\t\t\t\tsettings.endingStart = this.zeroSlopeAtStart ? ZeroSlopeEnding : ZeroCurvatureEnding;\n\n\t\t\t} else {\n\n\t\t\t\tsettings.endingStart = WrapAroundEnding;\n\n\t\t\t}\n\n\t\t\tif ( atEnd ) {\n\n\t\t\t\tsettings.endingEnd = this.zeroSlopeAtEnd ? ZeroSlopeEnding : ZeroCurvatureEnding;\n\n\t\t\t} else {\n\n\t\t\t\tsettings.endingEnd \t = WrapAroundEnding;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t_scheduleFading( duration, weightNow, weightThen ) {\n\n\t\tconst mixer = this._mixer, now = mixer.time;\n\t\tlet interpolant = this._weightInterpolant;\n\n\t\tif ( interpolant === null ) {\n\n\t\t\tinterpolant = mixer._lendControlInterpolant();\n\t\t\tthis._weightInterpolant = interpolant;\n\n\t\t}\n\n\t\tconst times = interpolant.parameterPositions,\n\t\t\tvalues = interpolant.sampleValues;\n\n\t\ttimes[ 0 ] = now;\n\t\tvalues[ 0 ] = weightNow;\n\t\ttimes[ 1 ] = now + duration;\n\t\tvalues[ 1 ] = weightThen;\n\n\t\treturn this;\n\n\t}\n\n}\n\nconst _controlInterpolantsResultBuffer = new Float32Array( 1 );\n\n\nclass AnimationMixer extends EventDispatcher {\n\n\tconstructor( root ) {\n\n\t\tsuper();\n\n\t\tthis._root = root;\n\t\tthis._initMemoryManager();\n\t\tthis._accuIndex = 0;\n\t\tthis.time = 0;\n\t\tthis.timeScale = 1.0;\n\n\t}\n\n\t_bindAction( action, prototypeAction ) {\n\n\t\tconst root = action._localRoot || this._root,\n\t\t\ttracks = action._clip.tracks,\n\t\t\tnTracks = tracks.length,\n\t\t\tbindings = action._propertyBindings,\n\t\t\tinterpolants = action._interpolants,\n\t\t\trootUuid = root.uuid,\n\t\t\tbindingsByRoot = this._bindingsByRootAndName;\n\n\t\tlet bindingsByName = bindingsByRoot[ rootUuid ];\n\n\t\tif ( bindingsByName === undefined ) {\n\n\t\t\tbindingsByName = {};\n\t\t\tbindingsByRoot[ rootUuid ] = bindingsByName;\n\n\t\t}\n\n\t\tfor ( let i = 0; i !== nTracks; ++ i ) {\n\n\t\t\tconst track = tracks[ i ],\n\t\t\t\ttrackName = track.name;\n\n\t\t\tlet binding = bindingsByName[ trackName ];\n\n\t\t\tif ( binding !== undefined ) {\n\n\t\t\t\t++ binding.referenceCount;\n\t\t\t\tbindings[ i ] = binding;\n\n\t\t\t} else {\n\n\t\t\t\tbinding = bindings[ i ];\n\n\t\t\t\tif ( binding !== undefined ) {\n\n\t\t\t\t\t// existing binding, make sure the cache knows\n\n\t\t\t\t\tif ( binding._cacheIndex === null ) {\n\n\t\t\t\t\t\t++ binding.referenceCount;\n\t\t\t\t\t\tthis._addInactiveBinding( binding, rootUuid, trackName );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tcontinue;\n\n\t\t\t\t}\n\n\t\t\t\tconst path = prototypeAction && prototypeAction.\n\t\t\t\t\t_propertyBindings[ i ].binding.parsedPath;\n\n\t\t\t\tbinding = new PropertyMixer(\n\t\t\t\t\tPropertyBinding.create( root, trackName, path ),\n\t\t\t\t\ttrack.ValueTypeName, track.getValueSize() );\n\n\t\t\t\t++ binding.referenceCount;\n\t\t\t\tthis._addInactiveBinding( binding, rootUuid, trackName );\n\n\t\t\t\tbindings[ i ] = binding;\n\n\t\t\t}\n\n\t\t\tinterpolants[ i ].resultBuffer = binding.buffer;\n\n\t\t}\n\n\t}\n\n\t_activateAction( action ) {\n\n\t\tif ( ! this._isActiveAction( action ) ) {\n\n\t\t\tif ( action._cacheIndex === null ) {\n\n\t\t\t\t// this action has been forgotten by the cache, but the user\n\t\t\t\t// appears to be still using it -> rebind\n\n\t\t\t\tconst rootUuid = ( action._localRoot || this._root ).uuid,\n\t\t\t\t\tclipUuid = action._clip.uuid,\n\t\t\t\t\tactionsForClip = this._actionsByClip[ clipUuid ];\n\n\t\t\t\tthis._bindAction( action,\n\t\t\t\t\tactionsForClip && actionsForClip.knownActions[ 0 ] );\n\n\t\t\t\tthis._addInactiveAction( action, clipUuid, rootUuid );\n\n\t\t\t}\n\n\t\t\tconst bindings = action._propertyBindings;\n\n\t\t\t// increment reference counts / sort out state\n\t\t\tfor ( let i = 0, n = bindings.length; i !== n; ++ i ) {\n\n\t\t\t\tconst binding = bindings[ i ];\n\n\t\t\t\tif ( binding.useCount ++ === 0 ) {\n\n\t\t\t\t\tthis._lendBinding( binding );\n\t\t\t\t\tbinding.saveOriginalState();\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis._lendAction( action );\n\n\t\t}\n\n\t}\n\n\t_deactivateAction( action ) {\n\n\t\tif ( this._isActiveAction( action ) ) {\n\n\t\t\tconst bindings = action._propertyBindings;\n\n\t\t\t// decrement reference counts / sort out state\n\t\t\tfor ( let i = 0, n = bindings.length; i !== n; ++ i ) {\n\n\t\t\t\tconst binding = bindings[ i ];\n\n\t\t\t\tif ( -- binding.useCount === 0 ) {\n\n\t\t\t\t\tbinding.restoreOriginalState();\n\t\t\t\t\tthis._takeBackBinding( binding );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis._takeBackAction( action );\n\n\t\t}\n\n\t}\n\n\t// Memory manager\n\n\t_initMemoryManager() {\n\n\t\tthis._actions = []; // 'nActiveActions' followed by inactive ones\n\t\tthis._nActiveActions = 0;\n\n\t\tthis._actionsByClip = {};\n\t\t// inside:\n\t\t// {\n\t\t// \tknownActions: Array< AnimationAction > - used as prototypes\n\t\t// \tactionByRoot: AnimationAction - lookup\n\t\t// }\n\n\n\t\tthis._bindings = []; // 'nActiveBindings' followed by inactive ones\n\t\tthis._nActiveBindings = 0;\n\n\t\tthis._bindingsByRootAndName = {}; // inside: Map< name, PropertyMixer >\n\n\n\t\tthis._controlInterpolants = []; // same game as above\n\t\tthis._nActiveControlInterpolants = 0;\n\n\t\tconst scope = this;\n\n\t\tthis.stats = {\n\n\t\t\tactions: {\n\t\t\t\tget total() {\n\n\t\t\t\t\treturn scope._actions.length;\n\n\t\t\t\t},\n\t\t\t\tget inUse() {\n\n\t\t\t\t\treturn scope._nActiveActions;\n\n\t\t\t\t}\n\t\t\t},\n\t\t\tbindings: {\n\t\t\t\tget total() {\n\n\t\t\t\t\treturn scope._bindings.length;\n\n\t\t\t\t},\n\t\t\t\tget inUse() {\n\n\t\t\t\t\treturn scope._nActiveBindings;\n\n\t\t\t\t}\n\t\t\t},\n\t\t\tcontrolInterpolants: {\n\t\t\t\tget total() {\n\n\t\t\t\t\treturn scope._controlInterpolants.length;\n\n\t\t\t\t},\n\t\t\t\tget inUse() {\n\n\t\t\t\t\treturn scope._nActiveControlInterpolants;\n\n\t\t\t\t}\n\t\t\t}\n\n\t\t};\n\n\t}\n\n\t// Memory management for AnimationAction objects\n\n\t_isActiveAction( action ) {\n\n\t\tconst index = action._cacheIndex;\n\t\treturn index !== null && index < this._nActiveActions;\n\n\t}\n\n\t_addInactiveAction( action, clipUuid, rootUuid ) {\n\n\t\tconst actions = this._actions,\n\t\t\tactionsByClip = this._actionsByClip;\n\n\t\tlet actionsForClip = actionsByClip[ clipUuid ];\n\n\t\tif ( actionsForClip === undefined ) {\n\n\t\t\tactionsForClip = {\n\n\t\t\t\tknownActions: [ action ],\n\t\t\t\tactionByRoot: {}\n\n\t\t\t};\n\n\t\t\taction._byClipCacheIndex = 0;\n\n\t\t\tactionsByClip[ clipUuid ] = actionsForClip;\n\n\t\t} else {\n\n\t\t\tconst knownActions = actionsForClip.knownActions;\n\n\t\t\taction._byClipCacheIndex = knownActions.length;\n\t\t\tknownActions.push( action );\n\n\t\t}\n\n\t\taction._cacheIndex = actions.length;\n\t\tactions.push( action );\n\n\t\tactionsForClip.actionByRoot[ rootUuid ] = action;\n\n\t}\n\n\t_removeInactiveAction( action ) {\n\n\t\tconst actions = this._actions,\n\t\t\tlastInactiveAction = actions[ actions.length - 1 ],\n\t\t\tcacheIndex = action._cacheIndex;\n\n\t\tlastInactiveAction._cacheIndex = cacheIndex;\n\t\tactions[ cacheIndex ] = lastInactiveAction;\n\t\tactions.pop();\n\n\t\taction._cacheIndex = null;\n\n\n\t\tconst clipUuid = action._clip.uuid,\n\t\t\tactionsByClip = this._actionsByClip,\n\t\t\tactionsForClip = actionsByClip[ clipUuid ],\n\t\t\tknownActionsForClip = actionsForClip.knownActions,\n\n\t\t\tlastKnownAction =\n\t\t\t\tknownActionsForClip[ knownActionsForClip.length - 1 ],\n\n\t\t\tbyClipCacheIndex = action._byClipCacheIndex;\n\n\t\tlastKnownAction._byClipCacheIndex = byClipCacheIndex;\n\t\tknownActionsForClip[ byClipCacheIndex ] = lastKnownAction;\n\t\tknownActionsForClip.pop();\n\n\t\taction._byClipCacheIndex = null;\n\n\n\t\tconst actionByRoot = actionsForClip.actionByRoot,\n\t\t\trootUuid = ( action._localRoot || this._root ).uuid;\n\n\t\tdelete actionByRoot[ rootUuid ];\n\n\t\tif ( knownActionsForClip.length === 0 ) {\n\n\t\t\tdelete actionsByClip[ clipUuid ];\n\n\t\t}\n\n\t\tthis._removeInactiveBindingsForAction( action );\n\n\t}\n\n\t_removeInactiveBindingsForAction( action ) {\n\n\t\tconst bindings = action._propertyBindings;\n\n\t\tfor ( let i = 0, n = bindings.length; i !== n; ++ i ) {\n\n\t\t\tconst binding = bindings[ i ];\n\n\t\t\tif ( -- binding.referenceCount === 0 ) {\n\n\t\t\t\tthis._removeInactiveBinding( binding );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t_lendAction( action ) {\n\n\t\t// [ active actions | inactive actions ]\n\t\t// [ active actions >| inactive actions ]\n\t\t// s a\n\t\t// <-swap->\n\t\t// a s\n\n\t\tconst actions = this._actions,\n\t\t\tprevIndex = action._cacheIndex,\n\n\t\t\tlastActiveIndex = this._nActiveActions ++,\n\n\t\t\tfirstInactiveAction = actions[ lastActiveIndex ];\n\n\t\taction._cacheIndex = lastActiveIndex;\n\t\tactions[ lastActiveIndex ] = action;\n\n\t\tfirstInactiveAction._cacheIndex = prevIndex;\n\t\tactions[ prevIndex ] = firstInactiveAction;\n\n\t}\n\n\t_takeBackAction( action ) {\n\n\t\t// [ active actions | inactive actions ]\n\t\t// [ active actions |< inactive actions ]\n\t\t// a s\n\t\t// <-swap->\n\t\t// s a\n\n\t\tconst actions = this._actions,\n\t\t\tprevIndex = action._cacheIndex,\n\n\t\t\tfirstInactiveIndex = -- this._nActiveActions,\n\n\t\t\tlastActiveAction = actions[ firstInactiveIndex ];\n\n\t\taction._cacheIndex = firstInactiveIndex;\n\t\tactions[ firstInactiveIndex ] = action;\n\n\t\tlastActiveAction._cacheIndex = prevIndex;\n\t\tactions[ prevIndex ] = lastActiveAction;\n\n\t}\n\n\t// Memory management for PropertyMixer objects\n\n\t_addInactiveBinding( binding, rootUuid, trackName ) {\n\n\t\tconst bindingsByRoot = this._bindingsByRootAndName,\n\t\t\tbindings = this._bindings;\n\n\t\tlet bindingByName = bindingsByRoot[ rootUuid ];\n\n\t\tif ( bindingByName === undefined ) {\n\n\t\t\tbindingByName = {};\n\t\t\tbindingsByRoot[ rootUuid ] = bindingByName;\n\n\t\t}\n\n\t\tbindingByName[ trackName ] = binding;\n\n\t\tbinding._cacheIndex = bindings.length;\n\t\tbindings.push( binding );\n\n\t}\n\n\t_removeInactiveBinding( binding ) {\n\n\t\tconst bindings = this._bindings,\n\t\t\tpropBinding = binding.binding,\n\t\t\trootUuid = propBinding.rootNode.uuid,\n\t\t\ttrackName = propBinding.path,\n\t\t\tbindingsByRoot = this._bindingsByRootAndName,\n\t\t\tbindingByName = bindingsByRoot[ rootUuid ],\n\n\t\t\tlastInactiveBinding = bindings[ bindings.length - 1 ],\n\t\t\tcacheIndex = binding._cacheIndex;\n\n\t\tlastInactiveBinding._cacheIndex = cacheIndex;\n\t\tbindings[ cacheIndex ] = lastInactiveBinding;\n\t\tbindings.pop();\n\n\t\tdelete bindingByName[ trackName ];\n\n\t\tif ( Object.keys( bindingByName ).length === 0 ) {\n\n\t\t\tdelete bindingsByRoot[ rootUuid ];\n\n\t\t}\n\n\t}\n\n\t_lendBinding( binding ) {\n\n\t\tconst bindings = this._bindings,\n\t\t\tprevIndex = binding._cacheIndex,\n\n\t\t\tlastActiveIndex = this._nActiveBindings ++,\n\n\t\t\tfirstInactiveBinding = bindings[ lastActiveIndex ];\n\n\t\tbinding._cacheIndex = lastActiveIndex;\n\t\tbindings[ lastActiveIndex ] = binding;\n\n\t\tfirstInactiveBinding._cacheIndex = prevIndex;\n\t\tbindings[ prevIndex ] = firstInactiveBinding;\n\n\t}\n\n\t_takeBackBinding( binding ) {\n\n\t\tconst bindings = this._bindings,\n\t\t\tprevIndex = binding._cacheIndex,\n\n\t\t\tfirstInactiveIndex = -- this._nActiveBindings,\n\n\t\t\tlastActiveBinding = bindings[ firstInactiveIndex ];\n\n\t\tbinding._cacheIndex = firstInactiveIndex;\n\t\tbindings[ firstInactiveIndex ] = binding;\n\n\t\tlastActiveBinding._cacheIndex = prevIndex;\n\t\tbindings[ prevIndex ] = lastActiveBinding;\n\n\t}\n\n\n\t// Memory management of Interpolants for weight and time scale\n\n\t_lendControlInterpolant() {\n\n\t\tconst interpolants = this._controlInterpolants,\n\t\t\tlastActiveIndex = this._nActiveControlInterpolants ++;\n\n\t\tlet interpolant = interpolants[ lastActiveIndex ];\n\n\t\tif ( interpolant === undefined ) {\n\n\t\t\tinterpolant = new LinearInterpolant(\n\t\t\t\tnew Float32Array( 2 ), new Float32Array( 2 ),\n\t\t\t\t1, _controlInterpolantsResultBuffer );\n\n\t\t\tinterpolant.__cacheIndex = lastActiveIndex;\n\t\t\tinterpolants[ lastActiveIndex ] = interpolant;\n\n\t\t}\n\n\t\treturn interpolant;\n\n\t}\n\n\t_takeBackControlInterpolant( interpolant ) {\n\n\t\tconst interpolants = this._controlInterpolants,\n\t\t\tprevIndex = interpolant.__cacheIndex,\n\n\t\t\tfirstInactiveIndex = -- this._nActiveControlInterpolants,\n\n\t\t\tlastActiveInterpolant = interpolants[ firstInactiveIndex ];\n\n\t\tinterpolant.__cacheIndex = firstInactiveIndex;\n\t\tinterpolants[ firstInactiveIndex ] = interpolant;\n\n\t\tlastActiveInterpolant.__cacheIndex = prevIndex;\n\t\tinterpolants[ prevIndex ] = lastActiveInterpolant;\n\n\t}\n\n\t// return an action for a clip optionally using a custom root target\n\t// object (this method allocates a lot of dynamic memory in case a\n\t// previously unknown clip/root combination is specified)\n\tclipAction( clip, optionalRoot, blendMode ) {\n\n\t\tconst root = optionalRoot || this._root,\n\t\t\trootUuid = root.uuid;\n\n\t\tlet clipObject = typeof clip === 'string' ? AnimationClip.findByName( root, clip ) : clip;\n\n\t\tconst clipUuid = clipObject !== null ? clipObject.uuid : clip;\n\n\t\tconst actionsForClip = this._actionsByClip[ clipUuid ];\n\t\tlet prototypeAction = null;\n\n\t\tif ( blendMode === undefined ) {\n\n\t\t\tif ( clipObject !== null ) {\n\n\t\t\t\tblendMode = clipObject.blendMode;\n\n\t\t\t} else {\n\n\t\t\t\tblendMode = NormalAnimationBlendMode;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( actionsForClip !== undefined ) {\n\n\t\t\tconst existingAction = actionsForClip.actionByRoot[ rootUuid ];\n\n\t\t\tif ( existingAction !== undefined && existingAction.blendMode === blendMode ) {\n\n\t\t\t\treturn existingAction;\n\n\t\t\t}\n\n\t\t\t// we know the clip, so we don't have to parse all\n\t\t\t// the bindings again but can just copy\n\t\t\tprototypeAction = actionsForClip.knownActions[ 0 ];\n\n\t\t\t// also, take the clip from the prototype action\n\t\t\tif ( clipObject === null )\n\t\t\t\tclipObject = prototypeAction._clip;\n\n\t\t}\n\n\t\t// clip must be known when specified via string\n\t\tif ( clipObject === null ) return null;\n\n\t\t// allocate all resources required to run it\n\t\tconst newAction = new AnimationAction( this, clipObject, optionalRoot, blendMode );\n\n\t\tthis._bindAction( newAction, prototypeAction );\n\n\t\t// and make the action known to the memory manager\n\t\tthis._addInactiveAction( newAction, clipUuid, rootUuid );\n\n\t\treturn newAction;\n\n\t}\n\n\t// get an existing action\n\texistingAction( clip, optionalRoot ) {\n\n\t\tconst root = optionalRoot || this._root,\n\t\t\trootUuid = root.uuid,\n\n\t\t\tclipObject = typeof clip === 'string' ?\n\t\t\t\tAnimationClip.findByName( root, clip ) : clip,\n\n\t\t\tclipUuid = clipObject ? clipObject.uuid : clip,\n\n\t\t\tactionsForClip = this._actionsByClip[ clipUuid ];\n\n\t\tif ( actionsForClip !== undefined ) {\n\n\t\t\treturn actionsForClip.actionByRoot[ rootUuid ] || null;\n\n\t\t}\n\n\t\treturn null;\n\n\t}\n\n\t// deactivates all previously scheduled actions\n\tstopAllAction() {\n\n\t\tconst actions = this._actions,\n\t\t\tnActions = this._nActiveActions;\n\n\t\tfor ( let i = nActions - 1; i >= 0; -- i ) {\n\n\t\t\tactions[ i ].stop();\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\t// advance the time and update apply the animation\n\tupdate( deltaTime ) {\n\n\t\tdeltaTime *= this.timeScale;\n\n\t\tconst actions = this._actions,\n\t\t\tnActions = this._nActiveActions,\n\n\t\t\ttime = this.time += deltaTime,\n\t\t\ttimeDirection = Math.sign( deltaTime ),\n\n\t\t\taccuIndex = this._accuIndex ^= 1;\n\n\t\t// run active actions\n\n\t\tfor ( let i = 0; i !== nActions; ++ i ) {\n\n\t\t\tconst action = actions[ i ];\n\n\t\t\taction._update( time, deltaTime, timeDirection, accuIndex );\n\n\t\t}\n\n\t\t// update scene graph\n\n\t\tconst bindings = this._bindings,\n\t\t\tnBindings = this._nActiveBindings;\n\n\t\tfor ( let i = 0; i !== nBindings; ++ i ) {\n\n\t\t\tbindings[ i ].apply( accuIndex );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\t// Allows you to seek to a specific time in an animation.\n\tsetTime( timeInSeconds ) {\n\n\t\tthis.time = 0; // Zero out time attribute for AnimationMixer object;\n\t\tfor ( let i = 0; i < this._actions.length; i ++ ) {\n\n\t\t\tthis._actions[ i ].time = 0; // Zero out time attribute for all associated AnimationAction objects.\n\n\t\t}\n\n\t\treturn this.update( timeInSeconds ); // Update used to set exact time. Returns \"this\" AnimationMixer object.\n\n\t}\n\n\t// return this mixer's root target object\n\tgetRoot() {\n\n\t\treturn this._root;\n\n\t}\n\n\t// free all resources specific to a particular clip\n\tuncacheClip( clip ) {\n\n\t\tconst actions = this._actions,\n\t\t\tclipUuid = clip.uuid,\n\t\t\tactionsByClip = this._actionsByClip,\n\t\t\tactionsForClip = actionsByClip[ clipUuid ];\n\n\t\tif ( actionsForClip !== undefined ) {\n\n\t\t\t// note: just calling _removeInactiveAction would mess up the\n\t\t\t// iteration state and also require updating the state we can\n\t\t\t// just throw away\n\n\t\t\tconst actionsToRemove = actionsForClip.knownActions;\n\n\t\t\tfor ( let i = 0, n = actionsToRemove.length; i !== n; ++ i ) {\n\n\t\t\t\tconst action = actionsToRemove[ i ];\n\n\t\t\t\tthis._deactivateAction( action );\n\n\t\t\t\tconst cacheIndex = action._cacheIndex,\n\t\t\t\t\tlastInactiveAction = actions[ actions.length - 1 ];\n\n\t\t\t\taction._cacheIndex = null;\n\t\t\t\taction._byClipCacheIndex = null;\n\n\t\t\t\tlastInactiveAction._cacheIndex = cacheIndex;\n\t\t\t\tactions[ cacheIndex ] = lastInactiveAction;\n\t\t\t\tactions.pop();\n\n\t\t\t\tthis._removeInactiveBindingsForAction( action );\n\n\t\t\t}\n\n\t\t\tdelete actionsByClip[ clipUuid ];\n\n\t\t}\n\n\t}\n\n\t// free all resources specific to a particular root target object\n\tuncacheRoot( root ) {\n\n\t\tconst rootUuid = root.uuid,\n\t\t\tactionsByClip = this._actionsByClip;\n\n\t\tfor ( const clipUuid in actionsByClip ) {\n\n\t\t\tconst actionByRoot = actionsByClip[ clipUuid ].actionByRoot,\n\t\t\t\taction = actionByRoot[ rootUuid ];\n\n\t\t\tif ( action !== undefined ) {\n\n\t\t\t\tthis._deactivateAction( action );\n\t\t\t\tthis._removeInactiveAction( action );\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst bindingsByRoot = this._bindingsByRootAndName,\n\t\t\tbindingByName = bindingsByRoot[ rootUuid ];\n\n\t\tif ( bindingByName !== undefined ) {\n\n\t\t\tfor ( const trackName in bindingByName ) {\n\n\t\t\t\tconst binding = bindingByName[ trackName ];\n\t\t\t\tbinding.restoreOriginalState();\n\t\t\t\tthis._removeInactiveBinding( binding );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t// remove a targeted clip from the cache\n\tuncacheAction( clip, optionalRoot ) {\n\n\t\tconst action = this.existingAction( clip, optionalRoot );\n\n\t\tif ( action !== null ) {\n\n\t\t\tthis._deactivateAction( action );\n\t\t\tthis._removeInactiveAction( action );\n\n\t\t}\n\n\t}\n\n}\n\nclass Uniform {\n\n\tconstructor( value ) {\n\n\t\tif ( typeof value === 'string' ) {\n\n\t\t\tconsole.warn( 'THREE.Uniform: Type parameter is no longer needed.' );\n\t\t\tvalue = arguments[ 1 ];\n\n\t\t}\n\n\t\tthis.value = value;\n\n\t}\n\n\tclone() {\n\n\t\treturn new Uniform( this.value.clone === undefined ? this.value : this.value.clone() );\n\n\t}\n\n}\n\nlet id = 0;\n\nclass UniformsGroup extends EventDispatcher {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.isUniformsGroup = true;\n\n\t\tObject.defineProperty( this, 'id', { value: id ++ } );\n\n\t\tthis.name = '';\n\n\t\tthis.usage = StaticDrawUsage;\n\t\tthis.uniforms = [];\n\n\t}\n\n\tadd( uniform ) {\n\n\t\tthis.uniforms.push( uniform );\n\n\t\treturn this;\n\n\t}\n\n\tremove( uniform ) {\n\n\t\tconst index = this.uniforms.indexOf( uniform );\n\n\t\tif ( index !== - 1 ) this.uniforms.splice( index, 1 );\n\n\t\treturn this;\n\n\t}\n\n\tsetName( name ) {\n\n\t\tthis.name = name;\n\n\t\treturn this;\n\n\t}\n\n\tsetUsage( value ) {\n\n\t\tthis.usage = value;\n\n\t\treturn this;\n\n\t}\n\n\tdispose() {\n\n\t\tthis.dispatchEvent( { type: 'dispose' } );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.name = source.name;\n\t\tthis.usage = source.usage;\n\n\t\tconst uniformsSource = source.uniforms;\n\n\t\tthis.uniforms.length = 0;\n\n\t\tfor ( let i = 0, l = uniformsSource.length; i < l; i ++ ) {\n\n\t\t\tthis.uniforms.push( uniformsSource[ i ].clone() );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\nclass InstancedInterleavedBuffer extends InterleavedBuffer {\n\n\tconstructor( array, stride, meshPerAttribute = 1 ) {\n\n\t\tsuper( array, stride );\n\n\t\tthis.isInstancedInterleavedBuffer = true;\n\n\t\tthis.meshPerAttribute = meshPerAttribute;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.meshPerAttribute = source.meshPerAttribute;\n\n\t\treturn this;\n\n\t}\n\n\tclone( data ) {\n\n\t\tconst ib = super.clone( data );\n\n\t\tib.meshPerAttribute = this.meshPerAttribute;\n\n\t\treturn ib;\n\n\t}\n\n\ttoJSON( data ) {\n\n\t\tconst json = super.toJSON( data );\n\n\t\tjson.isInstancedInterleavedBuffer = true;\n\t\tjson.meshPerAttribute = this.meshPerAttribute;\n\n\t\treturn json;\n\n\t}\n\n}\n\nclass GLBufferAttribute {\n\n\tconstructor( buffer, type, itemSize, elementSize, count ) {\n\n\t\tthis.isGLBufferAttribute = true;\n\n\t\tthis.buffer = buffer;\n\t\tthis.type = type;\n\t\tthis.itemSize = itemSize;\n\t\tthis.elementSize = elementSize;\n\t\tthis.count = count;\n\n\t\tthis.version = 0;\n\n\t}\n\n\tset needsUpdate( value ) {\n\n\t\tif ( value === true ) this.version ++;\n\n\t}\n\n\tsetBuffer( buffer ) {\n\n\t\tthis.buffer = buffer;\n\n\t\treturn this;\n\n\t}\n\n\tsetType( type, elementSize ) {\n\n\t\tthis.type = type;\n\t\tthis.elementSize = elementSize;\n\n\t\treturn this;\n\n\t}\n\n\tsetItemSize( itemSize ) {\n\n\t\tthis.itemSize = itemSize;\n\n\t\treturn this;\n\n\t}\n\n\tsetCount( count ) {\n\n\t\tthis.count = count;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass Raycaster {\n\n\tconstructor( origin, direction, near = 0, far = Infinity ) {\n\n\t\tthis.ray = new Ray( origin, direction );\n\t\t// direction is assumed to be normalized (for accurate distance calculations)\n\n\t\tthis.near = near;\n\t\tthis.far = far;\n\t\tthis.camera = null;\n\t\tthis.layers = new Layers();\n\n\t\tthis.params = {\n\t\t\tMesh: {},\n\t\t\tLine: { threshold: 1 },\n\t\t\tLOD: {},\n\t\t\tPoints: { threshold: 1 },\n\t\t\tSprite: {}\n\t\t};\n\n\t}\n\n\tset( origin, direction ) {\n\n\t\t// direction is assumed to be normalized (for accurate distance calculations)\n\n\t\tthis.ray.set( origin, direction );\n\n\t}\n\n\tsetFromCamera( coords, camera ) {\n\n\t\tif ( camera.isPerspectiveCamera ) {\n\n\t\t\tthis.ray.origin.setFromMatrixPosition( camera.matrixWorld );\n\t\t\tthis.ray.direction.set( coords.x, coords.y, 0.5 ).unproject( camera ).sub( this.ray.origin ).normalize();\n\t\t\tthis.camera = camera;\n\n\t\t} else if ( camera.isOrthographicCamera ) {\n\n\t\t\tthis.ray.origin.set( coords.x, coords.y, ( camera.near + camera.far ) / ( camera.near - camera.far ) ).unproject( camera ); // set origin in plane of camera\n\t\t\tthis.ray.direction.set( 0, 0, - 1 ).transformDirection( camera.matrixWorld );\n\t\t\tthis.camera = camera;\n\n\t\t} else {\n\n\t\t\tconsole.error( 'THREE.Raycaster: Unsupported camera type: ' + camera.type );\n\n\t\t}\n\n\t}\n\n\tintersectObject( object, recursive = true, intersects = [] ) {\n\n\t\tintersectObject( object, this, intersects, recursive );\n\n\t\tintersects.sort( ascSort );\n\n\t\treturn intersects;\n\n\t}\n\n\tintersectObjects( objects, recursive = true, intersects = [] ) {\n\n\t\tfor ( let i = 0, l = objects.length; i < l; i ++ ) {\n\n\t\t\tintersectObject( objects[ i ], this, intersects, recursive );\n\n\t\t}\n\n\t\tintersects.sort( ascSort );\n\n\t\treturn intersects;\n\n\t}\n\n}\n\nfunction ascSort( a, b ) {\n\n\treturn a.distance - b.distance;\n\n}\n\nfunction intersectObject( object, raycaster, intersects, recursive ) {\n\n\tif ( object.layers.test( raycaster.layers ) ) {\n\n\t\tobject.raycast( raycaster, intersects );\n\n\t}\n\n\tif ( recursive === true ) {\n\n\t\tconst children = object.children;\n\n\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\tintersectObject( children[ i ], raycaster, intersects, true );\n\n\t\t}\n\n\t}\n\n}\n\n/**\n * Ref: https://en.wikipedia.org/wiki/Spherical_coordinate_system\n *\n * The polar angle (phi) is measured from the positive y-axis. The positive y-axis is up.\n * The azimuthal angle (theta) is measured from the positive z-axis.\n */\n\nclass Spherical {\n\n\tconstructor( radius = 1, phi = 0, theta = 0 ) {\n\n\t\tthis.radius = radius;\n\t\tthis.phi = phi; // polar angle\n\t\tthis.theta = theta; // azimuthal angle\n\n\t\treturn this;\n\n\t}\n\n\tset( radius, phi, theta ) {\n\n\t\tthis.radius = radius;\n\t\tthis.phi = phi;\n\t\tthis.theta = theta;\n\n\t\treturn this;\n\n\t}\n\n\tcopy( other ) {\n\n\t\tthis.radius = other.radius;\n\t\tthis.phi = other.phi;\n\t\tthis.theta = other.theta;\n\n\t\treturn this;\n\n\t}\n\n\t// restrict phi to be between EPS and PI-EPS\n\tmakeSafe() {\n\n\t\tconst EPS = 0.000001;\n\t\tthis.phi = Math.max( EPS, Math.min( Math.PI - EPS, this.phi ) );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromVector3( v ) {\n\n\t\treturn this.setFromCartesianCoords( v.x, v.y, v.z );\n\n\t}\n\n\tsetFromCartesianCoords( x, y, z ) {\n\n\t\tthis.radius = Math.sqrt( x * x + y * y + z * z );\n\n\t\tif ( this.radius === 0 ) {\n\n\t\t\tthis.theta = 0;\n\t\t\tthis.phi = 0;\n\n\t\t} else {\n\n\t\t\tthis.theta = Math.atan2( x, z );\n\t\t\tthis.phi = Math.acos( clamp( y / this.radius, - 1, 1 ) );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\n/**\n * Ref: https://en.wikipedia.org/wiki/Cylindrical_coordinate_system\n */\n\nclass Cylindrical {\n\n\tconstructor( radius = 1, theta = 0, y = 0 ) {\n\n\t\tthis.radius = radius; // distance from the origin to a point in the x-z plane\n\t\tthis.theta = theta; // counterclockwise angle in the x-z plane measured in radians from the positive z-axis\n\t\tthis.y = y; // height above the x-z plane\n\n\t\treturn this;\n\n\t}\n\n\tset( radius, theta, y ) {\n\n\t\tthis.radius = radius;\n\t\tthis.theta = theta;\n\t\tthis.y = y;\n\n\t\treturn this;\n\n\t}\n\n\tcopy( other ) {\n\n\t\tthis.radius = other.radius;\n\t\tthis.theta = other.theta;\n\t\tthis.y = other.y;\n\n\t\treturn this;\n\n\t}\n\n\tsetFromVector3( v ) {\n\n\t\treturn this.setFromCartesianCoords( v.x, v.y, v.z );\n\n\t}\n\n\tsetFromCartesianCoords( x, y, z ) {\n\n\t\tthis.radius = Math.sqrt( x * x + z * z );\n\t\tthis.theta = Math.atan2( x, z );\n\t\tthis.y = y;\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\nconst _vector$4 = /*@__PURE__*/ new Vector2();\n\nclass Box2 {\n\n\tconstructor( min = new Vector2( + Infinity, + Infinity ), max = new Vector2( - Infinity, - Infinity ) ) {\n\n\t\tthis.isBox2 = true;\n\n\t\tthis.min = min;\n\t\tthis.max = max;\n\n\t}\n\n\tset( min, max ) {\n\n\t\tthis.min.copy( min );\n\t\tthis.max.copy( max );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromPoints( points ) {\n\n\t\tthis.makeEmpty();\n\n\t\tfor ( let i = 0, il = points.length; i < il; i ++ ) {\n\n\t\t\tthis.expandByPoint( points[ i ] );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetFromCenterAndSize( center, size ) {\n\n\t\tconst halfSize = _vector$4.copy( size ).multiplyScalar( 0.5 );\n\t\tthis.min.copy( center ).sub( halfSize );\n\t\tthis.max.copy( center ).add( halfSize );\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( box ) {\n\n\t\tthis.min.copy( box.min );\n\t\tthis.max.copy( box.max );\n\n\t\treturn this;\n\n\t}\n\n\tmakeEmpty() {\n\n\t\tthis.min.x = this.min.y = + Infinity;\n\t\tthis.max.x = this.max.y = - Infinity;\n\n\t\treturn this;\n\n\t}\n\n\tisEmpty() {\n\n\t\t// this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes\n\n\t\treturn ( this.max.x < this.min.x ) || ( this.max.y < this.min.y );\n\n\t}\n\n\tgetCenter( target ) {\n\n\t\treturn this.isEmpty() ? target.set( 0, 0 ) : target.addVectors( this.min, this.max ).multiplyScalar( 0.5 );\n\n\t}\n\n\tgetSize( target ) {\n\n\t\treturn this.isEmpty() ? target.set( 0, 0 ) : target.subVectors( this.max, this.min );\n\n\t}\n\n\texpandByPoint( point ) {\n\n\t\tthis.min.min( point );\n\t\tthis.max.max( point );\n\n\t\treturn this;\n\n\t}\n\n\texpandByVector( vector ) {\n\n\t\tthis.min.sub( vector );\n\t\tthis.max.add( vector );\n\n\t\treturn this;\n\n\t}\n\n\texpandByScalar( scalar ) {\n\n\t\tthis.min.addScalar( - scalar );\n\t\tthis.max.addScalar( scalar );\n\n\t\treturn this;\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\treturn point.x < this.min.x || point.x > this.max.x ||\n\t\t\tpoint.y < this.min.y || point.y > this.max.y ? false : true;\n\n\t}\n\n\tcontainsBox( box ) {\n\n\t\treturn this.min.x <= box.min.x && box.max.x <= this.max.x &&\n\t\t\tthis.min.y <= box.min.y && box.max.y <= this.max.y;\n\n\t}\n\n\tgetParameter( point, target ) {\n\n\t\t// This can potentially have a divide by zero if the box\n\t\t// has a size dimension of 0.\n\n\t\treturn target.set(\n\t\t\t( point.x - this.min.x ) / ( this.max.x - this.min.x ),\n\t\t\t( point.y - this.min.y ) / ( this.max.y - this.min.y )\n\t\t);\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\t// using 4 splitting planes to rule out intersections\n\n\t\treturn box.max.x < this.min.x || box.min.x > this.max.x ||\n\t\t\tbox.max.y < this.min.y || box.min.y > this.max.y ? false : true;\n\n\t}\n\n\tclampPoint( point, target ) {\n\n\t\treturn target.copy( point ).clamp( this.min, this.max );\n\n\t}\n\n\tdistanceToPoint( point ) {\n\n\t\tconst clampedPoint = _vector$4.copy( point ).clamp( this.min, this.max );\n\t\treturn clampedPoint.sub( point ).length();\n\n\t}\n\n\tintersect( box ) {\n\n\t\tthis.min.max( box.min );\n\t\tthis.max.min( box.max );\n\n\t\treturn this;\n\n\t}\n\n\tunion( box ) {\n\n\t\tthis.min.min( box.min );\n\t\tthis.max.max( box.max );\n\n\t\treturn this;\n\n\t}\n\n\ttranslate( offset ) {\n\n\t\tthis.min.add( offset );\n\t\tthis.max.add( offset );\n\n\t\treturn this;\n\n\t}\n\n\tequals( box ) {\n\n\t\treturn box.min.equals( this.min ) && box.max.equals( this.max );\n\n\t}\n\n}\n\nconst _startP = /*@__PURE__*/ new Vector3();\nconst _startEnd = /*@__PURE__*/ new Vector3();\n\nclass Line3 {\n\n\tconstructor( start = new Vector3(), end = new Vector3() ) {\n\n\t\tthis.start = start;\n\t\tthis.end = end;\n\n\t}\n\n\tset( start, end ) {\n\n\t\tthis.start.copy( start );\n\t\tthis.end.copy( end );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( line ) {\n\n\t\tthis.start.copy( line.start );\n\t\tthis.end.copy( line.end );\n\n\t\treturn this;\n\n\t}\n\n\tgetCenter( target ) {\n\n\t\treturn target.addVectors( this.start, this.end ).multiplyScalar( 0.5 );\n\n\t}\n\n\tdelta( target ) {\n\n\t\treturn target.subVectors( this.end, this.start );\n\n\t}\n\n\tdistanceSq() {\n\n\t\treturn this.start.distanceToSquared( this.end );\n\n\t}\n\n\tdistance() {\n\n\t\treturn this.start.distanceTo( this.end );\n\n\t}\n\n\tat( t, target ) {\n\n\t\treturn this.delta( target ).multiplyScalar( t ).add( this.start );\n\n\t}\n\n\tclosestPointToPointParameter( point, clampToLine ) {\n\n\t\t_startP.subVectors( point, this.start );\n\t\t_startEnd.subVectors( this.end, this.start );\n\n\t\tconst startEnd2 = _startEnd.dot( _startEnd );\n\t\tconst startEnd_startP = _startEnd.dot( _startP );\n\n\t\tlet t = startEnd_startP / startEnd2;\n\n\t\tif ( clampToLine ) {\n\n\t\t\tt = clamp( t, 0, 1 );\n\n\t\t}\n\n\t\treturn t;\n\n\t}\n\n\tclosestPointToPoint( point, clampToLine, target ) {\n\n\t\tconst t = this.closestPointToPointParameter( point, clampToLine );\n\n\t\treturn this.delta( target ).multiplyScalar( t ).add( this.start );\n\n\t}\n\n\tapplyMatrix4( matrix ) {\n\n\t\tthis.start.applyMatrix4( matrix );\n\t\tthis.end.applyMatrix4( matrix );\n\n\t\treturn this;\n\n\t}\n\n\tequals( line ) {\n\n\t\treturn line.start.equals( this.start ) && line.end.equals( this.end );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\nconst _vector$3 = /*@__PURE__*/ new Vector3();\n\nclass SpotLightHelper extends Object3D {\n\n\tconstructor( light, color ) {\n\n\t\tsuper();\n\n\t\tthis.light = light;\n\t\tthis.light.updateMatrixWorld();\n\n\t\tthis.matrix = light.matrixWorld;\n\t\tthis.matrixAutoUpdate = false;\n\n\t\tthis.color = color;\n\n\t\tconst geometry = new BufferGeometry();\n\n\t\tconst positions = [\n\t\t\t0, 0, 0, \t0, 0, 1,\n\t\t\t0, 0, 0, \t1, 0, 1,\n\t\t\t0, 0, 0,\t- 1, 0, 1,\n\t\t\t0, 0, 0, \t0, 1, 1,\n\t\t\t0, 0, 0, \t0, - 1, 1\n\t\t];\n\n\t\tfor ( let i = 0, j = 1, l = 32; i < l; i ++, j ++ ) {\n\n\t\t\tconst p1 = ( i / l ) * Math.PI * 2;\n\t\t\tconst p2 = ( j / l ) * Math.PI * 2;\n\n\t\t\tpositions.push(\n\t\t\t\tMath.cos( p1 ), Math.sin( p1 ), 1,\n\t\t\t\tMath.cos( p2 ), Math.sin( p2 ), 1\n\t\t\t);\n\n\t\t}\n\n\t\tgeometry.setAttribute( 'position', new Float32BufferAttribute( positions, 3 ) );\n\n\t\tconst material = new LineBasicMaterial( { fog: false, toneMapped: false } );\n\n\t\tthis.cone = new LineSegments( geometry, material );\n\t\tthis.add( this.cone );\n\n\t\tthis.update();\n\n\t}\n\n\tdispose() {\n\n\t\tthis.cone.geometry.dispose();\n\t\tthis.cone.material.dispose();\n\n\t}\n\n\tupdate() {\n\n\t\tthis.light.updateMatrixWorld();\n\n\t\tconst coneLength = this.light.distance ? this.light.distance : 1000;\n\t\tconst coneWidth = coneLength * Math.tan( this.light.angle );\n\n\t\tthis.cone.scale.set( coneWidth, coneWidth, coneLength );\n\n\t\t_vector$3.setFromMatrixPosition( this.light.target.matrixWorld );\n\n\t\tthis.cone.lookAt( _vector$3 );\n\n\t\tif ( this.color !== undefined ) {\n\n\t\t\tthis.cone.material.color.set( this.color );\n\n\t\t} else {\n\n\t\t\tthis.cone.material.color.copy( this.light.color );\n\n\t\t}\n\n\t}\n\n}\n\nconst _vector$2 = /*@__PURE__*/ new Vector3();\nconst _boneMatrix = /*@__PURE__*/ new Matrix4();\nconst _matrixWorldInv = /*@__PURE__*/ new Matrix4();\n\n\nclass SkeletonHelper extends LineSegments {\n\n\tconstructor( object ) {\n\n\t\tconst bones = getBoneList( object );\n\n\t\tconst geometry = new BufferGeometry();\n\n\t\tconst vertices = [];\n\t\tconst colors = [];\n\n\t\tconst color1 = new Color( 0, 0, 1 );\n\t\tconst color2 = new Color( 0, 1, 0 );\n\n\t\tfor ( let i = 0; i < bones.length; i ++ ) {\n\n\t\t\tconst bone = bones[ i ];\n\n\t\t\tif ( bone.parent && bone.parent.isBone ) {\n\n\t\t\t\tvertices.push( 0, 0, 0 );\n\t\t\t\tvertices.push( 0, 0, 0 );\n\t\t\t\tcolors.push( color1.r, color1.g, color1.b );\n\t\t\t\tcolors.push( color2.r, color2.g, color2.b );\n\n\t\t\t}\n\n\t\t}\n\n\t\tgeometry.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tgeometry.setAttribute( 'color', new Float32BufferAttribute( colors, 3 ) );\n\n\t\tconst material = new LineBasicMaterial( { vertexColors: true, depthTest: false, depthWrite: false, toneMapped: false, transparent: true } );\n\n\t\tsuper( geometry, material );\n\n\t\tthis.isSkeletonHelper = true;\n\n\t\tthis.type = 'SkeletonHelper';\n\n\t\tthis.root = object;\n\t\tthis.bones = bones;\n\n\t\tthis.matrix = object.matrixWorld;\n\t\tthis.matrixAutoUpdate = false;\n\n\t}\n\n\tupdateMatrixWorld( force ) {\n\n\t\tconst bones = this.bones;\n\n\t\tconst geometry = this.geometry;\n\t\tconst position = geometry.getAttribute( 'position' );\n\n\t\t_matrixWorldInv.copy( this.root.matrixWorld ).invert();\n\n\t\tfor ( let i = 0, j = 0; i < bones.length; i ++ ) {\n\n\t\t\tconst bone = bones[ i ];\n\n\t\t\tif ( bone.parent && bone.parent.isBone ) {\n\n\t\t\t\t_boneMatrix.multiplyMatrices( _matrixWorldInv, bone.matrixWorld );\n\t\t\t\t_vector$2.setFromMatrixPosition( _boneMatrix );\n\t\t\t\tposition.setXYZ( j, _vector$2.x, _vector$2.y, _vector$2.z );\n\n\t\t\t\t_boneMatrix.multiplyMatrices( _matrixWorldInv, bone.parent.matrixWorld );\n\t\t\t\t_vector$2.setFromMatrixPosition( _boneMatrix );\n\t\t\t\tposition.setXYZ( j + 1, _vector$2.x, _vector$2.y, _vector$2.z );\n\n\t\t\t\tj += 2;\n\n\t\t\t}\n\n\t\t}\n\n\t\tgeometry.getAttribute( 'position' ).needsUpdate = true;\n\n\t\tsuper.updateMatrixWorld( force );\n\n\t}\n\n}\n\n\nfunction getBoneList( object ) {\n\n\tconst boneList = [];\n\n\tif ( object.isBone === true ) {\n\n\t\tboneList.push( object );\n\n\t}\n\n\tfor ( let i = 0; i < object.children.length; i ++ ) {\n\n\t\tboneList.push.apply( boneList, getBoneList( object.children[ i ] ) );\n\n\t}\n\n\treturn boneList;\n\n}\n\nclass PointLightHelper extends Mesh {\n\n\tconstructor( light, sphereSize, color ) {\n\n\t\tconst geometry = new SphereGeometry( sphereSize, 4, 2 );\n\t\tconst material = new MeshBasicMaterial( { wireframe: true, fog: false, toneMapped: false } );\n\n\t\tsuper( geometry, material );\n\n\t\tthis.light = light;\n\t\tthis.light.updateMatrixWorld();\n\n\t\tthis.color = color;\n\n\t\tthis.type = 'PointLightHelper';\n\n\t\tthis.matrix = this.light.matrixWorld;\n\t\tthis.matrixAutoUpdate = false;\n\n\t\tthis.update();\n\n\n\t\t/*\n\t// TODO: delete this comment?\n\tconst distanceGeometry = new THREE.IcosahedronGeometry( 1, 2 );\n\tconst distanceMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false, wireframe: true, opacity: 0.1, transparent: true } );\n\n\tthis.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial );\n\tthis.lightDistance = new THREE.Mesh( distanceGeometry, distanceMaterial );\n\n\tconst d = light.distance;\n\n\tif ( d === 0.0 ) {\n\n\t\tthis.lightDistance.visible = false;\n\n\t} else {\n\n\t\tthis.lightDistance.scale.set( d, d, d );\n\n\t}\n\n\tthis.add( this.lightDistance );\n\t*/\n\n\t}\n\n\tdispose() {\n\n\t\tthis.geometry.dispose();\n\t\tthis.material.dispose();\n\n\t}\n\n\tupdate() {\n\n\t\tif ( this.color !== undefined ) {\n\n\t\t\tthis.material.color.set( this.color );\n\n\t\t} else {\n\n\t\t\tthis.material.color.copy( this.light.color );\n\n\t\t}\n\n\t\t/*\n\t\tconst d = this.light.distance;\n\n\t\tif ( d === 0.0 ) {\n\n\t\t\tthis.lightDistance.visible = false;\n\n\t\t} else {\n\n\t\t\tthis.lightDistance.visible = true;\n\t\t\tthis.lightDistance.scale.set( d, d, d );\n\n\t\t}\n\t\t*/\n\n\t}\n\n}\n\nconst _vector$1 = /*@__PURE__*/ new Vector3();\nconst _color1 = /*@__PURE__*/ new Color();\nconst _color2 = /*@__PURE__*/ new Color();\n\nclass HemisphereLightHelper extends Object3D {\n\n\tconstructor( light, size, color ) {\n\n\t\tsuper();\n\n\t\tthis.light = light;\n\t\tthis.light.updateMatrixWorld();\n\n\t\tthis.matrix = light.matrixWorld;\n\t\tthis.matrixAutoUpdate = false;\n\n\t\tthis.color = color;\n\n\t\tconst geometry = new OctahedronGeometry( size );\n\t\tgeometry.rotateY( Math.PI * 0.5 );\n\n\t\tthis.material = new MeshBasicMaterial( { wireframe: true, fog: false, toneMapped: false } );\n\t\tif ( this.color === undefined ) this.material.vertexColors = true;\n\n\t\tconst position = geometry.getAttribute( 'position' );\n\t\tconst colors = new Float32Array( position.count * 3 );\n\n\t\tgeometry.setAttribute( 'color', new BufferAttribute( colors, 3 ) );\n\n\t\tthis.add( new Mesh( geometry, this.material ) );\n\n\t\tthis.update();\n\n\t}\n\n\tdispose() {\n\n\t\tthis.children[ 0 ].geometry.dispose();\n\t\tthis.children[ 0 ].material.dispose();\n\n\t}\n\n\tupdate() {\n\n\t\tconst mesh = this.children[ 0 ];\n\n\t\tif ( this.color !== undefined ) {\n\n\t\t\tthis.material.color.set( this.color );\n\n\t\t} else {\n\n\t\t\tconst colors = mesh.geometry.getAttribute( 'color' );\n\n\t\t\t_color1.copy( this.light.color );\n\t\t\t_color2.copy( this.light.groundColor );\n\n\t\t\tfor ( let i = 0, l = colors.count; i < l; i ++ ) {\n\n\t\t\t\tconst color = ( i < ( l / 2 ) ) ? _color1 : _color2;\n\n\t\t\t\tcolors.setXYZ( i, color.r, color.g, color.b );\n\n\t\t\t}\n\n\t\t\tcolors.needsUpdate = true;\n\n\t\t}\n\n\t\tmesh.lookAt( _vector$1.setFromMatrixPosition( this.light.matrixWorld ).negate() );\n\n\t}\n\n}\n\nclass GridHelper extends LineSegments {\n\n\tconstructor( size = 10, divisions = 10, color1 = 0x444444, color2 = 0x888888 ) {\n\n\t\tcolor1 = new Color( color1 );\n\t\tcolor2 = new Color( color2 );\n\n\t\tconst center = divisions / 2;\n\t\tconst step = size / divisions;\n\t\tconst halfSize = size / 2;\n\n\t\tconst vertices = [], colors = [];\n\n\t\tfor ( let i = 0, j = 0, k = - halfSize; i <= divisions; i ++, k += step ) {\n\n\t\t\tvertices.push( - halfSize, 0, k, halfSize, 0, k );\n\t\t\tvertices.push( k, 0, - halfSize, k, 0, halfSize );\n\n\t\t\tconst color = i === center ? color1 : color2;\n\n\t\t\tcolor.toArray( colors, j ); j += 3;\n\t\t\tcolor.toArray( colors, j ); j += 3;\n\t\t\tcolor.toArray( colors, j ); j += 3;\n\t\t\tcolor.toArray( colors, j ); j += 3;\n\n\t\t}\n\n\t\tconst geometry = new BufferGeometry();\n\t\tgeometry.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tgeometry.setAttribute( 'color', new Float32BufferAttribute( colors, 3 ) );\n\n\t\tconst material = new LineBasicMaterial( { vertexColors: true, toneMapped: false } );\n\n\t\tsuper( geometry, material );\n\n\t\tthis.type = 'GridHelper';\n\n\t}\n\n}\n\nclass PolarGridHelper extends LineSegments {\n\n\tconstructor( radius = 10, radials = 16, circles = 8, divisions = 64, color1 = 0x444444, color2 = 0x888888 ) {\n\n\t\tcolor1 = new Color( color1 );\n\t\tcolor2 = new Color( color2 );\n\n\t\tconst vertices = [];\n\t\tconst colors = [];\n\n\t\t// create the radials\n\n\t\tfor ( let i = 0; i <= radials; i ++ ) {\n\n\t\t\tconst v = ( i / radials ) * ( Math.PI * 2 );\n\n\t\t\tconst x = Math.sin( v ) * radius;\n\t\t\tconst z = Math.cos( v ) * radius;\n\n\t\t\tvertices.push( 0, 0, 0 );\n\t\t\tvertices.push( x, 0, z );\n\n\t\t\tconst color = ( i & 1 ) ? color1 : color2;\n\n\t\t\tcolors.push( color.r, color.g, color.b );\n\t\t\tcolors.push( color.r, color.g, color.b );\n\n\t\t}\n\n\t\t// create the circles\n\n\t\tfor ( let i = 0; i <= circles; i ++ ) {\n\n\t\t\tconst color = ( i & 1 ) ? color1 : color2;\n\n\t\t\tconst r = radius - ( radius / circles * i );\n\n\t\t\tfor ( let j = 0; j < divisions; j ++ ) {\n\n\t\t\t\t// first vertex\n\n\t\t\t\tlet v = ( j / divisions ) * ( Math.PI * 2 );\n\n\t\t\t\tlet x = Math.sin( v ) * r;\n\t\t\t\tlet z = Math.cos( v ) * r;\n\n\t\t\t\tvertices.push( x, 0, z );\n\t\t\t\tcolors.push( color.r, color.g, color.b );\n\n\t\t\t\t// second vertex\n\n\t\t\t\tv = ( ( j + 1 ) / divisions ) * ( Math.PI * 2 );\n\n\t\t\t\tx = Math.sin( v ) * r;\n\t\t\t\tz = Math.cos( v ) * r;\n\n\t\t\t\tvertices.push( x, 0, z );\n\t\t\t\tcolors.push( color.r, color.g, color.b );\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst geometry = new BufferGeometry();\n\t\tgeometry.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tgeometry.setAttribute( 'color', new Float32BufferAttribute( colors, 3 ) );\n\n\t\tconst material = new LineBasicMaterial( { vertexColors: true, toneMapped: false } );\n\n\t\tsuper( geometry, material );\n\n\t\tthis.type = 'PolarGridHelper';\n\n\t}\n\n}\n\nconst _v1 = /*@__PURE__*/ new Vector3();\nconst _v2 = /*@__PURE__*/ new Vector3();\nconst _v3 = /*@__PURE__*/ new Vector3();\n\nclass DirectionalLightHelper extends Object3D {\n\n\tconstructor( light, size, color ) {\n\n\t\tsuper();\n\n\t\tthis.light = light;\n\t\tthis.light.updateMatrixWorld();\n\n\t\tthis.matrix = light.matrixWorld;\n\t\tthis.matrixAutoUpdate = false;\n\n\t\tthis.color = color;\n\n\t\tif ( size === undefined ) size = 1;\n\n\t\tlet geometry = new BufferGeometry();\n\t\tgeometry.setAttribute( 'position', new Float32BufferAttribute( [\n\t\t\t- size, size, 0,\n\t\t\tsize, size, 0,\n\t\t\tsize, - size, 0,\n\t\t\t- size, - size, 0,\n\t\t\t- size, size, 0\n\t\t], 3 ) );\n\n\t\tconst material = new LineBasicMaterial( { fog: false, toneMapped: false } );\n\n\t\tthis.lightPlane = new Line( geometry, material );\n\t\tthis.add( this.lightPlane );\n\n\t\tgeometry = new BufferGeometry();\n\t\tgeometry.setAttribute( 'position', new Float32BufferAttribute( [ 0, 0, 0, 0, 0, 1 ], 3 ) );\n\n\t\tthis.targetLine = new Line( geometry, material );\n\t\tthis.add( this.targetLine );\n\n\t\tthis.update();\n\n\t}\n\n\tdispose() {\n\n\t\tthis.lightPlane.geometry.dispose();\n\t\tthis.lightPlane.material.dispose();\n\t\tthis.targetLine.geometry.dispose();\n\t\tthis.targetLine.material.dispose();\n\n\t}\n\n\tupdate() {\n\n\t\t_v1.setFromMatrixPosition( this.light.matrixWorld );\n\t\t_v2.setFromMatrixPosition( this.light.target.matrixWorld );\n\t\t_v3.subVectors( _v2, _v1 );\n\n\t\tthis.lightPlane.lookAt( _v2 );\n\n\t\tif ( this.color !== undefined ) {\n\n\t\t\tthis.lightPlane.material.color.set( this.color );\n\t\t\tthis.targetLine.material.color.set( this.color );\n\n\t\t} else {\n\n\t\t\tthis.lightPlane.material.color.copy( this.light.color );\n\t\t\tthis.targetLine.material.color.copy( this.light.color );\n\n\t\t}\n\n\t\tthis.targetLine.lookAt( _v2 );\n\t\tthis.targetLine.scale.z = _v3.length();\n\n\t}\n\n}\n\nconst _vector = /*@__PURE__*/ new Vector3();\nconst _camera = /*@__PURE__*/ new Camera();\n\n/**\n *\t- shows frustum, line of sight and up of the camera\n *\t- suitable for fast updates\n * \t- based on frustum visualization in lightgl.js shadowmap example\n *\t\thttps://github.com/evanw/lightgl.js/blob/master/tests/shadowmap.html\n */\n\nclass CameraHelper extends LineSegments {\n\n\tconstructor( camera ) {\n\n\t\tconst geometry = new BufferGeometry();\n\t\tconst material = new LineBasicMaterial( { color: 0xffffff, vertexColors: true, toneMapped: false } );\n\n\t\tconst vertices = [];\n\t\tconst colors = [];\n\n\t\tconst pointMap = {};\n\n\t\t// near\n\n\t\taddLine( 'n1', 'n2' );\n\t\taddLine( 'n2', 'n4' );\n\t\taddLine( 'n4', 'n3' );\n\t\taddLine( 'n3', 'n1' );\n\n\t\t// far\n\n\t\taddLine( 'f1', 'f2' );\n\t\taddLine( 'f2', 'f4' );\n\t\taddLine( 'f4', 'f3' );\n\t\taddLine( 'f3', 'f1' );\n\n\t\t// sides\n\n\t\taddLine( 'n1', 'f1' );\n\t\taddLine( 'n2', 'f2' );\n\t\taddLine( 'n3', 'f3' );\n\t\taddLine( 'n4', 'f4' );\n\n\t\t// cone\n\n\t\taddLine( 'p', 'n1' );\n\t\taddLine( 'p', 'n2' );\n\t\taddLine( 'p', 'n3' );\n\t\taddLine( 'p', 'n4' );\n\n\t\t// up\n\n\t\taddLine( 'u1', 'u2' );\n\t\taddLine( 'u2', 'u3' );\n\t\taddLine( 'u3', 'u1' );\n\n\t\t// target\n\n\t\taddLine( 'c', 't' );\n\t\taddLine( 'p', 'c' );\n\n\t\t// cross\n\n\t\taddLine( 'cn1', 'cn2' );\n\t\taddLine( 'cn3', 'cn4' );\n\n\t\taddLine( 'cf1', 'cf2' );\n\t\taddLine( 'cf3', 'cf4' );\n\n\t\tfunction addLine( a, b ) {\n\n\t\t\taddPoint( a );\n\t\t\taddPoint( b );\n\n\t\t}\n\n\t\tfunction addPoint( id ) {\n\n\t\t\tvertices.push( 0, 0, 0 );\n\t\t\tcolors.push( 0, 0, 0 );\n\n\t\t\tif ( pointMap[ id ] === undefined ) {\n\n\t\t\t\tpointMap[ id ] = [];\n\n\t\t\t}\n\n\t\t\tpointMap[ id ].push( ( vertices.length / 3 ) - 1 );\n\n\t\t}\n\n\t\tgeometry.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tgeometry.setAttribute( 'color', new Float32BufferAttribute( colors, 3 ) );\n\n\t\tsuper( geometry, material );\n\n\t\tthis.type = 'CameraHelper';\n\n\t\tthis.camera = camera;\n\t\tif ( this.camera.updateProjectionMatrix ) this.camera.updateProjectionMatrix();\n\n\t\tthis.matrix = camera.matrixWorld;\n\t\tthis.matrixAutoUpdate = false;\n\n\t\tthis.pointMap = pointMap;\n\n\t\tthis.update();\n\n\t\t// colors\n\n\t\tconst colorFrustum = new Color( 0xffaa00 );\n\t\tconst colorCone = new Color( 0xff0000 );\n\t\tconst colorUp = new Color( 0x00aaff );\n\t\tconst colorTarget = new Color( 0xffffff );\n\t\tconst colorCross = new Color( 0x333333 );\n\n\t\tthis.setColors( colorFrustum, colorCone, colorUp, colorTarget, colorCross );\n\n\t}\n\n\tsetColors( frustum, cone, up, target, cross ) {\n\n\t\tconst geometry = this.geometry;\n\n\t\tconst colorAttribute = geometry.getAttribute( 'color' );\n\n\t\t// near\n\n\t\tcolorAttribute.setXYZ( 0, frustum.r, frustum.g, frustum.b ); colorAttribute.setXYZ( 1, frustum.r, frustum.g, frustum.b ); // n1, n2\n\t\tcolorAttribute.setXYZ( 2, frustum.r, frustum.g, frustum.b ); colorAttribute.setXYZ( 3, frustum.r, frustum.g, frustum.b ); // n2, n4\n\t\tcolorAttribute.setXYZ( 4, frustum.r, frustum.g, frustum.b ); colorAttribute.setXYZ( 5, frustum.r, frustum.g, frustum.b ); // n4, n3\n\t\tcolorAttribute.setXYZ( 6, frustum.r, frustum.g, frustum.b ); colorAttribute.setXYZ( 7, frustum.r, frustum.g, frustum.b ); // n3, n1\n\n\t\t// far\n\n\t\tcolorAttribute.setXYZ( 8, frustum.r, frustum.g, frustum.b ); colorAttribute.setXYZ( 9, frustum.r, frustum.g, frustum.b ); // f1, f2\n\t\tcolorAttribute.setXYZ( 10, frustum.r, frustum.g, frustum.b ); colorAttribute.setXYZ( 11, frustum.r, frustum.g, frustum.b ); // f2, f4\n\t\tcolorAttribute.setXYZ( 12, frustum.r, frustum.g, frustum.b ); colorAttribute.setXYZ( 13, frustum.r, frustum.g, frustum.b ); // f4, f3\n\t\tcolorAttribute.setXYZ( 14, frustum.r, frustum.g, frustum.b ); colorAttribute.setXYZ( 15, frustum.r, frustum.g, frustum.b ); // f3, f1\n\n\t\t// sides\n\n\t\tcolorAttribute.setXYZ( 16, frustum.r, frustum.g, frustum.b ); colorAttribute.setXYZ( 17, frustum.r, frustum.g, frustum.b ); // n1, f1\n\t\tcolorAttribute.setXYZ( 18, frustum.r, frustum.g, frustum.b ); colorAttribute.setXYZ( 19, frustum.r, frustum.g, frustum.b ); // n2, f2\n\t\tcolorAttribute.setXYZ( 20, frustum.r, frustum.g, frustum.b ); colorAttribute.setXYZ( 21, frustum.r, frustum.g, frustum.b ); // n3, f3\n\t\tcolorAttribute.setXYZ( 22, frustum.r, frustum.g, frustum.b ); colorAttribute.setXYZ( 23, frustum.r, frustum.g, frustum.b ); // n4, f4\n\n\t\t// cone\n\n\t\tcolorAttribute.setXYZ( 24, cone.r, cone.g, cone.b ); colorAttribute.setXYZ( 25, cone.r, cone.g, cone.b ); // p, n1\n\t\tcolorAttribute.setXYZ( 26, cone.r, cone.g, cone.b ); colorAttribute.setXYZ( 27, cone.r, cone.g, cone.b ); // p, n2\n\t\tcolorAttribute.setXYZ( 28, cone.r, cone.g, cone.b ); colorAttribute.setXYZ( 29, cone.r, cone.g, cone.b ); // p, n3\n\t\tcolorAttribute.setXYZ( 30, cone.r, cone.g, cone.b ); colorAttribute.setXYZ( 31, cone.r, cone.g, cone.b ); // p, n4\n\n\t\t// up\n\n\t\tcolorAttribute.setXYZ( 32, up.r, up.g, up.b ); colorAttribute.setXYZ( 33, up.r, up.g, up.b ); // u1, u2\n\t\tcolorAttribute.setXYZ( 34, up.r, up.g, up.b ); colorAttribute.setXYZ( 35, up.r, up.g, up.b ); // u2, u3\n\t\tcolorAttribute.setXYZ( 36, up.r, up.g, up.b ); colorAttribute.setXYZ( 37, up.r, up.g, up.b ); // u3, u1\n\n\t\t// target\n\n\t\tcolorAttribute.setXYZ( 38, target.r, target.g, target.b ); colorAttribute.setXYZ( 39, target.r, target.g, target.b ); // c, t\n\t\tcolorAttribute.setXYZ( 40, cross.r, cross.g, cross.b ); colorAttribute.setXYZ( 41, cross.r, cross.g, cross.b ); // p, c\n\n\t\t// cross\n\n\t\tcolorAttribute.setXYZ( 42, cross.r, cross.g, cross.b ); colorAttribute.setXYZ( 43, cross.r, cross.g, cross.b ); // cn1, cn2\n\t\tcolorAttribute.setXYZ( 44, cross.r, cross.g, cross.b ); colorAttribute.setXYZ( 45, cross.r, cross.g, cross.b ); // cn3, cn4\n\n\t\tcolorAttribute.setXYZ( 46, cross.r, cross.g, cross.b ); colorAttribute.setXYZ( 47, cross.r, cross.g, cross.b ); // cf1, cf2\n\t\tcolorAttribute.setXYZ( 48, cross.r, cross.g, cross.b ); colorAttribute.setXYZ( 49, cross.r, cross.g, cross.b ); // cf3, cf4\n\n\t\tcolorAttribute.needsUpdate = true;\n\n\t}\n\n\tupdate() {\n\n\t\tconst geometry = this.geometry;\n\t\tconst pointMap = this.pointMap;\n\n\t\tconst w = 1, h = 1;\n\n\t\t// we need just camera projection matrix inverse\n\t\t// world matrix must be identity\n\n\t\t_camera.projectionMatrixInverse.copy( this.camera.projectionMatrixInverse );\n\n\t\t// center / target\n\n\t\tsetPoint( 'c', pointMap, geometry, _camera, 0, 0, - 1 );\n\t\tsetPoint( 't', pointMap, geometry, _camera, 0, 0, 1 );\n\n\t\t// near\n\n\t\tsetPoint( 'n1', pointMap, geometry, _camera, - w, - h, - 1 );\n\t\tsetPoint( 'n2', pointMap, geometry, _camera, w, - h, - 1 );\n\t\tsetPoint( 'n3', pointMap, geometry, _camera, - w, h, - 1 );\n\t\tsetPoint( 'n4', pointMap, geometry, _camera, w, h, - 1 );\n\n\t\t// far\n\n\t\tsetPoint( 'f1', pointMap, geometry, _camera, - w, - h, 1 );\n\t\tsetPoint( 'f2', pointMap, geometry, _camera, w, - h, 1 );\n\t\tsetPoint( 'f3', pointMap, geometry, _camera, - w, h, 1 );\n\t\tsetPoint( 'f4', pointMap, geometry, _camera, w, h, 1 );\n\n\t\t// up\n\n\t\tsetPoint( 'u1', pointMap, geometry, _camera, w * 0.7, h * 1.1, - 1 );\n\t\tsetPoint( 'u2', pointMap, geometry, _camera, - w * 0.7, h * 1.1, - 1 );\n\t\tsetPoint( 'u3', pointMap, geometry, _camera, 0, h * 2, - 1 );\n\n\t\t// cross\n\n\t\tsetPoint( 'cf1', pointMap, geometry, _camera, - w, 0, 1 );\n\t\tsetPoint( 'cf2', pointMap, geometry, _camera, w, 0, 1 );\n\t\tsetPoint( 'cf3', pointMap, geometry, _camera, 0, - h, 1 );\n\t\tsetPoint( 'cf4', pointMap, geometry, _camera, 0, h, 1 );\n\n\t\tsetPoint( 'cn1', pointMap, geometry, _camera, - w, 0, - 1 );\n\t\tsetPoint( 'cn2', pointMap, geometry, _camera, w, 0, - 1 );\n\t\tsetPoint( 'cn3', pointMap, geometry, _camera, 0, - h, - 1 );\n\t\tsetPoint( 'cn4', pointMap, geometry, _camera, 0, h, - 1 );\n\n\t\tgeometry.getAttribute( 'position' ).needsUpdate = true;\n\n\t}\n\n\tdispose() {\n\n\t\tthis.geometry.dispose();\n\t\tthis.material.dispose();\n\n\t}\n\n}\n\n\nfunction setPoint( point, pointMap, geometry, camera, x, y, z ) {\n\n\t_vector.set( x, y, z ).unproject( camera );\n\n\tconst points = pointMap[ point ];\n\n\tif ( points !== undefined ) {\n\n\t\tconst position = geometry.getAttribute( 'position' );\n\n\t\tfor ( let i = 0, l = points.length; i < l; i ++ ) {\n\n\t\t\tposition.setXYZ( points[ i ], _vector.x, _vector.y, _vector.z );\n\n\t\t}\n\n\t}\n\n}\n\nconst _box = /*@__PURE__*/ new Box3();\n\nclass BoxHelper extends LineSegments {\n\n\tconstructor( object, color = 0xffff00 ) {\n\n\t\tconst indices = new Uint16Array( [ 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7 ] );\n\t\tconst positions = new Float32Array( 8 * 3 );\n\n\t\tconst geometry = new BufferGeometry();\n\t\tgeometry.setIndex( new BufferAttribute( indices, 1 ) );\n\t\tgeometry.setAttribute( 'position', new BufferAttribute( positions, 3 ) );\n\n\t\tsuper( geometry, new LineBasicMaterial( { color: color, toneMapped: false } ) );\n\n\t\tthis.object = object;\n\t\tthis.type = 'BoxHelper';\n\n\t\tthis.matrixAutoUpdate = false;\n\n\t\tthis.update();\n\n\t}\n\n\tupdate( object ) {\n\n\t\tif ( object !== undefined ) {\n\n\t\t\tconsole.warn( 'THREE.BoxHelper: .update() has no longer arguments.' );\n\n\t\t}\n\n\t\tif ( this.object !== undefined ) {\n\n\t\t\t_box.setFromObject( this.object );\n\n\t\t}\n\n\t\tif ( _box.isEmpty() ) return;\n\n\t\tconst min = _box.min;\n\t\tconst max = _box.max;\n\n\t\t/*\n\t\t\t5____4\n\t\t1/___0/|\n\t\t| 6__|_7\n\t\t2/___3/\n\n\t\t0: max.x, max.y, max.z\n\t\t1: min.x, max.y, max.z\n\t\t2: min.x, min.y, max.z\n\t\t3: max.x, min.y, max.z\n\t\t4: max.x, max.y, min.z\n\t\t5: min.x, max.y, min.z\n\t\t6: min.x, min.y, min.z\n\t\t7: max.x, min.y, min.z\n\t\t*/\n\n\t\tconst position = this.geometry.attributes.position;\n\t\tconst array = position.array;\n\n\t\tarray[ 0 ] = max.x; array[ 1 ] = max.y; array[ 2 ] = max.z;\n\t\tarray[ 3 ] = min.x; array[ 4 ] = max.y; array[ 5 ] = max.z;\n\t\tarray[ 6 ] = min.x; array[ 7 ] = min.y; array[ 8 ] = max.z;\n\t\tarray[ 9 ] = max.x; array[ 10 ] = min.y; array[ 11 ] = max.z;\n\t\tarray[ 12 ] = max.x; array[ 13 ] = max.y; array[ 14 ] = min.z;\n\t\tarray[ 15 ] = min.x; array[ 16 ] = max.y; array[ 17 ] = min.z;\n\t\tarray[ 18 ] = min.x; array[ 19 ] = min.y; array[ 20 ] = min.z;\n\t\tarray[ 21 ] = max.x; array[ 22 ] = min.y; array[ 23 ] = min.z;\n\n\t\tposition.needsUpdate = true;\n\n\t\tthis.geometry.computeBoundingSphere();\n\n\n\t}\n\n\tsetFromObject( object ) {\n\n\t\tthis.object = object;\n\t\tthis.update();\n\n\t\treturn this;\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.object = source.object;\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass Box3Helper extends LineSegments {\n\n\tconstructor( box, color = 0xffff00 ) {\n\n\t\tconst indices = new Uint16Array( [ 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7 ] );\n\n\t\tconst positions = [ 1, 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, - 1, 1, 1, 1, - 1, - 1, 1, - 1, - 1, - 1, - 1, 1, - 1, - 1 ];\n\n\t\tconst geometry = new BufferGeometry();\n\n\t\tgeometry.setIndex( new BufferAttribute( indices, 1 ) );\n\n\t\tgeometry.setAttribute( 'position', new Float32BufferAttribute( positions, 3 ) );\n\n\t\tsuper( geometry, new LineBasicMaterial( { color: color, toneMapped: false } ) );\n\n\t\tthis.box = box;\n\n\t\tthis.type = 'Box3Helper';\n\n\t\tthis.geometry.computeBoundingSphere();\n\n\t}\n\n\tupdateMatrixWorld( force ) {\n\n\t\tconst box = this.box;\n\n\t\tif ( box.isEmpty() ) return;\n\n\t\tbox.getCenter( this.position );\n\n\t\tbox.getSize( this.scale );\n\n\t\tthis.scale.multiplyScalar( 0.5 );\n\n\t\tsuper.updateMatrixWorld( force );\n\n\t}\n\n}\n\nclass PlaneHelper extends Line {\n\n\tconstructor( plane, size = 1, hex = 0xffff00 ) {\n\n\t\tconst color = hex;\n\n\t\tconst positions = [ 1, - 1, 0, - 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, 1, 0, - 1, - 1, 0, 1, - 1, 0, 1, 1, 0 ];\n\n\t\tconst geometry = new BufferGeometry();\n\t\tgeometry.setAttribute( 'position', new Float32BufferAttribute( positions, 3 ) );\n\t\tgeometry.computeBoundingSphere();\n\n\t\tsuper( geometry, new LineBasicMaterial( { color: color, toneMapped: false } ) );\n\n\t\tthis.type = 'PlaneHelper';\n\n\t\tthis.plane = plane;\n\n\t\tthis.size = size;\n\n\t\tconst positions2 = [ 1, 1, 0, - 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, - 1, 0 ];\n\n\t\tconst geometry2 = new BufferGeometry();\n\t\tgeometry2.setAttribute( 'position', new Float32BufferAttribute( positions2, 3 ) );\n\t\tgeometry2.computeBoundingSphere();\n\n\t\tthis.add( new Mesh( geometry2, new MeshBasicMaterial( { color: color, opacity: 0.2, transparent: true, depthWrite: false, toneMapped: false } ) ) );\n\n\t}\n\n\tupdateMatrixWorld( force ) {\n\n\t\tthis.position.set( 0, 0, 0 );\n\n\t\tthis.scale.set( 0.5 * this.size, 0.5 * this.size, 1 );\n\n\t\tthis.lookAt( this.plane.normal );\n\n\t\tthis.translateZ( - this.plane.constant );\n\n\t\tsuper.updateMatrixWorld( force );\n\n\t}\n\n}\n\nconst _axis = /*@__PURE__*/ new Vector3();\nlet _lineGeometry, _coneGeometry;\n\nclass ArrowHelper extends Object3D {\n\n\t// dir is assumed to be normalized\n\n\tconstructor( dir = new Vector3( 0, 0, 1 ), origin = new Vector3( 0, 0, 0 ), length = 1, color = 0xffff00, headLength = length * 0.2, headWidth = headLength * 0.2 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'ArrowHelper';\n\n\t\tif ( _lineGeometry === undefined ) {\n\n\t\t\t_lineGeometry = new BufferGeometry();\n\t\t\t_lineGeometry.setAttribute( 'position', new Float32BufferAttribute( [ 0, 0, 0, 0, 1, 0 ], 3 ) );\n\n\t\t\t_coneGeometry = new CylinderGeometry( 0, 0.5, 1, 5, 1 );\n\t\t\t_coneGeometry.translate( 0, - 0.5, 0 );\n\n\t\t}\n\n\t\tthis.position.copy( origin );\n\n\t\tthis.line = new Line( _lineGeometry, new LineBasicMaterial( { color: color, toneMapped: false } ) );\n\t\tthis.line.matrixAutoUpdate = false;\n\t\tthis.add( this.line );\n\n\t\tthis.cone = new Mesh( _coneGeometry, new MeshBasicMaterial( { color: color, toneMapped: false } ) );\n\t\tthis.cone.matrixAutoUpdate = false;\n\t\tthis.add( this.cone );\n\n\t\tthis.setDirection( dir );\n\t\tthis.setLength( length, headLength, headWidth );\n\n\t}\n\n\tsetDirection( dir ) {\n\n\t\t// dir is assumed to be normalized\n\n\t\tif ( dir.y > 0.99999 ) {\n\n\t\t\tthis.quaternion.set( 0, 0, 0, 1 );\n\n\t\t} else if ( dir.y < - 0.99999 ) {\n\n\t\t\tthis.quaternion.set( 1, 0, 0, 0 );\n\n\t\t} else {\n\n\t\t\t_axis.set( dir.z, 0, - dir.x ).normalize();\n\n\t\t\tconst radians = Math.acos( dir.y );\n\n\t\t\tthis.quaternion.setFromAxisAngle( _axis, radians );\n\n\t\t}\n\n\t}\n\n\tsetLength( length, headLength = length * 0.2, headWidth = headLength * 0.2 ) {\n\n\t\tthis.line.scale.set( 1, Math.max( 0.0001, length - headLength ), 1 ); // see #17458\n\t\tthis.line.updateMatrix();\n\n\t\tthis.cone.scale.set( headWidth, headLength, headWidth );\n\t\tthis.cone.position.y = length;\n\t\tthis.cone.updateMatrix();\n\n\t}\n\n\tsetColor( color ) {\n\n\t\tthis.line.material.color.set( color );\n\t\tthis.cone.material.color.set( color );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source, false );\n\n\t\tthis.line.copy( source.line );\n\t\tthis.cone.copy( source.cone );\n\n\t\treturn this;\n\n\t}\n\n}\n\nclass AxesHelper extends LineSegments {\n\n\tconstructor( size = 1 ) {\n\n\t\tconst vertices = [\n\t\t\t0, 0, 0,\tsize, 0, 0,\n\t\t\t0, 0, 0,\t0, size, 0,\n\t\t\t0, 0, 0,\t0, 0, size\n\t\t];\n\n\t\tconst colors = [\n\t\t\t1, 0, 0,\t1, 0.6, 0,\n\t\t\t0, 1, 0,\t0.6, 1, 0,\n\t\t\t0, 0, 1,\t0, 0.6, 1\n\t\t];\n\n\t\tconst geometry = new BufferGeometry();\n\t\tgeometry.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tgeometry.setAttribute( 'color', new Float32BufferAttribute( colors, 3 ) );\n\n\t\tconst material = new LineBasicMaterial( { vertexColors: true, toneMapped: false } );\n\n\t\tsuper( geometry, material );\n\n\t\tthis.type = 'AxesHelper';\n\n\t}\n\n\tsetColors( xAxisColor, yAxisColor, zAxisColor ) {\n\n\t\tconst color = new Color();\n\t\tconst array = this.geometry.attributes.color.array;\n\n\t\tcolor.set( xAxisColor );\n\t\tcolor.toArray( array, 0 );\n\t\tcolor.toArray( array, 3 );\n\n\t\tcolor.set( yAxisColor );\n\t\tcolor.toArray( array, 6 );\n\t\tcolor.toArray( array, 9 );\n\n\t\tcolor.set( zAxisColor );\n\t\tcolor.toArray( array, 12 );\n\t\tcolor.toArray( array, 15 );\n\n\t\tthis.geometry.attributes.color.needsUpdate = true;\n\n\t\treturn this;\n\n\t}\n\n\tdispose() {\n\n\t\tthis.geometry.dispose();\n\t\tthis.material.dispose();\n\n\t}\n\n}\n\nclass ShapePath {\n\n\tconstructor() {\n\n\t\tthis.type = 'ShapePath';\n\n\t\tthis.color = new Color();\n\n\t\tthis.subPaths = [];\n\t\tthis.currentPath = null;\n\n\t}\n\n\tmoveTo( x, y ) {\n\n\t\tthis.currentPath = new Path();\n\t\tthis.subPaths.push( this.currentPath );\n\t\tthis.currentPath.moveTo( x, y );\n\n\t\treturn this;\n\n\t}\n\n\tlineTo( x, y ) {\n\n\t\tthis.currentPath.lineTo( x, y );\n\n\t\treturn this;\n\n\t}\n\n\tquadraticCurveTo( aCPx, aCPy, aX, aY ) {\n\n\t\tthis.currentPath.quadraticCurveTo( aCPx, aCPy, aX, aY );\n\n\t\treturn this;\n\n\t}\n\n\tbezierCurveTo( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ) {\n\n\t\tthis.currentPath.bezierCurveTo( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY );\n\n\t\treturn this;\n\n\t}\n\n\tsplineThru( pts ) {\n\n\t\tthis.currentPath.splineThru( pts );\n\n\t\treturn this;\n\n\t}\n\n\ttoShapes( isCCW, noHoles ) {\n\n\t\tfunction toShapesNoHoles( inSubpaths ) {\n\n\t\t\tconst shapes = [];\n\n\t\t\tfor ( let i = 0, l = inSubpaths.length; i < l; i ++ ) {\n\n\t\t\t\tconst tmpPath = inSubpaths[ i ];\n\n\t\t\t\tconst tmpShape = new Shape();\n\t\t\t\ttmpShape.curves = tmpPath.curves;\n\n\t\t\t\tshapes.push( tmpShape );\n\n\t\t\t}\n\n\t\t\treturn shapes;\n\n\t\t}\n\n\t\tfunction isPointInsidePolygon( inPt, inPolygon ) {\n\n\t\t\tconst polyLen = inPolygon.length;\n\n\t\t\t// inPt on polygon contour => immediate success or\n\t\t\t// toggling of inside/outside at every single! intersection point of an edge\n\t\t\t// with the horizontal line through inPt, left of inPt\n\t\t\t// not counting lowerY endpoints of edges and whole edges on that line\n\t\t\tlet inside = false;\n\t\t\tfor ( let p = polyLen - 1, q = 0; q < polyLen; p = q ++ ) {\n\n\t\t\t\tlet edgeLowPt = inPolygon[ p ];\n\t\t\t\tlet edgeHighPt = inPolygon[ q ];\n\n\t\t\t\tlet edgeDx = edgeHighPt.x - edgeLowPt.x;\n\t\t\t\tlet edgeDy = edgeHighPt.y - edgeLowPt.y;\n\n\t\t\t\tif ( Math.abs( edgeDy ) > Number.EPSILON ) {\n\n\t\t\t\t\t// not parallel\n\t\t\t\t\tif ( edgeDy < 0 ) {\n\n\t\t\t\t\t\tedgeLowPt = inPolygon[ q ]; edgeDx = - edgeDx;\n\t\t\t\t\t\tedgeHighPt = inPolygon[ p ]; edgeDy = - edgeDy;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ( inPt.y < edgeLowPt.y ) || ( inPt.y > edgeHighPt.y ) ) \t\tcontinue;\n\n\t\t\t\t\tif ( inPt.y === edgeLowPt.y ) {\n\n\t\t\t\t\t\tif ( inPt.x === edgeLowPt.x )\t\treturn\ttrue;\t\t// inPt is on contour ?\n\t\t\t\t\t\t// continue;\t\t\t\t// no intersection or edgeLowPt => doesn't count !!!\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tconst perpEdge = edgeDy * ( inPt.x - edgeLowPt.x ) - edgeDx * ( inPt.y - edgeLowPt.y );\n\t\t\t\t\t\tif ( perpEdge === 0 )\t\t\t\treturn\ttrue;\t\t// inPt is on contour ?\n\t\t\t\t\t\tif ( perpEdge < 0 ) \t\t\t\tcontinue;\n\t\t\t\t\t\tinside = ! inside;\t\t// true intersection left of inPt\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// parallel or collinear\n\t\t\t\t\tif ( inPt.y !== edgeLowPt.y ) \t\tcontinue;\t\t\t// parallel\n\t\t\t\t\t// edge lies on the same horizontal line as inPt\n\t\t\t\t\tif ( ( ( edgeHighPt.x <= inPt.x ) && ( inPt.x <= edgeLowPt.x ) ) ||\n\t\t\t\t\t\t ( ( edgeLowPt.x <= inPt.x ) && ( inPt.x <= edgeHighPt.x ) ) )\t\treturn\ttrue;\t// inPt: Point on contour !\n\t\t\t\t\t// continue;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\treturn\tinside;\n\n\t\t}\n\n\t\tconst isClockWise = ShapeUtils.isClockWise;\n\n\t\tconst subPaths = this.subPaths;\n\t\tif ( subPaths.length === 0 ) return [];\n\n\t\tif ( noHoles === true )\treturn\ttoShapesNoHoles( subPaths );\n\n\n\t\tlet solid, tmpPath, tmpShape;\n\t\tconst shapes = [];\n\n\t\tif ( subPaths.length === 1 ) {\n\n\t\t\ttmpPath = subPaths[ 0 ];\n\t\t\ttmpShape = new Shape();\n\t\t\ttmpShape.curves = tmpPath.curves;\n\t\t\tshapes.push( tmpShape );\n\t\t\treturn shapes;\n\n\t\t}\n\n\t\tlet holesFirst = ! isClockWise( subPaths[ 0 ].getPoints() );\n\t\tholesFirst = isCCW ? ! holesFirst : holesFirst;\n\n\t\t// console.log(\"Holes first\", holesFirst);\n\n\t\tconst betterShapeHoles = [];\n\t\tconst newShapes = [];\n\t\tlet newShapeHoles = [];\n\t\tlet mainIdx = 0;\n\t\tlet tmpPoints;\n\n\t\tnewShapes[ mainIdx ] = undefined;\n\t\tnewShapeHoles[ mainIdx ] = [];\n\n\t\tfor ( let i = 0, l = subPaths.length; i < l; i ++ ) {\n\n\t\t\ttmpPath = subPaths[ i ];\n\t\t\ttmpPoints = tmpPath.getPoints();\n\t\t\tsolid = isClockWise( tmpPoints );\n\t\t\tsolid = isCCW ? ! solid : solid;\n\n\t\t\tif ( solid ) {\n\n\t\t\t\tif ( ( ! holesFirst ) && ( newShapes[ mainIdx ] ) )\tmainIdx ++;\n\n\t\t\t\tnewShapes[ mainIdx ] = { s: new Shape(), p: tmpPoints };\n\t\t\t\tnewShapes[ mainIdx ].s.curves = tmpPath.curves;\n\n\t\t\t\tif ( holesFirst )\tmainIdx ++;\n\t\t\t\tnewShapeHoles[ mainIdx ] = [];\n\n\t\t\t\t//console.log('cw', i);\n\n\t\t\t} else {\n\n\t\t\t\tnewShapeHoles[ mainIdx ].push( { h: tmpPath, p: tmpPoints[ 0 ] } );\n\n\t\t\t\t//console.log('ccw', i);\n\n\t\t\t}\n\n\t\t}\n\n\t\t// only Holes? -> probably all Shapes with wrong orientation\n\t\tif ( ! newShapes[ 0 ] )\treturn\ttoShapesNoHoles( subPaths );\n\n\n\t\tif ( newShapes.length > 1 ) {\n\n\t\t\tlet ambiguous = false;\n\t\t\tlet toChange = 0;\n\n\t\t\tfor ( let sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx ++ ) {\n\n\t\t\t\tbetterShapeHoles[ sIdx ] = [];\n\n\t\t\t}\n\n\t\t\tfor ( let sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx ++ ) {\n\n\t\t\t\tconst sho = newShapeHoles[ sIdx ];\n\n\t\t\t\tfor ( let hIdx = 0; hIdx < sho.length; hIdx ++ ) {\n\n\t\t\t\t\tconst ho = sho[ hIdx ];\n\t\t\t\t\tlet hole_unassigned = true;\n\n\t\t\t\t\tfor ( let s2Idx = 0; s2Idx < newShapes.length; s2Idx ++ ) {\n\n\t\t\t\t\t\tif ( isPointInsidePolygon( ho.p, newShapes[ s2Idx ].p ) ) {\n\n\t\t\t\t\t\t\tif ( sIdx !== s2Idx )\ttoChange ++;\n\n\t\t\t\t\t\t\tif ( hole_unassigned ) {\n\n\t\t\t\t\t\t\t\thole_unassigned = false;\n\t\t\t\t\t\t\t\tbetterShapeHoles[ s2Idx ].push( ho );\n\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\tambiguous = true;\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( hole_unassigned ) {\n\n\t\t\t\t\t\tbetterShapeHoles[ sIdx ].push( ho );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( toChange > 0 && ambiguous === false ) {\n\n\t\t\t\tnewShapeHoles = betterShapeHoles;\n\n\t\t\t}\n\n\t\t}\n\n\t\tlet tmpHoles;\n\n\t\tfor ( let i = 0, il = newShapes.length; i < il; i ++ ) {\n\n\t\t\ttmpShape = newShapes[ i ].s;\n\t\t\tshapes.push( tmpShape );\n\t\t\ttmpHoles = newShapeHoles[ i ];\n\n\t\t\tfor ( let j = 0, jl = tmpHoles.length; j < jl; j ++ ) {\n\n\t\t\t\ttmpShape.holes.push( tmpHoles[ j ].h );\n\n\t\t\t}\n\n\t\t}\n\n\t\t//console.log(\"shape\", shapes);\n\n\t\treturn shapes;\n\n\t}\n\n}\n\n// Fast Half Float Conversions, http://www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf\n\nconst _tables = /*@__PURE__*/ _generateTables();\n\nfunction _generateTables() {\n\n\t// float32 to float16 helpers\n\n\tconst buffer = new ArrayBuffer( 4 );\n\tconst floatView = new Float32Array( buffer );\n\tconst uint32View = new Uint32Array( buffer );\n\n\tconst baseTable = new Uint32Array( 512 );\n\tconst shiftTable = new Uint32Array( 512 );\n\n\tfor ( let i = 0; i < 256; ++ i ) {\n\n\t\tconst e = i - 127;\n\n\t\t// very small number (0, -0)\n\n\t\tif ( e < - 27 ) {\n\n\t\t\tbaseTable[ i ] = 0x0000;\n\t\t\tbaseTable[ i | 0x100 ] = 0x8000;\n\t\t\tshiftTable[ i ] = 24;\n\t\t\tshiftTable[ i | 0x100 ] = 24;\n\n\t\t\t// small number (denorm)\n\n\t\t} else if ( e < - 14 ) {\n\n\t\t\tbaseTable[ i ] = 0x0400 >> ( - e - 14 );\n\t\t\tbaseTable[ i | 0x100 ] = ( 0x0400 >> ( - e - 14 ) ) | 0x8000;\n\t\t\tshiftTable[ i ] = - e - 1;\n\t\t\tshiftTable[ i | 0x100 ] = - e - 1;\n\n\t\t\t// normal number\n\n\t\t} else if ( e <= 15 ) {\n\n\t\t\tbaseTable[ i ] = ( e + 15 ) << 10;\n\t\t\tbaseTable[ i | 0x100 ] = ( ( e + 15 ) << 10 ) | 0x8000;\n\t\t\tshiftTable[ i ] = 13;\n\t\t\tshiftTable[ i | 0x100 ] = 13;\n\n\t\t\t// large number (Infinity, -Infinity)\n\n\t\t} else if ( e < 128 ) {\n\n\t\t\tbaseTable[ i ] = 0x7c00;\n\t\t\tbaseTable[ i | 0x100 ] = 0xfc00;\n\t\t\tshiftTable[ i ] = 24;\n\t\t\tshiftTable[ i | 0x100 ] = 24;\n\n\t\t\t// stay (NaN, Infinity, -Infinity)\n\n\t\t} else {\n\n\t\t\tbaseTable[ i ] = 0x7c00;\n\t\t\tbaseTable[ i | 0x100 ] = 0xfc00;\n\t\t\tshiftTable[ i ] = 13;\n\t\t\tshiftTable[ i | 0x100 ] = 13;\n\n\t\t}\n\n\t}\n\n\t// float16 to float32 helpers\n\n\tconst mantissaTable = new Uint32Array( 2048 );\n\tconst exponentTable = new Uint32Array( 64 );\n\tconst offsetTable = new Uint32Array( 64 );\n\n\tfor ( let i = 1; i < 1024; ++ i ) {\n\n\t\tlet m = i << 13; // zero pad mantissa bits\n\t\tlet e = 0; // zero exponent\n\n\t\t// normalized\n\t\twhile ( ( m & 0x00800000 ) === 0 ) {\n\n\t\t\tm <<= 1;\n\t\t\te -= 0x00800000; // decrement exponent\n\n\t\t}\n\n\t\tm &= ~ 0x00800000; // clear leading 1 bit\n\t\te += 0x38800000; // adjust bias\n\n\t\tmantissaTable[ i ] = m | e;\n\n\t}\n\n\tfor ( let i = 1024; i < 2048; ++ i ) {\n\n\t\tmantissaTable[ i ] = 0x38000000 + ( ( i - 1024 ) << 13 );\n\n\t}\n\n\tfor ( let i = 1; i < 31; ++ i ) {\n\n\t\texponentTable[ i ] = i << 23;\n\n\t}\n\n\texponentTable[ 31 ] = 0x47800000;\n\texponentTable[ 32 ] = 0x80000000;\n\n\tfor ( let i = 33; i < 63; ++ i ) {\n\n\t\texponentTable[ i ] = 0x80000000 + ( ( i - 32 ) << 23 );\n\n\t}\n\n\texponentTable[ 63 ] = 0xc7800000;\n\n\tfor ( let i = 1; i < 64; ++ i ) {\n\n\t\tif ( i !== 32 ) {\n\n\t\t\toffsetTable[ i ] = 1024;\n\n\t\t}\n\n\t}\n\n\treturn {\n\t\tfloatView: floatView,\n\t\tuint32View: uint32View,\n\t\tbaseTable: baseTable,\n\t\tshiftTable: shiftTable,\n\t\tmantissaTable: mantissaTable,\n\t\texponentTable: exponentTable,\n\t\toffsetTable: offsetTable\n\t};\n\n}\n\n// float32 to float16\n\nfunction toHalfFloat( val ) {\n\n\tif ( Math.abs( val ) > 65504 ) console.warn( 'THREE.DataUtils.toHalfFloat(): Value out of range.' );\n\n\tval = clamp( val, - 65504, 65504 );\n\n\t_tables.floatView[ 0 ] = val;\n\tconst f = _tables.uint32View[ 0 ];\n\tconst e = ( f >> 23 ) & 0x1ff;\n\treturn _tables.baseTable[ e ] + ( ( f & 0x007fffff ) >> _tables.shiftTable[ e ] );\n\n}\n\n// float16 to float32\n\nfunction fromHalfFloat( val ) {\n\n\tconst m = val >> 10;\n\t_tables.uint32View[ 0 ] = _tables.mantissaTable[ _tables.offsetTable[ m ] + ( val & 0x3ff ) ] + _tables.exponentTable[ m ];\n\treturn _tables.floatView[ 0 ];\n\n}\n\nvar DataUtils = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\ttoHalfFloat: toHalfFloat,\n\tfromHalfFloat: fromHalfFloat\n});\n\n// r133, c5bb5434555a3c3ddd784944a0a124f996fc721b\n\nclass ParametricGeometry extends BufferGeometry {\n\n\tconstructor() {\n\n\t\tconsole.error( 'THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js' );\n\t\tsuper();\n\n\t}\n\n}\n\n// r133, eb58ff153119090d3bbb24474ea0ffc40c70dc92\n\nclass TextGeometry extends BufferGeometry {\n\n\tconstructor() {\n\n\t\tconsole.error( 'THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js' );\n\t\tsuper();\n\n\t}\n\n}\n\n// r133, eb58ff153119090d3bbb24474ea0ffc40c70dc92\n\nfunction FontLoader() {\n\n\tconsole.error( 'THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js' );\n\n}\n\n// r133, eb58ff153119090d3bbb24474ea0ffc40c70dc92\n\nfunction Font() {\n\n\tconsole.error( 'THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js' );\n\n}\n\n// r134, d65e0af06644fe5a84a6fc0e372f4318f95a04c0\n\nfunction ImmediateRenderObject() {\n\n\tconsole.error( 'THREE.ImmediateRenderObject has been removed.' );\n\n}\n\n// r138, 48b05d3500acc084df50be9b4c90781ad9b8cb17\n\nclass WebGLMultisampleRenderTarget extends WebGLRenderTarget {\n\n\tconstructor( width, height, options ) {\n\n\t\tconsole.error( 'THREE.WebGLMultisampleRenderTarget has been removed. Use a normal render target and set the \"samples\" property to greater 0 to enable multisampling.' );\n\t\tsuper( width, height, options );\n\t\tthis.samples = 4;\n\n\t}\n\n}\n\n// r138, f9cd9cab03b7b64244e304900a3a2eeaa3a588ce\n\nclass DataTexture2DArray extends DataArrayTexture {\n\n\tconstructor( data, width, height, depth ) {\n\n\t\tconsole.warn( 'THREE.DataTexture2DArray has been renamed to DataArrayTexture.' );\n\t\tsuper( data, width, height, depth );\n\n\t}\n\n}\n\n// r138, f9cd9cab03b7b64244e304900a3a2eeaa3a588ce\n\nclass DataTexture3D extends Data3DTexture {\n\n\tconstructor( data, width, height, depth ) {\n\n\t\tconsole.warn( 'THREE.DataTexture3D has been renamed to Data3DTexture.' );\n\t\tsuper( data, width, height, depth );\n\n\t}\n\n}\n\nif ( typeof __THREE_DEVTOOLS__ !== 'undefined' ) {\n\n\t__THREE_DEVTOOLS__.dispatchEvent( new CustomEvent( 'register', { detail: {\n\t\trevision: REVISION,\n\t} } ) );\n\n}\n\nif ( typeof window !== 'undefined' ) {\n\n\tif ( window.__THREE__ ) {\n\n\t\tconsole.warn( 'WARNING: Multiple instances of Three.js being imported.' );\n\n\t} else {\n\n\t\twindow.__THREE__ = REVISION;\n\n\t}\n\n}\n\nexport { ACESFilmicToneMapping, AddEquation, AddOperation, AdditiveAnimationBlendMode, AdditiveBlending, AlphaFormat, AlwaysDepth, AlwaysStencilFunc, AmbientLight, AmbientLightProbe, AnimationClip, AnimationLoader, AnimationMixer, AnimationObjectGroup, AnimationUtils, ArcCurve, ArrayCamera, ArrowHelper, Audio, AudioAnalyser, AudioContext, AudioListener, AudioLoader, AxesHelper, BackSide, BasicDepthPacking, BasicShadowMap, Bone, BooleanKeyframeTrack, Box2, Box3, Box3Helper, BoxGeometry as BoxBufferGeometry, BoxGeometry, BoxHelper, BufferAttribute, BufferGeometry, BufferGeometryLoader, ByteType, Cache, Camera, CameraHelper, CanvasTexture, CapsuleGeometry as CapsuleBufferGeometry, CapsuleGeometry, CatmullRomCurve3, CineonToneMapping, CircleGeometry as CircleBufferGeometry, CircleGeometry, ClampToEdgeWrapping, Clock, Color, ColorKeyframeTrack, ColorManagement, CompressedTexture, CompressedTextureLoader, ConeGeometry as ConeBufferGeometry, ConeGeometry, CubeCamera, CubeReflectionMapping, CubeRefractionMapping, CubeTexture, CubeTextureLoader, CubeUVReflectionMapping, CubicBezierCurve, CubicBezierCurve3, CubicInterpolant, CullFaceBack, CullFaceFront, CullFaceFrontBack, CullFaceNone, Curve, CurvePath, CustomBlending, CustomToneMapping, CylinderGeometry as CylinderBufferGeometry, CylinderGeometry, Cylindrical, Data3DTexture, DataArrayTexture, DataTexture, DataTexture2DArray, DataTexture3D, DataTextureLoader, DataUtils, DecrementStencilOp, DecrementWrapStencilOp, DefaultLoadingManager, DepthFormat, DepthStencilFormat, DepthTexture, DirectionalLight, DirectionalLightHelper, DiscreteInterpolant, DodecahedronGeometry as DodecahedronBufferGeometry, DodecahedronGeometry, DoubleSide, DstAlphaFactor, DstColorFactor, DynamicCopyUsage, DynamicDrawUsage, DynamicReadUsage, EdgesGeometry, EllipseCurve, EqualDepth, EqualStencilFunc, EquirectangularReflectionMapping, EquirectangularRefractionMapping, Euler, EventDispatcher, ExtrudeGeometry as ExtrudeBufferGeometry, ExtrudeGeometry, FileLoader, FlatShading, Float16BufferAttribute, Float32BufferAttribute, Float64BufferAttribute, FloatType, Fog, FogExp2, Font, FontLoader, FramebufferTexture, FrontSide, Frustum, GLBufferAttribute, GLSL1, GLSL3, GreaterDepth, GreaterEqualDepth, GreaterEqualStencilFunc, GreaterStencilFunc, GridHelper, Group, HalfFloatType, HemisphereLight, HemisphereLightHelper, HemisphereLightProbe, IcosahedronGeometry as IcosahedronBufferGeometry, IcosahedronGeometry, ImageBitmapLoader, ImageLoader, ImageUtils, ImmediateRenderObject, IncrementStencilOp, IncrementWrapStencilOp, InstancedBufferAttribute, InstancedBufferGeometry, InstancedInterleavedBuffer, InstancedMesh, Int16BufferAttribute, Int32BufferAttribute, Int8BufferAttribute, IntType, InterleavedBuffer, InterleavedBufferAttribute, Interpolant, InterpolateDiscrete, InterpolateLinear, InterpolateSmooth, InvertStencilOp, KeepStencilOp, KeyframeTrack, LOD, LatheGeometry as LatheBufferGeometry, LatheGeometry, Layers, LessDepth, LessEqualDepth, LessEqualStencilFunc, LessStencilFunc, Light, LightProbe, Line, Line3, LineBasicMaterial, LineCurve, LineCurve3, LineDashedMaterial, LineLoop, LineSegments, LinearEncoding, LinearFilter, LinearInterpolant, LinearMipMapLinearFilter, LinearMipMapNearestFilter, LinearMipmapLinearFilter, LinearMipmapNearestFilter, LinearSRGBColorSpace, LinearToneMapping, Loader, LoaderUtils, LoadingManager, LoopOnce, LoopPingPong, LoopRepeat, LuminanceAlphaFormat, LuminanceFormat, MOUSE, Material, MaterialLoader, MathUtils, Matrix3, Matrix4, MaxEquation, Mesh, MeshBasicMaterial, MeshDepthMaterial, MeshDistanceMaterial, MeshLambertMaterial, MeshMatcapMaterial, MeshNormalMaterial, MeshPhongMaterial, MeshPhysicalMaterial, MeshStandardMaterial, MeshToonMaterial, MinEquation, MirroredRepeatWrapping, MixOperation, MultiplyBlending, MultiplyOperation, NearestFilter, NearestMipMapLinearFilter, NearestMipMapNearestFilter, NearestMipmapLinearFilter, NearestMipmapNearestFilter, NeverDepth, NeverStencilFunc, NoBlending, NoColorSpace, NoToneMapping, NormalAnimationBlendMode, NormalBlending, NotEqualDepth, NotEqualStencilFunc, NumberKeyframeTrack, Object3D, ObjectLoader, ObjectSpaceNormalMap, OctahedronGeometry as OctahedronBufferGeometry, OctahedronGeometry, OneFactor, OneMinusDstAlphaFactor, OneMinusDstColorFactor, OneMinusSrcAlphaFactor, OneMinusSrcColorFactor, OrthographicCamera, PCFShadowMap, PCFSoftShadowMap, PMREMGenerator, ParametricGeometry, Path, PerspectiveCamera, Plane, PlaneGeometry as PlaneBufferGeometry, PlaneGeometry, PlaneHelper, PointLight, PointLightHelper, Points, PointsMaterial, PolarGridHelper, PolyhedronGeometry as PolyhedronBufferGeometry, PolyhedronGeometry, PositionalAudio, PropertyBinding, PropertyMixer, QuadraticBezierCurve, QuadraticBezierCurve3, Quaternion, QuaternionKeyframeTrack, QuaternionLinearInterpolant, REVISION, RGBADepthPacking, RGBAFormat, RGBAIntegerFormat, RGBA_ASTC_10x10_Format, RGBA_ASTC_10x5_Format, RGBA_ASTC_10x6_Format, RGBA_ASTC_10x8_Format, RGBA_ASTC_12x10_Format, RGBA_ASTC_12x12_Format, RGBA_ASTC_4x4_Format, RGBA_ASTC_5x4_Format, RGBA_ASTC_5x5_Format, RGBA_ASTC_6x5_Format, RGBA_ASTC_6x6_Format, RGBA_ASTC_8x5_Format, RGBA_ASTC_8x6_Format, RGBA_ASTC_8x8_Format, RGBA_BPTC_Format, RGBA_ETC2_EAC_Format, RGBA_PVRTC_2BPPV1_Format, RGBA_PVRTC_4BPPV1_Format, RGBA_S3TC_DXT1_Format, RGBA_S3TC_DXT3_Format, RGBA_S3TC_DXT5_Format, RGBFormat, RGB_ETC1_Format, RGB_ETC2_Format, RGB_PVRTC_2BPPV1_Format, RGB_PVRTC_4BPPV1_Format, RGB_S3TC_DXT1_Format, RGFormat, RGIntegerFormat, RawShaderMaterial, Ray, Raycaster, RectAreaLight, RedFormat, RedIntegerFormat, ReinhardToneMapping, RepeatWrapping, ReplaceStencilOp, ReverseSubtractEquation, RingGeometry as RingBufferGeometry, RingGeometry, SRGBColorSpace, Scene, ShaderChunk, ShaderLib, ShaderMaterial, ShadowMaterial, Shape, ShapeGeometry as ShapeBufferGeometry, ShapeGeometry, ShapePath, ShapeUtils, ShortType, Skeleton, SkeletonHelper, SkinnedMesh, SmoothShading, Source, Sphere, SphereGeometry as SphereBufferGeometry, SphereGeometry, Spherical, SphericalHarmonics3, SplineCurve, SpotLight, SpotLightHelper, Sprite, SpriteMaterial, SrcAlphaFactor, SrcAlphaSaturateFactor, SrcColorFactor, StaticCopyUsage, StaticDrawUsage, StaticReadUsage, StereoCamera, StreamCopyUsage, StreamDrawUsage, StreamReadUsage, StringKeyframeTrack, SubtractEquation, SubtractiveBlending, TOUCH, TangentSpaceNormalMap, TetrahedronGeometry as TetrahedronBufferGeometry, TetrahedronGeometry, TextGeometry, Texture, TextureLoader, TorusGeometry as TorusBufferGeometry, TorusGeometry, TorusKnotGeometry as TorusKnotBufferGeometry, TorusKnotGeometry, Triangle, TriangleFanDrawMode, TriangleStripDrawMode, TrianglesDrawMode, TubeGeometry as TubeBufferGeometry, TubeGeometry, UVMapping, Uint16BufferAttribute, Uint32BufferAttribute, Uint8BufferAttribute, Uint8ClampedBufferAttribute, Uniform, UniformsGroup, UniformsLib, UniformsUtils, UnsignedByteType, UnsignedInt248Type, UnsignedIntType, UnsignedShort4444Type, UnsignedShort5551Type, UnsignedShortType, VSMShadowMap, Vector2, Vector3, Vector4, VectorKeyframeTrack, VideoTexture, WebGL1Renderer, WebGL3DRenderTarget, WebGLArrayRenderTarget, WebGLCubeRenderTarget, WebGLMultipleRenderTargets, WebGLMultisampleRenderTarget, WebGLRenderTarget, WebGLRenderer, WebGLUtils, WireframeGeometry, WrapAroundEnding, ZeroCurvatureEnding, ZeroFactor, ZeroSlopeEnding, ZeroStencilOp, _SRGBAFormat, sRGBEncoding };\n","/**\n * @license React\n * react-reconciler-constants.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';exports.ConcurrentRoot=1;exports.ContinuousEventPriority=4;exports.DefaultEventPriority=16;exports.DiscreteEventPriority=1;exports.IdleEventPriority=536870912;exports.LegacyRoot=0;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-reconciler-constants.production.min.js');\n} else {\n module.exports = require('./cjs/react-reconciler-constants.development.js');\n}\n","import { useReducer, useRef, useDebugValue, useEffect, useLayoutEffect } from 'react';\n\nfunction createStore(createState) {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (nextState !== state) {\n const previousState = state;\n state = replace ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const subscribeWithSelector = (listener, selector = getState, equalityFn = Object.is) => {\n console.warn(\"[DEPRECATED] Please use `subscribeWithSelector` middleware\");\n let currentSlice = selector(state);\n function listenerToAdd() {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n listener(currentSlice = nextSlice, previousSlice);\n }\n }\n listeners.add(listenerToAdd);\n return () => listeners.delete(listenerToAdd);\n };\n const subscribe = (listener, selector, equalityFn) => {\n if (selector || equalityFn) {\n return subscribeWithSelector(listener, selector, equalityFn);\n }\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => listeners.clear();\n const api = { setState, getState, subscribe, destroy };\n state = createState(setState, getState, api);\n return api;\n}\n\nconst isSSR = typeof window === \"undefined\" || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\nconst useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;\nfunction create(createState) {\n const api = typeof createState === \"function\" ? createStore(createState) : createState;\n const useStore = (selector = api.getState, equalityFn = Object.is) => {\n const [, forceUpdate] = useReducer((c) => c + 1, 0);\n const state = api.getState();\n const stateRef = useRef(state);\n const selectorRef = useRef(selector);\n const equalityFnRef = useRef(equalityFn);\n const erroredRef = useRef(false);\n const currentSliceRef = useRef();\n if (currentSliceRef.current === void 0) {\n currentSliceRef.current = selector(state);\n }\n let newStateSlice;\n let hasNewStateSlice = false;\n if (stateRef.current !== state || selectorRef.current !== selector || equalityFnRef.current !== equalityFn || erroredRef.current) {\n newStateSlice = selector(state);\n hasNewStateSlice = !equalityFn(currentSliceRef.current, newStateSlice);\n }\n useIsomorphicLayoutEffect(() => {\n if (hasNewStateSlice) {\n currentSliceRef.current = newStateSlice;\n }\n stateRef.current = state;\n selectorRef.current = selector;\n equalityFnRef.current = equalityFn;\n erroredRef.current = false;\n });\n const stateBeforeSubscriptionRef = useRef(state);\n useIsomorphicLayoutEffect(() => {\n const listener = () => {\n try {\n const nextState = api.getState();\n const nextStateSlice = selectorRef.current(nextState);\n if (!equalityFnRef.current(currentSliceRef.current, nextStateSlice)) {\n stateRef.current = nextState;\n currentSliceRef.current = nextStateSlice;\n forceUpdate();\n }\n } catch (error) {\n erroredRef.current = true;\n forceUpdate();\n }\n };\n const unsubscribe = api.subscribe(listener);\n if (api.getState() !== stateBeforeSubscriptionRef.current) {\n listener();\n }\n return unsubscribe;\n }, []);\n const sliceToReturn = hasNewStateSlice ? newStateSlice : currentSliceRef.current;\n useDebugValue(sliceToReturn);\n return sliceToReturn;\n };\n Object.assign(useStore, api);\n useStore[Symbol.iterator] = function() {\n console.warn(\"[useStore, api] = create() is deprecated and will be removed in v4\");\n const items = [useStore, api];\n return {\n next() {\n const done = items.length <= 0;\n return { value: items.shift(), done };\n }\n };\n };\n return useStore;\n}\n\nexport { create as default };\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-reconciler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nmodule.exports = function $$$reconciler($$$hostConfig) {\n var exports = {};\n'use strict';var aa=require(\"react\"),ba=require(\"scheduler\"),ca=Object.assign;function n(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;ch||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{bc=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?ac(a):\"\"}var dc=Object.prototype.hasOwnProperty,ec=[],fc=-1;function gc(a){return{current:a}}\nfunction x(a){0>fc||(a.current=ec[fc],ec[fc]=null,fc--)}function y(a,b){fc++;ec[fc]=a.current;a.current=b}var hc={},A=gc(hc),B=gc(!1),ic=hc;function jc(a,b){var c=a.type.contextTypes;if(!c)return hc;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction C(a){a=a.childContextTypes;return null!==a&&void 0!==a}function kc(){x(B);x(A)}function lc(a,b,c){if(A.current!==hc)throw Error(n(168));y(A,b);y(B,c)}function mc(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(n(108,xa(a)||\"Unknown\",e));return ca({},c,d)}\nfunction nc(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||hc;ic=A.current;y(A,a);y(B,B.current);return!0}function oc(a,b,c){var d=a.stateNode;if(!d)throw Error(n(169));c?(a=mc(a,b,ic),d.__reactInternalMemoizedMergedChildContext=a,x(B),x(A),y(A,a)):x(B);y(B,c)}var qc=Math.clz32?Math.clz32:pc,rc=Math.log,sc=Math.LN2;function pc(a){a>>>=0;return 0===a?32:31-(rc(a)/sc|0)|0}var tc=64,uc=4194304;\nfunction vc(a){switch(a&-a){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: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 a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function wc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=vc(h):(f&=g,0!==f&&(d=vc(f)))}else g=c&~e,0!==g?d=vc(g):0!==f&&(d=vc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}function Bc(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-qc(b);a[b]=c}\nfunction Cc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0>=g;e-=g;Nd=1<<32-qc(b)+e|c<u?(t=w,w=null):t=w.sibling;var q=r(e,w,h[u],k);if(null===q){null===w&&(w=t);break}a&&w&&null===q.alternate&&b(e,w);g=f(q,g,u);null===m?l=q:m.sibling=q;m=q;w=t}if(u===h.length)return c(e,w),I&&Pd(e,u),l;if(null===w){for(;uu?(q=m,m=null):q=m.sibling;var V=r(e,m,t.value,k);if(null===V){null===m&&(m=q);break}a&&m&&null===V.alternate&&b(e,m);g=f(V,g,u);null===w?l=V:w.sibling=V;w=V;m=q}if(t.done)return c(e,\nm),I&&Pd(e,u),l;if(null===m){for(;!t.done;u++,t=h.next())t=v(e,t.value,k),null!==t&&(g=f(t,g,u),null===w?l=t:w.sibling=t,w=t);I&&Pd(e,u);return l}for(m=d(e,m);!t.done;u++,t=h.next())t=z(m,e,u,t.value,k),null!==t&&(a&&null!==t.alternate&&m.delete(null===t.key?u:t.key),g=f(t,g,u),null===w?l=t:w.sibling=t,w=t);a&&m.forEach(function(a){return b(e,a)});I&&Pd(e,u);return l}function da(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ia&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==\nf){switch(f.$$typeof){case fa:a:{for(var k=f.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ia){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===ra&&he(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=fe(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ia?(d=ne(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=le(f.type,f.key,f.props,null,a.mode,h),h.ref=fe(a,d,f),h.return=\na,a=h)}return g(a);case ha:a:{for(l=f.key;null!==d;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=me(f,a.mode,h);d.return=a;a=d}return g(a);case ra:return l=f._init,da(a,d,l(f._payload),h)}if(Ea(f))return q(a,d,f,h);if(ua(f))return N(a,d,f,h);ge(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&\n6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=ke(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return da}var oe=ie(!0),pe=ie(!1),qe={},re=gc(qe),se=gc(qe),te=gc(qe);function ue(a){if(a===qe)throw Error(n(174));return a}function ve(a,b){y(te,b);y(se,a);y(re,qe);a=Ga(b);x(re);y(re,a)}function we(){x(re);x(se);x(te)}function xe(a){var b=ue(te.current),c=ue(re.current);b=Ha(c,a.type,b);c!==b&&(y(se,a),y(re,b))}function ye(a){se.current===a&&(x(re),x(se))}var J=gc(0);\nfunction ze(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||Ib(c)||Jb(c)))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Ae=[];\nfunction Be(){for(var a=0;ac?c:4;a(!0);var d=De.transition;De.transition={};try{a(!1),b()}finally{D=c,De.transition=d}}function rf(){return Re().memoizedState}function sf(a,b,c){var d=zd(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};tf(a)?uf(b,c):(vf(a,b,c),c=H(),a=Ad(a,d,c),null!==a&&wf(a,b,d))}\nfunction df(a,b,c){var d=zd(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(tf(a))uf(b,e);else{vf(a,b,e);var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(Rc(h,g))return}catch(k){}finally{}c=H();a=Ad(a,d,c);null!==a&&wf(a,b,d)}}function tf(a){var b=a.alternate;return a===K||null!==b&&b===K}\nfunction uf(a,b){Ge=Fe=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function vf(a,b,c){null!==F&&0!==(a.mode&1)&&0===(G&2)?(a=b.interleaved,null===a?(c.next=c,null===md?md=[b]:md.push(b)):(c.next=a.next,a.next=c),b.interleaved=c):(a=b.pending,null===a?c.next=c:(c.next=a.next,a.next=c),b.pending=c)}function wf(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Dc(a,c)}}\nvar Oe={readContext:ld,useCallback:O,useContext:O,useEffect:O,useImperativeHandle:O,useInsertionEffect:O,useLayoutEffect:O,useMemo:O,useReducer:O,useRef:O,useState:O,useDebugValue:O,useDeferredValue:O,useTransition:O,useMutableSource:O,useSyncExternalStore:O,useId:O,unstable_isNewReconciler:!1},Le={readContext:ld,useCallback:function(a,b){Qe().memoizedState=[a,void 0===b?null:b];return a},useContext:ld,useEffect:hf,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ff(4194308,\n4,lf.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ff(4194308,4,a,b)},useInsertionEffect:function(a,b){return ff(4,2,a,b)},useMemo:function(a,b){var c=Qe();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Qe();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=sf.bind(null,K,a);return[d.memoizedState,a]},useRef:function(a){var b=\nQe();a={current:a};return b.memoizedState=a},useState:cf,useDebugValue:nf,useDeferredValue:function(a){var b=cf(a),c=b[0],d=b[1];hf(function(){var b=De.transition;De.transition={};try{d(a)}finally{De.transition=b}},[a]);return c},useTransition:function(){var a=cf(!1),b=a[0];a=qf.bind(null,a[1]);Qe().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=K,e=Qe();if(I){if(void 0===c)throw Error(n(407));c=c()}else{c=b();if(null===F)throw Error(n(349));\n0!==(Ee&30)||af(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;hf(Ye.bind(null,d,f,a),[a]);d.flags|=2048;Ze(9,$e.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Qe(),b=F.identifierPrefix;if(I){var c=Od;var d=Nd;c=(d&~(1<<32-qc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=He++;0Uf&&(b.flags|=128,d=!0,Qf(e,!1),b.lanes=4194304)}else{if(!d)if(a=ze(f),null!==a){if(b.flags|=128,d=!0,a=a.updateQueue,null!==a&&(b.updateQueue=a,b.flags|=4),Qf(e,!0),null===e.tail&&\"hidden\"===e.tailMode&&!f.alternate&&!I)return P(b),null}else 2*E()-e.renderingStartTime>Uf&&1073741824!==c&&(b.flags|=128,d=!0,Qf(e,!1),b.lanes=4194304);e.isBackwards?(f.sibling=b.child,b.child=f):(a=e.last,null!==a?a.sibling=f:b.child=f,e.last=f)}if(null!==\ne.tail)return b=e.tail,e.rendering=b,e.tail=b.sibling,e.renderingStartTime=E(),b.sibling=null,a=J.current,y(J,d?a&1|2:a&1),b;P(b);return null;case 22:case 23:return Vf(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(Wf&1073741824)&&(P(b),Ua&&b.subtreeFlags&6&&(b.flags|=8192)):P(b),null;case 24:return null;case 25:return null}throw Error(n(156,b.tag));}var Xf=ea.ReactCurrentOwner,kd=!1;\nfunction R(a,b,c,d){b.child=null===a?pe(b,null,c,d):oe(b,a.child,c,d)}function Yf(a,b,c,d,e){c=c.render;var f=b.ref;jd(b,e);d=Ke(a,b,c,d,f,e);c=Pe();if(null!==a&&!kd)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zf(a,b,e);I&&c&&Rd(b);b.flags|=1;R(a,b,d,e);return b.child}\nfunction $f(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!ag(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bg(a,b,f,d,e);a=le(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Zc;if(c(g,d)&&a.ref===b.ref)return Zf(a,b,e)}b.flags|=1;a=je(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bg(a,b,c,d,e){if(null!==a&&Zc(a.memoizedProps,d)&&a.ref===b.ref)if(kd=!1,0!==(a.lanes&e))0!==(a.flags&131072)&&(kd=!0);else return b.lanes=a.lanes,Zf(a,b,e);return cg(a,b,c,d,e)}\nfunction dg(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null},y(eg,Wf),Wf|=c;else if(0!==(c&1073741824))b.memoizedState={baseLanes:0,cachePool:null},d=null!==f?f.baseLanes:c,y(eg,Wf),Wf|=d;else return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null},b.updateQueue=null,y(eg,Wf),Wf|=a,null;else null!==f?(d=f.baseLanes|c,b.memoizedState=null):\nd=c,y(eg,Wf),Wf|=d;R(a,b,e,c);return b.child}function fg(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cg(a,b,c,d,e){var f=C(c)?ic:A.current;f=jc(b,f);jd(b,e);c=Ke(a,b,c,d,f,e);d=Pe();if(null!==a&&!kd)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zf(a,b,e);I&&d&&Rd(b);b.flags|=1;R(a,b,c,e);return b.child}\nfunction gg(a,b,c,d,e){if(C(c)){var f=!0;nc(b)}else f=!1;jd(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),Dd(b,c,d),Fd(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=ld(l):(l=C(c)?ic:A.current,l=jc(b,l));var m=c.getDerivedStateFromProps,v=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;v||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==\ntypeof g.componentWillReceiveProps||(h!==d||k!==l)&&Ed(b,g,d,l);nd=!1;var r=b.memoizedState;g.state=r;ud(b,d,g,e);k=b.memoizedState;h!==d||r!==k||B.current||nd?(\"function\"===typeof m&&(yd(b,c,m,d),k=b.memoizedState),(h=nd||Cd(b,c,h,d,r,k,l))?(v||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&\n(b.flags|=4194308)):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;pd(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:ad(b.type,h);g.props=l;v=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=ld(k):(k=C(c)?ic:A.current,k=jc(b,k));var z=c.getDerivedStateFromProps;(m=\"function\"===typeof z||\"function\"===\ntypeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==v||r!==k)&&Ed(b,g,d,k);nd=!1;r=b.memoizedState;g.state=r;ud(b,d,g,e);var q=b.memoizedState;h!==v||r!==q||B.current||nd?(\"function\"===typeof z&&(yd(b,c,z,d),q=b.memoizedState),(l=nd||Cd(b,c,l,d,r,q,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nq,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,q,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=q),g.props=d,g.state=q,g.context=k,d=l):(\"function\"!==\ntypeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return hg(a,b,c,d,f,e)}\nfunction hg(a,b,c,d,e,f){fg(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&oc(b,c,!1),Zf(a,b,f);d=b.stateNode;Xf.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=oe(b,a.child,null,f),b.child=oe(b,null,h,f)):R(a,b,h,f);b.memoizedState=d.state;e&&oc(b,c,!0);return b.child}function ig(a){var b=a.stateNode;b.pendingContext?lc(a,b.pendingContext,b.pendingContext!==b.context):b.context&&lc(a,b.context,!1);ve(a,b.containerInfo)}\nfunction jg(a,b,c,d,e){de();ee(e);b.flags|=256;R(a,b,c,d);return b.child}var kg={dehydrated:null,treeContext:null,retryLane:0};function lg(a){return{baseLanes:a,cachePool:null}}\nfunction mg(a,b,c){var d=b.pendingProps,e=J.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;y(J,e&1);if(null===a){ae(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:Jb(a)?b.lanes=8:b.lanes=1073741824,null;e=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,e={mode:\"hidden\",children:e},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=e):\nf=ng(e,d,0,null),a=ne(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=lg(c),b.memoizedState=kg,a):og(b,e)}e=a.memoizedState;if(null!==e){h=e.dehydrated;if(null!==h){if(g){if(b.flags&256)return b.flags&=-257,pg(a,b,c,Error(n(422)));if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=ng({mode:\"visible\",children:d.children},e,0,null);f=ne(f,e,c,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&oe(b,a.child,\nnull,c);b.child.memoizedState=lg(c);b.memoizedState=kg;return f}if(0===(b.mode&1))b=pg(a,b,c,null);else if(Jb(h))b=pg(a,b,c,Error(n(419)));else if(d=0!==(c&a.childLanes),kd||d){d=F;if(null!==d){switch(c&-c){case 4:f=2;break;case 16:f=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:f=32;break;case 536870912:f=\n268435456;break;default:f=0}d=0!==(f&(d.suspendedLanes|c))?0:f;0!==d&&d!==e.retryLane&&(e.retryLane=d,Ad(a,d,-1))}Tf();b=pg(a,b,c,Error(n(421)))}else Ib(h)?(b.flags|=128,b.child=a.child,b=qg.bind(null,a),Kb(h,b),b=null):(c=e.treeContext,p&&(Ud=Ob(h),Td=b,I=!0,Wd=null,Vd=!1,null!==c&&(Kd[Ld++]=Nd,Kd[Ld++]=Od,Kd[Ld++]=Md,Nd=c.id,Od=c.overflow,Md=b)),b=og(b,b.pendingProps.children),b.flags|=4096);return b}if(f)return d=rg(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=\nnull===e?lg(c):{baseLanes:e.baseLanes|c,cachePool:null},f.childLanes=a.childLanes&~c,b.memoizedState=kg,d;c=sg(a,b,d.children,c);b.memoizedState=null;return c}if(f)return d=rg(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?lg(c):{baseLanes:e.baseLanes|c,cachePool:null},f.childLanes=a.childLanes&~c,b.memoizedState=kg,d;c=sg(a,b,d.children,c);b.memoizedState=null;return c}\nfunction og(a,b){b=ng({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sg(a,b,c,d){var e=a.child;a=e.sibling;c=je(e,{mode:\"visible\",children:c});0===(b.mode&1)&&(c.lanes=d);c.return=b;c.sibling=null;null!==a&&(d=b.deletions,null===d?(b.deletions=[a],b.flags|=16):d.push(a));return b.child=c}\nfunction rg(a,b,c,d,e){var f=b.mode;a=a.child;var g=a.sibling,h={mode:\"hidden\",children:c};0===(f&1)&&b.child!==a?(c=b.child,c.childLanes=0,c.pendingProps=h,b.deletions=null):(c=je(a,h),c.subtreeFlags=a.subtreeFlags&14680064);null!==g?d=je(g,d):(d=ne(d,f,e,null),d.flags|=2);d.return=b;c.return=b;c.sibling=d;b.child=c;return d}function pg(a,b,c,d){null!==d&&ee(d);oe(b,a.child,null,c);a=og(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction tg(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);id(a.return,b,c)}function ug(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction vg(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;R(a,b,d.children,c);d=J.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&tg(a,c,b);else if(19===a.tag)tg(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}y(J,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===ze(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);ug(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===ze(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}ug(b,!0,c,null,f);break;case \"together\":ug(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction Zf(a,b,c){null!==a&&(b.dependencies=a.dependencies);vd|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(n(153));if(null!==b.child){a=b.child;c=je(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=je(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction wg(a,b,c){switch(b.tag){case 3:ig(b);de();break;case 5:xe(b);break;case 1:C(b.type)&&nc(b);break;case 4:ve(b,b.stateNode.containerInfo);break;case 10:gd(b,b.type._context,b.memoizedProps.value);break;case 13:var d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return y(J,J.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return mg(a,b,c);y(J,J.current&1);a=Zf(a,b,c);return null!==a?a.sibling:null}y(J,J.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&128)){if(d)return vg(a,\nb,c);b.flags|=128}var e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);y(J,J.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dg(a,b,c)}return Zf(a,b,c)}\nfunction xg(a,b){Sd(b);switch(b.tag){case 1:return C(b.type)&&kc(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return we(),x(B),x(A),Be(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return ye(b),null;case 13:x(J);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(n(340));de()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return x(J),null;case 4:return we(),null;case 10:return hd(b.type._context),null;case 22:case 23:return Vf(),\nnull;case 24:return null;default:return null}}var yg=!1,zg=!1,Ag=\"function\"===typeof WeakSet?WeakSet:Set,S=null;function Bg(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){T(a,b,d)}else c.current=null}function Cg(a,b,c){try{c()}catch(d){T(a,b,d)}}var Dg=!1;\nfunction Eg(a,b){Ia(a.containerInfo);for(S=b;null!==S;)if(a=S,b=a.child,0!==(a.subtreeFlags&1028)&&null!==b)b.return=a,S=b;else for(;null!==S;){a=S;try{var c=a.alternate;if(0!==(a.flags&1024))switch(a.tag){case 0:case 11:case 15:break;case 1:if(null!==c){var d=c.memoizedProps,e=c.memoizedState,f=a.stateNode,g=f.getSnapshotBeforeUpdate(a.elementType===a.type?d:ad(a.type,d),e);f.__reactInternalSnapshotBeforeUpdate=g}break;case 3:Ua&&xb(a.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;\ndefault:throw Error(n(163));}}catch(h){T(a,a.return,h)}b=a.sibling;if(null!==b){b.return=a.return;S=b;break}S=a.return}c=Dg;Dg=!1;return c}function Fg(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Cg(b,c,f)}e=e.next}while(e!==d)}}function Gg(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}\nfunction Hg(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=Fa(c);break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Ig(a,b,c){if(Oc&&\"function\"===typeof Oc.onCommitFiberUnmount)try{Oc.onCommitFiberUnmount(Nc,b)}catch(g){}switch(b.tag){case 0:case 11:case 14:case 15:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var d=a=a.next;do{var e=d,f=e.destroy;e=e.tag;void 0!==f&&(0!==(e&2)?Cg(b,c,f):0!==(e&4)&&Cg(b,c,f));d=d.next}while(d!==a)}break;case 1:Bg(b,c);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(g){T(b,\nc,g)}break;case 5:Bg(b,c);break;case 4:Ua?Jg(a,b,c):Va&&Va&&(b=b.stateNode.containerInfo,c=zb(b),Cb(b,c))}}function Kg(a,b,c){for(var d=b;;)if(Ig(a,d,c),null===d.child||Ua&&4===d.tag){if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return}d.sibling.return=d.return;d=d.sibling}else d.child.return=d,d=d.child}\nfunction Lg(a){var b=a.alternate;null!==b&&(a.alternate=null,Lg(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&Za(b));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Mg(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Ng(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Mg(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Og(a){if(Ua){a:{for(var b=a.return;null!==b;){if(Mg(b))break a;b=b.return}throw Error(n(160));}var c=b;switch(c.tag){case 5:b=c.stateNode;c.flags&32&&(sb(b),c.flags&=-33);c=Ng(a);Pg(a,c,b);break;case 3:case 4:b=c.stateNode.containerInfo;c=Ng(a);Qg(a,c,b);break;default:throw Error(n(161));}}}function Qg(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?pb(c,a,b):kb(c,a);else if(4!==d&&(a=a.child,null!==a))for(Qg(a,b,c),a=a.sibling;null!==a;)Qg(a,b,c),a=a.sibling}\nfunction Pg(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?ob(c,a,b):jb(c,a);else if(4!==d&&(a=a.child,null!==a))for(Pg(a,b,c),a=a.sibling;null!==a;)Pg(a,b,c),a=a.sibling}\nfunction Jg(a,b,c){for(var d=b,e=!1,f,g;;){if(!e){e=d.return;a:for(;;){if(null===e)throw Error(n(160));f=e.stateNode;switch(e.tag){case 5:g=!1;break a;case 3:f=f.containerInfo;g=!0;break a;case 4:f=f.containerInfo;g=!0;break a}e=e.return}e=!0}if(5===d.tag||6===d.tag)Kg(a,d,c),g?rb(f,d.stateNode):qb(f,d.stateNode);else if(18===d.tag)g?Wb(f,d.stateNode):Vb(f,d.stateNode);else if(4===d.tag){if(null!==d.child){f=d.stateNode.containerInfo;g=!0;d.child.return=d;d=d.child;continue}}else if(Ig(a,d,c),null!==\nd.child){d.child.return=d;d=d.child;continue}if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return;4===d.tag&&(e=!1)}d.sibling.return=d.return;d=d.sibling}}\nfunction Rg(a,b){if(Ua){switch(b.tag){case 0:case 11:case 14:case 15:Fg(3,b,b.return);Gg(3,b);Fg(5,b,b.return);return;case 1:return;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps;a=null!==a?a.memoizedProps:d;var e=b.type,f=b.updateQueue;b.updateQueue=null;null!==f&&nb(c,f,e,a,d,b)}return;case 6:if(null===b.stateNode)throw Error(n(162));c=b.memoizedProps;lb(b.stateNode,null!==a?a.memoizedProps:c,c);return;case 3:p&&null!==a&&a.memoizedState.isDehydrated&&Tb(b.stateNode.containerInfo);return;\ncase 12:return;case 13:Sg(b);return;case 19:Sg(b);return;case 17:return}throw Error(n(163));}switch(b.tag){case 0:case 11:case 14:case 15:Fg(3,b,b.return);Gg(3,b);Fg(5,b,b.return);return;case 12:return;case 13:Sg(b);return;case 19:Sg(b);return;case 3:p&&null!==a&&a.memoizedState.isDehydrated&&Tb(b.stateNode.containerInfo);break;case 22:case 23:return}a:if(Va){switch(b.tag){case 1:case 5:case 6:break a;case 3:case 4:b=b.stateNode;Cb(b.containerInfo,b.pendingChildren);break a}throw Error(n(163));}}\nfunction Sg(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Ag);b.forEach(function(b){var d=Tg.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction Ug(a,b){for(S=b;null!==S;){b=S;var c=b.deletions;if(null!==c)for(var d=0;d\";case bh:return\":has(\"+(ih(a)||\"\")+\")\";case ch:return'[role=\"'+a.value+'\"]';case eh:return'\"'+a.value+'\"';case dh:return'[data-testname=\"'+a.value+'\"]';default:throw Error(n(365));}}\nfunction jh(a,b){var c=[];a=[a,0];for(var d=0;de&&(e=g);d&=~f}d=e;d=E()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lh(d/1960))-d;if(10a?16:a;if(null===uh)var d=!1;else{a=uh;uh=null;vh=0;if(0!==(G&6))throw Error(n(331));var e=G;G|=4;for(S=a.current;null!==S;){var f=S,g=f.child;if(0!==(S.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kE()-Vg?Ih(a,0):qh|=c);Z(a,b)}function Vh(a,b){0===b&&(0===(a.mode&1)?b=1:(b=uc,uc<<=1,0===(uc&130023424)&&(uc=4194304)));var c=H();a=Ah(a,b);null!==a&&(Bc(a,b,c),Z(a,c))}function qg(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Vh(a,c)}\nfunction Tg(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(n(314));}null!==d&&d.delete(b);Vh(a,c)}var Sh;\nSh=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||B.current)kd=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return kd=!1,wg(a,b,c);kd=0!==(a.flags&131072)?!0:!1}else kd=!1,I&&0!==(b.flags&1048576)&&Qd(b,Jd,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;var e=jc(b,A.current);jd(b,c);e=Ke(null,b,d,a,e,c);var f=Pe();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?\n(b.tag=1,b.memoizedState=null,b.updateQueue=null,C(d)?(f=!0,nc(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,od(b),e.updater=Bd,b.stateNode=e,e._reactInternals=b,Fd(b,d,a,c),b=hg(null,b,d,!0,f,c)):(b.tag=0,I&&f&&Rd(b),R(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Wh(d);a=ad(d,a);switch(e){case 0:b=cg(null,b,d,a,c);break a;case 1:b=gg(null,b,d,\na,c);break a;case 11:b=Yf(null,b,d,a,c);break a;case 14:b=$f(null,b,d,ad(d.type,a),c);break a}throw Error(n(306,d,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ad(d,e),cg(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ad(d,e),gg(a,b,d,e,c);case 3:a:{ig(b);if(null===a)throw Error(n(387));d=b.pendingProps;f=b.memoizedState;e=f.element;pd(a,b);ud(b,d,null,c);var g=b.memoizedState;d=g.element;if(p&&f.isDehydrated)if(f={element:d,isDehydrated:!1,\ncache:g.cache,transitions:g.transitions},b.updateQueue.baseState=f,b.memoizedState=f,b.flags&256){e=Error(n(423));b=jg(a,b,d,c,e);break a}else if(d!==e){e=Error(n(424));b=jg(a,b,d,c,e);break a}else for(p&&(Ud=Nb(b.stateNode.containerInfo),Td=b,I=!0,Wd=null,Vd=!1),c=pe(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{de();if(d===e){b=Zf(a,b,c);break a}R(a,b,d,c)}b=b.child}return b;case 5:return xe(b),null===a&&ae(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,\nOa(d,e)?g=null:null!==f&&Oa(d,f)&&(b.flags|=32),fg(a,b),R(a,b,g,c),b.child;case 6:return null===a&&ae(b),null;case 13:return mg(a,b,c);case 4:return ve(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=oe(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ad(d,e),Yf(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,b,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=\nb.type._context;e=b.pendingProps;f=b.memoizedProps;g=e.value;gd(b,d,g);if(null!==f)if(Rc(f.value,g)){if(f.children===e.children&&!B.current){b=Zf(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=qd(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=\nc);id(f.return,c,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(n(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);id(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}R(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,jd(b,c),e=ld(e),d=d(e),b.flags|=\n1,R(a,b,d,c),b.child;case 14:return d=b.type,e=ad(d,b.pendingProps),e=ad(d.type,e),$f(a,b,d,e,c);case 15:return bg(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ad(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),b.tag=1,C(d)?(a=!0,nc(b)):a=!1,jd(b,c),Dd(b,d,e),Fd(b,d,e,c),hg(null,b,d,!0,a,c);case 19:return vg(a,b,c);case 22:return dg(a,b,c)}throw Error(n(156,b.tag));};function Dh(a,b){return Fc(a,b)}\nfunction Xh(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Yd(a,b,c,d){return new Xh(a,b,c,d)}function ag(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Wh(a){if(\"function\"===typeof a)return ag(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===na)return 11;if(a===qa)return 14}return 2}\nfunction je(a,b){var c=a.alternate;null===c?(c=Yd(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction le(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)ag(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ia:return ne(c.children,e,f,b);case ja:g=8;e|=8;break;case ka:return a=Yd(12,c,b,e|2),a.elementType=ka,a.lanes=f,a;case oa:return a=Yd(13,c,b,e),a.elementType=oa,a.lanes=f,a;case pa:return a=Yd(19,c,b,e),a.elementType=pa,a.lanes=f,a;case sa:return ng(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case la:g=10;break a;case ma:g=9;break a;case na:g=11;\nbreak a;case qa:g=14;break a;case ra:g=16;d=null;break a}throw Error(n(130,null==a?a:typeof a,\"\"));}b=Yd(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function ne(a,b,c,d){a=Yd(7,a,d,b);a.lanes=c;return a}function ng(a,b,c,d){a=Yd(22,a,d,b);a.elementType=sa;a.lanes=c;a.stateNode={};return a}function ke(a,b,c){a=Yd(6,a,null,b);a.lanes=c;return a}\nfunction me(a,b,c){b=Yd(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction Yh(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=Sa;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=Ac(0);this.expirationTimes=Ac(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=Ac(0);this.identifierPrefix=d;this.onRecoverableError=e;p&&(this.mutableSourceEagerHydrationData=\nnull)}function Zh(a,b,c,d,e,f,g,h,k){a=new Yh(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Yd(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null};od(f);return a}\nfunction $h(a){if(!a)return hc;a=a._reactInternals;a:{if(ya(a)!==a||1!==a.tag)throw Error(n(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(C(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(n(171));}if(1===a.tag){var c=a.type;if(C(c))return mc(a,c,b)}return b}\nfunction ai(a){var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(n(188));a=Object.keys(a).join(\",\");throw Error(n(268,a));}a=Ba(b);return null===a?null:a.stateNode}function bi(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c=l&&f>=v&&e<=m&&g<=r){a.splice(b,1);break}else if(!(d!==l||c.width!==k.width||rg)){v>f&&(k.height+=v-f,k.y=f);re)){l>d&&(k.width+=\nl-d,k.x=d);mc&&(c=g)),g \")+\"\\n\\nNo matching component was found for:\\n \")+a.join(\" > \")}return null};\nexports.getPublicRootInstance=function(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return Fa(a.child.stateNode);default:return a.child.stateNode}};\nexports.injectIntoDevTools=function(a){a={bundleType:a.bundleType,version:a.version,rendererPackageName:a.rendererPackageName,rendererConfig:a.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ea.ReactCurrentDispatcher,findHostInstanceByFiber:di,findFiberByHostInstance:a.findFiberByHostInstance||\nei,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.0.0-fc46dba67-20220329\"};if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)a=!1;else{var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)a=!0;else{try{Nc=b.inject(a),Oc=b}catch(c){}a=b.checkDCE?!0:!1}}return a};exports.isAlreadyRendering=function(){return!1};\nexports.observeVisibleRects=function(a,b,c,d){if(!bb)throw Error(n(363));a=kh(a,b);var e=ib(a,c,d).disconnect;return{disconnect:function(){e()}}};exports.registerMutableSourceForHydration=function(a,b){var c=b._getVersion;c=c(b._source);null==a.mutableSourceEagerHydrationData?a.mutableSourceEagerHydrationData=[b,c]:a.mutableSourceEagerHydrationData.push(b,c)};exports.runWithPriority=function(a,b){var c=D;try{return D=a,b()}finally{D=c}};exports.shouldError=function(){return null};\nexports.shouldSuspend=function(){return!1};exports.updateContainer=function(a,b,c,d){var e=b.current,f=H(),g=zd(e);c=$h(c);null===b.context?b.context=c:b.pendingContext=c;b=qd(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);rd(e,b);a=Ad(e,g,f);null!==a&&sd(a,e,g);return g};\n\n return exports;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-reconciler.production.min.js');\n} else {\n module.exports = require('./cjs/react-reconciler.development.js');\n}\n","import * as THREE from 'three';\nimport * as React from 'react';\nimport { DefaultEventPriority, ContinuousEventPriority, DiscreteEventPriority, ConcurrentRoot } from 'react-reconciler/constants';\nimport create from 'zustand';\nimport Reconciler from 'react-reconciler';\nimport { unstable_scheduleCallback, unstable_IdlePriority } from 'scheduler';\nimport { suspend, preload, clear } from 'suspend-react';\n\nvar threeTypes = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nconst isOrthographicCamera = def => def && def.isOrthographicCamera; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect on the client.\n\nconst isSSR = typeof window === 'undefined' || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\nconst useIsomorphicLayoutEffect = isSSR ? React.useEffect : React.useLayoutEffect;\nfunction useMutableCallback(fn) {\n const ref = React.useRef(fn);\n useIsomorphicLayoutEffect(() => void (ref.current = fn), [fn]);\n return ref;\n}\nfunction Block({\n set\n}) {\n useIsomorphicLayoutEffect(() => {\n set(new Promise(() => null));\n return () => set(false);\n }, [set]);\n return null;\n}\nclass ErrorBoundary extends React.Component {\n constructor(...args) {\n super(...args);\n this.state = {\n error: false\n };\n }\n\n componentDidCatch(error) {\n this.props.set(error);\n }\n\n render() {\n return this.state.error ? null : this.props.children;\n }\n\n}\n\nErrorBoundary.getDerivedStateFromError = () => ({\n error: true\n});\n\nconst DEFAULT = '__default';\nconst isDiffSet = def => def && !!def.memoized && !!def.changes;\nfunction calculateDpr(dpr) {\n return Array.isArray(dpr) ? Math.min(Math.max(dpr[0], window.devicePixelRatio), dpr[1]) : dpr;\n}\n/**\n * Returns instance root state\n */\n\nconst getRootState = obj => {\n var _r3f;\n\n return (_r3f = obj.__r3f) == null ? void 0 : _r3f.root.getState();\n};\n// A collection of compare functions\nconst is = {\n obj: a => a === Object(a) && !is.arr(a) && typeof a !== 'function',\n fun: a => typeof a === 'function',\n str: a => typeof a === 'string',\n num: a => typeof a === 'number',\n boo: a => typeof a === 'boolean',\n und: a => a === void 0,\n arr: a => Array.isArray(a),\n\n equ(a, b, {\n arrays = 'shallow',\n objects = 'reference',\n strict = true\n } = {}) {\n // Wrong type or one of the two undefined, doesn't match\n if (typeof a !== typeof b || !!a !== !!b) return false; // Atomic, just compare a against b\n\n if (is.str(a) || is.num(a)) return a === b;\n const isObj = is.obj(a);\n if (isObj && objects === 'reference') return a === b;\n const isArr = is.arr(a);\n if (isArr && arrays === 'reference') return a === b; // Array or Object, shallow compare first to see if it's a match\n\n if ((isArr || isObj) && a === b) return true; // Last resort, go through keys\n\n let i;\n\n for (i in a) if (!(i in b)) return false;\n\n for (i in strict ? b : a) if (a[i] !== b[i]) return false;\n\n if (is.und(i)) {\n if (isArr && a.length === 0 && b.length === 0) return true;\n if (isObj && Object.keys(a).length === 0 && Object.keys(b).length === 0) return true;\n if (a !== b) return false;\n }\n\n return true;\n }\n\n}; // Collects nodes and materials from a THREE.Object3D\n\nfunction buildGraph(object) {\n const data = {\n nodes: {},\n materials: {}\n };\n\n if (object) {\n object.traverse(obj => {\n if (obj.name) data.nodes[obj.name] = obj;\n if (obj.material && !data.materials[obj.material.name]) data.materials[obj.material.name] = obj.material;\n });\n }\n\n return data;\n} // Disposes an object and all its properties\n\nfunction dispose(obj) {\n if (obj.dispose && obj.type !== 'Scene') obj.dispose();\n\n for (const p in obj) {\n p.dispose == null ? void 0 : p.dispose();\n delete obj[p];\n }\n} // Each object in the scene carries a small LocalState descriptor\n\nfunction prepare(object, state) {\n const instance = object;\n\n if (state != null && state.primitive || !instance.__r3f) {\n instance.__r3f = {\n type: '',\n root: null,\n previousAttach: null,\n memoizedProps: {},\n eventCount: 0,\n handlers: {},\n objects: [],\n parent: null,\n ...state\n };\n }\n\n return object;\n}\n\nfunction resolve(instance, key) {\n let target = instance;\n\n if (key.includes('-')) {\n const entries = key.split('-');\n const last = entries.pop();\n target = entries.reduce((acc, key) => acc[key], instance);\n return {\n target,\n key: last\n };\n } else return {\n target,\n key\n };\n} // Checks if a dash-cased string ends with an integer\n\n\nconst INDEX_REGEX = /-\\d+$/;\nfunction attach(parent, child, type) {\n if (is.str(type)) {\n // If attaching into an array (foo-0), create one\n if (INDEX_REGEX.test(type)) {\n const root = type.replace(INDEX_REGEX, '');\n const {\n target,\n key\n } = resolve(parent, root);\n if (!Array.isArray(target[key])) target[key] = [];\n }\n\n const {\n target,\n key\n } = resolve(parent, type);\n child.__r3f.previousAttach = target[key];\n target[key] = child;\n } else child.__r3f.previousAttach = type(parent, child);\n}\nfunction detach(parent, child, type) {\n var _child$__r3f, _child$__r3f2;\n\n if (is.str(type)) {\n const {\n target,\n key\n } = resolve(parent, type);\n const previous = child.__r3f.previousAttach; // When the previous value was undefined, it means the value was never set to begin with\n\n if (previous === undefined) delete target[key]; // Otherwise set the previous value\n else target[key] = previous;\n } else (_child$__r3f = child.__r3f) == null ? void 0 : _child$__r3f.previousAttach == null ? void 0 : _child$__r3f.previousAttach(parent, child);\n\n (_child$__r3f2 = child.__r3f) == null ? true : delete _child$__r3f2.previousAttach;\n} // This function prepares a set of changes to be applied to the instance\n\nfunction diffProps(instance, {\n children: cN,\n key: kN,\n ref: rN,\n ...props\n}, {\n children: cP,\n key: kP,\n ref: rP,\n ...previous\n} = {}, remove = false) {\n var _instance$__r3f;\n\n const localState = (_instance$__r3f = instance == null ? void 0 : instance.__r3f) != null ? _instance$__r3f : {};\n const entries = Object.entries(props);\n const changes = []; // Catch removed props, prepend them so they can be reset or removed\n\n if (remove) {\n const previousKeys = Object.keys(previous);\n\n for (let i = 0; i < previousKeys.length; i++) {\n if (!props.hasOwnProperty(previousKeys[i])) entries.unshift([previousKeys[i], DEFAULT + 'remove']);\n }\n }\n\n entries.forEach(([key, value]) => {\n var _instance$__r3f2;\n\n // Bail out on primitive object\n if ((_instance$__r3f2 = instance.__r3f) != null && _instance$__r3f2.primitive && key === 'object') return; // When props match bail out\n\n if (is.equ(value, previous[key])) return; // Collect handlers and bail out\n\n if (/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(key)) return changes.push([key, value, true, []]); // Split dashed props\n\n let entries = [];\n if (key.includes('-')) entries = key.split('-');\n changes.push([key, value, false, entries]);\n });\n const memoized = { ...props\n };\n if (localState.memoizedProps && localState.memoizedProps.args) memoized.args = localState.memoizedProps.args;\n if (localState.memoizedProps && localState.memoizedProps.attach) memoized.attach = localState.memoizedProps.attach;\n return {\n memoized,\n changes\n };\n} // This function applies a set of changes to the instance\n\nfunction applyProps$1(instance, data) {\n var _instance$__r3f3, _root$getState;\n\n // Filter equals, events and reserved props\n const localState = (_instance$__r3f3 = instance.__r3f) != null ? _instance$__r3f3 : {};\n const root = localState.root;\n const rootState = (_root$getState = root == null ? void 0 : root.getState == null ? void 0 : root.getState()) != null ? _root$getState : {};\n const {\n memoized,\n changes\n } = isDiffSet(data) ? data : diffProps(instance, data);\n const prevHandlers = localState.eventCount; // Prepare memoized props\n\n if (instance.__r3f) instance.__r3f.memoizedProps = memoized;\n changes.forEach(([key, value, isEvent, keys]) => {\n let currentInstance = instance;\n let targetProp = currentInstance[key]; // Revolve dashed props\n\n if (keys.length) {\n targetProp = keys.reduce((acc, key) => acc[key], instance); // If the target is atomic, it forces us to switch the root\n\n if (!(targetProp && targetProp.set)) {\n const [name, ...reverseEntries] = keys.reverse();\n currentInstance = reverseEntries.reverse().reduce((acc, key) => acc[key], instance);\n key = name;\n }\n } // https://github.com/mrdoob/three.js/issues/21209\n // HMR/fast-refresh relies on the ability to cancel out props, but threejs\n // has no means to do this. Hence we curate a small collection of value-classes\n // with their respective constructor/set arguments\n // For removed props, try to set default values, if possible\n\n\n if (value === DEFAULT + 'remove') {\n if (targetProp && targetProp.constructor) {\n var _memoized$args;\n\n // use the prop constructor to find the default it should be\n value = new targetProp.constructor(...((_memoized$args = memoized.args) != null ? _memoized$args : []));\n } else if (currentInstance.constructor) {\n var _currentInstance$__r;\n\n // create a blank slate of the instance and copy the particular parameter.\n // @ts-ignore\n const defaultClassCall = new currentInstance.constructor(...((_currentInstance$__r = currentInstance.__r3f.memoizedProps.args) != null ? _currentInstance$__r : []));\n value = defaultClassCall[targetProp]; // destory the instance\n\n if (defaultClassCall.dispose) defaultClassCall.dispose(); // instance does not have constructor, just set it to 0\n } else {\n value = 0;\n }\n } // Deal with pointer events ...\n\n\n if (isEvent) {\n if (value) localState.handlers[key] = value;else delete localState.handlers[key];\n localState.eventCount = Object.keys(localState.handlers).length;\n } // Special treatment for objects with support for set/copy, and layers\n else if (targetProp && targetProp.set && (targetProp.copy || targetProp instanceof THREE.Layers)) {\n // If value is an array\n if (Array.isArray(value)) {\n if (targetProp.fromArray) targetProp.fromArray(value);else targetProp.set(...value);\n } // Test again target.copy(class) next ...\n else if (targetProp.copy && value && value.constructor && targetProp.constructor.name === value.constructor.name) {\n targetProp.copy(value);\n } // If nothing else fits, just set the single value, ignore undefined\n // https://github.com/pmndrs/react-three-fiber/issues/274\n else if (value !== undefined) {\n const isColor = targetProp instanceof THREE.Color; // Allow setting array scalars\n\n if (!isColor && targetProp.setScalar) targetProp.setScalar(value); // Layers have no copy function, we must therefore copy the mask property\n else if (targetProp instanceof THREE.Layers && value instanceof THREE.Layers) targetProp.mask = value.mask; // Otherwise just set ...\n else targetProp.set(value); // For versions of three which don't support THREE.ColorManagement,\n // Auto-convert sRGB colors\n // https://github.com/pmndrs/react-three-fiber/issues/344\n\n const supportsColorManagement = ('ColorManagement' in THREE);\n if (!supportsColorManagement && !rootState.linear && isColor) targetProp.convertSRGBToLinear();\n } // Else, just overwrite the value\n\n } else {\n currentInstance[key] = value; // Auto-convert sRGB textures, for now ...\n // https://github.com/pmndrs/react-three-fiber/issues/344\n\n if (!rootState.linear && currentInstance[key] instanceof THREE.Texture) {\n currentInstance[key].encoding = THREE.sRGBEncoding;\n }\n }\n\n invalidateInstance(instance);\n });\n\n if (localState.parent && rootState.internal && instance.raycast && prevHandlers !== localState.eventCount) {\n // Pre-emptively remove the instance from the interaction manager\n const index = rootState.internal.interaction.indexOf(instance);\n if (index > -1) rootState.internal.interaction.splice(index, 1); // Add the instance to the interaction manager only when it has handlers\n\n if (localState.eventCount) rootState.internal.interaction.push(instance);\n } // Call the update lifecycle when it is being updated, but only when it is part of the scene\n\n\n if (changes.length && instance.parent) updateInstance(instance);\n return instance;\n}\nfunction invalidateInstance(instance) {\n var _instance$__r3f4, _instance$__r3f4$root;\n\n const state = (_instance$__r3f4 = instance.__r3f) == null ? void 0 : (_instance$__r3f4$root = _instance$__r3f4.root) == null ? void 0 : _instance$__r3f4$root.getState == null ? void 0 : _instance$__r3f4$root.getState();\n if (state && state.internal.frames === 0) state.invalidate();\n}\nfunction updateInstance(instance) {\n instance.onUpdate == null ? void 0 : instance.onUpdate(instance);\n}\nfunction updateCamera(camera, size) {\n // https://github.com/pmndrs/react-three-fiber/issues/92\n // Do not mess with the camera if it belongs to the user\n if (!camera.manual) {\n if (isOrthographicCamera(camera)) {\n camera.left = size.width / -2;\n camera.right = size.width / 2;\n camera.top = size.height / 2;\n camera.bottom = size.height / -2;\n } else {\n camera.aspect = size.width / size.height;\n }\n\n camera.updateProjectionMatrix(); // https://github.com/pmndrs/react-three-fiber/issues/178\n // Update matrix world since the renderer is a frame late\n\n camera.updateMatrixWorld();\n }\n}\n/**\n * Safely sets a deeply-nested value on an object.\n */\n\nfunction setDeep(obj, value, keys) {\n const key = keys.pop();\n const target = keys.reduce((acc, key) => acc[key], obj);\n return target[key] = value;\n}\n\nfunction makeId(event) {\n return (event.eventObject || event.object).uuid + '/' + event.index + event.instanceId;\n} // https://github.com/facebook/react/tree/main/packages/react-reconciler#getcurrenteventpriority\n// Gives React a clue as to how import the current interaction is\n\n\nfunction getEventPriority() {\n var _window, _window$event;\n\n let name = (_window = window) == null ? void 0 : (_window$event = _window.event) == null ? void 0 : _window$event.type;\n\n switch (name) {\n case 'click':\n case 'contextmenu':\n case 'dblclick':\n case 'pointercancel':\n case 'pointerdown':\n case 'pointerup':\n return DiscreteEventPriority;\n\n case 'pointermove':\n case 'pointerout':\n case 'pointerover':\n case 'pointerenter':\n case 'pointerleave':\n case 'wheel':\n return ContinuousEventPriority;\n\n default:\n return DefaultEventPriority;\n }\n}\n/**\n * Release pointer captures.\n * This is called by releasePointerCapture in the API, and when an object is removed.\n */\n\nfunction releaseInternalPointerCapture(capturedMap, obj, captures, pointerId) {\n const captureData = captures.get(obj);\n\n if (captureData) {\n captures.delete(obj); // If this was the last capturing object for this pointer\n\n if (captures.size === 0) {\n capturedMap.delete(pointerId);\n captureData.target.releasePointerCapture(pointerId);\n }\n }\n}\n\nfunction removeInteractivity(store, object) {\n const {\n internal\n } = store.getState(); // Removes every trace of an object from the data store\n\n internal.interaction = internal.interaction.filter(o => o !== object);\n internal.initialHits = internal.initialHits.filter(o => o !== object);\n internal.hovered.forEach((value, key) => {\n if (value.eventObject === object || value.object === object) {\n // Clear out intersects, they are outdated by now\n internal.hovered.delete(key);\n }\n });\n internal.capturedMap.forEach((captures, pointerId) => {\n releaseInternalPointerCapture(internal.capturedMap, object, captures, pointerId);\n });\n}\nfunction createEvents(store) {\n const temp = new THREE.Vector3();\n /** Calculates delta */\n\n function calculateDistance(event) {\n const {\n internal\n } = store.getState();\n const dx = event.offsetX - internal.initialClick[0];\n const dy = event.offsetY - internal.initialClick[1];\n return Math.round(Math.sqrt(dx * dx + dy * dy));\n }\n /** Returns true if an instance has a valid pointer-event registered, this excludes scroll, clicks etc */\n\n\n function filterPointerEvents(objects) {\n return objects.filter(obj => ['Move', 'Over', 'Enter', 'Out', 'Leave'].some(name => {\n var _r3f;\n\n return (_r3f = obj.__r3f) == null ? void 0 : _r3f.handlers['onPointer' + name];\n }));\n }\n\n function intersect(event, filter) {\n const state = store.getState();\n const duplicates = new Set();\n const intersections = []; // Allow callers to eliminate event objects\n\n const eventsObjects = filter ? filter(state.internal.interaction) : state.internal.interaction; // Reset all raycaster cameras to undefined\n\n eventsObjects.forEach(obj => {\n const state = getRootState(obj);\n\n if (state) {\n state.raycaster.camera = undefined;\n }\n });\n\n if (!state.previousRoot) {\n // Make sure root-level pointer and ray are set up\n state.events.compute == null ? void 0 : state.events.compute(event, state);\n } // Collect events\n\n\n let hits = eventsObjects // Intersect objects\n .flatMap(obj => {\n const state = getRootState(obj); // Skip event handling when noEvents is set, or when the raycasters camera is null\n\n if (!state || !state.events.enabled || state.raycaster.camera === null) return []; // When the camera is undefined we have to call the event layers update function\n\n if (state.raycaster.camera === undefined) {\n var _state$previousRoot;\n\n state.events.compute == null ? void 0 : state.events.compute(event, state, (_state$previousRoot = state.previousRoot) == null ? void 0 : _state$previousRoot.getState()); // If the camera is still undefined we have to skip this layer entirely\n\n if (state.raycaster.camera === undefined) state.raycaster.camera = null;\n } // Intersect object by object\n\n\n return state.raycaster.camera ? state.raycaster.intersectObject(obj, true) : [];\n }) // Sort by event priority and distance\n .sort((a, b) => {\n const aState = getRootState(a.object);\n const bState = getRootState(b.object);\n if (!aState || !bState) return 0;\n return bState.events.priority - aState.events.priority || a.distance - b.distance;\n }) // Filter out duplicates\n .filter(item => {\n const id = makeId(item);\n if (duplicates.has(id)) return false;\n duplicates.add(id);\n return true;\n }); // https://github.com/mrdoob/three.js/issues/16031\n // Allow custom userland intersect sort order, this likely only makes sense on the root filter\n\n if (state.events.filter) hits = state.events.filter(hits, state); // Bubble up the events, find the event source (eventObject)\n\n for (const hit of hits) {\n let eventObject = hit.object; // Bubble event up\n\n while (eventObject) {\n var _r3f2;\n\n if ((_r3f2 = eventObject.__r3f) != null && _r3f2.eventCount) intersections.push({ ...hit,\n eventObject\n });\n eventObject = eventObject.parent;\n }\n } // If the interaction is captured, make all capturing targets part of the intersect.\n\n\n if ('pointerId' in event && state.internal.capturedMap.has(event.pointerId)) {\n for (let captureData of state.internal.capturedMap.get(event.pointerId).values()) {\n intersections.push(captureData.intersection);\n }\n }\n\n return intersections;\n }\n /** Handles intersections by forwarding them to handlers */\n\n\n function handleIntersects(intersections, event, delta, callback) {\n const {\n raycaster,\n pointer,\n camera,\n internal\n } = store.getState(); // If anything has been found, forward it to the event listeners\n\n if (intersections.length) {\n const unprojectedPoint = temp.set(pointer.x, pointer.y, 0).unproject(camera);\n const localState = {\n stopped: false\n };\n\n for (const hit of intersections) {\n const hasPointerCapture = id => {\n var _internal$capturedMap, _internal$capturedMap2;\n\n return (_internal$capturedMap = (_internal$capturedMap2 = internal.capturedMap.get(id)) == null ? void 0 : _internal$capturedMap2.has(hit.eventObject)) != null ? _internal$capturedMap : false;\n };\n\n const setPointerCapture = id => {\n const captureData = {\n intersection: hit,\n target: event.target\n };\n\n if (internal.capturedMap.has(id)) {\n // if the pointerId was previously captured, we add the hit to the\n // event capturedMap.\n internal.capturedMap.get(id).set(hit.eventObject, captureData);\n } else {\n // if the pointerId was not previously captured, we create a map\n // containing the hitObject, and the hit. hitObject is used for\n // faster access.\n internal.capturedMap.set(id, new Map([[hit.eventObject, captureData]]));\n } // Call the original event now\n event.target.setPointerCapture(id);\n };\n\n const releasePointerCapture = id => {\n const captures = internal.capturedMap.get(id);\n\n if (captures) {\n releaseInternalPointerCapture(internal.capturedMap, hit.eventObject, captures, id);\n }\n }; // Add native event props\n\n\n let extractEventProps = {}; // This iterates over the event's properties including the inherited ones. Native PointerEvents have most of their props as getters which are inherited, but polyfilled PointerEvents have them all as their own properties (i.e. not inherited). We can't use Object.keys() or Object.entries() as they only return \"own\" properties; nor Object.getPrototypeOf(event) as that *doesn't* return \"own\" properties, only inherited ones.\n\n for (let prop in event) {\n let property = event[prop]; // Only copy over atomics, leave functions alone as these should be\n // called as event.nativeEvent.fn()\n\n if (typeof property !== 'function') extractEventProps[prop] = property;\n }\n\n let raycastEvent = { ...hit,\n ...extractEventProps,\n pointer,\n intersections,\n stopped: localState.stopped,\n delta,\n unprojectedPoint,\n ray: raycaster.ray,\n camera: camera,\n // Hijack stopPropagation, which just sets a flag\n stopPropagation: () => {\n // https://github.com/pmndrs/react-three-fiber/issues/596\n // Events are not allowed to stop propagation if the pointer has been captured\n const capturesForPointer = 'pointerId' in event && internal.capturedMap.get(event.pointerId); // We only authorize stopPropagation...\n\n if ( // ...if this pointer hasn't been captured\n !capturesForPointer || // ... or if the hit object is capturing the pointer\n capturesForPointer.has(hit.eventObject)) {\n raycastEvent.stopped = localState.stopped = true; // Propagation is stopped, remove all other hover records\n // An event handler is only allowed to flush other handlers if it is hovered itself\n\n if (internal.hovered.size && Array.from(internal.hovered.values()).find(i => i.eventObject === hit.eventObject)) {\n // Objects cannot flush out higher up objects that have already caught the event\n const higher = intersections.slice(0, intersections.indexOf(hit));\n cancelPointer([...higher, hit]);\n }\n }\n },\n // there should be a distinction between target and currentTarget\n target: {\n hasPointerCapture,\n setPointerCapture,\n releasePointerCapture\n },\n currentTarget: {\n hasPointerCapture,\n setPointerCapture,\n releasePointerCapture\n },\n nativeEvent: event\n }; // Call subscribers\n\n callback(raycastEvent); // Event bubbling may be interrupted by stopPropagation\n\n if (localState.stopped === true) break;\n }\n }\n\n return intersections;\n }\n\n function cancelPointer(intersections) {\n const {\n internal\n } = store.getState();\n Array.from(internal.hovered.values()).forEach(hoveredObj => {\n // When no objects were hit or the the hovered object wasn't found underneath the cursor\n // we call onPointerOut and delete the object from the hovered-elements map\n if (!intersections.length || !intersections.find(hit => hit.object === hoveredObj.object && hit.index === hoveredObj.index && hit.instanceId === hoveredObj.instanceId)) {\n const eventObject = hoveredObj.eventObject;\n const instance = eventObject.__r3f;\n const handlers = instance == null ? void 0 : instance.handlers;\n internal.hovered.delete(makeId(hoveredObj));\n\n if (instance != null && instance.eventCount) {\n // Clear out intersects, they are outdated by now\n const data = { ...hoveredObj,\n intersections\n };\n handlers.onPointerOut == null ? void 0 : handlers.onPointerOut(data);\n handlers.onPointerLeave == null ? void 0 : handlers.onPointerLeave(data);\n }\n }\n });\n }\n\n const handlePointer = name => {\n // Deal with cancelation\n switch (name) {\n case 'onPointerLeave':\n case 'onPointerCancel':\n return () => cancelPointer([]);\n\n case 'onLostPointerCapture':\n return event => {\n const {\n internal\n } = store.getState();\n\n if ('pointerId' in event && !internal.capturedMap.has(event.pointerId)) {\n // If the object event interface had onLostPointerCapture, we'd call it here on every\n // object that's getting removed.\n internal.capturedMap.delete(event.pointerId);\n cancelPointer([]);\n }\n };\n } // Any other pointer goes here ...\n\n\n return event => {\n const {\n onPointerMissed,\n internal\n } = store.getState(); //prepareRay(event)\n\n internal.lastEvent.current = event; // Get fresh intersects\n\n const isPointerMove = name === 'onPointerMove';\n const isClickEvent = name === 'onClick' || name === 'onContextMenu' || name === 'onDoubleClick';\n const filter = isPointerMove ? filterPointerEvents : undefined; //const hits = patchIntersects(intersect(filter), event)\n\n const hits = intersect(event, filter);\n const delta = isClickEvent ? calculateDistance(event) : 0; // Save initial coordinates on pointer-down\n\n if (name === 'onPointerDown') {\n internal.initialClick = [event.offsetX, event.offsetY];\n internal.initialHits = hits.map(hit => hit.eventObject);\n } // If a click yields no results, pass it back to the user as a miss\n // Missed events have to come first in order to establish user-land side-effect clean up\n\n\n if (isClickEvent && !hits.length) {\n if (delta <= 2) {\n pointerMissed(event, internal.interaction);\n if (onPointerMissed) onPointerMissed(event);\n }\n } // Take care of unhover\n\n\n if (isPointerMove) cancelPointer(hits);\n handleIntersects(hits, event, delta, data => {\n const eventObject = data.eventObject;\n const instance = eventObject.__r3f;\n const handlers = instance == null ? void 0 : instance.handlers; // Check presence of handlers\n\n if (!(instance != null && instance.eventCount)) return;\n\n if (isPointerMove) {\n // Move event ...\n if (handlers.onPointerOver || handlers.onPointerEnter || handlers.onPointerOut || handlers.onPointerLeave) {\n // When enter or out is present take care of hover-state\n const id = makeId(data);\n const hoveredItem = internal.hovered.get(id);\n\n if (!hoveredItem) {\n // If the object wasn't previously hovered, book it and call its handler\n internal.hovered.set(id, data);\n handlers.onPointerOver == null ? void 0 : handlers.onPointerOver(data);\n handlers.onPointerEnter == null ? void 0 : handlers.onPointerEnter(data);\n } else if (hoveredItem.stopped) {\n // If the object was previously hovered and stopped, we shouldn't allow other items to proceed\n data.stopPropagation();\n }\n } // Call mouse move\n\n\n handlers.onPointerMove == null ? void 0 : handlers.onPointerMove(data);\n } else {\n // All other events ...\n const handler = handlers[name];\n\n if (handler) {\n // Forward all events back to their respective handlers with the exception of click events,\n // which must use the initial target\n if (!isClickEvent || internal.initialHits.includes(eventObject)) {\n // Missed events have to come first\n pointerMissed(event, internal.interaction.filter(object => !internal.initialHits.includes(object))); // Now call the handler\n\n handler(data);\n }\n } else {\n // Trigger onPointerMissed on all elements that have pointer over/out handlers, but not click and weren't hit\n if (isClickEvent && internal.initialHits.includes(eventObject)) {\n pointerMissed(event, internal.interaction.filter(object => !internal.initialHits.includes(object)));\n }\n }\n }\n });\n };\n };\n\n function pointerMissed(event, objects) {\n objects.forEach(object => {\n var _r3f3;\n\n return (_r3f3 = object.__r3f) == null ? void 0 : _r3f3.handlers.onPointerMissed == null ? void 0 : _r3f3.handlers.onPointerMissed(event);\n });\n }\n\n return {\n handlePointer\n };\n}\n\nlet catalogue = {};\n\nlet extend = objects => void (catalogue = { ...catalogue,\n ...objects\n});\n\nfunction createRenderer(_roots, _getEventPriority) {\n function createInstance(type, {\n args = [],\n attach,\n ...props\n }, root) {\n let name = `${type[0].toUpperCase()}${type.slice(1)}`;\n let instance; // Auto-attach geometries and materials\n\n if (attach === undefined) {\n if (name.endsWith('Geometry')) attach = 'geometry';else if (name.endsWith('Material')) attach = 'material';\n }\n\n if (type === 'primitive') {\n if (props.object === undefined) throw `Primitives without 'object' are invalid!`;\n const object = props.object;\n instance = prepare(object, {\n type,\n root,\n attach,\n primitive: true\n });\n } else {\n const target = catalogue[name];\n\n if (!target) {\n throw `${name} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`;\n } // Throw if an object or literal was passed for args\n\n\n if (!Array.isArray(args)) throw 'The args prop must be an array!'; // Instanciate new object, link it to the root\n // Append memoized props with args so it's not forgotten\n\n instance = prepare(new target(...args), {\n type,\n root,\n attach,\n // Save args in case we need to reconstruct later for HMR\n memoizedProps: {\n args\n }\n });\n } // It should NOT call onUpdate on object instanciation, because it hasn't been added to the\n // view yet. If the callback relies on references for instance, they won't be ready yet, this is\n // why it passes \"true\" here\n // There is no reason to apply props to injects\n\n\n if (name !== 'inject') applyProps$1(instance, props);\n return instance;\n }\n\n function appendChild(parentInstance, child) {\n let added = false;\n\n if (child) {\n var _child$__r3f, _parentInstance$__r3f;\n\n // The attach attribute implies that the object attaches itself on the parent\n if ((_child$__r3f = child.__r3f) != null && _child$__r3f.attach) {\n attach(parentInstance, child, child.__r3f.attach);\n } else if (child.isObject3D && parentInstance.isObject3D) {\n // add in the usual parent-child way\n parentInstance.add(child);\n added = true;\n } // This is for anything that used attach, and for non-Object3Ds that don't get attached to props;\n // that is, anything that's a child in React but not a child in the scenegraph.\n\n\n if (!added) (_parentInstance$__r3f = parentInstance.__r3f) == null ? void 0 : _parentInstance$__r3f.objects.push(child);\n if (!child.__r3f) prepare(child, {});\n child.__r3f.parent = parentInstance;\n updateInstance(child);\n invalidateInstance(child);\n }\n }\n\n function insertBefore(parentInstance, child, beforeChild) {\n let added = false;\n\n if (child) {\n var _child$__r3f2, _parentInstance$__r3f2;\n\n if ((_child$__r3f2 = child.__r3f) != null && _child$__r3f2.attach) {\n attach(parentInstance, child, child.__r3f.attach);\n } else if (child.isObject3D && parentInstance.isObject3D) {\n child.parent = parentInstance;\n child.dispatchEvent({\n type: 'added'\n });\n const restSiblings = parentInstance.children.filter(sibling => sibling !== child);\n const index = restSiblings.indexOf(beforeChild);\n parentInstance.children = [...restSiblings.slice(0, index), child, ...restSiblings.slice(index)];\n added = true;\n }\n\n if (!added) (_parentInstance$__r3f2 = parentInstance.__r3f) == null ? void 0 : _parentInstance$__r3f2.objects.push(child);\n if (!child.__r3f) prepare(child, {});\n child.__r3f.parent = parentInstance;\n updateInstance(child);\n invalidateInstance(child);\n }\n }\n\n function removeRecursive(array, parent, dispose = false) {\n if (array) [...array].forEach(child => removeChild(parent, child, dispose));\n }\n\n function removeChild(parentInstance, child, dispose) {\n if (child) {\n var _parentInstance$__r3f3, _child$__r3f3, _child$__r3f5;\n\n // Clear the parent reference\n if (child.__r3f) child.__r3f.parent = null; // Remove child from the parents objects\n\n if ((_parentInstance$__r3f3 = parentInstance.__r3f) != null && _parentInstance$__r3f3.objects) parentInstance.__r3f.objects = parentInstance.__r3f.objects.filter(x => x !== child); // Remove attachment\n\n if ((_child$__r3f3 = child.__r3f) != null && _child$__r3f3.attach) {\n detach(parentInstance, child, child.__r3f.attach);\n } else if (child.isObject3D && parentInstance.isObject3D) {\n var _child$__r3f4;\n\n parentInstance.remove(child); // Remove interactivity\n\n if ((_child$__r3f4 = child.__r3f) != null && _child$__r3f4.root) {\n removeInteractivity(child.__r3f.root, child);\n }\n } // Allow objects to bail out of recursive dispose altogether by passing dispose={null}\n // Never dispose of primitives because their state may be kept outside of React!\n // In order for an object to be able to dispose it has to have\n // - a dispose method,\n // - it cannot be a \n // - it cannot be a THREE.Scene, because three has broken it's own api\n //\n // Since disposal is recursive, we can check the optional dispose arg, which will be undefined\n // when the reconciler calls it, but then carry our own check recursively\n\n\n const isPrimitive = (_child$__r3f5 = child.__r3f) == null ? void 0 : _child$__r3f5.primitive;\n const shouldDispose = dispose === undefined ? child.dispose !== null && !isPrimitive : dispose; // Remove nested child objects. Primitives should not have objects and children that are\n // attached to them declaratively ...\n\n if (!isPrimitive) {\n var _child$__r3f6;\n\n removeRecursive((_child$__r3f6 = child.__r3f) == null ? void 0 : _child$__r3f6.objects, child, shouldDispose);\n removeRecursive(child.children, child, shouldDispose);\n } // Remove references\n\n\n if (child.__r3f) {\n delete child.__r3f.root;\n delete child.__r3f.objects;\n delete child.__r3f.handlers;\n delete child.__r3f.memoizedProps;\n if (!isPrimitive) delete child.__r3f;\n } // Dispose item whenever the reconciler feels like it\n\n\n if (shouldDispose && child.dispose && child.type !== 'Scene') {\n unstable_scheduleCallback(unstable_IdlePriority, () => {\n try {\n child.dispose();\n } catch (e) {\n /* ... */\n }\n });\n }\n\n invalidateInstance(parentInstance);\n }\n }\n\n function switchInstance(instance, type, newProps, fiber) {\n var _instance$__r3f;\n\n const parent = (_instance$__r3f = instance.__r3f) == null ? void 0 : _instance$__r3f.parent;\n if (!parent) return;\n const newInstance = createInstance(type, newProps, instance.__r3f.root); // https://github.com/pmndrs/react-three-fiber/issues/1348\n // When args change the instance has to be re-constructed, which then\n // forces r3f to re-parent the children and non-scene objects\n // This can not include primitives, which should not have declarative children\n\n if (type !== 'primitive' && instance.children) {\n instance.children.forEach(child => appendChild(newInstance, child));\n instance.children = [];\n }\n\n instance.__r3f.objects.forEach(child => appendChild(newInstance, child));\n\n instance.__r3f.objects = [];\n removeChild(parent, instance);\n appendChild(parent, newInstance); // Re-bind event handlers\n\n if (newInstance.raycast && newInstance.__r3f.eventCount) {\n const rootState = newInstance.__r3f.root.getState();\n\n rootState.internal.interaction.push(newInstance);\n } // This evil hack switches the react-internal fiber node\n [fiber, fiber.alternate].forEach(fiber => {\n if (fiber !== null) {\n fiber.stateNode = newInstance;\n\n if (fiber.ref) {\n if (typeof fiber.ref === 'function') fiber.ref(newInstance);else fiber.ref.current = newInstance;\n }\n }\n });\n }\n\n const reconciler = Reconciler({\n createInstance,\n removeChild,\n appendChild,\n appendInitialChild: appendChild,\n insertBefore,\n supportsMutation: true,\n isPrimaryRenderer: false,\n supportsPersistence: false,\n supportsHydration: false,\n noTimeout: -1,\n appendChildToContainer: (container, child) => {\n const scene = container.getState().scene; // Link current root to the default scene\n\n scene.__r3f.root = container;\n appendChild(scene, child);\n },\n removeChildFromContainer: (container, child) => removeChild(container.getState().scene, child),\n insertInContainerBefore: (container, child, beforeChild) => insertBefore(container.getState().scene, child, beforeChild),\n getRootHostContext: () => null,\n getChildHostContext: parentHostContext => parentHostContext,\n\n finalizeInitialChildren(instance) {\n var _instance$__r3f2;\n\n const localState = (_instance$__r3f2 = instance == null ? void 0 : instance.__r3f) != null ? _instance$__r3f2 : {}; // https://github.com/facebook/react/issues/20271\n // Returning true will trigger commitMount\n\n return Boolean(localState.handlers);\n },\n\n prepareUpdate(instance, _type, oldProps, newProps) {\n // Create diff-sets\n if (instance.__r3f.primitive && newProps.object && newProps.object !== instance) {\n return [true];\n } else {\n // This is a data object, let's extract critical information about it\n const {\n args: argsNew = [],\n children: cN,\n ...restNew\n } = newProps;\n const {\n args: argsOld = [],\n children: cO,\n ...restOld\n } = oldProps; // Throw if an object or literal was passed for args\n\n if (!Array.isArray(argsNew)) throw 'The args prop must be an array!'; // If it has new props or arguments, then it needs to be re-instantiated\n\n if (argsNew.some((value, index) => value !== argsOld[index])) return [true]; // Create a diff-set, flag if there are any changes\n\n const diff = diffProps(instance, restNew, restOld, true);\n if (diff.changes.length) return [false, diff]; // Otherwise do not touch the instance\n\n return null;\n }\n },\n\n commitUpdate(instance, [reconstruct, diff], type, _oldProps, newProps, fiber) {\n // Reconstruct when args or instance,\n prepareForCommit: () => null,\n preparePortalMount: container => prepare(container.getState().scene),\n resetAfterCommit: () => {},\n shouldSetTextContent: () => false,\n clearContainer: () => false,\n\n hideInstance(instance) {\n var _instance$__r3f4;\n\n // Deatch while the instance is hidden\n const {\n attach: type,\n parent\n } = (_instance$__r3f4 = instance == null ? void 0 : instance.__r3f) != null ? _instance$__r3f4 : {};\n if (type && parent) detach(parent, instance, type);\n if (instance.isObject3D) instance.visible = false;\n invalidateInstance(instance);\n },\n\n unhideInstance(instance, props) {\n var _instance$__r3f5;\n\n // Re-attach when the instance is unhidden\n const {\n attach: type,\n parent\n } = (_instance$__r3f5 = instance == null ? void 0 : instance.__r3f) != null ? _instance$__r3f5 : {};\n if (type && parent) attach(parent, instance, type);\n if (instance.isObject3D && props.visible == null || props.visible) instance.visible = true;\n invalidateInstance(instance);\n },\n\n createTextInstance: () => {\n throw new Error('Text is not allowed in the R3F tree.');\n },\n hideTextInstance: () => {\n throw new Error('Text is not allowed in the R3F tree.');\n },\n unhideTextInstance: () => {},\n // https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r916356874\n // @ts-ignore\n getCurrentEventPriority: () => _getEventPriority ? _getEventPriority() : DefaultEventPriority,\n beforeActiveInstanceBlur: () => {},\n afterActiveInstanceBlur: () => {},\n detachDeletedInstance: () => {},\n now: typeof performance !== 'undefined' && is.fun(performance.now) ? performance.now : is.fun(Date.now) ? Date.now : () => 0,\n // https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r920883503\n scheduleTimeout: is.fun(setTimeout) ? setTimeout : undefined,\n cancelTimeout: is.fun(clearTimeout) ? clearTimeout : undefined\n });\n return {\n reconciler,\n applyProps: applyProps$1\n };\n}\n\nconst privateKeys = ['set', 'get', 'setSize', 'setFrameloop', 'setDpr', 'events', 'invalidate', 'advance', 'size', 'viewport'];\nconst isRenderer = def => !!(def != null && def.render);\nconst context = /*#__PURE__*/React.createContext(null);\n\nconst createStore = (invalidate, advance) => {\n const rootState = create((set, get) => {\n const position = new THREE.Vector3();\n const defaultTarget = new THREE.Vector3();\n const tempTarget = new THREE.Vector3();\n\n function getCurrentViewport(camera = get().camera, target = defaultTarget, size = get().size) {\n const {\n width,\n height,\n top,\n left\n } = size;\n const aspect = width / height;\n if (target instanceof THREE.Vector3) tempTarget.copy(target);else tempTarget.set(...target);\n const distance = camera.getWorldPosition(position).distanceTo(tempTarget);\n\n if (isOrthographicCamera(camera)) {\n return {\n width: width / camera.zoom,\n height: height / camera.zoom,\n top,\n left,\n factor: 1,\n distance,\n aspect\n };\n } else {\n const fov = camera.fov * Math.PI / 180; // convert vertical fov to radians\n\n const h = 2 * Math.tan(fov / 2) * distance; // visible height\n\n const w = h * (width / height);\n return {\n width: w,\n height: h,\n top,\n left,\n factor: width / w,\n distance,\n aspect\n };\n }\n }\n\n let performanceTimeout = undefined;\n\n const setPerformanceCurrent = current => set(state => ({\n performance: { ...state.performance,\n current\n }\n }));\n\n const pointer = new THREE.Vector2();\n const rootState = {\n set,\n get,\n // Mock objects that have to be configured\n gl: null,\n camera: null,\n raycaster: null,\n events: {\n priority: 1,\n enabled: true,\n connected: false\n },\n xr: null,\n invalidate: (frames = 1) => invalidate(get(), frames),\n advance: (timestamp, runGlobalEffects) => advance(timestamp, runGlobalEffects, get()),\n legacy: false,\n linear: false,\n flat: false,\n scene: prepare(new THREE.Scene()),\n controls: null,\n clock: new THREE.Clock(),\n pointer,\n mouse: pointer,\n frameloop: 'always',\n onPointerMissed: undefined,\n performance: {\n current: 1,\n min: 0.5,\n max: 1,\n debounce: 200,\n regress: () => {\n const state = get(); // Clear timeout\n\n if (performanceTimeout) clearTimeout(performanceTimeout); // Set lower bound performance\n\n if (state.performance.current !== state.performance.min) setPerformanceCurrent(state.performance.min); // Go back to upper bound performance after a while unless something regresses meanwhile\n\n performanceTimeout = setTimeout(() => setPerformanceCurrent(get().performance.max), state.performance.debounce);\n }\n },\n size: {\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n updateStyle: false\n },\n viewport: {\n initialDpr: 0,\n dpr: 0,\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n aspect: 0,\n distance: 0,\n factor: 0,\n getCurrentViewport\n },\n setEvents: events => set(state => ({ ...state,\n events: { ...state.events,\n ...events\n }\n })),\n setSize: (width, height, updateStyle, top, left) => {\n const camera = get().camera;\n const size = {\n width,\n height,\n top: top || 0,\n left: left || 0,\n updateStyle\n };\n set(state => ({\n size,\n viewport: { ...state.viewport,\n ...getCurrentViewport(camera, defaultTarget, size)\n }\n }));\n },\n setDpr: dpr => set(state => {\n const resolved = calculateDpr(dpr);\n return {\n viewport: { ...state.viewport,\n dpr: resolved,\n initialDpr: state.viewport.initialDpr || resolved\n }\n };\n }),\n setFrameloop: (frameloop = 'always') => {\n const clock = get().clock; // if frameloop === \"never\" clock.elapsedTime is updated using advance(timestamp)\n\n clock.stop();\n clock.elapsedTime = 0;\n\n if (frameloop !== 'never') {\n clock.start();\n clock.elapsedTime = 0;\n }\n\n set(() => ({\n frameloop\n }));\n },\n previousRoot: undefined,\n internal: {\n active: false,\n priority: 0,\n frames: 0,\n lastEvent: /*#__PURE__*/React.createRef(),\n interaction: [],\n hovered: new Map(),\n subscribers: [],\n initialClick: [0, 0],\n initialHits: [],\n capturedMap: new Map(),\n subscribe: (ref, priority, store) => {\n const internal = get().internal; // If this subscription was given a priority, it takes rendering into its own hands\n // For that reason we switch off automatic rendering and increase the manual flag\n // As long as this flag is positive there can be no internal rendering at all\n // because there could be multiple render subscriptions\n\n internal.priority = internal.priority + (priority > 0 ? 1 : 0);\n internal.subscribers.push({\n ref,\n priority,\n store\n }); // Register subscriber and sort layers from lowest to highest, meaning,\n // highest priority renders last (on top of the other frames)\n\n internal.subscribers = internal.subscribers.sort((a, b) => a.priority - b.priority);\n return () => {\n const internal = get().internal;\n\n if (internal != null && internal.subscribers) {\n // Decrease manual flag if this subscription had a priority\n internal.priority = internal.priority - (priority > 0 ? 1 : 0); // Remove subscriber from list\n\n internal.subscribers = internal.subscribers.filter(s => s.ref !== ref);\n }\n };\n }\n }\n };\n return rootState;\n });\n const state = rootState.getState();\n let oldSize = state.size;\n let oldDpr = state.viewport.dpr;\n let oldCamera = state.camera;\n rootState.subscribe(() => {\n const {\n camera,\n size,\n viewport,\n gl,\n set\n } = rootState.getState(); // Resize camera and renderer on changes to size and pixelratio\n\n if (size !== oldSize || viewport.dpr !== oldDpr) {\n oldSize = size;\n oldDpr = viewport.dpr; // Update camera & renderer\n\n updateCamera(camera, size);\n gl.setPixelRatio(viewport.dpr);\n gl.setSize(size.width, size.height, size.updateStyle);\n } // Update viewport once the camera changes\n\n\n if (camera !== oldCamera) {\n oldCamera = camera; // Update viewport\n\n set(state => ({\n viewport: { ...state.viewport,\n ...state.viewport.getCurrentViewport(camera)\n }\n }));\n }\n }); // Invalidate on any change\n\n rootState.subscribe(state => invalidate(state)); // Return root state\n\n return rootState;\n};\n\nfunction createSubs(callback, subs) {\n const sub = {\n callback\n };\n subs.add(sub);\n return () => void subs.delete(sub);\n}\n\nlet i;\nlet globalEffects = new Set();\nlet globalAfterEffects = new Set();\nlet globalTailEffects = new Set();\n/**\n * Adds a global render callback which is called each frame.\n * @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#addEffect\n */\n\nconst addEffect = callback => createSubs(callback, globalEffects);\n/**\n * Adds a global after-render callback which is called each frame.\n * @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#addAfterEffect\n */\n\nconst addAfterEffect = callback => createSubs(callback, globalAfterEffects);\n/**\n * Adds a global callback which is called when rendering stops.\n * @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#addTail\n */\n\nconst addTail = callback => createSubs(callback, globalTailEffects);\n\nfunction run(effects, timestamp) {\n effects.forEach(({\n callback\n }) => callback(timestamp));\n}\n\nlet subscribers;\nlet subscription;\n\nfunction render$1(timestamp, state, frame) {\n // Run local effects\n let delta = state.clock.getDelta(); // In frameloop='never' mode, clock times are updated using the provided timestamp\n\n if (state.frameloop === 'never' && typeof timestamp === 'number') {\n delta = timestamp - state.clock.elapsedTime;\n state.clock.oldTime = state.clock.elapsedTime;\n state.clock.elapsedTime = timestamp;\n } // Call subscribers (useFrame)\n\n\n subscribers = state.internal.subscribers;\n\n for (i = 0; i < subscribers.length; i++) {\n subscription = subscribers[i];\n subscription.ref.current(subscription.store.getState(), delta, frame);\n } // Render content\n\n\n if (!state.internal.priority && state.gl.render) state.gl.render(state.scene, state.camera); // Decrease frame count\n\n state.internal.frames = Math.max(0, state.internal.frames - 1);\n return state.frameloop === 'always' ? 1 : state.internal.frames;\n}\n\nfunction createLoop(roots) {\n let running = false;\n let repeat;\n let frame;\n let state;\n\n function loop(timestamp) {\n frame = requestAnimationFrame(loop);\n running = true;\n repeat = 0; // Run effects\n\n if (globalEffects.size) run(globalEffects, timestamp); // Render all roots\n\n roots.forEach(root => {\n var _state$gl$xr;\n\n state = root.store.getState(); // If the frameloop is invalidated, do not run another frame\n\n if (state.internal.active && (state.frameloop === 'always' || state.internal.frames > 0) && !((_state$gl$xr = state.gl.xr) != null && _state$gl$xr.isPresenting)) {\n repeat += render$1(timestamp, state);\n }\n }); // Run after-effects\n\n if (globalAfterEffects.size) run(globalAfterEffects, timestamp); // Stop the loop if nothing invalidates it\n\n if (repeat === 0) {\n // Tail call effects, they are called when rendering stops\n if (globalTailEffects.size) run(globalTailEffects, timestamp); // Flag end of operation\n\n running = false;\n return cancelAnimationFrame(frame);\n }\n }\n\n function invalidate(state, frames = 1) {\n var _state$gl$xr2;\n\n if (!state) return roots.forEach(root => invalidate(root.store.getState()), frames);\n if ((_state$gl$xr2 = state.gl.xr) != null && _state$gl$xr2.isPresenting || !state.internal.active || state.frameloop === 'never') return; // Increase frames, do not go higher than 60\n\n state.internal.frames = Math.min(60, state.internal.frames + frames); // If the render-loop isn't active, start it\n\n if (!running) {\n running = true;\n requestAnimationFrame(loop);\n }\n }\n\n function advance(timestamp, runGlobalEffects = true, state, frame) {\n if (runGlobalEffects) run(globalEffects, timestamp);\n if (!state) roots.forEach(root => render$1(timestamp, root.store.getState()));else render$1(timestamp, state, frame);\n if (runGlobalEffects) run(globalAfterEffects, timestamp);\n }\n\n return {\n loop,\n\n /**\n * Invalidates the view, requesting a frame to be rendered. Will globally invalidate unless passed a root's state.\n * @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#invalidate\n */\n invalidate,\n\n /**\n * Advances the frameloop and runs render effects, useful for when manually rendering via `frameloop=\"never\"`.\n * @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#advance\n */\n advance\n };\n}\n\nfunction useStore() {\n const store = React.useContext(context);\n if (!store) throw `R3F hooks can only be used within the Canvas component!`;\n return store;\n}\n/**\n * Accesses R3F's internal state, containing renderer, canvas, scene, etc.\n * @see https://docs.pmnd.rs/react-three-fiber/api/hooks#usethree\n */\n\nfunction useThree(selector = state => state, equalityFn) {\n return useStore()(selector, equalityFn);\n}\n/**\n * Executes a callback before render in a shared frame loop.\n * Can order effects with render priority or manually render with a positive priority.\n * @see https://docs.pmnd.rs/react-three-fiber/api/hooks#useframe\n */\n\nfunction useFrame(callback, renderPriority = 0) {\n const store = useStore();\n const subscribe = store.getState().internal.subscribe; // Memoize ref\n\n const ref = useMutableCallback(callback); // Subscribe on mount, unsubscribe on unmount\n\n useIsomorphicLayoutEffect(() => subscribe(ref, renderPriority, store), [renderPriority, subscribe, store]);\n return null;\n}\n/**\n * Returns a node graph of an object with named nodes & materials.\n * @see https://docs.pmnd.rs/react-three-fiber/api/hooks#usegraph\n */\n\nfunction useGraph(object) {\n return React.useMemo(() => buildGraph(object), [object]);\n}\n\nfunction loadingFn(extensions, onProgress) {\n return function (Proto, ...input) {\n // Construct new loader and run extensions\n const loader = new Proto();\n if (extensions) extensions(loader); // Go through the urls and load them\n\n return Promise.all(input.map(input => new Promise((res, reject) => loader.load(input, data => {\n if (data.scene) Object.assign(data, buildGraph(data.scene));\n res(data);\n }, onProgress, error => reject(`Could not load ${input}: ${error.message}`)))));\n };\n}\n/**\n * Synchronously loads and caches assets with a three loader.\n *\n * Note: this hook's caller must be wrapped with `React.Suspense`\n * @see https://docs.pmnd.rs/react-three-fiber/api/hooks#useloader\n */\n\n\nfunction useLoader(Proto, input, extensions, onProgress) {\n // Use suspense to load async assets\n const keys = Array.isArray(input) ? input : [input];\n const results = suspend(loadingFn(extensions, onProgress), [Proto, ...keys], {\n equal: is.equ\n }); // Return the object/s\n\n return Array.isArray(input) ? results : results[0];\n}\n/**\n * Preloads an asset into cache as a side-effect.\n */\n\nuseLoader.preload = function (Proto, input, extensions) {\n const keys = Array.isArray(input) ? input : [input];\n return preload(loadingFn(extensions), [Proto, ...keys]);\n};\n/**\n * Removes a loaded asset from cache.\n */\n\n\nuseLoader.clear = function (Proto, input) {\n const keys = Array.isArray(input) ? input : [input];\n return clear([Proto, ...keys]);\n};\n\nconst roots = new Map();\nconst {\n invalidate,\n advance\n} = createLoop(roots);\nconst {\n reconciler,\n applyProps\n} = createRenderer(roots, getEventPriority);\nconst shallowLoose = {\n objects: 'shallow',\n strict: false\n};\n\nconst createRendererInstance = (gl, canvas) => {\n const customRenderer = typeof gl === 'function' ? gl(canvas) : gl;\n if (isRenderer(customRenderer)) return customRenderer;else return new THREE.WebGLRenderer({\n powerPreference: 'high-performance',\n canvas: canvas,\n antialias: true,\n alpha: true,\n ...gl\n });\n};\n\nfunction createRoot(canvas) {\n // Check against mistaken use of createRoot\n let prevRoot = roots.get(canvas);\n let prevFiber = prevRoot == null ? void 0 : prevRoot.fiber;\n let prevStore = prevRoot == null ? void 0 : prevRoot.store;\n if (prevRoot) console.warn('R3F.createRoot should only be called once!'); // Report when an error was detected in a previous render\n // https://github.com/pmndrs/react-three-fiber/pull/2261\n\n const logRecoverableError = typeof reportError === 'function' ? // In modern browsers, reportError will dispatch an error event,\n // emulating an uncaught JavaScript error.\n reportError : // In older browsers and test environments, fallback to console.error.\n console.error; // Create store\n\n const store = prevStore || createStore(invalidate, advance); // Create renderer\n\n const fiber = prevFiber || reconciler.createContainer(store, ConcurrentRoot, null, false, null, '', logRecoverableError, null); // Map it\n\n if (!prevRoot) roots.set(canvas, {\n fiber,\n store\n }); // Locals\n\n let onCreated;\n let configured = false;\n return {\n configure(props = {}) {\n let {\n gl: glConfig,\n size,\n events,\n onCreated: onCreatedCallback,\n shadows = false,\n linear = false,\n flat = false,\n legacy = false,\n orthographic = false,\n frameloop = 'always',\n dpr = [1, 2],\n performance,\n raycaster: raycastOptions,\n camera: cameraOptions,\n onPointerMissed\n } = props;\n let state = store.getState(); // Set up renderer (one time only!)\n\n let gl = state.gl;\n if (!state.gl) state.set({\n gl: gl = createRendererInstance(glConfig, canvas)\n }); // Set up raycaster (one time only!)\n\n let raycaster = state.raycaster;\n if (!raycaster) state.set({\n raycaster: raycaster = new THREE.Raycaster()\n }); // Set raycaster options\n\n const {\n params,\n ...options\n } = raycastOptions || {};\n if (!is.equ(options, raycaster, shallowLoose)) applyProps(raycaster, { ...options\n });\n if (!is.equ(params, raycaster.params, shallowLoose)) applyProps(raycaster, {\n params: { ...raycaster.params,\n ...params\n }\n }); // Create default camera (one time only!)\n\n if (!state.camera) {\n const isCamera = cameraOptions instanceof THREE.Camera;\n const camera = isCamera ? cameraOptions : orthographic ? new THREE.OrthographicCamera(0, 0, 0, 0, 0.1, 1000) : new THREE.PerspectiveCamera(75, 0, 0.1, 1000);\n\n if (!isCamera) {\n camera.position.z = 5;\n if (cameraOptions) applyProps(camera, cameraOptions); // Always look at center by default\n\n if (!(cameraOptions != null && cameraOptions.rotation)) camera.lookAt(0, 0, 0);\n }\n\n state.set({\n camera\n });\n } // Set up XR (one time only!)\n\n\n if (!state.xr) {\n // Handle frame behavior in WebXR\n const handleXRFrame = (timestamp, frame) => {\n const state = store.getState();\n if (state.frameloop === 'never') return;\n advance(timestamp, true, state, frame);\n }; // Toggle render switching on session\n\n\n const handleSessionChange = () => {\n const state = store.getState();\n state.gl.xr.enabled = state.gl.xr.isPresenting;\n state.gl.xr.setAnimationLoop(state.gl.xr.isPresenting ? handleXRFrame : null);\n if (!state.gl.xr.isPresenting) invalidate(state);\n }; // WebXR session manager\n\n\n const xr = {\n connect() {\n const gl = store.getState().gl;\n gl.xr.addEventListener('sessionstart', handleSessionChange);\n gl.xr.addEventListener('sessionend', handleSessionChange);\n },\n\n disconnect() {\n const gl = store.getState().gl;\n gl.xr.removeEventListener('sessionstart', handleSessionChange);\n gl.xr.removeEventListener('sessionend', handleSessionChange);\n }\n\n }; // Subscribe to WebXR session events\n\n if (gl.xr) xr.connect();\n state.set({\n xr\n });\n } // Set shadowmap\n\n\n if (gl.shadowMap) {\n const isBoolean = is.boo(shadows);\n\n if (isBoolean && gl.shadowMap.enabled !== shadows || !is.equ(shadows, gl.shadowMap, shallowLoose)) {\n const old = gl.shadowMap.enabled;\n gl.shadowMap.enabled = !!shadows;\n if (!isBoolean) Object.assign(gl.shadowMap, shadows);else gl.shadowMap.type = THREE.PCFSoftShadowMap;\n if (old !== gl.shadowMap.enabled) gl.shadowMap.needsUpdate = true;\n }\n } // Safely set color management if available.\n // Avoid accessing THREE.ColorManagement to play nice with older versions\n\n\n if ('ColorManagement' in THREE) {\n setDeep(THREE, legacy, ['ColorManagement', 'legacyMode']);\n }\n\n const outputEncoding = linear ? THREE.LinearEncoding : THREE.sRGBEncoding;\n const toneMapping = flat ? THREE.NoToneMapping : THREE.ACESFilmicToneMapping;\n if (gl.outputEncoding !== outputEncoding) gl.outputEncoding = outputEncoding;\n if (gl.toneMapping !== toneMapping) gl.toneMapping = toneMapping; // Update color management state\n\n if (state.legacy !== legacy) state.set(() => ({\n legacy\n }));\n if (state.linear !== linear) state.set(() => ({\n linear\n }));\n if (state.flat !== flat) state.set(() => ({\n flat\n })); // Set gl props\n\n if (glConfig && !is.fun(glConfig) && !isRenderer(glConfig) && !is.equ(glConfig, gl, shallowLoose)) applyProps(gl, glConfig); // Store events internally\n\n if (events && !state.events.handlers) state.set({\n events: events(store)\n }); // Check pixelratio\n\n if (dpr && state.viewport.dpr !== calculateDpr(dpr)) state.setDpr(dpr); // Check size, allow it to take on container bounds initially\n\n size = size || (canvas.parentElement ? {\n width: canvas.parentElement.clientWidth,\n height: canvas.parentElement.clientHeight,\n top: canvas.parentElement.clientTop,\n left: canvas.parentElement.clientLeft\n } : {\n width: 0,\n height: 0,\n top: 0,\n left: 0\n });\n\n if (!is.equ(size, state.size, shallowLoose)) {\n state.setSize(size.width, size.height, size.updateStyle, size.top, size.left);\n } // Check frameloop\n\n\n if (state.frameloop !== frameloop) state.setFrameloop(frameloop); // Check pointer missed\n\n if (!state.onPointerMissed) state.set({\n onPointerMissed\n }); // Check performance\n\n if (performance && !is.equ(performance, state.performance, shallowLoose)) state.set(state => ({\n performance: { ...state.performance,\n ...performance\n }\n })); // Set locals\n\n onCreated = onCreatedCallback;\n configured = true;\n return this;\n },\n\n render(children) {\n // The root has to be configured before it can be rendered\n if (!configured) this.configure();\n reconciler.updateContainer( /*#__PURE__*/React.createElement(Provider, {\n store: store,\n children: children,\n onCreated: onCreated,\n rootElement: canvas\n }), fiber, null, () => undefined);\n return store;\n },\n\n unmount() {\n unmountComponentAtNode(canvas);\n }\n\n };\n}\n\nfunction render(children, canvas, config) {\n console.warn('R3F.render is no longer supported in React 18. Use createRoot instead!');\n const root = createRoot(canvas);\n root.configure(config);\n return root.render(children);\n}\n\nfunction Provider({\n store,\n children,\n onCreated,\n rootElement\n}) {\n useIsomorphicLayoutEffect(() => {\n const state = store.getState(); // Flag the canvas active, rendering will now begin\n\n state.set(state => ({\n internal: { ...state.internal,\n active: true\n }\n })); // Notifiy that init is completed, the scene graph exists, but nothing has yet rendered\n\n if (onCreated) onCreated(state); // Connect events to the targets parent, this is done to ensure events are registered on\n // a shared target, and not on the canvas itself\n\n if (!store.getState().events.connected) state.events.connect == null ? void 0 : state.events.connect(rootElement); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return /*#__PURE__*/React.createElement(context.Provider, {\n value: store\n }, children);\n}\n\nfunction unmountComponentAtNode(canvas, callback) {\n const root = roots.get(canvas);\n const fiber = root == null ? void 0 : root.fiber;\n\n if (fiber) {\n const state = root == null ? void 0 : root.store.getState();\n if (state) state.internal.active = false;\n reconciler.updateContainer(null, fiber, null, () => {\n if (state) {\n setTimeout(() => {\n try {\n var _state$gl, _state$gl$renderLists, _state$gl2, _state$gl3;\n\n state.events.disconnect == null ? void 0 : state.events.disconnect();\n (_state$gl = state.gl) == null ? void 0 : (_state$gl$renderLists = _state$gl.renderLists) == null ? void 0 : _state$gl$renderLists.dispose == null ? void 0 : _state$gl$renderLists.dispose();\n (_state$gl2 = state.gl) == null ? void 0 : _state$gl2.forceContextLoss == null ? void 0 : _state$gl2.forceContextLoss();\n if ((_state$gl3 = state.gl) != null && _state$gl3.xr) state.xr.disconnect();\n dispose(state);\n roots.delete(canvas);\n if (callback) callback(canvas);\n } catch (e) {\n /* ... */\n }\n }, 500);\n }\n });\n }\n}\n\nfunction createPortal(children, container, state) {\n return /*#__PURE__*/React.createElement(Portal, {\n key: container.uuid,\n children: children,\n container: container,\n state: state\n });\n}\n\nfunction Portal({\n state = {},\n children,\n container\n}) {\n /** This has to be a component because it would not be able to call useThree/useStore otherwise since\n * if this is our environment, then we are not in r3f's renderer but in react-dom, it would trigger\n * the \"R3F hooks can only be used within the Canvas component!\" warning:\n * \n * {createPortal(...)} */\n const {\n events,\n size,\n ...rest\n } = state;\n const previousRoot = useStore();\n const [raycaster] = React.useState(() => new THREE.Raycaster());\n const [pointer] = React.useState(() => new THREE.Vector2());\n const inject = React.useCallback((rootState, injectState) => {\n const intersect = { ...rootState\n }; // all prev state props\n // Only the fields of \"rootState\" that do not differ from injectState\n // Some props should be off-limits\n // Otherwise filter out the props that are different and let the inject layer take precedence\n\n Object.keys(rootState).forEach(key => {\n if ( // Some props should be off-limits\n privateKeys.includes(key) || // Otherwise filter out the props that are different and let the inject layer take precedence\n rootState[key] !== injectState[key]) {\n delete intersect[key];\n }\n });\n let viewport = undefined;\n\n if (injectState && size) {\n const camera = injectState.camera; // Calculate the override viewport, if present\n\n viewport = rootState.viewport.getCurrentViewport(camera, new THREE.Vector3(), size); // Update the portal camera, if it differs from the previous layer\n\n if (camera !== rootState.camera) updateCamera(camera, size);\n }\n\n return { // The intersect consists of the previous root state\n ...intersect,\n // Portals have their own scene, which forms the root, a raycaster and a pointer\n scene: container,\n raycaster,\n pointer,\n mouse: pointer,\n // Their previous root is the layer before it\n previousRoot,\n // Events, size and viewport can be overridden by the inject layer\n events: { ...rootState.events,\n ...(injectState == null ? void 0 : injectState.events),\n ...events\n },\n size: { ...rootState.size,\n ...size\n },\n viewport: { ...rootState.viewport,\n ...viewport\n },\n ...rest\n };\n }, [state]);\n const [usePortalStore] = React.useState(() => {\n // Create a mirrored store, based on the previous root with a few overrides ...\n const previousState = previousRoot.getState();\n const store = create((set, get) => ({ ...previousState,\n scene: container,\n raycaster,\n pointer,\n mouse: pointer,\n previousRoot,\n events: { ...previousState.events,\n ...events\n },\n size: { ...previousState.size,\n ...size\n },\n ...rest,\n // Set and get refer to this root-state\n set,\n get,\n // Layers are allowed to override events\n setEvents: events => set(state => ({ ...state,\n events: { ...state.events,\n ...events\n }\n }))\n }));\n return store;\n });\n React.useEffect(() => {\n // Subscribe to previous root-state and copy changes over to the mirrored portal-state\n const unsub = previousRoot.subscribe(prev => usePortalStore.setState(state => inject(prev, state)));\n return () => {\n unsub();\n usePortalStore.destroy();\n };\n }, []);\n React.useEffect(() => {\n usePortalStore.setState(injectState => inject(previousRoot.getState(), injectState));\n }, [inject]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, reconciler.createPortal( /*#__PURE__*/React.createElement(context.Provider, {\n value: usePortalStore\n }, children), usePortalStore, null));\n}\n\nreconciler.injectIntoDevTools({\n bundleType: process.env.NODE_ENV === 'production' ? 0 : 1,\n rendererPackageName: '@react-three/fiber',\n version: React.version\n});\nconst act = React.unstable_act;\n\nexport { Block as B, ErrorBoundary as E, createRoot as a, useIsomorphicLayoutEffect as b, createEvents as c, unmountComponentAtNode as d, extend as e, context as f, createPortal as g, reconciler as h, applyProps as i, dispose as j, invalidate as k, advance as l, addEffect as m, addAfterEffect as n, addTail as o, getRootState as p, act as q, render as r, roots as s, threeTypes as t, useMutableCallback as u, useStore as v, useThree as w, useFrame as x, useGraph as y, useLoader as z };\n"],"names":["REVISION","MOUSE","TOUCH","CullFaceNone","CullFaceBack","CullFaceFront","CullFaceFrontBack","BasicShadowMap","PCFShadowMap","PCFSoftShadowMap","VSMShadowMap","FrontSide","BackSide","DoubleSide","FlatShading","SmoothShading","NoBlending","NormalBlending","AdditiveBlending","SubtractiveBlending","MultiplyBlending","CustomBlending","AddEquation","SubtractEquation","ReverseSubtractEquation","MinEquation","MaxEquation","ZeroFactor","OneFactor","SrcColorFactor","OneMinusSrcColorFactor","SrcAlphaFactor","OneMinusSrcAlphaFactor","DstAlphaFactor","OneMinusDstAlphaFactor","DstColorFactor","OneMinusDstColorFactor","SrcAlphaSaturateFactor","NeverDepth","AlwaysDepth","LessDepth","LessEqualDepth","EqualDepth","GreaterEqualDepth","GreaterDepth","NotEqualDepth","MultiplyOperation","MixOperation","AddOperation","NoToneMapping","LinearToneMapping","ReinhardToneMapping","CineonToneMapping","ACESFilmicToneMapping","CustomToneMapping","UVMapping","CubeReflectionMapping","CubeRefractionMapping","EquirectangularReflectionMapping","EquirectangularRefractionMapping","CubeUVReflectionMapping","RepeatWrapping","ClampToEdgeWrapping","MirroredRepeatWrapping","NearestFilter","NearestMipmapNearestFilter","NearestMipMapNearestFilter","NearestMipmapLinearFilter","NearestMipMapLinearFilter","LinearFilter","LinearMipmapNearestFilter","LinearMipMapNearestFilter","LinearMipmapLinearFilter","LinearMipMapLinearFilter","UnsignedByteType","ByteType","ShortType","UnsignedShortType","IntType","UnsignedIntType","FloatType","HalfFloatType","UnsignedShort4444Type","UnsignedShort5551Type","UnsignedInt248Type","AlphaFormat","RGBFormat","RGBAFormat","LuminanceFormat","LuminanceAlphaFormat","DepthFormat","DepthStencilFormat","RedFormat","RedIntegerFormat","RGFormat","RGIntegerFormat","RGBAIntegerFormat","RGB_S3TC_DXT1_Format","RGBA_S3TC_DXT1_Format","RGBA_S3TC_DXT3_Format","RGBA_S3TC_DXT5_Format","RGB_PVRTC_4BPPV1_Format","RGB_PVRTC_2BPPV1_Format","RGBA_PVRTC_4BPPV1_Format","RGBA_PVRTC_2BPPV1_Format","RGB_ETC1_Format","RGB_ETC2_Format","RGBA_ETC2_EAC_Format","RGBA_ASTC_4x4_Format","RGBA_ASTC_5x4_Format","RGBA_ASTC_5x5_Format","RGBA_ASTC_6x5_Format","RGBA_ASTC_6x6_Format","RGBA_ASTC_8x5_Format","RGBA_ASTC_8x6_Format","RGBA_ASTC_8x8_Format","RGBA_ASTC_10x5_Format","RGBA_ASTC_10x6_Format","RGBA_ASTC_10x8_Format","RGBA_ASTC_10x10_Format","RGBA_ASTC_12x10_Format","RGBA_ASTC_12x12_Format","RGBA_BPTC_Format","LoopOnce","LoopRepeat","LoopPingPong","InterpolateDiscrete","InterpolateLinear","InterpolateSmooth","ZeroCurvatureEnding","ZeroSlopeEnding","WrapAroundEnding","NormalAnimationBlendMode","AdditiveAnimationBlendMode","TrianglesDrawMode","TriangleStripDrawMode","TriangleFanDrawMode","LinearEncoding","sRGBEncoding","BasicDepthPacking","RGBADepthPacking","TangentSpaceNormalMap","ObjectSpaceNormalMap","NoColorSpace","SRGBColorSpace","LinearSRGBColorSpace","ZeroStencilOp","KeepStencilOp","ReplaceStencilOp","IncrementStencilOp","DecrementStencilOp","IncrementWrapStencilOp","DecrementWrapStencilOp","InvertStencilOp","NeverStencilFunc","LessStencilFunc","EqualStencilFunc","LessEqualStencilFunc","GreaterStencilFunc","NotEqualStencilFunc","GreaterEqualStencilFunc","AlwaysStencilFunc","StaticDrawUsage","DynamicDrawUsage","StreamDrawUsage","StaticReadUsage","DynamicReadUsage","StreamReadUsage","StaticCopyUsage","DynamicCopyUsage","StreamCopyUsage","GLSL1","GLSL3","_SRGBAFormat","EventDispatcher","type","listener","listeners","listenerArray","index","event","array","i","l","_lut","_seed","DEG2RAD","RAD2DEG","generateUUID","d0","d1","d2","d3","clamp","value","min","max","euclideanModulo","n","m","mapLinear","x","a1","a2","b1","b2","inverseLerp","y","lerp","damp","lambda","dt","pingpong","length","smoothstep","smootherstep","randInt","low","high","randFloat","randFloatSpread","range","seededRandom","s","t","degToRad","degrees","radToDeg","radians","isPowerOfTwo","ceilPowerOfTwo","floorPowerOfTwo","setQuaternionFromProperEuler","q","a","b","c","order","cos","sin","c2","s2","c13","s13","c1_3","s1_3","c3_1","s3_1","denormalize$1","normalize","MathUtils","Vector2","scalar","v","e","minVal","maxVal","dx","dy","alpha","v1","v2","offset","attribute","center","angle","Matrix3","n11","n12","n13","n21","n22","n23","n31","n32","n33","te","me","xAxis","yAxis","zAxis","ae","be","a11","a12","a13","a21","a22","a23","a31","a32","a33","b11","b12","b13","b21","b22","b23","b31","b32","b33","d","f","g","h","t11","t12","t13","det","detInv","tmp","matrix4","r","tx","ty","sx","sy","rotation","cx","cy","theta","matrix","arrayNeedsUint32","TYPED_ARRAYS","getTypedArray","buffer","createElementNS","name","SRGBToLinear","LinearToSRGB","FN","ColorManagement","colorSpace","color","sourceColorSpace","targetColorSpace","fn","_colorKeywords","_rgb","_hslA","_hslB","hue2rgb","p","toComponents","source","target","Color","hex","style","handleAlpha","string","components","size","hue","saturation","lightness","delta","color1","color2","_canvas","ImageUtils","image","canvas","context","imageData","data","Source","meta","isRootObject","output","url","serializeImage","textureId","Texture","mapping","wrapS","wrapT","magFilter","minFilter","format","anisotropy","encoding","uv","Vector4","z","w","m11","m12","m13","m21","m22","m23","m31","m32","m33","xx","yy","zz","xy","xz","yz","WebGLRenderTarget","width","height","options","depth","DataArrayTexture","WebGLArrayRenderTarget","Data3DTexture","WebGL3DRenderTarget","WebGLMultipleRenderTargets","count","texture","il","Quaternion","dst","dstOffset","src0","srcOffset0","src1","srcOffset1","x0","y0","z0","w0","x1","y1","z1","w1","dir","sqrSin","len","tDir","quaternion","euler","update","c1","c3","s1","s3","axis","halfAngle","trace","vFrom","vTo","step","qax","qay","qaz","qaw","qbx","qby","qbz","qbw","qb","cosHalfTheta","sqrSinHalfTheta","sinHalfTheta","halfTheta","ratioA","ratioB","qa","u1","sqrt1u1","sqrtu1","u2","u3","callback","Vector3","_quaternion$4","qx","qy","qz","qw","ix","iy","iz","iw","camera","ax","ay","az","bx","by","bz","denominator","planeNormal","_vector$c","normal","dz","radius","phi","sinPhiRadius","sz","u","Box3","minX","minY","minZ","maxX","maxY","maxZ","points","halfSize","_vector$b","object","precise","box","point","vector","geometry","position","_box$3","children","sphere","plane","triangle","_center","_extents","_v0$2","_v1$7","_v2$3","_f0","_f1","_f2","axes","satForAxes","_triangleNormal","_points","_testAxis","v0","extents","j","p0","p1","p2","_box$2","_v1$6","_toFarthestPoint","_toPoint","Sphere","optionalCenter","maxRadiusSq","radiusSum","deltaLengthSq","lengthSq","missingRadiusHalf","_vector$a","_segCenter","_segDir","_diff","_edge1","_edge2","_normal$1","Ray","origin","direction","ray","directionDistance","optionalPointOnRay","optionalPointOnSegment","segExtent","a01","b0","s0","sqrDist","extDet","invDet","tca","radius2","thc","t0","t1","distToPoint","tmin","tmax","tymin","tymax","tzmin","tzmax","invdirx","invdiry","invdirz","backfaceCulling","DdN","sign","DdQxE2","DdE1xQ","QdN","Matrix4","n14","n24","n34","n41","n42","n43","n44","scaleX","_v1$5","scaleY","scaleZ","af","bf","ce","cf","de","df","ac","ad","bc","bd","_zero","_one","eye","up","_z","_x","_y","a14","a24","a34","a41","a42","a43","a44","b14","b24","b34","b41","b42","b43","b44","t14","scaleXSq","scaleYSq","scaleZSq","yx","zx","zy","scale","x2","y2","z2","wx","wy","wz","_m1$2","invSX","invSY","invSZ","left","right","top","bottom","near","far","_matrix$1","_quaternion$3","Euler","newOrder","Layers","channel","layers","_object3DId","_v1$4","_q1","_m1$1","_target","_position$3","_scale$2","_quaternion$2","_xAxis","_yAxis","_zAxis","_addedEvent","_removedEvent","Object3D","onRotationChange","onQuaternionChange","distance","parent","id","force","updateParents","updateChildren","serialize","library","element","parameters","shapes","shape","uuids","animation","geometries","extractFromCache","materials","textures","images","skeletons","animations","nodes","cache","values","key","recursive","child","_v0$1","_v1$3","_v2$2","_v3$1","_vab","_vac","_vbc","_vap","_vbp","_vcp","Triangle","targetLengthSq","dot00","dot01","dot02","dot11","dot12","denom","invDenom","p3","uv1","uv2","uv3","i0","i1","i2","d4","vc","d5","d6","vb","va","materialId","Material","newValue","currentValue","srcPlanes","dstPlanes","MeshBasicMaterial","_vector$9","_vector2$1","BufferAttribute","itemSize","normalized","index1","index2","colors","vectors","Int8BufferAttribute","Uint8BufferAttribute","Uint8ClampedBufferAttribute","Int16BufferAttribute","Uint16BufferAttribute","Int32BufferAttribute","Uint32BufferAttribute","Float16BufferAttribute","Float32BufferAttribute","Float64BufferAttribute","_id$1","_m1","_obj","_offset","_box$1","_boxMorphTargets","_vector$8","BufferGeometry","start","materialIndex","normalMatrix","tangent","morphAttributesPosition","morphAttribute","morphTargetsRelative","jl","attributes","indices","positions","normals","uvs","nVertices","tangents","tan1","tan2","vA","vB","vC","uvA","uvB","uvC","sdir","tdir","handleTriangle","groups","group","tmp2","n2","handleVertex","positionAttribute","normalAttribute","pA","pB","pC","nA","nB","nC","cb","ab","attributeArray1","attribute2","attributeArray2","attributeOffset","convertBufferAttribute","array2","geometry2","newAttribute","morphAttributes","morphArray","hasMorphAttributes","attributeArray","boundingSphere","boundingBox","_inverseMatrix$2","_ray$2","_sphere$3","_vA$1","_vB$1","_vC$1","_tempA","_tempB","_tempC","_morphA","_morphB","_morphC","_uvA$1","_uvB$1","_uvC$1","_intersectionPoint","_intersectionPointWorld","Mesh","material","keys","ml","raycaster","intersects","matrixWorld","intersection","morphPosition","drawRange","groupMaterial","end","checkBufferGeometryIntersection","checkIntersection","intersect","morphInfluences","influence","face","BoxGeometry","widthSegments","heightSegments","depthSegments","scope","vertices","numberOfVertices","groupStart","buildPlane","udir","vdir","gridX","gridY","segmentWidth","segmentHeight","widthHalf","heightHalf","depthHalf","gridX1","gridY1","vertexCounter","groupCount","cloneUniforms","src","property","mergeUniforms","uniforms","merged","cloneUniformsGroups","UniformsUtils","default_vertex","default_fragment","ShaderMaterial","extensions","Camera","PerspectiveCamera","fov","aspect","focalLength","vExtentSlope","fullWidth","fullHeight","view","skew","CubeCamera","renderTarget","cameraPX","cameraNX","cameraPY","cameraNY","cameraPZ","cameraNZ","renderer","scene","currentRenderTarget","currentToneMapping","currentXrEnabled","generateMipmaps","CubeTexture","WebGLCubeRenderTarget","shader","mesh","currentMinFilter","stencil","_vector1","_vector2","_normalMatrix","Plane","constant","inverseNormalLength","line","startSign","endSign","optionalNormalMatrix","referencePoint","_sphere$2","_vector$7","Frustum","p4","p5","planes","frustum","me0","me1","me2","me3","me4","me5","me6","me7","me8","me9","me10","me11","me12","me13","me14","me15","sprite","negRadius","WebGLAnimation","isAnimating","animationLoop","requestId","onAnimationFrame","time","frame","WebGLAttributes","gl","capabilities","isWebGL2","buffers","createBuffer","bufferType","usage","updateBuffer","updateRange","get","remove","cached","PlaneGeometry","width_half","height_half","segment_width","segment_height","alphamap_fragment","alphamap_pars_fragment","alphatest_fragment","alphatest_pars_fragment","aomap_fragment","aomap_pars_fragment","begin_vertex","beginnormal_vertex","bsdfs","iridescence_fragment","bumpmap_pars_fragment","clipping_planes_fragment","clipping_planes_pars_fragment","clipping_planes_pars_vertex","clipping_planes_vertex","color_fragment","color_pars_fragment","color_pars_vertex","color_vertex","common","cube_uv_reflection_fragment","defaultnormal_vertex","displacementmap_pars_vertex","displacementmap_vertex","emissivemap_fragment","emissivemap_pars_fragment","encodings_fragment","encodings_pars_fragment","envmap_fragment","envmap_common_pars_fragment","envmap_pars_fragment","envmap_pars_vertex","envmap_vertex","fog_vertex","fog_pars_vertex","fog_fragment","fog_pars_fragment","gradientmap_pars_fragment","lightmap_fragment","lightmap_pars_fragment","lights_lambert_vertex","lights_pars_begin","envmap_physical_pars_fragment","lights_toon_fragment","lights_toon_pars_fragment","lights_phong_fragment","lights_phong_pars_fragment","lights_physical_fragment","lights_physical_pars_fragment","lights_fragment_begin","lights_fragment_maps","lights_fragment_end","logdepthbuf_fragment","logdepthbuf_pars_fragment","logdepthbuf_pars_vertex","logdepthbuf_vertex","map_fragment","map_pars_fragment","map_particle_fragment","map_particle_pars_fragment","metalnessmap_fragment","metalnessmap_pars_fragment","morphcolor_vertex","morphnormal_vertex","morphtarget_pars_vertex","morphtarget_vertex","normal_fragment_begin","normal_fragment_maps","normal_pars_fragment","normal_pars_vertex","normal_vertex","normalmap_pars_fragment","clearcoat_normal_fragment_begin","clearcoat_normal_fragment_maps","clearcoat_pars_fragment","iridescence_pars_fragment","output_fragment","packing","premultiplied_alpha_fragment","project_vertex","dithering_fragment","dithering_pars_fragment","roughnessmap_fragment","roughnessmap_pars_fragment","shadowmap_pars_fragment","shadowmap_pars_vertex","shadowmap_vertex","shadowmask_pars_fragment","skinbase_vertex","skinning_pars_vertex","skinning_vertex","skinnormal_vertex","specularmap_fragment","specularmap_pars_fragment","tonemapping_fragment","tonemapping_pars_fragment","transmission_fragment","transmission_pars_fragment","uv_pars_fragment","uv_pars_vertex","uv_vertex","uv2_pars_fragment","uv2_pars_vertex","uv2_vertex","worldpos_vertex","vertex$g","fragment$g","vertex$f","fragment$f","vertex$e","fragment$e","vertex$d","fragment$d","vertex$c","fragment$c","vertex$b","fragment$b","vertex$a","fragment$a","vertex$9","fragment$9","vertex$8","fragment$8","vertex$7","fragment$7","vertex$6","fragment$6","vertex$5","fragment$5","vertex$4","fragment$4","vertex$3","fragment$3","vertex$2","fragment$2","vertex$1","fragment$1","ShaderChunk","UniformsLib","ShaderLib","WebGLBackground","cubemaps","state","objects","premultipliedAlpha","clearColor","clearAlpha","planeMesh","boxMesh","currentBackground","currentBackgroundVersion","currentTonemapping","render","renderList","forceClear","background","xr","session","setClear","WebGLBindingStates","maxVertexAttributes","extension","vaoAvailable","bindingStates","defaultState","createBindingState","currentState","forceUpdate","setup","program","updateBuffers","getBindingState","bindVertexArrayObject","needsUpdate","saveCache","wireframe","setupVertexAttributes","createVertexArrayObject","vao","deleteVertexArrayObject","programMap","stateMap","newAttributes","enabledAttributes","attributeDivisors","cachedAttributes","geometryAttributes","attributesNum","programAttributes","cachedAttribute","geometryAttribute","initAttributes","enableAttribute","enableAttributeAndDivisor","meshPerAttribute","disableUnusedAttributes","vertexAttribPointer","stride","materialDefaultAttributeValues","programAttribute","bytesPerElement","dispose","reset","geometryId","programId","releaseStatesOfGeometry","releaseStatesOfProgram","resetDefaultState","WebGLBufferRenderer","info","mode","setMode","renderInstances","primcount","methodName","WebGLCapabilities","maxAnisotropy","getMaxAnisotropy","getMaxPrecision","precision","maxPrecision","drawBuffers","logarithmicDepthBuffer","maxTextures","maxVertexTextures","maxTextureSize","maxCubemapSize","maxAttributes","maxVertexUniforms","maxVaryings","maxFragmentUniforms","vertexTextures","floatFragmentTextures","floatVertexTextures","maxSamples","WebGLClipping","properties","globalState","numGlobalPlanes","localClippingEnabled","renderingShadows","viewNormalMatrix","uniform","enableLocalClipping","enabled","projectPlanes","resetGlobalState","useCache","clipIntersection","clipShadows","materialProperties","nGlobal","lGlobal","dstArray","skipTransform","nPlanes","flatSize","viewMatrix","i4","WebGLCubeMaps","mapTextureMapping","cubemap","onTextureDispose","OrthographicCamera","scaleW","scaleH","LOD_MIN","EXTRA_LOD_SIGMA","MAX_SAMPLES","_flatCamera","_clearColor","_oldTarget","PHI","INV_PHI","_axisDirections","PMREMGenerator","sigma","cubeUVRenderTarget","equirectangular","_getCubemapMaterial","_getEquirectMaterial","cubeSize","outputTarget","_setViewport","params","_createRenderTarget","_lodMax","_createPlanes","_getBlurShader","tmpMesh","cubeCamera","upSign","forwardSign","originalAutoClear","toneMapping","backgroundMaterial","backgroundBox","useSolidColor","col","isCubeTexture","autoClear","poleAxis","lodIn","lodOut","pingPongRenderTarget","targetIn","targetOut","sigmaRadians","blurMaterial","STANDARD_DEVIATIONS","blurMesh","blurUniforms","pixels","radiansPerPixel","sigmaPixels","samples","weights","sum","weight","outputSize","lodMax","lodPlanes","sizeLods","sigmas","lod","totalLods","sizeLod","texelSize","cubeFaces","positionSize","uvSize","faceIndexSize","faceIndex","coordinates","fill","_getCommonVertexShader","WebGLCubeUVMaps","cubeUVmaps","pmremGenerator","isEquirectMap","isCubeMap","isCubeTextureComplete","cubemapUV","WebGLExtensions","getExtension","WebGLGeometries","wireframeAttributes","onGeometryDispose","updateWireframeAttribute","geometryIndex","geometryPosition","version","previousAttribute","getWireframeAttribute","currentAttribute","WebGLIndexedBufferRenderer","setIndex","WebGLInfo","memory","instanceCount","numericalSort","absNumericalSort","denormalize","morph","WebGLMorphtargets","influencesList","morphTextures","workInfluences","objectInfluences","morphTargetsCount","entry","disposeTexture","hasMorphPosition","hasMorphNormals","hasMorphColors","morphTargets","morphNormals","morphColors","vertexDataCount","vertexDataStride","morphTarget","morphNormal","morphColor","morphInfluencesSum","morphBaseInfluence","influences","WebGLObjects","updateMap","buffergeometry","onInstancedMeshDispose","instancedMesh","emptyTexture","emptyArrayTexture","empty3dTexture","emptyCubeTexture","arrayCacheF32","arrayCacheI32","mat4array","mat3array","mat2array","flatten","nBlocks","blockSize","firstElem","arraysEqual","copyArray","allocTexUnits","setValueV1f","setValueV2f","setValueV3f","setValueV4f","setValueM2","elements","setValueM3","setValueM4","setValueV1i","setValueV2i","setValueV3i","setValueV4i","setValueV1ui","setValueV2ui","setValueV3ui","setValueV4ui","setValueT1","unit","setValueT3D1","setValueT6","setValueT2DArray1","getSingularSetter","setValueV1fArray","setValueV2fArray","setValueV3fArray","setValueV4fArray","setValueM2Array","setValueM3Array","setValueM4Array","setValueV1iArray","setValueV2iArray","setValueV3iArray","setValueV4iArray","setValueV1uiArray","setValueV2uiArray","setValueV3uiArray","setValueV4uiArray","setValueT1Array","units","setValueT3DArray","setValueT6Array","setValueT2DArrayArray","getPureArraySetter","SingleUniform","activeInfo","addr","PureArrayUniform","StructuredUniform","seq","RePathPart","addUniform","container","uniformObject","parseUniform","path","pathLength","match","matchEnd","idIsIndex","subscript","next","WebGLUniforms","WebGLShader","programIdCount","handleSource","errorLine","lines","lines2","from","to","getEncodingComponents","getShaderErrors","status","errors","errorMatches","getTexelEncodingFunction","functionName","getToneMappingFunction","toneMappingName","generateExtensions","filterEmptyLine","generateDefines","defines","chunks","fetchAttributeLocations","locationSize","replaceLightNums","replaceClippingPlaneNums","includePattern","resolveIncludes","includeReplacer","include","deprecatedUnrollLoopPattern","unrollLoopPattern","unrollLoops","loopReplacer","deprecatedLoopReplacer","snippet","generatePrecision","precisionstring","generateShadowMapTypeDefine","shadowMapTypeDefine","generateEnvMapTypeDefine","envMapTypeDefine","generateEnvMapModeDefine","envMapModeDefine","generateEnvMapBlendingDefine","envMapBlendingDefine","generateCubeUVSize","imageHeight","maxMip","texelHeight","WebGLProgram","cacheKey","vertexShader","fragmentShader","envMapCubeUVSize","customExtensions","customDefines","prefixVertex","prefixFragment","versionString","vertexGlsl","fragmentGlsl","glVertexShader","glFragmentShader","programLog","vertexLog","fragmentLog","runnable","haveDiagnostics","vertexErrors","fragmentErrors","cachedUniforms","_id","WebGLShaderCache","vertexShaderStage","fragmentShaderStage","materialShaders","shaderStage","code","stage","WebGLShaderStage","WebGLPrograms","cubeuvmaps","clipping","_programLayers","_customShaders","programs","shaderIDs","getParameters","lights","shadows","fog","environment","envMap","envMapCubeUVHeight","shaderID","morphTextureStride","customVertexShaderID","customFragmentShaderID","useAlphaTest","useClearcoat","useIridescence","getProgramCacheKey","getProgramCacheKeyParameters","getProgramCacheKeyBooleans","getUniforms","acquireProgram","pl","preexistingProgram","releaseProgram","releaseShaderCache","WebGLProperties","map","painterSortStable","reversePainterSortStable","WebGLRenderList","renderItems","renderItemsIndex","opaque","transmissive","transparent","init","getNextRenderItem","groupOrder","renderItem","push","unshift","sort","customOpaqueSort","customTransparentSort","finish","WebGLRenderLists","lists","renderCallDepth","list","UniformsCache","light","ShadowUniformsCache","nextVersion","shadowCastingLightsFirst","lightA","lightB","WebGLLights","shadowCache","vector3","matrix42","physicallyCorrectLights","directionalLength","pointLength","spotLength","rectAreaLength","hemiLength","numDirectionalShadows","numPointShadows","numSpotShadows","scaleFactor","intensity","shadowMap","shadow","shadowUniforms","hash","setupView","WebGLRenderState","lightsArray","shadowsArray","pushLight","pushShadow","shadowLight","setupLights","setupLightsView","WebGLRenderStates","renderStates","renderState","MeshDepthMaterial","MeshDistanceMaterial","vertex","fragment","WebGLShadowMap","_renderer","_objects","_capabilities","_frustum","_shadowMapSize","_viewportSize","_viewport","_depthMaterial","_distanceMaterial","_materialCache","_maxTextureSize","shadowSide","shadowMaterialVertical","shadowMaterialHorizontal","fullScreenTri","fullScreenMesh","activeCubeFace","activeMipmapLevel","_state","shadowFrameExtents","pars","viewportCount","vp","viewport","renderObject","VSMPass","getDepthMaterial","shadowCameraNear","shadowCameraFar","result","customMaterial","keyA","keyB","materialsForVariant","cachedMaterial","shadowCamera","k","kl","depthMaterial","WebGLState","ColorBuffer","locked","currentColorMask","currentColorClear","colorMask","lock","DepthBuffer","currentDepthMask","currentDepthFunc","currentDepthClear","depthTest","enable","disable","depthMask","depthFunc","StencilBuffer","currentStencilMask","currentStencilFunc","currentStencilRef","currentStencilFuncMask","currentStencilFail","currentStencilZFail","currentStencilZPass","currentStencilClear","stencilTest","stencilMask","stencilFunc","stencilRef","stencilFail","stencilZFail","stencilZPass","colorBuffer","depthBuffer","stencilBuffer","uboBindings","uboProgamMap","enabledCapabilities","currentBoundFramebuffers","currentDrawbuffers","defaultDrawbuffers","currentProgram","currentBlendingEnabled","currentBlending","currentBlendEquation","currentBlendSrc","currentBlendDst","currentBlendEquationAlpha","currentBlendSrcAlpha","currentBlendDstAlpha","currentPremultipledAlpha","currentFlipSided","currentCullFace","currentLineWidth","currentPolygonOffsetFactor","currentPolygonOffsetUnits","lineWidthAvailable","glVersion","currentTextureSlot","currentBoundTextures","scissorParam","viewportParam","currentScissor","currentViewport","createTexture","emptyTextures","setFlipSided","setCullFace","setBlending","bindFramebuffer","framebuffer","useProgram","equationToGL","factorToGL","blending","blendEquation","blendSrc","blendDst","blendEquationAlpha","blendSrcAlpha","blendDstAlpha","setMaterial","frontFaceCW","flipSided","stencilWrite","setPolygonOffset","cullFace","setLineWidth","polygonOffset","factor","setScissorTest","scissorTest","activeTexture","webglSlot","bindTexture","webglType","webglTexture","boundTexture","unbindTexture","compressedTexImage2D","error","texSubImage2D","texSubImage3D","compressedTexSubImage2D","texStorage2D","texStorage3D","texImage2D","texImage3D","scissor","updateUBOMapping","uniformsGroup","blockIndex","uniformBlockBinding","WebGLTextures","_gl","utils","multisampledRTTExt","supportsInvalidateFramebuffer","_videoTextures","_sources","useOffscreenCanvas","createCanvas","resizeImage","needsPowerOfTwo","needsNewCanvas","maxSize","floor","isPowerOfTwo$1","textureNeedsPowerOfTwo","textureNeedsGenerateMipmaps","supportsMips","generateMipmap","getInternalFormat","internalFormatName","glFormat","glType","isVideoTexture","internalFormat","getMipLevels","filterFallback","deallocateTexture","onRenderTargetDispose","deallocateRenderTarget","textureProperties","webglTextures","deleteTexture","renderTargetProperties","attachmentProperties","textureUnits","resetTextureUnits","allocateTextureUnit","textureUnit","getTextureCacheKey","setTexture2D","slot","updateVideoTexture","uploadTexture","setTexture2DArray","setTexture3D","setTextureCube","uploadCubeTexture","wrappingToGL","filterToGL","setTextureParameters","textureType","initTexture","forceUpload","textureCacheKey","verifyColorSpace","glInternalFormat","mipmap","mipmaps","useTexStorage","allocateMemory","levels","isCompressed","isDataTexture","cubeImage","mipmapImage","setupFrameBufferTexture","attachment","textureTarget","useMultisampledRTT","getRenderTargetSamples","setupRenderBufferStorage","renderbuffer","isMultisample","depthTexture","setupDepthTexture","webglDepthTexture","setupDepthRenderbuffer","isCube","rebindTextures","colorTexture","setupRenderTarget","isMultipleRenderTargets","glTextureType","updateRenderTargetMipmap","updateMultisampleRenderTarget","mask","invalidationArray","depthStyle","ignoreDepthValues","WebGLUtils","convert","ArrayCamera","Group","_moveEvent","WebXRController","inputSource","referenceSpace","inputPose","gripPose","handPose","targetRay","grip","hand","inputjoint","jointPose","joint","indexTip","thumbTip","distanceToPinch","threshold","DepthTexture","WebXRManager","framebufferScaleFactor","referenceSpaceType","customReferenceSpace","pose","glBinding","glProjLayer","glBaseLayer","xrFrame","initialRenderTarget","newRenderTarget","controllers","controllerInputSources","cameraL","cameraR","cameras","cameraVR","_currentDepthNear","_currentDepthFar","controller","onSessionEvent","controllerIndex","onSessionEnd","onInputSourcesChange","space","layerInit","depthFormat","depthType","glDepthFormat","projectionlayerInit","cameraLPos","cameraRPos","setProjectionFromUnion","ipd","projL","projR","topFov","bottomFov","leftFov","rightFov","zOffset","xOffset","near2","far2","left2","right2","top2","bottom2","updateCamera","foveation","onAnimationFrameCallback","views","cameraVRNeedsUpdate","glSubImage","WebGLMaterials","refreshFogUniforms","refreshMaterialUniforms","pixelRatio","transmissionRenderTarget","refreshUniformsCommon","refreshUniformsToon","refreshUniformsPhong","refreshUniformsStandard","refreshUniformsPhysical","refreshUniformsMatcap","refreshUniformsDistance","refreshUniformsLine","refreshUniformsDash","refreshUniformsPoints","refreshUniformsSprites","uvScaleMap","uv2ScaleMap","WebGLUniformsGroups","updateList","allocatedBindingPoints","maxBindingPoints","bind","webglProgram","prepareUniformsGroup","onUniformsGroupsDispose","updateBufferData","bindingPointIndex","allocateBindingPointIndex","hasUniformChanged","cachedObject","chunkSize","chunkOffset","getUniformSize","remainingSizeInChunk","createCanvasElement","WebGLRenderer","_context","_depth","_stencil","_antialias","_premultipliedAlpha","_preserveDrawingBuffer","_powerPreference","_failIfMajorPerformanceCaveat","_alpha","currentRenderList","currentRenderState","renderListStack","renderStateStack","_this","_isContextLost","_currentActiveCubeFace","_currentActiveMipmapLevel","_currentRenderTarget","_currentMaterialId","_currentCamera","_currentViewport","_currentScissor","_currentScissorTest","_width","_height","_pixelRatio","_opaqueSort","_transparentSort","_scissor","_scissorTest","_clippingEnabled","_localClippingEnabled","_transmissionRenderTarget","_projScreenMatrix","_vector3","_emptyScene","getTargetPixelRatio","getContext","contextNames","contextAttributes","contextName","onContextLost","onContextRestore","onContextCreationError","programCache","renderLists","morphtargets","bufferRenderer","indexedBufferRenderer","uniformsGroups","initGLContext","updateStyle","boolean","method","bits","onXRSessionStart","onXRSessionEnd","infoAutoReset","shadowMapEnabled","shadowMapAutoUpdate","shadowMapNeedsUpdate","shadowMapType","onMaterialDispose","deallocateMaterial","releaseMaterialProgramReferences","setProgram","rangeFactor","dataCount","rangeStart","rangeCount","drawStart","drawEnd","drawCount","lineWidth","material2","getProgram","projectObject","camera2","renderScene","sortObjects","opaqueObjects","transmissiveObjects","transparentObjects","renderTransmissionPass","renderObjects","overrideMaterial","lightsStateVersion","programCacheKey","updateCommonMaterialProperties","materialNeedsLights","progUniforms","uniformsList","vertexAlphas","vertexTangents","needsProgramChange","refreshProgram","refreshMaterial","refreshLights","p_uniforms","m_uniforms","uCamPos","skeleton","markUniformsLightsNeedsUpdate","defaultFramebuffer","useDefaultFramebuffer","isRenderTarget3D","__webglFramebuffer","layer","activeCubeFaceIndex","textureFormat","halfFloatSupportedByExt","level","levelScale","srcTexture","dstTexture","sourceBox","glTarget","unpackRowLen","unpackImageHeight","unpackSkipPixels","unpackSkipRows","unpackSkipImages","WebGL1Renderer","FogExp2","density","Fog","Scene","InterleavedBuffer","ib","_vector$6","InterleavedBufferAttribute","interleavedBuffer","SpriteMaterial","_geometry","_intersectPoint","_worldScale","_mvPosition","_alignedPosition","_rotatedPosition","_viewWorldMatrix","_vA","_vB","_vC","_uvA","_uvB","_uvC","Sprite","float32Array","transformVertex","vertexPosition","mvPosition","_v1$2","_v2$1","LOD","_basePosition","_skinIndex","_skinWeight","_vector$5","_matrix","SkinnedMesh","bindMatrix","skinWeight","boneIndex","Bone","DataTexture","_offsetMatrix","_identityMatrix","Skeleton","bones","boneInverses","inverse","bone","boneMatrices","boneTexture","json","uuid","boneInverse","InstancedBufferAttribute","_instanceLocalMatrix","_instanceWorldMatrix","_instanceIntersects","_mesh","InstancedMesh","raycastTimes","instanceId","LineBasicMaterial","_start$1","_end$1","_inverseMatrix$1","_ray$1","_sphere$1","Line","lineDistances","localThreshold","localThresholdSq","vStart","vEnd","interSegment","interRay","_start","_end","LineSegments","LineLoop","PointsMaterial","_inverseMatrix","_ray","_sphere","_position$2","Points","testPoint","rayPointDistanceSq","intersectPoint","VideoTexture","video","updateVideo","FramebufferTexture","CompressedTexture","CanvasTexture","Curve","optionalTarget","divisions","lengths","current","last","arcLengths","targetArcLength","comparison","lengthBefore","segmentLength","segmentFraction","t2","pt1","pt2","segments","closed","binormals","vec","mat","tz","EllipseCurve","aX","aY","xRadius","yRadius","aStartAngle","aEndAngle","aClockwise","aRotation","twoPi","deltaAngle","samePoints","ArcCurve","aRadius","CubicPoly","c0","x3","tension","dt0","dt1","dt2","t3","px","py","pz","CatmullRomCurve3","curveType","intPoint","pow","CatmullRom","QuadraticBezierP0","QuadraticBezierP1","QuadraticBezierP2","QuadraticBezier","CubicBezierP0","CubicBezierP1","CubicBezierP2","CubicBezierP3","CubicBezier","CubicBezierCurve","v3","CubicBezierCurve3","LineCurve","LineCurve3","QuadraticBezierCurve","QuadraticBezierCurve3","SplineCurve","Curves","CurvePath","curve","startPoint","endPoint","curveLengths","diff","lens","sums","curves","resolution","pts","Path","aCPx","aCPy","aCP1x","aCP1y","aCP2x","aCP2y","npts","firstPoint","lastPoint","LatheGeometry","phiStart","phiLength","initNormals","inverseSegments","curNormal","prevNormal","base","CapsuleGeometry","capSegments","radialSegments","CircleGeometry","thetaStart","thetaLength","segment","CylinderGeometry","radiusTop","radiusBottom","openEnded","indexArray","halfHeight","generateTorso","generateCap","slope","indexRow","sinTheta","cosTheta","centerIndexStart","centerIndexEnd","ConeGeometry","PolyhedronGeometry","detail","vertexBuffer","uvBuffer","subdivide","applyRadius","generateUVs","getVertexByIndex","subdivideFace","cols","aj","bj","rows","pushVertex","azimuth","inclination","correctUVs","correctSeam","centroid","azi","correctUV","DodecahedronGeometry","_v0","_v1$1","_normal","_triangle","EdgesGeometry","thresholdAngle","thresholdDot","indexAttr","positionAttr","indexCount","indexArr","vertKeys","hashes","edgeData","jNext","vecHash0","vecHash1","reverseHash","index0","Shape","holesPts","hole","Earcut","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","invSize","eliminateHoles","earcutLinked","clockwise","signedArea","insertNode","equals","removeNode","filterPoints","again","area","ear","pass","indexCurve","stop","prev","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","zOrder","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","findHoleBridge","hx","hy","mx","my","tanMin","tan","sectorContainsSector","sortLinked","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","q1","q2","o1","o2","o3","o4","onSegment","num","inside","Node","an","bp","ShapeUtils","contour","holes","faces","removeDupEndPts","addContour","holeIndex","ExtrudeGeometry","verticesArray","uvArray","addShape","placeholder","curveSegments","steps","bevelEnabled","bevelThickness","bevelSize","bevelOffset","bevelSegments","extrudePath","uvgen","WorldUVGenerator","extrudePts","extrudeByPath","splineTube","binormal","position2","shapePoints","hl","ahole","scalePt2","pt","vlen","flen","getBevelVec","inPt","inPrev","inNext","v_trans_x","v_trans_y","shrink_by","v_prev_x","v_prev_y","v_next_x","v_next_y","v_prev_lensq","collinear0","v_prev_len","v_next_len","ptPrevShift_x","ptPrevShift_y","ptNextShift_x","ptNextShift_y","sf","v_trans_lensq","direction_eq","contourMovements","holesMovements","oneHoleMovements","verticesMovements","bs","vert","buildLidFaces","buildSideFaces","f3","layeroffset","sidewalls","sl","slen1","slen2","f4","addVertex","nextIndex","addUV","vector2","toJSON$1","geometryShapes","indexA","indexB","indexC","a_x","a_y","b_x","b_y","c_x","c_y","indexD","a_z","b_z","c_z","d_x","d_y","d_z","IcosahedronGeometry","OctahedronGeometry","RingGeometry","innerRadius","outerRadius","thetaSegments","phiSegments","radiusStep","thetaSegmentLevel","ShapeGeometry","indexOffset","shapeVertices","shapeHoles","shapeHole","toJSON","SphereGeometry","thetaEnd","grid","verticesRow","uOffset","TetrahedronGeometry","TorusGeometry","tube","tubularSegments","arc","TorusKnotGeometry","P1","P2","B","T","N","calculatePositionOnCurve","cu","su","quOverP","cs","TubeGeometry","frames","P","generateBufferData","generateSegment","generateIndices","WireframeGeometry","edges","o","ol","isUniqueEdge","hash1","hash2","Geometries","ShadowMaterial","RawShaderMaterial","MeshStandardMaterial","MeshPhysicalMaterial","reflectivity","MeshPhongMaterial","MeshToonMaterial","MeshNormalMaterial","MeshLambertMaterial","MeshMatcapMaterial","LineDashedMaterial","arraySlice","isTypedArray","convertArray","forceClone","getKeyframeOrder","times","compareTime","sortedArray","nValues","srcOffset","flattenJSON","jsonKeys","valuePropertyName","subclip","sourceClip","startFrame","endFrame","fps","clip","tracks","track","valueSize","minStartTime","makeClipAdditive","targetClip","referenceFrame","referenceClip","numTracks","referenceTime","referenceTrack","referenceTrackType","targetTrack","referenceOffset","referenceValueSize","targetOffset","targetValueSize","lastIndex","referenceValue","startIndex","endIndex","interpolant","numTimes","valueStart","valueEnd","AnimationUtils","Interpolant","parameterPositions","sampleValues","sampleSize","resultBuffer","pp","validate_interval","seek","linear_scan","forward_scan","giveUpAt","t1global","mid","CubicInterpolant","iPrev","iNext","tPrev","tNext","halfDt","o0","oP","oN","wP","wN","ppp","sP","sN","LinearInterpolant","offset1","offset0","weight1","weight0","DiscreteInterpolant","KeyframeTrack","interpolation","trackType","factoryMethod","message","timeOffset","timeScale","startTime","endTime","nKeys","valid","prevTime","currTime","smoothInterpolation","writeIndex","keep","timeNext","offsetP","offsetN","readOffset","writeOffset","TypedKeyframeTrack","BooleanKeyframeTrack","ColorKeyframeTrack","NumberKeyframeTrack","QuaternionLinearInterpolant","QuaternionKeyframeTrack","StringKeyframeTrack","VectorKeyframeTrack","AnimationClip","duration","blendMode","jsonTracks","frameTime","parseKeyframeTrack","clipTracks","morphTargetSequence","noLoop","numMorphTargets","objectOrClipArray","clipArray","animationToMorphTargets","pattern","parts","animationMorphTargets","clips","addNonemptyTrack","trackName","animationKeys","propertyName","destTracks","clipName","hierarchyTracks","morphTargetNames","morphTargetName","animationKey","boneName","getTrackTypeForValueTypeName","typeName","Cache","file","LoadingManager","onLoad","onProgress","onError","isLoading","itemsLoaded","itemsTotal","urlModifier","handlers","transform","regex","loader","DefaultLoadingManager","Loader","manager","resolve","reject","crossOrigin","resourcePath","requestHeader","loading","HttpError","response","FileLoader","req","mimeType","responseType","callbacks","reader","contentLength","total","lengthComputable","loaded","stream","readData","done","text","exec","label","decoder","err","AnimationLoader","CompressedTextureLoader","loadTexture","texDatas","ImageLoader","onImageLoad","removeEventListeners","onImageError","CubeTextureLoader","urls","DataTextureLoader","texData","TextureLoader","Light","HemisphereLight","skyColor","groundColor","_projScreenMatrix$1","_lightPositionWorld$1","_lookTarget$1","LightShadow","shadowMatrix","viewportIndex","SpotLightShadow","SpotLight","penumbra","decay","power","_lightPositionWorld","_lookTarget","PointLightShadow","PointLight","DirectionalLightShadow","DirectionalLight","AmbientLight","RectAreaLight","SphericalHarmonics3","coefficients","coeff","sh","shBasis","LightProbe","MaterialLoader","getTexture","normalScale","materialLib","LoaderUtils","InstancedBufferGeometry","BufferGeometryLoader","interleavedBufferMap","arrayBufferMap","getInterleavedBuffer","getArrayBuffer","arrayBuffer","typedArray","bufferAttribute","bufferAttributeConstr","ObjectLoader","metadata","hasImages","bufferGeometryLoader","loadImage","deserializeImage","imageArray","currentUrl","deserializedImage","parseConstant","TEXTURE_MAPPING","TEXTURE_WRAPPING","TEXTURE_FILTER","getGeometry","getMaterial","instanceMatrix","instanceColor","objectAnimations","ImageBitmapLoader","fetchOptions","res","blob","imageBitmap","AudioContext","AudioLoader","bufferCopy","audioBuffer","HemisphereLightProbe","sky","ground","AmbientLightProbe","_eyeRight","_eyeLeft","_projectionMatrix","StereoCamera","eyeSepHalf","eyeSepOnProjection","ymax","xmin","xmax","Clock","autoStart","now","newTime","_position$1","_quaternion$1","_scale$1","_orientation$1","AudioListener","Audio","audioNode","mediaElement","mediaStream","delay","filter","_position","_quaternion","_scale","_orientation","PositionalAudio","coneInnerAngle","coneOuterAngle","coneOuterGain","panner","AudioAnalyser","audio","fftSize","PropertyMixer","binding","mixFunction","mixFunctionAdditive","setIdentity","accuIndex","currentWeight","mix","weightAdditive","originalValueOffset","targetIndex","workOffset","_RESERVED_CHARS_RE","_reservedRe","_wordChar","_wordCharOrDot","_directoryRe","_nodeRe","_objectRe","_propertyRe","_trackRe","_supportedObjectNames","Composite","targetGroup","optionalParsedPath","parsedPath","PropertyBinding","firstValidIndex","bindings","rootNode","root","matches","results","lastDot","objectName","nodeName","searchNodeSubtree","childNode","subTreeNode","dest","targetArray","sourceArray","targetObject","propertyIndex","objectIndex","nodeProperty","versioning","bindingType","AnimationObjectGroup","indicesByUUID","paths","parsedPaths","nBindings","knownObject","nObjects","nCachedObjects","firstActiveIndex","lastCachedObject","bindingsForPath","lastCached","lastCachedIndex","firstActiveObject","firstActive","lastObject","indicesByPath","lastBindingsIndex","lastBindings","lastBindingsPath","AnimationAction","mixer","localRoot","nTracks","interpolants","interpolantSettings","repetitions","fadeOutAction","warp","fadeInDuration","fadeOutDuration","startEndRatio","endStartRatio","fadeInAction","weightInterpolant","action","startTimeScale","endTimeScale","timeScaleInterpolant","deltaTime","timeDirection","timeRunning","clipTime","propertyMixers","interpolantValue","loop","loopCount","pingPong","handle_stop","loopDelta","pending","atStart","atEnd","settings","weightNow","weightThen","_controlInterpolantsResultBuffer","AnimationMixer","prototypeAction","rootUuid","bindingsByRoot","bindingsByName","clipUuid","actionsForClip","actions","actionsByClip","knownActions","lastInactiveAction","cacheIndex","knownActionsForClip","lastKnownAction","byClipCacheIndex","actionByRoot","prevIndex","lastActiveIndex","firstInactiveAction","firstInactiveIndex","lastActiveAction","bindingByName","propBinding","lastInactiveBinding","firstInactiveBinding","lastActiveBinding","lastActiveInterpolant","optionalRoot","clipObject","existingAction","newAction","nActions","timeInSeconds","actionsToRemove","Uniform","UniformsGroup","uniformsSource","InstancedInterleavedBuffer","GLBufferAttribute","elementSize","Raycaster","coords","intersectObject","ascSort","Spherical","other","Cylindrical","_vector$4","Box2","_startP","_startEnd","Line3","clampToLine","startEnd2","_vector$3","SpotLightHelper","coneLength","coneWidth","_vector$2","_boneMatrix","_matrixWorldInv","SkeletonHelper","getBoneList","boneList","PointLightHelper","sphereSize","_vector$1","_color1","_color2","HemisphereLightHelper","GridHelper","PolarGridHelper","radials","circles","_v1","_v2","_v3","DirectionalLightHelper","_vector","_camera","CameraHelper","pointMap","addLine","addPoint","colorFrustum","colorCone","colorUp","colorTarget","colorCross","cone","cross","colorAttribute","setPoint","_box","BoxHelper","Box3Helper","PlaneHelper","positions2","_axis","_lineGeometry","_coneGeometry","ArrowHelper","headLength","headWidth","AxesHelper","xAxisColor","yAxisColor","zAxisColor","ShapePath","isCCW","noHoles","toShapesNoHoles","inSubpaths","tmpPath","tmpShape","isPointInsidePolygon","inPolygon","polyLen","edgeLowPt","edgeHighPt","edgeDx","edgeDy","perpEdge","isClockWise","subPaths","solid","holesFirst","betterShapeHoles","newShapes","newShapeHoles","mainIdx","tmpPoints","ambiguous","toChange","sIdx","sLen","sho","hIdx","ho","hole_unassigned","s2Idx","tmpHoles","_tables","_generateTables","floatView","uint32View","baseTable","shiftTable","mantissaTable","exponentTable","offsetTable","toHalfFloat","val","fromHalfFloat","DataUtils","ParametricGeometry","TextGeometry","FontLoader","Font","ImmediateRenderObject","WebGLMultisampleRenderTarget","DataTexture2DArray","DataTexture3D","reactReconcilerConstants_production_min","constantsModule","require$$0","createStore","createState","setState","partial","replace","nextState","previousState","getState","subscribeWithSelector","selector","equalityFn","currentSlice","listenerToAdd","nextSlice","previousSlice","api","isSSR","useIsomorphicLayoutEffect","useEffect","useLayoutEffect","create","useStore","useReducer","stateRef","useRef","selectorRef","equalityFnRef","erroredRef","currentSliceRef","newStateSlice","hasNewStateSlice","stateBeforeSubscriptionRef","nextStateSlice","unsubscribe","sliceToReturn","useDebugValue","items","C","exports","A","D","E","F","G","H","I","J","K","L","M","O","Q","R","S","U","schedulerModule","reactReconciler_production_min","$$$hostConfig","aa","ba","require$$1","ca","ea","fa","ha","ia","ja","ka","la","ma","na","oa","pa","ra","sa","ta","ua","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","$a","bb","db","eb","fb","gb","hb","jb","kb","lb","mb","nb","ob","pb","rb","sb","tb","ub","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","oc","qc","pc","rc","sc","tc","uc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","cd","dd","ed","fd","gd","hd","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","Bd","zd","Ad","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ee","fe","ge","he","ie","je","ke","le","ne","V","da","oe","pe","qe","re","se","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","tf","uf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","If","Jf","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","wa","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","lh","mh","nh","W","X","oh","ph","qh","rh","Y","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Z","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","reactReconcilerModule","isOrthographicCamera","def","React.useEffect","React.useLayoutEffect","useMutableCallback","ref","React.useRef","Block","set","ErrorBoundary","React.Component","args","DEFAULT","isDiffSet","calculateDpr","dpr","getRootState","obj","_r3f","is","arrays","strict","isObj","isArr","prepare","instance","entries","acc","INDEX_REGEX","attach","detach","_child$__r3f","_child$__r3f2","previous","diffProps","cN","kN","rN","props","cP","kP","rP","_instance$__r3f","localState","changes","previousKeys","_instance$__r3f2","memoized","applyProps$1","_instance$__r3f3","_root$getState","rootState","prevHandlers","isEvent","currentInstance","targetProp","reverseEntries","_memoized$args","_currentInstance$__r","defaultClassCall","THREE.Layers","isColor","THREE.Color","THREE","THREE.Texture","THREE.sRGBEncoding","invalidateInstance","updateInstance","_instance$__r3f4","_instance$__r3f4$root","setDeep","makeId","getEventPriority","_window","_window$event","DiscreteEventPriority","ContinuousEventPriority","DefaultEventPriority","releaseInternalPointerCapture","capturedMap","captures","pointerId","captureData","removeInteractivity","store","internal","createEvents","temp","THREE.Vector3","calculateDistance","filterPointerEvents","duplicates","intersections","eventsObjects","hits","_state$previousRoot","aState","bState","item","hit","eventObject","_r3f2","handleIntersects","pointer","unprojectedPoint","hasPointerCapture","_internal$capturedMap","_internal$capturedMap2","setPointerCapture","releasePointerCapture","extractEventProps","prop","raycastEvent","capturesForPointer","higher","cancelPointer","hoveredObj","handlePointer","onPointerMissed","isPointerMove","isClickEvent","pointerMissed","hoveredItem","handler","_r3f3","catalogue","extend","createRenderer","_roots","_getEventPriority","createInstance","appendChild","parentInstance","added","_parentInstance$__r3f","insertBefore","beforeChild","_parentInstance$__r3f2","restSiblings","sibling","removeRecursive","removeChild","_parentInstance$__r3f3","_child$__r3f3","_child$__r3f5","_child$__r3f4","isPrimitive","shouldDispose","_child$__r3f6","unstable_scheduleCallback","unstable_IdlePriority","switchInstance","newProps","fiber","newInstance","Reconciler","parentHostContext","_type","oldProps","argsNew","restNew","argsOld","cO","restOld","reconstruct","_oldProps","_props","_int","_instance$__r3f5","isRenderer","React.createContext","invalidate","advance","defaultTarget","tempTarget","getCurrentViewport","performanceTimeout","setPerformanceCurrent","THREE.Vector2","timestamp","runGlobalEffects","THREE.Scene","THREE.Clock","events","resolved","frameloop","clock","React.createRef","priority","oldSize","oldDpr","oldCamera","createSubs","subs","sub","globalEffects","globalAfterEffects","globalTailEffects","addEffect","addAfterEffect","run","effects","subscribers","subscription","render$1","createLoop","roots","running","repeat","_state$gl$xr","_state$gl$xr2","React.useContext","useThree","useFrame","renderPriority","subscribe","reconciler","applyProps","shallowLoose","createRendererInstance","customRenderer","THREE.WebGLRenderer","createRoot","prevRoot","prevFiber","prevStore","logRecoverableError","ConcurrentRoot","onCreated","configured","glConfig","onCreatedCallback","linear","flat","legacy","orthographic","performance","raycastOptions","cameraOptions","THREE.Raycaster","isCamera","THREE.Camera","THREE.OrthographicCamera","THREE.PerspectiveCamera","handleXRFrame","handleSessionChange","isBoolean","old","THREE.PCFSoftShadowMap","outputEncoding","THREE.LinearEncoding","THREE.NoToneMapping","THREE.ACESFilmicToneMapping","React.createElement","Provider","unmountComponentAtNode","rootElement","_state$gl","_state$gl$renderLists","_state$gl2","_state$gl3","React.version"],"mappings":"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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAE3BC,GAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEhCC,GAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAE1BC,GAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAExBC,GAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAEnBC,GAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAE3BC,GAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,QAElBC,GAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAEvBC,GAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAElBC,GAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAEpBC,GAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAEvBC,GAA4B;AAAA;AAAA,QAE5BC,GAAuB;AAAA;AAAA,QAEvBC,GAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wDAE5BC,GAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAExBC,GAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAE7BC,GAAmB;AAAA;AAAA,QAEnBC,GAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAEjBC,GAAY;AAAA;AAAA,QAEZC,GAAoB;AAAA;AAAA,QAEpBC,GAAkB;AAAA;AAAA;AAAA;AAAA,QAElBC,GAAa;AAAA;AAAA,QAEbC,GAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAEtB,MAAMC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEXC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAEbC,GAAW;AAAA;AAAA;AAAA;AA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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]} \ No newline at end of file diff --git a/assets/index-84cea9da.js b/assets/index-84cea9da.js new file mode 100644 index 00000000..478dd4e2 --- /dev/null +++ b/assets/index-84cea9da.js @@ -0,0 +1,4 @@ +import{c as fu,g as ju}from"./index-ebeaab24.js";function Dr(u,e){for(var r=-1,t=u==null?0:u.length,a=Array(t);++r-1}var _r=mr,xr=gu;function Tr(u,e){var r=this.__data__,t=xr(r,u);return t<0?(++this.size,r.push([u,e])):r[t][1]=e,this}var br=Tr,Sr=Fr,$r=hr,wr=vr,Or=_r,Nr=br;function uu(u){var e=-1,r=u==null?0:u.length;for(this.clear();++el))return!1;var E=s.get(u),T=s.get(e);if(E&&T)return E==e&&T==u;var x=-1,F=!0,m=r&Ba?new ca:void 0;for(s.set(u,e),s.set(e,u);++x-1&&u%1==0&&u-1&&u%1==0&&u<=Tn}var Wu=bn,Sn=Cu,$n=Wu,wn=lu,On="[object Arguments]",Nn="[object Array]",Pn="[object Boolean]",In="[object Date]",Rn="[object Error]",Ln="[object Function]",Mn="[object Map]",kn="[object Number]",jn="[object Object]",Un="[object RegExp]",Gn="[object Set]",Kn="[object String]",Hn="[object WeakMap]",Wn="[object ArrayBuffer]",qn="[object DataView]",zn="[object Float32Array]",Vn="[object Float64Array]",Jn="[object Int8Array]",Qn="[object Int16Array]",Yn="[object Int32Array]",Xn="[object Uint8Array]",Zn="[object Uint8ClampedArray]",ui="[object Uint16Array]",ei="[object Uint32Array]",S={};S[zn]=S[Vn]=S[Jn]=S[Qn]=S[Yn]=S[Xn]=S[Zn]=S[ui]=S[ei]=!0;S[On]=S[Nn]=S[Wn]=S[Pn]=S[qn]=S[In]=S[Rn]=S[Ln]=S[Mn]=S[kn]=S[jn]=S[Un]=S[Gn]=S[Kn]=S[Hn]=!1;function ri(u){return wn(u)&&$n(u.length)&&!!S[Sn(u)]}var ti=ri;function ai(u){return function(e){return u(e)}}var ni=ai,du={exports:{}};du.exports;(function(u,e){var r=Se,t=e&&!e.nodeType&&e,a=t&&!0&&u&&!u.nodeType&&u,s=a&&a.exports===t,n=s&&r.process,l=function(){try{var p=a&&a.require&&a.require("util").types;return p||n&&n.binding&&n.binding("util")}catch{}}();u.exports=l})(du,du.exports);var ii=du.exports,si=ti,Di=ni,Ae=ii,oe=Ae&&Ae.isTypedArray,Ai=oe?Di(oe):si,Me=Ai,oi=Fn,Fi=Ie,Ci=q,li=Re,ci=Le,Ei=Me,pi=Object.prototype,fi=pi.hasOwnProperty;function Bi(u,e){var r=Ci(u),t=!r&&Fi(u),a=!r&&!t&&li(u),s=!r&&!t&&!a&&Ei(u),n=r||t||a||s,l=n?oi(u.length,String):[],p=l.length;for(var E in u)(e||fi.call(u,E))&&!(n&&(E=="length"||a&&(E=="offset"||E=="parent")||s&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||ci(E,p)))&&l.push(E);return l}var hi=Bi,yi=Object.prototype;function di(u){var e=u&&u.constructor,r=typeof e=="function"&&e.prototype||yi;return u===r}var vi=di;function gi(u,e){return function(r){return u(e(r))}}var ke=gi,mi=ke,_i=mi(Object.keys,Object),xi=_i,Ti=vi,bi=xi,Si=Object.prototype,$i=Si.hasOwnProperty;function wi(u){if(!Ti(u))return bi(u);var e=[];for(var r in Object(u))$i.call(u,r)&&r!="constructor"&&e.push(r);return e}var Oi=wi,Ni=Gu,Pi=Wu;function Ii(u){return u!=null&&Pi(u.length)&&!Ni(u)}var Ri=Ii,Li=hi,Mi=Oi,ki=Ri;function ji(u){return ki(u)?Li(u):Mi(u)}var qu=ji,Ui=Xa,Gi=An,Ki=qu;function Hi(u){return Ui(u,Ki,Gi)}var Wi=Hi,Fe=Wi,qi=1,zi=Object.prototype,Vi=zi.hasOwnProperty;function Ji(u,e,r,t,a,s){var n=r&qi,l=Fe(u),p=l.length,E=Fe(e),T=E.length;if(p!=T&&!n)return!1;for(var x=p;x--;){var F=l[x];if(!(n?F in e:Vi.call(e,F)))return!1}var m=s.get(u),d=s.get(e);if(m&&d)return m==e&&d==u;var c=!0;s.set(u,e),s.set(e,u);for(var f=n;++x=48&&f<=55}r=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];function E(f){return f===32||f===9||f===11||f===12||f===160||f>=5760&&r.indexOf(f)>=0}function T(f){return f===10||f===13||f===8232||f===8233}function x(f){if(f<=65535)return String.fromCharCode(f);var I=String.fromCharCode(Math.floor((f-65536)/1024)+55296),L=String.fromCharCode((f-65536)%1024+56320);return I+L}for(t=new Array(128),s=0;s<128;++s)t[s]=s>=97&&s<=122||s>=65&&s<=90||s===36||s===95;for(a=new Array(128),s=0;s<128;++s)a[s]=s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||s===36||s===95;function F(f){return f<128?t[f]:e.NonAsciiIdentifierStart.test(x(f))}function m(f){return f<128?a[f]:e.NonAsciiIdentifierPart.test(x(f))}function d(f){return f<128?t[f]:u.NonAsciiIdentifierStart.test(x(f))}function c(f){return f<128?a[f]:u.NonAsciiIdentifierPart.test(x(f))}Ye.exports={isDecimalDigit:n,isHexDigit:l,isOctalDigit:p,isWhiteSpace:E,isLineTerminator:T,isIdentifierStartES5:F,isIdentifierPartES5:m,isIdentifierStartES6:d,isIdentifierPartES6:c}})();var Xe=Ye.exports,Ze={exports:{}};(function(){var u=Xe;function e(F){switch(F){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}function r(F,m){return!m&&F==="yield"?!1:t(F,m)}function t(F,m){if(m&&e(F))return!0;switch(F.length){case 2:return F==="if"||F==="in"||F==="do";case 3:return F==="var"||F==="for"||F==="new"||F==="try";case 4:return F==="this"||F==="else"||F==="case"||F==="void"||F==="with"||F==="enum";case 5:return F==="while"||F==="break"||F==="catch"||F==="throw"||F==="const"||F==="yield"||F==="class"||F==="super";case 6:return F==="return"||F==="typeof"||F==="delete"||F==="switch"||F==="export"||F==="import";case 7:return F==="default"||F==="finally"||F==="extends";case 8:return F==="function"||F==="continue"||F==="debugger";case 10:return F==="instanceof";default:return!1}}function a(F,m){return F==="null"||F==="true"||F==="false"||r(F,m)}function s(F,m){return F==="null"||F==="true"||F==="false"||t(F,m)}function n(F){return F==="eval"||F==="arguments"}function l(F){var m,d,c;if(F.length===0||(c=F.charCodeAt(0),!u.isIdentifierStartES5(c)))return!1;for(m=1,d=F.length;m=d||(f=F.charCodeAt(m),!(56320<=f&&f<=57343)))return!1;c=p(c,f)}if(!I(c))return!1;I=u.isIdentifierPartES6}return!0}function T(F,m){return l(F)&&!a(F,m)}function x(F,m){return E(F)&&!s(F,m)}Ze.exports={isKeywordES5:r,isKeywordES6:t,isReservedWordES5:a,isReservedWordES6:s,isRestrictedWord:n,isIdentifierNameES5:l,isIdentifierNameES6:E,isIdentifierES5:T,isIdentifierES6:x}})();var J1=Ze.exports;(function(){ou.ast=V1,ou.code=Xe,ou.keyword=J1})();var Du={},X={};const Q1="doctrine",Y1="JSDoc parser",X1="https://github.com/eslint/doctrine",Z1="lib/doctrine.js",uA="3.0.0",eA={node:">=6.0.0"},rA={lib:"./lib"},tA=["lib"],aA=[{name:"Nicholas C. Zakas",email:"nicholas+npm@nczconsulting.com",web:"https://www.nczonline.net"},{name:"Yusuke Suzuki",email:"utatane.tea@gmail.com",web:"https://github.com/Constellation"}],nA="eslint/doctrine",iA={coveralls:"^3.0.1",dateformat:"^1.0.11",eslint:"^1.10.3","eslint-release":"^1.0.0",linefix:"^0.1.1",mocha:"^3.4.2","npm-license":"^0.3.1",nyc:"^10.3.2",semver:"^5.0.3",shelljs:"^0.5.3","shelljs-nodecli":"^0.1.1",should:"^5.0.1"},sA="Apache-2.0",DA={pretest:"npm run lint",test:"nyc mocha",coveralls:"nyc report --reporter=text-lcov | coveralls",lint:"eslint lib/","generate-release":"eslint-generate-release","generate-alpharelease":"eslint-generate-prerelease alpha","generate-betarelease":"eslint-generate-prerelease beta","generate-rcrelease":"eslint-generate-prerelease rc","publish-release":"eslint-publish-release"},AA={esutils:"^2.0.2"},oA={name:Q1,description:Y1,homepage:X1,main:Z1,version:uA,engines:eA,directories:rA,files:tA,maintainers:aA,repository:nA,devDependencies:iA,license:sA,scripts:DA,dependencies:AA};function FA(u,e){if(!u)throw new Error(e||"unknown assertion error")}var CA=FA;(function(){var u;u=oA.version,X.VERSION=u;function e(t){this.name="DoctrineError",this.message=t}e.prototype=function(){var t=function(){};return t.prototype=Error.prototype,new t}(),e.prototype.constructor=e,X.DoctrineError=e;function r(t){throw new e(t)}X.throwError=r,X.assert=CA})();(function(){var u,e,r,t,a,s,n,l,p,E,T,x;p=ou,E=X,u={NullableLiteral:"NullableLiteral",AllLiteral:"AllLiteral",NullLiteral:"NullLiteral",UndefinedLiteral:"UndefinedLiteral",VoidLiteral:"VoidLiteral",UnionType:"UnionType",ArrayType:"ArrayType",RecordType:"RecordType",FieldType:"FieldType",FunctionType:"FunctionType",ParameterType:"ParameterType",RestType:"RestType",NonNullableType:"NonNullableType",OptionalType:"OptionalType",NullableType:"NullableType",NameExpression:"NameExpression",TypeApplication:"TypeApplication",StringLiteralType:"StringLiteralType",NumericLiteralType:"NumericLiteralType",BooleanLiteralType:"BooleanLiteralType"},e={ILLEGAL:0,DOT_LT:1,REST:2,LT:3,GT:4,LPAREN:5,RPAREN:6,LBRACE:7,RBRACE:8,LBRACK:9,RBRACK:10,COMMA:11,COLON:12,STAR:13,PIPE:14,QUESTION:15,BANG:16,EQUAL:17,NAME:18,STRING:19,NUMBER:20,EOF:21};function F(i){return"><(){}[],:*|?!=".indexOf(String.fromCharCode(i))===-1&&!p.code.isWhiteSpace(i)&&!p.code.isLineTerminator(i)}function m(i,D,y,o){this._previous=i,this._index=D,this._token=y,this._value=o}m.prototype.restore=function(){s=this._previous,a=this._index,n=this._token,l=this._value},m.save=function(){return new m(s,a,n,l)};function d(i,D){return x&&(i.range=[D[0]+T,D[1]+T]),i}function c(){var i=r.charAt(a);return a+=1,i}function f(i){var D,y,o,A=0;for(y=i==="u"?4:2,D=0;D=0&&a=t)return e.ILLEGAL;if(D=r.charCodeAt(a+1),D===60)break}l+=c()}return e.NAME}function M(){var i;for(s=a;a=t)return n=e.EOF,n;switch(i=r.charCodeAt(a),i){case 39:case 34:return n=I(),n;case 58:return c(),n=e.COLON,n;case 44:return c(),n=e.COMMA,n;case 40:return c(),n=e.LPAREN,n;case 41:return c(),n=e.RPAREN,n;case 91:return c(),n=e.LBRACK,n;case 93:return c(),n=e.RBRACK,n;case 123:return c(),n=e.LBRACE,n;case 125:return c(),n=e.RBRACE,n;case 46:if(a+1=97&&C<=122||C>=65&&C<=90||C>=48&&C<=57}function E(C){return C==="param"||C==="argument"||C==="arg"}function T(C){return C==="return"||C==="returns"}function x(C){return C==="property"||C==="prop"}function F(C){return E(C)||x(C)||C==="alias"||C==="this"||C==="mixes"||C==="requires"}function m(C){return F(C)||C==="const"||C==="constant"}function d(C){return x(C)||E(C)}function c(C){return x(C)||E(C)}function f(C){return E(C)||T(C)||C==="define"||C==="enum"||C==="implements"||C==="this"||C==="type"||C==="typedef"||x(C)}function I(C){return f(C)||C==="throws"||C==="const"||C==="constant"||C==="namespace"||C==="member"||C==="var"||C==="module"||C==="constructor"||C==="class"||C==="extends"||C==="augments"||C==="public"||C==="private"||C==="protected"}var L="[ \\f\\t\\v\\u00a0\\u1680\\u180e\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]",z="("+L+"*(?:\\*"+L+`?)?)(.+|[\r +\u2028\u2029])`;function M(C){return C.replace(/^\/\*\*?/,"").replace(/\*\/$/,"").replace(new RegExp(z,"g"),"$2").replace(/\s*$/,"")}function _(C,k){for(var B=C.replace(/^\/\*\*?/,""),U=0,G=new RegExp(z,"g"),g;g=G.exec(B);)if(U+=g[1].length,g.index+g[0].length>k+U)return k+U+C.length-B.length;return C.replace(/\*\/$/,"").replace(/\s*$/,"").length}(function(C){var k,B,U,G,g,nu,cu,V,Eu;function $(){var o=g.charCodeAt(B);return B+=1,a.code.isLineTerminator(o)&&!(o===13&&g.charCodeAt(B)===10)&&(U+=1),String.fromCharCode(o)}function $u(){var o="";for($();B=o)return null;if(g.charCodeAt(B)===91)if(A)P=!0,v=$();else return null;if(v+=K(o),h)for(g.charCodeAt(B)===58&&(v==="module"||v==="external"||v==="event")&&(v+=$(),v+=K(o)),g.charCodeAt(B)===91&&g.charCodeAt(B+1)===93&&(v+=$(),v+=$());g.charCodeAt(B)===46||g.charCodeAt(B)===47||g.charCodeAt(B)===35||g.charCodeAt(B)===45||g.charCodeAt(B)===126;)v+=$(),v+=K(o);if(P){if(J(o),g.charCodeAt(B)===61){v+=$(),J(o);for(var R,W=1;B=o||g.charCodeAt(B)!==93)return null;v+=$()}return v}function wu(){for(;B=G?!1:(r.assert(g.charCodeAt(B)===64),!0)}function w(o){return g===nu?o:_(nu,o)}function N(o,A){this._options=o,this._title=A.toLowerCase(),this._tag={title:A,description:null},this._options.lineNumbers&&(this._tag.lineNumber=U),this._first=B-A.length-1,this._last=0,this._extra={}}N.prototype.addError=function(A){var h=Array.prototype.slice.call(arguments,1),v=A.replace(/%(\d)/g,function(P,b){return r.assert(b1&&(this._tag.default=o.slice(1).join("=")),this._tag.name=o[0],this._tag.type&&this._tag.type.type!=="OptionalType"&&(this._tag.type={type:"OptionalType",expression:this._tag.type}));else{if(!F(this._title))return!0;if(E(this._title)&&this._tag.type&&this._tag.type.name)this._extra.name=this._tag.type,this._tag.name=this._tag.type.name,this._tag.type=null;else if(!this.addError("Missing or invalid tag name"))return!1}return!0},N.prototype.parseDescription=function(){var A=n(g,B,this._last).trim();return A&&(/^-\s+/.test(A)&&(A=A.substring(2)),this._tag.description=A),!0},N.prototype.parseCaption=function(){var A=n(g,B,this._last).trim(),h="",v="",P=A.indexOf(h),b=A.indexOf(v);return P>=0&&b>=0?(this._tag.caption=A.substring(P+h.length,b).trim(),this._tag.description=A.substring(b+v.length).trim()):this._tag.description=A,!0},N.prototype.parseKind=function(){var A,h;return h={class:!0,constant:!0,event:!0,external:!0,file:!0,function:!0,member:!0,mixin:!0,module:!0,namespace:!0,typedef:!0},A=n(g,B,this._last).trim(),this._tag.kind=A,!(!s(h,A)&&!this.addError("Invalid kind name '%0'",A))},N.prototype.parseAccess=function(){var A;return A=n(g,B,this._last).trim(),this._tag.access=A,!(A!=="private"&&A!=="protected"&&A!=="public"&&!this.addError("Invalid access name '%0'",A))},N.prototype.parseThis=function(){var A=n(g,B,this._last).trim();if(A&&A.charAt(0)==="{"){var h=this.parseType();return h&&this._tag.type.type==="NameExpression"||this._tag.type.type==="UnionType"?(this._tag.name=this._tag.type.name,!0):this.addError("Invalid name for this")}else return this.parseNamePath()},N.prototype.parseVariation=function(){var A,h;return h=n(g,B,this._last).trim(),A=parseFloat(h,10),this._tag.variation=A,!(isNaN(A)&&!this.addError("Invalid variation '%0'",h))},N.prototype.ensureEnd=function(){var o=n(g,B,this._last).trim();return!(o&&!this.addError("Unknown content '%0'",o))},N.prototype.epilogue=function(){var A;return A=this._tag.description,!(c(this._title)&&!this._tag.type&&A&&A.charAt(0)==="["&&(this._tag.type=this._extra.name,this._tag.name||(this._tag.name=void 0),!V&&!this.addError("Missing or invalid tag name")))},k={access:["parseAccess"],alias:["parseNamePath","ensureEnd"],augments:["parseType","parseNamePathOptional","ensureEnd"],constructor:["parseType","parseNamePathOptional","ensureEnd"],class:["parseType","parseNamePathOptional","ensureEnd"],extends:["parseType","parseNamePathOptional","ensureEnd"],example:["parseCaption"],deprecated:["parseDescription"],global:["ensureEnd"],inner:["ensureEnd"],instance:["ensureEnd"],kind:["parseKind"],mixes:["parseNamePath","ensureEnd"],mixin:["parseNamePathOptional","ensureEnd"],member:["parseType","parseNamePathOptional","ensureEnd"],method:["parseNamePathOptional","ensureEnd"],module:["parseType","parseNamePathOptional","ensureEnd"],func:["parseNamePathOptional","ensureEnd"],function:["parseNamePathOptional","ensureEnd"],var:["parseType","parseNamePathOptional","ensureEnd"],name:["parseNamePath","ensureEnd"],namespace:["parseType","parseNamePathOptional","ensureEnd"],private:["parseType","parseDescription"],protected:["parseType","parseDescription"],public:["parseType","parseDescription"],readonly:["ensureEnd"],requires:["parseNamePath","ensureEnd"],since:["parseDescription"],static:["ensureEnd"],summary:["parseDescription"],this:["parseThis","ensureEnd"],todo:["parseDescription"],typedef:["parseType","parseNamePathOptional"],variation:["parseVariation"],version:["parseDescription"]},N.prototype.parse=function(){var A,h,v,P;if(!this._title&&!this.addError("Missing or invalid title"))return null;for(this._last=iu(this._title),this._options.range&&(this._tag.range=[this._first,g.slice(0,this._last).replace(/\s*$/,"").length].map(w)),s(k,this._title)?v=k[this._title]:v=["parseType","parseName","parseDescription","epilogue"],A=0,h=v.length;A{switch(u.type){case"function":return{name:"function"};case"object":let e={};return u.signature.properties.forEach(r=>{e[r.key]=vu(r.value)}),{name:"object",value:e};default:throw new Error(`Unknown: ${u}`)}},vu=u=>{let{name:e,raw:r}=u,t={};switch(typeof r<"u"&&(t.raw=r),u.name){case"string":case"number":case"symbol":case"boolean":return{...t,name:e};case"Array":return{...t,name:"array",value:u.elements.map(vu)};case"signature":return{...t,...EA(u)};case"union":case"intersection":return{...t,name:e,value:u.elements.map(vu)};default:return{...t,name:"other",value:e}}},pA=u=>u.name==="literal",fA=u=>u.value.replace(/['|"]/g,""),BA=u=>{switch(u.type){case"function":return{name:"function"};case"object":let e={};return u.signature.properties.forEach(r=>{e[r.key]=Fu(r.value)}),{name:"object",value:e};default:throw new Error(`Unknown: ${u}`)}},Fu=u=>{let{name:e,raw:r}=u,t={};switch(typeof r<"u"&&(t.raw=r),u.name){case"literal":return{...t,name:"other",value:u.value};case"string":case"number":case"symbol":case"boolean":return{...t,name:e};case"Array":return{...t,name:"array",value:u.elements.map(Fu)};case"signature":return{...t,...BA(u)};case"union":return u.elements.every(pA)?{...t,name:"enum",value:u.elements.map(fA)}:{...t,name:e,value:u.elements.map(Fu)};case"intersection":return{...t,name:e,value:u.elements.map(Fu)};default:return{...t,name:"other",value:e}}},ur=/^['"]|['"]$/g,hA=u=>u.replace(ur,""),yA=u=>ur.test(u),dA=/^\(.*\) => /,Au=u=>{let{name:e,raw:r,computed:t,value:a}=u,s={};switch(typeof r<"u"&&(s.raw=r),e){case"enum":{let l=t?a:a.map(p=>{let E=hA(p.value);return yA(p.value)||Number.isNaN(Number(E))?E:Number(E)});return{...s,name:e,value:l}}case"string":case"number":case"symbol":return{...s,name:e};case"func":return{...s,name:"function"};case"bool":case"boolean":return{...s,name:"boolean"};case"arrayOf":case"array":return{...s,name:"array",value:a&&Au(a)};case"object":return{...s,name:e};case"objectOf":return{...s,name:e,value:Au(a)};case"shape":case"exact":let n=z1(a,l=>Au(l));return{...s,name:"object",value:n};case"union":return{...s,name:"union",value:a.map(l=>Au(l))};case"instanceOf":case"element":case"elementType":default:{if((e==null?void 0:e.indexOf("|"))>0)try{let E=e.split("|").map(T=>JSON.parse(T));return{...s,name:"enum",value:E}}catch{}let l=a?`${e}(${a})`:e,p=dA.test(e)?"function":"other";return{...s,name:p,value:l}}}},Qu=u=>{let{type:e,tsType:r,flowType:t}=u;return e!=null?Au(e):r!=null?vu(r):t!=null?Fu(t):null},vA=(u=>(u.JAVASCRIPT="JavaScript",u.FLOW="Flow",u.TYPESCRIPT="TypeScript",u.UNKNOWN="Unknown",u))(vA||{}),gA=["null","undefined"];function Yu(u){return gA.some(e=>e===u)}var mA=u=>{if(!u)return"";if(typeof u=="string")return u;throw new Error(`Description: expected string, got: ${JSON.stringify(u)}`)};function er(u){return!!u.__docgenInfo}function _A(u){return u!=null&&Object.keys(u).length>0}function xA(u,e){return er(u)?u.__docgenInfo[e]:null}function TA(u){return er(u)&&mA(u.__docgenInfo.description)}function bA(u){return u!=null&&u.includes("@")}function SA(u,e){let r;try{r=lA.parse(u,{tags:e,sloppy:!0})}catch(t){throw console.error(t),new Error("Cannot parse JSDoc tags.")}return r}var $A={tags:["param","arg","argument","returns","ignore","deprecated"]},wA=(u,e=$A)=>{if(!bA(u))return{includesJsDoc:!1,ignore:!1};let r=SA(u,e.tags),t=OA(r);return t.ignore?{includesJsDoc:!0,ignore:!0}:{includesJsDoc:!0,ignore:!1,description:r.description,extractedTags:t}};function OA(u){let e={params:null,deprecated:null,returns:null,ignore:!1};for(let r=0;re.includes("null")?e.replace("-null","").replace(".null",""):u.name,getTypeName:()=>u.type!=null?Z(u.type):null}:null}function PA(u){return u.title!=null?u.description:null}function IA(u){return u.type!=null?{type:u.type,description:u.description,getTypeName:()=>Z(u.type)}:null}function Z(u){return u.type==="NameExpression"?u.name:u.type==="RecordType"?`({${u.fields.map(e=>{if(e.value!=null){let r=Z(e.value);return`${e.key}: ${r}`}return e.key}).join(", ")}})`:u.type==="UnionType"?`(${u.elements.map(Z).join("|")})`:u.type==="ArrayType"?"[]":u.type==="TypeApplication"&&u.expression!=null&&u.expression.name==="Array"?`${Z(u.applications[0])}[]`:u.type==="NullableType"||u.type==="NonNullableType"||u.type==="OptionalType"?Z(u.expression):u.type==="AllLiteral"?"any":null}function rr(u){return u.length>90}function RA(u){return u.length>50}function O(u,e){return u===e?{summary:u}:{summary:u,detail:e}}function tr({name:u,value:e,elements:r,raw:t}){return e??(r!=null?r.map(tr).join(" | "):t??u)}function LA({name:u,raw:e,elements:r}){return r!=null?O(r.map(tr).join(" | ")):e!=null?O(e.replace(/^\|\s*/,"")):O(u)}function MA({type:u,raw:e}){return e!=null?O(e):O(u)}function kA({type:u,raw:e}){return e!=null?rr(e)?O(u,e):O(e):O(u)}function jA(u){let{type:e}=u;return e==="object"?kA(u):MA(u)}function UA({name:u,raw:e}){return e!=null?rr(e)?O(u,e):O(e):O(u)}function GA(u){if(u==null)return null;switch(u.name){case"union":return LA(u);case"signature":return jA(u);default:return UA(u)}}function KA(u,e){if(u!=null){let{value:r}=u;if(!Yu(r))return RA(r)?O(e.name,r):O(r)}return null}var HA=(u,e)=>{let{flowType:r,description:t,required:a,defaultValue:s}=e;return{name:u,type:GA(r),required:a,description:t,defaultValue:KA(s,r)}};function WA({tsType:u,required:e}){return u==null?null:O(e?u.name:u.name.replace(" | undefined",""))}function qA({defaultValue:u}){if(u!=null){let{value:e}=u;if(!Yu(e))return O(e)}return null}var zA=(u,e)=>{let{description:r,required:t}=e;return{name:u,type:WA(e),required:t,description:r,defaultValue:qA(e)}};function VA(u){return u!=null?O(u.name):null}function JA(u){let{computed:e,func:r}=u;return typeof e>"u"&&typeof r>"u"}function QA(u){return u?u.name==="string"?!0:u.name==="enum"?Array.isArray(u.value)&&u.value.every(({value:e})=>typeof e=="string"&&e[0]==='"'&&e[e.length-1]==='"'):!1:!1}function YA(u,e){if(u!=null){let{value:r}=u;if(!Yu(r))return JA(u)&&QA(e)?O(JSON.stringify(r)):O(r)}return null}function ar(u,e,r){let{description:t,required:a,defaultValue:s}=r;return{name:u,type:VA(e),required:a,description:t,defaultValue:YA(s,e)}}function Su(u,e){var r;if(e.includesJsDoc){let{description:t,extractedTags:a}=e;t!=null&&(u.description=e.description);let s={...a,params:(r=a==null?void 0:a.params)==null?void 0:r.map(n=>({name:n.getPrettyName(),description:n.description}))};Object.values(s).filter(Boolean).length>0&&(u.jsDocTags=s)}return u}var XA=(u,e,r)=>{let t=ar(u,e.type,e);return t.sbType=Qu(e),Su(t,r)},ZA=(u,e,r)=>{let t=zA(u,e);return t.sbType=Qu(e),Su(t,r)},uo=(u,e,r)=>{let t=HA(u,e);return t.sbType=Qu(e),Su(t,r)},eo=(u,e,r)=>{let t=ar(u,{name:"unknown"},e);return Su(t,r)},nr=u=>{switch(u){case"JavaScript":return XA;case"TypeScript":return ZA;case"Flow":return uo;default:return eo}},ir=u=>u.type!=null?"JavaScript":u.flowType!=null?"Flow":u.tsType!=null?"TypeScript":"Unknown",ro=u=>{let e=ir(u[0]),r=nr(e);return u.map(t=>{var s;let a=t;return(s=t.type)!=null&&s.elements&&(a={...t,type:{...t.type,value:t.type.elements}}),sr(a.name,a,e,r)})},to=u=>{let e=Object.keys(u),r=ir(u[e[0]]),t=nr(r);return e.map(a=>{let s=u[a];return s!=null?sr(a,s,r,t):null}).filter(Boolean)},Ao=(u,e)=>{let r=xA(u,e);return _A(r)?Array.isArray(r)?ro(r):to(r):[]};function sr(u,e,r,t){let a=wA(e.description);return a.includesJsDoc&&a.ignore?null:{propDef:t(u,e,a),jsDocTags:a.extractedTags,docgenInfo:e,typeSystem:r}}function oo(u){return u!=null&&TA(u)}var Fo=u=>{let{component:e,argTypes:r,parameters:{docs:t={}}}=u,{extractArgTypes:a}=t,s=a&&e?a(e):{};return s?cA(s,r):r},ao="storybook/docs",Co=`${ao}/snippet-rendered`,no=(u=>(u.AUTO="auto",u.CODE="code",u.DYNAMIC="dynamic",u))(no||{});export{vi as A,hi as B,Ri as C,Xa as D,Ar as E,_1 as F,Ds as G,xa as H,Aa as I,la as J,qu as K,va as L,_u as M,hs as N,ii as O,ni as P,Oe as Q,Re as R,Co as S,vA as T,Wi as U,z1 as V,mA as W,H as _,zu as a,Cu as b,q as c,lu as d,Do as e,Fo as f,oo as g,O as h,Uu as i,xA as j,no as k,so as l,RA as m,er as n,Ao as o,rr as p,$1 as q,be as r,ze as s,Le as t,ou as u,bu as v,Ve as w,za as x,An as y,rn as z}; +//# sourceMappingURL=index-84cea9da.js.map diff --git a/assets/index-84cea9da.js.map b/assets/index-84cea9da.js.map new file mode 100644 index 00000000..0aba2787 --- /dev/null +++ b/assets/index-84cea9da.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-84cea9da.js","sources":["../../node_modules/lodash/_arrayMap.js","../../node_modules/lodash/_listCacheClear.js","../../node_modules/lodash/eq.js","../../node_modules/lodash/_assocIndexOf.js","../../node_modules/lodash/_listCacheDelete.js","../../node_modules/lodash/_listCacheGet.js","../../node_modules/lodash/_listCacheHas.js","../../node_modules/lodash/_listCacheSet.js","../../node_modules/lodash/_ListCache.js","../../node_modules/lodash/_stackClear.js","../../node_modules/lodash/_stackDelete.js","../../node_modules/lodash/_stackGet.js","../../node_modules/lodash/_stackHas.js","../../node_modules/lodash/_freeGlobal.js","../../node_modules/lodash/_root.js","../../node_modules/lodash/_Symbol.js","../../node_modules/lodash/_getRawTag.js","../../node_modules/lodash/_objectToString.js","../../node_modules/lodash/_baseGetTag.js","../../node_modules/lodash/isObject.js","../../node_modules/lodash/isFunction.js","../../node_modules/lodash/_coreJsData.js","../../node_modules/lodash/_isMasked.js","../../node_modules/lodash/_toSource.js","../../node_modules/lodash/_baseIsNative.js","../../node_modules/lodash/_getValue.js","../../node_modules/lodash/_getNative.js","../../node_modules/lodash/_Map.js","../../node_modules/lodash/_nativeCreate.js","../../node_modules/lodash/_hashClear.js","../../node_modules/lodash/_hashDelete.js","../../node_modules/lodash/_hashGet.js","../../node_modules/lodash/_hashHas.js","../../node_modules/lodash/_hashSet.js","../../node_modules/lodash/_Hash.js","../../node_modules/lodash/_mapCacheClear.js","../../node_modules/lodash/_isKeyable.js","../../node_modules/lodash/_getMapData.js","../../node_modules/lodash/_mapCacheDelete.js","../../node_modules/lodash/_mapCacheGet.js","../../node_modules/lodash/_mapCacheHas.js","../../node_modules/lodash/_mapCacheSet.js","../../node_modules/lodash/_MapCache.js","../../node_modules/lodash/_stackSet.js","../../node_modules/lodash/_Stack.js","../../node_modules/lodash/_setCacheAdd.js","../../node_modules/lodash/_setCacheHas.js","../../node_modules/lodash/_SetCache.js","../../node_modules/lodash/_arraySome.js","../../node_modules/lodash/_cacheHas.js","../../node_modules/lodash/_equalArrays.js","../../node_modules/lodash/_Uint8Array.js","../../node_modules/lodash/_mapToArray.js","../../node_modules/lodash/_setToArray.js","../../node_modules/lodash/_equalByTag.js","../../node_modules/lodash/_arrayPush.js","../../node_modules/lodash/isArray.js","../../node_modules/lodash/_baseGetAllKeys.js","../../node_modules/lodash/_arrayFilter.js","../../node_modules/lodash/stubArray.js","../../node_modules/lodash/_getSymbols.js","../../node_modules/lodash/_baseTimes.js","../../node_modules/lodash/isObjectLike.js","../../node_modules/lodash/_baseIsArguments.js","../../node_modules/lodash/isArguments.js","../../node_modules/lodash/stubFalse.js","../../node_modules/lodash/isBuffer.js","../../node_modules/lodash/_isIndex.js","../../node_modules/lodash/isLength.js","../../node_modules/lodash/_baseIsTypedArray.js","../../node_modules/lodash/_baseUnary.js","../../node_modules/lodash/_nodeUtil.js","../../node_modules/lodash/isTypedArray.js","../../node_modules/lodash/_arrayLikeKeys.js","../../node_modules/lodash/_isPrototype.js","../../node_modules/lodash/_overArg.js","../../node_modules/lodash/_nativeKeys.js","../../node_modules/lodash/_baseKeys.js","../../node_modules/lodash/isArrayLike.js","../../node_modules/lodash/keys.js","../../node_modules/lodash/_getAllKeys.js","../../node_modules/lodash/_equalObjects.js","../../node_modules/lodash/_DataView.js","../../node_modules/lodash/_Promise.js","../../node_modules/lodash/_Set.js","../../node_modules/lodash/_WeakMap.js","../../node_modules/lodash/_getTag.js","../../node_modules/lodash/_baseIsEqualDeep.js","../../node_modules/lodash/_baseIsEqual.js","../../node_modules/lodash/_baseIsMatch.js","../../node_modules/lodash/_isStrictComparable.js","../../node_modules/lodash/_getMatchData.js","../../node_modules/lodash/_matchesStrictComparable.js","../../node_modules/lodash/_baseMatches.js","../../node_modules/lodash/isSymbol.js","../../node_modules/lodash/_isKey.js","../../node_modules/lodash/memoize.js","../../node_modules/lodash/_memoizeCapped.js","../../node_modules/lodash/_stringToPath.js","../../node_modules/lodash/_baseToString.js","../../node_modules/lodash/toString.js","../../node_modules/lodash/_castPath.js","../../node_modules/lodash/_toKey.js","../../node_modules/lodash/_baseGet.js","../../node_modules/lodash/get.js","../../node_modules/lodash/_baseHasIn.js","../../node_modules/lodash/_hasPath.js","../../node_modules/lodash/hasIn.js","../../node_modules/lodash/_baseMatchesProperty.js","../../node_modules/lodash/identity.js","../../node_modules/lodash/_baseProperty.js","../../node_modules/lodash/_basePropertyDeep.js","../../node_modules/lodash/property.js","../../node_modules/lodash/_baseIteratee.js","../../node_modules/lodash/_defineProperty.js","../../node_modules/lodash/_baseAssignValue.js","../../node_modules/lodash/_getPrototype.js","../../node_modules/lodash/_createBaseFor.js","../../node_modules/lodash/_baseFor.js","../../node_modules/lodash/_baseForOwn.js","../../node_modules/lodash/mapValues.js","../../node_modules/esutils/lib/ast.js","../../node_modules/esutils/lib/code.js","../../node_modules/esutils/lib/keyword.js","../../node_modules/esutils/lib/utils.js","../../node_modules/browser-assert/lib/assert.js","../../node_modules/doctrine/lib/utility.js","../../node_modules/doctrine/lib/typed.js","../../node_modules/doctrine/lib/doctrine.js","../../node_modules/@storybook/docs-tools/dist/index.mjs"],"sourcesContent":["/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","/*\n Copyright (C) 2013 Yusuke Suzuki \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n(function () {\n 'use strict';\n\n function isExpression(node) {\n if (node == null) { return false; }\n switch (node.type) {\n case 'ArrayExpression':\n case 'AssignmentExpression':\n case 'BinaryExpression':\n case 'CallExpression':\n case 'ConditionalExpression':\n case 'FunctionExpression':\n case 'Identifier':\n case 'Literal':\n case 'LogicalExpression':\n case 'MemberExpression':\n case 'NewExpression':\n case 'ObjectExpression':\n case 'SequenceExpression':\n case 'ThisExpression':\n case 'UnaryExpression':\n case 'UpdateExpression':\n return true;\n }\n return false;\n }\n\n function isIterationStatement(node) {\n if (node == null) { return false; }\n switch (node.type) {\n case 'DoWhileStatement':\n case 'ForInStatement':\n case 'ForStatement':\n case 'WhileStatement':\n return true;\n }\n return false;\n }\n\n function isStatement(node) {\n if (node == null) { return false; }\n switch (node.type) {\n case 'BlockStatement':\n case 'BreakStatement':\n case 'ContinueStatement':\n case 'DebuggerStatement':\n case 'DoWhileStatement':\n case 'EmptyStatement':\n case 'ExpressionStatement':\n case 'ForInStatement':\n case 'ForStatement':\n case 'IfStatement':\n case 'LabeledStatement':\n case 'ReturnStatement':\n case 'SwitchStatement':\n case 'ThrowStatement':\n case 'TryStatement':\n case 'VariableDeclaration':\n case 'WhileStatement':\n case 'WithStatement':\n return true;\n }\n return false;\n }\n\n function isSourceElement(node) {\n return isStatement(node) || node != null && node.type === 'FunctionDeclaration';\n }\n\n function trailingStatement(node) {\n switch (node.type) {\n case 'IfStatement':\n if (node.alternate != null) {\n return node.alternate;\n }\n return node.consequent;\n\n case 'LabeledStatement':\n case 'ForStatement':\n case 'ForInStatement':\n case 'WhileStatement':\n case 'WithStatement':\n return node.body;\n }\n return null;\n }\n\n function isProblematicIfStatement(node) {\n var current;\n\n if (node.type !== 'IfStatement') {\n return false;\n }\n if (node.alternate == null) {\n return false;\n }\n current = node.consequent;\n do {\n if (current.type === 'IfStatement') {\n if (current.alternate == null) {\n return true;\n }\n }\n current = trailingStatement(current);\n } while (current);\n\n return false;\n }\n\n module.exports = {\n isExpression: isExpression,\n isStatement: isStatement,\n isIterationStatement: isIterationStatement,\n isSourceElement: isSourceElement,\n isProblematicIfStatement: isProblematicIfStatement,\n\n trailingStatement: trailingStatement\n };\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n","/*\n Copyright (C) 2013-2014 Yusuke Suzuki \n Copyright (C) 2014 Ivan Nikulin \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n(function () {\n 'use strict';\n\n var ES6Regex, ES5Regex, NON_ASCII_WHITESPACES, IDENTIFIER_START, IDENTIFIER_PART, ch;\n\n // See `tools/generate-identifier-regex.js`.\n ES5Regex = {\n // ECMAScript 5.1/Unicode v9.0.0 NonAsciiIdentifierStart:\n NonAsciiIdentifierStart: /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,\n // ECMAScript 5.1/Unicode v9.0.0 NonAsciiIdentifierPart:\n NonAsciiIdentifierPart: /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/\n };\n\n ES6Regex = {\n // ECMAScript 6/Unicode v9.0.0 NonAsciiIdentifierStart:\n NonAsciiIdentifierStart: /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,\n // ECMAScript 6/Unicode v9.0.0 NonAsciiIdentifierPart:\n NonAsciiIdentifierPart: /[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/\n };\n\n function isDecimalDigit(ch) {\n return 0x30 <= ch && ch <= 0x39; // 0..9\n }\n\n function isHexDigit(ch) {\n return 0x30 <= ch && ch <= 0x39 || // 0..9\n 0x61 <= ch && ch <= 0x66 || // a..f\n 0x41 <= ch && ch <= 0x46; // A..F\n }\n\n function isOctalDigit(ch) {\n return ch >= 0x30 && ch <= 0x37; // 0..7\n }\n\n // 7.2 White Space\n\n NON_ASCII_WHITESPACES = [\n 0x1680,\n 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A,\n 0x202F, 0x205F,\n 0x3000,\n 0xFEFF\n ];\n\n function isWhiteSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0B || ch === 0x0C || ch === 0xA0 ||\n ch >= 0x1680 && NON_ASCII_WHITESPACES.indexOf(ch) >= 0;\n }\n\n // 7.3 Line Terminators\n\n function isLineTerminator(ch) {\n return ch === 0x0A || ch === 0x0D || ch === 0x2028 || ch === 0x2029;\n }\n\n // 7.6 Identifier Names and Identifiers\n\n function fromCodePoint(cp) {\n if (cp <= 0xFFFF) { return String.fromCharCode(cp); }\n var cu1 = String.fromCharCode(Math.floor((cp - 0x10000) / 0x400) + 0xD800);\n var cu2 = String.fromCharCode(((cp - 0x10000) % 0x400) + 0xDC00);\n return cu1 + cu2;\n }\n\n IDENTIFIER_START = new Array(0x80);\n for(ch = 0; ch < 0x80; ++ch) {\n IDENTIFIER_START[ch] =\n ch >= 0x61 && ch <= 0x7A || // a..z\n ch >= 0x41 && ch <= 0x5A || // A..Z\n ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore)\n }\n\n IDENTIFIER_PART = new Array(0x80);\n for(ch = 0; ch < 0x80; ++ch) {\n IDENTIFIER_PART[ch] =\n ch >= 0x61 && ch <= 0x7A || // a..z\n ch >= 0x41 && ch <= 0x5A || // A..Z\n ch >= 0x30 && ch <= 0x39 || // 0..9\n ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore)\n }\n\n function isIdentifierStartES5(ch) {\n return ch < 0x80 ? IDENTIFIER_START[ch] : ES5Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch));\n }\n\n function isIdentifierPartES5(ch) {\n return ch < 0x80 ? IDENTIFIER_PART[ch] : ES5Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch));\n }\n\n function isIdentifierStartES6(ch) {\n return ch < 0x80 ? IDENTIFIER_START[ch] : ES6Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch));\n }\n\n function isIdentifierPartES6(ch) {\n return ch < 0x80 ? IDENTIFIER_PART[ch] : ES6Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch));\n }\n\n module.exports = {\n isDecimalDigit: isDecimalDigit,\n isHexDigit: isHexDigit,\n isOctalDigit: isOctalDigit,\n isWhiteSpace: isWhiteSpace,\n isLineTerminator: isLineTerminator,\n isIdentifierStartES5: isIdentifierStartES5,\n isIdentifierPartES5: isIdentifierPartES5,\n isIdentifierStartES6: isIdentifierStartES6,\n isIdentifierPartES6: isIdentifierPartES6\n };\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n","/*\n Copyright (C) 2013 Yusuke Suzuki \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n(function () {\n 'use strict';\n\n var code = require('./code');\n\n function isStrictModeReservedWordES6(id) {\n switch (id) {\n case 'implements':\n case 'interface':\n case 'package':\n case 'private':\n case 'protected':\n case 'public':\n case 'static':\n case 'let':\n return true;\n default:\n return false;\n }\n }\n\n function isKeywordES5(id, strict) {\n // yield should not be treated as keyword under non-strict mode.\n if (!strict && id === 'yield') {\n return false;\n }\n return isKeywordES6(id, strict);\n }\n\n function isKeywordES6(id, strict) {\n if (strict && isStrictModeReservedWordES6(id)) {\n return true;\n }\n\n switch (id.length) {\n case 2:\n return (id === 'if') || (id === 'in') || (id === 'do');\n case 3:\n return (id === 'var') || (id === 'for') || (id === 'new') || (id === 'try');\n case 4:\n return (id === 'this') || (id === 'else') || (id === 'case') ||\n (id === 'void') || (id === 'with') || (id === 'enum');\n case 5:\n return (id === 'while') || (id === 'break') || (id === 'catch') ||\n (id === 'throw') || (id === 'const') || (id === 'yield') ||\n (id === 'class') || (id === 'super');\n case 6:\n return (id === 'return') || (id === 'typeof') || (id === 'delete') ||\n (id === 'switch') || (id === 'export') || (id === 'import');\n case 7:\n return (id === 'default') || (id === 'finally') || (id === 'extends');\n case 8:\n return (id === 'function') || (id === 'continue') || (id === 'debugger');\n case 10:\n return (id === 'instanceof');\n default:\n return false;\n }\n }\n\n function isReservedWordES5(id, strict) {\n return id === 'null' || id === 'true' || id === 'false' || isKeywordES5(id, strict);\n }\n\n function isReservedWordES6(id, strict) {\n return id === 'null' || id === 'true' || id === 'false' || isKeywordES6(id, strict);\n }\n\n function isRestrictedWord(id) {\n return id === 'eval' || id === 'arguments';\n }\n\n function isIdentifierNameES5(id) {\n var i, iz, ch;\n\n if (id.length === 0) { return false; }\n\n ch = id.charCodeAt(0);\n if (!code.isIdentifierStartES5(ch)) {\n return false;\n }\n\n for (i = 1, iz = id.length; i < iz; ++i) {\n ch = id.charCodeAt(i);\n if (!code.isIdentifierPartES5(ch)) {\n return false;\n }\n }\n return true;\n }\n\n function decodeUtf16(lead, trail) {\n return (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000;\n }\n\n function isIdentifierNameES6(id) {\n var i, iz, ch, lowCh, check;\n\n if (id.length === 0) { return false; }\n\n check = code.isIdentifierStartES6;\n for (i = 0, iz = id.length; i < iz; ++i) {\n ch = id.charCodeAt(i);\n if (0xD800 <= ch && ch <= 0xDBFF) {\n ++i;\n if (i >= iz) { return false; }\n lowCh = id.charCodeAt(i);\n if (!(0xDC00 <= lowCh && lowCh <= 0xDFFF)) {\n return false;\n }\n ch = decodeUtf16(ch, lowCh);\n }\n if (!check(ch)) {\n return false;\n }\n check = code.isIdentifierPartES6;\n }\n return true;\n }\n\n function isIdentifierES5(id, strict) {\n return isIdentifierNameES5(id) && !isReservedWordES5(id, strict);\n }\n\n function isIdentifierES6(id, strict) {\n return isIdentifierNameES6(id) && !isReservedWordES6(id, strict);\n }\n\n module.exports = {\n isKeywordES5: isKeywordES5,\n isKeywordES6: isKeywordES6,\n isReservedWordES5: isReservedWordES5,\n isReservedWordES6: isReservedWordES6,\n isRestrictedWord: isRestrictedWord,\n isIdentifierNameES5: isIdentifierNameES5,\n isIdentifierNameES6: isIdentifierNameES6,\n isIdentifierES5: isIdentifierES5,\n isIdentifierES6: isIdentifierES6\n };\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n","/*\n Copyright (C) 2013 Yusuke Suzuki \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n\n(function () {\n 'use strict';\n\n exports.ast = require('./ast');\n exports.code = require('./code');\n exports.keyword = require('./keyword');\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n","function assert(expr, message) {\n if(!Boolean(expr)) {\n throw new Error(message || 'unknown assertion error');\n }\n}\n\nmodule.exports = assert;\n","/*\n * @fileoverview Utilities for Doctrine\n * @author Yusuke Suzuki \n */\n\n\n(function () {\n 'use strict';\n\n var VERSION;\n\n VERSION = require('../package.json').version;\n exports.VERSION = VERSION;\n\n function DoctrineError(message) {\n this.name = 'DoctrineError';\n this.message = message;\n }\n DoctrineError.prototype = (function () {\n var Middle = function () { };\n Middle.prototype = Error.prototype;\n return new Middle();\n }());\n DoctrineError.prototype.constructor = DoctrineError;\n exports.DoctrineError = DoctrineError;\n\n function throwError(message) {\n throw new DoctrineError(message);\n }\n exports.throwError = throwError;\n\n exports.assert = require('assert');\n}());\n\n/* vim: set sw=4 ts=4 et tw=80 : */\n","/*\n * @fileoverview Type expression parser.\n * @author Yusuke Suzuki \n * @author Dan Tao \n * @author Andrew Eisenberg \n */\n\n// \"typed\", the Type Expression Parser for doctrine.\n\n(function () {\n 'use strict';\n\n var Syntax,\n Token,\n source,\n length,\n index,\n previous,\n token,\n value,\n esutils,\n utility,\n rangeOffset,\n addRange;\n\n esutils = require('esutils');\n utility = require('./utility');\n\n Syntax = {\n NullableLiteral: 'NullableLiteral',\n AllLiteral: 'AllLiteral',\n NullLiteral: 'NullLiteral',\n UndefinedLiteral: 'UndefinedLiteral',\n VoidLiteral: 'VoidLiteral',\n UnionType: 'UnionType',\n ArrayType: 'ArrayType',\n RecordType: 'RecordType',\n FieldType: 'FieldType',\n FunctionType: 'FunctionType',\n ParameterType: 'ParameterType',\n RestType: 'RestType',\n NonNullableType: 'NonNullableType',\n OptionalType: 'OptionalType',\n NullableType: 'NullableType',\n NameExpression: 'NameExpression',\n TypeApplication: 'TypeApplication',\n StringLiteralType: 'StringLiteralType',\n NumericLiteralType: 'NumericLiteralType',\n BooleanLiteralType: 'BooleanLiteralType'\n };\n\n Token = {\n ILLEGAL: 0, // ILLEGAL\n DOT_LT: 1, // .<\n REST: 2, // ...\n LT: 3, // <\n GT: 4, // >\n LPAREN: 5, // (\n RPAREN: 6, // )\n LBRACE: 7, // {\n RBRACE: 8, // }\n LBRACK: 9, // [\n RBRACK: 10, // ]\n COMMA: 11, // ,\n COLON: 12, // :\n STAR: 13, // *\n PIPE: 14, // |\n QUESTION: 15, // ?\n BANG: 16, // !\n EQUAL: 17, // =\n NAME: 18, // name token\n STRING: 19, // string\n NUMBER: 20, // number\n EOF: 21\n };\n\n function isTypeName(ch) {\n return '><(){}[],:*|?!='.indexOf(String.fromCharCode(ch)) === -1 && !esutils.code.isWhiteSpace(ch) && !esutils.code.isLineTerminator(ch);\n }\n\n function Context(previous, index, token, value) {\n this._previous = previous;\n this._index = index;\n this._token = token;\n this._value = value;\n }\n\n Context.prototype.restore = function () {\n previous = this._previous;\n index = this._index;\n token = this._token;\n value = this._value;\n };\n\n Context.save = function () {\n return new Context(previous, index, token, value);\n };\n\n function maybeAddRange(node, range) {\n if (addRange) {\n node.range = [range[0] + rangeOffset, range[1] + rangeOffset];\n }\n return node;\n }\n\n function advance() {\n var ch = source.charAt(index);\n index += 1;\n return ch;\n }\n\n function scanHexEscape(prefix) {\n var i, len, ch, code = 0;\n\n len = (prefix === 'u') ? 4 : 2;\n for (i = 0; i < len; ++i) {\n if (index < length && esutils.code.isHexDigit(source.charCodeAt(index))) {\n ch = advance();\n code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase());\n } else {\n return '';\n }\n }\n return String.fromCharCode(code);\n }\n\n function scanString() {\n var str = '', quote, ch, code, unescaped, restore; //TODO review removal octal = false\n quote = source.charAt(index);\n ++index;\n\n while (index < length) {\n ch = advance();\n\n if (ch === quote) {\n quote = '';\n break;\n } else if (ch === '\\\\') {\n ch = advance();\n if (!esutils.code.isLineTerminator(ch.charCodeAt(0))) {\n switch (ch) {\n case 'n':\n str += '\\n';\n break;\n case 'r':\n str += '\\r';\n break;\n case 't':\n str += '\\t';\n break;\n case 'u':\n case 'x':\n restore = index;\n unescaped = scanHexEscape(ch);\n if (unescaped) {\n str += unescaped;\n } else {\n index = restore;\n str += ch;\n }\n break;\n case 'b':\n str += '\\b';\n break;\n case 'f':\n str += '\\f';\n break;\n case 'v':\n str += '\\v';\n break;\n\n default:\n if (esutils.code.isOctalDigit(ch.charCodeAt(0))) {\n code = '01234567'.indexOf(ch);\n\n // \\0 is not octal escape sequence\n // Deprecating unused code. TODO review removal\n //if (code !== 0) {\n // octal = true;\n //}\n\n if (index < length && esutils.code.isOctalDigit(source.charCodeAt(index))) {\n //TODO Review Removal octal = true;\n code = code * 8 + '01234567'.indexOf(advance());\n\n // 3 digits are only allowed when string starts\n // with 0, 1, 2, 3\n if ('0123'.indexOf(ch) >= 0 &&\n index < length &&\n esutils.code.isOctalDigit(source.charCodeAt(index))) {\n code = code * 8 + '01234567'.indexOf(advance());\n }\n }\n str += String.fromCharCode(code);\n } else {\n str += ch;\n }\n break;\n }\n } else {\n if (ch === '\\r' && source.charCodeAt(index) === 0x0A /* '\\n' */) {\n ++index;\n }\n }\n } else if (esutils.code.isLineTerminator(ch.charCodeAt(0))) {\n break;\n } else {\n str += ch;\n }\n }\n\n if (quote !== '') {\n utility.throwError('unexpected quote');\n }\n\n value = str;\n return Token.STRING;\n }\n\n function scanNumber() {\n var number, ch;\n\n number = '';\n ch = source.charCodeAt(index);\n\n if (ch !== 0x2E /* '.' */) {\n number = advance();\n ch = source.charCodeAt(index);\n\n if (number === '0') {\n if (ch === 0x78 /* 'x' */ || ch === 0x58 /* 'X' */) {\n number += advance();\n while (index < length) {\n ch = source.charCodeAt(index);\n if (!esutils.code.isHexDigit(ch)) {\n break;\n }\n number += advance();\n }\n\n if (number.length <= 2) {\n // only 0x\n utility.throwError('unexpected token');\n }\n\n if (index < length) {\n ch = source.charCodeAt(index);\n if (esutils.code.isIdentifierStartES5(ch)) {\n utility.throwError('unexpected token');\n }\n }\n value = parseInt(number, 16);\n return Token.NUMBER;\n }\n\n if (esutils.code.isOctalDigit(ch)) {\n number += advance();\n while (index < length) {\n ch = source.charCodeAt(index);\n if (!esutils.code.isOctalDigit(ch)) {\n break;\n }\n number += advance();\n }\n\n if (index < length) {\n ch = source.charCodeAt(index);\n if (esutils.code.isIdentifierStartES5(ch) || esutils.code.isDecimalDigit(ch)) {\n utility.throwError('unexpected token');\n }\n }\n value = parseInt(number, 8);\n return Token.NUMBER;\n }\n\n if (esutils.code.isDecimalDigit(ch)) {\n utility.throwError('unexpected token');\n }\n }\n\n while (index < length) {\n ch = source.charCodeAt(index);\n if (!esutils.code.isDecimalDigit(ch)) {\n break;\n }\n number += advance();\n }\n }\n\n if (ch === 0x2E /* '.' */) {\n number += advance();\n while (index < length) {\n ch = source.charCodeAt(index);\n if (!esutils.code.isDecimalDigit(ch)) {\n break;\n }\n number += advance();\n }\n }\n\n if (ch === 0x65 /* 'e' */ || ch === 0x45 /* 'E' */) {\n number += advance();\n\n ch = source.charCodeAt(index);\n if (ch === 0x2B /* '+' */ || ch === 0x2D /* '-' */) {\n number += advance();\n }\n\n ch = source.charCodeAt(index);\n if (esutils.code.isDecimalDigit(ch)) {\n number += advance();\n while (index < length) {\n ch = source.charCodeAt(index);\n if (!esutils.code.isDecimalDigit(ch)) {\n break;\n }\n number += advance();\n }\n } else {\n utility.throwError('unexpected token');\n }\n }\n\n if (index < length) {\n ch = source.charCodeAt(index);\n if (esutils.code.isIdentifierStartES5(ch)) {\n utility.throwError('unexpected token');\n }\n }\n\n value = parseFloat(number);\n return Token.NUMBER;\n }\n\n\n function scanTypeName() {\n var ch, ch2;\n\n value = advance();\n while (index < length && isTypeName(source.charCodeAt(index))) {\n ch = source.charCodeAt(index);\n if (ch === 0x2E /* '.' */) {\n if ((index + 1) >= length) {\n return Token.ILLEGAL;\n }\n ch2 = source.charCodeAt(index + 1);\n if (ch2 === 0x3C /* '<' */) {\n break;\n }\n }\n value += advance();\n }\n return Token.NAME;\n }\n\n function next() {\n var ch;\n\n previous = index;\n\n while (index < length && esutils.code.isWhiteSpace(source.charCodeAt(index))) {\n advance();\n }\n if (index >= length) {\n token = Token.EOF;\n return token;\n }\n\n ch = source.charCodeAt(index);\n switch (ch) {\n case 0x27: /* ''' */\n case 0x22: /* '\"' */\n token = scanString();\n return token;\n\n case 0x3A: /* ':' */\n advance();\n token = Token.COLON;\n return token;\n\n case 0x2C: /* ',' */\n advance();\n token = Token.COMMA;\n return token;\n\n case 0x28: /* '(' */\n advance();\n token = Token.LPAREN;\n return token;\n\n case 0x29: /* ')' */\n advance();\n token = Token.RPAREN;\n return token;\n\n case 0x5B: /* '[' */\n advance();\n token = Token.LBRACK;\n return token;\n\n case 0x5D: /* ']' */\n advance();\n token = Token.RBRACK;\n return token;\n\n case 0x7B: /* '{' */\n advance();\n token = Token.LBRACE;\n return token;\n\n case 0x7D: /* '}' */\n advance();\n token = Token.RBRACE;\n return token;\n\n case 0x2E: /* '.' */\n if (index + 1 < length) {\n ch = source.charCodeAt(index + 1);\n if (ch === 0x3C /* '<' */) {\n advance(); // '.'\n advance(); // '<'\n token = Token.DOT_LT;\n return token;\n }\n\n if (ch === 0x2E /* '.' */ && index + 2 < length && source.charCodeAt(index + 2) === 0x2E /* '.' */) {\n advance(); // '.'\n advance(); // '.'\n advance(); // '.'\n token = Token.REST;\n return token;\n }\n\n if (esutils.code.isDecimalDigit(ch)) {\n token = scanNumber();\n return token;\n }\n }\n token = Token.ILLEGAL;\n return token;\n\n case 0x3C: /* '<' */\n advance();\n token = Token.LT;\n return token;\n\n case 0x3E: /* '>' */\n advance();\n token = Token.GT;\n return token;\n\n case 0x2A: /* '*' */\n advance();\n token = Token.STAR;\n return token;\n\n case 0x7C: /* '|' */\n advance();\n token = Token.PIPE;\n return token;\n\n case 0x3F: /* '?' */\n advance();\n token = Token.QUESTION;\n return token;\n\n case 0x21: /* '!' */\n advance();\n token = Token.BANG;\n return token;\n\n case 0x3D: /* '=' */\n advance();\n token = Token.EQUAL;\n return token;\n\n case 0x2D: /* '-' */\n token = scanNumber();\n return token;\n\n default:\n if (esutils.code.isDecimalDigit(ch)) {\n token = scanNumber();\n return token;\n }\n\n // type string permits following case,\n //\n // namespace.module.MyClass\n //\n // this reduced 1 token TK_NAME\n utility.assert(isTypeName(ch));\n token = scanTypeName();\n return token;\n }\n }\n\n function consume(target, text) {\n utility.assert(token === target, text || 'consumed token not matched');\n next();\n }\n\n function expect(target, message) {\n if (token !== target) {\n utility.throwError(message || 'unexpected token');\n }\n next();\n }\n\n // UnionType := '(' TypeUnionList ')'\n //\n // TypeUnionList :=\n // <>\n // | NonemptyTypeUnionList\n //\n // NonemptyTypeUnionList :=\n // TypeExpression\n // | TypeExpression '|' NonemptyTypeUnionList\n function parseUnionType() {\n var elements, startIndex = index - 1;\n consume(Token.LPAREN, 'UnionType should start with (');\n elements = [];\n if (token !== Token.RPAREN) {\n while (true) {\n elements.push(parseTypeExpression());\n if (token === Token.RPAREN) {\n break;\n }\n expect(Token.PIPE);\n }\n }\n consume(Token.RPAREN, 'UnionType should end with )');\n return maybeAddRange({\n type: Syntax.UnionType,\n elements: elements\n }, [startIndex, previous]);\n }\n\n // ArrayType := '[' ElementTypeList ']'\n //\n // ElementTypeList :=\n // <>\n // | TypeExpression\n // | '...' TypeExpression\n // | TypeExpression ',' ElementTypeList\n function parseArrayType() {\n var elements, startIndex = index - 1, restStartIndex;\n consume(Token.LBRACK, 'ArrayType should start with [');\n elements = [];\n while (token !== Token.RBRACK) {\n if (token === Token.REST) {\n restStartIndex = index - 3;\n consume(Token.REST);\n elements.push(maybeAddRange({\n type: Syntax.RestType,\n expression: parseTypeExpression()\n }, [restStartIndex, previous]));\n break;\n } else {\n elements.push(parseTypeExpression());\n }\n if (token !== Token.RBRACK) {\n expect(Token.COMMA);\n }\n }\n expect(Token.RBRACK);\n return maybeAddRange({\n type: Syntax.ArrayType,\n elements: elements\n }, [startIndex, previous]);\n }\n\n function parseFieldName() {\n var v = value;\n if (token === Token.NAME || token === Token.STRING) {\n next();\n return v;\n }\n\n if (token === Token.NUMBER) {\n consume(Token.NUMBER);\n return String(v);\n }\n\n utility.throwError('unexpected token');\n }\n\n // FieldType :=\n // FieldName\n // | FieldName ':' TypeExpression\n //\n // FieldName :=\n // NameExpression\n // | StringLiteral\n // | NumberLiteral\n // | ReservedIdentifier\n function parseFieldType() {\n var key, rangeStart = previous;\n\n key = parseFieldName();\n if (token === Token.COLON) {\n consume(Token.COLON);\n return maybeAddRange({\n type: Syntax.FieldType,\n key: key,\n value: parseTypeExpression()\n }, [rangeStart, previous]);\n }\n return maybeAddRange({\n type: Syntax.FieldType,\n key: key,\n value: null\n }, [rangeStart, previous]);\n }\n\n // RecordType := '{' FieldTypeList '}'\n //\n // FieldTypeList :=\n // <>\n // | FieldType\n // | FieldType ',' FieldTypeList\n function parseRecordType() {\n var fields, rangeStart = index - 1, rangeEnd;\n\n consume(Token.LBRACE, 'RecordType should start with {');\n fields = [];\n if (token === Token.COMMA) {\n consume(Token.COMMA);\n } else {\n while (token !== Token.RBRACE) {\n fields.push(parseFieldType());\n if (token !== Token.RBRACE) {\n expect(Token.COMMA);\n }\n }\n }\n rangeEnd = index;\n expect(Token.RBRACE);\n return maybeAddRange({\n type: Syntax.RecordType,\n fields: fields\n }, [rangeStart, rangeEnd]);\n }\n\n // NameExpression :=\n // Identifier\n // | TagIdentifier ':' Identifier\n //\n // Tag identifier is one of \"module\", \"external\" or \"event\"\n // Identifier is the same as Token.NAME, including any dots, something like\n // namespace.module.MyClass\n function parseNameExpression() {\n var name = value, rangeStart = index - name.length;\n expect(Token.NAME);\n\n if (token === Token.COLON && (\n name === 'module' ||\n name === 'external' ||\n name === 'event')) {\n consume(Token.COLON);\n name += ':' + value;\n expect(Token.NAME);\n }\n\n return maybeAddRange({\n type: Syntax.NameExpression,\n name: name\n }, [rangeStart, previous]);\n }\n\n // TypeExpressionList :=\n // TopLevelTypeExpression\n // | TopLevelTypeExpression ',' TypeExpressionList\n function parseTypeExpressionList() {\n var elements = [];\n\n elements.push(parseTop());\n while (token === Token.COMMA) {\n consume(Token.COMMA);\n elements.push(parseTop());\n }\n return elements;\n }\n\n // TypeName :=\n // NameExpression\n // | NameExpression TypeApplication\n //\n // TypeApplication :=\n // '.<' TypeExpressionList '>'\n // | '<' TypeExpressionList '>' // this is extension of doctrine\n function parseTypeName() {\n var expr, applications, startIndex = index - value.length;\n\n expr = parseNameExpression();\n if (token === Token.DOT_LT || token === Token.LT) {\n next();\n applications = parseTypeExpressionList();\n expect(Token.GT);\n return maybeAddRange({\n type: Syntax.TypeApplication,\n expression: expr,\n applications: applications\n }, [startIndex, previous]);\n }\n return expr;\n }\n\n // ResultType :=\n // <>\n // | ':' void\n // | ':' TypeExpression\n //\n // BNF is above\n // but, we remove <> pattern, so token is always TypeToken::COLON\n function parseResultType() {\n consume(Token.COLON, 'ResultType should start with :');\n if (token === Token.NAME && value === 'void') {\n consume(Token.NAME);\n return {\n type: Syntax.VoidLiteral\n };\n }\n return parseTypeExpression();\n }\n\n // ParametersType :=\n // RestParameterType\n // | NonRestParametersType\n // | NonRestParametersType ',' RestParameterType\n //\n // RestParameterType :=\n // '...'\n // '...' Identifier\n //\n // NonRestParametersType :=\n // ParameterType ',' NonRestParametersType\n // | ParameterType\n // | OptionalParametersType\n //\n // OptionalParametersType :=\n // OptionalParameterType\n // | OptionalParameterType, OptionalParametersType\n //\n // OptionalParameterType := ParameterType=\n //\n // ParameterType := TypeExpression | Identifier ':' TypeExpression\n //\n // Identifier is \"new\" or \"this\"\n function parseParametersType() {\n var params = [], optionalSequence = false, expr, rest = false, startIndex, restStartIndex = index - 3, nameStartIndex;\n\n while (token !== Token.RPAREN) {\n if (token === Token.REST) {\n // RestParameterType\n consume(Token.REST);\n rest = true;\n }\n\n startIndex = previous;\n\n expr = parseTypeExpression();\n if (expr.type === Syntax.NameExpression && token === Token.COLON) {\n nameStartIndex = previous - expr.name.length;\n // Identifier ':' TypeExpression\n consume(Token.COLON);\n expr = maybeAddRange({\n type: Syntax.ParameterType,\n name: expr.name,\n expression: parseTypeExpression()\n }, [nameStartIndex, previous]);\n }\n if (token === Token.EQUAL) {\n consume(Token.EQUAL);\n expr = maybeAddRange({\n type: Syntax.OptionalType,\n expression: expr\n }, [startIndex, previous]);\n optionalSequence = true;\n } else {\n if (optionalSequence) {\n utility.throwError('unexpected token');\n }\n }\n if (rest) {\n expr = maybeAddRange({\n type: Syntax.RestType,\n expression: expr\n }, [restStartIndex, previous]);\n }\n params.push(expr);\n if (token !== Token.RPAREN) {\n expect(Token.COMMA);\n }\n }\n return params;\n }\n\n // FunctionType := 'function' FunctionSignatureType\n //\n // FunctionSignatureType :=\n // | TypeParameters '(' ')' ResultType\n // | TypeParameters '(' ParametersType ')' ResultType\n // | TypeParameters '(' 'this' ':' TypeName ')' ResultType\n // | TypeParameters '(' 'this' ':' TypeName ',' ParametersType ')' ResultType\n function parseFunctionType() {\n var isNew, thisBinding, params, result, fnType, startIndex = index - value.length;\n utility.assert(token === Token.NAME && value === 'function', 'FunctionType should start with \\'function\\'');\n consume(Token.NAME);\n\n // Google Closure Compiler is not implementing TypeParameters.\n // So we do not. if we don't get '(', we see it as error.\n expect(Token.LPAREN);\n\n isNew = false;\n params = [];\n thisBinding = null;\n if (token !== Token.RPAREN) {\n // ParametersType or 'this'\n if (token === Token.NAME &&\n (value === 'this' || value === 'new')) {\n // 'this' or 'new'\n // 'new' is Closure Compiler extension\n isNew = value === 'new';\n consume(Token.NAME);\n expect(Token.COLON);\n thisBinding = parseTypeName();\n if (token === Token.COMMA) {\n consume(Token.COMMA);\n params = parseParametersType();\n }\n } else {\n params = parseParametersType();\n }\n }\n\n expect(Token.RPAREN);\n\n result = null;\n if (token === Token.COLON) {\n result = parseResultType();\n }\n\n fnType = maybeAddRange({\n type: Syntax.FunctionType,\n params: params,\n result: result\n }, [startIndex, previous]);\n if (thisBinding) {\n // avoid adding null 'new' and 'this' properties\n fnType['this'] = thisBinding;\n if (isNew) {\n fnType['new'] = true;\n }\n }\n return fnType;\n }\n\n // BasicTypeExpression :=\n // '*'\n // | 'null'\n // | 'undefined'\n // | TypeName\n // | FunctionType\n // | UnionType\n // | RecordType\n // | ArrayType\n function parseBasicTypeExpression() {\n var context, startIndex;\n switch (token) {\n case Token.STAR:\n consume(Token.STAR);\n return maybeAddRange({\n type: Syntax.AllLiteral\n }, [previous - 1, previous]);\n\n case Token.LPAREN:\n return parseUnionType();\n\n case Token.LBRACK:\n return parseArrayType();\n\n case Token.LBRACE:\n return parseRecordType();\n\n case Token.NAME:\n startIndex = index - value.length;\n\n if (value === 'null') {\n consume(Token.NAME);\n return maybeAddRange({\n type: Syntax.NullLiteral\n }, [startIndex, previous]);\n }\n\n if (value === 'undefined') {\n consume(Token.NAME);\n return maybeAddRange({\n type: Syntax.UndefinedLiteral\n }, [startIndex, previous]);\n }\n\n if (value === 'true' || value === 'false') {\n consume(Token.NAME);\n return maybeAddRange({\n type: Syntax.BooleanLiteralType,\n value: value === 'true'\n }, [startIndex, previous]);\n }\n\n context = Context.save();\n if (value === 'function') {\n try {\n return parseFunctionType();\n } catch (e) {\n context.restore();\n }\n }\n\n return parseTypeName();\n\n case Token.STRING:\n next();\n return maybeAddRange({\n type: Syntax.StringLiteralType,\n value: value\n }, [previous - value.length - 2, previous]);\n\n case Token.NUMBER:\n next();\n return maybeAddRange({\n type: Syntax.NumericLiteralType,\n value: value\n }, [previous - String(value).length, previous]);\n\n default:\n utility.throwError('unexpected token');\n }\n }\n\n // TypeExpression :=\n // BasicTypeExpression\n // | '?' BasicTypeExpression\n // | '!' BasicTypeExpression\n // | BasicTypeExpression '?'\n // | BasicTypeExpression '!'\n // | '?'\n // | BasicTypeExpression '[]'\n function parseTypeExpression() {\n var expr, rangeStart;\n\n if (token === Token.QUESTION) {\n rangeStart = index - 1;\n consume(Token.QUESTION);\n if (token === Token.COMMA || token === Token.EQUAL || token === Token.RBRACE ||\n token === Token.RPAREN || token === Token.PIPE || token === Token.EOF ||\n token === Token.RBRACK || token === Token.GT) {\n return maybeAddRange({\n type: Syntax.NullableLiteral\n }, [rangeStart, previous]);\n }\n return maybeAddRange({\n type: Syntax.NullableType,\n expression: parseBasicTypeExpression(),\n prefix: true\n }, [rangeStart, previous]);\n } else if (token === Token.BANG) {\n rangeStart = index - 1;\n consume(Token.BANG);\n return maybeAddRange({\n type: Syntax.NonNullableType,\n expression: parseBasicTypeExpression(),\n prefix: true\n }, [rangeStart, previous]);\n } else {\n rangeStart = previous;\n }\n\n expr = parseBasicTypeExpression();\n if (token === Token.BANG) {\n consume(Token.BANG);\n return maybeAddRange({\n type: Syntax.NonNullableType,\n expression: expr,\n prefix: false\n }, [rangeStart, previous]);\n }\n\n if (token === Token.QUESTION) {\n consume(Token.QUESTION);\n return maybeAddRange({\n type: Syntax.NullableType,\n expression: expr,\n prefix: false\n }, [rangeStart, previous]);\n }\n\n if (token === Token.LBRACK) {\n consume(Token.LBRACK);\n expect(Token.RBRACK, 'expected an array-style type declaration (' + value + '[])');\n return maybeAddRange({\n type: Syntax.TypeApplication,\n expression: maybeAddRange({\n type: Syntax.NameExpression,\n name: 'Array'\n }, [rangeStart, previous]),\n applications: [expr]\n }, [rangeStart, previous]);\n }\n\n return expr;\n }\n\n // TopLevelTypeExpression :=\n // TypeExpression\n // | TypeUnionList\n //\n // This rule is Google Closure Compiler extension, not ES4\n // like,\n // { number | string }\n // If strict to ES4, we should write it as\n // { (number|string) }\n function parseTop() {\n var expr, elements;\n\n expr = parseTypeExpression();\n if (token !== Token.PIPE) {\n return expr;\n }\n\n elements = [expr];\n consume(Token.PIPE);\n while (true) {\n elements.push(parseTypeExpression());\n if (token !== Token.PIPE) {\n break;\n }\n consume(Token.PIPE);\n }\n\n return maybeAddRange({\n type: Syntax.UnionType,\n elements: elements\n }, [0, index]);\n }\n\n function parseTopParamType() {\n var expr;\n\n if (token === Token.REST) {\n consume(Token.REST);\n return maybeAddRange({\n type: Syntax.RestType,\n expression: parseTop()\n }, [0, index]);\n }\n\n expr = parseTop();\n if (token === Token.EQUAL) {\n consume(Token.EQUAL);\n return maybeAddRange({\n type: Syntax.OptionalType,\n expression: expr\n }, [0, index]);\n }\n\n return expr;\n }\n\n function parseType(src, opt) {\n var expr;\n\n source = src;\n length = source.length;\n index = 0;\n previous = 0;\n addRange = opt && opt.range;\n rangeOffset = opt && opt.startIndex || 0;\n\n next();\n expr = parseTop();\n\n if (opt && opt.midstream) {\n return {\n expression: expr,\n index: previous\n };\n }\n\n if (token !== Token.EOF) {\n utility.throwError('not reach to EOF');\n }\n\n return expr;\n }\n\n function parseParamType(src, opt) {\n var expr;\n\n source = src;\n length = source.length;\n index = 0;\n previous = 0;\n addRange = opt && opt.range;\n rangeOffset = opt && opt.startIndex || 0;\n\n next();\n expr = parseTopParamType();\n\n if (opt && opt.midstream) {\n return {\n expression: expr,\n index: previous\n };\n }\n\n if (token !== Token.EOF) {\n utility.throwError('not reach to EOF');\n }\n\n return expr;\n }\n\n function stringifyImpl(node, compact, topLevel) {\n var result, i, iz;\n\n switch (node.type) {\n case Syntax.NullableLiteral:\n result = '?';\n break;\n\n case Syntax.AllLiteral:\n result = '*';\n break;\n\n case Syntax.NullLiteral:\n result = 'null';\n break;\n\n case Syntax.UndefinedLiteral:\n result = 'undefined';\n break;\n\n case Syntax.VoidLiteral:\n result = 'void';\n break;\n\n case Syntax.UnionType:\n if (!topLevel) {\n result = '(';\n } else {\n result = '';\n }\n\n for (i = 0, iz = node.elements.length; i < iz; ++i) {\n result += stringifyImpl(node.elements[i], compact);\n if ((i + 1) !== iz) {\n result += compact ? '|' : ' | ';\n }\n }\n\n if (!topLevel) {\n result += ')';\n }\n break;\n\n case Syntax.ArrayType:\n result = '[';\n for (i = 0, iz = node.elements.length; i < iz; ++i) {\n result += stringifyImpl(node.elements[i], compact);\n if ((i + 1) !== iz) {\n result += compact ? ',' : ', ';\n }\n }\n result += ']';\n break;\n\n case Syntax.RecordType:\n result = '{';\n for (i = 0, iz = node.fields.length; i < iz; ++i) {\n result += stringifyImpl(node.fields[i], compact);\n if ((i + 1) !== iz) {\n result += compact ? ',' : ', ';\n }\n }\n result += '}';\n break;\n\n case Syntax.FieldType:\n if (node.value) {\n result = node.key + (compact ? ':' : ': ') + stringifyImpl(node.value, compact);\n } else {\n result = node.key;\n }\n break;\n\n case Syntax.FunctionType:\n result = compact ? 'function(' : 'function (';\n\n if (node['this']) {\n if (node['new']) {\n result += (compact ? 'new:' : 'new: ');\n } else {\n result += (compact ? 'this:' : 'this: ');\n }\n\n result += stringifyImpl(node['this'], compact);\n\n if (node.params.length !== 0) {\n result += compact ? ',' : ', ';\n }\n }\n\n for (i = 0, iz = node.params.length; i < iz; ++i) {\n result += stringifyImpl(node.params[i], compact);\n if ((i + 1) !== iz) {\n result += compact ? ',' : ', ';\n }\n }\n\n result += ')';\n\n if (node.result) {\n result += (compact ? ':' : ': ') + stringifyImpl(node.result, compact);\n }\n break;\n\n case Syntax.ParameterType:\n result = node.name + (compact ? ':' : ': ') + stringifyImpl(node.expression, compact);\n break;\n\n case Syntax.RestType:\n result = '...';\n if (node.expression) {\n result += stringifyImpl(node.expression, compact);\n }\n break;\n\n case Syntax.NonNullableType:\n if (node.prefix) {\n result = '!' + stringifyImpl(node.expression, compact);\n } else {\n result = stringifyImpl(node.expression, compact) + '!';\n }\n break;\n\n case Syntax.OptionalType:\n result = stringifyImpl(node.expression, compact) + '=';\n break;\n\n case Syntax.NullableType:\n if (node.prefix) {\n result = '?' + stringifyImpl(node.expression, compact);\n } else {\n result = stringifyImpl(node.expression, compact) + '?';\n }\n break;\n\n case Syntax.NameExpression:\n result = node.name;\n break;\n\n case Syntax.TypeApplication:\n result = stringifyImpl(node.expression, compact) + '.<';\n for (i = 0, iz = node.applications.length; i < iz; ++i) {\n result += stringifyImpl(node.applications[i], compact);\n if ((i + 1) !== iz) {\n result += compact ? ',' : ', ';\n }\n }\n result += '>';\n break;\n\n case Syntax.StringLiteralType:\n result = '\"' + node.value + '\"';\n break;\n\n case Syntax.NumericLiteralType:\n result = String(node.value);\n break;\n\n case Syntax.BooleanLiteralType:\n result = String(node.value);\n break;\n\n default:\n utility.throwError('Unknown type ' + node.type);\n }\n\n return result;\n }\n\n function stringify(node, options) {\n if (options == null) {\n options = {};\n }\n return stringifyImpl(node, options.compact, options.topLevel);\n }\n\n exports.parseType = parseType;\n exports.parseParamType = parseParamType;\n exports.stringify = stringify;\n exports.Syntax = Syntax;\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n","/*\n * @fileoverview Main Doctrine object\n * @author Yusuke Suzuki \n * @author Dan Tao \n * @author Andrew Eisenberg \n */\n\n(function () {\n 'use strict';\n\n var typed,\n utility,\n jsdoc,\n esutils,\n hasOwnProperty;\n\n esutils = require('esutils');\n typed = require('./typed');\n utility = require('./utility');\n\n function sliceSource(source, index, last) {\n return source.slice(index, last);\n }\n\n hasOwnProperty = (function () {\n var func = Object.prototype.hasOwnProperty;\n return function hasOwnProperty(obj, name) {\n return func.call(obj, name);\n };\n }());\n function shallowCopy(obj) {\n var ret = {}, key;\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n ret[key] = obj[key];\n }\n }\n return ret;\n }\n\n function isASCIIAlphanumeric(ch) {\n return (ch >= 0x61 /* 'a' */ && ch <= 0x7A /* 'z' */) ||\n (ch >= 0x41 /* 'A' */ && ch <= 0x5A /* 'Z' */) ||\n (ch >= 0x30 /* '0' */ && ch <= 0x39 /* '9' */);\n }\n\n function isParamTitle(title) {\n return title === 'param' || title === 'argument' || title === 'arg';\n }\n\n function isReturnTitle(title) {\n return title === 'return' || title === 'returns';\n }\n\n function isProperty(title) {\n return title === 'property' || title === 'prop';\n }\n\n function isNameParameterRequired(title) {\n return isParamTitle(title) || isProperty(title) ||\n title === 'alias' || title === 'this' || title === 'mixes' || title === 'requires';\n }\n\n function isAllowedName(title) {\n return isNameParameterRequired(title) || title === 'const' || title === 'constant';\n }\n\n function isAllowedNested(title) {\n return isProperty(title) || isParamTitle(title);\n }\n\n function isAllowedOptional(title) {\n return isProperty(title) || isParamTitle(title);\n }\n\n function isTypeParameterRequired(title) {\n return isParamTitle(title) || isReturnTitle(title) ||\n title === 'define' || title === 'enum' ||\n title === 'implements' || title === 'this' ||\n title === 'type' || title === 'typedef' || isProperty(title);\n }\n\n // Consider deprecation instead using 'isTypeParameterRequired' and 'Rules' declaration to pick when a type is optional/required\n // This would require changes to 'parseType'\n function isAllowedType(title) {\n return isTypeParameterRequired(title) || title === 'throws' || title === 'const' || title === 'constant' ||\n title === 'namespace' || title === 'member' || title === 'var' || title === 'module' ||\n title === 'constructor' || title === 'class' || title === 'extends' || title === 'augments' ||\n title === 'public' || title === 'private' || title === 'protected';\n }\n\n // A regex character class that contains all whitespace except linebreak characters (\\r, \\n, \\u2028, \\u2029)\n var WHITESPACE = '[ \\\\f\\\\t\\\\v\\\\u00a0\\\\u1680\\\\u180e\\\\u2000-\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\ufeff]';\n\n var STAR_MATCHER = '(' + WHITESPACE + '*(?:\\\\*' + WHITESPACE + '?)?)(.+|[\\r\\n\\u2028\\u2029])';\n\n function unwrapComment(doc) {\n // JSDoc comment is following form\n // /**\n // * .......\n // */\n\n return doc.\n // remove /**\n replace(/^\\/\\*\\*?/, '').\n // remove */\n replace(/\\*\\/$/, '').\n // remove ' * ' at the beginning of a line\n replace(new RegExp(STAR_MATCHER, 'g'), '$2').\n // remove trailing whitespace\n replace(/\\s*$/, '');\n }\n\n /**\n * Converts an index in an \"unwrapped\" JSDoc comment to the corresponding index in the original \"wrapped\" version\n * @param {string} originalSource The original wrapped comment\n * @param {number} unwrappedIndex The index of a character in the unwrapped string\n * @returns {number} The index of the corresponding character in the original wrapped string\n */\n function convertUnwrappedCommentIndex(originalSource, unwrappedIndex) {\n var replacedSource = originalSource.replace(/^\\/\\*\\*?/, '');\n var numSkippedChars = 0;\n var matcher = new RegExp(STAR_MATCHER, 'g');\n var match;\n\n while ((match = matcher.exec(replacedSource))) {\n numSkippedChars += match[1].length;\n\n if (match.index + match[0].length > unwrappedIndex + numSkippedChars) {\n return unwrappedIndex + numSkippedChars + originalSource.length - replacedSource.length;\n }\n }\n\n return originalSource.replace(/\\*\\/$/, '').replace(/\\s*$/, '').length;\n }\n\n // JSDoc Tag Parser\n\n (function (exports) {\n var Rules,\n index,\n lineNumber,\n length,\n source,\n originalSource,\n recoverable,\n sloppy,\n strict;\n\n function advance() {\n var ch = source.charCodeAt(index);\n index += 1;\n if (esutils.code.isLineTerminator(ch) && !(ch === 0x0D /* '\\r' */ && source.charCodeAt(index) === 0x0A /* '\\n' */)) {\n lineNumber += 1;\n }\n return String.fromCharCode(ch);\n }\n\n function scanTitle() {\n var title = '';\n // waste '@'\n advance();\n\n while (index < length && isASCIIAlphanumeric(source.charCodeAt(index))) {\n title += advance();\n }\n\n return title;\n }\n\n function seekContent() {\n var ch, waiting, last = index;\n\n waiting = false;\n while (last < length) {\n ch = source.charCodeAt(last);\n if (esutils.code.isLineTerminator(ch) && !(ch === 0x0D /* '\\r' */ && source.charCodeAt(last + 1) === 0x0A /* '\\n' */)) {\n waiting = true;\n } else if (waiting) {\n if (ch === 0x40 /* '@' */) {\n break;\n }\n if (!esutils.code.isWhiteSpace(ch)) {\n waiting = false;\n }\n }\n last += 1;\n }\n return last;\n }\n\n // type expression may have nest brace, such as,\n // { { ok: string } }\n //\n // therefore, scanning type expression with balancing braces.\n function parseType(title, last, addRange) {\n var ch, brace, type, startIndex, direct = false;\n\n\n // search '{'\n while (index < last) {\n ch = source.charCodeAt(index);\n if (esutils.code.isWhiteSpace(ch)) {\n advance();\n } else if (ch === 0x7B /* '{' */) {\n advance();\n break;\n } else {\n // this is direct pattern\n direct = true;\n break;\n }\n }\n\n\n if (direct) {\n return null;\n }\n\n // type expression { is found\n brace = 1;\n type = '';\n while (index < last) {\n ch = source.charCodeAt(index);\n if (esutils.code.isLineTerminator(ch)) {\n advance();\n } else {\n if (ch === 0x7D /* '}' */) {\n brace -= 1;\n if (brace === 0) {\n advance();\n break;\n }\n } else if (ch === 0x7B /* '{' */) {\n brace += 1;\n }\n if (type === '') {\n startIndex = index;\n }\n type += advance();\n }\n }\n\n if (brace !== 0) {\n // braces is not balanced\n return utility.throwError('Braces are not balanced');\n }\n\n if (isAllowedOptional(title)) {\n return typed.parseParamType(type, {startIndex: convertIndex(startIndex), range: addRange});\n }\n\n return typed.parseType(type, {startIndex: convertIndex(startIndex), range: addRange});\n }\n\n function scanIdentifier(last) {\n var identifier;\n if (!esutils.code.isIdentifierStartES5(source.charCodeAt(index)) && !source[index].match(/[0-9]/)) {\n return null;\n }\n identifier = advance();\n while (index < last && esutils.code.isIdentifierPartES5(source.charCodeAt(index))) {\n identifier += advance();\n }\n return identifier;\n }\n\n function skipWhiteSpace(last) {\n while (index < last && (esutils.code.isWhiteSpace(source.charCodeAt(index)) || esutils.code.isLineTerminator(source.charCodeAt(index)))) {\n advance();\n }\n }\n\n function parseName(last, allowBrackets, allowNestedParams) {\n var name = '',\n useBrackets,\n insideString;\n\n\n skipWhiteSpace(last);\n\n if (index >= last) {\n return null;\n }\n\n if (source.charCodeAt(index) === 0x5B /* '[' */) {\n if (allowBrackets) {\n useBrackets = true;\n name = advance();\n } else {\n return null;\n }\n }\n\n name += scanIdentifier(last);\n\n if (allowNestedParams) {\n if (source.charCodeAt(index) === 0x3A /* ':' */ && (\n name === 'module' ||\n name === 'external' ||\n name === 'event')) {\n name += advance();\n name += scanIdentifier(last);\n\n }\n if(source.charCodeAt(index) === 0x5B /* '[' */ && source.charCodeAt(index + 1) === 0x5D /* ']' */){\n name += advance();\n name += advance();\n }\n while (source.charCodeAt(index) === 0x2E /* '.' */ ||\n source.charCodeAt(index) === 0x2F /* '/' */ ||\n source.charCodeAt(index) === 0x23 /* '#' */ ||\n source.charCodeAt(index) === 0x2D /* '-' */ ||\n source.charCodeAt(index) === 0x7E /* '~' */) {\n name += advance();\n name += scanIdentifier(last);\n }\n }\n\n if (useBrackets) {\n skipWhiteSpace(last);\n // do we have a default value for this?\n if (source.charCodeAt(index) === 0x3D /* '=' */) {\n // consume the '='' symbol\n name += advance();\n skipWhiteSpace(last);\n\n var ch;\n var bracketDepth = 1;\n\n // scan in the default value\n while (index < last) {\n ch = source.charCodeAt(index);\n\n if (esutils.code.isWhiteSpace(ch)) {\n if (!insideString) {\n skipWhiteSpace(last);\n ch = source.charCodeAt(index);\n }\n }\n\n if (ch === 0x27 /* ''' */) {\n if (!insideString) {\n insideString = '\\'';\n } else {\n if (insideString === '\\'') {\n insideString = '';\n }\n }\n }\n\n if (ch === 0x22 /* '\"' */) {\n if (!insideString) {\n insideString = '\"';\n } else {\n if (insideString === '\"') {\n insideString = '';\n }\n }\n }\n\n if (ch === 0x5B /* '[' */) {\n bracketDepth++;\n } else if (ch === 0x5D /* ']' */ &&\n --bracketDepth === 0) {\n break;\n }\n\n name += advance();\n }\n }\n\n skipWhiteSpace(last);\n\n if (index >= last || source.charCodeAt(index) !== 0x5D /* ']' */) {\n // we never found a closing ']'\n return null;\n }\n\n // collect the last ']'\n name += advance();\n }\n\n return name;\n }\n\n function skipToTag() {\n while (index < length && source.charCodeAt(index) !== 0x40 /* '@' */) {\n advance();\n }\n if (index >= length) {\n return false;\n }\n utility.assert(source.charCodeAt(index) === 0x40 /* '@' */);\n return true;\n }\n\n function convertIndex(rangeIndex) {\n if (source === originalSource) {\n return rangeIndex;\n }\n return convertUnwrappedCommentIndex(originalSource, rangeIndex);\n }\n\n function TagParser(options, title) {\n this._options = options;\n this._title = title.toLowerCase();\n this._tag = {\n title: title,\n description: null\n };\n if (this._options.lineNumbers) {\n this._tag.lineNumber = lineNumber;\n }\n this._first = index - title.length - 1;\n this._last = 0;\n // space to save special information for title parsers.\n this._extra = { };\n }\n\n // addError(err, ...)\n TagParser.prototype.addError = function addError(errorText) {\n var args = Array.prototype.slice.call(arguments, 1),\n msg = errorText.replace(\n /%(\\d)/g,\n function (whole, index) {\n utility.assert(index < args.length, 'Message reference must be in range');\n return args[index];\n }\n );\n\n if (!this._tag.errors) {\n this._tag.errors = [];\n }\n if (strict) {\n utility.throwError(msg);\n }\n this._tag.errors.push(msg);\n return recoverable;\n };\n\n TagParser.prototype.parseType = function () {\n // type required titles\n if (isTypeParameterRequired(this._title)) {\n try {\n this._tag.type = parseType(this._title, this._last, this._options.range);\n if (!this._tag.type) {\n if (!isParamTitle(this._title) && !isReturnTitle(this._title)) {\n if (!this.addError('Missing or invalid tag type')) {\n return false;\n }\n }\n }\n } catch (error) {\n this._tag.type = null;\n if (!this.addError(error.message)) {\n return false;\n }\n }\n } else if (isAllowedType(this._title)) {\n // optional types\n try {\n this._tag.type = parseType(this._title, this._last, this._options.range);\n } catch (e) {\n //For optional types, lets drop the thrown error when we hit the end of the file\n }\n }\n return true;\n };\n\n TagParser.prototype._parseNamePath = function (optional) {\n var name;\n name = parseName(this._last, sloppy && isAllowedOptional(this._title), true);\n if (!name) {\n if (!optional) {\n if (!this.addError('Missing or invalid tag name')) {\n return false;\n }\n }\n }\n this._tag.name = name;\n return true;\n };\n\n TagParser.prototype.parseNamePath = function () {\n return this._parseNamePath(false);\n };\n\n TagParser.prototype.parseNamePathOptional = function () {\n return this._parseNamePath(true);\n };\n\n\n TagParser.prototype.parseName = function () {\n var assign, name;\n\n // param, property requires name\n if (isAllowedName(this._title)) {\n this._tag.name = parseName(this._last, sloppy && isAllowedOptional(this._title), isAllowedNested(this._title));\n if (!this._tag.name) {\n if (!isNameParameterRequired(this._title)) {\n return true;\n }\n\n // it's possible the name has already been parsed but interpreted as a type\n // it's also possible this is a sloppy declaration, in which case it will be\n // fixed at the end\n if (isParamTitle(this._title) && this._tag.type && this._tag.type.name) {\n this._extra.name = this._tag.type;\n this._tag.name = this._tag.type.name;\n this._tag.type = null;\n } else {\n if (!this.addError('Missing or invalid tag name')) {\n return false;\n }\n }\n } else {\n name = this._tag.name;\n if (name.charAt(0) === '[' && name.charAt(name.length - 1) === ']') {\n // extract the default value if there is one\n // example: @param {string} [somebody=John Doe] description\n assign = name.substring(1, name.length - 1).split('=');\n if (assign.length > 1) {\n this._tag['default'] = assign.slice(1).join('=');\n }\n this._tag.name = assign[0];\n\n // convert to an optional type\n if (this._tag.type && this._tag.type.type !== 'OptionalType') {\n this._tag.type = {\n type: 'OptionalType',\n expression: this._tag.type\n };\n }\n }\n }\n }\n\n\n return true;\n };\n\n TagParser.prototype.parseDescription = function parseDescription() {\n var description = sliceSource(source, index, this._last).trim();\n if (description) {\n if ((/^-\\s+/).test(description)) {\n description = description.substring(2);\n }\n this._tag.description = description;\n }\n return true;\n };\n\n TagParser.prototype.parseCaption = function parseDescription() {\n var description = sliceSource(source, index, this._last).trim();\n var captionStartTag = '';\n var captionEndTag = '';\n var captionStart = description.indexOf(captionStartTag);\n var captionEnd = description.indexOf(captionEndTag);\n if (captionStart >= 0 && captionEnd >= 0) {\n this._tag.caption = description.substring(\n captionStart + captionStartTag.length, captionEnd).trim();\n this._tag.description = description.substring(captionEnd + captionEndTag.length).trim();\n } else {\n this._tag.description = description;\n }\n return true;\n };\n\n TagParser.prototype.parseKind = function parseKind() {\n var kind, kinds;\n kinds = {\n 'class': true,\n 'constant': true,\n 'event': true,\n 'external': true,\n 'file': true,\n 'function': true,\n 'member': true,\n 'mixin': true,\n 'module': true,\n 'namespace': true,\n 'typedef': true\n };\n kind = sliceSource(source, index, this._last).trim();\n this._tag.kind = kind;\n if (!hasOwnProperty(kinds, kind)) {\n if (!this.addError('Invalid kind name \\'%0\\'', kind)) {\n return false;\n }\n }\n return true;\n };\n\n TagParser.prototype.parseAccess = function parseAccess() {\n var access;\n access = sliceSource(source, index, this._last).trim();\n this._tag.access = access;\n if (access !== 'private' && access !== 'protected' && access !== 'public') {\n if (!this.addError('Invalid access name \\'%0\\'', access)) {\n return false;\n }\n }\n return true;\n };\n\n TagParser.prototype.parseThis = function parseThis() {\n // this name may be a name expression (e.g. {foo.bar}),\n // an union (e.g. {foo.bar|foo.baz}) or a name path (e.g. foo.bar)\n var value = sliceSource(source, index, this._last).trim();\n if (value && value.charAt(0) === '{') {\n var gotType = this.parseType();\n if (gotType && this._tag.type.type === 'NameExpression' || this._tag.type.type === 'UnionType') {\n this._tag.name = this._tag.type.name;\n return true;\n } else {\n return this.addError('Invalid name for this');\n }\n } else {\n return this.parseNamePath();\n }\n };\n\n TagParser.prototype.parseVariation = function parseVariation() {\n var variation, text;\n text = sliceSource(source, index, this._last).trim();\n variation = parseFloat(text, 10);\n this._tag.variation = variation;\n if (isNaN(variation)) {\n if (!this.addError('Invalid variation \\'%0\\'', text)) {\n return false;\n }\n }\n return true;\n };\n\n TagParser.prototype.ensureEnd = function () {\n var shouldBeEmpty = sliceSource(source, index, this._last).trim();\n if (shouldBeEmpty) {\n if (!this.addError('Unknown content \\'%0\\'', shouldBeEmpty)) {\n return false;\n }\n }\n return true;\n };\n\n TagParser.prototype.epilogue = function epilogue() {\n var description;\n\n description = this._tag.description;\n // un-fix potentially sloppy declaration\n if (isAllowedOptional(this._title) && !this._tag.type && description && description.charAt(0) === '[') {\n this._tag.type = this._extra.name;\n if (!this._tag.name) {\n this._tag.name = undefined;\n }\n\n if (!sloppy) {\n if (!this.addError('Missing or invalid tag name')) {\n return false;\n }\n }\n }\n\n return true;\n };\n\n Rules = {\n // http://usejsdoc.org/tags-access.html\n 'access': ['parseAccess'],\n // http://usejsdoc.org/tags-alias.html\n 'alias': ['parseNamePath', 'ensureEnd'],\n // http://usejsdoc.org/tags-augments.html\n 'augments': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-constructor.html\n 'constructor': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // Synonym: http://usejsdoc.org/tags-constructor.html\n 'class': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // Synonym: http://usejsdoc.org/tags-extends.html\n 'extends': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-example.html\n 'example': ['parseCaption'],\n // http://usejsdoc.org/tags-deprecated.html\n 'deprecated': ['parseDescription'],\n // http://usejsdoc.org/tags-global.html\n 'global': ['ensureEnd'],\n // http://usejsdoc.org/tags-inner.html\n 'inner': ['ensureEnd'],\n // http://usejsdoc.org/tags-instance.html\n 'instance': ['ensureEnd'],\n // http://usejsdoc.org/tags-kind.html\n 'kind': ['parseKind'],\n // http://usejsdoc.org/tags-mixes.html\n 'mixes': ['parseNamePath', 'ensureEnd'],\n // http://usejsdoc.org/tags-mixin.html\n 'mixin': ['parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-member.html\n 'member': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-method.html\n 'method': ['parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-module.html\n 'module': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // Synonym: http://usejsdoc.org/tags-method.html\n 'func': ['parseNamePathOptional', 'ensureEnd'],\n // Synonym: http://usejsdoc.org/tags-method.html\n 'function': ['parseNamePathOptional', 'ensureEnd'],\n // Synonym: http://usejsdoc.org/tags-member.html\n 'var': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-name.html\n 'name': ['parseNamePath', 'ensureEnd'],\n // http://usejsdoc.org/tags-namespace.html\n 'namespace': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-private.html\n 'private': ['parseType', 'parseDescription'],\n // http://usejsdoc.org/tags-protected.html\n 'protected': ['parseType', 'parseDescription'],\n // http://usejsdoc.org/tags-public.html\n 'public': ['parseType', 'parseDescription'],\n // http://usejsdoc.org/tags-readonly.html\n 'readonly': ['ensureEnd'],\n // http://usejsdoc.org/tags-requires.html\n 'requires': ['parseNamePath', 'ensureEnd'],\n // http://usejsdoc.org/tags-since.html\n 'since': ['parseDescription'],\n // http://usejsdoc.org/tags-static.html\n 'static': ['ensureEnd'],\n // http://usejsdoc.org/tags-summary.html\n 'summary': ['parseDescription'],\n // http://usejsdoc.org/tags-this.html\n 'this': ['parseThis', 'ensureEnd'],\n // http://usejsdoc.org/tags-todo.html\n 'todo': ['parseDescription'],\n // http://usejsdoc.org/tags-typedef.html\n 'typedef': ['parseType', 'parseNamePathOptional'],\n // http://usejsdoc.org/tags-variation.html\n 'variation': ['parseVariation'],\n // http://usejsdoc.org/tags-version.html\n 'version': ['parseDescription']\n };\n\n TagParser.prototype.parse = function parse() {\n var i, iz, sequences, method;\n\n\n // empty title\n if (!this._title) {\n if (!this.addError('Missing or invalid title')) {\n return null;\n }\n }\n\n // Seek to content last index.\n this._last = seekContent(this._title);\n\n if (this._options.range) {\n this._tag.range = [this._first, source.slice(0, this._last).replace(/\\s*$/, '').length].map(convertIndex);\n }\n\n if (hasOwnProperty(Rules, this._title)) {\n sequences = Rules[this._title];\n } else {\n // default sequences\n sequences = ['parseType', 'parseName', 'parseDescription', 'epilogue'];\n }\n\n for (i = 0, iz = sequences.length; i < iz; ++i) {\n method = sequences[i];\n if (!this[method]()) {\n return null;\n }\n }\n\n return this._tag;\n };\n\n function parseTag(options) {\n var title, parser, tag;\n\n // skip to tag\n if (!skipToTag()) {\n return null;\n }\n\n // scan title\n title = scanTitle();\n\n // construct tag parser\n parser = new TagParser(options, title);\n tag = parser.parse();\n\n // Seek global index to end of this tag.\n while (index < parser._last) {\n advance();\n }\n\n return tag;\n }\n\n //\n // Parse JSDoc\n //\n\n function scanJSDocDescription(preserveWhitespace) {\n var description = '', ch, atAllowed;\n\n atAllowed = true;\n while (index < length) {\n ch = source.charCodeAt(index);\n\n if (atAllowed && ch === 0x40 /* '@' */) {\n break;\n }\n\n if (esutils.code.isLineTerminator(ch)) {\n atAllowed = true;\n } else if (atAllowed && !esutils.code.isWhiteSpace(ch)) {\n atAllowed = false;\n }\n\n description += advance();\n }\n\n return preserveWhitespace ? description : description.trim();\n }\n\n function parse(comment, options) {\n var tags = [], tag, description, interestingTags, i, iz;\n\n if (options === undefined) {\n options = {};\n }\n\n if (typeof options.unwrap === 'boolean' && options.unwrap) {\n source = unwrapComment(comment);\n } else {\n source = comment;\n }\n\n originalSource = comment;\n\n // array of relevant tags\n if (options.tags) {\n if (Array.isArray(options.tags)) {\n interestingTags = { };\n for (i = 0, iz = options.tags.length; i < iz; i++) {\n if (typeof options.tags[i] === 'string') {\n interestingTags[options.tags[i]] = true;\n } else {\n utility.throwError('Invalid \"tags\" parameter: ' + options.tags);\n }\n }\n } else {\n utility.throwError('Invalid \"tags\" parameter: ' + options.tags);\n }\n }\n\n length = source.length;\n index = 0;\n lineNumber = 0;\n recoverable = options.recoverable;\n sloppy = options.sloppy;\n strict = options.strict;\n\n description = scanJSDocDescription(options.preserveWhitespace);\n\n while (true) {\n tag = parseTag(options);\n if (!tag) {\n break;\n }\n if (!interestingTags || interestingTags.hasOwnProperty(tag.title)) {\n tags.push(tag);\n }\n }\n\n return {\n description: description,\n tags: tags\n };\n }\n exports.parse = parse;\n }(jsdoc = {}));\n\n exports.version = utility.VERSION;\n exports.parse = jsdoc.parse;\n exports.parseType = typed.parseType;\n exports.parseParamType = typed.parseParamType;\n exports.unwrapComment = unwrapComment;\n exports.Syntax = shallowCopy(typed.Syntax);\n exports.Error = utility.DoctrineError;\n exports.type = {\n Syntax: exports.Syntax,\n parseType: typed.parseType,\n parseParamType: typed.parseParamType,\n stringify: typed.stringify\n };\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n","import mapValues from 'lodash/mapValues.js';\nimport doctrine from 'doctrine';\nimport { combineParameters } from '@storybook/preview-api';\n\nvar convertSig=type=>{switch(type.type){case\"function\":return {name:\"function\"};case\"object\":let values={};return type.signature.properties.forEach(prop=>{values[prop.key]=convert(prop.value);}),{name:\"object\",value:values};default:throw new Error(`Unknown: ${type}`)}},convert=type=>{let{name,raw}=type,base={};switch(typeof raw<\"u\"&&(base.raw=raw),type.name){case\"string\":case\"number\":case\"symbol\":case\"boolean\":return {...base,name};case\"Array\":return {...base,name:\"array\",value:type.elements.map(convert)};case\"signature\":return {...base,...convertSig(type)};case\"union\":case\"intersection\":return {...base,name,value:type.elements.map(convert)};default:return {...base,name:\"other\",value:name}}};var isLiteral=type=>type.name===\"literal\",toEnumOption=element=>element.value.replace(/['|\"]/g,\"\"),convertSig2=type=>{switch(type.type){case\"function\":return {name:\"function\"};case\"object\":let values={};return type.signature.properties.forEach(prop=>{values[prop.key]=convert2(prop.value);}),{name:\"object\",value:values};default:throw new Error(`Unknown: ${type}`)}},convert2=type=>{let{name,raw}=type,base={};switch(typeof raw<\"u\"&&(base.raw=raw),type.name){case\"literal\":return {...base,name:\"other\",value:type.value};case\"string\":case\"number\":case\"symbol\":case\"boolean\":return {...base,name};case\"Array\":return {...base,name:\"array\",value:type.elements.map(convert2)};case\"signature\":return {...base,...convertSig2(type)};case\"union\":return type.elements.every(isLiteral)?{...base,name:\"enum\",value:type.elements.map(toEnumOption)}:{...base,name,value:type.elements.map(convert2)};case\"intersection\":return {...base,name,value:type.elements.map(convert2)};default:return {...base,name:\"other\",value:name}}};var QUOTE_REGEX=/^['\"]|['\"]$/g,trimQuotes=str2=>str2.replace(QUOTE_REGEX,\"\"),includesQuotes=str2=>QUOTE_REGEX.test(str2);var SIGNATURE_REGEXP=/^\\(.*\\) => /,convert3=type=>{let{name,raw,computed,value}=type,base={};switch(typeof raw<\"u\"&&(base.raw=raw),name){case\"enum\":{let values2=computed?value:value.map(v=>{let trimmedValue=trimQuotes(v.value);return includesQuotes(v.value)||Number.isNaN(Number(trimmedValue))?trimmedValue:Number(trimmedValue)});return {...base,name,value:values2}}case\"string\":case\"number\":case\"symbol\":return {...base,name};case\"func\":return {...base,name:\"function\"};case\"bool\":case\"boolean\":return {...base,name:\"boolean\"};case\"arrayOf\":case\"array\":return {...base,name:\"array\",value:value&&convert3(value)};case\"object\":return {...base,name};case\"objectOf\":return {...base,name,value:convert3(value)};case\"shape\":case\"exact\":let values=mapValues(value,field=>convert3(field));return {...base,name:\"object\",value:values};case\"union\":return {...base,name:\"union\",value:value.map(v=>convert3(v))};case\"instanceOf\":case\"element\":case\"elementType\":default:{if(name?.indexOf(\"|\")>0)try{let literalValues=name.split(\"|\").map(v=>JSON.parse(v));return {...base,name:\"enum\",value:literalValues}}catch{}let otherVal=value?`${name}(${value})`:name,otherName=SIGNATURE_REGEXP.test(name)?\"function\":\"other\";return {...base,name:otherName,value:otherVal}}}};var convert4=docgenInfo=>{let{type,tsType,flowType}=docgenInfo;return type!=null?convert3(type):tsType!=null?convert(tsType):flowType!=null?convert2(flowType):null};var TypeSystem=(TypeSystem2=>(TypeSystem2.JAVASCRIPT=\"JavaScript\",TypeSystem2.FLOW=\"Flow\",TypeSystem2.TYPESCRIPT=\"TypeScript\",TypeSystem2.UNKNOWN=\"Unknown\",TypeSystem2))(TypeSystem||{});var BLACKLIST=[\"null\",\"undefined\"];function isDefaultValueBlacklisted(value){return BLACKLIST.some(x=>x===value)}var str=obj=>{if(!obj)return \"\";if(typeof obj==\"string\")return obj;throw new Error(`Description: expected string, got: ${JSON.stringify(obj)}`)};function hasDocgen(component){return !!component.__docgenInfo}function isValidDocgenSection(docgenSection){return docgenSection!=null&&Object.keys(docgenSection).length>0}function getDocgenSection(component,section){return hasDocgen(component)?component.__docgenInfo[section]:null}function getDocgenDescription(component){return hasDocgen(component)&&str(component.__docgenInfo.description)}function containsJsDoc(value){return value!=null&&value.includes(\"@\")}function parse(content,tags){let ast;try{ast=doctrine.parse(content,{tags,sloppy:!0});}catch(e){throw console.error(e),new Error(\"Cannot parse JSDoc tags.\")}return ast}var DEFAULT_OPTIONS={tags:[\"param\",\"arg\",\"argument\",\"returns\",\"ignore\",\"deprecated\"]},parseJsDoc=(value,options=DEFAULT_OPTIONS)=>{if(!containsJsDoc(value))return {includesJsDoc:!1,ignore:!1};let jsDocAst=parse(value,options.tags),extractedTags=extractJsDocTags(jsDocAst);return extractedTags.ignore?{includesJsDoc:!0,ignore:!0}:{includesJsDoc:!0,ignore:!1,description:jsDocAst.description,extractedTags}};function extractJsDocTags(ast){let extractedTags={params:null,deprecated:null,returns:null,ignore:!1};for(let i=0;iparamName.includes(\"null\")?paramName.replace(\"-null\",\"\").replace(\".null\",\"\"):tag.name,getTypeName:()=>tag.type!=null?extractTypeName(tag.type):null}:null}function extractDeprecated(tag){return tag.title!=null?tag.description:null}function extractReturns(tag){return tag.type!=null?{type:tag.type,description:tag.description,getTypeName:()=>extractTypeName(tag.type)}:null}function extractTypeName(type){return type.type===\"NameExpression\"?type.name:type.type===\"RecordType\"?`({${type.fields.map(field=>{if(field.value!=null){let valueTypeName=extractTypeName(field.value);return `${field.key}: ${valueTypeName}`}return field.key}).join(\", \")}})`:type.type===\"UnionType\"?`(${type.elements.map(extractTypeName).join(\"|\")})`:type.type===\"ArrayType\"?\"[]\":type.type===\"TypeApplication\"&&type.expression!=null&&type.expression.name===\"Array\"?`${extractTypeName(type.applications[0])}[]`:type.type===\"NullableType\"||type.type===\"NonNullableType\"||type.type===\"OptionalType\"?extractTypeName(type.expression):type.type===\"AllLiteral\"?\"any\":null}var MAX_TYPE_SUMMARY_LENGTH=90,MAX_DEFAULT_VALUE_SUMMARY_LENGTH=50;function isTooLongForTypeSummary(value){return value.length>90}function isTooLongForDefaultValueSummary(value){return value.length>50}function createSummaryValue(summary,detail){return summary===detail?{summary}:{summary,detail}}var normalizeNewlines=string=>string.replace(/\\\\r\\\\n/g,\"\\\\n\");function generateUnionElement({name,value,elements,raw}){return value??(elements!=null?elements.map(generateUnionElement).join(\" | \"):raw??name)}function generateUnion({name,raw,elements}){return elements!=null?createSummaryValue(elements.map(generateUnionElement).join(\" | \")):raw!=null?createSummaryValue(raw.replace(/^\\|\\s*/,\"\")):createSummaryValue(name)}function generateFuncSignature({type,raw}){return raw!=null?createSummaryValue(raw):createSummaryValue(type)}function generateObjectSignature({type,raw}){return raw!=null?isTooLongForTypeSummary(raw)?createSummaryValue(type,raw):createSummaryValue(raw):createSummaryValue(type)}function generateSignature(flowType){let{type}=flowType;return type===\"object\"?generateObjectSignature(flowType):generateFuncSignature(flowType)}function generateDefault({name,raw}){return raw!=null?isTooLongForTypeSummary(raw)?createSummaryValue(name,raw):createSummaryValue(raw):createSummaryValue(name)}function createType(type){if(type==null)return null;switch(type.name){case\"union\":return generateUnion(type);case\"signature\":return generateSignature(type);default:return generateDefault(type)}}function createDefaultValue(defaultValue,type){if(defaultValue!=null){let{value}=defaultValue;if(!isDefaultValueBlacklisted(value))return isTooLongForDefaultValueSummary(value)?createSummaryValue(type.name,value):createSummaryValue(value)}return null}var createFlowPropDef=(propName,docgenInfo)=>{let{flowType,description,required,defaultValue}=docgenInfo;return {name:propName,type:createType(flowType),required,description,defaultValue:createDefaultValue(defaultValue,flowType)}};function createType2({tsType,required}){return tsType==null?null:required?createSummaryValue(tsType.name):createSummaryValue(tsType.name.replace(\" | undefined\",\"\"))}function createDefaultValue2({defaultValue}){if(defaultValue!=null){let{value}=defaultValue;if(!isDefaultValueBlacklisted(value))return createSummaryValue(value)}return null}var createTsPropDef=(propName,docgenInfo)=>{let{description,required}=docgenInfo;return {name:propName,type:createType2(docgenInfo),required,description,defaultValue:createDefaultValue2(docgenInfo)}};function createType3(type){return type!=null?createSummaryValue(type.name):null}function isReactDocgenTypescript(defaultValue){let{computed,func}=defaultValue;return typeof computed>\"u\"&&typeof func>\"u\"}function isStringValued(type){return type?type.name===\"string\"?!0:type.name===\"enum\"?Array.isArray(type.value)&&type.value.every(({value:tv})=>typeof tv==\"string\"&&tv[0]==='\"'&&tv[tv.length-1]==='\"'):!1:!1}function createDefaultValue3(defaultValue,type){if(defaultValue!=null){let{value}=defaultValue;if(!isDefaultValueBlacklisted(value))return isReactDocgenTypescript(defaultValue)&&isStringValued(type)?createSummaryValue(JSON.stringify(value)):createSummaryValue(value)}return null}function createBasicPropDef(name,type,docgenInfo){let{description,required,defaultValue}=docgenInfo;return {name,type:createType3(type),required,description,defaultValue:createDefaultValue3(defaultValue,type)}}function applyJsDocResult(propDef,jsDocParsingResult){if(jsDocParsingResult.includesJsDoc){let{description,extractedTags}=jsDocParsingResult;description!=null&&(propDef.description=jsDocParsingResult.description);let value={...extractedTags,params:extractedTags?.params?.map(x=>({name:x.getPrettyName(),description:x.description}))};Object.values(value).filter(Boolean).length>0&&(propDef.jsDocTags=value);}return propDef}var javaScriptFactory=(propName,docgenInfo,jsDocParsingResult)=>{let propDef=createBasicPropDef(propName,docgenInfo.type,docgenInfo);return propDef.sbType=convert4(docgenInfo),applyJsDocResult(propDef,jsDocParsingResult)},tsFactory=(propName,docgenInfo,jsDocParsingResult)=>{let propDef=createTsPropDef(propName,docgenInfo);return propDef.sbType=convert4(docgenInfo),applyJsDocResult(propDef,jsDocParsingResult)},flowFactory=(propName,docgenInfo,jsDocParsingResult)=>{let propDef=createFlowPropDef(propName,docgenInfo);return propDef.sbType=convert4(docgenInfo),applyJsDocResult(propDef,jsDocParsingResult)},unknownFactory=(propName,docgenInfo,jsDocParsingResult)=>{let propDef=createBasicPropDef(propName,{name:\"unknown\"},docgenInfo);return applyJsDocResult(propDef,jsDocParsingResult)},getPropDefFactory=typeSystem=>{switch(typeSystem){case\"JavaScript\":return javaScriptFactory;case\"TypeScript\":return tsFactory;case\"Flow\":return flowFactory;default:return unknownFactory}};var getTypeSystem=docgenInfo=>docgenInfo.type!=null?\"JavaScript\":docgenInfo.flowType!=null?\"Flow\":docgenInfo.tsType!=null?\"TypeScript\":\"Unknown\",extractComponentSectionArray=docgenSection=>{let typeSystem=getTypeSystem(docgenSection[0]),createPropDef=getPropDefFactory(typeSystem);return docgenSection.map(item=>{let sanitizedItem=item;return item.type?.elements&&(sanitizedItem={...item,type:{...item.type,value:item.type.elements}}),extractProp(sanitizedItem.name,sanitizedItem,typeSystem,createPropDef)})},extractComponentSectionObject=docgenSection=>{let docgenPropsKeys=Object.keys(docgenSection),typeSystem=getTypeSystem(docgenSection[docgenPropsKeys[0]]),createPropDef=getPropDefFactory(typeSystem);return docgenPropsKeys.map(propName=>{let docgenInfo=docgenSection[propName];return docgenInfo!=null?extractProp(propName,docgenInfo,typeSystem,createPropDef):null}).filter(Boolean)},extractComponentProps=(component,section)=>{let docgenSection=getDocgenSection(component,section);return isValidDocgenSection(docgenSection)?Array.isArray(docgenSection)?extractComponentSectionArray(docgenSection):extractComponentSectionObject(docgenSection):[]};function extractProp(propName,docgenInfo,typeSystem,createPropDef){let jsDocParsingResult=parseJsDoc(docgenInfo.description);return jsDocParsingResult.includesJsDoc&&jsDocParsingResult.ignore?null:{propDef:createPropDef(propName,docgenInfo,jsDocParsingResult),jsDocTags:jsDocParsingResult.extractedTags,docgenInfo,typeSystem}}function extractComponentDescription(component){return component!=null&&getDocgenDescription(component)}var enhanceArgTypes=context=>{let{component,argTypes:userArgTypes,parameters:{docs={}}}=context,{extractArgTypes}=docs,extractedArgTypes=extractArgTypes&&component?extractArgTypes(component):{};return extractedArgTypes?combineParameters(extractedArgTypes,userArgTypes):userArgTypes};var ADDON_ID=\"storybook/docs\",PANEL_ID=`${ADDON_ID}/panel`,PARAM_KEY=\"docs\",SNIPPET_RENDERED=`${ADDON_ID}/snippet-rendered`,SourceType=(SourceType2=>(SourceType2.AUTO=\"auto\",SourceType2.CODE=\"code\",SourceType2.DYNAMIC=\"dynamic\",SourceType2))(SourceType||{});var packageRe=/(addons\\/|addon-|addon-essentials\\/)(docs|controls)/,hasDocsOrControls=options=>options.presetsList?.some(preset=>packageRe.test(preset.name));\n\nexport { ADDON_ID, MAX_DEFAULT_VALUE_SUMMARY_LENGTH, MAX_TYPE_SUMMARY_LENGTH, PANEL_ID, PARAM_KEY, SNIPPET_RENDERED, SourceType, TypeSystem, convert4 as convert, createSummaryValue, enhanceArgTypes, extractComponentDescription, extractComponentProps, extractComponentSectionArray, extractComponentSectionObject, getDocgenDescription, getDocgenSection, hasDocgen, hasDocsOrControls, isDefaultValueBlacklisted, isTooLongForDefaultValueSummary, isTooLongForTypeSummary, isValidDocgenSection, normalizeNewlines, parseJsDoc, str };\n"],"names":["arrayMap","array","iteratee","index","length","result","_arrayMap","listCacheClear","_listCacheClear","eq","value","other","eq_1","require$$0","assocIndexOf","key","_assocIndexOf","arrayProto","splice","listCacheDelete","data","lastIndex","_listCacheDelete","listCacheGet","_listCacheGet","listCacheHas","_listCacheHas","listCacheSet","_listCacheSet","require$$1","require$$2","require$$3","require$$4","ListCache","entries","entry","_ListCache","stackClear","_stackClear","stackDelete","_stackDelete","stackGet","_stackGet","stackHas","_stackHas","freeGlobal","global","_freeGlobal","freeSelf","root","_root","Symbol","_Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","isOwn","tag","unmasked","_getRawTag","objectToString","_objectToString","nullTag","undefinedTag","baseGetTag","_baseGetTag","isObject","type","isObject_1","asyncTag","funcTag","genTag","proxyTag","isFunction","isFunction_1","coreJsData","_coreJsData","maskSrcKey","uid","isMasked","func","_isMasked","funcProto","funcToString","toSource","_toSource","reRegExpChar","reIsHostCtor","reIsNative","baseIsNative","pattern","_baseIsNative","getValue","object","_getValue","getNative","_getNative","Map","_Map","nativeCreate","_nativeCreate","hashClear","_hashClear","hashDelete","_hashDelete","HASH_UNDEFINED","hashGet","_hashGet","hashHas","_hashHas","hashSet","_hashSet","Hash","_Hash","mapCacheClear","_mapCacheClear","isKeyable","_isKeyable","getMapData","map","_getMapData","mapCacheDelete","_mapCacheDelete","mapCacheGet","_mapCacheGet","mapCacheHas","_mapCacheHas","mapCacheSet","size","_mapCacheSet","MapCache","_MapCache","LARGE_ARRAY_SIZE","stackSet","pairs","_stackSet","require$$5","Stack","_Stack","setCacheAdd","_setCacheAdd","setCacheHas","_setCacheHas","SetCache","values","_SetCache","arraySome","predicate","_arraySome","cacheHas","cache","_cacheHas","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","equalArrays","bitmask","customizer","equalFunc","stack","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","_equalArrays","Uint8Array","_Uint8Array","mapToArray","_mapToArray","setToArray","set","_setToArray","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","symbolProto","symbolValueOf","equalByTag","convert","stacked","_equalByTag","arrayPush","offset","_arrayPush","isArray","isArray_1","baseGetAllKeys","keysFunc","symbolsFunc","_baseGetAllKeys","arrayFilter","resIndex","_arrayFilter","stubArray","stubArray_1","propertyIsEnumerable","nativeGetSymbols","getSymbols","symbol","_getSymbols","baseTimes","n","_baseTimes","isObjectLike","isObjectLike_1","argsTag","baseIsArguments","_baseIsArguments","isArguments","isArguments_1","stubFalse","stubFalse_1","freeExports","exports","freeModule","module","moduleExports","Buffer","nativeIsBuffer","isBuffer","MAX_SAFE_INTEGER","reIsUint","isIndex","_isIndex","isLength","isLength_1","arrayTag","objectTag","weakMapTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","typedArrayTags","baseIsTypedArray","_baseIsTypedArray","baseUnary","_baseUnary","freeProcess","nodeUtil","types","nodeIsTypedArray","isTypedArray","isTypedArray_1","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","_arrayLikeKeys","isPrototype","Ctor","proto","_isPrototype","overArg","transform","arg","_overArg","nativeKeys","_nativeKeys","baseKeys","_baseKeys","isArrayLike","isArrayLike_1","keys","keys_1","getAllKeys","_getAllKeys","equalObjects","objProps","objLength","othProps","objStacked","skipCtor","objValue","objCtor","othCtor","_equalObjects","DataView","_DataView","Promise","_Promise","Set","_Set","WeakMap","_WeakMap","require$$6","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","_getTag","require$$7","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","_baseIsEqualDeep","baseIsEqual","_baseIsEqual","baseIsMatch","source","matchData","noCustomizer","srcValue","_baseIsMatch","isStrictComparable","_isStrictComparable","getMatchData","_getMatchData","matchesStrictComparable","_matchesStrictComparable","baseMatches","_baseMatches","isSymbol","isSymbol_1","reIsDeepProp","reIsPlainProp","isKey","_isKey","FUNC_ERROR_TEXT","memoize","resolver","memoized","args","memoize_1","MAX_MEMOIZE_SIZE","memoizeCapped","_memoizeCapped","rePropName","reEscapeChar","stringToPath","string","match","number","quote","subString","_stringToPath","INFINITY","symbolToString","baseToString","_baseToString","toString","toString_1","castPath","_castPath","toKey","_toKey","baseGet","path","_baseGet","get","defaultValue","get_1","baseHasIn","_baseHasIn","hasPath","hasFunc","_hasPath","hasIn","hasIn_1","baseMatchesProperty","_baseMatchesProperty","identity","identity_1","baseProperty","_baseProperty","basePropertyDeep","_basePropertyDeep","property","property_1","baseIteratee","_baseIteratee","defineProperty","_defineProperty","baseAssignValue","_baseAssignValue","getPrototype","_getPrototype","createBaseFor","fromRight","iterable","props","_createBaseFor","baseFor","_baseFor","baseForOwn","_baseForOwn","mapValues","mapValues_1","isExpression","node","isIterationStatement","isStatement","isSourceElement","trailingStatement","isProblematicIfStatement","current","astModule","ES6Regex","ES5Regex","NON_ASCII_WHITESPACES","IDENTIFIER_START","IDENTIFIER_PART","ch","isDecimalDigit","isHexDigit","isOctalDigit","isWhiteSpace","isLineTerminator","fromCodePoint","cp","cu1","cu2","isIdentifierStartES5","isIdentifierPartES5","isIdentifierStartES6","isIdentifierPartES6","codeModule","code","isStrictModeReservedWordES6","id","isKeywordES5","strict","isKeywordES6","isReservedWordES5","isReservedWordES6","isRestrictedWord","isIdentifierNameES5","i","iz","decodeUtf16","lead","trail","isIdentifierNameES6","lowCh","check","isIdentifierES5","isIdentifierES6","keywordModule","utils","assert","expr","message","assert_1","VERSION","utility","DoctrineError","Middle","throwError","Syntax","Token","previous","token","esutils","rangeOffset","addRange","isTypeName","Context","maybeAddRange","range","advance","scanHexEscape","prefix","len","scanString","str","unescaped","restore","scanNumber","scanTypeName","ch2","next","consume","target","text","expect","parseUnionType","elements","startIndex","parseTypeExpression","parseArrayType","restStartIndex","parseFieldName","v","parseFieldType","rangeStart","parseRecordType","fields","rangeEnd","parseNameExpression","name","parseTypeExpressionList","parseTop","parseTypeName","applications","parseResultType","parseParametersType","params","optionalSequence","rest","nameStartIndex","parseFunctionType","isNew","thisBinding","fnType","parseBasicTypeExpression","context","parseTopParamType","parseType","src","opt","parseParamType","stringifyImpl","compact","topLevel","stringify","options","typed","jsdoc","sliceSource","last","obj","shallowCopy","ret","isASCIIAlphanumeric","isParamTitle","title","isReturnTitle","isProperty","isNameParameterRequired","isAllowedName","isAllowedNested","isAllowedOptional","isTypeParameterRequired","isAllowedType","WHITESPACE","STAR_MATCHER","unwrapComment","doc","convertUnwrappedCommentIndex","originalSource","unwrappedIndex","replacedSource","numSkippedChars","matcher","Rules","lineNumber","recoverable","sloppy","scanTitle","seekContent","waiting","brace","direct","convertIndex","scanIdentifier","identifier","skipWhiteSpace","parseName","allowBrackets","allowNestedParams","useBrackets","insideString","bracketDepth","skipToTag","rangeIndex","TagParser","errorText","msg","whole","error","optional","assign","description","captionStartTag","captionEndTag","captionStart","captionEnd","kind","kinds","access","gotType","variation","shouldBeEmpty","sequences","method","parseTag","parser","scanJSDocDescription","preserveWhitespace","atAllowed","parse","comment","tags","interestingTags","combineParameters","convertSig","prop","raw","base","isLiteral","toEnumOption","element","convertSig2","convert2","QUOTE_REGEX","trimQuotes","str2","includesQuotes","SIGNATURE_REGEXP","convert3","computed","values2","trimmedValue","field","literalValues","otherVal","otherName","convert4","docgenInfo","tsType","flowType","TypeSystem","TypeSystem2","BLACKLIST","isDefaultValueBlacklisted","x","hasDocgen","component","isValidDocgenSection","docgenSection","getDocgenSection","section","getDocgenDescription","containsJsDoc","content","ast","doctrine","e","DEFAULT_OPTIONS","parseJsDoc","jsDocAst","extractedTags","extractJsDocTags","paramTag","extractParam","deprecatedTag","extractDeprecated","returnsTag","extractReturns","paramName","extractTypeName","valueTypeName","isTooLongForTypeSummary","isTooLongForDefaultValueSummary","createSummaryValue","summary","detail","generateUnionElement","generateUnion","generateFuncSignature","generateObjectSignature","generateSignature","generateDefault","createType","createDefaultValue","createFlowPropDef","propName","required","createType2","createDefaultValue2","createTsPropDef","createType3","isReactDocgenTypescript","isStringValued","tv","createDefaultValue3","createBasicPropDef","applyJsDocResult","propDef","jsDocParsingResult","_a","javaScriptFactory","tsFactory","flowFactory","unknownFactory","getPropDefFactory","typeSystem","getTypeSystem","extractComponentSectionArray","createPropDef","item","sanitizedItem","extractProp","extractComponentSectionObject","docgenPropsKeys","extractComponentProps","extractComponentDescription","enhanceArgTypes","userArgTypes","docs","extractArgTypes","extractedArgTypes","ADDON_ID","SNIPPET_RENDERED","SourceType","SourceType2"],"mappings":"iDASA,SAASA,GAASC,EAAOC,EAAU,CAKjC,QAJIC,EAAQ,GACRC,EAASH,GAAS,KAAO,EAAIA,EAAM,OACnCI,EAAS,MAAMD,CAAM,EAElB,EAAED,EAAQC,GACfC,EAAOF,CAAK,EAAID,EAASD,EAAME,CAAK,EAAGA,EAAOF,CAAK,EAErD,OAAOI,CACT,CAEA,IAAAC,GAAiBN,GCbjB,SAASO,IAAiB,CACxB,KAAK,SAAW,GAChB,KAAK,KAAO,CACd,CAEA,IAAAC,GAAiBD,GCoBjB,SAASE,GAAGC,EAAOC,EAAO,CACxB,OAAOD,IAAUC,GAAUD,IAAUA,GAASC,IAAUA,CAC1D,CAEA,IAAAC,GAAiBH,GCpCbA,GAAKI,GAUT,SAASC,GAAab,EAAOc,EAAK,CAEhC,QADIX,EAASH,EAAM,OACZG,KACL,GAAIK,GAAGR,EAAMG,CAAM,EAAE,CAAC,EAAGW,CAAG,EAC1B,OAAOX,EAGX,MAAO,EACT,CAEA,IAAAY,GAAiBF,GCpBbA,GAAeD,GAGfI,GAAa,MAAM,UAGnBC,GAASD,GAAW,OAWxB,SAASE,GAAgBJ,EAAK,CAC5B,IAAIK,EAAO,KAAK,SACZjB,EAAQW,GAAaM,EAAML,CAAG,EAElC,GAAIZ,EAAQ,EACV,MAAO,GAET,IAAIkB,EAAYD,EAAK,OAAS,EAC9B,OAAIjB,GAASkB,EACXD,EAAK,IAAG,EAERF,GAAO,KAAKE,EAAMjB,EAAO,CAAC,EAE5B,EAAE,KAAK,KACA,EACT,CAEA,IAAAmB,GAAiBH,GClCbL,GAAeD,GAWnB,SAASU,GAAaR,EAAK,CACzB,IAAIK,EAAO,KAAK,SACZjB,EAAQW,GAAaM,EAAML,CAAG,EAElC,OAAOZ,EAAQ,EAAI,OAAYiB,EAAKjB,CAAK,EAAE,CAAC,CAC9C,CAEA,IAAAqB,GAAiBD,GClBbT,GAAeD,GAWnB,SAASY,GAAaV,EAAK,CACzB,OAAOD,GAAa,KAAK,SAAUC,CAAG,EAAI,EAC5C,CAEA,IAAAW,GAAiBD,GCfbX,GAAeD,GAYnB,SAASc,GAAaZ,EAAKL,EAAO,CAChC,IAAIU,EAAO,KAAK,SACZjB,EAAQW,GAAaM,EAAML,CAAG,EAElC,OAAIZ,EAAQ,GACV,EAAE,KAAK,KACPiB,EAAK,KAAK,CAACL,EAAKL,CAAK,CAAC,GAEtBU,EAAKjB,CAAK,EAAE,CAAC,EAAIO,EAEZ,IACT,CAEA,IAAAkB,GAAiBD,GCzBbpB,GAAiBM,GACjBM,GAAkBU,GAClBN,GAAeO,GACfL,GAAeM,GACfJ,GAAeK,GASnB,SAASC,GAAUC,EAAS,CAC1B,IAAI/B,EAAQ,GACRC,EAAS8B,GAAW,KAAO,EAAIA,EAAQ,OAG3C,IADA,KAAK,MAAK,EACH,EAAE/B,EAAQC,GAAQ,CACvB,IAAI+B,EAAQD,EAAQ/B,CAAK,EACzB,KAAK,IAAIgC,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,CAC5B,CACH,CAGAF,GAAU,UAAU,MAAQ1B,GAC5B0B,GAAU,UAAU,OAAYd,GAChCc,GAAU,UAAU,IAAMV,GAC1BU,GAAU,UAAU,IAAMR,GAC1BQ,GAAU,UAAU,IAAMN,GAE1B,IAAAS,GAAiBH,GC/BbA,GAAYpB,GAShB,SAASwB,IAAa,CACpB,KAAK,SAAW,IAAIJ,GACpB,KAAK,KAAO,CACd,CAEA,IAAAK,GAAiBD,GCLjB,SAASE,GAAYxB,EAAK,CACxB,IAAIK,EAAO,KAAK,SACZf,EAASe,EAAK,OAAUL,CAAG,EAE/B,YAAK,KAAOK,EAAK,KACVf,CACT,CAEA,IAAAmC,GAAiBD,GCRjB,SAASE,GAAS1B,EAAK,CACrB,OAAO,KAAK,SAAS,IAAIA,CAAG,CAC9B,CAEA,IAAA2B,GAAiBD,GCJjB,SAASE,GAAS5B,EAAK,CACrB,OAAO,KAAK,SAAS,IAAIA,CAAG,CAC9B,CAEA,IAAA6B,GAAiBD,GCZbE,GAAa,OAAOC,IAAU,UAAYA,IAAUA,GAAO,SAAW,QAAUA,GAEpFC,GAAiBF,GCHbA,GAAahC,GAGbmC,GAAW,OAAO,MAAQ,UAAY,MAAQ,KAAK,SAAW,QAAU,KAGxEC,GAAOJ,IAAcG,IAAY,SAAS,aAAa,EAAC,EAE5DE,EAAiBD,GCRbA,GAAOpC,EAGPsC,GAASF,GAAK,OAElBG,GAAiBD,GCLbA,GAAStC,GAGTwC,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAO7BE,GAAuBF,GAAY,SAGnCG,GAAiBL,GAASA,GAAO,YAAc,OASnD,SAASM,GAAU/C,EAAO,CACxB,IAAIgD,EAAQJ,GAAe,KAAK5C,EAAO8C,EAAc,EACjDG,EAAMjD,EAAM8C,EAAc,EAE9B,GAAI,CACF9C,EAAM8C,EAAc,EAAI,OACxB,IAAII,EAAW,EACnB,MAAc,CAAE,CAEd,IAAIvD,EAASkD,GAAqB,KAAK7C,CAAK,EAC5C,OAAIkD,IACEF,EACFhD,EAAM8C,EAAc,EAAIG,EAExB,OAAOjD,EAAM8C,EAAc,GAGxBnD,CACT,CAEA,IAAAwD,GAAiBJ,GC5CbJ,GAAc,OAAO,UAOrBE,GAAuBF,GAAY,SASvC,SAASS,GAAepD,EAAO,CAC7B,OAAO6C,GAAqB,KAAK7C,CAAK,CACxC,CAEA,IAAAqD,GAAiBD,GCrBbX,GAAStC,GACT4C,GAAY5B,GACZiC,GAAiBhC,GAGjBkC,GAAU,gBACVC,GAAe,qBAGfT,GAAiBL,GAASA,GAAO,YAAc,OASnD,SAASe,GAAWxD,EAAO,CACzB,OAAIA,GAAS,KACJA,IAAU,OAAYuD,GAAeD,GAEtCR,IAAkBA,MAAkB,OAAO9C,CAAK,EACpD+C,GAAU/C,CAAK,EACfoD,GAAepD,CAAK,CAC1B,CAEA,IAAAyD,GAAiBD,GCFjB,SAASE,GAAS1D,EAAO,CACvB,IAAI2D,EAAO,OAAO3D,EAClB,OAAOA,GAAS,OAAS2D,GAAQ,UAAYA,GAAQ,WACvD,CAEA,IAAAC,GAAiBF,GC9BbF,GAAarD,GACbuD,GAAWvC,GAGX0C,GAAW,yBACXC,GAAU,oBACVC,GAAS,6BACTC,GAAW,iBAmBf,SAASC,GAAWjE,EAAO,CACzB,GAAI,CAAC0D,GAAS1D,CAAK,EACjB,MAAO,GAIT,IAAIiD,EAAMO,GAAWxD,CAAK,EAC1B,OAAOiD,GAAOa,IAAWb,GAAOc,IAAUd,GAAOY,IAAYZ,GAAOe,EACtE,CAEA,IAAAE,GAAiBD,mBCpCjB,IAAI1B,GAAOpC,EAGPgE,GAAa5B,GAAK,oBAAoB,EAE1C6B,GAAiBD,GCLbA,GAAahE,GAGbkE,GAAc,UAAW,CAC3B,IAAIC,EAAM,SAAS,KAAKH,IAAcA,GAAW,MAAQA,GAAW,KAAK,UAAY,EAAE,EACvF,OAAOG,EAAO,iBAAmBA,EAAO,EAC1C,EAAC,EASD,SAASC,GAASC,EAAM,CACtB,MAAO,CAAC,CAACH,IAAeA,MAAcG,CACxC,CAEA,IAAAC,GAAiBF,GClBbG,GAAY,SAAS,UAGrBC,GAAeD,GAAU,SAS7B,SAASE,GAASJ,EAAM,CACtB,GAAIA,GAAQ,KAAM,CAChB,GAAI,CACF,OAAOG,GAAa,KAAKH,CAAI,CACnC,MAAgB,CAAE,CACd,GAAI,CACF,OAAQA,EAAO,EACrB,MAAgB,CAAE,CACf,CACD,MAAO,EACT,CAEA,IAAAK,GAAiBD,GCzBbX,GAAa9D,GACboE,GAAWpD,GACXuC,GAAWtC,GACXwD,GAAWvD,GAMXyD,GAAe,sBAGfC,GAAe,8BAGfL,GAAY,SAAS,UACrB/B,GAAc,OAAO,UAGrBgC,GAAeD,GAAU,SAGzB9B,GAAiBD,GAAY,eAG7BqC,GAAa,OAAO,IACtBL,GAAa,KAAK/B,EAAc,EAAE,QAAQkC,GAAc,MAAM,EAC7D,QAAQ,yDAA0D,OAAO,EAAI,GAChF,EAUA,SAASG,GAAajF,EAAO,CAC3B,GAAI,CAAC0D,GAAS1D,CAAK,GAAKuE,GAASvE,CAAK,EACpC,MAAO,GAET,IAAIkF,EAAUjB,GAAWjE,CAAK,EAAIgF,GAAaD,GAC/C,OAAOG,EAAQ,KAAKN,GAAS5E,CAAK,CAAC,CACrC,CAEA,IAAAmF,GAAiBF,GCtCjB,SAASG,GAASC,EAAQhF,EAAK,CAC7B,OAAOgF,GAAU,KAAO,OAAYA,EAAOhF,CAAG,CAChD,CAEA,IAAAiF,GAAiBF,GCZbH,GAAe9E,GACfiF,GAAWjE,GAUf,SAASoE,GAAUF,EAAQhF,EAAK,CAC9B,IAAIL,EAAQoF,GAASC,EAAQhF,CAAG,EAChC,OAAO4E,GAAajF,CAAK,EAAIA,EAAQ,MACvC,CAEA,IAAAwF,EAAiBD,GChBbA,GAAYpF,EACZoC,GAAOpB,EAGPsE,GAAMF,GAAUhD,GAAM,KAAK,EAE/BmD,GAAiBD,GCNbF,GAAYpF,EAGZwF,GAAeJ,GAAU,OAAQ,QAAQ,EAE7CK,GAAiBD,GCLbA,GAAexF,GASnB,SAAS0F,IAAY,CACnB,KAAK,SAAWF,GAAeA,GAAa,IAAI,EAAI,CAAA,EACpD,KAAK,KAAO,CACd,CAEA,IAAAG,GAAiBD,GCJjB,SAASE,GAAW1F,EAAK,CACvB,IAAIV,EAAS,KAAK,IAAIU,CAAG,GAAK,OAAO,KAAK,SAASA,CAAG,EACtD,YAAK,MAAQV,EAAS,EAAI,EACnBA,CACT,CAEA,IAAAqG,GAAiBD,GChBbJ,GAAexF,GAGf8F,GAAiB,4BAGjBtD,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAWjC,SAASuD,GAAQ7F,EAAK,CACpB,IAAIK,EAAO,KAAK,SAChB,GAAIiF,GAAc,CAChB,IAAIhG,EAASe,EAAKL,CAAG,EACrB,OAAOV,IAAWsG,GAAiB,OAAYtG,CAChD,CACD,OAAOiD,GAAe,KAAKlC,EAAML,CAAG,EAAIK,EAAKL,CAAG,EAAI,MACtD,CAEA,IAAA8F,GAAiBD,GC7BbP,GAAexF,GAGfwC,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAWjC,SAASyD,GAAQ/F,EAAK,CACpB,IAAIK,EAAO,KAAK,SAChB,OAAOiF,GAAgBjF,EAAKL,CAAG,IAAM,OAAauC,GAAe,KAAKlC,EAAML,CAAG,CACjF,CAEA,IAAAgG,GAAiBD,GCtBbT,GAAexF,GAGf8F,GAAiB,4BAYrB,SAASK,GAAQjG,EAAKL,EAAO,CAC3B,IAAIU,EAAO,KAAK,SAChB,YAAK,MAAQ,KAAK,IAAIL,CAAG,EAAI,EAAI,EACjCK,EAAKL,CAAG,EAAKsF,IAAgB3F,IAAU,OAAaiG,GAAiBjG,EAC9D,IACT,CAEA,IAAAuG,GAAiBD,GCtBbT,GAAY1F,GACZ4F,GAAa5E,GACb+E,GAAU9E,GACVgF,GAAU/E,GACViF,GAAUhF,GASd,SAASkF,GAAKhF,EAAS,CACrB,IAAI/B,EAAQ,GACRC,EAAS8B,GAAW,KAAO,EAAIA,EAAQ,OAG3C,IADA,KAAK,MAAK,EACH,EAAE/B,EAAQC,GAAQ,CACvB,IAAI+B,EAAQD,EAAQ/B,CAAK,EACzB,KAAK,IAAIgC,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,CAC5B,CACH,CAGA+E,GAAK,UAAU,MAAQX,GACvBW,GAAK,UAAU,OAAYT,GAC3BS,GAAK,UAAU,IAAMN,GACrBM,GAAK,UAAU,IAAMJ,GACrBI,GAAK,UAAU,IAAMF,GAErB,IAAAG,GAAiBD,GC/BbA,GAAOrG,GACPoB,GAAYJ,GACZsE,GAAMrE,GASV,SAASsF,IAAgB,CACvB,KAAK,KAAO,EACZ,KAAK,SAAW,CACd,KAAQ,IAAIF,GACZ,IAAO,IAAKf,IAAOlE,IACnB,OAAU,IAAIiF,EAClB,CACA,CAEA,IAAAG,GAAiBD,GCbjB,SAASE,GAAU5G,EAAO,CACxB,IAAI2D,EAAO,OAAO3D,EAClB,OAAQ2D,GAAQ,UAAYA,GAAQ,UAAYA,GAAQ,UAAYA,GAAQ,UACvE3D,IAAU,YACVA,IAAU,IACjB,CAEA,IAAA6G,GAAiBD,GCdbA,GAAYzG,GAUhB,SAAS2G,GAAWC,EAAK1G,EAAK,CAC5B,IAAIK,EAAOqG,EAAI,SACf,OAAOH,GAAUvG,CAAG,EAChBK,EAAK,OAAOL,GAAO,SAAW,SAAW,MAAM,EAC/CK,EAAK,GACX,CAEA,IAAAsG,GAAiBF,GCjBbA,GAAa3G,GAWjB,SAAS8G,GAAe5G,EAAK,CAC3B,IAAIV,EAASmH,GAAW,KAAMzG,CAAG,EAAE,OAAUA,CAAG,EAChD,YAAK,MAAQV,EAAS,EAAI,EACnBA,CACT,CAEA,IAAAuH,GAAiBD,GCjBbH,GAAa3G,GAWjB,SAASgH,GAAY9G,EAAK,CACxB,OAAOyG,GAAW,KAAMzG,CAAG,EAAE,IAAIA,CAAG,CACtC,CAEA,IAAA+G,GAAiBD,GCfbL,GAAa3G,GAWjB,SAASkH,GAAYhH,EAAK,CACxB,OAAOyG,GAAW,KAAMzG,CAAG,EAAE,IAAIA,CAAG,CACtC,CAEA,IAAAiH,GAAiBD,GCfbP,GAAa3G,GAYjB,SAASoH,GAAYlH,EAAKL,EAAO,CAC/B,IAAIU,EAAOoG,GAAW,KAAMzG,CAAG,EAC3BmH,EAAO9G,EAAK,KAEhB,OAAAA,EAAK,IAAIL,EAAKL,CAAK,EACnB,KAAK,MAAQU,EAAK,MAAQ8G,EAAO,EAAI,EAC9B,IACT,CAEA,IAAAC,GAAiBF,GCrBbb,GAAgBvG,GAChB8G,GAAiB9F,GACjBgG,GAAc/F,GACdiG,GAAchG,GACdkG,GAAcjG,GASlB,SAASoG,GAASlG,EAAS,CACzB,IAAI/B,EAAQ,GACRC,EAAS8B,GAAW,KAAO,EAAIA,EAAQ,OAG3C,IADA,KAAK,MAAK,EACH,EAAE/B,EAAQC,GAAQ,CACvB,IAAI+B,EAAQD,EAAQ/B,CAAK,EACzB,KAAK,IAAIgC,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,CAC5B,CACH,CAGAiG,GAAS,UAAU,MAAQhB,GAC3BgB,GAAS,UAAU,OAAYT,GAC/BS,GAAS,UAAU,IAAMP,GACzBO,GAAS,UAAU,IAAML,GACzBK,GAAS,UAAU,IAAMH,GAEzB,IAAAI,GAAiBD,GC/BbnG,GAAYpB,GACZsF,GAAMtE,GACNuG,GAAWtG,GAGXwG,GAAmB,IAYvB,SAASC,GAASxH,EAAKL,EAAO,CAC5B,IAAIU,EAAO,KAAK,SAChB,GAAIA,aAAgBa,GAAW,CAC7B,IAAIuG,EAAQpH,EAAK,SACjB,GAAI,CAAC+E,IAAQqC,EAAM,OAASF,GAAmB,EAC7C,OAAAE,EAAM,KAAK,CAACzH,EAAKL,CAAK,CAAC,EACvB,KAAK,KAAO,EAAEU,EAAK,KACZ,KAETA,EAAO,KAAK,SAAW,IAAIgH,GAASI,CAAK,CAC1C,CACD,OAAApH,EAAK,IAAIL,EAAKL,CAAK,EACnB,KAAK,KAAOU,EAAK,KACV,IACT,CAEA,IAAAqH,GAAiBF,GCjCbtG,GAAYpB,GACZwB,GAAaR,GACbU,GAAcT,GACdW,GAAWV,GACXY,GAAWX,GACXuG,GAAWG,GASf,SAASC,GAAMzG,EAAS,CACtB,IAAId,EAAO,KAAK,SAAW,IAAIa,GAAUC,CAAO,EAChD,KAAK,KAAOd,EAAK,IACnB,CAGAuH,GAAM,UAAU,MAAQtG,GACxBsG,GAAM,UAAU,OAAYpG,GAC5BoG,GAAM,UAAU,IAAMlG,GACtBkG,GAAM,UAAU,IAAMhG,GACtBgG,GAAM,UAAU,IAAMJ,GAEtB,IAAAK,GAAiBD,GCzBbhC,GAAiB,4BAYrB,SAASkC,GAAYnI,EAAO,CAC1B,YAAK,SAAS,IAAIA,EAAOiG,EAAc,EAChC,IACT,CAEA,IAAAmC,GAAiBD,GCTjB,SAASE,GAAYrI,EAAO,CAC1B,OAAO,KAAK,SAAS,IAAIA,CAAK,CAChC,CAEA,IAAAsI,GAAiBD,GCbbX,GAAWvH,GACXgI,GAAchH,GACdkH,GAAcjH,GAUlB,SAASmH,GAASC,EAAQ,CACxB,IAAI/I,EAAQ,GACRC,EAAS8I,GAAU,KAAO,EAAIA,EAAO,OAGzC,IADA,KAAK,SAAW,IAAId,GACb,EAAEjI,EAAQC,GACf,KAAK,IAAI8I,EAAO/I,CAAK,CAAC,CAE1B,CAGA8I,GAAS,UAAU,IAAMA,GAAS,UAAU,KAAOJ,GACnDI,GAAS,UAAU,IAAMF,GAEzB,IAAAI,GAAiBF,GChBjB,SAASG,GAAUnJ,EAAOoJ,EAAW,CAInC,QAHIlJ,EAAQ,GACRC,EAASH,GAAS,KAAO,EAAIA,EAAM,OAEhC,EAAEE,EAAQC,GACf,GAAIiJ,EAAUpJ,EAAME,CAAK,EAAGA,EAAOF,CAAK,EACtC,MAAO,GAGX,MAAO,EACT,CAEA,IAAAqJ,GAAiBF,GCdjB,SAASG,GAASC,EAAOzI,EAAK,CAC5B,OAAOyI,EAAM,IAAIzI,CAAG,CACtB,CAEA,IAAA0I,GAAiBF,GCZbN,GAAWpI,GACXuI,GAAYvH,GACZ0H,GAAWzH,GAGX4H,GAAuB,EACvBC,GAAyB,EAe7B,SAASC,GAAY3J,EAAOU,EAAOkJ,EAASC,EAAYC,EAAWC,EAAO,CACxE,IAAIC,EAAYJ,EAAUH,GACtBQ,EAAYjK,EAAM,OAClBkK,EAAYxJ,EAAM,OAEtB,GAAIuJ,GAAaC,GAAa,EAAEF,GAAaE,EAAYD,GACvD,MAAO,GAGT,IAAIE,EAAaJ,EAAM,IAAI/J,CAAK,EAC5BoK,EAAaL,EAAM,IAAIrJ,CAAK,EAChC,GAAIyJ,GAAcC,EAChB,OAAOD,GAAczJ,GAAS0J,GAAcpK,EAE9C,IAAIE,EAAQ,GACRE,EAAS,GACTiK,EAAQT,EAAUF,GAA0B,IAAIV,GAAW,OAM/D,IAJAe,EAAM,IAAI/J,EAAOU,CAAK,EACtBqJ,EAAM,IAAIrJ,EAAOV,CAAK,EAGf,EAAEE,EAAQ+J,GAAW,CAC1B,IAAIK,EAAWtK,EAAME,CAAK,EACtBqK,EAAW7J,EAAMR,CAAK,EAE1B,GAAI2J,EACF,IAAIW,EAAWR,EACXH,EAAWU,EAAUD,EAAUpK,EAAOQ,EAAOV,EAAO+J,CAAK,EACzDF,EAAWS,EAAUC,EAAUrK,EAAOF,EAAOU,EAAOqJ,CAAK,EAE/D,GAAIS,IAAa,OAAW,CAC1B,GAAIA,EACF,SAEFpK,EAAS,GACT,KACD,CAED,GAAIiK,GACF,GAAI,CAAClB,GAAUzI,EAAO,SAAS6J,EAAUE,EAAU,CAC7C,GAAI,CAACnB,GAASe,EAAMI,CAAQ,IACvBH,IAAaC,GAAYT,EAAUQ,EAAUC,EAAUX,EAASC,EAAYE,CAAK,GACpF,OAAOM,EAAK,KAAKI,CAAQ,CAEvC,CAAW,EAAG,CACNrK,EAAS,GACT,KACD,UACQ,EACLkK,IAAaC,GACXT,EAAUQ,EAAUC,EAAUX,EAASC,EAAYE,CAAK,GACzD,CACL3J,EAAS,GACT,KACD,CACF,CACD,OAAA2J,EAAM,OAAU/J,CAAK,EACrB+J,EAAM,OAAUrJ,CAAK,EACdN,CACT,CAEA,IAAAsK,GAAiBf,GCnFb3G,GAAOpC,EAGP+J,GAAa3H,GAAK,WAEtB4H,GAAiBD,GCEjB,SAASE,GAAWrD,EAAK,CACvB,IAAItH,EAAQ,GACRE,EAAS,MAAMoH,EAAI,IAAI,EAE3B,OAAAA,EAAI,QAAQ,SAAS/G,EAAOK,EAAK,CAC/BV,EAAO,EAAEF,CAAK,EAAI,CAACY,EAAKL,CAAK,CACjC,CAAG,EACML,CACT,CAEA,IAAA0K,GAAiBD,GCVjB,SAASE,GAAWC,EAAK,CACvB,IAAI9K,EAAQ,GACRE,EAAS,MAAM4K,EAAI,IAAI,EAE3B,OAAAA,EAAI,QAAQ,SAASvK,EAAO,CAC1BL,EAAO,EAAEF,CAAK,EAAIO,CACtB,CAAG,EACML,CACT,CAEA,IAAA6K,GAAiBF,GCjBb7H,GAAStC,GACT+J,GAAa/I,GACbpB,GAAKqB,GACL8H,GAAc7H,GACd+I,GAAa9I,GACbgJ,GAAatC,GAGbgB,GAAuB,EACvBC,GAAyB,EAGzBwB,GAAU,mBACVC,GAAU,gBACVC,GAAW,iBACXC,GAAS,eACTC,GAAY,kBACZC,GAAY,kBACZC,GAAS,eACTC,GAAY,kBACZC,GAAY,kBAEZC,GAAiB,uBACjBC,GAAc,oBAGdC,GAAc3I,GAASA,GAAO,UAAY,OAC1C4I,GAAgBD,GAAcA,GAAY,QAAU,OAmBxD,SAASE,GAAWjG,EAAQpF,EAAOgD,EAAKkG,EAASC,EAAYC,EAAWC,EAAO,CAC7E,OAAQrG,EAAG,CACT,KAAKkI,GACH,GAAK9F,EAAO,YAAcpF,EAAM,YAC3BoF,EAAO,YAAcpF,EAAM,WAC9B,MAAO,GAEToF,EAASA,EAAO,OAChBpF,EAAQA,EAAM,OAEhB,KAAKiL,GACH,MAAK,EAAA7F,EAAO,YAAcpF,EAAM,YAC5B,CAACoJ,EAAU,IAAIa,GAAW7E,CAAM,EAAG,IAAI6E,GAAWjK,CAAK,CAAC,GAK9D,KAAKwK,GACL,KAAKC,GACL,KAAKG,GAGH,OAAO9K,GAAG,CAACsF,EAAQ,CAACpF,CAAK,EAE3B,KAAK0K,GACH,OAAOtF,EAAO,MAAQpF,EAAM,MAAQoF,EAAO,SAAWpF,EAAM,QAE9D,KAAK6K,GACL,KAAKE,GAIH,OAAO3F,GAAWpF,EAAQ,GAE5B,KAAK2K,GACH,IAAIW,EAAUnB,GAEhB,KAAKW,GACH,IAAIxB,EAAYJ,EAAUH,GAG1B,GAFAuC,IAAYA,EAAUjB,IAElBjF,EAAO,MAAQpF,EAAM,MAAQ,CAACsJ,EAChC,MAAO,GAGT,IAAIiC,EAAUlC,EAAM,IAAIjE,CAAM,EAC9B,GAAImG,EACF,OAAOA,GAAWvL,EAEpBkJ,GAAWF,GAGXK,EAAM,IAAIjE,EAAQpF,CAAK,EACvB,IAAIN,EAASuJ,GAAYqC,EAAQlG,CAAM,EAAGkG,EAAQtL,CAAK,EAAGkJ,EAASC,EAAYC,EAAWC,CAAK,EAC/F,OAAAA,EAAM,OAAUjE,CAAM,EACf1F,EAET,KAAKsL,GACH,GAAII,GACF,OAAOA,GAAc,KAAKhG,CAAM,GAAKgG,GAAc,KAAKpL,CAAK,CAElE,CACD,MAAO,EACT,CAEA,IAAAwL,GAAiBH,GCvGjB,SAASI,GAAUnM,EAAOiJ,EAAQ,CAKhC,QAJI/I,EAAQ,GACRC,EAAS8I,EAAO,OAChBmD,EAASpM,EAAM,OAEZ,EAAEE,EAAQC,GACfH,EAAMoM,EAASlM,CAAK,EAAI+I,EAAO/I,CAAK,EAEtC,OAAOF,CACT,CAEA,IAAAqM,GAAiBF,GCIbG,GAAU,MAAM,QAEpBC,EAAiBD,GCzBbH,GAAYvL,GACZ0L,GAAU1K,EAad,SAAS4K,GAAe1G,EAAQ2G,EAAUC,EAAa,CACrD,IAAItM,EAASqM,EAAS3G,CAAM,EAC5B,OAAOwG,GAAQxG,CAAM,EAAI1F,EAAS+L,GAAU/L,EAAQsM,EAAY5G,CAAM,CAAC,CACzE,CAEA,IAAA6G,GAAiBH,GCVjB,SAASI,GAAY5M,EAAOoJ,EAAW,CAMrC,QALIlJ,EAAQ,GACRC,EAASH,GAAS,KAAO,EAAIA,EAAM,OACnC6M,EAAW,EACXzM,EAAS,CAAA,EAEN,EAAEF,EAAQC,GAAQ,CACvB,IAAIM,EAAQT,EAAME,CAAK,EACnBkJ,EAAU3I,EAAOP,EAAOF,CAAK,IAC/BI,EAAOyM,GAAU,EAAIpM,EAExB,CACD,OAAOL,CACT,CAEA,IAAA0M,GAAiBF,GCNjB,SAASG,IAAY,CACnB,MAAO,EACT,CAEA,IAAAC,GAAiBD,GCtBbH,GAAchM,GACdmM,GAAYnL,GAGZwB,GAAc,OAAO,UAGrB6J,GAAuB7J,GAAY,qBAGnC8J,GAAmB,OAAO,sBAS1BC,GAAcD,GAA+B,SAASpH,EAAQ,CAChE,OAAIA,GAAU,KACL,IAETA,EAAS,OAAOA,CAAM,EACf8G,GAAYM,GAAiBpH,CAAM,EAAG,SAASsH,EAAQ,CAC5D,OAAOH,GAAqB,KAAKnH,EAAQsH,CAAM,CACnD,CAAG,EACH,EARqCL,GAUrCM,GAAiBF,GCpBjB,SAASG,GAAUC,EAAGtN,EAAU,CAI9B,QAHIC,EAAQ,GACRE,EAAS,MAAMmN,CAAC,EAEb,EAAErN,EAAQqN,GACfnN,EAAOF,CAAK,EAAID,EAASC,CAAK,EAEhC,OAAOE,CACT,CAEA,IAAAoN,GAAiBF,GCKjB,SAASG,GAAahN,EAAO,CAC3B,OAAOA,GAAS,MAAQ,OAAOA,GAAS,QAC1C,CAEA,IAAAiN,GAAiBD,GC5BbxJ,GAAarD,GACb6M,GAAe7L,GAGf+L,GAAU,qBASd,SAASC,GAAgBnN,EAAO,CAC9B,OAAOgN,GAAahN,CAAK,GAAKwD,GAAWxD,CAAK,GAAKkN,EACrD,CAEA,IAAAE,GAAiBD,GCjBbA,GAAkBhN,GAClB6M,GAAe7L,GAGfwB,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAG7B6J,GAAuB7J,GAAY,qBAoBnC0K,GAAcF,GAAgB,UAAW,CAAE,OAAO,SAAU,GAAI,EAAIA,GAAkB,SAASnN,EAAO,CACxG,OAAOgN,GAAahN,CAAK,GAAK4C,GAAe,KAAK5C,EAAO,QAAQ,GAC/D,CAACwM,GAAqB,KAAKxM,EAAO,QAAQ,CAC9C,EAEAsN,GAAiBD,mBCtBjB,SAASE,IAAY,CACnB,MAAO,EACT,CAEA,IAAAC,GAAiBD,6BCjBjB,IAAIhL,EAAOpC,EACPoN,EAAYpM,GAGZsM,EAA4CC,GAAW,CAACA,EAAQ,UAAYA,EAG5EC,EAAaF,GAAe,IAA6BG,GAAU,CAACA,EAAO,UAAYA,EAGvFC,EAAgBF,GAAcA,EAAW,UAAYF,EAGrDK,EAASD,EAAgBtL,EAAK,OAAS,OAGvCwL,EAAiBD,EAASA,EAAO,SAAW,OAmB5CE,EAAWD,GAAkBR,EAEjCK,EAAA,QAAiBI,qCCpCbC,GAAmB,iBAGnBC,GAAW,mBAUf,SAASC,GAAQnO,EAAON,EAAQ,CAC9B,IAAIiE,EAAO,OAAO3D,EAClB,OAAAN,EAASA,GAAiBuO,GAEnB,CAAC,CAACvO,IACNiE,GAAQ,UACNA,GAAQ,UAAYuK,GAAS,KAAKlO,CAAK,IACrCA,EAAQ,IAAMA,EAAQ,GAAK,GAAKA,EAAQN,CACjD,CAEA,IAAA0O,GAAiBD,GCvBbF,GAAmB,iBA4BvB,SAASI,GAASrO,EAAO,CACvB,OAAO,OAAOA,GAAS,UACrBA,EAAQ,IAAMA,EAAQ,GAAK,GAAKA,GAASiO,EAC7C,CAEA,IAAAK,GAAiBD,GClCb7K,GAAarD,GACbkO,GAAWlN,GACX6L,GAAe5L,GAGf8L,GAAU,qBACVqB,GAAW,iBACX9D,GAAU,mBACVC,GAAU,gBACVC,GAAW,iBACX7G,GAAU,oBACV8G,GAAS,eACTC,GAAY,kBACZ2D,GAAY,kBACZ1D,GAAY,kBACZC,GAAS,eACTC,GAAY,kBACZyD,GAAa,mBAEbvD,GAAiB,uBACjBC,GAAc,oBACduD,GAAa,wBACbC,GAAa,wBACbC,GAAU,qBACVC,GAAW,sBACXC,GAAW,sBACXC,GAAW,sBACXC,GAAkB,6BAClBC,GAAY,uBACZC,GAAY,uBAGZC,EAAiB,CAAA,EACrBA,EAAeT,EAAU,EAAIS,EAAeR,EAAU,EACtDQ,EAAeP,EAAO,EAAIO,EAAeN,EAAQ,EACjDM,EAAeL,EAAQ,EAAIK,EAAeJ,EAAQ,EAClDI,EAAeH,EAAe,EAAIG,EAAeF,EAAS,EAC1DE,EAAeD,EAAS,EAAI,GAC5BC,EAAejC,EAAO,EAAIiC,EAAeZ,EAAQ,EACjDY,EAAejE,EAAc,EAAIiE,EAAe1E,EAAO,EACvD0E,EAAehE,EAAW,EAAIgE,EAAezE,EAAO,EACpDyE,EAAexE,EAAQ,EAAIwE,EAAerL,EAAO,EACjDqL,EAAevE,EAAM,EAAIuE,EAAetE,EAAS,EACjDsE,EAAeX,EAAS,EAAIW,EAAerE,EAAS,EACpDqE,EAAepE,EAAM,EAAIoE,EAAenE,EAAS,EACjDmE,EAAeV,EAAU,EAAI,GAS7B,SAASW,GAAiBpP,EAAO,CAC/B,OAAOgN,GAAahN,CAAK,GACvBqO,GAASrO,EAAM,MAAM,GAAK,CAAC,CAACmP,EAAe3L,GAAWxD,CAAK,CAAC,CAChE,CAEA,IAAAqP,GAAiBD,GCpDjB,SAASE,GAAU9K,EAAM,CACvB,OAAO,SAASxE,EAAO,CACrB,OAAOwE,EAAKxE,CAAK,CACrB,CACA,CAEA,IAAAuP,GAAiBD,6CCbjB,IAAInN,EAAahC,GAGbsN,EAA4CC,GAAW,CAACA,EAAQ,UAAYA,EAG5EC,EAAaF,GAAe,IAA6BG,GAAU,CAACA,EAAO,UAAYA,EAGvFC,EAAgBF,GAAcA,EAAW,UAAYF,EAGrD+B,EAAc3B,GAAiB1L,EAAW,QAG1CsN,EAAY,UAAW,CACzB,GAAI,CAEF,IAAIC,EAAQ/B,GAAcA,EAAW,SAAWA,EAAW,QAAQ,MAAM,EAAE,MAE3E,OAAI+B,GAKGF,GAAeA,EAAY,SAAWA,EAAY,QAAQ,MAAM,CAC3E,MAAc,CAAE,CACf,EAAA,EAED5B,EAAA,QAAiB6B,qCC7BbL,GAAmBjP,GACnBmP,GAAYnO,GACZsO,GAAWrO,GAGXuO,GAAmBF,IAAYA,GAAS,aAmBxCG,GAAeD,GAAmBL,GAAUK,EAAgB,EAAIP,GAEpES,GAAiBD,GC1Bb/C,GAAY1M,GACZkN,GAAclM,GACd0K,GAAUzK,EACV4M,GAAW3M,GACX8M,GAAU7M,GACVsO,GAAe5H,GAGfrF,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAUjC,SAASmN,GAAc9P,EAAO+P,EAAW,CACvC,IAAIC,EAAQnE,GAAQ7L,CAAK,EACrBiQ,EAAQ,CAACD,GAAS3C,GAAYrN,CAAK,EACnCkQ,EAAS,CAACF,GAAS,CAACC,GAASjC,GAAShO,CAAK,EAC3CmQ,EAAS,CAACH,GAAS,CAACC,GAAS,CAACC,GAAUN,GAAa5P,CAAK,EAC1DoQ,EAAcJ,GAASC,GAASC,GAAUC,EAC1CxQ,EAASyQ,EAAcvD,GAAU7M,EAAM,OAAQ,MAAM,EAAI,CAAE,EAC3DN,EAASC,EAAO,OAEpB,QAASU,KAAOL,GACT+P,GAAanN,GAAe,KAAK5C,EAAOK,CAAG,IAC5C,EAAE+P,IAEC/P,GAAO,UAEN6P,IAAW7P,GAAO,UAAYA,GAAO,WAErC8P,IAAW9P,GAAO,UAAYA,GAAO,cAAgBA,GAAO,eAE7D8N,GAAQ9N,EAAKX,CAAM,KAExBC,EAAO,KAAKU,CAAG,EAGnB,OAAOV,CACT,CAEA,IAAA0Q,GAAiBP,GC/CbnN,GAAc,OAAO,UASzB,SAAS2N,GAAYtQ,EAAO,CAC1B,IAAIuQ,EAAOvQ,GAASA,EAAM,YACtBwQ,EAAS,OAAOD,GAAQ,YAAcA,EAAK,WAAc5N,GAE7D,OAAO3C,IAAUwQ,CACnB,CAEA,IAAAC,GAAiBH,GCTjB,SAASI,GAAQlM,EAAMmM,EAAW,CAChC,OAAO,SAASC,EAAK,CACnB,OAAOpM,EAAKmM,EAAUC,CAAG,CAAC,CAC9B,CACA,CAEA,IAAAC,GAAiBH,GCdbA,GAAUvQ,GAGV2Q,GAAaJ,GAAQ,OAAO,KAAM,MAAM,EAE5CK,GAAiBD,GCLbR,GAAcnQ,GACd2Q,GAAa3P,GAGbwB,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eASjC,SAASqO,GAAS3L,EAAQ,CACxB,GAAI,CAACiL,GAAYjL,CAAM,EACrB,OAAOyL,GAAWzL,CAAM,EAE1B,IAAI1F,EAAS,CAAA,EACb,QAASU,KAAO,OAAOgF,CAAM,EACvBzC,GAAe,KAAKyC,EAAQhF,CAAG,GAAKA,GAAO,eAC7CV,EAAO,KAAKU,CAAG,EAGnB,OAAOV,CACT,CAEA,IAAAsR,GAAiBD,GC7Bb/M,GAAa9D,GACbkO,GAAWlN,GA2Bf,SAAS+P,GAAYlR,EAAO,CAC1B,OAAOA,GAAS,MAAQqO,GAASrO,EAAM,MAAM,GAAK,CAACiE,GAAWjE,CAAK,CACrE,CAEA,IAAAmR,GAAiBD,GChCbpB,GAAgB3P,GAChB6Q,GAAW7P,GACX+P,GAAc9P,GA8BlB,SAASgQ,GAAK/L,EAAQ,CACpB,OAAO6L,GAAY7L,CAAM,EAAIyK,GAAczK,CAAM,EAAI2L,GAAS3L,CAAM,CACtE,CAEA,IAAAgM,GAAiBD,GCpCbrF,GAAiB5L,GACjBuM,GAAavL,GACbiQ,GAAOhQ,GASX,SAASkQ,GAAWjM,EAAQ,CAC1B,OAAO0G,GAAe1G,EAAQ+L,GAAM1E,EAAU,CAChD,CAEA,IAAA6E,GAAiBD,GCfbA,GAAanR,GAGb6I,GAAuB,EAGvBrG,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAejC,SAAS6O,GAAanM,EAAQpF,EAAOkJ,EAASC,EAAYC,EAAWC,EAAO,CAC1E,IAAIC,EAAYJ,EAAUH,GACtByI,EAAWH,GAAWjM,CAAM,EAC5BqM,EAAYD,EAAS,OACrBE,EAAWL,GAAWrR,CAAK,EAC3BwJ,EAAYkI,EAAS,OAEzB,GAAID,GAAajI,GAAa,CAACF,EAC7B,MAAO,GAGT,QADI9J,EAAQiS,EACLjS,KAAS,CACd,IAAIY,EAAMoR,EAAShS,CAAK,EACxB,GAAI,EAAE8J,EAAYlJ,KAAOJ,EAAQ2C,GAAe,KAAK3C,EAAOI,CAAG,GAC7D,MAAO,EAEV,CAED,IAAIuR,EAAatI,EAAM,IAAIjE,CAAM,EAC7BsE,EAAaL,EAAM,IAAIrJ,CAAK,EAChC,GAAI2R,GAAcjI,EAChB,OAAOiI,GAAc3R,GAAS0J,GAActE,EAE9C,IAAI1F,EAAS,GACb2J,EAAM,IAAIjE,EAAQpF,CAAK,EACvBqJ,EAAM,IAAIrJ,EAAOoF,CAAM,EAGvB,QADIwM,EAAWtI,EACR,EAAE9J,EAAQiS,GAAW,CAC1BrR,EAAMoR,EAAShS,CAAK,EACpB,IAAIqS,EAAWzM,EAAOhF,CAAG,EACrByJ,EAAW7J,EAAMI,CAAG,EAExB,GAAI+I,EACF,IAAIW,EAAWR,EACXH,EAAWU,EAAUgI,EAAUzR,EAAKJ,EAAOoF,EAAQiE,CAAK,EACxDF,EAAW0I,EAAUhI,EAAUzJ,EAAKgF,EAAQpF,EAAOqJ,CAAK,EAG9D,GAAI,EAAES,IAAa,OACV+H,IAAahI,GAAYT,EAAUyI,EAAUhI,EAAUX,EAASC,EAAYE,CAAK,EAClFS,GACD,CACLpK,EAAS,GACT,KACD,CACDkS,IAAaA,EAAWxR,GAAO,cAChC,CACD,GAAIV,GAAU,CAACkS,EAAU,CACvB,IAAIE,EAAU1M,EAAO,YACjB2M,EAAU/R,EAAM,YAGhB8R,GAAWC,GACV,gBAAiB3M,GAAU,gBAAiBpF,GAC7C,EAAE,OAAO8R,GAAW,YAAcA,aAAmBA,GACnD,OAAOC,GAAW,YAAcA,aAAmBA,KACvDrS,EAAS,GAEZ,CACD,OAAA2J,EAAM,OAAUjE,CAAM,EACtBiE,EAAM,OAAUrJ,CAAK,EACdN,CACT,CAEA,IAAAsS,GAAiBT,GCzFbjM,GAAYpF,EACZoC,GAAOpB,EAGP+Q,GAAW3M,GAAUhD,GAAM,UAAU,EAEzC4P,GAAiBD,GCNb3M,GAAYpF,EACZoC,GAAOpB,EAGPiR,GAAU7M,GAAUhD,GAAM,SAAS,EAEvC8P,GAAiBD,GCNb7M,GAAYpF,EACZoC,GAAOpB,EAGPmR,GAAM/M,GAAUhD,GAAM,KAAK,EAE/BgQ,GAAiBD,GCNb/M,GAAYpF,EACZoC,GAAOpB,EAGPqR,GAAUjN,GAAUhD,GAAM,SAAS,EAEvCkQ,GAAiBD,GCNbN,GAAW/R,GACXsF,GAAMtE,GACNiR,GAAUhR,GACVkR,GAAMjR,GACNmR,GAAUlR,GACVkC,GAAawE,GACbpD,GAAW8N,GAGX9H,GAAS,eACT4D,GAAY,kBACZmE,GAAa,mBACb5H,GAAS,eACT0D,GAAa,mBAEbtD,GAAc,oBAGdyH,GAAqBhO,GAASsN,EAAQ,EACtCW,GAAgBjO,GAASa,EAAG,EAC5BqN,GAAoBlO,GAASwN,EAAO,EACpCW,GAAgBnO,GAAS0N,EAAG,EAC5BU,GAAoBpO,GAAS4N,EAAO,EASpCS,EAASzP,IAGR0O,IAAYe,EAAO,IAAIf,GAAS,IAAI,YAAY,CAAC,CAAC,CAAC,GAAK/G,IACxD1F,IAAOwN,EAAO,IAAIxN,EAAG,GAAKmF,IAC1BwH,IAAWa,EAAOb,GAAQ,QAAS,CAAA,GAAKO,IACxCL,IAAOW,EAAO,IAAIX,EAAG,GAAKvH,IAC1ByH,IAAWS,EAAO,IAAIT,EAAO,GAAK/D,MACrCwE,EAAS,SAASjT,EAAO,CACvB,IAAIL,EAAS6D,GAAWxD,CAAK,EACzBuQ,EAAO5Q,GAAU6O,GAAYxO,EAAM,YAAc,OACjDkT,EAAa3C,EAAO3L,GAAS2L,CAAI,EAAI,GAEzC,GAAI2C,EACF,OAAQA,EAAU,CAChB,KAAKN,GAAoB,OAAOzH,GAChC,KAAK0H,GAAe,OAAOjI,GAC3B,KAAKkI,GAAmB,OAAOH,GAC/B,KAAKI,GAAe,OAAOhI,GAC3B,KAAKiI,GAAmB,OAAOvE,EAChC,CAEH,OAAO9O,CACX,GAGA,IAAAwT,GAAiBF,ECzDbhL,GAAQ9H,GACR+I,GAAc/H,GACdmK,GAAalK,GACboQ,GAAenQ,GACf4R,GAAS3R,GACTuK,GAAU7D,EACVgG,GAAW0E,GACX9C,GAAewD,GAGfpK,GAAuB,EAGvBkE,GAAU,qBACVqB,GAAW,iBACXC,GAAY,kBAGZ7L,GAAc,OAAO,UAGrBC,GAAiBD,GAAY,eAgBjC,SAAS0Q,GAAgBhO,EAAQpF,EAAOkJ,EAASC,EAAYC,EAAWC,EAAO,CAC7E,IAAIgK,EAAWzH,GAAQxG,CAAM,EACzBkO,EAAW1H,GAAQ5L,CAAK,EACxBuT,EAASF,EAAW/E,GAAW0E,GAAO5N,CAAM,EAC5CoO,EAASF,EAAWhF,GAAW0E,GAAOhT,CAAK,EAE/CuT,EAASA,GAAUtG,GAAUsB,GAAYgF,EACzCC,EAASA,GAAUvG,GAAUsB,GAAYiF,EAEzC,IAAIC,EAAWF,GAAUhF,GACrBmF,EAAWF,GAAUjF,GACrBoF,EAAYJ,GAAUC,EAE1B,GAAIG,GAAa5F,GAAS3I,CAAM,EAAG,CACjC,GAAI,CAAC2I,GAAS/N,CAAK,EACjB,MAAO,GAETqT,EAAW,GACXI,EAAW,EACZ,CACD,GAAIE,GAAa,CAACF,EAChB,OAAApK,IAAUA,EAAQ,IAAIrB,IACdqL,GAAY1D,GAAavK,CAAM,EACnC6D,GAAY7D,EAAQpF,EAAOkJ,EAASC,EAAYC,EAAWC,CAAK,EAChEgC,GAAWjG,EAAQpF,EAAOuT,EAAQrK,EAASC,EAAYC,EAAWC,CAAK,EAE7E,GAAI,EAAEH,EAAUH,IAAuB,CACrC,IAAI6K,EAAeH,GAAY9Q,GAAe,KAAKyC,EAAQ,aAAa,EACpEyO,EAAeH,GAAY/Q,GAAe,KAAK3C,EAAO,aAAa,EAEvE,GAAI4T,GAAgBC,EAAc,CAChC,IAAIC,EAAeF,EAAexO,EAAO,MAAO,EAAGA,EAC/C2O,EAAeF,EAAe7T,EAAM,MAAK,EAAKA,EAElD,OAAAqJ,IAAUA,EAAQ,IAAIrB,IACfoB,EAAU0K,EAAcC,EAAc7K,EAASC,EAAYE,CAAK,CACxE,CACF,CACD,OAAKsK,GAGLtK,IAAUA,EAAQ,IAAIrB,IACfuJ,GAAanM,EAAQpF,EAAOkJ,EAASC,EAAYC,EAAWC,CAAK,GAH/D,EAIX,CAEA,IAAA2K,GAAiBZ,GClFbA,GAAkBlT,GAClB6M,GAAe7L,GAgBnB,SAAS+S,GAAYlU,EAAOC,EAAOkJ,EAASC,EAAYE,EAAO,CAC7D,OAAItJ,IAAUC,EACL,GAELD,GAAS,MAAQC,GAAS,MAAS,CAAC+M,GAAahN,CAAK,GAAK,CAACgN,GAAa/M,CAAK,EACzED,IAAUA,GAASC,IAAUA,EAE/BoT,GAAgBrT,EAAOC,EAAOkJ,EAASC,EAAY8K,GAAa5K,CAAK,CAC9E,CAEA,IAAA6K,GAAiBD,GC3BbjM,GAAQ9H,GACR+T,GAAc/S,GAGd6H,GAAuB,EACvBC,GAAyB,EAY7B,SAASmL,GAAY/O,EAAQgP,EAAQC,EAAWlL,EAAY,CAC1D,IAAI3J,EAAQ6U,EAAU,OAClB5U,EAASD,EACT8U,EAAe,CAACnL,EAEpB,GAAI/D,GAAU,KACZ,MAAO,CAAC3F,EAGV,IADA2F,EAAS,OAAOA,CAAM,EACf5F,KAAS,CACd,IAAIiB,EAAO4T,EAAU7U,CAAK,EAC1B,GAAK8U,GAAgB7T,EAAK,CAAC,EACnBA,EAAK,CAAC,IAAM2E,EAAO3E,EAAK,CAAC,CAAC,EAC1B,EAAEA,EAAK,CAAC,IAAK2E,GAEnB,MAAO,EAEV,CACD,KAAO,EAAE5F,EAAQC,GAAQ,CACvBgB,EAAO4T,EAAU7U,CAAK,EACtB,IAAIY,EAAMK,EAAK,CAAC,EACZoR,EAAWzM,EAAOhF,CAAG,EACrBmU,EAAW9T,EAAK,CAAC,EAErB,GAAI6T,GAAgB7T,EAAK,CAAC,GACxB,GAAIoR,IAAa,QAAa,EAAEzR,KAAOgF,GACrC,MAAO,OAEJ,CACL,IAAIiE,EAAQ,IAAIrB,GAChB,GAAImB,EACF,IAAIzJ,EAASyJ,EAAW0I,EAAU0C,EAAUnU,EAAKgF,EAAQgP,EAAQ/K,CAAK,EAExE,GAAI,EAAE3J,IAAW,OACTuU,GAAYM,EAAU1C,EAAU9I,GAAuBC,GAAwBG,EAAYE,CAAK,EAChG3J,GAEN,MAAO,EAEV,CACF,CACD,MAAO,EACT,CAEA,IAAA8U,GAAiBL,GC7Db1Q,GAAWvD,GAUf,SAASuU,GAAmB1U,EAAO,CACjC,OAAOA,IAAUA,GAAS,CAAC0D,GAAS1D,CAAK,CAC3C,CAEA,IAAA2U,GAAiBD,GCdbA,GAAqBvU,GACrBiR,GAAOjQ,GASX,SAASyT,GAAavP,EAAQ,CAI5B,QAHI1F,EAASyR,GAAK/L,CAAM,EACpB3F,EAASC,EAAO,OAEbD,KAAU,CACf,IAAIW,EAAMV,EAAOD,CAAM,EACnBM,EAAQqF,EAAOhF,CAAG,EAEtBV,EAAOD,CAAM,EAAI,CAACW,EAAKL,EAAO0U,GAAmB1U,CAAK,CAAC,CACxD,CACD,OAAOL,CACT,CAEA,IAAAkV,GAAiBD,GCdjB,SAASE,GAAwBzU,EAAKmU,EAAU,CAC9C,OAAO,SAASnP,EAAQ,CACtB,OAAIA,GAAU,KACL,GAEFA,EAAOhF,CAAG,IAAMmU,IACpBA,IAAa,QAAcnU,KAAO,OAAOgF,CAAM,EACtD,CACA,CAEA,IAAA0P,GAAiBD,GCnBbV,GAAcjU,GACdyU,GAAezT,GACf2T,GAA0B1T,GAS9B,SAAS4T,GAAYX,EAAQ,CAC3B,IAAIC,EAAYM,GAAaP,CAAM,EACnC,OAAIC,EAAU,QAAU,GAAKA,EAAU,CAAC,EAAE,CAAC,EAClCQ,GAAwBR,EAAU,CAAC,EAAE,CAAC,EAAGA,EAAU,CAAC,EAAE,CAAC,CAAC,EAE1D,SAASjP,EAAQ,CACtB,OAAOA,IAAWgP,GAAUD,GAAY/O,EAAQgP,EAAQC,CAAS,CACrE,CACA,CAEA,IAAAW,GAAiBD,GCrBbxR,GAAarD,GACb6M,GAAe7L,GAGf8J,GAAY,kBAmBhB,SAASiK,GAASlV,EAAO,CACvB,OAAO,OAAOA,GAAS,UACpBgN,GAAahN,CAAK,GAAKwD,GAAWxD,CAAK,GAAKiL,EACjD,CAEA,IAAAkK,GAAiBD,GC5BbrJ,GAAU1L,EACV+U,GAAW/T,GAGXiU,GAAe,mDACfC,GAAgB,QAUpB,SAASC,GAAMtV,EAAOqF,EAAQ,CAC5B,GAAIwG,GAAQ7L,CAAK,EACf,MAAO,GAET,IAAI2D,EAAO,OAAO3D,EAClB,OAAI2D,GAAQ,UAAYA,GAAQ,UAAYA,GAAQ,WAChD3D,GAAS,MAAQkV,GAASlV,CAAK,EAC1B,GAEFqV,GAAc,KAAKrV,CAAK,GAAK,CAACoV,GAAa,KAAKpV,CAAK,GACzDqF,GAAU,MAAQrF,KAAS,OAAOqF,CAAM,CAC7C,CAEA,IAAAkQ,GAAiBD,GC5Bb5N,GAAWvH,GAGXqV,GAAkB,sBA8CtB,SAASC,GAAQjR,EAAMkR,EAAU,CAC/B,GAAI,OAAOlR,GAAQ,YAAekR,GAAY,MAAQ,OAAOA,GAAY,WACvE,MAAM,IAAI,UAAUF,EAAe,EAErC,IAAIG,EAAW,UAAW,CACxB,IAAIC,EAAO,UACPvV,EAAMqV,EAAWA,EAAS,MAAM,KAAME,CAAI,EAAIA,EAAK,CAAC,EACpD9M,EAAQ6M,EAAS,MAErB,GAAI7M,EAAM,IAAIzI,CAAG,EACf,OAAOyI,EAAM,IAAIzI,CAAG,EAEtB,IAAIV,EAAS6E,EAAK,MAAM,KAAMoR,CAAI,EAClC,OAAAD,EAAS,MAAQ7M,EAAM,IAAIzI,EAAKV,CAAM,GAAKmJ,EACpCnJ,CACX,EACE,OAAAgW,EAAS,MAAQ,IAAKF,GAAQ,OAAS/N,IAChCiO,CACT,CAGAF,GAAQ,MAAQ/N,GAEhB,IAAAmO,GAAiBJ,GCxEbA,GAAUtV,GAGV2V,GAAmB,IAUvB,SAASC,GAAcvR,EAAM,CAC3B,IAAI7E,EAAS8V,GAAQjR,EAAM,SAASnE,EAAK,CACvC,OAAIyI,EAAM,OAASgN,IACjBhN,EAAM,MAAK,EAENzI,CACX,CAAG,EAEGyI,EAAQnJ,EAAO,MACnB,OAAOA,CACT,CAEA,IAAAqW,GAAiBD,GCzBbA,GAAgB5V,GAGhB8V,GAAa,mGAGbC,GAAe,WASfC,GAAeJ,GAAc,SAASK,EAAQ,CAChD,IAAIzW,EAAS,CAAA,EACb,OAAIyW,EAAO,WAAW,CAAC,IAAM,IAC3BzW,EAAO,KAAK,EAAE,EAEhByW,EAAO,QAAQH,GAAY,SAASI,EAAOC,EAAQC,EAAOC,EAAW,CACnE7W,EAAO,KAAK4W,EAAQC,EAAU,QAAQN,GAAc,IAAI,EAAKI,GAAUD,CAAM,CACjF,CAAG,EACM1W,CACT,CAAC,EAED8W,GAAiBN,GC1Bb1T,GAAStC,GACTb,GAAW6B,GACX0K,GAAUzK,EACV8T,GAAW7T,GAGXqV,GAAW,EAAI,EAGftL,GAAc3I,GAASA,GAAO,UAAY,OAC1CkU,GAAiBvL,GAAcA,GAAY,SAAW,OAU1D,SAASwL,GAAa5W,EAAO,CAE3B,GAAI,OAAOA,GAAS,SAClB,OAAOA,EAET,GAAI6L,GAAQ7L,CAAK,EAEf,OAAOV,GAASU,EAAO4W,EAAY,EAAI,GAEzC,GAAI1B,GAASlV,CAAK,EAChB,OAAO2W,GAAiBA,GAAe,KAAK3W,CAAK,EAAI,GAEvD,IAAIL,EAAUK,EAAQ,GACtB,OAAQL,GAAU,KAAQ,EAAIK,GAAU,CAAC0W,GAAY,KAAO/W,CAC9D,CAEA,IAAAkX,GAAiBD,GCpCbA,GAAezW,GAuBnB,SAAS2W,GAAS9W,EAAO,CACvB,OAAOA,GAAS,KAAO,GAAK4W,GAAa5W,CAAK,CAChD,CAEA,IAAA+W,GAAiBD,GC3BbjL,GAAU1L,EACVmV,GAAQnU,GACRgV,GAAe/U,GACf0V,GAAWzV,GAUf,SAAS2V,GAAShX,EAAOqF,EAAQ,CAC/B,OAAIwG,GAAQ7L,CAAK,EACRA,EAEFsV,GAAMtV,EAAOqF,CAAM,EAAI,CAACrF,CAAK,EAAImW,GAAaW,GAAS9W,CAAK,CAAC,CACtE,CAEA,IAAAiX,GAAiBD,GCpBb9B,GAAW/U,GAGXuW,GAAW,EAAI,EASnB,SAASQ,GAAMlX,EAAO,CACpB,GAAI,OAAOA,GAAS,UAAYkV,GAASlV,CAAK,EAC5C,OAAOA,EAET,IAAIL,EAAUK,EAAQ,GACtB,OAAQL,GAAU,KAAQ,EAAIK,GAAU,CAAC0W,GAAY,KAAO/W,CAC9D,CAEA,IAAAwX,GAAiBD,GCpBbF,GAAW7W,GACX+W,GAAQ/V,GAUZ,SAASiW,GAAQ/R,EAAQgS,EAAM,CAC7BA,EAAOL,GAASK,EAAMhS,CAAM,EAK5B,QAHI5F,EAAQ,EACRC,EAAS2X,EAAK,OAEXhS,GAAU,MAAQ5F,EAAQC,GAC/B2F,EAASA,EAAO6R,GAAMG,EAAK5X,GAAO,CAAC,CAAC,EAEtC,OAAQA,GAASA,GAASC,EAAU2F,EAAS,MAC/C,CAEA,IAAAiS,GAAiBF,GCvBbA,GAAUjX,GA2Bd,SAASoX,GAAIlS,EAAQgS,EAAMG,EAAc,CACvC,IAAI7X,EAAS0F,GAAU,KAAO,OAAY+R,GAAQ/R,EAAQgS,CAAI,EAC9D,OAAO1X,IAAW,OAAY6X,EAAe7X,CAC/C,CAEA,IAAA8X,GAAiBF,GCxBjB,SAASG,GAAUrS,EAAQhF,EAAK,CAC9B,OAAOgF,GAAU,MAAQhF,KAAO,OAAOgF,CAAM,CAC/C,CAEA,IAAAsS,GAAiBD,GCZbV,GAAW7W,GACXkN,GAAclM,GACd0K,GAAUzK,EACV+M,GAAU9M,GACVgN,GAAW/M,GACX4V,GAAQlP,GAWZ,SAAS4P,GAAQvS,EAAQgS,EAAMQ,EAAS,CACtCR,EAAOL,GAASK,EAAMhS,CAAM,EAM5B,QAJI5F,EAAQ,GACRC,EAAS2X,EAAK,OACd1X,EAAS,GAEN,EAAEF,EAAQC,GAAQ,CACvB,IAAIW,EAAM6W,GAAMG,EAAK5X,CAAK,CAAC,EAC3B,GAAI,EAAEE,EAAS0F,GAAU,MAAQwS,EAAQxS,EAAQhF,CAAG,GAClD,MAEFgF,EAASA,EAAOhF,CAAG,CACpB,CACD,OAAIV,GAAU,EAAEF,GAASC,EAChBC,GAETD,EAAS2F,GAAU,KAAO,EAAIA,EAAO,OAC9B,CAAC,CAAC3F,GAAU2O,GAAS3O,CAAM,GAAKyO,GAAQ9N,EAAKX,CAAM,IACvDmM,GAAQxG,CAAM,GAAKgI,GAAYhI,CAAM,GAC1C,CAEA,IAAAyS,GAAiBF,GCtCbF,GAAYvX,GACZyX,GAAUzW,GA4Bd,SAAS4W,GAAM1S,EAAQgS,EAAM,CAC3B,OAAOhS,GAAU,MAAQuS,GAAQvS,EAAQgS,EAAMK,EAAS,CAC1D,CAEA,IAAAM,GAAiBD,GCjCb7D,GAAc/T,GACdoX,GAAMpW,GACN4W,GAAQ3W,GACRkU,GAAQjU,GACRqT,GAAqBpT,GACrBwT,GAA0B9M,GAC1BkP,GAAQxE,GAGR1J,GAAuB,EACvBC,GAAyB,EAU7B,SAASgP,GAAoBZ,EAAM7C,EAAU,CAC3C,OAAIc,GAAM+B,CAAI,GAAK3C,GAAmBF,CAAQ,EACrCM,GAAwBoC,GAAMG,CAAI,EAAG7C,CAAQ,EAE/C,SAASnP,EAAQ,CACtB,IAAIyM,EAAWyF,GAAIlS,EAAQgS,CAAI,EAC/B,OAAQvF,IAAa,QAAaA,IAAa0C,EAC3CuD,GAAM1S,EAAQgS,CAAI,EAClBnD,GAAYM,EAAU1C,EAAU9I,GAAuBC,EAAsB,CACrF,CACA,CAEA,IAAAiP,GAAiBD,GChBjB,SAASE,GAASnY,EAAO,CACvB,OAAOA,CACT,CAEA,IAAAoY,GAAiBD,GCbjB,SAASE,GAAahY,EAAK,CACzB,OAAO,SAASgF,EAAQ,CACtB,OAAOA,GAAU,KAAO,OAAYA,EAAOhF,CAAG,CAClD,CACA,CAEA,IAAAiY,GAAiBD,GCbbjB,GAAUjX,GASd,SAASoY,GAAiBlB,EAAM,CAC9B,OAAO,SAAShS,EAAQ,CACtB,OAAO+R,GAAQ/R,EAAQgS,CAAI,CAC/B,CACA,CAEA,IAAAmB,GAAiBD,GCfbF,GAAelY,GACfoY,GAAmBpX,GACnBmU,GAAQlU,GACR8V,GAAQ7V,GAwBZ,SAASoX,GAASpB,EAAM,CACtB,OAAO/B,GAAM+B,CAAI,EAAIgB,GAAanB,GAAMG,CAAI,CAAC,EAAIkB,GAAiBlB,CAAI,CACxE,CAEA,IAAAqB,GAAiBD,GC/BbzD,GAAc7U,GACd8X,GAAsB9W,GACtBgX,GAAW/W,GACXyK,GAAUxK,EACVoX,GAAWnX,GASf,SAASqX,GAAa3Y,EAAO,CAG3B,OAAI,OAAOA,GAAS,WACXA,EAELA,GAAS,KACJmY,GAEL,OAAOnY,GAAS,SACX6L,GAAQ7L,CAAK,EAChBiY,GAAoBjY,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,EACtCgV,GAAYhV,CAAK,EAEhByY,GAASzY,CAAK,CACvB,CAEA,IAAA4Y,GAAiBD,GC9BbpT,GAAYpF,EAEZ0Y,GAAkB,UAAW,CAC/B,GAAI,CACF,IAAIrU,EAAOe,GAAU,OAAQ,gBAAgB,EAC7C,OAAAf,EAAK,CAAE,EAAE,GAAI,CAAA,CAAE,EACRA,CACX,MAAc,CAAE,CAChB,EAAC,EAEDsU,GAAiBD,GCVbA,GAAiB1Y,GAWrB,SAAS4Y,GAAgB1T,EAAQhF,EAAKL,EAAO,CACvCK,GAAO,aAAewY,GACxBA,GAAexT,EAAQhF,EAAK,CAC1B,aAAgB,GAChB,WAAc,GACd,MAASL,EACT,SAAY,EAClB,CAAK,EAEDqF,EAAOhF,CAAG,EAAIL,CAElB,CAEA,IAAAgZ,GAAiBD,GCxBbrI,GAAUvQ,GAGV8Y,GAAevI,GAAQ,OAAO,eAAgB,MAAM,EAExDwI,GAAiBD,GCEjB,SAASE,GAAcC,EAAW,CAChC,OAAO,SAAS/T,EAAQ7F,EAAUwM,EAAU,CAM1C,QALIvM,EAAQ,GACR4Z,EAAW,OAAOhU,CAAM,EACxBiU,EAAQtN,EAAS3G,CAAM,EACvB3F,EAAS4Z,EAAM,OAEZ5Z,KAAU,CACf,IAAIW,EAAMiZ,EAAMF,EAAY1Z,EAAS,EAAED,CAAK,EAC5C,GAAID,EAAS6Z,EAAShZ,CAAG,EAAGA,EAAKgZ,CAAQ,IAAM,GAC7C,KAEH,CACD,OAAOhU,CACX,CACA,CAEA,IAAAkU,GAAiBJ,GCxBbA,GAAgBhZ,GAahBqZ,GAAUL,GAAa,EAE3BM,GAAiBD,GCfbA,GAAUrZ,GACViR,GAAOjQ,GAUX,SAASuY,GAAWrU,EAAQ7F,EAAU,CACpC,OAAO6F,GAAUmU,GAAQnU,EAAQ7F,EAAU4R,EAAI,CACjD,CAEA,IAAAuI,GAAiBD,GCfbX,GAAkB5Y,GAClBuZ,GAAavY,GACbwX,GAAevX,GA8BnB,SAASwY,GAAUvU,EAAQ7F,EAAU,CACnC,IAAIG,EAAS,CAAA,EACb,OAAAH,EAAWmZ,GAAanZ,CAAW,EAEnCka,GAAWrU,EAAQ,SAASrF,EAAOK,EAAKgF,EAAQ,CAC9C0T,GAAgBpZ,EAAQU,EAAKb,EAASQ,EAAOK,EAAKgF,CAAM,CAAC,CAC7D,CAAG,EACM1F,CACT,CAEA,IAAAka,GAAiBD,oDClBhB,UAAY,CAGT,SAASE,EAAaC,EAAM,CACxB,GAAIA,GAAQ,KAAQ,MAAO,GAC3B,OAAQA,EAAK,KAAI,CACb,IAAK,kBACL,IAAK,uBACL,IAAK,mBACL,IAAK,iBACL,IAAK,wBACL,IAAK,qBACL,IAAK,aACL,IAAK,UACL,IAAK,oBACL,IAAK,mBACL,IAAK,gBACL,IAAK,mBACL,IAAK,qBACL,IAAK,iBACL,IAAK,kBACL,IAAK,mBACD,MAAO,EACd,CACD,MAAO,EACV,CAED,SAASC,EAAqBD,EAAM,CAChC,GAAIA,GAAQ,KAAQ,MAAO,GAC3B,OAAQA,EAAK,KAAI,CACb,IAAK,mBACL,IAAK,iBACL,IAAK,eACL,IAAK,iBACD,MAAO,EACd,CACD,MAAO,EACV,CAED,SAASE,EAAYF,EAAM,CACvB,GAAIA,GAAQ,KAAQ,MAAO,GAC3B,OAAQA,EAAK,KAAI,CACb,IAAK,iBACL,IAAK,iBACL,IAAK,oBACL,IAAK,oBACL,IAAK,mBACL,IAAK,iBACL,IAAK,sBACL,IAAK,iBACL,IAAK,eACL,IAAK,cACL,IAAK,mBACL,IAAK,kBACL,IAAK,kBACL,IAAK,iBACL,IAAK,eACL,IAAK,sBACL,IAAK,iBACL,IAAK,gBACD,MAAO,EACd,CACD,MAAO,EACV,CAED,SAASG,EAAgBH,EAAM,CAC7B,OAAOE,EAAYF,CAAI,GAAKA,GAAQ,MAAQA,EAAK,OAAS,qBAC3D,CAED,SAASI,EAAkBJ,EAAM,CAC7B,OAAQA,EAAK,KAAI,CACjB,IAAK,cACD,OAAIA,EAAK,WAAa,KACXA,EAAK,UAETA,EAAK,WAEhB,IAAK,mBACL,IAAK,eACL,IAAK,iBACL,IAAK,iBACL,IAAK,gBACD,OAAOA,EAAK,IACf,CACD,OAAO,IACV,CAED,SAASK,EAAyBL,EAAM,CACpC,IAAIM,EAKJ,GAHIN,EAAK,OAAS,eAGdA,EAAK,WAAa,KAClB,MAAO,GAEXM,EAAUN,EAAK,WACf,EAAG,CACC,GAAIM,EAAQ,OAAS,eACbA,EAAQ,WAAa,KACrB,MAAO,GAGfA,EAAUF,EAAkBE,CAAO,CACtC,OAAQA,GAET,MAAO,EACV,CAEDC,WAAiB,CACb,aAAcR,EACd,YAAaG,EACb,qBAAsBD,EACtB,gBAAiBE,EACjB,yBAA0BE,EAE1B,kBAAmBD,CAC3B,CACA,wCCrHC,UAAY,CAGT,IAAII,EAAUC,EAAUC,EAAuBC,EAAkBC,EAAiBC,EAGlFJ,EAAW,CAEP,wBAAyB,wtIAEzB,uBAAwB,6+JAChC,EAEID,EAAW,CAEP,wBAAyB,0tNAEzB,uBAAwB,wpQAChC,EAEI,SAASM,EAAeD,EAAI,CACxB,MAAO,KAAQA,GAAMA,GAAM,EAC9B,CAED,SAASE,EAAWF,EAAI,CACpB,MAAO,KAAQA,GAAMA,GAAM,IACvB,IAAQA,GAAMA,GAAM,KACpB,IAAQA,GAAMA,GAAM,EAC3B,CAED,SAASG,EAAaH,EAAI,CACtB,OAAOA,GAAM,IAAQA,GAAM,EAC9B,CAIDH,EAAwB,CACpB,KACA,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAChF,KAAQ,KACR,MACA,KACR,EAEI,SAASO,EAAaJ,EAAI,CACtB,OAAOA,IAAO,IAAQA,IAAO,GAAQA,IAAO,IAAQA,IAAO,IAAQA,IAAO,KACtEA,GAAM,MAAUH,EAAsB,QAAQG,CAAE,GAAK,CAC5D,CAID,SAASK,EAAiBL,EAAI,CAC1B,OAAOA,IAAO,IAAQA,IAAO,IAAQA,IAAO,MAAUA,IAAO,IAChE,CAID,SAASM,EAAcC,EAAI,CACvB,GAAIA,GAAM,MAAU,OAAO,OAAO,aAAaA,CAAE,EACjD,IAAIC,EAAM,OAAO,aAAa,KAAK,OAAOD,EAAK,OAAW,IAAK,EAAI,KAAM,EACrEE,EAAM,OAAO,cAAeF,EAAK,OAAW,KAAS,KAAM,EAC/D,OAAOC,EAAMC,CAChB,CAGD,IADAX,EAAmB,IAAI,MAAM,GAAI,EAC7BE,EAAK,EAAGA,EAAK,IAAM,EAAEA,EACrBF,EAAiBE,CAAE,EACfA,GAAM,IAAQA,GAAM,KACpBA,GAAM,IAAQA,GAAM,IACpBA,IAAO,IAAQA,IAAO,GAI9B,IADAD,EAAkB,IAAI,MAAM,GAAI,EAC5BC,EAAK,EAAGA,EAAK,IAAM,EAAEA,EACrBD,EAAgBC,CAAE,EACdA,GAAM,IAAQA,GAAM,KACpBA,GAAM,IAAQA,GAAM,IACpBA,GAAM,IAAQA,GAAM,IACpBA,IAAO,IAAQA,IAAO,GAG9B,SAASU,EAAqBV,EAAI,CAC9B,OAAOA,EAAK,IAAOF,EAAiBE,CAAE,EAAIJ,EAAS,wBAAwB,KAAKU,EAAcN,CAAE,CAAC,CACpG,CAED,SAASW,EAAoBX,EAAI,CAC7B,OAAOA,EAAK,IAAOD,EAAgBC,CAAE,EAAIJ,EAAS,uBAAuB,KAAKU,EAAcN,CAAE,CAAC,CAClG,CAED,SAASY,EAAqBZ,EAAI,CAC9B,OAAOA,EAAK,IAAOF,EAAiBE,CAAE,EAAIL,EAAS,wBAAwB,KAAKW,EAAcN,CAAE,CAAC,CACpG,CAED,SAASa,EAAoBb,EAAI,CAC7B,OAAOA,EAAK,IAAOD,EAAgBC,CAAE,EAAIL,EAAS,uBAAuB,KAAKW,EAAcN,CAAE,CAAC,CAClG,CAEDc,WAAiB,CACb,eAAgBb,EAChB,WAAYC,EACZ,aAAcC,EACd,aAAcC,EACd,iBAAkBC,EAClB,qBAAsBK,EACtB,oBAAqBC,EACrB,qBAAsBC,EACtB,oBAAqBC,CAC7B,CACA,wCC7GC,UAAY,CAGT,IAAIE,EAAOxb,GAEX,SAASyb,EAA4BC,EAAI,CACrC,OAAQA,EAAE,CACV,IAAK,aACL,IAAK,YACL,IAAK,UACL,IAAK,UACL,IAAK,YACL,IAAK,SACL,IAAK,SACL,IAAK,MACD,MAAO,GACX,QACI,MAAO,EACV,CACJ,CAED,SAASC,EAAaD,EAAIE,EAAQ,CAE9B,MAAI,CAACA,GAAUF,IAAO,QACX,GAEJG,EAAaH,EAAIE,CAAM,CACjC,CAED,SAASC,EAAaH,EAAIE,EAAQ,CAC9B,GAAIA,GAAUH,EAA4BC,CAAE,EACxC,MAAO,GAGX,OAAQA,EAAG,OAAM,CACjB,IAAK,GACD,OAAQA,IAAO,MAAUA,IAAO,MAAUA,IAAO,KACrD,IAAK,GACD,OAAQA,IAAO,OAAWA,IAAO,OAAWA,IAAO,OAAWA,IAAO,MACzE,IAAK,GACD,OAAQA,IAAO,QAAYA,IAAO,QAAYA,IAAO,QAChDA,IAAO,QAAYA,IAAO,QAAYA,IAAO,OACtD,IAAK,GACD,OAAQA,IAAO,SAAaA,IAAO,SAAaA,IAAO,SAClDA,IAAO,SAAaA,IAAO,SAAaA,IAAO,SAC/CA,IAAO,SAAaA,IAAO,QACpC,IAAK,GACD,OAAQA,IAAO,UAAcA,IAAO,UAAcA,IAAO,UACpDA,IAAO,UAAcA,IAAO,UAAcA,IAAO,SAC1D,IAAK,GACD,OAAQA,IAAO,WAAeA,IAAO,WAAeA,IAAO,UAC/D,IAAK,GACD,OAAQA,IAAO,YAAgBA,IAAO,YAAgBA,IAAO,WACjE,IAAK,IACD,OAAQA,IAAO,aACnB,QACI,MAAO,EACV,CACJ,CAED,SAASI,EAAkBJ,EAAIE,EAAQ,CACnC,OAAOF,IAAO,QAAUA,IAAO,QAAUA,IAAO,SAAWC,EAAaD,EAAIE,CAAM,CACrF,CAED,SAASG,EAAkBL,EAAIE,EAAQ,CACnC,OAAOF,IAAO,QAAUA,IAAO,QAAUA,IAAO,SAAWG,EAAaH,EAAIE,CAAM,CACrF,CAED,SAASI,EAAiBN,EAAI,CAC1B,OAAOA,IAAO,QAAUA,IAAO,WAClC,CAED,SAASO,EAAoBP,EAAI,CAC7B,IAAIQ,EAAGC,EAAI1B,EAKX,GAHIiB,EAAG,SAAW,IAElBjB,EAAKiB,EAAG,WAAW,CAAC,EAChB,CAACF,EAAK,qBAAqBf,CAAE,GAC7B,MAAO,GAGX,IAAKyB,EAAI,EAAGC,EAAKT,EAAG,OAAQQ,EAAIC,EAAI,EAAED,EAElC,GADAzB,EAAKiB,EAAG,WAAWQ,CAAC,EAChB,CAACV,EAAK,oBAAoBf,CAAE,EAC5B,MAAO,GAGf,MAAO,EACV,CAED,SAAS2B,EAAYC,EAAMC,EAAO,CAC9B,OAAQD,EAAO,OAAU,MAASC,EAAQ,OAAU,KACvD,CAED,SAASC,EAAoBb,EAAI,CAC7B,IAAIQ,EAAGC,EAAI1B,EAAI+B,EAAOC,EAEtB,GAAIf,EAAG,SAAW,EAAK,MAAO,GAG9B,IADAe,EAAQjB,EAAK,qBACRU,EAAI,EAAGC,EAAKT,EAAG,OAAQQ,EAAIC,EAAI,EAAED,EAAG,CAErC,GADAzB,EAAKiB,EAAG,WAAWQ,CAAC,EAChB,OAAUzB,GAAMA,GAAM,MAAQ,CAI9B,GAHA,EAAEyB,EACEA,GAAKC,IACTK,EAAQd,EAAG,WAAWQ,CAAC,EACnB,EAAE,OAAUM,GAASA,GAAS,QAC9B,MAAO,GAEX/B,EAAK2B,EAAY3B,EAAI+B,CAAK,CAC7B,CACD,GAAI,CAACC,EAAMhC,CAAE,EACT,MAAO,GAEXgC,EAAQjB,EAAK,mBAChB,CACD,MAAO,EACV,CAED,SAASkB,EAAgBhB,EAAIE,EAAQ,CACjC,OAAOK,EAAoBP,CAAE,GAAK,CAACI,EAAkBJ,EAAIE,CAAM,CAClE,CAED,SAASe,EAAgBjB,EAAIE,EAAQ,CACjC,OAAOW,EAAoBb,CAAE,GAAK,CAACK,EAAkBL,EAAIE,CAAM,CAClE,CAEDgB,WAAiB,CACb,aAAcjB,EACd,aAAcE,EACd,kBAAmBC,EACnB,kBAAmBC,EACnB,iBAAkBC,EAClB,oBAAqBC,EACrB,oBAAqBM,EACrB,gBAAiBG,EACjB,gBAAiBC,CACzB,CACA,wBC1IC,UAAY,CAGTE,GAAA,IAAc7c,GACd6c,GAAA,KAAe7b,GACf6b,GAAA,QAAkB5b,EACtB,GAAG,msCC/BH,SAAS6b,GAAOC,EAAMC,EAAS,CAC7B,GAAG,CAASD,EACV,MAAM,IAAI,MAAMC,GAAW,yBAAyB,CAExD,CAEA,IAAAC,GAAiBH,ICAhB,UAAY,CAGT,IAAII,EAEJA,EAAUld,GAA2B,QACrCmd,EAAA,QAAkBD,EAElB,SAASE,EAAcJ,EAAS,CAC5B,KAAK,KAAO,gBACZ,KAAK,QAAUA,CAClB,CACDI,EAAc,UAAa,UAAY,CACnC,IAAIC,EAAS,UAAY,GACzB,OAAAA,EAAO,UAAY,MAAM,UAClB,IAAIA,CACd,EAAA,EACDD,EAAc,UAAU,YAAcA,EACtCD,EAAA,cAAwBC,EAExB,SAASE,EAAWN,EAAS,CACzB,MAAM,IAAII,EAAcJ,CAAO,CAClC,CACDG,EAAA,WAAqBG,EAErBH,EAAA,OAAiBnc,EACrB,GAAG,GCvBF,UAAY,CAGT,IAAIuc,EACAC,EACAtJ,EACA3U,EACAD,EACAme,EACAC,EACA7d,EACA8d,EACAR,EACAS,EACAC,EAEJF,EAAU3d,GACVmd,EAAUnc,EAEVuc,EAAS,CACL,gBAAiB,kBACjB,WAAY,aACZ,YAAa,cACb,iBAAkB,mBAClB,YAAa,cACb,UAAW,YACX,UAAW,YACX,WAAY,aACZ,UAAW,YACX,aAAc,eACd,cAAe,gBACf,SAAU,WACV,gBAAiB,kBACjB,aAAc,eACd,aAAc,eACd,eAAgB,iBAChB,gBAAiB,kBACjB,kBAAmB,oBACnB,mBAAoB,qBACpB,mBAAoB,oBAC5B,EAEIC,EAAQ,CACJ,QAAS,EACT,OAAQ,EACR,KAAM,EACN,GAAI,EACJ,GAAI,EACJ,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,GACR,MAAO,GACP,MAAO,GACP,KAAM,GACN,KAAM,GACN,SAAU,GACV,KAAM,GACN,MAAO,GACP,KAAM,GACN,OAAQ,GACR,OAAQ,GACR,IAAK,EACb,EAEI,SAASM,EAAWrD,EAAI,CACpB,MAAO,kBAAkB,QAAQ,OAAO,aAAaA,CAAE,CAAC,IAAM,IAAM,CAACkD,EAAQ,KAAK,aAAalD,CAAE,GAAK,CAACkD,EAAQ,KAAK,iBAAiBlD,CAAE,CAC1I,CAED,SAASsD,EAAQN,EAAUne,EAAOoe,EAAO7d,EAAO,CAC5C,KAAK,UAAY4d,EACjB,KAAK,OAASne,EACd,KAAK,OAASoe,EACd,KAAK,OAAS7d,CACjB,CAEDke,EAAQ,UAAU,QAAU,UAAY,CACpCN,EAAW,KAAK,UAChBne,EAAQ,KAAK,OACboe,EAAQ,KAAK,OACb7d,EAAQ,KAAK,MACrB,EAEIke,EAAQ,KAAO,UAAY,CACvB,OAAO,IAAIA,EAAQN,EAAUne,EAAOoe,EAAO7d,CAAK,CACxD,EAEI,SAASme,EAAcpE,EAAMqE,EAAO,CAChC,OAAIJ,IACAjE,EAAK,MAAQ,CAACqE,EAAM,CAAC,EAAIL,EAAaK,EAAM,CAAC,EAAIL,CAAW,GAEzDhE,CACV,CAED,SAASsE,GAAU,CACf,IAAIzD,EAAKvG,EAAO,OAAO5U,CAAK,EAC5B,OAAAA,GAAS,EACFmb,CACV,CAED,SAAS0D,EAAcC,EAAQ,CAC3B,IAAIlC,EAAGmC,EAAK5D,EAAIe,EAAO,EAGvB,IADA6C,EAAOD,IAAW,IAAO,EAAI,EACxBlC,EAAI,EAAGA,EAAImC,EAAK,EAAEnC,EACnB,GAAI5c,EAAQC,GAAUoe,EAAQ,KAAK,WAAWzJ,EAAO,WAAW5U,CAAK,CAAC,EAClEmb,EAAKyD,EAAO,EACZ1C,EAAOA,EAAO,GAAK,mBAAmB,QAAQf,EAAG,YAAW,CAAE,MAE9D,OAAO,GAGf,OAAO,OAAO,aAAae,CAAI,CAClC,CAED,SAAS8C,GAAa,CAClB,IAAIC,EAAM,GAAInI,EAAOqE,EAAIe,EAAMgD,EAAWC,EAI1C,IAHArI,EAAQlC,EAAO,OAAO5U,CAAK,EAC3B,EAAEA,EAEKA,EAAQC,GAGX,GAFAkb,EAAKyD,EAAO,EAERzD,IAAOrE,EAAO,CACdA,EAAQ,GACR,KAChB,SAAuBqE,IAAO,KAEd,GADAA,EAAKyD,EAAO,EACPP,EAAQ,KAAK,iBAAiBlD,EAAG,WAAW,CAAC,CAAC,EA6D3CA,IAAQ,MAAQvG,EAAO,WAAW5U,CAAK,IAAM,IAC7C,EAAEA,MA7DN,QAAQmb,EAAE,CACV,IAAK,IACD8D,GAAO;AAAA,EACP,MACJ,IAAK,IACDA,GAAO,KACP,MACJ,IAAK,IACDA,GAAO,IACP,MACJ,IAAK,IACL,IAAK,IACDE,EAAUnf,EACVkf,EAAYL,EAAc1D,CAAE,EACxB+D,EACAD,GAAOC,GAEPlf,EAAQmf,EACRF,GAAO9D,GAEX,MACJ,IAAK,IACD8D,GAAO,KACP,MACJ,IAAK,IACDA,GAAO,KACP,MACJ,IAAK,IACDA,GAAO,KACP,MAEJ,QACQZ,EAAQ,KAAK,aAAalD,EAAG,WAAW,CAAC,CAAC,GAC1Ce,EAAO,WAAW,QAAQf,CAAE,EAQxBnb,EAAQC,GAAUoe,EAAQ,KAAK,aAAazJ,EAAO,WAAW5U,CAAK,CAAC,IAEpEkc,EAAOA,EAAO,EAAI,WAAW,QAAQ0C,EAAO,CAAE,EAI1C,OAAO,QAAQzD,CAAE,GAAK,GAClBnb,EAAQC,GACRoe,EAAQ,KAAK,aAAazJ,EAAO,WAAW5U,CAAK,CAAC,IACtDkc,EAAOA,EAAO,EAAI,WAAW,QAAQ0C,EAAO,CAAE,IAGtDK,GAAO,OAAO,aAAa/C,CAAI,GAE/B+C,GAAO9D,EAEX,KACH,KAMF,IAAIkD,EAAQ,KAAK,iBAAiBlD,EAAG,WAAW,CAAC,CAAC,EACrD,MAEA8D,GAAO9D,EAIf,OAAIrE,IAAU,IACV+G,EAAQ,WAAW,kBAAkB,EAGzCtd,EAAQ0e,EACDf,EAAM,MAChB,CAED,SAASkB,GAAa,CAClB,IAAIvI,EAAQsE,EAKZ,GAHAtE,EAAS,GACTsE,EAAKvG,EAAO,WAAW5U,CAAK,EAExBmb,IAAO,GAAiB,CAIxB,GAHAtE,EAAS+H,EAAO,EAChBzD,EAAKvG,EAAO,WAAW5U,CAAK,EAExB6W,IAAW,IAAK,CAChB,GAAIsE,IAAO,KAAmBA,IAAO,GAAiB,CAElD,IADAtE,GAAU+H,EAAO,EACV5e,EAAQC,IACXkb,EAAKvG,EAAO,WAAW5U,CAAK,EACxB,EAACqe,EAAQ,KAAK,WAAWlD,CAAE,IAG/BtE,GAAU+H,EAAO,EAGrB,OAAI/H,EAAO,QAAU,GAEjBgH,EAAQ,WAAW,kBAAkB,EAGrC7d,EAAQC,IACRkb,EAAKvG,EAAO,WAAW5U,CAAK,EACxBqe,EAAQ,KAAK,qBAAqBlD,CAAE,GACpC0C,EAAQ,WAAW,kBAAkB,GAG7Ctd,EAAQ,SAASsW,EAAQ,EAAE,EACpBqH,EAAM,MAChB,CAED,GAAIG,EAAQ,KAAK,aAAalD,CAAE,EAAG,CAE/B,IADAtE,GAAU+H,EAAO,EACV5e,EAAQC,IACXkb,EAAKvG,EAAO,WAAW5U,CAAK,EACxB,EAACqe,EAAQ,KAAK,aAAalD,CAAE,IAGjCtE,GAAU+H,EAAO,EAGrB,OAAI5e,EAAQC,IACRkb,EAAKvG,EAAO,WAAW5U,CAAK,GACxBqe,EAAQ,KAAK,qBAAqBlD,CAAE,GAAKkD,EAAQ,KAAK,eAAelD,CAAE,IACvE0C,EAAQ,WAAW,kBAAkB,GAG7Ctd,EAAQ,SAASsW,EAAQ,CAAC,EACnBqH,EAAM,MAChB,CAEGG,EAAQ,KAAK,eAAelD,CAAE,GAC9B0C,EAAQ,WAAW,kBAAkB,CAE5C,CAED,KAAO7d,EAAQC,IACXkb,EAAKvG,EAAO,WAAW5U,CAAK,EACxB,EAACqe,EAAQ,KAAK,eAAelD,CAAE,IAGnCtE,GAAU+H,EAAO,CAExB,CAED,GAAIzD,IAAO,GAEP,IADAtE,GAAU+H,EAAO,EACV5e,EAAQC,IACXkb,EAAKvG,EAAO,WAAW5U,CAAK,EACxB,EAACqe,EAAQ,KAAK,eAAelD,CAAE,IAGnCtE,GAAU+H,EAAO,EAIzB,GAAIzD,IAAO,KAAmBA,IAAO,GASjC,GARAtE,GAAU+H,EAAO,EAEjBzD,EAAKvG,EAAO,WAAW5U,CAAK,GACxBmb,IAAO,IAAmBA,IAAO,MACjCtE,GAAU+H,EAAO,GAGrBzD,EAAKvG,EAAO,WAAW5U,CAAK,EACxBqe,EAAQ,KAAK,eAAelD,CAAE,EAE9B,IADAtE,GAAU+H,EAAO,EACV5e,EAAQC,IACXkb,EAAKvG,EAAO,WAAW5U,CAAK,EACxB,EAACqe,EAAQ,KAAK,eAAelD,CAAE,IAGnCtE,GAAU+H,EAAO,OAGrBf,EAAQ,WAAW,kBAAkB,EAI7C,OAAI7d,EAAQC,IACRkb,EAAKvG,EAAO,WAAW5U,CAAK,EACxBqe,EAAQ,KAAK,qBAAqBlD,CAAE,GACpC0C,EAAQ,WAAW,kBAAkB,GAI7Ctd,EAAQ,WAAWsW,CAAM,EAClBqH,EAAM,MAChB,CAGD,SAASmB,GAAe,CACpB,IAAIlE,EAAImE,EAGR,IADA/e,EAAQqe,EAAO,EACR5e,EAAQC,GAAUue,EAAW5J,EAAO,WAAW5U,CAAK,CAAC,GAAG,CAE3D,GADAmb,EAAKvG,EAAO,WAAW5U,CAAK,EACxBmb,IAAO,GAAiB,CACxB,GAAKnb,EAAQ,GAAMC,EACf,OAAOie,EAAM,QAGjB,GADAoB,EAAM1K,EAAO,WAAW5U,EAAQ,CAAC,EAC7Bsf,IAAQ,GACR,KAEP,CACD/e,GAASqe,EAAO,CACnB,CACD,OAAOV,EAAM,IAChB,CAED,SAASqB,GAAO,CACZ,IAAIpE,EAIJ,IAFAgD,EAAWne,EAEJA,EAAQC,GAAUoe,EAAQ,KAAK,aAAazJ,EAAO,WAAW5U,CAAK,CAAC,GACvE4e,IAEJ,GAAI5e,GAASC,EACT,OAAAme,EAAQF,EAAM,IACPE,EAIX,OADAjD,EAAKvG,EAAO,WAAW5U,CAAK,EACpBmb,EAAE,CACV,IAAK,IACL,IAAK,IACD,OAAAiD,EAAQY,EAAU,EACXZ,EAEX,IAAK,IACD,OAAAQ,IACAR,EAAQF,EAAM,MACPE,EAEX,IAAK,IACD,OAAAQ,IACAR,EAAQF,EAAM,MACPE,EAEX,IAAK,IACD,OAAAQ,IACAR,EAAQF,EAAM,OACPE,EAEX,IAAK,IACD,OAAAQ,IACAR,EAAQF,EAAM,OACPE,EAEX,IAAK,IACD,OAAAQ,IACAR,EAAQF,EAAM,OACPE,EAEX,IAAK,IACD,OAAAQ,IACAR,EAAQF,EAAM,OACPE,EAEX,IAAK,KACD,OAAAQ,IACAR,EAAQF,EAAM,OACPE,EAEX,IAAK,KACD,OAAAQ,IACAR,EAAQF,EAAM,OACPE,EAEX,IAAK,IACD,GAAIpe,EAAQ,EAAIC,EAAQ,CAEpB,GADAkb,EAAKvG,EAAO,WAAW5U,EAAQ,CAAC,EAC5Bmb,IAAO,GACP,OAAAyD,IACAA,IACAR,EAAQF,EAAM,OACPE,EAGX,GAAIjD,IAAO,IAAmBnb,EAAQ,EAAIC,GAAU2U,EAAO,WAAW5U,EAAQ,CAAC,IAAM,GACjF,OAAA4e,IACAA,IACAA,IACAR,EAAQF,EAAM,KACPE,EAGX,GAAIC,EAAQ,KAAK,eAAelD,CAAE,EAC9B,OAAAiD,EAAQgB,EAAU,EACXhB,CAEd,CACD,OAAAA,EAAQF,EAAM,QACPE,EAEX,IAAK,IACD,OAAAQ,IACAR,EAAQF,EAAM,GACPE,EAEX,IAAK,IACD,OAAAQ,IACAR,EAAQF,EAAM,GACPE,EAEX,IAAK,IACD,OAAAQ,IACAR,EAAQF,EAAM,KACPE,EAEX,IAAK,KACD,OAAAQ,IACAR,EAAQF,EAAM,KACPE,EAEX,IAAK,IACD,OAAAQ,IACAR,EAAQF,EAAM,SACPE,EAEX,IAAK,IACD,OAAAQ,IACAR,EAAQF,EAAM,KACPE,EAEX,IAAK,IACD,OAAAQ,IACAR,EAAQF,EAAM,MACPE,EAEX,IAAK,IACD,OAAAA,EAAQgB,EAAU,EACXhB,EAEX,QACI,OAAIC,EAAQ,KAAK,eAAelD,CAAE,GAC9BiD,EAAQgB,EAAU,EACXhB,IAQXP,EAAQ,OAAOW,EAAWrD,CAAE,CAAC,EAC7BiD,EAAQiB,EAAY,EACbjB,EACV,CACJ,CAED,SAASoB,EAAQC,EAAQC,EAAM,CAC3B7B,EAAQ,OAAOO,IAAUqB,EAAQC,GAAQ,4BAA4B,EACrEH,GACH,CAED,SAASI,EAAOF,EAAQ/B,EAAS,CACzBU,IAAUqB,GACV5B,EAAQ,WAAWH,GAAW,kBAAkB,EAEpD6B,GACH,CAWD,SAASK,GAAiB,CACtB,IAAIC,EAAUC,EAAa9f,EAAQ,EAGnC,GAFAwf,EAAQtB,EAAM,OAAQ,+BAA+B,EACrD2B,EAAW,CAAA,EACPzB,IAAUF,EAAM,OAChB,KACI2B,EAAS,KAAKE,EAAmB,CAAE,EAC/B3B,IAAUF,EAAM,QAGpByB,EAAOzB,EAAM,IAAI,EAGzB,OAAAsB,EAAQtB,EAAM,OAAQ,6BAA6B,EAC5CQ,EAAc,CACjB,KAAMT,EAAO,UACb,SAAU4B,CACtB,EAAW,CAACC,EAAY3B,CAAQ,CAAC,CAC5B,CASD,SAAS6B,GAAiB,CACtB,IAAIH,EAAUC,EAAa9f,EAAQ,EAAGigB,EAGtC,IAFAT,EAAQtB,EAAM,OAAQ,+BAA+B,EACrD2B,EAAW,CAAA,EACJzB,IAAUF,EAAM,QAAQ,CAC3B,GAAIE,IAAUF,EAAM,KAAM,CACtB+B,EAAiBjgB,EAAQ,EACzBwf,EAAQtB,EAAM,IAAI,EAClB2B,EAAS,KAAKnB,EAAc,CACxB,KAAMT,EAAO,SACb,WAAY8B,EAAqB,CACpC,EAAE,CAACE,EAAgB9B,CAAQ,CAAC,CAAC,EAC9B,KAChB,MACgB0B,EAAS,KAAKE,EAAmB,CAAE,EAEnC3B,IAAUF,EAAM,QAChByB,EAAOzB,EAAM,KAAK,CAEzB,CACD,OAAAyB,EAAOzB,EAAM,MAAM,EACZQ,EAAc,CACjB,KAAMT,EAAO,UACb,SAAU4B,CACtB,EAAW,CAACC,EAAY3B,CAAQ,CAAC,CAC5B,CAED,SAAS+B,GAAiB,CACtB,IAAIC,EAAI5f,EACR,GAAI6d,IAAUF,EAAM,MAAQE,IAAUF,EAAM,OACxC,OAAAqB,IACOY,EAGX,GAAI/B,IAAUF,EAAM,OAChB,OAAAsB,EAAQtB,EAAM,MAAM,EACb,OAAOiC,CAAC,EAGnBtC,EAAQ,WAAW,kBAAkB,CACxC,CAWD,SAASuC,GAAiB,CACtB,IAAIxf,EAAKyf,EAAalC,EAGtB,OADAvd,EAAMsf,EAAc,EAChB9B,IAAUF,EAAM,OAChBsB,EAAQtB,EAAM,KAAK,EACZQ,EAAc,CACjB,KAAMT,EAAO,UACb,IAAKrd,EACL,MAAOmf,EAAqB,CAC5C,EAAe,CAACM,EAAYlC,CAAQ,CAAC,GAEtBO,EAAc,CACjB,KAAMT,EAAO,UACb,IAAKrd,EACL,MAAO,IACnB,EAAW,CAACyf,EAAYlC,CAAQ,CAAC,CAC5B,CAQD,SAASmC,GAAkB,CACvB,IAAIC,EAAQF,EAAargB,EAAQ,EAAGwgB,EAIpC,GAFAhB,EAAQtB,EAAM,OAAQ,gCAAgC,EACtDqC,EAAS,CAAA,EACLnC,IAAUF,EAAM,MAChBsB,EAAQtB,EAAM,KAAK,MAEnB,MAAOE,IAAUF,EAAM,QACnBqC,EAAO,KAAKH,EAAc,CAAE,EACxBhC,IAAUF,EAAM,QAChByB,EAAOzB,EAAM,KAAK,EAI9B,OAAAsC,EAAWxgB,EACX2f,EAAOzB,EAAM,MAAM,EACZQ,EAAc,CACjB,KAAMT,EAAO,WACb,OAAQsC,CACpB,EAAW,CAACF,EAAYG,CAAQ,CAAC,CAC5B,CASD,SAASC,IAAsB,CAC3B,IAAIC,EAAOngB,EAAO8f,EAAargB,EAAQ0gB,EAAK,OAC5C,OAAAf,EAAOzB,EAAM,IAAI,EAEbE,IAAUF,EAAM,QACZwC,IAAS,UACTA,IAAS,YACTA,IAAS,WACblB,EAAQtB,EAAM,KAAK,EACnBwC,GAAQ,IAAMngB,EACdof,EAAOzB,EAAM,IAAI,GAGdQ,EAAc,CACjB,KAAMT,EAAO,eACb,KAAMyC,CAClB,EAAW,CAACL,EAAYlC,CAAQ,CAAC,CAC5B,CAKD,SAASwC,IAA0B,CAC/B,IAAId,EAAW,CAAA,EAGf,IADAA,EAAS,KAAKe,EAAQ,CAAE,EACjBxC,IAAUF,EAAM,OACnBsB,EAAQtB,EAAM,KAAK,EACnB2B,EAAS,KAAKe,EAAQ,CAAE,EAE5B,OAAOf,CACV,CASD,SAASgB,GAAgB,CACrB,IAAIpD,EAAMqD,EAAchB,EAAa9f,EAAQO,EAAM,OAGnD,OADAkd,EAAOgD,GAAmB,EACtBrC,IAAUF,EAAM,QAAUE,IAAUF,EAAM,IAC1CqB,IACAuB,EAAeH,GAAuB,EACtChB,EAAOzB,EAAM,EAAE,EACRQ,EAAc,CACjB,KAAMT,EAAO,gBACb,WAAYR,EACZ,aAAcqD,CAC9B,EAAe,CAAChB,EAAY3B,CAAQ,CAAC,GAEtBV,CACV,CASD,SAASsD,IAAkB,CAEvB,OADAvB,EAAQtB,EAAM,MAAO,gCAAgC,EACjDE,IAAUF,EAAM,MAAQ3d,IAAU,QAClCif,EAAQtB,EAAM,IAAI,EACX,CACH,KAAMD,EAAO,WAC7B,GAEe8B,EAAmB,CAC7B,CAyBD,SAASiB,GAAsB,CAG3B,QAFIC,EAAS,CAAE,EAAEC,EAAmB,GAAOzD,EAAM0D,EAAO,GAAOrB,EAAYG,EAAiBjgB,EAAQ,EAAGohB,EAEhGhD,IAAUF,EAAM,QACfE,IAAUF,EAAM,OAEhBsB,EAAQtB,EAAM,IAAI,EAClBiD,EAAO,IAGXrB,EAAa3B,EAEbV,EAAOsC,EAAmB,EACtBtC,EAAK,OAASQ,EAAO,gBAAkBG,IAAUF,EAAM,QACvDkD,EAAiBjD,EAAWV,EAAK,KAAK,OAEtC+B,EAAQtB,EAAM,KAAK,EACnBT,EAAOiB,EAAc,CACjB,KAAMT,EAAO,cACb,KAAMR,EAAK,KACX,WAAYsC,EAAqB,CACrD,EAAmB,CAACqB,EAAgBjD,CAAQ,CAAC,GAE7BC,IAAUF,EAAM,OAChBsB,EAAQtB,EAAM,KAAK,EACnBT,EAAOiB,EAAc,CACjB,KAAMT,EAAO,aACb,WAAYR,CAChC,EAAmB,CAACqC,EAAY3B,CAAQ,CAAC,EACzB+C,EAAmB,IAEfA,GACArD,EAAQ,WAAW,kBAAkB,EAGzCsD,IACA1D,EAAOiB,EAAc,CACjB,KAAMT,EAAO,SACb,WAAYR,CAChC,EAAmB,CAACwC,EAAgB9B,CAAQ,CAAC,GAEjC8C,EAAO,KAAKxD,CAAI,EACZW,IAAUF,EAAM,QAChByB,EAAOzB,EAAM,KAAK,EAG1B,OAAO+C,CACV,CASD,SAASI,IAAoB,CACzB,IAAIC,EAAOC,EAAaN,EAAQ/gB,EAAQshB,EAAQ1B,EAAa9f,EAAQO,EAAM,OAC3Esd,OAAAA,EAAQ,OAAOO,IAAUF,EAAM,MAAQ3d,IAAU,WAAY,2CAA6C,EAC1Gif,EAAQtB,EAAM,IAAI,EAIlByB,EAAOzB,EAAM,MAAM,EAEnBoD,EAAQ,GACRL,EAAS,CAAA,EACTM,EAAc,KACVnD,IAAUF,EAAM,SAEZE,IAAUF,EAAM,OACX3d,IAAU,QAAUA,IAAU,QAGnC+gB,EAAQ/gB,IAAU,MAClBif,EAAQtB,EAAM,IAAI,EAClByB,EAAOzB,EAAM,KAAK,EAClBqD,EAAcV,EAAa,EACvBzC,IAAUF,EAAM,QAChBsB,EAAQtB,EAAM,KAAK,EACnB+C,EAASD,EAAmB,IAGhCC,EAASD,EAAmB,GAIpCrB,EAAOzB,EAAM,MAAM,EAEnBhe,EAAS,KACLke,IAAUF,EAAM,QAChBhe,EAAS6gB,GAAe,GAG5BS,EAAS9C,EAAc,CACnB,KAAMT,EAAO,aACb,OAAQgD,EACR,OAAQ/gB,CACpB,EAAW,CAAC4f,EAAY3B,CAAQ,CAAC,EACrBoD,IAEAC,EAAO,KAAUD,EACbD,IACAE,EAAO,IAAS,KAGjBA,CACV,CAWD,SAASC,IAA2B,CAChC,IAAIC,EAAS5B,EACb,OAAQ1B,EAAK,CACb,KAAKF,EAAM,KACP,OAAAsB,EAAQtB,EAAM,IAAI,EACXQ,EAAc,CACjB,KAAMT,EAAO,UAChB,EAAE,CAACE,EAAW,EAAGA,CAAQ,CAAC,EAE/B,KAAKD,EAAM,OACP,OAAO0B,EAAc,EAEzB,KAAK1B,EAAM,OACP,OAAO8B,EAAc,EAEzB,KAAK9B,EAAM,OACP,OAAOoC,EAAe,EAE1B,KAAKpC,EAAM,KAGP,GAFA4B,EAAa9f,EAAQO,EAAM,OAEvBA,IAAU,OACV,OAAAif,EAAQtB,EAAM,IAAI,EACXQ,EAAc,CACjB,KAAMT,EAAO,WACjC,EAAmB,CAAC6B,EAAY3B,CAAQ,CAAC,EAG7B,GAAI5d,IAAU,YACV,OAAAif,EAAQtB,EAAM,IAAI,EACXQ,EAAc,CACjB,KAAMT,EAAO,gBACjC,EAAmB,CAAC6B,EAAY3B,CAAQ,CAAC,EAG7B,GAAI5d,IAAU,QAAUA,IAAU,QAC9B,OAAAif,EAAQtB,EAAM,IAAI,EACXQ,EAAc,CACjB,KAAMT,EAAO,mBACb,MAAO1d,IAAU,MACrC,EAAmB,CAACuf,EAAY3B,CAAQ,CAAC,EAI7B,GADAuD,EAAUjD,EAAQ,OACdle,IAAU,WACV,GAAI,CACA,OAAO8gB,GAAiB,CAC3B,MAAW,CACRK,EAAQ,QAAO,CAClB,CAGL,OAAOb,EAAa,EAExB,KAAK3C,EAAM,OACP,OAAAqB,IACOb,EAAc,CACjB,KAAMT,EAAO,kBACb,MAAO1d,CACvB,EAAe,CAAC4d,EAAW5d,EAAM,OAAS,EAAG4d,CAAQ,CAAC,EAE9C,KAAKD,EAAM,OACP,OAAAqB,IACOb,EAAc,CACjB,KAAMT,EAAO,mBACb,MAAO1d,CACvB,EAAe,CAAC4d,EAAW,OAAO5d,CAAK,EAAE,OAAQ4d,CAAQ,CAAC,EAElD,QACIN,EAAQ,WAAW,kBAAkB,CACxC,CACJ,CAUD,SAASkC,GAAsB,CAC3B,IAAItC,EAAM4C,EAEV,OAAIjC,IAAUF,EAAM,UAChBmC,EAAargB,EAAQ,EACrBwf,EAAQtB,EAAM,QAAQ,EAClBE,IAAUF,EAAM,OAASE,IAAUF,EAAM,OAASE,IAAUF,EAAM,QAC9DE,IAAUF,EAAM,QAAUE,IAAUF,EAAM,MAAQE,IAAUF,EAAM,KAClEE,IAAUF,EAAM,QAAUE,IAAUF,EAAM,GACvCQ,EAAc,CACjB,KAAMT,EAAO,eACjC,EAAmB,CAACoC,EAAYlC,CAAQ,CAAC,EAEtBO,EAAc,CACjB,KAAMT,EAAO,aACb,WAAYwD,GAA0B,EACtC,OAAQ,EACxB,EAAe,CAACpB,EAAYlC,CAAQ,CAAC,GAClBC,IAAUF,EAAM,MACvBmC,EAAargB,EAAQ,EACrBwf,EAAQtB,EAAM,IAAI,EACXQ,EAAc,CACjB,KAAMT,EAAO,gBACb,WAAYwD,GAA0B,EACtC,OAAQ,EACxB,EAAe,CAACpB,EAAYlC,CAAQ,CAAC,IAEzBkC,EAAalC,EAGjBV,EAAOgE,GAAwB,EAC3BrD,IAAUF,EAAM,MAChBsB,EAAQtB,EAAM,IAAI,EACXQ,EAAc,CACjB,KAAMT,EAAO,gBACb,WAAYR,EACZ,OAAQ,EACxB,EAAe,CAAC4C,EAAYlC,CAAQ,CAAC,GAGzBC,IAAUF,EAAM,UAChBsB,EAAQtB,EAAM,QAAQ,EACfQ,EAAc,CACjB,KAAMT,EAAO,aACb,WAAYR,EACZ,OAAQ,EACxB,EAAe,CAAC4C,EAAYlC,CAAQ,CAAC,GAGzBC,IAAUF,EAAM,QAChBsB,EAAQtB,EAAM,MAAM,EACpByB,EAAOzB,EAAM,OAAQ,6CAA+C3d,EAAQ,KAAK,EAC1Eme,EAAc,CACjB,KAAMT,EAAO,gBACb,WAAYS,EAAc,CACtB,KAAMT,EAAO,eACb,KAAM,OAC1B,EAAmB,CAACoC,EAAYlC,CAAQ,CAAC,EACzB,aAAc,CAACV,CAAI,CACnC,EAAe,CAAC4C,EAAYlC,CAAQ,CAAC,GAGtBV,EACV,CAWD,SAASmD,GAAW,CAChB,IAAInD,EAAMoC,EAGV,GADApC,EAAOsC,EAAmB,EACtB3B,IAAUF,EAAM,KAChB,OAAOT,EAKX,IAFAoC,EAAW,CAACpC,CAAI,EAChB+B,EAAQtB,EAAM,IAAI,EAEd2B,EAAS,KAAKE,EAAmB,CAAE,EAC/B3B,IAAUF,EAAM,MAGpBsB,EAAQtB,EAAM,IAAI,EAGtB,OAAOQ,EAAc,CACjB,KAAMT,EAAO,UACb,SAAU4B,CACtB,EAAW,CAAC,EAAG7f,CAAK,CAAC,CAChB,CAED,SAAS2hB,GAAoB,CACzB,IAAIlE,EAEJ,OAAIW,IAAUF,EAAM,MAChBsB,EAAQtB,EAAM,IAAI,EACXQ,EAAc,CACjB,KAAMT,EAAO,SACb,WAAY2C,EAAU,CACtC,EAAe,CAAC,EAAG5gB,CAAK,CAAC,IAGjByd,EAAOmD,EAAQ,EACXxC,IAAUF,EAAM,OAChBsB,EAAQtB,EAAM,KAAK,EACZQ,EAAc,CACjB,KAAMT,EAAO,aACb,WAAYR,CAC5B,EAAe,CAAC,EAAGzd,CAAK,CAAC,GAGVyd,EACV,CAED,SAASmE,GAAUC,EAAKC,EAAK,CACzB,IAAIrE,EAYJ,OAVA7I,EAASiN,EACT5hB,EAAS2U,EAAO,OAChB5U,EAAQ,EACRme,EAAW,EACXI,EAAWuD,GAAOA,EAAI,MACtBxD,EAAcwD,GAAOA,EAAI,YAAc,EAEvCvC,IACA9B,EAAOmD,EAAQ,EAEXkB,GAAOA,EAAI,UACJ,CACH,WAAYrE,EACZ,MAAOU,CACvB,GAGYC,IAAUF,EAAM,KAChBL,EAAQ,WAAW,kBAAkB,EAGlCJ,EACV,CAED,SAASsE,GAAeF,EAAKC,EAAK,CAC9B,IAAIrE,EAYJ,OAVA7I,EAASiN,EACT5hB,EAAS2U,EAAO,OAChB5U,EAAQ,EACRme,EAAW,EACXI,EAAWuD,GAAOA,EAAI,MACtBxD,EAAcwD,GAAOA,EAAI,YAAc,EAEvCvC,IACA9B,EAAOkE,EAAiB,EAEpBG,GAAOA,EAAI,UACJ,CACH,WAAYrE,EACZ,MAAOU,CACvB,GAGYC,IAAUF,EAAM,KAChBL,EAAQ,WAAW,kBAAkB,EAGlCJ,EACV,CAED,SAASuE,EAAc1H,EAAM2H,EAASC,EAAU,CAC5C,IAAIhiB,EAAQ0c,EAAGC,EAEf,OAAQvC,EAAK,KAAI,CACjB,KAAK2D,EAAO,gBACR/d,EAAS,IACT,MAEJ,KAAK+d,EAAO,WACR/d,EAAS,IACT,MAEJ,KAAK+d,EAAO,YACR/d,EAAS,OACT,MAEJ,KAAK+d,EAAO,iBACR/d,EAAS,YACT,MAEJ,KAAK+d,EAAO,YACR/d,EAAS,OACT,MAEJ,KAAK+d,EAAO,UAOR,IANKiE,EAGDhiB,EAAS,GAFTA,EAAS,IAKR0c,EAAI,EAAGC,EAAKvC,EAAK,SAAS,OAAQsC,EAAIC,EAAI,EAAED,EAC7C1c,GAAU8hB,EAAc1H,EAAK,SAASsC,CAAC,EAAGqF,CAAO,EAC5CrF,EAAI,IAAOC,IACZ3c,GAAU+hB,EAAU,IAAM,OAI7BC,IACDhiB,GAAU,KAEd,MAEJ,KAAK+d,EAAO,UAER,IADA/d,EAAS,IACJ0c,EAAI,EAAGC,EAAKvC,EAAK,SAAS,OAAQsC,EAAIC,EAAI,EAAED,EAC7C1c,GAAU8hB,EAAc1H,EAAK,SAASsC,CAAC,EAAGqF,CAAO,EAC5CrF,EAAI,IAAOC,IACZ3c,GAAU+hB,EAAU,IAAM,MAGlC/hB,GAAU,IACV,MAEJ,KAAK+d,EAAO,WAER,IADA/d,EAAS,IACJ0c,EAAI,EAAGC,EAAKvC,EAAK,OAAO,OAAQsC,EAAIC,EAAI,EAAED,EAC3C1c,GAAU8hB,EAAc1H,EAAK,OAAOsC,CAAC,EAAGqF,CAAO,EAC1CrF,EAAI,IAAOC,IACZ3c,GAAU+hB,EAAU,IAAM,MAGlC/hB,GAAU,IACV,MAEJ,KAAK+d,EAAO,UACJ3D,EAAK,MACLpa,EAASoa,EAAK,KAAO2H,EAAU,IAAM,MAAQD,EAAc1H,EAAK,MAAO2H,CAAO,EAE9E/hB,EAASoa,EAAK,IAElB,MAEJ,KAAK2D,EAAO,aAiBR,IAhBA/d,EAAS+hB,EAAU,YAAc,aAE7B3H,EAAK,OACDA,EAAK,IACLpa,GAAW+hB,EAAU,OAAS,QAE9B/hB,GAAW+hB,EAAU,QAAU,SAGnC/hB,GAAU8hB,EAAc1H,EAAK,KAAS2H,CAAO,EAEzC3H,EAAK,OAAO,SAAW,IACvBpa,GAAU+hB,EAAU,IAAM,OAI7BrF,EAAI,EAAGC,EAAKvC,EAAK,OAAO,OAAQsC,EAAIC,EAAI,EAAED,EAC3C1c,GAAU8hB,EAAc1H,EAAK,OAAOsC,CAAC,EAAGqF,CAAO,EAC1CrF,EAAI,IAAOC,IACZ3c,GAAU+hB,EAAU,IAAM,MAIlC/hB,GAAU,IAENoa,EAAK,SACLpa,IAAW+hB,EAAU,IAAM,MAAQD,EAAc1H,EAAK,OAAQ2H,CAAO,GAEzE,MAEJ,KAAKhE,EAAO,cACR/d,EAASoa,EAAK,MAAQ2H,EAAU,IAAM,MAAQD,EAAc1H,EAAK,WAAY2H,CAAO,EACpF,MAEJ,KAAKhE,EAAO,SACR/d,EAAS,MACLoa,EAAK,aACLpa,GAAU8hB,EAAc1H,EAAK,WAAY2H,CAAO,GAEpD,MAEJ,KAAKhE,EAAO,gBACJ3D,EAAK,OACLpa,EAAS,IAAM8hB,EAAc1H,EAAK,WAAY2H,CAAO,EAErD/hB,EAAS8hB,EAAc1H,EAAK,WAAY2H,CAAO,EAAI,IAEvD,MAEJ,KAAKhE,EAAO,aACR/d,EAAS8hB,EAAc1H,EAAK,WAAY2H,CAAO,EAAI,IACnD,MAEJ,KAAKhE,EAAO,aACJ3D,EAAK,OACLpa,EAAS,IAAM8hB,EAAc1H,EAAK,WAAY2H,CAAO,EAErD/hB,EAAS8hB,EAAc1H,EAAK,WAAY2H,CAAO,EAAI,IAEvD,MAEJ,KAAKhE,EAAO,eACR/d,EAASoa,EAAK,KACd,MAEJ,KAAK2D,EAAO,gBAER,IADA/d,EAAS8hB,EAAc1H,EAAK,WAAY2H,CAAO,EAAI,KAC9CrF,EAAI,EAAGC,EAAKvC,EAAK,aAAa,OAAQsC,EAAIC,EAAI,EAAED,EACjD1c,GAAU8hB,EAAc1H,EAAK,aAAasC,CAAC,EAAGqF,CAAO,EAChDrF,EAAI,IAAOC,IACZ3c,GAAU+hB,EAAU,IAAM,MAGlC/hB,GAAU,IACV,MAEJ,KAAK+d,EAAO,kBACR/d,EAAS,IAAMoa,EAAK,MAAQ,IAC5B,MAEJ,KAAK2D,EAAO,mBACR/d,EAAS,OAAOoa,EAAK,KAAK,EAC1B,MAEJ,KAAK2D,EAAO,mBACR/d,EAAS,OAAOoa,EAAK,KAAK,EAC1B,MAEJ,QACIuD,EAAQ,WAAW,gBAAkBvD,EAAK,IAAI,CACjD,CAED,OAAOpa,CACV,CAED,SAASiiB,EAAU7H,EAAM8H,EAAS,CAC9B,OAAIA,GAAW,OACXA,EAAU,CAAA,GAEPJ,EAAc1H,EAAM8H,EAAQ,QAASA,EAAQ,QAAQ,CAC/D,CAEDC,GAAA,UAAoBT,GACpBS,GAAA,eAAyBN,GACzBM,GAAA,UAAoBF,EACpBE,GAAA,OAAiBpE,CACrB,GAAG,gBChxCF,UAAY,CAGT,IAAIoE,EACAxE,EACAyE,EACAjE,EACAlb,EAEJkb,EAAU3d,GACV2hB,EAAQ3gB,GACRmc,EAAUlc,EAEV,SAAS4gB,EAAY3N,EAAQ5U,EAAOwiB,EAAM,CACtC,OAAO5N,EAAO,MAAM5U,EAAOwiB,CAAI,CAClC,CAEDrf,EAAkB,UAAY,CAC1B,IAAI4B,EAAO,OAAO,UAAU,eAC5B,OAAO,SAAwB0d,EAAK/B,EAAM,CACtC,OAAO3b,EAAK,KAAK0d,EAAK/B,CAAI,CACtC,CACK,EAAA,EACD,SAASgC,EAAYD,EAAK,CACtB,IAAIE,EAAM,CAAE,EAAE/hB,EACd,IAAKA,KAAO6hB,EACJA,EAAI,eAAe7hB,CAAG,IACtB+hB,EAAI/hB,CAAG,EAAI6hB,EAAI7hB,CAAG,GAG1B,OAAO+hB,CACV,CAED,SAASC,EAAoBzH,EAAI,CAC7B,OAAQA,GAAM,IAAmBA,GAAM,KAClCA,GAAM,IAAmBA,GAAM,IAC/BA,GAAM,IAAmBA,GAAM,EACvC,CAED,SAAS0H,EAAaC,EAAO,CACzB,OAAOA,IAAU,SAAWA,IAAU,YAAcA,IAAU,KACjE,CAED,SAASC,EAAcD,EAAO,CAC1B,OAAOA,IAAU,UAAYA,IAAU,SAC1C,CAED,SAASE,EAAWF,EAAO,CACvB,OAAOA,IAAU,YAAcA,IAAU,MAC5C,CAED,SAASG,EAAwBH,EAAO,CACpC,OAAOD,EAAaC,CAAK,GAAKE,EAAWF,CAAK,GAC1CA,IAAU,SAAWA,IAAU,QAAUA,IAAU,SAAWA,IAAU,UAC/E,CAED,SAASI,EAAcJ,EAAO,CAC1B,OAAOG,EAAwBH,CAAK,GAAKA,IAAU,SAAWA,IAAU,UAC3E,CAED,SAASK,EAAgBL,EAAO,CAC5B,OAAOE,EAAWF,CAAK,GAAKD,EAAaC,CAAK,CACjD,CAED,SAASM,EAAkBN,EAAO,CAC9B,OAAOE,EAAWF,CAAK,GAAKD,EAAaC,CAAK,CACjD,CAED,SAASO,EAAwBP,EAAO,CACpC,OAAOD,EAAaC,CAAK,GAAKC,EAAcD,CAAK,GAC7CA,IAAU,UAAYA,IAAU,QAChCA,IAAU,cAAgBA,IAAU,QACpCA,IAAU,QAAUA,IAAU,WAAaE,EAAWF,CAAK,CAClE,CAID,SAASQ,EAAcR,EAAO,CAC1B,OAAOO,EAAwBP,CAAK,GAAKA,IAAU,UAAYA,IAAU,SAAWA,IAAU,YAC1FA,IAAU,aAAeA,IAAU,UAAYA,IAAU,OAASA,IAAU,UAC5EA,IAAU,eAAiBA,IAAU,SAAWA,IAAU,WAAaA,IAAU,YACjFA,IAAU,UAAYA,IAAU,WAAaA,IAAU,WAC9D,CAGD,IAAIS,EAAa,+EAEbC,EAAe,IAAMD,EAAa,UAAYA,EAAa;AAAA,gBAE/D,SAASE,EAAcC,EAAK,CAMxB,OAAOA,EAEH,QAAQ,WAAY,EAAE,EAEtB,QAAQ,QAAS,EAAE,EAEnB,QAAQ,IAAI,OAAOF,EAAc,GAAG,EAAG,IAAI,EAE3C,QAAQ,OAAQ,EAAE,CACzB,CAQD,SAASG,EAA6BC,EAAgBC,EAAgB,CAMlE,QALIC,EAAiBF,EAAe,QAAQ,WAAY,EAAE,EACtDG,EAAkB,EAClBC,EAAU,IAAI,OAAOR,EAAc,GAAG,EACtC5M,EAEIA,EAAQoN,EAAQ,KAAKF,CAAc,GAGvC,GAFAC,GAAmBnN,EAAM,CAAC,EAAE,OAExBA,EAAM,MAAQA,EAAM,CAAC,EAAE,OAASiN,EAAiBE,EACjD,OAAOF,EAAiBE,EAAkBH,EAAe,OAASE,EAAe,OAIzF,OAAOF,EAAe,QAAQ,QAAS,EAAE,EAAE,QAAQ,OAAQ,EAAE,EAAE,MAClE,EAIA,SAAU3V,EAAS,CAChB,IAAIgW,EACAjkB,EACAkkB,EACAjkB,EACA2U,EACAgP,GACAO,GACAC,EACA9H,GAEJ,SAASsC,GAAU,CACf,IAAIzD,EAAKvG,EAAO,WAAW5U,CAAK,EAChC,OAAAA,GAAS,EACLqe,EAAQ,KAAK,iBAAiBlD,CAAE,GAAK,EAAEA,IAAO,IAAoBvG,EAAO,WAAW5U,CAAK,IAAM,MAC/FkkB,GAAc,GAEX,OAAO,aAAa/I,CAAE,CAChC,CAED,SAASkJ,IAAY,CACjB,IAAIvB,EAAQ,GAIZ,IAFAlE,IAEO5e,EAAQC,GAAU2iB,EAAoBhO,EAAO,WAAW5U,CAAK,CAAC,GACjE8iB,GAASlE,EAAO,EAGpB,OAAOkE,CACV,CAED,SAASwB,IAAc,CACnB,IAAInJ,EAAIoJ,EAAS/B,EAAOxiB,EAGxB,IADAukB,EAAU,GACH/B,EAAOviB,GAAQ,CAElB,GADAkb,EAAKvG,EAAO,WAAW4N,CAAI,EACvBnE,EAAQ,KAAK,iBAAiBlD,CAAE,GAAK,EAAEA,IAAO,IAAoBvG,EAAO,WAAW4N,EAAO,CAAC,IAAM,IAClG+B,EAAU,WACHA,EAAS,CAChB,GAAIpJ,IAAO,GACP,MAECkD,EAAQ,KAAK,aAAalD,CAAE,IAC7BoJ,EAAU,GAEjB,CACD/B,GAAQ,CACX,CACD,OAAOA,CACV,CAMD,SAASZ,EAAUkB,EAAON,EAAMjE,EAAU,CAKtC,QAJIpD,EAAIqJ,EAAOtgB,EAAM4b,EAAY2E,EAAS,GAInCzkB,EAAQwiB,GAEX,GADArH,EAAKvG,EAAO,WAAW5U,CAAK,EACxBqe,EAAQ,KAAK,aAAalD,CAAE,EAC5ByD,YACOzD,IAAO,IAAiB,CAC/ByD,IACA,KACpB,KAAuB,CAEH6F,EAAS,GACT,KACH,CAIL,GAAIA,EACA,OAAO,KAMX,IAFAD,EAAQ,EACRtgB,EAAO,GACAlE,EAAQwiB,GAEX,GADArH,EAAKvG,EAAO,WAAW5U,CAAK,EACxBqe,EAAQ,KAAK,iBAAiBlD,CAAE,EAChCyD,QACG,CACH,GAAIzD,IAAO,KAEP,GADAqJ,GAAS,EACLA,IAAU,EAAG,CACb5F,IACA,KACH,OACMzD,IAAO,MACdqJ,GAAS,GAETtgB,IAAS,KACT4b,EAAa9f,GAEjBkE,GAAQ0a,EAAO,CAClB,CAGL,OAAI4F,IAAU,EAEH3G,EAAQ,WAAW,yBAAyB,EAGnDuF,EAAkBN,CAAK,EAChBT,EAAM,eAAene,EAAM,CAAC,WAAYwgB,EAAa5E,CAAU,EAAG,MAAOvB,CAAQ,CAAC,EAGtF8D,EAAM,UAAUne,EAAM,CAAC,WAAYwgB,EAAa5E,CAAU,EAAG,MAAOvB,CAAQ,CAAC,CACvF,CAED,SAASoG,EAAenC,EAAM,CAC1B,IAAIoC,EACJ,GAAI,CAACvG,EAAQ,KAAK,qBAAqBzJ,EAAO,WAAW5U,CAAK,CAAC,GAAK,CAAC4U,EAAO5U,CAAK,EAAE,MAAM,OAAO,EAC5F,OAAO,KAGX,IADA4kB,EAAahG,EAAO,EACb5e,EAAQwiB,GAAQnE,EAAQ,KAAK,oBAAoBzJ,EAAO,WAAW5U,CAAK,CAAC,GAC5E4kB,GAAchG,EAAO,EAEzB,OAAOgG,CACV,CAED,SAASC,EAAerC,EAAM,CAC1B,KAAOxiB,EAAQwiB,IAASnE,EAAQ,KAAK,aAAazJ,EAAO,WAAW5U,CAAK,CAAC,GAAKqe,EAAQ,KAAK,iBAAiBzJ,EAAO,WAAW5U,CAAK,CAAC,IACjI4e,GAEP,CAED,SAASkG,GAAUtC,EAAMuC,EAAeC,EAAmB,CACvD,IAAItE,EAAO,GACPuE,EACAC,EAKJ,GAFAL,EAAerC,CAAI,EAEfxiB,GAASwiB,EACT,OAAO,KAGX,GAAI5N,EAAO,WAAW5U,CAAK,IAAM,GAC7B,GAAI+kB,EACAE,EAAc,GACdvE,EAAO9B,EAAO,MAEd,QAAO,KAMf,GAFA8B,GAAQiE,EAAenC,CAAI,EAEvBwC,EAaA,IAZIpQ,EAAO,WAAW5U,CAAK,IAAM,KACzB0gB,IAAS,UACTA,IAAS,YACTA,IAAS,WACbA,GAAQ9B,EAAO,EACf8B,GAAQiE,EAAenC,CAAI,GAG5B5N,EAAO,WAAW5U,CAAK,IAAM,IAAmB4U,EAAO,WAAW5U,EAAQ,CAAC,IAAM,KAChF0gB,GAAQ9B,EAAO,EACf8B,GAAQ9B,EAAO,GAEZhK,EAAO,WAAW5U,CAAK,IAAM,IAC5B4U,EAAO,WAAW5U,CAAK,IAAM,IAC7B4U,EAAO,WAAW5U,CAAK,IAAM,IAC7B4U,EAAO,WAAW5U,CAAK,IAAM,IAC7B4U,EAAO,WAAW5U,CAAK,IAAM,KACjC0gB,GAAQ9B,EAAO,EACf8B,GAAQiE,EAAenC,CAAI,EAInC,GAAIyC,EAAa,CAGb,GAFAJ,EAAerC,CAAI,EAEf5N,EAAO,WAAW5U,CAAK,IAAM,GAAiB,CAE9C0gB,GAAQ9B,EAAO,EACfiG,EAAerC,CAAI,EAMnB,QAJIrH,EACAgK,EAAe,EAGZnlB,EAAQwiB,GAAM,CA8BjB,GA7BArH,EAAKvG,EAAO,WAAW5U,CAAK,EAExBqe,EAAQ,KAAK,aAAalD,CAAE,IACvB+J,IACDL,EAAerC,CAAI,EACnBrH,EAAKvG,EAAO,WAAW5U,CAAK,IAIhCmb,IAAO,KACF+J,EAGGA,IAAiB,MACjBA,EAAe,IAHnBA,EAAe,KAQnB/J,IAAO,KACF+J,EAGGA,IAAiB,MACjBA,EAAe,IAHnBA,EAAe,KAQnB/J,IAAO,GACPgK,YACOhK,IAAO,IACd,EAAEgK,IAAiB,EACnB,MAGJzE,GAAQ9B,EAAO,CAClB,CACJ,CAID,GAFAiG,EAAerC,CAAI,EAEfxiB,GAASwiB,GAAQ5N,EAAO,WAAW5U,CAAK,IAAM,GAE9C,OAAO,KAIX0gB,GAAQ9B,EAAO,CAClB,CAED,OAAO8B,CACV,CAED,SAAS0E,IAAY,CACjB,KAAOplB,EAAQC,GAAU2U,EAAO,WAAW5U,CAAK,IAAM,IAClD4e,IAEJ,OAAI5e,GAASC,EACF,IAEX4d,EAAQ,OAAOjJ,EAAO,WAAW5U,CAAK,IAAM,IACrC,GACV,CAED,SAAS0kB,EAAaW,EAAY,CAC9B,OAAIzQ,IAAWgP,GACJyB,EAEJ1B,EAA6BC,GAAgByB,CAAU,CACjE,CAED,SAASC,EAAUlD,EAASU,EAAO,CAC/B,KAAK,SAAWV,EAChB,KAAK,OAASU,EAAM,cACpB,KAAK,KAAO,CACR,MAAOA,EACP,YAAa,IAC7B,EACgB,KAAK,SAAS,cACd,KAAK,KAAK,WAAaoB,GAE3B,KAAK,OAASlkB,EAAQ8iB,EAAM,OAAS,EACrC,KAAK,MAAQ,EAEb,KAAK,OAAS,EACjB,CAGDwC,EAAU,UAAU,SAAW,SAAkBC,EAAW,CACxD,IAAIpP,EAAO,MAAM,UAAU,MAAM,KAAK,UAAW,CAAC,EAC9CqP,EAAMD,EAAU,QACZ,SACA,SAAUE,EAAOzlB,EAAO,CACpB6d,OAAAA,EAAQ,OAAO7d,EAAQmW,EAAK,OAAQ,oCAAoC,EACjEA,EAAKnW,CAAK,CACpB,CACrB,EAEY,OAAK,KAAK,KAAK,SACX,KAAK,KAAK,OAAS,IAEnBsc,IACAuB,EAAQ,WAAW2H,CAAG,EAE1B,KAAK,KAAK,OAAO,KAAKA,CAAG,EAClBrB,EACnB,EAEQmB,EAAU,UAAU,UAAY,UAAY,CAExC,GAAIjC,EAAwB,KAAK,MAAM,EACnC,GAAI,CAEA,GADA,KAAK,KAAK,KAAOzB,EAAU,KAAK,OAAQ,KAAK,MAAO,KAAK,SAAS,KAAK,EACnE,CAAC,KAAK,KAAK,MACP,CAACiB,EAAa,KAAK,MAAM,GAAK,CAACE,EAAc,KAAK,MAAM,GACpD,CAAC,KAAK,SAAS,6BAA6B,EAC5C,MAAO,EAItB,OAAQ2C,EAAO,CAEZ,GADA,KAAK,KAAK,KAAO,KACb,CAAC,KAAK,SAASA,EAAM,OAAO,EAC5B,MAAO,EAEd,SACMpC,EAAc,KAAK,MAAM,EAEhC,GAAI,CACA,KAAK,KAAK,KAAO1B,EAAU,KAAK,OAAQ,KAAK,MAAO,KAAK,SAAS,KAAK,CAC1E,MAAW,CAEX,CAEL,MAAO,EACnB,EAEQ0D,EAAU,UAAU,eAAiB,SAAUK,EAAU,CACrD,IAAIjF,EAEJ,OADAA,EAAOoE,GAAU,KAAK,MAAOV,GAAUhB,EAAkB,KAAK,MAAM,EAAG,EAAI,EACvE,CAAC1C,GACG,CAACiF,GACG,CAAC,KAAK,SAAS,6BAA6B,EACrC,IAInB,KAAK,KAAK,KAAOjF,EACV,GACnB,EAEQ4E,EAAU,UAAU,cAAgB,UAAY,CAC5C,OAAO,KAAK,eAAe,EAAK,CAC5C,EAEQA,EAAU,UAAU,sBAAwB,UAAY,CACpD,OAAO,KAAK,eAAe,EAAI,CAC3C,EAGQA,EAAU,UAAU,UAAY,UAAY,CACxC,IAAIM,EAAQlF,EAGZ,GAAIwC,EAAc,KAAK,MAAM,EAEzB,GADA,KAAK,KAAK,KAAO4B,GAAU,KAAK,MAAOV,GAAUhB,EAAkB,KAAK,MAAM,EAAGD,EAAgB,KAAK,MAAM,CAAC,EACxG,KAAK,KAAK,KAkBXzC,EAAO,KAAK,KAAK,KACbA,EAAK,OAAO,CAAC,IAAM,KAAOA,EAAK,OAAOA,EAAK,OAAS,CAAC,IAAM,MAG3DkF,EAASlF,EAAK,UAAU,EAAGA,EAAK,OAAS,CAAC,EAAE,MAAM,GAAG,EACjDkF,EAAO,OAAS,IAChB,KAAK,KAAK,QAAaA,EAAO,MAAM,CAAC,EAAE,KAAK,GAAG,GAEnD,KAAK,KAAK,KAAOA,EAAO,CAAC,EAGrB,KAAK,KAAK,MAAQ,KAAK,KAAK,KAAK,OAAS,iBAC1C,KAAK,KAAK,KAAO,CACb,KAAM,eACN,WAAY,KAAK,KAAK,IACtD,QAjCqC,CACjB,GAAI,CAAC3C,EAAwB,KAAK,MAAM,EACpC,MAAO,GAMX,GAAIJ,EAAa,KAAK,MAAM,GAAK,KAAK,KAAK,MAAQ,KAAK,KAAK,KAAK,KAC9D,KAAK,OAAO,KAAO,KAAK,KAAK,KAC7B,KAAK,KAAK,KAAO,KAAK,KAAK,KAAK,KAChC,KAAK,KAAK,KAAO,aAEb,CAAC,KAAK,SAAS,6BAA6B,EAC5C,MAAO,EAGnC,CAuBY,MAAO,EACnB,EAEQyC,EAAU,UAAU,iBAAmB,UAA4B,CAC/D,IAAIO,EAActD,EAAY3N,EAAQ5U,EAAO,KAAK,KAAK,EAAE,OACzD,OAAI6lB,IACK,QAAS,KAAKA,CAAW,IAC1BA,EAAcA,EAAY,UAAU,CAAC,GAEzC,KAAK,KAAK,YAAcA,GAErB,EACnB,EAEQP,EAAU,UAAU,aAAe,UAA4B,CAC3D,IAAIO,EAActD,EAAY3N,EAAQ5U,EAAO,KAAK,KAAK,EAAE,OACrD8lB,EAAkB,YAClBC,EAAgB,aAChBC,EAAeH,EAAY,QAAQC,CAAe,EAClDG,EAAaJ,EAAY,QAAQE,CAAa,EAClD,OAAIC,GAAgB,GAAKC,GAAc,GACnC,KAAK,KAAK,QAAUJ,EAAY,UAC5BG,EAAeF,EAAgB,OAAQG,CAAU,EAAE,KAAI,EAC3D,KAAK,KAAK,YAAcJ,EAAY,UAAUI,EAAaF,EAAc,MAAM,EAAE,QAEjF,KAAK,KAAK,YAAcF,EAErB,EACnB,EAEQP,EAAU,UAAU,UAAY,UAAqB,CACjD,IAAIY,EAAMC,EAgBV,OAfAA,EAAQ,CACJ,MAAS,GACT,SAAY,GACZ,MAAS,GACT,SAAY,GACZ,KAAQ,GACR,SAAY,GACZ,OAAU,GACV,MAAS,GACT,OAAU,GACV,UAAa,GACb,QAAW,EAC3B,EACYD,EAAO3D,EAAY3N,EAAQ5U,EAAO,KAAK,KAAK,EAAE,OAC9C,KAAK,KAAK,KAAOkmB,EACb,GAAC/iB,EAAegjB,EAAOD,CAAI,GACvB,CAAC,KAAK,SAAS,yBAA4BA,CAAI,EAKnE,EAEQZ,EAAU,UAAU,YAAc,UAAuB,CACrD,IAAIc,EAGJ,OAFAA,EAAS7D,EAAY3N,EAAQ5U,EAAO,KAAK,KAAK,EAAE,OAChD,KAAK,KAAK,OAASomB,EACf,EAAAA,IAAW,WAAaA,IAAW,aAAeA,IAAW,UACzD,CAAC,KAAK,SAAS,2BAA8BA,CAAM,EAKvE,EAEQd,EAAU,UAAU,UAAY,UAAqB,CAGjD,IAAI/kB,EAAQgiB,EAAY3N,EAAQ5U,EAAO,KAAK,KAAK,EAAE,OACnD,GAAIO,GAASA,EAAM,OAAO,CAAC,IAAM,IAAK,CAClC,IAAI8lB,EAAU,KAAK,YACnB,OAAIA,GAAW,KAAK,KAAK,KAAK,OAAS,kBAAoB,KAAK,KAAK,KAAK,OAAS,aAC/E,KAAK,KAAK,KAAO,KAAK,KAAK,KAAK,KACzB,IAEA,KAAK,SAAS,uBAAuB,CAEhE,KACgB,QAAO,KAAK,eAE5B,EAEQf,EAAU,UAAU,eAAiB,UAA0B,CAC3D,IAAIgB,EAAW5G,EAIf,OAHAA,EAAO6C,EAAY3N,EAAQ5U,EAAO,KAAK,KAAK,EAAE,OAC9CsmB,EAAY,WAAW5G,EAAM,EAAE,EAC/B,KAAK,KAAK,UAAY4G,EAClB,QAAMA,CAAS,GACX,CAAC,KAAK,SAAS,yBAA4B5G,CAAI,EAKnE,EAEQ4F,EAAU,UAAU,UAAY,UAAY,CACxC,IAAIiB,EAAgBhE,EAAY3N,EAAQ5U,EAAO,KAAK,KAAK,EAAE,OAC3D,MAAI,EAAAumB,GACI,CAAC,KAAK,SAAS,uBAA0BA,CAAa,EAK1E,EAEQjB,EAAU,UAAU,SAAW,UAAoB,CAC/C,IAAIO,EAIJ,OAFAA,EAAc,KAAK,KAAK,YAEpB,EAAAzC,EAAkB,KAAK,MAAM,GAAK,CAAC,KAAK,KAAK,MAAQyC,GAAeA,EAAY,OAAO,CAAC,IAAM,MAC9F,KAAK,KAAK,KAAO,KAAK,OAAO,KACxB,KAAK,KAAK,OACX,KAAK,KAAK,KAAO,QAGjB,CAACzB,GACG,CAAC,KAAK,SAAS,6BAA6B,GAOpE,EAEQH,EAAQ,CAEJ,OAAU,CAAC,aAAa,EAExB,MAAS,CAAC,gBAAiB,WAAW,EAEtC,SAAY,CAAC,YAAa,wBAAyB,WAAW,EAE9D,YAAe,CAAC,YAAa,wBAAyB,WAAW,EAEjE,MAAS,CAAC,YAAa,wBAAyB,WAAW,EAE3D,QAAW,CAAC,YAAa,wBAAyB,WAAW,EAE7D,QAAW,CAAC,cAAc,EAE1B,WAAc,CAAC,kBAAkB,EAEjC,OAAU,CAAC,WAAW,EAEtB,MAAS,CAAC,WAAW,EAErB,SAAY,CAAC,WAAW,EAExB,KAAQ,CAAC,WAAW,EAEpB,MAAS,CAAC,gBAAiB,WAAW,EAEtC,MAAS,CAAC,wBAAyB,WAAW,EAE9C,OAAU,CAAC,YAAa,wBAAyB,WAAW,EAE5D,OAAU,CAAC,wBAAyB,WAAW,EAE/C,OAAU,CAAC,YAAa,wBAAyB,WAAW,EAE5D,KAAQ,CAAC,wBAAyB,WAAW,EAE7C,SAAY,CAAC,wBAAyB,WAAW,EAEjD,IAAO,CAAC,YAAa,wBAAyB,WAAW,EAEzD,KAAQ,CAAC,gBAAiB,WAAW,EAErC,UAAa,CAAC,YAAa,wBAAyB,WAAW,EAE/D,QAAW,CAAC,YAAa,kBAAkB,EAE3C,UAAa,CAAC,YAAa,kBAAkB,EAE7C,OAAU,CAAC,YAAa,kBAAkB,EAE1C,SAAY,CAAC,WAAW,EAExB,SAAY,CAAC,gBAAiB,WAAW,EAEzC,MAAS,CAAC,kBAAkB,EAE5B,OAAU,CAAC,WAAW,EAEtB,QAAW,CAAC,kBAAkB,EAE9B,KAAQ,CAAC,YAAa,WAAW,EAEjC,KAAQ,CAAC,kBAAkB,EAE3B,QAAW,CAAC,YAAa,uBAAuB,EAEhD,UAAa,CAAC,gBAAgB,EAE9B,QAAW,CAAC,kBAAkB,CAC1C,EAEQqB,EAAU,UAAU,MAAQ,UAAiB,CACzC,IAAI1I,EAAGC,EAAI2J,EAAWC,EAItB,GAAI,CAAC,KAAK,QACF,CAAC,KAAK,SAAS,0BAA0B,EACzC,OAAO,KAkBf,IAbA,KAAK,MAAQnC,GAAY,KAAK,MAAM,EAEhC,KAAK,SAAS,QACd,KAAK,KAAK,MAAQ,CAAC,KAAK,OAAQ1P,EAAO,MAAM,EAAG,KAAK,KAAK,EAAE,QAAQ,OAAQ,EAAE,EAAE,MAAM,EAAE,IAAI8P,CAAY,GAGxGvhB,EAAe8gB,EAAO,KAAK,MAAM,EACjCuC,EAAYvC,EAAM,KAAK,MAAM,EAG7BuC,EAAY,CAAC,YAAa,YAAa,mBAAoB,UAAU,EAGpE5J,EAAI,EAAGC,EAAK2J,EAAU,OAAQ5J,EAAIC,EAAI,EAAED,EAEzC,GADA6J,EAASD,EAAU5J,CAAC,EAChB,CAAC,KAAK6J,CAAM,IACZ,OAAO,KAIf,OAAO,KAAK,IACxB,EAEQ,SAASC,EAAStE,EAAS,CACvB,IAAIU,EAAO6D,EAAQnjB,EAGnB,GAAI,CAAC4hB,GAAS,EACV,OAAO,KAWX,IAPAtC,EAAQuB,GAAS,EAGjBsC,EAAS,IAAIrB,EAAUlD,EAASU,CAAK,EACrCtf,EAAMmjB,EAAO,QAGN3mB,EAAQ2mB,EAAO,OAClB/H,IAGJ,OAAOpb,CACV,CAMD,SAASojB,EAAqBC,EAAoB,CAC9C,IAAIhB,EAAc,GAAI1K,EAAI2L,EAG1B,IADAA,EAAY,GACL9mB,EAAQC,IACXkb,EAAKvG,EAAO,WAAW5U,CAAK,EAExB,EAAA8mB,GAAa3L,IAAO,MAIpBkD,EAAQ,KAAK,iBAAiBlD,CAAE,EAChC2L,EAAY,GACLA,GAAa,CAACzI,EAAQ,KAAK,aAAalD,CAAE,IACjD2L,EAAY,IAGhBjB,GAAejH,EAAO,EAG1B,OAAOiI,EAAqBhB,EAAcA,EAAY,KAAI,CAC7D,CAED,SAASkB,EAAMC,EAAS5E,EAAS,CAC7B,IAAI6E,EAAO,CAAA,EAAIzjB,EAAKqiB,EAAaqB,EAAiBtK,EAAGC,EAerD,GAbIuF,IAAY,SACZA,EAAU,CAAA,GAGV,OAAOA,EAAQ,QAAW,WAAaA,EAAQ,OAC/CxN,EAAS6O,EAAcuD,CAAO,EAE9BpS,EAASoS,EAGbpD,GAAiBoD,EAGb5E,EAAQ,KACR,GAAI,MAAM,QAAQA,EAAQ,IAAI,EAE1B,IADA8E,EAAkB,CAAA,EACbtK,EAAI,EAAGC,EAAKuF,EAAQ,KAAK,OAAQxF,EAAIC,EAAID,IACtC,OAAOwF,EAAQ,KAAKxF,CAAC,GAAM,SAC3BsK,EAAgB9E,EAAQ,KAAKxF,CAAC,CAAC,EAAI,GAEnCiB,EAAQ,WAAW,6BAA+BuE,EAAQ,IAAI,OAItEvE,EAAQ,WAAW,6BAA+BuE,EAAQ,IAAI,EAatE,IATAniB,EAAS2U,EAAO,OAChB5U,EAAQ,EACRkkB,EAAa,EACbC,GAAc/B,EAAQ,YACtBgC,EAAShC,EAAQ,OACjB9F,GAAS8F,EAAQ,OAEjByD,EAAce,EAAqBxE,EAAQ,kBAAkB,EAGzD5e,EAAMkjB,EAAStE,CAAO,EAClB,EAAC5e,IAGD,CAAC0jB,GAAmBA,EAAgB,eAAe1jB,EAAI,KAAK,IAC5DyjB,EAAK,KAAKzjB,CAAG,EAIrB,MAAO,CACH,YAAaqiB,EACb,KAAMoB,CACtB,CACS,CACDhZ,EAAQ,MAAQ8Y,CACxB,GAAMzE,EAAQ,CAAA,CAAE,EAEZrU,EAAkB,QAAA4P,EAAQ,QAC1B5P,EAAgB,MAAAqU,EAAM,MACtBrU,EAAoB,UAAAoU,EAAM,UAC1BpU,EAAyB,eAAAoU,EAAM,eAC/BpU,EAAA,cAAwBwV,EACxBxV,SAAiByU,EAAYL,EAAM,MAAM,EACzCpU,EAAgB,MAAA4P,EAAQ,cACxB5P,EAAe,KAAA,CACX,OAAQA,EAAQ,OAChB,UAAWoU,EAAM,UACjB,eAAgBA,EAAM,eACtB,UAAWA,EAAM,SACzB,CACA,2BC93BA,CAAA,kBAAA8E,EAAA,EAAA,iCAEA,IAAIC,GAAWljB,GAAM,CAAC,OAAOA,EAAK,KAAI,CAAE,IAAI,WAAW,MAAO,CAAC,KAAK,UAAU,EAAE,IAAI,SAAS,IAAI6E,EAAO,GAAG,OAAO7E,EAAK,UAAU,WAAW,QAAQmjB,GAAM,CAACte,EAAOse,EAAK,GAAG,EAAEvb,GAAQub,EAAK,KAAK,CAAE,CAAC,EAAE,CAAC,KAAK,SAAS,MAAMte,CAAM,EAAE,QAAQ,MAAM,IAAI,MAAM,YAAY7E,CAAI,EAAE,CAAC,CAAC,EAAE4H,GAAQ5H,GAAM,CAAC,GAAG,CAAC,KAAAwc,EAAK,IAAA4G,CAAG,EAAEpjB,EAAKqjB,EAAK,CAAA,EAAG,OAAO,OAAOD,EAAI,MAAMC,EAAK,IAAID,GAAKpjB,EAAK,KAAI,CAAE,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,UAAU,MAAO,CAAC,GAAGqjB,EAAK,KAAA7G,CAAI,EAAE,IAAI,QAAQ,MAAO,CAAC,GAAG6G,EAAK,KAAK,QAAQ,MAAMrjB,EAAK,SAAS,IAAI4H,EAAO,CAAC,EAAE,IAAI,YAAY,MAAO,CAAC,GAAGyb,EAAK,GAAGH,GAAWljB,CAAI,CAAC,EAAE,IAAI,QAAQ,IAAI,eAAe,MAAO,CAAC,GAAGqjB,EAAK,KAAA7G,EAAK,MAAMxc,EAAK,SAAS,IAAI4H,EAAO,CAAC,EAAE,QAAQ,MAAO,CAAC,GAAGyb,EAAK,KAAK,QAAQ,MAAM7G,CAAI,CAAC,CAAC,EAAM8G,GAAUtjB,GAAMA,EAAK,OAAO,UAAUujB,GAAaC,GAASA,EAAQ,MAAM,QAAQ,SAAS,EAAE,EAAEC,GAAYzjB,GAAM,CAAC,OAAOA,EAAK,KAAI,CAAE,IAAI,WAAW,MAAO,CAAC,KAAK,UAAU,EAAE,IAAI,SAAS,IAAI6E,EAAO,CAAE,EAAC,OAAO7E,EAAK,UAAU,WAAW,QAAQmjB,GAAM,CAACte,EAAOse,EAAK,GAAG,EAAEO,GAASP,EAAK,KAAK,CAAE,CAAC,EAAE,CAAC,KAAK,SAAS,MAAMte,CAAM,EAAE,QAAQ,MAAM,IAAI,MAAM,YAAY7E,CAAI,EAAE,CAAC,CAAC,EAAE0jB,GAAS1jB,GAAM,CAAC,GAAG,CAAC,KAAAwc,EAAK,IAAA4G,CAAG,EAAEpjB,EAAKqjB,EAAK,CAAA,EAAG,OAAO,OAAOD,EAAI,MAAMC,EAAK,IAAID,GAAKpjB,EAAK,MAAM,IAAI,UAAU,MAAO,CAAC,GAAGqjB,EAAK,KAAK,QAAQ,MAAMrjB,EAAK,KAAK,EAAE,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,UAAU,MAAO,CAAC,GAAGqjB,EAAK,KAAA7G,CAAI,EAAE,IAAI,QAAQ,MAAO,CAAC,GAAG6G,EAAK,KAAK,QAAQ,MAAMrjB,EAAK,SAAS,IAAI0jB,EAAQ,CAAC,EAAE,IAAI,YAAY,MAAO,CAAC,GAAGL,EAAK,GAAGI,GAAYzjB,CAAI,CAAC,EAAE,IAAI,QAAQ,OAAOA,EAAK,SAAS,MAAMsjB,EAAS,EAAE,CAAC,GAAGD,EAAK,KAAK,OAAO,MAAMrjB,EAAK,SAAS,IAAIujB,EAAY,CAAC,EAAE,CAAC,GAAGF,EAAK,KAAA7G,EAAK,MAAMxc,EAAK,SAAS,IAAI0jB,EAAQ,CAAC,EAAE,IAAI,eAAe,MAAO,CAAC,GAAGL,EAAK,KAAA7G,EAAK,MAAMxc,EAAK,SAAS,IAAI0jB,EAAQ,CAAC,EAAE,QAAQ,MAAO,CAAC,GAAGL,EAAK,KAAK,QAAQ,MAAM7G,CAAI,CAAC,CAAC,EAAMmH,GAAY,eAAeC,GAAWC,GAAMA,EAAK,QAAQF,GAAY,EAAE,EAAEG,GAAeD,GAAMF,GAAY,KAAKE,CAAI,EAAME,GAAiB,cAAcC,GAAShkB,GAAM,CAAC,GAAG,CAAC,KAAAwc,EAAK,IAAA4G,EAAI,SAAAa,EAAS,MAAA5nB,CAAK,EAAE2D,EAAKqjB,EAAK,GAAG,OAAO,OAAOD,EAAI,MAAMC,EAAK,IAAID,GAAK5G,GAAM,IAAI,OAAO,CAAC,IAAI0H,EAAQD,EAAS5nB,EAAMA,EAAM,IAAI4f,GAAG,CAAC,IAAIkI,EAAaP,GAAW3H,EAAE,KAAK,EAAE,OAAO6H,GAAe7H,EAAE,KAAK,GAAG,OAAO,MAAM,OAAOkI,CAAY,CAAC,EAAEA,EAAa,OAAOA,CAAY,CAAC,CAAC,EAAE,MAAO,CAAC,GAAGd,EAAK,KAAA7G,EAAK,MAAM0H,CAAO,CAAC,CAAC,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,MAAO,CAAC,GAAGb,EAAK,KAAA7G,CAAI,EAAE,IAAI,OAAO,MAAO,CAAC,GAAG6G,EAAK,KAAK,UAAU,EAAE,IAAI,OAAO,IAAI,UAAU,MAAO,CAAC,GAAGA,EAAK,KAAK,SAAS,EAAE,IAAI,UAAU,IAAI,QAAQ,MAAO,CAAC,GAAGA,EAAK,KAAK,QAAQ,MAAMhnB,GAAO2nB,GAAS3nB,CAAK,CAAC,EAAE,IAAI,SAAS,MAAO,CAAC,GAAGgnB,EAAK,KAAA7G,CAAI,EAAE,IAAI,WAAW,MAAO,CAAC,GAAG6G,EAAK,KAAA7G,EAAK,MAAMwH,GAAS3nB,CAAK,CAAC,EAAE,IAAI,QAAQ,IAAI,QAAQ,IAAIwI,EAAOoR,GAAU5Z,EAAM+nB,GAAOJ,GAASI,CAAK,CAAC,EAAE,MAAO,CAAC,GAAGf,EAAK,KAAK,SAAS,MAAMxe,CAAM,EAAE,IAAI,QAAQ,MAAO,CAAC,GAAGwe,EAAK,KAAK,QAAQ,MAAMhnB,EAAM,IAAI4f,GAAG+H,GAAS/H,CAAC,CAAC,CAAC,EAAE,IAAI,aAAa,IAAI,UAAU,IAAI,cAAc,QAAQ,CAAC,IAAGO,GAAA,YAAAA,EAAM,QAAQ,MAAK,EAAE,GAAG,CAAC,IAAI6H,EAAc7H,EAAK,MAAM,GAAG,EAAE,IAAIP,GAAG,KAAK,MAAMA,CAAC,CAAC,EAAE,MAAO,CAAC,GAAGoH,EAAK,KAAK,OAAO,MAAMgB,CAAa,CAAC,MAAM,CAAE,CAAA,IAAIC,EAASjoB,EAAM,GAAGmgB,CAAI,IAAIngB,CAAK,IAAImgB,EAAK+H,EAAUR,GAAiB,KAAKvH,CAAI,EAAE,WAAW,QAAQ,MAAO,CAAC,GAAG6G,EAAK,KAAKkB,EAAU,MAAMD,CAAQ,CAAC,CAAC,CAAC,EAAME,GAASC,GAAY,CAAC,GAAG,CAAC,KAAAzkB,EAAK,OAAA0kB,EAAO,SAAAC,CAAQ,EAAEF,EAAW,OAAOzkB,GAAM,KAAKgkB,GAAShkB,CAAI,EAAE0kB,GAAQ,KAAK9c,GAAQ8c,CAAM,EAAEC,GAAU,KAAKjB,GAASiB,CAAQ,EAAE,IAAI,EAAMC,IAAYC,IAAcA,EAAY,WAAW,aAAaA,EAAY,KAAK,OAAOA,EAAY,WAAW,aAAaA,EAAY,QAAQ,UAAUA,IAAcD,IAAY,EAAE,EAAME,GAAU,CAAC,OAAO,WAAW,EAAE,SAASC,GAA0B1oB,EAAM,CAAC,OAAOyoB,GAAU,KAAKE,GAAGA,IAAI3oB,CAAK,CAAC,CAAI,IAAC0e,GAAIwD,GAAK,CAAC,GAAG,CAACA,EAAI,MAAO,GAAG,GAAG,OAAOA,GAAK,SAAS,OAAOA,EAAI,MAAM,IAAI,MAAM,sCAAsC,KAAK,UAAUA,CAAG,CAAC,EAAE,CAAC,EAAE,SAAS0G,GAAUC,EAAU,CAAC,MAAO,CAAC,CAACA,EAAU,YAAY,CAAC,SAASC,GAAqBC,EAAc,CAAC,OAAOA,GAAe,MAAM,OAAO,KAAKA,CAAa,EAAE,OAAO,CAAC,CAAC,SAASC,GAAiBH,EAAUI,EAAQ,CAAC,OAAOL,GAAUC,CAAS,EAAEA,EAAU,aAAaI,CAAO,EAAE,IAAI,CAAC,SAASC,GAAqBL,EAAU,CAAC,OAAOD,GAAUC,CAAS,GAAGnK,GAAImK,EAAU,aAAa,WAAW,CAAC,CAAC,SAASM,GAAcnpB,EAAM,CAAC,OAAOA,GAAO,MAAMA,EAAM,SAAS,GAAG,CAAC,CAAC,SAASwmB,GAAM4C,EAAQ1C,EAAK,CAAC,IAAI2C,EAAI,GAAG,CAACA,EAAIC,GAAS,MAAMF,EAAQ,CAAC,KAAA1C,EAAK,OAAO,EAAE,CAAC,CAAE,OAAO6C,EAAE,CAAC,MAAM,QAAQ,MAAMA,CAAC,EAAE,IAAI,MAAM,0BAA0B,CAAC,CAAC,OAAOF,CAAG,CAAC,IAAIG,GAAgB,CAAC,KAAK,CAAC,QAAQ,MAAM,WAAW,UAAU,SAAS,YAAY,CAAC,EAAEC,GAAW,CAACzpB,EAAM6hB,EAAQ2H,KAAkB,CAAC,GAAG,CAACL,GAAcnpB,CAAK,EAAE,MAAO,CAAC,cAAc,GAAG,OAAO,EAAE,EAAE,IAAI0pB,EAASlD,GAAMxmB,EAAM6hB,EAAQ,IAAI,EAAE8H,EAAcC,GAAiBF,CAAQ,EAAE,OAAOC,EAAc,OAAO,CAAC,cAAc,GAAG,OAAO,EAAE,EAAE,CAAC,cAAc,GAAG,OAAO,GAAG,YAAYD,EAAS,YAAY,cAAAC,CAAa,CAAC,EAAE,SAASC,GAAiBP,EAAI,CAAC,IAAIM,EAAc,CAAC,OAAO,KAAK,WAAW,KAAK,QAAQ,KAAK,OAAO,EAAE,EAAE,QAAQtN,EAAE,EAAEA,EAAEgN,EAAI,KAAK,OAAOhN,GAAG,EAAE,CAAC,IAAIpZ,EAAIomB,EAAI,KAAKhN,CAAC,EAAE,GAAGpZ,EAAI,QAAQ,SAAS,CAAC0mB,EAAc,OAAO,GAAG,KAAK,KAAM,QAAO1mB,EAAI,MAAO,CAAA,IAAI,QAAQ,IAAI,MAAM,IAAI,WAAW,CAAC,IAAI4mB,EAASC,GAAa7mB,CAAG,EAAE4mB,GAAU,OAAOF,EAAc,QAAQ,OAAOA,EAAc,OAAO,CAAE,GAAEA,EAAc,OAAO,KAAKE,CAAQ,GAAG,KAAK,CAAC,IAAI,aAAa,CAAC,IAAIE,EAAcC,GAAkB/mB,CAAG,EAAE8mB,GAAe,OAAOJ,EAAc,WAAWI,GAAe,KAAK,CAAC,IAAI,UAAU,CAAC,IAAIE,EAAWC,GAAejnB,CAAG,EAAEgnB,GAAY,OAAON,EAAc,QAAQM,GAAY,KAAK,CAAC,CAAC,CAAC,OAAON,CAAa,CAAC,SAASG,GAAa7mB,EAAI,CAAC,IAAIknB,EAAUlnB,EAAI,KAAK,OAAOknB,GAAW,MAAMA,IAAY,YAAY,CAAC,KAAKlnB,EAAI,KAAK,KAAKA,EAAI,KAAK,YAAYA,EAAI,YAAY,cAAc,IAAIknB,EAAU,SAAS,MAAM,EAAEA,EAAU,QAAQ,QAAQ,EAAE,EAAE,QAAQ,QAAQ,EAAE,EAAElnB,EAAI,KAAK,YAAY,IAAIA,EAAI,MAAM,KAAKmnB,EAAgBnnB,EAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS+mB,GAAkB/mB,EAAI,CAAC,OAAOA,EAAI,OAAO,KAAKA,EAAI,YAAY,IAAI,CAAC,SAASinB,GAAejnB,EAAI,CAAC,OAAOA,EAAI,MAAM,KAAK,CAAC,KAAKA,EAAI,KAAK,YAAYA,EAAI,YAAY,YAAY,IAAImnB,EAAgBnnB,EAAI,IAAI,CAAC,EAAE,IAAI,CAAC,SAASmnB,EAAgBzmB,EAAK,CAAC,OAAOA,EAAK,OAAO,iBAAiBA,EAAK,KAAKA,EAAK,OAAO,aAAa,KAAKA,EAAK,OAAO,IAAIokB,GAAO,CAAC,GAAGA,EAAM,OAAO,KAAK,CAAC,IAAIsC,EAAcD,EAAgBrC,EAAM,KAAK,EAAE,MAAO,GAAGA,EAAM,GAAG,KAAKsC,CAAa,EAAE,CAAC,OAAOtC,EAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,KAAKpkB,EAAK,OAAO,YAAY,IAAIA,EAAK,SAAS,IAAIymB,CAAe,EAAE,KAAK,GAAG,CAAC,IAAIzmB,EAAK,OAAO,YAAY,KAAKA,EAAK,OAAO,mBAAmBA,EAAK,YAAY,MAAMA,EAAK,WAAW,OAAO,QAAQ,GAAGymB,EAAgBzmB,EAAK,aAAa,CAAC,CAAC,CAAC,KAAKA,EAAK,OAAO,gBAAgBA,EAAK,OAAO,mBAAmBA,EAAK,OAAO,eAAeymB,EAAgBzmB,EAAK,UAAU,EAAEA,EAAK,OAAO,aAAa,MAAM,IAAI,CAAoE,SAAS2mB,GAAwBtqB,EAAM,CAAC,OAAOA,EAAM,OAAO,EAAE,CAAC,SAASuqB,GAAgCvqB,EAAM,CAAC,OAAOA,EAAM,OAAO,EAAE,CAAC,SAASwqB,EAAmBC,EAAQC,EAAO,CAAC,OAAOD,IAAUC,EAAO,CAAC,QAAAD,CAAO,EAAE,CAAC,QAAAA,EAAQ,OAAAC,CAAM,CAAC,CAA+D,SAASC,GAAqB,CAAC,KAAAxK,EAAK,MAAAngB,EAAM,SAAAsf,EAAS,IAAAyH,CAAG,EAAE,CAAC,OAAO/mB,IAAQsf,GAAU,KAAKA,EAAS,IAAIqL,EAAoB,EAAE,KAAK,KAAK,EAAE5D,GAAK5G,EAAK,CAAC,SAASyK,GAAc,CAAC,KAAAzK,EAAK,IAAA4G,EAAI,SAAAzH,CAAQ,EAAE,CAAC,OAAOA,GAAU,KAAKkL,EAAmBlL,EAAS,IAAIqL,EAAoB,EAAE,KAAK,KAAK,CAAC,EAAE5D,GAAK,KAAKyD,EAAmBzD,EAAI,QAAQ,SAAS,EAAE,CAAC,EAAEyD,EAAmBrK,CAAI,CAAC,CAAC,SAAS0K,GAAsB,CAAC,KAAAlnB,EAAK,IAAAojB,CAAG,EAAE,CAAC,OAAOA,GAAK,KAAKyD,EAAmBzD,CAAG,EAAEyD,EAAmB7mB,CAAI,CAAC,CAAC,SAASmnB,GAAwB,CAAC,KAAAnnB,EAAK,IAAAojB,CAAG,EAAE,CAAC,OAAOA,GAAK,KAAKuD,GAAwBvD,CAAG,EAAEyD,EAAmB7mB,EAAKojB,CAAG,EAAEyD,EAAmBzD,CAAG,EAAEyD,EAAmB7mB,CAAI,CAAC,CAAC,SAASonB,GAAkBzC,EAAS,CAAC,GAAG,CAAC,KAAA3kB,CAAI,EAAE2kB,EAAS,OAAO3kB,IAAO,SAASmnB,GAAwBxC,CAAQ,EAAEuC,GAAsBvC,CAAQ,CAAC,CAAC,SAAS0C,GAAgB,CAAC,KAAA7K,EAAK,IAAA4G,CAAG,EAAE,CAAC,OAAOA,GAAK,KAAKuD,GAAwBvD,CAAG,EAAEyD,EAAmBrK,EAAK4G,CAAG,EAAEyD,EAAmBzD,CAAG,EAAEyD,EAAmBrK,CAAI,CAAC,CAAC,SAAS8K,GAAWtnB,EAAK,CAAC,GAAGA,GAAM,KAAK,OAAO,KAAK,OAAOA,EAAK,KAAI,CAAE,IAAI,QAAQ,OAAOinB,GAAcjnB,CAAI,EAAE,IAAI,YAAY,OAAOonB,GAAkBpnB,CAAI,EAAE,QAAQ,OAAOqnB,GAAgBrnB,CAAI,CAAC,CAAC,CAAC,SAASunB,GAAmB1T,EAAa7T,EAAK,CAAC,GAAG6T,GAAc,KAAK,CAAC,GAAG,CAAC,MAAAxX,CAAK,EAAEwX,EAAa,GAAG,CAACkR,GAA0B1oB,CAAK,EAAE,OAAOuqB,GAAgCvqB,CAAK,EAAEwqB,EAAmB7mB,EAAK,KAAK3D,CAAK,EAAEwqB,EAAmBxqB,CAAK,CAAC,CAAC,OAAO,IAAI,CAAC,IAAImrB,GAAkB,CAACC,EAAShD,IAAa,CAAC,GAAG,CAAC,SAAAE,EAAS,YAAAhD,EAAY,SAAA+F,EAAS,aAAA7T,CAAY,EAAE4Q,EAAW,MAAO,CAAC,KAAKgD,EAAS,KAAKH,GAAW3C,CAAQ,EAAE,SAAA+C,EAAS,YAAA/F,EAAY,aAAa4F,GAAmB1T,EAAa8Q,CAAQ,CAAC,CAAC,EAAE,SAASgD,GAAY,CAAC,OAAAjD,EAAO,SAAAgD,CAAQ,EAAE,CAAC,OAAOhD,GAAQ,KAAK,KAAcmC,EAATa,EAA4BhD,EAAO,KAAyBA,EAAO,KAAK,QAAQ,eAAe,EAAE,CAA1D,CAA4D,CAAC,SAASkD,GAAoB,CAAC,aAAA/T,CAAY,EAAE,CAAC,GAAGA,GAAc,KAAK,CAAC,GAAG,CAAC,MAAAxX,CAAK,EAAEwX,EAAa,GAAG,CAACkR,GAA0B1oB,CAAK,EAAE,OAAOwqB,EAAmBxqB,CAAK,CAAC,CAAC,OAAO,IAAI,CAAC,IAAIwrB,GAAgB,CAACJ,EAAShD,IAAa,CAAC,GAAG,CAAC,YAAA9C,EAAY,SAAA+F,CAAQ,EAAEjD,EAAW,MAAO,CAAC,KAAKgD,EAAS,KAAKE,GAAYlD,CAAU,EAAE,SAAAiD,EAAS,YAAA/F,EAAY,aAAaiG,GAAoBnD,CAAU,CAAC,CAAC,EAAE,SAASqD,GAAY9nB,EAAK,CAAC,OAAOA,GAAM,KAAK6mB,EAAmB7mB,EAAK,IAAI,EAAE,IAAI,CAAC,SAAS+nB,GAAwBlU,EAAa,CAAC,GAAG,CAAC,SAAAoQ,EAAS,KAAApjB,CAAI,EAAEgT,EAAa,OAAO,OAAOoQ,EAAS,KAAK,OAAOpjB,EAAK,GAAG,CAAC,SAASmnB,GAAehoB,EAAK,CAAC,OAAOA,EAAKA,EAAK,OAAO,SAAS,GAAGA,EAAK,OAAO,OAAO,MAAM,QAAQA,EAAK,KAAK,GAAGA,EAAK,MAAM,MAAM,CAAC,CAAC,MAAMioB,CAAE,IAAI,OAAOA,GAAI,UAAUA,EAAG,CAAC,IAAI,KAAKA,EAAGA,EAAG,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,SAASC,GAAoBrU,EAAa7T,EAAK,CAAC,GAAG6T,GAAc,KAAK,CAAC,GAAG,CAAC,MAAAxX,CAAK,EAAEwX,EAAa,GAAG,CAACkR,GAA0B1oB,CAAK,EAAE,OAAO0rB,GAAwBlU,CAAY,GAAGmU,GAAehoB,CAAI,EAAE6mB,EAAmB,KAAK,UAAUxqB,CAAK,CAAC,EAAEwqB,EAAmBxqB,CAAK,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS8rB,GAAmB3L,EAAKxc,EAAKykB,EAAW,CAAC,GAAG,CAAC,YAAA9C,EAAY,SAAA+F,EAAS,aAAA7T,CAAY,EAAE4Q,EAAW,MAAO,CAAC,KAAAjI,EAAK,KAAKsL,GAAY9nB,CAAI,EAAE,SAAA0nB,EAAS,YAAA/F,EAAY,aAAauG,GAAoBrU,EAAa7T,CAAI,CAAC,CAAC,CAAC,SAASooB,GAAiBC,EAAQC,EAAmB,OAAC,GAAGA,EAAmB,cAAc,CAAC,GAAG,CAAC,YAAA3G,EAAY,cAAAqE,CAAa,EAAEsC,EAAmB3G,GAAa,OAAO0G,EAAQ,YAAYC,EAAmB,aAAa,IAAIjsB,EAAM,CAAC,GAAG2pB,EAAc,QAAOuC,EAAAvC,GAAA,YAAAA,EAAe,SAAf,YAAAuC,EAAuB,IAAIvD,IAAI,CAAC,KAAKA,EAAE,gBAAgB,YAAYA,EAAE,WAAW,GAAG,EAAE,OAAO,OAAO3oB,CAAK,EAAE,OAAO,OAAO,EAAE,OAAO,IAAIgsB,EAAQ,UAAUhsB,EAAO,CAAC,OAAOgsB,CAAO,CAAC,IAAIG,GAAkB,CAACf,EAAShD,EAAW6D,IAAqB,CAAC,IAAID,EAAQF,GAAmBV,EAAShD,EAAW,KAAKA,CAAU,EAAE,OAAO4D,EAAQ,OAAO7D,GAASC,CAAU,EAAE2D,GAAiBC,EAAQC,CAAkB,CAAC,EAAEG,GAAU,CAAChB,EAAShD,EAAW6D,IAAqB,CAAC,IAAID,EAAQR,GAAgBJ,EAAShD,CAAU,EAAE,OAAO4D,EAAQ,OAAO7D,GAASC,CAAU,EAAE2D,GAAiBC,EAAQC,CAAkB,CAAC,EAAEI,GAAY,CAACjB,EAAShD,EAAW6D,IAAqB,CAAC,IAAID,EAAQb,GAAkBC,EAAShD,CAAU,EAAE,OAAO4D,EAAQ,OAAO7D,GAASC,CAAU,EAAE2D,GAAiBC,EAAQC,CAAkB,CAAC,EAAEK,GAAe,CAAClB,EAAShD,EAAW6D,IAAqB,CAAC,IAAID,EAAQF,GAAmBV,EAAS,CAAC,KAAK,SAAS,EAAEhD,CAAU,EAAE,OAAO2D,GAAiBC,EAAQC,CAAkB,CAAC,EAAEM,GAAkBC,GAAY,CAAC,OAAOA,EAAY,CAAA,IAAI,aAAa,OAAOL,GAAkB,IAAI,aAAa,OAAOC,GAAU,IAAI,OAAO,OAAOC,GAAY,QAAQ,OAAOC,EAAc,CAAC,EAAMG,GAAcrE,GAAYA,EAAW,MAAM,KAAK,aAAaA,EAAW,UAAU,KAAK,OAAOA,EAAW,QAAQ,KAAK,aAAa,UAAUsE,GAA6B3D,GAAe,CAAC,IAAIyD,EAAWC,GAAc1D,EAAc,CAAC,CAAC,EAAE4D,EAAcJ,GAAkBC,CAAU,EAAE,OAAOzD,EAAc,IAAI6D,GAAM,OAAC,IAAIC,EAAcD,EAAK,OAAOV,EAAAU,EAAK,OAAL,MAAAV,EAAW,WAAWW,EAAc,CAAC,GAAGD,EAAK,KAAK,CAAC,GAAGA,EAAK,KAAK,MAAMA,EAAK,KAAK,QAAQ,CAAC,GAAGE,GAAYD,EAAc,KAAKA,EAAcL,EAAWG,CAAa,CAAC,CAAC,CAAC,EAAEI,GAA8BhE,GAAe,CAAC,IAAIiE,EAAgB,OAAO,KAAKjE,CAAa,EAAEyD,EAAWC,GAAc1D,EAAciE,EAAgB,CAAC,CAAC,CAAC,EAAEL,EAAcJ,GAAkBC,CAAU,EAAE,OAAOQ,EAAgB,IAAI5B,GAAU,CAAC,IAAIhD,EAAWW,EAAcqC,CAAQ,EAAE,OAAOhD,GAAY,KAAK0E,GAAY1B,EAAShD,EAAWoE,EAAWG,CAAa,EAAE,IAAI,CAAC,EAAE,OAAO,OAAO,CAAC,EAAEM,GAAsB,CAACpE,EAAUI,IAAU,CAAC,IAAIF,EAAcC,GAAiBH,EAAUI,CAAO,EAAE,OAAOH,GAAqBC,CAAa,EAAE,MAAM,QAAQA,CAAa,EAAE2D,GAA6B3D,CAAa,EAAEgE,GAA8BhE,CAAa,EAAE,CAAA,CAAE,EAAE,SAAS+D,GAAY1B,EAAShD,EAAWoE,EAAWG,EAAc,CAAC,IAAIV,EAAmBxC,GAAWrB,EAAW,WAAW,EAAE,OAAO6D,EAAmB,eAAeA,EAAmB,OAAO,KAAK,CAAC,QAAQU,EAAcvB,EAAShD,EAAW6D,CAAkB,EAAE,UAAUA,EAAmB,cAAc,WAAA7D,EAAW,WAAAoE,CAAU,CAAC,CAAC,SAASU,GAA4BrE,EAAU,CAAC,OAAOA,GAAW,MAAMK,GAAqBL,CAAS,CAAC,CAAI,IAACsE,GAAgBhM,GAAS,CAAC,GAAG,CAAC,UAAA0H,EAAU,SAASuE,EAAa,WAAW,CAAC,KAAAC,EAAK,CAAA,CAAE,CAAC,EAAElM,EAAQ,CAAC,gBAAAmM,CAAe,EAAED,EAAKE,EAAkBD,GAAiBzE,EAAUyE,EAAgBzE,CAAS,EAAE,CAAE,EAAC,OAAO0E,EAAkB3G,GAAkB2G,EAAkBH,CAAY,EAAEA,CAAY,EAAMI,GAAS,iBAA+DC,GAAiB,GAAGD,EAAQ,oBAAoBE,IAAYC,IAAcA,EAAY,KAAK,OAAOA,EAAY,KAAK,OAAOA,EAAY,QAAQ,UAAUA,IAAcD,IAAY,CAAE,CAAA","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129]} \ No newline at end of file diff --git a/assets/index-96a2bc4b.js b/assets/index-96a2bc4b.js new file mode 100644 index 00000000..f8fbdc50 --- /dev/null +++ b/assets/index-96a2bc4b.js @@ -0,0 +1,209 @@ +import{_ as it}from"./iframe-608d8974.js";import{r as x,b as Uo,g as an,R as a}from"./index-ebeaab24.js";import{_ as _i,a as La,b as Lt,t as Fr,d as Hc,e as na,g as Nc,l as Wo,f as Oi,h as K,m as Pc,i as ir}from"./chunk-4NMOSTKD-82fbb5f2.js";import{s as ye}from"./index-d475d2ea.js";import{R as Vc,r as zc}from"./index-9c09ad76.js";import{_ as on}from"./extends-98964cd2.js";import{q as Ri,r as qc,s as Ti,t as Uc,i as ln,v as Wc,w as Gc,x as Yc,e as Fi,y as Di,z as Kc,A as Li,B as Jc,C as Xc,D as Qc,E as e0,F as t0,G as r0,H as Mi,I as n0,J as a0,K as Bi,_ as o0,L as l0,M as i0,N as Ma,d as $i,O as Ii,P as Zi,Q as s0,R as u0,U as c0,c as d0,S as Go,V as p0,W as aa,k as Ln}from"./index-84cea9da.js";import{d as be}from"./index-356e4a49.js";var Ze=e=>`control-${e.replace(/\s+/g,"-")}`,sn=e=>`set-${e.replace(/\s+/g,"-")}`,f0=function(t){return t()},ji=Uo["useInsertionEffect"]?Uo["useInsertionEffect"]:!1,Ba=ji||f0,Yo=ji||x.useLayoutEffect;function Dr(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Hi={exports:{}};(function(e,t){(function(r){e.exports=r()})(function(){return function r(n,o,l){function i(c,p){if(!o[c]){if(!n[c]){var h=typeof Dr=="function"&&Dr;if(!p&&h)return h(c,!0);if(u)return u(c,!0);var g=new Error("Cannot find module '"+c+"'");throw g.code="MODULE_NOT_FOUND",g}var d=o[c]={exports:{}};n[c][0].call(d.exports,function(m){var f=n[c][1][m];return i(f||m)},d,d.exports,r,n,o,l)}return o[c].exports}for(var u=typeof Dr=="function"&&Dr,s=0;s=0)return this.lastItem=this.list[u],this.list[u].val},l.prototype.set=function(i,u){var s;return this.lastItem&&this.isEqual(this.lastItem.key,i)?(this.lastItem.val=u,this):(s=this.indexOf(i),s>=0?(this.lastItem=this.list[s],this.list[s].val=u,this):(this.lastItem={key:i,val:u},this.list.push(this.lastItem),this.size++,this))},l.prototype.delete=function(i){var u;if(this.lastItem&&this.isEqual(this.lastItem.key,i)&&(this.lastItem=void 0),u=this.indexOf(i),u>=0)return this.size--,this.list.splice(u,1)[0]},l.prototype.has=function(i){var u;return this.lastItem&&this.isEqual(this.lastItem.key,i)?!0:(u=this.indexOf(i),u>=0?(this.lastItem=this.list[u],!0):!1)},l.prototype.forEach=function(i,u){var s;for(s=0;s0&&(C[y]={cacheItem:m,arg:arguments[y]},b?i(h,C):h.push(C),h.length>c&&u(h.shift())),d.wasMemoized=b,d.numArgs=y+1,v};return d.limit=c,d.wasMemoized=!1,d.cache=p,d.lru=h,d}};function i(c,p){var h=c.length,g=p.length,d,m,f;for(m=0;m=0&&(h=c[d],g=h.cacheItem.get(h.arg),!g||!g.size);d--)h.cacheItem.delete(h.arg)}function s(c,p){return c===p||c!==c&&p!==p}},{"map-or-similar":1}]},{},[3])(3)})})(Hi);var m0=Hi.exports;const Ot=an(m0),{logger:g0}=__STORYBOOK_MODULE_CLIENT_LOGGER__;var h0=La({"../../node_modules/react-is/cjs/react-is.development.js"(e){(function(){var t=typeof Symbol=="function"&&Symbol.for,r=t?Symbol.for("react.element"):60103,n=t?Symbol.for("react.portal"):60106,o=t?Symbol.for("react.fragment"):60107,l=t?Symbol.for("react.strict_mode"):60108,i=t?Symbol.for("react.profiler"):60114,u=t?Symbol.for("react.provider"):60109,s=t?Symbol.for("react.context"):60110,c=t?Symbol.for("react.async_mode"):60111,p=t?Symbol.for("react.concurrent_mode"):60111,h=t?Symbol.for("react.forward_ref"):60112,g=t?Symbol.for("react.suspense"):60113,d=t?Symbol.for("react.suspense_list"):60120,m=t?Symbol.for("react.memo"):60115,f=t?Symbol.for("react.lazy"):60116,v=t?Symbol.for("react.block"):60121,y=t?Symbol.for("react.fundamental"):60117,C=t?Symbol.for("react.responder"):60118,b=t?Symbol.for("react.scope"):60119;function E(B){return typeof B=="string"||typeof B=="function"||B===o||B===p||B===i||B===l||B===g||B===d||typeof B=="object"&&B!==null&&(B.$$typeof===f||B.$$typeof===m||B.$$typeof===u||B.$$typeof===s||B.$$typeof===h||B.$$typeof===y||B.$$typeof===C||B.$$typeof===b||B.$$typeof===v)}function A(B){if(typeof B=="object"&&B!==null){var Be=B.$$typeof;switch(Be){case r:var He=B.type;switch(He){case c:case p:case o:case i:case l:case g:return He;default:var yt=He&&He.$$typeof;switch(yt){case s:case h:case f:case m:case u:return yt;default:return Be}}case n:return Be}}}var w=c,k=p,S=s,O=u,R=r,T=h,L=o,F=f,Z=m,D=n,M=i,j=l,P=g,$=!1;function H(B){return $||($=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),Y(B)||A(B)===c}function Y(B){return A(B)===p}function re(B){return A(B)===s}function G(B){return A(B)===u}function J(B){return typeof B=="object"&&B!==null&&B.$$typeof===r}function I(B){return A(B)===h}function V(B){return A(B)===o}function q(B){return A(B)===f}function le(B){return A(B)===m}function me(B){return A(B)===n}function rt(B){return A(B)===i}function Oe(B){return A(B)===l}function je(B){return A(B)===g}e.AsyncMode=w,e.ConcurrentMode=k,e.ContextConsumer=S,e.ContextProvider=O,e.Element=R,e.ForwardRef=T,e.Fragment=L,e.Lazy=F,e.Memo=Z,e.Portal=D,e.Profiler=M,e.StrictMode=j,e.Suspense=P,e.isAsyncMode=H,e.isConcurrentMode=Y,e.isContextConsumer=re,e.isContextProvider=G,e.isElement=J,e.isForwardRef=I,e.isFragment=V,e.isLazy=q,e.isMemo=le,e.isPortal=me,e.isProfiler=rt,e.isStrictMode=Oe,e.isSuspense=je,e.isValidElementType=E,e.typeOf=A})()}}),y0=La({"../../node_modules/react-is/index.js"(e,t){t.exports=h0()}}),Ni=La({"../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"(e,t){var r=y0(),n={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},l={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},u={};u[r.ForwardRef]=l,u[r.Memo]=i;function s(v){return r.isMemo(v)?i:u[v.$$typeof]||n}var c=Object.defineProperty,p=Object.getOwnPropertyNames,h=Object.getOwnPropertySymbols,g=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,m=Object.prototype;function f(v,y,C){if(typeof y!="string"){if(m){var b=d(y);b&&b!==m&&f(v,b,C)}var E=p(y);h&&(E=E.concat(h(y)));for(var A=s(v),w=s(y),k=0;k0?ce(Wt,--Ce):0,jt--,ae===10&&(jt=1,cn--),ae}function Se(){return ae=Ce2||dr(ae)>3?"":" "}function L0(e,t){for(;--t&&Se()&&!(ae<48||ae>102||ae>57&&ae<65||ae>70&&ae<97););return wr(e,jr()+(t<6&&Qe()==32&&Se()==32))}function la(e){for(;Se();)switch(ae){case e:return Ce;case 34:case 39:e!==34&&e!==39&&la(ae);break;case 40:e===41&&la(e);break;case 92:Se();break}return Ce}function M0(e,t){for(;Se()&&e+ae!==47+10&&!(e+ae===42+42&&Qe()===47););return"/*"+wr(t,Ce-1)+"*"+un(e===47?e:Se())}function B0(e){for(;!dr(Qe());)Se();return wr(e,Ce)}function $0(e){return Wi(Nr("",null,null,null,[""],e=Ui(e),0,[0],e))}function Nr(e,t,r,n,o,l,i,u,s){for(var c=0,p=0,h=i,g=0,d=0,m=0,f=1,v=1,y=1,C=0,b="",E=o,A=l,w=n,k=b;v;)switch(m=C,C=Se()){case 40:if(m!=108&&ce(k,h-1)==58){oa(k+=W(Hr(C),"&","&\f"),"&\f")!=-1&&(y=-1);break}case 34:case 39:case 91:k+=Hr(C);break;case 9:case 10:case 13:case 32:k+=D0(m);break;case 92:k+=L0(jr()-1,7);continue;case 47:switch(Qe()){case 42:case 47:Lr(I0(M0(Se(),jr()),t,r),s);break;default:k+="/"}break;case 123*f:u[c++]=Ge(k)*y;case 125*f:case 59:case 0:switch(C){case 0:case 125:v=0;case 59+p:d>0&&Ge(k)-h&&Lr(d>32?Jo(k+";",n,r,h-1):Jo(W(k," ","")+";",n,r,h-2),s);break;case 59:k+=";";default:if(Lr(w=Ko(k,t,r,c,p,o,u,b,E=[],A=[],h),l),C===123)if(p===0)Nr(k,t,w,w,E,l,h,u,A);else switch(g===99&&ce(k,3)===110?100:g){case 100:case 109:case 115:Nr(e,w,w,n&&Lr(Ko(e,w,w,0,0,o,u,b,o,E=[],h),A),o,A,h,u,n?E:A);break;default:Nr(k,w,w,w,[""],A,0,u,A)}}c=p=d=0,f=y=1,b=k="",h=i;break;case 58:h=1+Ge(k),d=m;default:if(f<1){if(C==123)--f;else if(C==125&&f++==0&&F0()==125)continue}switch(k+=un(C),C*f){case 38:y=p>0?1:(k+="\f",-1);break;case 44:u[c++]=(Ge(k)-1)*y,y=1;break;case 64:Qe()===45&&(k+=Hr(Se())),g=Qe(),p=h=Ge(b=k+=B0(jr())),C++;break;case 45:m===45&&Ge(k)==2&&(f=0)}}return l}function Ko(e,t,r,n,o,l,i,u,s,c,p){for(var h=o-1,g=o===0?l:[""],d=Ha(g),m=0,f=0,v=0;m0?g[y]+" "+C:W(C,/&\f/g,g[y])))&&(s[v++]=b);return dn(e,t,r,o===0?Za:u,s,c,p)}function I0(e,t,r){return dn(e,t,r,Ia,un(T0()),cr(e,2,-2),0)}function Jo(e,t,r,n){return dn(e,t,r,ja,cr(e,0,n),cr(e,n+1,-1),n)}function Zt(e,t){for(var r="",n=Ha(e),o=0;o-1},G0=function(e){return function(t,r,n){if(!(t.type!=="rule"||e.compat)){var o=t.value.match(/(:first|:nth|:nth-last)-child/g);if(o){for(var l=!!t.parent,i=l?t.parent.children:n,u=i.length-1;u>=0;u--){var s=i[u];if(s.line=0;r--)if(!Gi(t[r]))return!0;return!1},el=function(e){e.type="",e.value="",e.return="",e.children="",e.props=""},K0=function(e,t,r){Gi(e)&&(e.parent?(console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles."),el(e)):Y0(t,r)&&(console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules."),el(e)))};function Yi(e,t){switch(_0(e,t)){case 5103:return U+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return U+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return U+e+Kr+e+pe+e+e;case 6828:case 4268:return U+e+pe+e+e;case 6165:return U+e+pe+"flex-"+e+e;case 5187:return U+e+W(e,/(\w+).+(:[^]+)/,U+"box-$1$2"+pe+"flex-$1$2")+e;case 5443:return U+e+pe+"flex-item-"+W(e,/flex-|-self/,"")+e;case 4675:return U+e+pe+"flex-line-pack"+W(e,/align-content|flex-|-self/,"")+e;case 5548:return U+e+pe+W(e,"shrink","negative")+e;case 5292:return U+e+pe+W(e,"basis","preferred-size")+e;case 6060:return U+"box-"+W(e,"-grow","")+U+e+pe+W(e,"grow","positive")+e;case 4554:return U+W(e,/([^-])(transform)/g,"$1"+U+"$2")+e;case 6187:return W(W(W(e,/(zoom-|grab)/,U+"$1"),/(image-set)/,U+"$1"),e,"")+e;case 5495:case 3959:return W(e,/(image-set\([^]*)/,U+"$1$`$1");case 4968:return W(W(e,/(.+:)(flex-)?(.*)/,U+"box-pack:$3"+pe+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+U+e+e;case 4095:case 3583:case 4068:case 2532:return W(e,/(.+)-inline(.+)/,U+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Ge(e)-1-t>6)switch(ce(e,t+1)){case 109:if(ce(e,t+4)!==45)break;case 102:return W(e,/(.+:)(.+)-([^]+)/,"$1"+U+"$2-$3$1"+Kr+(ce(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~oa(e,"stretch")?Yi(W(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(ce(e,t+1)!==115)break;case 6444:switch(ce(e,Ge(e)-3-(~oa(e,"!important")&&10))){case 107:return W(e,":",":"+U)+e;case 101:return W(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+U+(ce(e,14)===45?"inline-":"")+"box$3$1"+U+"$2$3$1"+pe+"$2box$3")+e}break;case 5936:switch(ce(e,t+11)){case 114:return U+e+pe+W(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return U+e+pe+W(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return U+e+pe+W(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return U+e+pe+e+e}return e}var J0=function(e,t,r,n){if(e.length>-1&&!e.return)switch(e.type){case ja:e.return=Yi(e.value,e.length);break;case Vi:return Zt([rr(e,{value:W(e.value,"@","@"+U)})],n);case Za:if(e.length)return R0(e.props,function(o){switch(O0(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Zt([rr(e,{props:[W(o,/:(read-\w+)/,":"+Kr+"$1")]})],n);case"::placeholder":return Zt([rr(e,{props:[W(o,/:(plac\w+)/,":"+U+"input-$1")]}),rr(e,{props:[W(o,/:(plac\w+)/,":"+Kr+"$1")]}),rr(e,{props:[W(o,/:(plac\w+)/,pe+"input-$1")]})],n)}return""})}},X0=[J0],Q0=function(e){var t=e.key;if(!t)throw new Error(`You have to configure \`key\` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache. +If multiple caches share the same key they might "fight" for each other's style elements.`);if(t==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var f=m.getAttribute("data-emotion");f.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var n=e.stylisPlugins||X0;if(/[^a-z-]/.test(t))throw new Error('Emotion key must only contain lower case alphabetical characters and - but "'+t+'" was passed');var o={},l,i=[];l=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),function(m){for(var f=m.getAttribute("data-emotion").split(" "),v=1;v=4;++n,o-=4)r=e.charCodeAt(n)&255|(e.charCodeAt(++n)&255)<<8|(e.charCodeAt(++n)&255)<<16|(e.charCodeAt(++n)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(n+2)&255)<<16;case 2:t^=(e.charCodeAt(n+1)&255)<<8;case 1:t^=e.charCodeAt(n)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var n1=r1,a1={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},o1=a1,tl=`You have illegal escape sequence in your template literal, most likely inside content's property value. +Because you write your CSS inside a JavaScript string you actually have to do double escaping, so for example "content: '\\00d7';" should become "content: '\\\\00d7';". +You can read more about this here: +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences`,l1="You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).",i1=/[A-Z]|^ms/g,Ki=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Pa=function(e){return e.charCodeAt(1)===45},rl=function(e){return e!=null&&typeof e!="boolean"},Mn=Pi(function(e){return Pa(e)?e:e.replace(i1,"-$&").toLowerCase()}),Jr=function(e,t){switch(e){case"animation":case"animationName":if(typeof t=="string")return t.replace(Ki,function(r,n,o){return Ye={name:n,styles:o,next:Ye},n})}return o1[e]!==1&&!Pa(e)&&typeof t=="number"&&t!==0?t+"px":t};nl=/(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/,al=["normal","none","initial","inherit","unset"],ol=Jr,ll=/^-ms-/,il=/-(.)/g,Bn={},Jr=function(e,t){if(e==="content"&&(typeof t!="string"||al.indexOf(t)===-1&&!nl.test(t)&&(t.charAt(0)!==t.charAt(t.length-1)||t.charAt(0)!=='"'&&t.charAt(0)!=="'")))throw new Error("You seem to be using a value for 'content' without quotes, try replacing it with `content: '\""+t+"\"'`");var r=ol(e,t);return r!==""&&!Pa(e)&&e.indexOf("-")!==-1&&Bn[e]===void 0&&(Bn[e]=!0,console.error("Using kebab-case for css properties in objects is not supported. Did you mean "+e.replace(ll,"ms-").replace(il,function(n,o){return o.toUpperCase()})+"?")),r};var nl,al,ol,ll,il,Bn,Ji="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function pr(e,t,r){if(r==null)return"";if(r.__emotion_styles!==void 0){if(r.toString()==="NO_COMPONENT_SELECTOR")throw new Error(Ji);return r}switch(typeof r){case"boolean":return"";case"object":{if(r.anim===1)return Ye={name:r.name,styles:r.styles,next:Ye},r.name;if(r.styles!==void 0){var n=r.next;if(n!==void 0)for(;n!==void 0;)Ye={name:n.name,styles:n.styles,next:Ye},n=n.next;var o=r.styles+";";return r.map!==void 0&&(o+=r.map),o}return s1(e,t,r)}case"function":{if(e!==void 0){var l=Ye,i=r(e);return Ye=l,pr(e,t,i)}else console.error("Functions that are interpolated in css calls will be stringified.\nIf you want to have a css call based on props, create a function that returns a css call like this\nlet dynamicStyle = (props) => css`color: ${props.color}`\nIt can be called directly with props or interpolated in a styled call like this\nlet SomeComponent = styled('div')`${dynamicStyle}`");break}case"string":var u=[],s=r.replace(Ki,function(p,h,g){var d="animation"+u.length;return u.push("const "+d+" = keyframes`"+g.replace(/^@keyframes animation-\w+/,"")+"`"),"${"+d+"}"});u.length&&console.error("`keyframes` output got interpolated into plain string, please wrap it with `css`.\n\nInstead of doing this:\n\n"+[].concat(u,["`"+s+"`"]).join(` +`)+` + +You should wrap it with \`css\` like this: + +`+("css`"+s+"`"));break}if(t==null)return r;var c=t[r];return c!==void 0?c:r}function s1(e,t,r){var n="";if(Array.isArray(r))for(var o=0;o ({})}!");return r}if(t==null||typeof t!="object"||Array.isArray(t))throw new Error("[ThemeProvider] Please make your theme prop a plain object");return Oi({},e,t)},p1=Xo(function(e){return Xo(function(t){return d1(e,t)})}),Qi=function(e){var t=x.useContext(gt);return e.theme!==t&&(t=p1(t)(e.theme)),x.createElement(gt.Provider,{value:t},e.children)},ul="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",cl="__EMOTION_LABEL_PLEASE_DO_NOT_USE__",f1=function(e){var t=e.cache,r=e.serialized,n=e.isStringTag;return pn(t,r,n),Ba(function(){return fn(t,r,n)}),null},m1=mn(function(e,t,r){var n=e.css;typeof n=="string"&&t.registered[n]!==void 0&&(n=t.registered[n]);var o=e[ul],l=[n],i="";typeof e.className=="string"?i=Na(t.registered,l,e.className):e.className!=null&&(i=e.className+" ");var u=Ht(l,void 0,x.useContext(gt));if(u.name.indexOf("-")===-1){var s=e[cl];s&&(u=Ht([u,"label:"+s+";"]))}i+=t.key+"-"+u.name;var c={};for(var p in e)u1.call(e,p)&&p!=="css"&&p!==ul&&p!==cl&&(c[p]=e[p]);return c.ref=r,c.className=i,x.createElement(x.Fragment,null,x.createElement(f1,{cache:t,serialized:u,isStringTag:typeof o=="string"}),x.createElement(o,c))});m1.displayName="EmotionCssPropInternal";_i(Ni());var g1={name:"@emotion/react",version:"11.10.6",main:"dist/emotion-react.cjs.js",module:"dist/emotion-react.esm.js",browser:{"./dist/emotion-react.esm.js":"./dist/emotion-react.browser.esm.js"},exports:{".":{module:{worker:"./dist/emotion-react.worker.esm.js",browser:"./dist/emotion-react.browser.esm.js",default:"./dist/emotion-react.esm.js"},default:"./dist/emotion-react.cjs.js"},"./jsx-runtime":{module:{worker:"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js",browser:"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js",default:"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js"},default:"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js"},"./_isolated-hnrs":{module:{worker:"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js",browser:"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js",default:"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js"},default:"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js"},"./jsx-dev-runtime":{module:{worker:"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js",browser:"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js",default:"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js"},default:"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js"},"./package.json":"./package.json","./types/css-prop":"./types/css-prop.d.ts","./macro":"./macro.js"},types:"types/index.d.ts",files:["src","dist","jsx-runtime","jsx-dev-runtime","_isolated-hnrs","types/*.d.ts","macro.js","macro.d.ts","macro.js.flow"],sideEffects:!1,author:"Emotion Contributors",license:"MIT",scripts:{"test:typescript":"dtslint types"},dependencies:{"@babel/runtime":"^7.18.3","@emotion/babel-plugin":"^11.10.6","@emotion/cache":"^11.10.5","@emotion/serialize":"^1.1.1","@emotion/use-insertion-effect-with-fallbacks":"^1.0.0","@emotion/utils":"^1.2.0","@emotion/weak-memoize":"^0.3.0","hoist-non-react-statics":"^3.3.1"},peerDependencies:{react:">=16.8.0"},peerDependenciesMeta:{"@types/react":{optional:!0}},devDependencies:{"@definitelytyped/dtslint":"0.0.112","@emotion/css":"11.10.6","@emotion/css-prettifier":"1.1.1","@emotion/server":"11.10.0","@emotion/styled":"11.10.6","html-tag-names":"^1.1.2",react:"16.14.0","svg-tag-names":"^1.1.1",typescript:"^4.5.5"},repository:"https://github.com/emotion-js/emotion/tree/main/packages/react",publishConfig:{access:"public"},"umd:main":"dist/emotion-react.umd.min.js",preconstruct:{entrypoints:["./index.js","./jsx-runtime.js","./jsx-dev-runtime.js","./_isolated-hnrs.js"],umdName:"emotionReact",exports:{envConditions:["browser","worker"],extra:{"./types/css-prop":"./types/css-prop.d.ts","./macro":"./macro.js"}}}},dl=!1,h1=mn(function(e,t){!dl&&(e.className||e.css)&&(console.error("It looks like you're using the css prop on Global, did you mean to use the styles prop instead?"),dl=!0);var r=e.styles,n=Ht([r],void 0,x.useContext(gt)),o=x.useRef();return Yo(function(){var l=t.key+"-global",i=new t.sheet.constructor({key:l,nonce:t.sheet.nonce,container:t.sheet.container,speedy:t.sheet.isSpeedy}),u=!1,s=document.querySelector('style[data-emotion="'+l+" "+n.name+'"]');return t.sheet.tags.length&&(i.before=t.sheet.tags[0]),s!==null&&(u=!0,s.setAttribute("data-emotion",l),i.hydrate([s])),o.current=[i,u],function(){i.flush()}},[t]),Yo(function(){var l=o.current,i=l[0],u=l[1];if(u){l[1]=!1;return}if(n.next!==void 0&&fn(t,n.next,!0),i.tags.length){var s=i.tags[i.tags.length-1].nextElementSibling;i.before=s,i.flush()}t.insert("",n,i,!1)},[t,n.name]),null});h1.displayName="EmotionGlobal";function za(){for(var e=arguments.length,t=new Array(e),r=0;r component."),i="";for(var u in l)l[u]&&u&&(i&&(i+=" "),i+=u)}break}default:i=l}i&&(o&&(o+=" "),o+=i)}}return o};function b1(e,t,r){var n=[],o=Na(e,n,r);return n.length<2?r:o+t(n)}var v1=function(e){var t=e.cache,r=e.serializedArr;return Ba(function(){for(var n=0;n96?x1:A1},ml=function(e,t,r){var n;if(t){var o=t.shouldForwardProp;n=e.__emotion_forwardProp&&o?function(l){return e.__emotion_forwardProp(l)&&o(l)}:o}return typeof n!="function"&&r&&(n=e.__emotion_forwardProp),n},gl=`You have illegal escape sequence in your template literal, most likely inside content's property value. +Because you write your CSS inside a JavaScript string you actually have to do double escaping, so for example "content: '\\00d7';" should become "content: '\\\\00d7';". +You can read more about this here: +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences`,w1=function(e){var t=e.cache,r=e.serialized,n=e.isStringTag;return pn(t,r,n),Ba(function(){return fn(t,r,n)}),null},C1=function e(t,r){if(t===void 0)throw new Error(`You are trying to create a styled element with an undefined component. +You may have forgotten to import it.`);var n=t.__emotion_real===t,o=n&&t.__emotion_base||t,l,i;r!==void 0&&(l=r.label,i=r.target);var u=ml(t,r,n),s=u||fl(o),c=!s("as");return function(){var p=arguments,h=n&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(l!==void 0&&h.push("label:"+l+";"),p[0]==null||p[0].raw===void 0)h.push.apply(h,p);else{p[0][0]===void 0&&console.error(gl),h.push(p[0][0]);for(var g=p.length,d=1;d({body:{fontFamily:e.fonts.base,fontSize:e.size.s3,margin:0,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",WebkitOverflowScrolling:"touch"},"*":{boxSizing:"border-box"},"h1, h2, h3, h4, h5, h6":{fontWeight:e.weight.regular,margin:0,padding:0},"button, input, textarea, select":{fontFamily:"inherit",fontSize:"inherit",boxSizing:"border-box"},sub:{fontSize:"0.8em",bottom:"-0.2em"},sup:{fontSize:"0.8em",top:"-0.2em"},"b, strong":{fontWeight:e.weight.bold},hr:{border:"none",borderTop:"1px solid silver",clear:"both",marginBottom:"1.25rem"},code:{fontFamily:e.fonts.mono,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",display:"inline-block",paddingLeft:2,paddingRight:2,verticalAlign:"baseline",color:"inherit"},pre:{fontFamily:e.fonts.mono,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",lineHeight:"18px",padding:"11px 1rem",whiteSpace:"pre-wrap",color:"inherit",borderRadius:3,margin:"1rem 0"}}));Ot(1)(({color:e,background:t,typography:r})=>{let n=_1({typography:r});return{...n,body:{...n.body,color:e.defaultText,background:t.app,overflow:"hidden"},hr:{...n.hr,borderTop:`1px solid ${e.border}`}}});var O1={rubber:"cubic-bezier(0.175, 0.885, 0.335, 1.05)"},R1=Gt` + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +`,es=Gt` + 0%, 100% { opacity: 1; } + 50% { opacity: .4; } +`,T1=Gt` + 0% { transform: translateY(1px); } + 25% { transform: translateY(0px); } + 50% { transform: translateY(-3px); } + 100% { transform: translateY(1px); } +`,F1=Gt` + 0%, 100% { transform:translate3d(0,0,0); } + 12.5%, 62.5% { transform:translate3d(-4px,0,0); } + 37.5%, 87.5% { transform: translate3d(4px,0,0); } +`,D1=za` + animation: ${es} 1.5s ease-in-out infinite; + color: transparent; + cursor: progress; +`,L1=za` + transition: all 150ms ease-out; + transform: translate3d(0, 0, 0); + + &:hover { + transform: translate3d(0, -2px, 0); + } + + &:active { + transform: translate3d(0, 0, 0); + } +`,M1={rotate360:R1,glow:es,float:T1,jiggle:F1,inlineGlow:D1,hoverable:L1},B1={BASE_FONT_FAMILY:"Menlo, monospace",BASE_FONT_SIZE:"11px",BASE_LINE_HEIGHT:1.2,BASE_BACKGROUND_COLOR:"rgb(36, 36, 36)",BASE_COLOR:"rgb(213, 213, 213)",OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES:10,OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES:5,OBJECT_NAME_COLOR:"rgb(227, 110, 236)",OBJECT_VALUE_NULL_COLOR:"rgb(127, 127, 127)",OBJECT_VALUE_UNDEFINED_COLOR:"rgb(127, 127, 127)",OBJECT_VALUE_REGEXP_COLOR:"rgb(233, 63, 59)",OBJECT_VALUE_STRING_COLOR:"rgb(233, 63, 59)",OBJECT_VALUE_SYMBOL_COLOR:"rgb(233, 63, 59)",OBJECT_VALUE_NUMBER_COLOR:"hsl(252, 100%, 75%)",OBJECT_VALUE_BOOLEAN_COLOR:"hsl(252, 100%, 75%)",OBJECT_VALUE_FUNCTION_PREFIX_COLOR:"rgb(85, 106, 242)",HTML_TAG_COLOR:"rgb(93, 176, 215)",HTML_TAGNAME_COLOR:"rgb(93, 176, 215)",HTML_TAGNAME_TEXT_TRANSFORM:"lowercase",HTML_ATTRIBUTE_NAME_COLOR:"rgb(155, 187, 220)",HTML_ATTRIBUTE_VALUE_COLOR:"rgb(242, 151, 102)",HTML_COMMENT_COLOR:"rgb(137, 137, 137)",HTML_DOCTYPE_COLOR:"rgb(192, 192, 192)",ARROW_COLOR:"rgb(145, 145, 145)",ARROW_MARGIN_RIGHT:3,ARROW_FONT_SIZE:12,ARROW_ANIMATION_DURATION:"0",TREENODE_FONT_FAMILY:"Menlo, monospace",TREENODE_FONT_SIZE:"11px",TREENODE_LINE_HEIGHT:1.2,TREENODE_PADDING_LEFT:12,TABLE_BORDER_COLOR:"rgb(85, 85, 85)",TABLE_TH_BACKGROUND_COLOR:"rgb(44, 44, 44)",TABLE_TH_HOVER_COLOR:"rgb(48, 48, 48)",TABLE_SORT_ICON_COLOR:"black",TABLE_DATA_BACKGROUND_IMAGE:"linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 50%, rgba(51, 139, 255, 0.0980392) 50%, rgba(51, 139, 255, 0.0980392))",TABLE_DATA_BACKGROUND_SIZE:"128px 32px"},$1={BASE_FONT_FAMILY:"Menlo, monospace",BASE_FONT_SIZE:"11px",BASE_LINE_HEIGHT:1.2,BASE_BACKGROUND_COLOR:"white",BASE_COLOR:"black",OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES:10,OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES:5,OBJECT_NAME_COLOR:"rgb(136, 19, 145)",OBJECT_VALUE_NULL_COLOR:"rgb(128, 128, 128)",OBJECT_VALUE_UNDEFINED_COLOR:"rgb(128, 128, 128)",OBJECT_VALUE_REGEXP_COLOR:"rgb(196, 26, 22)",OBJECT_VALUE_STRING_COLOR:"rgb(196, 26, 22)",OBJECT_VALUE_SYMBOL_COLOR:"rgb(196, 26, 22)",OBJECT_VALUE_NUMBER_COLOR:"rgb(28, 0, 207)",OBJECT_VALUE_BOOLEAN_COLOR:"rgb(28, 0, 207)",OBJECT_VALUE_FUNCTION_PREFIX_COLOR:"rgb(13, 34, 170)",HTML_TAG_COLOR:"rgb(168, 148, 166)",HTML_TAGNAME_COLOR:"rgb(136, 18, 128)",HTML_TAGNAME_TEXT_TRANSFORM:"lowercase",HTML_ATTRIBUTE_NAME_COLOR:"rgb(153, 69, 0)",HTML_ATTRIBUTE_VALUE_COLOR:"rgb(26, 26, 166)",HTML_COMMENT_COLOR:"rgb(35, 110, 37)",HTML_DOCTYPE_COLOR:"rgb(192, 192, 192)",ARROW_COLOR:"#6e6e6e",ARROW_MARGIN_RIGHT:3,ARROW_FONT_SIZE:12,ARROW_ANIMATION_DURATION:"0",TREENODE_FONT_FAMILY:"Menlo, monospace",TREENODE_FONT_SIZE:"11px",TREENODE_LINE_HEIGHT:1.2,TREENODE_PADDING_LEFT:12,TABLE_BORDER_COLOR:"#aaa",TABLE_TH_BACKGROUND_COLOR:"#eee",TABLE_TH_HOVER_COLOR:"hsla(0, 0%, 90%, 1)",TABLE_SORT_ICON_COLOR:"#6e6e6e",TABLE_DATA_BACKGROUND_IMAGE:"linear-gradient(to bottom, white, white 50%, rgb(234, 243, 255) 50%, rgb(234, 243, 255))",TABLE_DATA_BACKGROUND_SIZE:"128px 32px"},I1=e=>Object.entries(e).reduce((t,[r,n])=>({...t,[r]:Pc(n)}),{}),Z1=({colors:e,mono:t})=>{let r=I1(e);return{token:{fontFamily:t,WebkitFontSmoothing:"antialiased","&.tag":r.red3,"&.comment":{...r.green1,fontStyle:"italic"},"&.prolog":{...r.green1,fontStyle:"italic"},"&.doctype":{...r.green1,fontStyle:"italic"},"&.cdata":{...r.green1,fontStyle:"italic"},"&.string":r.red1,"&.url":r.cyan1,"&.symbol":r.cyan1,"&.number":r.cyan1,"&.boolean":r.cyan1,"&.variable":r.cyan1,"&.constant":r.cyan1,"&.inserted":r.cyan1,"&.atrule":r.blue1,"&.keyword":r.blue1,"&.attr-value":r.blue1,"&.punctuation":r.gray1,"&.operator":r.gray1,"&.function":r.gray1,"&.deleted":r.red2,"&.important":{fontWeight:"bold"},"&.bold":{fontWeight:"bold"},"&.italic":{fontStyle:"italic"},"&.class-name":r.cyan2,"&.selector":r.red3,"&.attr-name":r.red4,"&.property":r.red4,"&.regex":r.red4,"&.entity":r.red4,"&.directive.tag .tag":{background:"#ffff00",...r.gray1}},"language-json .token.boolean":r.blue1,"language-json .token.number":r.blue1,"language-json .token.property":r.cyan2,namespace:{opacity:.7}}},j1={green1:"#008000",red1:"#A31515",red2:"#9a050f",red3:"#800000",red4:"#ff0000",gray1:"#393A34",cyan1:"#36acaa",cyan2:"#2B91AF",blue1:"#0000ff",blue2:"#00009f"},H1={green1:"#7C7C7C",red1:"#92C379",red2:"#9a050f",red3:"#A8FF60",red4:"#96CBFE",gray1:"#EDEDED",cyan1:"#C6C5FE",cyan2:"#FFFFB6",blue1:"#B474DD",blue2:"#00009f"},N1=e=>({primary:e.colorPrimary,secondary:e.colorSecondary,tertiary:K.tertiary,ancillary:K.ancillary,orange:K.orange,gold:K.gold,green:K.green,seafoam:K.seafoam,purple:K.purple,ultraviolet:K.ultraviolet,lightest:K.lightest,lighter:K.lighter,light:K.light,mediumlight:K.mediumlight,medium:K.medium,mediumdark:K.mediumdark,dark:K.dark,darker:K.darker,darkest:K.darkest,border:K.border,positive:K.positive,negative:K.negative,warning:K.warning,critical:K.critical,defaultText:e.textColor||K.darkest,inverseText:e.textInverseColor||K.lightest,positiveText:K.positiveText,negativeText:K.negativeText,warningText:K.warningText}),sa=(e=na[Nc()])=>{let{base:t,colorPrimary:r,colorSecondary:n,appBg:o,appContentBg:l,appBorderColor:i,appBorderRadius:u,fontBase:s,fontCode:c,textColor:p,textInverseColor:h,barTextColor:g,barSelectedColor:d,barBg:m,buttonBg:f,buttonBorder:v,booleanBg:y,booleanSelectedBg:C,inputBg:b,inputBorder:E,inputTextColor:A,inputBorderRadius:w,brandTitle:k,brandUrl:S,brandImage:O,brandTarget:R,gridCellSize:T,...L}=e;return{...L,base:t,color:N1(e),background:{app:o,bar:m,content:l,gridCellSize:T||Lt.gridCellSize,hoverable:Lt.hoverable,positive:Lt.positive,negative:Lt.negative,warning:Lt.warning,critical:Lt.critical},typography:{fonts:{base:s,mono:c},weight:Fr.weight,size:Fr.size},animation:M1,easing:O1,input:{background:b,border:E,borderRadius:w,color:A},button:{background:f||b,border:v||E},boolean:{background:y||E,selectedBackground:C||b},layoutMargin:10,appBorderColor:i,appBorderRadius:u,barTextColor:g,barSelectedColor:d||n,barBg:m,brand:{title:k,url:S,image:O||(k?null:void 0),target:R},code:Z1({colors:t==="light"?j1:H1,mono:c}),addonActionsTheme:{...t==="light"?$1:B1,BASE_FONT_FAMILY:c,BASE_FONT_SIZE:Fr.size.s2-1,BASE_LINE_HEIGHT:"18px",BASE_BACKGROUND_COLOR:"transparent",BASE_COLOR:p,ARROW_COLOR:Hc(.2,i),ARROW_MARGIN_RIGHT:4,ARROW_FONT_SIZE:8,TREENODE_FONT_FAMILY:c,TREENODE_FONT_SIZE:Fr.size.s2-1,TREENODE_LINE_HEIGHT:"18px",TREENODE_PADDING_LEFT:12}}},P1=e=>Object.keys(e).length===0,jn=e=>e!=null&&typeof e=="object",V1=(e,...t)=>Object.prototype.hasOwnProperty.call(e,...t),z1=()=>Object.create(null),ts=(e,t)=>e===t||!jn(e)||!jn(t)?{}:Object.keys(e).reduce((r,n)=>{if(V1(t,n)){let o=ts(e[n],t[n]);return jn(o)&&P1(o)||(r[n]=o),r}return r[n]=void 0,r},z1()),q1=ts;function U1(e){for(var t=[],r=1;r{if(!e)return sa(Wo);let t=q1(Wo,e);return Object.keys(t).length&&g0.warn(U1` + Your theme is missing properties, you should update your theme! + + theme-data missing: + `,t),sa(e)},ua="/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */";function ve(){return ve=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(r[o]=e[o]);return r}var G1=Object.create,rs=Object.defineProperty,Y1=Object.getOwnPropertyDescriptor,ns=Object.getOwnPropertyNames,K1=Object.getPrototypeOf,J1=Object.prototype.hasOwnProperty,N=(e,t)=>function(){return t||(0,e[ns(e)[0]])((t={exports:{}}).exports,t),t.exports},X1=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ns(t))!J1.call(e,o)&&o!==r&&rs(e,o,{get:()=>t[o],enumerable:!(n=Y1(t,o))||n.enumerable});return e},_e=(e,t,r)=>(r=e!=null?G1(K1(e)):{},X1(t||!e||!e.__esModule?rs(r,"default",{value:e,enumerable:!0}):r,e)),Q1=N({"../../node_modules/refractor/lang/markdown.js"(e,t){t.exports=r,r.displayName="markdown",r.aliases=["md"];function r(n){(function(o){var l=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function i(m){return m=m.replace(//g,function(){return l}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+m+")")}var u=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,s=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return u}),c=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;o.languages.markdown=o.languages.extend("markup",{}),o.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:o.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+s+c+"(?:"+s+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+s+c+")(?:"+s+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(u),inside:o.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+s+")"+c+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+s+"$"),inside:{"table-header":{pattern:RegExp(u),alias:"important",inside:o.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:i(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:i(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:i(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:i(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(m){["url","bold","italic","strike","code-snippet"].forEach(function(f){m!==f&&(o.languages.markdown[m].inside.content.inside[f]=o.languages.markdown[f])})}),o.hooks.add("after-tokenize",function(m){if(m.language!=="markdown"&&m.language!=="md")return;function f(v){if(!(!v||typeof v=="string"))for(var y=0,C=v.length;y",quot:'"'},g=String.fromCodePoint||String.fromCharCode;function d(m){var f=m.replace(p,"");return f=f.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(v,y){if(y=y.toLowerCase(),y[0]==="#"){var C;return y[1]==="x"?C=parseInt(y.slice(2),16):C=Number(y.slice(1)),g(C)}else{var b=h[y];return b||v}}),f}o.languages.md=o.languages.markdown})(n)}}}),ed=N({"../../node_modules/refractor/lang/yaml.js"(e,t){t.exports=r,r.displayName="yaml",r.aliases=["yml"];function r(n){(function(o){var l=/[*&][^\s[\]{},]+/,i=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,u="(?:"+i.source+"(?:[ ]+"+l.source+")?|"+l.source+"(?:[ ]+"+i.source+")?)",s=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),c=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function p(h,g){g=(g||"").replace(/m/g,"")+"m";var d=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,function(){return u}).replace(/<>/g,function(){return h});return RegExp(d,g)}o.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,function(){return u})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,function(){return u}).replace(/<>/g,function(){return"(?:"+s+"|"+c+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:p(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:p(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:p(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:p(c),lookbehind:!0,greedy:!0},number:{pattern:p(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:i,important:l,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},o.languages.yml=o.languages.yaml})(n)}}}),as=N({"../../node_modules/refractor/lang/typescript.js"(e,t){t.exports=r,r.displayName="typescript",r.aliases=["ts"];function r(n){(function(o){o.languages.typescript=o.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),o.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete o.languages.typescript.parameter,delete o.languages.typescript["literal-property"];var l=o.languages.extend("typescript",{});delete l["class-name"],o.languages.typescript["class-name"].inside=l,o.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:l}}}}),o.languages.ts=o.languages.typescript})(n)}}}),os=N({"../../node_modules/refractor/lang/jsx.js"(e,t){t.exports=r,r.displayName="jsx",r.aliases=[];function r(n){(function(o){var l=o.util.clone(o.languages.javascript),i=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,u=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,s=/(?:\{*\.{3}(?:[^{}]|)*\})/.source;function c(g,d){return g=g.replace(//g,function(){return i}).replace(//g,function(){return u}).replace(//g,function(){return s}),RegExp(g,d)}s=c(s).source,o.languages.jsx=o.languages.extend("markup",l),o.languages.jsx.tag.pattern=c(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),o.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,o.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,o.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,o.languages.jsx.tag.inside.comment=l.comment,o.languages.insertBefore("inside","attr-name",{spread:{pattern:c(//.source),inside:o.languages.jsx}},o.languages.jsx.tag),o.languages.insertBefore("inside","special-attr",{script:{pattern:c(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:o.languages.jsx}}},o.languages.jsx.tag);var p=function(g){return g?typeof g=="string"?g:typeof g.content=="string"?g.content:g.content.map(p).join(""):""},h=function(g){for(var d=[],m=0;m0&&d[d.length-1].tagName===p(f.content[0].content[1])&&d.pop():f.content[f.content.length-1].content==="/>"||d.push({tagName:p(f.content[0].content[1]),openedBraces:0}):d.length>0&&f.type==="punctuation"&&f.content==="{"?d[d.length-1].openedBraces++:d.length>0&&d[d.length-1].openedBraces>0&&f.type==="punctuation"&&f.content==="}"?d[d.length-1].openedBraces--:v=!0),(v||typeof f=="string")&&d.length>0&&d[d.length-1].openedBraces===0){var y=p(f);m0&&(typeof g[m-1]=="string"||g[m-1].type==="plain-text")&&(y=p(g[m-1])+y,g.splice(m-1,1),m--),g[m]=new o.Token("plain-text",y,null,y)}f.content&&typeof f.content!="string"&&h(f.content)}};o.hooks.add("after-tokenize",function(g){g.language!=="jsx"&&g.language!=="tsx"||h(g.tokens)})})(n)}}}),td=N({"../../node_modules/refractor/lang/tsx.js"(e,t){var r=os(),n=as();t.exports=o,o.displayName="tsx",o.aliases=[];function o(l){l.register(r),l.register(n),function(i){var u=i.util.clone(i.languages.typescript);i.languages.tsx=i.languages.extend("jsx",u),delete i.languages.tsx.parameter,delete i.languages.tsx["literal-property"];var s=i.languages.tsx.tag;s.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+s.pattern.source+")",s.pattern.flags),s.lookbehind=!0}(l)}}}),rd=N({"../../node_modules/refractor/lang/clike.js"(e,t){t.exports=r,r.displayName="clike",r.aliases=[];function r(n){n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}}}),nd=N({"../../node_modules/refractor/lang/javascript.js"(e,t){t.exports=r,r.displayName="javascript",r.aliases=["js"];function r(n){n.languages.javascript=n.languages.extend("clike",{"class-name":[n.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),n.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,n.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:n.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:n.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:n.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:n.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:n.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),n.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),n.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),n.languages.markup&&(n.languages.markup.tag.addInlined("script","javascript"),n.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),n.languages.js=n.languages.javascript}}}),ls=N({"../../node_modules/refractor/lang/css.js"(e,t){t.exports=r,r.displayName="css",r.aliases=[];function r(n){(function(o){var l=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;o.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+l.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+l.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+l.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:l,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},o.languages.css.atrule.inside.rest=o.languages.css;var i=o.languages.markup;i&&(i.tag.addInlined("style","css"),i.tag.addAttribute("style","css"))})(n)}}}),is=N({"../../node_modules/refractor/lang/markup.js"(e,t){t.exports=r,r.displayName="markup",r.aliases=["html","mathml","svg","xml","ssml","atom","rss"];function r(n){n.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},n.languages.markup.tag.inside["attr-value"].inside.entity=n.languages.markup.entity,n.languages.markup.doctype.inside["internal-subset"].inside=n.languages.markup,n.hooks.add("wrap",function(o){o.type==="entity"&&(o.attributes.title=o.content.value.replace(/&/,"&"))}),Object.defineProperty(n.languages.markup.tag,"addInlined",{value:function(o,l){var i={};i["language-"+l]={pattern:/(^$)/i,lookbehind:!0,inside:n.languages[l]},i.cdata=/^$/i;var u={"included-cdata":{pattern://i,inside:i}};u["language-"+l]={pattern:/[\s\S]+/,inside:n.languages[l]};var s={};s[o]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,function(){return o}),"i"),lookbehind:!0,greedy:!0,inside:u},n.languages.insertBefore("markup","cdata",s)}}),Object.defineProperty(n.languages.markup.tag,"addAttribute",{value:function(o,l){n.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+o+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[l,"language-"+l],inside:n.languages[l]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.xml=n.languages.extend("markup",{}),n.languages.ssml=n.languages.xml,n.languages.atom=n.languages.xml,n.languages.rss=n.languages.xml}}}),ad=N({"../../node_modules/xtend/immutable.js"(e,t){t.exports=n;var r=Object.prototype.hasOwnProperty;function n(){for(var o={},l=0;l4&&v.slice(0,4)===l&&i.test(f)&&(f.charAt(4)==="-"?y=p(f):f=h(f),C=n),new C(y,f))}function p(m){var f=m.slice(5).replace(u,d);return l+f.charAt(0).toUpperCase()+f.slice(1)}function h(m){var f=m.slice(4);return u.test(f)?m:(f=f.replace(s,g),f.charAt(0)!=="-"&&(f="-"+f),l+f)}function g(m){return"-"+m.toLowerCase()}function d(m){return m.charAt(1).toUpperCase()}}}),md=N({"../../node_modules/hast-util-parse-selector/index.js"(e,t){t.exports=n;var r=/[#.]/g;function n(o,l){for(var i=o||"",u=l||"div",s={},c=0,p,h,g;c",Iacute:"Í",Icirc:"Î",Igrave:"Ì",Iuml:"Ï",LT:"<",Ntilde:"Ñ",Oacute:"Ó",Ocirc:"Ô",Ograve:"Ò",Oslash:"Ø",Otilde:"Õ",Ouml:"Ö",QUOT:'"',REG:"®",THORN:"Þ",Uacute:"Ú",Ucirc:"Û",Ugrave:"Ù",Uuml:"Ü",Yacute:"Ý",aacute:"á",acirc:"â",acute:"´",aelig:"æ",agrave:"à",amp:"&",aring:"å",atilde:"ã",auml:"ä",brvbar:"¦",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",ecirc:"ê",egrave:"è",eth:"ð",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",iacute:"í",icirc:"î",iexcl:"¡",igrave:"ì",iquest:"¿",iuml:"ï",laquo:"«",lt:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",oacute:"ó",ocirc:"ô",ograve:"ò",ordf:"ª",ordm:"º",oslash:"ø",otilde:"õ",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',raquo:"»",reg:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",times:"×",uacute:"ú",ucirc:"û",ugrave:"ù",uml:"¨",uuml:"ü",yacute:"ý",yen:"¥",yuml:"ÿ"}}}),xd=N({"../../node_modules/character-reference-invalid/index.json"(e,t){t.exports={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"}}}),ps=N({"../../node_modules/is-decimal/index.js"(e,t){t.exports=r;function r(n){var o=typeof n=="string"?n.charCodeAt(0):n;return o>=48&&o<=57}}}),Ad=N({"../../node_modules/is-hexadecimal/index.js"(e,t){t.exports=r;function r(n){var o=typeof n=="string"?n.charCodeAt(0):n;return o>=97&&o<=102||o>=65&&o<=70||o>=48&&o<=57}}}),wd=N({"../../node_modules/is-alphabetical/index.js"(e,t){t.exports=r;function r(n){var o=typeof n=="string"?n.charCodeAt(0):n;return o>=97&&o<=122||o>=65&&o<=90}}}),Cd=N({"../../node_modules/is-alphanumerical/index.js"(e,t){var r=wd(),n=ps();t.exports=o;function o(l){return r(l)||n(l)}}}),Sd=N({"../../node_modules/parse-entities/node_modules/character-entities/index.json"(e,t){t.exports={AEli:"Æ",AElig:"Æ",AM:"&",AMP:"&",Aacut:"Á",Aacute:"Á",Abreve:"Ă",Acir:"Â",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrav:"À",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Arin:"Å",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atild:"Ã",Atilde:"Ã",Aum:"Ä",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COP:"©",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedi:"Ç",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ET:"Ð",ETH:"Ð",Eacut:"É",Eacute:"É",Ecaron:"Ě",Ecir:"Ê",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrav:"È",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Eum:"Ë",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",G:">",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacut:"Í",Iacute:"Í",Icir:"Î",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrav:"Ì",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Ium:"Ï",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",L:"<",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:` +`,Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntild:"Ñ",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacut:"Ó",Oacute:"Ó",Ocir:"Ô",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograv:"Ò",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslas:"Ø",Oslash:"Ø",Otild:"Õ",Otilde:"Õ",Otimes:"⨷",Oum:"Ö",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUO:'"',QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",RE:"®",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THOR:"Þ",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:" ",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacut:"Ú",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucir:"Û",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrav:"Ù",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uum:"Ü",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacut:"Ý",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacut:"á",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acir:"â",acirc:"â",acut:"´",acute:"´",acy:"а",aeli:"æ",aelig:"æ",af:"⁡",afr:"𝔞",agrav:"à",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",am:"&",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",arin:"å",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atild:"ã",atilde:"ã",aum:"ä",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvba:"¦",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedi:"ç",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedi:"¸",cedil:"¸",cemptyv:"⦲",cen:"¢",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",cop:"©",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curre:"¤",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",de:"°",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divid:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacut:"é",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"ê",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrav:"è",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",et:"ð",eth:"ð",eum:"ë",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac1:"¼",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac3:"¾",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",g:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacut:"í",iacute:"í",ic:"⁣",icir:"î",icirc:"î",icy:"и",iecy:"е",iexc:"¡",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrav:"ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iques:"¿",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",ium:"ï",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laqu:"«",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",l:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",mac:"¯",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micr:"µ",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middo:"·",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbs:" ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",no:"¬",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntild:"ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacut:"ó",oacute:"ó",oast:"⊛",ocir:"ô",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograv:"ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"º",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslas:"ø",oslash:"ø",osol:"⊘",otild:"õ",otilde:"õ",otimes:"⊗",otimesas:"⨶",oum:"ö",ouml:"ö",ovbar:"⌽",par:"¶",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusm:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",poun:"£",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quo:'"',quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raqu:"»",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",re:"®",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sec:"§",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",sh:"­",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szli:"ß",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thor:"þ",thorn:"þ",tilde:"˜",time:"×",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacut:"ú",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucir:"û",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrav:"ù",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",um:"¨",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uum:"ü",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacut:"ý",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",ye:"¥",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yum:"ÿ",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"}}}),kd=N({"../../node_modules/parse-entities/decode-entity.js"(e,t){var r=Sd();t.exports=o;var n={}.hasOwnProperty;function o(l){return n.call(r,l)?r[l]:!1}}}),_d=N({"../../node_modules/parse-entities/index.js"(e,t){var r=Ed(),n=xd(),o=ps(),l=Ad(),i=Cd(),u=kd();t.exports=Y;var s={}.hasOwnProperty,c=String.fromCharCode,p=Function.prototype,h={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},g=9,d=10,m=12,f=32,v=38,y=59,C=60,b=61,E=35,A=88,w=120,k=65533,S="named",O="hexadecimal",R="decimal",T={};T[O]=16,T[R]=10;var L={};L[S]=i,L[R]=o,L[O]=l;var F=1,Z=2,D=3,M=4,j=5,P=6,$=7,H={};H[F]="Named character references must be terminated by a semicolon",H[Z]="Numeric character references must be terminated by a semicolon",H[D]="Named character references cannot be empty",H[M]="Numeric character references cannot be empty",H[j]="Named character references must be known",H[P]="Numeric character references cannot be disallowed",H[$]="Numeric character references cannot be outside the permissible Unicode range";function Y(I,V){var q={},le,me;V||(V={});for(me in h)le=V[me],q[me]=le??h[me];return(q.position.indent||q.position.start)&&(q.indent=q.position.indent||[],q.position=q.position.start),re(I,q)}function re(I,V){var q=V.additional,le=V.nonTerminated,me=V.text,rt=V.reference,Oe=V.warning,je=V.textContext,B=V.referenceContext,Be=V.warningContext,He=V.position,yt=V.indent||[],Tt=I.length,Ne=0,Or=-1,ge=He.column||1,bt=He.line||1,Pe="",Ft=[],Ve,Dt,ze,de,$e,ie,ne,qe,Rr,Fn,vt,Qt,Et,nt,Po,er,Tr,Ue,se;for(typeof q=="string"&&(q=q.charCodeAt(0)),er=tr(),qe=Oe?jc:p,Ne--,Tt++;++Ne65535&&(ie-=65536,Fn+=c(ie>>>10|55296),ie=56320|ie&1023),ie=Fn+c(ie))):nt!==S&&qe(M,Ue)),ie?(Vo(),er=tr(),Ne=se-1,ge+=se-Et+1,Ft.push(ie),Tr=tr(),Tr.offset++,rt&&rt.call(B,ie,{start:er,end:Tr},I.slice(Et-1,se)),er=Tr):(de=I.slice(Et-1,se),Pe+=de,ge+=de.length,Ne=se-1)}else $e===10&&(bt++,Or++,ge=0),$e===$e?(Pe+=c($e),ge++):Vo();return Ft.join("");function tr(){return{line:bt,column:ge,offset:Ne+(He.offset||0)}}function jc(zo,qo){var Dn=tr();Dn.column+=qo,Dn.offset+=qo,Oe.call(Be,H[zo],Dn,zo)}function Vo(){Pe&&(Ft.push(Pe),me&&me.call(je,Pe,{start:er,end:tr()}),Pe="")}}function G(I){return I>=55296&&I<=57343||I>1114111}function J(I){return I>=1&&I<=8||I===11||I>=13&&I<=31||I>=127&&I<=159||I>=64976&&I<=65007||(I&65535)===65535||(I&65535)===65534}}}),Od=N({"../../node_modules/refractor/node_modules/prismjs/components/prism-core.js"(e,t){var r=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{},n=function(o){var l=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,i=0,u={},s={manual:o.Prism&&o.Prism.manual,disableWorkerMessageHandler:o.Prism&&o.Prism.disableWorkerMessageHandler,util:{encode:function b(E){return E instanceof c?new c(E.type,b(E.content),E.alias):Array.isArray(E)?E.map(b):E.replace(/&/g,"&").replace(/"u")return null;if("currentScript"in document&&1<2)return document.currentScript;try{throw new Error}catch(w){var b=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(w.stack)||[])[1];if(b){var E=document.getElementsByTagName("script");for(var A in E)if(E[A].src==b)return E[A]}return null}},isActive:function(b,E,A){for(var w="no-"+E;b;){var k=b.classList;if(k.contains(E))return!0;if(k.contains(w))return!1;b=b.parentElement}return!!A}},languages:{plain:u,plaintext:u,text:u,txt:u,extend:function(b,E){var A=s.util.clone(s.languages[b]);for(var w in E)A[w]=E[w];return A},insertBefore:function(b,E,A,w){w=w||s.languages;var k=w[b],S={};for(var O in k)if(k.hasOwnProperty(O)){if(O==E)for(var R in A)A.hasOwnProperty(R)&&(S[R]=A[R]);A.hasOwnProperty(O)||(S[O]=k[O])}var T=w[b];return w[b]=S,s.languages.DFS(s.languages,function(L,F){F===T&&L!=b&&(this[L]=S)}),S},DFS:function b(E,A,w,k){k=k||{};var S=s.util.objId;for(var O in E)if(E.hasOwnProperty(O)){A.call(E,O,E[O],w||O);var R=E[O],T=s.util.type(R);T==="Object"&&!k[S(R)]?(k[S(R)]=!0,b(R,A,null,k)):T==="Array"&&!k[S(R)]&&(k[S(R)]=!0,b(R,A,O,k))}}},plugins:{},highlightAll:function(b,E){s.highlightAllUnder(document,b,E)},highlightAllUnder:function(b,E,A){var w={callback:A,container:b,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};s.hooks.run("before-highlightall",w),w.elements=Array.prototype.slice.apply(w.container.querySelectorAll(w.selector)),s.hooks.run("before-all-elements-highlight",w);for(var k=0,S;S=w.elements[k++];)s.highlightElement(S,E===!0,w.callback)},highlightElement:function(b,E,A){var w=s.util.getLanguage(b),k=s.languages[w];s.util.setLanguage(b,w);var S=b.parentElement;S&&S.nodeName.toLowerCase()==="pre"&&s.util.setLanguage(S,w);var O=b.textContent,R={element:b,language:w,grammar:k,code:O};function T(F){R.highlightedCode=F,s.hooks.run("before-insert",R),R.element.innerHTML=R.highlightedCode,s.hooks.run("after-highlight",R),s.hooks.run("complete",R),A&&A.call(R.element)}if(s.hooks.run("before-sanity-check",R),S=R.element.parentElement,S&&S.nodeName.toLowerCase()==="pre"&&!S.hasAttribute("tabindex")&&S.setAttribute("tabindex","0"),!R.code){s.hooks.run("complete",R),A&&A.call(R.element);return}if(s.hooks.run("before-highlight",R),!R.grammar){T(s.util.encode(R.code));return}if(E&&o.Worker){var L=new Worker(s.filename);L.onmessage=function(F){T(F.data)},L.postMessage(JSON.stringify({language:R.language,code:R.code,immediateClose:!0}))}else T(s.highlight(R.code,R.grammar,R.language))},highlight:function(b,E,A){var w={code:b,grammar:E,language:A};if(s.hooks.run("before-tokenize",w),!w.grammar)throw new Error('The language "'+w.language+'" has no grammar.');return w.tokens=s.tokenize(w.code,w.grammar),s.hooks.run("after-tokenize",w),c.stringify(s.util.encode(w.tokens),w.language)},tokenize:function(b,E){var A=E.rest;if(A){for(var w in A)E[w]=A[w];delete E.rest}var k=new g;return d(k,k.head,b),h(b,k,E,k.head,0),f(k)},hooks:{all:{},add:function(b,E){var A=s.hooks.all;A[b]=A[b]||[],A[b].push(E)},run:function(b,E){var A=s.hooks.all[b];if(!(!A||!A.length))for(var w=0,k;k=A[w++];)k(E)}},Token:c};o.Prism=s;function c(b,E,A,w){this.type=b,this.content=E,this.alias=A,this.length=(w||"").length|0}c.stringify=function b(E,A){if(typeof E=="string")return E;if(Array.isArray(E)){var w="";return E.forEach(function(T){w+=b(T,A)}),w}var k={type:E.type,content:b(E.content,A),tag:"span",classes:["token",E.type],attributes:{},language:A},S=E.alias;S&&(Array.isArray(S)?Array.prototype.push.apply(k.classes,S):k.classes.push(S)),s.hooks.run("wrap",k);var O="";for(var R in k.attributes)O+=" "+R+'="'+(k.attributes[R]||"").replace(/"/g,""")+'"';return"<"+k.tag+' class="'+k.classes.join(" ")+'"'+O+">"+k.content+""};function p(b,E,A,w){b.lastIndex=E;var k=b.exec(A);if(k&&w&&k[1]){var S=k[1].length;k.index+=S,k[0]=k[0].slice(S)}return k}function h(b,E,A,w,k,S){for(var O in A)if(!(!A.hasOwnProperty(O)||!A[O])){var R=A[O];R=Array.isArray(R)?R:[R];for(var T=0;T=S.reach);H+=$.value.length,$=$.next){var Y=$.value;if(E.length>b.length)return;if(!(Y instanceof c)){var re=1,G;if(D){if(G=p(P,H,b,Z),!G||G.index>=b.length)break;var q=G.index,J=G.index+G[0].length,I=H;for(I+=$.value.length;q>=I;)$=$.next,I+=$.value.length;if(I-=$.value.length,H=I,$.value instanceof c)continue;for(var V=$;V!==E.tail&&(IS.reach&&(S.reach=Oe);var je=$.prev;me&&(je=d(E,je,me),H+=me.length),m(E,je,re);var B=new c(O,F?s.tokenize(le,F):le,M,le);if($=d(E,je,B),rt&&d(E,$,rt),re>1){var Be={cause:O+","+T,reach:Oe};h(b,E,A,$.prev,H,Be),S&&Be.reach>S.reach&&(S.reach=Be.reach)}}}}}}function g(){var b={value:null,prev:null,next:null},E={value:null,prev:b,next:null};b.next=E,this.head=b,this.tail=E,this.length=0}function d(b,E,A){var w=E.next,k={value:A,prev:E,next:w};return E.next=k,w.prev=k,b.length++,k}function m(b,E,A){for(var w=E.next,k=0;k>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+l),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};o.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+l),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:u},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:i}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:u},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:u.entity}}],environment:{pattern:RegExp("\\$?"+l),alias:"constant"},variable:u.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},i.inside=o.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],c=u.variable[1].inside,p=0;p/g,function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source}),g)}o.languages.insertBefore("javascript","keyword",{imports:{pattern:l(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:o.languages.javascript},exports:{pattern:l(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:o.languages.javascript}}),o.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),o.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),o.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:l(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var i=["function","function-variable","method","method-variable","property-access"],u=0;u0)){var f=c(/^\{$/,/^\}$/);if(f===-1)continue;for(var v=i;v=0&&p(y,"variable-input")}}}}})}}});const{logger:Md}=__STORYBOOK_MODULE_CLIENT_LOGGER__;var Bd=_e(os()),$d=Bd.default,Id=_e(Td()),Zd=Id.default,jd=_e(ls()),Hd=jd.default,Nd=_e(Fd()),Pd=Nd.default,Vd=_e(Dd()),zd=Vd.default,qd=_e(Ld()),Ud=qd.default,Wd=_e(is()),Gd=Wd.default,Yd=_e(Q1()),Kd=Yd.default,Jd=_e(ed()),Xd=Jd.default,Qd=_e(td()),ep=Qd.default,tp=_e(as()),rp=tp.default;function np(e,t){if(e==null)return{};var r=qa(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function ca(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=4)return[e[0],e[1],e[2],e[3],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[2],".").concat(e[3]),"".concat(e[3],".").concat(e[0]),"".concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[0]),"".concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[3],".").concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[2],".").concat(e[1],".").concat(e[0])]}var Hn={};function pp(e){if(e.length===0||e.length===1)return e;var t=e.join(".");return Hn[t]||(Hn[t]=dp(e)),Hn[t]}function fp(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=e.filter(function(l){return l!=="token"}),o=pp(n);return o.reduce(function(l,i){return $t($t({},l),r[i])},t)}function yl(e){return e.join(" ")}function mp(e,t){var r=0;return function(n){return r+=1,n.map(function(o,l){return Ga({node:o,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(r,"-").concat(l)})})}}function Ga(e){var t=e.node,r=e.stylesheet,n=e.style,o=n===void 0?{}:n,l=e.useInlineStyles,i=e.key,u=t.properties,s=t.type,c=t.tagName,p=t.value;if(s==="text")return p;if(c){var h=mp(r,l),g;if(!l)g=$t($t({},u),{},{className:yl(u.className)});else{var d=Object.keys(r).reduce(function(y,C){return C.split(".").forEach(function(b){y.includes(b)||y.push(b)}),y},[]),m=u.className&&u.className.includes("token")?["token"]:[],f=u.className&&m.concat(u.className.filter(function(y){return!d.includes(y)}));g=$t($t({},u),{},{className:yl(f)||void 0,style:fp(u.className,Object.assign({},u.style,o),r)})}var v=h(t.children);return a.createElement(c,ve({key:i},g),v)}}var gp=function(e,t){var r=e.listLanguages();return r.indexOf(t)!==-1},hp=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function bl(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Ke(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],n=0;n2&&arguments[2]!==void 0?arguments[2]:[];return Pr({children:A,lineNumber:w,lineNumberStyle:u,largestLineNumber:i,showInlineLineNumbers:o,lineProps:r,className:k,showLineNumbers:n,wrapLongLines:s})}function f(A,w){if(n&&w&&o){var k=gs(u,w,i);A.unshift(ms(w,k))}return A}function v(A,w){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||k.length>0?m(A,w,k):f(A,w)}for(var y=function(){var A=p[d],w=A.children[0].value,k=bp(w);if(k){var S=w.split(` +`);S.forEach(function(O,R){var T=n&&h.length+l,L={type:"text",value:"".concat(O,` +`)};if(R===0){var F=p.slice(g+1,d).concat(Pr({children:[L],className:A.properties.className})),Z=v(F,T);h.push(Z)}else if(R===S.length-1){var D=p[d+1]&&p[d+1].children&&p[d+1].children[0],M={type:"text",value:"".concat(O)};if(D){var j=Pr({children:[M],className:A.properties.className});p.splice(d+1,0,j)}else{var P=[M],$=v(P,T,A.properties.className);h.push($)}}else{var H=[L],Y=v(H,T,A.properties.className);h.push(Y)}}),g=d}d++};d({position:"absolute",bottom:0,right:0,maxWidth:"100%",display:"flex",background:e.background.content,zIndex:1})),bs=_.button(({theme:e})=>({margin:0,border:"0 none",padding:"4px 10px",cursor:"pointer",display:"flex",alignItems:"center",color:e.color.defaultText,background:e.background.content,fontSize:12,lineHeight:"16px",fontFamily:e.typography.fonts.base,fontWeight:e.typography.weight.bold,borderTop:`1px solid ${e.appBorderColor}`,borderLeft:`1px solid ${e.appBorderColor}`,marginLeft:-1,borderRadius:"4px 0 0 0","&:not(:last-child)":{borderRight:`1px solid ${e.appBorderColor}`},"& + *":{borderLeft:`1px solid ${e.appBorderColor}`,borderRadius:0},"&:focus":{boxShadow:`${e.color.secondary} 0 -3px 0 0 inset`,outline:"0 none"}}),({disabled:e})=>e&&{cursor:"not-allowed",opacity:.5});bs.displayName="ActionButton";var Ja=({actionItems:e,...t})=>a.createElement(kp,{...t},e.map(({title:r,className:n,onClick:o,disabled:l},i)=>a.createElement(bs,{key:i,className:n,onClick:o,disabled:l},r))),_p=x.lazy(()=>it(()=>import("./GlobalScrollAreaStyles-XIHNDKUY-399e99ca.js"),["./GlobalScrollAreaStyles-XIHNDKUY-399e99ca.js","./index-ebeaab24.js","./iframe-608d8974.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js"],import.meta.url)),Op=x.lazy(()=>it(()=>import("./OverlayScrollbars-VAV6LJAB-f81de3e5.js"),["./OverlayScrollbars-VAV6LJAB-f81de3e5.js","./index-ebeaab24.js","./iframe-608d8974.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js"],import.meta.url)),Rp=({horizontal:e,vertical:t,...r})=>a.createElement(x.Suspense,{fallback:a.createElement("div",{...r})},a.createElement(_p,null),a.createElement(Op,{options:{scrollbars:{autoHide:"leave"}},...r})),gn=_(Rp)(({vertical:e})=>e?{overflowY:"auto",height:"100%"}:{overflowY:"hidden"},({horizontal:e})=>e?{overflowX:"auto",width:"100%"}:{overflowX:"hidden"});gn.defaultProps={horizontal:!1,vertical:!1};var{navigator:Mr,document:nr,window:Tp}=ye;Le.registerLanguage("jsextra",Pd);Le.registerLanguage("jsx",$d);Le.registerLanguage("json",zd);Le.registerLanguage("yml",Xd);Le.registerLanguage("md",Kd);Le.registerLanguage("bash",Zd);Le.registerLanguage("css",Hd);Le.registerLanguage("html",Gd);Le.registerLanguage("tsx",ep);Le.registerLanguage("typescript",rp);Le.registerLanguage("graphql",Ud);var Fp=Ot(2)(e=>Object.entries(e.code||{}).reduce((t,[r,n])=>({...t,[`* .${r}`]:n}),{})),Dp=vs();function vs(){return Mr!=null&&Mr.clipboard?e=>Mr.clipboard.writeText(e):async e=>{let t=nr.createElement("TEXTAREA"),r=nr.activeElement;t.value=e,nr.body.appendChild(t),t.select(),nr.execCommand("copy"),nr.body.removeChild(t),r.focus()}}var Lp=_.div(({theme:e})=>({position:"relative",overflow:"hidden",color:e.color.defaultText}),({theme:e,bordered:t})=>t?{border:`1px solid ${e.appBorderColor}`,borderRadius:e.borderRadius,background:e.background.content}:{},({showLineNumbers:e})=>e?{".react-syntax-highlighter-line-number::before":{content:"attr(data-line-number)"}}:{}),Mp=({children:e,className:t})=>a.createElement(gn,{horizontal:!0,vertical:!0,className:t},e),Bp=_(Mp)({position:"relative"},({theme:e})=>Fp(e)),$p=_.pre(({theme:e,padded:t})=>({display:"flex",justifyContent:"flex-start",margin:0,padding:t?e.layoutMargin:0})),Ip=_.div(({theme:e})=>({flex:1,paddingLeft:2,paddingRight:e.layoutMargin,opacity:1})),Es=e=>{let t=[...e.children],r=t[0],n=r.children[0].value,o={...r,children:[],properties:{...r.properties,"data-line-number":n,style:{...r.properties.style,userSelect:"auto"}}};return t[0]=o,{...e,children:t}},Zp=({rows:e,stylesheet:t,useInlineStyles:r})=>e.map((n,o)=>Ga({node:Es(n),stylesheet:t,useInlineStyles:r,key:`code-segement${o}`})),jp=(e,t)=>t?e?({rows:r,...n})=>e({rows:r.map(o=>Es(o)),...n}):Zp:e,xs=({children:e,language:t="jsx",copyable:r=!1,bordered:n=!1,padded:o=!1,format:l=!0,formatter:i=null,className:u=null,showLineNumbers:s=!1,...c})=>{if(typeof e!="string"||!e.trim())return null;let p=i?i(l,e):e.trim(),[h,g]=x.useState(!1),d=x.useCallback(f=>{f.preventDefault(),Dp(p).then(()=>{g(!0),Tp.setTimeout(()=>g(!1),1500)}).catch(Md.error)},[p]),m=jp(c.renderer,s);return a.createElement(Lp,{bordered:n,padded:o,showLineNumbers:s,className:u},a.createElement(Bp,null,a.createElement(Le,{padded:o||n,language:t,showLineNumbers:s,showInlineLineNumbers:s,useInlineStyles:!1,PreTag:$p,CodeTag:Ip,lineNumberContainerStyle:{},...c,renderer:m},p)),r?a.createElement(Ja,{actionItems:[{title:h?"Copied":"Copy",onClick:d}]}):null)},fx=xs,Hp=N({"../../node_modules/react-fast-compare/index.js"(e,t){var r=typeof Element<"u",n=typeof Map=="function",o=typeof Set=="function",l=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function i(u,s){if(u===s)return!0;if(u&&s&&typeof u=="object"&&typeof s=="object"){if(u.constructor!==s.constructor)return!1;var c,p,h;if(Array.isArray(u)){if(c=u.length,c!=s.length)return!1;for(p=c;p--!==0;)if(!i(u[p],s[p]))return!1;return!0}var g;if(n&&u instanceof Map&&s instanceof Map){if(u.size!==s.size)return!1;for(g=u.entries();!(p=g.next()).done;)if(!s.has(p.value[0]))return!1;for(g=u.entries();!(p=g.next()).done;)if(!i(p.value[1],s.get(p.value[0])))return!1;return!0}if(o&&u instanceof Set&&s instanceof Set){if(u.size!==s.size)return!1;for(g=u.entries();!(p=g.next()).done;)if(!s.has(p.value[0]))return!1;return!0}if(l&&ArrayBuffer.isView(u)&&ArrayBuffer.isView(s)){if(c=u.length,c!=s.length)return!1;for(p=c;p--!==0;)if(u[p]!==s[p])return!1;return!0}if(u.constructor===RegExp)return u.source===s.source&&u.flags===s.flags;if(u.valueOf!==Object.prototype.valueOf&&typeof u.valueOf=="function"&&typeof s.valueOf=="function")return u.valueOf()===s.valueOf();if(u.toString!==Object.prototype.toString&&typeof u.toString=="function"&&typeof s.toString=="function")return u.toString()===s.toString();if(h=Object.keys(u),c=h.length,c!==Object.keys(s).length)return!1;for(p=c;p--!==0;)if(!Object.prototype.hasOwnProperty.call(s,h[p]))return!1;if(r&&u instanceof Element)return!1;for(p=c;p--!==0;)if(!((h[p]==="_owner"||h[p]==="__v"||h[p]==="__o")&&u.$$typeof)&&!i(u[h[p]],s[h[p]]))return!1;return!0}return u!==u&&s!==s}t.exports=function(u,s){try{return i(u,s)}catch(c){if((c.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw c}}}}),vl=function(e){return e.reduce(function(t,r){var n=r[0],o=r[1];return t[n]=o,t},{})},El=typeof window<"u"&&window.document&&window.document.createElement?x.useLayoutEffect:x.useEffect,xe="top",Fe="bottom",De="right",Ae="left",hn="auto",Sr=[xe,Fe,De,Ae],Nt="start",mr="end",Np="clippingParents",As="viewport",ar="popper",Pp="reference",xl=Sr.reduce(function(e,t){return e.concat([t+"-"+Nt,t+"-"+mr])},[]),ws=[].concat(Sr,[hn]).reduce(function(e,t){return e.concat([t,t+"-"+Nt,t+"-"+mr])},[]),Vp="beforeRead",zp="read",qp="afterRead",Up="beforeMain",Wp="main",Gp="afterMain",Yp="beforeWrite",Kp="write",Jp="afterWrite",Xp=[Vp,zp,qp,Up,Wp,Gp,Yp,Kp,Jp];function tt(e){return e?(e.nodeName||"").toLowerCase():null}function ke(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function _t(e){var t=ke(e).Element;return e instanceof t||e instanceof Element}function Te(e){var t=ke(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Xa(e){if(typeof ShadowRoot>"u")return!1;var t=ke(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Qp(e){var t=e.state;Object.keys(t.elements).forEach(function(r){var n=t.styles[r]||{},o=t.attributes[r]||{},l=t.elements[r];!Te(l)||!tt(l)||(Object.assign(l.style,n),Object.keys(o).forEach(function(i){var u=o[i];u===!1?l.removeAttribute(i):l.setAttribute(i,u===!0?"":u)}))})}function e2(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach(function(n){var o=t.elements[n],l=t.attributes[n]||{},i=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:r[n]),u=i.reduce(function(s,c){return s[c]="",s},{});!Te(o)||!tt(o)||(Object.assign(o.style,u),Object.keys(l).forEach(function(s){o.removeAttribute(s)}))})}}var t2={name:"applyStyles",enabled:!0,phase:"write",fn:Qp,effect:e2,requires:["computeStyles"]};function et(e){return e.split("-")[0]}var St=Math.max,Xr=Math.min,Pt=Math.round;function da(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Cs(){return!/^((?!chrome|android).)*safari/i.test(da())}function Vt(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!1);var n=e.getBoundingClientRect(),o=1,l=1;t&&Te(e)&&(o=e.offsetWidth>0&&Pt(n.width)/e.offsetWidth||1,l=e.offsetHeight>0&&Pt(n.height)/e.offsetHeight||1);var i=_t(e)?ke(e):window,u=i.visualViewport,s=!Cs()&&r,c=(n.left+(s&&u?u.offsetLeft:0))/o,p=(n.top+(s&&u?u.offsetTop:0))/l,h=n.width/o,g=n.height/l;return{width:h,height:g,top:p,right:c+h,bottom:p+g,left:c,x:c,y:p}}function Qa(e){var t=Vt(e),r=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:n}}function Ss(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&Xa(r)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function st(e){return ke(e).getComputedStyle(e)}function r2(e){return["table","td","th"].indexOf(tt(e))>=0}function ht(e){return((_t(e)?e.ownerDocument:e.document)||window.document).documentElement}function yn(e){return tt(e)==="html"?e:e.assignedSlot||e.parentNode||(Xa(e)?e.host:null)||ht(e)}function Al(e){return!Te(e)||st(e).position==="fixed"?null:e.offsetParent}function n2(e){var t=/firefox/i.test(da()),r=/Trident/i.test(da());if(r&&Te(e)){var n=st(e);if(n.position==="fixed")return null}var o=yn(e);for(Xa(o)&&(o=o.host);Te(o)&&["html","body"].indexOf(tt(o))<0;){var l=st(o);if(l.transform!=="none"||l.perspective!=="none"||l.contain==="paint"||["transform","perspective"].indexOf(l.willChange)!==-1||t&&l.willChange==="filter"||t&&l.filter&&l.filter!=="none")return o;o=o.parentNode}return null}function kr(e){for(var t=ke(e),r=Al(e);r&&r2(r)&&st(r).position==="static";)r=Al(r);return r&&(tt(r)==="html"||tt(r)==="body"&&st(r).position==="static")?t:r||n2(e)||t}function eo(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function sr(e,t,r){return St(e,Xr(t,r))}function a2(e,t,r){var n=sr(e,t,r);return n>r?r:n}function ks(){return{top:0,right:0,bottom:0,left:0}}function _s(e){return Object.assign({},ks(),e)}function Os(e,t){return t.reduce(function(r,n){return r[n]=e,r},{})}var o2=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,_s(typeof e!="number"?e:Os(e,Sr))};function l2(e){var t,r=e.state,n=e.name,o=e.options,l=r.elements.arrow,i=r.modifiersData.popperOffsets,u=et(r.placement),s=eo(u),c=[Ae,De].indexOf(u)>=0,p=c?"height":"width";if(!(!l||!i)){var h=o2(o.padding,r),g=Qa(l),d=s==="y"?xe:Ae,m=s==="y"?Fe:De,f=r.rects.reference[p]+r.rects.reference[s]-i[s]-r.rects.popper[p],v=i[s]-r.rects.reference[s],y=kr(l),C=y?s==="y"?y.clientHeight||0:y.clientWidth||0:0,b=f/2-v/2,E=h[d],A=C-g[p]-h[m],w=C/2-g[p]/2+b,k=sr(E,w,A),S=s;r.modifiersData[n]=(t={},t[S]=k,t.centerOffset=k-w,t)}}function i2(e){var t=e.state,r=e.options,n=r.element,o=n===void 0?"[data-popper-arrow]":n;if(o!=null&&!(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o))){if(!Ss(t.elements.popper,o))return;t.elements.arrow=o}}var s2={name:"arrow",enabled:!0,phase:"main",fn:l2,effect:i2,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function zt(e){return e.split("-")[1]}var u2={top:"auto",right:"auto",bottom:"auto",left:"auto"};function c2(e,t){var r=e.x,n=e.y,o=t.devicePixelRatio||1;return{x:Pt(r*o)/o||0,y:Pt(n*o)/o||0}}function wl(e){var t,r=e.popper,n=e.popperRect,o=e.placement,l=e.variation,i=e.offsets,u=e.position,s=e.gpuAcceleration,c=e.adaptive,p=e.roundOffsets,h=e.isFixed,g=i.x,d=g===void 0?0:g,m=i.y,f=m===void 0?0:m,v=typeof p=="function"?p({x:d,y:f}):{x:d,y:f};d=v.x,f=v.y;var y=i.hasOwnProperty("x"),C=i.hasOwnProperty("y"),b=Ae,E=xe,A=window;if(c){var w=kr(r),k="clientHeight",S="clientWidth";if(w===ke(r)&&(w=ht(r),st(w).position!=="static"&&u==="absolute"&&(k="scrollHeight",S="scrollWidth")),w=w,o===xe||(o===Ae||o===De)&&l===mr){E=Fe;var O=h&&w===A&&A.visualViewport?A.visualViewport.height:w[k];f-=O-n.height,f*=s?1:-1}if(o===Ae||(o===xe||o===Fe)&&l===mr){b=De;var R=h&&w===A&&A.visualViewport?A.visualViewport.width:w[S];d-=R-n.width,d*=s?1:-1}}var T=Object.assign({position:u},c&&u2),L=p===!0?c2({x:d,y:f},ke(r)):{x:d,y:f};if(d=L.x,f=L.y,s){var F;return Object.assign({},T,(F={},F[E]=C?"0":"",F[b]=y?"0":"",F.transform=(A.devicePixelRatio||1)<=1?"translate("+d+"px, "+f+"px)":"translate3d("+d+"px, "+f+"px, 0)",F))}return Object.assign({},T,(t={},t[E]=C?f+"px":"",t[b]=y?d+"px":"",t.transform="",t))}function d2(e){var t=e.state,r=e.options,n=r.gpuAcceleration,o=n===void 0?!0:n,l=r.adaptive,i=l===void 0?!0:l,u=r.roundOffsets,s=u===void 0?!0:u,c={placement:et(t.placement),variation:zt(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,wl(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:i,roundOffsets:s})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,wl(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:s})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var p2={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:d2,data:{}},Br={passive:!0};function f2(e){var t=e.state,r=e.instance,n=e.options,o=n.scroll,l=o===void 0?!0:o,i=n.resize,u=i===void 0?!0:i,s=ke(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return l&&c.forEach(function(p){p.addEventListener("scroll",r.update,Br)}),u&&s.addEventListener("resize",r.update,Br),function(){l&&c.forEach(function(p){p.removeEventListener("scroll",r.update,Br)}),u&&s.removeEventListener("resize",r.update,Br)}}var m2={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:f2,data:{}},g2={left:"right",right:"left",bottom:"top",top:"bottom"};function Vr(e){return e.replace(/left|right|bottom|top/g,function(t){return g2[t]})}var h2={start:"end",end:"start"};function Cl(e){return e.replace(/start|end/g,function(t){return h2[t]})}function to(e){var t=ke(e),r=t.pageXOffset,n=t.pageYOffset;return{scrollLeft:r,scrollTop:n}}function ro(e){return Vt(ht(e)).left+to(e).scrollLeft}function y2(e,t){var r=ke(e),n=ht(e),o=r.visualViewport,l=n.clientWidth,i=n.clientHeight,u=0,s=0;if(o){l=o.width,i=o.height;var c=Cs();(c||!c&&t==="fixed")&&(u=o.offsetLeft,s=o.offsetTop)}return{width:l,height:i,x:u+ro(e),y:s}}function b2(e){var t,r=ht(e),n=to(e),o=(t=e.ownerDocument)==null?void 0:t.body,l=St(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),i=St(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),u=-n.scrollLeft+ro(e),s=-n.scrollTop;return st(o||r).direction==="rtl"&&(u+=St(r.clientWidth,o?o.clientWidth:0)-l),{width:l,height:i,x:u,y:s}}function no(e){var t=st(e),r=t.overflow,n=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+n)}function Rs(e){return["html","body","#document"].indexOf(tt(e))>=0?e.ownerDocument.body:Te(e)&&no(e)?e:Rs(yn(e))}function ur(e,t){var r;t===void 0&&(t=[]);var n=Rs(e),o=n===((r=e.ownerDocument)==null?void 0:r.body),l=ke(n),i=o?[l].concat(l.visualViewport||[],no(n)?n:[]):n,u=t.concat(i);return o?u:u.concat(ur(yn(i)))}function pa(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function v2(e,t){var r=Vt(e,!1,t==="fixed");return r.top=r.top+e.clientTop,r.left=r.left+e.clientLeft,r.bottom=r.top+e.clientHeight,r.right=r.left+e.clientWidth,r.width=e.clientWidth,r.height=e.clientHeight,r.x=r.left,r.y=r.top,r}function Sl(e,t,r){return t===As?pa(y2(e,r)):_t(t)?v2(t,r):pa(b2(ht(e)))}function E2(e){var t=ur(yn(e)),r=["absolute","fixed"].indexOf(st(e).position)>=0,n=r&&Te(e)?kr(e):e;return _t(n)?t.filter(function(o){return _t(o)&&Ss(o,n)&&tt(o)!=="body"}):[]}function x2(e,t,r,n){var o=t==="clippingParents"?E2(e):[].concat(t),l=[].concat(o,[r]),i=l[0],u=l.reduce(function(s,c){var p=Sl(e,c,n);return s.top=St(p.top,s.top),s.right=Xr(p.right,s.right),s.bottom=Xr(p.bottom,s.bottom),s.left=St(p.left,s.left),s},Sl(e,i,n));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function Ts(e){var t=e.reference,r=e.element,n=e.placement,o=n?et(n):null,l=n?zt(n):null,i=t.x+t.width/2-r.width/2,u=t.y+t.height/2-r.height/2,s;switch(o){case xe:s={x:i,y:t.y-r.height};break;case Fe:s={x:i,y:t.y+t.height};break;case De:s={x:t.x+t.width,y:u};break;case Ae:s={x:t.x-r.width,y:u};break;default:s={x:t.x,y:t.y}}var c=o?eo(o):null;if(c!=null){var p=c==="y"?"height":"width";switch(l){case Nt:s[c]=s[c]-(t[p]/2-r[p]/2);break;case mr:s[c]=s[c]+(t[p]/2-r[p]/2);break}}return s}function gr(e,t){t===void 0&&(t={});var r=t,n=r.placement,o=n===void 0?e.placement:n,l=r.strategy,i=l===void 0?e.strategy:l,u=r.boundary,s=u===void 0?Np:u,c=r.rootBoundary,p=c===void 0?As:c,h=r.elementContext,g=h===void 0?ar:h,d=r.altBoundary,m=d===void 0?!1:d,f=r.padding,v=f===void 0?0:f,y=_s(typeof v!="number"?v:Os(v,Sr)),C=g===ar?Pp:ar,b=e.rects.popper,E=e.elements[m?C:g],A=x2(_t(E)?E:E.contextElement||ht(e.elements.popper),s,p,i),w=Vt(e.elements.reference),k=Ts({reference:w,element:b,strategy:"absolute",placement:o}),S=pa(Object.assign({},b,k)),O=g===ar?S:w,R={top:A.top-O.top+y.top,bottom:O.bottom-A.bottom+y.bottom,left:A.left-O.left+y.left,right:O.right-A.right+y.right},T=e.modifiersData.offset;if(g===ar&&T){var L=T[o];Object.keys(R).forEach(function(F){var Z=[De,Fe].indexOf(F)>=0?1:-1,D=[xe,Fe].indexOf(F)>=0?"y":"x";R[F]+=L[D]*Z})}return R}function A2(e,t){t===void 0&&(t={});var r=t,n=r.placement,o=r.boundary,l=r.rootBoundary,i=r.padding,u=r.flipVariations,s=r.allowedAutoPlacements,c=s===void 0?ws:s,p=zt(n),h=p?u?xl:xl.filter(function(m){return zt(m)===p}):Sr,g=h.filter(function(m){return c.indexOf(m)>=0});g.length===0&&(g=h);var d=g.reduce(function(m,f){return m[f]=gr(e,{placement:f,boundary:o,rootBoundary:l,padding:i})[et(f)],m},{});return Object.keys(d).sort(function(m,f){return d[m]-d[f]})}function w2(e){if(et(e)===hn)return[];var t=Vr(e);return[Cl(e),t,Cl(t)]}function C2(e){var t=e.state,r=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var o=r.mainAxis,l=o===void 0?!0:o,i=r.altAxis,u=i===void 0?!0:i,s=r.fallbackPlacements,c=r.padding,p=r.boundary,h=r.rootBoundary,g=r.altBoundary,d=r.flipVariations,m=d===void 0?!0:d,f=r.allowedAutoPlacements,v=t.options.placement,y=et(v),C=y===v,b=s||(C||!m?[Vr(v)]:w2(v)),E=[v].concat(b).reduce(function(J,I){return J.concat(et(I)===hn?A2(t,{placement:I,boundary:p,rootBoundary:h,padding:c,flipVariations:m,allowedAutoPlacements:f}):I)},[]),A=t.rects.reference,w=t.rects.popper,k=new Map,S=!0,O=E[0],R=0;R=0,D=Z?"width":"height",M=gr(t,{placement:T,boundary:p,rootBoundary:h,altBoundary:g,padding:c}),j=Z?F?De:Ae:F?Fe:xe;A[D]>w[D]&&(j=Vr(j));var P=Vr(j),$=[];if(l&&$.push(M[L]<=0),u&&$.push(M[j]<=0,M[P]<=0),$.every(function(J){return J})){O=T,S=!1;break}k.set(T,$)}if(S)for(var H=m?3:1,Y=function(J){var I=E.find(function(V){var q=k.get(V);if(q)return q.slice(0,J).every(function(le){return le})});if(I)return O=I,"break"},re=H;re>0;re--){var G=Y(re);if(G==="break")break}t.placement!==O&&(t.modifiersData[n]._skip=!0,t.placement=O,t.reset=!0)}}var S2={name:"flip",enabled:!0,phase:"main",fn:C2,requiresIfExists:["offset"],data:{_skip:!1}};function kl(e,t,r){return r===void 0&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function _l(e){return[xe,De,Fe,Ae].some(function(t){return e[t]>=0})}function k2(e){var t=e.state,r=e.name,n=t.rects.reference,o=t.rects.popper,l=t.modifiersData.preventOverflow,i=gr(t,{elementContext:"reference"}),u=gr(t,{altBoundary:!0}),s=kl(i,n),c=kl(u,o,l),p=_l(s),h=_l(c);t.modifiersData[r]={referenceClippingOffsets:s,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":h})}var _2={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:k2};function O2(e,t,r){var n=et(e),o=[Ae,xe].indexOf(n)>=0?-1:1,l=typeof r=="function"?r(Object.assign({},t,{placement:e})):r,i=l[0],u=l[1];return i=i||0,u=(u||0)*o,[Ae,De].indexOf(n)>=0?{x:u,y:i}:{x:i,y:u}}function R2(e){var t=e.state,r=e.options,n=e.name,o=r.offset,l=o===void 0?[0,0]:o,i=ws.reduce(function(p,h){return p[h]=O2(h,t.rects,l),p},{}),u=i[t.placement],s=u.x,c=u.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=s,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=i}var T2={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:R2};function F2(e){var t=e.state,r=e.name;t.modifiersData[r]=Ts({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var D2={name:"popperOffsets",enabled:!0,phase:"read",fn:F2,data:{}};function L2(e){return e==="x"?"y":"x"}function M2(e){var t=e.state,r=e.options,n=e.name,o=r.mainAxis,l=o===void 0?!0:o,i=r.altAxis,u=i===void 0?!1:i,s=r.boundary,c=r.rootBoundary,p=r.altBoundary,h=r.padding,g=r.tether,d=g===void 0?!0:g,m=r.tetherOffset,f=m===void 0?0:m,v=gr(t,{boundary:s,rootBoundary:c,padding:h,altBoundary:p}),y=et(t.placement),C=zt(t.placement),b=!C,E=eo(y),A=L2(E),w=t.modifiersData.popperOffsets,k=t.rects.reference,S=t.rects.popper,O=typeof f=="function"?f(Object.assign({},t.rects,{placement:t.placement})):f,R=typeof O=="number"?{mainAxis:O,altAxis:O}:Object.assign({mainAxis:0,altAxis:0},O),T=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,L={x:0,y:0};if(w){if(l){var F,Z=E==="y"?xe:Ae,D=E==="y"?Fe:De,M=E==="y"?"height":"width",j=w[E],P=j+v[Z],$=j-v[D],H=d?-S[M]/2:0,Y=C===Nt?k[M]:S[M],re=C===Nt?-S[M]:-k[M],G=t.elements.arrow,J=d&&G?Qa(G):{width:0,height:0},I=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:ks(),V=I[Z],q=I[D],le=sr(0,k[M],J[M]),me=b?k[M]/2-H-le-V-R.mainAxis:Y-le-V-R.mainAxis,rt=b?-k[M]/2+H+le+q+R.mainAxis:re+le+q+R.mainAxis,Oe=t.elements.arrow&&kr(t.elements.arrow),je=Oe?E==="y"?Oe.clientTop||0:Oe.clientLeft||0:0,B=(F=T==null?void 0:T[E])!=null?F:0,Be=j+me-B-je,He=j+rt-B,yt=sr(d?Xr(P,Be):P,j,d?St($,He):$);w[E]=yt,L[E]=yt-j}if(u){var Tt,Ne=E==="x"?xe:Ae,Or=E==="x"?Fe:De,ge=w[A],bt=A==="y"?"height":"width",Pe=ge+v[Ne],Ft=ge-v[Or],Ve=[xe,Ae].indexOf(y)!==-1,Dt=(Tt=T==null?void 0:T[A])!=null?Tt:0,ze=Ve?Pe:ge-k[bt]-S[bt]-Dt+R.altAxis,de=Ve?ge+k[bt]+S[bt]-Dt-R.altAxis:Ft,$e=d&&Ve?a2(ze,ge,de):sr(d?ze:Pe,ge,d?de:Ft);w[A]=$e,L[A]=$e-ge}t.modifiersData[n]=L}}var B2={name:"preventOverflow",enabled:!0,phase:"main",fn:M2,requiresIfExists:["offset"]};function $2(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function I2(e){return e===ke(e)||!Te(e)?to(e):$2(e)}function Z2(e){var t=e.getBoundingClientRect(),r=Pt(t.width)/e.offsetWidth||1,n=Pt(t.height)/e.offsetHeight||1;return r!==1||n!==1}function j2(e,t,r){r===void 0&&(r=!1);var n=Te(t),o=Te(t)&&Z2(t),l=ht(t),i=Vt(e,o,r),u={scrollLeft:0,scrollTop:0},s={x:0,y:0};return(n||!n&&!r)&&((tt(t)!=="body"||no(l))&&(u=I2(t)),Te(t)?(s=Vt(t,!0),s.x+=t.clientLeft,s.y+=t.clientTop):l&&(s.x=ro(l))),{x:i.left+u.scrollLeft-s.x,y:i.top+u.scrollTop-s.y,width:i.width,height:i.height}}function H2(e){var t=new Map,r=new Set,n=[];e.forEach(function(l){t.set(l.name,l)});function o(l){r.add(l.name);var i=[].concat(l.requires||[],l.requiresIfExists||[]);i.forEach(function(u){if(!r.has(u)){var s=t.get(u);s&&o(s)}}),n.push(l)}return e.forEach(function(l){r.has(l.name)||o(l)}),n}function N2(e){var t=H2(e);return Xp.reduce(function(r,n){return r.concat(t.filter(function(o){return o.phase===n}))},[])}function P2(e){var t;return function(){return t||(t=new Promise(function(r){Promise.resolve().then(function(){t=void 0,r(e())})})),t}}function V2(e){var t=e.reduce(function(r,n){var o=r[n.name];return r[n.name]=o?Object.assign({},o,n,{options:Object.assign({},o.options,n.options),data:Object.assign({},o.data,n.data)}):n,r},{});return Object.keys(t).map(function(r){return t[r]})}var Ol={placement:"bottom",modifiers:[],strategy:"absolute"};function Rl(){for(var e=arguments.length,t=new Array(e),r=0;rt.split("-")[0]===e?r:n),ct=8,e5=_.div({position:"absolute",borderStyle:"solid"},({placement:e})=>{let t=0,r=0;switch(!0){case(e.startsWith("left")||e.startsWith("right")):{r=8;break}case(e.startsWith("top")||e.startsWith("bottom")):{t=8;break}}return{transform:`translate3d(${t}px, ${r}px, 0px)`}},({theme:e,color:t,placement:r})=>({bottom:`${Re("top",r,`${ct*-1}px`,"auto")}`,top:`${Re("bottom",r,`${ct*-1}px`,"auto")}`,right:`${Re("left",r,`${ct*-1}px`,"auto")}`,left:`${Re("right",r,`${ct*-1}px`,"auto")}`,borderBottomWidth:`${Re("top",r,"0",ct)}px`,borderTopWidth:`${Re("bottom",r,"0",ct)}px`,borderRightWidth:`${Re("left",r,"0",ct)}px`,borderLeftWidth:`${Re("right",r,"0",ct)}px`,borderTopColor:Re("top",r,e.color[t]||t||e.base==="light"?ir(e.background.app):e.background.app,"transparent"),borderBottomColor:Re("bottom",r,e.color[t]||t||e.base==="light"?ir(e.background.app):e.background.app,"transparent"),borderLeftColor:Re("left",r,e.color[t]||t||e.base==="light"?ir(e.background.app):e.background.app,"transparent"),borderRightColor:Re("right",r,e.color[t]||t||e.base==="light"?ir(e.background.app):e.background.app,"transparent")})),t5=_.div(({hidden:e})=>({display:e?"none":"inline-block",zIndex:2147483647}),({theme:e,color:t,hasChrome:r})=>r?{background:e.color[t]||t||e.base==="light"?ir(e.background.app):e.background.app,filter:` + drop-shadow(0px 5px 5px rgba(0,0,0,0.05)) + drop-shadow(0 1px 3px rgba(0,0,0,0.1)) + `,borderRadius:e.appBorderRadius,fontSize:e.typography.size.s1}:{}),ao=a.forwardRef(({placement:e,hasChrome:t,children:r,arrowProps:n,tooltipRef:o,color:l,withArrows:i,...u},s)=>a.createElement(t5,{"data-testid":"tooltip",hasChrome:t,ref:s,...u,color:l},t&&i&&a.createElement(e5,{placement:e,...n,color:l}),r));ao.displayName="Tooltip";ao.defaultProps={color:void 0,tooltipRef:void 0,hasChrome:!0,placement:"top",arrowProps:{}};var{document:zr}=ye,r5=_.div` + display: inline-block; + cursor: ${e=>e.trigger==="hover"||e.trigger.includes("hover")?"default":"pointer"}; +`,n5=_.g` + cursor: ${e=>e.trigger==="hover"||e.trigger.includes("hover")?"default":"pointer"}; +`,Ls=({svg:e,trigger:t,closeOnOutsideClick:r,placement:n,hasChrome:o,withArrows:l,offset:i,tooltip:u,children:s,closeOnTriggerHidden:c,mutationObserverOptions:p,closeOnClick:h,tooltipShown:g,onVisibilityChange:d,defaultVisible:m,delayHide:f,visible:v,interactive:y,delayShow:C,modifiers:b,strategy:E,followCursor:A,onVisibleChange:w,...k})=>{let S=e?n5:r5,{getArrowProps:O,getTooltipProps:R,setTooltipRef:T,setTriggerRef:L,visible:F,state:Z}=Q2({trigger:t,placement:n,defaultVisible:m??g,delayHide:f,interactive:y,closeOnOutsideClick:r??h,closeOnTriggerHidden:c,onVisibleChange:M=>{d==null||d(M),w==null||w(M)},delayShow:C,followCursor:A,mutationObserverOptions:p,visible:v,offset:i},{modifiers:b,strategy:E}),D=a.createElement(ao,{placement:Z==null?void 0:Z.placement,ref:T,hasChrome:o,arrowProps:O(),withArrows:l,...R()},typeof u=="function"?u({onHide:()=>w(!1)}):u);return a.createElement(a.Fragment,null,a.createElement(S,{trigger:t,ref:L,...k},s),F&&Vc.createPortal(D,zr.body))};Ls.defaultProps={svg:!1,trigger:"click",closeOnOutsideClick:!1,placement:"top",modifiers:[{name:"preventOverflow",options:{padding:8}},{name:"offset",options:{offset:[8,8]}},{name:"arrow",options:{padding:8}}],hasChrome:!0,defaultVisible:!1};var a5=({startOpen:e=!1,onVisibleChange:t,...r})=>{let[n,o]=x.useState(e),l=x.useCallback(i=>{t&&t(i)===!1||o(i)},[t]);return x.useEffect(()=>{let i=()=>l(!1);zr.addEventListener("keydown",i,!1);let u=Array.from(zr.getElementsByTagName("iframe")),s=[];return u.forEach(c=>{let p=()=>{try{c.contentWindow.document&&(c.contentWindow.document.addEventListener("click",i),s.push(()=>{try{c.contentWindow.document.removeEventListener("click",i)}catch{}}))}catch{}};p(),c.addEventListener("load",p),s.push(()=>{c.removeEventListener("load",p)})}),()=>{zr.removeEventListener("keydown",i),s.forEach(c=>{c()})}}),a.createElement(Ls,{...r,visible:n,onVisibleChange:l})};function o5(e,t){var r=x.useRef(null),n=x.useRef(null);n.current=t;var o=x.useRef(null);x.useEffect(function(){l()});var l=x.useCallback(function(){var i=o.current,u=n.current,s=i||(u?u instanceof Element?u:u.current:null);r.current&&r.current.element===s&&r.current.subscriber===e||(r.current&&r.current.cleanup&&r.current.cleanup(),r.current={element:s,subscriber:e,cleanup:s?e(s):void 0})},[e]);return x.useEffect(function(){return function(){r.current&&r.current.cleanup&&(r.current.cleanup(),r.current=null)}},[]),x.useCallback(function(i){o.current=i,l()},[l])}function Dl(e,t,r){return e[t]?e[t][0]?e[t][0][r]:e[t][r]:t==="contentBoxSize"?e.contentRect[r==="inlineSize"?"width":"height"]:void 0}function Ms(e){e===void 0&&(e={});var t=e.onResize,r=x.useRef(void 0);r.current=t;var n=e.round||Math.round,o=x.useRef(),l=x.useState({width:void 0,height:void 0}),i=l[0],u=l[1],s=x.useRef(!1);x.useEffect(function(){return s.current=!1,function(){s.current=!0}},[]);var c=x.useRef({width:void 0,height:void 0}),p=o5(x.useCallback(function(h){return(!o.current||o.current.box!==e.box||o.current.round!==n)&&(o.current={box:e.box,round:n,instance:new ResizeObserver(function(g){var d=g[0],m=e.box==="border-box"?"borderBoxSize":e.box==="device-pixel-content-box"?"devicePixelContentBoxSize":"contentBoxSize",f=Dl(d,m,"inlineSize"),v=Dl(d,m,"blockSize"),y=f?n(f):void 0,C=v?n(v):void 0;if(c.current.width!==y||c.current.height!==C){var b={width:y,height:C};c.current.width=y,c.current.height=C,r.current?r.current(b):s.current||u(b)}})}),o.current.instance.observe(h,{box:e.box}),function(){o.current&&o.current.instance.unobserve(h)}},[e.box,n]),e.ref);return x.useMemo(function(){return{ref:p,width:i.width,height:i.height}},[p,i.width,i.height])}var l5=Object.create,Bs=Object.defineProperty,i5=Object.getOwnPropertyDescriptor,s5=Object.getOwnPropertyNames,u5=Object.getPrototypeOf,c5=Object.prototype.hasOwnProperty,d5=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),p5=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of s5(t))!c5.call(e,o)&&o!==r&&Bs(e,o,{get:()=>t[o],enumerable:!(n=i5(t,o))||n.enumerable});return e},f5=(e,t,r)=>(r=e!=null?l5(u5(e)):{},p5(t||!e||!e.__esModule?Bs(r,"default",{value:e,enumerable:!0}):r,e)),m5=d5(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isEqual=function(){var t=Object.prototype.toString,r=Object.getPrototypeOf,n=Object.getOwnPropertySymbols?function(o){return Object.keys(o).concat(Object.getOwnPropertySymbols(o))}:Object.keys;return function(o,l){return function i(u,s,c){var p,h,g,d=t.call(u),m=t.call(s);if(u===s)return!0;if(u==null||s==null)return!1;if(c.indexOf(u)>-1&&c.indexOf(s)>-1)return!0;if(c.push(u,s),d!=m||(p=n(u),h=n(s),p.length!=h.length||p.some(function(f){return!i(u[f],s[f],c)})))return!1;switch(d.slice(8,-1)){case"Symbol":return u.valueOf()==s.valueOf();case"Date":case"Number":return+u==+s||+u!=+u&&+s!=+s;case"RegExp":case"Function":case"String":case"Boolean":return""+u==""+s;case"Set":case"Map":p=u.entries(),h=s.entries();do if(!i((g=p.next()).value,h.next().value,c))return!1;while(!g.done);return!0;case"ArrayBuffer":u=new Uint8Array(u),s=new Uint8Array(s);case"DataView":u=new Uint8Array(u.buffer),s=new Uint8Array(s.buffer);case"Float32Array":case"Float64Array":case"Int8Array":case"Int16Array":case"Int32Array":case"Uint8Array":case"Uint16Array":case"Uint32Array":case"Uint8ClampedArray":case"Arguments":case"Array":if(u.length!=s.length)return!1;for(g=0;ge.map(t=>typeof t<"u").filter(Boolean).length,g5=(e,t)=>{let{exists:r,eq:n,neq:o,truthy:l}=e;if($s([r,n,o,l])>1)throw new Error(`Invalid conditional test ${JSON.stringify({exists:r,eq:n,neq:o})}`);if(typeof n<"u")return(0,Ll.isEqual)(t,n);if(typeof o<"u")return!(0,Ll.isEqual)(t,o);if(typeof r<"u"){let i=typeof t<"u";return r?i:!i}return typeof l>"u"||l?!!t:!t},h5=(e,t,r)=>{if(!e.if)return!0;let{arg:n,global:o}=e.if;if($s([n,o])!==1)throw new Error(`Invalid conditional value ${JSON.stringify({arg:n,global:o})}`);let l=n?t[n]:r[o];return g5(e.if,l)},Is=e=>e.toLowerCase().replace(/[ ’–—―′¿'`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi,"-").replace(/-+/g,"-").replace(/^-+/,"").replace(/-+$/,""),Q=({...e},t)=>{let r=[e.class,e.className];return delete e.class,e.className=["sbdocs",`sbdocs-${t}`,...r].filter(Boolean).join(" "),e};function y5(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function hr(e,t){return hr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},hr(e,t)}function b5(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,hr(e,t)}function fa(e){return fa=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},fa(e)}function v5(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function E5(){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 qr(e,t,r){return E5()?qr=Reflect.construct.bind():qr=function(n,o,l){var i=[null];i.push.apply(i,o);var u=Function.bind.apply(n,i),s=new u;return l&&hr(s,l.prototype),s},qr.apply(null,arguments)}function ma(e){var t=typeof Map=="function"?new Map:void 0;return ma=function(r){if(r===null||!v5(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(r))return t.get(r);t.set(r,n)}function n(){return qr(r,arguments,fa(this).constructor)}return n.prototype=Object.create(r.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),hr(n,r)},ma(e)}var Je=function(e){b5(t,e);function t(r){var n;return n=e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+r+" for more information.")||this,y5(n)}return t}(ma(Error));function Nn(e){return Math.round(e*255)}function x5(e,t,r){return Nn(e)+","+Nn(t)+","+Nn(r)}function yr(e,t,r,n){if(n===void 0&&(n=x5),t===0)return n(r,r,r);var o=(e%360+360)%360/60,l=(1-Math.abs(2*r-1))*t,i=l*(1-Math.abs(o%2-1)),u=0,s=0,c=0;o>=0&&o<1?(u=l,s=i):o>=1&&o<2?(u=i,s=l):o>=2&&o<3?(s=l,c=i):o>=3&&o<4?(s=i,c=l):o>=4&&o<5?(u=i,c=l):o>=5&&o<6&&(u=l,c=i);var p=r-l/2,h=u+p,g=s+p,d=c+p;return n(h,g,d)}var Ml={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function A5(e){if(typeof e!="string")return e;var t=e.toLowerCase();return Ml[t]?"#"+Ml[t]:e}var w5=/^#[a-fA-F0-9]{6}$/,C5=/^#[a-fA-F0-9]{8}$/,S5=/^#[a-fA-F0-9]{3}$/,k5=/^#[a-fA-F0-9]{4}$/,Pn=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,_5=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,O5=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,R5=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function oo(e){if(typeof e!="string")throw new Je(3);var t=A5(e);if(t.match(w5))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(C5)){var r=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:r}}if(t.match(S5))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(k5)){var n=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:n}}var o=Pn.exec(t);if(o)return{red:parseInt(""+o[1],10),green:parseInt(""+o[2],10),blue:parseInt(""+o[3],10)};var l=_5.exec(t.substring(0,50));if(l)return{red:parseInt(""+l[1],10),green:parseInt(""+l[2],10),blue:parseInt(""+l[3],10),alpha:parseFloat(""+l[4])>1?parseFloat(""+l[4])/100:parseFloat(""+l[4])};var i=O5.exec(t);if(i){var u=parseInt(""+i[1],10),s=parseInt(""+i[2],10)/100,c=parseInt(""+i[3],10)/100,p="rgb("+yr(u,s,c)+")",h=Pn.exec(p);if(!h)throw new Je(4,t,p);return{red:parseInt(""+h[1],10),green:parseInt(""+h[2],10),blue:parseInt(""+h[3],10)}}var g=R5.exec(t.substring(0,50));if(g){var d=parseInt(""+g[1],10),m=parseInt(""+g[2],10)/100,f=parseInt(""+g[3],10)/100,v="rgb("+yr(d,m,f)+")",y=Pn.exec(v);if(!y)throw new Je(4,t,v);return{red:parseInt(""+y[1],10),green:parseInt(""+y[2],10),blue:parseInt(""+y[3],10),alpha:parseFloat(""+g[4])>1?parseFloat(""+g[4])/100:parseFloat(""+g[4])}}throw new Je(5)}function T5(e){var t=e.red/255,r=e.green/255,n=e.blue/255,o=Math.max(t,r,n),l=Math.min(t,r,n),i=(o+l)/2;if(o===l)return e.alpha!==void 0?{hue:0,saturation:0,lightness:i,alpha:e.alpha}:{hue:0,saturation:0,lightness:i};var u,s=o-l,c=i>.5?s/(2-o-l):s/(o+l);switch(o){case t:u=(r-n)/s+(r=1?Qr(e,t,r):"rgba("+yr(e,t,r)+","+n+")";if(typeof e=="object"&&t===void 0&&r===void 0&&n===void 0)return e.alpha>=1?Qr(e.hue,e.saturation,e.lightness):"rgba("+yr(e.hue,e.saturation,e.lightness)+","+e.alpha+")";throw new Je(2)}function ha(e,t,r){if(typeof e=="number"&&typeof t=="number"&&typeof r=="number")return ga("#"+xt(e)+xt(t)+xt(r));if(typeof e=="object"&&t===void 0&&r===void 0)return ga("#"+xt(e.red)+xt(e.green)+xt(e.blue));throw new Je(6)}function ot(e,t,r,n){if(typeof e=="string"&&typeof t=="number"){var o=oo(e);return"rgba("+o.red+","+o.green+","+o.blue+","+t+")"}else{if(typeof e=="number"&&typeof t=="number"&&typeof r=="number"&&typeof n=="number")return n>=1?ha(e,t,r):"rgba("+e+","+t+","+r+","+n+")";if(typeof e=="object"&&t===void 0&&r===void 0&&n===void 0)return e.alpha>=1?ha(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")"}throw new Je(7)}var B5=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&(typeof e.alpha!="number"||typeof e.alpha>"u")},$5=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&typeof e.alpha=="number"},I5=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&(typeof e.alpha!="number"||typeof e.alpha>"u")},Z5=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&typeof e.alpha=="number"};function js(e){if(typeof e!="object")throw new Je(8);if($5(e))return ot(e);if(B5(e))return ha(e);if(Z5(e))return M5(e);if(I5(e))return L5(e);throw new Je(8)}function Hs(e,t,r){return function(){var n=r.concat(Array.prototype.slice.call(arguments));return n.length>=t?e.apply(this,n):Hs(e,t,n)}}function lo(e){return Hs(e,e.length,[])}function io(e,t,r){return Math.max(e,Math.min(t,r))}function j5(e,t){if(t==="transparent")return t;var r=Zs(t);return js(ve({},r,{lightness:io(0,1,r.lightness-parseFloat(e))}))}var H5=lo(j5),It=H5;function N5(e,t){if(t==="transparent")return t;var r=Zs(t);return js(ve({},r,{lightness:io(0,1,r.lightness+parseFloat(e))}))}var P5=lo(N5),V5=P5;function z5(e,t){if(t==="transparent")return t;var r=oo(t),n=typeof r.alpha=="number"?r.alpha:1,o=ve({},r,{alpha:io(0,1,+(n*100-parseFloat(e)*100).toFixed(2)/100)});return ot(o)}var q5=lo(z5),Ee=q5,Yt=({theme:e})=>({margin:"20px 0 8px",padding:0,cursor:"text",position:"relative",color:e.color.defaultText,"&:first-of-type":{marginTop:0,paddingTop:0},"&:hover a.anchor":{textDecoration:"none"},"& tt, & code":{fontSize:"inherit"}}),ut=({theme:e})=>({lineHeight:1,margin:"0 2px",padding:"3px 5px",whiteSpace:"nowrap",borderRadius:3,fontSize:e.typography.size.s2-1,border:e.base==="light"?`1px solid ${e.color.mediumlight}`:`1px solid ${e.color.darker}`,color:e.base==="light"?Ee(.1,e.color.defaultText):Ee(.3,e.color.defaultText),backgroundColor:e.base==="light"?e.color.lighter:e.color.border}),te=({theme:e})=>({fontFamily:e.typography.fonts.base,fontSize:e.typography.size.s3,margin:0,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",WebkitOverflowScrolling:"touch"}),Rt={margin:"16px 0"},U5=({href:e,children:t,...r})=>{let n=/^\//.test(e),o=/^#.*/.test(e),l=n?`./?path=${e}`:e;return a.createElement("a",{href:l,target:o?"_self":"_top",...r},t)},Ns=_(U5)(te,({theme:e})=>({fontSize:"inherit",lineHeight:"24px",color:e.color.secondary,textDecoration:"none","&.absent":{color:"#cc0000"},"&.anchor":{display:"block",paddingLeft:30,marginLeft:-30,cursor:"pointer",position:"absolute",top:0,left:0,bottom:0}})),Ps=_.blockquote(te,Rt,({theme:e})=>({borderLeft:`4px solid ${e.color.medium}`,padding:"0 15px",color:e.color.dark,"& > :first-of-type":{marginTop:0},"& > :last-child":{marginBottom:0}})),W5=e=>typeof e=="string",G5=/[\n\r]/g,Y5=_.code(({theme:e})=>({fontFamily:e.typography.fonts.mono,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",display:"inline-block",paddingLeft:2,paddingRight:2,verticalAlign:"baseline",color:"inherit"}),ut),K5=_(xs)(({theme:e})=>({fontFamily:e.typography.fonts.mono,fontSize:`${e.typography.size.s2-1}px`,lineHeight:"19px",margin:"25px 0 40px",borderRadius:e.appBorderRadius,boxShadow:e.base==="light"?"rgba(0, 0, 0, 0.10) 0 1px 3px 0":"rgba(0, 0, 0, 0.20) 0 2px 5px 0","pre.prismjs":{padding:20,background:"inherit"}})),so=({className:e,children:t,...r})=>{let n=(e||"").match(/lang-(\S+)/),o=x.Children.toArray(t);return o.filter(W5).some(l=>l.match(G5))?a.createElement(K5,{bordered:!0,copyable:!0,language:(n==null?void 0:n[1])??"plaintext",format:!1,...r},t):a.createElement(Y5,{...r,className:e},o)},Vs=_.div(te),zs=_.dl(te,{...Rt,padding:0,"& dt":{fontSize:"14px",fontWeight:"bold",fontStyle:"italic",padding:0,margin:"16px 0 4px"},"& dt:first-of-type":{padding:0},"& dt > :first-of-type":{marginTop:0},"& dt > :last-child":{marginBottom:0},"& dd":{margin:"0 0 16px",padding:"0 15px"},"& dd > :first-of-type":{marginTop:0},"& dd > :last-child":{marginBottom:0}}),qs=_.h1(te,Yt,({theme:e})=>({fontSize:`${e.typography.size.l1}px`,fontWeight:e.typography.weight.bold})),uo=_.h2(te,Yt,({theme:e})=>({fontSize:`${e.typography.size.m2}px`,paddingBottom:4,borderBottom:`1px solid ${e.appBorderColor}`})),co=_.h3(te,Yt,({theme:e})=>({fontSize:`${e.typography.size.m1}px`})),Us=_.h4(te,Yt,({theme:e})=>({fontSize:`${e.typography.size.s3}px`})),Ws=_.h5(te,Yt,({theme:e})=>({fontSize:`${e.typography.size.s2}px`})),Gs=_.h6(te,Yt,({theme:e})=>({fontSize:`${e.typography.size.s2}px`,color:e.color.dark})),Ys=_.hr(({theme:e})=>({border:"0 none",borderTop:`1px solid ${e.appBorderColor}`,height:4,padding:0})),Ks=_.img({maxWidth:"100%"}),Js=_.li(te,({theme:e})=>({fontSize:e.typography.size.s2,color:e.color.defaultText,lineHeight:"24px","& + li":{marginTop:".25em"},"& ul, & ol":{marginTop:".25em",marginBottom:0},"& code":ut({theme:e})})),J5={paddingLeft:30,"& :first-of-type":{marginTop:0},"& :last-child":{marginBottom:0}},Xs=_.ol(te,Rt,{...J5,listStyle:"decimal"}),Qs=_.p(te,Rt,({theme:e})=>({fontSize:e.typography.size.s2,lineHeight:"24px",color:e.color.defaultText,"& code":ut({theme:e})})),eu=_.pre(te,Rt,({theme:e})=>({fontFamily:e.typography.fonts.mono,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",lineHeight:"18px",padding:"11px 1rem",whiteSpace:"pre-wrap",color:"inherit",borderRadius:3,margin:"1rem 0","&:not(.prismjs)":{background:"transparent",border:"none",borderRadius:0,padding:0,margin:0},"& pre, &.prismjs":{padding:15,margin:0,whiteSpace:"pre-wrap",color:"inherit",fontSize:"13px",lineHeight:"19px",code:{color:"inherit",fontSize:"inherit"}},"& code":{whiteSpace:"pre"},"& code, & tt":{border:"none"}})),tu=_.span(te,({theme:e})=>({"&.frame":{display:"block",overflow:"hidden","& > span":{border:`1px solid ${e.color.medium}`,display:"block",float:"left",overflow:"hidden",margin:"13px 0 0",padding:7,width:"auto"},"& span img":{display:"block",float:"left"},"& span span":{clear:"both",color:e.color.darkest,display:"block",padding:"5px 0 0"}},"&.align-center":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"center"},"& span img":{margin:"0 auto",textAlign:"center"}},"&.align-right":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px 0 0",textAlign:"right"},"& span img":{margin:0,textAlign:"right"}},"&.float-left":{display:"block",marginRight:13,overflow:"hidden",float:"left","& span":{margin:"13px 0 0"}},"&.float-right":{display:"block",marginLeft:13,overflow:"hidden",float:"right","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"right"}}})),ru=_.table(te,Rt,({theme:e})=>({fontSize:e.typography.size.s2,lineHeight:"24px",padding:0,borderCollapse:"collapse","& tr":{borderTop:`1px solid ${e.appBorderColor}`,backgroundColor:e.appContentBg,margin:0,padding:0},"& tr:nth-of-type(2n)":{backgroundColor:e.base==="dark"?e.color.darker:e.color.lighter},"& tr th":{fontWeight:"bold",color:e.color.defaultText,border:`1px solid ${e.appBorderColor}`,margin:0,padding:"6px 13px"},"& tr td":{border:`1px solid ${e.appBorderColor}`,color:e.color.defaultText,margin:0,padding:"6px 13px"},"& tr th :first-of-type, & tr td :first-of-type":{marginTop:0},"& tr th :last-child, & tr td :last-child":{marginBottom:0}})),nu=_.title(ut),X5={paddingLeft:30,"& :first-of-type":{marginTop:0},"& :last-child":{marginBottom:0}},au=_.ul(te,Rt,{...X5,listStyle:"disc"}),po=_.div(te),ou={h1:e=>a.createElement(qs,{...Q(e,"h1")}),h2:e=>a.createElement(uo,{...Q(e,"h2")}),h3:e=>a.createElement(co,{...Q(e,"h3")}),h4:e=>a.createElement(Us,{...Q(e,"h4")}),h5:e=>a.createElement(Ws,{...Q(e,"h5")}),h6:e=>a.createElement(Gs,{...Q(e,"h6")}),pre:e=>a.createElement(eu,{...Q(e,"pre")}),a:e=>a.createElement(Ns,{...Q(e,"a")}),hr:e=>a.createElement(Ys,{...Q(e,"hr")}),dl:e=>a.createElement(zs,{...Q(e,"dl")}),blockquote:e=>a.createElement(Ps,{...Q(e,"blockquote")}),table:e=>a.createElement(ru,{...Q(e,"table")}),img:e=>a.createElement(Ks,{...Q(e,"img")}),div:e=>a.createElement(Vs,{...Q(e,"div")}),span:e=>a.createElement(tu,{...Q(e,"span")}),li:e=>a.createElement(Js,{...Q(e,"li")}),ul:e=>a.createElement(au,{...Q(e,"ul")}),ol:e=>a.createElement(Xs,{...Q(e,"ol")}),p:e=>a.createElement(Qs,{...Q(e,"p")}),code:e=>a.createElement(so,{...Q(e,"code")}),tt:e=>a.createElement(nu,{...Q(e,"tt")}),resetwrapper:e=>a.createElement(po,{...Q(e,"resetwrapper")})},Q5=_.div(({theme:e})=>({display:"inline-block",fontSize:11,lineHeight:"12px",alignSelf:"center",padding:"4px 12px",borderRadius:"3em",fontWeight:e.typography.weight.bold}),{svg:{height:12,width:12,marginRight:4,marginTop:-2,path:{fill:"currentColor"}}},({theme:e,status:t})=>{switch(t){case"critical":return{color:e.color.critical,background:e.background.critical};case"negative":return{color:e.color.negativeText,background:e.background.negative,boxShadow:e.base==="light"?`inset 0 0 0 1px ${Ee(.9,e.color.negativeText)}`:"none"};case"warning":return{color:e.color.warningText,background:e.background.warning,boxShadow:e.base==="light"?`inset 0 0 0 1px ${Ee(.9,e.color.warningText)}`:"none"};case"neutral":return{color:e.color.dark,background:e.color.mediumlight,boxShadow:e.base==="light"?`inset 0 0 0 1px ${Ee(.9,e.color.dark)}`:"none"};case"positive":return{color:e.color.positiveText,background:e.background.positive,boxShadow:e.base==="light"?`inset 0 0 0 1px ${Ee(.9,e.color.positiveText)}`:"none"};default:return{}}}),ef=({...e})=>a.createElement(Q5,{...e}),br={user:a.createElement(a.Fragment,null,a.createElement("path",{d:"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0ZM2.67 11.15c.7-1 2.6-1.81 3.2-1.9.22-.04.23-.66.23-.66s-.67-.66-.81-1.55c-.4 0-.63-.94-.24-1.27l-.02-.13c-.06-.6-.28-2.6 1.97-2.6s2.03 2 1.97 2.6l-.02.13c.4.33.15 1.27-.24 1.27-.14.89-.8 1.55-.8 1.55s0 .62.22.66c.6.09 2.5.9 3.2 1.9a6 6 0 1 0-8.66 0Z"})),useralt:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7.27 13.16a11.39 11.39 0 0 0 5.18-1.23v-.25c0-1.57-3.24-3-4.1-3.13-.27-.05-.28-.79-.28-.79s.8-.78.96-1.83c.47 0 .75-1.12.29-1.52.02-.41.6-3.25-2.32-3.25S4.65 4 4.67 4.41c-.46.4-.17 1.52.29 1.52.17 1.05.96 1.83.96 1.83s0 .74-.27.79c-.86.13-4.04 1.53-4.1 3.08a11.44 11.44 0 0 0 5.72 1.53Z"})),useradd:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1.18 11.9c-.4-.17-.8-.36-1.18-.58.06-1.44 3.02-2.74 3.82-2.87.25-.04.26-.73.26-.73s-.74-.73-.9-1.7c-.43 0-.7-1.05-.27-1.42l-.01-.14c-.07-.67-.31-2.88 2.18-2.88 2.48 0 2.24 2.2 2.17 2.88l-.01.14c.43.37.16 1.41-.27 1.41-.16.98-.9 1.71-.9 1.71s.01.69.26.73c.8.13 3.82 1.46 3.82 2.91v.24a10.63 10.63 0 0 1-8.97.3ZM11.5 2.16c.28 0 .5.22.5.5v1.5h1.5a.5.5 0 0 1 0 1H12v1.5a.5.5 0 0 1-1 0v-1.5H9.5a.5.5 0 1 1 0-1H11v-1.5c0-.28.22-.5.5-.5Z"})),users:a.createElement(a.Fragment,null,a.createElement("path",{d:"M9.21 11.62A10.59 10.59 0 0 1 0 11.07c.06-1.35 2.93-2.58 3.7-2.7.25-.03.26-.68.26-.68s-.72-.69-.87-1.6c-.42 0-.68-.99-.26-1.33 0-.03 0-.08-.02-.14-.07-.63-.3-2.71 2.12-2.71 2.41 0 2.18 2.08 2.11 2.71l-.01.14c.42.34.16 1.32-.26 1.32-.16.92-.87 1.6-.87 1.6s0 .66.25.7c.78.11 3.7 1.36 3.7 2.73v.22l-.64.3Z"}),a.createElement("path",{d:"M8.81 8.42a9.64 9.64 0 0 0-.74-.4 5.2 5.2 0 0 1 1.7-.76c.17-.02.17-.47.17-.47s-.49-.47-.6-1.1c-.28 0-.46-.68-.17-.91l-.01-.1c-.05-.43-.2-1.86 1.45-1.86 1.66 0 1.5 1.43 1.45 1.86v.1c.28.23.1.9-.18.9-.11.64-.6 1.11-.6 1.11s0 .45.17.47c.54.08 2.55.94 2.55 1.89v.62a10.6 10.6 0 0 1-3.3.56 2.97 2.97 0 0 0-.58-.88c-.37-.41-.85-.76-1.31-1.03Z"})),profile:a.createElement(a.Fragment,null,a.createElement("path",{d:"M9.1 7.35a5.06 5.06 0 0 1-4.52-.28C4.6 6.4 6.02 5.77 6.4 5.7c.12-.02.12-.35.12-.35s-.35-.34-.43-.81c-.2 0-.33-.5-.12-.67l-.01-.07C5.93 3.48 5.81 2.42 7 2.42S8.07 3.48 8.04 3.8v.07c.2.17.07.67-.13.67-.08.47-.43.81-.43.81s0 .33.12.35c.38.06 1.82.7 1.82 1.4v.1c-.1.06-.2.1-.31.15Zm-5.35 3.9c0-.14.11-.25.25-.25h6a.25.25 0 1 1 0 .5H4a.25.25 0 0 1-.25-.25ZM4 9a.25.25 0 0 0 0 .5h6a.25.25 0 1 0 0-.5H4Z"}),a.createElement("path",{fillRule:"evenodd",d:"M1 .5c0-.28.22-.5.5-.5h11c.28 0 .5.22.5.5v13a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V.5ZM2 13V1h10v12H2Z"})),facehappy:a.createElement(a.Fragment,null,a.createElement("path",{d:"M3.97 8.75a.5.5 0 0 0-.87.5 4.5 4.5 0 0 0 7.8 0 .5.5 0 1 0-.87-.5 3.5 3.5 0 0 1-6.06 0ZM5.5 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM9.5 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"}),a.createElement("path",{fillRule:"evenodd",d:"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z"})),faceneutral:a.createElement(a.Fragment,null,a.createElement("path",{d:"M4.5 9a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM5.5 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM9.5 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"}),a.createElement("path",{fillRule:"evenodd",d:"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z"})),facesad:a.createElement(a.Fragment,null,a.createElement("path",{d:"M3.97 10.25a.5.5 0 0 1-.87-.5 4.5 4.5 0 0 1 7.8 0 .5.5 0 1 1-.87.5 3.5 3.5 0 0 0-6.06 0ZM5.5 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM9.5 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"}),a.createElement("path",{fillRule:"evenodd",d:"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z"})),accessibility:a.createElement(a.Fragment,null,a.createElement("path",{d:"M3.53 4.84a.5.5 0 0 1 .63-.31l2.05.68a2.5 2.5 0 0 0 1.58 0l2.05-.68a.5.5 0 0 1 .32.94L7.7 6.3a.3.3 0 0 0-.21.29v.24c0 .7.16 1.39.48 2.01l.97 1.95a.5.5 0 1 1-.9.44L7 9.12l-1.05 2.1a.5.5 0 1 1-.9-.44l.97-1.95a4.5 4.5 0 0 0 .48-2.01v-.24a.3.3 0 0 0-.2-.29l-2.46-.82a.5.5 0 0 1-.31-.63Z"}),a.createElement("path",{d:"M7 4.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"}),a.createElement("path",{fillRule:"evenodd",d:"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm0-1A6 6 0 1 0 7 1a6 6 0 0 0 0 12Z"})),accessibilityalt:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14ZM8 3.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM3.53 4.84a.5.5 0 0 1 .63-.31l2.05.68a2.5 2.5 0 0 0 1.58 0l2.05-.68a.5.5 0 0 1 .32.94L7.7 6.3a.3.3 0 0 0-.21.29v.24c0 .7.16 1.39.48 2.01l.97 1.95a.5.5 0 1 1-.9.44L7 9.12l-1.05 2.1a.5.5 0 1 1-.9-.44l.97-1.95a4.5 4.5 0 0 0 .48-2.01v-.24a.3.3 0 0 0-.2-.29l-2.46-.82a.5.5 0 0 1-.31-.63Z"})),arrowup:a.createElement(a.Fragment,null,a.createElement("path",{d:"m7.35 2.9 5.5 5.5a.5.5 0 0 1-.7.7L7 3.96 1.85 9.1a.5.5 0 1 1-.7-.7l5.5-5.5c.2-.2.5-.2.7 0Z"})),arrowdown:a.createElement(a.Fragment,null,a.createElement("path",{d:"m1.15 5.6 5.5 5.5c.2.2.5.2.7 0l5.5-5.5a.5.5 0 0 0-.7-.7L7 10.04 1.85 4.9a.5.5 0 1 0-.7.7Z"})),arrowleft:a.createElement(a.Fragment,null,a.createElement("path",{d:"M2.76 7.1c.02.09.06.18.14.25l5.5 5.5a.5.5 0 0 0 .7-.7L3.96 7 9.1 1.85a.5.5 0 1 0-.7-.7l-5.5 5.5a.5.5 0 0 0-.14.45Z"})),arrowright:a.createElement(a.Fragment,null,a.createElement("path",{d:"m11.1 7.35-5.5 5.5a.5.5 0 0 1-.7-.7L10.04 7 4.9 1.85a.5.5 0 1 1 .7-.7l5.5 5.5c.2.2.2.5 0 .7Z"})),arrowupalt:a.createElement(a.Fragment,null,a.createElement("path",{d:"M11.85 4.65 7.35.15a.5.5 0 0 0-.7 0l-4.5 4.5a.5.5 0 1 0 .7.7L6.5 1.71V13.5a.5.5 0 0 0 1 0V1.7l3.65 3.65a.5.5 0 0 0 .7-.7Z"})),arrowdownalt:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7.5.5a.5.5 0 0 0-1 0v11.8L2.85 8.64a.5.5 0 1 0-.7.7l4.5 4.5A.5.5 0 0 0 7 14a.5.5 0 0 0 .35-.15l4.5-4.5a.5.5 0 0 0-.7-.7L7.5 12.29V.5Z"})),arrowleftalt:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5.35 2.15c.2.2.2.5 0 .7L1.71 6.5H13.5a.5.5 0 0 1 0 1H1.7l3.65 3.65a.5.5 0 0 1-.7.7l-4.5-4.5a.5.5 0 0 1 0-.7l4.5-4.5c.2-.2.5-.2.7 0Z"})),arrowrightalt:a.createElement(a.Fragment,null,a.createElement("path",{d:"M8.65 2.15c.2-.2.5-.2.7 0l4.5 4.5c.2.2.2.5 0 .7l-4.5 4.5a.5.5 0 0 1-.7-.7l3.64-3.65H.5a.5.5 0 0 1 0-1h11.8L8.64 2.85a.5.5 0 0 1 0-.7Z"})),expandalt:a.createElement(a.Fragment,null,a.createElement("path",{d:"m7.35.15 4 4a.5.5 0 0 1-.7.7L7 1.21 3.35 4.85a.5.5 0 1 1-.7-.7l4-4c.2-.2.5-.2.7 0ZM11.35 9.15c.2.2.2.5 0 .7l-4 4a.5.5 0 0 1-.7 0l-4-4a.5.5 0 1 1 .7-.7L7 12.79l3.65-3.64c.2-.2.5-.2.7 0Z"})),collapse:a.createElement(a.Fragment,null,a.createElement("path",{d:"M3.354.146a.5.5 0 1 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0-.708-.708L7 3.793 3.354.146Zm3.292 9a.5.5 0 0 1 .708 0l4 4a.5.5 0 0 1-.708.708L7 10.207l-3.646 3.647a.5.5 0 0 1-.708-.708l4-4Z"})),expand:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1.5 1h2a.5.5 0 0 1 0 1h-.8l3.15 3.15a.5.5 0 1 1-.7.7L2 2.71v.79a.5.5 0 0 1-1 0v-2c0-.28.22-.5.5-.5ZM10 1.5c0-.28.22-.5.5-.5h2c.28 0 .5.22.5.5v2a.5.5 0 0 1-1 0v-.8L8.85 5.86a.5.5 0 1 1-.7-.7L11.29 2h-.79a.5.5 0 0 1-.5-.5ZM12.5 10c.28 0 .5.22.5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h.8L8.14 8.85a.5.5 0 1 1 .7-.7L12 11.29v-.79c0-.28.22-.5.5-.5ZM2 11.3v-.8a.5.5 0 0 0-1 0v2c0 .28.22.5.5.5h2a.5.5 0 0 0 0-1h-.8l3.15-3.15a.5.5 0 1 0-.7-.7L2 11.29Z"})),unfold:a.createElement(a.Fragment,null,a.createElement("path",{d:"m6.65.15-1.5 1.5a.5.5 0 1 0 .7.7l.65-.64V5a.5.5 0 0 0 1 0V1.7l.65.65a.5.5 0 1 0 .7-.7L7.35.15a.5.5 0 0 0-.7 0Z"}),a.createElement("path",{d:"M1.3 4.04a.5.5 0 0 0-.16.82L3.3 7 1.15 9.15a.5.5 0 0 0 .35.85h3a.5.5 0 0 0 0-1H2.7l1.5-1.5h5.6l2.35 2.35a.5.5 0 0 0 .7-.7L10.71 7l2.14-2.15.11-.54-.1.54A.5.5 0 0 0 13 4.5a.5.5 0 0 0-.14-.35.5.5 0 0 0-.36-.15h-3a.5.5 0 0 0 0 1h1.8L9.8 6.5H4.2L2.7 5h1.8a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.2.04Z"}),a.createElement("path",{d:"M7 8.5c.28 0 .5.22.5.5v3.3l.65-.65a.5.5 0 0 1 .7.7l-1.5 1.5a.5.5 0 0 1-.7 0l-1.5-1.5a.5.5 0 0 1 .7-.7l.65.64V9c0-.28.22-.5.5-.5ZM9 9.5c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Z"})),transfer:a.createElement(a.Fragment,null,a.createElement("path",{d:"M10.65 2.65c.2-.2.5-.2.7 0l1.5 1.5c.2.2.2.5 0 .7l-1.5 1.5a.5.5 0 0 1-.7-.7l.64-.65H1.5a.5.5 0 0 1 0-1h9.8l-.65-.65a.5.5 0 0 1 0-.7ZM3.35 8.35 2.71 9h9.79a.5.5 0 0 1 0 1H2.7l.65.65a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5a.5.5 0 1 1 .7.7Z"})),redirect:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1.5 1c.28 0 .5.22.5.5V10a2 2 0 0 0 4 0V4a3 3 0 0 1 6 0v7.8l1.15-1.15a.5.5 0 0 1 .7.7l-2 2a.5.5 0 0 1-.7 0l-2-2a.5.5 0 0 1 .7-.7L11 11.79V4a2 2 0 1 0-4 0v6a3 3 0 0 1-6 0V1.5c0-.28.22-.5.5-.5Z"})),undo:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1.15 3.85a.5.5 0 0 1 0-.7l2-2a.5.5 0 1 1 .7.7L2.71 3H9a4 4 0 0 1 0 8H3a.5.5 0 0 1 0-1h6a3 3 0 1 0 0-6H2.7l1.15 1.15a.5.5 0 1 1-.7.7l-2-2Z"})),reply:a.createElement(a.Fragment,null,a.createElement("path",{d:"M4.35 2.15c.2.2.2.5 0 .7L1.71 5.5H9.5A4.5 4.5 0 0 1 14 10v1.5a.5.5 0 0 1-1 0V10a3.5 3.5 0 0 0-3.5-3.5H1.7l2.65 2.65a.5.5 0 1 1-.7.7l-3.5-3.5a.5.5 0 0 1 0-.7l3.5-3.5c.2-.2.5-.2.7 0Z"})),sync:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5.5 1A.5.5 0 0 0 5 .5H2a.5.5 0 0 0 0 1h1.53a6.5 6.5 0 0 0 2.39 11.91.5.5 0 1 0 .16-.99A5.5 5.5 0 0 1 4.5 2.1V4a.5.5 0 0 0 1 0V1ZM7.5 1a.5.5 0 0 1 .58-.41 6.5 6.5 0 0 1 2.39 11.91H12a.5.5 0 0 1 0 1H9a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 1 0v1.9A5.5 5.5 0 0 0 7.92 1.58.5.5 0 0 1 7.5 1Z"})),upload:a.createElement(a.Fragment,null,a.createElement("path",{d:"M8.65 5.85 7.5 4.71v5.79a.5.5 0 0 1-1 0V4.7L5.35 5.86a.5.5 0 1 1-.7-.7l2-2c.2-.2.5-.2.7 0l2 2a.5.5 0 1 1-.7.7Z"}),a.createElement("path",{fillRule:"evenodd",d:"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z"})),download:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5.35 8.15 6.5 9.29V3.5a.5.5 0 0 1 1 0v5.8l1.15-1.15a.5.5 0 1 1 .7.7l-2 2a.5.5 0 0 1-.7 0l-2-2a.5.5 0 1 1 .7-.7Z"}),a.createElement("path",{fillRule:"evenodd",d:"M0 7a7 7 0 1 1 14 0A7 7 0 0 1 0 7Zm1 0a6 6 0 1 1 12 0A6 6 0 0 1 1 7Z"})),back:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5.85 5.35 4.71 6.5h5.79a.5.5 0 0 1 0 1H4.7l1.15 1.15a.5.5 0 1 1-.7.7l-2-2a.5.5 0 0 1 0-.7l2-2a.5.5 0 1 1 .7.7Z"}),a.createElement("path",{fillRule:"evenodd",d:"M7 0a7 7 0 1 1 0 14A7 7 0 0 1 7 0Zm0 1a6 6 0 1 1 0 12A6 6 0 0 1 7 1Z"})),proceed:a.createElement(a.Fragment,null,a.createElement("path",{d:"M3.5 6.5h5.8L8.14 5.35a.5.5 0 1 1 .7-.7l2 2c.2.2.2.5 0 .7l-2 2a.5.5 0 1 1-.7-.7L9.29 7.5H3.5a.5.5 0 0 1 0-1Z"}),a.createElement("path",{fillRule:"evenodd",d:"M7 14A7 7 0 1 1 7 0a7 7 0 0 1 0 14Zm0-1A6 6 0 1 1 7 1a6 6 0 0 1 0 12Z"})),refresh:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7.1.5H7a6.5 6.5 0 1 0 6.41 7.58.5.5 0 1 0-.99-.16A5.47 5.47 0 0 1 7 12.5a5.5 5.5 0 0 1 0-11 5.5 5.5 0 0 1 4.9 3H10a.5.5 0 0 0 0 1h3a.5.5 0 0 0 .5-.5V2a.5.5 0 0 0-1 0v1.53A6.5 6.5 0 0 0 7.1.5Z"})),globe:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M14 7A7 7 0 1 0 0 7a7 7 0 0 0 14 0Zm-6.53 5.74c-.24.23-.4.26-.47.26-.08 0-.23-.03-.47-.26-.23-.24-.5-.62-.73-1.18A11.57 11.57 0 0 1 5 7.5h4a11.57 11.57 0 0 1-.8 4.06c-.24.56-.5.94-.73 1.18ZM8.99 6.5H5.01c.05-1.62.35-3.04.79-4.06.24-.56.5-.94.73-1.18.24-.23.4-.26.47-.26.08 0 .23.03.47.26.23.24.5.62.73 1.18.44 1.02.74 2.44.8 4.06Zm1 1c-.06 2.18-.56 4.08-1.28 5.25a6 6 0 0 0 4.27-5.25H9.99Zm2.99-1H9.99c-.06-2.18-.56-4.08-1.28-5.25a6 6 0 0 1 4.27 5.25ZM4 6.5c.06-2.18.56-4.08 1.28-5.25A6 6 0 0 0 1.02 6.5h2.99Zm-2.99 1a6 6 0 0 0 4.27 5.25c-.72-1.17-1.22-3.07-1.28-5.25H1.02Z"})),compass:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M10.09 3.4 5.95 5.8a.37.37 0 0 0-.11.09.38.38 0 0 0-.04.05l-2.4 4.15a.37.37 0 0 0 0 .38c.1.18.33.24.5.14l4.15-2.4a.37.37 0 0 0 .15-.15l2.4-4.15a.37.37 0 0 0-.03-.44.37.37 0 0 0-.48-.07ZM4.75 9.25 7.6 7.6 6.4 6.4 4.75 9.25Z"}),a.createElement("path",{fillRule:"evenodd",d:"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z"})),location:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M0 7a7 7 0 1 1 14 0A7 7 0 0 1 0 7Zm6.5 3.5v2.48A6 6 0 0 1 1.02 7.5H3.5a.5.5 0 0 0 0-1H1.02A6 6 0 0 1 6.5 1.02V3.5a.5.5 0 0 0 1 0V1.02a6 6 0 0 1 5.48 5.48H10.5a.5.5 0 0 0 0 1h2.48a6 6 0 0 1-5.48 5.48V10.5a.5.5 0 0 0-1 0Z"})),pin:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M9 5a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"}),a.createElement("path",{fillRule:"evenodd",d:"M12 5A5 5 0 0 0 2 5c0 2.63 2.27 6.15 4.65 8.64.2.2.5.2.7 0C9.73 11.15 12 7.64 12 5ZM7 1a4 4 0 0 1 4 4c0 1.06-.47 2.42-1.3 3.88A21.23 21.23 0 0 1 7 12.55c-1-1.1-1.97-2.39-2.7-3.67A8.46 8.46 0 0 1 3 5a4 4 0 0 1 4-4Z"})),time:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7 2c.28 0 .5.22.5.5v4H10a.5.5 0 0 1 0 1H7a.5.5 0 0 1-.5-.5V2.5c0-.28.22-.5.5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm0-1A6 6 0 1 0 7 1a6 6 0 0 0 0 12Z"})),dashboard:a.createElement(a.Fragment,null,a.createElement("path",{d:"M9.8 4.1a.5.5 0 0 1 .1.7L7.92 7.58A1 1 0 1 1 7.1 7l2-2.8a.5.5 0 0 1 .7-.12Z"}),a.createElement("path",{fillRule:"evenodd",d:"M2.07 12.97a7 7 0 1 1 9.86 0 12.96 12.96 0 0 0-9.86 0Zm9.58-1.18a6 6 0 1 0-9.3 0 13.98 13.98 0 0 1 9.3 0Z"})),timer:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7.5 4.5a.5.5 0 0 0-1 0v2.63a1 1 0 1 0 1 0V4.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M5.5.5c0-.28.22-.5.5-.5h2a.5.5 0 0 1 0 1h-.5v1.02c1.28.1 2.45.61 3.37 1.4l.78-.77a.5.5 0 0 1 .7.7l-.77.78a6 6 0 1 1-5.08-2.1V1H6a.5.5 0 0 1-.5-.5ZM7 3a5 5 0 1 0 0 10A5 5 0 0 0 7 3Z"})),home:a.createElement(a.Fragment,null,a.createElement("path",{d:"m7.35 1.15 5.5 5.5a.5.5 0 0 1-.7.7L12 7.21v5.29a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V9H6v3.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V7.2l-.15.15a.5.5 0 1 1-.7-.7l1-1 4.5-4.5c.2-.2.5-.2.7 0ZM3 6.2V12h2V8.5c0-.28.22-.5.5-.5h3c.28 0 .5.22.5.5V12h2V6.2l-4-4-4 4Z"})),admin:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M1.21 4.1a.5.5 0 0 1 .06-.04l5.48-3a.5.5 0 0 1 .5 0l5.48 3a.5.5 0 0 1 .27.39.5.5 0 0 1-.51.55H1.51a.5.5 0 0 1-.3-.9ZM3.46 4h7.08L7 2.07 3.46 4Z"}),a.createElement("path",{d:"M4 6a.5.5 0 1 0-1 0v5a.5.5 0 0 0 1 0V6ZM11 6a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V6ZM5.75 5.5c.28 0 .5.22.5.5v5a.5.5 0 0 1-1 0V6c0-.28.22-.5.5-.5ZM8.75 6a.5.5 0 1 0-1 0v5a.5.5 0 0 0 1 0V6ZM1.5 12.5c0-.27.22-.5.5-.5h10a.5.5 0 0 1 0 1H2a.5.5 0 0 1-.5-.5Z"})),info:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7 5.5c.28 0 .5.22.5.5v4a.5.5 0 0 1-1 0V6c0-.28.22-.5.5-.5ZM7 4.5A.75.75 0 1 0 7 3a.75.75 0 0 0 0 1.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm0-1A6 6 0 1 0 7 1a6 6 0 0 0 0 12Z"})),question:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5.25 5.25A1.75 1.75 0 1 1 7 7a.5.5 0 0 0-.5.5V9a.5.5 0 0 0 1 0V7.95a2.75 2.75 0 1 0-3.25-2.7.5.5 0 0 0 1 0ZM7 11.5A.75.75 0 1 0 7 10a.75.75 0 0 0 0 1.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z"})),support:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-3.52 4.9a5.97 5.97 0 0 1-6.96 0l1.45-1.45a3.98 3.98 0 0 0 4.06 0l1.45 1.44Zm-.03-2.87 1.44 1.45a5.97 5.97 0 0 0 0-6.96l-1.44 1.45a3.98 3.98 0 0 1 0 4.06ZM9.03 3.55l1.45-1.44a5.97 5.97 0 0 0-6.96 0l1.45 1.44a3.98 3.98 0 0 1 4.06 0ZM3.55 4.97 2.11 3.52a5.97 5.97 0 0 0 0 6.96l1.44-1.45a3.98 3.98 0 0 1 0-4.06ZM10 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"})),alert:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7 4.5c.28 0 .5.22.5.5v3.5a.5.5 0 0 1-1 0V5c0-.28.22-.5.5-.5ZM7.75 10.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z"}),a.createElement("path",{fillRule:"evenodd",d:"M7.2 1.04a.5.5 0 0 1 .24.21l6.49 11a.5.5 0 0 1-.44.75H.51a.5.5 0 0 1-.5-.45.5.5 0 0 1 .06-.31l6.5-10.99a.5.5 0 0 1 .64-.2ZM7 2.48 1.38 12h11.24L7 2.48Z"})),email:a.createElement(a.Fragment,null,a.createElement("path",{d:"M0 2.5c0-.27.22-.5.5-.5h13c.28 0 .5.23.5.5v9a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-9Zm1 1.02V11h12V3.52L7.31 7.89a.5.5 0 0 1-.52.07.5.5 0 0 1-.1-.07L1 3.52ZM12.03 3H1.97L7 6.87 12.03 3Z"})),phone:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"m7.76 8.13-.05.05a.2.2 0 0 1-.28.03A6.76 6.76 0 0 1 5.8 6.56a.21.21 0 0 1 .04-.27l.05-.05c.23-.2.54-.47.71-.96.17-.47-.02-1.04-.66-1.94-.26-.38-.72-.96-1.22-1.46-.68-.69-1.2-1-1.65-1a.98.98 0 0 0-.51.13A3.23 3.23 0 0 0 .9 3.42c-.13 1.1.26 2.37 1.17 3.78a16.68 16.68 0 0 0 4.55 4.6 6.57 6.57 0 0 0 3.53 1.32A3.2 3.2 0 0 0 13 11.46c.14-.24.24-.64-.07-1.18a7.8 7.8 0 0 0-1.73-1.8c-.64-.5-1.52-1.12-2.13-1.12a.97.97 0 0 0-.34.06c-.47.17-.74.46-.95.69l-.02.02Zm4.32 2.68a6.8 6.8 0 0 0-1.48-1.54h-.02c-.3-.25-.64-.49-.95-.67a2.7 2.7 0 0 0-.56-.24h-.01c-.23.09-.34.21-.56.45l-.02.02-.04.04a1.2 1.2 0 0 1-1.6.15 7.76 7.76 0 0 1-1.86-1.89l-.01-.01-.02-.02a1.21 1.21 0 0 1 .2-1.53l.06-.06.02-.02c.22-.2.35-.31.43-.53v-.02c0-.02 0-.06-.03-.14a3.7 3.7 0 0 0-.5-.88h-.01V3.9c-.23-.33-.65-.87-1.1-1.32H4c-.31-.32-.55-.5-.72-.6a.6.6 0 0 0-.22-.1h-.03a2.23 2.23 0 0 0-1.15 1.66c-.09.78.18 1.8 1.02 3.1a15.68 15.68 0 0 0 4.27 4.33l.02.01.02.02a5.57 5.57 0 0 0 2.97 1.11 2.2 2.2 0 0 0 1.93-1.14h.01v-.05a.57.57 0 0 0-.05-.12Z"})),link:a.createElement(a.Fragment,null,a.createElement("path",{d:"M11.84 2.16a2.25 2.25 0 0 0-3.18 0l-2.5 2.5c-.88.88-.88 2.3 0 3.18a.5.5 0 0 1-.7.7 3.25 3.25 0 0 1 0-4.59l2.5-2.5a3.25 3.25 0 0 1 4.59 4.6L10.48 8.1c.04-.44.01-.89-.09-1.32l1.45-1.45c.88-.88.88-2.3 0-3.18Z"}),a.createElement("path",{d:"M3.6 7.2c-.1-.42-.12-.87-.08-1.31L1.45 7.95a3.25 3.25 0 1 0 4.6 4.6l2.5-2.5a3.25 3.25 0 0 0 0-4.6.5.5 0 0 0-.7.7c.87.89.87 2.31 0 3.2l-2.5 2.5a2.25 2.25 0 1 1-3.2-3.2l1.46-1.44Z"})),unlink:a.createElement(a.Fragment,null,a.createElement("path",{d:"m1.45 7.95 1.3-1.3.71.7-1.3 1.3a2.25 2.25 0 1 0 3.18 3.2l1.3-1.31.71.7-1.3 1.3a3.25 3.25 0 0 1-4.6-4.59ZM12.55 6.05l-1.3 1.3-.71-.7 1.3-1.3a2.25 2.25 0 1 0-3.18-3.2l-1.3 1.31-.71-.7 1.3-1.3a3.25 3.25 0 0 1 4.6 4.59ZM1.85 1.15a.5.5 0 1 0-.7.7l11 11a.5.5 0 0 0 .7-.7l-11-11Z"})),bell:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M8 1.11a1 1 0 1 0-1.99 0A4.5 4.5 0 0 0 2.5 5.5v3.88l-.94 1.89a.5.5 0 0 0-.06.3.5.5 0 0 0 .51.43h3.58a1.5 1.5 0 1 0 2.82 0H12a.5.5 0 0 0 .45-.73l-.94-1.89V5.5A4.5 4.5 0 0 0 8 1.11ZM2.8 11h8.4l-.5-1H3.3l-.5 1Zm7.7-2V5.5a3.5 3.5 0 1 0-7 0V9h7Zm-4 3.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z"})),rss:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1.5.5c0-.28.22-.5.5-.5a12 12 0 0 1 12 12 .5.5 0 0 1-1 0A11 11 0 0 0 2 1a.5.5 0 0 1-.5-.5Z"}),a.createElement("path",{d:"M1.5 4.5c0-.28.22-.5.5-.5a8 8 0 0 1 8 8 .5.5 0 0 1-1 0 7 7 0 0 0-7-7 .5.5 0 0 1-.5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M5 11a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-1 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"})),sharealt:a.createElement(a.Fragment,null,a.createElement("path",{d:"M2 1a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7.5a.5.5 0 0 0-1 0V12H2V2h4.5a.5.5 0 0 0 0-1H2Z"}),a.createElement("path",{d:"M7.35 7.36 12 2.7v1.8a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 1 0 0 1h1.8L6.64 6.64a.5.5 0 1 0 .7.7Z"})),share:a.createElement(a.Fragment,null,a.createElement("path",{d:"M6.65.15c.2-.2.5-.2.7 0l2 2a.5.5 0 1 1-.7.7L7.5 1.72v6.8a.5.5 0 0 1-1 0V1.7L5.35 2.86a.5.5 0 1 1-.7-.71l2-2Z"}),a.createElement("path",{d:"M2 4a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9.5a.5.5 0 1 0 0 1H12v7H2V5h2.5a.5.5 0 0 0 0-1H2Z"})),circlehollow:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M7 13A6 6 0 1 0 7 1a6 6 0 0 0 0 12Zm0 1A7 7 0 1 0 7 0a7 7 0 0 0 0 14Z"})),circle:a.createElement("path",{d:"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Z"}),bookmarkhollow:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M3.5 0h7c.28 0 .5.22.5.5v13a.5.5 0 0 1-.45.5.46.46 0 0 1-.38-.12L7 11.16l-3.17 2.72a.46.46 0 0 1-.38.12.5.5 0 0 1-.45-.5V.5c0-.28.22-.5.5-.5ZM4 12.41l2.66-2.28a.45.45 0 0 1 .38-.13c.1.01.2.05.29.12l2.67 2.3V1H4v11.41Z"})),bookmark:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M3.5 0h7c.28 0 .5.22.5.5v13a.5.5 0 0 1-.45.5.46.46 0 0 1-.38-.12L7 11.16l-3.17 2.72a.46.46 0 0 1-.38.12.5.5 0 0 1-.45-.5V.5c0-.28.22-.5.5-.5Z"})),hearthollow:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M12.81 1.85 13 2a2.97 2.97 0 0 1 .75 1.17 4.39 4.39 0 0 1 .12 2.51 6.26 6.26 0 0 1-1.65 2.55l-4.78 4.6A.59.59 0 0 1 7 13a.67.67 0 0 1-.44-.17L1.78 8.22a7.84 7.84 0 0 1-1.25-1.6C.37 6.31.24 6 .14 5.67a4.32 4.32 0 0 1 .12-2.51 3.2 3.2 0 0 1 1.95-1.9c.47-.18 1-.27 1.57-.27.3 0 .61.04.91.14.3.09.59.21.86.36s.52.33.77.52c.24.19.47.38.68.58a7.56 7.56 0 0 1 1.46-1.1c.27-.15.55-.27.84-.36.3-.1.6-.14.9-.14.59 0 1.12.09 1.59.26.39.15.73.34 1.02.59ZM1.2 3.53A2.2 2.2 0 0 1 2.57 2.2M1.2 3.53c-.13.33-.2.72-.2 1.18 0 .22.03.45.1.68a3.97 3.97 0 0 0 .79 1.46c.19.23.38.45.59.65l4.51 4.36 4.52-4.35c.2-.2.4-.4.59-.65.18-.23.34-.47.49-.73.13-.23.23-.48.3-.73.08-.23.11-.46.11-.7 0-.45-.07-.84-.2-1.18-.12-.33-.3-.6-.51-.8v-.01c-.22-.2-.5-.38-.85-.51-.34-.13-.75-.2-1.24-.2-.2 0-.4.03-.6.09a4.95 4.95 0 0 0-1.9 1.22l-.68.67-.7-.65a9.97 9.97 0 0 0-.62-.53c-.2-.16-.42-.3-.63-.42h-.01c-.21-.12-.43-.22-.66-.29C4.2 2.03 4 2 3.77 2c-.48 0-.88.07-1.21.2"})),heart:a.createElement(a.Fragment,null,a.createElement("path",{d:"M12.81 1.85 13 2a2.97 2.97 0 0 1 .75 1.17 4.39 4.39 0 0 1 .12 2.51 6.26 6.26 0 0 1-1.65 2.55l-4.78 4.6A.59.59 0 0 1 7 13a.67.67 0 0 1-.44-.17L1.78 8.22a7.84 7.84 0 0 1-1.25-1.6C.37 6.31.24 6 .14 5.67a4.32 4.32 0 0 1 .12-2.51 3.2 3.2 0 0 1 1.95-1.9c.47-.18 1-.27 1.57-.27.3 0 .61.04.91.14.3.09.59.21.86.36s.52.33.77.52c.24.19.47.38.68.58a7.56 7.56 0 0 1 1.46-1.1c.27-.15.55-.27.84-.36.3-.1.6-.14.9-.14.59 0 1.12.09 1.59.26.39.15.73.34 1.02.59Z"})),starhollow:a.createElement(a.Fragment,null,a.createElement("path",{d:"M6.32.78a.75.75 0 0 1 1.36 0l1.63 3.54 3.87.46c.63.07.89.86.42 1.3l-2.86 2.64.76 3.81a.75.75 0 0 1-1.1.8L7 11.43l-3.4 1.9a.75.75 0 0 1-1.1-.8l.76-3.81L.4 6.07a.75.75 0 0 1 .42-1.3l3.87-.45L6.32.78ZM7 1.7 5.54 4.86c-.11.24-.34.4-.6.43l-3.46.42 2.56 2.37c.2.17.28.44.23.7l-.68 3.42 3.04-1.7c.23-.14.5-.14.74 0l3.04 1.7-.68-3.43a.75.75 0 0 1 .23-.7l2.56-2.36-3.47-.42a.75.75 0 0 1-.59-.43L7 1.7Z"})),star:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7.68.78a.75.75 0 0 0-1.36 0L4.69 4.32l-3.87.46a.75.75 0 0 0-.42 1.3l2.86 2.64-.76 3.81a.75.75 0 0 0 1.1.8l3.4-1.9 3.4 1.9a.75.75 0 0 0 1.1-.8l-.76-3.81 2.86-2.65a.75.75 0 0 0-.42-1.3L9.3 4.33 7.68.78Z"})),certificate:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M10 7.85A4.49 4.49 0 0 0 7 0a4.5 4.5 0 0 0-3 7.85V13a.5.5 0 0 0 .5.5.5.5 0 0 0 .35-.15L7 11.21l2.15 2.14A.5.5 0 0 0 10 13V7.85ZM7 8a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm-.35 2.15c.2-.2.5-.2.7 0L9 11.79V8.53a4.48 4.48 0 0 1-4 0v3.26l1.65-1.64Z"})),verified:a.createElement(a.Fragment,null,a.createElement("path",{d:"M6.56 13.12a1 1 0 0 1 .88 0l.98.49a1 1 0 0 0 1.31-.43l.52-.97a1 1 0 0 1 .7-.51l1.08-.2a1 1 0 0 0 .81-1.1l-.15-1.1a1 1 0 0 1 .27-.82l.76-.8a1 1 0 0 0 0-1.37l-.76-.79a1 1 0 0 1-.27-.83l.15-1.08a1 1 0 0 0-.8-1.12l-1.09-.19a1 1 0 0 1-.7-.5L9.73.81A1 1 0 0 0 8.43.4l-1 .49a1 1 0 0 1-.87 0L5.58.39a1 1 0 0 0-1.31.43l-.52.97a1 1 0 0 1-.7.51l-1.08.2a1 1 0 0 0-.81 1.1l.15 1.1a1 1 0 0 1-.27.82l-.76.8a1 1 0 0 0 0 1.37l.76.79a1 1 0 0 1 .27.83l-.15 1.08a1 1 0 0 0 .8 1.12l1.09.19a1 1 0 0 1 .7.5l.52.98a1 1 0 0 0 1.3.43l1-.49Zm4.3-8.47c.19.2.19.5 0 .7l-4.5 4.5a.5.5 0 0 1-.71 0l-2.5-2.5a.5.5 0 1 1 .7-.7L6 8.79l4.15-4.14c.2-.2.5-.2.7 0Z"})),thumbsup:a.createElement(a.Fragment,null,a.createElement("path",{d:"M11 12.02c-.4.37-.91.56-1.56.56h-.88a5.5 5.5 0 0 1-1.3-.16c-.42-.1-.91-.25-1.47-.45-.3-.12-.63-.21-.95-.27H2.88a.84.84 0 0 1-.62-.26.84.84 0 0 1-.26-.61V6.45c0-.24.09-.45.26-.62a.84.84 0 0 1 .62-.25h1.87c.16-.11.47-.47.93-1.06.27-.35.51-.64.74-.88.1-.11.19-.3.24-.58.05-.28.12-.57.2-.87.1-.3.24-.55.43-.74a.87.87 0 0 1 .62-.25c.38 0 .72.07 1.03.22.3.15.54.38.7.7a2.94 2.94 0 0 1 .21 1.58 3 3 0 0 1-.3 1h1.2c.47 0 .88.17 1.23.52s.52.8.52 1.22c0 .29-.04.66-.34 1.12.05.15.07.3.07.47 0 .35-.09.68-.26.98.07.54-.07 1.08-.4 1.51a1.9 1.9 0 0 1-.57 1.5Zm.47-5.33a.96.96 0 0 0 .03-.25.74.74 0 0 0-.23-.51.68.68 0 0 0-.52-.23H7.93l.73-1.45a2 2 0 0 0 .21-.87c0-.44-.07-.7-.13-.82a.53.53 0 0 0-.24-.24 1.3 1.3 0 0 0-.54-.12.99.99 0 0 0-.14.28c-.08.27-.13.52-.18.76-.06.38-.2.77-.48 1.07v.01l-.02.01c-.2.2-.4.46-.67.8l-.61.76c-.15.17-.35.38-.54.51l-.26.18H5v4.13h.02c.38.08.76.18 1.12.32.53.2.98.33 1.35.42.36.09.71.13 1.07.13h.88c.43 0 .68-.11.87-.29a.9.9 0 0 0 .26-.7l-.02-.37.22-.3c.17-.23.25-.5.2-.78l-.04-.33.17-.3a.97.97 0 0 0 .13-.48c0-.09 0-.13-.02-.15l-.15-.46.26-.4c.1-.15.13-.25.15-.33ZM3.5 10.8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z"})),shield:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M11.76 2.08a.5.5 0 0 1 .24.42v6a.5.5 0 0 1-.17.38l-4.5 3.99a.5.5 0 0 1-.67 0l-4.49-4A.5.5 0 0 1 2 8.5V2.5c0-.18.1-.34.24-.42l.01-.02a2.5 2.5 0 0 1 .3-.16c.22-.1.52-.24.92-.37C4.27 1.26 5.44 1 7 1c1.56 0 2.73.26 3.53.53a6.97 6.97 0 0 1 1.22.53l.01.02ZM3 2.79v5.49l1.07.94 6.59-6.58-.44-.17C9.52 2.24 8.44 2 7 2c-1.44 0-2.52.24-3.22.47-.35.12-.6.24-.78.32Zm4 9.04L4.82 9.9 11 3.71v4.57l-4 3.55Z"})),basket:a.createElement(a.Fragment,null,a.createElement("path",{d:"M10.35 2.85a.5.5 0 1 0-.7-.7l-3 3a.5.5 0 1 0 .7.7l3-3Z"}),a.createElement("path",{d:"M2.09 6H4.5a.5.5 0 0 0 0-1H1.8a.75.75 0 0 0-.74.87l.8 4.88A1.5 1.5 0 0 0 3.36 12h7.3a1.5 1.5 0 0 0 1.48-1.25l.81-4.88A.75.75 0 0 0 12.2 5H10a.5.5 0 0 0 0 1h1.91l-.76 4.58a.5.5 0 0 1-.5.42h-7.3a.5.5 0 0 1-.5-.42L2.1 6Z"}),a.createElement("path",{d:"M4.5 7c.28 0 .5.22.5.5v2a.5.5 0 0 1-1 0v-2c0-.28.22-.5.5-.5ZM10 7.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2ZM6.5 9.5v-2a.5.5 0 0 1 1 0v2a.5.5 0 0 1-1 0Z"})),beaker:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M4.5 2h.75v3.87l-3.03 5.26c-.48.83.12 1.87 1.08 1.87h7.4c.96 0 1.57-1.04 1.08-1.87L8.75 5.87V2h.75a.5.5 0 0 0 0-1h-5a.5.5 0 0 0 0 1Zm1.75 4V2h1.5v4.13l.07.12 1 1.75H5.18l1.01-1.75.07-.12V6ZM4.6 9l-1.52 2.63c-.1.16.03.37.22.37h7.4c.2 0 .31-.2.22-.37L9.4 9H4.6Z"})),hourglass:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7.5 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z"}),a.createElement("path",{fillRule:"evenodd",d:"M3.5 1a.5.5 0 0 0-.5.5c0 1.06.14 1.9.68 2.97.34.7.86 1.5 1.6 2.53a16.53 16.53 0 0 0-1.8 2.96A6 6 0 0 0 3 12.49v.01a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 6 6 0 0 0-.48-2.54c-.34-.8-.9-1.71-1.8-2.96a19.78 19.78 0 0 0 1.6-2.53c.54-1.08.68-1.9.68-2.97a.5.5 0 0 0-.5-.5h-7Zm6.49 11a4.68 4.68 0 0 0-.39-1.65c-.27-.65-.73-1.4-1.5-2.5a133 133 0 0 1-.75 1 .5.5 0 0 1-.56.1.5.5 0 0 1-.2-.16l-.7-.94a14.36 14.36 0 0 0-1.5 2.5A4.68 4.68 0 0 0 4.02 12H10ZM6.3 6.72l.7.94a90.06 90.06 0 0 0 .7-.96c.49-.67.87-1.22 1.17-1.7H5.13A32.67 32.67 0 0 0 6.3 6.72ZM4.56 4h4.88c.36-.73.5-1.31.55-2H4c.04.69.19 1.27.55 2Z"})),flag:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M11.5 1h-9a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 1 0V8h8.5a.5.5 0 0 0 .35-.85L9.21 4.5l2.64-2.65A.5.5 0 0 0 11.5 1ZM8.15 4.15 10.29 2H3v5h7.3L8.14 4.85a.5.5 0 0 1 0-.7Z"})),cloudhollow:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M10 7V6a3 3 0 0 0-5.9-.74l-.18.68-.7.07A2.5 2.5 0 0 0 3.5 11h3.19l.07-.01h.08L7 11h4a2 2 0 1 0 0-4h-1ZM3.12 5.02A3.5 3.5 0 0 0 3.5 12H11a3 3 0 1 0 0-6 4 4 0 0 0-7.88-.98Z"})),cloud:a.createElement("path",{d:"M7 2a4 4 0 0 1 4 4 3 3 0 1 1 0 6H3.5a3.5 3.5 0 0 1-.38-6.98A4 4 0 0 1 7 2Z"}),edit:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"m13.85 2.15-2-2a.5.5 0 0 0-.7 0l-1.5 1.5-9 9a.5.5 0 0 0-.14.26L0 13.39a.5.5 0 0 0 .14.46.5.5 0 0 0 .46.14l2.48-.5a.5.5 0 0 0 .27-.14l9-9 1.5-1.5a.5.5 0 0 0 0-.7ZM12 3.29l.8-.79-1.3-1.3-.8.8L12 3.3Zm-2-.58L1.7 11 3 12.3 11.3 4 10 2.7ZM1.14 12.86l.17-.85.68.68-.85.17Z"})),cog:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5.59 5.59a2 2 0 0 1 3.27 2.14.5.5 0 1 0 .93.37 3 3 0 1 0-1.7 1.7.5.5 0 1 0-.36-.94A2 2 0 0 1 5.6 5.6Z",fill:"#333"}),a.createElement("path",{fillRule:"evenodd",d:"M.94 6.53c.13.12.19.3.18.46 0 .17-.05.34-.18.47L0 8.39c.19.94.55 1.81 1.07 2.58h1.32c.18 0 .34.07.46.2.12.11.2.27.2.45v1.32c.76.51 1.62.88 2.55 1.06l.94-.94a.63.63 0 0 1 .45-.19h.03c.16 0 .33.07.45.19l.94.94a7.1 7.1 0 0 0 2.55-1.06v-1.33c0-.18.07-.35.2-.46.11-.12.27-.2.45-.2h1.33A7.1 7.1 0 0 0 14 8.4l-.95-.94a.64.64 0 0 1-.18-.47c0-.17.06-.34.18-.46l.95-.95a7.1 7.1 0 0 0-1.05-2.52h-1.34a.63.63 0 0 1-.46-.2.64.64 0 0 1-.2-.46V1.06A7.1 7.1 0 0 0 8.42 0l-.94.94a.63.63 0 0 1-.45.19H7a.63.63 0 0 1-.45-.19L5.6 0a7.1 7.1 0 0 0-2.56 1.06v1.33c0 .18-.07.34-.2.46a.63.63 0 0 1-.45.2H1.06A7.1 7.1 0 0 0 0 5.59l.94.94Zm.7 1.63c.33-.32.49-.75.48-1.17 0-.42-.15-.85-.47-1.17l-.54-.54c.12-.43.3-.85.51-1.23h.77c.46 0 .87-.2 1.17-.5.3-.29.48-.7.48-1.16v-.77c.4-.22.81-.39 1.25-.52l.54.55c.33.32.75.48 1.16.48h.03c.42 0 .84-.16 1.16-.48l.54-.54c.44.12.85.3 1.24.5v.8c0 .45.19.87.49 1.16.3.3.7.5 1.16.5h.78c.2.37.38.78.5 1.2l-.54.55c-.33.32-.49.75-.48 1.17 0 .42.15.85.48 1.17l.55.55c-.13.44-.3.85-.52 1.24h-.77c-.45 0-.87.2-1.16.5-.3.29-.5.7-.5 1.16v.77c-.38.21-.8.39-1.23.51l-.54-.54a1.64 1.64 0 0 0-1.16-.48H7c-.41 0-.83.16-1.16.48l-.54.55a6.1 6.1 0 0 1-1.25-.52v-.76c0-.45-.19-.87-.48-1.16-.3-.3-.71-.5-1.17-.5h-.76a6.1 6.1 0 0 1-.53-1.25l.55-.55Z"})),nut:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5.59 8.41a2 2 0 1 1 3.27-.68.5.5 0 1 0 .93.37 3 3 0 1 0-1.7 1.7.5.5 0 0 0-.36-.94 2 2 0 0 1-2.14-.45Z"}),a.createElement("path",{fillRule:"evenodd",d:"M6.5.29a1 1 0 0 1 1 0l5.06 2.92c.31.18.5.51.5.87v5.84a1 1 0 0 1-.5.87L7.5 13.7a1 1 0 0 1-1 0L1.44 10.8a1 1 0 0 1-.5-.87V4.08a1 1 0 0 1 .5-.87L6.5.3Zm.5.86 5.06 2.93v5.84L7 12.85 1.94 9.92V4.08L7 1.15Z"})),wrench:a.createElement(a.Fragment,null,a.createElement("path",{d:"M10.5 1c.44 0 .56.52.25.83l-.8.81c-.2.2-.2.52 0 .72l.69.7c.2.2.52.2.72 0l.8-.81c.32-.31.84-.2.84.25a2.5 2.5 0 0 1-3.41 2.33L2.7 12.7a1 1 0 0 1-1.42-1.42l6.88-6.88A2.5 2.5 0 0 1 10.5 1ZM2 12.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z"})),ellipsis:a.createElement(a.Fragment,null,a.createElement("path",{d:"M4 7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM13 7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM7 8.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"})),check:a.createElement(a.Fragment,null,a.createElement("path",{d:"M13.85 3.35a.5.5 0 0 0-.7-.7L5 10.79.85 6.65a.5.5 0 1 0-.7.7l4.5 4.5c.2.2.5.2.7 0l8.5-8.5Z"})),form:a.createElement(a.Fragment,null,a.createElement("path",{d:"M2 1a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V6.4a.5.5 0 0 0-1 0V12H2V2h7.5a.5.5 0 0 0 0-1H2Z"}),a.createElement("path",{d:"m6.35 9.86 7.5-7.5a.5.5 0 0 0-.7-.71L6 8.8 3.85 6.65a.5.5 0 1 0-.7.7l2.5 2.5c.2.2.5.2.7 0Z"})),batchdeny:a.createElement(a.Fragment,null,a.createElement("path",{d:"M11.5 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm-2.646.646a.5.5 0 0 1 0 .708L5.207 7l3.647 3.646a.5.5 0 0 1-.708.708L4.5 7.707.854 11.354a.5.5 0 0 1-.708-.708L3.793 7 .146 3.354a.5.5 0 1 1 .708-.708L4.5 6.293l3.646-3.647a.5.5 0 0 1 .708 0ZM11 7a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 11 7Zm.5 4a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z"})),batchaccept:a.createElement(a.Fragment,null,a.createElement("path",{d:"M11.5 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm-2.2.6a.5.5 0 0 1 .1.7l-5.995 7.993a.505.505 0 0 1-.37.206.5.5 0 0 1-.395-.152L.146 8.854a.5.5 0 1 1 .708-.708l2.092 2.093L8.6 2.7a.5.5 0 0 1 .7-.1ZM11 7a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 11 7Zm.5 4a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z"})),controls:a.createElement(a.Fragment,null,a.createElement("path",{d:"M10.5 1c.28 0 .5.22.5.5V2h1.5a.5.5 0 0 1 0 1H11v.5a.5.5 0 0 1-1 0V3H1.5a.5.5 0 0 1 0-1H10v-.5c0-.28.22-.5.5-.5ZM1.5 11a.5.5 0 0 0 0 1H10v.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H11v-.5a.5.5 0 0 0-1 0v.5H1.5ZM1 7c0-.28.22-.5.5-.5H3V6a.5.5 0 0 1 1 0v.5h8.5a.5.5 0 0 1 0 1H4V8a.5.5 0 0 1-1 0v-.5H1.5A.5.5 0 0 1 1 7Z"})),plus:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7.5.5a.5.5 0 0 0-1 0v6h-6a.5.5 0 0 0 0 1h6v6a.5.5 0 0 0 1 0v-6h6a.5.5 0 0 0 0-1h-6v-6Z"})),closeAlt:a.createElement(a.Fragment,null,a.createElement("path",{d:"M2.03.97A.75.75 0 0 0 .97 2.03L5.94 7 .97 11.97a.75.75 0 1 0 1.06 1.06L7 8.06l4.97 4.97a.75.75 0 1 0 1.06-1.06L8.06 7l4.97-4.97A.75.75 0 0 0 11.97.97L7 5.94 2.03.97Z"})),cross:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1.85 1.15a.5.5 0 1 0-.7.7L6.29 7l-5.14 5.15a.5.5 0 0 0 .7.7L7 7.71l5.15 5.14a.5.5 0 0 0 .7-.7L7.71 7l5.14-5.15a.5.5 0 0 0-.7-.7L7 6.29 1.85 1.15Z"})),trash:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5.5 4.5c.28 0 .5.22.5.5v5a.5.5 0 0 1-1 0V5c0-.28.22-.5.5-.5ZM9 5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M4.5.5c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5V2h3a.5.5 0 0 1 0 1H12v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3h-.5a.5.5 0 0 1 0-1h3V.5ZM3 3v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3H3Zm2.5-2h3v1h-3V1Z"})),pinalt:a.createElement(a.Fragment,null,a.createElement("path",{d:"M13.44 4.44 9.56.56a1.5 1.5 0 0 0-2.12 0L7 1a1.41 1.41 0 0 0 0 2L5 5H3.66A4 4 0 0 0 .83 6.17l-.48.48a.5.5 0 0 0 0 .7l2.8 2.8-3 3a.5.5 0 0 0 .7.7l3-3 2.8 2.8c.2.2.5.2.7 0l.48-.48A4 4 0 0 0 9 10.34V9l2-2c.55.55 1.45.55 2 0l.44-.44a1.5 1.5 0 0 0 0-2.12ZM11 5.59l-3 3v1.75a3 3 0 0 1-.88 2.12L7 12.6 1.41 7l.13-.12A3 3 0 0 1 3.66 6H5.4l3-3-.7-.7a.41.41 0 0 1 0-.6l.44-.43c.2-.2.5-.2.7 0l3.88 3.88c.2.2.2.5 0 .7l-.44.44a.41.41 0 0 1-.58 0L11 5.6Z"})),unpin:a.createElement(a.Fragment,null,a.createElement("path",{d:"M13.44 4.44 9.56.56a1.5 1.5 0 0 0-2.12 0L7 1a1.41 1.41 0 0 0 0 2L5.7 4.3l.71.7 2-2-.7-.7a.41.41 0 0 1 0-.6l.44-.43c.2-.2.5-.2.7 0l3.88 3.88c.2.2.2.5 0 .7l-.44.44a.41.41 0 0 1-.58 0L11 5.6l-2 2 .7.7L11 7c.55.55 1.45.55 2 0l.44-.44a1.5 1.5 0 0 0 0-2.12ZM.83 6.17A4 4 0 0 1 3.59 5l1 1h-.93a3 3 0 0 0-2.12.88L1.4 7 7 12.59l.12-.13A3 3 0 0 0 8 10.34v-.93l1 1a4 4 0 0 1-1.17 2.76l-.48.48a.5.5 0 0 1-.7 0l-2.8-2.8-3 3a.5.5 0 0 1-.7-.7l3-3-2.8-2.8a.5.5 0 0 1 0-.7l.48-.48Zm1.02-5.02a.5.5 0 1 0-.7.7l11 11a.5.5 0 0 0 .7-.7l-11-11Z"})),add:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7 3c.28 0 .5.22.5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3c0-.28.22-.5.5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm0-1A6 6 0 1 0 7 1a6 6 0 0 0 0 12Z"})),subtract:a.createElement(a.Fragment,null,a.createElement("path",{d:"M3.5 6.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Z"}),a.createElement("path",{fillRule:"evenodd",d:"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z"})),close:a.createElement(a.Fragment,null,a.createElement("path",{d:"M9.85 4.15c.2.2.2.5 0 .7L7.71 7l2.14 2.15a.5.5 0 0 1-.7.7L7 7.71 4.85 9.85a.5.5 0 0 1-.7-.7L6.29 7 4.15 4.85a.5.5 0 1 1 .7-.7L7 6.29l2.15-2.14c.2-.2.5-.2.7 0Z"}),a.createElement("path",{fillRule:"evenodd",d:"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm0-1A6 6 0 1 0 7 1a6 6 0 0 0 0 12Z"})),delete:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0a6 6 0 0 1-9.87 4.58l8.45-8.45A5.98 5.98 0 0 1 13 7ZM2.42 10.87l8.45-8.45a6 6 0 0 0-8.46 8.46Z"})),passed:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm3.85-9.35c.2.2.2.5 0 .7l-4.5 4.5a.5.5 0 0 1-.7 0l-2.5-2.5a.5.5 0 1 1 .7-.7L6 8.79l4.15-4.14c.2-.2.5-.2.7 0Z"})),changed:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14ZM3.5 6.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Z"})),failed:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm2.85-9.85c.2.2.2.5 0 .7L7.71 7l2.14 2.15a.5.5 0 0 1-.7.7L7 7.71 4.85 9.85a.5.5 0 0 1-.7-.7L6.29 7 4.15 4.85a.5.5 0 1 1 .7-.7L7 6.29l2.15-2.14c.2-.2.5-.2.7 0Z"})),clear:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M5 2h7a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H5a2 2 0 0 1-1.41-.59l-3-3a2 2 0 0 1 0-2.82l3-3A2 2 0 0 1 5 2Zm1.15 3.15c.2-.2.5-.2.7 0L8 6.29l1.15-1.14a.5.5 0 1 1 .7.7L8.71 7l1.14 1.15a.5.5 0 0 1-.7.7L8 7.71 6.85 8.85a.5.5 0 1 1-.7-.7L7.29 7 6.15 5.85a.5.5 0 0 1 0-.7Z"})),comment:a.createElement(a.Fragment,null,a.createElement("path",{d:"M3.5 5a.5.5 0 1 0 0 1h7a.5.5 0 0 0 0-1h-7ZM3 8.5c0-.27.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M12.5 12H5.7l-1.85 1.86a.5.5 0 0 1-.35.14.5.5 0 0 1-.5-.5V12H1.5a.5.5 0 0 1-.5-.5v-9c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v9a.5.5 0 0 1-.5.5ZM2 11V3h10v8H2Z"})),commentadd:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7.5 5a.5.5 0 1 0-1 0v1.5H5a.5.5 0 1 0 0 1h1.5V9a.5.5 0 0 0 1 0V7.5H9a.5.5 0 0 0 0-1H7.5V5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M3.7 13.97a.5.5 0 0 1-.7-.46V12H1.5a.5.5 0 0 1-.5-.5v-9c0-.28.22-.5.5-.5h11c.28 0 .5.22.5.5v9a.5.5 0 0 1-.5.5H5.7l-1.85 1.85a.5.5 0 0 1-.16.1ZM2 3v8h10V3H2Z"})),requestchange:a.createElement(a.Fragment,null,a.createElement("path",{d:"M9.85 6.65c.2.2.2.51 0 .7l-2 2a.5.5 0 1 1-.7-.7L8.3 7.5H4.5a.5.5 0 0 1 0-1h3.79L7.15 5.36a.5.5 0 1 1 .7-.71l2 2Z"}),a.createElement("path",{fillRule:"evenodd",d:"M3.7 13.97a.5.5 0 0 1-.7-.46V12H1.5a.5.5 0 0 1-.5-.5v-9c0-.28.22-.5.5-.5h11c.28 0 .5.22.5.5v9a.5.5 0 0 1-.5.5H5.7l-1.85 1.85a.5.5 0 0 1-.16.1ZM2 3v8h10V3H2Z"})),comments:a.createElement(a.Fragment,null,a.createElement("path",{d:"M8.5 7a.5.5 0 0 0 0-1h-5a.5.5 0 1 0 0 1h5ZM9 8.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1 0-1h5c.28 0 .5.23.5.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M12 11.5V10h1.5a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5V3H.5a.5.5 0 0 0-.5.5v8c0 .28.22.5.5.5H2v1.5a.5.5 0 0 0 .5.5.5.5 0 0 0 .35-.14L4.71 12h6.79a.5.5 0 0 0 .5-.5ZM3 3V2h10v7h-1V3.5a.5.5 0 0 0-.5-.5H3Zm-2 8V4h10v7H1Z"})),lock:a.createElement(a.Fragment,null,a.createElement("path",{d:"M8 8a1 1 0 0 1-.5.87v1.63a.5.5 0 0 1-1 0V8.87A1 1 0 1 1 8 8Z"}),a.createElement("path",{fillRule:"evenodd",d:"M3 4a4 4 0 1 1 8 0v1h1.5c.28 0 .5.23.5.5v8a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-8c0-.27.22-.5.5-.5H3V4Zm7 1V4a3 3 0 1 0-6 0v1h6Zm2 1H2v7h10V6Z"})),unlock:a.createElement(a.Fragment,null,a.createElement("path",{d:"M6.5 8.87a1 1 0 1 1 1 0v1.63a.5.5 0 0 1-1 0V8.87Z"}),a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7 1a3 3 0 0 0-3 3v1h8.5c.28 0 .5.23.5.5v8a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-8c0-.27.22-.5.5-.5H3V4a4 4 0 0 1 7.76-1.38.5.5 0 0 1-.94.34A3 3 0 0 0 7 1ZM2 6h10v7H2V6Z"})),key:a.createElement(a.Fragment,null,a.createElement("path",{d:"M11 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"}),a.createElement("path",{fillRule:"evenodd",d:"M7.5 8.53v.97a.5.5 0 0 1-.5.5H5.5v1.5a.5.5 0 0 1-.5.5H3.5v1.5a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .15-.36l5.12-5.11a4.5 4.5 0 1 1 2.23 2.5ZM6 4.5a3.5 3.5 0 1 1 1.5 2.87c-.29-.2-1-.37-1 .48V9H5a.5.5 0 0 0-.5.5V11H3a.5.5 0 0 0-.5.5V13H1v-1.3l5.2-5.19c.15-.16.18-.4.1-.6A3.47 3.47 0 0 1 6 4.5Z"})),outbox:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7.35.15a.5.5 0 0 0-.7 0l-2 2a.5.5 0 1 0 .7.7L6.5 1.72v6.8a.5.5 0 0 0 1 0V1.7l1.15 1.15a.5.5 0 1 0 .7-.71l-2-2Z"}),a.createElement("path",{d:"M2 7.5a.5.5 0 1 0-1 0v5c0 .28.22.5.5.5h11a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-1 0V12H2V7.5Z"})),credit:a.createElement(a.Fragment,null,a.createElement("path",{d:"M2.5 8a.5.5 0 1 0 0 1h3a.5.5 0 0 0 0-1h-3Z"}),a.createElement("path",{fillRule:"evenodd",d:"M0 11.5c0 .28.22.5.5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5H.5a.5.5 0 0 0-.5.5v9ZM1 3v1h12V3H1Zm0 8h12V6H1v5Z"})),button:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1 3a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h3.5a.5.5 0 1 0 0-1H1V4h12v5h-1a.5.5 0 0 0 0 1h1a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H1Z"}),a.createElement("path",{d:"M6.45 7a.5.5 0 0 1 .3.08l3.48 2.02a.5.5 0 0 1 0 .87l-1.08.62.75 1.3a.75.75 0 0 1-1.3.75l-.75-1.3-1.07.62a.5.5 0 0 1-.67-.13.5.5 0 0 1-.1-.3L6 7.5a.5.5 0 0 1 .45-.5Z"})),type:a.createElement(a.Fragment,null,a.createElement("path",{d:"M4 1.5c0-.27.22-.5.5-.5h5a.5.5 0 1 1 0 1h-2v10h2a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h2V2h-2a.5.5 0 0 1-.5-.5Z"}),a.createElement("path",{d:"M0 4.5c0-.27.22-.5.5-.5h4a.5.5 0 1 1 0 1H1v4h3.5a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5v-5ZM9.5 4a.5.5 0 1 0 0 1H13v4H9.5a.5.5 0 1 0 0 1h4a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-4Z"})),pointerdefault:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5.94 12.46c.11 0 .2-.06.25-.15l1.58-3.16 2.54 2.54c.04.05.1.07.19.07a.3.3 0 0 0 .2-.07l.8-.8a.27.27 0 0 0 0-.38L8.9 7.9l3.4-1.7c.06-.03.1-.07.12-.11a.22.22 0 0 0 .04-.14.33.33 0 0 0-.06-.16.17.17 0 0 0-.09-.07h-.02L1.91 1.55a.27.27 0 0 0-.35.36l4.15 10.37c.04.09.12.16.23.17Zm-.03 1h-.02a1.28 1.28 0 0 1-1.1-.8L.62 2.29A1.27 1.27 0 0 1 2.3.63l10.35 4.15c.52.18.79.65.81 1.11.04.53-.27.98-.7 1.2l-2.17 1.08L12.2 9.8c.5.5.5 1.3 0 1.8l-.8.8v.01c-.5.46-1.3.48-1.8-.01l-1.56-1.56-.95 1.92c-.23.45-.68.7-1.15.7h-.03Z"})),pointerhand:a.createElement(a.Fragment,null,a.createElement("path",{d:"M11.87 6v-.02c-.03-.27-.23-.48-.47-.5a.5.5 0 0 0-.53.5v1.41c0 .25-.22.47-.47.47a.48.48 0 0 1-.47-.47V5.17a.6.6 0 0 0 0-.05c-.02-.27-.23-.5-.47-.5a.5.5 0 0 0-.52.5v1.65l-.01.1a.49.49 0 0 1-.46.37.48.48 0 0 1-.47-.47V4.62a.6.6 0 0 0 0-.05c-.03-.27-.23-.48-.47-.5a.5.5 0 0 0-.53.5v2.2c0 .25-.22.47-.47.47a.49.49 0 0 1-.47-.47V1.75c-.02-.27-.22-.5-.47-.5a.5.5 0 0 0-.52.5v6.78c0 .25-.22.47-.47.47a.48.48 0 0 1-.47-.47v-.26a.78.78 0 0 0-.06-.31.65.65 0 0 0-.16-.22l-.2-.19A6.37 6.37 0 0 0 3.06 7h-.02c-.43-.34-.62-.25-.69-.2-.26.14-.29.5-.13.74l1.73 2.6v.01h-.01l-.04.02.05-.02s1.21 2.6 3.57 2.6c3.54 0 4.2-1.9 4.31-4.42.04-.6.04-1.19.03-1.78V6Zm.97 2.38c-.06 1.29-.26 2.67-1.08 3.72-.88 1.12-2.29 1.65-4.23 1.65a4.64 4.64 0 0 1-3.4-1.62 6.96 6.96 0 0 1-1.05-1.5v-.02L1.4 8.1A1.6 1.6 0 0 1 1.15 7c.05-.38.26-.8.69-1.04.2-.13.48-.23.85-.19.36.05.68.22.98.45.14.1.27.22.4.33v-4.8A1.5 1.5 0 0 1 5.63.25c.93.04 1.43.86 1.43 1.55v1.33c.17-.05.35-.07.53-.06h.02c.5.04.91.33 1.15.71a1.5 1.5 0 0 1 .74-.16c.66.03 1.12.46 1.32.97a1.5 1.5 0 0 1 .64-.1h.02c.85.06 1.39.8 1.39 1.55v.48c0 .6 0 1.24-.03 1.86Z"})),browser:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M.5 13a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h13c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5H.5Zm.5-1V4h12v8H1Zm1-9.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z"})),tablet:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M3.5 0C2.67 0 2 .68 2 1.5v11c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5v-11c0-.82-.67-1.5-1.5-1.5h-7Zm0 1h7c.28 0 .5.23.5.5V11H3V1.5c0-.27.22-.5.5-.5ZM6 12a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1H6Z"})),mobile:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M3 1.5C3 .68 3.67 0 4.5 0h5c.83 0 1.5.68 1.5 1.5v11c0 .83-.67 1.5-1.5 1.5h-5A1.5 1.5 0 0 1 3 12.5v-11ZM4 12V2h6v10H4Z"})),watch:a.createElement(a.Fragment,null,a.createElement("path",{key:"watch",fillRule:"evenodd",d:"M4 .5c0-.27.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5A.5.5 0 0 1 4 .5ZM9.5 3h-5a.5.5 0 0 0-.5.5v7c0 .28.22.5.5.5h5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5Zm-5-1C3.67 2 3 2.68 3 3.5v7c0 .83.67 1.5 1.5 1.5h5c.83 0 1.5-.67 1.5-1.5v-7c0-.82-.67-1.5-1.5-1.5h-5ZM7 4c.28 0 .5.23.5.5v2h1a.5.5 0 1 1 0 1H7a.5.5 0 0 1-.5-.5V4.5c0-.27.22-.5.5-.5Zm-2.5 9a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z"})),sidebar:a.createElement(a.Fragment,null,a.createElement("path",{d:"M2.5 4.5c0-.27.22-.5.5-.5h1a.5.5 0 1 1 0 1H3a.5.5 0 0 1-.5-.5ZM3 6a.5.5 0 1 0 0 1h1a.5.5 0 0 0 0-1H3Zm-.5 2.5c0-.27.22-.5.5-.5h1a.5.5 0 1 1 0 1H3a.5.5 0 0 1-.5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M1.5 13a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11Zm.5-1V2h3v10H2ZM6 2h6v10H6V2Z"})),sidebaralt:a.createElement(a.Fragment,null,a.createElement("path",{d:"M9.5 4.5c0-.27.22-.5.5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM10 6a.5.5 0 1 0 0 1h1a.5.5 0 0 0 0-1h-1Zm-.5 2.5c0-.27.22-.5.5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M1.5 13a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11Zm.5-1V2h6v10H2ZM9 2h3v10H9V2Z"})),sidebaralttoggle:a.createElement(a.Fragment,null,a.createElement("path",{d:"M11.5 4.5A.5.5 0 0 0 11 4h-1a.5.5 0 1 0 0 1h1a.5.5 0 0 0 .5-.5ZM11 6a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1h1Zm.5 2.5A.5.5 0 0 0 11 8h-1a.5.5 0 1 0 0 1h1a.5.5 0 0 0 .5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M1.5 13a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11ZM9 12h3V2H9v10Zm-1 0H2V2h6v4.5H5.2l.66-.65a.5.5 0 1 0-.71-.7l-1.5 1.5a.5.5 0 0 0 0 .7l1.5 1.5a.5.5 0 1 0 .7-.7l-.64-.65H8V12Z"})),sidebartoggle:a.createElement(a.Fragment,null,a.createElement("path",{d:"M2.5 4.5c0-.27.22-.5.5-.5h1a.5.5 0 1 1 0 1H3a.5.5 0 0 1-.5-.5ZM3 6a.5.5 0 1 0 0 1h1a.5.5 0 0 0 0-1H3Zm-.5 2.5c0-.27.22-.5.5-.5h1a.5.5 0 1 1 0 1H3a.5.5 0 0 1-.5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M1.5 13a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11Zm.5-1V2h3v10H2Zm4 0V7.5h2.8l-.65.65a.5.5 0 1 0 .7.7l1.5-1.5a.5.5 0 0 0 0-.7l-1.5-1.5a.5.5 0 1 0-.7.7l.64.65H6V2h6v10H6Z"})),bottombar:a.createElement(a.Fragment,null,a.createElement("path",{d:"M3 10.5c0-.27.22-.5.5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm3.5-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5c0-.27.22-.5.5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M1 1.5c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11ZM2 8V2h10v6H2Zm10 1v3H2V9h10Z"})),bottombartoggle:a.createElement(a.Fragment,null,a.createElement("path",{d:"M3.5 10a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5c0-.27.22-.5.5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm3.5-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z"}),a.createElement("path",{fillRule:"evenodd",d:"M1 12.5v-11c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5Zm1-.5V9h10v3H2Zm4.5-4H2V2h10v6H7.5V5.21l.65.65a.5.5 0 1 0 .7-.71l-1.5-1.5a.5.5 0 0 0-.7 0l-1.5 1.5a.5.5 0 1 0 .7.7l.65-.64v2.8Z"})),cpu:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M5 5.5c0-.27.22-.5.5-.5h3c.28 0 .5.23.5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3ZM6 8V6h2v2H6Z"}),a.createElement("path",{fillRule:"evenodd",d:"M5.5 0c.28 0 .5.23.5.5V2h2V.5a.5.5 0 0 1 1 0V2h2.5c.28 0 .5.23.5.5V5h1.5a.5.5 0 0 1 0 1H12v2h1.5a.5.5 0 0 1 0 1H12v2.5a.5.5 0 0 1-.5.5H9v1.5a.5.5 0 0 1-1 0V12H6v1.5a.5.5 0 0 1-1 0V12H2.5a.5.5 0 0 1-.5-.5V9H.5a.5.5 0 0 1 0-1H2V6H.5a.5.5 0 0 1 0-1H2V2.5c0-.27.22-.5.5-.5H5V.5c0-.27.22-.5.5-.5ZM11 3H3v8h8V3Z"})),database:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M12 3c0-1.1-2.24-2-5-2s-5 .9-5 2v8c0 .43.26.75.54.98.3.23.68.41 1.12.55.88.3 2.06.47 3.34.47 1.28 0 2.46-.17 3.34-.46.44-.15.83-.33 1.12-.56.28-.23.54-.55.54-.98V3Zm-1.03 0a2.45 2.45 0 0 0-.8-.49A8.88 8.88 0 0 0 7 2c-1.29 0-2.4.21-3.16.51a2.45 2.45 0 0 0-.81.49l.05.05c.13.13.37.28.76.44C4.6 3.79 5.7 4 7 4s2.4-.21 3.16-.51a2.45 2.45 0 0 0 .81-.49ZM11 5.75V4.2A8.9 8.9 0 0 1 7 5a8.98 8.98 0 0 1-4-.8v1.55l.02.04c.02.04.06.09.14.15.17.13.44.27.82.4A10 10 0 0 0 7 6.75a10 10 0 0 0 3.02-.41c.38-.13.65-.27.82-.4a.62.62 0 0 0 .14-.15.15.15 0 0 0 .02-.03v-.01ZM3 7.01c.2.1.42.2.66.28.88.29 2.06.46 3.34.46 1.28 0 2.46-.17 3.34-.46.24-.08.46-.17.66-.28V8.5l-.02.04a.62.62 0 0 1-.14.15c-.17.13-.44.27-.82.4A10 10 0 0 1 7 9.5a10 10 0 0 1-3.02-.41 2.76 2.76 0 0 1-.82-.4.62.62 0 0 1-.14-.15.15.15 0 0 1-.02-.03V7Zm0 2.75V11l.02.04c.02.04.06.09.14.15.17.13.44.27.82.4A10 10 0 0 0 7 12a10 10 0 0 0 3.02-.41c.38-.13.65-.27.82-.4a.62.62 0 0 0 .14-.15.15.15 0 0 0 .02-.03V9.76c-.2.1-.42.2-.66.28-.88.29-2.06.46-3.34.46-1.28 0-2.46-.17-3.34-.46A4.77 4.77 0 0 1 3 9.76Z"})),memory:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5 3a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0V3Zm2-.5c.28 0 .5.22.5.5v3a.5.5 0 0 1-1 0V3c0-.28.22-.5.5-.5Zm3 2a.5.5 0 1 0-1 0V6a.5.5 0 0 0 1 0V4.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M12 3.54a.5.5 0 0 0-.15-.39l-3-3a.5.5 0 0 0-.38-.14H2.5a.5.5 0 0 0-.5.5v13c0 .27.22.5.5.5h9a.5.5 0 0 0 .5-.5V3.53ZM3 1h5.3L11 3.71v5.3H3V1Zm0 9v3h8v-3H3Z"})),structure:a.createElement(a.Fragment,null,a.createElement("path",{d:"M8.16 3.45a1.5 1.5 0 1 0-2.33 0l-4.02 6.58A1.5 1.5 0 1 0 2.91 12h8.18a1.5 1.5 0 1 0 1.1-1.97L8.16 3.45Zm-1.47.52a1.5 1.5 0 0 0 .62 0l4.03 6.58c-.11.14-.2.29-.25.45H2.9a1.5 1.5 0 0 0-.25-.45L6.7 3.97Z"})),box:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"m7.21.05 6.49 2.99a.5.5 0 0 1 .3.47v6.98a.5.5 0 0 1-.3.47l-6.47 2.98a.5.5 0 0 1-.46 0L.3 10.96a.5.5 0 0 1-.3-.47V3.5a.5.5 0 0 1 .3-.47L6.79.05a.5.5 0 0 1 .43 0ZM1 4.28v5.9l5.5 2.54v-5.9L1 4.28Zm6.5 8.44 5.5-2.54v-5.9L7.5 6.82v5.9Zm4.8-9.22L7 5.95 1.7 3.5 7 1.05l5.3 2.45Z"})),power:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7.5.5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0v-6Z"}),a.createElement("path",{d:"M4.27 2.8a.5.5 0 0 0-.54-.83 6 6 0 1 0 6.54 0 .5.5 0 0 0-.54.84 5 5 0 1 1-5.46 0Z"})),photo:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M6.25 4.25a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm-.5 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z"}),a.createElement("path",{fillRule:"evenodd",d:"M13 1.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5ZM2 9.3V2h10v5.3L9.85 5.15a.5.5 0 0 0-.7 0L6.5 7.8 5.35 6.65a.5.5 0 0 0-.7 0L2 9.3Zm7.5-3.1L12 8.7V12H2v-1.3l3-3 3.15 3.15a.5.5 0 0 0 .7-.71L7.21 8.5 9.5 6.21Z"})),component:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M3.5 1A2.5 2.5 0 0 0 1 3.5v7A2.5 2.5 0 0 0 3.5 13h7a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 10.5 1h-7ZM12 6.5H7.5V2h3c.83 0 1.5.68 1.5 1.5v3Zm0 1v3c0 .83-.67 1.5-1.5 1.5h-3V7.5H12ZM6.5 12V7.5H2v3c0 .83.67 1.5 1.5 1.5h3ZM2 6.5h4.5V2h-3C2.67 2 2 2.68 2 3.5v3Z"})),grid:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M1 1.5c0-.27.22-.5.5-.5H6c.28 0 .5.23.5.5V6a.5.5 0 0 1-.5.5H1.5A.5.5 0 0 1 1 6V1.5Zm1 4V2h3.5v3.5H2Zm5.5-4c0-.27.22-.5.5-.5h4.5c.28 0 .5.23.5.5V6a.5.5 0 0 1-.5.5H8a.5.5 0 0 1-.5-.5V1.5Zm1 4V2H12v3.5H8.5Zm-7 2A.5.5 0 0 0 1 8v4.5c0 .28.22.5.5.5H6a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5H1.5Zm.5 1V12h3.5V8.5H2ZM7.5 8c0-.27.22-.5.5-.5h4.5c.28 0 .5.23.5.5v4.5a.5.5 0 0 1-.5.5H8a.5.5 0 0 1-.5-.5V8Zm1 4V8.5H12V12H8.5Z"})),outline:a.createElement(a.Fragment,null,a.createElement("path",{d:"M2 2v2H1V1.5c0-.27.22-.5.5-.5H4v1H2ZM1 9V5h1v4H1Zm0 1v2.5c0 .28.22.5.5.5H4v-1H2v-2H1Zm9 3h2.5a.5.5 0 0 0 .5-.5V10h-1v2h-2v1Zm2-9h1V1.5a.5.5 0 0 0-.5-.5H10v1h2v2Zm-3 8v1H5v-1h4ZM9 1v1H5V1h4Zm4 8h-1V5h1v4ZM7 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"})),photodrag:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M8.25 3.25a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm-.5 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z"}),a.createElement("path",{fillRule:"evenodd",d:"M14 7V.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5V3H.5a.5.5 0 0 0-.5.5V6h1V4h2v6.5c0 .28.22.5.5.5H10v2H8v1h2.5a.5.5 0 0 0 .5-.5V11h2.5a.5.5 0 0 0 .5-.5V7ZM4 1v5.8l1.65-1.65c.2-.2.5-.2.7 0L7.5 6.3l2.65-2.65c.2-.2.5-.2.7 0L13 5.8V1H4Zm9 6.21-2.5-2.5-2.3 2.3 1.15 1.14a.5.5 0 1 1-.7.7L6 6.22l-2 2v1.8h9V7.2Z"}),a.createElement("path",{d:"M0 10V7h1v3H0Zm0 3.5V11h1v2h2v1H.5a.5.5 0 0 1-.5-.5Zm7 .5H4v-1h3v1Z"})),search:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M9.54 10.2a5.5 5.5 0 1 1 .66-.66c.06.03.11.06.15.1l3 3a.5.5 0 0 1-.7.71l-3-3a.5.5 0 0 1-.1-.14ZM10.5 6a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z"})),zoom:a.createElement(a.Fragment,null,a.createElement("path",{d:"M6 3.5c.28 0 .5.22.5.5v1.5H8a.5.5 0 0 1 0 1H6.5V8a.5.5 0 0 1-1 0V6.5H4a.5.5 0 0 1 0-1h1.5V4c0-.28.22-.5.5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M9.54 10.2a5.5 5.5 0 1 1 .66-.66c.06.03.11.06.15.1l3 3a.5.5 0 0 1-.7.71l-3-3a.5.5 0 0 1-.1-.14ZM10.5 6a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z"})),zoomout:a.createElement(a.Fragment,null,a.createElement("path",{d:"M4 5.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H4Z"}),a.createElement("path",{fillRule:"evenodd",d:"M6 11.5c1.35 0 2.59-.49 3.54-1.3.03.06.06.11.1.15l3 3a.5.5 0 0 0 .71-.7l-3-3a.5.5 0 0 0-.14-.1A5.5 5.5 0 1 0 6 11.5Zm0-1a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z"})),zoomreset:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1.5 2.84V1.5a.5.5 0 0 0-1 0V4c0 .28.22.5.5.5h2.5a.5.5 0 0 0 0-1H2.26a4.5 4.5 0 1 1-.5 4.02.5.5 0 1 0-.94.33 5.5 5.5 0 0 0 8.72 2.36l.1.14 3 3a.5.5 0 0 0 .71-.7l-3-3a.5.5 0 0 0-.14-.1 5.5 5.5 0 1 0-8.7-6.7Z"})),eye:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7 9.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"}),a.createElement("path",{fillRule:"evenodd",d:"m14 7-.2.3c-.13.16-3.06 4.2-6.8 4.2C3.26 11.5.33 7.46.2 7.3L0 7l.2-.3C.34 6.55 3.27 2.5 7 2.5c3.74 0 6.67 4.04 6.8 4.2l.2.3ZM2.9 5.3A13 13 0 0 0 1.24 7 13 13 0 0 0 2.9 8.7c1.14.97 2.58 1.8 4.1 1.8 1.52 0 2.96-.83 4.1-1.8A13 13 0 0 0 12.76 7a13 13 0 0 0-1.66-1.7C9.96 4.33 8.52 3.5 7 3.5c-1.52 0-2.96.83-4.1 1.8Z"})),eyeclose:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1.85 1.15a.5.5 0 1 0-.7.7l11 11a.5.5 0 0 0 .7-.7l-11-11ZM11.1 8.7c-.17.15-.36.3-.55.44l.72.71a13.25 13.25 0 0 0 2.52-2.56L14 7l-.2-.3c-.13-.16-3.06-4.2-6.8-4.2-.89 0-1.73.23-2.5.58l.76.76A4.86 4.86 0 0 1 7 3.5c1.52 0 2.96.83 4.1 1.8A13 13 0 0 1 12.76 7a13 13 0 0 1-1.66 1.7ZM.2 6.7c.08-.09 1.04-1.41 2.53-2.55l.72.71c-.2.14-.38.3-.55.44A13 13 0 0 0 1.24 7 13 13 0 0 0 2.9 8.7c1.14.97 2.58 1.8 4.1 1.8.6 0 1.18-.13 1.74-.34l.77.76c-.78.35-1.62.58-2.51.58C3.26 11.5.33 7.46.2 7.3L0 7l.2-.3Z"}),a.createElement("path",{d:"M4.5 7c0-.32.06-.63.17-.91l3.24 3.24A2.5 2.5 0 0 1 4.5 7Zm4.83.91L6.09 4.67a2.5 2.5 0 0 1 3.24 3.24Z"})),lightning:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M2.52 6.6a.57.57 0 0 0-.17.54c.04.2.19.37.38.41l2.78.73-1.5 5c-.06.24.02.5.22.63a.5.5 0 0 0 .28.09.5.5 0 0 0 .35-.14L11.5 7.4c.14-.13.2-.34.15-.54a.53.53 0 0 0-.38-.4l-2.7-.7L10.79.78c.1-.23.04-.5-.15-.66a.5.5 0 0 0-.65 0L2.52 6.6Zm7.72.63-3.07-.8 1.85-4.14-5.2 4.51 2.94.77-1.27 4.28 4.75-4.62Zm-5.73 6.2.04.02Z"})),lightningoff:a.createElement(a.Fragment,null,a.createElement("path",{d:"M10.14 8.72 11.5 7.4c.14-.13.2-.34.15-.54a.53.53 0 0 0-.38-.4l-2.7-.7L10.79.78c.1-.23.04-.5-.15-.66a.5.5 0 0 0-.65 0L5.46 4.05l.71.7L9.02 2.3 7.38 5.97l.7.7 2.16.56-.8.79.7.7ZM2.52 6.6a.57.57 0 0 0-.17.54c.04.2.19.37.38.41l2.78.73-1.5 5c-.06.24.02.5.22.63a.5.5 0 0 0 .63-.05l3.84-3.74-.7-.7-2.51 2.43 1.13-3.81-.68-.69L3.8 6.8l.85-.73-.71-.7L2.52 6.6Zm-.67-5.45a.5.5 0 1 0-.7.7l11 11a.5.5 0 0 0 .7-.7l-11-11Z"})),contrast:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M3 3H.5a.5.5 0 0 0-.5.5v10c0 .28.22.5.5.5h10a.5.5 0 0 0 .5-.5V11h2.5a.5.5 0 0 0 .5-.5V.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5V3Zm1 1v2.3L6.3 4H4ZM3 4v6.5a.5.5 0 0 0 .5.5H10v2H1V4h2Zm1-1h6.5a.5.5 0 0 1 .5.5V10h2V1H4v2Zm6 7V7.71l-2.3 2.3H10Zm0-3.7V4.7L4.7 10h1.6L10 6.3ZM9.3 4H7.7L4 7.71V9.3L9.3 4Z"})),switchalt:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M3 3V.5c0-.27.22-.5.5-.5h10c.28 0 .5.23.5.5v10a.5.5 0 0 1-.5.5H11v2.5a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-10c0-.27.22-.5.5-.5H3Zm1 0V1h9v9h-2V3.5a.5.5 0 0 0-.5-.5H4Zm6 8v2H1V4h2v6.5c0 .28.22.5.5.5H10Zm0-1H4V4h6v6Z"})),mirror:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1 1.5c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11ZM2 12h10V2L2 12Z"})),grow:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1.5 1a.5.5 0 1 0 0 1H12v10.5a.5.5 0 0 0 1 0V2a1 1 0 0 0-1-1H1.5Z"}),a.createElement("path",{d:"M1 3.5c0-.27.22-.5.5-.5H10a1 1 0 0 1 1 1v8.5a.5.5 0 0 1-1 0V4H1.5a.5.5 0 0 1-.5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M1.5 5a.5.5 0 0 0-.5.5v7c0 .28.22.5.5.5h7a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-7ZM2 6v6h6V6H2Z"})),paintbrush:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M11.8535.1464a.5.5 0 0 0-.7071 0L2.9827 8.3102a2.2396 2.2396 0 0 0-1.0737.599C.6772 10.141.2402 11.903.0852 12.9978 0 13.5998 0 14.0002 0 14.0002s.4004 0 1.0023-.0853c1.095-.155 2.8569-.5919 4.0887-1.8237.307-.307.5067-.6806.5992-1.0743l8.1633-8.1633a.5.5 0 0 0 0-.7071l-2-2Zm-6.253 9.546L6.543 8.75l-1.293-1.2929-.9424.9424a2.242 2.242 0 0 1 .7835.5097c.23.2302.4.4977.5095.7831ZM7.25 8.0428 12.7929 2.5 11.5 1.2071 5.957 6.75 7.25 8.0429ZM4.3839 9.6163c.4881.4882.4881 1.2796 0 1.7678-.7665.7664-1.832 1.1845-2.7791 1.403a8.6972 8.6972 0 0 1-.49.0982 8.7151 8.7151 0 0 1 .0982-.4899c.2186-.9471.6367-2.0126 1.403-2.779.4882-.4882 1.2797-.4882 1.7679 0Z"})),ruler:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1.5 1c.28 0 .5.23.5.5V2h10v-.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-1 0V3H2v.5a.5.5 0 0 1-1 0v-2c0-.27.22-.5.5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M1.5 6a.5.5 0 0 0-.5.5v6c0 .28.22.5.5.5h11a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-11ZM2 7v5h10V7h-1v2.5a.5.5 0 0 1-1 0V7h-.75v1a.5.5 0 0 1-1 0V7H7.5v2.5a.5.5 0 0 1-1 0V7h-.75v1a.5.5 0 0 1-1 0V7H4v2.5a.5.5 0 0 1-1 0V7H2Z"})),stop:a.createElement(a.Fragment,null,a.createElement("path",{d:"M4.5 4a.5.5 0 0 0-.5.5v5c0 .28.22.5.5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z"})),camera:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M10 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9 7a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z"}),a.createElement("path",{fillRule:"evenodd",d:"M2.5 1a.5.5 0 0 0-.5.5V2H.5a.5.5 0 0 0-.5.5v9c0 .28.22.5.5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5H6v-.5a.5.5 0 0 0-.5-.5h-3ZM1 3v8h12V3H1Z"})),video:a.createElement(a.Fragment,null,a.createElement("path",{d:"M2.5 10a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z"}),a.createElement("path",{fillRule:"evenodd",d:"M0 4c0-1.1.9-2 2-2h6a2 2 0 0 1 2 2v.5l3.19-2.4a.5.5 0 0 1 .81.4v9a.5.5 0 0 1-.8.4L10 9.5v.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm9 0v1.5a.5.5 0 0 0 .8.4L13 3.5v7L9.8 8.1a.5.5 0 0 0-.8.4V10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1Z"})),speaker:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M1 4.50004V9.50004C1 9.77618 1.22386 10 1.5 10H4L7.17075 12.7744C7.49404 13.0573 8 12.8277 8 12.3982V1.60192C8 1.17235 7.49404 0.942757 7.17075 1.22564L4 4.00004H1.5C1.22386 4.00004 1 4.2239 1 4.50004ZM4 9.00004V5.00004H2V9.00004H4ZM4.99804 9.54456C4.99934 9.52989 5 9.51505 5 9.50004V4.50004C5 4.48504 4.99934 4.47019 4.99804 4.45552L7 2.70381V11.2963L4.99804 9.54456Z"}),a.createElement("path",{d:"M10.1498 1.75202C9.88637 1.66927 9.60572 1.81577 9.52297 2.07922C9.44023 2.34267 9.58672 2.62332 9.85017 2.70607C11.6763 3.27963 13 4.98596 13 7.00014C13 9.01433 11.6763 10.7207 9.85017 11.2942C9.58672 11.377 9.44023 11.6576 9.52297 11.9211C9.60572 12.1845 9.88637 12.331 10.1498 12.2483C12.3808 11.5476 14 9.4636 14 7.00014C14 4.53669 12.3808 2.45272 10.1498 1.75202Z"}),a.createElement("path",{d:"M10.2504 3.96861C10.0113 3.83033 9.70547 3.91201 9.5672 4.15105C9.42893 4.39008 9.51061 4.69594 9.74964 4.83421C10.4982 5.26723 11 6.07534 11 7.00006C11 7.92479 10.4982 8.7329 9.74964 9.16591C9.51061 9.30418 9.42893 9.61005 9.5672 9.84908C9.70547 10.0881 10.0113 10.1698 10.2504 10.0315C11.2952 9.42711 12 8.29619 12 7.00006C12 5.70394 11.2952 4.57302 10.2504 3.96861Z"})),play:a.createElement(a.Fragment,null,a.createElement("path",{d:"m12.81 7.43-9.05 5.6A.5.5 0 0 1 3 12.6V1.4c0-.4.43-.63.76-.43l9.05 5.6a.5.5 0 0 1 0 .86Z"})),playback:a.createElement(a.Fragment,null,a.createElement("path",{d:"M11.24 12.04 3.7 7.42a.5.5 0 0 1-.2-.23v4.05a.75.75 0 0 1-1.5 0v-8.5a.75.75 0 0 1 1.5 0V6.8a.5.5 0 0 1 .2-.23l7.54-4.6a.5.5 0 0 1 .76.42v9.22a.5.5 0 0 1-.76.43Z"})),playnext:a.createElement(a.Fragment,null,a.createElement("path",{d:"m2.76 12.04 7.54-4.61a.5.5 0 0 0 .2-.23v4.05a.75.75 0 0 0 1.5 0v-8.5a.75.75 0 0 0-1.5 0V6.8a.5.5 0 0 0-.2-.23l-7.54-4.6a.5.5 0 0 0-.76.42v9.22c0 .39.43.63.76.43Z"})),rewind:a.createElement(a.Fragment,null,a.createElement("path",{d:"M9 2.42v2.32L13.23 2a.5.5 0 0 1 .77.42v9.16a.5.5 0 0 1-.77.42L9 9.26v2.32a.5.5 0 0 1-.77.42L1.5 7.65v3.6a.75.75 0 0 1-1.5 0v-8.5a.75.75 0 0 1 1.5 0v3.6L8.23 2a.5.5 0 0 1 .77.42Z"})),fastforward:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5 2.42v2.32L.77 2a.5.5 0 0 0-.77.42v9.16c0 .4.44.64.77.42L5 9.26v2.32c0 .4.44.64.77.42l6.73-4.35v3.6a.75.75 0 0 0 1.5 0v-8.5a.75.75 0 0 0-1.5 0v3.6L5.77 2a.5.5 0 0 0-.77.42Z"})),stopalt:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1 1.5c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11Z"})),sidebyside:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M1 1.5c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11ZM2 12V2h5v10H2Z"})),stacked:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M12.5 1c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h11ZM2 2h10v5H2V2Z"})),sun:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7.5.5a.5.5 0 0 0-1 0V2a.5.5 0 0 0 1 0V.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M7 10a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm0-1a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z"}),a.createElement("path",{d:"M7 11.5c.28 0 .5.22.5.5v1.5a.5.5 0 0 1-1 0V12c0-.28.22-.5.5-.5ZM11.5 7c0-.28.22-.5.5-.5h1.5a.5.5 0 0 1 0 1H12a.5.5 0 0 1-.5-.5ZM.5 6.5a.5.5 0 0 0 0 1H2a.5.5 0 0 0 0-1H.5ZM3.82 10.18c.2.2.2.51 0 .7l-1.06 1.07a.5.5 0 1 1-.71-.7l1.06-1.07c.2-.2.51-.2.7 0ZM11.95 2.76a.5.5 0 1 0-.7-.71l-1.07 1.06a.5.5 0 1 0 .7.7l1.07-1.05ZM10.18 10.18c.2-.2.51-.2.7 0l1.07 1.06a.5.5 0 1 1-.7.71l-1.07-1.06a.5.5 0 0 1 0-.7ZM2.76 2.05a.5.5 0 1 0-.71.7l1.06 1.07a.5.5 0 0 0 .7-.7L2.77 2.04Z"})),moon:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M7.78.04a7.03 7.03 0 0 0-4.28.9 7 7 0 1 0 9.87 8.96c.1-.21-.14-.41-.36-.32a4.98 4.98 0 0 1-2 .42A5 5 0 0 1 8.53.65c.2-.12.19-.44-.04-.49a7.04 7.04 0 0 0-.72-.12Zm-1.27.98a6 6 0 0 0 4.98 9.96 6 6 0 1 1-4.98-9.96Z"})),book:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M13 2a2 2 0 0 0-2-2H1.5a.5.5 0 0 0-.5.5v13c0 .28.22.5.5.5H11a2 2 0 0 0 2-2V2ZM3 13h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H7v6a.5.5 0 0 1-.86.36L5.5 6.7l-.65.65A.5.5 0 0 1 4 7V1H3v12ZM5 1v4.8l.15-.15a.5.5 0 0 1 .74.04l.11.1V1H5Z"})),document:a.createElement(a.Fragment,null,a.createElement("path",{d:"M4 5.5c0-.28.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM4.5 7.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM4 10.5c0-.28.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M1.5 0a.5.5 0 0 0-.5.5v13c0 .28.22.5.5.5h11a.5.5 0 0 0 .5-.5V3.2a.5.5 0 0 0-.15-.35l-2.7-2.7A.5.5 0 0 0 9.79 0H1.5ZM2 1h7.5v2c0 .28.22.5.5.5h2V13H2V1Z"})),copy:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M11.75.07A.5.5 0 0 0 11.5 0h-6a.5.5 0 0 0-.5.5V3H.5a.5.5 0 0 0-.5.5v10c0 .28.22.5.5.5h8a.5.5 0 0 0 .5-.5V11h4.5a.5.5 0 0 0 .5-.5V2.51a.5.5 0 0 0-.15-.36l-2-2a.5.5 0 0 0-.1-.08ZM9 10h4V3h-1.5a.5.5 0 0 1-.5-.5V1H6v2h.5a.5.5 0 0 1 .36.15l1.99 2c.1.09.15.21.15.35v4.51ZM1 4v9h7V6H6.5a.5.5 0 0 1-.5-.5V4H1Z"})),category:a.createElement(a.Fragment,null,a.createElement("path",{d:"M3 1.5c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm-1 2c0-.27.22-.5.5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M1 5.5c0-.28.22-.5.5-.5h11c.28 0 .5.22.5.5v7a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-7ZM2 12V6h10v6H2Z"})),folder:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M6.59 3.5 5.09 2H1v9h12V3.5H6.59Zm.41-1L5.8 1.3a1 1 0 0 0-.71-.3H.5a.5.5 0 0 0-.5.5v10c0 .28.22.5.5.5h13a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5H7Z"})),print:a.createElement(a.Fragment,null,a.createElement("path",{d:"M4.5 8a.5.5 0 1 0 0 1h5a.5.5 0 0 0 0-1h-5Zm0 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M2 1.5c0-.27.22-.5.5-.5h8a.5.5 0 0 1 .36.15l.99 1c.1.09.15.21.15.35v1.51h1.5c.28 0 .5.22.5.5v5a.5.5 0 0 1-.5.5H12v2.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V10H.5a.5.5 0 0 1-.5-.5v-5c0-.28.22-.5.5-.5H2V1.5ZM13 9h-1V6.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5V9H1V5h12v4Zm-2-6v1H3V2h7v.5c0 .28.22.5.5.5h.5Zm-8 9h8V7H3v5Z"})),graphline:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5.15 6.15c.2-.2.5-.2.7 0L7 7.3l2.15-2.15c.2-.2.5-.2.7 0l1 1a.5.5 0 0 1-.7.7l-.65-.64-2.15 2.15a.5.5 0 0 1-.7 0L5.5 7.2 3.85 8.86a.5.5 0 1 1-.7-.71l2-2Z"}),a.createElement("path",{fillRule:"evenodd",d:"M1.5 1a.5.5 0 0 0-.5.5v11c0 .28.22.5.5.5h11a.5.5 0 0 0 .5-.5v-11a.5.5 0 0 0-.5-.5h-11ZM2 2v10h10V2H2Z"})),calendar:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M3.5 0c.28 0 .5.22.5.5V1h6V.5a.5.5 0 0 1 1 0V1h1.5c.28 0 .5.22.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11c0-.28.22-.5.5-.5H3V.5c0-.28.22-.5.5-.5ZM2 4v2.3h3V4H2Zm0 5.2V6.8h3v2.4H2Zm0 .5V12h3V9.7H2Zm3.5 0V12h3V9.7h-3Zm3.5 0V12h3V9.7H9Zm3-.5H9V6.8h3v2.4Zm-3.5 0h-3V6.8h3v2.4ZM9 4v2.3h3V4H9ZM5.5 6.3h3V4h-3v2.3Z"})),graphbar:a.createElement(a.Fragment,null,a.createElement("path",{d:"M12 2.5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0v-10Zm-3 2a.5.5 0 0 0-1 0v8a.5.5 0 0 0 1 0v-8ZM5.5 7c.28 0 .5.22.5.5v5a.5.5 0 0 1-1 0v-5c0-.28.22-.5.5-.5ZM3 10.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2Z"})),menu:a.createElement(a.Fragment,null,a.createElement("path",{d:"M13 2a.5.5 0 0 1 0 1H1a.5.5 0 0 1 0-1h12Zm-3 3a.5.5 0 0 1 0 1H1a.5.5 0 0 1 0-1h9Zm1.5 3.5A.5.5 0 0 0 11 8H1a.5.5 0 0 0 0 1h10a.5.5 0 0 0 .5-.5Zm-4 2.5a.5.5 0 0 1 0 1H1a.5.5 0 0 1 0-1h6.5Z"})),menualt:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1 2a.5.5 0 0 0 0 1h12a.5.5 0 0 0 0-1H1Zm3 3a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1H4ZM2.5 8.5c0-.28.22-.5.5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5Zm4 2.5a.5.5 0 0 0 0 1H13a.5.5 0 0 0 0-1H6.5Z"})),filter:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1 2a.5.5 0 0 0 0 1h12a.5.5 0 0 0 0-1H1Zm2 3a.5.5 0 0 0 0 1h8a.5.5 0 0 0 0-1H3Zm1.5 3.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5Zm2 2.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z"})),docchart:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M1 1.5C1 1.22386 1.22386 1 1.5 1H12.5C12.7761 1 13 1.22386 13 1.5V12.5C13 12.7761 12.7761 13 12.5 13H1.5C1.22386 13 1 12.7761 1 12.5V1.5ZM2 4V6.2998H5V4H2ZM2 9.2002V6.7998H5V9.2002H2ZM2 9.7002V12H5V9.7002H2ZM5.5 9.7002V12H8.5V9.7002H5.5ZM9 9.7002V12H12V9.7002H9ZM12 9.2002H9V6.7998H12V9.2002ZM8.5 9.2002H5.5V6.7998H8.5V9.2002ZM9 6.2998H12V4H9V6.2998ZM5.5 6.2998H8.5V4H5.5V6.2998Z"})),doclist:a.createElement(a.Fragment,null,a.createElement("path",{d:"M3.5 6.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.5-.5ZM4 9a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H4Z"}),a.createElement("path",{fillRule:"evenodd",d:"M1 1.5c0-.28.22-.5.5-.5h11c.28 0 .5.22.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11ZM2 4v8h10V4H2Z"})),markup:a.createElement(a.Fragment,null,a.createElement("path",{d:"M8.98 1.63a.5.5 0 0 0-.96-.26l-3 11a.5.5 0 1 0 .96.26l3-11ZM3.32 3.62a.5.5 0 0 1 .06.7L1.15 7l2.23 2.68a.5.5 0 1 1-.76.64l-2.5-3a.5.5 0 0 1 0-.64l2.5-3a.5.5 0 0 1 .7-.06Zm7.36 0a.5.5 0 0 0-.06.7L12.85 7l-2.23 2.68a.5.5 0 0 0 .76.64l2.5-3a.5.5 0 0 0 0-.64l-2.5-3a.5.5 0 0 0-.7-.06Z"})),bold:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M3 2v1.5h1v7H3V12h5a3 3 0 0 0 1.8-5.4A2.74 2.74 0 0 0 8 2H3Zm5 5.5H5.5v3H8a1.5 1.5 0 1 0 0-3Zm-.25-4H5.5V6h2.25a1.25 1.25 0 1 0 0-2.5Z"})),italic:a.createElement("path",{d:"M5 2h6v1H8.5l-2 8H9v1H3v-1h2.5l2-8H5V2Z"}),paperclip:a.createElement(a.Fragment,null,a.createElement("path",{d:"M10.55 2.27a1.5 1.5 0 0 0-2.12 0L2.78 7.92a2.5 2.5 0 0 0 3.53 3.54l3.54-3.54a.5.5 0 1 1 .7.71l-3.53 3.54a3.5 3.5 0 0 1-4.96-4.94v-.01l5.66-5.66h.01a2.5 2.5 0 0 1 3.53 3.53L5.6 10.76a1.5 1.5 0 0 1-2.12-2.12L7.02 5.1a.5.5 0 1 1 .7.7L4.2 9.34a.5.5 0 0 0 .7.7l5.66-5.65a1.5 1.5 0 0 0 0-2.12Z"})),listordered:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5 2.5c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM5 7c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 5 7Zm.5 4a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm-3-9H1v1h1v3h1V2.5a.5.5 0 0 0-.5-.5ZM3 8.5v1a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1h1c.28 0 .5.22.5.5Zm-1 2a.5.5 0 0 0-1 0V12h2v-1H2v-.5Z"})),listunordered:a.createElement(a.Fragment,null,a.createElement("path",{d:"M2.75 2.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM5.5 2a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm0 9a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7ZM2 12.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM5 7c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 5 7Zm-3 .75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z"})),paragraph:a.createElement(a.Fragment,null,a.createElement("path",{d:"M6 7a3 3 0 1 1 0-6h5.5a.5.5 0 0 1 0 1H10v10.5a.5.5 0 0 1-1 0V2H7v10.5a.5.5 0 0 1-1 0V7Z"})),markdown:a.createElement(a.Fragment,null,a.createElement("path",{d:"M2 4.5h1.5L5 6.38 6.5 4.5H8v5H6.5V7L5 8.88 3.5 7v2.5H2v-5Zm7.75 0h1.5V7h1.25l-2 2.5-2-2.5h1.25V4.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M.5 2a.5.5 0 0 0-.5.5v9c0 .28.22.5.5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5H.5ZM1 3v8h12V3H1Z"})),repository:a.createElement(a.Fragment,null,a.createElement("path",{d:"M5 2.5C5 2.77614 4.77614 3 4.5 3C4.22386 3 4 2.77614 4 2.5C4 2.22386 4.22386 2 4.5 2C4.77614 2 5 2.22386 5 2.5Z"}),a.createElement("path",{d:"M4.5 5C4.77614 5 5 4.77614 5 4.5C5 4.22386 4.77614 4 4.5 4C4.22386 4 4 4.22386 4 4.5C4 4.77614 4.22386 5 4.5 5Z"}),a.createElement("path",{d:"M5 6.5C5 6.77614 4.77614 7 4.5 7C4.22386 7 4 6.77614 4 6.5C4 6.22386 4.22386 6 4.5 6C4.77614 6 5 6.22386 5 6.5Z"}),a.createElement("path",{fillRule:"evenodd",d:"M11 0C12.1046 0 13 0.895431 13 2V12C13 13.1046 12.1046 14 11 14H1.5C1.22386 14 1 13.7761 1 13.5V0.5C1 0.223857 1.22386 0 1.5 0H11ZM11 1H3V13H11C11.5523 13 12 12.5523 12 12V2C12 1.44772 11.5523 1 11 1Z"})),commit:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M3.03 7.5a4 4 0 0 0 7.94 0h2.53a.5.5 0 0 0 0-1h-2.53a4 4 0 0 0-7.94 0H.5a.5.5 0 0 0 0 1h2.53ZM7 10a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"})),branch:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M6 2.5c0 .65-.42 1.2-1 1.41v4.06A3.36 3.36 0 0 1 7.5 7a2.7 2.7 0 0 0 1.81-.56c.22-.18.38-.4.48-.62a1.5 1.5 0 1 1 1.03.15c-.16.42-.43.87-.86 1.24-.57.47-1.37.79-2.46.79-1.04 0-1.64.42-2 .92-.26.37-.4.8-.47 1.18A1.5 1.5 0 1 1 4 10.09V3.9a1.5 1.5 0 1 1 2-1.4Zm-2 9a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm1-9a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm6 2a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z"})),pullrequest:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M8.35 1.35 7.71 2h.79A2.5 2.5 0 0 1 11 4.5v5.59a1.5 1.5 0 1 1-1 0V4.5C10 3.67 9.33 3 8.5 3h-.8l.65.65a.5.5 0 1 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5a.5.5 0 1 1 .7.7ZM11 11.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM4 3.91a1.5 1.5 0 1 0-1 0v6.18a1.5 1.5 0 1 0 1 0V3.9ZM3.5 11a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm0-8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z"})),merge:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M4.1 3.87a1.5 1.5 0 1 0-1.1.04v6.18a1.5 1.5 0 1 0 1 0V6.4c.26.4.57.77.93 1.08A6.57 6.57 0 0 0 9.08 9a1.5 1.5 0 1 0 0-1 5.57 5.57 0 0 1-3.5-1.25 4.74 4.74 0 0 1-1.47-2.87ZM3.5 11a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1ZM4 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm7 6a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z"})),apple:a.createElement(a.Fragment,null,a.createElement("path",{d:"M11.03 8.1a3.05 3.05 0 0 1-.2-1.74 2.7 2.7 0 0 1 1.4-1.94 3.13 3.13 0 0 0-2.35-1.4c-.84-.08-2.01.56-2.65.57h-.02c-.63 0-1.81-.65-2.64-.57-.42.04-1.75.32-2.55 1.6-.28.44-.5 1.01-.58 1.74a6.36 6.36 0 0 0 .02 1.74 7.5 7.5 0 0 0 1.35 3.33c.7 1.01 1.51 1.6 1.97 1.6.93.02 1.74-.6 2.41-.6l.02.01h.04c.67-.02 1.48.61 2.42.6.45-.02 1.26-.6 1.97-1.6a7.95 7.95 0 0 0 .97-1.86 2.6 2.6 0 0 1-1.58-1.48ZM8.86 2.13c.72-.85.7-2.07.63-2.12-.07-.06-1.25.16-1.99.98a2.78 2.78 0 0 0-.62 2.13c.06.05 1.27-.14 1.98-.99Z"})),linux:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M7 0a3 3 0 0 1 3 3v1.24c.13.13.25.27.36.42l.52.43.2.15c.32.26.7.59 1.09.97A6.28 6.28 0 0 1 14 9.54a.5.5 0 0 1-.35.44c-.31.1-.8.18-1.34.13-.33-.03-.7-.12-1.05-.3-.04.17-.1.34-.17.51a2 2 0 1 1-2.89 2.56 5.5 5.5 0 0 1-2.4 0 2 2 0 1 1-2.9-2.56 5.56 5.56 0 0 1-.16-.51c-.35.18-.72.27-1.05.3a3.4 3.4 0 0 1-1.34-.13.5.5 0 0 1-.35-.44l.01-.14a6.28 6.28 0 0 1 1.82-3.2 13.42 13.42 0 0 1 1.3-1.11c.22-.19.4-.32.5-.43.12-.15.24-.29.37-.42V3a3 3 0 0 1 3-3Zm1 11.9a2 2 0 0 1 2.14-1.9 5.5 5.5 0 0 0 .36-2c0-.51-.1-1.07-.3-1.6l-.03-.02a4.4 4.4 0 0 0-.86-.42 6.71 6.71 0 0 0-1-.31l-.86.64c-.27.2-.63.2-.9 0l-.85-.64a6.72 6.72 0 0 0-1.87.73l-.03.02A4.6 4.6 0 0 0 3.5 8c0 .68.11 1.39.36 2H4a2 2 0 0 1 2 1.9 4.49 4.49 0 0 0 2 0ZM5 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm6 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.1 4.3a1.5 1.5 0 0 1 1.8 0l.27.2L7 5.38 5.83 4.5l.27-.2ZM8.5 2c.28 0 .5.22.5.5V3a.5.5 0 0 1-1 0v-.5c0-.28.22-.5.5-.5ZM6 2.5a.5.5 0 0 0-1 0V3a.5.5 0 0 0 1 0v-.5Z"})),ubuntu:a.createElement(a.Fragment,null,a.createElement("path",{d:"M12.26 2.07c0 1.14-.89 2.06-1.99 2.06s-1.99-.92-1.99-2.06c0-1.14.9-2.07 2-2.07s1.98.93 1.98 2.07ZM3.98 6.6c0 1.14-.9 2.07-2 2.07C.9 8.67 0 7.74 0 6.6c0-1.14.9-2.07 1.99-2.07 1.1 0 1.99.93 1.99 2.07ZM6.47 11.92a4.76 4.76 0 0 1-3.3-2.62c-.53.25-1.12.33-1.7.22a6.72 6.72 0 0 0 1.84 2.63 6.38 6.38 0 0 0 4.24 1.58c-.37-.5-.57-1.1-.59-1.73a4.77 4.77 0 0 1-.49-.08ZM11.81 11.93c0 1.14-.89 2.07-1.99 2.07s-1.98-.93-1.98-2.07c0-1.14.89-2.06 1.98-2.06 1.1 0 2 .92 2 2.06ZM12.6 11.17a6.93 6.93 0 0 0 .32-7.93A2.95 2.95 0 0 1 11.8 4.6a5.23 5.23 0 0 1-.16 5.03c.47.4.8.94.95 1.54ZM1.99 3.63h-.15A6.48 6.48 0 0 1 8 .24a3.07 3.07 0 0 0-.6 1.68 4.7 4.7 0 0 0-3.9 2.17c-.46-.3-.98-.45-1.51-.45Z"})),windows:a.createElement(a.Fragment,null,a.createElement("path",{d:"M6.5 1H1v5.5h5.5V1ZM13 1H7.5v5.5H13V1ZM7.5 7.5H13V13H7.5V7.5ZM6.5 7.5H1V13h5.5V7.5Z"})),storybook:a.createElement(a.Fragment,null,a.createElement("path",{d:"M2.04.62a.7.7 0 0 0-.66.72l.44 11.56c.01.37.3.66.67.68l9.4.42h.02a.7.7 0 0 0 .7-.7V.66a.7.7 0 0 0-.74-.66l-.77.05.05 1.62a.1.1 0 0 1-.17.08l-.52-.4-.61.46a.1.1 0 0 1-.17-.09L9.75.13l-7.7.49Zm8 4.74c-.24.2-2.09.33-2.09.05.04-1.04-.43-1.09-.69-1.09-.24 0-.66.08-.66.64 0 .57.6.89 1.32 1.27 1.02.53 2.24 1.18 2.24 2.82 0 1.57-1.27 2.43-2.9 2.43-1.67 0-3.14-.68-2.97-3.03.06-.27 2.2-.2 2.2 0-.03.97.19 1.26.75 1.26.43 0 .62-.24.62-.64 0-.6-.63-.95-1.36-1.36-.99-.56-2.15-1.2-2.15-2.7 0-1.5 1.03-2.5 2.86-2.5 1.83 0 2.84.99 2.84 2.85Z"})),azuredevops:a.createElement(a.Fragment,null,a.createElement("path",{d:"m0 5.18 1.31-1.73 4.9-2V.01l4.3 3.15-8.78 1.7v4.8L0 9.16V5.18Zm14-2.6v8.55l-3.36 2.86-5.42-1.79V14L1.73 9.66l8.78 1.05V3.16L14 2.58Z"})),bitbucket:a.createElement(a.Fragment,null,a.createElement("path",{d:"M1 1.52A.41.41 0 0 0 .59 2l1.74 10.6c.05.26.28.46.55.46h8.37c.2 0 .38-.14.42-.34l1.01-6.25H8.81l-.46 2.71H5.68L4.95 5.4h7.91L13.4 2a.41.41 0 0 0-.41-.48H1Z"})),chrome:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M13.02 3.43a.11.11 0 0 1-.1.17H7a3.4 3.4 0 0 0-3.3 2.55.11.11 0 0 1-.21.03L1.52 2.76a.11.11 0 0 1 0-.12 6.97 6.97 0 0 1 9-1.7c1.03.6 1.9 1.47 2.5 2.5ZM7 9.62a2.62 2.62 0 1 1 0-5.24 2.62 2.62 0 0 1 0 5.24Zm1.03.7a.11.11 0 0 0-.12-.04 3.4 3.4 0 0 1-4-1.84L1.1 3.57a.11.11 0 0 0-.2 0 7 7 0 0 0 5.07 10.35c.04 0 .08-.02.1-.05l1.97-3.42a.11.11 0 0 0 0-.13Zm1.43-5.95h3.95c.05 0 .1.03.1.07a6.97 6.97 0 0 1-1.53 7.48A6.96 6.96 0 0 1 7.08 14a.11.11 0 0 1-.1-.17l2.81-4.88h.01a3.38 3.38 0 0 0-.42-4.38.11.11 0 0 1 .08-.2Z"})),chromatic:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M0 7a7 7 0 1 0 14 0A7 7 0 0 0 0 7Zm5.22-3.87a1.97 1.97 0 0 1 3.75.83v1.29L5.61 3.32a2.49 2.49 0 0 0-.4-.19ZM8.7 5.71 5.35 3.78a1.97 1.97 0 0 0-2.6 2.83c.12-.1.24-.18.37-.26l1.51-.87a.27.27 0 0 1 .27 0L7 6.69l1.7-.98Zm-.32 4.97-1.52-.87a.27.27 0 0 1-.13-.23V7.15l-1.7-.97v3.86a1.97 1.97 0 0 0 3.75.83 2.5 2.5 0 0 1-.4-.19Zm.26-.46a1.97 1.97 0 0 0 2.6-2.83c-.11.1-.23.18-.36.26L7.53 9.58l1.11.64Zm-4.1.26h-.17a1.97 1.97 0 0 1-1.9-2.47 2 2 0 0 1 .92-1.2l1.11-.63v3.86c0 .14.01.29.04.44Zm6.79-5.98a1.97 1.97 0 0 0-1.87-.97c.03.14.04.29.04.43v1.75c0 .1-.05.19-.14.23l-2.1 1.22V9.1l3.35-1.93a1.97 1.97 0 0 0 .72-2.68Z"})),componentdriven:a.createElement(a.Fragment,null,a.createElement("path",{d:"M10.85 2.18 8.87.2a.69.69 0 0 0-.97 0L3.09 5.01a.69.69 0 0 0 0 .97l2.46 2.46-2.4 2.4a.69.69 0 0 0 0 .98l1.98 1.98c.27.27.7.27.97 0l4.8-4.81a.69.69 0 0 0 0-.97L8.45 5.56l2.4-2.4a.69.69 0 0 0 0-.98Z"})),discord:a.createElement(a.Fragment,null,a.createElement("path",{d:"M11.85 2.88C10.95 2.48 10 2.18 9 2a7.05 7.05 0 0 0-.4.75 10.66 10.66 0 0 0-3.2 0c-.1-.23-.24-.5-.36-.73A.04.04 0 0 0 4.99 2a11.51 11.51 0 0 0-2.86.9 11.82 11.82 0 0 0-2.05 8 11.6 11.6 0 0 0 3.5 1.77c.01 0 .03 0 .04-.02.27-.36.51-.75.72-1.16a.04.04 0 0 0-.03-.06 7.66 7.66 0 0 1-1.09-.52.04.04 0 0 1 0-.08 5.96 5.96 0 0 0 .26-.17 8.28 8.28 0 0 0 7.08 0l.22.17c.02.02.02.06 0 .08-.36.2-.72.37-1.1.52a.04.04 0 0 0-.02.06c.2.4.45.8.71 1.16.01.02.03.02.05.02a11.57 11.57 0 0 0 3.52-1.8 11.74 11.74 0 0 0-2.09-7.99Zm-7.17 6.4c-.7 0-1.26-.63-1.26-1.41 0-.78.56-1.41 1.26-1.41s1.27.64 1.26 1.4c0 .79-.56 1.42-1.26 1.42Zm4.65 0c-.69 0-1.26-.63-1.26-1.41 0-.78.56-1.41 1.26-1.41s1.27.64 1.26 1.4c0 .79-.55 1.42-1.26 1.42Z"})),facebook:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7.4 14H5.06V7H3.5V4.59h1.56V3.17C5.06 1.2 5.53 0 7.6 0h1.72v2.41H8.25c-.8 0-.85.34-.85.97v1.2h1.93L9.11 7H7.4l-.01 7Z"})),figma:a.createElement(a.Fragment,null,a.createElement("path",{fillRule:"evenodd",d:"M9.2 0H4.8a2.6 2.6 0 0 0-1.4 4.8 2.6 2.6 0 0 0 0 4.4 2.6 2.6 0 1 0 4 2.2V8.89a2.6 2.6 0 1 0 3.2-4.09A2.6 2.6 0 0 0 9.2 0ZM7.4 7A1.8 1.8 0 1 0 11 7a1.8 1.8 0 0 0-3.6 0Zm-.8 2.6H4.8a1.8 1.8 0 1 0 1.8 1.8V9.6ZM4.8 4.4h1.8V.8H4.8a1.8 1.8 0 0 0 0 3.59Zm0 .8a1.8 1.8 0 0 0 0 3.6h1.8V5.2H4.8Zm4.4-.8H7.4V.8h1.8a1.8 1.8 0 1 1 0 3.59Z"})),gdrive:a.createElement(a.Fragment,null,a.createElement("path",{d:"M6.37 8.77 4.33 12.3h6.75l2.04-3.54H6.38Zm6.18-1-3.5-6.08h-4.1l3.51 6.08h4.09ZM4.38 2.7.88 8.77l2.04 3.54 3.5-6.07L4.38 2.7Z"})),github:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7 0a7 7 0 0 0-2.21 13.64c.35.06.48-.15.48-.33L5.26 12c-1.76.32-2.21-.43-2.35-.83-.08-.2-.43-.82-.72-.99-.25-.13-.6-.45-.01-.46.55 0 .94.5 1.07.72.63 1.06 1.64.76 2.04.58.07-.46.25-.77.45-.94-1.56-.18-3.19-.78-3.19-3.46 0-.76.28-1.39.72-1.88-.07-.17-.31-.9.07-1.85 0 0 .59-.19 1.93.71a6.5 6.5 0 0 1 3.5 0c1.34-.9 1.92-.71 1.92-.71.39.96.14 1.68.07 1.85.45.5.72 1.11.72 1.88 0 2.69-1.64 3.28-3.2 3.46.26.22.48.64.48 1.3l-.01 1.92c0 .18.13.4.48.33A7.01 7.01 0 0 0 7 0Z"})),gitlab:a.createElement(a.Fragment,null,a.createElement("path",{d:"M4.53 5.58H1.07l1.49-4.55a.26.26 0 0 1 .48 0l1.49 4.55ZM7 13.15 1.07 5.58l-.75 2.3a.5.5 0 0 0 .18.57l6.5 4.7Zm0 0 6.5-4.7a.5.5 0 0 0 .18-.57l-.75-2.3L7 13.15l2.47-7.57H4.53L7 13.15Zm2.47-7.57h3.46l-1.49-4.55a.26.26 0 0 0-.48 0L9.47 5.58Z"})),google:a.createElement(a.Fragment,null,a.createElement("path",{d:"M10.92 1.1H7.26c-1.64 0-3.19 1.24-3.19 2.68 0 1.47 1.12 2.66 2.8 2.66l.33-.01c-.1.2-.18.44-.18.68 0 .41.22.75.5 1.02h-.64c-2.03 0-3.6 1.3-3.6 2.64 0 1.32 1.72 2.15 3.75 2.15 2.32 0 3.6-1.31 3.6-2.64 0-1.06-.31-1.7-1.28-2.38-.33-.23-.96-.8-.96-1.14 0-.39.1-.58.7-1.04a2.46 2.46 0 0 0 1.03-1.92c0-.92-.4-1.82-1.18-2.11h1.17l.81-.6ZM9.6 10.04c.03.13.05.25.05.38 0 1.07-.7 1.9-2.67 1.9-1.4 0-2.42-.88-2.42-1.95 0-1.05 1.26-1.92 2.66-1.9a3 3 0 0 1 .92.14c.76.53 1.3.83 1.46 1.43ZM7.34 6.07c-.94-.03-1.84-1.06-2-2.3-.17-1.24.47-2.19 1.41-2.16.94.03 1.84 1.03 2 2.26.17 1.24-.47 2.23-1.41 2.2Z"})),graphql:a.createElement(a.Fragment,null,a.createElement("path",{d:"M7.87 11.6a1.17 1.17 0 0 0-1.7-.02l-2.71-1.56.01-.04h7.07l.02.07-2.69 1.56Zm-1.7-9.18.03.03-3.54 6.12h-.04V5.43a1.17 1.17 0 0 0 .84-1.46l2.7-1.56Zm4.38 1.56a1.17 1.17 0 0 0 .84 1.46v3.12l-.04.01-3.54-6.12c.02 0 .03-.02.04-.03l2.7 1.56ZM3.47 9.42a1.17 1.17 0 0 0-.32-.57l3.53-6.12a1.17 1.17 0 0 0 .65 0l3.54 6.12a1.17 1.17 0 0 0-.33.57H3.47Zm8.8-.74c-.1-.05-.21-.1-.32-.12V5.44a1.17 1.17 0 1 0-1.12-1.94l-2.7-1.56a1.17 1.17 0 1 0-2.24 0L3.19 3.5a1.17 1.17 0 1 0-1.13 1.94v3.12a1.17 1.17 0 1 0 1.12 1.94l2.7 1.56a1.17 1.17 0 1 0 2.24-.03l2.69-1.55a1.17 1.17 0 1 0 1.45-1.8Z"})),medium:a.createElement(a.Fragment,null,a.createElement("path",{d:"M0 0v14h14V0H0Zm11.63 3.32-.75.72a.22.22 0 0 0-.08.2v5.33c0 .07.03.14.08.18l.73.72v.16H7.92v-.16l.76-.74c.08-.07.08-.1.08-.21V5.24l-2.11 5.37h-.29L3.9 5.24v3.67c0 .13.05.25.14.34l.99 1.2v.16h-2.8v-.16l.98-1.2a.48.48 0 0 0 .13-.41V4.65c0-.11-.04-.2-.12-.27l-.88-1.06v-.16h2.73l2.1 4.62 1.86-4.62h2.6v.16Z"})),redux:a.createElement(a.Fragment,null,a.createElement("path",{d:"M4.06 9.69c.02.49.42.88.91.88H5a.91.91 0 0 0-.03-1.83h-.03c-.03 0-.08 0-.11.02a5.97 5.97 0 0 1-.85-3.62c.06-.98.39-1.82.96-2.52.47-.6 1.39-.9 2-.92 1.73-.03 2.47 2.12 2.51 2.99.22.04.57.16.82.24-.2-2.64-1.83-4-3.4-4-1.46 0-2.81 1.05-3.35 2.61a6.67 6.67 0 0 0 .65 5.68.74.74 0 0 0-.11.47Zm8.28-2.3a6.62 6.62 0 0 0-5.15-2.25h-.26a.9.9 0 0 0-.8-.49H6.1a.91.91 0 0 0 .03 1.83h.03a.92.92 0 0 0 .8-.56h.3c1.23 0 2.4.36 3.47 1.06.81.54 1.4 1.24 1.72 2.09.28.68.26 1.35-.03 1.92a2.4 2.4 0 0 1-2.23 1.34c-.65 0-1.27-.2-1.6-.34-.18.16-.5.42-.73.58.7.33 1.41.5 2.1.5 1.56 0 2.72-.85 3.16-1.72.47-.94.44-2.57-.78-3.96ZM4.9 12.9a4 4 0 0 1-.98.11c-1.2 0-2.3-.5-2.84-1.32C.38 10.6.13 8.3 2.5 6.58c.05.26.15.62.22.83-.31.23-.8.68-1.11 1.3a2.4 2.4 0 0 0 .13 2.53c.36.54.93.86 1.66.96.9.11 1.8-.05 2.66-.5a5.83 5.83 0 0 0 2.67-2.56.91.91 0 0 1 .62-1.55h.03a.92.92 0 0 1 .1 1.82 6.26 6.26 0 0 1-4.56 3.49Z"})),twitter:a.createElement(a.Fragment,null,a.createElement("path",{d:"M14 2.55c-.51.23-1.07.39-1.65.46.6-.36 1.05-.94 1.26-1.63-.55.34-1.17.58-1.82.72a2.84 2.84 0 0 0-2.1-.93 2.9 2.9 0 0 0-2.8 3.61 8.09 8.09 0 0 1-5.9-3.07 2.99 2.99 0 0 0 .88 3.93 2.8 2.8 0 0 1-1.3-.37v.04c0 1.42 1 2.61 2.3 2.89a2.82 2.82 0 0 1-1.3.05 2.89 2.89 0 0 0 2.7 2.04A5.67 5.67 0 0 1 0 11.51a7.98 7.98 0 0 0 4.4 1.32c5.29 0 8.17-4.48 8.17-8.38v-.38A5.93 5.93 0 0 0 14 2.55Z"})),youtube:a.createElement(a.Fragment,null,a.createElement("path",{d:"M13.99 8.17V5.83a14.95 14.95 0 0 0-.23-2.22c-.09-.38-.27-.7-.55-.96s-.6-.41-.97-.45A51.3 51.3 0 0 0 7 2c-2.34 0-4.09.07-5.24.2A1.78 1.78 0 0 0 .25 3.61 15.26 15.26 0 0 0 0 7v1.16a15.24 15.24 0 0 0 .24 2.22c.09.38.27.7.55.96.27.26.6.41.97.45 1.15.13 2.9.2 5.24.2 2.34 0 4.08-.06 5.24-.2.37-.04.7-.19.97-.45s.45-.58.54-.96a15.26 15.26 0 0 0 .24-2.22Zm-4.23-1.6c.16.1.24.24.24.43 0 .2-.08.33-.24.42l-4 2.5a.44.44 0 0 1-.26.08.54.54 0 0 1-.24-.06A.46.46 0 0 1 5 9.5v-5c0-.2.08-.34.26-.44.17-.1.34-.09.5.02l4 2.5Z"})),vscode:a.createElement(a.Fragment,null,a.createElement("path",{d:"M10.24.04c.13 0 .26.03.38.09L13.5 1.5a.87.87 0 0 1 .5.8v.03-.01 9.39c0 .33-.2.63-.5.78l-2.88 1.38a.87.87 0 0 1-1-.17l-5.5-5.03-2.4 1.83a.58.58 0 0 1-.75-.04l-.77-.7a.58.58 0 0 1 0-.86L2.27 7 .2 5.1a.58.58 0 0 1 0-.86l.77-.7c.21-.2.52-.2.75-.04l2.4 1.83L9.63.3a.87.87 0 0 1 .61-.26Zm.26 3.78L6.32 7l4.18 3.18V3.82Z"}))},lu=_.svg` + display: inline-block; + shape-rendering: inherit; + vertical-align: middle; + fill: currentColor; + + path { + fill: currentColor; + } +`,we=({icon:e,useSymbol:t,...r})=>a.createElement(lu,{viewBox:"0 0 14 14",width:"14px",height:"14px",...r},t?a.createElement("use",{xlinkHref:`#icon--${e}`}):br[e]),tf=x.memo(function({icons:e=Object.keys(br)}){return a.createElement(lu,{viewBox:"0 0 14 14",style:{position:"absolute",width:0,height:0},"data-chromatic":"ignore"},e.map(t=>a.createElement("symbol",{id:`icon--${t}`,key:t},br[t])))}),rf=0,nf=e=>e.button===rf&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey,af=(e,t)=>{nf(e)&&(e.preventDefault(),t(e))},of=_.span(({withArrow:e})=>e?{"> svg:last-of-type":{height:"0.7em",width:"0.7em",marginRight:0,marginLeft:"0.25em",bottom:"auto",verticalAlign:"inherit"}}:{},({containsIcon:e})=>e?{svg:{height:"1em",width:"1em",verticalAlign:"middle",position:"relative",bottom:0,marginRight:0}}:{}),lf=_.a(({theme:e})=>({display:"inline-block",transition:"all 150ms ease-out",textDecoration:"none",color:e.color.secondary,"&:hover, &:focus":{cursor:"pointer",color:It(.07,e.color.secondary),"svg path":{fill:It(.07,e.color.secondary)}},"&:active":{color:It(.1,e.color.secondary),"svg path":{fill:It(.1,e.color.secondary)}},svg:{display:"inline-block",height:"1em",width:"1em",verticalAlign:"text-top",position:"relative",bottom:"-0.125em",marginRight:"0.4em","& path":{fill:e.color.secondary}}}),({theme:e,secondary:t,tertiary:r})=>{let n;return t&&(n=[e.textMutedColor,e.color.dark,e.color.darker]),r&&(n=[e.color.dark,e.color.darkest,e.textMutedColor]),n?{color:n[0],"svg path":{fill:n[0]},"&:hover":{color:n[1],"svg path":{fill:n[1]}},"&:active":{color:n[2],"svg path":{fill:n[2]}}}:{}},({nochrome:e})=>e?{color:"inherit","&:hover, &:active":{color:"inherit",textDecoration:"underline"}}:{},({theme:e,inverse:t})=>t?{color:e.color.lightest,"svg path":{fill:e.color.lightest},"&:hover":{color:e.color.lighter,"svg path":{fill:e.color.lighter}},"&:active":{color:e.color.light,"svg path":{fill:e.color.light}}}:{},({isButton:e})=>e?{border:0,borderRadius:0,background:"none",padding:0,fontSize:"inherit"}:{}),vr=({cancel:e,children:t,onClick:r,withArrow:n,containsIcon:o,className:l,...i})=>a.createElement(lf,{...i,onClick:r&&e?u=>af(u,r):r,className:l},a.createElement(of,{withArrow:n,containsIcon:o},t,n&&a.createElement(we,{icon:"arrowright"})));vr.defaultProps={cancel:!0,className:void 0,style:void 0,onClick:void 0,withArrow:!1,containsIcon:!1};var sf=_.div(({theme:e})=>({fontSize:`${e.typography.size.s2}px`,lineHeight:"1.6",h1:{fontSize:`${e.typography.size.l1}px`,fontWeight:e.typography.weight.bold},h2:{fontSize:`${e.typography.size.m2}px`,borderBottom:`1px solid ${e.appBorderColor}`},h3:{fontSize:`${e.typography.size.m1}px`},h4:{fontSize:`${e.typography.size.s3}px`},h5:{fontSize:`${e.typography.size.s2}px`},h6:{fontSize:`${e.typography.size.s2}px`,color:e.color.dark},"pre:not(.prismjs)":{background:"transparent",border:"none",borderRadius:0,padding:0,margin:0},"pre pre, pre.prismjs":{padding:15,margin:0,whiteSpace:"pre-wrap",color:"inherit",fontSize:"13px",lineHeight:"19px"},"pre pre code, pre.prismjs code":{color:"inherit",fontSize:"inherit"},"pre code":{margin:0,padding:0,whiteSpace:"pre",border:"none",background:"transparent"},"pre code, pre tt":{backgroundColor:"transparent",border:"none"},"body > *:first-of-type":{marginTop:"0 !important"},"body > *:last-child":{marginBottom:"0 !important"},a:{color:e.color.secondary,textDecoration:"none"},"a.absent":{color:"#cc0000"},"a.anchor":{display:"block",paddingLeft:30,marginLeft:-30,cursor:"pointer",position:"absolute",top:0,left:0,bottom:0},"h1, h2, h3, h4, h5, h6":{margin:"20px 0 10px",padding:0,cursor:"text",position:"relative","&:first-of-type":{marginTop:0,paddingTop:0},"&:hover a.anchor":{textDecoration:"none"},"& tt, & code":{fontSize:"inherit"}},"h1:first-of-type + h2":{marginTop:0,paddingTop:0},"p, blockquote, ul, ol, dl, li, table, pre":{margin:"15px 0"},hr:{border:"0 none",borderTop:`1px solid ${e.appBorderColor}`,height:4,padding:0},"body > h1:first-of-type, body > h2:first-of-type, body > h3:first-of-type, body > h4:first-of-type, body > h5:first-of-type, body > h6:first-of-type":{marginTop:0,paddingTop:0},"body > h1:first-of-type + h2":{marginTop:0,paddingTop:0},"a:first-of-type h1, a:first-of-type h2, a:first-of-type h3, a:first-of-type h4, a:first-of-type h5, a:first-of-type h6":{marginTop:0,paddingTop:0},"h1 p, h2 p, h3 p, h4 p, h5 p, h6 p":{marginTop:0},"li p.first":{display:"inline-block"},"ul, ol":{paddingLeft:30,"& :first-of-type":{marginTop:0},"& :last-child":{marginBottom:0}},dl:{padding:0},"dl dt":{fontSize:"14px",fontWeight:"bold",fontStyle:"italic",margin:"0 0 15px",padding:"0 15px","&:first-of-type":{padding:0},"& > :first-of-type":{marginTop:0},"& > :last-child":{marginBottom:0}},blockquote:{borderLeft:`4px solid ${e.color.medium}`,padding:"0 15px",color:e.color.dark,"& > :first-of-type":{marginTop:0},"& > :last-child":{marginBottom:0}},table:{padding:0,borderCollapse:"collapse","& tr":{borderTop:`1px solid ${e.appBorderColor}`,backgroundColor:"white",margin:0,padding:0,"& th":{fontWeight:"bold",border:`1px solid ${e.appBorderColor}`,textAlign:"left",margin:0,padding:"6px 13px"},"& td":{border:`1px solid ${e.appBorderColor}`,textAlign:"left",margin:0,padding:"6px 13px"},"&:nth-of-type(2n)":{backgroundColor:e.color.lighter},"& th :first-of-type, & td :first-of-type":{marginTop:0},"& th :last-child, & td :last-child":{marginBottom:0}}},img:{maxWidth:"100%"},"span.frame":{display:"block",overflow:"hidden","& > span":{border:`1px solid ${e.color.medium}`,display:"block",float:"left",overflow:"hidden",margin:"13px 0 0",padding:7,width:"auto"},"& span img":{display:"block",float:"left"},"& span span":{clear:"both",color:e.color.darkest,display:"block",padding:"5px 0 0"}},"span.align-center":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"center"},"& span img":{margin:"0 auto",textAlign:"center"}},"span.align-right":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px 0 0",textAlign:"right"},"& span img":{margin:0,textAlign:"right"}},"span.float-left":{display:"block",marginRight:13,overflow:"hidden",float:"left","& span":{margin:"13px 0 0"}},"span.float-right":{display:"block",marginLeft:13,overflow:"hidden",float:"right","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"right"}},"code, tt":{margin:"0 2px",padding:"0 5px",whiteSpace:"nowrap",border:`1px solid ${e.color.mediumlight}`,backgroundColor:e.color.lighter,borderRadius:3,color:e.base==="dark"&&e.color.darkest}})),uf=x.lazy(()=>it(()=>import("./syntaxhighlighter-QTQ2UBB4-5faf1978.js"),["./syntaxhighlighter-QTQ2UBB4-5faf1978.js","./iframe-608d8974.js","./index-ebeaab24.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js"],import.meta.url)),cf=x.lazy(async()=>{let[{SyntaxHighlighter:e},{formatter:t}]=await Promise.all([it(()=>import("./syntaxhighlighter-QTQ2UBB4-5faf1978.js"),["./syntaxhighlighter-QTQ2UBB4-5faf1978.js","./iframe-608d8974.js","./index-ebeaab24.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js"],import.meta.url),it(()=>import("./formatter-S4K5WUZV-52882944.js"),["./formatter-S4K5WUZV-52882944.js","./iframe-608d8974.js","./index-ebeaab24.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js"],import.meta.url)]);return{default:r=>a.createElement(e,{...r,formatter:t})}}),fo=e=>a.createElement(x.Suspense,{fallback:a.createElement("div",null)},e.format!==!1?a.createElement(cf,{...e}):a.createElement(uf,{...e})),df=e=>typeof e=="number"?e:Number(e),pf=_.div(({theme:e,col:t,row:r=1})=>t?{display:"inline-block",verticalAlign:"inherit","& > *":{marginLeft:t*e.layoutMargin,verticalAlign:"inherit"},[`& > *:first-child${ua}`]:{marginLeft:0}}:{"& > *":{marginTop:r*e.layoutMargin},[`& > *:first-child${ua}`]:{marginTop:0}},({theme:e,outer:t,col:r,row:n})=>{switch(!0){case!!(t&&r):return{marginLeft:t*e.layoutMargin,marginRight:t*e.layoutMargin};case!!(t&&n):return{marginTop:t*e.layoutMargin,marginBottom:t*e.layoutMargin};default:return{}}}),ff=({col:e,row:t,outer:r,children:n,...o})=>{let l=df(typeof r=="number"||!r?r:e||t);return a.createElement(pf,{col:e,row:t,outer:l,...o},n)},mf=_.div(({theme:e})=>({fontWeight:e.typography.weight.bold})),gf=_.div(),hf=_.div(({theme:e})=>({padding:30,textAlign:"center",color:e.color.defaultText,fontSize:e.typography.size.s2-1})),iu=({children:e,...t})=>{let[r,n]=x.Children.toArray(e);return a.createElement(hf,{...t},a.createElement(mf,null,r),n&&a.createElement(gf,null,n))};function su(){var e;try{return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)?!1:(e=global.CSS)==null?void 0:e.supports("zoom: 1")}catch{return!1}}var uu=su(),yf=_.div(({scale:e=1,elementHeight:t})=>uu?{"> *":{zoom:1/e}}:{height:t||"auto",transformOrigin:"top left",transform:`scale(${1/e})`});function bf({scale:e,children:t}){let r=x.useRef(null),[n,o]=x.useState(0),l=x.useCallback(({height:i})=>{i&&o(i/e)},[e]);return x.useEffect(()=>{r.current&&o(r.current.getBoundingClientRect().height)},[e]),Ms({ref:r,onResize:l}),a.createElement(yf,{scale:e,elementHeight:n},a.createElement("div",{ref:uu?null:r,className:"innerZoomElementWrapper"},t))}var vf=class extends x.Component{constructor(){super(...arguments),this.iframe=null}componentDidMount(){let{iFrameRef:e}=this.props;this.iframe=e.current}shouldComponentUpdate(e){let{scale:t,active:r}=this.props;return t!==e.scale&&this.setIframeInnerZoom(e.scale),r!==e.active&&this.iframe.setAttribute("data-is-storybook",e.active?"true":"false"),e.children.props.src!==this.props.children.props.src}setIframeInnerZoom(e){try{su()?Object.assign(this.iframe.contentDocument.body.style,{zoom:1/e,minHeight:`calc(100vh / ${1/e})`}):Object.assign(this.iframe.contentDocument.body.style,{width:`${e*100}%`,height:`${e*100}%`,transform:`scale(${1/e})`,transformOrigin:"top left"})}catch{this.setIframeZoom(e)}}setIframeZoom(e){Object.assign(this.iframe.style,{width:`${e*100}%`,height:`${e*100}%`,transform:`scale(${1/e})`,transformOrigin:"top left"})}render(){let{children:e}=this.props;return e}},cu={Element:bf,IFrame:vf},{document:Ef}=ye,xf=_.strong(({theme:e})=>({color:e.color.orange})),Af=_.strong(({theme:e})=>({color:e.color.ancillary,textDecoration:"underline"})),Bl=_.em(({theme:e})=>({color:e.textMutedColor})),wf=/(Error): (.*)\n/,Cf=/at (?:(.*) )?\(?(.+)\)?/,Sf=/([^@]+)?(?:\/<)?@(.+)?/,kf=/([^@]+)?@(.+)?/,du=({error:e})=>{if(!e)return a.createElement(x.Fragment,null,"This error has no stack or message");if(!e.stack)return a.createElement(x.Fragment,null,e.message||"This error has no stack or message");let t=e.stack.toString();t&&e.message&&!t.includes(e.message)&&(t=`Error: ${e.message} + +${t}`);let r=t.match(wf);if(!r)return a.createElement(x.Fragment,null,t);let[,n,o]=r,l=t.split(/\n/).slice(1),[,...i]=l.map(u=>{let s=u.match(Cf)||u.match(Sf)||u.match(kf);return s?{name:(s[1]||"").replace("/<",""),location:s[2].replace(Ef.location.origin,"")}:null}).filter(Boolean);return a.createElement(x.Fragment,null,a.createElement("span",null,n),": ",a.createElement(xf,null,o),a.createElement("br",null),i.map((u,s)=>u.name?a.createElement(x.Fragment,{key:s}," ","at ",a.createElement(Af,null,u.name)," (",a.createElement(Bl,null,u.location),")",a.createElement("br",null)):a.createElement(x.Fragment,{key:s}," ","at ",a.createElement(Bl,null,u.location),a.createElement("br",null))))},pu=_.button(({small:e,theme:t})=>({border:0,borderRadius:"3em",cursor:"pointer",display:"inline-block",overflow:"hidden",padding:e?"8px 16px":"13px 20px",position:"relative",textAlign:"center",textDecoration:"none",transitionProperty:"background, box-shadow",transitionDuration:"150ms",transitionTimingFunction:"ease-out",verticalAlign:"top",whiteSpace:"nowrap",userSelect:"none",opacity:1,margin:0,background:"transparent",fontSize:`${e?t.typography.size.s1:t.typography.size.s2-1}px`,fontWeight:t.typography.weight.bold,lineHeight:"1",svg:{display:"inline-block",height:e?12:14,width:e?12:14,verticalAlign:"top",marginRight:e?4:6,marginTop:e?0:-1,marginBottom:e?0:-1,pointerEvents:"none",path:{fill:"currentColor"}}}),({disabled:e})=>e?{cursor:"not-allowed !important",opacity:.5,"&:hover":{transform:"none"}}:{},({containsIcon:e,small:t})=>e?{svg:{display:"block",margin:0},...t?{padding:10}:{padding:13}}:{},({theme:e,primary:t,secondary:r,gray:n})=>{let o;return n?o=e.color.mediumlight:r?o=e.color.secondary:t&&(o=e.color.primary),o?{background:o,color:n?e.color.darkest:e.color.lightest,"&:hover":{background:It(.05,o)},"&:active":{boxShadow:"rgba(0, 0, 0, 0.1) 0 0 0 3em inset"},"&:focus":{boxShadow:`${ot(o,1)} 0 1px 9px 2px`,outline:"none"},"&:focus:hover":{boxShadow:`${ot(o,.2)} 0 8px 18px 0px`}}:{}},({theme:e,tertiary:t,inForm:r,small:n})=>t?{background:e.button.background,color:e.input.color,boxShadow:`${e.button.border} 0 0 0 1px inset`,borderRadius:e.input.borderRadius,...r&&n?{padding:"10px 16px"}:{},"&:hover":{background:e.base==="light"?It(.02,e.button.background):V5(.03,e.button.background),...r?{}:{boxShadow:"rgba(0,0,0,.2) 0 2px 6px 0, rgba(0,0,0,.1) 0 0 0 1px inset"}},"&:active":{background:e.button.background},"&:focus":{boxShadow:`${ot(e.color.secondary,1)} 0 0 0 1px inset`,outline:"none"}}:{},({theme:e,outline:t})=>t?{boxShadow:`${Ee(.8,e.color.defaultText)} 0 0 0 1px inset`,color:Ee(.3,e.color.defaultText),background:"transparent","&:hover, &:focus":{boxShadow:`${Ee(.5,e.color.defaultText)} 0 0 0 1px inset`,outline:"none"},"&:active":{boxShadow:`${Ee(.5,e.color.defaultText)} 0 0 0 2px inset`,color:Ee(0,e.color.defaultText)}}:{},({theme:e,outline:t,primary:r})=>{let n=e.color.primary;return t&&r?{boxShadow:`${n} 0 0 0 1px inset`,color:n,"svg path":{fill:n},"&:hover":{boxShadow:`${n} 0 0 0 1px inset`,background:"transparent"},"&:active":{background:n,boxShadow:`${n} 0 0 0 1px inset`,color:e.color.tertiary},"&:focus":{boxShadow:`${n} 0 0 0 1px inset, ${ot(n,.4)} 0 1px 9px 2px`,outline:"none"},"&:focus:hover":{boxShadow:`${n} 0 0 0 1px inset, ${ot(n,.2)} 0 8px 18px 0px`}}:{}},({theme:e,outline:t,primary:r,secondary:n})=>{let o;return n?o=e.color.secondary:r&&(o=e.color.primary),t&&o?{boxShadow:`${o} 0 0 0 1px inset`,color:o,"svg path":{fill:o},"&:hover":{boxShadow:`${o} 0 0 0 1px inset`,background:"transparent"},"&:active":{background:o,boxShadow:`${o} 0 0 0 1px inset`,color:e.color.tertiary},"&:focus":{boxShadow:`${o} 0 0 0 1px inset, ${ot(o,.4)} 0 1px 9px 2px`,outline:"none"},"&:focus:hover":{boxShadow:`${o} 0 0 0 1px inset, ${ot(o,.2)} 0 8px 18px 0px`}}:{}}),_f=pu.withComponent("a"),fu=Object.assign(x.forwardRef(function({isLink:e,children:t,...r},n){return e?a.createElement(_f,{...r,ref:n},t):a.createElement(pu,{...r,ref:n},t)}),{defaultProps:{isLink:!1}}),Of=_.label(({theme:e})=>({display:"flex",borderBottom:`1px solid ${e.appBorderColor}`,margin:"0 15px",padding:"8px 0","&:last-child":{marginBottom:"3rem"}})),Rf=_.span(({theme:e})=>({minWidth:100,fontWeight:e.typography.weight.bold,marginRight:15,display:"flex",justifyContent:"flex-start",alignItems:"center",lineHeight:"16px"})),mu=({label:e,children:t,...r})=>a.createElement(Of,{...r},e?a.createElement(Rf,null,a.createElement("span",null,e)):null,t);mu.defaultProps={label:void 0};var Tf=typeof document<"u"?x.useLayoutEffect:x.useEffect,Ff=Tf,Df=function(e){var t=x.useRef(e);return Ff(function(){t.current=e}),t},$l=function(e,t){if(typeof e=="function"){e(t);return}e.current=t},Lf=function(e,t){var r=x.useRef();return x.useCallback(function(n){e.current=n,r.current&&$l(r.current,null),r.current=t,t&&$l(t,n)},[t])},Mf=Lf,Il={"min-height":"0","max-height":"none",height:"0",visibility:"hidden",overflow:"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},Zl=function(e){Object.keys(Il).forEach(function(t){e.style.setProperty(t,Il[t],"important")})},he=null,jl=function(e,t){var r=e.scrollHeight;return t.sizingStyle.boxSizing==="border-box"?r+t.borderSize:r-t.paddingSize};function Bf(e,t,r,n){r===void 0&&(r=1),n===void 0&&(n=1/0),he||(he=document.createElement("textarea"),he.setAttribute("tabindex","-1"),he.setAttribute("aria-hidden","true"),Zl(he)),he.parentNode===null&&document.body.appendChild(he);var o=e.paddingSize,l=e.borderSize,i=e.sizingStyle,u=i.boxSizing;Object.keys(i).forEach(function(g){var d=g;he.style[d]=i[d]}),Zl(he),he.value=t;var s=jl(he,e);he.value=t,s=jl(he,e),he.value="x";var c=he.scrollHeight-o,p=c*r;u==="border-box"&&(p=p+o+l),s=Math.max(p,s);var h=c*n;return u==="border-box"&&(h=h+o+l),s=Math.min(h,s),[s,c]}var Hl=function(){},$f=function(e,t){return e.reduce(function(r,n){return r[n]=t[n],r},{})},If=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","boxSizing","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textRendering","textTransform","width","wordBreak"],Zf=typeof document<"u"?!!document.documentElement.currentStyle:!1,jf=function(e){var t=window.getComputedStyle(e);if(t===null)return null;var r=$f(If,t),n=r.boxSizing;if(n==="")return null;Zf&&n==="border-box"&&(r.width=parseFloat(r.width)+parseFloat(r.borderRightWidth)+parseFloat(r.borderLeftWidth)+parseFloat(r.paddingRight)+parseFloat(r.paddingLeft)+"px");var o=parseFloat(r.paddingBottom)+parseFloat(r.paddingTop),l=parseFloat(r.borderBottomWidth)+parseFloat(r.borderTopWidth);return{sizingStyle:r,paddingSize:o,borderSize:l}};function gu(e,t,r){var n=Df(r);x.useLayoutEffect(function(){var o=function(l){return n.current(l)};return e.addEventListener(t,o),function(){return e.removeEventListener(t,o)}},[])}var Hf=function(e){gu(window,"resize",e)},Nf=function(e){gu(document.fonts,"loadingdone",e)},Pf=["cacheMeasurements","maxRows","minRows","onChange","onHeightChange"],Vf=function(e,t){var r=e.cacheMeasurements,n=e.maxRows,o=e.minRows,l=e.onChange,i=l===void 0?Hl:l,u=e.onHeightChange,s=u===void 0?Hl:u,c=qa(e,Pf),p=c.value!==void 0,h=x.useRef(null),g=Mf(h,t),d=x.useRef(0),m=x.useRef(),f=function(){var y=h.current,C=r&&m.current?m.current:jf(y);if(C){m.current=C;var b=Bf(C,y.value||y.placeholder||"x",o,n),E=b[0],A=b[1];d.current!==E&&(d.current=E,y.style.setProperty("height",E+"px","important"),s(E,{rowHeight:A}))}},v=function(y){p||f(),i(y)};return typeof document<"u"&&(x.useLayoutEffect(f),Hf(f),Nf(f)),x.createElement("textarea",ve({},c,{onChange:v,ref:g}))},zf=x.forwardRef(Vf),qf=zf,Uf={appearance:"none",border:"0 none",boxSizing:"inherit",display:" block",margin:" 0",background:"transparent",padding:0,fontSize:"inherit",position:"relative"},mo=({theme:e})=>({...Uf,transition:"box-shadow 200ms ease-out, opacity 200ms ease-out",color:e.input.color||"inherit",background:e.input.background,boxShadow:`${e.input.border} 0 0 0 1px inset`,borderRadius:e.input.borderRadius,fontSize:e.typography.size.s2-1,lineHeight:"20px",padding:"6px 10px","&:focus":{boxShadow:`${e.color.secondary} 0 0 0 1px inset`,outline:"none"},"&[disabled]":{cursor:"not-allowed",opacity:.5},"&:-webkit-autofill":{WebkitBoxShadow:`0 0 0 3em ${e.color.lightest} inset`},"&::placeholder":{color:e.textMutedColor,opacity:1}}),bn=({size:e})=>{switch(e){case"100%":return{width:"100%"};case"flex":return{flex:1};case"auto":default:return{display:"inline"}}},hu=({align:e})=>{switch(e){case"end":return{textAlign:"right"};case"center":return{textAlign:"center"};case"start":default:return{textAlign:"left"}}},vn=({valid:e,theme:t})=>{switch(e){case"valid":return{boxShadow:`${t.color.positive} 0 0 0 1px inset !important`};case"error":return{boxShadow:`${t.color.negative} 0 0 0 1px inset !important`};case"warn":return{boxShadow:`${t.color.warning} 0 0 0 1px inset`};case void 0:case null:default:return{}}},Wf=Object.assign(_(x.forwardRef(function({size:e,valid:t,align:r,...n},o){return a.createElement("input",{...n,ref:o})}))(mo,bn,hu,vn,{minHeight:32}),{displayName:"Input"}),Gf=Object.assign(_(x.forwardRef(function({size:e,valid:t,align:r,...n},o){return a.createElement("select",{...n,ref:o})}))(mo,bn,vn,{height:32,userSelect:"none",paddingRight:20,appearance:"menulist"}),{displayName:"Select"}),Yf=Object.assign(_(x.forwardRef(function({size:e,valid:t,align:r,...n},o){return a.createElement(qf,{...n,ref:o})}))(mo,bn,hu,vn,({height:e=400})=>({overflow:"visible",maxHeight:e})),{displayName:"Textarea"}),Kf=_(x.forwardRef(function({size:e,valid:t,align:r,...n},o){return a.createElement(fu,{...n,ref:o})}))(bn,vn,{userSelect:"none",overflow:"visible",zIndex:2,"&:hover":{transform:"none"}}),Jf=Object.assign(x.forwardRef(function(e,t){return a.createElement(Kf,{...e,tertiary:!0,small:!0,inForm:!0,ref:t})}),{displayName:"Button"}),Ie=Object.assign(_.form({boxSizing:"border-box",width:"100%"}),{Field:mu,Input:Wf,Select:Gf,Textarea:Yf,Button:Jf}),Xf=x.lazy(()=>it(()=>import("./WithTooltip-FBT32F6Q-44391210.js"),["./WithTooltip-FBT32F6Q-44391210.js","./iframe-608d8974.js","./index-ebeaab24.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js"],import.meta.url).then(e=>({default:e.WithTooltip}))),Qf=e=>a.createElement(x.Suspense,{fallback:a.createElement("div",null)},a.createElement(Xf,{...e})),em=x.lazy(()=>it(()=>import("./WithTooltip-FBT32F6Q-44391210.js"),["./WithTooltip-FBT32F6Q-44391210.js","./iframe-608d8974.js","./index-ebeaab24.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js"],import.meta.url).then(e=>({default:e.WithTooltipPure}))),yu=e=>a.createElement(x.Suspense,{fallback:a.createElement("div",null)},a.createElement(em,{...e})),tm=_.div(({theme:e})=>({fontWeight:e.typography.weight.bold})),rm=_.span(),nm=_.div(({theme:e})=>({marginTop:8,textAlign:"center","> *":{margin:"0 8px",fontWeight:e.typography.weight.bold}})),am=_.div(({theme:e})=>({color:e.color.defaultText,lineHeight:"18px"})),om=_.div({padding:15,width:280,boxSizing:"border-box"}),bu=({title:e,desc:t,links:r})=>a.createElement(om,null,a.createElement(am,null,e&&a.createElement(tm,null,e),t&&a.createElement(rm,null,t)),r&&a.createElement(nm,null,r.map(({title:n,...o})=>a.createElement(vr,{...o,key:n},n))));bu.defaultProps={title:null,desc:null,links:null};var lm=_.div(({theme:e})=>({padding:"2px 6px",lineHeight:"16px",fontSize:10,fontWeight:e.typography.weight.bold,color:e.color.lightest,boxShadow:"0 0 5px 0 rgba(0, 0, 0, 0.3)",borderRadius:4,whiteSpace:"nowrap",pointerEvents:"none",zIndex:-1,background:e.base==="light"?"rgba(60, 60, 60, 0.9)":"rgba(0, 0, 0, 0.95)",margin:6})),im=({note:e,...t})=>a.createElement(lm,{...t},e),sm=_(({active:e,loading:t,disabled:r,...n})=>a.createElement("span",{...n}))(({theme:e})=>({color:e.color.defaultText,fontWeight:e.typography.weight.regular}),({active:e,theme:t})=>e?{color:t.color.secondary,fontWeight:t.typography.weight.bold}:{},({loading:e,theme:t})=>e?{display:"inline-block",flex:"none",...t.animation.inlineGlow}:{},({disabled:e,theme:t})=>e?{color:Ee(.7,t.color.defaultText)}:{}),um=_.span({display:"flex","& svg":{height:12,width:12,margin:"3px 0",verticalAlign:"top"},"& path":{fill:"inherit"}}),cm=_.span({flex:1,textAlign:"left",display:"flex",flexDirection:"column"},({isIndented:e})=>e?{marginLeft:24}:{}),dm=_.span(({theme:e})=>({fontSize:"11px",lineHeight:"14px"}),({active:e,theme:t})=>e?{color:t.color.secondary}:{},({theme:e,disabled:t})=>t?{color:e.textMutedColor}:{}),Nl=_.span(({active:e,theme:t})=>e?{"& svg":{opacity:1},"& svg path":{fill:t.color.secondary}}:{},()=>({display:"flex",maxWidth:14})),pm=_.a(({theme:e})=>({fontSize:e.typography.size.s1,transition:"all 150ms ease-out",color:e.color.dark,textDecoration:"none",cursor:"pointer",justifyContent:"space-between",lineHeight:"18px",padding:"7px 10px",display:"flex",alignItems:"center","& > * + *":{paddingLeft:10},"&:hover":{background:e.background.hoverable},"&:hover svg":{opacity:1}}),({disabled:e})=>e?{cursor:"not-allowed"}:{}),fm=Ot(100)((e,t,r)=>{let n={};return e&&Object.assign(n,{onClick:e}),t&&Object.assign(n,{href:t}),r&&t&&Object.assign(n,{to:t,as:r}),n}),vu=({loading:e,left:t,title:r,center:n,right:o,icon:l,active:i,disabled:u,isIndented:s,href:c,onClick:p,LinkWrapper:h,...g})=>{let d=fm(p,c,h),m={active:i,disabled:u},f=typeof l=="string"&&br[l];return a.createElement(pm,{...m,...g,...d},l?a.createElement(Nl,{...m},f?a.createElement(we,{icon:l}):l):t&&a.createElement(Nl,{...m},t),r||n?a.createElement(cm,{isIndented:!t&&!l&&s},r&&a.createElement(sm,{...m,loading:e},r),n&&a.createElement(dm,{...m},n)):null,o&&a.createElement(um,{...m},o))};vu.defaultProps={loading:!1,left:null,title:a.createElement("span",null,"Loading state"),center:null,right:null,active:!1,disabled:!1,href:null,LinkWrapper:null,onClick:null};var go=vu,mm=_.div({minWidth:180,overflow:"hidden",overflowY:"auto",maxHeight:15.5*32},({theme:e})=>({borderRadius:e.appBorderRadius})),gm=e=>{let{LinkWrapper:t,onClick:r,id:n,isIndented:o,...l}=e,{title:i,href:u,active:s}=l,c=x.useCallback(h=>{r(h,l)},[r]),p=!!r;return a.createElement(go,{title:i,active:s,href:u,id:`list-item-${n}`,LinkWrapper:t,isIndented:o,...l,...p?{onClick:c}:{}})},ho=({links:e,LinkWrapper:t})=>{let r=e.some(n=>n.left||n.icon);return a.createElement(mm,null,e.map(({isGatsby:n,...o})=>a.createElement(gm,{key:o.id,LinkWrapper:n?t:null,isIndented:r,...o})))};ho.defaultProps={LinkWrapper:go.defaultProps.LinkWrapper};var yo=a.forwardRef(({children:e,...t},r)=>t.href!=null?a.createElement("a",{ref:r,...t},e):a.createElement("button",{ref:r,type:"button",...t},e));yo.displayName="ButtonOrLink";var _r=_(yo,{shouldForwardProp:$a})({whiteSpace:"normal",display:"inline-flex",overflow:"hidden",verticalAlign:"top",justifyContent:"center",alignItems:"center",textAlign:"center",textDecoration:"none","&:empty":{display:"none"}},({theme:e})=>({padding:"0 15px",transition:"color 0.2s linear, border-bottom-color 0.2s linear",height:40,lineHeight:"12px",cursor:"pointer",background:"transparent",border:"0 solid transparent",borderTop:"3px solid transparent",borderBottom:"3px solid transparent",fontWeight:"bold",fontSize:13,"&:focus":{outline:"0 none",borderBottomColor:e.color.secondary}}),({active:e,textColor:t,theme:r})=>e?{color:t||r.barSelectedColor,borderBottomColor:r.barSelectedColor}:{color:t||r.barTextColor,borderBottomColor:"transparent"});_r.displayName="TabButton";var kt=_(yo,{shouldForwardProp:$a})(()=>({alignItems:"center",background:"transparent",border:"none",borderRadius:4,color:"inherit",cursor:"pointer",display:"inline-flex",fontSize:13,fontWeight:"bold",height:28,justifyContent:"center",marginTop:6,padding:"8px 7px","& > svg":{width:14}}),({active:e,theme:t})=>e?{backgroundColor:t.background.hoverable,color:t.color.secondary}:{},({disabled:e,theme:t})=>e?{opacity:.5,cursor:"not-allowed"}:{"&:hover, &:focus-visible":{background:Ee(.88,t.color.secondary),color:t.color.secondary},"&:focus-visible":{outline:hn},"&:focus:not(:focus-visible)":{outline:"none"}});kt.displayName="IconButton";var hm=_.div(({theme:e})=>({width:14,height:14,backgroundColor:e.appBorderColor,animation:`${e.animation.glow} 1.5s ease-in-out infinite`})),ym=_.div(()=>({marginTop:6,padding:7,height:28})),Eu=()=>a.createElement(ym,null,a.createElement(hm,null)),ya=_.div({display:"flex",whiteSpace:"nowrap",flexBasis:"auto",marginLeft:3,marginRight:3},({scrollable:e})=>e?{flexShrink:0}:{},({left:e})=>e?{"& > *":{marginLeft:4}}:{},({right:e})=>e?{marginLeft:30,"& > *":{marginRight:4}}:{});ya.displayName="Side";var bm=({children:e,className:t,scrollable:r})=>r?a.createElement(gn,{vertical:!1,className:t},e):a.createElement("div",{className:t},e),bo=_(bm)(({theme:e,scrollable:t=!0})=>({color:e.barTextColor,width:"100%",height:40,flexShrink:0,overflow:t?"auto":"hidden",overflowY:"hidden"}),({theme:e,border:t=!1})=>t?{boxShadow:`${e.appBorderColor} 0 -1px 0 0 inset`,background:e.barBg}:{});bo.displayName="Bar";var vm=_.div(({bgColor:e})=>({display:"flex",justifyContent:"space-between",position:"relative",flexWrap:"nowrap",flexShrink:0,height:40,backgroundColor:e||""})),En=({children:e,backgroundColor:t,...r})=>{let[n,o]=x.Children.toArray(e);return a.createElement(bo,{...r},a.createElement(vm,{bgColor:t},a.createElement(ya,{scrollable:r.scrollable,left:!0},n),o?a.createElement(ya,{right:!0},o):null))};En.displayName="FlexBar";var xu=_.div(({active:e})=>e?{display:"block"}:{display:"none"}),Em=(e,t)=>x.Children.toArray(e).map(({props:{title:r,id:n,color:o,children:l}},i)=>{let u=Array.isArray(l)?l[0]:l;return{active:t?n===t:i===0,title:r,id:n,color:o,render:typeof u=="function"?u:({active:s,key:c})=>a.createElement(xu,{key:c,active:s,role:"tabpanel"},u)}}),xm=_.span(({theme:e,isActive:t})=>({display:"inline-block",width:0,height:0,marginLeft:8,color:t?e.color.secondary:e.color.mediumdark,borderRight:"3px solid transparent",borderLeft:"3px solid transparent",borderTop:"3px solid",transition:"transform .1s ease-out"})),Am=_(_r)(({active:e,theme:t,preActive:r})=>` + color: ${r||e?t.color.secondary:t.color.mediumdark}; + &:hover { + color: ${t.color.secondary}; + .addon-collapsible-icon { + color: ${t.color.secondary}; + } + } + `);function wm(e){let t=x.useRef(),r=x.useRef(),n=x.useRef(new Map),{width:o=1}=Ms({ref:t}),[l,i]=x.useState(e),[u,s]=x.useState([]),c=x.useRef(e),p=x.useCallback(({menuName:g,actions:d})=>{let m=u.some(({active:y})=>y),[f,v]=x.useState(!1);return a.createElement(a.Fragment,null,a.createElement(a5,{interactive:!0,visible:f,onVisibleChange:v,placement:"bottom",delayHide:100,tooltip:a.createElement(ho,{links:u.map(({title:y,id:C,color:b,active:E})=>({id:C,title:y,color:b,active:E,onClick:A=>{A.preventDefault(),d.onSelect(C)}}))})},a.createElement(Am,{ref:r,active:m,preActive:f,style:{visibility:u.length?"visible":"hidden"},"aria-hidden":!u.length,className:"tabbutton",type:"button",role:"tab"},g,a.createElement(xm,{className:"addon-collapsible-icon",isActive:m||f}))),u.map(({title:y,id:C,color:b},E)=>{let A=`index-${E}`;return a.createElement(_r,{id:`tabbutton-${Is(C)??A}`,style:{visibility:"hidden"},"aria-hidden":!0,tabIndex:-1,ref:w=>{n.current.set(C,w)},className:"tabbutton",type:"button",key:C,textColor:b,role:"tab"},y)}))},[u]),h=x.useCallback(()=>{if(!t.current||!r.current)return;let{x:g,width:d}=t.current.getBoundingClientRect(),{width:m}=r.current.getBoundingClientRect(),f=u.length?g+d-m:g+d,v=[],y=0,C=e.filter(b=>{let{id:E}=b,A=n.current.get(E),{width:w=0}=(A==null?void 0:A.getBoundingClientRect())||{},k=g+y+w>f;return(!k||!A)&&v.push(b),y+=w,k});(v.length!==l.length||c.current!==e)&&(i(v),s(C),c.current=e)},[u.length,e,l]);return x.useLayoutEffect(h,[h,o]),{tabRefs:n,addonsRef:r,tabBarRef:t,visibleList:l,invisibleList:u,AddonTab:p}}var Cm="/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */",Sm=_.div(({theme:e,bordered:t})=>t?{backgroundClip:"padding-box",border:`1px solid ${e.appBorderColor}`,borderRadius:e.appBorderRadius,overflow:"hidden",boxSizing:"border-box"}:{},({absolute:e})=>e?{width:"100%",height:"100%",boxSizing:"border-box",display:"flex",flexDirection:"column"}:{display:"block"}),vo=_.div({overflow:"hidden","&:first-of-type":{marginLeft:-3},whiteSpace:"nowrap",flexGrow:1});vo.displayName="TabBar";var km=_.div({display:"block",position:"relative"},({theme:e})=>({fontSize:e.typography.size.s2-1,background:e.background.content}),({bordered:e,theme:t})=>e?{borderRadius:`0 0 ${t.appBorderRadius-1}px ${t.appBorderRadius-1}px`}:{},({absolute:e,bordered:t})=>e?{height:`calc(100% - ${t?42:40}px)`,position:"absolute",left:0+(t?1:0),right:0+(t?1:0),bottom:0+(t?1:0),top:40+(t?1:0),overflow:"auto",[`& > *:first-child${Cm}`]:{position:"absolute",left:0+(t?1:0),right:0+(t?1:0),bottom:0+(t?1:0),top:0+(t?1:0),height:`calc(100% - ${t?2:0}px)`,overflow:"auto"}}:{}),_m=({active:e,render:t,children:r})=>a.createElement(xu,{active:e},t?t():r),xn=x.memo(({children:e,selected:t,actions:r,absolute:n,bordered:o,tools:l,backgroundColor:i,id:u,menuName:s})=>{let c=x.useMemo(()=>Em(e,t),[e,t]),{visibleList:p,tabBarRef:h,tabRefs:g,AddonTab:d}=wm(c);return c.length?a.createElement(Sm,{absolute:n,bordered:o,id:u},a.createElement(En,{scrollable:!1,border:!0,backgroundColor:i},a.createElement(vo,{style:{whiteSpace:"normal"},ref:h,role:"tablist"},p.map(({title:m,id:f,active:v,color:y},C)=>{let b=`index-${C}`;return a.createElement(_r,{id:`tabbutton-${Is(f)??b}`,ref:E=>{g.current.set(f,E)},className:`tabbutton ${v?"tabbutton-active":""}`,type:"button",key:f,active:v,textColor:y,onClick:E=>{E.preventDefault(),r.onSelect(f)},role:"tab"},m)}),a.createElement(d,{menuName:s,actions:r})),l),a.createElement(km,{id:"panel-tab-content",bordered:o,absolute:n},c.map(({id:m,active:f,render:v})=>v({key:m,active:f})))):a.createElement(iu,null,a.createElement(x.Fragment,{key:"title"},"Nothing found"))});xn.displayName="Tabs";xn.defaultProps={id:null,children:null,tools:null,selected:null,absolute:!1,bordered:!1,menuName:"Tabs"};var Eo=class extends x.Component{constructor(e){super(e),this.handlers={onSelect:t=>this.setState({selected:t})},this.state={selected:e.initial}}render(){let{bordered:e=!1,absolute:t=!1,children:r,backgroundColor:n,menuName:o}=this.props,{selected:l}=this.state;return a.createElement(xn,{bordered:e,absolute:t,selected:l,backgroundColor:n,menuName:o,actions:this.handlers},r)}};Eo.defaultProps={children:[],initial:null,absolute:!1,bordered:!1,backgroundColor:"",menuName:void 0};var xo=_.span(({theme:e})=>({width:1,height:20,background:e.appBorderColor,marginTop:10,marginLeft:6,marginRight:2}),({force:e})=>e?{}:{"& + &":{display:"none"}});xo.displayName="Separator";var Om=e=>e.reduce((t,r,n)=>r?a.createElement(x.Fragment,{key:r.id||r.key||`f-${n}`},t,n>0?a.createElement(xo,{key:`s-${n}`}):null,r.render()||r):t,null),Rm=e=>{let t=x.useRef();return x.useEffect(()=>{t.current=e},[e]),t.current},Tm=(e,t)=>{let r=Rm(t);return e?t:r},Fm=({active:e,children:t})=>a.createElement("div",{hidden:!e},Tm(e,t)),Dm=({alt:e,...t})=>a.createElement("svg",{width:"200px",height:"40px",viewBox:"0 0 200 40",...t,role:"img"},e?a.createElement("title",null,e):null,a.createElement("defs",null,a.createElement("path",{d:"M1.2 36.9L0 3.9c0-1.1.8-2 1.9-2.1l28-1.8a2 2 0 0 1 2.2 1.9 2 2 0 0 1 0 .1v36a2 2 0 0 1-2 2 2 2 0 0 1-.1 0L3.2 38.8a2 2 0 0 1-2-2z",id:"a"})),a.createElement("g",{fill:"none",fillRule:"evenodd"},a.createElement("path",{d:"M53.3 31.7c-1.7 0-3.4-.3-5-.7-1.5-.5-2.8-1.1-3.9-2l1.6-3.5c2.2 1.5 4.6 2.3 7.3 2.3 1.5 0 2.5-.2 3.3-.7.7-.5 1.1-1 1.1-1.9 0-.7-.3-1.3-1-1.7s-2-.8-3.7-1.2c-2-.4-3.6-.9-4.8-1.5-1.1-.5-2-1.2-2.6-2-.5-1-.8-2-.8-3.2 0-1.4.4-2.6 1.2-3.6.7-1.1 1.8-2 3.2-2.6 1.3-.6 2.9-.9 4.7-.9 1.6 0 3.1.3 4.6.7 1.5.5 2.7 1.1 3.5 2l-1.6 3.5c-2-1.5-4.2-2.3-6.5-2.3-1.3 0-2.3.2-3 .8-.8.5-1.2 1.1-1.2 2 0 .5.2 1 .5 1.3.2.3.7.6 1.4.9l2.9.8c2.9.6 5 1.4 6.2 2.4a5 5 0 0 1 2 4.2 6 6 0 0 1-2.5 5c-1.7 1.2-4 1.9-7 1.9zm21-3.6l1.4-.1-.2 3.5-1.9.1c-2.4 0-4.1-.5-5.2-1.5-1.1-1-1.6-2.7-1.6-4.8v-6h-3v-3.6h3V11h4.8v4.6h4v3.6h-4v6c0 1.8.9 2.8 2.6 2.8zm11.1 3.5c-1.6 0-3-.3-4.3-1a7 7 0 0 1-3-2.8c-.6-1.3-1-2.7-1-4.4 0-1.6.4-3 1-4.3a7 7 0 0 1 3-2.8c1.2-.7 2.7-1 4.3-1 1.7 0 3.2.3 4.4 1a7 7 0 0 1 3 2.8c.6 1.2 1 2.7 1 4.3 0 1.7-.4 3.1-1 4.4a7 7 0 0 1-3 2.8c-1.2.7-2.7 1-4.4 1zm0-3.6c2.4 0 3.6-1.6 3.6-4.6 0-1.5-.3-2.6-1-3.4a3.2 3.2 0 0 0-2.6-1c-2.3 0-3.5 1.4-3.5 4.4 0 3 1.2 4.6 3.5 4.6zm21.7-8.8l-2.7.3c-1.3.2-2.3.5-2.8 1.2-.6.6-.9 1.4-.9 2.5v8.2H96V15.7h4.6v2.6c.8-1.8 2.5-2.8 5-3h1.3l.3 4zm14-3.5h4.8L116.4 37h-4.9l3-6.6-6.4-14.8h5l4 10 4-10zm16-.4c1.4 0 2.6.3 3.6 1 1 .6 1.9 1.6 2.5 2.8.6 1.2.9 2.7.9 4.3 0 1.6-.3 3-1 4.3a6.9 6.9 0 0 1-2.4 2.9c-1 .7-2.2 1-3.6 1-1 0-2-.2-3-.7-.8-.4-1.5-1-2-1.9v2.4h-4.7V8.8h4.8v9c.5-.8 1.2-1.4 2-1.9.9-.4 1.8-.6 3-.6zM135.7 28c1.1 0 2-.4 2.6-1.2.6-.8 1-2 1-3.4 0-1.5-.4-2.5-1-3.3s-1.5-1.1-2.6-1.1-2 .3-2.6 1.1c-.6.8-1 2-1 3.3 0 1.5.4 2.6 1 3.4.6.8 1.5 1.2 2.6 1.2zm18.9 3.6c-1.7 0-3.2-.3-4.4-1a7 7 0 0 1-3-2.8c-.6-1.3-1-2.7-1-4.4 0-1.6.4-3 1-4.3a7 7 0 0 1 3-2.8c1.2-.7 2.7-1 4.4-1 1.6 0 3 .3 4.3 1a7 7 0 0 1 3 2.8c.6 1.2 1 2.7 1 4.3 0 1.7-.4 3.1-1 4.4a7 7 0 0 1-3 2.8c-1.2.7-2.7 1-4.3 1zm0-3.6c2.3 0 3.5-1.6 3.5-4.6 0-1.5-.3-2.6-1-3.4a3.2 3.2 0 0 0-2.5-1c-2.4 0-3.6 1.4-3.6 4.4 0 3 1.2 4.6 3.6 4.6zm18 3.6c-1.7 0-3.2-.3-4.4-1a7 7 0 0 1-3-2.8c-.6-1.3-1-2.7-1-4.4 0-1.6.4-3 1-4.3a7 7 0 0 1 3-2.8c1.2-.7 2.7-1 4.4-1 1.6 0 3 .3 4.4 1a7 7 0 0 1 2.9 2.8c.6 1.2 1 2.7 1 4.3 0 1.7-.4 3.1-1 4.4a7 7 0 0 1-3 2.8c-1.2.7-2.7 1-4.3 1zm0-3.6c2.3 0 3.5-1.6 3.5-4.6 0-1.5-.3-2.6-1-3.4a3.2 3.2 0 0 0-2.5-1c-2.4 0-3.6 1.4-3.6 4.4 0 3 1.2 4.6 3.6 4.6zm27.4 3.4h-6l-6-7v7h-4.8V8.8h4.9v13.6l5.8-6.7h5.7l-6.6 7.5 7 8.2z",fill:"currentColor"}),a.createElement("mask",{id:"b",fill:"#fff"},a.createElement("use",{xlinkHref:"#a"})),a.createElement("use",{fill:"#FF4785",fillRule:"nonzero",xlinkHref:"#a"}),a.createElement("path",{d:"M23.7 5L24 .2l3.9-.3.1 4.8a.3.3 0 0 1-.5.2L26 3.8l-1.7 1.4a.3.3 0 0 1-.5-.3zm-5 10c0 .9 5.3.5 6 0 0-5.4-2.8-8.2-8-8.2-5.3 0-8.2 2.8-8.2 7.1 0 7.4 10 7.6 10 11.6 0 1.2-.5 1.9-1.8 1.9-1.6 0-2.2-.9-2.1-3.6 0-.6-6.1-.8-6.3 0-.5 6.7 3.7 8.6 8.5 8.6 4.6 0 8.3-2.5 8.3-7 0-7.9-10.2-7.7-10.2-11.6 0-1.6 1.2-1.8 2-1.8.6 0 2 0 1.9 3z",fill:"#FFF",fillRule:"nonzero",mask:"url(#b)"}))),Lm=({...e})=>a.createElement("svg",{viewBox:"0 0 64 64",...e},a.createElement("title",null,"Storybook icon"),a.createElement("g",{id:"Artboard",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},a.createElement("path",{d:"M8.04798541,58.7875918 L6.07908839,6.32540407 C6.01406344,4.5927838 7.34257463,3.12440831 9.07303814,3.01625434 L53.6958037,0.227331489 C55.457209,0.117243658 56.974354,1.45590096 57.0844418,3.21730626 C57.0885895,3.28366922 57.0906648,3.35014546 57.0906648,3.41663791 L57.0906648,60.5834697 C57.0906648,62.3483119 55.6599776,63.7789992 53.8951354,63.7789992 C53.847325,63.7789992 53.7995207,63.7779262 53.7517585,63.775781 L11.0978899,61.8600599 C9.43669044,61.7854501 8.11034889,60.4492961 8.04798541,58.7875918 Z",id:"path-1",fill:"#FF4785",fillRule:"nonzero"}),a.createElement("path",{d:"M35.9095005,24.1768792 C35.9095005,25.420127 44.2838488,24.8242707 45.4080313,23.9509748 C45.4080313,15.4847538 40.8652557,11.0358878 32.5466666,11.0358878 C24.2280775,11.0358878 19.5673077,15.553972 19.5673077,22.3311017 C19.5673077,34.1346028 35.4965208,34.3605071 35.4965208,40.7987804 C35.4965208,42.606015 34.6115646,43.6790606 32.6646607,43.6790606 C30.127786,43.6790606 29.1248356,42.3834613 29.2428298,37.9783269 C29.2428298,37.0226907 19.5673077,36.7247626 19.2723223,37.9783269 C18.5211693,48.6535354 25.1720308,51.7326752 32.7826549,51.7326752 C40.1572906,51.7326752 45.939005,47.8018145 45.939005,40.6858282 C45.939005,28.035186 29.7738035,28.3740425 29.7738035,22.1051974 C29.7738035,19.5637737 31.6617103,19.2249173 32.7826549,19.2249173 C33.9625966,19.2249173 36.0864917,19.4328883 35.9095005,24.1768792 Z",id:"path9_fill-path",fill:"#FFFFFF",fillRule:"nonzero"}),a.createElement("path",{d:"M44.0461638,0.830433986 L50.1874092,0.446606143 L50.443532,7.7810017 C50.4527198,8.04410717 50.2468789,8.26484453 49.9837734,8.27403237 C49.871115,8.27796649 49.7607078,8.24184808 49.6721567,8.17209069 L47.3089847,6.3104681 L44.5110468,8.43287463 C44.3012992,8.591981 44.0022839,8.55092814 43.8431776,8.34118051 C43.7762017,8.25288717 43.742082,8.14401677 43.7466857,8.03329059 L44.0461638,0.830433986 Z",id:"Path",fill:"#FFFFFF"}))),Mm=Gt` + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +`,Bm=_.div(({size:e=32})=>({borderRadius:"50%",cursor:"progress",display:"inline-block",overflow:"hidden",position:"absolute",transition:"all 200ms ease-out",verticalAlign:"top",top:"50%",left:"50%",marginTop:-(e/2),marginLeft:-(e/2),height:e,width:e,zIndex:4,borderWidth:2,borderStyle:"solid",borderColor:"rgba(97, 97, 97, 0.29)",borderTopColor:"rgb(100,100,100)",animation:`${Mm} 0.7s linear infinite`,mixBlendMode:"difference"})),Pl=_.div({position:"absolute",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",width:"100%",height:"100%"}),$m=_.div(({theme:e})=>({position:"relative",width:"80%",marginBottom:"0.75rem",maxWidth:300,height:5,borderRadius:5,background:Ee(.8,e.color.secondary),overflow:"hidden",cursor:"progress"})),Im=_.div(({theme:e})=>({position:"absolute",top:0,left:0,height:"100%",background:e.color.secondary})),Vl=_.div(({theme:e})=>({minHeight:"2em",fontSize:`${e.typography.size.s1}px`,color:e.barTextColor})),Zm=_(we)(({theme:e})=>({width:20,height:20,marginBottom:"0.5rem",color:e.textMutedColor})),jm=Gt` + from { content: "..." } + 33% { content: "." } + 66% { content: ".." } + to { content: "..." } +`,Hm=_.span({"&::after":{content:"'...'",animation:`${jm} 1s linear infinite`,animationDelay:"1s",display:"inline-block",width:"1em",height:"auto"}}),Au=({progress:e,error:t,size:r,...n})=>{if(t)return a.createElement(Pl,{"aria-label":t.toString(),"aria-live":"polite",role:"status",...n},a.createElement(Zm,{icon:"lightningoff"}),a.createElement(Vl,null,t.message));if(e){let{value:o,modules:l}=e,{message:i}=e;return l&&(i+=` ${l.complete} / ${l.total} modules`),a.createElement(Pl,{"aria-label":"Content is loading...","aria-live":"polite","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":o*100,"aria-valuetext":i,role:"progressbar",...n},a.createElement($m,null,a.createElement(Im,{style:{width:`${o*100}%`}})),a.createElement(Vl,null,i,o<1&&a.createElement(Hm,{key:i})))}return a.createElement(Bm,{"aria-label":"Content is loading...","aria-live":"polite",role:"status",size:r,...n})};function Nm(e){let t={},r=e.split("&");for(let n=0;n{let[n,o]=e.split("?"),l=o?{...Nm(o),...r,id:t}:{...r,id:t};return`${n}?${Object.entries(l).map(i=>`${i[0]}=${i[1]}`).join("&")}`},Cu=ou,Su={};Object.keys(ou).forEach(e=>{Su[e]=x.forwardRef((t,r)=>x.createElement(e,{...t,ref:r}))});const Pm=Object.freeze(Object.defineProperty({__proto__:null,A:Ns,ActionBar:Ja,AddonPanel:Fm,Badge:ef,Bar:bo,Blockquote:Ps,Button:fu,Code:so,DL:zs,Div:Vs,DocumentWrapper:sf,ErrorFormatter:du,FlexBar:En,Form:Ie,H1:qs,H2:uo,H3:co,H4:Us,H5:Ws,H6:Gs,HR:Ys,IconButton:kt,IconButtonSkeleton:Eu,Icons:we,Img:Ks,LI:Js,Link:vr,ListItem:go,Loader:Au,OL:Xs,P:Qs,Placeholder:iu,Pre:eu,ResetWrapper:po,ScrollArea:gn,Separator:xo,Spaced:ff,Span:tu,StorybookIcon:Lm,StorybookLogo:Dm,Symbols:tf,SyntaxHighlighter:fo,TT:nu,TabBar:vo,TabButton:_r,TabWrapper:_m,Table:ru,Tabs:xn,TabsState:Eo,TooltipLinkList:ho,TooltipMessage:bu,TooltipNote:im,UL:au,WithTooltip:Qf,WithTooltipPure:yu,Zoom:cu,codeCommon:ut,components:Cu,createCopyToClipboardFunction:vs,getStoryHref:wu,icons:br,interleaveSeparators:Om,nameSpaceClassNames:Q,resetComponents:Su,withReset:te},Symbol.toStringTag,{value:"Module"}));function Vm(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Er(e,t){return Er=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Er(e,t)}function zm(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,Er(e,t)}function ba(e){return ba=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ba(e)}function qm(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function Um(){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 Ur(e,t,r){return Um()?Ur=Reflect.construct.bind():Ur=function(o,l,i){var u=[null];u.push.apply(u,l);var s=Function.bind.apply(o,u),c=new s;return i&&Er(c,i.prototype),c},Ur.apply(null,arguments)}function va(e){var t=typeof Map=="function"?new Map:void 0;return va=function(n){if(n===null||!qm(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(n))return t.get(n);t.set(n,o)}function o(){return Ur(n,arguments,ba(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),Er(o,n)},va(e)}var Xe=function(e){zm(t,e);function t(r){var n;return n=e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+r+" for more information.")||this,Vm(n)}return t}(va(Error));function zn(e){return Math.round(e*255)}function Wm(e,t,r){return zn(e)+","+zn(t)+","+zn(r)}function xr(e,t,r,n){if(n===void 0&&(n=Wm),t===0)return n(r,r,r);var o=(e%360+360)%360/60,l=(1-Math.abs(2*r-1))*t,i=l*(1-Math.abs(o%2-1)),u=0,s=0,c=0;o>=0&&o<1?(u=l,s=i):o>=1&&o<2?(u=i,s=l):o>=2&&o<3?(s=l,c=i):o>=3&&o<4?(s=i,c=l):o>=4&&o<5?(u=i,c=l):o>=5&&o<6&&(u=l,c=i);var p=r-l/2,h=u+p,g=s+p,d=c+p;return n(h,g,d)}var zl={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function Gm(e){if(typeof e!="string")return e;var t=e.toLowerCase();return zl[t]?"#"+zl[t]:e}var Ym=/^#[a-fA-F0-9]{6}$/,Km=/^#[a-fA-F0-9]{8}$/,Jm=/^#[a-fA-F0-9]{3}$/,Xm=/^#[a-fA-F0-9]{4}$/,qn=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,Qm=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,eg=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,tg=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function An(e){if(typeof e!="string")throw new Xe(3);var t=Gm(e);if(t.match(Ym))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(Km)){var r=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:r}}if(t.match(Jm))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(Xm)){var n=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:n}}var o=qn.exec(t);if(o)return{red:parseInt(""+o[1],10),green:parseInt(""+o[2],10),blue:parseInt(""+o[3],10)};var l=Qm.exec(t.substring(0,50));if(l)return{red:parseInt(""+l[1],10),green:parseInt(""+l[2],10),blue:parseInt(""+l[3],10),alpha:parseFloat(""+l[4])>1?parseFloat(""+l[4])/100:parseFloat(""+l[4])};var i=eg.exec(t);if(i){var u=parseInt(""+i[1],10),s=parseInt(""+i[2],10)/100,c=parseInt(""+i[3],10)/100,p="rgb("+xr(u,s,c)+")",h=qn.exec(p);if(!h)throw new Xe(4,t,p);return{red:parseInt(""+h[1],10),green:parseInt(""+h[2],10),blue:parseInt(""+h[3],10)}}var g=tg.exec(t.substring(0,50));if(g){var d=parseInt(""+g[1],10),m=parseInt(""+g[2],10)/100,f=parseInt(""+g[3],10)/100,v="rgb("+xr(d,m,f)+")",y=qn.exec(v);if(!y)throw new Xe(4,t,v);return{red:parseInt(""+y[1],10),green:parseInt(""+y[2],10),blue:parseInt(""+y[3],10),alpha:parseFloat(""+g[4])>1?parseFloat(""+g[4])/100:parseFloat(""+g[4])}}throw new Xe(5)}function rg(e){var t=e.red/255,r=e.green/255,n=e.blue/255,o=Math.max(t,r,n),l=Math.min(t,r,n),i=(o+l)/2;if(o===l)return e.alpha!==void 0?{hue:0,saturation:0,lightness:i,alpha:e.alpha}:{hue:0,saturation:0,lightness:i};var u,s=o-l,c=i>.5?s/(2-o-l):s/(o+l);switch(o){case t:u=(r-n)/s+(r=1?en(e,t,r):"rgba("+xr(e,t,r)+","+n+")";if(typeof e=="object"&&t===void 0&&r===void 0&&n===void 0)return e.alpha>=1?en(e.hue,e.saturation,e.lightness):"rgba("+xr(e.hue,e.saturation,e.lightness)+","+e.alpha+")";throw new Xe(2)}function xa(e,t,r){if(typeof e=="number"&&typeof t=="number"&&typeof r=="number")return Ea("#"+At(e)+At(t)+At(r));if(typeof e=="object"&&t===void 0&&r===void 0)return Ea("#"+At(e.red)+At(e.green)+At(e.blue));throw new Xe(6)}function lt(e,t,r,n){if(typeof e=="string"&&typeof t=="number"){var o=An(e);return"rgba("+o.red+","+o.green+","+o.blue+","+t+")"}else{if(typeof e=="number"&&typeof t=="number"&&typeof r=="number"&&typeof n=="number")return n>=1?xa(e,t,r):"rgba("+e+","+t+","+r+","+n+")";if(typeof e=="object"&&t===void 0&&r===void 0&&n===void 0)return e.alpha>=1?xa(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")"}throw new Xe(7)}var ig=function(t){return typeof t.red=="number"&&typeof t.green=="number"&&typeof t.blue=="number"&&(typeof t.alpha!="number"||typeof t.alpha>"u")},sg=function(t){return typeof t.red=="number"&&typeof t.green=="number"&&typeof t.blue=="number"&&typeof t.alpha=="number"},ug=function(t){return typeof t.hue=="number"&&typeof t.saturation=="number"&&typeof t.lightness=="number"&&(typeof t.alpha!="number"||typeof t.alpha>"u")},cg=function(t){return typeof t.hue=="number"&&typeof t.saturation=="number"&&typeof t.lightness=="number"&&typeof t.alpha=="number"};function _u(e){if(typeof e!="object")throw new Xe(8);if(sg(e))return lt(e);if(ig(e))return xa(e);if(cg(e))return lg(e);if(ug(e))return og(e);throw new Xe(8)}function Ou(e,t,r){return function(){var o=r.concat(Array.prototype.slice.call(arguments));return o.length>=t?e.apply(this,o):Ou(e,t,o)}}function wn(e){return Ou(e,e.length,[])}function Cn(e,t,r){return Math.max(e,Math.min(t,r))}function dg(e,t){if(t==="transparent")return t;var r=ku(t);return _u(on({},r,{lightness:Cn(0,1,r.lightness-parseFloat(e))}))}var pg=wn(dg),We=pg;function fg(e,t){if(t==="transparent")return t;var r=ku(t);return _u(on({},r,{lightness:Cn(0,1,r.lightness+parseFloat(e))}))}var mg=wn(fg),wt=mg;function gg(e,t){if(t==="transparent")return t;var r=An(t),n=typeof r.alpha=="number"?r.alpha:1,o=on({},r,{alpha:Cn(0,1,(n*100+parseFloat(e)*100)/100)});return lt(o)}var hg=wn(gg),$r=hg;function yg(e,t){if(t==="transparent")return t;var r=An(t),n=typeof r.alpha=="number"?r.alpha:1,o=on({},r,{alpha:Cn(0,1,+(n*100-parseFloat(e)*100).toFixed(2)/100)});return lt(o)}var bg=wn(yg),ee=bg,vg=Ri,Eg=qc,xg=Object.prototype,Ag=xg.hasOwnProperty;function wg(e,t,r){var n=e[t];(!(Ag.call(e,t)&&Eg(n,r))||r===void 0&&!(t in e))&&vg(e,t,r)}var Ao=wg,Cg=Ao,Sg=Ti,kg=Uc,ql=ln,_g=Wc;function Og(e,t,r,n){if(!ql(e))return e;t=Sg(t,e);for(var o=-1,l=t.length,i=l-1,u=e;u!=null&&++o(e[t.toLowerCase()]=t,e),{for:"htmlFor"}),Wl={amp:"&",apos:"'",gt:">",lt:"<",nbsp:" ",quot:"“"},ph=["style","script"],fh=/([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi,mh=/mailto:/i,gh=/\n{2,}$/,Fu=/^( *>[^\n]+(\n[^\n]+)*\n*)+\n{2,}/,hh=/^ *> ?/gm,yh=/^ {2,}\n/,bh=/^(?:( *[-*_])){3,} *(?:\n *)+\n/,Du=/^\s*(`{3,}|~{3,}) *(\S+)?([^\n]*?)?\n([\s\S]+?)\s*\1 *(?:\n *)*\n?/,Lu=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/,vh=/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,Eh=/^(?:\n *)*\n/,xh=/\r\n?/g,Ah=/^\[\^([^\]]+)](:.*)\n/,wh=/^\[\^([^\]]+)]/,Ch=/\f/g,Sh=/^\s*?\[(x|\s)\]/,Mu=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,Bu=/^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/,Aa=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?([^>]*)\/{0}>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1)[\s\S])*?)<\/\1>\n*/i,kh=/&([a-zA-Z]+);/g,$u=/^)/,_h=/^(data|aria|x)-[a-z_][a-z\d_.-]*$/,wa=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,Oh=/^\{.*\}$/,Rh=/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,Th=/^<([^ >]+@[^ >]+)>/,Fh=/^<([^ >]+:\/[^ >]+)>/,Dh=/-([a-z])?/gi,Iu=/^(.*\|?.*)\n *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*)\n?/,Lh=/^\[([^\]]*)\]:\s+]+)>?\s*("([^"]*)")?/,Mh=/^!\[([^\]]*)\] ?\[([^\]]*)\]/,Bh=/^\[([^\]]*)\] ?\[([^\]]*)\]/,$h=/(\[|\])/g,Ih=/(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,Zh=/\t/g,jh=/^ *\| */,Hh=/(^ *\||\| *$)/g,Nh=/ *$/,Ph=/^ *:-+: *$/,Vh=/^ *:-+ *$/,zh=/^ *-+: *$/,qh=/^([*_])\1((?:\[.*?\][([].*?[)\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\1\1(?!\1)/,Uh=/^([*_])((?:\[.*?\][([].*?[)\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\1(?!\1|\w)/,Wh=/^==((?:\[.*?\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)==/,Gh=/^~~((?:\[.*?\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)~~/,Yh=/^\\([^0-9A-Za-z\s])/,Kh=/^[\s\S]+?(?=[^0-9A-Z\s\u00c0-\uffff&;.()'"]|\d+\.|\n\n| {2,}\n|\w+:\S|$)/i,Jh=/^\n+/,Xh=/^([ \t]*)/,Qh=/\\([^\\])/g,Gl=/ *\n+$/,ey=/(?:^|\n)( *)$/,Co="(?:\\d+\\.)",So="(?:[*+-])";function Zu(e){return"( *)("+(e===1?Co:So)+") +"}const ju=Zu(1),Hu=Zu(2);function Nu(e){return new RegExp("^"+(e===1?ju:Hu))}const ty=Nu(1),ry=Nu(2);function Pu(e){return new RegExp("^"+(e===1?ju:Hu)+"[^\\n]*(?:\\n(?!\\1"+(e===1?Co:So)+" )[^\\n]*)*(\\n|$)","gm")}const Vu=Pu(1),zu=Pu(2);function qu(e){const t=e===1?Co:So;return new RegExp("^( *)("+t+") [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1"+t+" (?!"+t+" ))\\n*|\\s*\\n*$)")}const Uu=qu(1),Wu=qu(2);function Yl(e,t){const r=t===1,n=r?Uu:Wu,o=r?Vu:zu,l=r?ty:ry;return{t(i,u,s){const c=ey.exec(s);return c&&(u.o||!u._&&!u.u)?n.exec(i=c[1]+i):null},i:z.HIGH,l(i,u,s){const c=r?+i[2]:void 0,p=i[0].replace(gh,` +`).match(o);let h=!1;return{p:p.map(function(g,d){const m=l.exec(g)[0].length,f=new RegExp("^ {1,"+m+"}","gm"),v=g.replace(f,"").replace(l,""),y=d===p.length-1,C=v.indexOf(` + +`)!==-1||y&&h;h=C;const b=s._,E=s.o;let A;s.o=!0,C?(s._=!1,A=v.replace(Gl,` + +`)):(s._=!0,A=v.replace(Gl,""));const w=u(A,s);return s._=b,s.o=E,w}),m:r,g:c}},h:(i,u,s)=>e(i.m?"ol":"ul",{key:s.k,start:i.g},i.p.map(function(c,p){return e("li",{key:p},u(c,s))}))}}const ny=/^\[([^\]]*)]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/,ay=/^!\[([^\]]*)]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/,Gu=[Fu,Du,Lu,Mu,Bu,$u,Iu,Vu,Uu,zu,Wu],oy=[...Gu,/^[^\n]+(?: \n|\n{2,})/,Aa,wa];function ly(e){return e.replace(/[ÀÁÂÃÄÅàáâãäåæÆ]/g,"a").replace(/[çÇ]/g,"c").replace(/[ðÐ]/g,"d").replace(/[ÈÉÊËéèêë]/g,"e").replace(/[ÏïÎîÍíÌì]/g,"i").replace(/[Ññ]/g,"n").replace(/[øØœŒÕõÔôÓóÒò]/g,"o").replace(/[ÜüÛûÚúÙù]/g,"u").replace(/[ŸÿÝý]/g,"y").replace(/[^a-z0-9- ]/gi,"").replace(/ /gi,"-").toLowerCase()}function iy(e){return zh.test(e)?"right":Ph.test(e)?"center":Vh.test(e)?"left":null}function Kl(e,t,r){const n=r.v;r.v=!0;const o=t(e.trim(),r);r.v=n;let l=[[]];return o.forEach(function(i,u){i.type==="tableSeparator"?u!==0&&u!==o.length-1&&l.push([]):(i.type!=="text"||o[u+1]!=null&&o[u+1].type!=="tableSeparator"||(i.$=i.$.replace(Nh,"")),l[l.length-1].push(i))}),l}function sy(e,t,r){r._=!0;const n=Kl(e[1],t,r),o=e[2].replace(Hh,"").split("|").map(iy),l=function(i,u,s){return i.trim().split(` +`).map(function(c){return Kl(c,u,s)})}(e[3],t,r);return r._=!1,{S:o,A:l,L:n,type:"table"}}function Jl(e,t){return e.S[t]==null?{}:{textAlign:e.S[t]}}function dt(e){return function(t,r){return r._?e.exec(t):null}}function pt(e){return function(t,r){return r._||r.u?e.exec(t):null}}function at(e){return function(t,r){return r._||r.u?null:e.exec(t)}}function or(e){return function(t){return e.exec(t)}}function uy(e,t,r){if(t._||t.u||r&&!r.endsWith(` +`))return null;let n="";e.split(` +`).every(l=>!Gu.some(i=>i.test(l))&&(n+=l+` +`,l.trim()));const o=n.trimEnd();return o==""?null:[n,o]}function Mt(e){try{if(decodeURIComponent(e).replace(/[^A-Za-z0-9/:]/g,"").match(/^\s*(javascript|vbscript|data(?!:image)):/i))return null}catch{return null}return e}function Xl(e){return e.replace(Qh,"$1")}function Wr(e,t,r){const n=r._||!1,o=r.u||!1;r._=!0,r.u=!0;const l=e(t,r);return r._=n,r.u=o,l}function cy(e,t,r){const n=r._||!1,o=r.u||!1;r._=!1,r.u=!0;const l=e(t,r);return r._=n,r.u=o,l}function dy(e,t,r){return r._=!1,e(t+` + +`,r)}const Wn=(e,t,r)=>({$:Wr(t,e[1],r)});function Gn(){return{}}function Yn(){return null}function py(...e){return e.filter(Boolean).join(" ")}function Kn(e,t,r){let n=e;const o=t.split(".");for(;o.length&&(n=n[o[0]],n!==void 0);)o.shift();return n||r}var z;function fy(e,t={}){t.overrides=t.overrides||{},t.slugify=t.slugify||ly,t.namedCodesToUnicode=t.namedCodesToUnicode?Ct({},Wl,t.namedCodesToUnicode):Wl;const r=t.createElement||x.createElement;function n(d,m,...f){const v=Kn(t.overrides,`${d}.props`,{});return r(function(y,C){const b=Kn(C,y);return b?typeof b=="function"||typeof b=="object"&&"render"in b?b:Kn(C,`${y}.component`,y):y}(d,t.overrides),Ct({},m,v,{className:py(m==null?void 0:m.className,v.className)||void 0}),...f)}function o(d){let m=!1;t.forceInline?m=!0:t.forceBlock||(m=Ih.test(d)===!1);const f=p(c(m?d:`${d.trimEnd().replace(Jh,"")} + +`,{_:m}));for(;typeof f[f.length-1]=="string"&&!f[f.length-1].trim();)f.pop();if(t.wrapper===null)return f;const v=t.wrapper||(m?"span":"div");let y;if(f.length>1||t.forceWrapper)y=f;else{if(f.length===1)return y=f[0],typeof y=="string"?n("span",{key:"outer"},y):y;y=null}return x.createElement(v,{key:"outer"},y)}function l(d){const m=d.match(fh);return m?m.reduce(function(f,v,y){const C=v.indexOf("=");if(C!==-1){const b=function(k){return k.indexOf("-")!==-1&&k.match(_h)===null&&(k=k.replace(Dh,function(S,O){return O.toUpperCase()})),k}(v.slice(0,C)).trim(),E=function(k){const S=k[0];return(S==='"'||S==="'")&&k.length>=2&&k[k.length-1]===S?k.slice(1,-1):k}(v.slice(C+1).trim()),A=Ul[b]||b,w=f[A]=function(k,S){return k==="style"?S.split(/;\s?/).reduce(function(O,R){const T=R.slice(0,R.indexOf(":"));return O[T.replace(/(-[a-z])/g,L=>L[1].toUpperCase())]=R.slice(T.length+1).trim(),O},{}):k==="href"?Mt(S):(S.match(Oh)&&(S=S.slice(1,S.length-1)),S==="true"||S!=="false"&&S)}(b,E);typeof w=="string"&&(Aa.test(w)||wa.test(w))&&(f[A]=x.cloneElement(o(w.trim()),{key:y}))}else v!=="style"&&(f[Ul[v]||v]=!0);return f},{}):null}const i=[],u={},s={blockQuote:{t:at(Fu),i:z.HIGH,l:(d,m,f)=>({$:m(d[0].replace(hh,""),f)}),h:(d,m,f)=>n("blockquote",{key:f.k},m(d.$,f))},breakLine:{t:or(yh),i:z.HIGH,l:Gn,h:(d,m,f)=>n("br",{key:f.k})},breakThematic:{t:at(bh),i:z.HIGH,l:Gn,h:(d,m,f)=>n("hr",{key:f.k})},codeBlock:{t:at(Lu),i:z.MAX,l:d=>({$:d[0].replace(/^ {4}/gm,"").replace(/\n+$/,""),M:void 0}),h:(d,m,f)=>n("pre",{key:f.k},n("code",Ct({},d.I,{className:d.M?`lang-${d.M}`:""}),d.$))},codeFenced:{t:at(Du),i:z.MAX,l:d=>({I:l(d[3]||""),$:d[4],M:d[2]||void 0,type:"codeBlock"})},codeInline:{t:pt(vh),i:z.LOW,l:d=>({$:d[2]}),h:(d,m,f)=>n("code",{key:f.k},d.$)},footnote:{t:at(Ah),i:z.MAX,l:d=>(i.push({O:d[2],B:d[1]}),{}),h:Yn},footnoteReference:{t:dt(wh),i:z.HIGH,l:d=>({$:d[1],R:`#${t.slugify(d[1])}`}),h:(d,m,f)=>n("a",{key:f.k,href:Mt(d.R)},n("sup",{key:f.k},d.$))},gfmTask:{t:dt(Sh),i:z.HIGH,l:d=>({T:d[1].toLowerCase()==="x"}),h:(d,m,f)=>n("input",{checked:d.T,key:f.k,readOnly:!0,type:"checkbox"})},heading:{t:at(Mu),i:z.HIGH,l:(d,m,f)=>({$:Wr(m,d[2],f),j:t.slugify(d[2]),C:d[1].length}),h:(d,m,f)=>n(`h${d.C}`,{id:d.j,key:f.k},m(d.$,f))},headingSetext:{t:at(Bu),i:z.MAX,l:(d,m,f)=>({$:Wr(m,d[1],f),C:d[2]==="="?1:2,type:"heading"})},htmlComment:{t:or($u),i:z.HIGH,l:()=>({}),h:Yn},image:{t:pt(ay),i:z.HIGH,l:d=>({D:d[1],R:Xl(d[2]),N:d[3]}),h:(d,m,f)=>n("img",{key:f.k,alt:d.D||void 0,title:d.N||void 0,src:Mt(d.R)})},link:{t:dt(ny),i:z.LOW,l:(d,m,f)=>({$:cy(m,d[1],f),R:Xl(d[2]),N:d[3]}),h:(d,m,f)=>n("a",{key:f.k,href:Mt(d.R),title:d.N},m(d.$,f))},linkAngleBraceStyleDetector:{t:dt(Fh),i:z.MAX,l:d=>({$:[{$:d[1],type:"text"}],R:d[1],type:"link"})},linkBareUrlDetector:{t:(d,m)=>m.Z?null:dt(Rh)(d,m),i:z.MAX,l:d=>({$:[{$:d[1],type:"text"}],R:d[1],N:void 0,type:"link"})},linkMailtoDetector:{t:dt(Th),i:z.MAX,l(d){let m=d[1],f=d[1];return mh.test(f)||(f="mailto:"+f),{$:[{$:m.replace("mailto:",""),type:"text"}],R:f,type:"link"}}},orderedList:Yl(n,1),unorderedList:Yl(n,2),newlineCoalescer:{t:at(Eh),i:z.LOW,l:Gn,h:()=>` +`},paragraph:{t:uy,i:z.LOW,l:Wn,h:(d,m,f)=>n("p",{key:f.k},m(d.$,f))},ref:{t:dt(Lh),i:z.MAX,l:d=>(u[d[1]]={R:d[2],N:d[4]},{}),h:Yn},refImage:{t:pt(Mh),i:z.MAX,l:d=>({D:d[1]||void 0,F:d[2]}),h:(d,m,f)=>n("img",{key:f.k,alt:d.D,src:Mt(u[d.F].R),title:u[d.F].N})},refLink:{t:dt(Bh),i:z.MAX,l:(d,m,f)=>({$:m(d[1],f),P:m(d[0].replace($h,"\\$1"),f),F:d[2]}),h:(d,m,f)=>u[d.F]?n("a",{key:f.k,href:Mt(u[d.F].R),title:u[d.F].N},m(d.$,f)):n("span",{key:f.k},m(d.P,f))},table:{t:at(Iu),i:z.HIGH,l:sy,h:(d,m,f)=>n("table",{key:f.k},n("thead",null,n("tr",null,d.L.map(function(v,y){return n("th",{key:y,style:Jl(d,y)},m(v,f))}))),n("tbody",null,d.A.map(function(v,y){return n("tr",{key:y},v.map(function(C,b){return n("td",{key:b,style:Jl(d,b)},m(C,f))}))})))},tableSeparator:{t:function(d,m){return m.v?jh.exec(d):null},i:z.HIGH,l:function(){return{type:"tableSeparator"}},h:()=>" | "},text:{t:or(Kh),i:z.MIN,l:d=>({$:d[0].replace(kh,(m,f)=>t.namedCodesToUnicode[f]?t.namedCodesToUnicode[f]:m)}),h:d=>d.$},textBolded:{t:pt(qh),i:z.MED,l:(d,m,f)=>({$:m(d[2],f)}),h:(d,m,f)=>n("strong",{key:f.k},m(d.$,f))},textEmphasized:{t:pt(Uh),i:z.LOW,l:(d,m,f)=>({$:m(d[2],f)}),h:(d,m,f)=>n("em",{key:f.k},m(d.$,f))},textEscaped:{t:pt(Yh),i:z.HIGH,l:d=>({$:d[1],type:"text"})},textMarked:{t:pt(Wh),i:z.LOW,l:Wn,h:(d,m,f)=>n("mark",{key:f.k},m(d.$,f))},textStrikethroughed:{t:pt(Gh),i:z.LOW,l:Wn,h:(d,m,f)=>n("del",{key:f.k},m(d.$,f))}};t.disableParsingRawHTML!==!0&&(s.htmlBlock={t:or(Aa),i:z.HIGH,l(d,m,f){const[,v]=d[3].match(Xh),y=new RegExp(`^${v}`,"gm"),C=d[3].replace(y,""),b=(E=C,oy.some(S=>S.test(E))?dy:Wr);var E;const A=d[1].toLowerCase(),w=ph.indexOf(A)!==-1;f.Z=f.Z||A==="a";const k=w?d[3]:b(m,C,f);return f.Z=!1,{I:l(d[2]),$:k,G:w,H:w?A:d[1]}},h:(d,m,f)=>n(d.H,Ct({key:f.k},d.I),d.G?d.$:m(d.$,f))},s.htmlSelfClosing={t:or(wa),i:z.HIGH,l:d=>({I:l(d[2]||""),H:d[1]}),h:(d,m,f)=>n(d.H,Ct({},d.I,{key:f.k}))});const c=function(d){let m=Object.keys(d);function f(v,y){let C=[],b="";for(;v;){let E=0;for(;E{let{children:t,options:r}=e,n=function(o,l){if(o==null)return{};var i,u,s={},c=Object.keys(o);for(u=0;u=0||(s[i]=o[i]);return s}(e,dh);return x.cloneElement(fy(t,r),n)};function my(e,t,r,n){for(var o=e.length,l=r+(n?1:-1);n?l--:++l-1}var _y=ky;function Oy(e,t,r){for(var n=-1,o=e==null?0:e.length;++n=Vy){var c=t?null:Ny(e);if(c)return Py(c);i=!1,o=Hy,s=new Iy}else s=t?[]:u;e:for(;++nfunction(){return t||(0,e[ec(e)[0]])((t={exports:{}}).exports,t),t.exports},j4=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ec(t))!Z4.call(e,o)&&o!==r&&Qu(e,o,{get:()=>t[o],enumerable:!(n=$4(t,o))||n.enumerable});return e},_o=(e,t,r)=>(r=e!=null?B4(I4(e)):{},j4(t||!e||!e.__esModule?Qu(r,"default",{value:e,enumerable:!0}):r,e)),H4=["bubbles","cancelBubble","cancelable","composed","currentTarget","defaultPrevented","eventPhase","isTrusted","returnValue","srcElement","target","timeStamp","type"],N4=["detail"];function P4(e){const t=H4.filter(r=>e[r]!==void 0).reduce((r,n)=>({...r,[n]:e[n]}),{});return e instanceof CustomEvent&&N4.filter(r=>e[r]!==void 0).forEach(r=>{t[r]=e[r]}),t}var tc=Me({"node_modules/has-symbols/shams.js"(e,t){t.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var n={},o=Symbol("test"),l=Object(o);if(typeof o=="string"||Object.prototype.toString.call(o)!=="[object Symbol]"||Object.prototype.toString.call(l)!=="[object Symbol]")return!1;var i=42;n[o]=i;for(o in n)return!1;if(typeof Object.keys=="function"&&Object.keys(n).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(n).length!==0)return!1;var u=Object.getOwnPropertySymbols(n);if(u.length!==1||u[0]!==o||!Object.prototype.propertyIsEnumerable.call(n,o))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(n,o);if(s.value!==i||s.enumerable!==!0)return!1}return!0}}}),rc=Me({"node_modules/has-symbols/index.js"(e,t){var r=typeof Symbol<"u"&&Symbol,n=tc();t.exports=function(){return typeof r!="function"||typeof Symbol!="function"||typeof r("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:n()}}}),V4=Me({"node_modules/function-bind/implementation.js"(e,t){var r="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,o=Object.prototype.toString,l="[object Function]";t.exports=function(u){var s=this;if(typeof s!="function"||o.call(s)!==l)throw new TypeError(r+s);for(var c=n.call(arguments,1),p,h=function(){if(this instanceof p){var v=s.apply(this,c.concat(n.call(arguments)));return Object(v)===v?v:this}else return s.apply(u,c.concat(n.call(arguments)))},g=Math.max(0,s.length-c.length),d=[],m=0;m"u"?r:h(Uint8Array),m={"%AggregateError%":typeof AggregateError>"u"?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?r:ArrayBuffer,"%ArrayIteratorPrototype%":p?h([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":g,"%AsyncGenerator%":g,"%AsyncGeneratorFunction%":g,"%AsyncIteratorPrototype%":g,"%Atomics%":typeof Atomics>"u"?r:Atomics,"%BigInt%":typeof BigInt>"u"?r:BigInt,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?r:Float32Array,"%Float64Array%":typeof Float64Array>"u"?r:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?r:FinalizationRegistry,"%Function%":o,"%GeneratorFunction%":g,"%Int8Array%":typeof Int8Array>"u"?r:Int8Array,"%Int16Array%":typeof Int16Array>"u"?r:Int16Array,"%Int32Array%":typeof Int32Array>"u"?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":p?h(h([][Symbol.iterator]())):r,"%JSON%":typeof JSON=="object"?JSON:r,"%Map%":typeof Map>"u"?r:Map,"%MapIteratorPrototype%":typeof Map>"u"||!p?r:h(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?r:Promise,"%Proxy%":typeof Proxy>"u"?r:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?r:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?r:Set,"%SetIteratorPrototype%":typeof Set>"u"||!p?r:h(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":p?h(""[Symbol.iterator]()):r,"%Symbol%":p?Symbol:r,"%SyntaxError%":n,"%ThrowTypeError%":c,"%TypedArray%":d,"%TypeError%":l,"%Uint8Array%":typeof Uint8Array>"u"?r:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?r:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?r:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?r:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?r:WeakMap,"%WeakRef%":typeof WeakRef>"u"?r:WeakRef,"%WeakSet%":typeof WeakSet>"u"?r:WeakSet},f=function L(F){var Z;if(F==="%AsyncFunction%")Z=i("async function () {}");else if(F==="%GeneratorFunction%")Z=i("function* () {}");else if(F==="%AsyncGeneratorFunction%")Z=i("async function* () {}");else if(F==="%AsyncGenerator%"){var D=L("%AsyncGeneratorFunction%");D&&(Z=D.prototype)}else if(F==="%AsyncIteratorPrototype%"){var M=L("%AsyncGenerator%");M&&(Z=h(M.prototype))}return m[F]=Z,Z},v={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},y=Oo(),C=z4(),b=y.call(Function.call,Array.prototype.concat),E=y.call(Function.apply,Array.prototype.splice),A=y.call(Function.call,String.prototype.replace),w=y.call(Function.call,String.prototype.slice),k=y.call(Function.call,RegExp.prototype.exec),S=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,O=/\\(\\)?/g,R=function(F){var Z=w(F,0,1),D=w(F,-1);if(Z==="%"&&D!=="%")throw new n("invalid intrinsic syntax, expected closing `%`");if(D==="%"&&Z!=="%")throw new n("invalid intrinsic syntax, expected opening `%`");var M=[];return A(F,S,function(j,P,$,H){M[M.length]=$?A(H,O,"$1"):P||j}),M},T=function(F,Z){var D=F,M;if(C(v,D)&&(M=v[D],D="%"+M[0]+"%"),C(m,D)){var j=m[D];if(j===g&&(j=f(D)),typeof j>"u"&&!Z)throw new l("intrinsic "+F+" exists, but is not available. Please file an issue!");return{alias:M,name:D,value:j}}throw new n("intrinsic "+F+" does not exist!")};t.exports=function(F,Z){if(typeof F!="string"||F.length===0)throw new l("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof Z!="boolean")throw new l('"allowMissing" argument must be a boolean');if(k(/^%?[^%]*%?$/,F)===null)throw new n("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var D=R(F),M=D.length>0?D[0]:"",j=T("%"+M+"%",Z),P=j.name,$=j.value,H=!1,Y=j.alias;Y&&(M=Y[0],E(D,b([0,1],Y)));for(var re=1,G=!0;re=D.length){var q=u($,J);G=!!q,G&&"get"in q&&!("originalValue"in q.get)?$=q.get:$=$[J]}else G=C($,J),$=$[J];G&&!H&&(m[P]=$)}}return $}}}),q4=Me({"node_modules/call-bind/index.js"(e,t){var r=Oo(),n=nc(),o=n("%Function.prototype.apply%"),l=n("%Function.prototype.call%"),i=n("%Reflect.apply%",!0)||r.call(l,o),u=n("%Object.getOwnPropertyDescriptor%",!0),s=n("%Object.defineProperty%",!0),c=n("%Math.max%");if(s)try{s({},"a",{value:1})}catch{s=null}t.exports=function(g){var d=i(r,l,arguments);if(u&&s){var m=u(d,"length");m.configurable&&s(d,"length",{value:1+c(0,g.length-(arguments.length-1))})}return d};var p=function(){return i(r,o,arguments)};s?s(t.exports,"apply",{value:p}):t.exports.apply=p}}),U4=Me({"node_modules/call-bind/callBound.js"(e,t){var r=nc(),n=q4(),o=n(r("String.prototype.indexOf"));t.exports=function(i,u){var s=r(i,!!u);return typeof s=="function"&&o(i,".prototype.")>-1?n(s):s}}}),W4=Me({"node_modules/has-tostringtag/shams.js"(e,t){var r=tc();t.exports=function(){return r()&&!!Symbol.toStringTag}}}),G4=Me({"node_modules/is-regex/index.js"(e,t){var r=U4(),n=W4()(),o,l,i,u;n&&(o=r("Object.prototype.hasOwnProperty"),l=r("RegExp.prototype.exec"),i={},s=function(){throw i},u={toString:s,valueOf:s},typeof Symbol.toPrimitive=="symbol"&&(u[Symbol.toPrimitive]=s));var s,c=r("Object.prototype.toString"),p=Object.getOwnPropertyDescriptor,h="[object RegExp]";t.exports=n?function(d){if(!d||typeof d!="object")return!1;var m=p(d,"lastIndex"),f=m&&o(m,"value");if(!f)return!1;try{l(d,u)}catch(v){return v===i}}:function(d){return!d||typeof d!="object"&&typeof d!="function"?!1:c(d)===h}}}),Y4=Me({"node_modules/is-function/index.js"(e,t){t.exports=n;var r=Object.prototype.toString;function n(o){if(!o)return!1;var l=r.call(o);return l==="[object Function]"||typeof o=="function"&&l!=="[object RegExp]"||typeof window<"u"&&(o===window.setTimeout||o===window.alert||o===window.confirm||o===window.prompt)}}}),K4=Me({"node_modules/is-symbol/index.js"(e,t){var r=Object.prototype.toString,n=rc()();n?(o=Symbol.prototype.toString,l=/^Symbol\(.*\)$/,i=function(s){return typeof s.valueOf()!="symbol"?!1:l.test(o.call(s))},t.exports=function(s){if(typeof s=="symbol")return!0;if(r.call(s)!=="[object Symbol]")return!1;try{return i(s)}catch{return!1}}):t.exports=function(s){return!1};var o,l,i}}),J4=_o(G4()),X4=_o(Y4()),Q4=_o(K4());function e7(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1}var t7=typeof global=="object"&&global&&global.Object===Object&&global,r7=t7,n7=typeof self=="object"&&self&&self.Object===Object&&self,a7=r7||n7||Function("return this")(),Ro=a7,o7=Ro.Symbol,qt=o7,ac=Object.prototype,l7=ac.hasOwnProperty,i7=ac.toString,lr=qt?qt.toStringTag:void 0;function s7(e){var t=l7.call(e,lr),r=e[lr];try{e[lr]=void 0;var n=!0}catch{}var o=i7.call(e);return n&&(t?e[lr]=r:delete e[lr]),o}var u7=s7,c7=Object.prototype,d7=c7.toString;function p7(e){return d7.call(e)}var f7=p7,m7="[object Null]",g7="[object Undefined]",si=qt?qt.toStringTag:void 0;function h7(e){return e==null?e===void 0?g7:m7:si&&si in Object(e)?u7(e):f7(e)}var y7=h7,ui=qt?qt.prototype:void 0;ui&&ui.toString;function b7(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var oc=b7,v7="[object AsyncFunction]",E7="[object Function]",x7="[object GeneratorFunction]",A7="[object Proxy]";function w7(e){if(!oc(e))return!1;var t=y7(e);return t==E7||t==x7||t==v7||t==A7}var C7=w7,S7=Ro["__core-js_shared__"],Xn=S7,ci=function(){var e=/[^.]+$/.exec(Xn&&Xn.keys&&Xn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function k7(e){return!!ci&&ci in e}var _7=k7,O7=Function.prototype,R7=O7.toString;function T7(e){if(e!=null){try{return R7.call(e)}catch{}try{return e+""}catch{}}return""}var F7=T7,D7=/[\\^$.*+?()[\]{}|]/g,L7=/^\[object .+?Constructor\]$/,M7=Function.prototype,B7=Object.prototype,$7=M7.toString,I7=B7.hasOwnProperty,Z7=RegExp("^"+$7.call(I7).replace(D7,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function j7(e){if(!oc(e)||_7(e))return!1;var t=C7(e)?Z7:L7;return t.test(F7(e))}var H7=j7;function N7(e,t){return e==null?void 0:e[t]}var P7=N7;function V7(e,t){var r=P7(e,t);return H7(r)?r:void 0}var lc=V7;function z7(e,t){return e===t||e!==e&&t!==t}var q7=z7,U7=lc(Object,"create"),Ar=U7;function W7(){this.__data__=Ar?Ar(null):{},this.size=0}var G7=W7;function Y7(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var K7=Y7,J7="__lodash_hash_undefined__",X7=Object.prototype,Q7=X7.hasOwnProperty;function ev(e){var t=this.__data__;if(Ar){var r=t[e];return r===J7?void 0:r}return Q7.call(t,e)?t[e]:void 0}var tv=ev,rv=Object.prototype,nv=rv.hasOwnProperty;function av(e){var t=this.__data__;return Ar?t[e]!==void 0:nv.call(t,e)}var ov=av,lv="__lodash_hash_undefined__";function iv(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ar&&t===void 0?lv:t,this}var sv=iv;function Kt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t-1}var vv=bv;function Ev(e,t){var r=this.__data__,n=kn(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var xv=Ev;function Jt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{let t=null,r=!1,n=!1,o=!1,l="";if(e.indexOf("//")>=0||e.indexOf("/*")>=0)for(let i=0;iUv(e).replace(/\n\s*/g,"").trim()),Gv=function(t,r){const n=r.slice(0,r.indexOf("{")),o=r.slice(r.indexOf("{"));if(n.includes("=>")||n.includes("function"))return r;let l=n;return l=l.replace(t,"function"),l+o},Yv=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z$/;function sc(e){if(!qv(e))return e;let t=e,r=!1;return typeof Event<"u"&&e instanceof Event&&(t=P4(t),r=!0),t=Object.keys(t).reduce((n,o)=>{try{t[o]&&t[o].toJSON,n[o]=t[o]}catch{r=!0}return n},{}),r?t:e}var Kv=function(t){let r,n,o,l;return function(u,s){try{if(u==="")return l=[],r=new Map([[s,"[]"]]),n=new Map,o=[],s;const c=n.get(this)||this;for(;o.length&&c!==o[0];)o.shift(),l.pop();if(typeof s=="boolean")return s;if(s===void 0)return t.allowUndefined?"_undefined_":void 0;if(s===null)return null;if(typeof s=="number")return s===-1/0?"_-Infinity_":s===1/0?"_Infinity_":Number.isNaN(s)?"_NaN_":s;if(typeof s=="bigint")return`_bigint_${s.toString()}`;if(typeof s=="string")return Yv.test(s)?t.allowDate?`_date_${s}`:void 0:s;if((0,J4.default)(s))return t.allowRegExp?`_regexp_${s.flags}|${s.source}`:void 0;if((0,X4.default)(s)){if(!t.allowFunction)return;const{name:h}=s,g=s.toString();return g.match(/(\[native code\]|WEBPACK_IMPORTED_MODULE|__webpack_exports__|__webpack_require__)/)?`_function_${h}|${(()=>{}).toString()}`:`_function_${h}|${Wv(Gv(u,g))}`}if((0,Q4.default)(s)){if(!t.allowSymbol)return;const h=Symbol.keyFor(s);return h!==void 0?`_gsymbol_${h}`:`_symbol_${s.toString().slice(7,-1)}`}if(o.length>=t.maxDepth)return Array.isArray(s)?`[Array(${s.length})]`:"[Object]";if(s===this)return`_duplicate_${JSON.stringify(l)}`;if(s.constructor&&s.constructor.name&&s.constructor.name!=="Object"&&!Array.isArray(s)&&!t.allowClass)return;const p=r.get(s);if(!p){const h=Array.isArray(s)?s:sc(s);if(s.constructor&&s.constructor.name&&s.constructor.name!=="Object"&&!Array.isArray(s)&&t.allowClass)try{Object.assign(h,{"_constructor-name_":s.constructor.name})}catch{}return l.push(u),o.unshift(h),r.set(s,JSON.stringify(l)),s!==h&&n.set(s,h),h}return`_duplicate_${p}`}catch{return}}},Jv={maxDepth:10,space:void 0,allowFunction:!0,allowRegExp:!0,allowDate:!0,allowClass:!0,allowUndefined:!0,allowSymbol:!0,lazyEval:!0},Xv=(e,t={})=>{const r={...Jv,...t};return JSON.stringify(sc(e),Kv(r),t.space)};/*! + * isobject + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + *//** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */const{deprecate:ue,once:Qv,logger:Fo}=__STORYBOOK_MODULE_CLIENT_LOGGER__,{filterArgTypes:Do,composeConfigs:mx,Preview:gx,DocsContext:hx}=__STORYBOOK_MODULE_PREVIEW_API__,{STORY_ARGS_UPDATED:rn,UPDATE_STORY_ARGS:uc,RESET_STORY_ARGS:cc,GLOBALS_UPDATED:nn,NAVIGATE_URL:e6}=__STORYBOOK_MODULE_CORE_EVENTS__;__STORYBOOK_MODULE_CHANNELS__;var t6=_.div(te,({theme:e})=>({backgroundColor:e.base==="light"?"rgba(0,0,0,.01)":"rgba(255,255,255,.01)",borderRadius:e.appBorderRadius,border:`1px dashed ${e.appBorderColor}`,display:"flex",alignItems:"center",justifyContent:"center",padding:20,margin:"25px 0 40px",color:ee(.3,e.color.defaultText),fontSize:e.typography.size.s2})),Ca=e=>a.createElement(t6,{...e,className:"docblock-emptyblock sb-unstyled"}),r6=_(fo)(({theme:e})=>({fontSize:`${e.typography.size.s2-1}px`,lineHeight:"19px",margin:"25px 0 40px",borderRadius:e.appBorderRadius,boxShadow:e.base==="light"?"rgba(0, 0, 0, 0.10) 0 1px 3px 0":"rgba(0, 0, 0, 0.20) 0 2px 5px 0","pre.prismjs":{padding:20,background:"inherit"}})),n6=_.div(({theme:e})=>({background:e.background.content,borderRadius:e.appBorderRadius,border:`1px solid ${e.appBorderColor}`,boxShadow:e.base==="light"?"rgba(0, 0, 0, 0.10) 0 1px 3px 0":"rgba(0, 0, 0, 0.20) 0 2px 5px 0",margin:"25px 0 40px",padding:"20px 20px 20px 22px"})),Ir=_.div(({theme:e})=>({animation:`${e.animation.glow} 1.5s ease-in-out infinite`,background:e.appBorderColor,height:17,marginTop:1,width:"60%",[`&:first-child${ua}`]:{margin:0}})),a6=()=>a.createElement(n6,null,a.createElement(Ir,null),a.createElement(Ir,{style:{width:"80%"}}),a.createElement(Ir,{style:{width:"30%"}}),a.createElement(Ir,{style:{width:"80%"}})),Lo=({isLoading:e,error:t,language:r,code:n,dark:o,format:l,...i})=>{if(e)return a.createElement(a6,null);if(t)return a.createElement(Ca,null,t);let u=a.createElement(r6,{bordered:!0,copyable:!0,format:l,language:r,className:"docblock-source sb-unstyled",...i},n);if(typeof o>"u")return u;let s=o?na.dark:na.light;return a.createElement(Qi,{theme:sa(s)},u)};Lo.defaultProps={format:!1};var oe=e=>`& :where(${e}:not(.sb-anchor, .sb-unstyled, .sb-unstyled ${e}))`,Mo=600,o6=_.h1(te,({theme:e})=>({color:e.color.defaultText,fontSize:e.typography.size.m3,fontWeight:e.typography.weight.bold,lineHeight:"32px",[`@media (min-width: ${Mo}px)`]:{fontSize:e.typography.size.l1,lineHeight:"36px",marginBottom:"16px"}})),l6=_.h2(te,({theme:e})=>({fontWeight:e.typography.weight.regular,fontSize:e.typography.size.s3,lineHeight:"20px",borderBottom:"none",marginBottom:15,[`@media (min-width: ${Mo}px)`]:{fontSize:e.typography.size.m1,lineHeight:"28px",marginBottom:24},color:ee(.25,e.color.defaultText)})),i6=_.div(({theme:e})=>{let t={fontFamily:e.typography.fonts.base,fontSize:e.typography.size.s3,margin:0,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",WebkitOverflowScrolling:"touch"},r={margin:"20px 0 8px",padding:0,cursor:"text",position:"relative",color:e.color.defaultText,"&:first-of-type":{marginTop:0,paddingTop:0},"&:hover a.anchor":{textDecoration:"none"},"& code":{fontSize:"inherit"}},n={lineHeight:1,margin:"0 2px",padding:"3px 5px",whiteSpace:"nowrap",borderRadius:3,fontSize:e.typography.size.s2-1,border:e.base==="light"?`1px solid ${e.color.mediumlight}`:`1px solid ${e.color.darker}`,color:e.base==="light"?ee(.1,e.color.defaultText):ee(.3,e.color.defaultText),backgroundColor:e.base==="light"?e.color.lighter:e.color.border};return{maxWidth:1e3,width:"100%",[oe("a")]:{...t,fontSize:"inherit",lineHeight:"24px",color:e.color.secondary,textDecoration:"none","&.absent":{color:"#cc0000"},"&.anchor":{display:"block",paddingLeft:30,marginLeft:-30,cursor:"pointer",position:"absolute",top:0,left:0,bottom:0}},[oe("blockquote")]:{...t,margin:"16px 0",borderLeft:`4px solid ${e.color.medium}`,padding:"0 15px",color:e.color.dark,"& > :first-of-type":{marginTop:0},"& > :last-child":{marginBottom:0}},[oe("div")]:t,[oe("dl")]:{...t,margin:"16px 0",padding:0,"& dt":{fontSize:"14px",fontWeight:"bold",fontStyle:"italic",padding:0,margin:"16px 0 4px"},"& dt:first-of-type":{padding:0},"& dt > :first-of-type":{marginTop:0},"& dt > :last-child":{marginBottom:0},"& dd":{margin:"0 0 16px",padding:"0 15px"},"& dd > :first-of-type":{marginTop:0},"& dd > :last-child":{marginBottom:0}},[oe("h1")]:{...t,...r,fontSize:`${e.typography.size.l1}px`,fontWeight:e.typography.weight.bold},[oe("h2")]:{...t,...r,fontSize:`${e.typography.size.m2}px`,paddingBottom:4,borderBottom:`1px solid ${e.appBorderColor}`},[oe("h3")]:{...t,...r,fontSize:`${e.typography.size.m1}px`,fontWeight:e.typography.weight.bold},[oe("h4")]:{...t,...r,fontSize:`${e.typography.size.s3}px`},[oe("h5")]:{...t,...r,fontSize:`${e.typography.size.s2}px`},[oe("h6")]:{...t,...r,fontSize:`${e.typography.size.s2}px`,color:e.color.dark},[oe("hr")]:{border:"0 none",borderTop:`1px solid ${e.appBorderColor}`,height:4,padding:0},[oe("img")]:{maxWidth:"100%"},[oe("li")]:{...t,fontSize:e.typography.size.s2,color:e.color.defaultText,lineHeight:"24px","& + li":{marginTop:".25em"},"& ul, & ol":{marginTop:".25em",marginBottom:0},"& code":n},[oe("ol")]:{...t,margin:"16px 0",paddingLeft:30,"& :first-of-type":{marginTop:0},"& :last-child":{marginBottom:0}},[oe("p")]:{...t,margin:"16px 0",fontSize:e.typography.size.s2,lineHeight:"24px",color:e.color.defaultText,"& code":n},[oe("pre")]:{...t,fontFamily:e.typography.fonts.mono,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",lineHeight:"18px",padding:"11px 1rem",whiteSpace:"pre-wrap",color:"inherit",borderRadius:3,margin:"1rem 0","&:not(.prismjs)":{background:"transparent",border:"none",borderRadius:0,padding:0,margin:0},"& pre, &.prismjs":{padding:15,margin:0,whiteSpace:"pre-wrap",color:"inherit",fontSize:"13px",lineHeight:"19px",code:{color:"inherit",fontSize:"inherit"}},"& code":{whiteSpace:"pre"},"& code, & tt":{border:"none"}},[oe("span")]:{...t,"&.frame":{display:"block",overflow:"hidden","& > span":{border:`1px solid ${e.color.medium}`,display:"block",float:"left",overflow:"hidden",margin:"13px 0 0",padding:7,width:"auto"},"& span img":{display:"block",float:"left"},"& span span":{clear:"both",color:e.color.darkest,display:"block",padding:"5px 0 0"}},"&.align-center":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"center"},"& span img":{margin:"0 auto",textAlign:"center"}},"&.align-right":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px 0 0",textAlign:"right"},"& span img":{margin:0,textAlign:"right"}},"&.float-left":{display:"block",marginRight:13,overflow:"hidden",float:"left","& span":{margin:"13px 0 0"}},"&.float-right":{display:"block",marginLeft:13,overflow:"hidden",float:"right","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"right"}}},[oe("table")]:{...t,margin:"16px 0",fontSize:e.typography.size.s2,lineHeight:"24px",padding:0,borderCollapse:"collapse","& tr":{borderTop:`1px solid ${e.appBorderColor}`,backgroundColor:e.appContentBg,margin:0,padding:0},"& tr:nth-of-type(2n)":{backgroundColor:e.base==="dark"?e.color.darker:e.color.lighter},"& tr th":{fontWeight:"bold",color:e.color.defaultText,border:`1px solid ${e.appBorderColor}`,margin:0,padding:"6px 13px"},"& tr td":{border:`1px solid ${e.appBorderColor}`,color:e.color.defaultText,margin:0,padding:"6px 13px"},"& tr th :first-of-type, & tr td :first-of-type":{marginTop:0},"& tr th :last-child, & tr td :last-child":{marginBottom:0}},[oe("ul")]:{...t,margin:"16px 0",paddingLeft:30,"& :first-of-type":{marginTop:0},"& :last-child":{marginBottom:0},listStyle:"disc"}}}),s6=_.div(({theme:e})=>({background:e.background.content,display:"flex",justifyContent:"center",padding:"4rem 20px",minHeight:"100vh",boxSizing:"border-box",[`@media (min-width: ${Mo}px)`]:{}})),u6=({children:e})=>a.createElement(s6,{className:"sbdocs sbdocs-wrapper"},a.createElement(i6,{className:"sbdocs sbdocs-content"},e)),On=e=>({borderRadius:e.appBorderRadius,background:e.background.content,boxShadow:e.base==="light"?"rgba(0, 0, 0, 0.10) 0 1px 3px 0":"rgba(0, 0, 0, 0.20) 0 2px 5px 0",border:`1px solid ${e.appBorderColor}`}),c6=({zoom:e,resetZoom:t})=>a.createElement(a.Fragment,null,a.createElement(kt,{key:"zoomin",onClick:r=>{r.preventDefault(),e(.8)},title:"Zoom in"},a.createElement(we,{icon:"zoom"})),a.createElement(kt,{key:"zoomout",onClick:r=>{r.preventDefault(),e(1.25)},title:"Zoom out"},a.createElement(we,{icon:"zoomout"})),a.createElement(kt,{key:"zoomreset",onClick:r=>{r.preventDefault(),t()},title:"Reset zoom"},a.createElement(we,{icon:"zoomreset"}))),d6=_(En)({position:"absolute",left:0,right:0,top:0,transition:"transform .2s linear"}),p6=({isLoading:e,storyId:t,baseUrl:r,zoom:n,resetZoom:o,...l})=>a.createElement(d6,{...l},a.createElement(x.Fragment,{key:"left"},e?[1,2,3].map(i=>a.createElement(Eu,{key:i})):a.createElement(c6,{zoom:n,resetZoom:o}))),dc=x.createContext({scale:1}),{window:f6}=ye,m6=class extends x.Component{constructor(){super(...arguments),this.iframe=null}componentDidMount(){let{id:e}=this.props;this.iframe=f6.document.getElementById(e)}shouldComponentUpdate(e){let{scale:t}=e;return t!==this.props.scale&&this.setIframeBodyStyle({width:`${t*100}%`,height:`${t*100}%`,transform:`scale(${1/t})`,transformOrigin:"top left"}),!1}setIframeBodyStyle(e){return Object.assign(this.iframe.contentDocument.body.style,e)}render(){let{id:e,title:t,src:r,allowFullScreen:n,scale:o,...l}=this.props;return a.createElement("iframe",{id:e,title:t,src:r,...n?{allow:"fullscreen"}:{},loading:"lazy",...l})}},{PREVIEW_URL:g6}=ye,h6=g6||"iframe.html",Sa=({story:e,primary:t})=>`story--${e.id}${t?"--primary":""}`,y6=e=>{let t=x.useRef(),[r,n]=x.useState(!0),[o,l]=x.useState(),{story:i,height:u,autoplay:s,forceInitialArgs:c,renderStoryToElement:p}=e;x.useEffect(()=>{if(!(i&&t.current))return()=>{};let g=t.current,d=p(i,g,{showMain:()=>{},showError:({title:m,description:f})=>l(new Error(`${m} - ${f}`)),showException:m=>l(m)},{autoplay:s,forceInitialArgs:c});return n(!1),()=>{Promise.resolve().then(()=>d())}},[s,p,i]);let h="";return o?a.createElement("pre",null,a.createElement(du,{error:o})):a.createElement(a.Fragment,null,u?a.createElement("style",null,`#${Sa(e)} { min-height: ${u}; transform: translateZ(0); overflow: auto }`):null,r&&a.createElement(Bo,null),a.createElement("div",{ref:t,id:`${Sa(e)}-inner`,"data-name":i.name,dangerouslySetInnerHTML:{__html:h}}))},b6=({story:e,height:t="500px"})=>a.createElement("div",{style:{width:"100%",height:t}},a.createElement(dc.Consumer,null,({scale:r})=>a.createElement(m6,{key:"iframe",id:`iframe--${e.id}`,title:e.name,src:wu(h6,e.id,{viewMode:"story"}),allowFullScreen:!0,scale:r,style:{width:"100%",height:"100%",border:"0 none"}}))),v6=e=>{let{inline:t}=e;return a.createElement("div",{id:Sa(e),className:"sb-story sb-unstyled","data-story-block":"true"},t?a.createElement(y6,{...e}):a.createElement(b6,{...e}))},Bo=()=>a.createElement(Au,null),E6=_.div(({isColumn:e,columns:t,layout:r})=>({display:e||!t?"block":"flex",position:"relative",flexWrap:"wrap",overflow:"auto",flexDirection:e?"column":"row","& .innerZoomElementWrapper > *":e?{width:r!=="fullscreen"?"calc(100% - 20px)":"100%",display:"block"}:{maxWidth:r!=="fullscreen"?"calc(100% - 20px)":"100%",display:"inline-block"}}),({layout:e="padded"})=>e==="centered"||e==="padded"?{padding:"30px 20px",margin:-10,"& .innerZoomElementWrapper > *":{width:"auto",border:"10px solid transparent!important"}}:{},({layout:e="padded"})=>e==="centered"?{display:"flex",justifyContent:"center",justifyItems:"center",alignContent:"center",alignItems:"center"}:{},({columns:e})=>e&&e>1?{".innerZoomElementWrapper > *":{minWidth:`calc(100% / ${e} - 20px)`}}:{}),pi=_(Lo)(({theme:e})=>({margin:0,borderTopLeftRadius:0,borderTopRightRadius:0,borderBottomLeftRadius:e.appBorderRadius,borderBottomRightRadius:e.appBorderRadius,border:"none",background:e.base==="light"?"rgba(0, 0, 0, 0.85)":We(.05,e.background.content),color:e.color.lightest,button:{background:e.base==="light"?"rgba(0, 0, 0, 0.85)":We(.05,e.background.content)}})),x6=_.div(({theme:e,withSource:t,isExpanded:r})=>({position:"relative",overflow:"hidden",margin:"25px 0 40px",...On(e),borderBottomLeftRadius:t&&r&&0,borderBottomRightRadius:t&&r&&0,borderBottomWidth:r&&0,"h3 + &":{marginTop:"16px"}}),({withToolbar:e})=>e&&{paddingTop:40}),A6=(e,t,r)=>{switch(!0){case!!(e&&e.error):return{source:null,actionItem:{title:"No code available",className:"docblock-code-toggle docblock-code-toggle--disabled",disabled:!0,onClick:()=>r(!1)}};case t:return{source:a.createElement(pi,{...e,dark:!0}),actionItem:{title:"Hide code",className:"docblock-code-toggle docblock-code-toggle--expanded",onClick:()=>r(!1)}};default:return{source:a.createElement(pi,{...e,dark:!0}),actionItem:{title:"Show code",className:"docblock-code-toggle",onClick:()=>r(!0)}}}};function w6(e){if(x.Children.count(e)===1){let t=e;if(t.props)return t.props.id}return null}var C6=_(p6)({position:"absolute",top:0,left:0,right:0,height:40}),S6=_.div({overflow:"hidden",position:"relative"}),ka=({isLoading:e,isColumn:t,columns:r,children:n,withSource:o,withToolbar:l=!1,isExpanded:i=!1,additionalActions:u,className:s,layout:c="padded",...p})=>{let[h,g]=x.useState(i),{source:d,actionItem:m}=A6(o,h,g),[f,v]=x.useState(1),y=[s].concat(["sbdocs","sbdocs-preview","sb-unstyled"]),C=o?[m]:[],[b,E]=x.useState(u?[...u]:[]),A=[...C,...b],{window:w}=ye,k=x.useCallback(async O=>{let{createCopyToClipboardFunction:R}=await it(()=>Promise.resolve().then(()=>Pm),void 0,import.meta.url);R()},[]),S=O=>{let R=w.getSelection();R&&R.type==="Range"||(O.preventDefault(),b.filter(T=>T.title==="Copied").length===0&&k(d.props.code).then(()=>{E([...b,{title:"Copied",onClick:()=>{}}]),w.setTimeout(()=>E(b.filter(T=>T.title!=="Copied")),1500)}))};return a.createElement(x6,{withSource:o,withToolbar:l,...p,className:y.join(" ")},l&&a.createElement(C6,{isLoading:e,border:!0,zoom:O=>v(f*O),resetZoom:()=>v(1),storyId:w6(n),baseUrl:"./iframe.html"}),a.createElement(dc.Provider,{value:{scale:f}},a.createElement(S6,{className:"docs-story",onCopyCapture:o&&S},a.createElement(E6,{isColumn:t||!Array.isArray(n),columns:r,layout:c},a.createElement(cu.Element,{scale:f},Array.isArray(n)?n.map((O,R)=>a.createElement("div",{key:R},O)):a.createElement("div",null,n))),a.createElement(Ja,{actionItems:A}))),o&&h&&d)},k6=_(ka)(()=>({".docs-story":{paddingTop:32,paddingBottom:40}})),_6=()=>a.createElement(k6,{isLoading:!0,withToolbar:!0},a.createElement(Bo,null)),O6=_.table(({theme:e})=>({"&&":{borderCollapse:"collapse",borderSpacing:0,border:"none",tr:{border:"none !important",background:"none"},"td, th":{padding:0,border:"none",width:"auto!important"},marginTop:0,marginBottom:0,"th:first-of-type, td:first-of-type":{paddingLeft:0},"th:last-of-type, td:last-of-type":{paddingRight:0},td:{paddingTop:0,paddingBottom:4,"&:not(:first-of-type)":{paddingLeft:10,paddingRight:0}},tbody:{boxShadow:"none",border:"none"},code:ut({theme:e}),div:{span:{fontWeight:"bold"}},"& code":{margin:0,display:"inline-block",fontSize:e.typography.size.s1}}})),R6=({tags:e})=>{let t=(e.params||[]).filter(l=>l.description),r=t.length!==0,n=e.deprecated!=null,o=e.returns!=null&&e.returns.description!=null;return!r&&!o&&!n?null:a.createElement(a.Fragment,null,a.createElement(O6,null,a.createElement("tbody",null,n&&a.createElement("tr",{key:"deprecated"},a.createElement("td",{colSpan:2},a.createElement("strong",null,"Deprecated"),": ",e.deprecated)),r&&t.map(l=>a.createElement("tr",{key:l.name},a.createElement("td",null,a.createElement("code",null,l.name)),a.createElement("td",null,l.description))),o&&a.createElement("tr",{key:"returns"},a.createElement("td",null,a.createElement("code",null,"Returns")),a.createElement("td",null,e.returns.description)))))},_a=8,fi=_.div(({isExpanded:e})=>({display:"flex",flexDirection:e?"column":"row",flexWrap:"wrap",alignItems:"flex-start",marginBottom:"-4px",minWidth:100})),T6=_.span(ut,({theme:e,simple:t=!1})=>({flex:"0 0 auto",fontFamily:e.typography.fonts.mono,fontSize:e.typography.size.s1,wordBreak:"break-word",whiteSpace:"normal",maxWidth:"100%",margin:0,marginRight:"4px",marginBottom:"4px",paddingTop:"2px",paddingBottom:"2px",lineHeight:"13px",...t&&{background:"transparent",border:"0 none",paddingLeft:0}})),F6=_.button(({theme:e})=>({fontFamily:e.typography.fonts.mono,color:e.color.secondary,marginBottom:"4px",background:"none",border:"none"})),D6=_.div(ut,({theme:e})=>({fontFamily:e.typography.fonts.mono,color:e.color.secondary,fontSize:e.typography.size.s1,margin:0,whiteSpace:"nowrap",display:"flex",alignItems:"center"})),L6=_.div(({theme:e,width:t})=>({width:t,minWidth:200,maxWidth:800,padding:15,fontFamily:e.typography.fonts.mono,fontSize:e.typography.size.s1,boxSizing:"content-box","& code":{padding:"0 !important"}})),M6=_(we)({height:10,width:10,minWidth:10,marginLeft:4}),B6=()=>a.createElement("span",null,"-"),pc=({text:e,simple:t})=>a.createElement(T6,{simple:t},e),$6=Ot(1e3)(e=>{let t=e.split(/\r?\n/);return`${Math.max(...t.map(r=>r.length))}ch`}),I6=e=>{if(!e)return[e];let t=e.split("|").map(r=>r.trim());return Yy(t)},mi=(e,t=!0)=>{let r=e;return t||(r=e.slice(0,_a)),r.map(n=>a.createElement(pc,{key:n,text:n===""?'""':n}))},Z6=({value:e,initialExpandedArgs:t})=>{let{summary:r,detail:n}=e,[o,l]=x.useState(!1),[i,u]=x.useState(t||!1);if(r==null)return null;let s=typeof r.toString=="function"?r.toString():r;if(n==null){if(/[(){}[\]<>]/.test(s))return a.createElement(pc,{text:s});let c=I6(s),p=c.length;return p>_a?a.createElement(fi,{isExpanded:i},mi(c,i),a.createElement(F6,{onClick:()=>u(!i)},i?"Show less...":`Show ${p-_a} more...`)):a.createElement(fi,null,mi(c))}return a.createElement(yu,{closeOnOutsideClick:!0,placement:"bottom",visible:o,onVisibleChange:c=>{l(c)},tooltip:a.createElement(L6,{width:$6(n)},a.createElement(fo,{language:"jsx",format:!1},n))},a.createElement(D6,{className:"sbdocs-expandable"},a.createElement("span",null,s),a.createElement(M6,{icon:o?"arrowup":"arrowdown"})))},Qn=({value:e,initialExpandedArgs:t})=>e==null?a.createElement(B6,null):a.createElement(Z6,{value:e,initialExpandedArgs:t}),j6=_.label(({theme:e})=>({lineHeight:"18px",alignItems:"center",marginBottom:8,display:"inline-block",position:"relative",whiteSpace:"nowrap",background:e.boolean.background,borderRadius:"3em",padding:1,input:{appearance:"none",width:"100%",height:"100%",position:"absolute",left:0,top:0,margin:0,padding:0,border:"none",background:"transparent",cursor:"pointer",borderRadius:"3em","&:focus":{outline:"none",boxShadow:`${e.color.secondary} 0 0 0 1px inset !important`}},span:{textAlign:"center",fontSize:e.typography.size.s1,fontWeight:e.typography.weight.bold,lineHeight:"1",cursor:"pointer",display:"inline-block",padding:"7px 15px",transition:"all 100ms ease-out",userSelect:"none",borderRadius:"3em",color:ee(.5,e.color.defaultText),background:"transparent","&:hover":{boxShadow:`${$r(.3,e.appBorderColor)} 0 0 0 1px inset`},"&:active":{boxShadow:`${$r(.05,e.appBorderColor)} 0 0 0 2px inset`,color:$r(1,e.appBorderColor)},"&:first-of-type":{paddingRight:8},"&:last-of-type":{paddingLeft:8}},"input:checked ~ span:last-of-type, input:not(:checked) ~ span:first-of-type":{background:e.boolean.selectedBackground,boxShadow:e.base==="light"?`${$r(.1,e.appBorderColor)} 0 0 2px`:`${e.appBorderColor} 0 0 0 1px`,color:e.color.defaultText,padding:"7px 15px"}})),H6=e=>e==="true",N6=({name:e,value:t,onChange:r,onBlur:n,onFocus:o})=>{let l=x.useCallback(()=>r(!1),[r]);if(t===void 0)return a.createElement(Ie.Button,{id:sn(e),onClick:l},"Set boolean");let i=Ze(e),u=typeof t=="string"?H6(t):t;return a.createElement(j6,{htmlFor:i,title:u?"Change to false":"Change to true"},a.createElement("input",{id:i,type:"checkbox",onChange:s=>r(s.target.checked),checked:u,name:e,onBlur:n,onFocus:o}),a.createElement("span",null,"False"),a.createElement("span",null,"True"))},P6=e=>{let[t,r,n]=e.split("-"),o=new Date;return o.setFullYear(parseInt(t,10),parseInt(r,10)-1,parseInt(n,10)),o},V6=e=>{let[t,r]=e.split(":"),n=new Date;return n.setHours(parseInt(t,10)),n.setMinutes(parseInt(r,10)),n},z6=e=>{let t=new Date(e),r=`000${t.getFullYear()}`.slice(-4),n=`0${t.getMonth()+1}`.slice(-2),o=`0${t.getDate()}`.slice(-2);return`${r}-${n}-${o}`},q6=e=>{let t=new Date(e),r=`0${t.getHours()}`.slice(-2),n=`0${t.getMinutes()}`.slice(-2);return`${r}:${n}`},U6=_.div(({theme:e})=>({flex:1,display:"flex",input:{marginLeft:10,flex:1,height:32,"&::-webkit-calendar-picker-indicator":{opacity:.5,height:12,filter:e.base==="light"?void 0:"invert(1)"}},"input:first-of-type":{marginLeft:0,flexGrow:4},"input:last-of-type":{flexGrow:3}})),W6=({name:e,value:t,onChange:r,onFocus:n,onBlur:o})=>{let[l,i]=x.useState(!0),u=x.useRef(),s=x.useRef();x.useEffect(()=>{l!==!1&&(u&&u.current&&(u.current.value=z6(t)),s&&s.current&&(s.current.value=q6(t)))},[t]);let c=g=>{let d=P6(g.target.value),m=new Date(t);m.setFullYear(d.getFullYear(),d.getMonth(),d.getDate());let f=m.getTime();f&&r(f),i(!!f)},p=g=>{let d=V6(g.target.value),m=new Date(t);m.setHours(d.getHours()),m.setMinutes(d.getMinutes());let f=m.getTime();f&&r(f),i(!!f)},h=Ze(e);return a.createElement(U6,null,a.createElement(Ie.Input,{type:"date",max:"9999-12-31",ref:u,id:`${h}-date`,name:`${h}-date`,onChange:c,onFocus:n,onBlur:o}),a.createElement(Ie.Input,{type:"time",id:`${h}-time`,name:`${h}-time`,ref:s,onChange:p,onFocus:n,onBlur:o}),l?null:a.createElement("div",null,"invalid"))},G6=_.label({display:"flex"}),Y6=e=>{let t=parseFloat(e);return Number.isNaN(t)?void 0:t},K6=({name:e,value:t,onChange:r,min:n,max:o,step:l,onBlur:i,onFocus:u})=>{let[s,c]=x.useState(typeof t=="number"?t:""),[p,h]=x.useState(!1),[g,d]=x.useState(null),m=x.useCallback(y=>{c(y.target.value);let C=parseFloat(y.target.value);Number.isNaN(C)?d(new Error(`'${y.target.value}' is not a number`)):(r(C),d(null))},[r,d]),f=x.useCallback(()=>{c("0"),r(0),h(!0)},[h]),v=x.useRef(null);return x.useEffect(()=>{p&&v.current&&v.current.select()},[p]),x.useEffect(()=>{s!==(typeof t=="number"?t:"")&&c(t)},[t]),!p&&t===void 0?a.createElement(Ie.Button,{id:sn(e),onClick:f},"Set number"):a.createElement(G6,null,a.createElement(Ie.Input,{ref:v,id:Ze(e),type:"number",onChange:m,size:"flex",placeholder:"Edit number...",value:s,valid:g?"error":null,autoFocus:p,name:e,min:n,max:o,step:l,onFocus:u,onBlur:i}))},fc=(e,t)=>{let r=t&&Object.entries(t).find(([n,o])=>o===e);return r?r[0]:void 0},Oa=(e,t)=>e&&t?Object.entries(t).filter(r=>e.includes(r[1])).map(r=>r[0]):[],mc=(e,t)=>e&&t&&e.map(r=>t[r]),J6=_.div(({isInline:e})=>e?{display:"flex",flexWrap:"wrap",alignItems:"flex-start",label:{display:"inline-flex",marginRight:15}}:{label:{display:"flex"}}),X6=_.span({}),Q6=_.label({lineHeight:"20px",alignItems:"center",marginBottom:8,"&:last-child":{marginBottom:0},input:{margin:0,marginRight:6}}),gi=({name:e,options:t,value:r,onChange:n,isInline:o})=>{if(!t)return Fo.warn(`Checkbox with no options: ${e}`),a.createElement(a.Fragment,null,"-");let l=Oa(r,t),[i,u]=x.useState(l),s=p=>{let h=p.target.value,g=[...i];g.includes(h)?g.splice(g.indexOf(h),1):g.push(h),n(mc(g,t)),u(g)};x.useEffect(()=>{u(Oa(r,t))},[r]);let c=Ze(e);return a.createElement(J6,{isInline:o},Object.keys(t).map((p,h)=>{let g=`${c}-${h}`;return a.createElement(Q6,{key:g,htmlFor:g},a.createElement("input",{type:"checkbox",id:g,name:g,value:p,onChange:s,checked:i==null?void 0:i.includes(p)}),a.createElement(X6,null,p))}))},eE=_.div(({isInline:e})=>e?{display:"flex",flexWrap:"wrap",alignItems:"flex-start",label:{display:"inline-flex",marginRight:15}}:{label:{display:"flex"}}),tE=_.span({}),rE=_.label({lineHeight:"20px",alignItems:"center",marginBottom:8,"&:last-child":{marginBottom:0},input:{margin:0,marginRight:6}}),hi=({name:e,options:t,value:r,onChange:n,isInline:o})=>{if(!t)return Fo.warn(`Radio with no options: ${e}`),a.createElement(a.Fragment,null,"-");let l=fc(r,t),i=Ze(e);return a.createElement(eE,{isInline:o},Object.keys(t).map((u,s)=>{let c=`${i}-${s}`;return a.createElement(rE,{key:c,htmlFor:c},a.createElement("input",{type:"radio",id:c,name:c,value:u,onChange:p=>n(t[p.currentTarget.value]),checked:u===l}),a.createElement(tE,null,u))}))},nE={appearance:"none",border:"0 none",boxSizing:"inherit",display:" block",margin:" 0",background:"transparent",padding:0,fontSize:"inherit",position:"relative"},gc=_.select(({theme:e})=>({...nE,boxSizing:"border-box",position:"relative",padding:"6px 10px",width:"100%",color:e.input.color||"inherit",background:e.input.background,borderRadius:e.input.borderRadius,boxShadow:`${e.input.border} 0 0 0 1px inset`,fontSize:e.typography.size.s2-1,lineHeight:"20px","&:focus":{boxShadow:`${e.color.secondary} 0 0 0 1px inset`,outline:"none"},"&[disabled]":{cursor:"not-allowed",opacity:.5},"::placeholder":{color:e.textMutedColor},"&[multiple]":{overflow:"auto",padding:0,option:{display:"block",padding:"6px 10px",marginLeft:1,marginRight:1}}})),hc=_.span(({theme:e})=>({display:"inline-block",lineHeight:"normal",overflow:"hidden",position:"relative",verticalAlign:"top",width:"100%",svg:{position:"absolute",zIndex:1,pointerEvents:"none",height:"12px",marginTop:"-6px",right:"12px",top:"50%",fill:e.textMutedColor,path:{fill:e.textMutedColor}}})),yi="Choose option...",aE=({name:e,value:t,options:r,onChange:n})=>{let o=u=>{n(r[u.currentTarget.value])},l=fc(t,r)||yi,i=Ze(e);return a.createElement(hc,null,a.createElement(we,{icon:"arrowdown"}),a.createElement(gc,{id:i,value:l,onChange:o},a.createElement("option",{key:"no-selection",disabled:!0},yi),Object.keys(r).map(u=>a.createElement("option",{key:u},u))))},oE=({name:e,value:t,options:r,onChange:n})=>{let o=u=>{let s=Array.from(u.currentTarget.options).filter(c=>c.selected).map(c=>c.value);n(mc(s,r))},l=Oa(t,r),i=Ze(e);return a.createElement(hc,null,a.createElement(gc,{id:i,multiple:!0,value:l,onChange:o},Object.keys(r).map(u=>a.createElement("option",{key:u},u))))},bi=e=>{let{name:t,options:r}=e;return r?e.isMulti?a.createElement(oE,{...e}):a.createElement(aE,{...e}):(Fo.warn(`Select with no options: ${t}`),a.createElement(a.Fragment,null,"-"))},lE=(e,t)=>Array.isArray(e)?e.reduce((r,n)=>(r[(t==null?void 0:t[n])||String(n)]=n,r),{}):e,iE={check:gi,"inline-check":gi,radio:hi,"inline-radio":hi,select:bi,"multi-select":bi},Bt=e=>{let{type:t="select",labels:r,argType:n}=e,o={...e,options:n?lE(n.options,r):{},isInline:t.includes("inline"),isMulti:t.includes("multi")},l=iE[t];if(l)return a.createElement(l,{...o});throw new Error(`Unknown options type: ${t}`)},$o="value",sE="key",uE="Error",cE="Object",dE="Array",pE="String",fE="Number",mE="Boolean",gE="Date",hE="Null",yE="Undefined",bE="Function",vE="Symbol",yc="ADD_DELTA_TYPE",bc="REMOVE_DELTA_TYPE",vc="UPDATE_DELTA_TYPE";function mt(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&typeof e[Symbol.iterator]=="function"?"Iterable":Object.prototype.toString.call(e).slice(8,-1)}function Ec(e,t){let r=mt(e),n=mt(t);return(r==="Function"||n==="Function")&&n!==r}var Io=class extends x.Component{constructor(e){super(e),this.state={inputRefKey:null,inputRefValue:null},this.refInputValue=this.refInputValue.bind(this),this.refInputKey=this.refInputKey.bind(this),this.onKeydown=this.onKeydown.bind(this),this.onSubmit=this.onSubmit.bind(this)}componentDidMount(){let{inputRefKey:e,inputRefValue:t}=this.state,{onlyValue:r}=this.props;e&&typeof e.focus=="function"&&e.focus(),r&&t&&typeof t.focus=="function"&&t.focus(),document.addEventListener("keydown",this.onKeydown)}componentWillUnmount(){document.removeEventListener("keydown",this.onKeydown)}onKeydown(e){e.altKey||e.ctrlKey||e.metaKey||e.shiftKey||e.repeat||((e.code==="Enter"||e.key==="Enter")&&(e.preventDefault(),this.onSubmit()),(e.code==="Escape"||e.key==="Escape")&&(e.preventDefault(),this.props.handleCancel()))}onSubmit(){let{handleAdd:e,onlyValue:t,onSubmitValueParser:r,keyPath:n,deep:o}=this.props,{inputRefKey:l,inputRefValue:i}=this.state,u={};if(!t){if(!l.value)return;u.key=l.value}u.newValue=r(!1,n,o,u.key,i.value),e(u)}refInputKey(e){this.state.inputRefKey=e}refInputValue(e){this.state.inputRefValue=e}render(){let{handleCancel:e,onlyValue:t,addButtonElement:r,cancelButtonElement:n,inputElementGenerator:o,keyPath:l,deep:i}=this.props,u=x.cloneElement(r,{onClick:this.onSubmit}),s=x.cloneElement(n,{onClick:e}),c=o($o,l,i),p=x.cloneElement(c,{placeholder:"Value",ref:this.refInputValue}),h=null;if(!t){let g=o(sE,l,i);h=x.cloneElement(g,{placeholder:"Key",ref:this.refInputKey})}return a.createElement("span",{className:"rejt-add-value-node"},h,p,s,u)}};Io.defaultProps={onlyValue:!1,addButtonElement:a.createElement("button",null,"+"),cancelButtonElement:a.createElement("button",null,"c")};var xc=class extends x.Component{constructor(e){super(e);let t=[...e.keyPath,e.name];this.state={data:e.data,name:e.name,keyPath:t,deep:e.deep,nextDeep:e.deep+1,collapsed:e.isCollapsed(t,e.deep,e.data),addFormVisible:!1},this.handleCollapseMode=this.handleCollapseMode.bind(this),this.handleRemoveItem=this.handleRemoveItem.bind(this),this.handleAddMode=this.handleAddMode.bind(this),this.handleAddValueAdd=this.handleAddValueAdd.bind(this),this.handleAddValueCancel=this.handleAddValueCancel.bind(this),this.handleEditValue=this.handleEditValue.bind(this),this.onChildUpdate=this.onChildUpdate.bind(this),this.renderCollapsed=this.renderCollapsed.bind(this),this.renderNotCollapsed=this.renderNotCollapsed.bind(this)}static getDerivedStateFromProps(e,t){return e.data!==t.data?{data:e.data}:null}onChildUpdate(e,t){let{data:r,keyPath:n}=this.state;r[e]=t,this.setState({data:r});let{onUpdate:o}=this.props,l=n.length;o(n[l-1],r)}handleAddMode(){this.setState({addFormVisible:!0})}handleCollapseMode(){this.setState(e=>({collapsed:!e.collapsed}))}handleRemoveItem(e){return()=>{let{beforeRemoveAction:t,logger:r}=this.props,{data:n,keyPath:o,nextDeep:l}=this.state,i=n[e];t(e,o,l,i).then(()=>{let u={keyPath:o,deep:l,key:e,oldValue:i,type:bc};n.splice(e,1),this.setState({data:n});let{onUpdate:s,onDeltaUpdate:c}=this.props;s(o[o.length-1],n),c(u)}).catch(r.error)}}handleAddValueAdd({newValue:e}){let{data:t,keyPath:r,nextDeep:n}=this.state,{beforeAddAction:o,logger:l}=this.props;o(t.length,r,n,e).then(()=>{let i=[...t,e];this.setState({data:i}),this.handleAddValueCancel();let{onUpdate:u,onDeltaUpdate:s}=this.props;u(r[r.length-1],i),s({type:yc,keyPath:r,deep:n,key:i.length-1,newValue:e})}).catch(l.error)}handleAddValueCancel(){this.setState({addFormVisible:!1})}handleEditValue({key:e,value:t}){return new Promise((r,n)=>{let{beforeUpdateAction:o}=this.props,{data:l,keyPath:i,nextDeep:u}=this.state,s=l[e];o(e,i,u,s,t).then(()=>{l[e]=t,this.setState({data:l});let{onUpdate:c,onDeltaUpdate:p}=this.props;c(i[i.length-1],l),p({type:vc,keyPath:i,deep:u,key:e,newValue:t,oldValue:s}),r(void 0)}).catch(n)})}renderCollapsed(){let{name:e,data:t,keyPath:r,deep:n}=this.state,{handleRemove:o,readOnly:l,getStyle:i,dataType:u,minusMenuElement:s}=this.props,{minus:c,collapsed:p}=i(e,t,r,n,u),h=l(e,t,r,n,u),g=x.cloneElement(s,{onClick:o,className:"rejt-minus-menu",style:c});return a.createElement("span",{className:"rejt-collapsed"},a.createElement("span",{className:"rejt-collapsed-text",style:p,onClick:this.handleCollapseMode},"[...] ",t.length," ",t.length===1?"item":"items"),!h&&g)}renderNotCollapsed(){let{name:e,data:t,keyPath:r,deep:n,addFormVisible:o,nextDeep:l}=this.state,{isCollapsed:i,handleRemove:u,onDeltaUpdate:s,readOnly:c,getStyle:p,dataType:h,addButtonElement:g,cancelButtonElement:d,editButtonElement:m,inputElementGenerator:f,textareaElementGenerator:v,minusMenuElement:y,plusMenuElement:C,beforeRemoveAction:b,beforeAddAction:E,beforeUpdateAction:A,logger:w,onSubmitValueParser:k}=this.props,{minus:S,plus:O,delimiter:R,ul:T,addForm:L}=p(e,t,r,n,h),F=c(e,t,r,n,h),Z=x.cloneElement(C,{onClick:this.handleAddMode,className:"rejt-plus-menu",style:O}),D=x.cloneElement(y,{onClick:u,className:"rejt-minus-menu",style:S}),M=!0,j="[",P="]";return a.createElement("span",{className:"rejt-not-collapsed"},a.createElement("span",{className:"rejt-not-collapsed-delimiter",style:R},j),!o&&Z,a.createElement("ul",{className:"rejt-not-collapsed-list",style:T},t.map(($,H)=>a.createElement(Rn,{key:H,name:`${H}`,data:$,keyPath:r,deep:l,isCollapsed:i,handleRemove:this.handleRemoveItem(H),handleUpdateValue:this.handleEditValue,onUpdate:this.onChildUpdate,onDeltaUpdate:s,readOnly:c,getStyle:p,addButtonElement:g,cancelButtonElement:d,editButtonElement:m,inputElementGenerator:f,textareaElementGenerator:v,minusMenuElement:y,plusMenuElement:C,beforeRemoveAction:b,beforeAddAction:E,beforeUpdateAction:A,logger:w,onSubmitValueParser:k}))),!F&&o&&a.createElement("div",{className:"rejt-add-form",style:L},a.createElement(Io,{handleAdd:this.handleAddValueAdd,handleCancel:this.handleAddValueCancel,onlyValue:M,addButtonElement:g,cancelButtonElement:d,inputElementGenerator:f,keyPath:r,deep:n,onSubmitValueParser:k})),a.createElement("span",{className:"rejt-not-collapsed-delimiter",style:R},P),!F&&D)}render(){let{name:e,collapsed:t,data:r,keyPath:n,deep:o}=this.state,{dataType:l,getStyle:i}=this.props,u=t?this.renderCollapsed():this.renderNotCollapsed(),s=i(e,r,n,o,l);return a.createElement("div",{className:"rejt-array-node"},a.createElement("span",{onClick:this.handleCollapseMode},a.createElement("span",{className:"rejt-name",style:s.name},e," :"," ")),u)}};xc.defaultProps={keyPath:[],deep:0,minusMenuElement:a.createElement("span",null," - "),plusMenuElement:a.createElement("span",null," + ")};var Ac=class extends x.Component{constructor(e){super(e);let t=[...e.keyPath,e.name];this.state={value:e.value,name:e.name,keyPath:t,deep:e.deep,editEnabled:!1,inputRef:null},this.handleEditMode=this.handleEditMode.bind(this),this.refInput=this.refInput.bind(this),this.handleCancelEdit=this.handleCancelEdit.bind(this),this.handleEdit=this.handleEdit.bind(this),this.onKeydown=this.onKeydown.bind(this)}static getDerivedStateFromProps(e,t){return e.value!==t.value?{value:e.value}:null}componentDidUpdate(){let{editEnabled:e,inputRef:t,name:r,value:n,keyPath:o,deep:l}=this.state,{readOnly:i,dataType:u}=this.props,s=i(r,n,o,l,u);e&&!s&&typeof t.focus=="function"&&t.focus()}componentDidMount(){document.addEventListener("keydown",this.onKeydown)}componentWillUnmount(){document.removeEventListener("keydown",this.onKeydown)}onKeydown(e){e.altKey||e.ctrlKey||e.metaKey||e.shiftKey||e.repeat||((e.code==="Enter"||e.key==="Enter")&&(e.preventDefault(),this.handleEdit()),(e.code==="Escape"||e.key==="Escape")&&(e.preventDefault(),this.handleCancelEdit()))}handleEdit(){let{handleUpdateValue:e,originalValue:t,logger:r,onSubmitValueParser:n,keyPath:o}=this.props,{inputRef:l,name:i,deep:u}=this.state;if(!l)return;let s=n(!0,o,u,i,l.value);e({value:s,key:i}).then(()=>{Ec(t,s)||this.handleCancelEdit()}).catch(r.error)}handleEditMode(){this.setState({editEnabled:!0})}refInput(e){this.state.inputRef=e}handleCancelEdit(){this.setState({editEnabled:!1})}render(){let{name:e,value:t,editEnabled:r,keyPath:n,deep:o}=this.state,{handleRemove:l,originalValue:i,readOnly:u,dataType:s,getStyle:c,editButtonElement:p,cancelButtonElement:h,textareaElementGenerator:g,minusMenuElement:d,keyPath:m}=this.props,f=c(e,i,n,o,s),v=null,y=null,C=u(e,i,n,o,s);if(r&&!C){let b=g($o,m,o,e,i,s),E=x.cloneElement(p,{onClick:this.handleEdit}),A=x.cloneElement(h,{onClick:this.handleCancelEdit}),w=x.cloneElement(b,{ref:this.refInput,defaultValue:i});v=a.createElement("span",{className:"rejt-edit-form",style:f.editForm},w," ",A,E),y=null}else{v=a.createElement("span",{className:"rejt-value",style:f.value,onClick:C?null:this.handleEditMode},t);let b=x.cloneElement(d,{onClick:l,className:"rejt-minus-menu",style:f.minus});y=C?null:b}return a.createElement("li",{className:"rejt-function-value-node",style:f.li},a.createElement("span",{className:"rejt-name",style:f.name},e," :"," "),v,y)}};Ac.defaultProps={keyPath:[],deep:0,handleUpdateValue:()=>{},editButtonElement:a.createElement("button",null,"e"),cancelButtonElement:a.createElement("button",null,"c"),minusMenuElement:a.createElement("span",null," - ")};var Rn=class extends x.Component{constructor(e){super(e),this.state={data:e.data,name:e.name,keyPath:e.keyPath,deep:e.deep}}static getDerivedStateFromProps(e,t){return e.data!==t.data?{data:e.data}:null}render(){let{data:e,name:t,keyPath:r,deep:n}=this.state,{isCollapsed:o,handleRemove:l,handleUpdateValue:i,onUpdate:u,onDeltaUpdate:s,readOnly:c,getStyle:p,addButtonElement:h,cancelButtonElement:g,editButtonElement:d,inputElementGenerator:m,textareaElementGenerator:f,minusMenuElement:v,plusMenuElement:y,beforeRemoveAction:C,beforeAddAction:b,beforeUpdateAction:E,logger:A,onSubmitValueParser:w}=this.props,k=()=>!0,S=mt(e);switch(S){case uE:return a.createElement(Ra,{data:e,name:t,isCollapsed:o,keyPath:r,deep:n,handleRemove:l,onUpdate:u,onDeltaUpdate:s,readOnly:k,dataType:S,getStyle:p,addButtonElement:h,cancelButtonElement:g,editButtonElement:d,inputElementGenerator:m,textareaElementGenerator:f,minusMenuElement:v,plusMenuElement:y,beforeRemoveAction:C,beforeAddAction:b,beforeUpdateAction:E,logger:A,onSubmitValueParser:w});case cE:return a.createElement(Ra,{data:e,name:t,isCollapsed:o,keyPath:r,deep:n,handleRemove:l,onUpdate:u,onDeltaUpdate:s,readOnly:c,dataType:S,getStyle:p,addButtonElement:h,cancelButtonElement:g,editButtonElement:d,inputElementGenerator:m,textareaElementGenerator:f,minusMenuElement:v,plusMenuElement:y,beforeRemoveAction:C,beforeAddAction:b,beforeUpdateAction:E,logger:A,onSubmitValueParser:w});case dE:return a.createElement(xc,{data:e,name:t,isCollapsed:o,keyPath:r,deep:n,handleRemove:l,onUpdate:u,onDeltaUpdate:s,readOnly:c,dataType:S,getStyle:p,addButtonElement:h,cancelButtonElement:g,editButtonElement:d,inputElementGenerator:m,textareaElementGenerator:f,minusMenuElement:v,plusMenuElement:y,beforeRemoveAction:C,beforeAddAction:b,beforeUpdateAction:E,logger:A,onSubmitValueParser:w});case pE:return a.createElement(ft,{name:t,value:`"${e}"`,originalValue:e,keyPath:r,deep:n,handleRemove:l,handleUpdateValue:i,readOnly:c,dataType:S,getStyle:p,cancelButtonElement:g,editButtonElement:d,inputElementGenerator:m,minusMenuElement:v,logger:A,onSubmitValueParser:w});case fE:return a.createElement(ft,{name:t,value:e,originalValue:e,keyPath:r,deep:n,handleRemove:l,handleUpdateValue:i,readOnly:c,dataType:S,getStyle:p,cancelButtonElement:g,editButtonElement:d,inputElementGenerator:m,minusMenuElement:v,logger:A,onSubmitValueParser:w});case mE:return a.createElement(ft,{name:t,value:e?"true":"false",originalValue:e,keyPath:r,deep:n,handleRemove:l,handleUpdateValue:i,readOnly:c,dataType:S,getStyle:p,cancelButtonElement:g,editButtonElement:d,inputElementGenerator:m,minusMenuElement:v,logger:A,onSubmitValueParser:w});case gE:return a.createElement(ft,{name:t,value:e.toISOString(),originalValue:e,keyPath:r,deep:n,handleRemove:l,handleUpdateValue:i,readOnly:k,dataType:S,getStyle:p,cancelButtonElement:g,editButtonElement:d,inputElementGenerator:m,minusMenuElement:v,logger:A,onSubmitValueParser:w});case hE:return a.createElement(ft,{name:t,value:"null",originalValue:"null",keyPath:r,deep:n,handleRemove:l,handleUpdateValue:i,readOnly:c,dataType:S,getStyle:p,cancelButtonElement:g,editButtonElement:d,inputElementGenerator:m,minusMenuElement:v,logger:A,onSubmitValueParser:w});case yE:return a.createElement(ft,{name:t,value:"undefined",originalValue:"undefined",keyPath:r,deep:n,handleRemove:l,handleUpdateValue:i,readOnly:c,dataType:S,getStyle:p,cancelButtonElement:g,editButtonElement:d,inputElementGenerator:m,minusMenuElement:v,logger:A,onSubmitValueParser:w});case bE:return a.createElement(Ac,{name:t,value:e.toString(),originalValue:e,keyPath:r,deep:n,handleRemove:l,handleUpdateValue:i,readOnly:c,dataType:S,getStyle:p,cancelButtonElement:g,editButtonElement:d,textareaElementGenerator:f,minusMenuElement:v,logger:A,onSubmitValueParser:w});case vE:return a.createElement(ft,{name:t,value:e.toString(),originalValue:e,keyPath:r,deep:n,handleRemove:l,handleUpdateValue:i,readOnly:k,dataType:S,getStyle:p,cancelButtonElement:g,editButtonElement:d,inputElementGenerator:m,minusMenuElement:v,logger:A,onSubmitValueParser:w});default:return null}}};Rn.defaultProps={keyPath:[],deep:0};var Ra=class extends x.Component{constructor(e){super(e);let t=e.deep===-1?[]:[...e.keyPath,e.name];this.state={name:e.name,data:e.data,keyPath:t,deep:e.deep,nextDeep:e.deep+1,collapsed:e.isCollapsed(t,e.deep,e.data),addFormVisible:!1},this.handleCollapseMode=this.handleCollapseMode.bind(this),this.handleRemoveValue=this.handleRemoveValue.bind(this),this.handleAddMode=this.handleAddMode.bind(this),this.handleAddValueAdd=this.handleAddValueAdd.bind(this),this.handleAddValueCancel=this.handleAddValueCancel.bind(this),this.handleEditValue=this.handleEditValue.bind(this),this.onChildUpdate=this.onChildUpdate.bind(this),this.renderCollapsed=this.renderCollapsed.bind(this),this.renderNotCollapsed=this.renderNotCollapsed.bind(this)}static getDerivedStateFromProps(e,t){return e.data!==t.data?{data:e.data}:null}onChildUpdate(e,t){let{data:r,keyPath:n}=this.state;r[e]=t,this.setState({data:r});let{onUpdate:o}=this.props,l=n.length;o(n[l-1],r)}handleAddMode(){this.setState({addFormVisible:!0})}handleAddValueCancel(){this.setState({addFormVisible:!1})}handleAddValueAdd({key:e,newValue:t}){let{data:r,keyPath:n,nextDeep:o}=this.state,{beforeAddAction:l,logger:i}=this.props;l(e,n,o,t).then(()=>{r[e]=t,this.setState({data:r}),this.handleAddValueCancel();let{onUpdate:u,onDeltaUpdate:s}=this.props;u(n[n.length-1],r),s({type:yc,keyPath:n,deep:o,key:e,newValue:t})}).catch(i.error)}handleRemoveValue(e){return()=>{let{beforeRemoveAction:t,logger:r}=this.props,{data:n,keyPath:o,nextDeep:l}=this.state,i=n[e];t(e,o,l,i).then(()=>{let u={keyPath:o,deep:l,key:e,oldValue:i,type:bc};delete n[e],this.setState({data:n});let{onUpdate:s,onDeltaUpdate:c}=this.props;s(o[o.length-1],n),c(u)}).catch(r.error)}}handleCollapseMode(){this.setState(e=>({collapsed:!e.collapsed}))}handleEditValue({key:e,value:t}){return new Promise((r,n)=>{let{beforeUpdateAction:o}=this.props,{data:l,keyPath:i,nextDeep:u}=this.state,s=l[e];o(e,i,u,s,t).then(()=>{l[e]=t,this.setState({data:l});let{onUpdate:c,onDeltaUpdate:p}=this.props;c(i[i.length-1],l),p({type:vc,keyPath:i,deep:u,key:e,newValue:t,oldValue:s}),r()}).catch(n)})}renderCollapsed(){let{name:e,keyPath:t,deep:r,data:n}=this.state,{handleRemove:o,readOnly:l,dataType:i,getStyle:u,minusMenuElement:s}=this.props,{minus:c,collapsed:p}=u(e,n,t,r,i),h=Object.getOwnPropertyNames(n),g=l(e,n,t,r,i),d=x.cloneElement(s,{onClick:o,className:"rejt-minus-menu",style:c});return a.createElement("span",{className:"rejt-collapsed"},a.createElement("span",{className:"rejt-collapsed-text",style:p,onClick:this.handleCollapseMode},"{...}"," ",h.length," ",h.length===1?"key":"keys"),!g&&d)}renderNotCollapsed(){let{name:e,data:t,keyPath:r,deep:n,nextDeep:o,addFormVisible:l}=this.state,{isCollapsed:i,handleRemove:u,onDeltaUpdate:s,readOnly:c,getStyle:p,dataType:h,addButtonElement:g,cancelButtonElement:d,editButtonElement:m,inputElementGenerator:f,textareaElementGenerator:v,minusMenuElement:y,plusMenuElement:C,beforeRemoveAction:b,beforeAddAction:E,beforeUpdateAction:A,logger:w,onSubmitValueParser:k}=this.props,{minus:S,plus:O,addForm:R,ul:T,delimiter:L}=p(e,t,r,n,h),F=Object.getOwnPropertyNames(t),Z=c(e,t,r,n,h),D=x.cloneElement(C,{onClick:this.handleAddMode,className:"rejt-plus-menu",style:O}),M=x.cloneElement(y,{onClick:u,className:"rejt-minus-menu",style:S}),j=F.map(H=>a.createElement(Rn,{key:H,name:H,data:t[H],keyPath:r,deep:o,isCollapsed:i,handleRemove:this.handleRemoveValue(H),handleUpdateValue:this.handleEditValue,onUpdate:this.onChildUpdate,onDeltaUpdate:s,readOnly:c,getStyle:p,addButtonElement:g,cancelButtonElement:d,editButtonElement:m,inputElementGenerator:f,textareaElementGenerator:v,minusMenuElement:y,plusMenuElement:C,beforeRemoveAction:b,beforeAddAction:E,beforeUpdateAction:A,logger:w,onSubmitValueParser:k})),P="{",$="}";return a.createElement("span",{className:"rejt-not-collapsed"},a.createElement("span",{className:"rejt-not-collapsed-delimiter",style:L},P),!Z&&D,a.createElement("ul",{className:"rejt-not-collapsed-list",style:T},j),!Z&&l&&a.createElement("div",{className:"rejt-add-form",style:R},a.createElement(Io,{handleAdd:this.handleAddValueAdd,handleCancel:this.handleAddValueCancel,addButtonElement:g,cancelButtonElement:d,inputElementGenerator:f,keyPath:r,deep:n,onSubmitValueParser:k})),a.createElement("span",{className:"rejt-not-collapsed-delimiter",style:L},$),!Z&&M)}render(){let{name:e,collapsed:t,data:r,keyPath:n,deep:o}=this.state,{getStyle:l,dataType:i}=this.props,u=t?this.renderCollapsed():this.renderNotCollapsed(),s=l(e,r,n,o,i);return a.createElement("div",{className:"rejt-object-node"},a.createElement("span",{onClick:this.handleCollapseMode},a.createElement("span",{className:"rejt-name",style:s.name},e," :"," ")),u)}};Ra.defaultProps={keyPath:[],deep:0,minusMenuElement:a.createElement("span",null," - "),plusMenuElement:a.createElement("span",null," + ")};var ft=class extends x.Component{constructor(e){super(e);let t=[...e.keyPath,e.name];this.state={value:e.value,name:e.name,keyPath:t,deep:e.deep,editEnabled:!1,inputRef:null},this.handleEditMode=this.handleEditMode.bind(this),this.refInput=this.refInput.bind(this),this.handleCancelEdit=this.handleCancelEdit.bind(this),this.handleEdit=this.handleEdit.bind(this),this.onKeydown=this.onKeydown.bind(this)}static getDerivedStateFromProps(e,t){return e.value!==t.value?{value:e.value}:null}componentDidUpdate(){let{editEnabled:e,inputRef:t,name:r,value:n,keyPath:o,deep:l}=this.state,{readOnly:i,dataType:u}=this.props,s=i(r,n,o,l,u);e&&!s&&typeof t.focus=="function"&&t.focus()}componentDidMount(){document.addEventListener("keydown",this.onKeydown)}componentWillUnmount(){document.removeEventListener("keydown",this.onKeydown)}onKeydown(e){e.altKey||e.ctrlKey||e.metaKey||e.shiftKey||e.repeat||((e.code==="Enter"||e.key==="Enter")&&(e.preventDefault(),this.handleEdit()),(e.code==="Escape"||e.key==="Escape")&&(e.preventDefault(),this.handleCancelEdit()))}handleEdit(){let{handleUpdateValue:e,originalValue:t,logger:r,onSubmitValueParser:n,keyPath:o}=this.props,{inputRef:l,name:i,deep:u}=this.state;if(!l)return;let s=n(!0,o,u,i,l.value);e({value:s,key:i}).then(()=>{Ec(t,s)||this.handleCancelEdit()}).catch(r.error)}handleEditMode(){this.setState({editEnabled:!0})}refInput(e){this.state.inputRef=e}handleCancelEdit(){this.setState({editEnabled:!1})}render(){let{name:e,value:t,editEnabled:r,keyPath:n,deep:o}=this.state,{handleRemove:l,originalValue:i,readOnly:u,dataType:s,getStyle:c,editButtonElement:p,cancelButtonElement:h,inputElementGenerator:g,minusMenuElement:d,keyPath:m}=this.props,f=c(e,i,n,o,s),v=u(e,i,n,o,s),y=r&&!v,C=g($o,m,o,e,i,s),b=x.cloneElement(p,{onClick:this.handleEdit}),E=x.cloneElement(h,{onClick:this.handleCancelEdit}),A=x.cloneElement(C,{ref:this.refInput,defaultValue:JSON.stringify(i)}),w=x.cloneElement(d,{onClick:l,className:"rejt-minus-menu",style:f.minus});return a.createElement("li",{className:"rejt-value-node",style:f.li},a.createElement("span",{className:"rejt-name",style:f.name},e," : "),y?a.createElement("span",{className:"rejt-edit-form",style:f.editForm},A," ",E,b):a.createElement("span",{className:"rejt-value",style:f.value,onClick:v?null:this.handleEditMode},String(t)),!v&&!y&&w)}};ft.defaultProps={keyPath:[],deep:0,handleUpdateValue:()=>Promise.resolve(),editButtonElement:a.createElement("button",null,"e"),cancelButtonElement:a.createElement("button",null,"c"),minusMenuElement:a.createElement("span",null," - ")};var EE={minus:{color:"red"},plus:{color:"green"},collapsed:{color:"grey"},delimiter:{},ul:{padding:"0px",margin:"0 0 0 25px",listStyle:"none"},name:{color:"#2287CD"},addForm:{}},xE={minus:{color:"red"},plus:{color:"green"},collapsed:{color:"grey"},delimiter:{},ul:{padding:"0px",margin:"0 0 0 25px",listStyle:"none"},name:{color:"#2287CD"},addForm:{}},AE={minus:{color:"red"},editForm:{},value:{color:"#7bba3d"},li:{minHeight:"22px",lineHeight:"22px",outline:"0px"},name:{color:"#2287CD"}};function wE(e){let t=e;if(t.indexOf("function")===0)return(0,eval)(`(${t})`);try{t=JSON.parse(e)}catch{}return t}var wc=class extends x.Component{constructor(e){super(e),this.state={data:e.data,rootName:e.rootName},this.onUpdate=this.onUpdate.bind(this),this.removeRoot=this.removeRoot.bind(this)}static getDerivedStateFromProps(e,t){return e.data!==t.data||e.rootName!==t.rootName?{data:e.data,rootName:e.rootName}:null}onUpdate(e,t){this.setState({data:t}),this.props.onFullyUpdate(t)}removeRoot(){this.onUpdate(null,null)}render(){let{data:e,rootName:t}=this.state,{isCollapsed:r,onDeltaUpdate:n,readOnly:o,getStyle:l,addButtonElement:i,cancelButtonElement:u,editButtonElement:s,inputElement:c,textareaElement:p,minusMenuElement:h,plusMenuElement:g,beforeRemoveAction:d,beforeAddAction:m,beforeUpdateAction:f,logger:v,onSubmitValueParser:y,fallback:C=null}=this.props,b=mt(e),E=o;mt(o)==="Boolean"&&(E=()=>o);let A=c;c&&mt(c)!=="Function"&&(A=()=>c);let w=p;return p&&mt(p)!=="Function"&&(w=()=>p),b==="Object"||b==="Array"?a.createElement("div",{className:"rejt-tree"},a.createElement(Rn,{data:e,name:t,deep:-1,isCollapsed:r,onUpdate:this.onUpdate,onDeltaUpdate:n,readOnly:E,getStyle:l,addButtonElement:i,cancelButtonElement:u,editButtonElement:s,inputElementGenerator:A,textareaElementGenerator:w,minusMenuElement:h,plusMenuElement:g,handleRemove:this.removeRoot,beforeRemoveAction:d,beforeAddAction:m,beforeUpdateAction:f,logger:v,onSubmitValueParser:y})):C}};wc.defaultProps={rootName:"root",isCollapsed:(e,t)=>t!==-1,getStyle:(e,t,r,n,o)=>{switch(o){case"Object":case"Error":return EE;case"Array":return xE;default:return AE}},readOnly:()=>!1,onFullyUpdate:()=>{},onDeltaUpdate:()=>{},beforeRemoveAction:()=>Promise.resolve(),beforeAddAction:()=>Promise.resolve(),beforeUpdateAction:()=>Promise.resolve(),logger:{error:()=>{}},onSubmitValueParser:(e,t,r,n,o)=>wE(o),inputElement:()=>a.createElement("input",null),textareaElement:()=>a.createElement("textarea",null),fallback:null};var{window:CE}=ye,SE=_.div(({theme:e})=>({position:"relative",display:"flex",".rejt-tree":{marginLeft:"1rem",fontSize:"13px"},".rejt-value-node, .rejt-object-node > .rejt-collapsed, .rejt-array-node > .rejt-collapsed, .rejt-object-node > .rejt-not-collapsed, .rejt-array-node > .rejt-not-collapsed":{"& > svg":{opacity:0,transition:"opacity 0.2s"}},".rejt-value-node:hover, .rejt-object-node:hover > .rejt-collapsed, .rejt-array-node:hover > .rejt-collapsed, .rejt-object-node:hover > .rejt-not-collapsed, .rejt-array-node:hover > .rejt-not-collapsed":{"& > svg":{opacity:1}},".rejt-edit-form button":{display:"none"},".rejt-add-form":{marginLeft:10},".rejt-add-value-node":{display:"inline-flex",alignItems:"center"},".rejt-name":{lineHeight:"22px"},".rejt-not-collapsed-delimiter":{lineHeight:"22px"},".rejt-plus-menu":{marginLeft:5},".rejt-object-node > span > *, .rejt-array-node > span > *":{position:"relative",zIndex:2},".rejt-object-node, .rejt-array-node":{position:"relative"},".rejt-object-node > span:first-of-type::after, .rejt-array-node > span:first-of-type::after, .rejt-collapsed::before, .rejt-not-collapsed::before":{content:'""',position:"absolute",top:0,display:"block",width:"100%",marginLeft:"-1rem",padding:"0 4px 0 1rem",height:22},".rejt-collapsed::before, .rejt-not-collapsed::before":{zIndex:1,background:"transparent",borderRadius:4,transition:"background 0.2s",pointerEvents:"none",opacity:.1},".rejt-object-node:hover, .rejt-array-node:hover":{"& > .rejt-collapsed::before, & > .rejt-not-collapsed::before":{background:e.color.secondary}},".rejt-collapsed::after, .rejt-not-collapsed::after":{content:'""',position:"absolute",display:"inline-block",pointerEvents:"none",width:0,height:0},".rejt-collapsed::after":{left:-8,top:8,borderTop:"3px solid transparent",borderBottom:"3px solid transparent",borderLeft:"3px solid rgba(153,153,153,0.6)"},".rejt-not-collapsed::after":{left:-10,top:10,borderTop:"3px solid rgba(153,153,153,0.6)",borderLeft:"3px solid transparent",borderRight:"3px solid transparent"},".rejt-value":{display:"inline-block",border:"1px solid transparent",borderRadius:4,margin:"1px 0",padding:"0 4px",cursor:"text",color:e.color.defaultText},".rejt-value-node:hover > .rejt-value":{background:e.color.lighter,borderColor:e.appBorderColor}})),ea=_.button(({theme:e,primary:t})=>({border:0,height:20,margin:1,borderRadius:4,background:t?e.color.secondary:"transparent",color:t?e.color.lightest:e.color.dark,fontWeight:t?"bold":"normal",cursor:"pointer",order:t?"initial":9})),Ei=_(we)(({theme:e,icon:t,disabled:r})=>({display:"inline-block",verticalAlign:"middle",width:15,height:15,padding:3,marginLeft:5,cursor:r?"not-allowed":"pointer",color:e.textMutedColor,"&:hover":r?{}:{color:t==="subtract"?e.color.negative:e.color.ancillary},"svg + &":{marginLeft:0}})),xi=_.input(({theme:e,placeholder:t})=>({outline:0,margin:t?1:"1px 0",padding:"3px 4px",color:e.color.defaultText,background:e.background.app,border:`1px solid ${e.appBorderColor}`,borderRadius:4,lineHeight:"14px",width:t==="Key"?80:120,"&:focus":{border:`1px solid ${e.color.secondary}`}})),kE=_(kt)(({theme:e})=>({position:"absolute",zIndex:2,top:2,right:2,height:21,padding:"0 3px",background:e.background.bar,border:`1px solid ${e.appBorderColor}`,borderRadius:3,color:e.textMutedColor,fontSize:"9px",fontWeight:"bold",textDecoration:"none",span:{marginLeft:3,marginTop:1}})),_E=_(Ie.Textarea)(({theme:e})=>({flex:1,padding:"7px 6px",fontFamily:e.typography.fonts.mono,fontSize:"12px",lineHeight:"18px","&::placeholder":{fontFamily:e.typography.fonts.base,fontSize:"13px"},"&:placeholder-shown":{padding:"7px 10px"}})),OE={bubbles:!0,cancelable:!0,key:"Enter",code:"Enter",keyCode:13},RE=e=>{e.currentTarget.dispatchEvent(new CE.KeyboardEvent("keydown",OE))},TE=e=>{e.currentTarget.select()},FE=e=>()=>({name:{color:e.color.secondary},collapsed:{color:e.color.dark},ul:{listStyle:"none",margin:"0 0 0 1rem",padding:0},li:{outline:0}}),Ai=({name:e,value:t,onChange:r})=>{let n=c1(),o=x.useMemo(()=>t&&M4(t),[t]),l=o!=null,[i,u]=x.useState(!l),[s,c]=x.useState(null),p=x.useCallback(v=>{try{v&&r(JSON.parse(v)),c(void 0)}catch(y){c(y)}},[r]),[h,g]=x.useState(!1),d=x.useCallback(()=>{r({}),g(!0)},[g]),m=x.useRef(null);if(x.useEffect(()=>{h&&m.current&&m.current.select()},[h]),!l)return a.createElement(Ie.Button,{id:sn(e),onClick:d},"Set object");let f=a.createElement(_E,{ref:m,id:Ze(e),name:e,defaultValue:t===null?"":JSON.stringify(t,null,2),onBlur:v=>p(v.target.value),placeholder:"Edit JSON string...",autoFocus:h,valid:s?"error":null});return a.createElement(SE,null,["Object","Array"].includes(mt(o))&&a.createElement(kE,{href:"#",onClick:v=>{v.preventDefault(),u(y=>!y)}},a.createElement(we,{icon:i?"eyeclose":"eye"}),a.createElement("span",null,"RAW")),i?f:a.createElement(wc,{data:o,rootName:e,onFullyUpdate:r,getStyle:FE(n),cancelButtonElement:a.createElement(ea,{type:"button"},"Cancel"),editButtonElement:a.createElement(ea,{type:"submit"},"Save"),addButtonElement:a.createElement(ea,{type:"submit",primary:!0},"Save"),plusMenuElement:a.createElement(Ei,{icon:"add"}),minusMenuElement:a.createElement(Ei,{icon:"subtract"}),inputElement:(v,y,C,b)=>b?a.createElement(xi,{onFocus:TE,onBlur:RE}):a.createElement(xi,null),fallback:f}))},DE=_.input(({theme:e,min:t,max:r,value:n})=>({"&":{width:"100%",backgroundColor:"transparent",appearance:"none"},"&::-webkit-slider-runnable-track":{background:e.base==="light"?`linear-gradient(to right, + ${e.color.green} 0%, ${e.color.green} ${(n-t)/(r-t)*100}%, + ${We(.02,e.input.background)} ${(n-t)/(r-t)*100}%, + ${We(.02,e.input.background)} 100%)`:`linear-gradient(to right, + ${e.color.green} 0%, ${e.color.green} ${(n-t)/(r-t)*100}%, + ${wt(.02,e.input.background)} ${(n-t)/(r-t)*100}%, + ${wt(.02,e.input.background)} 100%)`,boxShadow:`${e.appBorderColor} 0 0 0 1px inset`,borderRadius:6,width:"100%",height:6,cursor:"pointer"},"&::-webkit-slider-thumb":{marginTop:"-6px",width:16,height:16,border:`1px solid ${lt(e.appBorderColor,.2)}`,borderRadius:"50px",boxShadow:`0 1px 3px 0px ${lt(e.appBorderColor,.2)}`,cursor:"grab",appearance:"none",background:`${e.input.background}`,transition:"all 150ms ease-out","&:hover":{background:`${We(.05,e.input.background)}`,transform:"scale3d(1.1, 1.1, 1.1) translateY(-1px)",transition:"all 50ms ease-out"},"&:active":{background:`${e.input.background}`,transform:"scale3d(1, 1, 1) translateY(0px)",cursor:"grabbing"}},"&:focus":{outline:"none","&::-webkit-slider-runnable-track":{borderColor:lt(e.color.secondary,.4)},"&::-webkit-slider-thumb":{borderColor:e.color.secondary,boxShadow:`0 0px 5px 0px ${e.color.secondary}`}},"&::-moz-range-track":{background:e.base==="light"?`linear-gradient(to right, + ${e.color.green} 0%, ${e.color.green} ${(n-t)/(r-t)*100}%, + ${We(.02,e.input.background)} ${(n-t)/(r-t)*100}%, + ${We(.02,e.input.background)} 100%)`:`linear-gradient(to right, + ${e.color.green} 0%, ${e.color.green} ${(n-t)/(r-t)*100}%, + ${wt(.02,e.input.background)} ${(n-t)/(r-t)*100}%, + ${wt(.02,e.input.background)} 100%)`,boxShadow:`${e.appBorderColor} 0 0 0 1px inset`,borderRadius:6,width:"100%",height:6,cursor:"pointer",outline:"none"},"&::-moz-range-thumb":{width:16,height:16,border:`1px solid ${lt(e.appBorderColor,.2)}`,borderRadius:"50px",boxShadow:`0 1px 3px 0px ${lt(e.appBorderColor,.2)}`,cursor:"grab",background:`${e.input.background}`,transition:"all 150ms ease-out","&:hover":{background:`${We(.05,e.input.background)}`,transform:"scale3d(1.1, 1.1, 1.1) translateY(-1px)",transition:"all 50ms ease-out"},"&:active":{background:`${e.input.background}`,transform:"scale3d(1, 1, 1) translateY(0px)",cursor:"grabbing"}},"&::-ms-track":{background:e.base==="light"?`linear-gradient(to right, + ${e.color.green} 0%, ${e.color.green} ${(n-t)/(r-t)*100}%, + ${We(.02,e.input.background)} ${(n-t)/(r-t)*100}%, + ${We(.02,e.input.background)} 100%)`:`linear-gradient(to right, + ${e.color.green} 0%, ${e.color.green} ${(n-t)/(r-t)*100}%, + ${wt(.02,e.input.background)} ${(n-t)/(r-t)*100}%, + ${wt(.02,e.input.background)} 100%)`,boxShadow:`${e.appBorderColor} 0 0 0 1px inset`,color:"transparent",width:"100%",height:"6px",cursor:"pointer"},"&::-ms-fill-lower":{borderRadius:6},"&::-ms-fill-upper":{borderRadius:6},"&::-ms-thumb":{width:16,height:16,background:`${e.input.background}`,border:`1px solid ${lt(e.appBorderColor,.2)}`,borderRadius:50,cursor:"grab",marginTop:0},"@supports (-ms-ime-align:auto)":{"input[type=range]":{margin:"0"}}})),Cc=_.span({paddingLeft:5,paddingRight:5,fontSize:12,whiteSpace:"nowrap",fontFeatureSettings:"tnum",fontVariantNumeric:"tabular-nums"}),LE=_(Cc)(({numberOFDecimalsPlaces:e,max:t})=>({width:`${e+t.toString().length*2+3}ch`,textAlign:"right",flexShrink:0})),ME=_.div({display:"flex",alignItems:"center",width:"100%"});function BE(e){let t=e.toString().match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return t?Math.max(0,(t[1]?t[1].length:0)-(t[2]?+t[2]:0)):0}var $E=({name:e,value:t,onChange:r,min:n=0,max:o=100,step:l=1,onBlur:i,onFocus:u})=>{let s=h=>{r(Y6(h.target.value))},c=t!==void 0,p=x.useMemo(()=>BE(l),[l]);return a.createElement(ME,null,a.createElement(Cc,null,n),a.createElement(DE,{id:Ze(e),type:"range",onChange:s,name:e,value:t,min:n,max:o,step:l,onFocus:u,onBlur:i}),a.createElement(LE,{numberOFDecimalsPlaces:p,max:o},`${c?t.toFixed(p):"--"}`," / ",o))},IE=_.label({display:"flex"}),ZE=_.div(({isMaxed:e})=>({marginLeft:"0.75rem",paddingTop:"0.35rem",color:e?"red":void 0})),jE=({name:e,value:t,onChange:r,onFocus:n,onBlur:o,maxLength:l})=>{let i=h=>{r(h.target.value)},[u,s]=x.useState(!1),c=x.useCallback(()=>{r(""),s(!0)},[s]);if(t===void 0)return a.createElement(Ie.Button,{id:sn(e),onClick:c},"Set string");let p=typeof t=="string";return a.createElement(IE,null,a.createElement(Ie.Textarea,{id:Ze(e),maxLength:l,onChange:i,size:"flex",placeholder:"Edit string...",autoFocus:u,valid:p?null:"error",name:e,value:p?t:"",onFocus:n,onBlur:o}),l&&a.createElement(ZE,{isMaxed:(t==null?void 0:t.length)===l},(t==null?void 0:t.length)??0," / ",l))},HE=_(Ie.Input)({padding:10});function NE(e){e.forEach(t=>{t.startsWith("blob:")&&URL.revokeObjectURL(t)})}var PE=({onChange:e,name:t,accept:r="image/*",value:n})=>{let o=x.useRef(null);function l(i){if(!i.target.files)return;let u=Array.from(i.target.files).map(s=>URL.createObjectURL(s));e(u),NE(n)}return x.useEffect(()=>{n==null&&o.current&&(o.current.value=null)},[n,t]),a.createElement(HE,{ref:o,id:Ze(t),type:"file",name:t,multiple:!0,onChange:l,accept:r,size:"flex"})},VE=x.lazy(()=>it(()=>import("./Color-3YIJY6X7-91193310.js"),["./Color-3YIJY6X7-91193310.js","./index-ebeaab24.js","./index-84cea9da.js","./iframe-608d8974.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./index-9c09ad76.js","./extends-98964cd2.js","./index-356e4a49.js"],import.meta.url)),zE=e=>a.createElement(x.Suspense,{fallback:a.createElement("div",null)},a.createElement(VE,{...e})),qE={array:Ai,object:Ai,boolean:N6,color:zE,date:W6,number:K6,check:Bt,"inline-check":Bt,radio:Bt,"inline-radio":Bt,select:Bt,"multi-select":Bt,range:$E,text:jE,file:PE},wi=()=>a.createElement(a.Fragment,null,"-"),UE=({row:e,arg:t,updateArgs:r})=>{let{key:n,control:o}=e,[l,i]=x.useState(!1),[u,s]=x.useState({value:t});x.useEffect(()=>{l||s({value:t})},[l,t]);let c=x.useCallback(m=>(s({value:m}),r({[n]:m}),m),[r,n]),p=x.useCallback(()=>i(!1),[]),h=x.useCallback(()=>i(!0),[]);if(!o||o.disable)return a.createElement(wi,null);let g={name:n,argType:e,value:u.value,onChange:c,onBlur:p,onFocus:h},d=qE[o.type]||wi;return a.createElement(d,{...g,...o,controlType:o.type})},WE=_.span({fontWeight:"bold"}),GE=_.span(({theme:e})=>({color:e.color.negative,fontFamily:e.typography.fonts.mono,cursor:"help"})),YE=_.div(({theme:e})=>({"&&":{p:{margin:"0 0 10px 0"},a:{color:e.color.secondary}},code:{...ut({theme:e}),fontSize:12,fontFamily:e.typography.fonts.mono},"& code":{margin:0,display:"inline-block"},"& pre > code":{whiteSpace:"pre-wrap"}})),KE=_.div(({theme:e,hasDescription:t})=>({color:e.base==="light"?ee(.1,e.color.defaultText):ee(.2,e.color.defaultText),marginTop:t?4:0})),JE=_.div(({theme:e,hasDescription:t})=>({color:e.base==="light"?ee(.1,e.color.defaultText):ee(.2,e.color.defaultText),marginTop:t?12:0,marginBottom:12})),XE=_.td(({theme:e,expandable:t})=>({paddingLeft:t?"40px !important":"20px !important"})),Zr=e=>{var d;let{row:t,updateArgs:r,compact:n,expandable:o,initialExpandedArgs:l}=e,{name:i,description:u}=t,s=t.table||{},c=s.type||t.type,p=s.defaultValue||t.defaultValue,h=(d=t.type)==null?void 0:d.required,g=u!=null&&u!=="";return a.createElement("tr",null,a.createElement(XE,{expandable:o},a.createElement(WE,null,i),h?a.createElement(GE,{title:"Required"},"*"):null),n?null:a.createElement("td",null,g&&a.createElement(YE,null,a.createElement(Yu,null,u)),s.jsDocTags!=null?a.createElement(a.Fragment,null,a.createElement(JE,{hasDescription:g},a.createElement(Qn,{value:c,initialExpandedArgs:l})),a.createElement(R6,{tags:s.jsDocTags})):a.createElement(KE,{hasDescription:g},a.createElement(Qn,{value:c,initialExpandedArgs:l}))),n?null:a.createElement("td",null,a.createElement(Qn,{value:p,initialExpandedArgs:l})),r?a.createElement("td",null,a.createElement(UE,{...e})):null)},QE=_(we)(({theme:e})=>({marginRight:8,marginLeft:-10,marginTop:-2,height:12,width:12,color:e.base==="light"?ee(.25,e.color.defaultText):ee(.3,e.color.defaultText),border:"none",display:"inline-block"})),e8=_.span(({theme:e})=>({display:"flex",lineHeight:"20px",alignItems:"center"})),t8=_.td(({theme:e})=>({position:"relative",letterSpacing:"0.35em",textTransform:"uppercase",fontWeight:e.typography.weight.bold,fontSize:e.typography.size.s1-1,color:e.base==="light"?ee(.4,e.color.defaultText):ee(.6,e.color.defaultText),background:`${e.background.app} !important`,"& ~ td":{background:`${e.background.app} !important`}})),r8=_.td(({theme:e})=>({position:"relative",fontWeight:e.typography.weight.bold,fontSize:e.typography.size.s2-1,background:e.background.app})),n8=_.td(()=>({position:"relative"})),a8=_.tr(({theme:e})=>({"&:hover > td":{backgroundColor:`${wt(.005,e.background.app)} !important`,boxShadow:`${e.color.mediumlight} 0 - 1px 0 0 inset`,cursor:"row-resize"}})),Ci=_.button(()=>({background:"none",border:"none",padding:"0",font:"inherit",position:"absolute",top:0,bottom:0,left:0,right:0,height:"100%",width:"100%",color:"transparent",cursor:"row-resize !important"})),ta=({level:e="section",label:t,children:r,initialExpanded:n=!0,colSpan:o=3})=>{let[l,i]=x.useState(n),u=e==="subsection"?r8:t8,s=(r==null?void 0:r.length)||0,c=e==="subsection"?`${s} item${s!==1?"s":""}`:"",p=l?"arrowdown":"arrowright",h=`${l?"Hide":"Show"} ${e==="subsection"?s:t} item${s!==1?"s":""}`;return a.createElement(a.Fragment,null,a.createElement(a8,{title:h},a.createElement(u,{colSpan:1},a.createElement(Ci,{onClick:g=>i(!l),tabIndex:0},h),a.createElement(e8,null,a.createElement(QE,{icon:p}),t)),a.createElement(n8,{colSpan:o-1},a.createElement(Ci,{onClick:g=>i(!l),tabIndex:-1,style:{outline:"none"}},h),l?null:c)),l?r:null)},o8=_.table(({theme:e,compact:t,inAddonPanel:r})=>({"&&":{borderSpacing:0,color:e.color.defaultText,"td, th":{padding:0,border:"none",verticalAlign:"top",textOverflow:"ellipsis"},fontSize:e.typography.size.s2-1,lineHeight:"20px",textAlign:"left",width:"100%",marginTop:r?0:25,marginBottom:r?0:40,"thead th:first-of-type, td:first-of-type":{width:"25%"},"th:first-of-type, td:first-of-type":{paddingLeft:20},"th:nth-of-type(2), td:nth-of-type(2)":{...t?null:{width:"35%"}},"td:nth-of-type(3)":{...t?null:{width:"15%"}},"th:last-of-type, td:last-of-type":{paddingRight:20,...t?null:{width:"25%"}},th:{color:e.base==="light"?ee(.25,e.color.defaultText):ee(.45,e.color.defaultText),paddingTop:10,paddingBottom:10,paddingLeft:15,paddingRight:15},td:{paddingTop:"10px",paddingBottom:"10px","&:not(:first-of-type)":{paddingLeft:15,paddingRight:15},"&:last-of-type":{paddingRight:20}},marginLeft:r?0:1,marginRight:r?0:1,tbody:{...r?null:{filter:e.base==="light"?"drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.10))":"drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.20))"},"> tr > *":{background:e.background.content,borderTop:`1px solid ${e.appBorderColor}`},...r?null:{"> tr:first-of-type > *":{borderBlockStart:`1px solid ${e.appBorderColor}`},"> tr:last-of-type > *":{borderBlockEnd:`1px solid ${e.appBorderColor}`},"> tr > *:first-of-type":{borderInlineStart:`1px solid ${e.appBorderColor}`},"> tr > *:last-of-type":{borderInlineEnd:`1px solid ${e.appBorderColor}`},"> tr:first-of-type > td:first-of-type":{borderTopLeftRadius:e.appBorderRadius},"> tr:first-of-type > td:last-of-type":{borderTopRightRadius:e.appBorderRadius},"> tr:last-of-type > td:first-of-type":{borderBottomLeftRadius:e.appBorderRadius},"> tr:last-of-type > td:last-of-type":{borderBottomRightRadius:e.appBorderRadius}}}}}),({isLoading:e,theme:t})=>e?{"th span, td span, td button":{display:"inline",backgroundColor:t.appBorderColor,animation:`${t.animation.glow} 1.5s ease-in-out infinite`,color:"transparent",boxShadow:"none",borderRadius:0}}:{}),l8=_(kt)(({theme:e})=>({color:e.barTextColor,margin:"-4px -12px -4px 0"})),i8=_.span({display:"flex",justifyContent:"space-between"}),s8={alpha:(e,t)=>e.name.localeCompare(t.name),requiredFirst:(e,t)=>{var r,n;return+!!((r=t.type)!=null&&r.required)-+!!((n=e.type)!=null&&n.required)||e.name.localeCompare(t.name)},none:void 0},ra=e=>({key:e,name:"propertyName",description:"This is a short description",control:{type:"text"},table:{type:{summary:"summary"},defaultValue:{summary:"defaultValue"}}}),u8={rows:{row1:ra("row1"),row2:ra("row2"),row3:ra("row3")}},c8=(e,t)=>{let r={ungrouped:[],ungroupedSubsections:{},sections:{}};if(!e)return r;Object.entries(e).forEach(([l,i])=>{let{category:u,subcategory:s}=(i==null?void 0:i.table)||{};if(u){let c=r.sections[u]||{ungrouped:[],subsections:{}};if(!s)c.ungrouped.push({key:l,...i});else{let p=c.subsections[s]||[];p.push({key:l,...i}),c.subsections[s]=p}r.sections[u]=c}else if(s){let c=r.ungroupedSubsections[s]||[];c.push({key:l,...i}),r.ungroupedSubsections[s]=c}else r.ungrouped.push({key:l,...i})});let n=s8[t],o=l=>n?Object.keys(l).reduce((i,u)=>({...i,[u]:l[u].sort(n)}),{}):l;return{ungrouped:r.ungrouped.sort(n),ungroupedSubsections:o(r.ungroupedSubsections),sections:Object.keys(r.sections).reduce((l,i)=>({...l,[i]:{ungrouped:r.sections[i].ungrouped.sort(n),subsections:o(r.sections[i].subsections)}}),{})}},d8=(e,t,r)=>{try{return h5(e,t,r)}catch(n){return Qv.warn(n.message),!1}},Ut=e=>{if("error"in e)return a.createElement(Ca,null,e.error," ",a.createElement(vr,{href:"http://storybook.js.org/docs/",target:"_blank",withArrow:!0},"Read the docs"));let{updateArgs:t,resetArgs:r,compact:n,inAddonPanel:o,initialExpandedArgs:l,sort:i="none"}=e,u="isLoading"in e,{rows:s,args:c,globals:p}="rows"in e?e:u8,h=c8(ch(s,f=>{var v;return!((v=f==null?void 0:f.table)!=null&&v.disable)&&d8(f,c||{},p||{})}),i);if(h.ungrouped.length===0&&Object.entries(h.sections).length===0&&Object.entries(h.ungroupedSubsections).length===0)return a.createElement(Ca,null,"No inputs found for this component. ",a.createElement(vr,{href:"http://storybook.js.org/docs/",target:"_blank",withArrow:!0},"Read the docs"));let g=1;t&&(g+=1),n||(g+=2);let d=Object.keys(h.sections).length>0,m={updateArgs:t,compact:n,inAddonPanel:o,initialExpandedArgs:l};return a.createElement(po,null,a.createElement(o8,{"aria-hidden":u,compact:n,inAddonPanel:o,isLoading:u,className:"docblock-argstable sb-unstyled"},a.createElement("thead",{className:"docblock-argstable-head"},a.createElement("tr",null,a.createElement("th",null,a.createElement("span",null,"Name")),n?null:a.createElement("th",null,a.createElement("span",null,"Description")),n?null:a.createElement("th",null,a.createElement("span",null,"Default")),t?a.createElement("th",null,a.createElement(i8,null,"Control"," ",!u&&r&&a.createElement(l8,{onClick:()=>r(),title:"Reset controls"},a.createElement(we,{icon:"undo","aria-hidden":!0})))):null)),a.createElement("tbody",{className:"docblock-argstable-body"},h.ungrouped.map(f=>a.createElement(Zr,{key:f.key,row:f,arg:c&&c[f.key],...m})),Object.entries(h.ungroupedSubsections).map(([f,v])=>a.createElement(ta,{key:f,label:f,level:"subsection",colSpan:g},v.map(y=>a.createElement(Zr,{key:y.key,row:y,arg:c&&c[y.key],expandable:d,...m})))),Object.entries(h.sections).map(([f,v])=>a.createElement(ta,{key:f,label:f,level:"section",colSpan:g},v.ungrouped.map(y=>a.createElement(Zr,{key:y.key,row:y,arg:c&&c[y.key],...m})),Object.entries(v.subsections).map(([y,C])=>a.createElement(ta,{key:y,label:y,level:"subsection",colSpan:g},C.map(b=>a.createElement(Zr,{key:b.key,row:b,arg:c&&c[b.key],expandable:d,...m})))))))))},Sc=({tabs:e,...t})=>{let r=Object.entries(e);return r.length===1?a.createElement(Ut,{...r[0][1],...t}):a.createElement(Eo,null,r.map(n=>{let[o,l]=n,i=`prop_table_div_${o}`;return a.createElement("div",{key:i,id:i,title:o},({active:u})=>u?a.createElement(Ut,{key:`prop_table_${o}`,...l,...t}):null)}))};_.div(({theme:e})=>({background:e.background.warning,color:e.color.darkest,padding:"10px 15px",lineHeight:"20px",boxShadow:`${e.appBorderColor} 0 -1px 0 0 inset`}));_.div(({theme:e})=>({marginRight:30,fontSize:`${e.typography.size.s1}px`,color:e.base==="light"?ee(.4,e.color.defaultText):ee(.6,e.color.defaultText)}));_.div({overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"});_.div({display:"flex",flexDirection:"row",alignItems:"baseline","&:not(:last-child)":{marginBottom:"1rem"}});_.div(te,({theme:e})=>({...On(e),margin:"25px 0 40px",padding:"30px 20px"}));_.div(({theme:e})=>({fontWeight:e.typography.weight.bold,color:e.color.defaultText}));_.div(({theme:e})=>({color:e.base==="light"?ee(.2,e.color.defaultText):ee(.6,e.color.defaultText)}));_.div({flex:"0 0 30%",lineHeight:"20px",marginTop:5});_.div(({theme:e})=>({flex:1,textAlign:"center",fontFamily:e.typography.fonts.mono,fontSize:e.typography.size.s1,lineHeight:1,overflow:"hidden",color:e.base==="light"?ee(.4,e.color.defaultText):ee(.6,e.color.defaultText),"> div":{display:"inline-block",overflow:"hidden",maxWidth:"100%",textOverflow:"ellipsis"},span:{display:"block",marginTop:2}}));_.div({display:"flex",flexDirection:"row"});_.div(({background:e})=>({position:"relative",flex:1,"&::before":{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:e,content:'""'}}));_.div(({theme:e})=>({...On(e),display:"flex",flexDirection:"row",height:50,marginBottom:5,overflow:"hidden",backgroundColor:"white",backgroundImage:"repeating-linear-gradient(-45deg, #ccc, #ccc 1px, #fff 1px, #fff 16px)",backgroundClip:"padding-box"}));_.div({display:"flex",flexDirection:"column",flex:1,position:"relative",marginBottom:30});_.div({flex:1,display:"flex",flexDirection:"row"});_.div({display:"flex",alignItems:"flex-start"});_.div({flex:"0 0 30%"});_.div({flex:1});_.div(({theme:e})=>({display:"flex",flexDirection:"row",alignItems:"center",paddingBottom:20,fontWeight:e.typography.weight.bold,color:e.base==="light"?ee(.4,e.color.defaultText):ee(.6,e.color.defaultText)}));_.div(({theme:e})=>({fontSize:e.typography.size.s2,lineHeight:"20px",display:"flex",flexDirection:"column"}));_.div(({theme:e})=>({fontFamily:e.typography.fonts.base,fontSize:e.typography.size.s2,color:e.color.defaultText,marginLeft:10,lineHeight:1.2}));_.div(({theme:e})=>({...On(e),overflow:"hidden",height:40,width:40,display:"flex",alignItems:"center",justifyContent:"center",flex:"none","> img, > svg":{width:20,height:20}}));_.div({display:"inline-flex",flexDirection:"row",alignItems:"center",flex:"0 1 calc(20% - 10px)",minWidth:120,margin:"0px 10px 30px 0"});_.div({display:"flex",flexFlow:"row wrap"});var p8=e=>`anchor--${e}`,kc=({storyId:e,children:t})=>a.createElement("div",{id:p8(e),className:"sb-anchor"},t);ye&&ye.__DOCS_CONTEXT__===void 0&&(ye.__DOCS_CONTEXT__=x.createContext(null),ye.__DOCS_CONTEXT__.displayName="DocsContext");var fe=ye?ye.__DOCS_CONTEXT__:x.createContext(null),Tn=(e,t)=>x.useContext(fe).resolveOf(e,t),Zo="^",f8=e=>e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(""),_c=e=>{if(e)return typeof e=="string"?e.includes("-")?f8(e):e:e.__docgenInfo&&e.__docgenInfo.displayName?e.__docgenInfo.displayName:e.name};function m8(e,t="start"){e.scrollIntoView({behavior:"smooth",block:t,inline:"nearest"})}function Oc(e,t){let r=jo([e],t);return r&&r[0]}function jo(e,t){let[r,n]=x.useState({});return x.useEffect(()=>{Promise.all(e.map(async o=>{let l=await t.loadStory(o);n(i=>i[o]===l?i:{...i,[o]:l})}))}),e.map(o=>{if(r[o])return r[o];try{return t.storyById(o)}catch{return null}})}var g8=(e,t)=>{let r=t.getStoryContext(t.storyById()),[n,o]=x.useState(r.args);x.useEffect(()=>{let u=s=>{s.storyId===e&&o(s.args)};return t.channel.on(rn,u),()=>t.channel.off(rn,u)},[e]);let l=x.useCallback(u=>t.channel.emit(uc,{storyId:e,updatedArgs:u}),[e]),i=x.useCallback(u=>t.channel.emit(cc,{storyId:e,argNames:u}),[e]);return[n,l,i]},h8=e=>{let t=e.getStoryContext(e.storyById()),[r,n]=x.useState(t.globals);return x.useEffect(()=>{let o=l=>{n(l.globals)};return e.channel.on(nn,o),()=>e.channel.off(nn,o)},[]),[r]},Rc=(e,t,r,n)=>{let{extractArgTypes:o}=t.docs||{};if(!o)throw new Error("Args unsupported. See Args documentation for your framework.");let l=o(e);return l=Do(l,r,n),l},Si=e=>e&&[Zo].includes(e),y8=(e={},t)=>{let{of:r}=e,{story:n}=e;if(Si(r)||Si(n))return t||null;if(!r)throw new Error("No component found.");return r},Ta=(e,t,r,n,o,l)=>({...e,...p0(t,i=>({rows:Rc(i,r,n,o),sort:l}))}),b8=e=>{let t=x.useContext(fe),{story:r,component:n,subcomponents:o,showComponent:l,include:i,exclude:u,sort:s}=e;try{let c;switch(r){case Zo:{c=t.storyById().id;break}default:c=t.storyIdByName(r)}let p=Oc(c,t),[h,g,d]=g8(c,t),[m]=h8(t);if(!p)return a.createElement(Ut,{isLoading:!0,updateArgs:g,resetArgs:d});let f=Do(p.argTypes,i,u),v=_c(n)||"Story",y={[v]:{rows:f,args:h,globals:m,updateArgs:g,resetArgs:d}},C=f&&Object.values(f).find(b=>!!(b!=null&&b.control));if(C||(g=null,d=null,y={}),n&&(!C||l)&&(y=Ta(y,{[v]:n},p.parameters,i,u)),o){if(Array.isArray(o))throw new Error("Unexpected subcomponents array. Expected an object whose keys are tab labels and whose values are components.");y=Ta(y,o,p.parameters,i,u)}return a.createElement(Sc,{tabs:y,sort:s})}catch(c){return a.createElement(Ut,{error:c.message})}},ki=e=>{let{components:t,include:r,exclude:n,sort:o,parameters:l}=e,i=Ta({},t,l,r,n);return a.createElement(Sc,{tabs:i,sort:o})},v8=e=>{var d;ue(be`The ArgsTable doc block is deprecated. Instead use the ArgTypes doc block for static tables or the Controls doc block for tables with controls. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#argstable-block + `);let t=x.useContext(fe),r,n,o;try{({parameters:r,component:n,subcomponents:o}=t.storyById())}catch{let{of:m}=e;if("of"in e&&m===void 0)throw new Error("Unexpected `of={undefined}`, did you mistype a CSF file reference?");({projectAnnotations:{parameters:r}}=t.resolveOf(m,["component"]))}let{include:l,exclude:i,components:u,sort:s}=e,{story:c}=e,p=s||((d=r.controls)==null?void 0:d.sort),h=y8(e,n);if(c)return a.createElement(b8,{...e,component:h,subcomponents:o,sort:p});if(!u&&!o){let m;try{m={rows:Rc(h,r,l,i)}}catch(f){m={error:f.message}}return a.createElement(Ut,{...m,sort:p})}if(u)return a.createElement(ki,{...e,components:u,sort:p,parameters:r});let g=_c(h);return a.createElement(ki,{...e,components:{[g]:h,...o},sort:p,parameters:r})};v8.defaultProps={of:Zo};function Tc(e){return Xv(e)}var Fc=x.createContext({sources:{}}),Dc="--unknown--",E8=({children:e,channel:t})=>{let[r,n]=x.useState({});return x.useEffect(()=>{let o=(l,i=null,u=!1)=>{let{id:s,args:c=void 0,source:p,format:h}=typeof l=="string"?{id:l,source:i,format:u}:l,g=c?Tc(c):Dc;n(d=>({...d,[s]:{...d[s],[g]:{code:p,format:h}}}))};return t.on(Go,o),()=>t.off(Go,o)},[]),a.createElement(Fc.Provider,{value:{sources:r}},e)},x8=(e=>(e.OPEN="open",e.CLOSED="closed",e.NONE="none",e))(x8||{}),A8=e=>{let t=e.map(r=>{var n,o;return(o=(n=r.parameters.docs)==null?void 0:n.source)==null?void 0:o.state}).filter(Boolean);return t.length===0?"closed":t[0]},w8=(e,t,r)=>{let{sources:n}=r,o=n==null?void 0:n[e];return(o==null?void 0:o[Tc(t)])||(o==null?void 0:o[Dc])||{code:""}},C8=({snippet:e,storyContext:t,typeFromProps:r,transformFromProps:n})=>{var s,c,p,h,g,d;let{__isArgsStory:o}=t.parameters,l=((s=t.parameters.docs)==null?void 0:s.source)||{},i=r||l.type||Ln.AUTO;if(l.code!==void 0)return l.code;let u=i===Ln.DYNAMIC||i===Ln.AUTO&&e&&o?e:l.originalSource||"";return l.transformSource&&ue(be`The \`transformSource\` parameter at \`parameters.docs.source.transformSource\` is deprecated, please use \`parameters.docs.source.transform\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block + `),(c=t.parameters.docs)!=null&&c.transformSource&&ue(be`The \`transformSource\` parameter at \`parameters.docs.transformSource\` is deprecated, please use \`parameters.docs.source.transform\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block + `),(p=t.parameters.jsx)!=null&&p.transformSource&&ue(be`The \`transformSource\` parameter at \`parameters.jsx.transformSource\` is deprecated, please use \`parameters.docs.source.transform\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block + `),((d=n??l.transform??l.transformSource??((h=t.parameters.docs)==null?void 0:h.transformSource)??((g=t.parameters.jsx)==null?void 0:g.transformSource))==null?void 0:d(u,t))||u},Lc=(e,t,r)=>{var d,m,f;let n=e.ids||(e.id?[e.id]:[]),o=jo(n,t),l=o,{of:i}=e;if("of"in e&&i===void 0)throw new Error("Unexpected `of={undefined}`, did you mistype a CSF file reference?");if(i)l=[t.resolveOf(i,["story"]).story];else if(l.length===0)try{l=[t.storyById()]}catch{}if(!o.every(Boolean))return{error:"Oh no! The source is not available.",state:"none"};let u=((f=(m=(d=l[0])==null?void 0:d.parameters)==null?void 0:m.docs)==null?void 0:f.source)||{},{code:s}=e,c=e.format??u.format,p=e.language??u.language??"jsx",h=e.dark??u.dark??!1;s||(s=l.map((v,y)=>{var A,w;if(!v)return"";let C=t.getStoryContext(v),b=e.__forceInitialArgs?C.initialArgs:C.unmappedArgs,E=w8(v.id,b,r);return y===0&&(c=E.format??((w=(A=v.parameters.docs)==null?void 0:A.source)==null?void 0:w.format)??!1),C8({snippet:E.code,storyContext:{...C,args:b},typeFromProps:e.type,transformFromProps:e.transform})}).join(` + +`));let g=A8(l);return s?{code:s,format:c,language:p,dark:h,state:g}:{error:"Oh no! The source is not available.",state:g}},Mc=(e,t)=>{let{id:r,of:n,meta:o,story:l}=e;if("of"in e&&n===void 0)throw new Error("Unexpected `of={undefined}`, did you mistype a CSF file reference?");if(r)return ue(be`Referencing stories by \`id\` is deprecated, please use \`of\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#story-block'`),r;let{name:i}=e;return i?(ue(be`Referencing stories by \`name\` is deprecated, please use \`of\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#story-block'`),t.storyIdByName(i)):(l&&ue(be`The \`story\` prop is deprecated, please export your stories from CSF files and reference them with \`of={}\`. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#story-block'`),o&&t.referenceMeta(o,!1),t.resolveOf(n||l||"story",["story"]).story.id)},S8=(e,t,r)=>{let{parameters:n={}}=t||{},{docs:o={}}=n,l=o.story||{};if(o.disable)return null;let{inlineStories:i,iframeHeight:u}=o;typeof i<"u"&&ue(be`The \`docs.inlineStories\` parameter is deprecated, use \`docs.story.inline\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#autodocs-changes' + `);let s=e.inline??l.inline??i??!1;if(typeof u<"u"&&ue(be`The \`docs.iframeHeight\` parameter is deprecated, use \`docs.story.iframeHeight\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#autodocs-changes' + `),s){let p=e.height??l.height,h=e.autoplay??l.autoplay??!1;return{story:t,inline:!0,height:p,autoplay:h,forceInitialArgs:!!e.__forceInitialArgs,primary:!!e.__primary,renderStoryToElement:r.renderStoryToElement}}let c=e.height??l.height??l.iframeHeight??u??"100px";return{story:t,inline:!1,height:c,primary:!!e.__primary}},k8=(e={__forceInitialArgs:!1,__primary:!1})=>{let t=x.useContext(fe),r=Mc(e,t),n=Oc(r,t);if(!n)return a.createElement(Bo,null);let o=S8(e,n,t);return o?a.createElement(v6,{...o}):null},_8=({withSource:e,mdxSource:t,children:r,layout:n,...o},l,i)=>{let u=x.Children.toArray(r).filter(g=>g.props&&(g.props.id||g.props.name||g.props.of)).map(g=>Mc(g.props,l)),s=jo(u,l),c=s.some(g=>!g),p=Lc({...t?{code:decodeURI(t)}:{ids:u},...o.of&&{of:o.of}},l,i);if(e==="none")return{isLoading:c,previewProps:o};let h=n;return x.Children.forEach(r,g=>{var d,m;h||(h=(m=(d=g==null?void 0:g.props)==null?void 0:d.parameters)==null?void 0:m.layout)}),s.forEach(g=>{var d,m;h||!g||(h=(g==null?void 0:g.parameters.layout)??((m=(d=g.parameters.docs)==null?void 0:d.canvas)==null?void 0:m.layout))}),{isLoading:c,previewProps:{...o,layout:h??"padded",withSource:p,isExpanded:(e||p.state)==="open"}}},O8=e=>{var v,y,C,b,E,A,w,k,S,O;let t=x.useContext(fe),r=x.useContext(Fc),{children:n,of:o,source:l}=e;if("of"in e&&o===void 0)throw new Error("Unexpected `of={undefined}`, did you mistype a CSF file reference?");let{isLoading:i,previewProps:u}=_8(e,t,r),s,c,p;try{({story:s}=Tn(o||"story",["story"]))}catch(R){n||(p=R)}try{c=Lc({...l,...o&&{of:o}},t,r)}catch(R){n||(p=R)}if(p)throw p;if(e.withSource&&ue(be`Setting source state with \`withSource\` is deprecated, please use \`sourceState\` with 'hidden', 'shown' or 'none' instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block + `),e.mdxSource&&ue(be`Setting source code with \`mdxSource\` is deprecated, please use source={{code: '...'}} instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block + `),(e.isColumn!==void 0||e.columns!==void 0)&&ue(be`\`isColumn\` and \`columns\` props are deprecated as the Canvas block now only supports showing a single story. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block + `),n)return ue(be`Passing children to Canvas is deprecated, please use the \`of\` prop instead to reference a story. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block + `),i?a.createElement(_6,null):a.createElement(ka,{...u},n);let h=e.layout??s.parameters.layout??((y=(v=s.parameters.docs)==null?void 0:v.canvas)==null?void 0:y.layout)??"padded",g=e.withToolbar??((b=(C=s.parameters.docs)==null?void 0:C.canvas)==null?void 0:b.withToolbar)??!1,d=e.additionalActions??((A=(E=s.parameters.docs)==null?void 0:E.canvas)==null?void 0:A.additionalActions),m=e.sourceState??((k=(w=s.parameters.docs)==null?void 0:w.canvas)==null?void 0:k.sourceState)??"hidden",f=e.className??((O=(S=s.parameters.docs)==null?void 0:S.canvas)==null?void 0:O.className);return a.createElement(ka,{withSource:m==="none"?void 0:c,isExpanded:m==="shown",withToolbar:g,additionalActions:d,className:f,layout:h},a.createElement(k8,{of:o||s.moduleExport,meta:e.meta,...e.story}))},R8=(e,t)=>{let r=t.getStoryContext(e),[n,o]=x.useState(r.globals);return x.useEffect(()=>{let l=i=>{o(i.globals)};return t.channel.on(nn,l),()=>t.channel.off(nn,l)},[t.channel]),[n]},T8=(e,t)=>{let r=F8(e,t);if(!r)throw new Error("No result when story was defined");return r},F8=(e,t)=>{let r=e?t.getStoryContext(e):{args:{}},{id:n}=e||{id:"none"},[o,l]=x.useState(r.args);x.useEffect(()=>{let s=c=>{c.storyId===n&&l(c.args)};return t.channel.on(rn,s),()=>t.channel.off(rn,s)},[n,t.channel]);let i=x.useCallback(s=>t.channel.emit(uc,{storyId:n,updatedArgs:s}),[n,t.channel]),u=x.useCallback(s=>t.channel.emit(cc,{storyId:n,argNames:s}),[n,t.channel]);return e&&[o,i,u]},D8=e=>{var f;let{of:t}=e;if("of"in e&&t===void 0)throw new Error("Unexpected `of={undefined}`, did you mistype a CSF file reference?");let r=x.useContext(fe),{story:n}=r.resolveOf(t||"story",["story"]),{parameters:o,argTypes:l}=n,i=((f=o.docs)==null?void 0:f.controls)||{},u=e.include??i.include,s=e.exclude??i.exclude,c=e.sort??i.sort,[p,h,g]=T8(n,r),[d]=R8(n,r),m=Do(l,u,s);return a.createElement(Ut,{rows:m,args:p,globals:d,updateArgs:h,resetArgs:g,sort:c})},{document:Bc}=ye,L8=({className:e,children:t,...r})=>{if(typeof e!="string"&&(typeof t!="string"||!t.match(/[\n\r]/g)))return a.createElement(so,null,t);let n=e&&e.split("-");return a.createElement(Lo,{language:n&&n[1]||"plaintext",format:!1,code:t,...r})};function Ho(e,t){e.channel.emit(e6,t)}var Fa=Cu.a,M8=({hash:e,children:t})=>{let r=x.useContext(fe);return a.createElement(Fa,{href:e,target:"_self",onClick:n=>{let o=e.substring(1);Bc.getElementById(o)&&Ho(r,e)}},t)},B8=e=>{let{href:t,target:r,children:n,...o}=e,l=x.useContext(fe);if(t){if(t.startsWith("#"))return a.createElement(M8,{hash:t},n);if(r!=="_blank"&&!t.startsWith("https://"))return a.createElement(Fa,{href:t,onClick:i=>{i.button===0&&!i.altKey&&!i.ctrlKey&&!i.metaKey&&!i.shiftKey&&(i.preventDefault(),Ho(l,i.currentTarget.getAttribute("href")))},target:r,...o},n)}return a.createElement(Fa,{...e})},$c=["h1","h2","h3","h4","h5","h6"],$8=$c.reduce((e,t)=>({...e,[t]:_(t)({"& svg":{position:"relative",top:"-0.1em",visibility:"hidden"},"&:hover svg":{visibility:"visible"}})}),{}),I8=_.a(()=>({float:"left",lineHeight:"inherit",paddingRight:"10px",marginLeft:"-24px",color:"inherit"})),Z8=({as:e,id:t,children:r,...n})=>{let o=x.useContext(fe),l=$8[e],i=`#${t}`;return a.createElement(l,{id:t,...n},a.createElement(I8,{"aria-hidden":"true",href:i,tabIndex:-1,target:"_self",onClick:u=>{Bc.getElementById(t)&&Ho(o,i)}},a.createElement(we,{icon:"link"})),r)},No=e=>{let{as:t,id:r,children:n,...o}=e;if(r)return a.createElement(Z8,{as:t,id:r,...o},n);let l=t,{as:i,...u}=e;return a.createElement(l,{...Q(u,t)})},j8=$c.reduce((e,t)=>({...e,[t]:r=>a.createElement(No,{as:t,...r})}),{}),H8=e=>{var t;if(!e.children)return null;if(typeof e.children!="string")throw new Error(be`The Markdown block only accepts children as a single string, but children were of type: '${typeof e.children}' + This is often caused by not wrapping the child in a template string. + + This is invalid: + + # Some heading + A paragraph + + + Instead do: + + {\` + # Some heading + A paragraph + \`} + + `);return a.createElement(Yu,{...e,options:{forceBlock:!0,overrides:{code:L8,a:B8,...j8,...(t=e==null?void 0:e.options)==null?void 0:t.overrides},...e==null?void 0:e.options}})},N8=(e=>(e.INFO="info",e.NOTES="notes",e.DOCGEN="docgen",e.AUTO="auto",e))(N8||{}),Yr="https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#description-block-parametersnotes-and-parametersinfo",P8=e=>e&&(typeof e=="string"?e:aa(e.markdown)||aa(e.text)),V8=e=>e&&(typeof e=="string"?e:aa(e.text)),z8=e=>null,q8=e=>{var t,r,n,o,l,i,u,s;switch(e.type){case"story":return((r=(t=e.story.parameters.docs)==null?void 0:t.description)==null?void 0:r.story)||null;case"meta":{let{parameters:c,component:p}=e.preparedMeta;return((o=(n=c.docs)==null?void 0:n.description)==null?void 0:o.component)||((i=(l=c.docs)==null?void 0:l.extractComponentDescription)==null?void 0:i.call(l,p,{component:p,parameters:c}))||null}case"component":{let{component:c,projectAnnotations:{parameters:p}}=e;return((s=(u=p.docs)==null?void 0:u.extractComponentDescription)==null?void 0:s.call(u,c,{component:c,parameters:p}))||null}default:throw new Error(`Unrecognized module type resolved from 'useOf', got: ${e.type}`)}},U8=({type:e,markdown:t,children:r},{storyById:n})=>{let{component:o,parameters:l}=n();if(r||t)return r||t;let{notes:i,info:u,docs:s}=l;(i||u)&&ue(`Using 'parameters.notes' or 'parameters.info' properties to describe stories is deprecated. See ${Yr}`);let{extractComponentDescription:c=z8,description:p}=s||{},h=p==null?void 0:p.component;if(h)return h;switch(e){case"info":return V8(u);case"notes":return P8(i);case"docgen":case"auto":default:return c(o,{component:o,...l})}},Da=e=>{let{of:t,type:r,markdown:n,children:o}=e;if("of"in e&&t===void 0)throw new Error("Unexpected `of={undefined}`, did you mistype a CSF file reference?");let l=x.useContext(fe),i=Tn(t||"meta"),u;return r||n||o?u=U8(e,l):u=q8(i),r&&ue(`Manually specifying description type is deprecated. See ${Yr}`),n&&ue(`The 'markdown' prop on the Description block is deprecated. See ${Yr}`),o&&ue(`The 'children' prop on the Description block is deprecated. See ${Yr}`),u?a.createElement(H8,null,u):null},{document:W8,window:G8}=ye,Y8=({context:e,theme:t,children:r})=>(x.useEffect(()=>{let n;try{if(n=new URL(G8.parent.location.toString()),n.hash){let o=W8.getElementById(n.hash.substring(1));o&&setTimeout(()=>{m8(o)},200)}}catch{}}),a.createElement(fe.Provider,{value:e},a.createElement(E8,{channel:e.channel},a.createElement(Qi,{theme:W1(t)},a.createElement(u6,null,r))))),K8=/\s*\/\s*/,J8=e=>{let t=e.trim().split(K8);return t&&t[t.length-1]||e},X8=({children:e})=>{let t=x.useContext(fe),r=e||J8(t.storyById().title);return r?a.createElement(o6,{className:"sbdocs-title sb-unstyled"},r):null},Q8=({children:e})=>{let t=x.useContext(fe),{parameters:r}=t.storyById(),n=e||(r==null?void 0:r.componentSubtitle);return n?a.createElement(l6,{className:"sbdocs-subtitle sb-unstyled"},n):null},ex=({children:e,disableAnchor:t})=>{if(t||typeof e!="string")return a.createElement(co,null,e);let r=e.toLowerCase().replace(/[^a-z0-9]/gi,"-");return a.createElement(No,{as:"h3",id:r},e)},Ic=({of:e,expanded:t=!0,withToolbar:r=!1,__forceInitialArgs:n=!1,__primary:o=!1})=>{var u,s;let{story:l}=Tn(e||"story",["story"]),i=((s=(u=l.parameters.docs)==null?void 0:u.canvas)==null?void 0:s.withToolbar)??r;return a.createElement(kc,{storyId:l.id},t&&a.createElement(a.Fragment,null,a.createElement(ex,null,l.name),a.createElement(Da,{of:e})),a.createElement(O8,{of:e,withToolbar:i,story:{__forceInitialArgs:n,__primary:o},source:{__forceInitialArgs:n}}))},tx=({name:e})=>{let t=x.useContext(fe);e&&ue(be`\`name\` prop is deprecated on the Primary block. + The Primary block should only be used to render the primary story, which is automatically found. + `);let r=e&&t.storyIdByName(e),n=t.storyById(r);return n?a.createElement(Ic,{of:n.moduleExport,expanded:!1,__primary:!0,withToolbar:!0}):null},rx=({children:e,disableAnchor:t,...r})=>{if(t||typeof e!="string")return a.createElement(uo,null,e);let n=e.toLowerCase().replace(/[^a-z0-9]/gi,"-");return a.createElement(No,{as:"h2",id:n,...r},e)},nx=_(rx)(({theme:e})=>({fontSize:`${e.typography.size.s2-1}px`,fontWeight:e.typography.weight.bold,lineHeight:"16px",letterSpacing:"0.35em",textTransform:"uppercase",color:e.textMutedColor,border:0,marginBottom:"12px","&:first-of-type":{marginTop:"56px"}})),Zc=({title:e,includePrimary:t=!0})=>{let{componentStories:r}=x.useContext(fe),n=r().filter(o=>{var l,i;return!((i=(l=o.parameters)==null?void 0:l.docs)!=null&&i.disable)});return t||(n=n.slice(1)),!n||n.length===0?null:a.createElement(a.Fragment,null,a.createElement(nx,null,e),n.map(o=>o&&a.createElement(Ic,{key:o.id,of:o.moduleExport,expanded:!0,__forceInitialArgs:!0})))};Zc.defaultProps={title:"Stories"};var ax=()=>{let e=Tn("meta",["meta"]),{stories:t}=e.csfFile,r=Object.keys(t).length===1;return a.createElement(a.Fragment,null,a.createElement(X8,null),a.createElement(Q8,null),a.createElement(Da,{of:"meta"}),r?a.createElement(Da,{of:"story"}):null,a.createElement(tx,null),a.createElement(D8,null),r?null:a.createElement(Zc,null))},yx=({docsParameter:e,context:t})=>{let r=e.container||Y8,n=e.page||ax;return a.createElement(r,{context:t,theme:e.theme},a.createElement(n,null))},bx=({of:e})=>{let t=x.useContext(fe);e&&t.referenceMeta(e,!0);try{let r=t.storyById();return a.createElement(kc,{storyId:r.id})}catch{return null}};export{v8 as A,L8 as C,yx as D,Ie as F,h1 as G,j8 as H,we as I,bx as M,xs as S,im as T,a5 as W,_e as _,Ls as a,k8 as b,vs as c,B8 as d,N as e,_ as f,Qf as g,Ze as h,Gt as k,Ot as m,fx as s}; +//# sourceMappingURL=index-96a2bc4b.js.map diff --git a/assets/index-96a2bc4b.js.map b/assets/index-96a2bc4b.js.map new file mode 100644 index 00000000..5094c97b --- /dev/null +++ b/assets/index-96a2bc4b.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"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AG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAE,GAAG,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAE,GA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","names":["getControlId","value","getControlSetterButtonId","syncFallback","create","useInsertionEffect","React","useInsertionEffectAlwaysWithSyncFallback","useInsertionEffectWithLayoutFallback","React.useLayoutEffect","f","module","e","t","n","r","s","o","u","a","require","i","l","_dereq_","exports","forceSimilar","Similar","key","index","val","callback","thisArg","val1","val2","MapOrSimilar","limit","cache","lru","fn","memoizerific","currentCache","newMap","fnResult","argsLengthMinusOne","lruPath","isMemoized","moveToMostRecentLru","removeCachedResult","lruLen","lruPathLen","isMatch","ii","isEqual","removedLru","removedLruLen","currentLru","tmp","logger","require_react_is_development","__commonJS","hasSymbol","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","isValidElementType","type","typeOf","object","$$typeof","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment4","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","require_react_is","require_hoist_non_react_statics_cjs","reactIs","REACT_STATICS","KNOWN_STATICS","FORWARD_REF_STATICS","MEMO_STATICS","TYPE_STATICS","getStatics","component","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics2","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","targetStatics","sourceStatics","descriptor","memoize","arg","emotion_memoize_esm_default","reactPropsRegex","isPropValid","prop","emotion_is_prop_valid_esm_default","sheetForTag","tag","createStyleElement","options","StyleSheet","StyleSheet2","_this","before","_proto","nodes","rule","isImportRule3","sheet","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","abs","from","assign","hash","length2","charat","trim","match","pattern","replace","replacement","indexof","search","substr","begin","end","strlen","sizeof","append","array","combine","line","column","length","position","character","characters","node","root","parent","props","children","copy","char","prev","next","peek","caret","slice","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","parse","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","character2","reference","characters2","comment","declaration","ruleset","post","size","j","k","x","y","z","serialize","output","stringify","element","middleware","collection","weakMemoize","func","ret","emotion_weak_memoize_esm_default","identifierWithPointTracking","toRules","parsed","getRules","fixedElements","compat","isImplicitRule","parentRules","removeLabel","ignoreFlag","isIgnoringComment","createUnsafeSelectorsAlarm","unsafePseudoClasses","isNested","commentContainer","node2","unsafePseudoClass","isImportRule","isPrependedWithRegularRules","nullifyElement","incorrectImportAlarm","prefix","prefixer","defaultStylisPlugins","createCache","ssrStyles","dataEmotionAttribute","stylisPlugins","inserted","container","nodesToHydrate","attrib","_insert","omnipresentPlugins","currentSheet","finalizingPlugins","serializer","stylis","styles","selector","serialized","shouldCache","emotion_cache_browser_esm_default","__toESM","isBrowser","getRegisteredStyles","registered","registeredStyles","classNames","rawClassName","className","registerStyles","isStringTag","insertStyles","current","murmur2","str","h","len","emotion_hash_esm_default","unitlessKeys","emotion_unitless_esm_default","ILLEGAL_ESCAPE_SEQUENCE_ERROR","UNDEFINED_AS_OBJECT_KEY_ERROR","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","match2","p1","p2","cursor","contentValuePattern","contentValues","oldProcessStyleValue","msPattern","hyphenPattern","hyphenatedCache","processed","_char","noComponentSelectorMessage","handleInterpolation","mergedProps","interpolation","next2","createStringFromObject","previousCursor","result","matched","replaced","fakeVarName","cached","obj","string","_key","_i","interpolated","labelPattern","sourceMapPattern","serializeStyles","args","stringMode","strings","sourceMap","match3","identifierName","name","hasOwnProperty","EmotionCacheContext","createContext","withEmotionCache","forwardRef","ref","useContext","ThemeContext","useTheme","getTheme","outerTheme","theme","mergedTheme","_extends","createCacheWithTheme","ThemeProvider","createElement","typePropName","labelPropName","Insertion","_ref","Emotion","cssProp","WrappedComponent","labelFromStack","newProps","Fragment","pkg","warnedAboutCssPropForGlobal","Global","sheetRef","useRef","rehydrating","sheetRefCurrent","css","_len","keyframes","insertable","classnames","classnames2","cls","toAdd","merge","css2","Insertion3","serializedArr","res","ClassNames","hasRendered","cx","_len2","_key2","content","ele","isBrowser2","isTestEnv","globalContext","globalKey","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","composeShouldForwardProps","isReal","shouldForwardProp","optionsShouldForwardProp","propName","ILLEGAL_ESCAPE_SEQUENCE_ERROR2","Insertion5","createStyled","createStyled2","baseTag","targetClassName","defaultShouldForwardProp","shouldUseAs","Styled","FinalTag","classInterpolations","finalShouldForwardProp","nextTag","nextOptions","emotion_styled_base_browser_esm_default","tags","newStyled","tagName","emotion_styled_browser_esm_default","createReset","memoize2","typography2","color2","background2","resetStyles","easing","rotate360","glow","float","jiggle","inlineGlow","hoverable","animation","chromeDark","chromeLight","convertColors","colors","acc","v","mkColor","create2","mono","colorsObjs","lightSyntaxColors","darkSyntaxColors","createColors","vars","color","convert","inherit","themes","getPreferredColorScheme","base","colorPrimary","colorSecondary","appBg","appContentBg","appBorderColor","appBorderRadius","fontBase","fontCode","textColor","textInverseColor","barTextColor","barSelectedColor","barBg","buttonBg","buttonBorder","booleanBg","booleanSelectedBg","inputBg","inputBorder","inputTextColor","inputBorderRadius","brandTitle","brandUrl","brandImage","brandTarget","gridCellSize","rest","background","typography","curriedOpacify$1","isEmpty","isObject","hasOwnProperty2","makeObjectWithoutPrototype","deletedDiff","lhs","rhs","difference","deleted_default","dedent","templ","values","indentLengths","arr","matches","_a","_b","pattern_1","endentations","endentation","indentedValue","i2","ensure","input","light_default","missing","ignoreSsrWarning","target","source","_objectWithoutPropertiesLoose","excluded","sourceKeys","__create","__defProp","__getOwnPropDesc","__getOwnPropNames","__getProtoOf","__hasOwnProp","cb","mod","__copyProps","to","except","desc","isNodeMode","require_markdown","markdown","Prism","Prism2","inner","createInline","tableCell","tableRow","tableLine","inside","env","walkTokens","tokens","codeLang","codeBlock","lang","alias","grammar","textContent","id","tagPattern","KNOWN_ENTITY_NAMES","fromCodePoint","html","text","m","code","known","require_yaml","yaml","anchorOrAlias","properties","plainKey","createValuePattern","flags","require_typescript","typescript","typeInside","require_jsx","jsx","javascript","space","braces","spread","re","stringifyToken","openedTags","notTagNorBrace","plainText","require_tsx","refractorJsx","refractorTypescript","tsx","require_clike","clike","require_javascript","require_css","markup","require_markup","includedCdataInside","def","attrName","require_immutable","extend","require_schema","Schema","proto","normal","require_merge","xtend","definitions","info","require_normalize","normalize","require_info","Info","attribute","require_types","powers","increment","require_defined_info","types","DefinedInfo","checks","checksLength","mask","check","mark","require_create","definition","mustUseProperty","attributes","transform","require_xlink","xlinkTransform","_","require_xml","xmlTransform","require_case_sensitive_transform","caseSensitiveTransform","require_case_insensitive_transform","caseInsensitiveTransform","require_xmlns","require_aria","booleanish","number","spaceSeparated","ariaTransform","require_html","boolean","overloadedBoolean","commaSeparated","require_html2","xlink","xml","xmlns","aria","require_find","data","find","valid","dash","cap","schema","Type","datasetToProperty","datasetToAttribute","camelcase","kebab","$0","require_hast_util_parse_selector","defaultTagName","start","subvalue","require_space_separated_tokens","empty","whiteSpace","require_comma_separated_tokens","comma","lastIndex","settings","left","right","require_factory","parseSelector","spaces","commas","factory","own","caseSensitive","adjust","createAdjustMap","isChildren","addProperty","addChild","style","parsePrimitives","isNode","parsePrimitive","require_html3","require_hastscript","require_character_entities_legacy","require_character_reference_invalid","require_is_decimal","decimal","require_is_hexadecimal","hexadecimal","require_is_alphabetical","alphabetical","require_is_alphanumerical","alphanumerical","require_character_entities","require_decode_entity","characterEntities","decodeEntity","require_parse_entities","legacy","invalid","parseEntities","fromCharCode","noop","defaults","tab","lineFeed","formFeed","semicolon","lessThan","equalsTo","numberSign","uppercaseX","lowercaseX","replacementCharacter","hexa","deci","bases","tests","namedNotTerminated","numericNotTerminated","namedEmpty","numericEmpty","namedUnknown","numericDisallowed","numericProhibited","messages","option","additional","nonTerminated","handleText","handleReference","handleWarning","textContext","referenceContext","warningContext","pos","indent","lines","queue","entityCharacters","namedEntity","terminated","following","warning","reason","entity","test","diff","now","parseError","prohibited","disallowed","flush","require_prism_core","_self","_self2","uniqueId","plainTextGrammar","encode","Token","deepClone","visited","clone","language","err","src","scripts","defaultActivation","no","classList","redef","lang2","insert","newToken","old","DFS","objId","propertyType","async","insertHighlightedCode","highlightedCode","worker","evt","tokenList","LinkedList","addAfter","matchGrammar","toArray","hooks","callbacks","matchedStr","aliases","matchPattern","lookbehind","lookbehindLength","startNode","startPos","rematch","patterns","patternObj","greedy","currentNode","removeCount","p","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","list","newNode","message","immediateClose","script","highlightAutomaticallyCallback","readyState","require_core","ctx","restore","capture","decode","js","Refractor","refract","highlight","register","listLanguages","alias2","languages","map","sup","stringifyAll","attrs","defined","restore2","require_bash","bash","envVars","commandAfterHeredoc","insideString","toBeCopied","require_js_extras","jsExtras","withId","maybeClassNameTokens","require_json","json","require_graphql","graphql","validTokens","currentIndex","getToken","isTokenType","findClosingBracket","open","close","stackHeight","addAlias","startToken","inputVariables","definitionEnd","mutationEnd","varToken","import_jsx","jsx_default","import_bash","bash_default","import_css","css_default","import_js_extras","js_extras_default","import_json","json_default","import_graphql","graphql_default","import_markup","markup_default","import_markdown","markdown_default","import_yaml","yaml_default","import_tsx","tsx_default","import_typescript","typescript_default","_objectWithoutProperties","sourceSymbolKeys","_arrayLikeToArray","arr2","_arrayWithoutHoles","_iterableToArray","iter","_unsupportedIterableToArray","minLen","_nonIterableSpread","_toConsumableArray","_typeof","obj2","_toPrimitive","hint","prim","_toPropertyKey","_defineProperty","ownKeys","enumerableOnly","symbols","sym","_objectSpread","powerSetPermutations","arrLength","classNameCombinations","getClassNameCombinations","createStyleObject","elementStyle","stylesheet","nonTokenClassNames","classNamesCombinations","styleObject","createClassNameString","createChildren","useInlineStyles","childrenCount","child","_ref$style","TagName","childrenCreator","allStylesheetSelectors","classes","className2","startingClassName","React2","checkForListedLanguage_default","astGenerator","langs","_excluded","ownKeys2","_objectSpread2","newLineRegex","getNewLines","getAllLineNumbers","startingLineNumber","AllLineNumbers","_ref2","codeString","codeStyle","_ref2$containerStyle","containerStyle","_ref2$numberStyle","numberStyle","getEmWidthOfNumber","num","getInlineLineNumber","lineNumber","inlineLineNumberStyle","assembleLineNumberStyles","lineNumberStyle","largestLineNumber","defaultLineNumberStyle","customLineNumberStyle","assembledStyle","createLineElement","_ref3","showInlineLineNumbers","_ref3$lineProps","lineProps","_ref3$className","showLineNumbers","wrapLongLines","flattenCodeTree","tree","newTree","processLines","codeTree","wrapLines","_ref4","lastLineBreakIndex","createWrappedLine","children2","lineNumber2","createUnwrappedLine","createLine","_loop","newLines","splitValue","newChild","_children","_line","stringChild","lastLineInPreviousSpan","newElem","_children2","_line2","_children3","_line3","defaultRenderer","_ref5","rows","isHighlightJs","getCodeTree","_ref6","defaultCodeValue","hasLanguage","highlight_default","defaultAstGenerator","defaultStyle","_ref7","_ref7$style","_ref7$customStyle","customStyle","_ref7$codeTagProps","codeTagProps","_ref7$useInlineStyles","_ref7$showLineNumbers","_ref7$showInlineLineN","_ref7$startingLineNum","lineNumberContainerStyle","_ref7$lineNumberStyle","_ref7$wrapLongLines","_ref7$lineProps","renderer","_ref7$PreTag","PreTag","_ref7$CodeTag","CodeTag","_ref7$code","allLineNumbers","defaultPreStyle","generatorClassName","preProps","import_core","SyntaxHighlighter","prism_light_default","Container","styled","ActionButton","disabled","ActionBar","actionItems","title","onClick","GlobalScrollAreaStyles","lazy","__vitePreload","OverlayScrollbars","Scroller","horizontal","vertical","ScrollArea","navigator","document","globalWindow","global","themedSyntax","copyToClipboard","createCopyToClipboardFunction","focus","Wrapper","bordered","UnstyledScroller","Scroller2","Pre","padded","Code","processLineNumber","row","lineNumberNode","processedLineNumberNode","defaultRenderer2","wrapRenderer","SyntaxHighlighter2","copyable","format","formatter","highlightableCode","copied","setCopied","useState","useCallback","syntaxhighlighter_default","require_react_fast_compare","hasElementType","hasMap","hasSet","hasArrayBuffer","equal","b","it","error","fromEntries","entries","useIsomorphicLayoutEffect","React3.useLayoutEffect","React3.useEffect","top","bottom","auto","basePlacements","clippingParents","viewport","popper","variationPlacements","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","getWindow","ownerDocument","OwnElement","isHTMLElement","isShadowRoot","applyStyles","state","name2","effect","initialStyles","styleProperties","style2","applyStyles_default","getBasePlacement","max","min","round","getUAString","uaData","item","isLayoutViewport","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","width","height","getLayoutRect","contains","rootNode","getComputedStyle","isTableElement","getDocumentElement","getParentNode","getTrueOffsetParent","getContainingBlock","isFirefox","isIE","elementCss","getOffsetParent","window2","offsetParent","getMainAxisFromPlacement","within","min2","max2","withinMaxClamp","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","toPaddingObject","padding","arrow","_state$modifiersData$","arrowElement","popperOffsets2","basePlacement","axis","isVertical","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","offset2","axisProp","effect2","_options$element","arrow_default","getVariation","unsetSides","roundOffsetsByDPR","win","dpr","mapToStyles","_Object$assign2","popper2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","offsetY","offsetX","commonStyles","_Object$assign","computeStyles","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","computeStyles_default","passive","effect3","instance","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","eventListeners_default","getOppositePlacement","hash2","getOppositeVariationPlacement","getWindowScroll","scrollLeft","scrollTop","getWindowScrollBarX","getViewportRect","strategy","layoutViewport","getDocumentRect","_element$ownerDocumen","winScroll","body","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","isBody","updatedList","rectToClientRect","rect","getInnerBoundingClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","clippingParents2","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","reference2","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","placements2","placement2","allowedPlacements","overflows","getExpandedFallbackPlacements","oppositePlacement","flip","_options$mainAxis","checkMainAxis","_options$altAxis","checkAltAxis","specifiedFallbackPlacements","_options$flipVariatio","preferredPlacement","isBasePlacement","fallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","numberOfChecks","_i2","fittingPlacement","checks2","_ret","flip_default","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","hide_default","distanceAndSkiddingToXY","rects","invertDistance","skidding","distance","_options$offset","_data$state$placement","offset_default","popperOffsets","popperOffsets_default","getAltAxis","preventOverflow","_options$tether","tether","_options$tetherOffset","tetherOffset","altAxis","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","preventOverflow_default","getHTMLElementScroll","getNodeScroll","isElementScaled","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","documentElement","order","modifiers","modifier","sort","requires","dep","depModifier","orderModifiers","orderedModifiers","phase","debounce","fn2","pending","resolve","mergeByName","merged","merged2","existing","DEFAULT_OPTIONS","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers2","_generatorOptions$def2","defaultOptions","effectCleanupFns","isDestroyed","setOptionsAction","options2","cleanupModifierEffects","runModifierEffects","_state$elements","reference3","popper3","__debug_loops__","_state$orderedModifie","_state$orderedModifie2","state2","_ref3$options","effect4","cleanupFn","noopFn","defaultModifiers","createPopper","import_react_fast_compare","EMPTY_MODIFIERS","usePopper","referenceElement","popperElement","prevOptions","React3.useRef","optionsWithDefaults","_React$useState","React3.useState","setState","updateStateModifier","React3.useMemo","elements","ReactDOM.flushSync","popperOptions","newOptions","popperInstanceRef","createPopper2","popperInstance","useGetLatest","React3.useCallback","useControlledState","initial","_ref$onChange","onChange","getLatest","set","updater","updatedState","isControlled","generateBoundingClientRect","virtualElement","defaultConfig","usePopperTooltip","config","_popperProps$state","_popperProps$state$mo","_popperProps$state$mo2","finalConfig","config2","_extends2","finalPopperOptions","triggerRef","setTriggerRef","_React$useState2","tooltipRef","setTooltipRef","_useControlledState","visible","setVisible","timer","_usePopper","popperProps","update","isTriggeredBy","trigger","hideTooltip","showTooltip","toggleTooltip","handleClickOutside","event","_event$composedPath","_getLatest","tooltipRef2","triggerRef2","preventDefaultAndToggle","setMousePosition","clientX","clientY","observer","getTooltipProps","getArrowProps","requests","actual","fallback","ArrowSpacing","Arrow","lighten","hidden","hasChrome","Tooltip","React3__default","arrowProps","withArrows","document2","TargetContainer","TargetSvgContainer","WithTooltipPure","svg","closeOnOutsideClick","tooltip","closeOnTriggerHidden","mutationObserverOptions","closeOnClick","tooltipShown","onVisibilityChange","defaultVisible","delayHide","interactive","delayShow","followCursor","onVisibleChange","isVisible","_isVisible","tooltipComponent","ReactDOM__default","WithToolTipState","startOpen","setTooltipShown","visibility","useEffect","hide2","iframes","unbinders","iframe","bind","unbind","useResolvedElement","subscriber","refOrElement","lastReportRef","refOrElementRef","cbElementRef","evaluateSubscription","cbElement","extractSize","entry","boxProp","sizeType","useResizeObserver","opts","onResize","onResizeRef","resizeObserverRef","_useState","setSize","didUnmount","refCallback","reportedWidth","reportedHeight","newWidth","newHeight","newSize","useMemo","B","R","C","w","I","E","P","T","d","g","A","F","c","S","O","L","nameSpaceClassNames","_assertThisInitialized","self","_setPrototypeOf","o2","_inheritsLoose","subClass","superClass","_getPrototypeOf","_isNativeFunction","_isNativeReflectConstruct","_construct","Parent","Class","Parent2","args2","Class2","Constructor","_wrapNativeSuper","_cache","Wrapper3","PolishedError","_Error","PolishedError2","colorToInt","convertToInt","red","green","blue","hslToRgb","hue","saturation","lightness","huePrime","chroma","secondComponent","lightnessModification","finalRed","finalGreen","finalBlue","namedColorMap","nameToHex","normalizedColorName","hexRegex","hexRgbaRegex","reducedHexRegex","reducedRgbaHexRegex","rgbRegex","rgbaRegex","hslRegex","hslaRegex","parseToRgb","normalizedColor","alpha","_alpha","rgbMatched","rgbaMatched","hslMatched","rgbColorString","hslRgbMatched","hslaMatched","_hue","_saturation","_lightness","_rgbColorString","_hslRgbMatched","rgbToHsl","delta","parseToHsl","reduceHexValue","reduceHexValue$1","numberToHex","hex","colorToHex","convertToHex","hslToHex","hsl","hsla","rgb","rgba","firstValue","secondValue","thirdValue","fourthValue","rgbValue","isRgb","isRgba","isHsl","isHsla","toColorString","curried","combined","curry","guard","lowerBoundary","upperBoundary","darken","amount","hslColor","curriedDarken","curriedDarken$1","curriedLighten","curriedLighten$1","transparentize","parsedColor","colorWithAlpha","curriedTransparentize","curriedTransparentize$1","headerCommon","codeCommon","withReset","withMargin","Link","isStorybookPath","isAnchorUrl","href","React5__default","Blockquote","isReactChildString","isInlineCodeRegex","DefaultCodeBlock","StyledSyntaxHighlighter","childrenArray","Children","Div","DL","H1","H2","H3","H4","H5","H6","HR","Img","LI","listCommon","OL","Span","Table","TT","listCommon2","UL","ResetWrapper","components","BadgeWrapper","status","Badge","icons","Svg","Icons","icon","useSymbol","Symbols","memo","LEFT_BUTTON","isPlainLeftClick","cancelled","LinkInner","withArrow","containsIcon","A2","secondary","tertiary","nochrome","inverse","isButton","Link2","cancel","DocumentWrapper","LazySyntaxHighlighter","LazySyntaxHighlighterWithFormatter","SyntaxHighlighter3","toNumber","col","outer","Spaced","outerAmount","Title","Desc","Message","Placeholder","browserSupportsCssZoom","hasBrowserSupportForCssZoom","ZoomElementWrapper","scale","elementHeight","ZoomElement","componentWrapperRef","setElementHeight","ZoomIFrame","Component","iFrameRef","nextProps","active","Zoom","global$1","ErrorName","ErrorImportant","ErrorDetail","firstLineRegex","linesRegexChromium","linesRegexFirefox","linesRegexSafari","ErrorFormatter","rawLines","ButtonWrapper","small","primary","gray","inForm","outline","ButtonLink","Button","isLink","Label","Field","label","useLayoutEffect","use_isomorphic_layout_effect_esm_default","useLatest","React5.useRef","updateRef","useComposedRef","libRef","userRef","prevUserRef","use_composed_ref_esm_default","HIDDEN_TEXTAREA_STYLE","forceHiddenStyles","hiddenTextarea","getHeight","sizingData","calculateNodeHeight","minRows","maxRows","paddingSize","borderSize","sizingStyle","boxSizing","rowHeight","minHeight","maxHeight","pick","SIZING_STYLE","getSizingData","useListener","listener","latestListener","handler","ev","useWindowResizeListener","useFontsLoadedListener","TextareaAutosize","cacheMeasurements","_ref$onHeightChange","onHeightChange","heightRef","measurementsCacheRef","resizeTextarea","nodeSizingData","_calculateNodeHeight","handleChange","index2","react_textarea_autosize_esm_default","styleResets","sizes","alignment","align","validation","Input","Select","Textarea","ButtonStyled","Button3","Form","LazyWithTooltip","WithTooltip","LazyWithTooltipPure","Title2","Desc2","Links","Message2","MessageWrapper","TooltipMessage","links","linkTitle","other","Note","TooltipNote","note","Title3","loading","Right","Center","isIndented","CenterText","Left","Item","getItemProps","LinkWrapper","ListItem","itemProps","commonProps","isStorybookIcon","ListItem_default","List","Item2","onClickFromProps","hasOnClick","TooltipLinkList","hasOneLeftElement","link","isGatsby","ButtonOrLink","restProps","TabButton","IconButton","IconPlaceholder","IconButtonSkeletonWrapper","IconButtonSkeleton","Side","scrollable","UnstyledBar","Bar","border","BarInner","bgColor","FlexBar","backgroundColor","VisuallyHidden","childrenToList","selected","childrenOfChild","index3","CollapseIcon","isActive","AddonButton","preActive","useList","tabBarRef","addonsRef","tabRefs","tabBarWidth","visibleList","setVisibleList","invisibleList","setInvisibleList","previousList","AddonTab","menuName","actions","isAddonsActive","isTooltipVisible","setTooltipVisible","indexId","sanitize","setTabLists","widthAddonsTab","rightBorder","newVisibleList","widthSum","newInvisibleList","tabButton","tabWidth","crossBorder","ignoreSsrWarning2","Wrapper2","absolute","TabBar","Content","TabWrapper","render","Tabs","tools","htmlId","TabsState","Separator","force","interleaveSeparators","usePrevious","useUpdate","previousValue","AddonPanel","StorybookLogo","alt","StorybookIcon","LoaderWrapper","ProgressWrapper","ProgressTrack","ProgressBar","ProgressMessage","ErrorIcon","ellipsis","Ellipsis","Loader","progress","modules","parseQuery","queryString","query","pairs","pair","getStoryHref","baseUrl","storyId","additionalParams","url","paramsStr","params","components2","resetComponents","setPrototypeOf","isNativeReflectConstruct","isNativeFunction","construct","opacify","curriedOpacify","baseAssignValue","require$$0","eq","require$$1","objectProto","assignValue","objValue","_assignValue","castPath","isIndex","require$$2","require$$3","toKey","require$$4","baseSet","path","customizer","nested","newValue","_baseSet","baseGet","basePickBy","paths","predicate","_basePickBy","arrayPush","getPrototype","getSymbols","stubArray","nativeGetSymbols","getSymbolsIn","_getSymbolsIn","nativeKeysIn","_nativeKeysIn","isPrototype","baseKeysIn","isProto","_baseKeysIn","arrayLikeKeys","isArrayLike","keysIn","keysIn_1","baseGetAllKeys","getAllKeysIn","_getAllKeysIn","arrayMap","baseIteratee","pickBy","pickBy_1","$","M","D","N","Z","G","H","q","U","V","W","Q","X","J","K","Y","tt","nt","et","rt","ot","ct","at","_t","ut","lt","st","ft","dt","pt","mt","gt","yt","ht","Gt","kt","xt","bt","vt","$t","St","zt","wt","At","Et","Lt","Mt","It","Ot","Bt","Rt","Tt","jt","Ct","Dt","Nt","Zt","Ft","Pt","Ht","t.createElement","t.cloneElement","baseFindIndex","fromIndex","fromRight","_baseFindIndex","baseIsNaN","_baseIsNaN","strictIndexOf","_strictIndexOf","baseIndexOf","_baseIndexOf","arrayIncludes","_arrayIncludes","arrayIncludesWith","comparator","_arrayIncludesWith","noop_1","Set","setToArray","INFINITY","createSet","_createSet","SetCache","cacheHas","require$$5","LARGE_ARRAY_SIZE","baseUniq","iteratee","includes","isCommon","seen","computed","seenIndex","_baseUniq","uniq","uniq_1","arrayEach","_arrayEach","copyObject","isNew","_copyObject","baseAssign","_baseAssign","baseAssignIn","_baseAssignIn","freeExports","freeModule","moduleExports","Buffer","allocUnsafe","cloneBuffer","buffer","isDeep","copyArray","_copyArray","copySymbols","_copySymbols","copySymbolsIn","_copySymbolsIn","initCloneArray","_initCloneArray","Uint8Array","cloneArrayBuffer","arrayBuffer","_cloneArrayBuffer","cloneDataView","dataView","_cloneDataView","reFlags","cloneRegExp","regexp","_cloneRegExp","Symbol","symbolProto","symbolValueOf","cloneSymbol","symbol","_cloneSymbol","cloneTypedArray","typedArray","_cloneTypedArray","boolTag","dateTag","mapTag","numberTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","initCloneByTag","Ctor","_initCloneByTag","objectCreate","baseCreate","_baseCreate","initCloneObject","_initCloneObject","getTag","isObjectLike","baseIsMap","_baseIsMap","baseUnary","nodeUtil","nodeIsMap","isMap","isMap_1","baseIsSet","_baseIsSet","nodeIsSet","isSet","isSet_1","Stack","require$$6","require$$7","require$$8","getAllKeys","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","isArray","require$$15","isBuffer","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","CLONE_DEEP_FLAG","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","argsTag","arrayTag","errorTag","funcTag","genTag","objectTag","weakMapTag","cloneableTags","baseClone","bitmask","stack","isFlat","isFull","isArr","isFunc","stacked","subValue","keysFunc","_baseClone","cloneDeep","cloneDeep_1","eventProperties","customEventSpecificProperties","extractEventHiddenProperties","rebuildEvent","require_shams","symObj","symVal","syms","require_has_symbols","origSymbol","hasSymbolSham","require_implementation","ERROR_MESSAGE","toStr","funcType","that","bound","binder","result2","boundLength","boundArgs","Empty","require_function_bind","implementation","require_src","require_get_intrinsic","undefined2","$SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","hasSymbols","getProto","needsEval","TypedArray","INTRINSICS","doEval","doEval2","value2","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName2","reEscapeChar2","stringToPath2","first","last","quote","subString","getBaseIntrinsic","allowMissing","intrinsicName","parts","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","require_call_bind","GetIntrinsic","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","applyBind","require_callBound","callBind","$indexOf","require_shams2","require_is_regex","callBound","hasToStringTag","has","isRegexMarker","badStringifier","throwRegexMarker","$toString","gOPD","regexClass","hasLastIndexDataProperty","require_is_function","isFunction3","toString2","require_is_symbol","symToStr","symStringRegex","isSymbolObject","import_is_regex","import_is_function","import_is_symbol","freeGlobal","freeGlobal_default","freeSelf","root2","root_default","Symbol2","Symbol_default","nativeObjectToString","symToStringTag","getRawTag","unmasked","getRawTag_default","objectProto2","nativeObjectToString2","objectToString","objectToString_default","nullTag","undefinedTag","symToStringTag2","baseGetTag","baseGetTag_default","isObject2","isObject_default","asyncTag","proxyTag","isFunction","isFunction_default","coreJsData","coreJsData_default","maskSrcKey","uid","isMasked","isMasked_default","funcProto","funcToString","toSource","toSource_default","reRegExpChar","reIsHostCtor","funcProto2","objectProto3","funcToString2","reIsNative","baseIsNative","baseIsNative_default","getValue","key2","getValue_default","getNative","getNative_default","eq_default","nativeCreate","nativeCreate_default","hashClear","hashClear_default","hashDelete","hashDelete_default","HASH_UNDEFINED","objectProto4","hasOwnProperty3","hashGet","hashGet_default","objectProto5","hasOwnProperty4","hashHas","hashHas_default","HASH_UNDEFINED2","hashSet","hashSet_default","Hash","Hash_default","listCacheClear","listCacheClear_default","assocIndexOf","assocIndexOf_default","arrayProto","splice","listCacheDelete","listCacheDelete_default","listCacheGet","listCacheGet_default","listCacheHas","listCacheHas_default","listCacheSet","listCacheSet_default","ListCache","ListCache_default","Map2","Map_default","mapCacheClear","mapCacheClear_default","isKeyable","isKeyable_default","getMapData","getMapData_default","mapCacheDelete","mapCacheDelete_default","mapCacheGet","mapCacheGet_default","mapCacheHas","mapCacheHas_default","mapCacheSet","mapCacheSet_default","MapCache","MapCache_default","FUNC_ERROR_TEXT","resolver","memoized","memoize_default","MAX_MEMOIZE_SIZE","memoizeCapped","memoizeCapped_default","rePropName","reEscapeChar","isObject3","removeCodeComments","inQuoteChar","inBlockComment","inLineComment","inRegexLiteral","newCode","cleanCode","convertShorthandMethods","stringified","fnHead","fnBody","modifiedHead","dateFormat","convertUnconventionalData","wasMutated","replacer","objects","origin","globalRegistryKey","found","converted","mergedOptions","deprecate","once","filterArgTypes","composeConfigs","Preview$1","DocsContext$1","STORY_ARGS_UPDATED","UPDATE_STORY_ARGS","RESET_STORY_ARGS","GLOBALS_UPDATED","NAVIGATE_URL","EmptyBlock","React17","SourceSkeletonWrapper","SourceSkeletonPlaceholder","SourceSkeleton","Source","isLoading","dark","format2","syntaxHighlighter","overrideTheme","toGlobalSelector","breakpoint","Subtitle","DocsContent","reset","headers","DocsWrapper","DocsPageWrapper","getBlockBackgroundStyle","zoom","resetZoom","Toolbar","ZoomContext","IFrame","allowFullScreen","PREVIEW_URL","BASE_URL","storyBlockIdFromId","story","InlineStory","storyRef","showLoader","setShowLoader","setError","autoplay","forceInitialArgs","renderStoryToElement","cleanup","description","htmlContents","StorySkeleton","IFrameStory","Story","inline","ChildrenContainer","isColumn","columns","layout","StyledSource","PreviewContainer","withSource","isExpanded","withToolbar","getSource","expanded","setExpanded","getStoryId","elt","PositionedToolbar","Relative","Preview","additionalActions","actionItem","setScale","previewClasses","defaultActionItems","additionalActionItems","setAdditionalActionItems","globalWindow4","index$1","onCopyCapture","selection","Zoom$1","StyledPreview","PreviewSkeleton","ArgJsDoc","hasDisplayableParams","hasDisplayableDeprecated","hasDisplayableReturns","ITEMS_BEFORE_EXPANSION","Summary","Text","simple","ExpandButton","Expandable","Detail","ArrowIcon","EmptyArg","ArgText","calculateDetailWidth","detail","getSummaryItems","summary","summaryItems","renderSummaryItems","items","ArgSummary","initialExpandedArgs","isOpen","setIsOpen","setIsExpanded","summaryAsString","itemsCount","ArgValue","BooleanControl","onBlur","onFocus","onSetFalse","controlId","parsedValue","parseDate","year","month","day","parseTime","hours","minutes","formatDate","date","formatTime","FlexSpaced","DateControl","setValid","dateRef","timeRef","onDateChange","time","onTimeChange","parse2","NumberControl","step","inputValue","setInputValue","forceVisible","setForceVisible","setParseError","onForceVisible","htmlElRef","selectedKey","selectedKeys","selectedValues","isInline","Text2","Label2","CheckboxControl","setSelected","updated","Wrapper4","Text3","Label3","RadioControl","OptionsSelect","SelectWrapper","NO_SELECTION","SingleSelect","MultiSelect","selection2","SelectControl","normalizeOptions","labels","Controls","OptionsControl","argType","normalized","Control","VALUE","KEY","ERROR","OBJECT","ARRAY","STRING","NUMBER","BOOLEAN","DATE","NULL","UNDEFINED","FUNCTION","SYMBOL","ADD_DELTA_TYPE","REMOVE_DELTA_TYPE","UPDATE_DELTA_TYPE","getObjectType","isComponentWillChange","oldValue","oldType","newType","JsonAddValue","inputRefKey","inputRefValue","onlyValue","handleAdd","onSubmitValueParser","keyPath","deep","handleCancel","addButtonElement","cancelButtonElement","inputElementGenerator","addButtonElementLayout","cloneElement","cancelButtonElementLayout","inputElementValue","inputElementValueLayout","inputElementKeyLayout","inputElementKey","JsonArray","childKey","childData","onUpdate","beforeRemoveAction","logger4","deltaUpdateResult","onDeltaUpdate","beforeAddAction","newData","reject","beforeUpdateAction","handleRemove","readOnly","getStyle","dataType","minusMenuElement","minus","collapsed","isReadOnly","removeItemButton","addFormVisible","nextDeep","isCollapsed","editButtonElement","textareaElementGenerator","plusMenuElement","plus","ul","addForm","addItemButton","startObject","endObject","JsonNode","JsonFunctionValue","editEnabled","inputRef","readOnlyResult","handleUpdateValue","originalValue","comeFromKeyPath","minusElement","resultOnlyResult","textareaElement","editButtonElementLayout","textareaElementLayout","minusMenuLayout","readOnlyTrue","JsonObject","JsonValue","keyList","isEditing","inputElement","inputElementLayout","parse3","JsonTree","rootName","readOnlyFunction","inputElementFunction","textareaElementFunction","keyName","isEditMode","rawValue","globalWindow2","Wrapper5","ActionIcon","placeholder","RawButton","RawInput","ENTER_EVENT","dispatchEnterKey","selectValue","getCustomStyleFunction","ObjectControl","hasData","showRaw","setShowRaw","updateRaw","raw","rawJSONForm","__","___","RangeInput","RangeLabel","RangeCurrentAndMaxLabel","numberOFDecimalsPlaces","RangeWrapper","getNumberOfDecimalPlaces","RangeControl","hasValue","Wrapper6","MaxLength","isMaxed","TextControl","maxLength","isValid","FileInput","revokeOldUrls","urls","FilesControl","accept","handleFileChange","fileUrls","file","LazyColorControl","ColorControl","Controls2","NoControl","ArgControl","updateArgs","control","isFocused","setFocused","boxedValue","setBoxedValue","argVal","Name","Required","Description","hasDescription","TypeWithJsDoc","StyledTd","expandable","ArgRow","compact","table","defaultValue","required","Markdown","ExpanderIcon","FlexWrapper","Section","Subsection","StyledTd2","StyledTr","ClickIntercept","SectionRow","level","initialExpanded","colSpan","Level","itemCount","caption","helperText","TableWrapper","inAddonPanel","StyledIconButton","ControlHeadingWrapper","sortFns","rowLoadingData","argsTableLoadingData","groupRows","sections","category","subcategory","section","subsection","sortFn","sortSubsection","record","cur","safeIncludeConditionalArg","globals","includeConditionalArg","ArgsTable","resetArgs","groups","common","TabbedArgsTable","tabs","anchorBlockIdFromId","Anchor","DocsContext","useOf","moduleExportOrType","validTypes","PRIMARY_STORY","titleCase","str2","getComponentName","scrollToElement","block","useStory","context","stories","useStories","storyIds","storiesById","setStories","useArgs","storyContext","setArgs","changed","updatedArgs","argNames","useGlobals","setGlobals","extractComponentArgTypes2","parameters","include","exclude","extractArgTypes","argTypes","isShortcut","getComponent","of","addComponentTabs","mapValues","comp","StoryTable","storyName","subcomponents","showComponent","mainLabel","storyHasArgsWithControls","ComponentsTable","ArgsTable2","dedent2","sortProp","mainProps","argsHash","SourceContext","UNKNOWN_ARGS_HASH","SourceContainer","channel","sources","setSources","handleSnippetRendered","idOrEvent","inputSource","inputFormat","SNIPPET_RENDERED","SourceState","SourceState2","getSourceState","states","getStorySource","sourceContext","getSnippet","snippet","typeFromProps","transformFromProps","isArgsStory","sourceParameters","SourceType","_c","_f","_d","_e","useSourceProps","docsContext","storiesFromIds","argsForSource","getStoryId2","meta","getStoryProps","docs","storyParameters","inlineStories","iframeHeight","height2","Story2","storyProps","useDeprecatedPreviewProps","mdxSource","layoutProp","sourceProps","Canvas","previewProps","hookError","sourceState","_h","_g","_j","useGlobals2","onGlobalsUpdated","useArgs2","useArgsIfDefined","onArgsUpdated","Controls3","controlsParameters","filteredArgTypes","CodeOrSourceMdx","navigate","AnchorInPage","AnchorMdx","SUPPORTED_MDX_HEADERS","OcticonHeaders","headerType","OcticonAnchor","HeaderWithOcticonAnchor","as","OcticonHeader","HeaderMdx","Component4","omittedAs","withoutAs","HeadersMdx","Markdown2","DescriptionType","DescriptionType2","DEPRECATION_MIGRATION_LINK","getNotes","notes","getInfo","noDescription","getDescriptionFromResolvedOf","resolvedOf","getDescriptionFromDeprecatedProps","storyById","extractComponentDescription","componentDescriptionParameter","DescriptionContainer","markdownProp","document3","globalWindow3","DocsContainer","STORY_KIND_PATH_SEPARATOR","extractTitle","Subtitle2","Subheading","disableAnchor","tagID","DocsStory","withToolbarProp","__forceInitialArgs","__primary","Primary","Heading","StyledHeading","Stories","includePrimary","componentStories","DocsPage","isSingleStory","Docs","docsParameter","Page","Meta"],"sources":["../../node_modules/@storybook/blocks/dist/chunk-GWAJ4KRU.mjs","../../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../../node_modules/memoizerific/memoizerific.js","../../node_modules/@storybook/theming/dist/index.mjs","../../node_modules/@storybook/components/dist/chunk-FD4M6EBV.mjs","../../node_modules/@storybook/components/dist/chunk-NNAAFZ4U.mjs","../../node_modules/@storybook/components/dist/chunk-S72H4O6B.mjs","../../node_modules/@storybook/components/dist/chunk-CR4N7OJN.mjs","../../node_modules/@storybook/components/dist/chunk-XWWAUDHM.mjs","../../node_modules/@storybook/components/dist/chunk-R5KWTIWY.mjs","../../node_modules/@storybook/components/dist/chunk-Q5VTUGLN.mjs","../../node_modules/@storybook/components/dist/chunk-KMON5KHC.mjs","../../node_modules/@storybook/components/dist/chunk-FXDDSU3L.mjs","../../node_modules/@storybook/components/dist/chunk-YTVVV3IZ.mjs","../../node_modules/@storybook/components/dist/chunk-I3OL67LK.mjs","../../node_modules/@storybook/components/dist/chunk-OLF4PGGZ.mjs","../../node_modules/@storybook/components/dist/chunk-7K7XSER6.mjs","../../node_modules/@storybook/components/dist/chunk-HNIG72LA.mjs","../../node_modules/@storybook/components/dist/chunk-3UNGU6BL.mjs","../../node_modules/@storybook/components/dist/chunk-EU3NKDVB.mjs","../../node_modules/@storybook/components/dist/chunk-RDJSMFWU.mjs","../../node_modules/@storybook/components/dist/chunk-E5IOH6B7.mjs","../../node_modules/use-resize-observer/dist/bundle.esm.js","../../node_modules/@storybook/csf/dist/index.mjs","../../node_modules/@storybook/components/dist/index.mjs","../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../node_modules/@babel/runtime/helpers/esm/construct.js","../../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../../node_modules/polished/dist/polished.esm.js","../../node_modules/lodash/_assignValue.js","../../node_modules/lodash/_baseSet.js","../../node_modules/lodash/_basePickBy.js","../../node_modules/lodash/_getSymbolsIn.js","../../node_modules/lodash/_nativeKeysIn.js","../../node_modules/lodash/_baseKeysIn.js","../../node_modules/lodash/keysIn.js","../../node_modules/lodash/_getAllKeysIn.js","../../node_modules/lodash/pickBy.js","../../node_modules/markdown-to-jsx/dist/index.modern.js","../../node_modules/lodash/_baseFindIndex.js","../../node_modules/lodash/_baseIsNaN.js","../../node_modules/lodash/_strictIndexOf.js","../../node_modules/lodash/_baseIndexOf.js","../../node_modules/lodash/_arrayIncludes.js","../../node_modules/lodash/_arrayIncludesWith.js","../../node_modules/lodash/noop.js","../../node_modules/lodash/_createSet.js","../../node_modules/lodash/_baseUniq.js","../../node_modules/lodash/uniq.js","../../node_modules/lodash/_arrayEach.js","../../node_modules/lodash/_copyObject.js","../../node_modules/lodash/_baseAssign.js","../../node_modules/lodash/_baseAssignIn.js","../../node_modules/lodash/_cloneBuffer.js","../../node_modules/lodash/_copyArray.js","../../node_modules/lodash/_copySymbols.js","../../node_modules/lodash/_copySymbolsIn.js","../../node_modules/lodash/_initCloneArray.js","../../node_modules/lodash/_cloneArrayBuffer.js","../../node_modules/lodash/_cloneDataView.js","../../node_modules/lodash/_cloneRegExp.js","../../node_modules/lodash/_cloneSymbol.js","../../node_modules/lodash/_cloneTypedArray.js","../../node_modules/lodash/_initCloneByTag.js","../../node_modules/lodash/_baseCreate.js","../../node_modules/lodash/_initCloneObject.js","../../node_modules/lodash/_baseIsMap.js","../../node_modules/lodash/isMap.js","../../node_modules/lodash/_baseIsSet.js","../../node_modules/lodash/isSet.js","../../node_modules/lodash/_baseClone.js","../../node_modules/lodash/cloneDeep.js","../../node_modules/telejson/dist/chunk-465TF3XA.mjs","../../node_modules/telejson/dist/index.mjs","../../node_modules/@storybook/blocks/dist/index.mjs"],"sourcesContent":["var getControlId=value=>`control-${value.replace(/\\s+/g,\"-\")}`,getControlSetterButtonId=value=>`set-${value.replace(/\\s+/g,\"-\")}`;\n\nexport { getControlId, getControlSetterButtonId };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.memoizerific = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= 0) {\n\t\tthis.lastItem = this.list[index];\n\t\treturn this.list[index].val;\n\t}\n\n\treturn undefined;\n};\n\nSimilar.prototype.set = function(key, val) {\n\tvar index;\n\n\tif (this.lastItem && this.isEqual(this.lastItem.key, key)) {\n\t\tthis.lastItem.val = val;\n\t\treturn this;\n\t}\n\n\tindex = this.indexOf(key);\n\tif (index >= 0) {\n\t\tthis.lastItem = this.list[index];\n\t\tthis.list[index].val = val;\n\t\treturn this;\n\t}\n\n\tthis.lastItem = { key: key, val: val };\n\tthis.list.push(this.lastItem);\n\tthis.size++;\n\n\treturn this;\n};\n\nSimilar.prototype.delete = function(key) {\n\tvar index;\n\n\tif (this.lastItem && this.isEqual(this.lastItem.key, key)) {\n\t\tthis.lastItem = undefined;\n\t}\n\n\tindex = this.indexOf(key);\n\tif (index >= 0) {\n\t\tthis.size--;\n\t\treturn this.list.splice(index, 1)[0];\n\t}\n\n\treturn undefined;\n};\n\n\n// important that has() doesn't use get() in case an existing key has a falsy value, in which case has() would return false\nSimilar.prototype.has = function(key) {\n\tvar index;\n\n\tif (this.lastItem && this.isEqual(this.lastItem.key, key)) {\n\t\treturn true;\n\t}\n\n\tindex = this.indexOf(key);\n\tif (index >= 0) {\n\t\tthis.lastItem = this.list[index];\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\nSimilar.prototype.forEach = function(callback, thisArg) {\n\tvar i;\n\tfor (i = 0; i < this.size; i++) {\n\t\tcallback.call(thisArg || this, this.list[i].val, this.list[i].key, this);\n\t}\n};\n\nSimilar.prototype.indexOf = function(key) {\n\tvar i;\n\tfor (i = 0; i < this.size; i++) {\n\t\tif (this.isEqual(this.list[i].key, key)) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n// check if the numbers are equal, or whether they are both precisely NaN (isNaN returns true for all non-numbers)\nSimilar.prototype.isEqual = function(val1, val2) {\n\treturn val1 === val2 || (val1 !== val1 && val2 !== val2);\n};\n\nmodule.exports = Similar;\n},{}],3:[function(_dereq_,module,exports){\nvar MapOrSimilar = _dereq_('map-or-similar');\n\nmodule.exports = function (limit) {\n\tvar cache = new MapOrSimilar(undefined === 'true'),\n\t\tlru = [];\n\n\treturn function (fn) {\n\t\tvar memoizerific = function () {\n\t\t\tvar currentCache = cache,\n\t\t\t\tnewMap,\n\t\t\t\tfnResult,\n\t\t\t\targsLengthMinusOne = arguments.length - 1,\n\t\t\t\tlruPath = Array(argsLengthMinusOne + 1),\n\t\t\t\tisMemoized = true,\n\t\t\t\ti;\n\n\t\t\tif ((memoizerific.numArgs || memoizerific.numArgs === 0) && memoizerific.numArgs !== argsLengthMinusOne + 1) {\n\t\t\t\tthrow new Error('Memoizerific functions should always be called with the same number of arguments');\n\t\t\t}\n\n\t\t\t// loop through each argument to traverse the map tree\n\t\t\tfor (i = 0; i < argsLengthMinusOne; i++) {\n\t\t\t\tlruPath[i] = {\n\t\t\t\t\tcacheItem: currentCache,\n\t\t\t\t\targ: arguments[i]\n\t\t\t\t};\n\n\t\t\t\t// climb through the hierarchical map tree until the second-last argument has been found, or an argument is missing.\n\t\t\t\t// if all arguments up to the second-last have been found, this will potentially be a cache hit (determined later)\n\t\t\t\tif (currentCache.has(arguments[i])) {\n\t\t\t\t\tcurrentCache = currentCache.get(arguments[i]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tisMemoized = false;\n\n\t\t\t\t// make maps until last value\n\t\t\t\tnewMap = new MapOrSimilar(undefined === 'true');\n\t\t\t\tcurrentCache.set(arguments[i], newMap);\n\t\t\t\tcurrentCache = newMap;\n\t\t\t}\n\n\t\t\t// we are at the last arg, check if it is really memoized\n\t\t\tif (isMemoized) {\n\t\t\t\tif (currentCache.has(arguments[argsLengthMinusOne])) {\n\t\t\t\t\tfnResult = currentCache.get(arguments[argsLengthMinusOne]);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tisMemoized = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!isMemoized) {\n\t\t\t\tfnResult = fn.apply(null, arguments);\n\t\t\t\tcurrentCache.set(arguments[argsLengthMinusOne], fnResult);\n\t\t\t}\n\n\t\t\tif (limit > 0) {\n\t\t\t\tlruPath[argsLengthMinusOne] = {\n\t\t\t\t\tcacheItem: currentCache,\n\t\t\t\t\targ: arguments[argsLengthMinusOne]\n\t\t\t\t};\n\n\t\t\t\tif (isMemoized) {\n\t\t\t\t\tmoveToMostRecentLru(lru, lruPath);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlru.push(lruPath);\n\t\t\t\t}\n\n\t\t\t\tif (lru.length > limit) {\n\t\t\t\t\tremoveCachedResult(lru.shift());\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tmemoizerific.wasMemoized = isMemoized;\n\t\t\tmemoizerific.numArgs = argsLengthMinusOne + 1;\n\n\t\t\treturn fnResult;\n\t\t};\n\n\t\tmemoizerific.limit = limit;\n\t\tmemoizerific.wasMemoized = false;\n\t\tmemoizerific.cache = cache;\n\t\tmemoizerific.lru = lru;\n\n\t\treturn memoizerific;\n\t};\n};\n\n// move current args to most recent position\nfunction moveToMostRecentLru(lru, lruPath) {\n\tvar lruLen = lru.length,\n\t\tlruPathLen = lruPath.length,\n\t\tisMatch,\n\t\ti, ii;\n\n\tfor (i = 0; i < lruLen; i++) {\n\t\tisMatch = true;\n\t\tfor (ii = 0; ii < lruPathLen; ii++) {\n\t\t\tif (!isEqual(lru[i][ii].arg, lruPath[ii].arg)) {\n\t\t\t\tisMatch = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (isMatch) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tlru.push(lru.splice(i, 1)[0]);\n}\n\n// remove least recently used cache item and all dead branches\nfunction removeCachedResult(removedLru) {\n\tvar removedLruLen = removedLru.length,\n\t\tcurrentLru = removedLru[removedLruLen - 1],\n\t\ttmp,\n\t\ti;\n\n\tcurrentLru.cacheItem.delete(currentLru.arg);\n\n\t// walk down the tree removing dead branches (size 0) along the way\n\tfor (i = removedLruLen - 2; i >= 0; i--) {\n\t\tcurrentLru = removedLru[i];\n\t\ttmp = currentLru.cacheItem.get(currentLru.arg);\n\n\t\tif (!tmp || !tmp.size) {\n\t\t\tcurrentLru.cacheItem.delete(currentLru.arg);\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n// check if the numbers are equal, or whether they are both precisely NaN (isNaN returns true for all non-numbers)\nfunction isEqual(val1, val2) {\n\treturn val1 === val2 || (val1 !== val1 && val2 !== val2);\n}\n},{\"map-or-similar\":1}]},{},[3])(3)\n});","import { __commonJS, __toESM, background, typography, curriedOpacify$1, themes, getPreferredColorScheme, light_default, _extends, color, mkColor } from './chunk-4NMOSTKD.mjs';\nexport { background, color, create, darkenColor as darken, lightenColor as lighten, themes, typography } from './chunk-4NMOSTKD.mjs';\nimport { createContext, forwardRef, useContext, createElement, Fragment, useRef } from 'react';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport memoize2 from 'memoizerific';\nimport { logger } from '@storybook/client-logger';\n\nvar require_react_is_development=__commonJS({\"../../node_modules/react-is/cjs/react-is.development.js\"(exports){(function(){var hasSymbol=typeof Symbol==\"function\"&&Symbol.for,REACT_ELEMENT_TYPE=hasSymbol?Symbol.for(\"react.element\"):60103,REACT_PORTAL_TYPE=hasSymbol?Symbol.for(\"react.portal\"):60106,REACT_FRAGMENT_TYPE=hasSymbol?Symbol.for(\"react.fragment\"):60107,REACT_STRICT_MODE_TYPE=hasSymbol?Symbol.for(\"react.strict_mode\"):60108,REACT_PROFILER_TYPE=hasSymbol?Symbol.for(\"react.profiler\"):60114,REACT_PROVIDER_TYPE=hasSymbol?Symbol.for(\"react.provider\"):60109,REACT_CONTEXT_TYPE=hasSymbol?Symbol.for(\"react.context\"):60110,REACT_ASYNC_MODE_TYPE=hasSymbol?Symbol.for(\"react.async_mode\"):60111,REACT_CONCURRENT_MODE_TYPE=hasSymbol?Symbol.for(\"react.concurrent_mode\"):60111,REACT_FORWARD_REF_TYPE=hasSymbol?Symbol.for(\"react.forward_ref\"):60112,REACT_SUSPENSE_TYPE=hasSymbol?Symbol.for(\"react.suspense\"):60113,REACT_SUSPENSE_LIST_TYPE=hasSymbol?Symbol.for(\"react.suspense_list\"):60120,REACT_MEMO_TYPE=hasSymbol?Symbol.for(\"react.memo\"):60115,REACT_LAZY_TYPE=hasSymbol?Symbol.for(\"react.lazy\"):60116,REACT_BLOCK_TYPE=hasSymbol?Symbol.for(\"react.block\"):60121,REACT_FUNDAMENTAL_TYPE=hasSymbol?Symbol.for(\"react.fundamental\"):60117,REACT_RESPONDER_TYPE=hasSymbol?Symbol.for(\"react.responder\"):60118,REACT_SCOPE_TYPE=hasSymbol?Symbol.for(\"react.scope\"):60119;function isValidElementType(type){return typeof type==\"string\"||typeof type==\"function\"||type===REACT_FRAGMENT_TYPE||type===REACT_CONCURRENT_MODE_TYPE||type===REACT_PROFILER_TYPE||type===REACT_STRICT_MODE_TYPE||type===REACT_SUSPENSE_TYPE||type===REACT_SUSPENSE_LIST_TYPE||typeof type==\"object\"&&type!==null&&(type.$$typeof===REACT_LAZY_TYPE||type.$$typeof===REACT_MEMO_TYPE||type.$$typeof===REACT_PROVIDER_TYPE||type.$$typeof===REACT_CONTEXT_TYPE||type.$$typeof===REACT_FORWARD_REF_TYPE||type.$$typeof===REACT_FUNDAMENTAL_TYPE||type.$$typeof===REACT_RESPONDER_TYPE||type.$$typeof===REACT_SCOPE_TYPE||type.$$typeof===REACT_BLOCK_TYPE)}function typeOf(object){if(typeof object==\"object\"&&object!==null){var $$typeof=object.$$typeof;switch($$typeof){case REACT_ELEMENT_TYPE:var type=object.type;switch(type){case REACT_ASYNC_MODE_TYPE:case REACT_CONCURRENT_MODE_TYPE:case REACT_FRAGMENT_TYPE:case REACT_PROFILER_TYPE:case REACT_STRICT_MODE_TYPE:case REACT_SUSPENSE_TYPE:return type;default:var $$typeofType=type&&type.$$typeof;switch($$typeofType){case REACT_CONTEXT_TYPE:case REACT_FORWARD_REF_TYPE:case REACT_LAZY_TYPE:case REACT_MEMO_TYPE:case REACT_PROVIDER_TYPE:return $$typeofType;default:return $$typeof}}case REACT_PORTAL_TYPE:return $$typeof}}}var AsyncMode=REACT_ASYNC_MODE_TYPE,ConcurrentMode=REACT_CONCURRENT_MODE_TYPE,ContextConsumer=REACT_CONTEXT_TYPE,ContextProvider=REACT_PROVIDER_TYPE,Element=REACT_ELEMENT_TYPE,ForwardRef=REACT_FORWARD_REF_TYPE,Fragment4=REACT_FRAGMENT_TYPE,Lazy=REACT_LAZY_TYPE,Memo=REACT_MEMO_TYPE,Portal=REACT_PORTAL_TYPE,Profiler=REACT_PROFILER_TYPE,StrictMode=REACT_STRICT_MODE_TYPE,Suspense=REACT_SUSPENSE_TYPE,hasWarnedAboutDeprecatedIsAsyncMode=!1;function isAsyncMode(object){return hasWarnedAboutDeprecatedIsAsyncMode||(hasWarnedAboutDeprecatedIsAsyncMode=!0,console.warn(\"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.\")),isConcurrentMode(object)||typeOf(object)===REACT_ASYNC_MODE_TYPE}function isConcurrentMode(object){return typeOf(object)===REACT_CONCURRENT_MODE_TYPE}function isContextConsumer(object){return typeOf(object)===REACT_CONTEXT_TYPE}function isContextProvider(object){return typeOf(object)===REACT_PROVIDER_TYPE}function isElement(object){return typeof object==\"object\"&&object!==null&&object.$$typeof===REACT_ELEMENT_TYPE}function isForwardRef(object){return typeOf(object)===REACT_FORWARD_REF_TYPE}function isFragment(object){return typeOf(object)===REACT_FRAGMENT_TYPE}function isLazy(object){return typeOf(object)===REACT_LAZY_TYPE}function isMemo(object){return typeOf(object)===REACT_MEMO_TYPE}function isPortal(object){return typeOf(object)===REACT_PORTAL_TYPE}function isProfiler(object){return typeOf(object)===REACT_PROFILER_TYPE}function isStrictMode(object){return typeOf(object)===REACT_STRICT_MODE_TYPE}function isSuspense(object){return typeOf(object)===REACT_SUSPENSE_TYPE}exports.AsyncMode=AsyncMode,exports.ConcurrentMode=ConcurrentMode,exports.ContextConsumer=ContextConsumer,exports.ContextProvider=ContextProvider,exports.Element=Element,exports.ForwardRef=ForwardRef,exports.Fragment=Fragment4,exports.Lazy=Lazy,exports.Memo=Memo,exports.Portal=Portal,exports.Profiler=Profiler,exports.StrictMode=StrictMode,exports.Suspense=Suspense,exports.isAsyncMode=isAsyncMode,exports.isConcurrentMode=isConcurrentMode,exports.isContextConsumer=isContextConsumer,exports.isContextProvider=isContextProvider,exports.isElement=isElement,exports.isForwardRef=isForwardRef,exports.isFragment=isFragment,exports.isLazy=isLazy,exports.isMemo=isMemo,exports.isPortal=isPortal,exports.isProfiler=isProfiler,exports.isStrictMode=isStrictMode,exports.isSuspense=isSuspense,exports.isValidElementType=isValidElementType,exports.typeOf=typeOf;})();}});var require_react_is=__commonJS({\"../../node_modules/react-is/index.js\"(exports,module){module.exports=require_react_is_development();}});var require_hoist_non_react_statics_cjs=__commonJS({\"../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\"(exports,module){var reactIs=require_react_is(),REACT_STATICS={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},FORWARD_REF_STATICS={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},MEMO_STATICS={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},TYPE_STATICS={};TYPE_STATICS[reactIs.ForwardRef]=FORWARD_REF_STATICS;TYPE_STATICS[reactIs.Memo]=MEMO_STATICS;function getStatics(component){return reactIs.isMemo(component)?MEMO_STATICS:TYPE_STATICS[component.$$typeof]||REACT_STATICS}var defineProperty=Object.defineProperty,getOwnPropertyNames=Object.getOwnPropertyNames,getOwnPropertySymbols=Object.getOwnPropertySymbols,getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor,getPrototypeOf=Object.getPrototypeOf,objectPrototype=Object.prototype;function hoistNonReactStatics2(targetComponent,sourceComponent,blacklist){if(typeof sourceComponent!=\"string\"){if(objectPrototype){var inheritedComponent=getPrototypeOf(sourceComponent);inheritedComponent&&inheritedComponent!==objectPrototype&&hoistNonReactStatics2(targetComponent,inheritedComponent,blacklist);}var keys=getOwnPropertyNames(sourceComponent);getOwnPropertySymbols&&(keys=keys.concat(getOwnPropertySymbols(sourceComponent)));for(var targetStatics=getStatics(targetComponent),sourceStatics=getStatics(sourceComponent),i=0;i0?charat(characters,--position):0,column--,character===10&&(column=1,line--),character}function next(){return character=position2||token(character)>3?\"\":\" \"}function escaping(index,count){for(;--count&&next()&&!(character<48||character>102||character>57&&character<65||character>70&&character<97););return slice(index,caret()+(count<6&&peek()==32&&next()==32))}function delimiter(type){for(;next();)switch(character){case type:return position;case 34:case 39:type!==34&&type!==39&&delimiter(character);break;case 40:type===41&&delimiter(type);break;case 92:next();break}return position}function commenter(type,index){for(;next()&&type+character!==47+10;)if(type+character===42+42&&peek()===47)break;return \"/*\"+slice(index,position-1)+\"*\"+from(type===47?type:next())}function identifier(index){for(;!token(peek());)next();return slice(index,position)}function compile(value){return dealloc(parse(\"\",null,null,null,[\"\"],value=alloc(value),0,[0],value))}function parse(value,root,parent,rule,rules,rulesets,pseudo,points,declarations){for(var index=0,offset=0,length2=pseudo,atrule=0,property=0,previous=0,variable=1,scanning=1,ampersand=1,character2=0,type=\"\",props=rules,children=rulesets,reference=rule,characters2=type;scanning;)switch(previous=character2,character2=next()){case 40:if(previous!=108&&charat(characters2,length2-1)==58){indexof(characters2+=replace(delimit(character2),\"&\",\"&\\f\"),\"&\\f\")!=-1&&(ampersand=-1);break}case 34:case 39:case 91:characters2+=delimit(character2);break;case 9:case 10:case 13:case 32:characters2+=whitespace(previous);break;case 92:characters2+=escaping(caret()-1,7);continue;case 47:switch(peek()){case 42:case 47:append(comment(commenter(next(),caret()),root,parent),declarations);break;default:characters2+=\"/\";}break;case 123*variable:points[index++]=strlen(characters2)*ampersand;case 125*variable:case 59:case 0:switch(character2){case 0:case 125:scanning=0;case 59+offset:property>0&&strlen(characters2)-length2&&append(property>32?declaration(characters2+\";\",rule,parent,length2-1):declaration(replace(characters2,\" \",\"\")+\";\",rule,parent,length2-2),declarations);break;case 59:characters2+=\";\";default:if(append(reference=ruleset(characters2,root,parent,index,offset,rules,points,type,props=[],children=[],length2),rulesets),character2===123)if(offset===0)parse(characters2,root,reference,reference,props,rulesets,length2,points,children);else switch(atrule===99&&charat(characters2,3)===110?100:atrule){case 100:case 109:case 115:parse(value,reference,reference,rule&&append(ruleset(value,reference,reference,0,0,rules,points,type,rules,props=[],length2),children),rules,children,length2,points,rule?props:children);break;default:parse(characters2,reference,reference,reference,[\"\"],children,0,points,children);}}index=offset=property=0,variable=ampersand=1,type=characters2=\"\",length2=pseudo;break;case 58:length2=1+strlen(characters2),property=previous;default:if(variable<1){if(character2==123)--variable;else if(character2==125&&variable++==0&&prev()==125)continue}switch(characters2+=from(character2),character2*variable){case 38:ampersand=offset>0?1:(characters2+=\"\\f\",-1);break;case 44:points[index++]=(strlen(characters2)-1)*ampersand,ampersand=1;break;case 64:peek()===45&&(characters2+=delimit(next())),atrule=peek(),offset=length2=strlen(type=characters2+=identifier(caret())),character2++;break;case 45:previous===45&&strlen(characters2)==2&&(variable=0);}}return rulesets}function ruleset(value,root,parent,index,offset,rules,points,type,props,children,length2){for(var post=offset-1,rule=offset===0?rules:[\"\"],size=sizeof(rule),i=0,j=0,k=0;i0?rule[x]+\" \"+y:replace(y,/&\\f/g,rule[x])))&&(props[k++]=z);return node(value,root,parent,offset===0?RULESET:type,props,children,length2)}function comment(value,root,parent){return node(value,root,parent,COMMENT,from(char()),substr(value,2,-2),0)}function declaration(value,root,parent,length2){return node(value,root,parent,DECLARATION,substr(value,0,length2),substr(value,length2+1,-1),length2)}function serialize(children,callback){for(var output=\"\",length2=sizeof(children),i=0;i-1},createUnsafeSelectorsAlarm=function(cache){return function(element,index,children){if(!(element.type!==\"rule\"||cache.compat)){var unsafePseudoClasses=element.value.match(/(:first|:nth|:nth-last)-child/g);if(unsafePseudoClasses){for(var isNested=!!element.parent,commentContainer=isNested?element.parent.children:children,i=commentContainer.length-1;i>=0;i--){var node2=commentContainer[i];if(node2.line=0;i--)if(!isImportRule(children[i]))return !0;return !1},nullifyElement=function(element){element.type=\"\",element.value=\"\",element.return=\"\",element.children=\"\",element.props=\"\";},incorrectImportAlarm=function(element,index,children){isImportRule(element)&&(element.parent?(console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\"),nullifyElement(element)):isPrependedWithRegularRules(index,children)&&(console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\"),nullifyElement(element)));};function prefix(value,length2){switch(hash(value,length2)){case 5103:return WEBKIT+\"print-\"+value+value;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return WEBKIT+value+value;case 5349:case 4246:case 4810:case 6968:case 2756:return WEBKIT+value+MOZ+value+MS+value+value;case 6828:case 4268:return WEBKIT+value+MS+value+value;case 6165:return WEBKIT+value+MS+\"flex-\"+value+value;case 5187:return WEBKIT+value+replace(value,/(\\w+).+(:[^]+)/,WEBKIT+\"box-$1$2\"+MS+\"flex-$1$2\")+value;case 5443:return WEBKIT+value+MS+\"flex-item-\"+replace(value,/flex-|-self/,\"\")+value;case 4675:return WEBKIT+value+MS+\"flex-line-pack\"+replace(value,/align-content|flex-|-self/,\"\")+value;case 5548:return WEBKIT+value+MS+replace(value,\"shrink\",\"negative\")+value;case 5292:return WEBKIT+value+MS+replace(value,\"basis\",\"preferred-size\")+value;case 6060:return WEBKIT+\"box-\"+replace(value,\"-grow\",\"\")+WEBKIT+value+MS+replace(value,\"grow\",\"positive\")+value;case 4554:return WEBKIT+replace(value,/([^-])(transform)/g,\"$1\"+WEBKIT+\"$2\")+value;case 6187:return replace(replace(replace(value,/(zoom-|grab)/,WEBKIT+\"$1\"),/(image-set)/,WEBKIT+\"$1\"),value,\"\")+value;case 5495:case 3959:return replace(value,/(image-set\\([^]*)/,WEBKIT+\"$1$`$1\");case 4968:return replace(replace(value,/(.+:)(flex-)?(.*)/,WEBKIT+\"box-pack:$3\"+MS+\"flex-pack:$3\"),/s.+-b[^;]+/,\"justify\")+WEBKIT+value+value;case 4095:case 3583:case 4068:case 2532:return replace(value,/(.+)-inline(.+)/,WEBKIT+\"$1$2\")+value;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(strlen(value)-1-length2>6)switch(charat(value,length2+1)){case 109:if(charat(value,length2+4)!==45)break;case 102:return replace(value,/(.+:)(.+)-([^]+)/,\"$1\"+WEBKIT+\"$2-$3$1\"+MOZ+(charat(value,length2+3)==108?\"$3\":\"$2-$3\"))+value;case 115:return ~indexof(value,\"stretch\")?prefix(replace(value,\"stretch\",\"fill-available\"),length2)+value:value}break;case 4949:if(charat(value,length2+1)!==115)break;case 6444:switch(charat(value,strlen(value)-3-(~indexof(value,\"!important\")&&10))){case 107:return replace(value,\":\",\":\"+WEBKIT)+value;case 101:return replace(value,/(.+:)([^;!]+)(;|!.+)?/,\"$1\"+WEBKIT+(charat(value,14)===45?\"inline-\":\"\")+\"box$3$1\"+WEBKIT+\"$2$3$1\"+MS+\"$2box$3\")+value}break;case 5936:switch(charat(value,length2+11)){case 114:return WEBKIT+value+MS+replace(value,/[svh]\\w+-[tblr]{2}/,\"tb\")+value;case 108:return WEBKIT+value+MS+replace(value,/[svh]\\w+-[tblr]{2}/,\"tb-rl\")+value;case 45:return WEBKIT+value+MS+replace(value,/[svh]\\w+-[tblr]{2}/,\"lr\")+value}return WEBKIT+value+MS+value+value}return value}var prefixer=function(element,index,children,callback){if(element.length>-1&&!element.return)switch(element.type){case DECLARATION:element.return=prefix(element.value,element.length);break;case KEYFRAMES:return serialize([copy(element,{value:replace(element.value,\"@\",\"@\"+WEBKIT)})],callback);case RULESET:if(element.length)return combine(element.props,function(value){switch(match(value,/(::plac\\w+|:read-\\w+)/)){case\":read-only\":case\":read-write\":return serialize([copy(element,{props:[replace(value,/:(read-\\w+)/,\":\"+MOZ+\"$1\")]})],callback);case\"::placeholder\":return serialize([copy(element,{props:[replace(value,/:(plac\\w+)/,\":\"+WEBKIT+\"input-$1\")]}),copy(element,{props:[replace(value,/:(plac\\w+)/,\":\"+MOZ+\"$1\")]}),copy(element,{props:[replace(value,/:(plac\\w+)/,MS+\"input-$1\")]})],callback)}return \"\"})}},defaultStylisPlugins=[prefixer],createCache=function(options){var key=options.key;if(!key)throw new Error(`You have to configure \\`key\\` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\nIf multiple caches share the same key they might \"fight\" for each other's style elements.`);if(key===\"css\"){var ssrStyles=document.querySelectorAll(\"style[data-emotion]:not([data-s])\");Array.prototype.forEach.call(ssrStyles,function(node2){var dataEmotionAttribute=node2.getAttribute(\"data-emotion\");dataEmotionAttribute.indexOf(\" \")!==-1&&(document.head.appendChild(node2),node2.setAttribute(\"data-s\",\"\"));});}var stylisPlugins=options.stylisPlugins||defaultStylisPlugins;if(/[^a-z-]/.test(key))throw new Error('Emotion key must only contain lower case alphabetical characters and - but \"'+key+'\" was passed');var inserted={},container,nodesToHydrate=[];container=options.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^=\"'+key+' \"]'),function(node2){for(var attrib=node2.getAttribute(\"data-emotion\").split(\" \"),i=1;i=4;++i,len-=4)k=str.charCodeAt(i)&255|(str.charCodeAt(++i)&255)<<8|(str.charCodeAt(++i)&255)<<16|(str.charCodeAt(++i)&255)<<24,k=(k&65535)*1540483477+((k>>>16)*59797<<16),k^=k>>>24,h=(k&65535)*1540483477+((k>>>16)*59797<<16)^(h&65535)*1540483477+((h>>>16)*59797<<16);switch(len){case 3:h^=(str.charCodeAt(i+2)&255)<<16;case 2:h^=(str.charCodeAt(i+1)&255)<<8;case 1:h^=str.charCodeAt(i)&255,h=(h&65535)*1540483477+((h>>>16)*59797<<16);}return h^=h>>>13,h=(h&65535)*1540483477+((h>>>16)*59797<<16),((h^h>>>15)>>>0).toString(36)}var emotion_hash_esm_default=murmur2;var unitlessKeys={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},emotion_unitless_esm_default=unitlessKeys;var ILLEGAL_ESCAPE_SEQUENCE_ERROR=`You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\\\00d7';\" should become \"content: '\\\\\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences`,UNDEFINED_AS_OBJECT_KEY_ERROR=\"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\",hyphenateRegex=/[A-Z]|^ms/g,animationRegex=/_EMO_([^_]+?)_([^]*?)_EMO_/g,isCustomProperty=function(property){return property.charCodeAt(1)===45},isProcessableValue=function(value){return value!=null&&typeof value!=\"boolean\"},processStyleName=emotion_memoize_esm_default(function(styleName){return isCustomProperty(styleName)?styleName:styleName.replace(hyphenateRegex,\"-$&\").toLowerCase()}),processStyleValue=function(key,value){switch(key){case\"animation\":case\"animationName\":if(typeof value==\"string\")return value.replace(animationRegex,function(match2,p1,p2){return cursor={name:p1,styles:p2,next:cursor},p1})}return emotion_unitless_esm_default[key]!==1&&!isCustomProperty(key)&&typeof value==\"number\"&&value!==0?value+\"px\":value};contentValuePattern=/(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/,contentValues=[\"normal\",\"none\",\"initial\",\"inherit\",\"unset\"],oldProcessStyleValue=processStyleValue,msPattern=/^-ms-/,hyphenPattern=/-(.)/g,hyphenatedCache={},processStyleValue=function(key,value){if(key===\"content\"&&(typeof value!=\"string\"||contentValues.indexOf(value)===-1&&!contentValuePattern.test(value)&&(value.charAt(0)!==value.charAt(value.length-1)||value.charAt(0)!=='\"'&&value.charAt(0)!==\"'\")))throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\"+value+\"\\\"'`\");var processed=oldProcessStyleValue(key,value);return processed!==\"\"&&!isCustomProperty(key)&&key.indexOf(\"-\")!==-1&&hyphenatedCache[key]===void 0&&(hyphenatedCache[key]=!0,console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \"+key.replace(msPattern,\"ms-\").replace(hyphenPattern,function(str,_char){return _char.toUpperCase()})+\"?\")),processed};var contentValuePattern,contentValues,oldProcessStyleValue,msPattern,hyphenPattern,hyphenatedCache,noComponentSelectorMessage=\"Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.\";function handleInterpolation(mergedProps,registered,interpolation){if(interpolation==null)return \"\";if(interpolation.__emotion_styles!==void 0){if(interpolation.toString()===\"NO_COMPONENT_SELECTOR\")throw new Error(noComponentSelectorMessage);return interpolation}switch(typeof interpolation){case\"boolean\":return \"\";case\"object\":{if(interpolation.anim===1)return cursor={name:interpolation.name,styles:interpolation.styles,next:cursor},interpolation.name;if(interpolation.styles!==void 0){var next2=interpolation.next;if(next2!==void 0)for(;next2!==void 0;)cursor={name:next2.name,styles:next2.styles,next:cursor},next2=next2.next;var styles=interpolation.styles+\";\";return interpolation.map!==void 0&&(styles+=interpolation.map),styles}return createStringFromObject(mergedProps,registered,interpolation)}case\"function\":{if(mergedProps!==void 0){var previousCursor=cursor,result=interpolation(mergedProps);return cursor=previousCursor,handleInterpolation(mergedProps,registered,result)}else console.error(\"Functions that are interpolated in css calls will be stringified.\\nIf you want to have a css call based on props, create a function that returns a css call like this\\nlet dynamicStyle = (props) => css`color: ${props.color}`\\nIt can be called directly with props or interpolated in a styled call like this\\nlet SomeComponent = styled('div')`${dynamicStyle}`\");break}case\"string\":var matched=[],replaced=interpolation.replace(animationRegex,function(match2,p1,p2){var fakeVarName=\"animation\"+matched.length;return matched.push(\"const \"+fakeVarName+\" = keyframes`\"+p2.replace(/^@keyframes animation-\\w+/,\"\")+\"`\"),\"${\"+fakeVarName+\"}\"});matched.length&&console.error(\"`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\nInstead of doing this:\\n\\n\"+[].concat(matched,[\"`\"+replaced+\"`\"]).join(`\n`)+`\n\nYou should wrap it with \\`css\\` like this:\n\n`+(\"css`\"+replaced+\"`\"));break}if(registered==null)return interpolation;var cached=registered[interpolation];return cached!==void 0?cached:interpolation}function createStringFromObject(mergedProps,registered,obj){var string=\"\";if(Array.isArray(obj))for(var i=0;i ({})}!\");return mergedTheme}if(theme==null||typeof theme!=\"object\"||Array.isArray(theme))throw new Error(\"[ThemeProvider] Please make your theme prop a plain object\");return _extends({},outerTheme,theme)},createCacheWithTheme=emotion_weak_memoize_esm_default(function(outerTheme){return emotion_weak_memoize_esm_default(function(theme){return getTheme(outerTheme,theme)})}),ThemeProvider=function(props){var theme=useContext(ThemeContext);return props.theme!==theme&&(theme=createCacheWithTheme(theme)(props.theme)),createElement(ThemeContext.Provider,{value:theme},props.children)};function withTheme(Component){var componentName=Component.displayName||Component.name||\"Component\",render=function(props,ref){var theme=useContext(ThemeContext);return createElement(Component,_extends({theme,ref},props))},WithTheme=forwardRef(render);return WithTheme.displayName=\"WithTheme(\"+componentName+\")\",emotion_react_isolated_hnrs_browser_esm_default(WithTheme,Component)}var getLastPart=function(functionName){var parts=functionName.split(\".\");return parts[parts.length-1]},getFunctionNameFromStackTraceLine=function(line2){var match2=/^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line2);if(match2||(match2=/^([A-Za-z0-9$.]+)@/.exec(line2),match2))return getLastPart(match2[1])},internalReactFunctionNames=new Set([\"renderWithHooks\",\"processChild\",\"finishClassComponent\",\"renderToString\"]),sanitizeIdentifier=function(identifier2){return identifier2.replace(/\\$/g,\"-\")},getLabelFromStackTrace=function(stackTrace){if(stackTrace)for(var lines=stackTrace.split(`\n`),i=0;i=16.8.0\"},peerDependenciesMeta:{\"@types/react\":{optional:!0}},devDependencies:{\"@definitelytyped/dtslint\":\"0.0.112\",\"@emotion/css\":\"11.10.6\",\"@emotion/css-prettifier\":\"1.1.1\",\"@emotion/server\":\"11.10.0\",\"@emotion/styled\":\"11.10.6\",\"html-tag-names\":\"^1.1.2\",react:\"16.14.0\",\"svg-tag-names\":\"^1.1.1\",typescript:\"^4.5.5\"},repository:\"https://github.com/emotion-js/emotion/tree/main/packages/react\",publishConfig:{access:\"public\"},\"umd:main\":\"dist/emotion-react.umd.min.js\",preconstruct:{entrypoints:[\"./index.js\",\"./jsx-runtime.js\",\"./jsx-dev-runtime.js\",\"./_isolated-hnrs.js\"],umdName:\"emotionReact\",exports:{envConditions:[\"browser\",\"worker\"],extra:{\"./types/css-prop\":\"./types/css-prop.d.ts\",\"./macro\":\"./macro.js\"}}}},jsx=function(type,props){var args=arguments;if(props==null||!hasOwnProperty.call(props,\"css\"))return createElement.apply(void 0,args);var argsLength=args.length,createElementArgArray=new Array(argsLength);createElementArgArray[0]=Emotion,createElementArgArray[1]=createEmotionProps(type,props);for(var i=2;i component.\"),toAdd=\"\";for(var k in arg)arg[k]&&k&&(toAdd&&(toAdd+=\" \"),toAdd+=k);}break}default:toAdd=arg;}toAdd&&(cls&&(cls+=\" \"),cls+=toAdd);}}return cls};function merge(registered,css2,className){var registeredStyles=[],rawClassName=getRegisteredStyles(registered,registeredStyles,className);return registeredStyles.length<2?className:rawClassName+css2(registeredStyles)}var Insertion3=function(_ref){var cache=_ref.cache,serializedArr=_ref.serializedArr;useInsertionEffectAlwaysWithSyncFallback(function(){for(var i=0;i96?testOmitPropsOnStringTag:testOmitPropsOnComponent},composeShouldForwardProps=function(tag,options,isReal){var shouldForwardProp;if(options){var optionsShouldForwardProp=options.shouldForwardProp;shouldForwardProp=tag.__emotion_forwardProp&&optionsShouldForwardProp?function(propName){return tag.__emotion_forwardProp(propName)&&optionsShouldForwardProp(propName)}:optionsShouldForwardProp;}return typeof shouldForwardProp!=\"function\"&&isReal&&(shouldForwardProp=tag.__emotion_forwardProp),shouldForwardProp},ILLEGAL_ESCAPE_SEQUENCE_ERROR2=`You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\\\00d7';\" should become \"content: '\\\\\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences`,Insertion5=function(_ref){var cache=_ref.cache,serialized=_ref.serialized,isStringTag=_ref.isStringTag;registerStyles(cache,serialized,isStringTag);useInsertionEffectAlwaysWithSyncFallback(function(){return insertStyles(cache,serialized,isStringTag)});return null},createStyled=function createStyled2(tag,options){if(tag===void 0)throw new Error(`You are trying to create a styled element with an undefined component.\nYou may have forgotten to import it.`);var isReal=tag.__emotion_real===tag,baseTag=isReal&&tag.__emotion_base||tag,identifierName,targetClassName;options!==void 0&&(identifierName=options.label,targetClassName=options.target);var shouldForwardProp=composeShouldForwardProps(tag,options,isReal),defaultShouldForwardProp=shouldForwardProp||getDefaultShouldForwardProp(baseTag),shouldUseAs=!defaultShouldForwardProp(\"as\");return function(){var args=arguments,styles=isReal&&tag.__emotion_styles!==void 0?tag.__emotion_styles.slice(0):[];if(identifierName!==void 0&&styles.push(\"label:\"+identifierName+\";\"),args[0]==null||args[0].raw===void 0)styles.push.apply(styles,args);else {args[0][0]===void 0&&console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR2),styles.push(args[0][0]);for(var len=args.length,i=1;i({body:{fontFamily:typography2.fonts.base,fontSize:typography2.size.s3,margin:0,WebkitFontSmoothing:\"antialiased\",MozOsxFontSmoothing:\"grayscale\",WebkitTapHighlightColor:\"rgba(0, 0, 0, 0)\",WebkitOverflowScrolling:\"touch\"},\"*\":{boxSizing:\"border-box\"},\"h1, h2, h3, h4, h5, h6\":{fontWeight:typography2.weight.regular,margin:0,padding:0},\"button, input, textarea, select\":{fontFamily:\"inherit\",fontSize:\"inherit\",boxSizing:\"border-box\"},sub:{fontSize:\"0.8em\",bottom:\"-0.2em\"},sup:{fontSize:\"0.8em\",top:\"-0.2em\"},\"b, strong\":{fontWeight:typography2.weight.bold},hr:{border:\"none\",borderTop:\"1px solid silver\",clear:\"both\",marginBottom:\"1.25rem\"},code:{fontFamily:typography2.fonts.mono,WebkitFontSmoothing:\"antialiased\",MozOsxFontSmoothing:\"grayscale\",display:\"inline-block\",paddingLeft:2,paddingRight:2,verticalAlign:\"baseline\",color:\"inherit\"},pre:{fontFamily:typography2.fonts.mono,WebkitFontSmoothing:\"antialiased\",MozOsxFontSmoothing:\"grayscale\",lineHeight:\"18px\",padding:\"11px 1rem\",whiteSpace:\"pre-wrap\",color:\"inherit\",borderRadius:3,margin:\"1rem 0\"}})),createGlobal=memoize2(1)(({color:color2,background:background2,typography:typography2})=>{let resetStyles=createReset({typography:typography2});return {...resetStyles,body:{...resetStyles.body,color:color2.defaultText,background:background2.app,overflow:\"hidden\"},hr:{...resetStyles.hr,borderTop:`1px solid ${color2.border}`}}});var easing={rubber:\"cubic-bezier(0.175, 0.885, 0.335, 1.05)\"},rotate360=keyframes`\n\tfrom {\n\t\ttransform: rotate(0deg);\n\t}\n\tto {\n\t\ttransform: rotate(360deg);\n\t}\n`,glow=keyframes`\n 0%, 100% { opacity: 1; }\n 50% { opacity: .4; }\n`,float=keyframes`\n 0% { transform: translateY(1px); }\n 25% { transform: translateY(0px); }\n 50% { transform: translateY(-3px); }\n 100% { transform: translateY(1px); }\n`,jiggle=keyframes`\n 0%, 100% { transform:translate3d(0,0,0); }\n 12.5%, 62.5% { transform:translate3d(-4px,0,0); }\n 37.5%, 87.5% { transform: translate3d(4px,0,0); }\n`,inlineGlow=css`\n animation: ${glow} 1.5s ease-in-out infinite;\n color: transparent;\n cursor: progress;\n`,hoverable=css`\n transition: all 150ms ease-out;\n transform: translate3d(0, 0, 0);\n\n &:hover {\n transform: translate3d(0, -2px, 0);\n }\n\n &:active {\n transform: translate3d(0, 0, 0);\n }\n`,animation={rotate360,glow,float,jiggle,inlineGlow,hoverable};var chromeDark={BASE_FONT_FAMILY:\"Menlo, monospace\",BASE_FONT_SIZE:\"11px\",BASE_LINE_HEIGHT:1.2,BASE_BACKGROUND_COLOR:\"rgb(36, 36, 36)\",BASE_COLOR:\"rgb(213, 213, 213)\",OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES:10,OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES:5,OBJECT_NAME_COLOR:\"rgb(227, 110, 236)\",OBJECT_VALUE_NULL_COLOR:\"rgb(127, 127, 127)\",OBJECT_VALUE_UNDEFINED_COLOR:\"rgb(127, 127, 127)\",OBJECT_VALUE_REGEXP_COLOR:\"rgb(233, 63, 59)\",OBJECT_VALUE_STRING_COLOR:\"rgb(233, 63, 59)\",OBJECT_VALUE_SYMBOL_COLOR:\"rgb(233, 63, 59)\",OBJECT_VALUE_NUMBER_COLOR:\"hsl(252, 100%, 75%)\",OBJECT_VALUE_BOOLEAN_COLOR:\"hsl(252, 100%, 75%)\",OBJECT_VALUE_FUNCTION_PREFIX_COLOR:\"rgb(85, 106, 242)\",HTML_TAG_COLOR:\"rgb(93, 176, 215)\",HTML_TAGNAME_COLOR:\"rgb(93, 176, 215)\",HTML_TAGNAME_TEXT_TRANSFORM:\"lowercase\",HTML_ATTRIBUTE_NAME_COLOR:\"rgb(155, 187, 220)\",HTML_ATTRIBUTE_VALUE_COLOR:\"rgb(242, 151, 102)\",HTML_COMMENT_COLOR:\"rgb(137, 137, 137)\",HTML_DOCTYPE_COLOR:\"rgb(192, 192, 192)\",ARROW_COLOR:\"rgb(145, 145, 145)\",ARROW_MARGIN_RIGHT:3,ARROW_FONT_SIZE:12,ARROW_ANIMATION_DURATION:\"0\",TREENODE_FONT_FAMILY:\"Menlo, monospace\",TREENODE_FONT_SIZE:\"11px\",TREENODE_LINE_HEIGHT:1.2,TREENODE_PADDING_LEFT:12,TABLE_BORDER_COLOR:\"rgb(85, 85, 85)\",TABLE_TH_BACKGROUND_COLOR:\"rgb(44, 44, 44)\",TABLE_TH_HOVER_COLOR:\"rgb(48, 48, 48)\",TABLE_SORT_ICON_COLOR:\"black\",TABLE_DATA_BACKGROUND_IMAGE:\"linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 50%, rgba(51, 139, 255, 0.0980392) 50%, rgba(51, 139, 255, 0.0980392))\",TABLE_DATA_BACKGROUND_SIZE:\"128px 32px\"},chromeLight={BASE_FONT_FAMILY:\"Menlo, monospace\",BASE_FONT_SIZE:\"11px\",BASE_LINE_HEIGHT:1.2,BASE_BACKGROUND_COLOR:\"white\",BASE_COLOR:\"black\",OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES:10,OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES:5,OBJECT_NAME_COLOR:\"rgb(136, 19, 145)\",OBJECT_VALUE_NULL_COLOR:\"rgb(128, 128, 128)\",OBJECT_VALUE_UNDEFINED_COLOR:\"rgb(128, 128, 128)\",OBJECT_VALUE_REGEXP_COLOR:\"rgb(196, 26, 22)\",OBJECT_VALUE_STRING_COLOR:\"rgb(196, 26, 22)\",OBJECT_VALUE_SYMBOL_COLOR:\"rgb(196, 26, 22)\",OBJECT_VALUE_NUMBER_COLOR:\"rgb(28, 0, 207)\",OBJECT_VALUE_BOOLEAN_COLOR:\"rgb(28, 0, 207)\",OBJECT_VALUE_FUNCTION_PREFIX_COLOR:\"rgb(13, 34, 170)\",HTML_TAG_COLOR:\"rgb(168, 148, 166)\",HTML_TAGNAME_COLOR:\"rgb(136, 18, 128)\",HTML_TAGNAME_TEXT_TRANSFORM:\"lowercase\",HTML_ATTRIBUTE_NAME_COLOR:\"rgb(153, 69, 0)\",HTML_ATTRIBUTE_VALUE_COLOR:\"rgb(26, 26, 166)\",HTML_COMMENT_COLOR:\"rgb(35, 110, 37)\",HTML_DOCTYPE_COLOR:\"rgb(192, 192, 192)\",ARROW_COLOR:\"#6e6e6e\",ARROW_MARGIN_RIGHT:3,ARROW_FONT_SIZE:12,ARROW_ANIMATION_DURATION:\"0\",TREENODE_FONT_FAMILY:\"Menlo, monospace\",TREENODE_FONT_SIZE:\"11px\",TREENODE_LINE_HEIGHT:1.2,TREENODE_PADDING_LEFT:12,TABLE_BORDER_COLOR:\"#aaa\",TABLE_TH_BACKGROUND_COLOR:\"#eee\",TABLE_TH_HOVER_COLOR:\"hsla(0, 0%, 90%, 1)\",TABLE_SORT_ICON_COLOR:\"#6e6e6e\",TABLE_DATA_BACKGROUND_IMAGE:\"linear-gradient(to bottom, white, white 50%, rgb(234, 243, 255) 50%, rgb(234, 243, 255))\",TABLE_DATA_BACKGROUND_SIZE:\"128px 32px\"},convertColors=colors=>Object.entries(colors).reduce((acc,[k,v])=>({...acc,[k]:mkColor(v)}),{}),create2=({colors,mono})=>{let colorsObjs=convertColors(colors);return {token:{fontFamily:mono,WebkitFontSmoothing:\"antialiased\",\"&.tag\":colorsObjs.red3,\"&.comment\":{...colorsObjs.green1,fontStyle:\"italic\"},\"&.prolog\":{...colorsObjs.green1,fontStyle:\"italic\"},\"&.doctype\":{...colorsObjs.green1,fontStyle:\"italic\"},\"&.cdata\":{...colorsObjs.green1,fontStyle:\"italic\"},\"&.string\":colorsObjs.red1,\"&.url\":colorsObjs.cyan1,\"&.symbol\":colorsObjs.cyan1,\"&.number\":colorsObjs.cyan1,\"&.boolean\":colorsObjs.cyan1,\"&.variable\":colorsObjs.cyan1,\"&.constant\":colorsObjs.cyan1,\"&.inserted\":colorsObjs.cyan1,\"&.atrule\":colorsObjs.blue1,\"&.keyword\":colorsObjs.blue1,\"&.attr-value\":colorsObjs.blue1,\"&.punctuation\":colorsObjs.gray1,\"&.operator\":colorsObjs.gray1,\"&.function\":colorsObjs.gray1,\"&.deleted\":colorsObjs.red2,\"&.important\":{fontWeight:\"bold\"},\"&.bold\":{fontWeight:\"bold\"},\"&.italic\":{fontStyle:\"italic\"},\"&.class-name\":colorsObjs.cyan2,\"&.selector\":colorsObjs.red3,\"&.attr-name\":colorsObjs.red4,\"&.property\":colorsObjs.red4,\"&.regex\":colorsObjs.red4,\"&.entity\":colorsObjs.red4,\"&.directive.tag .tag\":{background:\"#ffff00\",...colorsObjs.gray1}},\"language-json .token.boolean\":colorsObjs.blue1,\"language-json .token.number\":colorsObjs.blue1,\"language-json .token.property\":colorsObjs.cyan2,namespace:{opacity:.7}}};var lightSyntaxColors={green1:\"#008000\",red1:\"#A31515\",red2:\"#9a050f\",red3:\"#800000\",red4:\"#ff0000\",gray1:\"#393A34\",cyan1:\"#36acaa\",cyan2:\"#2B91AF\",blue1:\"#0000ff\",blue2:\"#00009f\"},darkSyntaxColors={green1:\"#7C7C7C\",red1:\"#92C379\",red2:\"#9a050f\",red3:\"#A8FF60\",red4:\"#96CBFE\",gray1:\"#EDEDED\",cyan1:\"#C6C5FE\",cyan2:\"#FFFFB6\",blue1:\"#B474DD\",blue2:\"#00009f\"},createColors=vars=>({primary:vars.colorPrimary,secondary:vars.colorSecondary,tertiary:color.tertiary,ancillary:color.ancillary,orange:color.orange,gold:color.gold,green:color.green,seafoam:color.seafoam,purple:color.purple,ultraviolet:color.ultraviolet,lightest:color.lightest,lighter:color.lighter,light:color.light,mediumlight:color.mediumlight,medium:color.medium,mediumdark:color.mediumdark,dark:color.dark,darker:color.darker,darkest:color.darkest,border:color.border,positive:color.positive,negative:color.negative,warning:color.warning,critical:color.critical,defaultText:vars.textColor||color.darkest,inverseText:vars.textInverseColor||color.lightest,positiveText:color.positiveText,negativeText:color.negativeText,warningText:color.warningText}),convert=(inherit=themes[getPreferredColorScheme()])=>{let{base,colorPrimary,colorSecondary,appBg,appContentBg,appBorderColor,appBorderRadius,fontBase,fontCode,textColor,textInverseColor,barTextColor,barSelectedColor,barBg,buttonBg,buttonBorder,booleanBg,booleanSelectedBg,inputBg,inputBorder,inputTextColor,inputBorderRadius,brandTitle,brandUrl,brandImage,brandTarget,gridCellSize,...rest}=inherit;return {...rest,base,color:createColors(inherit),background:{app:appBg,bar:barBg,content:appContentBg,gridCellSize:gridCellSize||background.gridCellSize,hoverable:background.hoverable,positive:background.positive,negative:background.negative,warning:background.warning,critical:background.critical},typography:{fonts:{base:fontBase,mono:fontCode},weight:typography.weight,size:typography.size},animation,easing,input:{background:inputBg,border:inputBorder,borderRadius:inputBorderRadius,color:inputTextColor},button:{background:buttonBg||inputBg,border:buttonBorder||inputBorder},boolean:{background:booleanBg||inputBorder,selectedBackground:booleanSelectedBg||inputBg},layoutMargin:10,appBorderColor,appBorderRadius,barTextColor,barSelectedColor:barSelectedColor||colorSecondary,barBg,brand:{title:brandTitle,url:brandUrl,image:brandImage||(brandTitle?null:void 0),target:brandTarget},code:create2({colors:base===\"light\"?lightSyntaxColors:darkSyntaxColors,mono:fontCode}),addonActionsTheme:{...base===\"light\"?chromeLight:chromeDark,BASE_FONT_FAMILY:fontCode,BASE_FONT_SIZE:typography.size.s2-1,BASE_LINE_HEIGHT:\"18px\",BASE_BACKGROUND_COLOR:\"transparent\",BASE_COLOR:textColor,ARROW_COLOR:curriedOpacify$1(.2,appBorderColor),ARROW_MARGIN_RIGHT:4,ARROW_FONT_SIZE:8,TREENODE_FONT_FAMILY:fontCode,TREENODE_FONT_SIZE:typography.size.s2-1,TREENODE_LINE_HEIGHT:\"18px\",TREENODE_PADDING_LEFT:12}}};var isEmpty=o=>Object.keys(o).length===0,isObject=o=>o!=null&&typeof o==\"object\",hasOwnProperty2=(o,...args)=>Object.prototype.hasOwnProperty.call(o,...args);var makeObjectWithoutPrototype=()=>Object.create(null);var deletedDiff=(lhs,rhs)=>lhs===rhs||!isObject(lhs)||!isObject(rhs)?{}:Object.keys(lhs).reduce((acc,key)=>{if(hasOwnProperty2(rhs,key)){let difference=deletedDiff(lhs[key],rhs[key]);return isObject(difference)&&isEmpty(difference)||(acc[key]=difference),acc}return acc[key]=void 0,acc},makeObjectWithoutPrototype()),deleted_default=deletedDiff;function dedent(templ){for(var values=[],_i=1;_i{if(!input)return convert(light_default);let missing=deleted_default(light_default,input);return Object.keys(missing).length&&logger.warn(dedent`\n Your theme is missing properties, you should update your theme!\n\n theme-data missing:\n `,missing),convert(input)};var ignoreSsrWarning=\"/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */\";\n\nexport { CacheProvider, ClassNames, Global, ThemeProvider, convert, emotion_cache_browser_esm_default as createCache, createGlobal, createReset, css, ensure, ignoreSsrWarning, emotion_is_prop_valid_esm_default as isPropValid, jsx, keyframes, emotion_styled_browser_esm_default as styled, useTheme, withTheme };\n","function _extends(){return _extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i=0)&&(target[key]=source[key]);return target}\n\nexport { _extends, _objectWithoutPropertiesLoose };\n","var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){return mod||(0, cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==\"object\"||typeof from==\"function\")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,\"default\",{value:mod,enumerable:!0}):target,mod));\n\nexport { __commonJS, __toESM };\n","import { __commonJS } from './chunk-NNAAFZ4U.mjs';\n\nvar require_markdown=__commonJS({\"../../node_modules/refractor/lang/markdown.js\"(exports,module){module.exports=markdown;markdown.displayName=\"markdown\";markdown.aliases=[\"md\"];function markdown(Prism){(function(Prism2){var inner=/(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;function createInline(pattern){return pattern=pattern.replace(//g,function(){return inner}),RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source+\"(?:\"+pattern+\")\")}var tableCell=/(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source,tableRow=/\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g,function(){return tableCell}),tableLine=/\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source;Prism2.languages.markdown=Prism2.languages.extend(\"markup\",{}),Prism2.languages.insertBefore(\"markdown\",\"prolog\",{\"front-matter-block\":{pattern:/(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,\"front-matter\":{pattern:/\\S+(?:\\s+\\S+)*/,alias:[\"yaml\",\"language-yaml\"],inside:Prism2.languages.yaml}}},blockquote:{pattern:/^>(?:[\\t ]*>)*/m,alias:\"punctuation\"},table:{pattern:RegExp(\"^\"+tableRow+tableLine+\"(?:\"+tableRow+\")*\",\"m\"),inside:{\"table-data-rows\":{pattern:RegExp(\"^(\"+tableRow+tableLine+\")(?:\"+tableRow+\")*$\"),lookbehind:!0,inside:{\"table-data\":{pattern:RegExp(tableCell),inside:Prism2.languages.markdown},punctuation:/\\|/}},\"table-line\":{pattern:RegExp(\"^(\"+tableRow+\")\"+tableLine+\"$\"),lookbehind:!0,inside:{punctuation:/\\||:?-{3,}:?/}},\"table-header-row\":{pattern:RegExp(\"^\"+tableRow+\"$\"),inside:{\"table-header\":{pattern:RegExp(tableCell),alias:\"important\",inside:Prism2.languages.markdown},punctuation:/\\|/}}}},code:[{pattern:/((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,lookbehind:!0,alias:\"keyword\"},{pattern:/^```[\\s\\S]*?^```$/m,greedy:!0,inside:{\"code-block\":{pattern:/^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,lookbehind:!0},\"code-language\":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,alias:\"important\",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\\s*)#.+/m,lookbehind:!0,alias:\"important\",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,lookbehind:!0,alias:\"punctuation\"},list:{pattern:/(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,lookbehind:!0,alias:\"punctuation\"},\"url-reference\":{pattern:/!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,inside:{variable:{pattern:/^(!?\\[)[^\\]]+/,lookbehind:!0},string:/(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,punctuation:/^[\\[\\]!:]|[<>]/},alias:\"url\"},bold:{pattern:createInline(/\\b__(?:(?!_)|_(?:(?!_))+_)+__\\b|\\*\\*(?:(?!\\*)|\\*(?:(?!\\*))+\\*)+\\*\\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\\s\\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\\*\\*|__/}},italic:{pattern:createInline(/\\b_(?:(?!_)|__(?:(?!_))+__)+_\\b|\\*(?:(?!\\*)|\\*\\*(?:(?!\\*))+\\*\\*)+\\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\\s\\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:createInline(/(~~?)(?:(?!~))+\\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\\s\\S]+(?=\\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},\"code-snippet\":{pattern:/(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[\"code\",\"keyword\"]},url:{pattern:createInline(/!?\\[(?:(?!\\]))+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\]))+\\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\\[)[^\\]]+(?=\\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,lookbehind:!0},url:{pattern:/(^\\]\\()[^\\s)]+/,lookbehind:!0},string:{pattern:/(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,lookbehind:!0}}}}),[\"url\",\"bold\",\"italic\",\"strike\"].forEach(function(token){[\"url\",\"bold\",\"italic\",\"strike\",\"code-snippet\"].forEach(function(inside){token!==inside&&(Prism2.languages.markdown[token].inside.content.inside[inside]=Prism2.languages.markdown[inside]);});}),Prism2.hooks.add(\"after-tokenize\",function(env){if(env.language!==\"markdown\"&&env.language!==\"md\")return;function walkTokens(tokens){if(!(!tokens||typeof tokens==\"string\"))for(var i=0,l=tokens.length;i\",quot:'\"'},fromCodePoint=String.fromCodePoint||String.fromCharCode;function textContent(html){var text=html.replace(tagPattern,\"\");return text=text.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi,function(m,code){if(code=code.toLowerCase(),code[0]===\"#\"){var value;return code[1]===\"x\"?value=parseInt(code.slice(2),16):value=Number(code.slice(1)),fromCodePoint(value)}else {var known=KNOWN_ENTITY_NAMES[code];return known||m}}),text}Prism2.languages.md=Prism2.languages.markdown;})(Prism);}}});\n\nexport { require_markdown };\n","import { __commonJS } from './chunk-NNAAFZ4U.mjs';\n\nvar require_yaml=__commonJS({\"../../node_modules/refractor/lang/yaml.js\"(exports,module){module.exports=yaml;yaml.displayName=\"yaml\";yaml.aliases=[\"yml\"];function yaml(Prism){(function(Prism2){var anchorOrAlias=/[*&][^\\s[\\]{},]+/,tag=/!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/,properties=\"(?:\"+tag.source+\"(?:[ \t]+\"+anchorOrAlias.source+\")?|\"+anchorOrAlias.source+\"(?:[ \t]+\"+tag.source+\")?)\",plainKey=/(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-])(?:[ \\t]*(?:(?![#:])|:))*/.source.replace(//g,function(){return /[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/.source}),string=/\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source;function createValuePattern(value,flags){flags=(flags||\"\").replace(/m/g,\"\")+\"m\";var pattern=/([:\\-,[{]\\s*(?:\\s<>[ \\t]+)?)(?:<>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source.replace(/<>/g,function(){return properties}).replace(/<>/g,function(){return value});return RegExp(pattern,flags)}Prism2.languages.yaml={scalar:{pattern:RegExp(/([\\-:]\\s*(?:\\s<>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(/<>/g,function(){return properties})),lookbehind:!0,alias:\"string\"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<>[ \\t]+)?)<>(?=\\s*:\\s)/.source.replace(/<>/g,function(){return properties}).replace(/<>/g,function(){return \"(?:\"+plainKey+\"|\"+string+\")\"})),lookbehind:!0,greedy:!0,alias:\"atrule\"},directive:{pattern:/(^[ \\t]*)%.+/m,lookbehind:!0,alias:\"important\"},datetime:{pattern:createValuePattern(/\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/.source),lookbehind:!0,alias:\"number\"},boolean:{pattern:createValuePattern(/false|true/.source,\"i\"),lookbehind:!0,alias:\"important\"},null:{pattern:createValuePattern(/null|~/.source,\"i\"),lookbehind:!0,alias:\"important\"},string:{pattern:createValuePattern(string),lookbehind:!0,greedy:!0},number:{pattern:createValuePattern(/[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/.source,\"i\"),lookbehind:!0},tag,important:anchorOrAlias,punctuation:/---|[:[\\]{}\\-,|>?]|\\.\\.\\./},Prism2.languages.yml=Prism2.languages.yaml;})(Prism);}}});\n\nexport { require_yaml };\n","import { __commonJS } from './chunk-NNAAFZ4U.mjs';\n\nvar require_typescript=__commonJS({\"../../node_modules/refractor/lang/typescript.js\"(exports,module){module.exports=typescript;typescript.displayName=\"typescript\";typescript.aliases=[\"ts\"];function typescript(Prism){(function(Prism2){Prism2.languages.typescript=Prism2.languages.extend(\"javascript\",{\"class-name\":{pattern:/(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/}),Prism2.languages.typescript.keyword.push(/\\b(?:abstract|declare|is|keyof|readonly|require)\\b/,/\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/,/\\btype\\b(?=\\s*(?:[\\{*]|$))/),delete Prism2.languages.typescript.parameter,delete Prism2.languages.typescript[\"literal-property\"];var typeInside=Prism2.languages.extend(\"typescript\",{});delete typeInside[\"class-name\"],Prism2.languages.typescript[\"class-name\"].inside=typeInside,Prism2.languages.insertBefore(\"typescript\",\"function\",{decorator:{pattern:/@[$\\w\\xA0-\\uFFFF]+/,inside:{at:{pattern:/^@/,alias:\"operator\"},function:/^[\\s\\S]+/}},\"generic-function\":{pattern:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/,greedy:!0,inside:{function:/^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/,generic:{pattern:/<[\\s\\S]+/,alias:\"class-name\",inside:typeInside}}}}),Prism2.languages.ts=Prism2.languages.typescript;})(Prism);}}});\n\nexport { require_typescript };\n","import { __commonJS } from './chunk-NNAAFZ4U.mjs';\n\nvar require_jsx=__commonJS({\"../../node_modules/refractor/lang/jsx.js\"(exports,module){module.exports=jsx;jsx.displayName=\"jsx\";jsx.aliases=[];function jsx(Prism){(function(Prism2){var javascript=Prism2.util.clone(Prism2.languages.javascript),space=/(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source,braces=/(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source,spread=/(?:\\{*\\.{3}(?:[^{}]|)*\\})/.source;function re(source,flags){return source=source.replace(//g,function(){return space}).replace(//g,function(){return braces}).replace(//g,function(){return spread}),RegExp(source,flags)}spread=re(spread).source,Prism2.languages.jsx=Prism2.languages.extend(\"markup\",javascript),Prism2.languages.jsx.tag.pattern=re(/<\\/?(?:[\\w.:-]+(?:+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'\"/>=]+|))?|))**\\/?)?>/.source),Prism2.languages.jsx.tag.inside.tag.pattern=/^<\\/?[^\\s>\\/]*/,Prism2.languages.jsx.tag.inside[\"attr-value\"].pattern=/=(?!\\{)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s'\">]+)/,Prism2.languages.jsx.tag.inside.tag.inside[\"class-name\"]=/^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/,Prism2.languages.jsx.tag.inside.comment=javascript.comment,Prism2.languages.insertBefore(\"inside\",\"attr-name\",{spread:{pattern:re(//.source),inside:Prism2.languages.jsx}},Prism2.languages.jsx.tag),Prism2.languages.insertBefore(\"inside\",\"special-attr\",{script:{pattern:re(/=/.source),alias:\"language-javascript\",inside:{\"script-punctuation\":{pattern:/^=(?=\\{)/,alias:\"punctuation\"},rest:Prism2.languages.jsx}}},Prism2.languages.jsx.tag);var stringifyToken=function(token){return token?typeof token==\"string\"?token:typeof token.content==\"string\"?token.content:token.content.map(stringifyToken).join(\"\"):\"\"},walkTokens=function(tokens){for(var openedTags=[],i=0;i0&&openedTags[openedTags.length-1].tagName===stringifyToken(token.content[0].content[1])&&openedTags.pop():token.content[token.content.length-1].content===\"/>\"||openedTags.push({tagName:stringifyToken(token.content[0].content[1]),openedBraces:0}):openedTags.length>0&&token.type===\"punctuation\"&&token.content===\"{\"?openedTags[openedTags.length-1].openedBraces++:openedTags.length>0&&openedTags[openedTags.length-1].openedBraces>0&&token.type===\"punctuation\"&&token.content===\"}\"?openedTags[openedTags.length-1].openedBraces--:notTagNorBrace=!0),(notTagNorBrace||typeof token==\"string\")&&openedTags.length>0&&openedTags[openedTags.length-1].openedBraces===0){var plainText=stringifyToken(token);i0&&(typeof tokens[i-1]==\"string\"||tokens[i-1].type===\"plain-text\")&&(plainText=stringifyToken(tokens[i-1])+plainText,tokens.splice(i-1,1),i--),tokens[i]=new Prism2.Token(\"plain-text\",plainText,null,plainText);}token.content&&typeof token.content!=\"string\"&&walkTokens(token.content);}};Prism2.hooks.add(\"after-tokenize\",function(env){env.language!==\"jsx\"&&env.language!==\"tsx\"||walkTokens(env.tokens);});})(Prism);}}});\n\nexport { require_jsx };\n","import { require_typescript } from './chunk-XWWAUDHM.mjs';\nimport { require_jsx } from './chunk-R5KWTIWY.mjs';\nimport { __commonJS } from './chunk-NNAAFZ4U.mjs';\n\nvar require_tsx=__commonJS({\"../../node_modules/refractor/lang/tsx.js\"(exports,module){var refractorJsx=require_jsx(),refractorTypescript=require_typescript();module.exports=tsx;tsx.displayName=\"tsx\";tsx.aliases=[];function tsx(Prism){Prism.register(refractorJsx),Prism.register(refractorTypescript),function(Prism2){var typescript=Prism2.util.clone(Prism2.languages.typescript);Prism2.languages.tsx=Prism2.languages.extend(\"jsx\",typescript),delete Prism2.languages.tsx.parameter,delete Prism2.languages.tsx[\"literal-property\"];var tag=Prism2.languages.tsx.tag;tag.pattern=RegExp(/(^|[^\\w$]|(?=<\\/))/.source+\"(?:\"+tag.pattern.source+\")\",tag.pattern.flags),tag.lookbehind=!0;}(Prism);}}});\n\nexport { require_tsx };\n","import { __commonJS } from './chunk-NNAAFZ4U.mjs';\n\nvar require_clike=__commonJS({\"../../node_modules/refractor/lang/clike.js\"(exports,module){module.exports=clike;clike.displayName=\"clike\";clike.aliases=[];function clike(Prism){Prism.languages.clike={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},\"class-name\":{pattern:/(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\\\]/}},keyword:/\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,boolean:/\\b(?:false|true)\\b/,function:/\\b\\w+(?=\\()/,number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,punctuation:/[{}[\\];(),.:]/};}}});\n\nexport { require_clike };\n","import { __commonJS } from './chunk-NNAAFZ4U.mjs';\n\nvar require_javascript=__commonJS({\"../../node_modules/refractor/lang/javascript.js\"(exports,module){module.exports=javascript;javascript.displayName=\"javascript\";javascript.aliases=[\"js\"];function javascript(Prism){Prism.languages.javascript=Prism.languages.extend(\"clike\",{\"class-name\":[Prism.languages.clike[\"class-name\"],{pattern:/(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\\})\\s*)catch\\b/,lookbehind:!0},{pattern:/(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,lookbehind:!0}],function:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,number:{pattern:RegExp(/(^|[^\\w$])/.source+\"(?:\"+(/NaN|Infinity/.source+\"|\"+/0[bB][01]+(?:_[01]+)*n?/.source+\"|\"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+\"|\"+/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source+\"|\"+/\\d+(?:_\\d+)*n/.source+\"|\"+/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source)+\")\"+/(?![\\w$])/.source),lookbehind:!0},operator:/--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/}),Prism.languages.javascript[\"class-name\"][0].pattern=/(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/,Prism.languages.insertBefore(\"javascript\",\"keyword\",{regex:{pattern:/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/,lookbehind:!0,greedy:!0,inside:{\"regex-source\":{pattern:/^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,lookbehind:!0,alias:\"language-regex\",inside:Prism.languages.regex},\"regex-delimiter\":/^\\/|\\/$/,\"regex-flags\":/^[a-z]+$/}},\"function-variable\":{pattern:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,alias:\"function\"},parameter:[{pattern:/(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/}),Prism.languages.insertBefore(\"javascript\",\"string\",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:\"comment\"},\"template-string\":{pattern:/`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,greedy:!0,inside:{\"template-punctuation\":{pattern:/^`|`$/,alias:\"string\"},interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,lookbehind:!0,inside:{\"interpolation-punctuation\":{pattern:/^\\$\\{|\\}$/,alias:\"punctuation\"},rest:Prism.languages.javascript}},string:/[\\s\\S]+/}},\"string-property\":{pattern:/((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,lookbehind:!0,greedy:!0,alias:\"property\"}}),Prism.languages.insertBefore(\"javascript\",\"operator\",{\"literal-property\":{pattern:/((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,lookbehind:!0,alias:\"property\"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined(\"script\",\"javascript\"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\"javascript\")),Prism.languages.js=Prism.languages.javascript;}}});\n\nexport { require_javascript };\n","import { __commonJS } from './chunk-NNAAFZ4U.mjs';\n\nvar require_css=__commonJS({\"../../node_modules/refractor/lang/css.js\"(exports,module){module.exports=css;css.displayName=\"css\";css.aliases=[];function css(Prism){(function(Prism2){var string=/(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;Prism2.languages.css={comment:/\\/\\*[\\s\\S]*?\\*\\//,atrule:{pattern:/@[\\w-](?:[^;{\\s]|\\s+(?![\\s{]))*(?:;|(?=\\s*\\{))/,inside:{rule:/^@[\\w-]+/,\"selector-function-argument\":{pattern:/(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,lookbehind:!0,alias:\"selector\"},keyword:{pattern:/(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,lookbehind:!0}}},url:{pattern:RegExp(\"\\\\burl\\\\((?:\"+string.source+\"|\"+/(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source+\")\\\\)\",\"i\"),greedy:!0,inside:{function:/^url/i,punctuation:/^\\(|\\)$/,string:{pattern:RegExp(\"^\"+string.source+\"$\"),alias:\"url\"}}},selector:{pattern:RegExp(`(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"'\\\\s]|\\\\s+(?![\\\\s{])|`+string.source+\")*(?=\\\\s*\\\\{)\"),lookbehind:!0},string:{pattern:string,greedy:!0},property:{pattern:/(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,lookbehind:!0},important:/!important\\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,lookbehind:!0},punctuation:/[(){};:,]/},Prism2.languages.css.atrule.inside.rest=Prism2.languages.css;var markup=Prism2.languages.markup;markup&&(markup.tag.addInlined(\"style\",\"css\"),markup.tag.addAttribute(\"style\",\"css\"));})(Prism);}}});\n\nexport { require_css };\n","import { __commonJS } from './chunk-NNAAFZ4U.mjs';\n\nvar require_markup=__commonJS({\"../../node_modules/refractor/lang/markup.js\"(exports,module){module.exports=markup;markup.displayName=\"markup\";markup.aliases=[\"html\",\"mathml\",\"svg\",\"xml\",\"ssml\",\"atom\",\"rss\"];function markup(Prism){Prism.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\\?[\\s\\S]+?\\?>/,greedy:!0},doctype:{pattern:/\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|)*\\]\\s*)?>/i,greedy:!0,inside:{\"internal-subset\":{pattern:/(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/\"[^\"]*\"|'[^']*'/,greedy:!0},punctuation:/^$|[[\\]]/,\"doctype-tag\":/^DOCTYPE/i,name:/[^\\s<>'\"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,greedy:!0,inside:{tag:{pattern:/^<\\/?[^\\s>\\/]+/,inside:{punctuation:/^<\\/?/,namespace:/^[^\\s>\\/:]+:/}},\"special-attr\":[],\"attr-value\":{pattern:/=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:\"attr-equals\"},/\"|'/]}},punctuation:/\\/?>/,\"attr-name\":{pattern:/[^\\s>\\/]+/,inside:{namespace:/^[^\\s>\\/:]+:/}}}},entity:[{pattern:/&[\\da-z]{1,8};/i,alias:\"named-entity\"},/&#x?[\\da-f]{1,8};/i]},Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside[\"internal-subset\"].inside=Prism.languages.markup,Prism.hooks.add(\"wrap\",function(env){env.type===\"entity\"&&(env.attributes.title=env.content.value.replace(/&/,\"&\"));}),Object.defineProperty(Prism.languages.markup.tag,\"addInlined\",{value:function(tagName,lang){var includedCdataInside={};includedCdataInside[\"language-\"+lang]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[lang]},includedCdataInside.cdata=/^$/i;var inside={\"included-cdata\":{pattern://i,inside:includedCdataInside}};inside[\"language-\"+lang]={pattern:/[\\s\\S]+/,inside:Prism.languages[lang]};var def={};def[tagName]={pattern:RegExp(/(<__[^>]*>)(?:))*\\]\\]>|(?!)/.source.replace(/__/g,function(){return tagName}),\"i\"),lookbehind:!0,greedy:!0,inside},Prism.languages.insertBefore(\"markup\",\"cdata\",def);}}),Object.defineProperty(Prism.languages.markup.tag,\"addAttribute\",{value:function(attrName,lang){Prism.languages.markup.tag.inside[\"special-attr\"].push({pattern:RegExp(/(^|[\"'\\s])/.source+\"(?:\"+attrName+\")\"+/\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\"i\"),lookbehind:!0,inside:{\"attr-name\":/^[^\\s=]+/,\"attr-value\":{pattern:/=[\\s\\S]+/,inside:{value:{pattern:/(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,lookbehind:!0,alias:[lang,\"language-\"+lang],inside:Prism.languages[lang]},punctuation:[{pattern:/^=/,alias:\"attr-equals\"},/\"|'/]}}}});}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend(\"markup\",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml;}}});\n\nexport { require_markup };\n","import { require_clike } from './chunk-KMON5KHC.mjs';\nimport { require_javascript } from './chunk-FXDDSU3L.mjs';\nimport { require_css } from './chunk-YTVVV3IZ.mjs';\nimport { require_markup } from './chunk-I3OL67LK.mjs';\nimport { __commonJS } from './chunk-NNAAFZ4U.mjs';\n\nvar require_immutable=__commonJS({\"../../node_modules/xtend/immutable.js\"(exports,module){module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty;function extend(){for(var target={},i=0;i4&&normal.slice(0,4)===data&&valid.test(value)&&(value.charAt(4)===\"-\"?prop=datasetToProperty(value):value=datasetToAttribute(value),Type=DefinedInfo),new Type(prop,value))}function datasetToProperty(attribute){var value=attribute.slice(5).replace(dash,camelcase);return data+value.charAt(0).toUpperCase()+value.slice(1)}function datasetToAttribute(property){var value=property.slice(4);return dash.test(value)?property:(value=value.replace(cap,kebab),value.charAt(0)!==\"-\"&&(value=\"-\"+value),data+value)}function kebab($0){return \"-\"+$0.toLowerCase()}function camelcase($0){return $0.charAt(1).toUpperCase()}}});var require_hast_util_parse_selector=__commonJS({\"../../node_modules/hast-util-parse-selector/index.js\"(exports,module){module.exports=parse;var search=/[#.]/g;function parse(selector,defaultTagName){for(var value=selector||\"\",name=defaultTagName||\"div\",props={},start=0,subvalue,previous,match;start\",Iacute:\"\\xCD\",Icirc:\"\\xCE\",Igrave:\"\\xCC\",Iuml:\"\\xCF\",LT:\"<\",Ntilde:\"\\xD1\",Oacute:\"\\xD3\",Ocirc:\"\\xD4\",Ograve:\"\\xD2\",Oslash:\"\\xD8\",Otilde:\"\\xD5\",Ouml:\"\\xD6\",QUOT:'\"',REG:\"\\xAE\",THORN:\"\\xDE\",Uacute:\"\\xDA\",Ucirc:\"\\xDB\",Ugrave:\"\\xD9\",Uuml:\"\\xDC\",Yacute:\"\\xDD\",aacute:\"\\xE1\",acirc:\"\\xE2\",acute:\"\\xB4\",aelig:\"\\xE6\",agrave:\"\\xE0\",amp:\"&\",aring:\"\\xE5\",atilde:\"\\xE3\",auml:\"\\xE4\",brvbar:\"\\xA6\",ccedil:\"\\xE7\",cedil:\"\\xB8\",cent:\"\\xA2\",copy:\"\\xA9\",curren:\"\\xA4\",deg:\"\\xB0\",divide:\"\\xF7\",eacute:\"\\xE9\",ecirc:\"\\xEA\",egrave:\"\\xE8\",eth:\"\\xF0\",euml:\"\\xEB\",frac12:\"\\xBD\",frac14:\"\\xBC\",frac34:\"\\xBE\",gt:\">\",iacute:\"\\xED\",icirc:\"\\xEE\",iexcl:\"\\xA1\",igrave:\"\\xEC\",iquest:\"\\xBF\",iuml:\"\\xEF\",laquo:\"\\xAB\",lt:\"<\",macr:\"\\xAF\",micro:\"\\xB5\",middot:\"\\xB7\",nbsp:\"\\xA0\",not:\"\\xAC\",ntilde:\"\\xF1\",oacute:\"\\xF3\",ocirc:\"\\xF4\",ograve:\"\\xF2\",ordf:\"\\xAA\",ordm:\"\\xBA\",oslash:\"\\xF8\",otilde:\"\\xF5\",ouml:\"\\xF6\",para:\"\\xB6\",plusmn:\"\\xB1\",pound:\"\\xA3\",quot:'\"',raquo:\"\\xBB\",reg:\"\\xAE\",sect:\"\\xA7\",shy:\"\\xAD\",sup1:\"\\xB9\",sup2:\"\\xB2\",sup3:\"\\xB3\",szlig:\"\\xDF\",thorn:\"\\xFE\",times:\"\\xD7\",uacute:\"\\xFA\",ucirc:\"\\xFB\",ugrave:\"\\xF9\",uml:\"\\xA8\",uuml:\"\\xFC\",yacute:\"\\xFD\",yen:\"\\xA5\",yuml:\"\\xFF\"};}});var require_character_reference_invalid=__commonJS({\"../../node_modules/character-reference-invalid/index.json\"(exports,module){module.exports={\"0\":\"\\uFFFD\",\"128\":\"\\u20AC\",\"130\":\"\\u201A\",\"131\":\"\\u0192\",\"132\":\"\\u201E\",\"133\":\"\\u2026\",\"134\":\"\\u2020\",\"135\":\"\\u2021\",\"136\":\"\\u02C6\",\"137\":\"\\u2030\",\"138\":\"\\u0160\",\"139\":\"\\u2039\",\"140\":\"\\u0152\",\"142\":\"\\u017D\",\"145\":\"\\u2018\",\"146\":\"\\u2019\",\"147\":\"\\u201C\",\"148\":\"\\u201D\",\"149\":\"\\u2022\",\"150\":\"\\u2013\",\"151\":\"\\u2014\",\"152\":\"\\u02DC\",\"153\":\"\\u2122\",\"154\":\"\\u0161\",\"155\":\"\\u203A\",\"156\":\"\\u0153\",\"158\":\"\\u017E\",\"159\":\"\\u0178\"};}});var require_is_decimal=__commonJS({\"../../node_modules/is-decimal/index.js\"(exports,module){module.exports=decimal;function decimal(character){var code=typeof character==\"string\"?character.charCodeAt(0):character;return code>=48&&code<=57}}});var require_is_hexadecimal=__commonJS({\"../../node_modules/is-hexadecimal/index.js\"(exports,module){module.exports=hexadecimal;function hexadecimal(character){var code=typeof character==\"string\"?character.charCodeAt(0):character;return code>=97&&code<=102||code>=65&&code<=70||code>=48&&code<=57}}});var require_is_alphabetical=__commonJS({\"../../node_modules/is-alphabetical/index.js\"(exports,module){module.exports=alphabetical;function alphabetical(character){var code=typeof character==\"string\"?character.charCodeAt(0):character;return code>=97&&code<=122||code>=65&&code<=90}}});var require_is_alphanumerical=__commonJS({\"../../node_modules/is-alphanumerical/index.js\"(exports,module){var alphabetical=require_is_alphabetical(),decimal=require_is_decimal();module.exports=alphanumerical;function alphanumerical(character){return alphabetical(character)||decimal(character)}}});var require_character_entities=__commonJS({\"../../node_modules/parse-entities/node_modules/character-entities/index.json\"(exports,module){module.exports={AEli:\"\\xC6\",AElig:\"\\xC6\",AM:\"&\",AMP:\"&\",Aacut:\"\\xC1\",Aacute:\"\\xC1\",Abreve:\"\\u0102\",Acir:\"\\xC2\",Acirc:\"\\xC2\",Acy:\"\\u0410\",Afr:\"\\u{1D504}\",Agrav:\"\\xC0\",Agrave:\"\\xC0\",Alpha:\"\\u0391\",Amacr:\"\\u0100\",And:\"\\u2A53\",Aogon:\"\\u0104\",Aopf:\"\\u{1D538}\",ApplyFunction:\"\\u2061\",Arin:\"\\xC5\",Aring:\"\\xC5\",Ascr:\"\\u{1D49C}\",Assign:\"\\u2254\",Atild:\"\\xC3\",Atilde:\"\\xC3\",Aum:\"\\xC4\",Auml:\"\\xC4\",Backslash:\"\\u2216\",Barv:\"\\u2AE7\",Barwed:\"\\u2306\",Bcy:\"\\u0411\",Because:\"\\u2235\",Bernoullis:\"\\u212C\",Beta:\"\\u0392\",Bfr:\"\\u{1D505}\",Bopf:\"\\u{1D539}\",Breve:\"\\u02D8\",Bscr:\"\\u212C\",Bumpeq:\"\\u224E\",CHcy:\"\\u0427\",COP:\"\\xA9\",COPY:\"\\xA9\",Cacute:\"\\u0106\",Cap:\"\\u22D2\",CapitalDifferentialD:\"\\u2145\",Cayleys:\"\\u212D\",Ccaron:\"\\u010C\",Ccedi:\"\\xC7\",Ccedil:\"\\xC7\",Ccirc:\"\\u0108\",Cconint:\"\\u2230\",Cdot:\"\\u010A\",Cedilla:\"\\xB8\",CenterDot:\"\\xB7\",Cfr:\"\\u212D\",Chi:\"\\u03A7\",CircleDot:\"\\u2299\",CircleMinus:\"\\u2296\",CirclePlus:\"\\u2295\",CircleTimes:\"\\u2297\",ClockwiseContourIntegral:\"\\u2232\",CloseCurlyDoubleQuote:\"\\u201D\",CloseCurlyQuote:\"\\u2019\",Colon:\"\\u2237\",Colone:\"\\u2A74\",Congruent:\"\\u2261\",Conint:\"\\u222F\",ContourIntegral:\"\\u222E\",Copf:\"\\u2102\",Coproduct:\"\\u2210\",CounterClockwiseContourIntegral:\"\\u2233\",Cross:\"\\u2A2F\",Cscr:\"\\u{1D49E}\",Cup:\"\\u22D3\",CupCap:\"\\u224D\",DD:\"\\u2145\",DDotrahd:\"\\u2911\",DJcy:\"\\u0402\",DScy:\"\\u0405\",DZcy:\"\\u040F\",Dagger:\"\\u2021\",Darr:\"\\u21A1\",Dashv:\"\\u2AE4\",Dcaron:\"\\u010E\",Dcy:\"\\u0414\",Del:\"\\u2207\",Delta:\"\\u0394\",Dfr:\"\\u{1D507}\",DiacriticalAcute:\"\\xB4\",DiacriticalDot:\"\\u02D9\",DiacriticalDoubleAcute:\"\\u02DD\",DiacriticalGrave:\"`\",DiacriticalTilde:\"\\u02DC\",Diamond:\"\\u22C4\",DifferentialD:\"\\u2146\",Dopf:\"\\u{1D53B}\",Dot:\"\\xA8\",DotDot:\"\\u20DC\",DotEqual:\"\\u2250\",DoubleContourIntegral:\"\\u222F\",DoubleDot:\"\\xA8\",DoubleDownArrow:\"\\u21D3\",DoubleLeftArrow:\"\\u21D0\",DoubleLeftRightArrow:\"\\u21D4\",DoubleLeftTee:\"\\u2AE4\",DoubleLongLeftArrow:\"\\u27F8\",DoubleLongLeftRightArrow:\"\\u27FA\",DoubleLongRightArrow:\"\\u27F9\",DoubleRightArrow:\"\\u21D2\",DoubleRightTee:\"\\u22A8\",DoubleUpArrow:\"\\u21D1\",DoubleUpDownArrow:\"\\u21D5\",DoubleVerticalBar:\"\\u2225\",DownArrow:\"\\u2193\",DownArrowBar:\"\\u2913\",DownArrowUpArrow:\"\\u21F5\",DownBreve:\"\\u0311\",DownLeftRightVector:\"\\u2950\",DownLeftTeeVector:\"\\u295E\",DownLeftVector:\"\\u21BD\",DownLeftVectorBar:\"\\u2956\",DownRightTeeVector:\"\\u295F\",DownRightVector:\"\\u21C1\",DownRightVectorBar:\"\\u2957\",DownTee:\"\\u22A4\",DownTeeArrow:\"\\u21A7\",Downarrow:\"\\u21D3\",Dscr:\"\\u{1D49F}\",Dstrok:\"\\u0110\",ENG:\"\\u014A\",ET:\"\\xD0\",ETH:\"\\xD0\",Eacut:\"\\xC9\",Eacute:\"\\xC9\",Ecaron:\"\\u011A\",Ecir:\"\\xCA\",Ecirc:\"\\xCA\",Ecy:\"\\u042D\",Edot:\"\\u0116\",Efr:\"\\u{1D508}\",Egrav:\"\\xC8\",Egrave:\"\\xC8\",Element:\"\\u2208\",Emacr:\"\\u0112\",EmptySmallSquare:\"\\u25FB\",EmptyVerySmallSquare:\"\\u25AB\",Eogon:\"\\u0118\",Eopf:\"\\u{1D53C}\",Epsilon:\"\\u0395\",Equal:\"\\u2A75\",EqualTilde:\"\\u2242\",Equilibrium:\"\\u21CC\",Escr:\"\\u2130\",Esim:\"\\u2A73\",Eta:\"\\u0397\",Eum:\"\\xCB\",Euml:\"\\xCB\",Exists:\"\\u2203\",ExponentialE:\"\\u2147\",Fcy:\"\\u0424\",Ffr:\"\\u{1D509}\",FilledSmallSquare:\"\\u25FC\",FilledVerySmallSquare:\"\\u25AA\",Fopf:\"\\u{1D53D}\",ForAll:\"\\u2200\",Fouriertrf:\"\\u2131\",Fscr:\"\\u2131\",GJcy:\"\\u0403\",G:\">\",GT:\">\",Gamma:\"\\u0393\",Gammad:\"\\u03DC\",Gbreve:\"\\u011E\",Gcedil:\"\\u0122\",Gcirc:\"\\u011C\",Gcy:\"\\u0413\",Gdot:\"\\u0120\",Gfr:\"\\u{1D50A}\",Gg:\"\\u22D9\",Gopf:\"\\u{1D53E}\",GreaterEqual:\"\\u2265\",GreaterEqualLess:\"\\u22DB\",GreaterFullEqual:\"\\u2267\",GreaterGreater:\"\\u2AA2\",GreaterLess:\"\\u2277\",GreaterSlantEqual:\"\\u2A7E\",GreaterTilde:\"\\u2273\",Gscr:\"\\u{1D4A2}\",Gt:\"\\u226B\",HARDcy:\"\\u042A\",Hacek:\"\\u02C7\",Hat:\"^\",Hcirc:\"\\u0124\",Hfr:\"\\u210C\",HilbertSpace:\"\\u210B\",Hopf:\"\\u210D\",HorizontalLine:\"\\u2500\",Hscr:\"\\u210B\",Hstrok:\"\\u0126\",HumpDownHump:\"\\u224E\",HumpEqual:\"\\u224F\",IEcy:\"\\u0415\",IJlig:\"\\u0132\",IOcy:\"\\u0401\",Iacut:\"\\xCD\",Iacute:\"\\xCD\",Icir:\"\\xCE\",Icirc:\"\\xCE\",Icy:\"\\u0418\",Idot:\"\\u0130\",Ifr:\"\\u2111\",Igrav:\"\\xCC\",Igrave:\"\\xCC\",Im:\"\\u2111\",Imacr:\"\\u012A\",ImaginaryI:\"\\u2148\",Implies:\"\\u21D2\",Int:\"\\u222C\",Integral:\"\\u222B\",Intersection:\"\\u22C2\",InvisibleComma:\"\\u2063\",InvisibleTimes:\"\\u2062\",Iogon:\"\\u012E\",Iopf:\"\\u{1D540}\",Iota:\"\\u0399\",Iscr:\"\\u2110\",Itilde:\"\\u0128\",Iukcy:\"\\u0406\",Ium:\"\\xCF\",Iuml:\"\\xCF\",Jcirc:\"\\u0134\",Jcy:\"\\u0419\",Jfr:\"\\u{1D50D}\",Jopf:\"\\u{1D541}\",Jscr:\"\\u{1D4A5}\",Jsercy:\"\\u0408\",Jukcy:\"\\u0404\",KHcy:\"\\u0425\",KJcy:\"\\u040C\",Kappa:\"\\u039A\",Kcedil:\"\\u0136\",Kcy:\"\\u041A\",Kfr:\"\\u{1D50E}\",Kopf:\"\\u{1D542}\",Kscr:\"\\u{1D4A6}\",LJcy:\"\\u0409\",L:\"<\",LT:\"<\",Lacute:\"\\u0139\",Lambda:\"\\u039B\",Lang:\"\\u27EA\",Laplacetrf:\"\\u2112\",Larr:\"\\u219E\",Lcaron:\"\\u013D\",Lcedil:\"\\u013B\",Lcy:\"\\u041B\",LeftAngleBracket:\"\\u27E8\",LeftArrow:\"\\u2190\",LeftArrowBar:\"\\u21E4\",LeftArrowRightArrow:\"\\u21C6\",LeftCeiling:\"\\u2308\",LeftDoubleBracket:\"\\u27E6\",LeftDownTeeVector:\"\\u2961\",LeftDownVector:\"\\u21C3\",LeftDownVectorBar:\"\\u2959\",LeftFloor:\"\\u230A\",LeftRightArrow:\"\\u2194\",LeftRightVector:\"\\u294E\",LeftTee:\"\\u22A3\",LeftTeeArrow:\"\\u21A4\",LeftTeeVector:\"\\u295A\",LeftTriangle:\"\\u22B2\",LeftTriangleBar:\"\\u29CF\",LeftTriangleEqual:\"\\u22B4\",LeftUpDownVector:\"\\u2951\",LeftUpTeeVector:\"\\u2960\",LeftUpVector:\"\\u21BF\",LeftUpVectorBar:\"\\u2958\",LeftVector:\"\\u21BC\",LeftVectorBar:\"\\u2952\",Leftarrow:\"\\u21D0\",Leftrightarrow:\"\\u21D4\",LessEqualGreater:\"\\u22DA\",LessFullEqual:\"\\u2266\",LessGreater:\"\\u2276\",LessLess:\"\\u2AA1\",LessSlantEqual:\"\\u2A7D\",LessTilde:\"\\u2272\",Lfr:\"\\u{1D50F}\",Ll:\"\\u22D8\",Lleftarrow:\"\\u21DA\",Lmidot:\"\\u013F\",LongLeftArrow:\"\\u27F5\",LongLeftRightArrow:\"\\u27F7\",LongRightArrow:\"\\u27F6\",Longleftarrow:\"\\u27F8\",Longleftrightarrow:\"\\u27FA\",Longrightarrow:\"\\u27F9\",Lopf:\"\\u{1D543}\",LowerLeftArrow:\"\\u2199\",LowerRightArrow:\"\\u2198\",Lscr:\"\\u2112\",Lsh:\"\\u21B0\",Lstrok:\"\\u0141\",Lt:\"\\u226A\",Map:\"\\u2905\",Mcy:\"\\u041C\",MediumSpace:\"\\u205F\",Mellintrf:\"\\u2133\",Mfr:\"\\u{1D510}\",MinusPlus:\"\\u2213\",Mopf:\"\\u{1D544}\",Mscr:\"\\u2133\",Mu:\"\\u039C\",NJcy:\"\\u040A\",Nacute:\"\\u0143\",Ncaron:\"\\u0147\",Ncedil:\"\\u0145\",Ncy:\"\\u041D\",NegativeMediumSpace:\"\\u200B\",NegativeThickSpace:\"\\u200B\",NegativeThinSpace:\"\\u200B\",NegativeVeryThinSpace:\"\\u200B\",NestedGreaterGreater:\"\\u226B\",NestedLessLess:\"\\u226A\",NewLine:`\n`,Nfr:\"\\u{1D511}\",NoBreak:\"\\u2060\",NonBreakingSpace:\"\\xA0\",Nopf:\"\\u2115\",Not:\"\\u2AEC\",NotCongruent:\"\\u2262\",NotCupCap:\"\\u226D\",NotDoubleVerticalBar:\"\\u2226\",NotElement:\"\\u2209\",NotEqual:\"\\u2260\",NotEqualTilde:\"\\u2242\\u0338\",NotExists:\"\\u2204\",NotGreater:\"\\u226F\",NotGreaterEqual:\"\\u2271\",NotGreaterFullEqual:\"\\u2267\\u0338\",NotGreaterGreater:\"\\u226B\\u0338\",NotGreaterLess:\"\\u2279\",NotGreaterSlantEqual:\"\\u2A7E\\u0338\",NotGreaterTilde:\"\\u2275\",NotHumpDownHump:\"\\u224E\\u0338\",NotHumpEqual:\"\\u224F\\u0338\",NotLeftTriangle:\"\\u22EA\",NotLeftTriangleBar:\"\\u29CF\\u0338\",NotLeftTriangleEqual:\"\\u22EC\",NotLess:\"\\u226E\",NotLessEqual:\"\\u2270\",NotLessGreater:\"\\u2278\",NotLessLess:\"\\u226A\\u0338\",NotLessSlantEqual:\"\\u2A7D\\u0338\",NotLessTilde:\"\\u2274\",NotNestedGreaterGreater:\"\\u2AA2\\u0338\",NotNestedLessLess:\"\\u2AA1\\u0338\",NotPrecedes:\"\\u2280\",NotPrecedesEqual:\"\\u2AAF\\u0338\",NotPrecedesSlantEqual:\"\\u22E0\",NotReverseElement:\"\\u220C\",NotRightTriangle:\"\\u22EB\",NotRightTriangleBar:\"\\u29D0\\u0338\",NotRightTriangleEqual:\"\\u22ED\",NotSquareSubset:\"\\u228F\\u0338\",NotSquareSubsetEqual:\"\\u22E2\",NotSquareSuperset:\"\\u2290\\u0338\",NotSquareSupersetEqual:\"\\u22E3\",NotSubset:\"\\u2282\\u20D2\",NotSubsetEqual:\"\\u2288\",NotSucceeds:\"\\u2281\",NotSucceedsEqual:\"\\u2AB0\\u0338\",NotSucceedsSlantEqual:\"\\u22E1\",NotSucceedsTilde:\"\\u227F\\u0338\",NotSuperset:\"\\u2283\\u20D2\",NotSupersetEqual:\"\\u2289\",NotTilde:\"\\u2241\",NotTildeEqual:\"\\u2244\",NotTildeFullEqual:\"\\u2247\",NotTildeTilde:\"\\u2249\",NotVerticalBar:\"\\u2224\",Nscr:\"\\u{1D4A9}\",Ntild:\"\\xD1\",Ntilde:\"\\xD1\",Nu:\"\\u039D\",OElig:\"\\u0152\",Oacut:\"\\xD3\",Oacute:\"\\xD3\",Ocir:\"\\xD4\",Ocirc:\"\\xD4\",Ocy:\"\\u041E\",Odblac:\"\\u0150\",Ofr:\"\\u{1D512}\",Ograv:\"\\xD2\",Ograve:\"\\xD2\",Omacr:\"\\u014C\",Omega:\"\\u03A9\",Omicron:\"\\u039F\",Oopf:\"\\u{1D546}\",OpenCurlyDoubleQuote:\"\\u201C\",OpenCurlyQuote:\"\\u2018\",Or:\"\\u2A54\",Oscr:\"\\u{1D4AA}\",Oslas:\"\\xD8\",Oslash:\"\\xD8\",Otild:\"\\xD5\",Otilde:\"\\xD5\",Otimes:\"\\u2A37\",Oum:\"\\xD6\",Ouml:\"\\xD6\",OverBar:\"\\u203E\",OverBrace:\"\\u23DE\",OverBracket:\"\\u23B4\",OverParenthesis:\"\\u23DC\",PartialD:\"\\u2202\",Pcy:\"\\u041F\",Pfr:\"\\u{1D513}\",Phi:\"\\u03A6\",Pi:\"\\u03A0\",PlusMinus:\"\\xB1\",Poincareplane:\"\\u210C\",Popf:\"\\u2119\",Pr:\"\\u2ABB\",Precedes:\"\\u227A\",PrecedesEqual:\"\\u2AAF\",PrecedesSlantEqual:\"\\u227C\",PrecedesTilde:\"\\u227E\",Prime:\"\\u2033\",Product:\"\\u220F\",Proportion:\"\\u2237\",Proportional:\"\\u221D\",Pscr:\"\\u{1D4AB}\",Psi:\"\\u03A8\",QUO:'\"',QUOT:'\"',Qfr:\"\\u{1D514}\",Qopf:\"\\u211A\",Qscr:\"\\u{1D4AC}\",RBarr:\"\\u2910\",RE:\"\\xAE\",REG:\"\\xAE\",Racute:\"\\u0154\",Rang:\"\\u27EB\",Rarr:\"\\u21A0\",Rarrtl:\"\\u2916\",Rcaron:\"\\u0158\",Rcedil:\"\\u0156\",Rcy:\"\\u0420\",Re:\"\\u211C\",ReverseElement:\"\\u220B\",ReverseEquilibrium:\"\\u21CB\",ReverseUpEquilibrium:\"\\u296F\",Rfr:\"\\u211C\",Rho:\"\\u03A1\",RightAngleBracket:\"\\u27E9\",RightArrow:\"\\u2192\",RightArrowBar:\"\\u21E5\",RightArrowLeftArrow:\"\\u21C4\",RightCeiling:\"\\u2309\",RightDoubleBracket:\"\\u27E7\",RightDownTeeVector:\"\\u295D\",RightDownVector:\"\\u21C2\",RightDownVectorBar:\"\\u2955\",RightFloor:\"\\u230B\",RightTee:\"\\u22A2\",RightTeeArrow:\"\\u21A6\",RightTeeVector:\"\\u295B\",RightTriangle:\"\\u22B3\",RightTriangleBar:\"\\u29D0\",RightTriangleEqual:\"\\u22B5\",RightUpDownVector:\"\\u294F\",RightUpTeeVector:\"\\u295C\",RightUpVector:\"\\u21BE\",RightUpVectorBar:\"\\u2954\",RightVector:\"\\u21C0\",RightVectorBar:\"\\u2953\",Rightarrow:\"\\u21D2\",Ropf:\"\\u211D\",RoundImplies:\"\\u2970\",Rrightarrow:\"\\u21DB\",Rscr:\"\\u211B\",Rsh:\"\\u21B1\",RuleDelayed:\"\\u29F4\",SHCHcy:\"\\u0429\",SHcy:\"\\u0428\",SOFTcy:\"\\u042C\",Sacute:\"\\u015A\",Sc:\"\\u2ABC\",Scaron:\"\\u0160\",Scedil:\"\\u015E\",Scirc:\"\\u015C\",Scy:\"\\u0421\",Sfr:\"\\u{1D516}\",ShortDownArrow:\"\\u2193\",ShortLeftArrow:\"\\u2190\",ShortRightArrow:\"\\u2192\",ShortUpArrow:\"\\u2191\",Sigma:\"\\u03A3\",SmallCircle:\"\\u2218\",Sopf:\"\\u{1D54A}\",Sqrt:\"\\u221A\",Square:\"\\u25A1\",SquareIntersection:\"\\u2293\",SquareSubset:\"\\u228F\",SquareSubsetEqual:\"\\u2291\",SquareSuperset:\"\\u2290\",SquareSupersetEqual:\"\\u2292\",SquareUnion:\"\\u2294\",Sscr:\"\\u{1D4AE}\",Star:\"\\u22C6\",Sub:\"\\u22D0\",Subset:\"\\u22D0\",SubsetEqual:\"\\u2286\",Succeeds:\"\\u227B\",SucceedsEqual:\"\\u2AB0\",SucceedsSlantEqual:\"\\u227D\",SucceedsTilde:\"\\u227F\",SuchThat:\"\\u220B\",Sum:\"\\u2211\",Sup:\"\\u22D1\",Superset:\"\\u2283\",SupersetEqual:\"\\u2287\",Supset:\"\\u22D1\",THOR:\"\\xDE\",THORN:\"\\xDE\",TRADE:\"\\u2122\",TSHcy:\"\\u040B\",TScy:\"\\u0426\",Tab:\"\t\",Tau:\"\\u03A4\",Tcaron:\"\\u0164\",Tcedil:\"\\u0162\",Tcy:\"\\u0422\",Tfr:\"\\u{1D517}\",Therefore:\"\\u2234\",Theta:\"\\u0398\",ThickSpace:\"\\u205F\\u200A\",ThinSpace:\"\\u2009\",Tilde:\"\\u223C\",TildeEqual:\"\\u2243\",TildeFullEqual:\"\\u2245\",TildeTilde:\"\\u2248\",Topf:\"\\u{1D54B}\",TripleDot:\"\\u20DB\",Tscr:\"\\u{1D4AF}\",Tstrok:\"\\u0166\",Uacut:\"\\xDA\",Uacute:\"\\xDA\",Uarr:\"\\u219F\",Uarrocir:\"\\u2949\",Ubrcy:\"\\u040E\",Ubreve:\"\\u016C\",Ucir:\"\\xDB\",Ucirc:\"\\xDB\",Ucy:\"\\u0423\",Udblac:\"\\u0170\",Ufr:\"\\u{1D518}\",Ugrav:\"\\xD9\",Ugrave:\"\\xD9\",Umacr:\"\\u016A\",UnderBar:\"_\",UnderBrace:\"\\u23DF\",UnderBracket:\"\\u23B5\",UnderParenthesis:\"\\u23DD\",Union:\"\\u22C3\",UnionPlus:\"\\u228E\",Uogon:\"\\u0172\",Uopf:\"\\u{1D54C}\",UpArrow:\"\\u2191\",UpArrowBar:\"\\u2912\",UpArrowDownArrow:\"\\u21C5\",UpDownArrow:\"\\u2195\",UpEquilibrium:\"\\u296E\",UpTee:\"\\u22A5\",UpTeeArrow:\"\\u21A5\",Uparrow:\"\\u21D1\",Updownarrow:\"\\u21D5\",UpperLeftArrow:\"\\u2196\",UpperRightArrow:\"\\u2197\",Upsi:\"\\u03D2\",Upsilon:\"\\u03A5\",Uring:\"\\u016E\",Uscr:\"\\u{1D4B0}\",Utilde:\"\\u0168\",Uum:\"\\xDC\",Uuml:\"\\xDC\",VDash:\"\\u22AB\",Vbar:\"\\u2AEB\",Vcy:\"\\u0412\",Vdash:\"\\u22A9\",Vdashl:\"\\u2AE6\",Vee:\"\\u22C1\",Verbar:\"\\u2016\",Vert:\"\\u2016\",VerticalBar:\"\\u2223\",VerticalLine:\"|\",VerticalSeparator:\"\\u2758\",VerticalTilde:\"\\u2240\",VeryThinSpace:\"\\u200A\",Vfr:\"\\u{1D519}\",Vopf:\"\\u{1D54D}\",Vscr:\"\\u{1D4B1}\",Vvdash:\"\\u22AA\",Wcirc:\"\\u0174\",Wedge:\"\\u22C0\",Wfr:\"\\u{1D51A}\",Wopf:\"\\u{1D54E}\",Wscr:\"\\u{1D4B2}\",Xfr:\"\\u{1D51B}\",Xi:\"\\u039E\",Xopf:\"\\u{1D54F}\",Xscr:\"\\u{1D4B3}\",YAcy:\"\\u042F\",YIcy:\"\\u0407\",YUcy:\"\\u042E\",Yacut:\"\\xDD\",Yacute:\"\\xDD\",Ycirc:\"\\u0176\",Ycy:\"\\u042B\",Yfr:\"\\u{1D51C}\",Yopf:\"\\u{1D550}\",Yscr:\"\\u{1D4B4}\",Yuml:\"\\u0178\",ZHcy:\"\\u0416\",Zacute:\"\\u0179\",Zcaron:\"\\u017D\",Zcy:\"\\u0417\",Zdot:\"\\u017B\",ZeroWidthSpace:\"\\u200B\",Zeta:\"\\u0396\",Zfr:\"\\u2128\",Zopf:\"\\u2124\",Zscr:\"\\u{1D4B5}\",aacut:\"\\xE1\",aacute:\"\\xE1\",abreve:\"\\u0103\",ac:\"\\u223E\",acE:\"\\u223E\\u0333\",acd:\"\\u223F\",acir:\"\\xE2\",acirc:\"\\xE2\",acut:\"\\xB4\",acute:\"\\xB4\",acy:\"\\u0430\",aeli:\"\\xE6\",aelig:\"\\xE6\",af:\"\\u2061\",afr:\"\\u{1D51E}\",agrav:\"\\xE0\",agrave:\"\\xE0\",alefsym:\"\\u2135\",aleph:\"\\u2135\",alpha:\"\\u03B1\",amacr:\"\\u0101\",amalg:\"\\u2A3F\",am:\"&\",amp:\"&\",and:\"\\u2227\",andand:\"\\u2A55\",andd:\"\\u2A5C\",andslope:\"\\u2A58\",andv:\"\\u2A5A\",ang:\"\\u2220\",ange:\"\\u29A4\",angle:\"\\u2220\",angmsd:\"\\u2221\",angmsdaa:\"\\u29A8\",angmsdab:\"\\u29A9\",angmsdac:\"\\u29AA\",angmsdad:\"\\u29AB\",angmsdae:\"\\u29AC\",angmsdaf:\"\\u29AD\",angmsdag:\"\\u29AE\",angmsdah:\"\\u29AF\",angrt:\"\\u221F\",angrtvb:\"\\u22BE\",angrtvbd:\"\\u299D\",angsph:\"\\u2222\",angst:\"\\xC5\",angzarr:\"\\u237C\",aogon:\"\\u0105\",aopf:\"\\u{1D552}\",ap:\"\\u2248\",apE:\"\\u2A70\",apacir:\"\\u2A6F\",ape:\"\\u224A\",apid:\"\\u224B\",apos:\"'\",approx:\"\\u2248\",approxeq:\"\\u224A\",arin:\"\\xE5\",aring:\"\\xE5\",ascr:\"\\u{1D4B6}\",ast:\"*\",asymp:\"\\u2248\",asympeq:\"\\u224D\",atild:\"\\xE3\",atilde:\"\\xE3\",aum:\"\\xE4\",auml:\"\\xE4\",awconint:\"\\u2233\",awint:\"\\u2A11\",bNot:\"\\u2AED\",backcong:\"\\u224C\",backepsilon:\"\\u03F6\",backprime:\"\\u2035\",backsim:\"\\u223D\",backsimeq:\"\\u22CD\",barvee:\"\\u22BD\",barwed:\"\\u2305\",barwedge:\"\\u2305\",bbrk:\"\\u23B5\",bbrktbrk:\"\\u23B6\",bcong:\"\\u224C\",bcy:\"\\u0431\",bdquo:\"\\u201E\",becaus:\"\\u2235\",because:\"\\u2235\",bemptyv:\"\\u29B0\",bepsi:\"\\u03F6\",bernou:\"\\u212C\",beta:\"\\u03B2\",beth:\"\\u2136\",between:\"\\u226C\",bfr:\"\\u{1D51F}\",bigcap:\"\\u22C2\",bigcirc:\"\\u25EF\",bigcup:\"\\u22C3\",bigodot:\"\\u2A00\",bigoplus:\"\\u2A01\",bigotimes:\"\\u2A02\",bigsqcup:\"\\u2A06\",bigstar:\"\\u2605\",bigtriangledown:\"\\u25BD\",bigtriangleup:\"\\u25B3\",biguplus:\"\\u2A04\",bigvee:\"\\u22C1\",bigwedge:\"\\u22C0\",bkarow:\"\\u290D\",blacklozenge:\"\\u29EB\",blacksquare:\"\\u25AA\",blacktriangle:\"\\u25B4\",blacktriangledown:\"\\u25BE\",blacktriangleleft:\"\\u25C2\",blacktriangleright:\"\\u25B8\",blank:\"\\u2423\",blk12:\"\\u2592\",blk14:\"\\u2591\",blk34:\"\\u2593\",block:\"\\u2588\",bne:\"=\\u20E5\",bnequiv:\"\\u2261\\u20E5\",bnot:\"\\u2310\",bopf:\"\\u{1D553}\",bot:\"\\u22A5\",bottom:\"\\u22A5\",bowtie:\"\\u22C8\",boxDL:\"\\u2557\",boxDR:\"\\u2554\",boxDl:\"\\u2556\",boxDr:\"\\u2553\",boxH:\"\\u2550\",boxHD:\"\\u2566\",boxHU:\"\\u2569\",boxHd:\"\\u2564\",boxHu:\"\\u2567\",boxUL:\"\\u255D\",boxUR:\"\\u255A\",boxUl:\"\\u255C\",boxUr:\"\\u2559\",boxV:\"\\u2551\",boxVH:\"\\u256C\",boxVL:\"\\u2563\",boxVR:\"\\u2560\",boxVh:\"\\u256B\",boxVl:\"\\u2562\",boxVr:\"\\u255F\",boxbox:\"\\u29C9\",boxdL:\"\\u2555\",boxdR:\"\\u2552\",boxdl:\"\\u2510\",boxdr:\"\\u250C\",boxh:\"\\u2500\",boxhD:\"\\u2565\",boxhU:\"\\u2568\",boxhd:\"\\u252C\",boxhu:\"\\u2534\",boxminus:\"\\u229F\",boxplus:\"\\u229E\",boxtimes:\"\\u22A0\",boxuL:\"\\u255B\",boxuR:\"\\u2558\",boxul:\"\\u2518\",boxur:\"\\u2514\",boxv:\"\\u2502\",boxvH:\"\\u256A\",boxvL:\"\\u2561\",boxvR:\"\\u255E\",boxvh:\"\\u253C\",boxvl:\"\\u2524\",boxvr:\"\\u251C\",bprime:\"\\u2035\",breve:\"\\u02D8\",brvba:\"\\xA6\",brvbar:\"\\xA6\",bscr:\"\\u{1D4B7}\",bsemi:\"\\u204F\",bsim:\"\\u223D\",bsime:\"\\u22CD\",bsol:\"\\\\\",bsolb:\"\\u29C5\",bsolhsub:\"\\u27C8\",bull:\"\\u2022\",bullet:\"\\u2022\",bump:\"\\u224E\",bumpE:\"\\u2AAE\",bumpe:\"\\u224F\",bumpeq:\"\\u224F\",cacute:\"\\u0107\",cap:\"\\u2229\",capand:\"\\u2A44\",capbrcup:\"\\u2A49\",capcap:\"\\u2A4B\",capcup:\"\\u2A47\",capdot:\"\\u2A40\",caps:\"\\u2229\\uFE00\",caret:\"\\u2041\",caron:\"\\u02C7\",ccaps:\"\\u2A4D\",ccaron:\"\\u010D\",ccedi:\"\\xE7\",ccedil:\"\\xE7\",ccirc:\"\\u0109\",ccups:\"\\u2A4C\",ccupssm:\"\\u2A50\",cdot:\"\\u010B\",cedi:\"\\xB8\",cedil:\"\\xB8\",cemptyv:\"\\u29B2\",cen:\"\\xA2\",cent:\"\\xA2\",centerdot:\"\\xB7\",cfr:\"\\u{1D520}\",chcy:\"\\u0447\",check:\"\\u2713\",checkmark:\"\\u2713\",chi:\"\\u03C7\",cir:\"\\u25CB\",cirE:\"\\u29C3\",circ:\"\\u02C6\",circeq:\"\\u2257\",circlearrowleft:\"\\u21BA\",circlearrowright:\"\\u21BB\",circledR:\"\\xAE\",circledS:\"\\u24C8\",circledast:\"\\u229B\",circledcirc:\"\\u229A\",circleddash:\"\\u229D\",cire:\"\\u2257\",cirfnint:\"\\u2A10\",cirmid:\"\\u2AEF\",cirscir:\"\\u29C2\",clubs:\"\\u2663\",clubsuit:\"\\u2663\",colon:\":\",colone:\"\\u2254\",coloneq:\"\\u2254\",comma:\",\",commat:\"@\",comp:\"\\u2201\",compfn:\"\\u2218\",complement:\"\\u2201\",complexes:\"\\u2102\",cong:\"\\u2245\",congdot:\"\\u2A6D\",conint:\"\\u222E\",copf:\"\\u{1D554}\",coprod:\"\\u2210\",cop:\"\\xA9\",copy:\"\\xA9\",copysr:\"\\u2117\",crarr:\"\\u21B5\",cross:\"\\u2717\",cscr:\"\\u{1D4B8}\",csub:\"\\u2ACF\",csube:\"\\u2AD1\",csup:\"\\u2AD0\",csupe:\"\\u2AD2\",ctdot:\"\\u22EF\",cudarrl:\"\\u2938\",cudarrr:\"\\u2935\",cuepr:\"\\u22DE\",cuesc:\"\\u22DF\",cularr:\"\\u21B6\",cularrp:\"\\u293D\",cup:\"\\u222A\",cupbrcap:\"\\u2A48\",cupcap:\"\\u2A46\",cupcup:\"\\u2A4A\",cupdot:\"\\u228D\",cupor:\"\\u2A45\",cups:\"\\u222A\\uFE00\",curarr:\"\\u21B7\",curarrm:\"\\u293C\",curlyeqprec:\"\\u22DE\",curlyeqsucc:\"\\u22DF\",curlyvee:\"\\u22CE\",curlywedge:\"\\u22CF\",curre:\"\\xA4\",curren:\"\\xA4\",curvearrowleft:\"\\u21B6\",curvearrowright:\"\\u21B7\",cuvee:\"\\u22CE\",cuwed:\"\\u22CF\",cwconint:\"\\u2232\",cwint:\"\\u2231\",cylcty:\"\\u232D\",dArr:\"\\u21D3\",dHar:\"\\u2965\",dagger:\"\\u2020\",daleth:\"\\u2138\",darr:\"\\u2193\",dash:\"\\u2010\",dashv:\"\\u22A3\",dbkarow:\"\\u290F\",dblac:\"\\u02DD\",dcaron:\"\\u010F\",dcy:\"\\u0434\",dd:\"\\u2146\",ddagger:\"\\u2021\",ddarr:\"\\u21CA\",ddotseq:\"\\u2A77\",de:\"\\xB0\",deg:\"\\xB0\",delta:\"\\u03B4\",demptyv:\"\\u29B1\",dfisht:\"\\u297F\",dfr:\"\\u{1D521}\",dharl:\"\\u21C3\",dharr:\"\\u21C2\",diam:\"\\u22C4\",diamond:\"\\u22C4\",diamondsuit:\"\\u2666\",diams:\"\\u2666\",die:\"\\xA8\",digamma:\"\\u03DD\",disin:\"\\u22F2\",div:\"\\xF7\",divid:\"\\xF7\",divide:\"\\xF7\",divideontimes:\"\\u22C7\",divonx:\"\\u22C7\",djcy:\"\\u0452\",dlcorn:\"\\u231E\",dlcrop:\"\\u230D\",dollar:\"$\",dopf:\"\\u{1D555}\",dot:\"\\u02D9\",doteq:\"\\u2250\",doteqdot:\"\\u2251\",dotminus:\"\\u2238\",dotplus:\"\\u2214\",dotsquare:\"\\u22A1\",doublebarwedge:\"\\u2306\",downarrow:\"\\u2193\",downdownarrows:\"\\u21CA\",downharpoonleft:\"\\u21C3\",downharpoonright:\"\\u21C2\",drbkarow:\"\\u2910\",drcorn:\"\\u231F\",drcrop:\"\\u230C\",dscr:\"\\u{1D4B9}\",dscy:\"\\u0455\",dsol:\"\\u29F6\",dstrok:\"\\u0111\",dtdot:\"\\u22F1\",dtri:\"\\u25BF\",dtrif:\"\\u25BE\",duarr:\"\\u21F5\",duhar:\"\\u296F\",dwangle:\"\\u29A6\",dzcy:\"\\u045F\",dzigrarr:\"\\u27FF\",eDDot:\"\\u2A77\",eDot:\"\\u2251\",eacut:\"\\xE9\",eacute:\"\\xE9\",easter:\"\\u2A6E\",ecaron:\"\\u011B\",ecir:\"\\xEA\",ecirc:\"\\xEA\",ecolon:\"\\u2255\",ecy:\"\\u044D\",edot:\"\\u0117\",ee:\"\\u2147\",efDot:\"\\u2252\",efr:\"\\u{1D522}\",eg:\"\\u2A9A\",egrav:\"\\xE8\",egrave:\"\\xE8\",egs:\"\\u2A96\",egsdot:\"\\u2A98\",el:\"\\u2A99\",elinters:\"\\u23E7\",ell:\"\\u2113\",els:\"\\u2A95\",elsdot:\"\\u2A97\",emacr:\"\\u0113\",empty:\"\\u2205\",emptyset:\"\\u2205\",emptyv:\"\\u2205\",emsp13:\"\\u2004\",emsp14:\"\\u2005\",emsp:\"\\u2003\",eng:\"\\u014B\",ensp:\"\\u2002\",eogon:\"\\u0119\",eopf:\"\\u{1D556}\",epar:\"\\u22D5\",eparsl:\"\\u29E3\",eplus:\"\\u2A71\",epsi:\"\\u03B5\",epsilon:\"\\u03B5\",epsiv:\"\\u03F5\",eqcirc:\"\\u2256\",eqcolon:\"\\u2255\",eqsim:\"\\u2242\",eqslantgtr:\"\\u2A96\",eqslantless:\"\\u2A95\",equals:\"=\",equest:\"\\u225F\",equiv:\"\\u2261\",equivDD:\"\\u2A78\",eqvparsl:\"\\u29E5\",erDot:\"\\u2253\",erarr:\"\\u2971\",escr:\"\\u212F\",esdot:\"\\u2250\",esim:\"\\u2242\",eta:\"\\u03B7\",et:\"\\xF0\",eth:\"\\xF0\",eum:\"\\xEB\",euml:\"\\xEB\",euro:\"\\u20AC\",excl:\"!\",exist:\"\\u2203\",expectation:\"\\u2130\",exponentiale:\"\\u2147\",fallingdotseq:\"\\u2252\",fcy:\"\\u0444\",female:\"\\u2640\",ffilig:\"\\uFB03\",fflig:\"\\uFB00\",ffllig:\"\\uFB04\",ffr:\"\\u{1D523}\",filig:\"\\uFB01\",fjlig:\"fj\",flat:\"\\u266D\",fllig:\"\\uFB02\",fltns:\"\\u25B1\",fnof:\"\\u0192\",fopf:\"\\u{1D557}\",forall:\"\\u2200\",fork:\"\\u22D4\",forkv:\"\\u2AD9\",fpartint:\"\\u2A0D\",frac1:\"\\xBC\",frac12:\"\\xBD\",frac13:\"\\u2153\",frac14:\"\\xBC\",frac15:\"\\u2155\",frac16:\"\\u2159\",frac18:\"\\u215B\",frac23:\"\\u2154\",frac25:\"\\u2156\",frac3:\"\\xBE\",frac34:\"\\xBE\",frac35:\"\\u2157\",frac38:\"\\u215C\",frac45:\"\\u2158\",frac56:\"\\u215A\",frac58:\"\\u215D\",frac78:\"\\u215E\",frasl:\"\\u2044\",frown:\"\\u2322\",fscr:\"\\u{1D4BB}\",gE:\"\\u2267\",gEl:\"\\u2A8C\",gacute:\"\\u01F5\",gamma:\"\\u03B3\",gammad:\"\\u03DD\",gap:\"\\u2A86\",gbreve:\"\\u011F\",gcirc:\"\\u011D\",gcy:\"\\u0433\",gdot:\"\\u0121\",ge:\"\\u2265\",gel:\"\\u22DB\",geq:\"\\u2265\",geqq:\"\\u2267\",geqslant:\"\\u2A7E\",ges:\"\\u2A7E\",gescc:\"\\u2AA9\",gesdot:\"\\u2A80\",gesdoto:\"\\u2A82\",gesdotol:\"\\u2A84\",gesl:\"\\u22DB\\uFE00\",gesles:\"\\u2A94\",gfr:\"\\u{1D524}\",gg:\"\\u226B\",ggg:\"\\u22D9\",gimel:\"\\u2137\",gjcy:\"\\u0453\",gl:\"\\u2277\",glE:\"\\u2A92\",gla:\"\\u2AA5\",glj:\"\\u2AA4\",gnE:\"\\u2269\",gnap:\"\\u2A8A\",gnapprox:\"\\u2A8A\",gne:\"\\u2A88\",gneq:\"\\u2A88\",gneqq:\"\\u2269\",gnsim:\"\\u22E7\",gopf:\"\\u{1D558}\",grave:\"`\",gscr:\"\\u210A\",gsim:\"\\u2273\",gsime:\"\\u2A8E\",gsiml:\"\\u2A90\",g:\">\",gt:\">\",gtcc:\"\\u2AA7\",gtcir:\"\\u2A7A\",gtdot:\"\\u22D7\",gtlPar:\"\\u2995\",gtquest:\"\\u2A7C\",gtrapprox:\"\\u2A86\",gtrarr:\"\\u2978\",gtrdot:\"\\u22D7\",gtreqless:\"\\u22DB\",gtreqqless:\"\\u2A8C\",gtrless:\"\\u2277\",gtrsim:\"\\u2273\",gvertneqq:\"\\u2269\\uFE00\",gvnE:\"\\u2269\\uFE00\",hArr:\"\\u21D4\",hairsp:\"\\u200A\",half:\"\\xBD\",hamilt:\"\\u210B\",hardcy:\"\\u044A\",harr:\"\\u2194\",harrcir:\"\\u2948\",harrw:\"\\u21AD\",hbar:\"\\u210F\",hcirc:\"\\u0125\",hearts:\"\\u2665\",heartsuit:\"\\u2665\",hellip:\"\\u2026\",hercon:\"\\u22B9\",hfr:\"\\u{1D525}\",hksearow:\"\\u2925\",hkswarow:\"\\u2926\",hoarr:\"\\u21FF\",homtht:\"\\u223B\",hookleftarrow:\"\\u21A9\",hookrightarrow:\"\\u21AA\",hopf:\"\\u{1D559}\",horbar:\"\\u2015\",hscr:\"\\u{1D4BD}\",hslash:\"\\u210F\",hstrok:\"\\u0127\",hybull:\"\\u2043\",hyphen:\"\\u2010\",iacut:\"\\xED\",iacute:\"\\xED\",ic:\"\\u2063\",icir:\"\\xEE\",icirc:\"\\xEE\",icy:\"\\u0438\",iecy:\"\\u0435\",iexc:\"\\xA1\",iexcl:\"\\xA1\",iff:\"\\u21D4\",ifr:\"\\u{1D526}\",igrav:\"\\xEC\",igrave:\"\\xEC\",ii:\"\\u2148\",iiiint:\"\\u2A0C\",iiint:\"\\u222D\",iinfin:\"\\u29DC\",iiota:\"\\u2129\",ijlig:\"\\u0133\",imacr:\"\\u012B\",image:\"\\u2111\",imagline:\"\\u2110\",imagpart:\"\\u2111\",imath:\"\\u0131\",imof:\"\\u22B7\",imped:\"\\u01B5\",in:\"\\u2208\",incare:\"\\u2105\",infin:\"\\u221E\",infintie:\"\\u29DD\",inodot:\"\\u0131\",int:\"\\u222B\",intcal:\"\\u22BA\",integers:\"\\u2124\",intercal:\"\\u22BA\",intlarhk:\"\\u2A17\",intprod:\"\\u2A3C\",iocy:\"\\u0451\",iogon:\"\\u012F\",iopf:\"\\u{1D55A}\",iota:\"\\u03B9\",iprod:\"\\u2A3C\",iques:\"\\xBF\",iquest:\"\\xBF\",iscr:\"\\u{1D4BE}\",isin:\"\\u2208\",isinE:\"\\u22F9\",isindot:\"\\u22F5\",isins:\"\\u22F4\",isinsv:\"\\u22F3\",isinv:\"\\u2208\",it:\"\\u2062\",itilde:\"\\u0129\",iukcy:\"\\u0456\",ium:\"\\xEF\",iuml:\"\\xEF\",jcirc:\"\\u0135\",jcy:\"\\u0439\",jfr:\"\\u{1D527}\",jmath:\"\\u0237\",jopf:\"\\u{1D55B}\",jscr:\"\\u{1D4BF}\",jsercy:\"\\u0458\",jukcy:\"\\u0454\",kappa:\"\\u03BA\",kappav:\"\\u03F0\",kcedil:\"\\u0137\",kcy:\"\\u043A\",kfr:\"\\u{1D528}\",kgreen:\"\\u0138\",khcy:\"\\u0445\",kjcy:\"\\u045C\",kopf:\"\\u{1D55C}\",kscr:\"\\u{1D4C0}\",lAarr:\"\\u21DA\",lArr:\"\\u21D0\",lAtail:\"\\u291B\",lBarr:\"\\u290E\",lE:\"\\u2266\",lEg:\"\\u2A8B\",lHar:\"\\u2962\",lacute:\"\\u013A\",laemptyv:\"\\u29B4\",lagran:\"\\u2112\",lambda:\"\\u03BB\",lang:\"\\u27E8\",langd:\"\\u2991\",langle:\"\\u27E8\",lap:\"\\u2A85\",laqu:\"\\xAB\",laquo:\"\\xAB\",larr:\"\\u2190\",larrb:\"\\u21E4\",larrbfs:\"\\u291F\",larrfs:\"\\u291D\",larrhk:\"\\u21A9\",larrlp:\"\\u21AB\",larrpl:\"\\u2939\",larrsim:\"\\u2973\",larrtl:\"\\u21A2\",lat:\"\\u2AAB\",latail:\"\\u2919\",late:\"\\u2AAD\",lates:\"\\u2AAD\\uFE00\",lbarr:\"\\u290C\",lbbrk:\"\\u2772\",lbrace:\"{\",lbrack:\"[\",lbrke:\"\\u298B\",lbrksld:\"\\u298F\",lbrkslu:\"\\u298D\",lcaron:\"\\u013E\",lcedil:\"\\u013C\",lceil:\"\\u2308\",lcub:\"{\",lcy:\"\\u043B\",ldca:\"\\u2936\",ldquo:\"\\u201C\",ldquor:\"\\u201E\",ldrdhar:\"\\u2967\",ldrushar:\"\\u294B\",ldsh:\"\\u21B2\",le:\"\\u2264\",leftarrow:\"\\u2190\",leftarrowtail:\"\\u21A2\",leftharpoondown:\"\\u21BD\",leftharpoonup:\"\\u21BC\",leftleftarrows:\"\\u21C7\",leftrightarrow:\"\\u2194\",leftrightarrows:\"\\u21C6\",leftrightharpoons:\"\\u21CB\",leftrightsquigarrow:\"\\u21AD\",leftthreetimes:\"\\u22CB\",leg:\"\\u22DA\",leq:\"\\u2264\",leqq:\"\\u2266\",leqslant:\"\\u2A7D\",les:\"\\u2A7D\",lescc:\"\\u2AA8\",lesdot:\"\\u2A7F\",lesdoto:\"\\u2A81\",lesdotor:\"\\u2A83\",lesg:\"\\u22DA\\uFE00\",lesges:\"\\u2A93\",lessapprox:\"\\u2A85\",lessdot:\"\\u22D6\",lesseqgtr:\"\\u22DA\",lesseqqgtr:\"\\u2A8B\",lessgtr:\"\\u2276\",lesssim:\"\\u2272\",lfisht:\"\\u297C\",lfloor:\"\\u230A\",lfr:\"\\u{1D529}\",lg:\"\\u2276\",lgE:\"\\u2A91\",lhard:\"\\u21BD\",lharu:\"\\u21BC\",lharul:\"\\u296A\",lhblk:\"\\u2584\",ljcy:\"\\u0459\",ll:\"\\u226A\",llarr:\"\\u21C7\",llcorner:\"\\u231E\",llhard:\"\\u296B\",lltri:\"\\u25FA\",lmidot:\"\\u0140\",lmoust:\"\\u23B0\",lmoustache:\"\\u23B0\",lnE:\"\\u2268\",lnap:\"\\u2A89\",lnapprox:\"\\u2A89\",lne:\"\\u2A87\",lneq:\"\\u2A87\",lneqq:\"\\u2268\",lnsim:\"\\u22E6\",loang:\"\\u27EC\",loarr:\"\\u21FD\",lobrk:\"\\u27E6\",longleftarrow:\"\\u27F5\",longleftrightarrow:\"\\u27F7\",longmapsto:\"\\u27FC\",longrightarrow:\"\\u27F6\",looparrowleft:\"\\u21AB\",looparrowright:\"\\u21AC\",lopar:\"\\u2985\",lopf:\"\\u{1D55D}\",loplus:\"\\u2A2D\",lotimes:\"\\u2A34\",lowast:\"\\u2217\",lowbar:\"_\",loz:\"\\u25CA\",lozenge:\"\\u25CA\",lozf:\"\\u29EB\",lpar:\"(\",lparlt:\"\\u2993\",lrarr:\"\\u21C6\",lrcorner:\"\\u231F\",lrhar:\"\\u21CB\",lrhard:\"\\u296D\",lrm:\"\\u200E\",lrtri:\"\\u22BF\",lsaquo:\"\\u2039\",lscr:\"\\u{1D4C1}\",lsh:\"\\u21B0\",lsim:\"\\u2272\",lsime:\"\\u2A8D\",lsimg:\"\\u2A8F\",lsqb:\"[\",lsquo:\"\\u2018\",lsquor:\"\\u201A\",lstrok:\"\\u0142\",l:\"<\",lt:\"<\",ltcc:\"\\u2AA6\",ltcir:\"\\u2A79\",ltdot:\"\\u22D6\",lthree:\"\\u22CB\",ltimes:\"\\u22C9\",ltlarr:\"\\u2976\",ltquest:\"\\u2A7B\",ltrPar:\"\\u2996\",ltri:\"\\u25C3\",ltrie:\"\\u22B4\",ltrif:\"\\u25C2\",lurdshar:\"\\u294A\",luruhar:\"\\u2966\",lvertneqq:\"\\u2268\\uFE00\",lvnE:\"\\u2268\\uFE00\",mDDot:\"\\u223A\",mac:\"\\xAF\",macr:\"\\xAF\",male:\"\\u2642\",malt:\"\\u2720\",maltese:\"\\u2720\",map:\"\\u21A6\",mapsto:\"\\u21A6\",mapstodown:\"\\u21A7\",mapstoleft:\"\\u21A4\",mapstoup:\"\\u21A5\",marker:\"\\u25AE\",mcomma:\"\\u2A29\",mcy:\"\\u043C\",mdash:\"\\u2014\",measuredangle:\"\\u2221\",mfr:\"\\u{1D52A}\",mho:\"\\u2127\",micr:\"\\xB5\",micro:\"\\xB5\",mid:\"\\u2223\",midast:\"*\",midcir:\"\\u2AF0\",middo:\"\\xB7\",middot:\"\\xB7\",minus:\"\\u2212\",minusb:\"\\u229F\",minusd:\"\\u2238\",minusdu:\"\\u2A2A\",mlcp:\"\\u2ADB\",mldr:\"\\u2026\",mnplus:\"\\u2213\",models:\"\\u22A7\",mopf:\"\\u{1D55E}\",mp:\"\\u2213\",mscr:\"\\u{1D4C2}\",mstpos:\"\\u223E\",mu:\"\\u03BC\",multimap:\"\\u22B8\",mumap:\"\\u22B8\",nGg:\"\\u22D9\\u0338\",nGt:\"\\u226B\\u20D2\",nGtv:\"\\u226B\\u0338\",nLeftarrow:\"\\u21CD\",nLeftrightarrow:\"\\u21CE\",nLl:\"\\u22D8\\u0338\",nLt:\"\\u226A\\u20D2\",nLtv:\"\\u226A\\u0338\",nRightarrow:\"\\u21CF\",nVDash:\"\\u22AF\",nVdash:\"\\u22AE\",nabla:\"\\u2207\",nacute:\"\\u0144\",nang:\"\\u2220\\u20D2\",nap:\"\\u2249\",napE:\"\\u2A70\\u0338\",napid:\"\\u224B\\u0338\",napos:\"\\u0149\",napprox:\"\\u2249\",natur:\"\\u266E\",natural:\"\\u266E\",naturals:\"\\u2115\",nbs:\"\\xA0\",nbsp:\"\\xA0\",nbump:\"\\u224E\\u0338\",nbumpe:\"\\u224F\\u0338\",ncap:\"\\u2A43\",ncaron:\"\\u0148\",ncedil:\"\\u0146\",ncong:\"\\u2247\",ncongdot:\"\\u2A6D\\u0338\",ncup:\"\\u2A42\",ncy:\"\\u043D\",ndash:\"\\u2013\",ne:\"\\u2260\",neArr:\"\\u21D7\",nearhk:\"\\u2924\",nearr:\"\\u2197\",nearrow:\"\\u2197\",nedot:\"\\u2250\\u0338\",nequiv:\"\\u2262\",nesear:\"\\u2928\",nesim:\"\\u2242\\u0338\",nexist:\"\\u2204\",nexists:\"\\u2204\",nfr:\"\\u{1D52B}\",ngE:\"\\u2267\\u0338\",nge:\"\\u2271\",ngeq:\"\\u2271\",ngeqq:\"\\u2267\\u0338\",ngeqslant:\"\\u2A7E\\u0338\",nges:\"\\u2A7E\\u0338\",ngsim:\"\\u2275\",ngt:\"\\u226F\",ngtr:\"\\u226F\",nhArr:\"\\u21CE\",nharr:\"\\u21AE\",nhpar:\"\\u2AF2\",ni:\"\\u220B\",nis:\"\\u22FC\",nisd:\"\\u22FA\",niv:\"\\u220B\",njcy:\"\\u045A\",nlArr:\"\\u21CD\",nlE:\"\\u2266\\u0338\",nlarr:\"\\u219A\",nldr:\"\\u2025\",nle:\"\\u2270\",nleftarrow:\"\\u219A\",nleftrightarrow:\"\\u21AE\",nleq:\"\\u2270\",nleqq:\"\\u2266\\u0338\",nleqslant:\"\\u2A7D\\u0338\",nles:\"\\u2A7D\\u0338\",nless:\"\\u226E\",nlsim:\"\\u2274\",nlt:\"\\u226E\",nltri:\"\\u22EA\",nltrie:\"\\u22EC\",nmid:\"\\u2224\",nopf:\"\\u{1D55F}\",no:\"\\xAC\",not:\"\\xAC\",notin:\"\\u2209\",notinE:\"\\u22F9\\u0338\",notindot:\"\\u22F5\\u0338\",notinva:\"\\u2209\",notinvb:\"\\u22F7\",notinvc:\"\\u22F6\",notni:\"\\u220C\",notniva:\"\\u220C\",notnivb:\"\\u22FE\",notnivc:\"\\u22FD\",npar:\"\\u2226\",nparallel:\"\\u2226\",nparsl:\"\\u2AFD\\u20E5\",npart:\"\\u2202\\u0338\",npolint:\"\\u2A14\",npr:\"\\u2280\",nprcue:\"\\u22E0\",npre:\"\\u2AAF\\u0338\",nprec:\"\\u2280\",npreceq:\"\\u2AAF\\u0338\",nrArr:\"\\u21CF\",nrarr:\"\\u219B\",nrarrc:\"\\u2933\\u0338\",nrarrw:\"\\u219D\\u0338\",nrightarrow:\"\\u219B\",nrtri:\"\\u22EB\",nrtrie:\"\\u22ED\",nsc:\"\\u2281\",nsccue:\"\\u22E1\",nsce:\"\\u2AB0\\u0338\",nscr:\"\\u{1D4C3}\",nshortmid:\"\\u2224\",nshortparallel:\"\\u2226\",nsim:\"\\u2241\",nsime:\"\\u2244\",nsimeq:\"\\u2244\",nsmid:\"\\u2224\",nspar:\"\\u2226\",nsqsube:\"\\u22E2\",nsqsupe:\"\\u22E3\",nsub:\"\\u2284\",nsubE:\"\\u2AC5\\u0338\",nsube:\"\\u2288\",nsubset:\"\\u2282\\u20D2\",nsubseteq:\"\\u2288\",nsubseteqq:\"\\u2AC5\\u0338\",nsucc:\"\\u2281\",nsucceq:\"\\u2AB0\\u0338\",nsup:\"\\u2285\",nsupE:\"\\u2AC6\\u0338\",nsupe:\"\\u2289\",nsupset:\"\\u2283\\u20D2\",nsupseteq:\"\\u2289\",nsupseteqq:\"\\u2AC6\\u0338\",ntgl:\"\\u2279\",ntild:\"\\xF1\",ntilde:\"\\xF1\",ntlg:\"\\u2278\",ntriangleleft:\"\\u22EA\",ntrianglelefteq:\"\\u22EC\",ntriangleright:\"\\u22EB\",ntrianglerighteq:\"\\u22ED\",nu:\"\\u03BD\",num:\"#\",numero:\"\\u2116\",numsp:\"\\u2007\",nvDash:\"\\u22AD\",nvHarr:\"\\u2904\",nvap:\"\\u224D\\u20D2\",nvdash:\"\\u22AC\",nvge:\"\\u2265\\u20D2\",nvgt:\">\\u20D2\",nvinfin:\"\\u29DE\",nvlArr:\"\\u2902\",nvle:\"\\u2264\\u20D2\",nvlt:\"<\\u20D2\",nvltrie:\"\\u22B4\\u20D2\",nvrArr:\"\\u2903\",nvrtrie:\"\\u22B5\\u20D2\",nvsim:\"\\u223C\\u20D2\",nwArr:\"\\u21D6\",nwarhk:\"\\u2923\",nwarr:\"\\u2196\",nwarrow:\"\\u2196\",nwnear:\"\\u2927\",oS:\"\\u24C8\",oacut:\"\\xF3\",oacute:\"\\xF3\",oast:\"\\u229B\",ocir:\"\\xF4\",ocirc:\"\\xF4\",ocy:\"\\u043E\",odash:\"\\u229D\",odblac:\"\\u0151\",odiv:\"\\u2A38\",odot:\"\\u2299\",odsold:\"\\u29BC\",oelig:\"\\u0153\",ofcir:\"\\u29BF\",ofr:\"\\u{1D52C}\",ogon:\"\\u02DB\",ograv:\"\\xF2\",ograve:\"\\xF2\",ogt:\"\\u29C1\",ohbar:\"\\u29B5\",ohm:\"\\u03A9\",oint:\"\\u222E\",olarr:\"\\u21BA\",olcir:\"\\u29BE\",olcross:\"\\u29BB\",oline:\"\\u203E\",olt:\"\\u29C0\",omacr:\"\\u014D\",omega:\"\\u03C9\",omicron:\"\\u03BF\",omid:\"\\u29B6\",ominus:\"\\u2296\",oopf:\"\\u{1D560}\",opar:\"\\u29B7\",operp:\"\\u29B9\",oplus:\"\\u2295\",or:\"\\u2228\",orarr:\"\\u21BB\",ord:\"\\xBA\",order:\"\\u2134\",orderof:\"\\u2134\",ordf:\"\\xAA\",ordm:\"\\xBA\",origof:\"\\u22B6\",oror:\"\\u2A56\",orslope:\"\\u2A57\",orv:\"\\u2A5B\",oscr:\"\\u2134\",oslas:\"\\xF8\",oslash:\"\\xF8\",osol:\"\\u2298\",otild:\"\\xF5\",otilde:\"\\xF5\",otimes:\"\\u2297\",otimesas:\"\\u2A36\",oum:\"\\xF6\",ouml:\"\\xF6\",ovbar:\"\\u233D\",par:\"\\xB6\",para:\"\\xB6\",parallel:\"\\u2225\",parsim:\"\\u2AF3\",parsl:\"\\u2AFD\",part:\"\\u2202\",pcy:\"\\u043F\",percnt:\"%\",period:\".\",permil:\"\\u2030\",perp:\"\\u22A5\",pertenk:\"\\u2031\",pfr:\"\\u{1D52D}\",phi:\"\\u03C6\",phiv:\"\\u03D5\",phmmat:\"\\u2133\",phone:\"\\u260E\",pi:\"\\u03C0\",pitchfork:\"\\u22D4\",piv:\"\\u03D6\",planck:\"\\u210F\",planckh:\"\\u210E\",plankv:\"\\u210F\",plus:\"+\",plusacir:\"\\u2A23\",plusb:\"\\u229E\",pluscir:\"\\u2A22\",plusdo:\"\\u2214\",plusdu:\"\\u2A25\",pluse:\"\\u2A72\",plusm:\"\\xB1\",plusmn:\"\\xB1\",plussim:\"\\u2A26\",plustwo:\"\\u2A27\",pm:\"\\xB1\",pointint:\"\\u2A15\",popf:\"\\u{1D561}\",poun:\"\\xA3\",pound:\"\\xA3\",pr:\"\\u227A\",prE:\"\\u2AB3\",prap:\"\\u2AB7\",prcue:\"\\u227C\",pre:\"\\u2AAF\",prec:\"\\u227A\",precapprox:\"\\u2AB7\",preccurlyeq:\"\\u227C\",preceq:\"\\u2AAF\",precnapprox:\"\\u2AB9\",precneqq:\"\\u2AB5\",precnsim:\"\\u22E8\",precsim:\"\\u227E\",prime:\"\\u2032\",primes:\"\\u2119\",prnE:\"\\u2AB5\",prnap:\"\\u2AB9\",prnsim:\"\\u22E8\",prod:\"\\u220F\",profalar:\"\\u232E\",profline:\"\\u2312\",profsurf:\"\\u2313\",prop:\"\\u221D\",propto:\"\\u221D\",prsim:\"\\u227E\",prurel:\"\\u22B0\",pscr:\"\\u{1D4C5}\",psi:\"\\u03C8\",puncsp:\"\\u2008\",qfr:\"\\u{1D52E}\",qint:\"\\u2A0C\",qopf:\"\\u{1D562}\",qprime:\"\\u2057\",qscr:\"\\u{1D4C6}\",quaternions:\"\\u210D\",quatint:\"\\u2A16\",quest:\"?\",questeq:\"\\u225F\",quo:'\"',quot:'\"',rAarr:\"\\u21DB\",rArr:\"\\u21D2\",rAtail:\"\\u291C\",rBarr:\"\\u290F\",rHar:\"\\u2964\",race:\"\\u223D\\u0331\",racute:\"\\u0155\",radic:\"\\u221A\",raemptyv:\"\\u29B3\",rang:\"\\u27E9\",rangd:\"\\u2992\",range:\"\\u29A5\",rangle:\"\\u27E9\",raqu:\"\\xBB\",raquo:\"\\xBB\",rarr:\"\\u2192\",rarrap:\"\\u2975\",rarrb:\"\\u21E5\",rarrbfs:\"\\u2920\",rarrc:\"\\u2933\",rarrfs:\"\\u291E\",rarrhk:\"\\u21AA\",rarrlp:\"\\u21AC\",rarrpl:\"\\u2945\",rarrsim:\"\\u2974\",rarrtl:\"\\u21A3\",rarrw:\"\\u219D\",ratail:\"\\u291A\",ratio:\"\\u2236\",rationals:\"\\u211A\",rbarr:\"\\u290D\",rbbrk:\"\\u2773\",rbrace:\"}\",rbrack:\"]\",rbrke:\"\\u298C\",rbrksld:\"\\u298E\",rbrkslu:\"\\u2990\",rcaron:\"\\u0159\",rcedil:\"\\u0157\",rceil:\"\\u2309\",rcub:\"}\",rcy:\"\\u0440\",rdca:\"\\u2937\",rdldhar:\"\\u2969\",rdquo:\"\\u201D\",rdquor:\"\\u201D\",rdsh:\"\\u21B3\",real:\"\\u211C\",realine:\"\\u211B\",realpart:\"\\u211C\",reals:\"\\u211D\",rect:\"\\u25AD\",re:\"\\xAE\",reg:\"\\xAE\",rfisht:\"\\u297D\",rfloor:\"\\u230B\",rfr:\"\\u{1D52F}\",rhard:\"\\u21C1\",rharu:\"\\u21C0\",rharul:\"\\u296C\",rho:\"\\u03C1\",rhov:\"\\u03F1\",rightarrow:\"\\u2192\",rightarrowtail:\"\\u21A3\",rightharpoondown:\"\\u21C1\",rightharpoonup:\"\\u21C0\",rightleftarrows:\"\\u21C4\",rightleftharpoons:\"\\u21CC\",rightrightarrows:\"\\u21C9\",rightsquigarrow:\"\\u219D\",rightthreetimes:\"\\u22CC\",ring:\"\\u02DA\",risingdotseq:\"\\u2253\",rlarr:\"\\u21C4\",rlhar:\"\\u21CC\",rlm:\"\\u200F\",rmoust:\"\\u23B1\",rmoustache:\"\\u23B1\",rnmid:\"\\u2AEE\",roang:\"\\u27ED\",roarr:\"\\u21FE\",robrk:\"\\u27E7\",ropar:\"\\u2986\",ropf:\"\\u{1D563}\",roplus:\"\\u2A2E\",rotimes:\"\\u2A35\",rpar:\")\",rpargt:\"\\u2994\",rppolint:\"\\u2A12\",rrarr:\"\\u21C9\",rsaquo:\"\\u203A\",rscr:\"\\u{1D4C7}\",rsh:\"\\u21B1\",rsqb:\"]\",rsquo:\"\\u2019\",rsquor:\"\\u2019\",rthree:\"\\u22CC\",rtimes:\"\\u22CA\",rtri:\"\\u25B9\",rtrie:\"\\u22B5\",rtrif:\"\\u25B8\",rtriltri:\"\\u29CE\",ruluhar:\"\\u2968\",rx:\"\\u211E\",sacute:\"\\u015B\",sbquo:\"\\u201A\",sc:\"\\u227B\",scE:\"\\u2AB4\",scap:\"\\u2AB8\",scaron:\"\\u0161\",sccue:\"\\u227D\",sce:\"\\u2AB0\",scedil:\"\\u015F\",scirc:\"\\u015D\",scnE:\"\\u2AB6\",scnap:\"\\u2ABA\",scnsim:\"\\u22E9\",scpolint:\"\\u2A13\",scsim:\"\\u227F\",scy:\"\\u0441\",sdot:\"\\u22C5\",sdotb:\"\\u22A1\",sdote:\"\\u2A66\",seArr:\"\\u21D8\",searhk:\"\\u2925\",searr:\"\\u2198\",searrow:\"\\u2198\",sec:\"\\xA7\",sect:\"\\xA7\",semi:\";\",seswar:\"\\u2929\",setminus:\"\\u2216\",setmn:\"\\u2216\",sext:\"\\u2736\",sfr:\"\\u{1D530}\",sfrown:\"\\u2322\",sharp:\"\\u266F\",shchcy:\"\\u0449\",shcy:\"\\u0448\",shortmid:\"\\u2223\",shortparallel:\"\\u2225\",sh:\"\\xAD\",shy:\"\\xAD\",sigma:\"\\u03C3\",sigmaf:\"\\u03C2\",sigmav:\"\\u03C2\",sim:\"\\u223C\",simdot:\"\\u2A6A\",sime:\"\\u2243\",simeq:\"\\u2243\",simg:\"\\u2A9E\",simgE:\"\\u2AA0\",siml:\"\\u2A9D\",simlE:\"\\u2A9F\",simne:\"\\u2246\",simplus:\"\\u2A24\",simrarr:\"\\u2972\",slarr:\"\\u2190\",smallsetminus:\"\\u2216\",smashp:\"\\u2A33\",smeparsl:\"\\u29E4\",smid:\"\\u2223\",smile:\"\\u2323\",smt:\"\\u2AAA\",smte:\"\\u2AAC\",smtes:\"\\u2AAC\\uFE00\",softcy:\"\\u044C\",sol:\"/\",solb:\"\\u29C4\",solbar:\"\\u233F\",sopf:\"\\u{1D564}\",spades:\"\\u2660\",spadesuit:\"\\u2660\",spar:\"\\u2225\",sqcap:\"\\u2293\",sqcaps:\"\\u2293\\uFE00\",sqcup:\"\\u2294\",sqcups:\"\\u2294\\uFE00\",sqsub:\"\\u228F\",sqsube:\"\\u2291\",sqsubset:\"\\u228F\",sqsubseteq:\"\\u2291\",sqsup:\"\\u2290\",sqsupe:\"\\u2292\",sqsupset:\"\\u2290\",sqsupseteq:\"\\u2292\",squ:\"\\u25A1\",square:\"\\u25A1\",squarf:\"\\u25AA\",squf:\"\\u25AA\",srarr:\"\\u2192\",sscr:\"\\u{1D4C8}\",ssetmn:\"\\u2216\",ssmile:\"\\u2323\",sstarf:\"\\u22C6\",star:\"\\u2606\",starf:\"\\u2605\",straightepsilon:\"\\u03F5\",straightphi:\"\\u03D5\",strns:\"\\xAF\",sub:\"\\u2282\",subE:\"\\u2AC5\",subdot:\"\\u2ABD\",sube:\"\\u2286\",subedot:\"\\u2AC3\",submult:\"\\u2AC1\",subnE:\"\\u2ACB\",subne:\"\\u228A\",subplus:\"\\u2ABF\",subrarr:\"\\u2979\",subset:\"\\u2282\",subseteq:\"\\u2286\",subseteqq:\"\\u2AC5\",subsetneq:\"\\u228A\",subsetneqq:\"\\u2ACB\",subsim:\"\\u2AC7\",subsub:\"\\u2AD5\",subsup:\"\\u2AD3\",succ:\"\\u227B\",succapprox:\"\\u2AB8\",succcurlyeq:\"\\u227D\",succeq:\"\\u2AB0\",succnapprox:\"\\u2ABA\",succneqq:\"\\u2AB6\",succnsim:\"\\u22E9\",succsim:\"\\u227F\",sum:\"\\u2211\",sung:\"\\u266A\",sup:\"\\u2283\",sup1:\"\\xB9\",sup2:\"\\xB2\",sup3:\"\\xB3\",supE:\"\\u2AC6\",supdot:\"\\u2ABE\",supdsub:\"\\u2AD8\",supe:\"\\u2287\",supedot:\"\\u2AC4\",suphsol:\"\\u27C9\",suphsub:\"\\u2AD7\",suplarr:\"\\u297B\",supmult:\"\\u2AC2\",supnE:\"\\u2ACC\",supne:\"\\u228B\",supplus:\"\\u2AC0\",supset:\"\\u2283\",supseteq:\"\\u2287\",supseteqq:\"\\u2AC6\",supsetneq:\"\\u228B\",supsetneqq:\"\\u2ACC\",supsim:\"\\u2AC8\",supsub:\"\\u2AD4\",supsup:\"\\u2AD6\",swArr:\"\\u21D9\",swarhk:\"\\u2926\",swarr:\"\\u2199\",swarrow:\"\\u2199\",swnwar:\"\\u292A\",szli:\"\\xDF\",szlig:\"\\xDF\",target:\"\\u2316\",tau:\"\\u03C4\",tbrk:\"\\u23B4\",tcaron:\"\\u0165\",tcedil:\"\\u0163\",tcy:\"\\u0442\",tdot:\"\\u20DB\",telrec:\"\\u2315\",tfr:\"\\u{1D531}\",there4:\"\\u2234\",therefore:\"\\u2234\",theta:\"\\u03B8\",thetasym:\"\\u03D1\",thetav:\"\\u03D1\",thickapprox:\"\\u2248\",thicksim:\"\\u223C\",thinsp:\"\\u2009\",thkap:\"\\u2248\",thksim:\"\\u223C\",thor:\"\\xFE\",thorn:\"\\xFE\",tilde:\"\\u02DC\",time:\"\\xD7\",times:\"\\xD7\",timesb:\"\\u22A0\",timesbar:\"\\u2A31\",timesd:\"\\u2A30\",tint:\"\\u222D\",toea:\"\\u2928\",top:\"\\u22A4\",topbot:\"\\u2336\",topcir:\"\\u2AF1\",topf:\"\\u{1D565}\",topfork:\"\\u2ADA\",tosa:\"\\u2929\",tprime:\"\\u2034\",trade:\"\\u2122\",triangle:\"\\u25B5\",triangledown:\"\\u25BF\",triangleleft:\"\\u25C3\",trianglelefteq:\"\\u22B4\",triangleq:\"\\u225C\",triangleright:\"\\u25B9\",trianglerighteq:\"\\u22B5\",tridot:\"\\u25EC\",trie:\"\\u225C\",triminus:\"\\u2A3A\",triplus:\"\\u2A39\",trisb:\"\\u29CD\",tritime:\"\\u2A3B\",trpezium:\"\\u23E2\",tscr:\"\\u{1D4C9}\",tscy:\"\\u0446\",tshcy:\"\\u045B\",tstrok:\"\\u0167\",twixt:\"\\u226C\",twoheadleftarrow:\"\\u219E\",twoheadrightarrow:\"\\u21A0\",uArr:\"\\u21D1\",uHar:\"\\u2963\",uacut:\"\\xFA\",uacute:\"\\xFA\",uarr:\"\\u2191\",ubrcy:\"\\u045E\",ubreve:\"\\u016D\",ucir:\"\\xFB\",ucirc:\"\\xFB\",ucy:\"\\u0443\",udarr:\"\\u21C5\",udblac:\"\\u0171\",udhar:\"\\u296E\",ufisht:\"\\u297E\",ufr:\"\\u{1D532}\",ugrav:\"\\xF9\",ugrave:\"\\xF9\",uharl:\"\\u21BF\",uharr:\"\\u21BE\",uhblk:\"\\u2580\",ulcorn:\"\\u231C\",ulcorner:\"\\u231C\",ulcrop:\"\\u230F\",ultri:\"\\u25F8\",umacr:\"\\u016B\",um:\"\\xA8\",uml:\"\\xA8\",uogon:\"\\u0173\",uopf:\"\\u{1D566}\",uparrow:\"\\u2191\",updownarrow:\"\\u2195\",upharpoonleft:\"\\u21BF\",upharpoonright:\"\\u21BE\",uplus:\"\\u228E\",upsi:\"\\u03C5\",upsih:\"\\u03D2\",upsilon:\"\\u03C5\",upuparrows:\"\\u21C8\",urcorn:\"\\u231D\",urcorner:\"\\u231D\",urcrop:\"\\u230E\",uring:\"\\u016F\",urtri:\"\\u25F9\",uscr:\"\\u{1D4CA}\",utdot:\"\\u22F0\",utilde:\"\\u0169\",utri:\"\\u25B5\",utrif:\"\\u25B4\",uuarr:\"\\u21C8\",uum:\"\\xFC\",uuml:\"\\xFC\",uwangle:\"\\u29A7\",vArr:\"\\u21D5\",vBar:\"\\u2AE8\",vBarv:\"\\u2AE9\",vDash:\"\\u22A8\",vangrt:\"\\u299C\",varepsilon:\"\\u03F5\",varkappa:\"\\u03F0\",varnothing:\"\\u2205\",varphi:\"\\u03D5\",varpi:\"\\u03D6\",varpropto:\"\\u221D\",varr:\"\\u2195\",varrho:\"\\u03F1\",varsigma:\"\\u03C2\",varsubsetneq:\"\\u228A\\uFE00\",varsubsetneqq:\"\\u2ACB\\uFE00\",varsupsetneq:\"\\u228B\\uFE00\",varsupsetneqq:\"\\u2ACC\\uFE00\",vartheta:\"\\u03D1\",vartriangleleft:\"\\u22B2\",vartriangleright:\"\\u22B3\",vcy:\"\\u0432\",vdash:\"\\u22A2\",vee:\"\\u2228\",veebar:\"\\u22BB\",veeeq:\"\\u225A\",vellip:\"\\u22EE\",verbar:\"|\",vert:\"|\",vfr:\"\\u{1D533}\",vltri:\"\\u22B2\",vnsub:\"\\u2282\\u20D2\",vnsup:\"\\u2283\\u20D2\",vopf:\"\\u{1D567}\",vprop:\"\\u221D\",vrtri:\"\\u22B3\",vscr:\"\\u{1D4CB}\",vsubnE:\"\\u2ACB\\uFE00\",vsubne:\"\\u228A\\uFE00\",vsupnE:\"\\u2ACC\\uFE00\",vsupne:\"\\u228B\\uFE00\",vzigzag:\"\\u299A\",wcirc:\"\\u0175\",wedbar:\"\\u2A5F\",wedge:\"\\u2227\",wedgeq:\"\\u2259\",weierp:\"\\u2118\",wfr:\"\\u{1D534}\",wopf:\"\\u{1D568}\",wp:\"\\u2118\",wr:\"\\u2240\",wreath:\"\\u2240\",wscr:\"\\u{1D4CC}\",xcap:\"\\u22C2\",xcirc:\"\\u25EF\",xcup:\"\\u22C3\",xdtri:\"\\u25BD\",xfr:\"\\u{1D535}\",xhArr:\"\\u27FA\",xharr:\"\\u27F7\",xi:\"\\u03BE\",xlArr:\"\\u27F8\",xlarr:\"\\u27F5\",xmap:\"\\u27FC\",xnis:\"\\u22FB\",xodot:\"\\u2A00\",xopf:\"\\u{1D569}\",xoplus:\"\\u2A01\",xotime:\"\\u2A02\",xrArr:\"\\u27F9\",xrarr:\"\\u27F6\",xscr:\"\\u{1D4CD}\",xsqcup:\"\\u2A06\",xuplus:\"\\u2A04\",xutri:\"\\u25B3\",xvee:\"\\u22C1\",xwedge:\"\\u22C0\",yacut:\"\\xFD\",yacute:\"\\xFD\",yacy:\"\\u044F\",ycirc:\"\\u0177\",ycy:\"\\u044B\",ye:\"\\xA5\",yen:\"\\xA5\",yfr:\"\\u{1D536}\",yicy:\"\\u0457\",yopf:\"\\u{1D56A}\",yscr:\"\\u{1D4CE}\",yucy:\"\\u044E\",yum:\"\\xFF\",yuml:\"\\xFF\",zacute:\"\\u017A\",zcaron:\"\\u017E\",zcy:\"\\u0437\",zdot:\"\\u017C\",zeetrf:\"\\u2128\",zeta:\"\\u03B6\",zfr:\"\\u{1D537}\",zhcy:\"\\u0436\",zigrarr:\"\\u21DD\",zopf:\"\\u{1D56B}\",zscr:\"\\u{1D4CF}\",zwj:\"\\u200D\",zwnj:\"\\u200C\"};}});var require_decode_entity=__commonJS({\"../../node_modules/parse-entities/decode-entity.js\"(exports,module){var characterEntities=require_character_entities();module.exports=decodeEntity;var own={}.hasOwnProperty;function decodeEntity(characters){return own.call(characterEntities,characters)?characterEntities[characters]:!1}}});var require_parse_entities=__commonJS({\"../../node_modules/parse-entities/index.js\"(exports,module){var legacy=require_character_entities_legacy(),invalid=require_character_reference_invalid(),decimal=require_is_decimal(),hexadecimal=require_is_hexadecimal(),alphanumerical=require_is_alphanumerical(),decodeEntity=require_decode_entity();module.exports=parseEntities;var own={}.hasOwnProperty,fromCharCode=String.fromCharCode,noop=Function.prototype,defaults={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},tab=9,lineFeed=10,formFeed=12,space=32,ampersand=38,semicolon=59,lessThan=60,equalsTo=61,numberSign=35,uppercaseX=88,lowercaseX=120,replacementCharacter=65533,name=\"named\",hexa=\"hexadecimal\",deci=\"decimal\",bases={};bases[hexa]=16;bases[deci]=10;var tests={};tests[name]=alphanumerical;tests[deci]=decimal;tests[hexa]=hexadecimal;var namedNotTerminated=1,numericNotTerminated=2,namedEmpty=3,numericEmpty=4,namedUnknown=5,numericDisallowed=6,numericProhibited=7,messages={};messages[namedNotTerminated]=\"Named character references must be terminated by a semicolon\";messages[numericNotTerminated]=\"Numeric character references must be terminated by a semicolon\";messages[namedEmpty]=\"Named character references cannot be empty\";messages[numericEmpty]=\"Numeric character references cannot be empty\";messages[namedUnknown]=\"Named character references must be known\";messages[numericDisallowed]=\"Numeric character references cannot be disallowed\";messages[numericProhibited]=\"Numeric character references cannot be outside the permissible Unicode range\";function parseEntities(value,options){var settings={},option,key;options||(options={});for(key in defaults)option=options[key],settings[key]=option??defaults[key];return (settings.position.indent||settings.position.start)&&(settings.indent=settings.position.indent||[],settings.position=settings.position.start),parse(value,settings)}function parse(value,settings){var additional=settings.additional,nonTerminated=settings.nonTerminated,handleText=settings.text,handleReference=settings.reference,handleWarning=settings.warning,textContext=settings.textContext,referenceContext=settings.referenceContext,warningContext=settings.warningContext,pos=settings.position,indent=settings.indent||[],length=value.length,index=0,lines=-1,column=pos.column||1,line=pos.line||1,queue=\"\",result=[],entityCharacters,namedEntity,terminated,characters,character,reference,following,warning,reason,output,entity,begin,start,type,test,prev,next,diff,end;for(typeof additional==\"string\"&&(additional=additional.charCodeAt(0)),prev=now(),warning=handleWarning?parseError:noop,index--,length++;++index65535&&(reference-=65536,output+=fromCharCode(reference>>>10|55296),reference=56320|reference&1023),reference=output+fromCharCode(reference))):type!==name&&warning(numericEmpty,diff)),reference?(flush(),prev=now(),index=end-1,column+=end-start+1,result.push(reference),next=now(),next.offset++,handleReference&&handleReference.call(referenceContext,reference,{start:prev,end:next},value.slice(start-1,end)),prev=next):(characters=value.slice(start-1,end),queue+=characters,column+=characters.length,index=end-1);}else character===10&&(line++,lines++,column=0),character===character?(queue+=fromCharCode(character),column++):flush();return result.join(\"\");function now(){return {line,column,offset:index+(pos.offset||0)}}function parseError(code,offset){var position=now();position.column+=offset,position.offset+=offset,handleWarning.call(warningContext,messages[code],position,code);}function flush(){queue&&(result.push(queue),handleText&&handleText.call(textContext,queue,{start:prev,end:now()}),queue=\"\");}}function prohibited(code){return code>=55296&&code<=57343||code>1114111}function disallowed(code){return code>=1&&code<=8||code===11||code>=13&&code<=31||code>=127&&code<=159||code>=64976&&code<=65007||(code&65535)===65535||(code&65535)===65534}}});var require_prism_core=__commonJS({\"../../node_modules/refractor/node_modules/prismjs/components/prism-core.js\"(exports,module){var _self=typeof window<\"u\"?window:typeof WorkerGlobalScope<\"u\"&&self instanceof WorkerGlobalScope?self:{};var Prism=function(_self2){var lang=/(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i,uniqueId=0,plainTextGrammar={},_={manual:_self2.Prism&&_self2.Prism.manual,disableWorkerMessageHandler:_self2.Prism&&_self2.Prism.disableWorkerMessageHandler,util:{encode:function encode(tokens){return tokens instanceof Token?new Token(tokens.type,encode(tokens.content),tokens.alias):Array.isArray(tokens)?tokens.map(encode):tokens.replace(/&/g,\"&\").replace(/\"u\")return null;if(\"currentScript\"in document&&1<2)return document.currentScript;try{throw new Error}catch(err){var src=(/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack)||[])[1];if(src){var scripts=document.getElementsByTagName(\"script\");for(var i in scripts)if(scripts[i].src==src)return scripts[i]}return null}},isActive:function(element,className,defaultActivation){for(var no=\"no-\"+className;element;){var classList=element.classList;if(classList.contains(className))return !0;if(classList.contains(no))return !1;element=element.parentElement;}return !!defaultActivation}},languages:{plain:plainTextGrammar,plaintext:plainTextGrammar,text:plainTextGrammar,txt:plainTextGrammar,extend:function(id,redef){var lang2=_.util.clone(_.languages[id]);for(var key in redef)lang2[key]=redef[key];return lang2},insertBefore:function(inside,before,insert,root){root=root||_.languages;var grammar=root[inside],ret={};for(var token in grammar)if(grammar.hasOwnProperty(token)){if(token==before)for(var newToken in insert)insert.hasOwnProperty(newToken)&&(ret[newToken]=insert[newToken]);insert.hasOwnProperty(token)||(ret[token]=grammar[token]);}var old=root[inside];return root[inside]=ret,_.languages.DFS(_.languages,function(key,value){value===old&&key!=inside&&(this[key]=ret);}),ret},DFS:function DFS(o,callback,type,visited){visited=visited||{};var objId=_.util.objId;for(var i in o)if(o.hasOwnProperty(i)){callback.call(o,i,o[i],type||i);var property=o[i],propertyType=_.util.type(property);propertyType===\"Object\"&&!visited[objId(property)]?(visited[objId(property)]=!0,DFS(property,callback,null,visited)):propertyType===\"Array\"&&!visited[objId(property)]&&(visited[objId(property)]=!0,DFS(property,callback,i,visited));}}},plugins:{},highlightAll:function(async,callback){_.highlightAllUnder(document,async,callback);},highlightAllUnder:function(container,async,callback){var env={callback,container,selector:'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'};_.hooks.run(\"before-highlightall\",env),env.elements=Array.prototype.slice.apply(env.container.querySelectorAll(env.selector)),_.hooks.run(\"before-all-elements-highlight\",env);for(var i=0,element;element=env.elements[i++];)_.highlightElement(element,async===!0,env.callback);},highlightElement:function(element,async,callback){var language=_.util.getLanguage(element),grammar=_.languages[language];_.util.setLanguage(element,language);var parent=element.parentElement;parent&&parent.nodeName.toLowerCase()===\"pre\"&&_.util.setLanguage(parent,language);var code=element.textContent,env={element,language,grammar,code};function insertHighlightedCode(highlightedCode){env.highlightedCode=highlightedCode,_.hooks.run(\"before-insert\",env),env.element.innerHTML=env.highlightedCode,_.hooks.run(\"after-highlight\",env),_.hooks.run(\"complete\",env),callback&&callback.call(env.element);}if(_.hooks.run(\"before-sanity-check\",env),parent=env.element.parentElement,parent&&parent.nodeName.toLowerCase()===\"pre\"&&!parent.hasAttribute(\"tabindex\")&&parent.setAttribute(\"tabindex\",\"0\"),!env.code){_.hooks.run(\"complete\",env),callback&&callback.call(env.element);return}if(_.hooks.run(\"before-highlight\",env),!env.grammar){insertHighlightedCode(_.util.encode(env.code));return}if(async&&_self2.Worker){var worker=new Worker(_.filename);worker.onmessage=function(evt){insertHighlightedCode(evt.data);},worker.postMessage(JSON.stringify({language:env.language,code:env.code,immediateClose:!0}));}else insertHighlightedCode(_.highlight(env.code,env.grammar,env.language));},highlight:function(text,grammar,language){var env={code:text,grammar,language};if(_.hooks.run(\"before-tokenize\",env),!env.grammar)throw new Error('The language \"'+env.language+'\" has no grammar.');return env.tokens=_.tokenize(env.code,env.grammar),_.hooks.run(\"after-tokenize\",env),Token.stringify(_.util.encode(env.tokens),env.language)},tokenize:function(text,grammar){var rest=grammar.rest;if(rest){for(var token in rest)grammar[token]=rest[token];delete grammar.rest;}var tokenList=new LinkedList;return addAfter(tokenList,tokenList.head,text),matchGrammar(text,tokenList,grammar,tokenList.head,0),toArray(tokenList)},hooks:{all:{},add:function(name,callback){var hooks=_.hooks.all;hooks[name]=hooks[name]||[],hooks[name].push(callback);},run:function(name,env){var callbacks=_.hooks.all[name];if(!(!callbacks||!callbacks.length))for(var i=0,callback;callback=callbacks[i++];)callback(env);}},Token};_self2.Prism=_;function Token(type,content,alias,matchedStr){this.type=type,this.content=content,this.alias=alias,this.length=(matchedStr||\"\").length|0;}Token.stringify=function stringify(o,language){if(typeof o==\"string\")return o;if(Array.isArray(o)){var s=\"\";return o.forEach(function(e){s+=stringify(e,language);}),s}var env={type:o.type,content:stringify(o.content,language),tag:\"span\",classes:[\"token\",o.type],attributes:{},language},aliases=o.alias;aliases&&(Array.isArray(aliases)?Array.prototype.push.apply(env.classes,aliases):env.classes.push(aliases)),_.hooks.run(\"wrap\",env);var attributes=\"\";for(var name in env.attributes)attributes+=\" \"+name+'=\"'+(env.attributes[name]||\"\").replace(/\"/g,\""\")+'\"';return \"<\"+env.tag+' class=\"'+env.classes.join(\" \")+'\"'+attributes+\">\"+env.content+\"\"};function matchPattern(pattern,pos,text,lookbehind){pattern.lastIndex=pos;var match=pattern.exec(text);if(match&&lookbehind&&match[1]){var lookbehindLength=match[1].length;match.index+=lookbehindLength,match[0]=match[0].slice(lookbehindLength);}return match}function matchGrammar(text,tokenList,grammar,startNode,startPos,rematch){for(var token in grammar)if(!(!grammar.hasOwnProperty(token)||!grammar[token])){var patterns=grammar[token];patterns=Array.isArray(patterns)?patterns:[patterns];for(var j=0;j=rematch.reach);pos+=currentNode.value.length,currentNode=currentNode.next){var str=currentNode.value;if(tokenList.length>text.length)return;if(!(str instanceof Token)){var removeCount=1,match;if(greedy){if(match=matchPattern(pattern,pos,text,lookbehind),!match||match.index>=text.length)break;var from=match.index,to=match.index+match[0].length,p=pos;for(p+=currentNode.value.length;from>=p;)currentNode=currentNode.next,p+=currentNode.value.length;if(p-=currentNode.value.length,pos=p,currentNode.value instanceof Token)continue;for(var k=currentNode;k!==tokenList.tail&&(prematch.reach&&(rematch.reach=reach);var removeFrom=currentNode.prev;before&&(removeFrom=addAfter(tokenList,removeFrom,before),pos+=before.length),removeRange(tokenList,removeFrom,removeCount);var wrapped=new Token(token,inside?_.tokenize(matchStr,inside):matchStr,alias,matchStr);if(currentNode=addAfter(tokenList,removeFrom,wrapped),after&&addAfter(tokenList,currentNode,after),removeCount>1){var nestedRematch={cause:token+\",\"+j,reach};matchGrammar(text,tokenList,grammar,currentNode.prev,pos,nestedRematch),rematch&&nestedRematch.reach>rematch.reach&&(rematch.reach=nestedRematch.reach);}}}}}}function LinkedList(){var head={value:null,prev:null,next:null},tail={value:null,prev:head,next:null};head.next=tail,this.head=head,this.tail=tail,this.length=0;}function addAfter(list,node,value){var next=node.next,newNode={value,prev:node,next};return node.next=newNode,next.prev=newNode,list.length++,newNode}function removeRange(list,node,count){for(var next=node.next,i=0;i>=?|&&|\\|\\||[=!+\\-*/%<>^&|]=?|[?~:]/,punctuation:/\\(\\(?|\\)\\)?|,|;/}},{pattern:/\\$\\((?:\\([^)]+\\)|[^()])+\\)|`[^`]+`/,greedy:!0,inside:{variable:/^\\$\\(|^`|\\)$|`$/}},{pattern:/\\$\\{[^}]+\\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\\/]|##?|%%?|\\^\\^?|,,?/,punctuation:/[\\[\\]]/,environment:{pattern:RegExp(\"(\\\\{)\"+envVars),lookbehind:!0,alias:\"constant\"}}},/\\$(?:\\w+|[#?*!@$])/],entity:/\\\\(?:[abceEfnrtv\\\\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};Prism2.languages.bash={shebang:{pattern:/^#!\\s*\\/.*/,alias:\"important\"},comment:{pattern:/(^|[^\"{\\\\$])#.*/,lookbehind:!0},\"function-name\":[{pattern:/(\\bfunction\\s+)[\\w-]+(?=(?:\\s*\\(?:\\s*\\))?\\s*\\{)/,lookbehind:!0,alias:\"function\"},{pattern:/\\b[\\w-]+(?=\\s*\\(\\s*\\)\\s*\\{)/,alias:\"function\"}],\"for-or-select\":{pattern:/(\\b(?:for|select)\\s+)\\w+(?=\\s+in\\s)/,alias:\"variable\",lookbehind:!0},\"assign-left\":{pattern:/(^|[\\s;|&]|[<>]\\()\\w+(?=\\+?=)/,inside:{environment:{pattern:RegExp(\"(^|[\\\\s;|&]|[<>]\\\\()\"+envVars),lookbehind:!0,alias:\"constant\"}},alias:\"variable\",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\\s*)(\\w+)\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\2/,lookbehind:!0,greedy:!0,inside:insideString},{pattern:/((?:^|[^<])<<-?\\s*)([\"'])(\\w+)\\2\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\3/,lookbehind:!0,greedy:!0,inside:{bash:commandAfterHeredoc}},{pattern:/(^|[^\\\\](?:\\\\\\\\)*)\"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^\"\\\\`$])*\"/,lookbehind:!0,greedy:!0,inside:insideString},{pattern:/(^|[^$\\\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\\$'(?:[^'\\\\]|\\\\[\\s\\S])*'/,greedy:!0,inside:{entity:insideString.entity}}],environment:{pattern:RegExp(\"\\\\$?\"+envVars),alias:\"constant\"},variable:insideString.variable,function:{pattern:/(^|[\\s;|&]|[<>]\\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\\s;|&]|[<>]\\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\\s;|&]|[<>]\\()(?:\\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\\s;|&])/,lookbehind:!0,alias:\"class-name\"},boolean:{pattern:/(^|[\\s;|&]|[<>]\\()(?:false|true)(?=$|[)\\s;|&])/,lookbehind:!0},\"file-descriptor\":{pattern:/\\B&\\d\\b/,alias:\"important\"},operator:{pattern:/\\d?<>|>\\||\\+=|=[=~]?|!=?|<<[<-]?|[&\\d]?>>|\\d[<>]&?|[<>][&=]?|&[>&]?|\\|[&|]?/,inside:{\"file-descriptor\":{pattern:/^\\d/,alias:\"important\"}}},punctuation:/\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];\\\\]/,number:{pattern:/(^|\\s)(?:[1-9]\\d*|0)(?:[.,]\\d+)?\\b/,lookbehind:!0}},commandAfterHeredoc.inside=Prism2.languages.bash;for(var toBeCopied=[\"comment\",\"function-name\",\"for-or-select\",\"assign-left\",\"string\",\"environment\",\"function\",\"keyword\",\"builtin\",\"boolean\",\"file-descriptor\",\"operator\",\"punctuation\",\"number\"],inside=insideString.variable[1].inside,i=0;i/g,function(){return /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/.source}),flags)}Prism2.languages.insertBefore(\"javascript\",\"keyword\",{imports:{pattern:withId(/(\\bimport\\b\\s*)(?:(?:\\s*,\\s*(?:\\*\\s*as\\s+|\\{[^{}]*\\}))?|\\*\\s*as\\s+|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)/.source),lookbehind:!0,inside:Prism2.languages.javascript},exports:{pattern:withId(/(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})/.source),lookbehind:!0,inside:Prism2.languages.javascript}}),Prism2.languages.javascript.keyword.unshift({pattern:/\\b(?:as|default|export|from|import)\\b/,alias:\"module\"},{pattern:/\\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\\b/,alias:\"control-flow\"},{pattern:/\\bnull\\b/,alias:[\"null\",\"nil\"]},{pattern:/\\bundefined\\b/,alias:\"nil\"}),Prism2.languages.insertBefore(\"javascript\",\"operator\",{spread:{pattern:/\\.{3}/,alias:\"operator\"},arrow:{pattern:/=>/,alias:\"operator\"}}),Prism2.languages.insertBefore(\"javascript\",\"punctuation\",{\"property-access\":{pattern:withId(/(\\.\\s*)#?/.source),lookbehind:!0},\"maybe-class-name\":{pattern:/(^|[^$\\w\\xA0-\\uFFFF])[A-Z][$\\w\\xA0-\\uFFFF]+/,lookbehind:!0},dom:{pattern:/\\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\\b/,alias:\"variable\"},console:{pattern:/\\bconsole(?=\\s*\\.)/,alias:\"class-name\"}});for(var maybeClassNameTokens=[\"function\",\"function-variable\",\"method\",\"method-variable\",\"property-access\"],i=0;i0)){var mutationEnd=findClosingBracket(/^\\{$/,/^\\}$/);if(mutationEnd===-1)continue;for(var i=currentIndex;i=0&&addAlias(varToken,\"variable-input\");}}}}});}}});\n\nexport { require_graphql };\n","import { _objectWithoutPropertiesLoose, _extends } from './chunk-FD4M6EBV.mjs';\nimport { require_markdown } from './chunk-S72H4O6B.mjs';\nimport { require_yaml } from './chunk-CR4N7OJN.mjs';\nimport { require_tsx } from './chunk-Q5VTUGLN.mjs';\nimport { require_typescript } from './chunk-XWWAUDHM.mjs';\nimport { require_core } from './chunk-OLF4PGGZ.mjs';\nimport { require_jsx } from './chunk-R5KWTIWY.mjs';\nimport { require_bash } from './chunk-7K7XSER6.mjs';\nimport { require_css } from './chunk-YTVVV3IZ.mjs';\nimport { require_js_extras } from './chunk-HNIG72LA.mjs';\nimport { require_json } from './chunk-3UNGU6BL.mjs';\nimport { require_graphql } from './chunk-EU3NKDVB.mjs';\nimport { require_markup } from './chunk-I3OL67LK.mjs';\nimport { __toESM } from './chunk-NNAAFZ4U.mjs';\nimport React2, { lazy, Suspense, useState, useCallback } from 'react';\nimport { logger } from '@storybook/client-logger';\nimport { styled } from '@storybook/theming';\nimport { global } from '@storybook/global';\nimport memoize from 'memoizerific';\n\nvar import_jsx=__toESM(require_jsx()),jsx_default=import_jsx.default;var import_bash=__toESM(require_bash()),bash_default=import_bash.default;var import_css=__toESM(require_css()),css_default=import_css.default;var import_js_extras=__toESM(require_js_extras()),js_extras_default=import_js_extras.default;var import_json=__toESM(require_json()),json_default=import_json.default;var import_graphql=__toESM(require_graphql()),graphql_default=import_graphql.default;var import_markup=__toESM(require_markup()),markup_default=import_markup.default;var import_markdown=__toESM(require_markdown()),markdown_default=import_markdown.default;var import_yaml=__toESM(require_yaml()),yaml_default=import_yaml.default;var import_tsx=__toESM(require_tsx()),tsx_default=import_tsx.default;var import_typescript=__toESM(require_typescript()),typescript_default=import_typescript.default;function _objectWithoutProperties(source,excluded){if(source==null)return {};var target=_objectWithoutPropertiesLoose(source,excluded),key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key]);}return target}function _arrayLikeToArray(arr,len){(len==null||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=4)return [arr[0],arr[1],arr[2],arr[3],\"\".concat(arr[0],\".\").concat(arr[1]),\"\".concat(arr[0],\".\").concat(arr[2]),\"\".concat(arr[0],\".\").concat(arr[3]),\"\".concat(arr[1],\".\").concat(arr[0]),\"\".concat(arr[1],\".\").concat(arr[2]),\"\".concat(arr[1],\".\").concat(arr[3]),\"\".concat(arr[2],\".\").concat(arr[0]),\"\".concat(arr[2],\".\").concat(arr[1]),\"\".concat(arr[2],\".\").concat(arr[3]),\"\".concat(arr[3],\".\").concat(arr[0]),\"\".concat(arr[3],\".\").concat(arr[1]),\"\".concat(arr[3],\".\").concat(arr[2]),\"\".concat(arr[0],\".\").concat(arr[1],\".\").concat(arr[2]),\"\".concat(arr[0],\".\").concat(arr[1],\".\").concat(arr[3]),\"\".concat(arr[0],\".\").concat(arr[2],\".\").concat(arr[1]),\"\".concat(arr[0],\".\").concat(arr[2],\".\").concat(arr[3]),\"\".concat(arr[0],\".\").concat(arr[3],\".\").concat(arr[1]),\"\".concat(arr[0],\".\").concat(arr[3],\".\").concat(arr[2]),\"\".concat(arr[1],\".\").concat(arr[0],\".\").concat(arr[2]),\"\".concat(arr[1],\".\").concat(arr[0],\".\").concat(arr[3]),\"\".concat(arr[1],\".\").concat(arr[2],\".\").concat(arr[0]),\"\".concat(arr[1],\".\").concat(arr[2],\".\").concat(arr[3]),\"\".concat(arr[1],\".\").concat(arr[3],\".\").concat(arr[0]),\"\".concat(arr[1],\".\").concat(arr[3],\".\").concat(arr[2]),\"\".concat(arr[2],\".\").concat(arr[0],\".\").concat(arr[1]),\"\".concat(arr[2],\".\").concat(arr[0],\".\").concat(arr[3]),\"\".concat(arr[2],\".\").concat(arr[1],\".\").concat(arr[0]),\"\".concat(arr[2],\".\").concat(arr[1],\".\").concat(arr[3]),\"\".concat(arr[2],\".\").concat(arr[3],\".\").concat(arr[0]),\"\".concat(arr[2],\".\").concat(arr[3],\".\").concat(arr[1]),\"\".concat(arr[3],\".\").concat(arr[0],\".\").concat(arr[1]),\"\".concat(arr[3],\".\").concat(arr[0],\".\").concat(arr[2]),\"\".concat(arr[3],\".\").concat(arr[1],\".\").concat(arr[0]),\"\".concat(arr[3],\".\").concat(arr[1],\".\").concat(arr[2]),\"\".concat(arr[3],\".\").concat(arr[2],\".\").concat(arr[0]),\"\".concat(arr[3],\".\").concat(arr[2],\".\").concat(arr[1]),\"\".concat(arr[0],\".\").concat(arr[1],\".\").concat(arr[2],\".\").concat(arr[3]),\"\".concat(arr[0],\".\").concat(arr[1],\".\").concat(arr[3],\".\").concat(arr[2]),\"\".concat(arr[0],\".\").concat(arr[2],\".\").concat(arr[1],\".\").concat(arr[3]),\"\".concat(arr[0],\".\").concat(arr[2],\".\").concat(arr[3],\".\").concat(arr[1]),\"\".concat(arr[0],\".\").concat(arr[3],\".\").concat(arr[1],\".\").concat(arr[2]),\"\".concat(arr[0],\".\").concat(arr[3],\".\").concat(arr[2],\".\").concat(arr[1]),\"\".concat(arr[1],\".\").concat(arr[0],\".\").concat(arr[2],\".\").concat(arr[3]),\"\".concat(arr[1],\".\").concat(arr[0],\".\").concat(arr[3],\".\").concat(arr[2]),\"\".concat(arr[1],\".\").concat(arr[2],\".\").concat(arr[0],\".\").concat(arr[3]),\"\".concat(arr[1],\".\").concat(arr[2],\".\").concat(arr[3],\".\").concat(arr[0]),\"\".concat(arr[1],\".\").concat(arr[3],\".\").concat(arr[0],\".\").concat(arr[2]),\"\".concat(arr[1],\".\").concat(arr[3],\".\").concat(arr[2],\".\").concat(arr[0]),\"\".concat(arr[2],\".\").concat(arr[0],\".\").concat(arr[1],\".\").concat(arr[3]),\"\".concat(arr[2],\".\").concat(arr[0],\".\").concat(arr[3],\".\").concat(arr[1]),\"\".concat(arr[2],\".\").concat(arr[1],\".\").concat(arr[0],\".\").concat(arr[3]),\"\".concat(arr[2],\".\").concat(arr[1],\".\").concat(arr[3],\".\").concat(arr[0]),\"\".concat(arr[2],\".\").concat(arr[3],\".\").concat(arr[0],\".\").concat(arr[1]),\"\".concat(arr[2],\".\").concat(arr[3],\".\").concat(arr[1],\".\").concat(arr[0]),\"\".concat(arr[3],\".\").concat(arr[0],\".\").concat(arr[1],\".\").concat(arr[2]),\"\".concat(arr[3],\".\").concat(arr[0],\".\").concat(arr[2],\".\").concat(arr[1]),\"\".concat(arr[3],\".\").concat(arr[1],\".\").concat(arr[0],\".\").concat(arr[2]),\"\".concat(arr[3],\".\").concat(arr[1],\".\").concat(arr[2],\".\").concat(arr[0]),\"\".concat(arr[3],\".\").concat(arr[2],\".\").concat(arr[0],\".\").concat(arr[1]),\"\".concat(arr[3],\".\").concat(arr[2],\".\").concat(arr[1],\".\").concat(arr[0])]}var classNameCombinations={};function getClassNameCombinations(classNames){if(classNames.length===0||classNames.length===1)return classNames;var key=classNames.join(\".\");return classNameCombinations[key]||(classNameCombinations[key]=powerSetPermutations(classNames)),classNameCombinations[key]}function createStyleObject(classNames){var elementStyle=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},stylesheet=arguments.length>2?arguments[2]:void 0,nonTokenClassNames=classNames.filter(function(className){return className!==\"token\"}),classNamesCombinations=getClassNameCombinations(nonTokenClassNames);return classNamesCombinations.reduce(function(styleObject,className){return _objectSpread(_objectSpread({},styleObject),stylesheet[className])},elementStyle)}function createClassNameString(classNames){return classNames.join(\" \")}function createChildren(stylesheet,useInlineStyles){var childrenCount=0;return function(children){return childrenCount+=1,children.map(function(child,i){return createElement({node:child,stylesheet,useInlineStyles,key:\"code-segment-\".concat(childrenCount,\"-\").concat(i)})})}}function createElement(_ref){var node=_ref.node,stylesheet=_ref.stylesheet,_ref$style=_ref.style,style=_ref$style===void 0?{}:_ref$style,useInlineStyles=_ref.useInlineStyles,key=_ref.key,properties=node.properties,type=node.type,TagName=node.tagName,value=node.value;if(type===\"text\")return value;if(TagName){var childrenCreator=createChildren(stylesheet,useInlineStyles),props;if(!useInlineStyles)props=_objectSpread(_objectSpread({},properties),{},{className:createClassNameString(properties.className)});else {var allStylesheetSelectors=Object.keys(stylesheet).reduce(function(classes,selector){return selector.split(\".\").forEach(function(className2){classes.includes(className2)||classes.push(className2);}),classes},[]),startingClassName=properties.className&&properties.className.includes(\"token\")?[\"token\"]:[],className=properties.className&&startingClassName.concat(properties.className.filter(function(className2){return !allStylesheetSelectors.includes(className2)}));props=_objectSpread(_objectSpread({},properties),{},{className:createClassNameString(className)||void 0,style:createStyleObject(properties.className,Object.assign({},properties.style,style),stylesheet)});}var children=childrenCreator(node.children);return React2.createElement(TagName,_extends({key},props),children)}}var checkForListedLanguage_default=function(astGenerator,language){var langs=astGenerator.listLanguages();return langs.indexOf(language)!==-1};var _excluded=[\"language\",\"children\",\"style\",\"customStyle\",\"codeTagProps\",\"useInlineStyles\",\"showLineNumbers\",\"showInlineLineNumbers\",\"startingLineNumber\",\"lineNumberContainerStyle\",\"lineNumberStyle\",\"wrapLines\",\"wrapLongLines\",\"lineProps\",\"renderer\",\"PreTag\",\"CodeTag\",\"code\",\"astGenerator\"];function ownKeys2(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols);}return keys}function _objectSpread2(target){for(var i=1;i1&&arguments[1]!==void 0?arguments[1]:[],newTree=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],i=0;i2&&arguments[2]!==void 0?arguments[2]:[];return createLineElement({children:children2,lineNumber:lineNumber2,lineNumberStyle,largestLineNumber,showInlineLineNumbers,lineProps,className,showLineNumbers,wrapLongLines})}function createUnwrappedLine(children2,lineNumber2){if(showLineNumbers&&lineNumber2&&showInlineLineNumbers){var inlineLineNumberStyle=assembleLineNumberStyles(lineNumberStyle,lineNumber2,largestLineNumber);children2.unshift(getInlineLineNumber(lineNumber2,inlineLineNumberStyle));}return children2}function createLine(children2,lineNumber2){var className=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return wrapLines||className.length>0?createWrappedLine(children2,lineNumber2,className):createUnwrappedLine(children2,lineNumber2)}for(var _loop=function(){var node=tree[index],value=node.children[0].value,newLines=getNewLines(value);if(newLines){var splitValue=value.split(`\n`);splitValue.forEach(function(text,i){var lineNumber2=showLineNumbers&&newTree.length+startingLineNumber,newChild={type:\"text\",value:\"\".concat(text,`\n`)};if(i===0){var _children=tree.slice(lastLineBreakIndex+1,index).concat(createLineElement({children:[newChild],className:node.properties.className})),_line=createLine(_children,lineNumber2);newTree.push(_line);}else if(i===splitValue.length-1){var stringChild=tree[index+1]&&tree[index+1].children&&tree[index+1].children[0],lastLineInPreviousSpan={type:\"text\",value:\"\".concat(text)};if(stringChild){var newElem=createLineElement({children:[lastLineInPreviousSpan],className:node.properties.className});tree.splice(index+1,0,newElem);}else {var _children2=[lastLineInPreviousSpan],_line2=createLine(_children2,lineNumber2,node.properties.className);newTree.push(_line2);}}else {var _children3=[newChild],_line3=createLine(_children3,lineNumber2,node.properties.className);newTree.push(_line3);}}),lastLineBreakIndex=index;}index++;};index({position:\"absolute\",bottom:0,right:0,maxWidth:\"100%\",display:\"flex\",background:theme.background.content,zIndex:1})),ActionButton=styled.button(({theme})=>({margin:0,border:\"0 none\",padding:\"4px 10px\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",color:theme.color.defaultText,background:theme.background.content,fontSize:12,lineHeight:\"16px\",fontFamily:theme.typography.fonts.base,fontWeight:theme.typography.weight.bold,borderTop:`1px solid ${theme.appBorderColor}`,borderLeft:`1px solid ${theme.appBorderColor}`,marginLeft:-1,borderRadius:\"4px 0 0 0\",\"&:not(:last-child)\":{borderRight:`1px solid ${theme.appBorderColor}`},\"& + *\":{borderLeft:`1px solid ${theme.appBorderColor}`,borderRadius:0},\"&:focus\":{boxShadow:`${theme.color.secondary} 0 -3px 0 0 inset`,outline:\"0 none\"}}),({disabled})=>disabled&&{cursor:\"not-allowed\",opacity:.5});ActionButton.displayName=\"ActionButton\";var ActionBar=({actionItems,...props})=>React2.createElement(Container,{...props},actionItems.map(({title,className,onClick,disabled},index)=>React2.createElement(ActionButton,{key:index,className,onClick,disabled},title)));var GlobalScrollAreaStyles=lazy(()=>import('./GlobalScrollAreaStyles-XIHNDKUY.mjs')),OverlayScrollbars=lazy(()=>import('./OverlayScrollbars-VAV6LJAB.mjs')),Scroller=({horizontal,vertical,...props})=>React2.createElement(Suspense,{fallback:React2.createElement(\"div\",{...props})},React2.createElement(GlobalScrollAreaStyles,null),React2.createElement(OverlayScrollbars,{options:{scrollbars:{autoHide:\"leave\"}},...props})),ScrollArea=styled(Scroller)(({vertical})=>vertical?{overflowY:\"auto\",height:\"100%\"}:{overflowY:\"hidden\"},({horizontal})=>horizontal?{overflowX:\"auto\",width:\"100%\"}:{overflowX:\"hidden\"});ScrollArea.defaultProps={horizontal:!1,vertical:!1};var{navigator,document,window:globalWindow}=global;prism_light_default.registerLanguage(\"jsextra\",js_extras_default);prism_light_default.registerLanguage(\"jsx\",jsx_default);prism_light_default.registerLanguage(\"json\",json_default);prism_light_default.registerLanguage(\"yml\",yaml_default);prism_light_default.registerLanguage(\"md\",markdown_default);prism_light_default.registerLanguage(\"bash\",bash_default);prism_light_default.registerLanguage(\"css\",css_default);prism_light_default.registerLanguage(\"html\",markup_default);prism_light_default.registerLanguage(\"tsx\",tsx_default);prism_light_default.registerLanguage(\"typescript\",typescript_default);prism_light_default.registerLanguage(\"graphql\",graphql_default);var themedSyntax=memoize(2)(theme=>Object.entries(theme.code||{}).reduce((acc,[key,val])=>({...acc,[`* .${key}`]:val}),{})),copyToClipboard=createCopyToClipboardFunction();function createCopyToClipboardFunction(){return navigator?.clipboard?text=>navigator.clipboard.writeText(text):async text=>{let tmp=document.createElement(\"TEXTAREA\"),focus=document.activeElement;tmp.value=text,document.body.appendChild(tmp),tmp.select(),document.execCommand(\"copy\"),document.body.removeChild(tmp),focus.focus();}}var Wrapper=styled.div(({theme})=>({position:\"relative\",overflow:\"hidden\",color:theme.color.defaultText}),({theme,bordered})=>bordered?{border:`1px solid ${theme.appBorderColor}`,borderRadius:theme.borderRadius,background:theme.background.content}:{},({showLineNumbers})=>showLineNumbers?{\".react-syntax-highlighter-line-number::before\":{content:\"attr(data-line-number)\"}}:{}),UnstyledScroller=({children,className})=>React2.createElement(ScrollArea,{horizontal:!0,vertical:!0,className},children),Scroller2=styled(UnstyledScroller)({position:\"relative\"},({theme})=>themedSyntax(theme)),Pre=styled.pre(({theme,padded})=>({display:\"flex\",justifyContent:\"flex-start\",margin:0,padding:padded?theme.layoutMargin:0})),Code=styled.div(({theme})=>({flex:1,paddingLeft:2,paddingRight:theme.layoutMargin,opacity:1})),processLineNumber=row=>{let children=[...row.children],lineNumberNode=children[0],lineNumber=lineNumberNode.children[0].value,processedLineNumberNode={...lineNumberNode,children:[],properties:{...lineNumberNode.properties,\"data-line-number\":lineNumber,style:{...lineNumberNode.properties.style,userSelect:\"auto\"}}};return children[0]=processedLineNumberNode,{...row,children}},defaultRenderer2=({rows,stylesheet,useInlineStyles})=>rows.map((node,i)=>createElement({node:processLineNumber(node),stylesheet,useInlineStyles,key:`code-segement${i}`})),wrapRenderer=(renderer,showLineNumbers)=>showLineNumbers?renderer?({rows,...rest})=>renderer({rows:rows.map(row=>processLineNumber(row)),...rest}):defaultRenderer2:renderer,SyntaxHighlighter2=({children,language=\"jsx\",copyable=!1,bordered=!1,padded=!1,format=!0,formatter=null,className=null,showLineNumbers=!1,...rest})=>{if(typeof children!=\"string\"||!children.trim())return null;let highlightableCode=formatter?formatter(format,children):children.trim(),[copied,setCopied]=useState(!1),onClick=useCallback(e=>{e.preventDefault(),copyToClipboard(highlightableCode).then(()=>{setCopied(!0),globalWindow.setTimeout(()=>setCopied(!1),1500);}).catch(logger.error);},[highlightableCode]),renderer=wrapRenderer(rest.renderer,showLineNumbers);return React2.createElement(Wrapper,{bordered,padded,showLineNumbers,className},React2.createElement(Scroller2,null,React2.createElement(prism_light_default,{padded:padded||bordered,language,showLineNumbers,showInlineLineNumbers:showLineNumbers,useInlineStyles:!1,PreTag:Pre,CodeTag:Code,lineNumberContainerStyle:{},...rest,renderer},highlightableCode)),copyable?React2.createElement(ActionBar,{actionItems:[{title:copied?\"Copied\":\"Copy\",onClick}]}):null)},syntaxhighlighter_default=SyntaxHighlighter2;\n\nexport { ActionBar, ScrollArea, SyntaxHighlighter2 as SyntaxHighlighter, createCopyToClipboardFunction, syntaxhighlighter_default };\n","import { _extends, _objectWithoutPropertiesLoose } from './chunk-FD4M6EBV.mjs';\nimport { __commonJS, __toESM } from './chunk-NNAAFZ4U.mjs';\nimport * as React3 from 'react';\nimport React3__default, { useState, useCallback, useEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\nimport ReactDOM__default from 'react-dom';\nimport { styled, lighten } from '@storybook/theming';\nimport { global } from '@storybook/global';\nimport memoize from 'memoizerific';\n\nvar require_react_fast_compare=__commonJS({\"../../node_modules/react-fast-compare/index.js\"(exports,module){var hasElementType=typeof Element<\"u\",hasMap=typeof Map==\"function\",hasSet=typeof Set==\"function\",hasArrayBuffer=typeof ArrayBuffer==\"function\"&&!!ArrayBuffer.isView;function equal(a,b){if(a===b)return !0;if(a&&b&&typeof a==\"object\"&&typeof b==\"object\"){if(a.constructor!==b.constructor)return !1;var length,i,keys;if(Array.isArray(a)){if(length=a.length,length!=b.length)return !1;for(i=length;i--!==0;)if(!equal(a[i],b[i]))return !1;return !0}var it;if(hasMap&&a instanceof Map&&b instanceof Map){if(a.size!==b.size)return !1;for(it=a.entries();!(i=it.next()).done;)if(!b.has(i.value[0]))return !1;for(it=a.entries();!(i=it.next()).done;)if(!equal(i.value[1],b.get(i.value[0])))return !1;return !0}if(hasSet&&a instanceof Set&&b instanceof Set){if(a.size!==b.size)return !1;for(it=a.entries();!(i=it.next()).done;)if(!b.has(i.value[0]))return !1;return !0}if(hasArrayBuffer&&ArrayBuffer.isView(a)&&ArrayBuffer.isView(b)){if(length=a.length,length!=b.length)return !1;for(i=length;i--!==0;)if(a[i]!==b[i])return !1;return !0}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf&&typeof a.valueOf==\"function\"&&typeof b.valueOf==\"function\")return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString&&typeof a.toString==\"function\"&&typeof b.toString==\"function\")return a.toString()===b.toString();if(keys=Object.keys(a),length=keys.length,length!==Object.keys(b).length)return !1;for(i=length;i--!==0;)if(!Object.prototype.hasOwnProperty.call(b,keys[i]))return !1;if(hasElementType&&a instanceof Element)return !1;for(i=length;i--!==0;)if(!((keys[i]===\"_owner\"||keys[i]===\"__v\"||keys[i]===\"__o\")&&a.$$typeof)&&!equal(a[keys[i]],b[keys[i]]))return !1;return !0}return a!==a&&b!==b}module.exports=function(a,b){try{return equal(a,b)}catch(error){if((error.message||\"\").match(/stack|recursion/i))return console.warn(\"react-fast-compare cannot handle circular refs\"),!1;throw error}};}});var fromEntries=function(entries){return entries.reduce(function(acc,_ref){var key=_ref[0],value=_ref[1];return acc[key]=value,acc},{})},useIsomorphicLayoutEffect=typeof window<\"u\"&&window.document&&window.document.createElement?React3.useLayoutEffect:React3.useEffect;var top=\"top\",bottom=\"bottom\",right=\"right\",left=\"left\",auto=\"auto\",basePlacements=[top,bottom,right,left],start=\"start\",end=\"end\",clippingParents=\"clippingParents\",viewport=\"viewport\",popper=\"popper\",reference=\"reference\",variationPlacements=basePlacements.reduce(function(acc,placement){return acc.concat([placement+\"-\"+start,placement+\"-\"+end])},[]),placements=[].concat(basePlacements,[auto]).reduce(function(acc,placement){return acc.concat([placement,placement+\"-\"+start,placement+\"-\"+end])},[]),beforeRead=\"beforeRead\",read=\"read\",afterRead=\"afterRead\",beforeMain=\"beforeMain\",main=\"main\",afterMain=\"afterMain\",beforeWrite=\"beforeWrite\",write=\"write\",afterWrite=\"afterWrite\",modifierPhases=[beforeRead,read,afterRead,beforeMain,main,afterMain,beforeWrite,write,afterWrite];function getNodeName(element){return element?(element.nodeName||\"\").toLowerCase():null}function getWindow(node){if(node==null)return window;if(node.toString()!==\"[object Window]\"){var ownerDocument=node.ownerDocument;return ownerDocument&&ownerDocument.defaultView||window}return node}function isElement(node){var OwnElement=getWindow(node).Element;return node instanceof OwnElement||node instanceof Element}function isHTMLElement(node){var OwnElement=getWindow(node).HTMLElement;return node instanceof OwnElement||node instanceof HTMLElement}function isShadowRoot(node){if(typeof ShadowRoot>\"u\")return !1;var OwnElement=getWindow(node).ShadowRoot;return node instanceof OwnElement||node instanceof ShadowRoot}function applyStyles(_ref){var state=_ref.state;Object.keys(state.elements).forEach(function(name){var style=state.styles[name]||{},attributes=state.attributes[name]||{},element=state.elements[name];!isHTMLElement(element)||!getNodeName(element)||(Object.assign(element.style,style),Object.keys(attributes).forEach(function(name2){var value=attributes[name2];value===!1?element.removeAttribute(name2):element.setAttribute(name2,value===!0?\"\":value);}));});}function effect(_ref2){var state=_ref2.state,initialStyles={popper:{position:state.options.strategy,left:\"0\",top:\"0\",margin:\"0\"},arrow:{position:\"absolute\"},reference:{}};return Object.assign(state.elements.popper.style,initialStyles.popper),state.styles=initialStyles,state.elements.arrow&&Object.assign(state.elements.arrow.style,initialStyles.arrow),function(){Object.keys(state.elements).forEach(function(name){var element=state.elements[name],attributes=state.attributes[name]||{},styleProperties=Object.keys(state.styles.hasOwnProperty(name)?state.styles[name]:initialStyles[name]),style=styleProperties.reduce(function(style2,property){return style2[property]=\"\",style2},{});!isHTMLElement(element)||!getNodeName(element)||(Object.assign(element.style,style),Object.keys(attributes).forEach(function(attribute){element.removeAttribute(attribute);}));});}}var applyStyles_default={name:\"applyStyles\",enabled:!0,phase:\"write\",fn:applyStyles,effect,requires:[\"computeStyles\"]};function getBasePlacement(placement){return placement.split(\"-\")[0]}var max=Math.max,min=Math.min,round=Math.round;function getUAString(){var uaData=navigator.userAgentData;return uaData!=null&&uaData.brands&&Array.isArray(uaData.brands)?uaData.brands.map(function(item){return item.brand+\"/\"+item.version}).join(\" \"):navigator.userAgent}function isLayoutViewport(){return !/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(element,includeScale,isFixedStrategy){includeScale===void 0&&(includeScale=!1),isFixedStrategy===void 0&&(isFixedStrategy=!1);var clientRect=element.getBoundingClientRect(),scaleX=1,scaleY=1;includeScale&&isHTMLElement(element)&&(scaleX=element.offsetWidth>0&&round(clientRect.width)/element.offsetWidth||1,scaleY=element.offsetHeight>0&&round(clientRect.height)/element.offsetHeight||1);var _ref=isElement(element)?getWindow(element):window,visualViewport=_ref.visualViewport,addVisualOffsets=!isLayoutViewport()&&isFixedStrategy,x=(clientRect.left+(addVisualOffsets&&visualViewport?visualViewport.offsetLeft:0))/scaleX,y=(clientRect.top+(addVisualOffsets&&visualViewport?visualViewport.offsetTop:0))/scaleY,width=clientRect.width/scaleX,height=clientRect.height/scaleY;return {width,height,top:y,right:x+width,bottom:y+height,left:x,x,y}}function getLayoutRect(element){var clientRect=getBoundingClientRect(element),width=element.offsetWidth,height=element.offsetHeight;return Math.abs(clientRect.width-width)<=1&&(width=clientRect.width),Math.abs(clientRect.height-height)<=1&&(height=clientRect.height),{x:element.offsetLeft,y:element.offsetTop,width,height}}function contains(parent,child){var rootNode=child.getRootNode&&child.getRootNode();if(parent.contains(child))return !0;if(rootNode&&isShadowRoot(rootNode)){var next=child;do{if(next&&parent.isSameNode(next))return !0;next=next.parentNode||next.host;}while(next)}return !1}function getComputedStyle(element){return getWindow(element).getComputedStyle(element)}function isTableElement(element){return [\"table\",\"td\",\"th\"].indexOf(getNodeName(element))>=0}function getDocumentElement(element){return ((isElement(element)?element.ownerDocument:element.document)||window.document).documentElement}function getParentNode(element){return getNodeName(element)===\"html\"?element:element.assignedSlot||element.parentNode||(isShadowRoot(element)?element.host:null)||getDocumentElement(element)}function getTrueOffsetParent(element){return !isHTMLElement(element)||getComputedStyle(element).position===\"fixed\"?null:element.offsetParent}function getContainingBlock(element){var isFirefox=/firefox/i.test(getUAString()),isIE=/Trident/i.test(getUAString());if(isIE&&isHTMLElement(element)){var elementCss=getComputedStyle(element);if(elementCss.position===\"fixed\")return null}var currentNode=getParentNode(element);for(isShadowRoot(currentNode)&&(currentNode=currentNode.host);isHTMLElement(currentNode)&&[\"html\",\"body\"].indexOf(getNodeName(currentNode))<0;){var css=getComputedStyle(currentNode);if(css.transform!==\"none\"||css.perspective!==\"none\"||css.contain===\"paint\"||[\"transform\",\"perspective\"].indexOf(css.willChange)!==-1||isFirefox&&css.willChange===\"filter\"||isFirefox&&css.filter&&css.filter!==\"none\")return currentNode;currentNode=currentNode.parentNode;}return null}function getOffsetParent(element){for(var window2=getWindow(element),offsetParent=getTrueOffsetParent(element);offsetParent&&isTableElement(offsetParent)&&getComputedStyle(offsetParent).position===\"static\";)offsetParent=getTrueOffsetParent(offsetParent);return offsetParent&&(getNodeName(offsetParent)===\"html\"||getNodeName(offsetParent)===\"body\"&&getComputedStyle(offsetParent).position===\"static\")?window2:offsetParent||getContainingBlock(element)||window2}function getMainAxisFromPlacement(placement){return [\"top\",\"bottom\"].indexOf(placement)>=0?\"x\":\"y\"}function within(min2,value,max2){return max(min2,min(value,max2))}function withinMaxClamp(min2,value,max2){var v=within(min2,value,max2);return v>max2?max2:v}function getFreshSideObject(){return {top:0,right:0,bottom:0,left:0}}function mergePaddingObject(paddingObject){return Object.assign({},getFreshSideObject(),paddingObject)}function expandToHashMap(value,keys){return keys.reduce(function(hashMap,key){return hashMap[key]=value,hashMap},{})}var toPaddingObject=function(padding,state){return padding=typeof padding==\"function\"?padding(Object.assign({},state.rects,{placement:state.placement})):padding,mergePaddingObject(typeof padding!=\"number\"?padding:expandToHashMap(padding,basePlacements))};function arrow(_ref){var _state$modifiersData$,state=_ref.state,name=_ref.name,options=_ref.options,arrowElement=state.elements.arrow,popperOffsets2=state.modifiersData.popperOffsets,basePlacement=getBasePlacement(state.placement),axis=getMainAxisFromPlacement(basePlacement),isVertical=[left,right].indexOf(basePlacement)>=0,len=isVertical?\"height\":\"width\";if(!(!arrowElement||!popperOffsets2)){var paddingObject=toPaddingObject(options.padding,state),arrowRect=getLayoutRect(arrowElement),minProp=axis===\"y\"?top:left,maxProp=axis===\"y\"?bottom:right,endDiff=state.rects.reference[len]+state.rects.reference[axis]-popperOffsets2[axis]-state.rects.popper[len],startDiff=popperOffsets2[axis]-state.rects.reference[axis],arrowOffsetParent=getOffsetParent(arrowElement),clientSize=arrowOffsetParent?axis===\"y\"?arrowOffsetParent.clientHeight||0:arrowOffsetParent.clientWidth||0:0,centerToReference=endDiff/2-startDiff/2,min2=paddingObject[minProp],max2=clientSize-arrowRect[len]-paddingObject[maxProp],center=clientSize/2-arrowRect[len]/2+centerToReference,offset2=within(min2,center,max2),axisProp=axis;state.modifiersData[name]=(_state$modifiersData$={},_state$modifiersData$[axisProp]=offset2,_state$modifiersData$.centerOffset=offset2-center,_state$modifiersData$);}}function effect2(_ref2){var state=_ref2.state,options=_ref2.options,_options$element=options.element,arrowElement=_options$element===void 0?\"[data-popper-arrow]\":_options$element;if(arrowElement!=null&&!(typeof arrowElement==\"string\"&&(arrowElement=state.elements.popper.querySelector(arrowElement),!arrowElement))){if(process.env.NODE_ENV!==\"production\"&&(isHTMLElement(arrowElement)||console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).',\"To use an SVG arrow, wrap it in an HTMLElement that will be used as\",\"the arrow.\"].join(\" \"))),!contains(state.elements.popper,arrowElement)){process.env.NODE_ENV!==\"production\"&&console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper',\"element.\"].join(\" \"));return}state.elements.arrow=arrowElement;}}var arrow_default={name:\"arrow\",enabled:!0,phase:\"main\",fn:arrow,effect:effect2,requires:[\"popperOffsets\"],requiresIfExists:[\"preventOverflow\"]};function getVariation(placement){return placement.split(\"-\")[1]}var unsetSides={top:\"auto\",right:\"auto\",bottom:\"auto\",left:\"auto\"};function roundOffsetsByDPR(_ref,win){var x=_ref.x,y=_ref.y,dpr=win.devicePixelRatio||1;return {x:round(x*dpr)/dpr||0,y:round(y*dpr)/dpr||0}}function mapToStyles(_ref2){var _Object$assign2,popper2=_ref2.popper,popperRect=_ref2.popperRect,placement=_ref2.placement,variation=_ref2.variation,offsets=_ref2.offsets,position=_ref2.position,gpuAcceleration=_ref2.gpuAcceleration,adaptive=_ref2.adaptive,roundOffsets=_ref2.roundOffsets,isFixed=_ref2.isFixed,_offsets$x=offsets.x,x=_offsets$x===void 0?0:_offsets$x,_offsets$y=offsets.y,y=_offsets$y===void 0?0:_offsets$y,_ref3=typeof roundOffsets==\"function\"?roundOffsets({x,y}):{x,y};x=_ref3.x,y=_ref3.y;var hasX=offsets.hasOwnProperty(\"x\"),hasY=offsets.hasOwnProperty(\"y\"),sideX=left,sideY=top,win=window;if(adaptive){var offsetParent=getOffsetParent(popper2),heightProp=\"clientHeight\",widthProp=\"clientWidth\";if(offsetParent===getWindow(popper2)&&(offsetParent=getDocumentElement(popper2),getComputedStyle(offsetParent).position!==\"static\"&&position===\"absolute\"&&(heightProp=\"scrollHeight\",widthProp=\"scrollWidth\")),offsetParent=offsetParent,placement===top||(placement===left||placement===right)&&variation===end){sideY=bottom;var offsetY=isFixed&&offsetParent===win&&win.visualViewport?win.visualViewport.height:offsetParent[heightProp];y-=offsetY-popperRect.height,y*=gpuAcceleration?1:-1;}if(placement===left||(placement===top||placement===bottom)&&variation===end){sideX=right;var offsetX=isFixed&&offsetParent===win&&win.visualViewport?win.visualViewport.width:offsetParent[widthProp];x-=offsetX-popperRect.width,x*=gpuAcceleration?1:-1;}}var commonStyles=Object.assign({position},adaptive&&unsetSides),_ref4=roundOffsets===!0?roundOffsetsByDPR({x,y},getWindow(popper2)):{x,y};if(x=_ref4.x,y=_ref4.y,gpuAcceleration){var _Object$assign;return Object.assign({},commonStyles,(_Object$assign={},_Object$assign[sideY]=hasY?\"0\":\"\",_Object$assign[sideX]=hasX?\"0\":\"\",_Object$assign.transform=(win.devicePixelRatio||1)<=1?\"translate(\"+x+\"px, \"+y+\"px)\":\"translate3d(\"+x+\"px, \"+y+\"px, 0)\",_Object$assign))}return Object.assign({},commonStyles,(_Object$assign2={},_Object$assign2[sideY]=hasY?y+\"px\":\"\",_Object$assign2[sideX]=hasX?x+\"px\":\"\",_Object$assign2.transform=\"\",_Object$assign2))}function computeStyles(_ref5){var state=_ref5.state,options=_ref5.options,_options$gpuAccelerat=options.gpuAcceleration,gpuAcceleration=_options$gpuAccelerat===void 0?!0:_options$gpuAccelerat,_options$adaptive=options.adaptive,adaptive=_options$adaptive===void 0?!0:_options$adaptive,_options$roundOffsets=options.roundOffsets,roundOffsets=_options$roundOffsets===void 0?!0:_options$roundOffsets;if(process.env.NODE_ENV!==\"production\"){var transitionProperty=getComputedStyle(state.elements.popper).transitionProperty||\"\";adaptive&&[\"transform\",\"top\",\"right\",\"bottom\",\"left\"].some(function(property){return transitionProperty.indexOf(property)>=0})&&console.warn([\"Popper: Detected CSS transitions on at least one of the following\",'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".',`\n\n`,'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow',\"for smooth transitions, or remove these properties from the CSS\",\"transition declaration on the popper element if only transitioning\",\"opacity or background-color for example.\",`\n\n`,\"We recommend using the popper element as a wrapper around an inner\",\"element that can have any CSS property transitioned for animations.\"].join(\" \"));}var commonStyles={placement:getBasePlacement(state.placement),variation:getVariation(state.placement),popper:state.elements.popper,popperRect:state.rects.popper,gpuAcceleration,isFixed:state.options.strategy===\"fixed\"};state.modifiersData.popperOffsets!=null&&(state.styles.popper=Object.assign({},state.styles.popper,mapToStyles(Object.assign({},commonStyles,{offsets:state.modifiersData.popperOffsets,position:state.options.strategy,adaptive,roundOffsets})))),state.modifiersData.arrow!=null&&(state.styles.arrow=Object.assign({},state.styles.arrow,mapToStyles(Object.assign({},commonStyles,{offsets:state.modifiersData.arrow,position:\"absolute\",adaptive:!1,roundOffsets})))),state.attributes.popper=Object.assign({},state.attributes.popper,{\"data-popper-placement\":state.placement});}var computeStyles_default={name:\"computeStyles\",enabled:!0,phase:\"beforeWrite\",fn:computeStyles,data:{}};var passive={passive:!0};function effect3(_ref){var state=_ref.state,instance=_ref.instance,options=_ref.options,_options$scroll=options.scroll,scroll=_options$scroll===void 0?!0:_options$scroll,_options$resize=options.resize,resize=_options$resize===void 0?!0:_options$resize,window2=getWindow(state.elements.popper),scrollParents=[].concat(state.scrollParents.reference,state.scrollParents.popper);return scroll&&scrollParents.forEach(function(scrollParent){scrollParent.addEventListener(\"scroll\",instance.update,passive);}),resize&&window2.addEventListener(\"resize\",instance.update,passive),function(){scroll&&scrollParents.forEach(function(scrollParent){scrollParent.removeEventListener(\"scroll\",instance.update,passive);}),resize&&window2.removeEventListener(\"resize\",instance.update,passive);}}var eventListeners_default={name:\"eventListeners\",enabled:!0,phase:\"write\",fn:function(){},effect:effect3,data:{}};var hash={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function getOppositePlacement(placement){return placement.replace(/left|right|bottom|top/g,function(matched){return hash[matched]})}var hash2={start:\"end\",end:\"start\"};function getOppositeVariationPlacement(placement){return placement.replace(/start|end/g,function(matched){return hash2[matched]})}function getWindowScroll(node){var win=getWindow(node),scrollLeft=win.pageXOffset,scrollTop=win.pageYOffset;return {scrollLeft,scrollTop}}function getWindowScrollBarX(element){return getBoundingClientRect(getDocumentElement(element)).left+getWindowScroll(element).scrollLeft}function getViewportRect(element,strategy){var win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width=html.clientWidth,height=html.clientHeight,x=0,y=0;if(visualViewport){width=visualViewport.width,height=visualViewport.height;var layoutViewport=isLayoutViewport();(layoutViewport||!layoutViewport&&strategy===\"fixed\")&&(x=visualViewport.offsetLeft,y=visualViewport.offsetTop);}return {width,height,x:x+getWindowScrollBarX(element),y}}function getDocumentRect(element){var _element$ownerDocumen,html=getDocumentElement(element),winScroll=getWindowScroll(element),body=(_element$ownerDocumen=element.ownerDocument)==null?void 0:_element$ownerDocumen.body,width=max(html.scrollWidth,html.clientWidth,body?body.scrollWidth:0,body?body.clientWidth:0),height=max(html.scrollHeight,html.clientHeight,body?body.scrollHeight:0,body?body.clientHeight:0),x=-winScroll.scrollLeft+getWindowScrollBarX(element),y=-winScroll.scrollTop;return getComputedStyle(body||html).direction===\"rtl\"&&(x+=max(html.clientWidth,body?body.clientWidth:0)-width),{width,height,x,y}}function isScrollParent(element){var _getComputedStyle=getComputedStyle(element),overflow=_getComputedStyle.overflow,overflowX=_getComputedStyle.overflowX,overflowY=_getComputedStyle.overflowY;return /auto|scroll|overlay|hidden/.test(overflow+overflowY+overflowX)}function getScrollParent(node){return [\"html\",\"body\",\"#document\"].indexOf(getNodeName(node))>=0?node.ownerDocument.body:isHTMLElement(node)&&isScrollParent(node)?node:getScrollParent(getParentNode(node))}function listScrollParents(element,list){var _element$ownerDocumen;list===void 0&&(list=[]);var scrollParent=getScrollParent(element),isBody=scrollParent===((_element$ownerDocumen=element.ownerDocument)==null?void 0:_element$ownerDocumen.body),win=getWindow(scrollParent),target=isBody?[win].concat(win.visualViewport||[],isScrollParent(scrollParent)?scrollParent:[]):scrollParent,updatedList=list.concat(target);return isBody?updatedList:updatedList.concat(listScrollParents(getParentNode(target)))}function rectToClientRect(rect){return Object.assign({},rect,{left:rect.x,top:rect.y,right:rect.x+rect.width,bottom:rect.y+rect.height})}function getInnerBoundingClientRect(element,strategy){var rect=getBoundingClientRect(element,!1,strategy===\"fixed\");return rect.top=rect.top+element.clientTop,rect.left=rect.left+element.clientLeft,rect.bottom=rect.top+element.clientHeight,rect.right=rect.left+element.clientWidth,rect.width=element.clientWidth,rect.height=element.clientHeight,rect.x=rect.left,rect.y=rect.top,rect}function getClientRectFromMixedType(element,clippingParent,strategy){return clippingParent===viewport?rectToClientRect(getViewportRect(element,strategy)):isElement(clippingParent)?getInnerBoundingClientRect(clippingParent,strategy):rectToClientRect(getDocumentRect(getDocumentElement(element)))}function getClippingParents(element){var clippingParents2=listScrollParents(getParentNode(element)),canEscapeClipping=[\"absolute\",\"fixed\"].indexOf(getComputedStyle(element).position)>=0,clipperElement=canEscapeClipping&&isHTMLElement(element)?getOffsetParent(element):element;return isElement(clipperElement)?clippingParents2.filter(function(clippingParent){return isElement(clippingParent)&&contains(clippingParent,clipperElement)&&getNodeName(clippingParent)!==\"body\"}):[]}function getClippingRect(element,boundary,rootBoundary,strategy){var mainClippingParents=boundary===\"clippingParents\"?getClippingParents(element):[].concat(boundary),clippingParents2=[].concat(mainClippingParents,[rootBoundary]),firstClippingParent=clippingParents2[0],clippingRect=clippingParents2.reduce(function(accRect,clippingParent){var rect=getClientRectFromMixedType(element,clippingParent,strategy);return accRect.top=max(rect.top,accRect.top),accRect.right=min(rect.right,accRect.right),accRect.bottom=min(rect.bottom,accRect.bottom),accRect.left=max(rect.left,accRect.left),accRect},getClientRectFromMixedType(element,firstClippingParent,strategy));return clippingRect.width=clippingRect.right-clippingRect.left,clippingRect.height=clippingRect.bottom-clippingRect.top,clippingRect.x=clippingRect.left,clippingRect.y=clippingRect.top,clippingRect}function computeOffsets(_ref){var reference2=_ref.reference,element=_ref.element,placement=_ref.placement,basePlacement=placement?getBasePlacement(placement):null,variation=placement?getVariation(placement):null,commonX=reference2.x+reference2.width/2-element.width/2,commonY=reference2.y+reference2.height/2-element.height/2,offsets;switch(basePlacement){case top:offsets={x:commonX,y:reference2.y-element.height};break;case bottom:offsets={x:commonX,y:reference2.y+reference2.height};break;case right:offsets={x:reference2.x+reference2.width,y:commonY};break;case left:offsets={x:reference2.x-element.width,y:commonY};break;default:offsets={x:reference2.x,y:reference2.y};}var mainAxis=basePlacement?getMainAxisFromPlacement(basePlacement):null;if(mainAxis!=null){var len=mainAxis===\"y\"?\"height\":\"width\";switch(variation){case start:offsets[mainAxis]=offsets[mainAxis]-(reference2[len]/2-element[len]/2);break;case end:offsets[mainAxis]=offsets[mainAxis]+(reference2[len]/2-element[len]/2);break;}}return offsets}function detectOverflow(state,options){options===void 0&&(options={});var _options=options,_options$placement=_options.placement,placement=_options$placement===void 0?state.placement:_options$placement,_options$strategy=_options.strategy,strategy=_options$strategy===void 0?state.strategy:_options$strategy,_options$boundary=_options.boundary,boundary=_options$boundary===void 0?clippingParents:_options$boundary,_options$rootBoundary=_options.rootBoundary,rootBoundary=_options$rootBoundary===void 0?viewport:_options$rootBoundary,_options$elementConte=_options.elementContext,elementContext=_options$elementConte===void 0?popper:_options$elementConte,_options$altBoundary=_options.altBoundary,altBoundary=_options$altBoundary===void 0?!1:_options$altBoundary,_options$padding=_options.padding,padding=_options$padding===void 0?0:_options$padding,paddingObject=mergePaddingObject(typeof padding!=\"number\"?padding:expandToHashMap(padding,basePlacements)),altContext=elementContext===popper?reference:popper,popperRect=state.rects.popper,element=state.elements[altBoundary?altContext:elementContext],clippingClientRect=getClippingRect(isElement(element)?element:element.contextElement||getDocumentElement(state.elements.popper),boundary,rootBoundary,strategy),referenceClientRect=getBoundingClientRect(state.elements.reference),popperOffsets2=computeOffsets({reference:referenceClientRect,element:popperRect,strategy:\"absolute\",placement}),popperClientRect=rectToClientRect(Object.assign({},popperRect,popperOffsets2)),elementClientRect=elementContext===popper?popperClientRect:referenceClientRect,overflowOffsets={top:clippingClientRect.top-elementClientRect.top+paddingObject.top,bottom:elementClientRect.bottom-clippingClientRect.bottom+paddingObject.bottom,left:clippingClientRect.left-elementClientRect.left+paddingObject.left,right:elementClientRect.right-clippingClientRect.right+paddingObject.right},offsetData=state.modifiersData.offset;if(elementContext===popper&&offsetData){var offset2=offsetData[placement];Object.keys(overflowOffsets).forEach(function(key){var multiply=[right,bottom].indexOf(key)>=0?1:-1,axis=[top,bottom].indexOf(key)>=0?\"y\":\"x\";overflowOffsets[key]+=offset2[axis]*multiply;});}return overflowOffsets}function computeAutoPlacement(state,options){options===void 0&&(options={});var _options=options,placement=_options.placement,boundary=_options.boundary,rootBoundary=_options.rootBoundary,padding=_options.padding,flipVariations=_options.flipVariations,_options$allowedAutoP=_options.allowedAutoPlacements,allowedAutoPlacements=_options$allowedAutoP===void 0?placements:_options$allowedAutoP,variation=getVariation(placement),placements2=variation?flipVariations?variationPlacements:variationPlacements.filter(function(placement2){return getVariation(placement2)===variation}):basePlacements,allowedPlacements=placements2.filter(function(placement2){return allowedAutoPlacements.indexOf(placement2)>=0});allowedPlacements.length===0&&(allowedPlacements=placements2,process.env.NODE_ENV!==\"production\"&&console.error([\"Popper: The `allowedAutoPlacements` option did not allow any\",\"placements. Ensure the `placement` option matches the variation\",\"of the allowed placements.\",'For example, \"auto\" cannot be used to allow \"bottom-start\".','Use \"auto-start\" instead.'].join(\" \")));var overflows=allowedPlacements.reduce(function(acc,placement2){return acc[placement2]=detectOverflow(state,{placement:placement2,boundary,rootBoundary,padding})[getBasePlacement(placement2)],acc},{});return Object.keys(overflows).sort(function(a,b){return overflows[a]-overflows[b]})}function getExpandedFallbackPlacements(placement){if(getBasePlacement(placement)===auto)return [];var oppositePlacement=getOppositePlacement(placement);return [getOppositeVariationPlacement(placement),oppositePlacement,getOppositeVariationPlacement(oppositePlacement)]}function flip(_ref){var state=_ref.state,options=_ref.options,name=_ref.name;if(!state.modifiersData[name]._skip){for(var _options$mainAxis=options.mainAxis,checkMainAxis=_options$mainAxis===void 0?!0:_options$mainAxis,_options$altAxis=options.altAxis,checkAltAxis=_options$altAxis===void 0?!0:_options$altAxis,specifiedFallbackPlacements=options.fallbackPlacements,padding=options.padding,boundary=options.boundary,rootBoundary=options.rootBoundary,altBoundary=options.altBoundary,_options$flipVariatio=options.flipVariations,flipVariations=_options$flipVariatio===void 0?!0:_options$flipVariatio,allowedAutoPlacements=options.allowedAutoPlacements,preferredPlacement=state.options.placement,basePlacement=getBasePlacement(preferredPlacement),isBasePlacement=basePlacement===preferredPlacement,fallbackPlacements=specifiedFallbackPlacements||(isBasePlacement||!flipVariations?[getOppositePlacement(preferredPlacement)]:getExpandedFallbackPlacements(preferredPlacement)),placements2=[preferredPlacement].concat(fallbackPlacements).reduce(function(acc,placement2){return acc.concat(getBasePlacement(placement2)===auto?computeAutoPlacement(state,{placement:placement2,boundary,rootBoundary,padding,flipVariations,allowedAutoPlacements}):placement2)},[]),referenceRect=state.rects.reference,popperRect=state.rects.popper,checksMap=new Map,makeFallbackChecks=!0,firstFittingPlacement=placements2[0],i=0;i=0,len=isVertical?\"width\":\"height\",overflow=detectOverflow(state,{placement,boundary,rootBoundary,altBoundary,padding}),mainVariationSide=isVertical?isStartVariation?right:left:isStartVariation?bottom:top;referenceRect[len]>popperRect[len]&&(mainVariationSide=getOppositePlacement(mainVariationSide));var altVariationSide=getOppositePlacement(mainVariationSide),checks=[];if(checkMainAxis&&checks.push(overflow[_basePlacement]<=0),checkAltAxis&&checks.push(overflow[mainVariationSide]<=0,overflow[altVariationSide]<=0),checks.every(function(check){return check})){firstFittingPlacement=placement,makeFallbackChecks=!1;break}checksMap.set(placement,checks);}if(makeFallbackChecks)for(var numberOfChecks=flipVariations?3:1,_loop=function(_i2){var fittingPlacement=placements2.find(function(placement2){var checks2=checksMap.get(placement2);if(checks2)return checks2.slice(0,_i2).every(function(check){return check})});if(fittingPlacement)return firstFittingPlacement=fittingPlacement,\"break\"},_i=numberOfChecks;_i>0;_i--){var _ret=_loop(_i);if(_ret===\"break\")break}state.placement!==firstFittingPlacement&&(state.modifiersData[name]._skip=!0,state.placement=firstFittingPlacement,state.reset=!0);}}var flip_default={name:\"flip\",enabled:!0,phase:\"main\",fn:flip,requiresIfExists:[\"offset\"],data:{_skip:!1}};function getSideOffsets(overflow,rect,preventedOffsets){return preventedOffsets===void 0&&(preventedOffsets={x:0,y:0}),{top:overflow.top-rect.height-preventedOffsets.y,right:overflow.right-rect.width+preventedOffsets.x,bottom:overflow.bottom-rect.height+preventedOffsets.y,left:overflow.left-rect.width-preventedOffsets.x}}function isAnySideFullyClipped(overflow){return [top,right,bottom,left].some(function(side){return overflow[side]>=0})}function hide(_ref){var state=_ref.state,name=_ref.name,referenceRect=state.rects.reference,popperRect=state.rects.popper,preventedOffsets=state.modifiersData.preventOverflow,referenceOverflow=detectOverflow(state,{elementContext:\"reference\"}),popperAltOverflow=detectOverflow(state,{altBoundary:!0}),referenceClippingOffsets=getSideOffsets(referenceOverflow,referenceRect),popperEscapeOffsets=getSideOffsets(popperAltOverflow,popperRect,preventedOffsets),isReferenceHidden=isAnySideFullyClipped(referenceClippingOffsets),hasPopperEscaped=isAnySideFullyClipped(popperEscapeOffsets);state.modifiersData[name]={referenceClippingOffsets,popperEscapeOffsets,isReferenceHidden,hasPopperEscaped},state.attributes.popper=Object.assign({},state.attributes.popper,{\"data-popper-reference-hidden\":isReferenceHidden,\"data-popper-escaped\":hasPopperEscaped});}var hide_default={name:\"hide\",enabled:!0,phase:\"main\",requiresIfExists:[\"preventOverflow\"],fn:hide};function distanceAndSkiddingToXY(placement,rects,offset2){var basePlacement=getBasePlacement(placement),invertDistance=[left,top].indexOf(basePlacement)>=0?-1:1,_ref=typeof offset2==\"function\"?offset2(Object.assign({},rects,{placement})):offset2,skidding=_ref[0],distance=_ref[1];return skidding=skidding||0,distance=(distance||0)*invertDistance,[left,right].indexOf(basePlacement)>=0?{x:distance,y:skidding}:{x:skidding,y:distance}}function offset(_ref2){var state=_ref2.state,options=_ref2.options,name=_ref2.name,_options$offset=options.offset,offset2=_options$offset===void 0?[0,0]:_options$offset,data=placements.reduce(function(acc,placement){return acc[placement]=distanceAndSkiddingToXY(placement,state.rects,offset2),acc},{}),_data$state$placement=data[state.placement],x=_data$state$placement.x,y=_data$state$placement.y;state.modifiersData.popperOffsets!=null&&(state.modifiersData.popperOffsets.x+=x,state.modifiersData.popperOffsets.y+=y),state.modifiersData[name]=data;}var offset_default={name:\"offset\",enabled:!0,phase:\"main\",requires:[\"popperOffsets\"],fn:offset};function popperOffsets(_ref){var state=_ref.state,name=_ref.name;state.modifiersData[name]=computeOffsets({reference:state.rects.reference,element:state.rects.popper,strategy:\"absolute\",placement:state.placement});}var popperOffsets_default={name:\"popperOffsets\",enabled:!0,phase:\"read\",fn:popperOffsets,data:{}};function getAltAxis(axis){return axis===\"x\"?\"y\":\"x\"}function preventOverflow(_ref){var state=_ref.state,options=_ref.options,name=_ref.name,_options$mainAxis=options.mainAxis,checkMainAxis=_options$mainAxis===void 0?!0:_options$mainAxis,_options$altAxis=options.altAxis,checkAltAxis=_options$altAxis===void 0?!1:_options$altAxis,boundary=options.boundary,rootBoundary=options.rootBoundary,altBoundary=options.altBoundary,padding=options.padding,_options$tether=options.tether,tether=_options$tether===void 0?!0:_options$tether,_options$tetherOffset=options.tetherOffset,tetherOffset=_options$tetherOffset===void 0?0:_options$tetherOffset,overflow=detectOverflow(state,{boundary,rootBoundary,padding,altBoundary}),basePlacement=getBasePlacement(state.placement),variation=getVariation(state.placement),isBasePlacement=!variation,mainAxis=getMainAxisFromPlacement(basePlacement),altAxis=getAltAxis(mainAxis),popperOffsets2=state.modifiersData.popperOffsets,referenceRect=state.rects.reference,popperRect=state.rects.popper,tetherOffsetValue=typeof tetherOffset==\"function\"?tetherOffset(Object.assign({},state.rects,{placement:state.placement})):tetherOffset,normalizedTetherOffsetValue=typeof tetherOffsetValue==\"number\"?{mainAxis:tetherOffsetValue,altAxis:tetherOffsetValue}:Object.assign({mainAxis:0,altAxis:0},tetherOffsetValue),offsetModifierState=state.modifiersData.offset?state.modifiersData.offset[state.placement]:null,data={x:0,y:0};if(popperOffsets2){if(checkMainAxis){var _offsetModifierState$,mainSide=mainAxis===\"y\"?top:left,altSide=mainAxis===\"y\"?bottom:right,len=mainAxis===\"y\"?\"height\":\"width\",offset2=popperOffsets2[mainAxis],min2=offset2+overflow[mainSide],max2=offset2-overflow[altSide],additive=tether?-popperRect[len]/2:0,minLen=variation===start?referenceRect[len]:popperRect[len],maxLen=variation===start?-popperRect[len]:-referenceRect[len],arrowElement=state.elements.arrow,arrowRect=tether&&arrowElement?getLayoutRect(arrowElement):{width:0,height:0},arrowPaddingObject=state.modifiersData[\"arrow#persistent\"]?state.modifiersData[\"arrow#persistent\"].padding:getFreshSideObject(),arrowPaddingMin=arrowPaddingObject[mainSide],arrowPaddingMax=arrowPaddingObject[altSide],arrowLen=within(0,referenceRect[len],arrowRect[len]),minOffset=isBasePlacement?referenceRect[len]/2-additive-arrowLen-arrowPaddingMin-normalizedTetherOffsetValue.mainAxis:minLen-arrowLen-arrowPaddingMin-normalizedTetherOffsetValue.mainAxis,maxOffset=isBasePlacement?-referenceRect[len]/2+additive+arrowLen+arrowPaddingMax+normalizedTetherOffsetValue.mainAxis:maxLen+arrowLen+arrowPaddingMax+normalizedTetherOffsetValue.mainAxis,arrowOffsetParent=state.elements.arrow&&getOffsetParent(state.elements.arrow),clientOffset=arrowOffsetParent?mainAxis===\"y\"?arrowOffsetParent.clientTop||0:arrowOffsetParent.clientLeft||0:0,offsetModifierValue=(_offsetModifierState$=offsetModifierState?.[mainAxis])!=null?_offsetModifierState$:0,tetherMin=offset2+minOffset-offsetModifierValue-clientOffset,tetherMax=offset2+maxOffset-offsetModifierValue,preventedOffset=within(tether?min(min2,tetherMin):min2,offset2,tether?max(max2,tetherMax):max2);popperOffsets2[mainAxis]=preventedOffset,data[mainAxis]=preventedOffset-offset2;}if(checkAltAxis){var _offsetModifierState$2,_mainSide=mainAxis===\"x\"?top:left,_altSide=mainAxis===\"x\"?bottom:right,_offset=popperOffsets2[altAxis],_len=altAxis===\"y\"?\"height\":\"width\",_min=_offset+overflow[_mainSide],_max=_offset-overflow[_altSide],isOriginSide=[top,left].indexOf(basePlacement)!==-1,_offsetModifierValue=(_offsetModifierState$2=offsetModifierState?.[altAxis])!=null?_offsetModifierState$2:0,_tetherMin=isOriginSide?_min:_offset-referenceRect[_len]-popperRect[_len]-_offsetModifierValue+normalizedTetherOffsetValue.altAxis,_tetherMax=isOriginSide?_offset+referenceRect[_len]+popperRect[_len]-_offsetModifierValue-normalizedTetherOffsetValue.altAxis:_max,_preventedOffset=tether&&isOriginSide?withinMaxClamp(_tetherMin,_offset,_tetherMax):within(tether?_tetherMin:_min,_offset,tether?_tetherMax:_max);popperOffsets2[altAxis]=_preventedOffset,data[altAxis]=_preventedOffset-_offset;}state.modifiersData[name]=data;}}var preventOverflow_default={name:\"preventOverflow\",enabled:!0,phase:\"main\",fn:preventOverflow,requiresIfExists:[\"offset\"]};function getHTMLElementScroll(element){return {scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}}function getNodeScroll(node){return node===getWindow(node)||!isHTMLElement(node)?getWindowScroll(node):getHTMLElementScroll(node)}function isElementScaled(element){var rect=element.getBoundingClientRect(),scaleX=round(rect.width)/element.offsetWidth||1,scaleY=round(rect.height)/element.offsetHeight||1;return scaleX!==1||scaleY!==1}function getCompositeRect(elementOrVirtualElement,offsetParent,isFixed){isFixed===void 0&&(isFixed=!1);var isOffsetParentAnElement=isHTMLElement(offsetParent),offsetParentIsScaled=isHTMLElement(offsetParent)&&isElementScaled(offsetParent),documentElement=getDocumentElement(offsetParent),rect=getBoundingClientRect(elementOrVirtualElement,offsetParentIsScaled,isFixed),scroll={scrollLeft:0,scrollTop:0},offsets={x:0,y:0};return (isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&((getNodeName(offsetParent)!==\"body\"||isScrollParent(documentElement))&&(scroll=getNodeScroll(offsetParent)),isHTMLElement(offsetParent)?(offsets=getBoundingClientRect(offsetParent,!0),offsets.x+=offsetParent.clientLeft,offsets.y+=offsetParent.clientTop):documentElement&&(offsets.x=getWindowScrollBarX(documentElement))),{x:rect.left+scroll.scrollLeft-offsets.x,y:rect.top+scroll.scrollTop-offsets.y,width:rect.width,height:rect.height}}function order(modifiers){var map=new Map,visited=new Set,result=[];modifiers.forEach(function(modifier){map.set(modifier.name,modifier);});function sort(modifier){visited.add(modifier.name);var requires=[].concat(modifier.requires||[],modifier.requiresIfExists||[]);requires.forEach(function(dep){if(!visited.has(dep)){var depModifier=map.get(dep);depModifier&&sort(depModifier);}}),result.push(modifier);}return modifiers.forEach(function(modifier){visited.has(modifier.name)||sort(modifier);}),result}function orderModifiers(modifiers){var orderedModifiers=order(modifiers);return modifierPhases.reduce(function(acc,phase){return acc.concat(orderedModifiers.filter(function(modifier){return modifier.phase===phase}))},[])}function debounce(fn2){var pending;return function(){return pending||(pending=new Promise(function(resolve){Promise.resolve().then(function(){pending=void 0,resolve(fn2());});})),pending}}function format(str){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];return [].concat(args).reduce(function(p,c){return p.replace(/%s/,c)},str)}var INVALID_MODIFIER_ERROR='Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s',MISSING_DEPENDENCY_ERROR='Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available',VALID_PROPERTIES=[\"name\",\"enabled\",\"phase\",\"fn\",\"effect\",\"requires\",\"options\"];function validateModifiers(modifiers){modifiers.forEach(function(modifier){[].concat(Object.keys(modifier),VALID_PROPERTIES).filter(function(value,index,self){return self.indexOf(value)===index}).forEach(function(key){switch(key){case\"name\":typeof modifier.name!=\"string\"&&console.error(format(INVALID_MODIFIER_ERROR,String(modifier.name),'\"name\"','\"string\"','\"'+String(modifier.name)+'\"'));break;case\"enabled\":typeof modifier.enabled!=\"boolean\"&&console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'\"enabled\"','\"boolean\"','\"'+String(modifier.enabled)+'\"'));break;case\"phase\":modifierPhases.indexOf(modifier.phase)<0&&console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'\"phase\"',\"either \"+modifierPhases.join(\", \"),'\"'+String(modifier.phase)+'\"'));break;case\"fn\":typeof modifier.fn!=\"function\"&&console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'\"fn\"','\"function\"','\"'+String(modifier.fn)+'\"'));break;case\"effect\":modifier.effect!=null&&typeof modifier.effect!=\"function\"&&console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'\"effect\"','\"function\"','\"'+String(modifier.fn)+'\"'));break;case\"requires\":modifier.requires!=null&&!Array.isArray(modifier.requires)&&console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'\"requires\"','\"array\"','\"'+String(modifier.requires)+'\"'));break;case\"requiresIfExists\":Array.isArray(modifier.requiresIfExists)||console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'\"requiresIfExists\"','\"array\"','\"'+String(modifier.requiresIfExists)+'\"'));break;case\"options\":case\"data\":break;default:console.error('PopperJS: an invalid property has been provided to the \"'+modifier.name+'\" modifier, valid properties are '+VALID_PROPERTIES.map(function(s){return '\"'+s+'\"'}).join(\", \")+'; but \"'+key+'\" was provided.');}modifier.requires&&modifier.requires.forEach(function(requirement){modifiers.find(function(mod){return mod.name===requirement})==null&&console.error(format(MISSING_DEPENDENCY_ERROR,String(modifier.name),requirement,requirement));});});});}function uniqueBy(arr,fn2){var identifiers=new Set;return arr.filter(function(item){var identifier=fn2(item);if(!identifiers.has(identifier))return identifiers.add(identifier),!0})}function mergeByName(modifiers){var merged=modifiers.reduce(function(merged2,current){var existing=merged2[current.name];return merged2[current.name]=existing?Object.assign({},existing,current,{options:Object.assign({},existing.options,current.options),data:Object.assign({},existing.data,current.data)}):current,merged2},{});return Object.keys(merged).map(function(key){return merged[key]})}var INVALID_ELEMENT_ERROR=\"Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.\",INFINITE_LOOP_ERROR=\"Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.\",DEFAULT_OPTIONS={placement:\"bottom\",modifiers:[],strategy:\"absolute\"};function areValidElements(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return !args.some(function(element){return !(element&&typeof element.getBoundingClientRect==\"function\")})}function popperGenerator(generatorOptions){generatorOptions===void 0&&(generatorOptions={});var _generatorOptions=generatorOptions,_generatorOptions$def=_generatorOptions.defaultModifiers,defaultModifiers2=_generatorOptions$def===void 0?[]:_generatorOptions$def,_generatorOptions$def2=_generatorOptions.defaultOptions,defaultOptions=_generatorOptions$def2===void 0?DEFAULT_OPTIONS:_generatorOptions$def2;return function(reference2,popper2,options){options===void 0&&(options=defaultOptions);var state={placement:\"bottom\",orderedModifiers:[],options:Object.assign({},DEFAULT_OPTIONS,defaultOptions),modifiersData:{},elements:{reference:reference2,popper:popper2},attributes:{},styles:{}},effectCleanupFns=[],isDestroyed=!1,instance={state,setOptions:function(setOptionsAction){var options2=typeof setOptionsAction==\"function\"?setOptionsAction(state.options):setOptionsAction;cleanupModifierEffects(),state.options=Object.assign({},defaultOptions,state.options,options2),state.scrollParents={reference:isElement(reference2)?listScrollParents(reference2):reference2.contextElement?listScrollParents(reference2.contextElement):[],popper:listScrollParents(popper2)};var orderedModifiers=orderModifiers(mergeByName([].concat(defaultModifiers2,state.options.modifiers)));if(state.orderedModifiers=orderedModifiers.filter(function(m){return m.enabled}),process.env.NODE_ENV!==\"production\"){var modifiers=uniqueBy([].concat(orderedModifiers,state.options.modifiers),function(_ref){var name=_ref.name;return name});if(validateModifiers(modifiers),getBasePlacement(state.options.placement)===auto){var flipModifier=state.orderedModifiers.find(function(_ref2){var name=_ref2.name;return name===\"flip\"});flipModifier||console.error(['Popper: \"auto\" placements require the \"flip\" modifier be',\"present and enabled to work.\"].join(\" \"));}var _getComputedStyle=getComputedStyle(popper2),marginTop=_getComputedStyle.marginTop,marginRight=_getComputedStyle.marginRight,marginBottom=_getComputedStyle.marginBottom,marginLeft=_getComputedStyle.marginLeft;[marginTop,marginRight,marginBottom,marginLeft].some(function(margin){return parseFloat(margin)})&&console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding',\"between the popper and its reference element or boundary.\",\"To replicate margin, use the `offset` modifier, as well as\",\"the `padding` option in the `preventOverflow` and `flip`\",\"modifiers.\"].join(\" \"));}return runModifierEffects(),instance.update()},forceUpdate:function(){if(!isDestroyed){var _state$elements=state.elements,reference3=_state$elements.reference,popper3=_state$elements.popper;if(!areValidElements(reference3,popper3)){process.env.NODE_ENV!==\"production\"&&console.error(INVALID_ELEMENT_ERROR);return}state.rects={reference:getCompositeRect(reference3,getOffsetParent(popper3),state.options.strategy===\"fixed\"),popper:getLayoutRect(popper3)},state.reset=!1,state.placement=state.options.placement,state.orderedModifiers.forEach(function(modifier){return state.modifiersData[modifier.name]=Object.assign({},modifier.data)});for(var __debug_loops__=0,index=0;index100)){console.error(INFINITE_LOOP_ERROR);break}if(state.reset===!0){state.reset=!1,index=-1;continue}var _state$orderedModifie=state.orderedModifiers[index],fn2=_state$orderedModifie.fn,_state$orderedModifie2=_state$orderedModifie.options,_options=_state$orderedModifie2===void 0?{}:_state$orderedModifie2,name=_state$orderedModifie.name;typeof fn2==\"function\"&&(state=fn2({state,options:_options,name,instance})||state);}}},update:debounce(function(){return new Promise(function(resolve){instance.forceUpdate(),resolve(state);})}),destroy:function(){cleanupModifierEffects(),isDestroyed=!0;}};if(!areValidElements(reference2,popper2))return process.env.NODE_ENV!==\"production\"&&console.error(INVALID_ELEMENT_ERROR),instance;instance.setOptions(options).then(function(state2){!isDestroyed&&options.onFirstUpdate&&options.onFirstUpdate(state2);});function runModifierEffects(){state.orderedModifiers.forEach(function(_ref3){var name=_ref3.name,_ref3$options=_ref3.options,options2=_ref3$options===void 0?{}:_ref3$options,effect4=_ref3.effect;if(typeof effect4==\"function\"){var cleanupFn=effect4({state,name,instance,options:options2}),noopFn=function(){};effectCleanupFns.push(cleanupFn||noopFn);}});}function cleanupModifierEffects(){effectCleanupFns.forEach(function(fn2){return fn2()}),effectCleanupFns=[];}return instance}}var defaultModifiers=[eventListeners_default,popperOffsets_default,computeStyles_default,applyStyles_default,offset_default,flip_default,preventOverflow_default,arrow_default,hide_default],createPopper=popperGenerator({defaultModifiers});var import_react_fast_compare=__toESM(require_react_fast_compare());var EMPTY_MODIFIERS=[],usePopper=function(referenceElement,popperElement,options){options===void 0&&(options={});var prevOptions=React3.useRef(null),optionsWithDefaults={onFirstUpdate:options.onFirstUpdate,placement:options.placement||\"bottom\",strategy:options.strategy||\"absolute\",modifiers:options.modifiers||EMPTY_MODIFIERS},_React$useState=React3.useState({styles:{popper:{position:optionsWithDefaults.strategy,left:\"0\",top:\"0\"},arrow:{position:\"absolute\"}},attributes:{}}),state=_React$useState[0],setState=_React$useState[1],updateStateModifier=React3.useMemo(function(){return {name:\"updateState\",enabled:!0,phase:\"write\",fn:function(_ref){var state2=_ref.state,elements=Object.keys(state2.elements);ReactDOM.flushSync(function(){setState({styles:fromEntries(elements.map(function(element){return [element,state2.styles[element]||{}]})),attributes:fromEntries(elements.map(function(element){return [element,state2.attributes[element]]}))});});},requires:[\"computeStyles\"]}},[]),popperOptions=React3.useMemo(function(){var newOptions={onFirstUpdate:optionsWithDefaults.onFirstUpdate,placement:optionsWithDefaults.placement,strategy:optionsWithDefaults.strategy,modifiers:[].concat(optionsWithDefaults.modifiers,[updateStateModifier,{name:\"applyStyles\",enabled:!1}])};return (0, import_react_fast_compare.default)(prevOptions.current,newOptions)?prevOptions.current||newOptions:(prevOptions.current=newOptions,newOptions)},[optionsWithDefaults.onFirstUpdate,optionsWithDefaults.placement,optionsWithDefaults.strategy,optionsWithDefaults.modifiers,updateStateModifier]),popperInstanceRef=React3.useRef();return useIsomorphicLayoutEffect(function(){popperInstanceRef.current&&popperInstanceRef.current.setOptions(popperOptions);},[popperOptions]),useIsomorphicLayoutEffect(function(){if(!(referenceElement==null||popperElement==null)){var createPopper2=options.createPopper||createPopper,popperInstance=createPopper2(referenceElement,popperElement,popperOptions);return popperInstanceRef.current=popperInstance,function(){popperInstance.destroy(),popperInstanceRef.current=null;}}},[referenceElement,popperElement,options.createPopper]),{state:popperInstanceRef.current?popperInstanceRef.current.state:null,styles:state.styles,attributes:state.attributes,update:popperInstanceRef.current?popperInstanceRef.current.update:null,forceUpdate:popperInstanceRef.current?popperInstanceRef.current.forceUpdate:null}};function useGetLatest(val){var ref=React3.useRef(val);return ref.current=val,React3.useCallback(function(){return ref.current},[])}var noop=function(){};function useControlledState(_ref){var initial=_ref.initial,value=_ref.value,_ref$onChange=_ref.onChange,onChange=_ref$onChange===void 0?noop:_ref$onChange;if(initial===void 0&&value===void 0)throw new TypeError('Either \"value\" or \"initial\" variable must be set. Now both are undefined');var _React$useState=React3.useState(initial),state=_React$useState[0],setState=_React$useState[1],getLatest=useGetLatest(state),set=React3.useCallback(function(updater){var state2=getLatest(),updatedState=typeof updater==\"function\"?updater(state2):updater;typeof updatedState.persist==\"function\"&&updatedState.persist(),setState(updatedState),typeof onChange==\"function\"&&onChange(updatedState);},[getLatest,onChange]),isControlled=value!==void 0;return [isControlled?value:state,isControlled?onChange:set]}function generateBoundingClientRect(x,y){return x===void 0&&(x=0),y===void 0&&(y=0),function(){return {width:0,height:0,top:y,right:x,bottom:y,left:x,x:0,y:0,toJSON:function(){return null}}}}var _excluded=[\"styles\",\"attributes\"],virtualElement={getBoundingClientRect:generateBoundingClientRect()},defaultConfig={closeOnOutsideClick:!0,closeOnTriggerHidden:!1,defaultVisible:!1,delayHide:0,delayShow:0,followCursor:!1,interactive:!1,mutationObserverOptions:{attributes:!0,childList:!0,subtree:!0},offset:[0,6],trigger:\"hover\"};function usePopperTooltip(config,popperOptions){var _popperProps$state,_popperProps$state$mo,_popperProps$state$mo2;config===void 0&&(config={}),popperOptions===void 0&&(popperOptions={});var finalConfig=Object.keys(defaultConfig).reduce(function(config2,key){var _extends2;return _extends({},config2,(_extends2={},_extends2[key]=config2[key]!==void 0?config2[key]:defaultConfig[key],_extends2))},config),defaultModifiers2=React3.useMemo(function(){return [{name:\"offset\",options:{offset:finalConfig.offset}}]},Array.isArray(finalConfig.offset)?finalConfig.offset:[]),finalPopperOptions=_extends({},popperOptions,{placement:popperOptions.placement||finalConfig.placement,modifiers:popperOptions.modifiers||defaultModifiers2}),_React$useState=React3.useState(null),triggerRef=_React$useState[0],setTriggerRef=_React$useState[1],_React$useState2=React3.useState(null),tooltipRef=_React$useState2[0],setTooltipRef=_React$useState2[1],_useControlledState=useControlledState({initial:finalConfig.defaultVisible,value:finalConfig.visible,onChange:finalConfig.onVisibleChange}),visible=_useControlledState[0],setVisible=_useControlledState[1],timer=React3.useRef();React3.useEffect(function(){return function(){return clearTimeout(timer.current)}},[]);var _usePopper=usePopper(finalConfig.followCursor?virtualElement:triggerRef,tooltipRef,finalPopperOptions),styles=_usePopper.styles,attributes=_usePopper.attributes,popperProps=_objectWithoutPropertiesLoose(_usePopper,_excluded),update=popperProps.update,getLatest=useGetLatest({visible,triggerRef,tooltipRef,finalConfig}),isTriggeredBy=React3.useCallback(function(trigger){return Array.isArray(finalConfig.trigger)?finalConfig.trigger.includes(trigger):finalConfig.trigger===trigger},Array.isArray(finalConfig.trigger)?finalConfig.trigger:[finalConfig.trigger]),hideTooltip=React3.useCallback(function(){clearTimeout(timer.current),timer.current=window.setTimeout(function(){return setVisible(!1)},finalConfig.delayHide);},[finalConfig.delayHide,setVisible]),showTooltip=React3.useCallback(function(){clearTimeout(timer.current),timer.current=window.setTimeout(function(){return setVisible(!0)},finalConfig.delayShow);},[finalConfig.delayShow,setVisible]),toggleTooltip=React3.useCallback(function(){getLatest().visible?hideTooltip():showTooltip();},[getLatest,hideTooltip,showTooltip]);React3.useEffect(function(){if(getLatest().finalConfig.closeOnOutsideClick){var handleClickOutside=function(event){var _event$composedPath,_getLatest=getLatest(),tooltipRef2=_getLatest.tooltipRef,triggerRef2=_getLatest.triggerRef,target=(event.composedPath==null||(_event$composedPath=event.composedPath())==null?void 0:_event$composedPath[0])||event.target;target instanceof Node&&tooltipRef2!=null&&triggerRef2!=null&&!tooltipRef2.contains(target)&&!triggerRef2.contains(target)&&hideTooltip();};return document.addEventListener(\"mousedown\",handleClickOutside),function(){return document.removeEventListener(\"mousedown\",handleClickOutside)}}},[getLatest,hideTooltip]),React3.useEffect(function(){if(!(triggerRef==null||!isTriggeredBy(\"click\")))return triggerRef.addEventListener(\"click\",toggleTooltip),function(){return triggerRef.removeEventListener(\"click\",toggleTooltip)}},[triggerRef,isTriggeredBy,toggleTooltip]),React3.useEffect(function(){if(!(triggerRef==null||!isTriggeredBy(\"double-click\")))return triggerRef.addEventListener(\"dblclick\",toggleTooltip),function(){return triggerRef.removeEventListener(\"dblclick\",toggleTooltip)}},[triggerRef,isTriggeredBy,toggleTooltip]),React3.useEffect(function(){if(!(triggerRef==null||!isTriggeredBy(\"right-click\"))){var preventDefaultAndToggle=function(event){event.preventDefault(),toggleTooltip();};return triggerRef.addEventListener(\"contextmenu\",preventDefaultAndToggle),function(){return triggerRef.removeEventListener(\"contextmenu\",preventDefaultAndToggle)}}},[triggerRef,isTriggeredBy,toggleTooltip]),React3.useEffect(function(){if(!(triggerRef==null||!isTriggeredBy(\"focus\")))return triggerRef.addEventListener(\"focus\",showTooltip),triggerRef.addEventListener(\"blur\",hideTooltip),function(){triggerRef.removeEventListener(\"focus\",showTooltip),triggerRef.removeEventListener(\"blur\",hideTooltip);}},[triggerRef,isTriggeredBy,showTooltip,hideTooltip]),React3.useEffect(function(){if(!(triggerRef==null||!isTriggeredBy(\"hover\")))return triggerRef.addEventListener(\"mouseenter\",showTooltip),triggerRef.addEventListener(\"mouseleave\",hideTooltip),function(){triggerRef.removeEventListener(\"mouseenter\",showTooltip),triggerRef.removeEventListener(\"mouseleave\",hideTooltip);}},[triggerRef,isTriggeredBy,showTooltip,hideTooltip]),React3.useEffect(function(){if(!(tooltipRef==null||!isTriggeredBy(\"hover\")||!getLatest().finalConfig.interactive))return tooltipRef.addEventListener(\"mouseenter\",showTooltip),tooltipRef.addEventListener(\"mouseleave\",hideTooltip),function(){tooltipRef.removeEventListener(\"mouseenter\",showTooltip),tooltipRef.removeEventListener(\"mouseleave\",hideTooltip);}},[tooltipRef,isTriggeredBy,showTooltip,hideTooltip,getLatest]);var isReferenceHidden=popperProps==null||(_popperProps$state=popperProps.state)==null||(_popperProps$state$mo=_popperProps$state.modifiersData)==null||(_popperProps$state$mo2=_popperProps$state$mo.hide)==null?void 0:_popperProps$state$mo2.isReferenceHidden;React3.useEffect(function(){finalConfig.closeOnTriggerHidden&&isReferenceHidden&&hideTooltip();},[finalConfig.closeOnTriggerHidden,hideTooltip,isReferenceHidden]),React3.useEffect(function(){if(!finalConfig.followCursor||triggerRef==null)return;function setMousePosition(_ref){var clientX=_ref.clientX,clientY=_ref.clientY;virtualElement.getBoundingClientRect=generateBoundingClientRect(clientX,clientY),update?.();}return triggerRef.addEventListener(\"mousemove\",setMousePosition),function(){return triggerRef.removeEventListener(\"mousemove\",setMousePosition)}},[finalConfig.followCursor,triggerRef,update]),React3.useEffect(function(){if(!(tooltipRef==null||update==null||finalConfig.mutationObserverOptions==null)){var observer=new MutationObserver(update);return observer.observe(tooltipRef,finalConfig.mutationObserverOptions),function(){return observer.disconnect()}}},[finalConfig.mutationObserverOptions,tooltipRef,update]);var getTooltipProps=function(args){return args===void 0&&(args={}),_extends({},args,{style:_extends({},args.style,styles.popper)},attributes.popper,{\"data-popper-interactive\":finalConfig.interactive})},getArrowProps=function(args){return args===void 0&&(args={}),_extends({},args,attributes.arrow,{style:_extends({},args.style,styles.arrow),\"data-popper-arrow\":!0})};return _extends({getArrowProps,getTooltipProps,setTooltipRef,setTriggerRef,tooltipRef,triggerRef,visible},popperProps)}var match=memoize(1e3)((requests,actual,value,fallback=0)=>actual.split(\"-\")[0]===requests?value:fallback),ArrowSpacing=8,Arrow=styled.div({position:\"absolute\",borderStyle:\"solid\"},({placement})=>{let x=0,y=0;switch(!0){case(placement.startsWith(\"left\")||placement.startsWith(\"right\")):{y=8;break}case(placement.startsWith(\"top\")||placement.startsWith(\"bottom\")):{x=8;break}}return {transform:`translate3d(${x}px, ${y}px, 0px)`}},({theme,color,placement})=>({bottom:`${match(\"top\",placement,`${ArrowSpacing*-1}px`,\"auto\")}`,top:`${match(\"bottom\",placement,`${ArrowSpacing*-1}px`,\"auto\")}`,right:`${match(\"left\",placement,`${ArrowSpacing*-1}px`,\"auto\")}`,left:`${match(\"right\",placement,`${ArrowSpacing*-1}px`,\"auto\")}`,borderBottomWidth:`${match(\"top\",placement,\"0\",ArrowSpacing)}px`,borderTopWidth:`${match(\"bottom\",placement,\"0\",ArrowSpacing)}px`,borderRightWidth:`${match(\"left\",placement,\"0\",ArrowSpacing)}px`,borderLeftWidth:`${match(\"right\",placement,\"0\",ArrowSpacing)}px`,borderTopColor:match(\"top\",placement,theme.color[color]||color||theme.base===\"light\"?lighten(theme.background.app):theme.background.app,\"transparent\"),borderBottomColor:match(\"bottom\",placement,theme.color[color]||color||theme.base===\"light\"?lighten(theme.background.app):theme.background.app,\"transparent\"),borderLeftColor:match(\"left\",placement,theme.color[color]||color||theme.base===\"light\"?lighten(theme.background.app):theme.background.app,\"transparent\"),borderRightColor:match(\"right\",placement,theme.color[color]||color||theme.base===\"light\"?lighten(theme.background.app):theme.background.app,\"transparent\")})),Wrapper=styled.div(({hidden})=>({display:hidden?\"none\":\"inline-block\",zIndex:2147483647}),({theme,color,hasChrome})=>hasChrome?{background:theme.color[color]||color||theme.base===\"light\"?lighten(theme.background.app):theme.background.app,filter:`\n drop-shadow(0px 5px 5px rgba(0,0,0,0.05))\n drop-shadow(0 1px 3px rgba(0,0,0,0.1))\n `,borderRadius:theme.appBorderRadius,fontSize:theme.typography.size.s1}:{}),Tooltip=React3__default.forwardRef(({placement,hasChrome,children,arrowProps,tooltipRef,color,withArrows,...props},ref)=>React3__default.createElement(Wrapper,{\"data-testid\":\"tooltip\",hasChrome,ref,...props,color},hasChrome&&withArrows&&React3__default.createElement(Arrow,{placement,...arrowProps,color}),children));Tooltip.displayName=\"Tooltip\";Tooltip.defaultProps={color:void 0,tooltipRef:void 0,hasChrome:!0,placement:\"top\",arrowProps:{}};var {document:document2}=global,TargetContainer=styled.div`\n display: inline-block;\n cursor: ${props=>props.trigger===\"hover\"||props.trigger.includes(\"hover\")?\"default\":\"pointer\"};\n`,TargetSvgContainer=styled.g`\n cursor: ${props=>props.trigger===\"hover\"||props.trigger.includes(\"hover\")?\"default\":\"pointer\"};\n`,WithTooltipPure=({svg,trigger,closeOnOutsideClick,placement,hasChrome,withArrows,offset:offset2,tooltip,children,closeOnTriggerHidden,mutationObserverOptions,closeOnClick,tooltipShown,onVisibilityChange,defaultVisible,delayHide,visible,interactive,delayShow,modifiers,strategy,followCursor,onVisibleChange,...props})=>{let Container=svg?TargetSvgContainer:TargetContainer,{getArrowProps,getTooltipProps,setTooltipRef,setTriggerRef,visible:isVisible,state}=usePopperTooltip({trigger,placement,defaultVisible:defaultVisible??tooltipShown,delayHide,interactive,closeOnOutsideClick:closeOnOutsideClick??closeOnClick,closeOnTriggerHidden,onVisibleChange:_isVisible=>{onVisibilityChange?.(_isVisible),onVisibleChange?.(_isVisible);},delayShow,followCursor,mutationObserverOptions,visible,offset:offset2},{modifiers,strategy}),tooltipComponent=React3__default.createElement(Tooltip,{placement:state?.placement,ref:setTooltipRef,hasChrome,arrowProps:getArrowProps(),withArrows,...getTooltipProps()},typeof tooltip==\"function\"?tooltip({onHide:()=>onVisibleChange(!1)}):tooltip);return React3__default.createElement(React3__default.Fragment,null,React3__default.createElement(Container,{trigger,ref:setTriggerRef,...props},children),isVisible&&ReactDOM__default.createPortal(tooltipComponent,document2.body))};WithTooltipPure.defaultProps={svg:!1,trigger:\"click\",closeOnOutsideClick:!1,placement:\"top\",modifiers:[{name:\"preventOverflow\",options:{padding:8}},{name:\"offset\",options:{offset:[8,8]}},{name:\"arrow\",options:{padding:8}}],hasChrome:!0,defaultVisible:!1};var WithToolTipState=({startOpen=!1,onVisibleChange:onChange,...rest})=>{let[tooltipShown,setTooltipShown]=useState(startOpen),onVisibilityChange=useCallback(visibility=>{onChange&&onChange(visibility)===!1||setTooltipShown(visibility);},[onChange]);return useEffect(()=>{let hide2=()=>onVisibilityChange(!1);document2.addEventListener(\"keydown\",hide2,!1);let iframes=Array.from(document2.getElementsByTagName(\"iframe\")),unbinders=[];return iframes.forEach(iframe=>{let bind=()=>{try{iframe.contentWindow.document&&(iframe.contentWindow.document.addEventListener(\"click\",hide2),unbinders.push(()=>{try{iframe.contentWindow.document.removeEventListener(\"click\",hide2);}catch{}}));}catch{}};bind(),iframe.addEventListener(\"load\",bind),unbinders.push(()=>{iframe.removeEventListener(\"load\",bind);});}),()=>{document2.removeEventListener(\"keydown\",hide2),unbinders.forEach(unbind=>{unbind();});}}),React3__default.createElement(WithTooltipPure,{...rest,visible:tooltipShown,onVisibleChange:onVisibilityChange})};\n\nexport { WithToolTipState, WithTooltipPure, auto };\n","import { useRef, useEffect, useCallback, useState, useMemo } from 'react';\n\n// This could've been more streamlined with internal state instead of abusing\n// refs to such extent, but then composing hooks and components could not opt out of unnecessary renders.\nfunction useResolvedElement(subscriber, refOrElement) {\n var lastReportRef = useRef(null);\n var refOrElementRef = useRef(null);\n refOrElementRef.current = refOrElement;\n var cbElementRef = useRef(null); // Calling re-evaluation after each render without using a dep array,\n // as the ref object's current value could've changed since the last render.\n\n useEffect(function () {\n evaluateSubscription();\n });\n var evaluateSubscription = useCallback(function () {\n var cbElement = cbElementRef.current;\n var refOrElement = refOrElementRef.current; // Ugly ternary. But smaller than an if-else block.\n\n var element = cbElement ? cbElement : refOrElement ? refOrElement instanceof Element ? refOrElement : refOrElement.current : null;\n\n if (lastReportRef.current && lastReportRef.current.element === element && lastReportRef.current.subscriber === subscriber) {\n return;\n }\n\n if (lastReportRef.current && lastReportRef.current.cleanup) {\n lastReportRef.current.cleanup();\n }\n\n lastReportRef.current = {\n element: element,\n subscriber: subscriber,\n // Only calling the subscriber, if there's an actual element to report.\n // Setting cleanup to undefined unless a subscriber returns one, as an existing cleanup function would've been just called.\n cleanup: element ? subscriber(element) : undefined\n };\n }, [subscriber]); // making sure we call the cleanup function on unmount\n\n useEffect(function () {\n return function () {\n if (lastReportRef.current && lastReportRef.current.cleanup) {\n lastReportRef.current.cleanup();\n lastReportRef.current = null;\n }\n };\n }, []);\n return useCallback(function (element) {\n cbElementRef.current = element;\n evaluateSubscription();\n }, [evaluateSubscription]);\n}\n\n// We're only using the first element of the size sequences, until future versions of the spec solidify on how\n// exactly it'll be used for fragments in multi-column scenarios:\n// From the spec:\n// > The box size properties are exposed as FrozenArray in order to support elements that have multiple fragments,\n// > which occur in multi-column scenarios. However the current definitions of content rect and border box do not\n// > mention how those boxes are affected by multi-column layout. In this spec, there will only be a single\n// > ResizeObserverSize returned in the FrozenArray, which will correspond to the dimensions of the first column.\n// > A future version of this spec will extend the returned FrozenArray to contain the per-fragment size information.\n// (https://drafts.csswg.org/resize-observer/#resize-observer-entry-interface)\n//\n// Also, testing these new box options revealed that in both Chrome and FF everything is returned in the callback,\n// regardless of the \"box\" option.\n// The spec states the following on this:\n// > This does not have any impact on which box dimensions are returned to the defined callback when the event\n// > is fired, it solely defines which box the author wishes to observe layout changes on.\n// (https://drafts.csswg.org/resize-observer/#resize-observer-interface)\n// I'm not exactly clear on what this means, especially when you consider a later section stating the following:\n// > This section is non-normative. An author may desire to observe more than one CSS box.\n// > In this case, author will need to use multiple ResizeObservers.\n// (https://drafts.csswg.org/resize-observer/#resize-observer-interface)\n// Which is clearly not how current browser implementations behave, and seems to contradict the previous quote.\n// For this reason I decided to only return the requested size,\n// even though it seems we have access to results for all box types.\n// This also means that we get to keep the current api, being able to return a simple { width, height } pair,\n// regardless of box option.\nfunction extractSize(entry, boxProp, sizeType) {\n if (!entry[boxProp]) {\n if (boxProp === \"contentBoxSize\") {\n // The dimensions in `contentBoxSize` and `contentRect` are equivalent according to the spec.\n // See the 6th step in the description for the RO algorithm:\n // https://drafts.csswg.org/resize-observer/#create-and-populate-resizeobserverentry-h\n // > Set this.contentRect to logical this.contentBoxSize given target and observedBox of \"content-box\".\n // In real browser implementations of course these objects differ, but the width/height values should be equivalent.\n return entry.contentRect[sizeType === \"inlineSize\" ? \"width\" : \"height\"];\n }\n\n return undefined;\n } // A couple bytes smaller than calling Array.isArray() and just as effective here.\n\n\n return entry[boxProp][0] ? entry[boxProp][0][sizeType] : // TS complains about this, because the RO entry type follows the spec and does not reflect Firefox's current\n // behaviour of returning objects instead of arrays for `borderBoxSize` and `contentBoxSize`.\n // @ts-ignore\n entry[boxProp][sizeType];\n}\n\nfunction useResizeObserver(opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n // Saving the callback as a ref. With this, I don't need to put onResize in the\n // effect dep array, and just passing in an anonymous function without memoising\n // will not reinstantiate the hook's ResizeObserver.\n var onResize = opts.onResize;\n var onResizeRef = useRef(undefined);\n onResizeRef.current = onResize;\n var round = opts.round || Math.round; // Using a single instance throughout the hook's lifetime\n\n var resizeObserverRef = useRef();\n\n var _useState = useState({\n width: undefined,\n height: undefined\n }),\n size = _useState[0],\n setSize = _useState[1]; // In certain edge cases the RO might want to report a size change just after\n // the component unmounted.\n\n\n var didUnmount = useRef(false);\n useEffect(function () {\n didUnmount.current = false;\n return function () {\n didUnmount.current = true;\n };\n }, []); // Using a ref to track the previous width / height to avoid unnecessary renders.\n\n var previous = useRef({\n width: undefined,\n height: undefined\n }); // This block is kinda like a useEffect, only it's called whenever a new\n // element could be resolved based on the ref option. It also has a cleanup\n // function.\n\n var refCallback = useResolvedElement(useCallback(function (element) {\n // We only use a single Resize Observer instance, and we're instantiating it on demand, only once there's something to observe.\n // This instance is also recreated when the `box` option changes, so that a new observation is fired if there was a previously observed element with a different box option.\n if (!resizeObserverRef.current || resizeObserverRef.current.box !== opts.box || resizeObserverRef.current.round !== round) {\n resizeObserverRef.current = {\n box: opts.box,\n round: round,\n instance: new ResizeObserver(function (entries) {\n var entry = entries[0];\n var boxProp = opts.box === \"border-box\" ? \"borderBoxSize\" : opts.box === \"device-pixel-content-box\" ? \"devicePixelContentBoxSize\" : \"contentBoxSize\";\n var reportedWidth = extractSize(entry, boxProp, \"inlineSize\");\n var reportedHeight = extractSize(entry, boxProp, \"blockSize\");\n var newWidth = reportedWidth ? round(reportedWidth) : undefined;\n var newHeight = reportedHeight ? round(reportedHeight) : undefined;\n\n if (previous.current.width !== newWidth || previous.current.height !== newHeight) {\n var newSize = {\n width: newWidth,\n height: newHeight\n };\n previous.current.width = newWidth;\n previous.current.height = newHeight;\n\n if (onResizeRef.current) {\n onResizeRef.current(newSize);\n } else {\n if (!didUnmount.current) {\n setSize(newSize);\n }\n }\n }\n })\n };\n }\n\n resizeObserverRef.current.instance.observe(element, {\n box: opts.box\n });\n return function () {\n if (resizeObserverRef.current) {\n resizeObserverRef.current.instance.unobserve(element);\n }\n };\n }, [opts.box, round]), opts.ref);\n return useMemo(function () {\n return {\n ref: refCallback,\n width: size.width,\n height: size.height\n };\n }, [refCallback, size.width, size.height]);\n}\n\nexport { useResizeObserver as default };\n","var B=Object.create;var R=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var I=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var E=(r,e,t,n)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of C(e))!w.call(r,a)&&a!==t&&R(r,a,{get:()=>e[a],enumerable:!(n=b(e,a))||n.enumerable});return r};var P=(r,e,t)=>(t=r!=null?B(h(r)):{},E(e||!r||!r.__esModule?R(t,\"default\",{value:r,enumerable:!0}):t,r));var x=I(T=>{Object.defineProperty(T,\"__esModule\",{value:!0}),T.isEqual=function(){var r=Object.prototype.toString,e=Object.getPrototypeOf,t=Object.getOwnPropertySymbols?function(n){return Object.keys(n).concat(Object.getOwnPropertySymbols(n))}:Object.keys;return function(n,a){return function i(o,s,d){var y,g,p,A=r.call(o),F=r.call(s);if(o===s)return !0;if(o==null||s==null)return !1;if(d.indexOf(o)>-1&&d.indexOf(s)>-1)return !0;if(d.push(o,s),A!=F||(y=t(o),g=t(s),y.length!=g.length||y.some(function(l){return !i(o[l],s[l],d)})))return !1;switch(A.slice(8,-1)){case\"Symbol\":return o.valueOf()==s.valueOf();case\"Date\":case\"Number\":return +o==+s||+o!=+o&&+s!=+s;case\"RegExp\":case\"Function\":case\"String\":case\"Boolean\":return \"\"+o==\"\"+s;case\"Set\":case\"Map\":y=o.entries(),g=s.entries();do if(!i((p=y.next()).value,g.next().value,d))return !1;while(!p.done);return !0;case\"ArrayBuffer\":o=new Uint8Array(o),s=new Uint8Array(s);case\"DataView\":o=new Uint8Array(o.buffer),s=new Uint8Array(s.buffer);case\"Float32Array\":case\"Float64Array\":case\"Int8Array\":case\"Int16Array\":case\"Int32Array\":case\"Uint8Array\":case\"Uint16Array\":case\"Uint32Array\":case\"Uint8ClampedArray\":case\"Arguments\":case\"Array\":if(o.length!=s.length)return !1;for(p=0;p`${t} ${n}${a}`).replace(/([a-z])([A-Z])/g,(e,t,n)=>`${t} ${n}`).replace(/([a-z])([0-9])/gi,(e,t,n)=>`${t} ${n}`).replace(/([0-9])([a-z])/gi,(e,t,n)=>`${t} ${n}`).replace(/(\\s|^)(\\w)/g,(e,t,n)=>`${t}${n.toUpperCase()}`).replace(/ +/g,\" \").trim()}var c=P(x()),S=r=>r.map(e=>typeof e<\"u\").filter(Boolean).length,O=(r,e)=>{let{exists:t,eq:n,neq:a,truthy:i}=r;if(S([t,n,a,i])>1)throw new Error(`Invalid conditional test ${JSON.stringify({exists:t,eq:n,neq:a})}`);if(typeof n<\"u\")return (0, c.isEqual)(e,n);if(typeof a<\"u\")return !(0, c.isEqual)(e,a);if(typeof t<\"u\"){let s=typeof e<\"u\";return t?s:!s}return (typeof i>\"u\"?!0:i)?!!e:!e},v=(r,e,t)=>{if(!r.if)return !0;let{arg:n,global:a}=r.if;if(S([n,a])!==1)throw new Error(`Invalid conditional value ${JSON.stringify({arg:n,global:a})}`);let i=n?e[n]:t[a];return O(r.if,i)};var L=r=>r.toLowerCase().replace(/[ ’–—―′¿'`~!@#$%^&*()_|+\\-=?;:'\",.<>\\{\\}\\[\\]\\\\\\/]/gi,\"-\").replace(/-+/g,\"-\").replace(/^-+/,\"\").replace(/-+$/,\"\"),m=(r,e)=>{let t=L(r);if(t===\"\")throw new Error(`Invalid ${e} '${r}', must include alphanumeric characters`);return t},N=(r,e)=>`${m(r,\"kind\")}${e?`--${m(e,\"name\")}`:\"\"}`,M=r=>u(r);function f(r,e){return Array.isArray(e)?e.includes(r):r.match(e)}function G(r,{includeStories:e,excludeStories:t}){return r!==\"__esModule\"&&(!e||f(r,e))&&(!t||!f(r,t))}var z=(r,{rootSeparator:e,groupSeparator:t})=>{let[n,a]=r.split(e,2),i=(a||r).split(t).filter(o=>!!o);return {root:a?n:null,groups:i}};\n\nexport { v as includeConditionalArg, G as isExportStory, z as parseKind, L as sanitize, M as storyNameFromExport, N as toId };\n","import { SyntaxHighlighter, ScrollArea } from './chunk-RDJSMFWU.mjs';\nexport { ActionBar, ScrollArea, createCopyToClipboardFunction } from './chunk-RDJSMFWU.mjs';\nimport { auto, WithToolTipState } from './chunk-E5IOH6B7.mjs';\nimport { _objectWithoutPropertiesLoose, _extends } from './chunk-FD4M6EBV.mjs';\nimport './chunk-S72H4O6B.mjs';\nimport './chunk-CR4N7OJN.mjs';\nimport './chunk-Q5VTUGLN.mjs';\nimport './chunk-XWWAUDHM.mjs';\nimport './chunk-OLF4PGGZ.mjs';\nimport './chunk-KMON5KHC.mjs';\nimport './chunk-FXDDSU3L.mjs';\nimport './chunk-R5KWTIWY.mjs';\nimport './chunk-7K7XSER6.mjs';\nimport './chunk-YTVVV3IZ.mjs';\nimport './chunk-HNIG72LA.mjs';\nimport './chunk-3UNGU6BL.mjs';\nimport './chunk-EU3NKDVB.mjs';\nimport './chunk-I3OL67LK.mjs';\nimport './chunk-NNAAFZ4U.mjs';\nimport * as React5 from 'react';\nimport React5__default, { memo, lazy, forwardRef, useMemo, Fragment, createElement, Children, Suspense, useRef, useLayoutEffect, useState, useCallback, Component, useEffect } from 'react';\nimport { styled, ignoreSsrWarning, isPropValid, keyframes } from '@storybook/theming';\nimport useResizeObserver from 'use-resize-observer';\nimport { global as global$1 } from '@storybook/global';\nimport memoize from 'memoizerific';\nimport { sanitize } from '@storybook/csf';\n\nvar nameSpaceClassNames=({...props},key)=>{let classes=[props.class,props.className];return delete props.class,props.className=[\"sbdocs\",`sbdocs-${key}`,...classes].filter(Boolean).join(\" \"),props};function _assertThisInitialized(self){if(self===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return self}function _setPrototypeOf(o,p){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(o2,p2){return o2.__proto__=p2,o2},_setPrototypeOf(o,p)}function _inheritsLoose(subClass,superClass){subClass.prototype=Object.create(superClass.prototype),subClass.prototype.constructor=subClass,_setPrototypeOf(subClass,superClass);}function _getPrototypeOf(o){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(o2){return o2.__proto__||Object.getPrototypeOf(o2)},_getPrototypeOf(o)}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf(\"[native code]\")!==-1}function _isNativeReflectConstruct(){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 _construct(Parent,args,Class){return _isNativeReflectConstruct()?_construct=Reflect.construct.bind():_construct=function(Parent2,args2,Class2){var a=[null];a.push.apply(a,args2);var Constructor=Function.bind.apply(Parent2,a),instance=new Constructor;return Class2&&_setPrototypeOf(instance,Class2.prototype),instance},_construct.apply(null,arguments)}function _wrapNativeSuper(Class){var _cache=typeof Map==\"function\"?new Map:void 0;return _wrapNativeSuper=function(Class2){if(Class2===null||!_isNativeFunction(Class2))return Class2;if(typeof Class2!=\"function\")throw new TypeError(\"Super expression must either be null or a function\");if(typeof _cache<\"u\"){if(_cache.has(Class2))return _cache.get(Class2);_cache.set(Class2,Wrapper3);}function Wrapper3(){return _construct(Class2,arguments,_getPrototypeOf(this).constructor)}return Wrapper3.prototype=Object.create(Class2.prototype,{constructor:{value:Wrapper3,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(Wrapper3,Class2)},_wrapNativeSuper(Class)}var ERRORS={1:`Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\n\n`,2:`Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\n\n`,3:`Passed an incorrect argument to a color function, please pass a string representation of a color.\n\n`,4:`Couldn't generate valid rgb string from %s, it returned %s.\n\n`,5:`Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\n\n`,6:`Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\n\n`,7:`Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\n\n`,8:`Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\n\n`,9:`Please provide a number of steps to the modularScale helper.\n\n`,10:`Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n`,11:`Invalid value passed as base to modularScale, expected number or em string but got \"%s\"\n\n`,12:`Expected a string ending in \"px\" or a number passed as the first argument to %s(), got \"%s\" instead.\n\n`,13:`Expected a string ending in \"px\" or a number passed as the second argument to %s(), got \"%s\" instead.\n\n`,14:`Passed invalid pixel value (\"%s\") to %s(), please pass a value like \"12px\" or 12.\n\n`,15:`Passed invalid base value (\"%s\") to %s(), please pass a value like \"12px\" or 12.\n\n`,16:`You must provide a template to this method.\n\n`,17:`You passed an unsupported selector state to this method.\n\n`,18:`minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n`,19:`fromSize and toSize must be provided as stringified numbers with the same units.\n\n`,20:`expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n`,21:\"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",22:\"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",23:`fontFace expects a name of a font-family.\n\n`,24:`fontFace expects either the path to the font file(s) or a name of a local copy.\n\n`,25:`fontFace expects localFonts to be an array.\n\n`,26:`fontFace expects fileFormats to be an array.\n\n`,27:`radialGradient requries at least 2 color-stops to properly render.\n\n`,28:`Please supply a filename to retinaImage() as the first argument.\n\n`,29:`Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n`,30:\"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",31:`The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\n\n`,32:`To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\n\n`,33:`The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\n\n`,34:`borderRadius expects a radius value as a string or number as the second argument.\n\n`,35:`borderRadius expects one of \"top\", \"bottom\", \"left\" or \"right\" as the first argument.\n\n`,36:`Property must be a string value.\n\n`,37:`Syntax Error at %s.\n\n`,38:`Formula contains a function that needs parentheses at %s.\n\n`,39:`Formula is missing closing parenthesis at %s.\n\n`,40:`Formula has too many closing parentheses at %s.\n\n`,41:`All values in a formula must have the same unit or be unitless.\n\n`,42:`Please provide a number of steps to the modularScale helper.\n\n`,43:`Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n`,44:`Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\n\n`,45:`Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\n\n`,46:`Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\n\n`,47:`minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n`,48:`fromSize and toSize must be provided as stringified numbers with the same units.\n\n`,49:`Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n`,50:`Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\n\n`,51:`Expects the first argument object to have the properties prop, fromSize, and toSize.\n\n`,52:`fontFace expects either the path to the font file(s) or a name of a local copy.\n\n`,53:`fontFace expects localFonts to be an array.\n\n`,54:`fontFace expects fileFormats to be an array.\n\n`,55:`fontFace expects a name of a font-family.\n\n`,56:`linearGradient requries at least 2 color-stops to properly render.\n\n`,57:`radialGradient requries at least 2 color-stops to properly render.\n\n`,58:`Please supply a filename to retinaImage() as the first argument.\n\n`,59:`Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n`,60:\"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",61:`Property must be a string value.\n\n`,62:`borderRadius expects a radius value as a string or number as the second argument.\n\n`,63:`borderRadius expects one of \"top\", \"bottom\", \"left\" or \"right\" as the first argument.\n\n`,64:`The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\n\n`,65:`To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\n\n`,66:`The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\n\n`,67:`You must provide a template to this method.\n\n`,68:`You passed an unsupported selector state to this method.\n\n`,69:`Expected a string ending in \"px\" or a number passed as the first argument to %s(), got %s instead.\n\n`,70:`Expected a string ending in \"px\" or a number passed as the second argument to %s(), got %s instead.\n\n`,71:`Passed invalid pixel value %s to %s(), please pass a value like \"12px\" or 12.\n\n`,72:`Passed invalid base value %s to %s(), please pass a value like \"12px\" or 12.\n\n`,73:`Please provide a valid CSS variable.\n\n`,74:`CSS variable not found and no default was provided.\n\n`,75:`important requires a valid style object, got a %s instead.\n\n`,76:`fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\n\n`,77:`remToPx expects a value in \"rem\" but you provided it in \"%s\".\n\n`,78:`base must be set in \"px\" or \"%\" but you set it in \"%s\".\n`};function format(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];var a=args[0],b=[],c;for(c=1;c1?_len2-1:0),_key2=1;_key2<_len2;_key2++)args[_key2-1]=arguments[_key2];_this=_Error.call(this,format.apply(void 0,[ERRORS[code]].concat(args)))||this;}return _assertThisInitialized(_this)}return PolishedError2}(_wrapNativeSuper(Error));function colorToInt(color){return Math.round(color*255)}function convertToInt(red,green,blue){return colorToInt(red)+\",\"+colorToInt(green)+\",\"+colorToInt(blue)}function hslToRgb(hue,saturation,lightness,convert){if(convert===void 0&&(convert=convertToInt),saturation===0)return convert(lightness,lightness,lightness);var huePrime=(hue%360+360)%360/60,chroma=(1-Math.abs(2*lightness-1))*saturation,secondComponent=chroma*(1-Math.abs(huePrime%2-1)),red=0,green=0,blue=0;huePrime>=0&&huePrime<1?(red=chroma,green=secondComponent):huePrime>=1&&huePrime<2?(red=secondComponent,green=chroma):huePrime>=2&&huePrime<3?(green=chroma,blue=secondComponent):huePrime>=3&&huePrime<4?(green=secondComponent,blue=chroma):huePrime>=4&&huePrime<5?(red=secondComponent,blue=chroma):huePrime>=5&&huePrime<6&&(red=chroma,blue=secondComponent);var lightnessModification=lightness-chroma/2,finalRed=red+lightnessModification,finalGreen=green+lightnessModification,finalBlue=blue+lightnessModification;return convert(finalRed,finalGreen,finalBlue)}var namedColorMap={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"00ffff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"0000ff\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"00ffff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"ff00ff\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"639\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"};function nameToHex(color){if(typeof color!=\"string\")return color;var normalizedColorName=color.toLowerCase();return namedColorMap[normalizedColorName]?\"#\"+namedColorMap[normalizedColorName]:color}var hexRegex=/^#[a-fA-F0-9]{6}$/,hexRgbaRegex=/^#[a-fA-F0-9]{8}$/,reducedHexRegex=/^#[a-fA-F0-9]{3}$/,reducedRgbaHexRegex=/^#[a-fA-F0-9]{4}$/,rgbRegex=/^rgb\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*\\)$/i,rgbaRegex=/^rgb(?:a)?\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i,hslRegex=/^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i,hslaRegex=/^hsl(?:a)?\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;function parseToRgb(color){if(typeof color!=\"string\")throw new PolishedError(3);var normalizedColor=nameToHex(color);if(normalizedColor.match(hexRegex))return {red:parseInt(\"\"+normalizedColor[1]+normalizedColor[2],16),green:parseInt(\"\"+normalizedColor[3]+normalizedColor[4],16),blue:parseInt(\"\"+normalizedColor[5]+normalizedColor[6],16)};if(normalizedColor.match(hexRgbaRegex)){var alpha=parseFloat((parseInt(\"\"+normalizedColor[7]+normalizedColor[8],16)/255).toFixed(2));return {red:parseInt(\"\"+normalizedColor[1]+normalizedColor[2],16),green:parseInt(\"\"+normalizedColor[3]+normalizedColor[4],16),blue:parseInt(\"\"+normalizedColor[5]+normalizedColor[6],16),alpha}}if(normalizedColor.match(reducedHexRegex))return {red:parseInt(\"\"+normalizedColor[1]+normalizedColor[1],16),green:parseInt(\"\"+normalizedColor[2]+normalizedColor[2],16),blue:parseInt(\"\"+normalizedColor[3]+normalizedColor[3],16)};if(normalizedColor.match(reducedRgbaHexRegex)){var _alpha=parseFloat((parseInt(\"\"+normalizedColor[4]+normalizedColor[4],16)/255).toFixed(2));return {red:parseInt(\"\"+normalizedColor[1]+normalizedColor[1],16),green:parseInt(\"\"+normalizedColor[2]+normalizedColor[2],16),blue:parseInt(\"\"+normalizedColor[3]+normalizedColor[3],16),alpha:_alpha}}var rgbMatched=rgbRegex.exec(normalizedColor);if(rgbMatched)return {red:parseInt(\"\"+rgbMatched[1],10),green:parseInt(\"\"+rgbMatched[2],10),blue:parseInt(\"\"+rgbMatched[3],10)};var rgbaMatched=rgbaRegex.exec(normalizedColor.substring(0,50));if(rgbaMatched)return {red:parseInt(\"\"+rgbaMatched[1],10),green:parseInt(\"\"+rgbaMatched[2],10),blue:parseInt(\"\"+rgbaMatched[3],10),alpha:parseFloat(\"\"+rgbaMatched[4])>1?parseFloat(\"\"+rgbaMatched[4])/100:parseFloat(\"\"+rgbaMatched[4])};var hslMatched=hslRegex.exec(normalizedColor);if(hslMatched){var hue=parseInt(\"\"+hslMatched[1],10),saturation=parseInt(\"\"+hslMatched[2],10)/100,lightness=parseInt(\"\"+hslMatched[3],10)/100,rgbColorString=\"rgb(\"+hslToRgb(hue,saturation,lightness)+\")\",hslRgbMatched=rgbRegex.exec(rgbColorString);if(!hslRgbMatched)throw new PolishedError(4,normalizedColor,rgbColorString);return {red:parseInt(\"\"+hslRgbMatched[1],10),green:parseInt(\"\"+hslRgbMatched[2],10),blue:parseInt(\"\"+hslRgbMatched[3],10)}}var hslaMatched=hslaRegex.exec(normalizedColor.substring(0,50));if(hslaMatched){var _hue=parseInt(\"\"+hslaMatched[1],10),_saturation=parseInt(\"\"+hslaMatched[2],10)/100,_lightness=parseInt(\"\"+hslaMatched[3],10)/100,_rgbColorString=\"rgb(\"+hslToRgb(_hue,_saturation,_lightness)+\")\",_hslRgbMatched=rgbRegex.exec(_rgbColorString);if(!_hslRgbMatched)throw new PolishedError(4,normalizedColor,_rgbColorString);return {red:parseInt(\"\"+_hslRgbMatched[1],10),green:parseInt(\"\"+_hslRgbMatched[2],10),blue:parseInt(\"\"+_hslRgbMatched[3],10),alpha:parseFloat(\"\"+hslaMatched[4])>1?parseFloat(\"\"+hslaMatched[4])/100:parseFloat(\"\"+hslaMatched[4])}}throw new PolishedError(5)}function rgbToHsl(color){var red=color.red/255,green=color.green/255,blue=color.blue/255,max=Math.max(red,green,blue),min=Math.min(red,green,blue),lightness=(max+min)/2;if(max===min)return color.alpha!==void 0?{hue:0,saturation:0,lightness,alpha:color.alpha}:{hue:0,saturation:0,lightness};var hue,delta=max-min,saturation=lightness>.5?delta/(2-max-min):delta/(max+min);switch(max){case red:hue=(green-blue)/delta+(green=1?hslToHex(value,saturation,lightness):\"rgba(\"+hslToRgb(value,saturation,lightness)+\",\"+alpha+\")\";if(typeof value==\"object\"&&saturation===void 0&&lightness===void 0&&alpha===void 0)return value.alpha>=1?hslToHex(value.hue,value.saturation,value.lightness):\"rgba(\"+hslToRgb(value.hue,value.saturation,value.lightness)+\",\"+value.alpha+\")\";throw new PolishedError(2)}function rgb(value,green,blue){if(typeof value==\"number\"&&typeof green==\"number\"&&typeof blue==\"number\")return reduceHexValue$1(\"#\"+numberToHex(value)+numberToHex(green)+numberToHex(blue));if(typeof value==\"object\"&&green===void 0&&blue===void 0)return reduceHexValue$1(\"#\"+numberToHex(value.red)+numberToHex(value.green)+numberToHex(value.blue));throw new PolishedError(6)}function rgba(firstValue,secondValue,thirdValue,fourthValue){if(typeof firstValue==\"string\"&&typeof secondValue==\"number\"){var rgbValue=parseToRgb(firstValue);return \"rgba(\"+rgbValue.red+\",\"+rgbValue.green+\",\"+rgbValue.blue+\",\"+secondValue+\")\"}else {if(typeof firstValue==\"number\"&&typeof secondValue==\"number\"&&typeof thirdValue==\"number\"&&typeof fourthValue==\"number\")return fourthValue>=1?rgb(firstValue,secondValue,thirdValue):\"rgba(\"+firstValue+\",\"+secondValue+\",\"+thirdValue+\",\"+fourthValue+\")\";if(typeof firstValue==\"object\"&&secondValue===void 0&&thirdValue===void 0&&fourthValue===void 0)return firstValue.alpha>=1?rgb(firstValue.red,firstValue.green,firstValue.blue):\"rgba(\"+firstValue.red+\",\"+firstValue.green+\",\"+firstValue.blue+\",\"+firstValue.alpha+\")\"}throw new PolishedError(7)}var isRgb=function(color){return typeof color.red==\"number\"&&typeof color.green==\"number\"&&typeof color.blue==\"number\"&&(typeof color.alpha!=\"number\"||typeof color.alpha>\"u\")},isRgba=function(color){return typeof color.red==\"number\"&&typeof color.green==\"number\"&&typeof color.blue==\"number\"&&typeof color.alpha==\"number\"},isHsl=function(color){return typeof color.hue==\"number\"&&typeof color.saturation==\"number\"&&typeof color.lightness==\"number\"&&(typeof color.alpha!=\"number\"||typeof color.alpha>\"u\")},isHsla=function(color){return typeof color.hue==\"number\"&&typeof color.saturation==\"number\"&&typeof color.lightness==\"number\"&&typeof color.alpha==\"number\"};function toColorString(color){if(typeof color!=\"object\")throw new PolishedError(8);if(isRgba(color))return rgba(color);if(isRgb(color))return rgb(color);if(isHsla(color))return hsla(color);if(isHsl(color))return hsl(color);throw new PolishedError(8)}function curried(f,length,acc){return function(){var combined=acc.concat(Array.prototype.slice.call(arguments));return combined.length>=length?f.apply(this,combined):curried(f,length,combined)}}function curry(f){return curried(f,f.length,[])}function guard(lowerBoundary,upperBoundary,value){return Math.max(lowerBoundary,Math.min(upperBoundary,value))}function darken(amount,color){if(color===\"transparent\")return color;var hslColor=parseToHsl(color);return toColorString(_extends({},hslColor,{lightness:guard(0,1,hslColor.lightness-parseFloat(amount))}))}var curriedDarken=curry(darken),curriedDarken$1=curriedDarken;function lighten(amount,color){if(color===\"transparent\")return color;var hslColor=parseToHsl(color);return toColorString(_extends({},hslColor,{lightness:guard(0,1,hslColor.lightness+parseFloat(amount))}))}var curriedLighten=curry(lighten),curriedLighten$1=curriedLighten;function transparentize(amount,color){if(color===\"transparent\")return color;var parsedColor=parseToRgb(color),alpha=typeof parsedColor.alpha==\"number\"?parsedColor.alpha:1,colorWithAlpha=_extends({},parsedColor,{alpha:guard(0,1,+(alpha*100-parseFloat(amount)*100).toFixed(2)/100)});return rgba(colorWithAlpha)}var curriedTransparentize=curry(transparentize),curriedTransparentize$1=curriedTransparentize;var headerCommon=({theme})=>({margin:\"20px 0 8px\",padding:0,cursor:\"text\",position:\"relative\",color:theme.color.defaultText,\"&:first-of-type\":{marginTop:0,paddingTop:0},\"&:hover a.anchor\":{textDecoration:\"none\"},\"& tt, & code\":{fontSize:\"inherit\"}}),codeCommon=({theme})=>({lineHeight:1,margin:\"0 2px\",padding:\"3px 5px\",whiteSpace:\"nowrap\",borderRadius:3,fontSize:theme.typography.size.s2-1,border:theme.base===\"light\"?`1px solid ${theme.color.mediumlight}`:`1px solid ${theme.color.darker}`,color:theme.base===\"light\"?curriedTransparentize$1(.1,theme.color.defaultText):curriedTransparentize$1(.3,theme.color.defaultText),backgroundColor:theme.base===\"light\"?theme.color.lighter:theme.color.border}),withReset=({theme})=>({fontFamily:theme.typography.fonts.base,fontSize:theme.typography.size.s3,margin:0,WebkitFontSmoothing:\"antialiased\",MozOsxFontSmoothing:\"grayscale\",WebkitTapHighlightColor:\"rgba(0, 0, 0, 0)\",WebkitOverflowScrolling:\"touch\"}),withMargin={margin:\"16px 0\"};var Link=({href:input,children,...props})=>{let isStorybookPath=/^\\//.test(input),isAnchorUrl=/^#.*/.test(input),href=isStorybookPath?`./?path=${input}`:input;return React5__default.createElement(\"a\",{href,target:isAnchorUrl?\"_self\":\"_top\",...props},children)};var A=styled(Link)(withReset,({theme})=>({fontSize:\"inherit\",lineHeight:\"24px\",color:theme.color.secondary,textDecoration:\"none\",\"&.absent\":{color:\"#cc0000\"},\"&.anchor\":{display:\"block\",paddingLeft:30,marginLeft:-30,cursor:\"pointer\",position:\"absolute\",top:0,left:0,bottom:0}}));var Blockquote=styled.blockquote(withReset,withMargin,({theme})=>({borderLeft:`4px solid ${theme.color.medium}`,padding:\"0 15px\",color:theme.color.dark,\"& > :first-of-type\":{marginTop:0},\"& > :last-child\":{marginBottom:0}}));var isReactChildString=child=>typeof child==\"string\";var isInlineCodeRegex=/[\\n\\r]/g,DefaultCodeBlock=styled.code(({theme})=>({fontFamily:theme.typography.fonts.mono,WebkitFontSmoothing:\"antialiased\",MozOsxFontSmoothing:\"grayscale\",display:\"inline-block\",paddingLeft:2,paddingRight:2,verticalAlign:\"baseline\",color:\"inherit\"}),codeCommon),StyledSyntaxHighlighter=styled(SyntaxHighlighter)(({theme})=>({fontFamily:theme.typography.fonts.mono,fontSize:`${theme.typography.size.s2-1}px`,lineHeight:\"19px\",margin:\"25px 0 40px\",borderRadius:theme.appBorderRadius,boxShadow:theme.base===\"light\"?\"rgba(0, 0, 0, 0.10) 0 1px 3px 0\":\"rgba(0, 0, 0, 0.20) 0 2px 5px 0\",\"pre.prismjs\":{padding:20,background:\"inherit\"}})),Code=({className,children,...props})=>{let language=(className||\"\").match(/lang-(\\S+)/),childrenArray=Children.toArray(children);return childrenArray.filter(isReactChildString).some(child=>child.match(isInlineCodeRegex))?React5__default.createElement(StyledSyntaxHighlighter,{bordered:!0,copyable:!0,language:language?.[1]??\"plaintext\",format:!1,...props},children):React5__default.createElement(DefaultCodeBlock,{...props,className},childrenArray)};var Div=styled.div(withReset);var DL=styled.dl(withReset,{...withMargin,padding:0,\"& dt\":{fontSize:\"14px\",fontWeight:\"bold\",fontStyle:\"italic\",padding:0,margin:\"16px 0 4px\"},\"& dt:first-of-type\":{padding:0},\"& dt > :first-of-type\":{marginTop:0},\"& dt > :last-child\":{marginBottom:0},\"& dd\":{margin:\"0 0 16px\",padding:\"0 15px\"},\"& dd > :first-of-type\":{marginTop:0},\"& dd > :last-child\":{marginBottom:0}});var H1=styled.h1(withReset,headerCommon,({theme})=>({fontSize:`${theme.typography.size.l1}px`,fontWeight:theme.typography.weight.bold}));var H2=styled.h2(withReset,headerCommon,({theme})=>({fontSize:`${theme.typography.size.m2}px`,paddingBottom:4,borderBottom:`1px solid ${theme.appBorderColor}`}));var H3=styled.h3(withReset,headerCommon,({theme})=>({fontSize:`${theme.typography.size.m1}px`}));var H4=styled.h4(withReset,headerCommon,({theme})=>({fontSize:`${theme.typography.size.s3}px`}));var H5=styled.h5(withReset,headerCommon,({theme})=>({fontSize:`${theme.typography.size.s2}px`}));var H6=styled.h6(withReset,headerCommon,({theme})=>({fontSize:`${theme.typography.size.s2}px`,color:theme.color.dark}));var HR=styled.hr(({theme})=>({border:\"0 none\",borderTop:`1px solid ${theme.appBorderColor}`,height:4,padding:0}));var Img=styled.img({maxWidth:\"100%\"});var LI=styled.li(withReset,({theme})=>({fontSize:theme.typography.size.s2,color:theme.color.defaultText,lineHeight:\"24px\",\"& + li\":{marginTop:\".25em\"},\"& ul, & ol\":{marginTop:\".25em\",marginBottom:0},\"& code\":codeCommon({theme})}));var listCommon={paddingLeft:30,\"& :first-of-type\":{marginTop:0},\"& :last-child\":{marginBottom:0}},OL=styled.ol(withReset,withMargin,{...listCommon,listStyle:\"decimal\"});var P=styled.p(withReset,withMargin,({theme})=>({fontSize:theme.typography.size.s2,lineHeight:\"24px\",color:theme.color.defaultText,\"& code\":codeCommon({theme})}));var Pre=styled.pre(withReset,withMargin,({theme})=>({fontFamily:theme.typography.fonts.mono,WebkitFontSmoothing:\"antialiased\",MozOsxFontSmoothing:\"grayscale\",lineHeight:\"18px\",padding:\"11px 1rem\",whiteSpace:\"pre-wrap\",color:\"inherit\",borderRadius:3,margin:\"1rem 0\",\"&:not(.prismjs)\":{background:\"transparent\",border:\"none\",borderRadius:0,padding:0,margin:0},\"& pre, &.prismjs\":{padding:15,margin:0,whiteSpace:\"pre-wrap\",color:\"inherit\",fontSize:\"13px\",lineHeight:\"19px\",code:{color:\"inherit\",fontSize:\"inherit\"}},\"& code\":{whiteSpace:\"pre\"},\"& code, & tt\":{border:\"none\"}}));var Span=styled.span(withReset,({theme})=>({\"&.frame\":{display:\"block\",overflow:\"hidden\",\"& > span\":{border:`1px solid ${theme.color.medium}`,display:\"block\",float:\"left\",overflow:\"hidden\",margin:\"13px 0 0\",padding:7,width:\"auto\"},\"& span img\":{display:\"block\",float:\"left\"},\"& span span\":{clear:\"both\",color:theme.color.darkest,display:\"block\",padding:\"5px 0 0\"}},\"&.align-center\":{display:\"block\",overflow:\"hidden\",clear:\"both\",\"& > span\":{display:\"block\",overflow:\"hidden\",margin:\"13px auto 0\",textAlign:\"center\"},\"& span img\":{margin:\"0 auto\",textAlign:\"center\"}},\"&.align-right\":{display:\"block\",overflow:\"hidden\",clear:\"both\",\"& > span\":{display:\"block\",overflow:\"hidden\",margin:\"13px 0 0\",textAlign:\"right\"},\"& span img\":{margin:0,textAlign:\"right\"}},\"&.float-left\":{display:\"block\",marginRight:13,overflow:\"hidden\",float:\"left\",\"& span\":{margin:\"13px 0 0\"}},\"&.float-right\":{display:\"block\",marginLeft:13,overflow:\"hidden\",float:\"right\",\"& > span\":{display:\"block\",overflow:\"hidden\",margin:\"13px auto 0\",textAlign:\"right\"}}}));var Table=styled.table(withReset,withMargin,({theme})=>({fontSize:theme.typography.size.s2,lineHeight:\"24px\",padding:0,borderCollapse:\"collapse\",\"& tr\":{borderTop:`1px solid ${theme.appBorderColor}`,backgroundColor:theme.appContentBg,margin:0,padding:0},\"& tr:nth-of-type(2n)\":{backgroundColor:theme.base===\"dark\"?theme.color.darker:theme.color.lighter},\"& tr th\":{fontWeight:\"bold\",color:theme.color.defaultText,border:`1px solid ${theme.appBorderColor}`,margin:0,padding:\"6px 13px\"},\"& tr td\":{border:`1px solid ${theme.appBorderColor}`,color:theme.color.defaultText,margin:0,padding:\"6px 13px\"},\"& tr th :first-of-type, & tr td :first-of-type\":{marginTop:0},\"& tr th :last-child, & tr td :last-child\":{marginBottom:0}}));var TT=styled.title(codeCommon);var listCommon2={paddingLeft:30,\"& :first-of-type\":{marginTop:0},\"& :last-child\":{marginBottom:0}},UL=styled.ul(withReset,withMargin,{...listCommon2,listStyle:\"disc\"});var ResetWrapper=styled.div(withReset);var components={h1:props=>React5__default.createElement(H1,{...nameSpaceClassNames(props,\"h1\")}),h2:props=>React5__default.createElement(H2,{...nameSpaceClassNames(props,\"h2\")}),h3:props=>React5__default.createElement(H3,{...nameSpaceClassNames(props,\"h3\")}),h4:props=>React5__default.createElement(H4,{...nameSpaceClassNames(props,\"h4\")}),h5:props=>React5__default.createElement(H5,{...nameSpaceClassNames(props,\"h5\")}),h6:props=>React5__default.createElement(H6,{...nameSpaceClassNames(props,\"h6\")}),pre:props=>React5__default.createElement(Pre,{...nameSpaceClassNames(props,\"pre\")}),a:props=>React5__default.createElement(A,{...nameSpaceClassNames(props,\"a\")}),hr:props=>React5__default.createElement(HR,{...nameSpaceClassNames(props,\"hr\")}),dl:props=>React5__default.createElement(DL,{...nameSpaceClassNames(props,\"dl\")}),blockquote:props=>React5__default.createElement(Blockquote,{...nameSpaceClassNames(props,\"blockquote\")}),table:props=>React5__default.createElement(Table,{...nameSpaceClassNames(props,\"table\")}),img:props=>React5__default.createElement(Img,{...nameSpaceClassNames(props,\"img\")}),div:props=>React5__default.createElement(Div,{...nameSpaceClassNames(props,\"div\")}),span:props=>React5__default.createElement(Span,{...nameSpaceClassNames(props,\"span\")}),li:props=>React5__default.createElement(LI,{...nameSpaceClassNames(props,\"li\")}),ul:props=>React5__default.createElement(UL,{...nameSpaceClassNames(props,\"ul\")}),ol:props=>React5__default.createElement(OL,{...nameSpaceClassNames(props,\"ol\")}),p:props=>React5__default.createElement(P,{...nameSpaceClassNames(props,\"p\")}),code:props=>React5__default.createElement(Code,{...nameSpaceClassNames(props,\"code\")}),tt:props=>React5__default.createElement(TT,{...nameSpaceClassNames(props,\"tt\")}),resetwrapper:props=>React5__default.createElement(ResetWrapper,{...nameSpaceClassNames(props,\"resetwrapper\")})};var BadgeWrapper=styled.div(({theme})=>({display:\"inline-block\",fontSize:11,lineHeight:\"12px\",alignSelf:\"center\",padding:\"4px 12px\",borderRadius:\"3em\",fontWeight:theme.typography.weight.bold}),{svg:{height:12,width:12,marginRight:4,marginTop:-2,path:{fill:\"currentColor\"}}},({theme,status})=>{switch(status){case\"critical\":return {color:theme.color.critical,background:theme.background.critical};case\"negative\":return {color:theme.color.negativeText,background:theme.background.negative,boxShadow:theme.base===\"light\"?`inset 0 0 0 1px ${curriedTransparentize$1(.9,theme.color.negativeText)}`:\"none\"};case\"warning\":return {color:theme.color.warningText,background:theme.background.warning,boxShadow:theme.base===\"light\"?`inset 0 0 0 1px ${curriedTransparentize$1(.9,theme.color.warningText)}`:\"none\"};case\"neutral\":return {color:theme.color.dark,background:theme.color.mediumlight,boxShadow:theme.base===\"light\"?`inset 0 0 0 1px ${curriedTransparentize$1(.9,theme.color.dark)}`:\"none\"};case\"positive\":return {color:theme.color.positiveText,background:theme.background.positive,boxShadow:theme.base===\"light\"?`inset 0 0 0 1px ${curriedTransparentize$1(.9,theme.color.positiveText)}`:\"none\"};default:return {}}}),Badge=({...props})=>React5__default.createElement(BadgeWrapper,{...props});var icons={user:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0ZM2.67 11.15c.7-1 2.6-1.81 3.2-1.9.22-.04.23-.66.23-.66s-.67-.66-.81-1.55c-.4 0-.63-.94-.24-1.27l-.02-.13c-.06-.6-.28-2.6 1.97-2.6s2.03 2 1.97 2.6l-.02.13c.4.33.15 1.27-.24 1.27-.14.89-.8 1.55-.8 1.55s0 .62.22.66c.6.09 2.5.9 3.2 1.9a6 6 0 1 0-8.66 0Z\"})),useralt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7.27 13.16a11.39 11.39 0 0 0 5.18-1.23v-.25c0-1.57-3.24-3-4.1-3.13-.27-.05-.28-.79-.28-.79s.8-.78.96-1.83c.47 0 .75-1.12.29-1.52.02-.41.6-3.25-2.32-3.25S4.65 4 4.67 4.41c-.46.4-.17 1.52.29 1.52.17 1.05.96 1.83.96 1.83s0 .74-.27.79c-.86.13-4.04 1.53-4.1 3.08a11.44 11.44 0 0 0 5.72 1.53Z\"})),useradd:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1.18 11.9c-.4-.17-.8-.36-1.18-.58.06-1.44 3.02-2.74 3.82-2.87.25-.04.26-.73.26-.73s-.74-.73-.9-1.7c-.43 0-.7-1.05-.27-1.42l-.01-.14c-.07-.67-.31-2.88 2.18-2.88 2.48 0 2.24 2.2 2.17 2.88l-.01.14c.43.37.16 1.41-.27 1.41-.16.98-.9 1.71-.9 1.71s.01.69.26.73c.8.13 3.82 1.46 3.82 2.91v.24a10.63 10.63 0 0 1-8.97.3ZM11.5 2.16c.28 0 .5.22.5.5v1.5h1.5a.5.5 0 0 1 0 1H12v1.5a.5.5 0 0 1-1 0v-1.5H9.5a.5.5 0 1 1 0-1H11v-1.5c0-.28.22-.5.5-.5Z\"})),users:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M9.21 11.62A10.59 10.59 0 0 1 0 11.07c.06-1.35 2.93-2.58 3.7-2.7.25-.03.26-.68.26-.68s-.72-.69-.87-1.6c-.42 0-.68-.99-.26-1.33 0-.03 0-.08-.02-.14-.07-.63-.3-2.71 2.12-2.71 2.41 0 2.18 2.08 2.11 2.71l-.01.14c.42.34.16 1.32-.26 1.32-.16.92-.87 1.6-.87 1.6s0 .66.25.7c.78.11 3.7 1.36 3.7 2.73v.22l-.64.3Z\"}),React5__default.createElement(\"path\",{d:\"M8.81 8.42a9.64 9.64 0 0 0-.74-.4 5.2 5.2 0 0 1 1.7-.76c.17-.02.17-.47.17-.47s-.49-.47-.6-1.1c-.28 0-.46-.68-.17-.91l-.01-.1c-.05-.43-.2-1.86 1.45-1.86 1.66 0 1.5 1.43 1.45 1.86v.1c.28.23.1.9-.18.9-.11.64-.6 1.11-.6 1.11s0 .45.17.47c.54.08 2.55.94 2.55 1.89v.62a10.6 10.6 0 0 1-3.3.56 2.97 2.97 0 0 0-.58-.88c-.37-.41-.85-.76-1.31-1.03Z\"})),profile:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M9.1 7.35a5.06 5.06 0 0 1-4.52-.28C4.6 6.4 6.02 5.77 6.4 5.7c.12-.02.12-.35.12-.35s-.35-.34-.43-.81c-.2 0-.33-.5-.12-.67l-.01-.07C5.93 3.48 5.81 2.42 7 2.42S8.07 3.48 8.04 3.8v.07c.2.17.07.67-.13.67-.08.47-.43.81-.43.81s0 .33.12.35c.38.06 1.82.7 1.82 1.4v.1c-.1.06-.2.1-.31.15Zm-5.35 3.9c0-.14.11-.25.25-.25h6a.25.25 0 1 1 0 .5H4a.25.25 0 0 1-.25-.25ZM4 9a.25.25 0 0 0 0 .5h6a.25.25 0 1 0 0-.5H4Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1 .5c0-.28.22-.5.5-.5h11c.28 0 .5.22.5.5v13a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V.5ZM2 13V1h10v12H2Z\"})),facehappy:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M3.97 8.75a.5.5 0 0 0-.87.5 4.5 4.5 0 0 0 7.8 0 .5.5 0 1 0-.87-.5 3.5 3.5 0 0 1-6.06 0ZM5.5 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM9.5 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z\"})),faceneutral:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M4.5 9a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM5.5 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM9.5 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z\"})),facesad:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M3.97 10.25a.5.5 0 0 1-.87-.5 4.5 4.5 0 0 1 7.8 0 .5.5 0 1 1-.87.5 3.5 3.5 0 0 0-6.06 0ZM5.5 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM9.5 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z\"})),accessibility:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M3.53 4.84a.5.5 0 0 1 .63-.31l2.05.68a2.5 2.5 0 0 0 1.58 0l2.05-.68a.5.5 0 0 1 .32.94L7.7 6.3a.3.3 0 0 0-.21.29v.24c0 .7.16 1.39.48 2.01l.97 1.95a.5.5 0 1 1-.9.44L7 9.12l-1.05 2.1a.5.5 0 1 1-.9-.44l.97-1.95a4.5 4.5 0 0 0 .48-2.01v-.24a.3.3 0 0 0-.2-.29l-2.46-.82a.5.5 0 0 1-.31-.63Z\"}),React5__default.createElement(\"path\",{d:\"M7 4.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm0-1A6 6 0 1 0 7 1a6 6 0 0 0 0 12Z\"})),accessibilityalt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14ZM8 3.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM3.53 4.84a.5.5 0 0 1 .63-.31l2.05.68a2.5 2.5 0 0 0 1.58 0l2.05-.68a.5.5 0 0 1 .32.94L7.7 6.3a.3.3 0 0 0-.21.29v.24c0 .7.16 1.39.48 2.01l.97 1.95a.5.5 0 1 1-.9.44L7 9.12l-1.05 2.1a.5.5 0 1 1-.9-.44l.97-1.95a4.5 4.5 0 0 0 .48-2.01v-.24a.3.3 0 0 0-.2-.29l-2.46-.82a.5.5 0 0 1-.31-.63Z\"})),arrowup:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"m7.35 2.9 5.5 5.5a.5.5 0 0 1-.7.7L7 3.96 1.85 9.1a.5.5 0 1 1-.7-.7l5.5-5.5c.2-.2.5-.2.7 0Z\"})),arrowdown:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"m1.15 5.6 5.5 5.5c.2.2.5.2.7 0l5.5-5.5a.5.5 0 0 0-.7-.7L7 10.04 1.85 4.9a.5.5 0 1 0-.7.7Z\"})),arrowleft:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M2.76 7.1c.02.09.06.18.14.25l5.5 5.5a.5.5 0 0 0 .7-.7L3.96 7 9.1 1.85a.5.5 0 1 0-.7-.7l-5.5 5.5a.5.5 0 0 0-.14.45Z\"})),arrowright:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"m11.1 7.35-5.5 5.5a.5.5 0 0 1-.7-.7L10.04 7 4.9 1.85a.5.5 0 1 1 .7-.7l5.5 5.5c.2.2.2.5 0 .7Z\"})),arrowupalt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M11.85 4.65 7.35.15a.5.5 0 0 0-.7 0l-4.5 4.5a.5.5 0 1 0 .7.7L6.5 1.71V13.5a.5.5 0 0 0 1 0V1.7l3.65 3.65a.5.5 0 0 0 .7-.7Z\"})),arrowdownalt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7.5.5a.5.5 0 0 0-1 0v11.8L2.85 8.64a.5.5 0 1 0-.7.7l4.5 4.5A.5.5 0 0 0 7 14a.5.5 0 0 0 .35-.15l4.5-4.5a.5.5 0 0 0-.7-.7L7.5 12.29V.5Z\"})),arrowleftalt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5.35 2.15c.2.2.2.5 0 .7L1.71 6.5H13.5a.5.5 0 0 1 0 1H1.7l3.65 3.65a.5.5 0 0 1-.7.7l-4.5-4.5a.5.5 0 0 1 0-.7l4.5-4.5c.2-.2.5-.2.7 0Z\"})),arrowrightalt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M8.65 2.15c.2-.2.5-.2.7 0l4.5 4.5c.2.2.2.5 0 .7l-4.5 4.5a.5.5 0 0 1-.7-.7l3.64-3.65H.5a.5.5 0 0 1 0-1h11.8L8.64 2.85a.5.5 0 0 1 0-.7Z\"})),expandalt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"m7.35.15 4 4a.5.5 0 0 1-.7.7L7 1.21 3.35 4.85a.5.5 0 1 1-.7-.7l4-4c.2-.2.5-.2.7 0ZM11.35 9.15c.2.2.2.5 0 .7l-4 4a.5.5 0 0 1-.7 0l-4-4a.5.5 0 1 1 .7-.7L7 12.79l3.65-3.64c.2-.2.5-.2.7 0Z\"})),collapse:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M3.354.146a.5.5 0 1 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0-.708-.708L7 3.793 3.354.146Zm3.292 9a.5.5 0 0 1 .708 0l4 4a.5.5 0 0 1-.708.708L7 10.207l-3.646 3.647a.5.5 0 0 1-.708-.708l4-4Z\"})),expand:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1.5 1h2a.5.5 0 0 1 0 1h-.8l3.15 3.15a.5.5 0 1 1-.7.7L2 2.71v.79a.5.5 0 0 1-1 0v-2c0-.28.22-.5.5-.5ZM10 1.5c0-.28.22-.5.5-.5h2c.28 0 .5.22.5.5v2a.5.5 0 0 1-1 0v-.8L8.85 5.86a.5.5 0 1 1-.7-.7L11.29 2h-.79a.5.5 0 0 1-.5-.5ZM12.5 10c.28 0 .5.22.5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h.8L8.14 8.85a.5.5 0 1 1 .7-.7L12 11.29v-.79c0-.28.22-.5.5-.5ZM2 11.3v-.8a.5.5 0 0 0-1 0v2c0 .28.22.5.5.5h2a.5.5 0 0 0 0-1h-.8l3.15-3.15a.5.5 0 1 0-.7-.7L2 11.29Z\"})),unfold:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"m6.65.15-1.5 1.5a.5.5 0 1 0 .7.7l.65-.64V5a.5.5 0 0 0 1 0V1.7l.65.65a.5.5 0 1 0 .7-.7L7.35.15a.5.5 0 0 0-.7 0Z\"}),React5__default.createElement(\"path\",{d:\"M1.3 4.04a.5.5 0 0 0-.16.82L3.3 7 1.15 9.15a.5.5 0 0 0 .35.85h3a.5.5 0 0 0 0-1H2.7l1.5-1.5h5.6l2.35 2.35a.5.5 0 0 0 .7-.7L10.71 7l2.14-2.15.11-.54-.1.54A.5.5 0 0 0 13 4.5a.5.5 0 0 0-.14-.35.5.5 0 0 0-.36-.15h-3a.5.5 0 0 0 0 1h1.8L9.8 6.5H4.2L2.7 5h1.8a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.2.04Z\"}),React5__default.createElement(\"path\",{d:\"M7 8.5c.28 0 .5.22.5.5v3.3l.65-.65a.5.5 0 0 1 .7.7l-1.5 1.5a.5.5 0 0 1-.7 0l-1.5-1.5a.5.5 0 0 1 .7-.7l.65.64V9c0-.28.22-.5.5-.5ZM9 9.5c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Z\"})),transfer:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M10.65 2.65c.2-.2.5-.2.7 0l1.5 1.5c.2.2.2.5 0 .7l-1.5 1.5a.5.5 0 0 1-.7-.7l.64-.65H1.5a.5.5 0 0 1 0-1h9.8l-.65-.65a.5.5 0 0 1 0-.7ZM3.35 8.35 2.71 9h9.79a.5.5 0 0 1 0 1H2.7l.65.65a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5a.5.5 0 1 1 .7.7Z\"})),redirect:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1.5 1c.28 0 .5.22.5.5V10a2 2 0 0 0 4 0V4a3 3 0 0 1 6 0v7.8l1.15-1.15a.5.5 0 0 1 .7.7l-2 2a.5.5 0 0 1-.7 0l-2-2a.5.5 0 0 1 .7-.7L11 11.79V4a2 2 0 1 0-4 0v6a3 3 0 0 1-6 0V1.5c0-.28.22-.5.5-.5Z\"})),undo:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1.15 3.85a.5.5 0 0 1 0-.7l2-2a.5.5 0 1 1 .7.7L2.71 3H9a4 4 0 0 1 0 8H3a.5.5 0 0 1 0-1h6a3 3 0 1 0 0-6H2.7l1.15 1.15a.5.5 0 1 1-.7.7l-2-2Z\"})),reply:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M4.35 2.15c.2.2.2.5 0 .7L1.71 5.5H9.5A4.5 4.5 0 0 1 14 10v1.5a.5.5 0 0 1-1 0V10a3.5 3.5 0 0 0-3.5-3.5H1.7l2.65 2.65a.5.5 0 1 1-.7.7l-3.5-3.5a.5.5 0 0 1 0-.7l3.5-3.5c.2-.2.5-.2.7 0Z\"})),sync:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5.5 1A.5.5 0 0 0 5 .5H2a.5.5 0 0 0 0 1h1.53a6.5 6.5 0 0 0 2.39 11.91.5.5 0 1 0 .16-.99A5.5 5.5 0 0 1 4.5 2.1V4a.5.5 0 0 0 1 0V1ZM7.5 1a.5.5 0 0 1 .58-.41 6.5 6.5 0 0 1 2.39 11.91H12a.5.5 0 0 1 0 1H9a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 1 0v1.9A5.5 5.5 0 0 0 7.92 1.58.5.5 0 0 1 7.5 1Z\"})),upload:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M8.65 5.85 7.5 4.71v5.79a.5.5 0 0 1-1 0V4.7L5.35 5.86a.5.5 0 1 1-.7-.7l2-2c.2-.2.5-.2.7 0l2 2a.5.5 0 1 1-.7.7Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z\"})),download:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5.35 8.15 6.5 9.29V3.5a.5.5 0 0 1 1 0v5.8l1.15-1.15a.5.5 0 1 1 .7.7l-2 2a.5.5 0 0 1-.7 0l-2-2a.5.5 0 1 1 .7-.7Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M0 7a7 7 0 1 1 14 0A7 7 0 0 1 0 7Zm1 0a6 6 0 1 1 12 0A6 6 0 0 1 1 7Z\"})),back:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5.85 5.35 4.71 6.5h5.79a.5.5 0 0 1 0 1H4.7l1.15 1.15a.5.5 0 1 1-.7.7l-2-2a.5.5 0 0 1 0-.7l2-2a.5.5 0 1 1 .7.7Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7 0a7 7 0 1 1 0 14A7 7 0 0 1 7 0Zm0 1a6 6 0 1 1 0 12A6 6 0 0 1 7 1Z\"})),proceed:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M3.5 6.5h5.8L8.14 5.35a.5.5 0 1 1 .7-.7l2 2c.2.2.2.5 0 .7l-2 2a.5.5 0 1 1-.7-.7L9.29 7.5H3.5a.5.5 0 0 1 0-1Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7 14A7 7 0 1 1 7 0a7 7 0 0 1 0 14Zm0-1A6 6 0 1 1 7 1a6 6 0 0 1 0 12Z\"})),refresh:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7.1.5H7a6.5 6.5 0 1 0 6.41 7.58.5.5 0 1 0-.99-.16A5.47 5.47 0 0 1 7 12.5a5.5 5.5 0 0 1 0-11 5.5 5.5 0 0 1 4.9 3H10a.5.5 0 0 0 0 1h3a.5.5 0 0 0 .5-.5V2a.5.5 0 0 0-1 0v1.53A6.5 6.5 0 0 0 7.1.5Z\"})),globe:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M14 7A7 7 0 1 0 0 7a7 7 0 0 0 14 0Zm-6.53 5.74c-.24.23-.4.26-.47.26-.08 0-.23-.03-.47-.26-.23-.24-.5-.62-.73-1.18A11.57 11.57 0 0 1 5 7.5h4a11.57 11.57 0 0 1-.8 4.06c-.24.56-.5.94-.73 1.18ZM8.99 6.5H5.01c.05-1.62.35-3.04.79-4.06.24-.56.5-.94.73-1.18.24-.23.4-.26.47-.26.08 0 .23.03.47.26.23.24.5.62.73 1.18.44 1.02.74 2.44.8 4.06Zm1 1c-.06 2.18-.56 4.08-1.28 5.25a6 6 0 0 0 4.27-5.25H9.99Zm2.99-1H9.99c-.06-2.18-.56-4.08-1.28-5.25a6 6 0 0 1 4.27 5.25ZM4 6.5c.06-2.18.56-4.08 1.28-5.25A6 6 0 0 0 1.02 6.5h2.99Zm-2.99 1a6 6 0 0 0 4.27 5.25c-.72-1.17-1.22-3.07-1.28-5.25H1.02Z\"})),compass:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M10.09 3.4 5.95 5.8a.37.37 0 0 0-.11.09.38.38 0 0 0-.04.05l-2.4 4.15a.37.37 0 0 0 0 .38c.1.18.33.24.5.14l4.15-2.4a.37.37 0 0 0 .15-.15l2.4-4.15a.37.37 0 0 0-.03-.44.37.37 0 0 0-.48-.07ZM4.75 9.25 7.6 7.6 6.4 6.4 4.75 9.25Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z\"})),location:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M0 7a7 7 0 1 1 14 0A7 7 0 0 1 0 7Zm6.5 3.5v2.48A6 6 0 0 1 1.02 7.5H3.5a.5.5 0 0 0 0-1H1.02A6 6 0 0 1 6.5 1.02V3.5a.5.5 0 0 0 1 0V1.02a6 6 0 0 1 5.48 5.48H10.5a.5.5 0 0 0 0 1h2.48a6 6 0 0 1-5.48 5.48V10.5a.5.5 0 0 0-1 0Z\"})),pin:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M9 5a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M12 5A5 5 0 0 0 2 5c0 2.63 2.27 6.15 4.65 8.64.2.2.5.2.7 0C9.73 11.15 12 7.64 12 5ZM7 1a4 4 0 0 1 4 4c0 1.06-.47 2.42-1.3 3.88A21.23 21.23 0 0 1 7 12.55c-1-1.1-1.97-2.39-2.7-3.67A8.46 8.46 0 0 1 3 5a4 4 0 0 1 4-4Z\"})),time:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7 2c.28 0 .5.22.5.5v4H10a.5.5 0 0 1 0 1H7a.5.5 0 0 1-.5-.5V2.5c0-.28.22-.5.5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm0-1A6 6 0 1 0 7 1a6 6 0 0 0 0 12Z\"})),dashboard:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M9.8 4.1a.5.5 0 0 1 .1.7L7.92 7.58A1 1 0 1 1 7.1 7l2-2.8a.5.5 0 0 1 .7-.12Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M2.07 12.97a7 7 0 1 1 9.86 0 12.96 12.96 0 0 0-9.86 0Zm9.58-1.18a6 6 0 1 0-9.3 0 13.98 13.98 0 0 1 9.3 0Z\"})),timer:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7.5 4.5a.5.5 0 0 0-1 0v2.63a1 1 0 1 0 1 0V4.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M5.5.5c0-.28.22-.5.5-.5h2a.5.5 0 0 1 0 1h-.5v1.02c1.28.1 2.45.61 3.37 1.4l.78-.77a.5.5 0 0 1 .7.7l-.77.78a6 6 0 1 1-5.08-2.1V1H6a.5.5 0 0 1-.5-.5ZM7 3a5 5 0 1 0 0 10A5 5 0 0 0 7 3Z\"})),home:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"m7.35 1.15 5.5 5.5a.5.5 0 0 1-.7.7L12 7.21v5.29a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V9H6v3.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V7.2l-.15.15a.5.5 0 1 1-.7-.7l1-1 4.5-4.5c.2-.2.5-.2.7 0ZM3 6.2V12h2V8.5c0-.28.22-.5.5-.5h3c.28 0 .5.22.5.5V12h2V6.2l-4-4-4 4Z\"})),admin:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1.21 4.1a.5.5 0 0 1 .06-.04l5.48-3a.5.5 0 0 1 .5 0l5.48 3a.5.5 0 0 1 .27.39.5.5 0 0 1-.51.55H1.51a.5.5 0 0 1-.3-.9ZM3.46 4h7.08L7 2.07 3.46 4Z\"}),React5__default.createElement(\"path\",{d:\"M4 6a.5.5 0 1 0-1 0v5a.5.5 0 0 0 1 0V6ZM11 6a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V6ZM5.75 5.5c.28 0 .5.22.5.5v5a.5.5 0 0 1-1 0V6c0-.28.22-.5.5-.5ZM8.75 6a.5.5 0 1 0-1 0v5a.5.5 0 0 0 1 0V6ZM1.5 12.5c0-.27.22-.5.5-.5h10a.5.5 0 0 1 0 1H2a.5.5 0 0 1-.5-.5Z\"})),info:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7 5.5c.28 0 .5.22.5.5v4a.5.5 0 0 1-1 0V6c0-.28.22-.5.5-.5ZM7 4.5A.75.75 0 1 0 7 3a.75.75 0 0 0 0 1.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm0-1A6 6 0 1 0 7 1a6 6 0 0 0 0 12Z\"})),question:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5.25 5.25A1.75 1.75 0 1 1 7 7a.5.5 0 0 0-.5.5V9a.5.5 0 0 0 1 0V7.95a2.75 2.75 0 1 0-3.25-2.7.5.5 0 0 0 1 0ZM7 11.5A.75.75 0 1 0 7 10a.75.75 0 0 0 0 1.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z\"})),support:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-3.52 4.9a5.97 5.97 0 0 1-6.96 0l1.45-1.45a3.98 3.98 0 0 0 4.06 0l1.45 1.44Zm-.03-2.87 1.44 1.45a5.97 5.97 0 0 0 0-6.96l-1.44 1.45a3.98 3.98 0 0 1 0 4.06ZM9.03 3.55l1.45-1.44a5.97 5.97 0 0 0-6.96 0l1.45 1.44a3.98 3.98 0 0 1 4.06 0ZM3.55 4.97 2.11 3.52a5.97 5.97 0 0 0 0 6.96l1.44-1.45a3.98 3.98 0 0 1 0-4.06ZM10 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"})),alert:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7 4.5c.28 0 .5.22.5.5v3.5a.5.5 0 0 1-1 0V5c0-.28.22-.5.5-.5ZM7.75 10.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7.2 1.04a.5.5 0 0 1 .24.21l6.49 11a.5.5 0 0 1-.44.75H.51a.5.5 0 0 1-.5-.45.5.5 0 0 1 .06-.31l6.5-10.99a.5.5 0 0 1 .64-.2ZM7 2.48 1.38 12h11.24L7 2.48Z\"})),email:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M0 2.5c0-.27.22-.5.5-.5h13c.28 0 .5.23.5.5v9a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-9Zm1 1.02V11h12V3.52L7.31 7.89a.5.5 0 0 1-.52.07.5.5 0 0 1-.1-.07L1 3.52ZM12.03 3H1.97L7 6.87 12.03 3Z\"})),phone:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"m7.76 8.13-.05.05a.2.2 0 0 1-.28.03A6.76 6.76 0 0 1 5.8 6.56a.21.21 0 0 1 .04-.27l.05-.05c.23-.2.54-.47.71-.96.17-.47-.02-1.04-.66-1.94-.26-.38-.72-.96-1.22-1.46-.68-.69-1.2-1-1.65-1a.98.98 0 0 0-.51.13A3.23 3.23 0 0 0 .9 3.42c-.13 1.1.26 2.37 1.17 3.78a16.68 16.68 0 0 0 4.55 4.6 6.57 6.57 0 0 0 3.53 1.32A3.2 3.2 0 0 0 13 11.46c.14-.24.24-.64-.07-1.18a7.8 7.8 0 0 0-1.73-1.8c-.64-.5-1.52-1.12-2.13-1.12a.97.97 0 0 0-.34.06c-.47.17-.74.46-.95.69l-.02.02Zm4.32 2.68a6.8 6.8 0 0 0-1.48-1.54h-.02c-.3-.25-.64-.49-.95-.67a2.7 2.7 0 0 0-.56-.24h-.01c-.23.09-.34.21-.56.45l-.02.02-.04.04a1.2 1.2 0 0 1-1.6.15 7.76 7.76 0 0 1-1.86-1.89l-.01-.01-.02-.02a1.21 1.21 0 0 1 .2-1.53l.06-.06.02-.02c.22-.2.35-.31.43-.53v-.02c0-.02 0-.06-.03-.14a3.7 3.7 0 0 0-.5-.88h-.01V3.9c-.23-.33-.65-.87-1.1-1.32H4c-.31-.32-.55-.5-.72-.6a.6.6 0 0 0-.22-.1h-.03a2.23 2.23 0 0 0-1.15 1.66c-.09.78.18 1.8 1.02 3.1a15.68 15.68 0 0 0 4.27 4.33l.02.01.02.02a5.57 5.57 0 0 0 2.97 1.11 2.2 2.2 0 0 0 1.93-1.14h.01v-.05a.57.57 0 0 0-.05-.12Z\"})),link:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M11.84 2.16a2.25 2.25 0 0 0-3.18 0l-2.5 2.5c-.88.88-.88 2.3 0 3.18a.5.5 0 0 1-.7.7 3.25 3.25 0 0 1 0-4.59l2.5-2.5a3.25 3.25 0 0 1 4.59 4.6L10.48 8.1c.04-.44.01-.89-.09-1.32l1.45-1.45c.88-.88.88-2.3 0-3.18Z\"}),React5__default.createElement(\"path\",{d:\"M3.6 7.2c-.1-.42-.12-.87-.08-1.31L1.45 7.95a3.25 3.25 0 1 0 4.6 4.6l2.5-2.5a3.25 3.25 0 0 0 0-4.6.5.5 0 0 0-.7.7c.87.89.87 2.31 0 3.2l-2.5 2.5a2.25 2.25 0 1 1-3.2-3.2l1.46-1.44Z\"})),unlink:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"m1.45 7.95 1.3-1.3.71.7-1.3 1.3a2.25 2.25 0 1 0 3.18 3.2l1.3-1.31.71.7-1.3 1.3a3.25 3.25 0 0 1-4.6-4.59ZM12.55 6.05l-1.3 1.3-.71-.7 1.3-1.3a2.25 2.25 0 1 0-3.18-3.2l-1.3 1.31-.71-.7 1.3-1.3a3.25 3.25 0 0 1 4.6 4.59ZM1.85 1.15a.5.5 0 1 0-.7.7l11 11a.5.5 0 0 0 .7-.7l-11-11Z\"})),bell:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M8 1.11a1 1 0 1 0-1.99 0A4.5 4.5 0 0 0 2.5 5.5v3.88l-.94 1.89a.5.5 0 0 0-.06.3.5.5 0 0 0 .51.43h3.58a1.5 1.5 0 1 0 2.82 0H12a.5.5 0 0 0 .45-.73l-.94-1.89V5.5A4.5 4.5 0 0 0 8 1.11ZM2.8 11h8.4l-.5-1H3.3l-.5 1Zm7.7-2V5.5a3.5 3.5 0 1 0-7 0V9h7Zm-4 3.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\"})),rss:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1.5.5c0-.28.22-.5.5-.5a12 12 0 0 1 12 12 .5.5 0 0 1-1 0A11 11 0 0 0 2 1a.5.5 0 0 1-.5-.5Z\"}),React5__default.createElement(\"path\",{d:\"M1.5 4.5c0-.28.22-.5.5-.5a8 8 0 0 1 8 8 .5.5 0 0 1-1 0 7 7 0 0 0-7-7 .5.5 0 0 1-.5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M5 11a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-1 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"})),sharealt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M2 1a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7.5a.5.5 0 0 0-1 0V12H2V2h4.5a.5.5 0 0 0 0-1H2Z\"}),React5__default.createElement(\"path\",{d:\"M7.35 7.36 12 2.7v1.8a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 1 0 0 1h1.8L6.64 6.64a.5.5 0 1 0 .7.7Z\"})),share:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M6.65.15c.2-.2.5-.2.7 0l2 2a.5.5 0 1 1-.7.7L7.5 1.72v6.8a.5.5 0 0 1-1 0V1.7L5.35 2.86a.5.5 0 1 1-.7-.71l2-2Z\"}),React5__default.createElement(\"path\",{d:\"M2 4a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9.5a.5.5 0 1 0 0 1H12v7H2V5h2.5a.5.5 0 0 0 0-1H2Z\"})),circlehollow:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7 13A6 6 0 1 0 7 1a6 6 0 0 0 0 12Zm0 1A7 7 0 1 0 7 0a7 7 0 0 0 0 14Z\"})),circle:React5__default.createElement(\"path\",{d:\"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Z\"}),bookmarkhollow:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3.5 0h7c.28 0 .5.22.5.5v13a.5.5 0 0 1-.45.5.46.46 0 0 1-.38-.12L7 11.16l-3.17 2.72a.46.46 0 0 1-.38.12.5.5 0 0 1-.45-.5V.5c0-.28.22-.5.5-.5ZM4 12.41l2.66-2.28a.45.45 0 0 1 .38-.13c.1.01.2.05.29.12l2.67 2.3V1H4v11.41Z\"})),bookmark:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3.5 0h7c.28 0 .5.22.5.5v13a.5.5 0 0 1-.45.5.46.46 0 0 1-.38-.12L7 11.16l-3.17 2.72a.46.46 0 0 1-.38.12.5.5 0 0 1-.45-.5V.5c0-.28.22-.5.5-.5Z\"})),hearthollow:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M12.81 1.85 13 2a2.97 2.97 0 0 1 .75 1.17 4.39 4.39 0 0 1 .12 2.51 6.26 6.26 0 0 1-1.65 2.55l-4.78 4.6A.59.59 0 0 1 7 13a.67.67 0 0 1-.44-.17L1.78 8.22a7.84 7.84 0 0 1-1.25-1.6C.37 6.31.24 6 .14 5.67a4.32 4.32 0 0 1 .12-2.51 3.2 3.2 0 0 1 1.95-1.9c.47-.18 1-.27 1.57-.27.3 0 .61.04.91.14.3.09.59.21.86.36s.52.33.77.52c.24.19.47.38.68.58a7.56 7.56 0 0 1 1.46-1.1c.27-.15.55-.27.84-.36.3-.1.6-.14.9-.14.59 0 1.12.09 1.59.26.39.15.73.34 1.02.59ZM1.2 3.53A2.2 2.2 0 0 1 2.57 2.2M1.2 3.53c-.13.33-.2.72-.2 1.18 0 .22.03.45.1.68a3.97 3.97 0 0 0 .79 1.46c.19.23.38.45.59.65l4.51 4.36 4.52-4.35c.2-.2.4-.4.59-.65.18-.23.34-.47.49-.73.13-.23.23-.48.3-.73.08-.23.11-.46.11-.7 0-.45-.07-.84-.2-1.18-.12-.33-.3-.6-.51-.8v-.01c-.22-.2-.5-.38-.85-.51-.34-.13-.75-.2-1.24-.2-.2 0-.4.03-.6.09a4.95 4.95 0 0 0-1.9 1.22l-.68.67-.7-.65a9.97 9.97 0 0 0-.62-.53c-.2-.16-.42-.3-.63-.42h-.01c-.21-.12-.43-.22-.66-.29C4.2 2.03 4 2 3.77 2c-.48 0-.88.07-1.21.2\"})),heart:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M12.81 1.85 13 2a2.97 2.97 0 0 1 .75 1.17 4.39 4.39 0 0 1 .12 2.51 6.26 6.26 0 0 1-1.65 2.55l-4.78 4.6A.59.59 0 0 1 7 13a.67.67 0 0 1-.44-.17L1.78 8.22a7.84 7.84 0 0 1-1.25-1.6C.37 6.31.24 6 .14 5.67a4.32 4.32 0 0 1 .12-2.51 3.2 3.2 0 0 1 1.95-1.9c.47-.18 1-.27 1.57-.27.3 0 .61.04.91.14.3.09.59.21.86.36s.52.33.77.52c.24.19.47.38.68.58a7.56 7.56 0 0 1 1.46-1.1c.27-.15.55-.27.84-.36.3-.1.6-.14.9-.14.59 0 1.12.09 1.59.26.39.15.73.34 1.02.59Z\"})),starhollow:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M6.32.78a.75.75 0 0 1 1.36 0l1.63 3.54 3.87.46c.63.07.89.86.42 1.3l-2.86 2.64.76 3.81a.75.75 0 0 1-1.1.8L7 11.43l-3.4 1.9a.75.75 0 0 1-1.1-.8l.76-3.81L.4 6.07a.75.75 0 0 1 .42-1.3l3.87-.45L6.32.78ZM7 1.7 5.54 4.86c-.11.24-.34.4-.6.43l-3.46.42 2.56 2.37c.2.17.28.44.23.7l-.68 3.42 3.04-1.7c.23-.14.5-.14.74 0l3.04 1.7-.68-3.43a.75.75 0 0 1 .23-.7l2.56-2.36-3.47-.42a.75.75 0 0 1-.59-.43L7 1.7Z\"})),star:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7.68.78a.75.75 0 0 0-1.36 0L4.69 4.32l-3.87.46a.75.75 0 0 0-.42 1.3l2.86 2.64-.76 3.81a.75.75 0 0 0 1.1.8l3.4-1.9 3.4 1.9a.75.75 0 0 0 1.1-.8l-.76-3.81 2.86-2.65a.75.75 0 0 0-.42-1.3L9.3 4.33 7.68.78Z\"})),certificate:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M10 7.85A4.49 4.49 0 0 0 7 0a4.5 4.5 0 0 0-3 7.85V13a.5.5 0 0 0 .5.5.5.5 0 0 0 .35-.15L7 11.21l2.15 2.14A.5.5 0 0 0 10 13V7.85ZM7 8a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm-.35 2.15c.2-.2.5-.2.7 0L9 11.79V8.53a4.48 4.48 0 0 1-4 0v3.26l1.65-1.64Z\"})),verified:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M6.56 13.12a1 1 0 0 1 .88 0l.98.49a1 1 0 0 0 1.31-.43l.52-.97a1 1 0 0 1 .7-.51l1.08-.2a1 1 0 0 0 .81-1.1l-.15-1.1a1 1 0 0 1 .27-.82l.76-.8a1 1 0 0 0 0-1.37l-.76-.79a1 1 0 0 1-.27-.83l.15-1.08a1 1 0 0 0-.8-1.12l-1.09-.19a1 1 0 0 1-.7-.5L9.73.81A1 1 0 0 0 8.43.4l-1 .49a1 1 0 0 1-.87 0L5.58.39a1 1 0 0 0-1.31.43l-.52.97a1 1 0 0 1-.7.51l-1.08.2a1 1 0 0 0-.81 1.1l.15 1.1a1 1 0 0 1-.27.82l-.76.8a1 1 0 0 0 0 1.37l.76.79a1 1 0 0 1 .27.83l-.15 1.08a1 1 0 0 0 .8 1.12l1.09.19a1 1 0 0 1 .7.5l.52.98a1 1 0 0 0 1.3.43l1-.49Zm4.3-8.47c.19.2.19.5 0 .7l-4.5 4.5a.5.5 0 0 1-.71 0l-2.5-2.5a.5.5 0 1 1 .7-.7L6 8.79l4.15-4.14c.2-.2.5-.2.7 0Z\"})),thumbsup:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M11 12.02c-.4.37-.91.56-1.56.56h-.88a5.5 5.5 0 0 1-1.3-.16c-.42-.1-.91-.25-1.47-.45-.3-.12-.63-.21-.95-.27H2.88a.84.84 0 0 1-.62-.26.84.84 0 0 1-.26-.61V6.45c0-.24.09-.45.26-.62a.84.84 0 0 1 .62-.25h1.87c.16-.11.47-.47.93-1.06.27-.35.51-.64.74-.88.1-.11.19-.3.24-.58.05-.28.12-.57.2-.87.1-.3.24-.55.43-.74a.87.87 0 0 1 .62-.25c.38 0 .72.07 1.03.22.3.15.54.38.7.7a2.94 2.94 0 0 1 .21 1.58 3 3 0 0 1-.3 1h1.2c.47 0 .88.17 1.23.52s.52.8.52 1.22c0 .29-.04.66-.34 1.12.05.15.07.3.07.47 0 .35-.09.68-.26.98.07.54-.07 1.08-.4 1.51a1.9 1.9 0 0 1-.57 1.5Zm.47-5.33a.96.96 0 0 0 .03-.25.74.74 0 0 0-.23-.51.68.68 0 0 0-.52-.23H7.93l.73-1.45a2 2 0 0 0 .21-.87c0-.44-.07-.7-.13-.82a.53.53 0 0 0-.24-.24 1.3 1.3 0 0 0-.54-.12.99.99 0 0 0-.14.28c-.08.27-.13.52-.18.76-.06.38-.2.77-.48 1.07v.01l-.02.01c-.2.2-.4.46-.67.8l-.61.76c-.15.17-.35.38-.54.51l-.26.18H5v4.13h.02c.38.08.76.18 1.12.32.53.2.98.33 1.35.42.36.09.71.13 1.07.13h.88c.43 0 .68-.11.87-.29a.9.9 0 0 0 .26-.7l-.02-.37.22-.3c.17-.23.25-.5.2-.78l-.04-.33.17-.3a.97.97 0 0 0 .13-.48c0-.09 0-.13-.02-.15l-.15-.46.26-.4c.1-.15.13-.25.15-.33ZM3.5 10.8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"})),shield:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M11.76 2.08a.5.5 0 0 1 .24.42v6a.5.5 0 0 1-.17.38l-4.5 3.99a.5.5 0 0 1-.67 0l-4.49-4A.5.5 0 0 1 2 8.5V2.5c0-.18.1-.34.24-.42l.01-.02a2.5 2.5 0 0 1 .3-.16c.22-.1.52-.24.92-.37C4.27 1.26 5.44 1 7 1c1.56 0 2.73.26 3.53.53a6.97 6.97 0 0 1 1.22.53l.01.02ZM3 2.79v5.49l1.07.94 6.59-6.58-.44-.17C9.52 2.24 8.44 2 7 2c-1.44 0-2.52.24-3.22.47-.35.12-.6.24-.78.32Zm4 9.04L4.82 9.9 11 3.71v4.57l-4 3.55Z\"})),basket:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M10.35 2.85a.5.5 0 1 0-.7-.7l-3 3a.5.5 0 1 0 .7.7l3-3Z\"}),React5__default.createElement(\"path\",{d:\"M2.09 6H4.5a.5.5 0 0 0 0-1H1.8a.75.75 0 0 0-.74.87l.8 4.88A1.5 1.5 0 0 0 3.36 12h7.3a1.5 1.5 0 0 0 1.48-1.25l.81-4.88A.75.75 0 0 0 12.2 5H10a.5.5 0 0 0 0 1h1.91l-.76 4.58a.5.5 0 0 1-.5.42h-7.3a.5.5 0 0 1-.5-.42L2.1 6Z\"}),React5__default.createElement(\"path\",{d:\"M4.5 7c.28 0 .5.22.5.5v2a.5.5 0 0 1-1 0v-2c0-.28.22-.5.5-.5ZM10 7.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2ZM6.5 9.5v-2a.5.5 0 0 1 1 0v2a.5.5 0 0 1-1 0Z\"})),beaker:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M4.5 2h.75v3.87l-3.03 5.26c-.48.83.12 1.87 1.08 1.87h7.4c.96 0 1.57-1.04 1.08-1.87L8.75 5.87V2h.75a.5.5 0 0 0 0-1h-5a.5.5 0 0 0 0 1Zm1.75 4V2h1.5v4.13l.07.12 1 1.75H5.18l1.01-1.75.07-.12V6ZM4.6 9l-1.52 2.63c-.1.16.03.37.22.37h7.4c.2 0 .31-.2.22-.37L9.4 9H4.6Z\"})),hourglass:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7.5 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3.5 1a.5.5 0 0 0-.5.5c0 1.06.14 1.9.68 2.97.34.7.86 1.5 1.6 2.53a16.53 16.53 0 0 0-1.8 2.96A6 6 0 0 0 3 12.49v.01a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 6 6 0 0 0-.48-2.54c-.34-.8-.9-1.71-1.8-2.96a19.78 19.78 0 0 0 1.6-2.53c.54-1.08.68-1.9.68-2.97a.5.5 0 0 0-.5-.5h-7Zm6.49 11a4.68 4.68 0 0 0-.39-1.65c-.27-.65-.73-1.4-1.5-2.5a133 133 0 0 1-.75 1 .5.5 0 0 1-.56.1.5.5 0 0 1-.2-.16l-.7-.94a14.36 14.36 0 0 0-1.5 2.5A4.68 4.68 0 0 0 4.02 12H10ZM6.3 6.72l.7.94a90.06 90.06 0 0 0 .7-.96c.49-.67.87-1.22 1.17-1.7H5.13A32.67 32.67 0 0 0 6.3 6.72ZM4.56 4h4.88c.36-.73.5-1.31.55-2H4c.04.69.19 1.27.55 2Z\"})),flag:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M11.5 1h-9a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 1 0V8h8.5a.5.5 0 0 0 .35-.85L9.21 4.5l2.64-2.65A.5.5 0 0 0 11.5 1ZM8.15 4.15 10.29 2H3v5h7.3L8.14 4.85a.5.5 0 0 1 0-.7Z\"})),cloudhollow:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M10 7V6a3 3 0 0 0-5.9-.74l-.18.68-.7.07A2.5 2.5 0 0 0 3.5 11h3.19l.07-.01h.08L7 11h4a2 2 0 1 0 0-4h-1ZM3.12 5.02A3.5 3.5 0 0 0 3.5 12H11a3 3 0 1 0 0-6 4 4 0 0 0-7.88-.98Z\"})),cloud:React5__default.createElement(\"path\",{d:\"M7 2a4 4 0 0 1 4 4 3 3 0 1 1 0 6H3.5a3.5 3.5 0 0 1-.38-6.98A4 4 0 0 1 7 2Z\"}),edit:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"m13.85 2.15-2-2a.5.5 0 0 0-.7 0l-1.5 1.5-9 9a.5.5 0 0 0-.14.26L0 13.39a.5.5 0 0 0 .14.46.5.5 0 0 0 .46.14l2.48-.5a.5.5 0 0 0 .27-.14l9-9 1.5-1.5a.5.5 0 0 0 0-.7ZM12 3.29l.8-.79-1.3-1.3-.8.8L12 3.3Zm-2-.58L1.7 11 3 12.3 11.3 4 10 2.7ZM1.14 12.86l.17-.85.68.68-.85.17Z\"})),cog:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5.59 5.59a2 2 0 0 1 3.27 2.14.5.5 0 1 0 .93.37 3 3 0 1 0-1.7 1.7.5.5 0 1 0-.36-.94A2 2 0 0 1 5.6 5.6Z\",fill:\"#333\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M.94 6.53c.13.12.19.3.18.46 0 .17-.05.34-.18.47L0 8.39c.19.94.55 1.81 1.07 2.58h1.32c.18 0 .34.07.46.2.12.11.2.27.2.45v1.32c.76.51 1.62.88 2.55 1.06l.94-.94a.63.63 0 0 1 .45-.19h.03c.16 0 .33.07.45.19l.94.94a7.1 7.1 0 0 0 2.55-1.06v-1.33c0-.18.07-.35.2-.46.11-.12.27-.2.45-.2h1.33A7.1 7.1 0 0 0 14 8.4l-.95-.94a.64.64 0 0 1-.18-.47c0-.17.06-.34.18-.46l.95-.95a7.1 7.1 0 0 0-1.05-2.52h-1.34a.63.63 0 0 1-.46-.2.64.64 0 0 1-.2-.46V1.06A7.1 7.1 0 0 0 8.42 0l-.94.94a.63.63 0 0 1-.45.19H7a.63.63 0 0 1-.45-.19L5.6 0a7.1 7.1 0 0 0-2.56 1.06v1.33c0 .18-.07.34-.2.46a.63.63 0 0 1-.45.2H1.06A7.1 7.1 0 0 0 0 5.59l.94.94Zm.7 1.63c.33-.32.49-.75.48-1.17 0-.42-.15-.85-.47-1.17l-.54-.54c.12-.43.3-.85.51-1.23h.77c.46 0 .87-.2 1.17-.5.3-.29.48-.7.48-1.16v-.77c.4-.22.81-.39 1.25-.52l.54.55c.33.32.75.48 1.16.48h.03c.42 0 .84-.16 1.16-.48l.54-.54c.44.12.85.3 1.24.5v.8c0 .45.19.87.49 1.16.3.3.7.5 1.16.5h.78c.2.37.38.78.5 1.2l-.54.55c-.33.32-.49.75-.48 1.17 0 .42.15.85.48 1.17l.55.55c-.13.44-.3.85-.52 1.24h-.77c-.45 0-.87.2-1.16.5-.3.29-.5.7-.5 1.16v.77c-.38.21-.8.39-1.23.51l-.54-.54a1.64 1.64 0 0 0-1.16-.48H7c-.41 0-.83.16-1.16.48l-.54.55a6.1 6.1 0 0 1-1.25-.52v-.76c0-.45-.19-.87-.48-1.16-.3-.3-.71-.5-1.17-.5h-.76a6.1 6.1 0 0 1-.53-1.25l.55-.55Z\"})),nut:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5.59 8.41a2 2 0 1 1 3.27-.68.5.5 0 1 0 .93.37 3 3 0 1 0-1.7 1.7.5.5 0 0 0-.36-.94 2 2 0 0 1-2.14-.45Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M6.5.29a1 1 0 0 1 1 0l5.06 2.92c.31.18.5.51.5.87v5.84a1 1 0 0 1-.5.87L7.5 13.7a1 1 0 0 1-1 0L1.44 10.8a1 1 0 0 1-.5-.87V4.08a1 1 0 0 1 .5-.87L6.5.3Zm.5.86 5.06 2.93v5.84L7 12.85 1.94 9.92V4.08L7 1.15Z\"})),wrench:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M10.5 1c.44 0 .56.52.25.83l-.8.81c-.2.2-.2.52 0 .72l.69.7c.2.2.52.2.72 0l.8-.81c.32-.31.84-.2.84.25a2.5 2.5 0 0 1-3.41 2.33L2.7 12.7a1 1 0 0 1-1.42-1.42l6.88-6.88A2.5 2.5 0 0 1 10.5 1ZM2 12.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"})),ellipsis:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M4 7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM13 7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM7 8.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"})),check:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M13.85 3.35a.5.5 0 0 0-.7-.7L5 10.79.85 6.65a.5.5 0 1 0-.7.7l4.5 4.5c.2.2.5.2.7 0l8.5-8.5Z\"})),form:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M2 1a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V6.4a.5.5 0 0 0-1 0V12H2V2h7.5a.5.5 0 0 0 0-1H2Z\"}),React5__default.createElement(\"path\",{d:\"m6.35 9.86 7.5-7.5a.5.5 0 0 0-.7-.71L6 8.8 3.85 6.65a.5.5 0 1 0-.7.7l2.5 2.5c.2.2.5.2.7 0Z\"})),batchdeny:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M11.5 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm-2.646.646a.5.5 0 0 1 0 .708L5.207 7l3.647 3.646a.5.5 0 0 1-.708.708L4.5 7.707.854 11.354a.5.5 0 0 1-.708-.708L3.793 7 .146 3.354a.5.5 0 1 1 .708-.708L4.5 6.293l3.646-3.647a.5.5 0 0 1 .708 0ZM11 7a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 11 7Zm.5 4a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z\"})),batchaccept:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M11.5 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm-2.2.6a.5.5 0 0 1 .1.7l-5.995 7.993a.505.505 0 0 1-.37.206.5.5 0 0 1-.395-.152L.146 8.854a.5.5 0 1 1 .708-.708l2.092 2.093L8.6 2.7a.5.5 0 0 1 .7-.1ZM11 7a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 11 7Zm.5 4a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z\"})),controls:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M10.5 1c.28 0 .5.22.5.5V2h1.5a.5.5 0 0 1 0 1H11v.5a.5.5 0 0 1-1 0V3H1.5a.5.5 0 0 1 0-1H10v-.5c0-.28.22-.5.5-.5ZM1.5 11a.5.5 0 0 0 0 1H10v.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H11v-.5a.5.5 0 0 0-1 0v.5H1.5ZM1 7c0-.28.22-.5.5-.5H3V6a.5.5 0 0 1 1 0v.5h8.5a.5.5 0 0 1 0 1H4V8a.5.5 0 0 1-1 0v-.5H1.5A.5.5 0 0 1 1 7Z\"})),plus:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7.5.5a.5.5 0 0 0-1 0v6h-6a.5.5 0 0 0 0 1h6v6a.5.5 0 0 0 1 0v-6h6a.5.5 0 0 0 0-1h-6v-6Z\"})),closeAlt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M2.03.97A.75.75 0 0 0 .97 2.03L5.94 7 .97 11.97a.75.75 0 1 0 1.06 1.06L7 8.06l4.97 4.97a.75.75 0 1 0 1.06-1.06L8.06 7l4.97-4.97A.75.75 0 0 0 11.97.97L7 5.94 2.03.97Z\"})),cross:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1.85 1.15a.5.5 0 1 0-.7.7L6.29 7l-5.14 5.15a.5.5 0 0 0 .7.7L7 7.71l5.15 5.14a.5.5 0 0 0 .7-.7L7.71 7l5.14-5.15a.5.5 0 0 0-.7-.7L7 6.29 1.85 1.15Z\"})),trash:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5.5 4.5c.28 0 .5.22.5.5v5a.5.5 0 0 1-1 0V5c0-.28.22-.5.5-.5ZM9 5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M4.5.5c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5V2h3a.5.5 0 0 1 0 1H12v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3h-.5a.5.5 0 0 1 0-1h3V.5ZM3 3v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3H3Zm2.5-2h3v1h-3V1Z\"})),pinalt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M13.44 4.44 9.56.56a1.5 1.5 0 0 0-2.12 0L7 1a1.41 1.41 0 0 0 0 2L5 5H3.66A4 4 0 0 0 .83 6.17l-.48.48a.5.5 0 0 0 0 .7l2.8 2.8-3 3a.5.5 0 0 0 .7.7l3-3 2.8 2.8c.2.2.5.2.7 0l.48-.48A4 4 0 0 0 9 10.34V9l2-2c.55.55 1.45.55 2 0l.44-.44a1.5 1.5 0 0 0 0-2.12ZM11 5.59l-3 3v1.75a3 3 0 0 1-.88 2.12L7 12.6 1.41 7l.13-.12A3 3 0 0 1 3.66 6H5.4l3-3-.7-.7a.41.41 0 0 1 0-.6l.44-.43c.2-.2.5-.2.7 0l3.88 3.88c.2.2.2.5 0 .7l-.44.44a.41.41 0 0 1-.58 0L11 5.6Z\"})),unpin:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M13.44 4.44 9.56.56a1.5 1.5 0 0 0-2.12 0L7 1a1.41 1.41 0 0 0 0 2L5.7 4.3l.71.7 2-2-.7-.7a.41.41 0 0 1 0-.6l.44-.43c.2-.2.5-.2.7 0l3.88 3.88c.2.2.2.5 0 .7l-.44.44a.41.41 0 0 1-.58 0L11 5.6l-2 2 .7.7L11 7c.55.55 1.45.55 2 0l.44-.44a1.5 1.5 0 0 0 0-2.12ZM.83 6.17A4 4 0 0 1 3.59 5l1 1h-.93a3 3 0 0 0-2.12.88L1.4 7 7 12.59l.12-.13A3 3 0 0 0 8 10.34v-.93l1 1a4 4 0 0 1-1.17 2.76l-.48.48a.5.5 0 0 1-.7 0l-2.8-2.8-3 3a.5.5 0 0 1-.7-.7l3-3-2.8-2.8a.5.5 0 0 1 0-.7l.48-.48Zm1.02-5.02a.5.5 0 1 0-.7.7l11 11a.5.5 0 0 0 .7-.7l-11-11Z\"})),add:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7 3c.28 0 .5.22.5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3c0-.28.22-.5.5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm0-1A6 6 0 1 0 7 1a6 6 0 0 0 0 12Z\"})),subtract:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M3.5 6.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z\"})),close:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M9.85 4.15c.2.2.2.5 0 .7L7.71 7l2.14 2.15a.5.5 0 0 1-.7.7L7 7.71 4.85 9.85a.5.5 0 0 1-.7-.7L6.29 7 4.15 4.85a.5.5 0 1 1 .7-.7L7 6.29l2.15-2.14c.2-.2.5-.2.7 0Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm0-1A6 6 0 1 0 7 1a6 6 0 0 0 0 12Z\"})),delete:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0a6 6 0 0 1-9.87 4.58l8.45-8.45A5.98 5.98 0 0 1 13 7ZM2.42 10.87l8.45-8.45a6 6 0 0 0-8.46 8.46Z\"})),passed:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm3.85-9.35c.2.2.2.5 0 .7l-4.5 4.5a.5.5 0 0 1-.7 0l-2.5-2.5a.5.5 0 1 1 .7-.7L6 8.79l4.15-4.14c.2-.2.5-.2.7 0Z\"})),changed:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14ZM3.5 6.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Z\"})),failed:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm2.85-9.85c.2.2.2.5 0 .7L7.71 7l2.14 2.15a.5.5 0 0 1-.7.7L7 7.71 4.85 9.85a.5.5 0 0 1-.7-.7L6.29 7 4.15 4.85a.5.5 0 1 1 .7-.7L7 6.29l2.15-2.14c.2-.2.5-.2.7 0Z\"})),clear:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M5 2h7a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H5a2 2 0 0 1-1.41-.59l-3-3a2 2 0 0 1 0-2.82l3-3A2 2 0 0 1 5 2Zm1.15 3.15c.2-.2.5-.2.7 0L8 6.29l1.15-1.14a.5.5 0 1 1 .7.7L8.71 7l1.14 1.15a.5.5 0 0 1-.7.7L8 7.71 6.85 8.85a.5.5 0 1 1-.7-.7L7.29 7 6.15 5.85a.5.5 0 0 1 0-.7Z\"})),comment:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M3.5 5a.5.5 0 1 0 0 1h7a.5.5 0 0 0 0-1h-7ZM3 8.5c0-.27.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M12.5 12H5.7l-1.85 1.86a.5.5 0 0 1-.35.14.5.5 0 0 1-.5-.5V12H1.5a.5.5 0 0 1-.5-.5v-9c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v9a.5.5 0 0 1-.5.5ZM2 11V3h10v8H2Z\"})),commentadd:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7.5 5a.5.5 0 1 0-1 0v1.5H5a.5.5 0 1 0 0 1h1.5V9a.5.5 0 0 0 1 0V7.5H9a.5.5 0 0 0 0-1H7.5V5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3.7 13.97a.5.5 0 0 1-.7-.46V12H1.5a.5.5 0 0 1-.5-.5v-9c0-.28.22-.5.5-.5h11c.28 0 .5.22.5.5v9a.5.5 0 0 1-.5.5H5.7l-1.85 1.85a.5.5 0 0 1-.16.1ZM2 3v8h10V3H2Z\"})),requestchange:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M9.85 6.65c.2.2.2.51 0 .7l-2 2a.5.5 0 1 1-.7-.7L8.3 7.5H4.5a.5.5 0 0 1 0-1h3.79L7.15 5.36a.5.5 0 1 1 .7-.71l2 2Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3.7 13.97a.5.5 0 0 1-.7-.46V12H1.5a.5.5 0 0 1-.5-.5v-9c0-.28.22-.5.5-.5h11c.28 0 .5.22.5.5v9a.5.5 0 0 1-.5.5H5.7l-1.85 1.85a.5.5 0 0 1-.16.1ZM2 3v8h10V3H2Z\"})),comments:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M8.5 7a.5.5 0 0 0 0-1h-5a.5.5 0 1 0 0 1h5ZM9 8.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1 0-1h5c.28 0 .5.23.5.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M12 11.5V10h1.5a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5V3H.5a.5.5 0 0 0-.5.5v8c0 .28.22.5.5.5H2v1.5a.5.5 0 0 0 .5.5.5.5 0 0 0 .35-.14L4.71 12h6.79a.5.5 0 0 0 .5-.5ZM3 3V2h10v7h-1V3.5a.5.5 0 0 0-.5-.5H3Zm-2 8V4h10v7H1Z\"})),lock:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M8 8a1 1 0 0 1-.5.87v1.63a.5.5 0 0 1-1 0V8.87A1 1 0 1 1 8 8Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3 4a4 4 0 1 1 8 0v1h1.5c.28 0 .5.23.5.5v8a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-8c0-.27.22-.5.5-.5H3V4Zm7 1V4a3 3 0 1 0-6 0v1h6Zm2 1H2v7h10V6Z\"})),unlock:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M6.5 8.87a1 1 0 1 1 1 0v1.63a.5.5 0 0 1-1 0V8.87Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",clipRule:\"evenodd\",d:\"M7 1a3 3 0 0 0-3 3v1h8.5c.28 0 .5.23.5.5v8a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-8c0-.27.22-.5.5-.5H3V4a4 4 0 0 1 7.76-1.38.5.5 0 0 1-.94.34A3 3 0 0 0 7 1ZM2 6h10v7H2V6Z\"})),key:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M11 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7.5 8.53v.97a.5.5 0 0 1-.5.5H5.5v1.5a.5.5 0 0 1-.5.5H3.5v1.5a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .15-.36l5.12-5.11a4.5 4.5 0 1 1 2.23 2.5ZM6 4.5a3.5 3.5 0 1 1 1.5 2.87c-.29-.2-1-.37-1 .48V9H5a.5.5 0 0 0-.5.5V11H3a.5.5 0 0 0-.5.5V13H1v-1.3l5.2-5.19c.15-.16.18-.4.1-.6A3.47 3.47 0 0 1 6 4.5Z\"})),outbox:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7.35.15a.5.5 0 0 0-.7 0l-2 2a.5.5 0 1 0 .7.7L6.5 1.72v6.8a.5.5 0 0 0 1 0V1.7l1.15 1.15a.5.5 0 1 0 .7-.71l-2-2Z\"}),React5__default.createElement(\"path\",{d:\"M2 7.5a.5.5 0 1 0-1 0v5c0 .28.22.5.5.5h11a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-1 0V12H2V7.5Z\"})),credit:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M2.5 8a.5.5 0 1 0 0 1h3a.5.5 0 0 0 0-1h-3Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M0 11.5c0 .28.22.5.5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5H.5a.5.5 0 0 0-.5.5v9ZM1 3v1h12V3H1Zm0 8h12V6H1v5Z\"})),button:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1 3a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h3.5a.5.5 0 1 0 0-1H1V4h12v5h-1a.5.5 0 0 0 0 1h1a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H1Z\"}),React5__default.createElement(\"path\",{d:\"M6.45 7a.5.5 0 0 1 .3.08l3.48 2.02a.5.5 0 0 1 0 .87l-1.08.62.75 1.3a.75.75 0 0 1-1.3.75l-.75-1.3-1.07.62a.5.5 0 0 1-.67-.13.5.5 0 0 1-.1-.3L6 7.5a.5.5 0 0 1 .45-.5Z\"})),type:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M4 1.5c0-.27.22-.5.5-.5h5a.5.5 0 1 1 0 1h-2v10h2a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h2V2h-2a.5.5 0 0 1-.5-.5Z\"}),React5__default.createElement(\"path\",{d:\"M0 4.5c0-.27.22-.5.5-.5h4a.5.5 0 1 1 0 1H1v4h3.5a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5v-5ZM9.5 4a.5.5 0 1 0 0 1H13v4H9.5a.5.5 0 1 0 0 1h4a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-4Z\"})),pointerdefault:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5.94 12.46c.11 0 .2-.06.25-.15l1.58-3.16 2.54 2.54c.04.05.1.07.19.07a.3.3 0 0 0 .2-.07l.8-.8a.27.27 0 0 0 0-.38L8.9 7.9l3.4-1.7c.06-.03.1-.07.12-.11a.22.22 0 0 0 .04-.14.33.33 0 0 0-.06-.16.17.17 0 0 0-.09-.07h-.02L1.91 1.55a.27.27 0 0 0-.35.36l4.15 10.37c.04.09.12.16.23.17Zm-.03 1h-.02a1.28 1.28 0 0 1-1.1-.8L.62 2.29A1.27 1.27 0 0 1 2.3.63l10.35 4.15c.52.18.79.65.81 1.11.04.53-.27.98-.7 1.2l-2.17 1.08L12.2 9.8c.5.5.5 1.3 0 1.8l-.8.8v.01c-.5.46-1.3.48-1.8-.01l-1.56-1.56-.95 1.92c-.23.45-.68.7-1.15.7h-.03Z\"})),pointerhand:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M11.87 6v-.02c-.03-.27-.23-.48-.47-.5a.5.5 0 0 0-.53.5v1.41c0 .25-.22.47-.47.47a.48.48 0 0 1-.47-.47V5.17a.6.6 0 0 0 0-.05c-.02-.27-.23-.5-.47-.5a.5.5 0 0 0-.52.5v1.65l-.01.1a.49.49 0 0 1-.46.37.48.48 0 0 1-.47-.47V4.62a.6.6 0 0 0 0-.05c-.03-.27-.23-.48-.47-.5a.5.5 0 0 0-.53.5v2.2c0 .25-.22.47-.47.47a.49.49 0 0 1-.47-.47V1.75c-.02-.27-.22-.5-.47-.5a.5.5 0 0 0-.52.5v6.78c0 .25-.22.47-.47.47a.48.48 0 0 1-.47-.47v-.26a.78.78 0 0 0-.06-.31.65.65 0 0 0-.16-.22l-.2-.19A6.37 6.37 0 0 0 3.06 7h-.02c-.43-.34-.62-.25-.69-.2-.26.14-.29.5-.13.74l1.73 2.6v.01h-.01l-.04.02.05-.02s1.21 2.6 3.57 2.6c3.54 0 4.2-1.9 4.31-4.42.04-.6.04-1.19.03-1.78V6Zm.97 2.38c-.06 1.29-.26 2.67-1.08 3.72-.88 1.12-2.29 1.65-4.23 1.65a4.64 4.64 0 0 1-3.4-1.62 6.96 6.96 0 0 1-1.05-1.5v-.02L1.4 8.1A1.6 1.6 0 0 1 1.15 7c.05-.38.26-.8.69-1.04.2-.13.48-.23.85-.19.36.05.68.22.98.45.14.1.27.22.4.33v-4.8A1.5 1.5 0 0 1 5.63.25c.93.04 1.43.86 1.43 1.55v1.33c.17-.05.35-.07.53-.06h.02c.5.04.91.33 1.15.71a1.5 1.5 0 0 1 .74-.16c.66.03 1.12.46 1.32.97a1.5 1.5 0 0 1 .64-.1h.02c.85.06 1.39.8 1.39 1.55v.48c0 .6 0 1.24-.03 1.86Z\"})),browser:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M.5 13a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h13c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5H.5Zm.5-1V4h12v8H1Zm1-9.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"})),tablet:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3.5 0C2.67 0 2 .68 2 1.5v11c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5v-11c0-.82-.67-1.5-1.5-1.5h-7Zm0 1h7c.28 0 .5.23.5.5V11H3V1.5c0-.27.22-.5.5-.5ZM6 12a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1H6Z\"})),mobile:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3 1.5C3 .68 3.67 0 4.5 0h5c.83 0 1.5.68 1.5 1.5v11c0 .83-.67 1.5-1.5 1.5h-5A1.5 1.5 0 0 1 3 12.5v-11ZM4 12V2h6v10H4Z\"})),watch:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{key:\"watch\",fillRule:\"evenodd\",d:\"M4 .5c0-.27.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5A.5.5 0 0 1 4 .5ZM9.5 3h-5a.5.5 0 0 0-.5.5v7c0 .28.22.5.5.5h5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5Zm-5-1C3.67 2 3 2.68 3 3.5v7c0 .83.67 1.5 1.5 1.5h5c.83 0 1.5-.67 1.5-1.5v-7c0-.82-.67-1.5-1.5-1.5h-5ZM7 4c.28 0 .5.23.5.5v2h1a.5.5 0 1 1 0 1H7a.5.5 0 0 1-.5-.5V4.5c0-.27.22-.5.5-.5Zm-2.5 9a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z\"})),sidebar:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M2.5 4.5c0-.27.22-.5.5-.5h1a.5.5 0 1 1 0 1H3a.5.5 0 0 1-.5-.5ZM3 6a.5.5 0 1 0 0 1h1a.5.5 0 0 0 0-1H3Zm-.5 2.5c0-.27.22-.5.5-.5h1a.5.5 0 1 1 0 1H3a.5.5 0 0 1-.5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1.5 13a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11Zm.5-1V2h3v10H2ZM6 2h6v10H6V2Z\"})),sidebaralt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M9.5 4.5c0-.27.22-.5.5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM10 6a.5.5 0 1 0 0 1h1a.5.5 0 0 0 0-1h-1Zm-.5 2.5c0-.27.22-.5.5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1.5 13a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11Zm.5-1V2h6v10H2ZM9 2h3v10H9V2Z\"})),sidebaralttoggle:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M11.5 4.5A.5.5 0 0 0 11 4h-1a.5.5 0 1 0 0 1h1a.5.5 0 0 0 .5-.5ZM11 6a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1h1Zm.5 2.5A.5.5 0 0 0 11 8h-1a.5.5 0 1 0 0 1h1a.5.5 0 0 0 .5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1.5 13a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11ZM9 12h3V2H9v10Zm-1 0H2V2h6v4.5H5.2l.66-.65a.5.5 0 1 0-.71-.7l-1.5 1.5a.5.5 0 0 0 0 .7l1.5 1.5a.5.5 0 1 0 .7-.7l-.64-.65H8V12Z\"})),sidebartoggle:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M2.5 4.5c0-.27.22-.5.5-.5h1a.5.5 0 1 1 0 1H3a.5.5 0 0 1-.5-.5ZM3 6a.5.5 0 1 0 0 1h1a.5.5 0 0 0 0-1H3Zm-.5 2.5c0-.27.22-.5.5-.5h1a.5.5 0 1 1 0 1H3a.5.5 0 0 1-.5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1.5 13a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11Zm.5-1V2h3v10H2Zm4 0V7.5h2.8l-.65.65a.5.5 0 1 0 .7.7l1.5-1.5a.5.5 0 0 0 0-.7l-1.5-1.5a.5.5 0 1 0-.7.7l.64.65H6V2h6v10H6Z\"})),bottombar:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M3 10.5c0-.27.22-.5.5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm3.5-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5c0-.27.22-.5.5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1 1.5c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11ZM2 8V2h10v6H2Zm10 1v3H2V9h10Z\"})),bottombartoggle:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M3.5 10a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5c0-.27.22-.5.5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm3.5-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1 12.5v-11c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5Zm1-.5V9h10v3H2Zm4.5-4H2V2h10v6H7.5V5.21l.65.65a.5.5 0 1 0 .7-.71l-1.5-1.5a.5.5 0 0 0-.7 0l-1.5 1.5a.5.5 0 1 0 .7.7l.65-.64v2.8Z\"})),cpu:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M5 5.5c0-.27.22-.5.5-.5h3c.28 0 .5.23.5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3ZM6 8V6h2v2H6Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M5.5 0c.28 0 .5.23.5.5V2h2V.5a.5.5 0 0 1 1 0V2h2.5c.28 0 .5.23.5.5V5h1.5a.5.5 0 0 1 0 1H12v2h1.5a.5.5 0 0 1 0 1H12v2.5a.5.5 0 0 1-.5.5H9v1.5a.5.5 0 0 1-1 0V12H6v1.5a.5.5 0 0 1-1 0V12H2.5a.5.5 0 0 1-.5-.5V9H.5a.5.5 0 0 1 0-1H2V6H.5a.5.5 0 0 1 0-1H2V2.5c0-.27.22-.5.5-.5H5V.5c0-.27.22-.5.5-.5ZM11 3H3v8h8V3Z\"})),database:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M12 3c0-1.1-2.24-2-5-2s-5 .9-5 2v8c0 .43.26.75.54.98.3.23.68.41 1.12.55.88.3 2.06.47 3.34.47 1.28 0 2.46-.17 3.34-.46.44-.15.83-.33 1.12-.56.28-.23.54-.55.54-.98V3Zm-1.03 0a2.45 2.45 0 0 0-.8-.49A8.88 8.88 0 0 0 7 2c-1.29 0-2.4.21-3.16.51a2.45 2.45 0 0 0-.81.49l.05.05c.13.13.37.28.76.44C4.6 3.79 5.7 4 7 4s2.4-.21 3.16-.51a2.45 2.45 0 0 0 .81-.49ZM11 5.75V4.2A8.9 8.9 0 0 1 7 5a8.98 8.98 0 0 1-4-.8v1.55l.02.04c.02.04.06.09.14.15.17.13.44.27.82.4A10 10 0 0 0 7 6.75a10 10 0 0 0 3.02-.41c.38-.13.65-.27.82-.4a.62.62 0 0 0 .14-.15.15.15 0 0 0 .02-.03v-.01ZM3 7.01c.2.1.42.2.66.28.88.29 2.06.46 3.34.46 1.28 0 2.46-.17 3.34-.46.24-.08.46-.17.66-.28V8.5l-.02.04a.62.62 0 0 1-.14.15c-.17.13-.44.27-.82.4A10 10 0 0 1 7 9.5a10 10 0 0 1-3.02-.41 2.76 2.76 0 0 1-.82-.4.62.62 0 0 1-.14-.15.15.15 0 0 1-.02-.03V7Zm0 2.75V11l.02.04c.02.04.06.09.14.15.17.13.44.27.82.4A10 10 0 0 0 7 12a10 10 0 0 0 3.02-.41c.38-.13.65-.27.82-.4a.62.62 0 0 0 .14-.15.15.15 0 0 0 .02-.03V9.76c-.2.1-.42.2-.66.28-.88.29-2.06.46-3.34.46-1.28 0-2.46-.17-3.34-.46A4.77 4.77 0 0 1 3 9.76Z\"})),memory:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5 3a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0V3Zm2-.5c.28 0 .5.22.5.5v3a.5.5 0 0 1-1 0V3c0-.28.22-.5.5-.5Zm3 2a.5.5 0 1 0-1 0V6a.5.5 0 0 0 1 0V4.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M12 3.54a.5.5 0 0 0-.15-.39l-3-3a.5.5 0 0 0-.38-.14H2.5a.5.5 0 0 0-.5.5v13c0 .27.22.5.5.5h9a.5.5 0 0 0 .5-.5V3.53ZM3 1h5.3L11 3.71v5.3H3V1Zm0 9v3h8v-3H3Z\"})),structure:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M8.16 3.45a1.5 1.5 0 1 0-2.33 0l-4.02 6.58A1.5 1.5 0 1 0 2.91 12h8.18a1.5 1.5 0 1 0 1.1-1.97L8.16 3.45Zm-1.47.52a1.5 1.5 0 0 0 .62 0l4.03 6.58c-.11.14-.2.29-.25.45H2.9a1.5 1.5 0 0 0-.25-.45L6.7 3.97Z\"})),box:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"m7.21.05 6.49 2.99a.5.5 0 0 1 .3.47v6.98a.5.5 0 0 1-.3.47l-6.47 2.98a.5.5 0 0 1-.46 0L.3 10.96a.5.5 0 0 1-.3-.47V3.5a.5.5 0 0 1 .3-.47L6.79.05a.5.5 0 0 1 .43 0ZM1 4.28v5.9l5.5 2.54v-5.9L1 4.28Zm6.5 8.44 5.5-2.54v-5.9L7.5 6.82v5.9Zm4.8-9.22L7 5.95 1.7 3.5 7 1.05l5.3 2.45Z\"})),power:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7.5.5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0v-6Z\"}),React5__default.createElement(\"path\",{d:\"M4.27 2.8a.5.5 0 0 0-.54-.83 6 6 0 1 0 6.54 0 .5.5 0 0 0-.54.84 5 5 0 1 1-5.46 0Z\"})),photo:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M6.25 4.25a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm-.5 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M13 1.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5ZM2 9.3V2h10v5.3L9.85 5.15a.5.5 0 0 0-.7 0L6.5 7.8 5.35 6.65a.5.5 0 0 0-.7 0L2 9.3Zm7.5-3.1L12 8.7V12H2v-1.3l3-3 3.15 3.15a.5.5 0 0 0 .7-.71L7.21 8.5 9.5 6.21Z\"})),component:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3.5 1A2.5 2.5 0 0 0 1 3.5v7A2.5 2.5 0 0 0 3.5 13h7a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 10.5 1h-7ZM12 6.5H7.5V2h3c.83 0 1.5.68 1.5 1.5v3Zm0 1v3c0 .83-.67 1.5-1.5 1.5h-3V7.5H12ZM6.5 12V7.5H2v3c0 .83.67 1.5 1.5 1.5h3ZM2 6.5h4.5V2h-3C2.67 2 2 2.68 2 3.5v3Z\"})),grid:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1 1.5c0-.27.22-.5.5-.5H6c.28 0 .5.23.5.5V6a.5.5 0 0 1-.5.5H1.5A.5.5 0 0 1 1 6V1.5Zm1 4V2h3.5v3.5H2Zm5.5-4c0-.27.22-.5.5-.5h4.5c.28 0 .5.23.5.5V6a.5.5 0 0 1-.5.5H8a.5.5 0 0 1-.5-.5V1.5Zm1 4V2H12v3.5H8.5Zm-7 2A.5.5 0 0 0 1 8v4.5c0 .28.22.5.5.5H6a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5H1.5Zm.5 1V12h3.5V8.5H2ZM7.5 8c0-.27.22-.5.5-.5h4.5c.28 0 .5.23.5.5v4.5a.5.5 0 0 1-.5.5H8a.5.5 0 0 1-.5-.5V8Zm1 4V8.5H12V12H8.5Z\"})),outline:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M2 2v2H1V1.5c0-.27.22-.5.5-.5H4v1H2ZM1 9V5h1v4H1Zm0 1v2.5c0 .28.22.5.5.5H4v-1H2v-2H1Zm9 3h2.5a.5.5 0 0 0 .5-.5V10h-1v2h-2v1Zm2-9h1V1.5a.5.5 0 0 0-.5-.5H10v1h2v2Zm-3 8v1H5v-1h4ZM9 1v1H5V1h4Zm4 8h-1V5h1v4ZM7 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"})),photodrag:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M8.25 3.25a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm-.5 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M14 7V.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5V3H.5a.5.5 0 0 0-.5.5V6h1V4h2v6.5c0 .28.22.5.5.5H10v2H8v1h2.5a.5.5 0 0 0 .5-.5V11h2.5a.5.5 0 0 0 .5-.5V7ZM4 1v5.8l1.65-1.65c.2-.2.5-.2.7 0L7.5 6.3l2.65-2.65c.2-.2.5-.2.7 0L13 5.8V1H4Zm9 6.21-2.5-2.5-2.3 2.3 1.15 1.14a.5.5 0 1 1-.7.7L6 6.22l-2 2v1.8h9V7.2Z\"}),React5__default.createElement(\"path\",{d:\"M0 10V7h1v3H0Zm0 3.5V11h1v2h2v1H.5a.5.5 0 0 1-.5-.5Zm7 .5H4v-1h3v1Z\"})),search:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M9.54 10.2a5.5 5.5 0 1 1 .66-.66c.06.03.11.06.15.1l3 3a.5.5 0 0 1-.7.71l-3-3a.5.5 0 0 1-.1-.14ZM10.5 6a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z\"})),zoom:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M6 3.5c.28 0 .5.22.5.5v1.5H8a.5.5 0 0 1 0 1H6.5V8a.5.5 0 0 1-1 0V6.5H4a.5.5 0 0 1 0-1h1.5V4c0-.28.22-.5.5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M9.54 10.2a5.5 5.5 0 1 1 .66-.66c.06.03.11.06.15.1l3 3a.5.5 0 0 1-.7.71l-3-3a.5.5 0 0 1-.1-.14ZM10.5 6a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z\"})),zoomout:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M4 5.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H4Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M6 11.5c1.35 0 2.59-.49 3.54-1.3.03.06.06.11.1.15l3 3a.5.5 0 0 0 .71-.7l-3-3a.5.5 0 0 0-.14-.1A5.5 5.5 0 1 0 6 11.5Zm0-1a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z\"})),zoomreset:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1.5 2.84V1.5a.5.5 0 0 0-1 0V4c0 .28.22.5.5.5h2.5a.5.5 0 0 0 0-1H2.26a4.5 4.5 0 1 1-.5 4.02.5.5 0 1 0-.94.33 5.5 5.5 0 0 0 8.72 2.36l.1.14 3 3a.5.5 0 0 0 .71-.7l-3-3a.5.5 0 0 0-.14-.1 5.5 5.5 0 1 0-8.7-6.7Z\"})),eye:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7 9.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"m14 7-.2.3c-.13.16-3.06 4.2-6.8 4.2C3.26 11.5.33 7.46.2 7.3L0 7l.2-.3C.34 6.55 3.27 2.5 7 2.5c3.74 0 6.67 4.04 6.8 4.2l.2.3ZM2.9 5.3A13 13 0 0 0 1.24 7 13 13 0 0 0 2.9 8.7c1.14.97 2.58 1.8 4.1 1.8 1.52 0 2.96-.83 4.1-1.8A13 13 0 0 0 12.76 7a13 13 0 0 0-1.66-1.7C9.96 4.33 8.52 3.5 7 3.5c-1.52 0-2.96.83-4.1 1.8Z\"})),eyeclose:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1.85 1.15a.5.5 0 1 0-.7.7l11 11a.5.5 0 0 0 .7-.7l-11-11ZM11.1 8.7c-.17.15-.36.3-.55.44l.72.71a13.25 13.25 0 0 0 2.52-2.56L14 7l-.2-.3c-.13-.16-3.06-4.2-6.8-4.2-.89 0-1.73.23-2.5.58l.76.76A4.86 4.86 0 0 1 7 3.5c1.52 0 2.96.83 4.1 1.8A13 13 0 0 1 12.76 7a13 13 0 0 1-1.66 1.7ZM.2 6.7c.08-.09 1.04-1.41 2.53-2.55l.72.71c-.2.14-.38.3-.55.44A13 13 0 0 0 1.24 7 13 13 0 0 0 2.9 8.7c1.14.97 2.58 1.8 4.1 1.8.6 0 1.18-.13 1.74-.34l.77.76c-.78.35-1.62.58-2.51.58C3.26 11.5.33 7.46.2 7.3L0 7l.2-.3Z\"}),React5__default.createElement(\"path\",{d:\"M4.5 7c0-.32.06-.63.17-.91l3.24 3.24A2.5 2.5 0 0 1 4.5 7Zm4.83.91L6.09 4.67a2.5 2.5 0 0 1 3.24 3.24Z\"})),lightning:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M2.52 6.6a.57.57 0 0 0-.17.54c.04.2.19.37.38.41l2.78.73-1.5 5c-.06.24.02.5.22.63a.5.5 0 0 0 .28.09.5.5 0 0 0 .35-.14L11.5 7.4c.14-.13.2-.34.15-.54a.53.53 0 0 0-.38-.4l-2.7-.7L10.79.78c.1-.23.04-.5-.15-.66a.5.5 0 0 0-.65 0L2.52 6.6Zm7.72.63-3.07-.8 1.85-4.14-5.2 4.51 2.94.77-1.27 4.28 4.75-4.62Zm-5.73 6.2.04.02Z\"})),lightningoff:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M10.14 8.72 11.5 7.4c.14-.13.2-.34.15-.54a.53.53 0 0 0-.38-.4l-2.7-.7L10.79.78c.1-.23.04-.5-.15-.66a.5.5 0 0 0-.65 0L5.46 4.05l.71.7L9.02 2.3 7.38 5.97l.7.7 2.16.56-.8.79.7.7ZM2.52 6.6a.57.57 0 0 0-.17.54c.04.2.19.37.38.41l2.78.73-1.5 5c-.06.24.02.5.22.63a.5.5 0 0 0 .63-.05l3.84-3.74-.7-.7-2.51 2.43 1.13-3.81-.68-.69L3.8 6.8l.85-.73-.71-.7L2.52 6.6Zm-.67-5.45a.5.5 0 1 0-.7.7l11 11a.5.5 0 0 0 .7-.7l-11-11Z\"})),contrast:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3 3H.5a.5.5 0 0 0-.5.5v10c0 .28.22.5.5.5h10a.5.5 0 0 0 .5-.5V11h2.5a.5.5 0 0 0 .5-.5V.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5V3Zm1 1v2.3L6.3 4H4ZM3 4v6.5a.5.5 0 0 0 .5.5H10v2H1V4h2Zm1-1h6.5a.5.5 0 0 1 .5.5V10h2V1H4v2Zm6 7V7.71l-2.3 2.3H10Zm0-3.7V4.7L4.7 10h1.6L10 6.3ZM9.3 4H7.7L4 7.71V9.3L9.3 4Z\"})),switchalt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3 3V.5c0-.27.22-.5.5-.5h10c.28 0 .5.23.5.5v10a.5.5 0 0 1-.5.5H11v2.5a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-10c0-.27.22-.5.5-.5H3Zm1 0V1h9v9h-2V3.5a.5.5 0 0 0-.5-.5H4Zm6 8v2H1V4h2v6.5c0 .28.22.5.5.5H10Zm0-1H4V4h6v6Z\"})),mirror:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1 1.5c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11ZM2 12h10V2L2 12Z\"})),grow:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1.5 1a.5.5 0 1 0 0 1H12v10.5a.5.5 0 0 0 1 0V2a1 1 0 0 0-1-1H1.5Z\"}),React5__default.createElement(\"path\",{d:\"M1 3.5c0-.27.22-.5.5-.5H10a1 1 0 0 1 1 1v8.5a.5.5 0 0 1-1 0V4H1.5a.5.5 0 0 1-.5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1.5 5a.5.5 0 0 0-.5.5v7c0 .28.22.5.5.5h7a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-7ZM2 6v6h6V6H2Z\"})),paintbrush:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M11.8535.1464a.5.5 0 0 0-.7071 0L2.9827 8.3102a2.2396 2.2396 0 0 0-1.0737.599C.6772 10.141.2402 11.903.0852 12.9978 0 13.5998 0 14.0002 0 14.0002s.4004 0 1.0023-.0853c1.095-.155 2.8569-.5919 4.0887-1.8237.307-.307.5067-.6806.5992-1.0743l8.1633-8.1633a.5.5 0 0 0 0-.7071l-2-2Zm-6.253 9.546L6.543 8.75l-1.293-1.2929-.9424.9424a2.242 2.242 0 0 1 .7835.5097c.23.2302.4.4977.5095.7831ZM7.25 8.0428 12.7929 2.5 11.5 1.2071 5.957 6.75 7.25 8.0429ZM4.3839 9.6163c.4881.4882.4881 1.2796 0 1.7678-.7665.7664-1.832 1.1845-2.7791 1.403a8.6972 8.6972 0 0 1-.49.0982 8.7151 8.7151 0 0 1 .0982-.4899c.2186-.9471.6367-2.0126 1.403-2.779.4882-.4882 1.2797-.4882 1.7679 0Z\"})),ruler:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1.5 1c.28 0 .5.23.5.5V2h10v-.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-1 0V3H2v.5a.5.5 0 0 1-1 0v-2c0-.27.22-.5.5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1.5 6a.5.5 0 0 0-.5.5v6c0 .28.22.5.5.5h11a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-11ZM2 7v5h10V7h-1v2.5a.5.5 0 0 1-1 0V7h-.75v1a.5.5 0 0 1-1 0V7H7.5v2.5a.5.5 0 0 1-1 0V7h-.75v1a.5.5 0 0 1-1 0V7H4v2.5a.5.5 0 0 1-1 0V7H2Z\"})),stop:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M4.5 4a.5.5 0 0 0-.5.5v5c0 .28.22.5.5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z\"})),camera:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M10 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9 7a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M2.5 1a.5.5 0 0 0-.5.5V2H.5a.5.5 0 0 0-.5.5v9c0 .28.22.5.5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5H6v-.5a.5.5 0 0 0-.5-.5h-3ZM1 3v8h12V3H1Z\"})),video:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M2.5 10a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M0 4c0-1.1.9-2 2-2h6a2 2 0 0 1 2 2v.5l3.19-2.4a.5.5 0 0 1 .81.4v9a.5.5 0 0 1-.8.4L10 9.5v.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm9 0v1.5a.5.5 0 0 0 .8.4L13 3.5v7L9.8 8.1a.5.5 0 0 0-.8.4V10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1Z\"})),speaker:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1 4.50004V9.50004C1 9.77618 1.22386 10 1.5 10H4L7.17075 12.7744C7.49404 13.0573 8 12.8277 8 12.3982V1.60192C8 1.17235 7.49404 0.942757 7.17075 1.22564L4 4.00004H1.5C1.22386 4.00004 1 4.2239 1 4.50004ZM4 9.00004V5.00004H2V9.00004H4ZM4.99804 9.54456C4.99934 9.52989 5 9.51505 5 9.50004V4.50004C5 4.48504 4.99934 4.47019 4.99804 4.45552L7 2.70381V11.2963L4.99804 9.54456Z\"}),React5__default.createElement(\"path\",{d:\"M10.1498 1.75202C9.88637 1.66927 9.60572 1.81577 9.52297 2.07922C9.44023 2.34267 9.58672 2.62332 9.85017 2.70607C11.6763 3.27963 13 4.98596 13 7.00014C13 9.01433 11.6763 10.7207 9.85017 11.2942C9.58672 11.377 9.44023 11.6576 9.52297 11.9211C9.60572 12.1845 9.88637 12.331 10.1498 12.2483C12.3808 11.5476 14 9.4636 14 7.00014C14 4.53669 12.3808 2.45272 10.1498 1.75202Z\"}),React5__default.createElement(\"path\",{d:\"M10.2504 3.96861C10.0113 3.83033 9.70547 3.91201 9.5672 4.15105C9.42893 4.39008 9.51061 4.69594 9.74964 4.83421C10.4982 5.26723 11 6.07534 11 7.00006C11 7.92479 10.4982 8.7329 9.74964 9.16591C9.51061 9.30418 9.42893 9.61005 9.5672 9.84908C9.70547 10.0881 10.0113 10.1698 10.2504 10.0315C11.2952 9.42711 12 8.29619 12 7.00006C12 5.70394 11.2952 4.57302 10.2504 3.96861Z\"})),play:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"m12.81 7.43-9.05 5.6A.5.5 0 0 1 3 12.6V1.4c0-.4.43-.63.76-.43l9.05 5.6a.5.5 0 0 1 0 .86Z\"})),playback:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M11.24 12.04 3.7 7.42a.5.5 0 0 1-.2-.23v4.05a.75.75 0 0 1-1.5 0v-8.5a.75.75 0 0 1 1.5 0V6.8a.5.5 0 0 1 .2-.23l7.54-4.6a.5.5 0 0 1 .76.42v9.22a.5.5 0 0 1-.76.43Z\"})),playnext:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"m2.76 12.04 7.54-4.61a.5.5 0 0 0 .2-.23v4.05a.75.75 0 0 0 1.5 0v-8.5a.75.75 0 0 0-1.5 0V6.8a.5.5 0 0 0-.2-.23l-7.54-4.6a.5.5 0 0 0-.76.42v9.22c0 .39.43.63.76.43Z\"})),rewind:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M9 2.42v2.32L13.23 2a.5.5 0 0 1 .77.42v9.16a.5.5 0 0 1-.77.42L9 9.26v2.32a.5.5 0 0 1-.77.42L1.5 7.65v3.6a.75.75 0 0 1-1.5 0v-8.5a.75.75 0 0 1 1.5 0v3.6L8.23 2a.5.5 0 0 1 .77.42Z\"})),fastforward:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5 2.42v2.32L.77 2a.5.5 0 0 0-.77.42v9.16c0 .4.44.64.77.42L5 9.26v2.32c0 .4.44.64.77.42l6.73-4.35v3.6a.75.75 0 0 0 1.5 0v-8.5a.75.75 0 0 0-1.5 0v3.6L5.77 2a.5.5 0 0 0-.77.42Z\"})),stopalt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1 1.5c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11Z\"})),sidebyside:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1 1.5c0-.27.22-.5.5-.5h11c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11ZM2 12V2h5v10H2Z\"})),stacked:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M12.5 1c.28 0 .5.23.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11c0-.27.22-.5.5-.5h11ZM2 2h10v5H2V2Z\"})),sun:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7.5.5a.5.5 0 0 0-1 0V2a.5.5 0 0 0 1 0V.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7 10a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm0-1a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"}),React5__default.createElement(\"path\",{d:\"M7 11.5c.28 0 .5.22.5.5v1.5a.5.5 0 0 1-1 0V12c0-.28.22-.5.5-.5ZM11.5 7c0-.28.22-.5.5-.5h1.5a.5.5 0 0 1 0 1H12a.5.5 0 0 1-.5-.5ZM.5 6.5a.5.5 0 0 0 0 1H2a.5.5 0 0 0 0-1H.5ZM3.82 10.18c.2.2.2.51 0 .7l-1.06 1.07a.5.5 0 1 1-.71-.7l1.06-1.07c.2-.2.51-.2.7 0ZM11.95 2.76a.5.5 0 1 0-.7-.71l-1.07 1.06a.5.5 0 1 0 .7.7l1.07-1.05ZM10.18 10.18c.2-.2.51-.2.7 0l1.07 1.06a.5.5 0 1 1-.7.71l-1.07-1.06a.5.5 0 0 1 0-.7ZM2.76 2.05a.5.5 0 1 0-.71.7l1.06 1.07a.5.5 0 0 0 .7-.7L2.77 2.04Z\"})),moon:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7.78.04a7.03 7.03 0 0 0-4.28.9 7 7 0 1 0 9.87 8.96c.1-.21-.14-.41-.36-.32a4.98 4.98 0 0 1-2 .42A5 5 0 0 1 8.53.65c.2-.12.19-.44-.04-.49a7.04 7.04 0 0 0-.72-.12Zm-1.27.98a6 6 0 0 0 4.98 9.96 6 6 0 1 1-4.98-9.96Z\"})),book:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M13 2a2 2 0 0 0-2-2H1.5a.5.5 0 0 0-.5.5v13c0 .28.22.5.5.5H11a2 2 0 0 0 2-2V2ZM3 13h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H7v6a.5.5 0 0 1-.86.36L5.5 6.7l-.65.65A.5.5 0 0 1 4 7V1H3v12ZM5 1v4.8l.15-.15a.5.5 0 0 1 .74.04l.11.1V1H5Z\"})),document:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M4 5.5c0-.28.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM4.5 7.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM4 10.5c0-.28.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1.5 0a.5.5 0 0 0-.5.5v13c0 .28.22.5.5.5h11a.5.5 0 0 0 .5-.5V3.2a.5.5 0 0 0-.15-.35l-2.7-2.7A.5.5 0 0 0 9.79 0H1.5ZM2 1h7.5v2c0 .28.22.5.5.5h2V13H2V1Z\"})),copy:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M11.75.07A.5.5 0 0 0 11.5 0h-6a.5.5 0 0 0-.5.5V3H.5a.5.5 0 0 0-.5.5v10c0 .28.22.5.5.5h8a.5.5 0 0 0 .5-.5V11h4.5a.5.5 0 0 0 .5-.5V2.51a.5.5 0 0 0-.15-.36l-2-2a.5.5 0 0 0-.1-.08ZM9 10h4V3h-1.5a.5.5 0 0 1-.5-.5V1H6v2h.5a.5.5 0 0 1 .36.15l1.99 2c.1.09.15.21.15.35v4.51ZM1 4v9h7V6H6.5a.5.5 0 0 1-.5-.5V4H1Z\"})),category:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M3 1.5c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm-1 2c0-.27.22-.5.5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1 5.5c0-.28.22-.5.5-.5h11c.28 0 .5.22.5.5v7a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-7ZM2 12V6h10v6H2Z\"})),folder:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M6.59 3.5 5.09 2H1v9h12V3.5H6.59Zm.41-1L5.8 1.3a1 1 0 0 0-.71-.3H.5a.5.5 0 0 0-.5.5v10c0 .28.22.5.5.5h13a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5H7Z\"})),print:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M4.5 8a.5.5 0 1 0 0 1h5a.5.5 0 0 0 0-1h-5Zm0 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M2 1.5c0-.27.22-.5.5-.5h8a.5.5 0 0 1 .36.15l.99 1c.1.09.15.21.15.35v1.51h1.5c.28 0 .5.22.5.5v5a.5.5 0 0 1-.5.5H12v2.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V10H.5a.5.5 0 0 1-.5-.5v-5c0-.28.22-.5.5-.5H2V1.5ZM13 9h-1V6.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5V9H1V5h12v4Zm-2-6v1H3V2h7v.5c0 .28.22.5.5.5h.5Zm-8 9h8V7H3v5Z\"})),graphline:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5.15 6.15c.2-.2.5-.2.7 0L7 7.3l2.15-2.15c.2-.2.5-.2.7 0l1 1a.5.5 0 0 1-.7.7l-.65-.64-2.15 2.15a.5.5 0 0 1-.7 0L5.5 7.2 3.85 8.86a.5.5 0 1 1-.7-.71l2-2Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1.5 1a.5.5 0 0 0-.5.5v11c0 .28.22.5.5.5h11a.5.5 0 0 0 .5-.5v-11a.5.5 0 0 0-.5-.5h-11ZM2 2v10h10V2H2Z\"})),calendar:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3.5 0c.28 0 .5.22.5.5V1h6V.5a.5.5 0 0 1 1 0V1h1.5c.28 0 .5.22.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11c0-.28.22-.5.5-.5H3V.5c0-.28.22-.5.5-.5ZM2 4v2.3h3V4H2Zm0 5.2V6.8h3v2.4H2Zm0 .5V12h3V9.7H2Zm3.5 0V12h3V9.7h-3Zm3.5 0V12h3V9.7H9Zm3-.5H9V6.8h3v2.4Zm-3.5 0h-3V6.8h3v2.4ZM9 4v2.3h3V4H9ZM5.5 6.3h3V4h-3v2.3Z\"})),graphbar:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M12 2.5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0v-10Zm-3 2a.5.5 0 0 0-1 0v8a.5.5 0 0 0 1 0v-8ZM5.5 7c.28 0 .5.22.5.5v5a.5.5 0 0 1-1 0v-5c0-.28.22-.5.5-.5ZM3 10.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2Z\"})),menu:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M13 2a.5.5 0 0 1 0 1H1a.5.5 0 0 1 0-1h12Zm-3 3a.5.5 0 0 1 0 1H1a.5.5 0 0 1 0-1h9Zm1.5 3.5A.5.5 0 0 0 11 8H1a.5.5 0 0 0 0 1h10a.5.5 0 0 0 .5-.5Zm-4 2.5a.5.5 0 0 1 0 1H1a.5.5 0 0 1 0-1h6.5Z\"})),menualt:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1 2a.5.5 0 0 0 0 1h12a.5.5 0 0 0 0-1H1Zm3 3a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1H4ZM2.5 8.5c0-.28.22-.5.5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5Zm4 2.5a.5.5 0 0 0 0 1H13a.5.5 0 0 0 0-1H6.5Z\"})),filter:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1 2a.5.5 0 0 0 0 1h12a.5.5 0 0 0 0-1H1Zm2 3a.5.5 0 0 0 0 1h8a.5.5 0 0 0 0-1H3Zm1.5 3.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5Zm2 2.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z\"})),docchart:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1 1.5C1 1.22386 1.22386 1 1.5 1H12.5C12.7761 1 13 1.22386 13 1.5V12.5C13 12.7761 12.7761 13 12.5 13H1.5C1.22386 13 1 12.7761 1 12.5V1.5ZM2 4V6.2998H5V4H2ZM2 9.2002V6.7998H5V9.2002H2ZM2 9.7002V12H5V9.7002H2ZM5.5 9.7002V12H8.5V9.7002H5.5ZM9 9.7002V12H12V9.7002H9ZM12 9.2002H9V6.7998H12V9.2002ZM8.5 9.2002H5.5V6.7998H8.5V9.2002ZM9 6.2998H12V4H9V6.2998ZM5.5 6.2998H8.5V4H5.5V6.2998Z\"})),doclist:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M3.5 6.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.5-.5ZM4 9a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H4Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M1 1.5c0-.28.22-.5.5-.5h11c.28 0 .5.22.5.5v11a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11ZM2 4v8h10V4H2Z\"})),markup:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M8.98 1.63a.5.5 0 0 0-.96-.26l-3 11a.5.5 0 1 0 .96.26l3-11ZM3.32 3.62a.5.5 0 0 1 .06.7L1.15 7l2.23 2.68a.5.5 0 1 1-.76.64l-2.5-3a.5.5 0 0 1 0-.64l2.5-3a.5.5 0 0 1 .7-.06Zm7.36 0a.5.5 0 0 0-.06.7L12.85 7l-2.23 2.68a.5.5 0 0 0 .76.64l2.5-3a.5.5 0 0 0 0-.64l-2.5-3a.5.5 0 0 0-.7-.06Z\"})),bold:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3 2v1.5h1v7H3V12h5a3 3 0 0 0 1.8-5.4A2.74 2.74 0 0 0 8 2H3Zm5 5.5H5.5v3H8a1.5 1.5 0 1 0 0-3Zm-.25-4H5.5V6h2.25a1.25 1.25 0 1 0 0-2.5Z\"})),italic:React5__default.createElement(\"path\",{d:\"M5 2h6v1H8.5l-2 8H9v1H3v-1h2.5l2-8H5V2Z\"}),paperclip:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M10.55 2.27a1.5 1.5 0 0 0-2.12 0L2.78 7.92a2.5 2.5 0 0 0 3.53 3.54l3.54-3.54a.5.5 0 1 1 .7.71l-3.53 3.54a3.5 3.5 0 0 1-4.96-4.94v-.01l5.66-5.66h.01a2.5 2.5 0 0 1 3.53 3.53L5.6 10.76a1.5 1.5 0 0 1-2.12-2.12L7.02 5.1a.5.5 0 1 1 .7.7L4.2 9.34a.5.5 0 0 0 .7.7l5.66-5.65a1.5 1.5 0 0 0 0-2.12Z\"})),listordered:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5 2.5c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM5 7c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 5 7Zm.5 4a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm-3-9H1v1h1v3h1V2.5a.5.5 0 0 0-.5-.5ZM3 8.5v1a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1h1c.28 0 .5.22.5.5Zm-1 2a.5.5 0 0 0-1 0V12h2v-1H2v-.5Z\"})),listunordered:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M2.75 2.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM5.5 2a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm0 9a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7ZM2 12.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM5 7c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 5 7Zm-3 .75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"})),paragraph:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M6 7a3 3 0 1 1 0-6h5.5a.5.5 0 0 1 0 1H10v10.5a.5.5 0 0 1-1 0V2H7v10.5a.5.5 0 0 1-1 0V7Z\"})),markdown:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M2 4.5h1.5L5 6.38 6.5 4.5H8v5H6.5V7L5 8.88 3.5 7v2.5H2v-5Zm7.75 0h1.5V7h1.25l-2 2.5-2-2.5h1.25V4.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M.5 2a.5.5 0 0 0-.5.5v9c0 .28.22.5.5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5H.5ZM1 3v8h12V3H1Z\"})),repository:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M5 2.5C5 2.77614 4.77614 3 4.5 3C4.22386 3 4 2.77614 4 2.5C4 2.22386 4.22386 2 4.5 2C4.77614 2 5 2.22386 5 2.5Z\"}),React5__default.createElement(\"path\",{d:\"M4.5 5C4.77614 5 5 4.77614 5 4.5C5 4.22386 4.77614 4 4.5 4C4.22386 4 4 4.22386 4 4.5C4 4.77614 4.22386 5 4.5 5Z\"}),React5__default.createElement(\"path\",{d:\"M5 6.5C5 6.77614 4.77614 7 4.5 7C4.22386 7 4 6.77614 4 6.5C4 6.22386 4.22386 6 4.5 6C4.77614 6 5 6.22386 5 6.5Z\"}),React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M11 0C12.1046 0 13 0.895431 13 2V12C13 13.1046 12.1046 14 11 14H1.5C1.22386 14 1 13.7761 1 13.5V0.5C1 0.223857 1.22386 0 1.5 0H11ZM11 1H3V13H11C11.5523 13 12 12.5523 12 12V2C12 1.44772 11.5523 1 11 1Z\"})),commit:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M3.03 7.5a4 4 0 0 0 7.94 0h2.53a.5.5 0 0 0 0-1h-2.53a4 4 0 0 0-7.94 0H.5a.5.5 0 0 0 0 1h2.53ZM7 10a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"})),branch:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M6 2.5c0 .65-.42 1.2-1 1.41v4.06A3.36 3.36 0 0 1 7.5 7a2.7 2.7 0 0 0 1.81-.56c.22-.18.38-.4.48-.62a1.5 1.5 0 1 1 1.03.15c-.16.42-.43.87-.86 1.24-.57.47-1.37.79-2.46.79-1.04 0-1.64.42-2 .92-.26.37-.4.8-.47 1.18A1.5 1.5 0 1 1 4 10.09V3.9a1.5 1.5 0 1 1 2-1.4Zm-2 9a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm1-9a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm6 2a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"})),pullrequest:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M8.35 1.35 7.71 2h.79A2.5 2.5 0 0 1 11 4.5v5.59a1.5 1.5 0 1 1-1 0V4.5C10 3.67 9.33 3 8.5 3h-.8l.65.65a.5.5 0 1 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5a.5.5 0 1 1 .7.7ZM11 11.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM4 3.91a1.5 1.5 0 1 0-1 0v6.18a1.5 1.5 0 1 0 1 0V3.9ZM3.5 11a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm0-8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"})),merge:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M4.1 3.87a1.5 1.5 0 1 0-1.1.04v6.18a1.5 1.5 0 1 0 1 0V6.4c.26.4.57.77.93 1.08A6.57 6.57 0 0 0 9.08 9a1.5 1.5 0 1 0 0-1 5.57 5.57 0 0 1-3.5-1.25 4.74 4.74 0 0 1-1.47-2.87ZM3.5 11a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1ZM4 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm7 6a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"})),apple:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M11.03 8.1a3.05 3.05 0 0 1-.2-1.74 2.7 2.7 0 0 1 1.4-1.94 3.13 3.13 0 0 0-2.35-1.4c-.84-.08-2.01.56-2.65.57h-.02c-.63 0-1.81-.65-2.64-.57-.42.04-1.75.32-2.55 1.6-.28.44-.5 1.01-.58 1.74a6.36 6.36 0 0 0 .02 1.74 7.5 7.5 0 0 0 1.35 3.33c.7 1.01 1.51 1.6 1.97 1.6.93.02 1.74-.6 2.41-.6l.02.01h.04c.67-.02 1.48.61 2.42.6.45-.02 1.26-.6 1.97-1.6a7.95 7.95 0 0 0 .97-1.86 2.6 2.6 0 0 1-1.58-1.48ZM8.86 2.13c.72-.85.7-2.07.63-2.12-.07-.06-1.25.16-1.99.98a2.78 2.78 0 0 0-.62 2.13c.06.05 1.27-.14 1.98-.99Z\"})),linux:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7 0a3 3 0 0 1 3 3v1.24c.13.13.25.27.36.42l.52.43.2.15c.32.26.7.59 1.09.97A6.28 6.28 0 0 1 14 9.54a.5.5 0 0 1-.35.44c-.31.1-.8.18-1.34.13-.33-.03-.7-.12-1.05-.3-.04.17-.1.34-.17.51a2 2 0 1 1-2.89 2.56 5.5 5.5 0 0 1-2.4 0 2 2 0 1 1-2.9-2.56 5.56 5.56 0 0 1-.16-.51c-.35.18-.72.27-1.05.3a3.4 3.4 0 0 1-1.34-.13.5.5 0 0 1-.35-.44l.01-.14a6.28 6.28 0 0 1 1.82-3.2 13.42 13.42 0 0 1 1.3-1.11c.22-.19.4-.32.5-.43.12-.15.24-.29.37-.42V3a3 3 0 0 1 3-3Zm1 11.9a2 2 0 0 1 2.14-1.9 5.5 5.5 0 0 0 .36-2c0-.51-.1-1.07-.3-1.6l-.03-.02a4.4 4.4 0 0 0-.86-.42 6.71 6.71 0 0 0-1-.31l-.86.64c-.27.2-.63.2-.9 0l-.85-.64a6.72 6.72 0 0 0-1.87.73l-.03.02A4.6 4.6 0 0 0 3.5 8c0 .68.11 1.39.36 2H4a2 2 0 0 1 2 1.9 4.49 4.49 0 0 0 2 0ZM5 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm6 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.1 4.3a1.5 1.5 0 0 1 1.8 0l.27.2L7 5.38 5.83 4.5l.27-.2ZM8.5 2c.28 0 .5.22.5.5V3a.5.5 0 0 1-1 0v-.5c0-.28.22-.5.5-.5ZM6 2.5a.5.5 0 0 0-1 0V3a.5.5 0 0 0 1 0v-.5Z\"})),ubuntu:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M12.26 2.07c0 1.14-.89 2.06-1.99 2.06s-1.99-.92-1.99-2.06c0-1.14.9-2.07 2-2.07s1.98.93 1.98 2.07ZM3.98 6.6c0 1.14-.9 2.07-2 2.07C.9 8.67 0 7.74 0 6.6c0-1.14.9-2.07 1.99-2.07 1.1 0 1.99.93 1.99 2.07ZM6.47 11.92a4.76 4.76 0 0 1-3.3-2.62c-.53.25-1.12.33-1.7.22a6.72 6.72 0 0 0 1.84 2.63 6.38 6.38 0 0 0 4.24 1.58c-.37-.5-.57-1.1-.59-1.73a4.77 4.77 0 0 1-.49-.08ZM11.81 11.93c0 1.14-.89 2.07-1.99 2.07s-1.98-.93-1.98-2.07c0-1.14.89-2.06 1.98-2.06 1.1 0 2 .92 2 2.06ZM12.6 11.17a6.93 6.93 0 0 0 .32-7.93A2.95 2.95 0 0 1 11.8 4.6a5.23 5.23 0 0 1-.16 5.03c.47.4.8.94.95 1.54ZM1.99 3.63h-.15A6.48 6.48 0 0 1 8 .24a3.07 3.07 0 0 0-.6 1.68 4.7 4.7 0 0 0-3.9 2.17c-.46-.3-.98-.45-1.51-.45Z\"})),windows:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M6.5 1H1v5.5h5.5V1ZM13 1H7.5v5.5H13V1ZM7.5 7.5H13V13H7.5V7.5ZM6.5 7.5H1V13h5.5V7.5Z\"})),storybook:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M2.04.62a.7.7 0 0 0-.66.72l.44 11.56c.01.37.3.66.67.68l9.4.42h.02a.7.7 0 0 0 .7-.7V.66a.7.7 0 0 0-.74-.66l-.77.05.05 1.62a.1.1 0 0 1-.17.08l-.52-.4-.61.46a.1.1 0 0 1-.17-.09L9.75.13l-7.7.49Zm8 4.74c-.24.2-2.09.33-2.09.05.04-1.04-.43-1.09-.69-1.09-.24 0-.66.08-.66.64 0 .57.6.89 1.32 1.27 1.02.53 2.24 1.18 2.24 2.82 0 1.57-1.27 2.43-2.9 2.43-1.67 0-3.14-.68-2.97-3.03.06-.27 2.2-.2 2.2 0-.03.97.19 1.26.75 1.26.43 0 .62-.24.62-.64 0-.6-.63-.95-1.36-1.36-.99-.56-2.15-1.2-2.15-2.7 0-1.5 1.03-2.5 2.86-2.5 1.83 0 2.84.99 2.84 2.85Z\"})),azuredevops:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"m0 5.18 1.31-1.73 4.9-2V.01l4.3 3.15-8.78 1.7v4.8L0 9.16V5.18Zm14-2.6v8.55l-3.36 2.86-5.42-1.79V14L1.73 9.66l8.78 1.05V3.16L14 2.58Z\"})),bitbucket:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M1 1.52A.41.41 0 0 0 .59 2l1.74 10.6c.05.26.28.46.55.46h8.37c.2 0 .38-.14.42-.34l1.01-6.25H8.81l-.46 2.71H5.68L4.95 5.4h7.91L13.4 2a.41.41 0 0 0-.41-.48H1Z\"})),chrome:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M13.02 3.43a.11.11 0 0 1-.1.17H7a3.4 3.4 0 0 0-3.3 2.55.11.11 0 0 1-.21.03L1.52 2.76a.11.11 0 0 1 0-.12 6.97 6.97 0 0 1 9-1.7c1.03.6 1.9 1.47 2.5 2.5ZM7 9.62a2.62 2.62 0 1 1 0-5.24 2.62 2.62 0 0 1 0 5.24Zm1.03.7a.11.11 0 0 0-.12-.04 3.4 3.4 0 0 1-4-1.84L1.1 3.57a.11.11 0 0 0-.2 0 7 7 0 0 0 5.07 10.35c.04 0 .08-.02.1-.05l1.97-3.42a.11.11 0 0 0 0-.13Zm1.43-5.95h3.95c.05 0 .1.03.1.07a6.97 6.97 0 0 1-1.53 7.48A6.96 6.96 0 0 1 7.08 14a.11.11 0 0 1-.1-.17l2.81-4.88h.01a3.38 3.38 0 0 0-.42-4.38.11.11 0 0 1 .08-.2Z\"})),chromatic:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M0 7a7 7 0 1 0 14 0A7 7 0 0 0 0 7Zm5.22-3.87a1.97 1.97 0 0 1 3.75.83v1.29L5.61 3.32a2.49 2.49 0 0 0-.4-.19ZM8.7 5.71 5.35 3.78a1.97 1.97 0 0 0-2.6 2.83c.12-.1.24-.18.37-.26l1.51-.87a.27.27 0 0 1 .27 0L7 6.69l1.7-.98Zm-.32 4.97-1.52-.87a.27.27 0 0 1-.13-.23V7.15l-1.7-.97v3.86a1.97 1.97 0 0 0 3.75.83 2.5 2.5 0 0 1-.4-.19Zm.26-.46a1.97 1.97 0 0 0 2.6-2.83c-.11.1-.23.18-.36.26L7.53 9.58l1.11.64Zm-4.1.26h-.17a1.97 1.97 0 0 1-1.9-2.47 2 2 0 0 1 .92-1.2l1.11-.63v3.86c0 .14.01.29.04.44Zm6.79-5.98a1.97 1.97 0 0 0-1.87-.97c.03.14.04.29.04.43v1.75c0 .1-.05.19-.14.23l-2.1 1.22V9.1l3.35-1.93a1.97 1.97 0 0 0 .72-2.68Z\"})),componentdriven:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M10.85 2.18 8.87.2a.69.69 0 0 0-.97 0L3.09 5.01a.69.69 0 0 0 0 .97l2.46 2.46-2.4 2.4a.69.69 0 0 0 0 .98l1.98 1.98c.27.27.7.27.97 0l4.8-4.81a.69.69 0 0 0 0-.97L8.45 5.56l2.4-2.4a.69.69 0 0 0 0-.98Z\"})),discord:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M11.85 2.88C10.95 2.48 10 2.18 9 2a7.05 7.05 0 0 0-.4.75 10.66 10.66 0 0 0-3.2 0c-.1-.23-.24-.5-.36-.73A.04.04 0 0 0 4.99 2a11.51 11.51 0 0 0-2.86.9 11.82 11.82 0 0 0-2.05 8 11.6 11.6 0 0 0 3.5 1.77c.01 0 .03 0 .04-.02.27-.36.51-.75.72-1.16a.04.04 0 0 0-.03-.06 7.66 7.66 0 0 1-1.09-.52.04.04 0 0 1 0-.08 5.96 5.96 0 0 0 .26-.17 8.28 8.28 0 0 0 7.08 0l.22.17c.02.02.02.06 0 .08-.36.2-.72.37-1.1.52a.04.04 0 0 0-.02.06c.2.4.45.8.71 1.16.01.02.03.02.05.02a11.57 11.57 0 0 0 3.52-1.8 11.74 11.74 0 0 0-2.09-7.99Zm-7.17 6.4c-.7 0-1.26-.63-1.26-1.41 0-.78.56-1.41 1.26-1.41s1.27.64 1.26 1.4c0 .79-.56 1.42-1.26 1.42Zm4.65 0c-.69 0-1.26-.63-1.26-1.41 0-.78.56-1.41 1.26-1.41s1.27.64 1.26 1.4c0 .79-.55 1.42-1.26 1.42Z\"})),facebook:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7.4 14H5.06V7H3.5V4.59h1.56V3.17C5.06 1.2 5.53 0 7.6 0h1.72v2.41H8.25c-.8 0-.85.34-.85.97v1.2h1.93L9.11 7H7.4l-.01 7Z\"})),figma:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{fillRule:\"evenodd\",d:\"M9.2 0H4.8a2.6 2.6 0 0 0-1.4 4.8 2.6 2.6 0 0 0 0 4.4 2.6 2.6 0 1 0 4 2.2V8.89a2.6 2.6 0 1 0 3.2-4.09A2.6 2.6 0 0 0 9.2 0ZM7.4 7A1.8 1.8 0 1 0 11 7a1.8 1.8 0 0 0-3.6 0Zm-.8 2.6H4.8a1.8 1.8 0 1 0 1.8 1.8V9.6ZM4.8 4.4h1.8V.8H4.8a1.8 1.8 0 0 0 0 3.59Zm0 .8a1.8 1.8 0 0 0 0 3.6h1.8V5.2H4.8Zm4.4-.8H7.4V.8h1.8a1.8 1.8 0 1 1 0 3.59Z\"})),gdrive:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M6.37 8.77 4.33 12.3h6.75l2.04-3.54H6.38Zm6.18-1-3.5-6.08h-4.1l3.51 6.08h4.09ZM4.38 2.7.88 8.77l2.04 3.54 3.5-6.07L4.38 2.7Z\"})),github:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7 0a7 7 0 0 0-2.21 13.64c.35.06.48-.15.48-.33L5.26 12c-1.76.32-2.21-.43-2.35-.83-.08-.2-.43-.82-.72-.99-.25-.13-.6-.45-.01-.46.55 0 .94.5 1.07.72.63 1.06 1.64.76 2.04.58.07-.46.25-.77.45-.94-1.56-.18-3.19-.78-3.19-3.46 0-.76.28-1.39.72-1.88-.07-.17-.31-.9.07-1.85 0 0 .59-.19 1.93.71a6.5 6.5 0 0 1 3.5 0c1.34-.9 1.92-.71 1.92-.71.39.96.14 1.68.07 1.85.45.5.72 1.11.72 1.88 0 2.69-1.64 3.28-3.2 3.46.26.22.48.64.48 1.3l-.01 1.92c0 .18.13.4.48.33A7.01 7.01 0 0 0 7 0Z\"})),gitlab:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M4.53 5.58H1.07l1.49-4.55a.26.26 0 0 1 .48 0l1.49 4.55ZM7 13.15 1.07 5.58l-.75 2.3a.5.5 0 0 0 .18.57l6.5 4.7Zm0 0 6.5-4.7a.5.5 0 0 0 .18-.57l-.75-2.3L7 13.15l2.47-7.57H4.53L7 13.15Zm2.47-7.57h3.46l-1.49-4.55a.26.26 0 0 0-.48 0L9.47 5.58Z\"})),google:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M10.92 1.1H7.26c-1.64 0-3.19 1.24-3.19 2.68 0 1.47 1.12 2.66 2.8 2.66l.33-.01c-.1.2-.18.44-.18.68 0 .41.22.75.5 1.02h-.64c-2.03 0-3.6 1.3-3.6 2.64 0 1.32 1.72 2.15 3.75 2.15 2.32 0 3.6-1.31 3.6-2.64 0-1.06-.31-1.7-1.28-2.38-.33-.23-.96-.8-.96-1.14 0-.39.1-.58.7-1.04a2.46 2.46 0 0 0 1.03-1.92c0-.92-.4-1.82-1.18-2.11h1.17l.81-.6ZM9.6 10.04c.03.13.05.25.05.38 0 1.07-.7 1.9-2.67 1.9-1.4 0-2.42-.88-2.42-1.95 0-1.05 1.26-1.92 2.66-1.9a3 3 0 0 1 .92.14c.76.53 1.3.83 1.46 1.43ZM7.34 6.07c-.94-.03-1.84-1.06-2-2.3-.17-1.24.47-2.19 1.41-2.16.94.03 1.84 1.03 2 2.26.17 1.24-.47 2.23-1.41 2.2Z\"})),graphql:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M7.87 11.6a1.17 1.17 0 0 0-1.7-.02l-2.71-1.56.01-.04h7.07l.02.07-2.69 1.56Zm-1.7-9.18.03.03-3.54 6.12h-.04V5.43a1.17 1.17 0 0 0 .84-1.46l2.7-1.56Zm4.38 1.56a1.17 1.17 0 0 0 .84 1.46v3.12l-.04.01-3.54-6.12c.02 0 .03-.02.04-.03l2.7 1.56ZM3.47 9.42a1.17 1.17 0 0 0-.32-.57l3.53-6.12a1.17 1.17 0 0 0 .65 0l3.54 6.12a1.17 1.17 0 0 0-.33.57H3.47Zm8.8-.74c-.1-.05-.21-.1-.32-.12V5.44a1.17 1.17 0 1 0-1.12-1.94l-2.7-1.56a1.17 1.17 0 1 0-2.24 0L3.19 3.5a1.17 1.17 0 1 0-1.13 1.94v3.12a1.17 1.17 0 1 0 1.12 1.94l2.7 1.56a1.17 1.17 0 1 0 2.24-.03l2.69-1.55a1.17 1.17 0 1 0 1.45-1.8Z\"})),medium:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M0 0v14h14V0H0Zm11.63 3.32-.75.72a.22.22 0 0 0-.08.2v5.33c0 .07.03.14.08.18l.73.72v.16H7.92v-.16l.76-.74c.08-.07.08-.1.08-.21V5.24l-2.11 5.37h-.29L3.9 5.24v3.67c0 .13.05.25.14.34l.99 1.2v.16h-2.8v-.16l.98-1.2a.48.48 0 0 0 .13-.41V4.65c0-.11-.04-.2-.12-.27l-.88-1.06v-.16h2.73l2.1 4.62 1.86-4.62h2.6v.16Z\"})),redux:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M4.06 9.69c.02.49.42.88.91.88H5a.91.91 0 0 0-.03-1.83h-.03c-.03 0-.08 0-.11.02a5.97 5.97 0 0 1-.85-3.62c.06-.98.39-1.82.96-2.52.47-.6 1.39-.9 2-.92 1.73-.03 2.47 2.12 2.51 2.99.22.04.57.16.82.24-.2-2.64-1.83-4-3.4-4-1.46 0-2.81 1.05-3.35 2.61a6.67 6.67 0 0 0 .65 5.68.74.74 0 0 0-.11.47Zm8.28-2.3a6.62 6.62 0 0 0-5.15-2.25h-.26a.9.9 0 0 0-.8-.49H6.1a.91.91 0 0 0 .03 1.83h.03a.92.92 0 0 0 .8-.56h.3c1.23 0 2.4.36 3.47 1.06.81.54 1.4 1.24 1.72 2.09.28.68.26 1.35-.03 1.92a2.4 2.4 0 0 1-2.23 1.34c-.65 0-1.27-.2-1.6-.34-.18.16-.5.42-.73.58.7.33 1.41.5 2.1.5 1.56 0 2.72-.85 3.16-1.72.47-.94.44-2.57-.78-3.96ZM4.9 12.9a4 4 0 0 1-.98.11c-1.2 0-2.3-.5-2.84-1.32C.38 10.6.13 8.3 2.5 6.58c.05.26.15.62.22.83-.31.23-.8.68-1.11 1.3a2.4 2.4 0 0 0 .13 2.53c.36.54.93.86 1.66.96.9.11 1.8-.05 2.66-.5a5.83 5.83 0 0 0 2.67-2.56.91.91 0 0 1 .62-1.55h.03a.92.92 0 0 1 .1 1.82 6.26 6.26 0 0 1-4.56 3.49Z\"})),twitter:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M14 2.55c-.51.23-1.07.39-1.65.46.6-.36 1.05-.94 1.26-1.63-.55.34-1.17.58-1.82.72a2.84 2.84 0 0 0-2.1-.93 2.9 2.9 0 0 0-2.8 3.61 8.09 8.09 0 0 1-5.9-3.07 2.99 2.99 0 0 0 .88 3.93 2.8 2.8 0 0 1-1.3-.37v.04c0 1.42 1 2.61 2.3 2.89a2.82 2.82 0 0 1-1.3.05 2.89 2.89 0 0 0 2.7 2.04A5.67 5.67 0 0 1 0 11.51a7.98 7.98 0 0 0 4.4 1.32c5.29 0 8.17-4.48 8.17-8.38v-.38A5.93 5.93 0 0 0 14 2.55Z\"})),youtube:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M13.99 8.17V5.83a14.95 14.95 0 0 0-.23-2.22c-.09-.38-.27-.7-.55-.96s-.6-.41-.97-.45A51.3 51.3 0 0 0 7 2c-2.34 0-4.09.07-5.24.2A1.78 1.78 0 0 0 .25 3.61 15.26 15.26 0 0 0 0 7v1.16a15.24 15.24 0 0 0 .24 2.22c.09.38.27.7.55.96.27.26.6.41.97.45 1.15.13 2.9.2 5.24.2 2.34 0 4.08-.06 5.24-.2.37-.04.7-.19.97-.45s.45-.58.54-.96a15.26 15.26 0 0 0 .24-2.22Zm-4.23-1.6c.16.1.24.24.24.43 0 .2-.08.33-.24.42l-4 2.5a.44.44 0 0 1-.26.08.54.54 0 0 1-.24-.06A.46.46 0 0 1 5 9.5v-5c0-.2.08-.34.26-.44.17-.1.34-.09.5.02l4 2.5Z\"})),vscode:React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(\"path\",{d:\"M10.24.04c.13 0 .26.03.38.09L13.5 1.5a.87.87 0 0 1 .5.8v.03-.01 9.39c0 .33-.2.63-.5.78l-2.88 1.38a.87.87 0 0 1-1-.17l-5.5-5.03-2.4 1.83a.58.58 0 0 1-.75-.04l-.77-.7a.58.58 0 0 1 0-.86L2.27 7 .2 5.1a.58.58 0 0 1 0-.86l.77-.7c.21-.2.52-.2.75-.04l2.4 1.83L9.63.3a.87.87 0 0 1 .61-.26Zm.26 3.78L6.32 7l4.18 3.18V3.82Z\"}))};var Svg=styled.svg`\n display: inline-block;\n shape-rendering: inherit;\n vertical-align: middle;\n fill: currentColor;\n\n path {\n fill: currentColor;\n }\n`,Icons=({icon,useSymbol,...props})=>React5__default.createElement(Svg,{viewBox:\"0 0 14 14\",width:\"14px\",height:\"14px\",...props},useSymbol?React5__default.createElement(\"use\",{xlinkHref:`#icon--${icon}`}):icons[icon]),Symbols=memo(function({icons:keys=Object.keys(icons)}){return React5__default.createElement(Svg,{viewBox:\"0 0 14 14\",style:{position:\"absolute\",width:0,height:0},\"data-chromatic\":\"ignore\"},keys.map(key=>React5__default.createElement(\"symbol\",{id:`icon--${key}`,key},icons[key])))});var LEFT_BUTTON=0,isPlainLeftClick=e=>e.button===LEFT_BUTTON&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey,cancelled=(e,cb)=>{isPlainLeftClick(e)&&(e.preventDefault(),cb(e));},LinkInner=styled.span(({withArrow})=>withArrow?{\"> svg:last-of-type\":{height:\"0.7em\",width:\"0.7em\",marginRight:0,marginLeft:\"0.25em\",bottom:\"auto\",verticalAlign:\"inherit\"}}:{},({containsIcon})=>containsIcon?{svg:{height:\"1em\",width:\"1em\",verticalAlign:\"middle\",position:\"relative\",bottom:0,marginRight:0}}:{}),A2=styled.a(({theme})=>({display:\"inline-block\",transition:\"all 150ms ease-out\",textDecoration:\"none\",color:theme.color.secondary,\"&:hover, &:focus\":{cursor:\"pointer\",color:curriedDarken$1(.07,theme.color.secondary),\"svg path\":{fill:curriedDarken$1(.07,theme.color.secondary)}},\"&:active\":{color:curriedDarken$1(.1,theme.color.secondary),\"svg path\":{fill:curriedDarken$1(.1,theme.color.secondary)}},svg:{display:\"inline-block\",height:\"1em\",width:\"1em\",verticalAlign:\"text-top\",position:\"relative\",bottom:\"-0.125em\",marginRight:\"0.4em\",\"& path\":{fill:theme.color.secondary}}}),({theme,secondary,tertiary})=>{let colors;return secondary&&(colors=[theme.textMutedColor,theme.color.dark,theme.color.darker]),tertiary&&(colors=[theme.color.dark,theme.color.darkest,theme.textMutedColor]),colors?{color:colors[0],\"svg path\":{fill:colors[0]},\"&:hover\":{color:colors[1],\"svg path\":{fill:colors[1]}},\"&:active\":{color:colors[2],\"svg path\":{fill:colors[2]}}}:{}},({nochrome})=>nochrome?{color:\"inherit\",\"&:hover, &:active\":{color:\"inherit\",textDecoration:\"underline\"}}:{},({theme,inverse})=>inverse?{color:theme.color.lightest,\"svg path\":{fill:theme.color.lightest},\"&:hover\":{color:theme.color.lighter,\"svg path\":{fill:theme.color.lighter}},\"&:active\":{color:theme.color.light,\"svg path\":{fill:theme.color.light}}}:{},({isButton})=>isButton?{border:0,borderRadius:0,background:\"none\",padding:0,fontSize:\"inherit\"}:{}),Link2=({cancel,children,onClick,withArrow,containsIcon,className,...rest})=>React5__default.createElement(A2,{...rest,onClick:onClick&&cancel?e=>cancelled(e,onClick):onClick,className},React5__default.createElement(LinkInner,{withArrow,containsIcon},children,withArrow&&React5__default.createElement(Icons,{icon:\"arrowright\"})));Link2.defaultProps={cancel:!0,className:void 0,style:void 0,onClick:void 0,withArrow:!1,containsIcon:!1};var DocumentWrapper=styled.div(({theme})=>({fontSize:`${theme.typography.size.s2}px`,lineHeight:\"1.6\",h1:{fontSize:`${theme.typography.size.l1}px`,fontWeight:theme.typography.weight.bold},h2:{fontSize:`${theme.typography.size.m2}px`,borderBottom:`1px solid ${theme.appBorderColor}`},h3:{fontSize:`${theme.typography.size.m1}px`},h4:{fontSize:`${theme.typography.size.s3}px`},h5:{fontSize:`${theme.typography.size.s2}px`},h6:{fontSize:`${theme.typography.size.s2}px`,color:theme.color.dark},\"pre:not(.prismjs)\":{background:\"transparent\",border:\"none\",borderRadius:0,padding:0,margin:0},\"pre pre, pre.prismjs\":{padding:15,margin:0,whiteSpace:\"pre-wrap\",color:\"inherit\",fontSize:\"13px\",lineHeight:\"19px\"},\"pre pre code, pre.prismjs code\":{color:\"inherit\",fontSize:\"inherit\"},\"pre code\":{margin:0,padding:0,whiteSpace:\"pre\",border:\"none\",background:\"transparent\"},\"pre code, pre tt\":{backgroundColor:\"transparent\",border:\"none\"},\"body > *:first-of-type\":{marginTop:\"0 !important\"},\"body > *:last-child\":{marginBottom:\"0 !important\"},a:{color:theme.color.secondary,textDecoration:\"none\"},\"a.absent\":{color:\"#cc0000\"},\"a.anchor\":{display:\"block\",paddingLeft:30,marginLeft:-30,cursor:\"pointer\",position:\"absolute\",top:0,left:0,bottom:0},\"h1, h2, h3, h4, h5, h6\":{margin:\"20px 0 10px\",padding:0,cursor:\"text\",position:\"relative\",\"&:first-of-type\":{marginTop:0,paddingTop:0},\"&:hover a.anchor\":{textDecoration:\"none\"},\"& tt, & code\":{fontSize:\"inherit\"}},\"h1:first-of-type + h2\":{marginTop:0,paddingTop:0},\"p, blockquote, ul, ol, dl, li, table, pre\":{margin:\"15px 0\"},hr:{border:\"0 none\",borderTop:`1px solid ${theme.appBorderColor}`,height:4,padding:0},\"body > h1:first-of-type, body > h2:first-of-type, body > h3:first-of-type, body > h4:first-of-type, body > h5:first-of-type, body > h6:first-of-type\":{marginTop:0,paddingTop:0},\"body > h1:first-of-type + h2\":{marginTop:0,paddingTop:0},\"a:first-of-type h1, a:first-of-type h2, a:first-of-type h3, a:first-of-type h4, a:first-of-type h5, a:first-of-type h6\":{marginTop:0,paddingTop:0},\"h1 p, h2 p, h3 p, h4 p, h5 p, h6 p\":{marginTop:0},\"li p.first\":{display:\"inline-block\"},\"ul, ol\":{paddingLeft:30,\"& :first-of-type\":{marginTop:0},\"& :last-child\":{marginBottom:0}},dl:{padding:0},\"dl dt\":{fontSize:\"14px\",fontWeight:\"bold\",fontStyle:\"italic\",margin:\"0 0 15px\",padding:\"0 15px\",\"&:first-of-type\":{padding:0},\"& > :first-of-type\":{marginTop:0},\"& > :last-child\":{marginBottom:0}},blockquote:{borderLeft:`4px solid ${theme.color.medium}`,padding:\"0 15px\",color:theme.color.dark,\"& > :first-of-type\":{marginTop:0},\"& > :last-child\":{marginBottom:0}},table:{padding:0,borderCollapse:\"collapse\",\"& tr\":{borderTop:`1px solid ${theme.appBorderColor}`,backgroundColor:\"white\",margin:0,padding:0,\"& th\":{fontWeight:\"bold\",border:`1px solid ${theme.appBorderColor}`,textAlign:\"left\",margin:0,padding:\"6px 13px\"},\"& td\":{border:`1px solid ${theme.appBorderColor}`,textAlign:\"left\",margin:0,padding:\"6px 13px\"},\"&:nth-of-type(2n)\":{backgroundColor:theme.color.lighter},\"& th :first-of-type, & td :first-of-type\":{marginTop:0},\"& th :last-child, & td :last-child\":{marginBottom:0}}},img:{maxWidth:\"100%\"},\"span.frame\":{display:\"block\",overflow:\"hidden\",\"& > span\":{border:`1px solid ${theme.color.medium}`,display:\"block\",float:\"left\",overflow:\"hidden\",margin:\"13px 0 0\",padding:7,width:\"auto\"},\"& span img\":{display:\"block\",float:\"left\"},\"& span span\":{clear:\"both\",color:theme.color.darkest,display:\"block\",padding:\"5px 0 0\"}},\"span.align-center\":{display:\"block\",overflow:\"hidden\",clear:\"both\",\"& > span\":{display:\"block\",overflow:\"hidden\",margin:\"13px auto 0\",textAlign:\"center\"},\"& span img\":{margin:\"0 auto\",textAlign:\"center\"}},\"span.align-right\":{display:\"block\",overflow:\"hidden\",clear:\"both\",\"& > span\":{display:\"block\",overflow:\"hidden\",margin:\"13px 0 0\",textAlign:\"right\"},\"& span img\":{margin:0,textAlign:\"right\"}},\"span.float-left\":{display:\"block\",marginRight:13,overflow:\"hidden\",float:\"left\",\"& span\":{margin:\"13px 0 0\"}},\"span.float-right\":{display:\"block\",marginLeft:13,overflow:\"hidden\",float:\"right\",\"& > span\":{display:\"block\",overflow:\"hidden\",margin:\"13px auto 0\",textAlign:\"right\"}},\"code, tt\":{margin:\"0 2px\",padding:\"0 5px\",whiteSpace:\"nowrap\",border:`1px solid ${theme.color.mediumlight}`,backgroundColor:theme.color.lighter,borderRadius:3,color:theme.base===\"dark\"&&theme.color.darkest}}));var LazySyntaxHighlighter=lazy(()=>import('./syntaxhighlighter-QTQ2UBB4.mjs')),LazySyntaxHighlighterWithFormatter=lazy(async()=>{let[{SyntaxHighlighter:SyntaxHighlighter3},{formatter}]=await Promise.all([import('./syntaxhighlighter-QTQ2UBB4.mjs'),import('./formatter-S4K5WUZV.mjs')]);return {default:props=>React5__default.createElement(SyntaxHighlighter3,{...props,formatter})}}),SyntaxHighlighter2=props=>React5__default.createElement(Suspense,{fallback:React5__default.createElement(\"div\",null)},props.format!==!1?React5__default.createElement(LazySyntaxHighlighterWithFormatter,{...props}):React5__default.createElement(LazySyntaxHighlighter,{...props}));var toNumber=input=>typeof input==\"number\"?input:Number(input),Container=styled.div(({theme,col,row=1})=>col?{display:\"inline-block\",verticalAlign:\"inherit\",\"& > *\":{marginLeft:col*theme.layoutMargin,verticalAlign:\"inherit\"},[`& > *:first-child${ignoreSsrWarning}`]:{marginLeft:0}}:{\"& > *\":{marginTop:row*theme.layoutMargin},[`& > *:first-child${ignoreSsrWarning}`]:{marginTop:0}},({theme,outer,col,row})=>{switch(!0){case!!(outer&&col):return {marginLeft:outer*theme.layoutMargin,marginRight:outer*theme.layoutMargin};case!!(outer&&row):return {marginTop:outer*theme.layoutMargin,marginBottom:outer*theme.layoutMargin};default:return {}}}),Spaced=({col,row,outer,children,...rest})=>{let outerAmount=toNumber(typeof outer==\"number\"||!outer?outer:col||row);return React5__default.createElement(Container,{col,row,outer:outerAmount,...rest},children)};var Title=styled.div(({theme})=>({fontWeight:theme.typography.weight.bold})),Desc=styled.div(),Message=styled.div(({theme})=>({padding:30,textAlign:\"center\",color:theme.color.defaultText,fontSize:theme.typography.size.s2-1})),Placeholder=({children,...props})=>{let[title,desc]=Children.toArray(children);return React5__default.createElement(Message,{...props},React5__default.createElement(Title,null,title),desc&&React5__default.createElement(Desc,null,desc))};function browserSupportsCssZoom(){try{return /^((?!chrome|android).)*safari/i.test(navigator.userAgent)?!1:global.CSS?.supports(\"zoom: 1\")}catch{return !1}}var hasBrowserSupportForCssZoom=browserSupportsCssZoom(),ZoomElementWrapper=styled.div(({scale=1,elementHeight})=>hasBrowserSupportForCssZoom?{\"> *\":{zoom:1/scale}}:{height:elementHeight||\"auto\",transformOrigin:\"top left\",transform:`scale(${1/scale})`});function ZoomElement({scale,children}){let componentWrapperRef=useRef(null),[elementHeight,setElementHeight]=useState(0),onResize=useCallback(({height})=>{height&&setElementHeight(height/scale);},[scale]);return useEffect(()=>{componentWrapperRef.current&&setElementHeight(componentWrapperRef.current.getBoundingClientRect().height);},[scale]),useResizeObserver({ref:componentWrapperRef,onResize}),React5__default.createElement(ZoomElementWrapper,{scale,elementHeight},React5__default.createElement(\"div\",{ref:hasBrowserSupportForCssZoom?null:componentWrapperRef,className:\"innerZoomElementWrapper\"},children))}var ZoomIFrame=class extends Component{constructor(){super(...arguments);this.iframe=null;}componentDidMount(){let{iFrameRef}=this.props;this.iframe=iFrameRef.current;}shouldComponentUpdate(nextProps){let{scale,active}=this.props;return scale!==nextProps.scale&&this.setIframeInnerZoom(nextProps.scale),active!==nextProps.active&&this.iframe.setAttribute(\"data-is-storybook\",nextProps.active?\"true\":\"false\"),nextProps.children.props.src!==this.props.children.props.src}setIframeInnerZoom(scale){try{browserSupportsCssZoom()?Object.assign(this.iframe.contentDocument.body.style,{zoom:1/scale,minHeight:`calc(100vh / ${1/scale})`}):Object.assign(this.iframe.contentDocument.body.style,{width:`${scale*100}%`,height:`${scale*100}%`,transform:`scale(${1/scale})`,transformOrigin:\"top left\"});}catch{this.setIframeZoom(scale);}}setIframeZoom(scale){Object.assign(this.iframe.style,{width:`${scale*100}%`,height:`${scale*100}%`,transform:`scale(${1/scale})`,transformOrigin:\"top left\"});}render(){let{children}=this.props;return children}};var Zoom={Element:ZoomElement,IFrame:ZoomIFrame};var {document:document2}=global$1,ErrorName=styled.strong(({theme})=>({color:theme.color.orange})),ErrorImportant=styled.strong(({theme})=>({color:theme.color.ancillary,textDecoration:\"underline\"})),ErrorDetail=styled.em(({theme})=>({color:theme.textMutedColor})),firstLineRegex=/(Error): (.*)\\n/,linesRegexChromium=/at (?:(.*) )?\\(?(.+)\\)?/,linesRegexFirefox=/([^@]+)?(?:\\/<)?@(.+)?/,linesRegexSafari=/([^@]+)?@(.+)?/,ErrorFormatter=({error})=>{if(!error)return React5__default.createElement(Fragment,null,\"This error has no stack or message\");if(!error.stack)return React5__default.createElement(Fragment,null,error.message||\"This error has no stack or message\");let input=error.stack.toString();input&&error.message&&!input.includes(error.message)&&(input=`Error: ${error.message}\n\n${input}`);let match=input.match(firstLineRegex);if(!match)return React5__default.createElement(Fragment,null,input);let[,type,name]=match,rawLines=input.split(/\\n/).slice(1),[,...lines]=rawLines.map(line=>{let result=line.match(linesRegexChromium)||line.match(linesRegexFirefox)||line.match(linesRegexSafari);return result?{name:(result[1]||\"\").replace(\"/<\",\"\"),location:result[2].replace(document2.location.origin,\"\")}:null}).filter(Boolean);return React5__default.createElement(Fragment,null,React5__default.createElement(\"span\",null,type),\": \",React5__default.createElement(ErrorName,null,name),React5__default.createElement(\"br\",null),lines.map((l,i)=>l.name?React5__default.createElement(Fragment,{key:i},\" \",\"at \",React5__default.createElement(ErrorImportant,null,l.name),\" (\",React5__default.createElement(ErrorDetail,null,l.location),\")\",React5__default.createElement(\"br\",null)):React5__default.createElement(Fragment,{key:i},\" \",\"at \",React5__default.createElement(ErrorDetail,null,l.location),React5__default.createElement(\"br\",null))))};var ButtonWrapper=styled.button(({small,theme})=>({border:0,borderRadius:\"3em\",cursor:\"pointer\",display:\"inline-block\",overflow:\"hidden\",padding:small?\"8px 16px\":\"13px 20px\",position:\"relative\",textAlign:\"center\",textDecoration:\"none\",transitionProperty:\"background, box-shadow\",transitionDuration:\"150ms\",transitionTimingFunction:\"ease-out\",verticalAlign:\"top\",whiteSpace:\"nowrap\",userSelect:\"none\",opacity:1,margin:0,background:\"transparent\",fontSize:`${small?theme.typography.size.s1:theme.typography.size.s2-1}px`,fontWeight:theme.typography.weight.bold,lineHeight:\"1\",svg:{display:\"inline-block\",height:small?12:14,width:small?12:14,verticalAlign:\"top\",marginRight:small?4:6,marginTop:small?0:-1,marginBottom:small?0:-1,pointerEvents:\"none\",path:{fill:\"currentColor\"}}}),({disabled})=>disabled?{cursor:\"not-allowed !important\",opacity:.5,\"&:hover\":{transform:\"none\"}}:{},({containsIcon,small})=>containsIcon?{svg:{display:\"block\",margin:0},...small?{padding:10}:{padding:13}}:{},({theme,primary,secondary,gray})=>{let color;return gray?color=theme.color.mediumlight:secondary?color=theme.color.secondary:primary&&(color=theme.color.primary),color?{background:color,color:gray?theme.color.darkest:theme.color.lightest,\"&:hover\":{background:curriedDarken$1(.05,color)},\"&:active\":{boxShadow:\"rgba(0, 0, 0, 0.1) 0 0 0 3em inset\"},\"&:focus\":{boxShadow:`${rgba(color,1)} 0 1px 9px 2px`,outline:\"none\"},\"&:focus:hover\":{boxShadow:`${rgba(color,.2)} 0 8px 18px 0px`}}:{}},({theme,tertiary,inForm,small})=>tertiary?{background:theme.button.background,color:theme.input.color,boxShadow:`${theme.button.border} 0 0 0 1px inset`,borderRadius:theme.input.borderRadius,...inForm&&small?{padding:\"10px 16px\"}:{},\"&:hover\":{background:theme.base===\"light\"?curriedDarken$1(.02,theme.button.background):curriedLighten$1(.03,theme.button.background),...inForm?{}:{boxShadow:\"rgba(0,0,0,.2) 0 2px 6px 0, rgba(0,0,0,.1) 0 0 0 1px inset\"}},\"&:active\":{background:theme.button.background},\"&:focus\":{boxShadow:`${rgba(theme.color.secondary,1)} 0 0 0 1px inset`,outline:\"none\"}}:{},({theme,outline})=>outline?{boxShadow:`${curriedTransparentize$1(.8,theme.color.defaultText)} 0 0 0 1px inset`,color:curriedTransparentize$1(.3,theme.color.defaultText),background:\"transparent\",\"&:hover, &:focus\":{boxShadow:`${curriedTransparentize$1(.5,theme.color.defaultText)} 0 0 0 1px inset`,outline:\"none\"},\"&:active\":{boxShadow:`${curriedTransparentize$1(.5,theme.color.defaultText)} 0 0 0 2px inset`,color:curriedTransparentize$1(0,theme.color.defaultText)}}:{},({theme,outline,primary})=>{let color=theme.color.primary;return outline&&primary?{boxShadow:`${color} 0 0 0 1px inset`,color,\"svg path\":{fill:color},\"&:hover\":{boxShadow:`${color} 0 0 0 1px inset`,background:\"transparent\"},\"&:active\":{background:color,boxShadow:`${color} 0 0 0 1px inset`,color:theme.color.tertiary},\"&:focus\":{boxShadow:`${color} 0 0 0 1px inset, ${rgba(color,.4)} 0 1px 9px 2px`,outline:\"none\"},\"&:focus:hover\":{boxShadow:`${color} 0 0 0 1px inset, ${rgba(color,.2)} 0 8px 18px 0px`}}:{}},({theme,outline,primary,secondary})=>{let color;return secondary?color=theme.color.secondary:primary&&(color=theme.color.primary),outline&&color?{boxShadow:`${color} 0 0 0 1px inset`,color,\"svg path\":{fill:color},\"&:hover\":{boxShadow:`${color} 0 0 0 1px inset`,background:\"transparent\"},\"&:active\":{background:color,boxShadow:`${color} 0 0 0 1px inset`,color:theme.color.tertiary},\"&:focus\":{boxShadow:`${color} 0 0 0 1px inset, ${rgba(color,.4)} 0 1px 9px 2px`,outline:\"none\"},\"&:focus:hover\":{boxShadow:`${color} 0 0 0 1px inset, ${rgba(color,.2)} 0 8px 18px 0px`}}:{}}),ButtonLink=ButtonWrapper.withComponent(\"a\"),Button=Object.assign(forwardRef(function({isLink,children,...props},ref){return isLink?React5__default.createElement(ButtonLink,{...props,ref},children):React5__default.createElement(ButtonWrapper,{...props,ref},children)}),{defaultProps:{isLink:!1}});var Wrapper=styled.label(({theme})=>({display:\"flex\",borderBottom:`1px solid ${theme.appBorderColor}`,margin:\"0 15px\",padding:\"8px 0\",\"&:last-child\":{marginBottom:\"3rem\"}})),Label=styled.span(({theme})=>({minWidth:100,fontWeight:theme.typography.weight.bold,marginRight:15,display:\"flex\",justifyContent:\"flex-start\",alignItems:\"center\",lineHeight:\"16px\"})),Field=({label,children,...props})=>React5__default.createElement(Wrapper,{...props},label?React5__default.createElement(Label,null,React5__default.createElement(\"span\",null,label)):null,children);Field.defaultProps={label:void 0};var index=typeof document<\"u\"?useLayoutEffect:useEffect,use_isomorphic_layout_effect_esm_default=index;var useLatest=function(value){var ref=React5.useRef(value);return use_isomorphic_layout_effect_esm_default(function(){ref.current=value;}),ref};var updateRef=function(ref,value){if(typeof ref==\"function\"){ref(value);return}ref.current=value;},useComposedRef=function(libRef,userRef){var prevUserRef=useRef();return useCallback(function(instance){libRef.current=instance,prevUserRef.current&&updateRef(prevUserRef.current,null),prevUserRef.current=userRef,userRef&&updateRef(userRef,instance);},[userRef])},use_composed_ref_esm_default=useComposedRef;var HIDDEN_TEXTAREA_STYLE={\"min-height\":\"0\",\"max-height\":\"none\",height:\"0\",visibility:\"hidden\",overflow:\"hidden\",position:\"absolute\",\"z-index\":\"-1000\",top:\"0\",right:\"0\"},forceHiddenStyles=function(node){Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function(key){node.style.setProperty(key,HIDDEN_TEXTAREA_STYLE[key],\"important\");});},hiddenTextarea=null,getHeight=function(node,sizingData){var height=node.scrollHeight;return sizingData.sizingStyle.boxSizing===\"border-box\"?height+sizingData.borderSize:height-sizingData.paddingSize};function calculateNodeHeight(sizingData,value,minRows,maxRows){minRows===void 0&&(minRows=1),maxRows===void 0&&(maxRows=1/0),hiddenTextarea||(hiddenTextarea=document.createElement(\"textarea\"),hiddenTextarea.setAttribute(\"tabindex\",\"-1\"),hiddenTextarea.setAttribute(\"aria-hidden\",\"true\"),forceHiddenStyles(hiddenTextarea)),hiddenTextarea.parentNode===null&&document.body.appendChild(hiddenTextarea);var paddingSize=sizingData.paddingSize,borderSize=sizingData.borderSize,sizingStyle=sizingData.sizingStyle,boxSizing=sizingStyle.boxSizing;Object.keys(sizingStyle).forEach(function(_key){var key=_key;hiddenTextarea.style[key]=sizingStyle[key];}),forceHiddenStyles(hiddenTextarea),hiddenTextarea.value=value;var height=getHeight(hiddenTextarea,sizingData);hiddenTextarea.value=value,height=getHeight(hiddenTextarea,sizingData),hiddenTextarea.value=\"x\";var rowHeight=hiddenTextarea.scrollHeight-paddingSize,minHeight=rowHeight*minRows;boxSizing===\"border-box\"&&(minHeight=minHeight+paddingSize+borderSize),height=Math.max(minHeight,height);var maxHeight=rowHeight*maxRows;return boxSizing===\"border-box\"&&(maxHeight=maxHeight+paddingSize+borderSize),height=Math.min(maxHeight,height),[height,rowHeight]}var noop=function(){},pick=function(props,obj){return props.reduce(function(acc,prop){return acc[prop]=obj[prop],acc},{})},SIZING_STYLE=[\"borderBottomWidth\",\"borderLeftWidth\",\"borderRightWidth\",\"borderTopWidth\",\"boxSizing\",\"fontFamily\",\"fontSize\",\"fontStyle\",\"fontWeight\",\"letterSpacing\",\"lineHeight\",\"paddingBottom\",\"paddingLeft\",\"paddingRight\",\"paddingTop\",\"tabSize\",\"textIndent\",\"textRendering\",\"textTransform\",\"width\",\"wordBreak\"],isIE=typeof document<\"u\"?!!document.documentElement.currentStyle:!1,getSizingData=function(node){var style=window.getComputedStyle(node);if(style===null)return null;var sizingStyle=pick(SIZING_STYLE,style),boxSizing=sizingStyle.boxSizing;if(boxSizing===\"\")return null;isIE&&boxSizing===\"border-box\"&&(sizingStyle.width=parseFloat(sizingStyle.width)+parseFloat(sizingStyle.borderRightWidth)+parseFloat(sizingStyle.borderLeftWidth)+parseFloat(sizingStyle.paddingRight)+parseFloat(sizingStyle.paddingLeft)+\"px\");var paddingSize=parseFloat(sizingStyle.paddingBottom)+parseFloat(sizingStyle.paddingTop),borderSize=parseFloat(sizingStyle.borderBottomWidth)+parseFloat(sizingStyle.borderTopWidth);return {sizingStyle,paddingSize,borderSize}};function useListener(target,type,listener){var latestListener=useLatest(listener);useLayoutEffect(function(){var handler=function(ev){return latestListener.current(ev)};return target.addEventListener(type,handler),function(){return target.removeEventListener(type,handler)}},[]);}var useWindowResizeListener=function(listener){useListener(window,\"resize\",listener);},useFontsLoadedListener=function(listener){useListener(document.fonts,\"loadingdone\",listener);},_excluded=[\"cacheMeasurements\",\"maxRows\",\"minRows\",\"onChange\",\"onHeightChange\"],TextareaAutosize=function(_ref,userRef){var cacheMeasurements=_ref.cacheMeasurements,maxRows=_ref.maxRows,minRows=_ref.minRows,_ref$onChange=_ref.onChange,onChange=_ref$onChange===void 0?noop:_ref$onChange,_ref$onHeightChange=_ref.onHeightChange,onHeightChange=_ref$onHeightChange===void 0?noop:_ref$onHeightChange,props=_objectWithoutPropertiesLoose(_ref,_excluded);if(process.env.NODE_ENV!==\"production\"&&props.style){if(\"maxHeight\"in props.style)throw new Error(\"Using `style.maxHeight` for is not supported. Please use `maxRows`.\");if(\"minHeight\"in props.style)throw new Error(\"Using `style.minHeight` for is not supported. Please use `minRows`.\")}var isControlled=props.value!==void 0,libRef=useRef(null),ref=use_composed_ref_esm_default(libRef,userRef),heightRef=useRef(0),measurementsCacheRef=useRef(),resizeTextarea=function(){var node=libRef.current,nodeSizingData=cacheMeasurements&&measurementsCacheRef.current?measurementsCacheRef.current:getSizingData(node);if(nodeSizingData){measurementsCacheRef.current=nodeSizingData;var _calculateNodeHeight=calculateNodeHeight(nodeSizingData,node.value||node.placeholder||\"x\",minRows,maxRows),height=_calculateNodeHeight[0],rowHeight=_calculateNodeHeight[1];heightRef.current!==height&&(heightRef.current=height,node.style.setProperty(\"height\",height+\"px\",\"important\"),onHeightChange(height,{rowHeight}));}},handleChange=function(event){isControlled||resizeTextarea(),onChange(event);};return typeof document<\"u\"&&(useLayoutEffect(resizeTextarea),useWindowResizeListener(resizeTextarea),useFontsLoadedListener(resizeTextarea)),createElement(\"textarea\",_extends({},props,{onChange:handleChange,ref}))},index2=forwardRef(TextareaAutosize),react_textarea_autosize_esm_default=index2;var styleResets={appearance:\"none\",border:\"0 none\",boxSizing:\"inherit\",display:\" block\",margin:\" 0\",background:\"transparent\",padding:0,fontSize:\"inherit\",position:\"relative\"},styles=({theme})=>({...styleResets,transition:\"box-shadow 200ms ease-out, opacity 200ms ease-out\",color:theme.input.color||\"inherit\",background:theme.input.background,boxShadow:`${theme.input.border} 0 0 0 1px inset`,borderRadius:theme.input.borderRadius,fontSize:theme.typography.size.s2-1,lineHeight:\"20px\",padding:\"6px 10px\",\"&:focus\":{boxShadow:`${theme.color.secondary} 0 0 0 1px inset`,outline:\"none\"},\"&[disabled]\":{cursor:\"not-allowed\",opacity:.5},\"&:-webkit-autofill\":{WebkitBoxShadow:`0 0 0 3em ${theme.color.lightest} inset`},\"&::placeholder\":{color:theme.textMutedColor,opacity:1}}),sizes=({size})=>{switch(size){case\"100%\":return {width:\"100%\"};case\"flex\":return {flex:1};case\"auto\":default:return {display:\"inline\"}}},alignment=({align})=>{switch(align){case\"end\":return {textAlign:\"right\"};case\"center\":return {textAlign:\"center\"};case\"start\":default:return {textAlign:\"left\"}}},validation=({valid,theme})=>{switch(valid){case\"valid\":return {boxShadow:`${theme.color.positive} 0 0 0 1px inset !important`};case\"error\":return {boxShadow:`${theme.color.negative} 0 0 0 1px inset !important`};case\"warn\":return {boxShadow:`${theme.color.warning} 0 0 0 1px inset`};case void 0:case null:default:return {}}},Input=Object.assign(styled(forwardRef(function({size,valid,align,...props},ref){return React5__default.createElement(\"input\",{...props,ref})}))(styles,sizes,alignment,validation,{minHeight:32}),{displayName:\"Input\"}),Select=Object.assign(styled(forwardRef(function({size,valid,align,...props},ref){return React5__default.createElement(\"select\",{...props,ref})}))(styles,sizes,validation,{height:32,userSelect:\"none\",paddingRight:20,appearance:\"menulist\"}),{displayName:\"Select\"}),Textarea=Object.assign(styled(forwardRef(function({size,valid,align,...props},ref){return React5__default.createElement(react_textarea_autosize_esm_default,{...props,ref})}))(styles,sizes,alignment,validation,({height=400})=>({overflow:\"visible\",maxHeight:height})),{displayName:\"Textarea\"}),ButtonStyled=styled(forwardRef(function({size,valid,align,...props},ref){return React5__default.createElement(Button,{...props,ref})}))(sizes,validation,{userSelect:\"none\",overflow:\"visible\",zIndex:2,\"&:hover\":{transform:\"none\"}}),Button3=Object.assign(forwardRef(function(props,ref){return React5__default.createElement(ButtonStyled,{...props,tertiary:!0,small:!0,inForm:!0,ref})}),{displayName:\"Button\"});var Form=Object.assign(styled.form({boxSizing:\"border-box\",width:\"100%\"}),{Field,Input,Select,Textarea,Button:Button3});var LazyWithTooltip=lazy(()=>import('./WithTooltip-FBT32F6Q.mjs').then(mod=>({default:mod.WithTooltip}))),WithTooltip=props=>React5__default.createElement(Suspense,{fallback:React5__default.createElement(\"div\",null)},React5__default.createElement(LazyWithTooltip,{...props})),LazyWithTooltipPure=lazy(()=>import('./WithTooltip-FBT32F6Q.mjs').then(mod=>({default:mod.WithTooltipPure}))),WithTooltipPure=props=>React5__default.createElement(Suspense,{fallback:React5__default.createElement(\"div\",null)},React5__default.createElement(LazyWithTooltipPure,{...props}));var Title2=styled.div(({theme})=>({fontWeight:theme.typography.weight.bold})),Desc2=styled.span(),Links=styled.div(({theme})=>({marginTop:8,textAlign:\"center\",\"> *\":{margin:\"0 8px\",fontWeight:theme.typography.weight.bold}})),Message2=styled.div(({theme})=>({color:theme.color.defaultText,lineHeight:\"18px\"})),MessageWrapper=styled.div({padding:15,width:280,boxSizing:\"border-box\"}),TooltipMessage=({title,desc,links})=>React5__default.createElement(MessageWrapper,null,React5__default.createElement(Message2,null,title&&React5__default.createElement(Title2,null,title),desc&&React5__default.createElement(Desc2,null,desc)),links&&React5__default.createElement(Links,null,links.map(({title:linkTitle,...other})=>React5__default.createElement(Link2,{...other,key:linkTitle},linkTitle))));TooltipMessage.defaultProps={title:null,desc:null,links:null};var Note=styled.div(({theme})=>({padding:\"2px 6px\",lineHeight:\"16px\",fontSize:10,fontWeight:theme.typography.weight.bold,color:theme.color.lightest,boxShadow:\"0 0 5px 0 rgba(0, 0, 0, 0.3)\",borderRadius:4,whiteSpace:\"nowrap\",pointerEvents:\"none\",zIndex:-1,background:theme.base===\"light\"?\"rgba(60, 60, 60, 0.9)\":\"rgba(0, 0, 0, 0.95)\",margin:6})),TooltipNote=({note,...props})=>React5__default.createElement(Note,{...props},note);var Title3=styled(({active,loading,disabled,...rest})=>React5__default.createElement(\"span\",{...rest}))(({theme})=>({color:theme.color.defaultText,fontWeight:theme.typography.weight.regular}),({active,theme})=>active?{color:theme.color.secondary,fontWeight:theme.typography.weight.bold}:{},({loading,theme})=>loading?{display:\"inline-block\",flex:\"none\",...theme.animation.inlineGlow}:{},({disabled,theme})=>disabled?{color:curriedTransparentize$1(.7,theme.color.defaultText)}:{}),Right=styled.span({display:\"flex\",\"& svg\":{height:12,width:12,margin:\"3px 0\",verticalAlign:\"top\"},\"& path\":{fill:\"inherit\"}}),Center=styled.span({flex:1,textAlign:\"left\",display:\"flex\",flexDirection:\"column\"},({isIndented})=>isIndented?{marginLeft:24}:{}),CenterText=styled.span(({theme})=>({fontSize:\"11px\",lineHeight:\"14px\"}),({active,theme})=>active?{color:theme.color.secondary}:{},({theme,disabled})=>disabled?{color:theme.textMutedColor}:{}),Left=styled.span(({active,theme})=>active?{\"& svg\":{opacity:1},\"& svg path\":{fill:theme.color.secondary}}:{},()=>({display:\"flex\",maxWidth:14})),Item=styled.a(({theme})=>({fontSize:theme.typography.size.s1,transition:\"all 150ms ease-out\",color:theme.color.dark,textDecoration:\"none\",cursor:\"pointer\",justifyContent:\"space-between\",lineHeight:\"18px\",padding:\"7px 10px\",display:\"flex\",alignItems:\"center\",\"& > * + *\":{paddingLeft:10},\"&:hover\":{background:theme.background.hoverable},\"&:hover svg\":{opacity:1}}),({disabled})=>disabled?{cursor:\"not-allowed\"}:{}),getItemProps=memoize(100)((onClick,href,LinkWrapper)=>{let result={};return onClick&&Object.assign(result,{onClick}),href&&Object.assign(result,{href}),LinkWrapper&&href&&Object.assign(result,{to:href,as:LinkWrapper}),result}),ListItem=({loading,left,title,center,right,icon,active,disabled,isIndented,href,onClick,LinkWrapper,...rest})=>{let itemProps=getItemProps(onClick,href,LinkWrapper),commonProps={active,disabled},isStorybookIcon=typeof icon==\"string\"&&icons[icon];return React5__default.createElement(Item,{...commonProps,...rest,...itemProps},icon?React5__default.createElement(Left,{...commonProps},isStorybookIcon?React5__default.createElement(Icons,{icon}):icon):left&&React5__default.createElement(Left,{...commonProps},left),title||center?React5__default.createElement(Center,{isIndented:!left&&!icon&&isIndented},title&&React5__default.createElement(Title3,{...commonProps,loading},title),center&&React5__default.createElement(CenterText,{...commonProps},center)):null,right&&React5__default.createElement(Right,{...commonProps},right))};ListItem.defaultProps={loading:!1,left:null,title:React5__default.createElement(\"span\",null,\"Loading state\"),center:null,right:null,active:!1,disabled:!1,href:null,LinkWrapper:null,onClick:null};var ListItem_default=ListItem;var List=styled.div({minWidth:180,overflow:\"hidden\",overflowY:\"auto\",maxHeight:15.5*32},({theme})=>({borderRadius:theme.appBorderRadius})),Item2=props=>{let{LinkWrapper,onClick:onClickFromProps,id,isIndented,...rest}=props,{title,href,active}=rest,onClick=useCallback(event=>{onClickFromProps(event,rest);},[onClickFromProps]),hasOnClick=!!onClickFromProps;return React5__default.createElement(ListItem_default,{title,active,href,id:`list-item-${id}`,LinkWrapper,isIndented,...rest,...hasOnClick?{onClick}:{}})},TooltipLinkList=({links,LinkWrapper})=>{let hasOneLeftElement=links.some(link=>link.left||link.icon);return React5__default.createElement(List,null,links.map(({isGatsby,...p})=>React5__default.createElement(Item2,{key:p.id,LinkWrapper:isGatsby?LinkWrapper:null,isIndented:hasOneLeftElement,...p})))};TooltipLinkList.defaultProps={LinkWrapper:ListItem_default.defaultProps.LinkWrapper};var ButtonOrLink=React5__default.forwardRef(({children,...restProps},ref)=>restProps.href!=null?React5__default.createElement(\"a\",{ref,...restProps},children):React5__default.createElement(\"button\",{ref,type:\"button\",...restProps},children));ButtonOrLink.displayName=\"ButtonOrLink\";var TabButton=styled(ButtonOrLink,{shouldForwardProp:isPropValid})({whiteSpace:\"normal\",display:\"inline-flex\",overflow:\"hidden\",verticalAlign:\"top\",justifyContent:\"center\",alignItems:\"center\",textAlign:\"center\",textDecoration:\"none\",\"&:empty\":{display:\"none\"}},({theme})=>({padding:\"0 15px\",transition:\"color 0.2s linear, border-bottom-color 0.2s linear\",height:40,lineHeight:\"12px\",cursor:\"pointer\",background:\"transparent\",border:\"0 solid transparent\",borderTop:\"3px solid transparent\",borderBottom:\"3px solid transparent\",fontWeight:\"bold\",fontSize:13,\"&:focus\":{outline:\"0 none\",borderBottomColor:theme.color.secondary}}),({active,textColor,theme})=>active?{color:textColor||theme.barSelectedColor,borderBottomColor:theme.barSelectedColor}:{color:textColor||theme.barTextColor,borderBottomColor:\"transparent\"});TabButton.displayName=\"TabButton\";var IconButton=styled(ButtonOrLink,{shouldForwardProp:isPropValid})(()=>({alignItems:\"center\",background:\"transparent\",border:\"none\",borderRadius:4,color:\"inherit\",cursor:\"pointer\",display:\"inline-flex\",fontSize:13,fontWeight:\"bold\",height:28,justifyContent:\"center\",marginTop:6,padding:\"8px 7px\",\"& > svg\":{width:14}}),({active,theme})=>active?{backgroundColor:theme.background.hoverable,color:theme.color.secondary}:{},({disabled,theme})=>disabled?{opacity:.5,cursor:\"not-allowed\"}:{\"&:hover, &:focus-visible\":{background:curriedTransparentize$1(.88,theme.color.secondary),color:theme.color.secondary},\"&:focus-visible\":{outline:auto},\"&:focus:not(:focus-visible)\":{outline:\"none\"}});IconButton.displayName=\"IconButton\";var IconPlaceholder=styled.div(({theme})=>({width:14,height:14,backgroundColor:theme.appBorderColor,animation:`${theme.animation.glow} 1.5s ease-in-out infinite`})),IconButtonSkeletonWrapper=styled.div(()=>({marginTop:6,padding:7,height:28})),IconButtonSkeleton=()=>React5__default.createElement(IconButtonSkeletonWrapper,null,React5__default.createElement(IconPlaceholder,null));var Side=styled.div({display:\"flex\",whiteSpace:\"nowrap\",flexBasis:\"auto\",marginLeft:3,marginRight:3},({scrollable})=>scrollable?{flexShrink:0}:{},({left})=>left?{\"& > *\":{marginLeft:4}}:{},({right})=>right?{marginLeft:30,\"& > *\":{marginRight:4}}:{});Side.displayName=\"Side\";var UnstyledBar=({children,className,scrollable})=>scrollable?React5__default.createElement(ScrollArea,{vertical:!1,className},children):React5__default.createElement(\"div\",{className},children),Bar=styled(UnstyledBar)(({theme,scrollable=!0})=>({color:theme.barTextColor,width:\"100%\",height:40,flexShrink:0,overflow:scrollable?\"auto\":\"hidden\",overflowY:\"hidden\"}),({theme,border=!1})=>border?{boxShadow:`${theme.appBorderColor} 0 -1px 0 0 inset`,background:theme.barBg}:{});Bar.displayName=\"Bar\";var BarInner=styled.div(({bgColor})=>({display:\"flex\",justifyContent:\"space-between\",position:\"relative\",flexWrap:\"nowrap\",flexShrink:0,height:40,backgroundColor:bgColor||\"\"})),FlexBar=({children,backgroundColor,...rest})=>{let[left,right]=Children.toArray(children);return React5__default.createElement(Bar,{...rest},React5__default.createElement(BarInner,{bgColor:backgroundColor},React5__default.createElement(Side,{scrollable:rest.scrollable,left:!0},left),right?React5__default.createElement(Side,{right:!0},right):null))};FlexBar.displayName=\"FlexBar\";var VisuallyHidden=styled.div(({active})=>active?{display:\"block\"}:{display:\"none\"}),childrenToList=(children,selected)=>Children.toArray(children).map(({props:{title,id,color,children:childrenOfChild}},index3)=>{let content=Array.isArray(childrenOfChild)?childrenOfChild[0]:childrenOfChild;return {active:selected?id===selected:index3===0,title,id,color,render:typeof content==\"function\"?content:({active,key})=>React5__default.createElement(VisuallyHidden,{key,active,role:\"tabpanel\"},content)}});var CollapseIcon=styled.span(({theme,isActive})=>({display:\"inline-block\",width:0,height:0,marginLeft:8,color:isActive?theme.color.secondary:theme.color.mediumdark,borderRight:\"3px solid transparent\",borderLeft:\"3px solid transparent\",borderTop:\"3px solid\",transition:\"transform .1s ease-out\"})),AddonButton=styled(TabButton)(({active,theme,preActive})=>`\n color: ${preActive||active?theme.color.secondary:theme.color.mediumdark};\n &:hover {\n color: ${theme.color.secondary};\n .addon-collapsible-icon {\n color: ${theme.color.secondary};\n }\n }\n `);function useList(list){let tabBarRef=useRef(),addonsRef=useRef(),tabRefs=useRef(new Map),{width:tabBarWidth=1}=useResizeObserver({ref:tabBarRef}),[visibleList,setVisibleList]=useState(list),[invisibleList,setInvisibleList]=useState([]),previousList=useRef(list),AddonTab=useCallback(({menuName,actions})=>{let isAddonsActive=invisibleList.some(({active})=>active),[isTooltipVisible,setTooltipVisible]=useState(!1);return React5__default.createElement(React5__default.Fragment,null,React5__default.createElement(WithToolTipState,{interactive:!0,visible:isTooltipVisible,onVisibleChange:setTooltipVisible,placement:\"bottom\",delayHide:100,tooltip:React5__default.createElement(TooltipLinkList,{links:invisibleList.map(({title,id,color,active})=>({id,title,color,active,onClick:e=>{e.preventDefault(),actions.onSelect(id);}}))})},React5__default.createElement(AddonButton,{ref:addonsRef,active:isAddonsActive,preActive:isTooltipVisible,style:{visibility:invisibleList.length?\"visible\":\"hidden\"},\"aria-hidden\":!invisibleList.length,className:\"tabbutton\",type:\"button\",role:\"tab\"},menuName,React5__default.createElement(CollapseIcon,{className:\"addon-collapsible-icon\",isActive:isAddonsActive||isTooltipVisible}))),invisibleList.map(({title,id,color},index3)=>{let indexId=`index-${index3}`;return React5__default.createElement(TabButton,{id:`tabbutton-${sanitize(id)??indexId}`,style:{visibility:\"hidden\"},\"aria-hidden\":!0,tabIndex:-1,ref:ref=>{tabRefs.current.set(id,ref);},className:\"tabbutton\",type:\"button\",key:id,textColor:color,role:\"tab\"},title)}))},[invisibleList]),setTabLists=useCallback(()=>{if(!tabBarRef.current||!addonsRef.current)return;let{x,width}=tabBarRef.current.getBoundingClientRect(),{width:widthAddonsTab}=addonsRef.current.getBoundingClientRect(),rightBorder=invisibleList.length?x+width-widthAddonsTab:x+width,newVisibleList=[],widthSum=0,newInvisibleList=list.filter(item=>{let{id}=item,tabButton=tabRefs.current.get(id),{width:tabWidth=0}=tabButton?.getBoundingClientRect()||{},crossBorder=x+widthSum+tabWidth>rightBorder;return (!crossBorder||!tabButton)&&newVisibleList.push(item),widthSum+=tabWidth,crossBorder});(newVisibleList.length!==visibleList.length||previousList.current!==list)&&(setVisibleList(newVisibleList),setInvisibleList(newInvisibleList),previousList.current=list);},[invisibleList.length,list,visibleList]);return useLayoutEffect(setTabLists,[setTabLists,tabBarWidth]),{tabRefs,addonsRef,tabBarRef,visibleList,invisibleList,AddonTab}}var ignoreSsrWarning2=\"/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */\",Wrapper2=styled.div(({theme,bordered})=>bordered?{backgroundClip:\"padding-box\",border:`1px solid ${theme.appBorderColor}`,borderRadius:theme.appBorderRadius,overflow:\"hidden\",boxSizing:\"border-box\"}:{},({absolute})=>absolute?{width:\"100%\",height:\"100%\",boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\"}:{display:\"block\"}),TabBar=styled.div({overflow:\"hidden\",\"&:first-of-type\":{marginLeft:-3},whiteSpace:\"nowrap\",flexGrow:1});TabBar.displayName=\"TabBar\";var Content=styled.div({display:\"block\",position:\"relative\"},({theme})=>({fontSize:theme.typography.size.s2-1,background:theme.background.content}),({bordered,theme})=>bordered?{borderRadius:`0 0 ${theme.appBorderRadius-1}px ${theme.appBorderRadius-1}px`}:{},({absolute,bordered})=>absolute?{height:`calc(100% - ${bordered?42:40}px)`,position:\"absolute\",left:0+(bordered?1:0),right:0+(bordered?1:0),bottom:0+(bordered?1:0),top:40+(bordered?1:0),overflow:\"auto\",[`& > *:first-child${ignoreSsrWarning2}`]:{position:\"absolute\",left:0+(bordered?1:0),right:0+(bordered?1:0),bottom:0+(bordered?1:0),top:0+(bordered?1:0),height:`calc(100% - ${bordered?2:0}px)`,overflow:\"auto\"}}:{}),TabWrapper=({active,render,children})=>React5__default.createElement(VisuallyHidden,{active},render?render():children);var Tabs=memo(({children,selected,actions,absolute,bordered,tools,backgroundColor,id:htmlId,menuName})=>{let list=useMemo(()=>childrenToList(children,selected),[children,selected]),{visibleList,tabBarRef,tabRefs,AddonTab}=useList(list);return list.length?React5__default.createElement(Wrapper2,{absolute,bordered,id:htmlId},React5__default.createElement(FlexBar,{scrollable:!1,border:!0,backgroundColor},React5__default.createElement(TabBar,{style:{whiteSpace:\"normal\"},ref:tabBarRef,role:\"tablist\"},visibleList.map(({title,id,active,color},index3)=>{let indexId=`index-${index3}`;return React5__default.createElement(TabButton,{id:`tabbutton-${sanitize(id)??indexId}`,ref:ref=>{tabRefs.current.set(id,ref);},className:`tabbutton ${active?\"tabbutton-active\":\"\"}`,type:\"button\",key:id,active,textColor:color,onClick:e=>{e.preventDefault(),actions.onSelect(id);},role:\"tab\"},title)}),React5__default.createElement(AddonTab,{menuName,actions})),tools),React5__default.createElement(Content,{id:\"panel-tab-content\",bordered,absolute},list.map(({id,active,render})=>render({key:id,active})))):React5__default.createElement(Placeholder,null,React5__default.createElement(Fragment,{key:\"title\"},\"Nothing found\"))});Tabs.displayName=\"Tabs\";Tabs.defaultProps={id:null,children:null,tools:null,selected:null,absolute:!1,bordered:!1,menuName:\"Tabs\"};var TabsState=class extends Component{constructor(props){super(props);this.handlers={onSelect:id=>this.setState({selected:id})};this.state={selected:props.initial};}render(){let{bordered=!1,absolute=!1,children,backgroundColor,menuName}=this.props,{selected}=this.state;return React5__default.createElement(Tabs,{bordered,absolute,selected,backgroundColor,menuName,actions:this.handlers},children)}};TabsState.defaultProps={children:[],initial:null,absolute:!1,bordered:!1,backgroundColor:\"\",menuName:void 0};var Separator=styled.span(({theme})=>({width:1,height:20,background:theme.appBorderColor,marginTop:10,marginLeft:6,marginRight:2}),({force})=>force?{}:{\"& + &\":{display:\"none\"}});Separator.displayName=\"Separator\";var interleaveSeparators=list=>list.reduce((acc,item,index3)=>item?React5__default.createElement(Fragment,{key:item.id||item.key||`f-${index3}`},acc,index3>0?React5__default.createElement(Separator,{key:`s-${index3}`}):null,item.render()||item):acc,null);var usePrevious=value=>{let ref=useRef();return useEffect(()=>{ref.current=value;},[value]),ref.current},useUpdate=(update,value)=>{let previousValue=usePrevious(value);return update?value:previousValue},AddonPanel=({active,children})=>React5__default.createElement(\"div\",{hidden:!active},useUpdate(active,children));var StorybookLogo=({alt,...props})=>React5__default.createElement(\"svg\",{width:\"200px\",height:\"40px\",viewBox:\"0 0 200 40\",...props,role:\"img\"},alt?React5__default.createElement(\"title\",null,alt):null,React5__default.createElement(\"defs\",null,React5__default.createElement(\"path\",{d:\"M1.2 36.9L0 3.9c0-1.1.8-2 1.9-2.1l28-1.8a2 2 0 0 1 2.2 1.9 2 2 0 0 1 0 .1v36a2 2 0 0 1-2 2 2 2 0 0 1-.1 0L3.2 38.8a2 2 0 0 1-2-2z\",id:\"a\"})),React5__default.createElement(\"g\",{fill:\"none\",fillRule:\"evenodd\"},React5__default.createElement(\"path\",{d:\"M53.3 31.7c-1.7 0-3.4-.3-5-.7-1.5-.5-2.8-1.1-3.9-2l1.6-3.5c2.2 1.5 4.6 2.3 7.3 2.3 1.5 0 2.5-.2 3.3-.7.7-.5 1.1-1 1.1-1.9 0-.7-.3-1.3-1-1.7s-2-.8-3.7-1.2c-2-.4-3.6-.9-4.8-1.5-1.1-.5-2-1.2-2.6-2-.5-1-.8-2-.8-3.2 0-1.4.4-2.6 1.2-3.6.7-1.1 1.8-2 3.2-2.6 1.3-.6 2.9-.9 4.7-.9 1.6 0 3.1.3 4.6.7 1.5.5 2.7 1.1 3.5 2l-1.6 3.5c-2-1.5-4.2-2.3-6.5-2.3-1.3 0-2.3.2-3 .8-.8.5-1.2 1.1-1.2 2 0 .5.2 1 .5 1.3.2.3.7.6 1.4.9l2.9.8c2.9.6 5 1.4 6.2 2.4a5 5 0 0 1 2 4.2 6 6 0 0 1-2.5 5c-1.7 1.2-4 1.9-7 1.9zm21-3.6l1.4-.1-.2 3.5-1.9.1c-2.4 0-4.1-.5-5.2-1.5-1.1-1-1.6-2.7-1.6-4.8v-6h-3v-3.6h3V11h4.8v4.6h4v3.6h-4v6c0 1.8.9 2.8 2.6 2.8zm11.1 3.5c-1.6 0-3-.3-4.3-1a7 7 0 0 1-3-2.8c-.6-1.3-1-2.7-1-4.4 0-1.6.4-3 1-4.3a7 7 0 0 1 3-2.8c1.2-.7 2.7-1 4.3-1 1.7 0 3.2.3 4.4 1a7 7 0 0 1 3 2.8c.6 1.2 1 2.7 1 4.3 0 1.7-.4 3.1-1 4.4a7 7 0 0 1-3 2.8c-1.2.7-2.7 1-4.4 1zm0-3.6c2.4 0 3.6-1.6 3.6-4.6 0-1.5-.3-2.6-1-3.4a3.2 3.2 0 0 0-2.6-1c-2.3 0-3.5 1.4-3.5 4.4 0 3 1.2 4.6 3.5 4.6zm21.7-8.8l-2.7.3c-1.3.2-2.3.5-2.8 1.2-.6.6-.9 1.4-.9 2.5v8.2H96V15.7h4.6v2.6c.8-1.8 2.5-2.8 5-3h1.3l.3 4zm14-3.5h4.8L116.4 37h-4.9l3-6.6-6.4-14.8h5l4 10 4-10zm16-.4c1.4 0 2.6.3 3.6 1 1 .6 1.9 1.6 2.5 2.8.6 1.2.9 2.7.9 4.3 0 1.6-.3 3-1 4.3a6.9 6.9 0 0 1-2.4 2.9c-1 .7-2.2 1-3.6 1-1 0-2-.2-3-.7-.8-.4-1.5-1-2-1.9v2.4h-4.7V8.8h4.8v9c.5-.8 1.2-1.4 2-1.9.9-.4 1.8-.6 3-.6zM135.7 28c1.1 0 2-.4 2.6-1.2.6-.8 1-2 1-3.4 0-1.5-.4-2.5-1-3.3s-1.5-1.1-2.6-1.1-2 .3-2.6 1.1c-.6.8-1 2-1 3.3 0 1.5.4 2.6 1 3.4.6.8 1.5 1.2 2.6 1.2zm18.9 3.6c-1.7 0-3.2-.3-4.4-1a7 7 0 0 1-3-2.8c-.6-1.3-1-2.7-1-4.4 0-1.6.4-3 1-4.3a7 7 0 0 1 3-2.8c1.2-.7 2.7-1 4.4-1 1.6 0 3 .3 4.3 1a7 7 0 0 1 3 2.8c.6 1.2 1 2.7 1 4.3 0 1.7-.4 3.1-1 4.4a7 7 0 0 1-3 2.8c-1.2.7-2.7 1-4.3 1zm0-3.6c2.3 0 3.5-1.6 3.5-4.6 0-1.5-.3-2.6-1-3.4a3.2 3.2 0 0 0-2.5-1c-2.4 0-3.6 1.4-3.6 4.4 0 3 1.2 4.6 3.6 4.6zm18 3.6c-1.7 0-3.2-.3-4.4-1a7 7 0 0 1-3-2.8c-.6-1.3-1-2.7-1-4.4 0-1.6.4-3 1-4.3a7 7 0 0 1 3-2.8c1.2-.7 2.7-1 4.4-1 1.6 0 3 .3 4.4 1a7 7 0 0 1 2.9 2.8c.6 1.2 1 2.7 1 4.3 0 1.7-.4 3.1-1 4.4a7 7 0 0 1-3 2.8c-1.2.7-2.7 1-4.3 1zm0-3.6c2.3 0 3.5-1.6 3.5-4.6 0-1.5-.3-2.6-1-3.4a3.2 3.2 0 0 0-2.5-1c-2.4 0-3.6 1.4-3.6 4.4 0 3 1.2 4.6 3.6 4.6zm27.4 3.4h-6l-6-7v7h-4.8V8.8h4.9v13.6l5.8-6.7h5.7l-6.6 7.5 7 8.2z\",fill:\"currentColor\"}),React5__default.createElement(\"mask\",{id:\"b\",fill:\"#fff\"},React5__default.createElement(\"use\",{xlinkHref:\"#a\"})),React5__default.createElement(\"use\",{fill:\"#FF4785\",fillRule:\"nonzero\",xlinkHref:\"#a\"}),React5__default.createElement(\"path\",{d:\"M23.7 5L24 .2l3.9-.3.1 4.8a.3.3 0 0 1-.5.2L26 3.8l-1.7 1.4a.3.3 0 0 1-.5-.3zm-5 10c0 .9 5.3.5 6 0 0-5.4-2.8-8.2-8-8.2-5.3 0-8.2 2.8-8.2 7.1 0 7.4 10 7.6 10 11.6 0 1.2-.5 1.9-1.8 1.9-1.6 0-2.2-.9-2.1-3.6 0-.6-6.1-.8-6.3 0-.5 6.7 3.7 8.6 8.5 8.6 4.6 0 8.3-2.5 8.3-7 0-7.9-10.2-7.7-10.2-11.6 0-1.6 1.2-1.8 2-1.8.6 0 2 0 1.9 3z\",fill:\"#FFF\",fillRule:\"nonzero\",mask:\"url(#b)\"})));var StorybookIcon=({...props})=>React5__default.createElement(\"svg\",{viewBox:\"0 0 64 64\",...props},React5__default.createElement(\"title\",null,\"Storybook icon\"),React5__default.createElement(\"g\",{id:\"Artboard\",stroke:\"none\",strokeWidth:\"1\",fill:\"none\",fillRule:\"evenodd\"},React5__default.createElement(\"path\",{d:\"M8.04798541,58.7875918 L6.07908839,6.32540407 C6.01406344,4.5927838 7.34257463,3.12440831 9.07303814,3.01625434 L53.6958037,0.227331489 C55.457209,0.117243658 56.974354,1.45590096 57.0844418,3.21730626 C57.0885895,3.28366922 57.0906648,3.35014546 57.0906648,3.41663791 L57.0906648,60.5834697 C57.0906648,62.3483119 55.6599776,63.7789992 53.8951354,63.7789992 C53.847325,63.7789992 53.7995207,63.7779262 53.7517585,63.775781 L11.0978899,61.8600599 C9.43669044,61.7854501 8.11034889,60.4492961 8.04798541,58.7875918 Z\",id:\"path-1\",fill:\"#FF4785\",fillRule:\"nonzero\"}),React5__default.createElement(\"path\",{d:\"M35.9095005,24.1768792 C35.9095005,25.420127 44.2838488,24.8242707 45.4080313,23.9509748 C45.4080313,15.4847538 40.8652557,11.0358878 32.5466666,11.0358878 C24.2280775,11.0358878 19.5673077,15.553972 19.5673077,22.3311017 C19.5673077,34.1346028 35.4965208,34.3605071 35.4965208,40.7987804 C35.4965208,42.606015 34.6115646,43.6790606 32.6646607,43.6790606 C30.127786,43.6790606 29.1248356,42.3834613 29.2428298,37.9783269 C29.2428298,37.0226907 19.5673077,36.7247626 19.2723223,37.9783269 C18.5211693,48.6535354 25.1720308,51.7326752 32.7826549,51.7326752 C40.1572906,51.7326752 45.939005,47.8018145 45.939005,40.6858282 C45.939005,28.035186 29.7738035,28.3740425 29.7738035,22.1051974 C29.7738035,19.5637737 31.6617103,19.2249173 32.7826549,19.2249173 C33.9625966,19.2249173 36.0864917,19.4328883 35.9095005,24.1768792 Z\",id:\"path9_fill-path\",fill:\"#FFFFFF\",fillRule:\"nonzero\"}),React5__default.createElement(\"path\",{d:\"M44.0461638,0.830433986 L50.1874092,0.446606143 L50.443532,7.7810017 C50.4527198,8.04410717 50.2468789,8.26484453 49.9837734,8.27403237 C49.871115,8.27796649 49.7607078,8.24184808 49.6721567,8.17209069 L47.3089847,6.3104681 L44.5110468,8.43287463 C44.3012992,8.591981 44.0022839,8.55092814 43.8431776,8.34118051 C43.7762017,8.25288717 43.742082,8.14401677 43.7466857,8.03329059 L44.0461638,0.830433986 Z\",id:\"Path\",fill:\"#FFFFFF\"})));var rotate360=keyframes`\n\tfrom {\n\t\ttransform: rotate(0deg);\n\t}\n\tto {\n\t\ttransform: rotate(360deg);\n\t}\n`;var LoaderWrapper=styled.div(({size=32})=>({borderRadius:\"50%\",cursor:\"progress\",display:\"inline-block\",overflow:\"hidden\",position:\"absolute\",transition:\"all 200ms ease-out\",verticalAlign:\"top\",top:\"50%\",left:\"50%\",marginTop:-(size/2),marginLeft:-(size/2),height:size,width:size,zIndex:4,borderWidth:2,borderStyle:\"solid\",borderColor:\"rgba(97, 97, 97, 0.29)\",borderTopColor:\"rgb(100,100,100)\",animation:`${rotate360} 0.7s linear infinite`,mixBlendMode:\"difference\"})),ProgressWrapper=styled.div({position:\"absolute\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\",width:\"100%\",height:\"100%\"}),ProgressTrack=styled.div(({theme})=>({position:\"relative\",width:\"80%\",marginBottom:\"0.75rem\",maxWidth:300,height:5,borderRadius:5,background:curriedTransparentize$1(.8,theme.color.secondary),overflow:\"hidden\",cursor:\"progress\"})),ProgressBar=styled.div(({theme})=>({position:\"absolute\",top:0,left:0,height:\"100%\",background:theme.color.secondary})),ProgressMessage=styled.div(({theme})=>({minHeight:\"2em\",fontSize:`${theme.typography.size.s1}px`,color:theme.barTextColor})),ErrorIcon=styled(Icons)(({theme})=>({width:20,height:20,marginBottom:\"0.5rem\",color:theme.textMutedColor})),ellipsis=keyframes`\n from { content: \"...\" }\n 33% { content: \".\" }\n 66% { content: \"..\" }\n to { content: \"...\" }\n`,Ellipsis=styled.span({\"&::after\":{content:\"'...'\",animation:`${ellipsis} 1s linear infinite`,animationDelay:\"1s\",display:\"inline-block\",width:\"1em\",height:\"auto\"}}),Loader=({progress,error,size,...props})=>{if(error)return React5__default.createElement(ProgressWrapper,{\"aria-label\":error.toString(),\"aria-live\":\"polite\",role:\"status\",...props},React5__default.createElement(ErrorIcon,{icon:\"lightningoff\"}),React5__default.createElement(ProgressMessage,null,error.message));if(progress){let{value,modules}=progress,{message}=progress;return modules&&(message+=` ${modules.complete} / ${modules.total} modules`),React5__default.createElement(ProgressWrapper,{\"aria-label\":\"Content is loading...\",\"aria-live\":\"polite\",\"aria-valuemin\":0,\"aria-valuemax\":100,\"aria-valuenow\":value*100,\"aria-valuetext\":message,role:\"progressbar\",...props},React5__default.createElement(ProgressTrack,null,React5__default.createElement(ProgressBar,{style:{width:`${value*100}%`}})),React5__default.createElement(ProgressMessage,null,message,value<1&&React5__default.createElement(Ellipsis,{key:message})))}return React5__default.createElement(LoaderWrapper,{\"aria-label\":\"Content is loading...\",\"aria-live\":\"polite\",role:\"status\",size,...props})};function parseQuery(queryString){let query={},pairs=queryString.split(\"&\");for(let i=0;i{let[url,paramsStr]=baseUrl.split(\"?\"),params=paramsStr?{...parseQuery(paramsStr),...additionalParams,id:storyId}:{...additionalParams,id:storyId};return `${url}?${Object.entries(params).map(item=>`${item[0]}=${item[1]}`).join(\"&\")}`};var components2=components,resetComponents={};Object.keys(components).forEach(key=>{resetComponents[key]=forwardRef((props,ref)=>createElement(key,{...props,ref}));});\n\nexport { A, AddonPanel, Badge, Bar, Blockquote, Button, Code, DL, Div, DocumentWrapper, ErrorFormatter, FlexBar, Form, H1, H2, H3, H4, H5, H6, HR, IconButton, IconButtonSkeleton, Icons, Img, LI, Link2 as Link, ListItem_default as ListItem, Loader, OL, P, Placeholder, Pre, ResetWrapper, Separator, Spaced, Span, StorybookIcon, StorybookLogo, Symbols, SyntaxHighlighter2 as SyntaxHighlighter, TT, TabBar, TabButton, TabWrapper, Table, Tabs, TabsState, TooltipLinkList, TooltipMessage, TooltipNote, UL, WithTooltip, WithTooltipPure, Zoom, codeCommon, components2 as components, getStoryHref, icons, interleaveSeparators, nameSpaceClassNames, resetComponents, withReset };\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _wrapNativeSuper from '@babel/runtime/helpers/esm/wrapNativeSuper';\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction last() {\n var _ref;\n\n return _ref = arguments.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref];\n}\n\nfunction negation(a) {\n return -a;\n}\n\nfunction addition(a, b) {\n return a + b;\n}\n\nfunction subtraction(a, b) {\n return a - b;\n}\n\nfunction multiplication(a, b) {\n return a * b;\n}\n\nfunction division(a, b) {\n return a / b;\n}\n\nfunction max() {\n return Math.max.apply(Math, arguments);\n}\n\nfunction min() {\n return Math.min.apply(Math, arguments);\n}\n\nfunction comma() {\n return Array.of.apply(Array, arguments);\n}\n\nvar defaultSymbols = {\n symbols: {\n '*': {\n infix: {\n symbol: '*',\n f: multiplication,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '*',\n regSymbol: '\\\\*'\n },\n '/': {\n infix: {\n symbol: '/',\n f: division,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '/',\n regSymbol: '/'\n },\n '+': {\n infix: {\n symbol: '+',\n f: addition,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '+',\n f: last,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '+',\n regSymbol: '\\\\+'\n },\n '-': {\n infix: {\n symbol: '-',\n f: subtraction,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '-',\n f: negation,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '-',\n regSymbol: '-'\n },\n ',': {\n infix: {\n symbol: ',',\n f: comma,\n notation: 'infix',\n precedence: 1,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: ',',\n regSymbol: ','\n },\n '(': {\n prefix: {\n symbol: '(',\n f: last,\n notation: 'prefix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '(',\n regSymbol: '\\\\('\n },\n ')': {\n postfix: {\n symbol: ')',\n f: undefined,\n notation: 'postfix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: ')',\n regSymbol: '\\\\)'\n },\n min: {\n func: {\n symbol: 'min',\n f: min,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'min',\n regSymbol: 'min\\\\b'\n },\n max: {\n func: {\n symbol: 'max',\n f: max,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'max',\n regSymbol: 'max\\\\b'\n }\n }\n};\nvar defaultSymbolMap = defaultSymbols;\n\n// based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\nvar ERRORS = {\n \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"16\": \"You must provide a template to this method.\\n\\n\",\n \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"36\": \"Property must be a string value.\\n\\n\",\n \"37\": \"Syntax Error at %s.\\n\\n\",\n \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"61\": \"Property must be a string value.\\n\\n\",\n \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"67\": \"You must provide a template to this method.\\n\\n\",\n \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n \"74\": \"CSS variable not found and no default was provided.\\n\\n\",\n \"75\": \"important requires a valid style object, got a %s instead.\\n\\n\",\n \"76\": \"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\\n\\n\",\n \"77\": \"remToPx expects a value in \\\"rem\\\" but you provided it in \\\"%s\\\".\\n\\n\",\n \"78\": \"base must be set in \\\"px\\\" or \\\"%\\\" but you set it in \\\"%s\\\".\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var a = args[0];\n var b = [];\n var c;\n\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\n\nvar PolishedError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(PolishedError, _Error);\n\n function PolishedError(code) {\n var _this;\n\n if (process.env.NODE_ENV === 'production') {\n _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n } else {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;\n }\n\n return _assertThisInitialized(_this);\n }\n\n return PolishedError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar unitRegExp = /((?!\\w)a|na|hc|mc|dg|me[r]?|xe|ni(?![a-zA-Z])|mm|cp|tp|xp|q(?!s)|hv|xamv|nimv|wv|sm|s(?!\\D|$)|ged|darg?|nrut)/g; // Merges additional math functionality into the defaults.\n\nfunction mergeSymbolMaps(additionalSymbols) {\n var symbolMap = {};\n symbolMap.symbols = additionalSymbols ? _extends({}, defaultSymbolMap.symbols, additionalSymbols.symbols) : _extends({}, defaultSymbolMap.symbols);\n return symbolMap;\n}\n\nfunction exec(operators, values) {\n var _ref;\n\n var op = operators.pop();\n values.push(op.f.apply(op, (_ref = []).concat.apply(_ref, values.splice(-op.argCount))));\n return op.precedence;\n}\n\nfunction calculate(expression, additionalSymbols) {\n var symbolMap = mergeSymbolMaps(additionalSymbols);\n var match;\n var operators = [symbolMap.symbols['('].prefix];\n var values = [];\n var pattern = new RegExp( // Pattern for numbers\n \"\\\\d+(?:\\\\.\\\\d+)?|\" + // ...and patterns for individual operators/function names\n Object.keys(symbolMap.symbols).map(function (key) {\n return symbolMap.symbols[key];\n }) // longer symbols should be listed first\n // $FlowFixMe\n .sort(function (a, b) {\n return b.symbol.length - a.symbol.length;\n }) // $FlowFixMe\n .map(function (val) {\n return val.regSymbol;\n }).join('|') + \"|(\\\\S)\", 'g');\n pattern.lastIndex = 0; // Reset regular expression object\n\n var afterValue = false;\n\n do {\n match = pattern.exec(expression);\n\n var _ref2 = match || [')', undefined],\n token = _ref2[0],\n bad = _ref2[1];\n\n var notNumber = symbolMap.symbols[token];\n var notNewValue = notNumber && !notNumber.prefix && !notNumber.func;\n var notAfterValue = !notNumber || !notNumber.postfix && !notNumber.infix; // Check for syntax errors:\n\n if (bad || (afterValue ? notAfterValue : notNewValue)) {\n throw new PolishedError(37, match ? match.index : expression.length, expression);\n }\n\n if (afterValue) {\n // We either have an infix or postfix operator (they should be mutually exclusive)\n var curr = notNumber.postfix || notNumber.infix;\n\n do {\n var prev = operators[operators.length - 1];\n if ((curr.precedence - prev.precedence || prev.rightToLeft) > 0) break; // Apply previous operator, since it has precedence over current one\n } while (exec(operators, values)); // Exit loop after executing an opening parenthesis or function\n\n\n afterValue = curr.notation === 'postfix';\n\n if (curr.symbol !== ')') {\n operators.push(curr); // Postfix always has precedence over any operator that follows after it\n\n if (afterValue) exec(operators, values);\n }\n } else if (notNumber) {\n // prefix operator or function\n operators.push(notNumber.prefix || notNumber.func);\n\n if (notNumber.func) {\n // Require an opening parenthesis\n match = pattern.exec(expression);\n\n if (!match || match[0] !== '(') {\n throw new PolishedError(38, match ? match.index : expression.length, expression);\n }\n }\n } else {\n // number\n values.push(+token);\n afterValue = true;\n }\n } while (match && operators.length);\n\n if (operators.length) {\n throw new PolishedError(39, match ? match.index : expression.length, expression);\n } else if (match) {\n throw new PolishedError(40, match ? match.index : expression.length, expression);\n } else {\n return values.pop();\n }\n}\n\nfunction reverseString(str) {\n return str.split('').reverse().join('');\n}\n/**\n * Helper for doing math with CSS Units. Accepts a formula as a string. All values in the formula must have the same unit (or be unitless). Supports complex formulas utliziing addition, subtraction, multiplication, division, square root, powers, factorial, min, max, as well as parentheses for order of operation.\n *\n *In cases where you need to do calculations with mixed units where one unit is a [relative length unit](https://developer.mozilla.org/en-US/docs/Web/CSS/length#Relative_length_units), you will want to use [CSS Calc](https://developer.mozilla.org/en-US/docs/Web/CSS/calc).\n *\n * *warning* While we've done everything possible to ensure math safely evalutes formulas expressed as strings, you should always use extreme caution when passing `math` user provided values.\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: math('12rem + 8rem'),\n * fontSize: math('(12px + 2px) * 3'),\n * fontSize: math('3px^2 + sqrt(4)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${math('12rem + 8rem')};\n * fontSize: ${math('(12px + 2px) * 3')};\n * fontSize: ${math('3px^2 + sqrt(4)')};\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * fontSize: '20rem',\n * fontSize: '42px',\n * fontSize: '11px',\n * }\n */\n\n\nfunction math(formula, additionalSymbols) {\n var reversedFormula = reverseString(formula);\n var formulaMatch = reversedFormula.match(unitRegExp); // Check that all units are the same\n\n if (formulaMatch && !formulaMatch.every(function (unit) {\n return unit === formulaMatch[0];\n })) {\n throw new PolishedError(41);\n }\n\n var cleanFormula = reverseString(reversedFormula.replace(unitRegExp, ''));\n return \"\" + calculate(cleanFormula, additionalSymbols) + (formulaMatch ? reverseString(formulaMatch[0]) : '');\n}\n\nvar cssVariableRegex = /--[\\S]*/g;\n/**\n * Fetches the value of a passed CSS Variable in the :root scope, or otherwise returns a defaultValue if provided.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'background': cssVar('--background-color'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${cssVar('--background-color')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'background': 'red'\n * }\n */\n\nfunction cssVar(cssVariable, defaultValue) {\n if (!cssVariable || !cssVariable.match(cssVariableRegex)) {\n throw new PolishedError(73);\n }\n\n var variableValue;\n /* eslint-disable */\n\n /* istanbul ignore next */\n\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n variableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariable);\n }\n /* eslint-enable */\n\n\n if (variableValue) {\n return variableValue.trim();\n } else if (defaultValue) {\n return defaultValue;\n }\n\n throw new PolishedError(74);\n}\n\n// @private\nfunction capitalizeString(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar positionMap$1 = ['Top', 'Right', 'Bottom', 'Left'];\n\nfunction generateProperty(property, position) {\n if (!property) return position.toLowerCase();\n var splitProperty = property.split('-');\n\n if (splitProperty.length > 1) {\n splitProperty.splice(1, 0, position);\n return splitProperty.reduce(function (acc, val) {\n return \"\" + acc + capitalizeString(val);\n });\n }\n\n var joinedProperty = property.replace(/([a-z])([A-Z])/g, \"$1\" + position + \"$2\");\n return property === joinedProperty ? \"\" + property + position : joinedProperty;\n}\n\nfunction generateStyles(property, valuesWithDefaults) {\n var styles = {};\n\n for (var i = 0; i < valuesWithDefaults.length; i += 1) {\n if (valuesWithDefaults[i] || valuesWithDefaults[i] === 0) {\n styles[generateProperty(property, positionMap$1[i])] = valuesWithDefaults[i];\n }\n }\n\n return styles;\n}\n/**\n * Enables shorthand for direction-based properties. It accepts a property (hyphenated or camelCased) and up to four values that map to top, right, bottom, and left, respectively. You can optionally pass an empty string to get only the directional values as properties. You can also optionally pass a null argument for a directional value to ignore it.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...directionalProperty('padding', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${directionalProperty('padding', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\n\n\nfunction directionalProperty(property) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n // prettier-ignore\n var firstValue = values[0],\n _values$ = values[1],\n secondValue = _values$ === void 0 ? firstValue : _values$,\n _values$2 = values[2],\n thirdValue = _values$2 === void 0 ? firstValue : _values$2,\n _values$3 = values[3],\n fourthValue = _values$3 === void 0 ? secondValue : _values$3;\n var valuesWithDefaults = [firstValue, secondValue, thirdValue, fourthValue];\n return generateStyles(property, valuesWithDefaults);\n}\n\n/**\n * Check if a string ends with something\n * @private\n */\nfunction endsWith(string, suffix) {\n return string.substr(-suffix.length) === suffix;\n}\n\nvar cssRegex$1 = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value minus its unit of measure.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': stripUnit('100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${stripUnit('100px')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100\n * }\n */\n\nfunction stripUnit(value) {\n if (typeof value !== 'string') return value;\n var matchedValue = value.match(cssRegex$1);\n return matchedValue ? parseFloat(value) : value;\n}\n\n/**\n * Factory function that creates pixel-to-x converters\n * @private\n */\n\nvar pxtoFactory = function pxtoFactory(to) {\n return function (pxval, base) {\n if (base === void 0) {\n base = '16px';\n }\n\n var newPxval = pxval;\n var newBase = base;\n\n if (typeof pxval === 'string') {\n if (!endsWith(pxval, 'px')) {\n throw new PolishedError(69, to, pxval);\n }\n\n newPxval = stripUnit(pxval);\n }\n\n if (typeof base === 'string') {\n if (!endsWith(base, 'px')) {\n throw new PolishedError(70, to, base);\n }\n\n newBase = stripUnit(base);\n }\n\n if (typeof newPxval === 'string') {\n throw new PolishedError(71, pxval, to);\n }\n\n if (typeof newBase === 'string') {\n throw new PolishedError(72, base, to);\n }\n\n return \"\" + newPxval / newBase + to;\n };\n};\n\nvar pixelsto = pxtoFactory;\n\n/**\n * Convert pixel value to ems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': em('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${em('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1em'\n * }\n */\n\nvar em = /*#__PURE__*/pixelsto('em');\nvar em$1 = em;\n\nvar cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value and its unit as elements of an array.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': getValueAndUnit('100px')[0],\n * '--unit': getValueAndUnit('100px')[1],\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${getValueAndUnit('100px')[0]};\n * --unit: ${getValueAndUnit('100px')[1]};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100,\n * '--unit': 'px',\n * }\n */\n\nfunction getValueAndUnit(value) {\n if (typeof value !== 'string') return [value, ''];\n var matchedValue = value.match(cssRegex);\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n}\n\n/**\n * Helper for targeting rules in a style block generated by polished modules that need !important-level specificity. Can optionally specify a rule (or rules) to target specific rules.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...important(cover())\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${important(cover())}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute !important',\n * 'top': '0 !important',\n * 'right: '0 !important',\n * 'bottom': '0 !important',\n * 'left: '0 !important'\n * }\n */\n\nfunction important(styleBlock, rules) {\n if (typeof styleBlock !== 'object' || styleBlock === null) {\n throw new PolishedError(75, typeof styleBlock);\n }\n\n var newStyleBlock = {};\n Object.keys(styleBlock).forEach(function (key) {\n if (typeof styleBlock[key] === 'object' && styleBlock[key] !== null) {\n newStyleBlock[key] = important(styleBlock[key], rules);\n } else if (!rules || rules && (rules === key || rules.indexOf(key) >= 0)) {\n newStyleBlock[key] = styleBlock[key] + \" !important\";\n } else {\n newStyleBlock[key] = styleBlock[key];\n }\n });\n return newStyleBlock;\n}\n\nvar ratioNames = {\n minorSecond: 1.067,\n majorSecond: 1.125,\n minorThird: 1.2,\n majorThird: 1.25,\n perfectFourth: 1.333,\n augFourth: 1.414,\n perfectFifth: 1.5,\n minorSixth: 1.6,\n goldenSection: 1.618,\n majorSixth: 1.667,\n minorSeventh: 1.778,\n majorSeventh: 1.875,\n octave: 2,\n majorTenth: 2.5,\n majorEleventh: 2.667,\n majorTwelfth: 3,\n doubleOctave: 4\n};\n\nfunction getRatio(ratioName) {\n return ratioNames[ratioName];\n}\n/**\n * Establish consistent measurements and spacial relationships throughout your projects by incrementing an em or rem value up or down a defined scale. We provide a list of commonly used scales as pre-defined variables.\n * @example\n * // Styles as object usage\n * const styles = {\n * // Increment two steps up the default scale\n * 'fontSize': modularScale(2)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * // Increment two steps up the default scale\n * fontSize: ${modularScale(2)}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'fontSize': '1.77689em'\n * }\n */\n\n\nfunction modularScale(steps, base, ratio) {\n if (base === void 0) {\n base = '1em';\n }\n\n if (ratio === void 0) {\n ratio = 1.333;\n }\n\n if (typeof steps !== 'number') {\n throw new PolishedError(42);\n }\n\n if (typeof ratio === 'string' && !ratioNames[ratio]) {\n throw new PolishedError(43);\n }\n\n var _ref = typeof base === 'string' ? getValueAndUnit(base) : [base, ''],\n realBase = _ref[0],\n unit = _ref[1];\n\n var realRatio = typeof ratio === 'string' ? getRatio(ratio) : ratio;\n\n if (typeof realBase === 'string') {\n throw new PolishedError(44, base);\n }\n\n return \"\" + realBase * Math.pow(realRatio, steps) + (unit || '');\n}\n\n/**\n * Convert pixel value to rems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': rem('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${rem('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1rem'\n * }\n */\n\nvar rem = /*#__PURE__*/pixelsto('rem');\nvar rem$1 = rem;\n\nvar defaultFontSize = 16;\n\nfunction convertBase(base) {\n var deconstructedValue = getValueAndUnit(base);\n\n if (deconstructedValue[1] === 'px') {\n return parseFloat(base);\n }\n\n if (deconstructedValue[1] === '%') {\n return parseFloat(base) / 100 * defaultFontSize;\n }\n\n throw new PolishedError(78, deconstructedValue[1]);\n}\n\nfunction getBaseFromDoc() {\n /* eslint-disable */\n\n /* istanbul ignore next */\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n var rootFontSize = getComputedStyle(document.documentElement).fontSize;\n return rootFontSize ? convertBase(rootFontSize) : defaultFontSize;\n }\n /* eslint-enable */\n\n /* istanbul ignore next */\n\n\n return defaultFontSize;\n}\n/**\n * Convert rem values to px. By default, the base value is pulled from the font-size property on the root element (if it is set in % or px). It defaults to 16px if not found on the root. You can also override the base value by providing your own base in % or px.\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': remToPx('1.6rem')\n * 'height': remToPx('1.6rem', '10px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${remToPx('1.6rem')}\n * height: ${remToPx('1.6rem', '10px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '25.6px',\n * 'height': '16px',\n * }\n */\n\n\nfunction remToPx(value, base) {\n var deconstructedValue = getValueAndUnit(value);\n\n if (deconstructedValue[1] !== 'rem' && deconstructedValue[1] !== '') {\n throw new PolishedError(77, deconstructedValue[1]);\n }\n\n var newBase = base ? convertBase(base) : getBaseFromDoc();\n return deconstructedValue[0] * newBase + \"px\";\n}\n\nvar functionsMap$3 = {\n back: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n circ: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n cubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n expo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n quad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n quart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n quint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n sine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeIn('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeIn('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\nfunction easeIn(functionName) {\n return functionsMap$3[functionName.toLowerCase().trim()];\n}\n\nvar functionsMap$2 = {\n back: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n circ: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n cubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n expo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n quad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n quart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n quint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n sine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeInOut('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeInOut('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n * }\n */\n\nfunction easeInOut(functionName) {\n return functionsMap$2[functionName.toLowerCase().trim()];\n}\n\nvar functionsMap$1 = {\n back: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n cubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n circ: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n expo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n quad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n quart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n quint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n sine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeOut('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeOut('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n * }\n */\n\nfunction easeOut(functionName) {\n return functionsMap$1[functionName.toLowerCase().trim()];\n}\n\n/**\n * Returns a CSS calc formula for linear interpolation of a property between two values. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px').\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: between('20px', '100px', '400px', '1000px'),\n * fontSize: between('20px', '100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${between('20px', '100px', '400px', '1000px')};\n * fontSize: ${between('20px', '100px')}\n * `\n *\n * // CSS as JS Output\n *\n * h1: {\n * 'fontSize': 'calc(-33.33333333333334px + 13.333333333333334vw)',\n * 'fontSize': 'calc(-9.090909090909093px + 9.090909090909092vw)'\n * }\n */\n\nfunction between(fromSize, toSize, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n var _getValueAndUnit = getValueAndUnit(fromSize),\n unitlessFromSize = _getValueAndUnit[0],\n fromSizeUnit = _getValueAndUnit[1];\n\n var _getValueAndUnit2 = getValueAndUnit(toSize),\n unitlessToSize = _getValueAndUnit2[0],\n toSizeUnit = _getValueAndUnit2[1];\n\n var _getValueAndUnit3 = getValueAndUnit(minScreen),\n unitlessMinScreen = _getValueAndUnit3[0],\n minScreenUnit = _getValueAndUnit3[1];\n\n var _getValueAndUnit4 = getValueAndUnit(maxScreen),\n unitlessMaxScreen = _getValueAndUnit4[0],\n maxScreenUnit = _getValueAndUnit4[1];\n\n if (typeof unitlessMinScreen !== 'number' || typeof unitlessMaxScreen !== 'number' || !minScreenUnit || !maxScreenUnit || minScreenUnit !== maxScreenUnit) {\n throw new PolishedError(47);\n }\n\n if (typeof unitlessFromSize !== 'number' || typeof unitlessToSize !== 'number' || fromSizeUnit !== toSizeUnit) {\n throw new PolishedError(48);\n }\n\n if (fromSizeUnit !== minScreenUnit || toSizeUnit !== maxScreenUnit) {\n throw new PolishedError(76);\n }\n\n var slope = (unitlessFromSize - unitlessToSize) / (unitlessMinScreen - unitlessMaxScreen);\n var base = unitlessToSize - slope * unitlessMaxScreen;\n return \"calc(\" + base.toFixed(2) + (fromSizeUnit || '') + \" + \" + (100 * slope).toFixed(2) + \"vw)\";\n}\n\n/**\n * CSS to contain a float (credit to CSSMojo).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...clearFix(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${clearFix()}\n * `\n *\n * // CSS as JS Output\n *\n * '&::after': {\n * 'clear': 'both',\n * 'content': '\"\"',\n * 'display': 'table'\n * }\n */\nfunction clearFix(parent) {\n var _ref;\n\n if (parent === void 0) {\n parent = '&';\n }\n\n var pseudoSelector = parent + \"::after\";\n return _ref = {}, _ref[pseudoSelector] = {\n clear: 'both',\n content: '\"\"',\n display: 'table'\n }, _ref;\n}\n\n/**\n * CSS to fully cover an area. Can optionally be passed an offset to act as a \"padding\".\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...cover()\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${cover()}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute',\n * 'top': '0',\n * 'right: '0',\n * 'bottom': '0',\n * 'left: '0'\n * }\n */\nfunction cover(offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n return {\n position: 'absolute',\n top: offset,\n right: offset,\n bottom: offset,\n left: offset\n };\n}\n\n/**\n * CSS to represent truncated text with an ellipsis. You can optionally pass a max-width and number of lines before truncating.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...ellipsis('250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${ellipsis('250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'display': 'inline-block',\n * 'maxWidth': '250px',\n * 'overflow': 'hidden',\n * 'textOverflow': 'ellipsis',\n * 'whiteSpace': 'nowrap',\n * 'wordWrap': 'normal'\n * }\n */\nfunction ellipsis(width, lines) {\n if (lines === void 0) {\n lines = 1;\n }\n\n var styles = {\n display: 'inline-block',\n maxWidth: width || '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n };\n return lines > 1 ? _extends({}, styles, {\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: lines,\n display: '-webkit-box',\n whiteSpace: 'normal'\n }) : styles;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * Returns a set of media queries that resizes a property (or set of properties) between a provided fromSize and toSize. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px') to constrain the interpolation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * \"@media (min-width: 1000px)\": Object {\n * \"padding\": \"100px\",\n * },\n * \"@media (min-width: 400px)\": Object {\n * \"padding\": \"calc(-33.33333333333334px + 13.333333333333334vw)\",\n * },\n * \"padding\": \"20px\",\n * }\n */\nfunction fluidRange(cssProp, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n if (!Array.isArray(cssProp) && typeof cssProp !== 'object' || cssProp === null) {\n throw new PolishedError(49);\n }\n\n if (Array.isArray(cssProp)) {\n var mediaQueries = {};\n var fallbacks = {};\n\n for (var _iterator = _createForOfIteratorHelperLoose(cssProp), _step; !(_step = _iterator()).done;) {\n var _extends2, _extends3;\n\n var obj = _step.value;\n\n if (!obj.prop || !obj.fromSize || !obj.toSize) {\n throw new PolishedError(50);\n }\n\n fallbacks[obj.prop] = obj.fromSize;\n mediaQueries[\"@media (min-width: \" + minScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + minScreen + \")\"], (_extends2 = {}, _extends2[obj.prop] = between(obj.fromSize, obj.toSize, minScreen, maxScreen), _extends2));\n mediaQueries[\"@media (min-width: \" + maxScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + maxScreen + \")\"], (_extends3 = {}, _extends3[obj.prop] = obj.toSize, _extends3));\n }\n\n return _extends({}, fallbacks, mediaQueries);\n } else {\n var _ref, _ref2, _ref3;\n\n if (!cssProp.prop || !cssProp.fromSize || !cssProp.toSize) {\n throw new PolishedError(51);\n }\n\n return _ref3 = {}, _ref3[cssProp.prop] = cssProp.fromSize, _ref3[\"@media (min-width: \" + minScreen + \")\"] = (_ref = {}, _ref[cssProp.prop] = between(cssProp.fromSize, cssProp.toSize, minScreen, maxScreen), _ref), _ref3[\"@media (min-width: \" + maxScreen + \")\"] = (_ref2 = {}, _ref2[cssProp.prop] = cssProp.toSize, _ref2), _ref3;\n }\n}\n\nvar dataURIRegex = /^\\s*data:([a-z]+\\/[a-z-]+(;[a-z-]+=[a-z-]+)?)?(;charset=[a-z0-9-]+)?(;base64)?,[a-z0-9!$&',()*+,;=\\-._~:@/?%\\s]*\\s*$/i;\nvar formatHintMap = {\n woff: 'woff',\n woff2: 'woff2',\n ttf: 'truetype',\n otf: 'opentype',\n eot: 'embedded-opentype',\n svg: 'svg',\n svgz: 'svg'\n};\n\nfunction generateFormatHint(format, formatHint) {\n if (!formatHint) return '';\n return \" format(\\\"\" + formatHintMap[format] + \"\\\")\";\n}\n\nfunction isDataURI(fontFilePath) {\n return !!fontFilePath.replace(/\\s+/g, ' ').match(dataURIRegex);\n}\n\nfunction generateFileReferences(fontFilePath, fileFormats, formatHint) {\n if (isDataURI(fontFilePath)) {\n return \"url(\\\"\" + fontFilePath + \"\\\")\" + generateFormatHint(fileFormats[0], formatHint);\n }\n\n var fileFontReferences = fileFormats.map(function (format) {\n return \"url(\\\"\" + fontFilePath + \".\" + format + \"\\\")\" + generateFormatHint(format, formatHint);\n });\n return fileFontReferences.join(', ');\n}\n\nfunction generateLocalReferences(localFonts) {\n var localFontReferences = localFonts.map(function (font) {\n return \"local(\\\"\" + font + \"\\\")\";\n });\n return localFontReferences.join(', ');\n}\n\nfunction generateSources(fontFilePath, localFonts, fileFormats, formatHint) {\n var fontReferences = [];\n if (localFonts) fontReferences.push(generateLocalReferences(localFonts));\n\n if (fontFilePath) {\n fontReferences.push(generateFileReferences(fontFilePath, fileFormats, formatHint));\n }\n\n return fontReferences.join(', ');\n}\n/**\n * CSS for a @font-face declaration. Defaults to check for local copies of the font on the user's machine. You can disable this by passing `null` to localFonts.\n *\n * @example\n * // Styles as object basic usage\n * const styles = {\n * ...fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * })\n * }\n *\n * // styled-components basic usage\n * const GlobalStyle = createGlobalStyle`${\n * fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * }\n * )}`\n *\n * // CSS as JS Output\n *\n * '@font-face': {\n * 'fontFamily': 'Sans-Pro',\n * 'src': 'url(\"path/to/file.eot\"), url(\"path/to/file.woff2\"), url(\"path/to/file.woff\"), url(\"path/to/file.ttf\"), url(\"path/to/file.svg\")',\n * }\n */\n\n\nfunction fontFace(_ref) {\n var fontFamily = _ref.fontFamily,\n fontFilePath = _ref.fontFilePath,\n fontStretch = _ref.fontStretch,\n fontStyle = _ref.fontStyle,\n fontVariant = _ref.fontVariant,\n fontWeight = _ref.fontWeight,\n _ref$fileFormats = _ref.fileFormats,\n fileFormats = _ref$fileFormats === void 0 ? ['eot', 'woff2', 'woff', 'ttf', 'svg'] : _ref$fileFormats,\n _ref$formatHint = _ref.formatHint,\n formatHint = _ref$formatHint === void 0 ? false : _ref$formatHint,\n _ref$localFonts = _ref.localFonts,\n localFonts = _ref$localFonts === void 0 ? [fontFamily] : _ref$localFonts,\n unicodeRange = _ref.unicodeRange,\n fontDisplay = _ref.fontDisplay,\n fontVariationSettings = _ref.fontVariationSettings,\n fontFeatureSettings = _ref.fontFeatureSettings;\n // Error Handling\n if (!fontFamily) throw new PolishedError(55);\n\n if (!fontFilePath && !localFonts) {\n throw new PolishedError(52);\n }\n\n if (localFonts && !Array.isArray(localFonts)) {\n throw new PolishedError(53);\n }\n\n if (!Array.isArray(fileFormats)) {\n throw new PolishedError(54);\n }\n\n var fontFaceDeclaration = {\n '@font-face': {\n fontFamily: fontFamily,\n src: generateSources(fontFilePath, localFonts, fileFormats, formatHint),\n unicodeRange: unicodeRange,\n fontStretch: fontStretch,\n fontStyle: fontStyle,\n fontVariant: fontVariant,\n fontWeight: fontWeight,\n fontDisplay: fontDisplay,\n fontVariationSettings: fontVariationSettings,\n fontFeatureSettings: fontFeatureSettings\n }\n }; // Removes undefined fields for cleaner css object.\n\n return JSON.parse(JSON.stringify(fontFaceDeclaration));\n}\n\n/**\n * CSS to hide text to show a background image in a SEO-friendly way.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'backgroundImage': 'url(logo.png)',\n * ...hideText(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * backgroundImage: url(logo.png);\n * ${hideText()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'backgroundImage': 'url(logo.png)',\n * 'textIndent': '101%',\n * 'overflow': 'hidden',\n * 'whiteSpace': 'nowrap',\n * }\n */\nfunction hideText() {\n return {\n textIndent: '101%',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n };\n}\n\n/**\n * CSS to hide content visually but remain accessible to screen readers.\n * from [HTML5 Boilerplate](https://github.com/h5bp/html5-boilerplate/blob/9a176f57af1cfe8ec70300da4621fb9b07e5fa31/src/css/main.css#L121)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...hideVisually(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hideVisually()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'border': '0',\n * 'clip': 'rect(0 0 0 0)',\n * 'height': '1px',\n * 'margin': '-1px',\n * 'overflow': 'hidden',\n * 'padding': '0',\n * 'position': 'absolute',\n * 'whiteSpace': 'nowrap',\n * 'width': '1px',\n * }\n */\nfunction hideVisually() {\n return {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n };\n}\n\n/**\n * Generates a media query to target HiDPI devices.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * [hiDPI(1.5)]: {\n * width: 200px;\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hiDPI(1.5)} {\n * width: 200px;\n * }\n * `\n *\n * // CSS as JS Output\n *\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n * only screen and (min--moz-device-pixel-ratio: 1.5),\n * only screen and (-o-min-device-pixel-ratio: 1.5/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * 'width': '200px',\n * }\n */\nfunction hiDPI(ratio) {\n if (ratio === void 0) {\n ratio = 1.3;\n }\n\n return \"\\n @media only screen and (-webkit-min-device-pixel-ratio: \" + ratio + \"),\\n only screen and (min--moz-device-pixel-ratio: \" + ratio + \"),\\n only screen and (-o-min-device-pixel-ratio: \" + ratio + \"/1),\\n only screen and (min-resolution: \" + Math.round(ratio * 96) + \"dpi),\\n only screen and (min-resolution: \" + ratio + \"dppx)\\n \";\n}\n\nfunction constructGradientValue(literals) {\n var template = '';\n\n for (var _len = arguments.length, substitutions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n substitutions[_key - 1] = arguments[_key];\n }\n\n for (var i = 0; i < literals.length; i += 1) {\n template += literals[i];\n\n if (i === substitutions.length - 1 && substitutions[i]) {\n var definedValues = substitutions.filter(function (substitute) {\n return !!substitute;\n }); // Adds leading coma if properties preceed color-stops\n\n if (definedValues.length > 1) {\n template = template.slice(0, -1);\n template += \", \" + substitutions[i]; // No trailing space if color-stops is the only param provided\n } else if (definedValues.length === 1) {\n template += \"\" + substitutions[i];\n }\n } else if (substitutions[i]) {\n template += substitutions[i] + \" \";\n }\n }\n\n return template.trim();\n}\n\nvar _templateObject$1;\n\n/**\n * CSS for declaring a linear gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#FFF',\n * 'backgroundImage': 'linear-gradient(to top right, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction linearGradient(_ref) {\n var colorStops = _ref.colorStops,\n fallback = _ref.fallback,\n _ref$toDirection = _ref.toDirection,\n toDirection = _ref$toDirection === void 0 ? '' : _ref$toDirection;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(56);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].replace(/,\\s+/g, ',').split(' ')[0].replace(/,(?=\\S)/g, ', '),\n backgroundImage: constructGradientValue(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteralLoose([\"linear-gradient(\", \"\", \")\"])), toDirection, colorStops.join(', ').replace(/,(?=\\S)/g, ', '))\n };\n}\n\n/**\n * CSS to normalize abnormalities across browsers (normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...normalize(),\n * }\n *\n * // styled-components usage\n * const GlobalStyle = createGlobalStyle`${normalize()}`\n *\n * // CSS as JS Output\n *\n * html {\n * lineHeight: 1.15,\n * textSizeAdjust: 100%,\n * } ...\n */\nfunction normalize() {\n var _ref;\n\n return [(_ref = {\n html: {\n lineHeight: '1.15',\n textSizeAdjust: '100%'\n },\n body: {\n margin: '0'\n },\n main: {\n display: 'block'\n },\n h1: {\n fontSize: '2em',\n margin: '0.67em 0'\n },\n hr: {\n boxSizing: 'content-box',\n height: '0',\n overflow: 'visible'\n },\n pre: {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n },\n a: {\n backgroundColor: 'transparent'\n },\n 'abbr[title]': {\n borderBottom: 'none',\n textDecoration: 'underline'\n }\n }, _ref[\"b,\\n strong\"] = {\n fontWeight: 'bolder'\n }, _ref[\"code,\\n kbd,\\n samp\"] = {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n }, _ref.small = {\n fontSize: '80%'\n }, _ref[\"sub,\\n sup\"] = {\n fontSize: '75%',\n lineHeight: '0',\n position: 'relative',\n verticalAlign: 'baseline'\n }, _ref.sub = {\n bottom: '-0.25em'\n }, _ref.sup = {\n top: '-0.5em'\n }, _ref.img = {\n borderStyle: 'none'\n }, _ref[\"button,\\n input,\\n optgroup,\\n select,\\n textarea\"] = {\n fontFamily: 'inherit',\n fontSize: '100%',\n lineHeight: '1.15',\n margin: '0'\n }, _ref[\"button,\\n input\"] = {\n overflow: 'visible'\n }, _ref[\"button,\\n select\"] = {\n textTransform: 'none'\n }, _ref[\"button,\\n html [type=\\\"button\\\"],\\n [type=\\\"reset\\\"],\\n [type=\\\"submit\\\"]\"] = {\n WebkitAppearance: 'button'\n }, _ref[\"button::-moz-focus-inner,\\n [type=\\\"button\\\"]::-moz-focus-inner,\\n [type=\\\"reset\\\"]::-moz-focus-inner,\\n [type=\\\"submit\\\"]::-moz-focus-inner\"] = {\n borderStyle: 'none',\n padding: '0'\n }, _ref[\"button:-moz-focusring,\\n [type=\\\"button\\\"]:-moz-focusring,\\n [type=\\\"reset\\\"]:-moz-focusring,\\n [type=\\\"submit\\\"]:-moz-focusring\"] = {\n outline: '1px dotted ButtonText'\n }, _ref.fieldset = {\n padding: '0.35em 0.625em 0.75em'\n }, _ref.legend = {\n boxSizing: 'border-box',\n color: 'inherit',\n display: 'table',\n maxWidth: '100%',\n padding: '0',\n whiteSpace: 'normal'\n }, _ref.progress = {\n verticalAlign: 'baseline'\n }, _ref.textarea = {\n overflow: 'auto'\n }, _ref[\"[type=\\\"checkbox\\\"],\\n [type=\\\"radio\\\"]\"] = {\n boxSizing: 'border-box',\n padding: '0'\n }, _ref[\"[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n [type=\\\"number\\\"]::-webkit-outer-spin-button\"] = {\n height: 'auto'\n }, _ref['[type=\"search\"]'] = {\n WebkitAppearance: 'textfield',\n outlineOffset: '-2px'\n }, _ref['[type=\"search\"]::-webkit-search-decoration'] = {\n WebkitAppearance: 'none'\n }, _ref['::-webkit-file-upload-button'] = {\n WebkitAppearance: 'button',\n font: 'inherit'\n }, _ref.details = {\n display: 'block'\n }, _ref.summary = {\n display: 'list-item'\n }, _ref.template = {\n display: 'none'\n }, _ref['[hidden]'] = {\n display: 'none'\n }, _ref), {\n 'abbr[title]': {\n textDecoration: 'underline dotted'\n }\n }];\n}\n\nvar _templateObject;\n\n/**\n * CSS for declaring a radial gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#00FFFF',\n * 'backgroundImage': 'radial-gradient(center ellipse farthest-corner at 45px 45px, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction radialGradient(_ref) {\n var colorStops = _ref.colorStops,\n _ref$extent = _ref.extent,\n extent = _ref$extent === void 0 ? '' : _ref$extent,\n fallback = _ref.fallback,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? '' : _ref$position,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? '' : _ref$shape;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(57);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].split(' ')[0],\n backgroundImage: constructGradientValue(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"radial-gradient(\", \"\", \"\", \"\", \")\"])), position, shape, extent, colorStops.join(', '))\n };\n}\n\n/**\n * A helper to generate a retina background image and non-retina\n * background image. The retina background image will output to a HiDPI media query. The mixin uses\n * a _2x.png filename suffix by default.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...retinaImage('my-img')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${retinaImage('my-img')}\n * `\n *\n * // CSS as JS Output\n * div {\n * backgroundImage: 'url(my-img.png)',\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.3),\n * only screen and (min--moz-device-pixel-ratio: 1.3),\n * only screen and (-o-min-device-pixel-ratio: 1.3/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * backgroundImage: 'url(my-img_2x.png)',\n * }\n * }\n */\nfunction retinaImage(filename, backgroundSize, extension, retinaFilename, retinaSuffix) {\n var _ref;\n\n if (extension === void 0) {\n extension = 'png';\n }\n\n if (retinaSuffix === void 0) {\n retinaSuffix = '_2x';\n }\n\n if (!filename) {\n throw new PolishedError(58);\n } // Replace the dot at the beginning of the passed extension if one exists\n\n\n var ext = extension.replace(/^\\./, '');\n var rFilename = retinaFilename ? retinaFilename + \".\" + ext : \"\" + filename + retinaSuffix + \".\" + ext;\n return _ref = {\n backgroundImage: \"url(\" + filename + \".\" + ext + \")\"\n }, _ref[hiDPI()] = _extends({\n backgroundImage: \"url(\" + rFilename + \")\"\n }, backgroundSize ? {\n backgroundSize: backgroundSize\n } : {}), _ref;\n}\n\n/* eslint-disable key-spacing */\nvar functionsMap = {\n easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n easeInCirc: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n easeInCubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n easeInExpo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n easeInQuad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n easeInQuart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n easeInQuint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n easeInSine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)',\n easeOutBack: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n easeOutCubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n easeOutCirc: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n easeOutExpo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n easeOutQuad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n easeOutQuart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n easeOutQuint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n easeInOutBack: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n easeInOutCirc: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n easeInOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n easeInOutExpo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n easeInOutQuad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n easeInOutQuart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n easeInOutQuint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/* eslint-enable key-spacing */\n\nfunction getTimingFunction(functionName) {\n return functionsMap[functionName];\n}\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @deprecated - This will be deprecated in v5 in favor of `easeIn`, `easeOut`, `easeInOut`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': timingFunctions('easeInQuad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${timingFunctions('easeInQuad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\n\nfunction timingFunctions(timingFunction) {\n return getTimingFunction(timingFunction);\n}\n\nvar getBorderWidth = function getBorderWidth(pointingDirection, height, width) {\n var fullWidth = \"\" + width[0] + (width[1] || '');\n var halfWidth = \"\" + width[0] / 2 + (width[1] || '');\n var fullHeight = \"\" + height[0] + (height[1] || '');\n var halfHeight = \"\" + height[0] / 2 + (height[1] || '');\n\n switch (pointingDirection) {\n case 'top':\n return \"0 \" + halfWidth + \" \" + fullHeight + \" \" + halfWidth;\n\n case 'topLeft':\n return fullWidth + \" \" + fullHeight + \" 0 0\";\n\n case 'left':\n return halfHeight + \" \" + fullWidth + \" \" + halfHeight + \" 0\";\n\n case 'bottomLeft':\n return fullWidth + \" 0 0 \" + fullHeight;\n\n case 'bottom':\n return fullHeight + \" \" + halfWidth + \" 0 \" + halfWidth;\n\n case 'bottomRight':\n return \"0 0 \" + fullWidth + \" \" + fullHeight;\n\n case 'right':\n return halfHeight + \" 0 \" + halfHeight + \" \" + fullWidth;\n\n case 'topRight':\n default:\n return \"0 \" + fullWidth + \" \" + fullHeight + \" 0\";\n }\n};\n\nvar getBorderColor = function getBorderColor(pointingDirection, foregroundColor) {\n switch (pointingDirection) {\n case 'top':\n case 'bottomRight':\n return {\n borderBottomColor: foregroundColor\n };\n\n case 'right':\n case 'bottomLeft':\n return {\n borderLeftColor: foregroundColor\n };\n\n case 'bottom':\n case 'topLeft':\n return {\n borderTopColor: foregroundColor\n };\n\n case 'left':\n case 'topRight':\n return {\n borderRightColor: foregroundColor\n };\n\n default:\n throw new PolishedError(59);\n }\n};\n/**\n * CSS to represent triangle with any pointing direction with an optional background color.\n *\n * @example\n * // Styles as object usage\n *\n * const styles = {\n * ...triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })\n * }\n *\n *\n * // styled-components usage\n * const div = styled.div`\n * ${triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })}\n *\n *\n * // CSS as JS Output\n *\n * div: {\n * 'borderColor': 'transparent transparent transparent red',\n * 'borderStyle': 'solid',\n * 'borderWidth': '50px 0 50px 100px',\n * 'height': '0',\n * 'width': '0',\n * }\n */\n\n\nfunction triangle(_ref) {\n var pointingDirection = _ref.pointingDirection,\n height = _ref.height,\n width = _ref.width,\n foregroundColor = _ref.foregroundColor,\n _ref$backgroundColor = _ref.backgroundColor,\n backgroundColor = _ref$backgroundColor === void 0 ? 'transparent' : _ref$backgroundColor;\n var widthAndUnit = getValueAndUnit(width);\n var heightAndUnit = getValueAndUnit(height);\n\n if (isNaN(heightAndUnit[0]) || isNaN(widthAndUnit[0])) {\n throw new PolishedError(60);\n }\n\n return _extends({\n width: '0',\n height: '0',\n borderColor: backgroundColor\n }, getBorderColor(pointingDirection, foregroundColor), {\n borderStyle: 'solid',\n borderWidth: getBorderWidth(pointingDirection, heightAndUnit, widthAndUnit)\n });\n}\n\n/**\n * Provides an easy way to change the `wordWrap` property.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...wordWrap('break-word')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${wordWrap('break-word')}\n * `\n *\n * // CSS as JS Output\n *\n * const styles = {\n * overflowWrap: 'break-word',\n * wordWrap: 'break-word',\n * wordBreak: 'break-all',\n * }\n */\nfunction wordWrap(wrap) {\n if (wrap === void 0) {\n wrap = 'break-word';\n }\n\n var wordBreak = wrap === 'break-word' ? 'break-all' : wrap;\n return {\n overflowWrap: wrap,\n wordWrap: wrap,\n wordBreak: wordBreak\n };\n}\n\nfunction colorToInt(color) {\n return Math.round(color * 255);\n}\n\nfunction convertToInt(red, green, blue) {\n return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\n\nfunction hslToRgb(hue, saturation, lightness, convert) {\n if (convert === void 0) {\n convert = convertToInt;\n }\n\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n\n var huePrime = (hue % 360 + 360) % 360 / 60;\n var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n var red = 0;\n var green = 0;\n var blue = 0;\n\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n\n var lightnessModification = lightness - chroma / 2;\n var finalRed = red + lightnessModification;\n var finalGreen = green + lightnessModification;\n var finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\n\nvar namedColorMap = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\n blanchedalmond: 'ffebcd',\n blue: '0000ff',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '00ffff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgreen: '006400',\n darkgrey: 'a9a9a9',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkslategrey: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dimgrey: '696969',\n dodgerblue: '1e90ff',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'ff00ff',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n grey: '808080',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred: 'cd5c5c',\n indigo: '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgray: 'd3d3d3',\n lightgreen: '90ee90',\n lightgrey: 'd3d3d3',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslategray: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370db',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'db7093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n rebeccapurple: '639',\n red: 'f00',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n slategrey: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n wheat: 'f5deb3',\n white: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n if (typeof color !== 'string') return color;\n var normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\n\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgb(?:a)?\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsl(?:a)?\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n if (typeof color !== 'string') {\n throw new PolishedError(3);\n }\n\n var normalizedColor = nameToHex(color);\n\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n };\n }\n\n if (normalizedColor.match(hexRgbaRegex)) {\n var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n alpha: alpha\n };\n }\n\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n };\n }\n\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n alpha: _alpha\n };\n }\n\n var rgbMatched = rgbRegex.exec(normalizedColor);\n\n if (rgbMatched) {\n return {\n red: parseInt(\"\" + rgbMatched[1], 10),\n green: parseInt(\"\" + rgbMatched[2], 10),\n blue: parseInt(\"\" + rgbMatched[3], 10)\n };\n }\n\n var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));\n\n if (rgbaMatched) {\n return {\n red: parseInt(\"\" + rgbaMatched[1], 10),\n green: parseInt(\"\" + rgbaMatched[2], 10),\n blue: parseInt(\"\" + rgbaMatched[3], 10),\n alpha: parseFloat(\"\" + rgbaMatched[4]) > 1 ? parseFloat(\"\" + rgbaMatched[4]) / 100 : parseFloat(\"\" + rgbaMatched[4])\n };\n }\n\n var hslMatched = hslRegex.exec(normalizedColor);\n\n if (hslMatched) {\n var hue = parseInt(\"\" + hslMatched[1], 10);\n var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n var rgbColorString = \"rgb(\" + hslToRgb(hue, saturation, lightness) + \")\";\n var hslRgbMatched = rgbRegex.exec(rgbColorString);\n\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + hslRgbMatched[1], 10),\n green: parseInt(\"\" + hslRgbMatched[2], 10),\n blue: parseInt(\"\" + hslRgbMatched[3], 10)\n };\n }\n\n var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));\n\n if (hslaMatched) {\n var _hue = parseInt(\"\" + hslaMatched[1], 10);\n\n var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n\n var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n\n var _rgbColorString = \"rgb(\" + hslToRgb(_hue, _saturation, _lightness) + \")\";\n\n var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n\n if (!_hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, _rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + _hslRgbMatched[1], 10),\n green: parseInt(\"\" + _hslRgbMatched[2], 10),\n blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n alpha: parseFloat(\"\" + hslaMatched[4]) > 1 ? parseFloat(\"\" + hslaMatched[4]) / 100 : parseFloat(\"\" + hslaMatched[4])\n };\n }\n\n throw new PolishedError(5);\n}\n\nfunction rgbToHsl(color) {\n // make sure rgb are contained in a set of [0, 255]\n var red = color.red / 255;\n var green = color.green / 255;\n var blue = color.blue / 255;\n var max = Math.max(red, green, blue);\n var min = Math.min(red, green, blue);\n var lightness = (max + min) / 2;\n\n if (max === min) {\n // achromatic\n if (color.alpha !== undefined) {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness,\n alpha: color.alpha\n };\n } else {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness\n };\n }\n }\n\n var hue;\n var delta = max - min;\n var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n switch (max) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n\n case green:\n hue = (blue - red) / delta + 2;\n break;\n\n default:\n // blue case\n hue = (red - green) / delta + 4;\n break;\n }\n\n hue *= 60;\n\n if (color.alpha !== undefined) {\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness,\n alpha: color.alpha\n };\n }\n\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness\n };\n}\n\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\nfunction parseToHsl(color) {\n // Note: At a later stage we can optimize this function as right now a hsl\n // color would be parsed converted to rgb values and converted back to hsl.\n return rgbToHsl(parseToRgb(color));\n}\n\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\nvar reduceHexValue = function reduceHexValue(value) {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return \"#\" + value[1] + value[3] + value[5];\n }\n\n return value;\n};\n\nvar reduceHexValue$1 = reduceHexValue;\n\nfunction numberToHex(value) {\n var hex = value.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n}\n\nfunction colorToHex(color) {\n return numberToHex(Math.round(color * 255));\n}\n\nfunction convertToHex(red, green, blue) {\n return reduceHexValue$1(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\n\nfunction hslToHex(hue, saturation, lightness) {\n return hslToRgb(hue, saturation, lightness, convertToHex);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsl(359, 0.75, 0.4),\n * background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsl(359, 0.75, 0.4)};\n * background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#b3191c\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsl(value, saturation, lightness) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n return hslToHex(value, saturation, lightness);\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {\n return hslToHex(value.hue, value.saturation, value.lightness);\n }\n\n throw new PolishedError(1);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsla(359, 0.75, 0.4, 0.7),\n * background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n * background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsla(359, 0.75, 0.4, 0.7)};\n * background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n * background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsla(value, saturation, lightness, alpha) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n return alpha >= 1 ? hslToHex(value, saturation, lightness) : \"rgba(\" + hslToRgb(value, saturation, lightness) + \",\" + alpha + \")\";\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : \"rgba(\" + hslToRgb(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n }\n\n throw new PolishedError(2);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgb(255, 205, 100),\n * background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgb(255, 205, 100)};\n * background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffcd64\";\n * background: \"#ffcd64\";\n * }\n */\nfunction rgb(value, green, blue) {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return reduceHexValue$1(\"#\" + numberToHex(value) + numberToHex(green) + numberToHex(blue));\n } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n return reduceHexValue$1(\"#\" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));\n }\n\n throw new PolishedError(6);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgba(255, 205, 100, 0.7),\n * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n * background: rgba(255, 205, 100, 1),\n * background: rgba('#ffffff', 0.4),\n * background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgba(255, 205, 100, 0.7)};\n * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n * background: ${rgba(255, 205, 100, 1)};\n * background: ${rgba('#ffffff', 0.4)};\n * background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"#ffcd64\";\n * background: \"rgba(255,255,255,0.4)\";\n * background: \"rgba(0,0,0,0.7)\";\n * }\n */\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n var rgbValue = parseToRgb(firstValue);\n return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n }\n\n throw new PolishedError(7);\n}\n\nvar isRgb = function isRgb(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isRgba = function isRgba(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\n\nvar isHsl = function isHsl(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isHsla = function isHsla(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: toColorString({ red: 255, green: 205, blue: 100 }),\n * background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction toColorString(color) {\n if (typeof color !== 'object') throw new PolishedError(8);\n if (isRgba(color)) return rgba(color);\n if (isRgb(color)) return rgb(color);\n if (isHsla(color)) return hsla(color);\n if (isHsl(color)) return hsl(color);\n throw new PolishedError(8);\n}\n\n// Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\nfunction curried(f, length, acc) {\n return function fn() {\n // eslint-disable-next-line prefer-rest-params\n var combined = acc.concat(Array.prototype.slice.call(arguments));\n return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n };\n} // eslint-disable-next-line no-redeclare\n\n\nfunction curry(f) {\n // eslint-disable-line no-redeclare\n return curried(f, f.length, []);\n}\n\n/**\n * Changes the hue of the color. Hue is a number between 0 to 360. The first\n * argument for adjustHue is the amount of degrees the color is rotated around\n * the color wheel, always producing a positive hue value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: adjustHue(180, '#448'),\n * background: adjustHue('180', 'rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${adjustHue(180, '#448')};\n * background: ${adjustHue('180', 'rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#888844\";\n * background: \"rgba(136,136,68,0.7)\";\n * }\n */\n\nfunction adjustHue(degree, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: hslColor.hue + parseFloat(degree)\n }));\n} // prettier-ignore\n\n\nvar curriedAdjustHue = /*#__PURE__*/curry\n/* :: */\n(adjustHue);\nvar curriedAdjustHue$1 = curriedAdjustHue;\n\n/**\n * Returns the complement of the provided color. This is identical to adjustHue(180, ).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: complement('#448'),\n * background: complement('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${complement('#448')};\n * background: ${complement('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#884\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction complement(color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: (hslColor.hue + 180) % 360\n }));\n}\n\nfunction guard(lowerBoundary, upperBoundary, value) {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n\n/**\n * Returns a string value for the darkened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: darken(0.2, '#FFCD64'),\n * background: darken('0.2', 'rgba(255,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${darken(0.2, '#FFCD64')};\n * background: ${darken('0.2', 'rgba(255,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffbd31\";\n * background: \"rgba(255,189,49,0.7)\";\n * }\n */\n\nfunction darken(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDarken = /*#__PURE__*/curry\n/* :: */\n(darken);\nvar curriedDarken$1 = curriedDarken;\n\n/**\n * Decreases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the desaturate function is the amount by how much the color\n * intensity should be decreased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: desaturate(0.2, '#CCCD64'),\n * background: desaturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${desaturate(0.2, '#CCCD64')};\n * background: ${desaturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#b8b979\";\n * background: \"rgba(184,185,121,0.7)\";\n * }\n */\n\nfunction desaturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDesaturate = /*#__PURE__*/curry\n/* :: */\n(desaturate);\nvar curriedDesaturate$1 = curriedDesaturate;\n\n/**\n * Returns a number (float) representing the luminance of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff',\n * background: getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)',\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff'};\n * background: ${getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)'};\n *\n * // CSS in JS Output\n *\n * div {\n * background: \"#CCCD64\";\n * background: \"rgba(58, 133, 255, 1)\";\n * }\n */\n\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n var rgbColor = parseToRgb(color);\n\n var _Object$keys$map = Object.keys(rgbColor).map(function (key) {\n var channel = rgbColor[key] / 255;\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }),\n r = _Object$keys$map[0],\n g = _Object$keys$map[1],\n b = _Object$keys$map[2];\n\n return parseFloat((0.2126 * r + 0.7152 * g + 0.0722 * b).toFixed(3));\n}\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n *\n * @example\n * const contrastRatio = getContrast('#444', '#fff');\n */\n\nfunction getContrast(color1, color2) {\n var luminance1 = getLuminance(color1);\n var luminance2 = getLuminance(color2);\n return parseFloat((luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05)).toFixed(2));\n}\n\n/**\n * Converts the color to a grayscale, by reducing its saturation to 0.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: grayscale('#CCCD64'),\n * background: grayscale('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${grayscale('#CCCD64')};\n * background: ${grayscale('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#999\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction grayscale(color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: 0\n }));\n}\n\n/**\n * Converts a HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\nfunction hslToColorString(color) {\n if (typeof color === 'object' && typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number') {\n if (color.alpha && typeof color.alpha === 'number') {\n return hsla({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness,\n alpha: color.alpha\n });\n }\n\n return hsl({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness\n });\n }\n\n throw new PolishedError(45);\n}\n\n/**\n * Inverts the red, green and blue values of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: invert('#CCCD64'),\n * background: invert('rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${invert('#CCCD64')};\n * background: ${invert('rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#33329b\";\n * background: \"rgba(154,155,50,0.7)\";\n * }\n */\n\nfunction invert(color) {\n if (color === 'transparent') return color; // parse color string to rgb\n\n var value = parseToRgb(color);\n return toColorString(_extends({}, value, {\n red: 255 - value.red,\n green: 255 - value.green,\n blue: 255 - value.blue\n }));\n}\n\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: lighten(0.2, '#CCCD64'),\n * background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${lighten(0.2, '#FFCD64')};\n * background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e5e6b1\";\n * background: \"rgba(229,230,177,0.7)\";\n * }\n */\n\nfunction lighten(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedLighten = /*#__PURE__*/curry\n/* :: */\n(lighten);\nvar curriedLighten$1 = curriedLighten;\n\n/**\n * Determines which contrast guidelines have been met for two colors.\n * Based on the [contrast calculations recommended by W3](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).\n *\n * @example\n * const scores = meetsContrastGuidelines('#444', '#fff');\n */\nfunction meetsContrastGuidelines(color1, color2) {\n var contrastRatio = getContrast(color1, color2);\n return {\n AA: contrastRatio >= 4.5,\n AALarge: contrastRatio >= 3,\n AAA: contrastRatio >= 7,\n AAALarge: contrastRatio >= 4.5\n };\n}\n\n/**\n * Mixes the two provided colors together by calculating the average of each of the RGB components weighted to the first color by the provided weight.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: mix(0.5, '#f00', '#00f')\n * background: mix(0.25, '#f00', '#00f')\n * background: mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${mix(0.5, '#f00', '#00f')};\n * background: ${mix(0.25, '#f00', '#00f')};\n * background: ${mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#7f007f\";\n * background: \"#3f00bf\";\n * background: \"rgba(63, 0, 191, 0.75)\";\n * }\n */\n\nfunction mix(weight, color, otherColor) {\n if (color === 'transparent') return otherColor;\n if (otherColor === 'transparent') return color;\n if (weight === 0) return otherColor;\n var parsedColor1 = parseToRgb(color);\n\n var color1 = _extends({}, parsedColor1, {\n alpha: typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1\n });\n\n var parsedColor2 = parseToRgb(otherColor);\n\n var color2 = _extends({}, parsedColor2, {\n alpha: typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1\n }); // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n\n\n var alphaDelta = color1.alpha - color2.alpha;\n var x = parseFloat(weight) * 2 - 1;\n var y = x * alphaDelta === -1 ? x : x + alphaDelta;\n var z = 1 + x * alphaDelta;\n var weight1 = (y / z + 1) / 2.0;\n var weight2 = 1 - weight1;\n var mixedColor = {\n red: Math.floor(color1.red * weight1 + color2.red * weight2),\n green: Math.floor(color1.green * weight1 + color2.green * weight2),\n blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),\n alpha: color1.alpha * parseFloat(weight) + color2.alpha * (1 - parseFloat(weight))\n };\n return rgba(mixedColor);\n} // prettier-ignore\n\n\nvar curriedMix = /*#__PURE__*/curry\n/* :: */\n(mix);\nvar mix$1 = curriedMix;\n\n/**\n * Increases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: opacify(0.1, 'rgba(255, 255, 255, 0.9)');\n * background: opacify(0.2, 'hsla(0, 0%, 100%, 0.5)'),\n * background: opacify('0.5', 'rgba(255, 0, 0, 0.2)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${opacify(0.1, 'rgba(255, 255, 255, 0.9)')};\n * background: ${opacify(0.2, 'hsla(0, 0%, 100%, 0.5)')},\n * background: ${opacify('0.5', 'rgba(255, 0, 0, 0.2)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#fff\";\n * background: \"rgba(255,255,255,0.7)\";\n * background: \"rgba(255,0,0,0.7)\";\n * }\n */\n\nfunction opacify(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedOpacify = /*#__PURE__*/curry\n/* :: */\n(opacify);\nvar curriedOpacify$1 = curriedOpacify;\n\nvar defaultReturnIfLightColor = '#000';\nvar defaultReturnIfDarkColor = '#fff';\n/**\n * Returns black or white (or optional passed colors) for best\n * contrast depending on the luminosity of the given color.\n * When passing custom return colors, strict mode ensures that the\n * return color always meets or exceeds WCAG level AA or greater. If this test\n * fails, the default return color (black or white) is returned in place of the\n * custom return color. You can optionally turn off strict mode.\n *\n * Follows [W3C specs for readability](https://www.w3.org/TR/WCAG20-TECHS/G18.html).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * color: readableColor('#000'),\n * color: readableColor('black', '#001', '#ff8'),\n * color: readableColor('white', '#001', '#ff8'),\n * color: readableColor('red', '#333', '#ddd', true)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * color: ${readableColor('#000')};\n * color: ${readableColor('black', '#001', '#ff8')};\n * color: ${readableColor('white', '#001', '#ff8')};\n * color: ${readableColor('red', '#333', '#ddd', true)};\n * `\n *\n * // CSS in JS Output\n * element {\n * color: \"#fff\";\n * color: \"#ff8\";\n * color: \"#001\";\n * color: \"#000\";\n * }\n */\n\nfunction readableColor(color, returnIfLightColor, returnIfDarkColor, strict) {\n if (returnIfLightColor === void 0) {\n returnIfLightColor = defaultReturnIfLightColor;\n }\n\n if (returnIfDarkColor === void 0) {\n returnIfDarkColor = defaultReturnIfDarkColor;\n }\n\n if (strict === void 0) {\n strict = true;\n }\n\n var isColorLight = getLuminance(color) > 0.179;\n var preferredReturnColor = isColorLight ? returnIfLightColor : returnIfDarkColor;\n\n if (!strict || getContrast(color, preferredReturnColor) >= 4.5) {\n return preferredReturnColor;\n }\n\n return isColorLight ? defaultReturnIfLightColor : defaultReturnIfDarkColor;\n}\n\n/**\n * Converts a RgbColor or RgbaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb` or `rgba`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgbToColorString({ red: 255, green: 205, blue: 100 }),\n * background: rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * }\n */\nfunction rgbToColorString(color) {\n if (typeof color === 'object' && typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number') {\n if (typeof color.alpha === 'number') {\n return rgba({\n red: color.red,\n green: color.green,\n blue: color.blue,\n alpha: color.alpha\n });\n }\n\n return rgb({\n red: color.red,\n green: color.green,\n blue: color.blue\n });\n }\n\n throw new PolishedError(46);\n}\n\n/**\n * Increases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the saturate function is the amount by how much the color\n * intensity should be increased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: saturate(0.2, '#CCCD64'),\n * background: saturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${saturate(0.2, '#FFCD64')};\n * background: ${saturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e0e250\";\n * background: \"rgba(224,226,80,0.7)\";\n * }\n */\n\nfunction saturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedSaturate = /*#__PURE__*/curry\n/* :: */\n(saturate);\nvar curriedSaturate$1 = curriedSaturate;\n\n/**\n * Sets the hue of a color to the provided value. The hue range can be\n * from 0 and 359.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setHue(42, '#CCCD64'),\n * background: setHue('244', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setHue(42, '#CCCD64')};\n * background: ${setHue('244', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#cdae64\";\n * background: \"rgba(107,100,205,0.7)\";\n * }\n */\n\nfunction setHue(hue, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n hue: parseFloat(hue)\n }));\n} // prettier-ignore\n\n\nvar curriedSetHue = /*#__PURE__*/curry\n/* :: */\n(setHue);\nvar curriedSetHue$1 = curriedSetHue;\n\n/**\n * Sets the lightness of a color to the provided value. The lightness range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setLightness(0.2, '#CCCD64'),\n * background: setLightness('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setLightness(0.2, '#CCCD64')};\n * background: ${setLightness('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#4d4d19\";\n * background: \"rgba(223,224,159,0.7)\";\n * }\n */\n\nfunction setLightness(lightness, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n lightness: parseFloat(lightness)\n }));\n} // prettier-ignore\n\n\nvar curriedSetLightness = /*#__PURE__*/curry\n/* :: */\n(setLightness);\nvar curriedSetLightness$1 = curriedSetLightness;\n\n/**\n * Sets the saturation of a color to the provided value. The saturation range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setSaturation(0.2, '#CCCD64'),\n * background: setSaturation('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setSaturation(0.2, '#CCCD64')};\n * background: ${setSaturation('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#adad84\";\n * background: \"rgba(228,229,76,0.7)\";\n * }\n */\n\nfunction setSaturation(saturation, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: parseFloat(saturation)\n }));\n} // prettier-ignore\n\n\nvar curriedSetSaturation = /*#__PURE__*/curry\n/* :: */\n(setSaturation);\nvar curriedSetSaturation$1 = curriedSetSaturation;\n\n/**\n * Shades a color by mixing it with black. `shade` can produce\n * hue shifts, where as `darken` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: shade(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${shade(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#00003f\";\n * }\n */\n\nfunction shade(percentage, color) {\n if (color === 'transparent') return color;\n return mix$1(parseFloat(percentage), 'rgb(0, 0, 0)', color);\n} // prettier-ignore\n\n\nvar curriedShade = /*#__PURE__*/curry\n/* :: */\n(shade);\nvar curriedShade$1 = curriedShade;\n\n/**\n * Tints a color by mixing it with white. `tint` can produce\n * hue shifts, where as `lighten` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: tint(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${tint(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#bfbfff\";\n * }\n */\n\nfunction tint(percentage, color) {\n if (color === 'transparent') return color;\n return mix$1(parseFloat(percentage), 'rgb(255, 255, 255)', color);\n} // prettier-ignore\n\n\nvar curriedTint = /*#__PURE__*/curry\n/* :: */\n(tint);\nvar curriedTint$1 = curriedTint;\n\n/**\n * Decreases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: transparentize(0.1, '#fff'),\n * background: transparentize(0.2, 'hsl(0, 0%, 100%)'),\n * background: transparentize('0.5', 'rgba(255, 0, 0, 0.8)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${transparentize(0.1, '#fff')};\n * background: ${transparentize(0.2, 'hsl(0, 0%, 100%)')};\n * background: ${transparentize('0.5', 'rgba(255, 0, 0, 0.8)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,255,255,0.9)\";\n * background: \"rgba(255,255,255,0.8)\";\n * background: \"rgba(255,0,0,0.3)\";\n * }\n */\n\nfunction transparentize(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, +(alpha * 100 - parseFloat(amount) * 100).toFixed(2) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedTransparentize = /*#__PURE__*/curry\n/* :: */\n(transparentize);\nvar curriedTransparentize$1 = curriedTransparentize;\n\n/**\n * Shorthand for easily setting the animation property. Allows either multiple arrays with animations\n * or a single animation spread over the arguments.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out, colorchange 2s'\n * }\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation('rotate', '1s', 'ease-in-out')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation('rotate', '1s', 'ease-in-out')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out'\n * }\n */\nfunction animation() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // Allow single or multiple animations passed\n var multiMode = Array.isArray(args[0]);\n\n if (!multiMode && args.length > 8) {\n throw new PolishedError(64);\n }\n\n var code = args.map(function (arg) {\n if (multiMode && !Array.isArray(arg) || !multiMode && Array.isArray(arg)) {\n throw new PolishedError(65);\n }\n\n if (Array.isArray(arg) && arg.length > 8) {\n throw new PolishedError(66);\n }\n\n return Array.isArray(arg) ? arg.join(' ') : arg;\n }).join(', ');\n return {\n animation: code\n };\n}\n\n/**\n * Shorthand that accepts any number of backgroundImage values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'backgroundImage': 'url(\"/image/background.jpg\"), linear-gradient(red, green)'\n * }\n */\nfunction backgroundImages() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n backgroundImage: properties.join(', ')\n };\n}\n\n/**\n * Shorthand that accepts any number of background values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'background': 'url(\"/image/background.jpg\"), linear-gradient(red, green), center no-repeat'\n * }\n */\nfunction backgrounds() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n background: properties.join(', ')\n };\n}\n\nvar sideMap = ['top', 'right', 'bottom', 'left'];\n/**\n * Shorthand for the border property that splits out individual properties for use with tools like Fela and Styletron. A side keyword can optionally be passed to target only one side's border properties.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...border('1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderColor': 'red',\n * 'borderStyle': 'solid',\n * 'borderWidth': `1px`,\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...border('top', '1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('top', '1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderTopStyle': 'solid',\n * 'borderTopWidth': `1px`,\n * }\n */\n\nfunction border(sideKeyword) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (typeof sideKeyword === 'string' && sideMap.indexOf(sideKeyword) >= 0) {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + capitalizeString(sideKeyword) + \"Width\"] = values[0], _ref[\"border\" + capitalizeString(sideKeyword) + \"Style\"] = values[1], _ref[\"border\" + capitalizeString(sideKeyword) + \"Color\"] = values[2], _ref;\n } else {\n values.unshift(sideKeyword);\n return {\n borderWidth: values[0],\n borderStyle: values[1],\n borderColor: values[2]\n };\n }\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderColor('red', 'green', 'blue', 'yellow')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderColor('red', 'green', 'blue', 'yellow')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderRightColor': 'green',\n * 'borderBottomColor': 'blue',\n * 'borderLeftColor': 'yellow'\n * }\n */\nfunction borderColor() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderColor'].concat(values));\n}\n\n/**\n * Shorthand that accepts a value for side and a value for radius and applies the radius value to both corners of the side.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderRadius('top', '5px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderRadius('top', '5px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopRightRadius': '5px',\n * 'borderTopLeftRadius': '5px',\n * }\n */\nfunction borderRadius(side, radius) {\n var uppercaseSide = capitalizeString(side);\n\n if (!radius && radius !== 0) {\n throw new PolishedError(62);\n }\n\n if (uppercaseSide === 'Top' || uppercaseSide === 'Bottom') {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + uppercaseSide + \"RightRadius\"] = radius, _ref[\"border\" + uppercaseSide + \"LeftRadius\"] = radius, _ref;\n }\n\n if (uppercaseSide === 'Left' || uppercaseSide === 'Right') {\n var _ref2;\n\n return _ref2 = {}, _ref2[\"borderTop\" + uppercaseSide + \"Radius\"] = radius, _ref2[\"borderBottom\" + uppercaseSide + \"Radius\"] = radius, _ref2;\n }\n\n throw new PolishedError(63);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderStyle('solid', 'dashed', 'dotted', 'double')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderStyle('solid', 'dashed', 'dotted', 'double')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopStyle': 'solid',\n * 'borderRightStyle': 'dashed',\n * 'borderBottomStyle': 'dotted',\n * 'borderLeftStyle': 'double'\n * }\n */\nfunction borderStyle() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderStyle'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderWidth('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderWidth('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopWidth': '12px',\n * 'borderRightWidth': '24px',\n * 'borderBottomWidth': '36px',\n * 'borderLeftWidth': '48px'\n * }\n */\nfunction borderWidth() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderWidth'].concat(values));\n}\n\nfunction generateSelectors(template, state) {\n var stateSuffix = state ? \":\" + state : '';\n return template(stateSuffix);\n}\n/**\n * Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.\n * @private\n */\n\n\nfunction statefulSelectors(states, template, stateMap) {\n if (!template) throw new PolishedError(67);\n if (states.length === 0) return generateSelectors(template, null);\n var selectors = [];\n\n for (var i = 0; i < states.length; i += 1) {\n if (stateMap && stateMap.indexOf(states[i]) < 0) {\n throw new PolishedError(68);\n }\n\n selectors.push(generateSelectors(template, states[i]));\n }\n\n selectors = selectors.join(',');\n return selectors;\n}\n\nvar stateMap$1 = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template$1(state) {\n return \"button\" + state + \",\\n input[type=\\\"button\\\"]\" + state + \",\\n input[type=\\\"reset\\\"]\" + state + \",\\n input[type=\\\"submit\\\"]\" + state;\n}\n/**\n * Populates selectors that target all buttons. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [buttons('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${buttons('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'button:active,\n * 'input[type=\"button\"]:active,\n * 'input[type=\\\"reset\\\"]:active,\n * 'input[type=\\\"submit\\\"]:active: {\n * 'border': 'none'\n * }\n */\n\n\nfunction buttons() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template$1, stateMap$1);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...margin('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${margin('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'marginTop': '12px',\n * 'marginRight': '24px',\n * 'marginBottom': '36px',\n * 'marginLeft': '48px'\n * }\n */\nfunction margin() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['margin'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...padding('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${padding('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\nfunction padding() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['padding'].concat(values));\n}\n\nvar positionMap = ['absolute', 'fixed', 'relative', 'static', 'sticky'];\n/**\n * Shorthand accepts up to five values, including null to skip a value, and maps them to their respective directions. The first value can optionally be a position keyword.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...position('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...position('absolute', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('absolute', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'position': 'absolute',\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n */\n\nfunction position(firstValue) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (positionMap.indexOf(firstValue) >= 0 && firstValue) {\n return _extends({}, directionalProperty.apply(void 0, [''].concat(values)), {\n position: firstValue\n });\n } else {\n return directionalProperty.apply(void 0, ['', firstValue].concat(values));\n }\n}\n\n/**\n * Shorthand to set the height and width properties in a single statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...size('300px', '250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${size('300px', '250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'height': '300px',\n * 'width': '250px',\n * }\n */\nfunction size(height, width) {\n if (width === void 0) {\n width = height;\n }\n\n return {\n height: height,\n width: width\n };\n}\n\nvar stateMap = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template(state) {\n return \"input[type=\\\"color\\\"]\" + state + \",\\n input[type=\\\"date\\\"]\" + state + \",\\n input[type=\\\"datetime\\\"]\" + state + \",\\n input[type=\\\"datetime-local\\\"]\" + state + \",\\n input[type=\\\"email\\\"]\" + state + \",\\n input[type=\\\"month\\\"]\" + state + \",\\n input[type=\\\"number\\\"]\" + state + \",\\n input[type=\\\"password\\\"]\" + state + \",\\n input[type=\\\"search\\\"]\" + state + \",\\n input[type=\\\"tel\\\"]\" + state + \",\\n input[type=\\\"text\\\"]\" + state + \",\\n input[type=\\\"time\\\"]\" + state + \",\\n input[type=\\\"url\\\"]\" + state + \",\\n input[type=\\\"week\\\"]\" + state + \",\\n input:not([type])\" + state + \",\\n textarea\" + state;\n}\n/**\n * Populates selectors that target all text inputs. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [textInputs('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${textInputs('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'input[type=\"color\"]:active,\n * input[type=\"date\"]:active,\n * input[type=\"datetime\"]:active,\n * input[type=\"datetime-local\"]:active,\n * input[type=\"email\"]:active,\n * input[type=\"month\"]:active,\n * input[type=\"number\"]:active,\n * input[type=\"password\"]:active,\n * input[type=\"search\"]:active,\n * input[type=\"tel\"]:active,\n * input[type=\"text\"]:active,\n * input[type=\"time\"]:active,\n * input[type=\"url\"]:active,\n * input[type=\"week\"]:active,\n * input:not([type]):active,\n * textarea:active': {\n * 'border': 'none'\n * }\n */\n\n\nfunction textInputs() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template, stateMap);\n}\n\n/**\n * Accepts any number of transition values as parameters for creating a single transition statement. You may also pass an array of properties as the first parameter that you would like to apply the same transition values to (second parameter).\n * @example\n * // Styles as object usage\n * const styles = {\n * ...transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s'),\n * ...transitions(['color', 'background-color'], '2.0s ease-in 2s')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s')};\n * ${transitions(['color', 'background-color'], '2.0s ease-in 2s'),};\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'transition': 'opacity 1.0s ease-in 0s, width 2.0s ease-in 2s'\n * 'transition': 'color 2.0s ease-in 2s, background-color 2.0s ease-in 2s',\n * }\n */\n\nfunction transitions() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n if (Array.isArray(properties[0]) && properties.length === 2) {\n var value = properties[1];\n\n if (typeof value !== 'string') {\n throw new PolishedError(61);\n }\n\n var transitionsString = properties[0].map(function (property) {\n return property + \" \" + value;\n }).join(', ');\n return {\n transition: transitionsString\n };\n } else {\n return {\n transition: properties.join(', ')\n };\n }\n}\n\nexport { curriedAdjustHue$1 as adjustHue, animation, backgroundImages, backgrounds, between, border, borderColor, borderRadius, borderStyle, borderWidth, buttons, clearFix, complement, cover, cssVar, curriedDarken$1 as darken, curriedDesaturate$1 as desaturate, directionalProperty, easeIn, easeInOut, easeOut, ellipsis, em$1 as em, fluidRange, fontFace, getContrast, getLuminance, getValueAndUnit, grayscale, hiDPI, hideText, hideVisually, hsl, hslToColorString, hsla, important, invert, curriedLighten$1 as lighten, linearGradient, margin, math, meetsContrastGuidelines, mix$1 as mix, modularScale, normalize, curriedOpacify$1 as opacify, padding, parseToHsl, parseToRgb, position, radialGradient, readableColor, rem$1 as rem, remToPx, retinaImage, rgb, rgbToColorString, rgba, curriedSaturate$1 as saturate, curriedSetHue$1 as setHue, curriedSetLightness$1 as setLightness, curriedSetSaturation$1 as setSaturation, curriedShade$1 as shade, size, stripUnit, textInputs, timingFunctions, curriedTint$1 as tint, toColorString, transitions, curriedTransparentize$1 as transparentize, triangle, wordWrap };\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n basePickBy = require('./_basePickBy'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nmodule.exports = pickBy;\n","import*as t from\"react\";function n(){return n=Object.assign||function(t){for(var n=1;n(t[n.toLowerCase()]=n,t),{for:\"htmlFor\"}),o={amp:\"&\",apos:\"'\",gt:\">\",lt:\"<\",nbsp:\" \",quot:\"“\"},c=[\"style\",\"script\"],a=/([-A-Z0-9_:]+)(?:\\s*=\\s*(?:(?:\"((?:\\\\.|[^\"])*)\")|(?:'((?:\\\\.|[^'])*)')|(?:\\{((?:\\\\.|{[^}]*?}|[^}])*)\\})))?/gi,_=/mailto:/i,u=/\\n{2,}$/,i=/^( *>[^\\n]+(\\n[^\\n]+)*\\n*)+\\n{2,}/,l=/^ *> ?/gm,s=/^ {2,}\\n/,f=/^(?:( *[-*_])){3,} *(?:\\n *)+\\n/,d=/^\\s*(`{3,}|~{3,}) *(\\S+)?([^\\n]*?)?\\n([\\s\\S]+?)\\s*\\1 *(?:\\n *)*\\n?/,p=/^(?: {4}[^\\n]+\\n*)+(?:\\n *)+\\n?/,m=/^(`+)\\s*([\\s\\S]*?[^`])\\s*\\1(?!`)/,g=/^(?:\\n *)*\\n/,y=/\\r\\n?/g,h=/^\\[\\^([^\\]]+)](:.*)\\n/,k=/^\\[\\^([^\\]]+)]/,x=/\\f/g,b=/^\\s*?\\[(x|\\s)\\]/,v=/^ *(#{1,6}) *([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/,$=/^([^\\n]+)\\n *(=|-){3,} *(?:\\n *)+\\n/,S=/^ *(?!<[a-z][^ >/]* ?\\/>)<([a-z][^ >/]*) ?([^>]*)\\/{0}>\\n?(\\s*(?:<\\1[^>]*?>[\\s\\S]*?<\\/\\1>|(?!<\\1)[\\s\\S])*?)<\\/\\1>\\n*/i,z=/&([a-zA-Z]+);/g,w=/^)/,A=/^(data|aria|x)-[a-z_][a-z\\d_.-]*$/,E=/^ *<([a-z][a-z0-9:]*)(?:\\s+((?:<.*?>|[^>])*))?\\/?>(?!<\\/\\1>)(\\s*\\n)?/i,L=/^\\{.*\\}$/,M=/^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/,I=/^<([^ >]+@[^ >]+)>/,O=/^<([^ >]+:\\/[^ >]+)>/,B=/-([a-z])?/gi,R=/^(.*\\|?.*)\\n *(\\|? *[-:]+ *\\|[-| :]*)\\n((?:.*\\|.*\\n)*)\\n?/,T=/^\\[([^\\]]*)\\]:\\s+]+)>?\\s*(\"([^\"]*)\")?/,j=/^!\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/,C=/^\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/,D=/(\\[|\\])/g,N=/(\\n|^[-*]\\s|^#|^ {2,}|^-{2,}|^>\\s)/,Z=/\\t/g,F=/^ *\\| */,P=/(^ *\\||\\| *$)/g,G=/ *$/,H=/^ *:-+: *$/,q=/^ *:-+ *$/,U=/^ *-+: *$/,V=/^([*_])\\1((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\\1\\1(?!\\1)/,W=/^([*_])((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\\1(?!\\1|\\w)/,Q=/^==((?:\\[.*?\\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)==/,X=/^~~((?:\\[.*?\\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)~~/,J=/^\\\\([^0-9A-Za-z\\s])/,K=/^[\\s\\S]+?(?=[^0-9A-Z\\s\\u00c0-\\uffff&;.()'\"]|\\d+\\.|\\n\\n| {2,}\\n|\\w+:\\S|$)/i,Y=/^\\n+/,tt=/^([ \\t]*)/,nt=/\\\\([^\\\\])/g,et=/ *\\n+$/,rt=/(?:^|\\n)( *)$/,ot=\"(?:\\\\d+\\\\.)\",ct=\"(?:[*+-])\";function at(t){return\"( *)(\"+(1===t?ot:ct)+\") +\"}const _t=at(1),ut=at(2);function it(t){return new RegExp(\"^\"+(1===t?_t:ut))}const lt=it(1),st=it(2);function ft(t){return new RegExp(\"^\"+(1===t?_t:ut)+\"[^\\\\n]*(?:\\\\n(?!\\\\1\"+(1===t?ot:ct)+\" )[^\\\\n]*)*(\\\\n|$)\",\"gm\")}const dt=ft(1),pt=ft(2);function mt(t){const n=1===t?ot:ct;return new RegExp(\"^( *)(\"+n+\") [\\\\s\\\\S]+?(?:\\\\n{2,}(?! )(?!\\\\1\"+n+\" (?!\"+n+\" ))\\\\n*|\\\\s*\\\\n*$)\")}const gt=mt(1),yt=mt(2);function ht(t,n){const e=1===n,r=e?gt:yt,o=e?dt:pt,c=e?lt:st;return{t(t,n,e){const o=rt.exec(e);return o&&(n.o||!n._&&!n.u)?r.exec(t=o[1]+t):null},i:Gt.HIGH,l(t,n,r){const a=e?+t[2]:void 0,_=t[0].replace(u,\"\\n\").match(o);let i=!1;return{p:_.map(function(t,e){const o=c.exec(t)[0].length,a=new RegExp(\"^ {1,\"+o+\"}\",\"gm\"),u=t.replace(a,\"\").replace(c,\"\"),l=e===_.length-1,s=-1!==u.indexOf(\"\\n\\n\")||l&&i;i=s;const f=r._,d=r.o;let p;r.o=!0,s?(r._=!1,p=u.replace(et,\"\\n\\n\")):(r._=!0,p=u.replace(et,\"\"));const m=n(p,r);return r._=f,r.o=d,m}),m:e,g:a}},h:(n,e,r)=>t(n.m?\"ol\":\"ul\",{key:r.k,start:n.g},n.p.map(function(n,o){return t(\"li\",{key:o},e(n,r))}))}}const kt=/^\\[([^\\]]*)]\\( *((?:\\([^)]*\\)|[^() ])*) *\"?([^)\"]*)?\"?\\)/,xt=/^!\\[([^\\]]*)]\\( *((?:\\([^)]*\\)|[^() ])*) *\"?([^)\"]*)?\"?\\)/,bt=[i,d,p,v,$,w,R,dt,gt,pt,yt],vt=[...bt,/^[^\\n]+(?: \\n|\\n{2,})/,S,E];function $t(t){return t.replace(/[ÀÁÂÃÄÅàáâãäåæÆ]/g,\"a\").replace(/[çÇ]/g,\"c\").replace(/[ðÐ]/g,\"d\").replace(/[ÈÉÊËéèêë]/g,\"e\").replace(/[ÏïÎîÍíÌì]/g,\"i\").replace(/[Ññ]/g,\"n\").replace(/[øØœŒÕõÔôÓóÒò]/g,\"o\").replace(/[ÜüÛûÚúÙù]/g,\"u\").replace(/[ŸÿÝý]/g,\"y\").replace(/[^a-z0-9- ]/gi,\"\").replace(/ /gi,\"-\").toLowerCase()}function St(t){return U.test(t)?\"right\":H.test(t)?\"center\":q.test(t)?\"left\":null}function zt(t,n,e){const r=e.v;e.v=!0;const o=n(t.trim(),e);e.v=r;let c=[[]];return o.forEach(function(t,n){\"tableSeparator\"===t.type?0!==n&&n!==o.length-1&&c.push([]):(\"text\"!==t.type||null!=o[n+1]&&\"tableSeparator\"!==o[n+1].type||(t.$=t.$.replace(G,\"\")),c[c.length-1].push(t))}),c}function wt(t,n,e){e._=!0;const r=zt(t[1],n,e),o=t[2].replace(P,\"\").split(\"|\").map(St),c=function(t,n,e){return t.trim().split(\"\\n\").map(function(t){return zt(t,n,e)})}(t[3],n,e);return e._=!1,{S:o,A:c,L:r,type:\"table\"}}function At(t,n){return null==t.S[n]?{}:{textAlign:t.S[n]}}function Et(t){return function(n,e){return e._?t.exec(n):null}}function Lt(t){return function(n,e){return e._||e.u?t.exec(n):null}}function Mt(t){return function(n,e){return e._||e.u?null:t.exec(n)}}function It(t){return function(n){return t.exec(n)}}function Ot(t,n,e){if(n._||n.u)return null;if(e&&!e.endsWith(\"\\n\"))return null;let r=\"\";t.split(\"\\n\").every(t=>!bt.some(n=>n.test(t))&&(r+=t+\"\\n\",t.trim()));const o=r.trimEnd();return\"\"==o?null:[r,o]}function Bt(t){try{if(decodeURIComponent(t).replace(/[^A-Za-z0-9/:]/g,\"\").match(/^\\s*(javascript|vbscript|data(?!:image)):/i))return null}catch(t){return null}return t}function Rt(t){return t.replace(nt,\"$1\")}function Tt(t,n,e){const r=e._||!1,o=e.u||!1;e._=!0,e.u=!0;const c=t(n,e);return e._=r,e.u=o,c}function jt(t,n,e){const r=e._||!1,o=e.u||!1;e._=!1,e.u=!0;const c=t(n,e);return e._=r,e.u=o,c}function Ct(t,n,e){return e._=!1,t(n+\"\\n\\n\",e)}const Dt=(t,n,e)=>({$:Tt(n,t[1],e)});function Nt(){return{}}function Zt(){return null}function Ft(...t){return t.filter(Boolean).join(\" \")}function Pt(t,n,e){let r=t;const o=n.split(\".\");for(;o.length&&(r=r[o[0]],void 0!==r);)o.shift();return r||e}var Gt;function Ht(e,u={}){u.overrides=u.overrides||{},u.slugify=u.slugify||$t,u.namedCodesToUnicode=u.namedCodesToUnicode?n({},o,u.namedCodesToUnicode):o;const P=u.createElement||t.createElement;function G(t,e,...r){const o=Pt(u.overrides,`${t}.props`,{});return P(function(t,n){const e=Pt(n,t);return e?\"function\"==typeof e||\"object\"==typeof e&&\"render\"in e?e:Pt(n,`${t}.component`,t):t}(t,u.overrides),n({},e,o,{className:Ft(null==e?void 0:e.className,o.className)||void 0}),...r)}function H(n){let e=!1;u.forceInline?e=!0:u.forceBlock||(e=!1===N.test(n));const r=ot(rt(e?n:`${n.trimEnd().replace(Y,\"\")}\\n\\n`,{_:e}));for(;\"string\"==typeof r[r.length-1]&&!r[r.length-1].trim();)r.pop();if(null===u.wrapper)return r;const o=u.wrapper||(e?\"span\":\"div\");let c;if(r.length>1||u.forceWrapper)c=r;else{if(1===r.length)return c=r[0],\"string\"==typeof c?G(\"span\",{key:\"outer\"},c):c;c=null}return t.createElement(o,{key:\"outer\"},c)}function q(n){const e=n.match(a);return e?e.reduce(function(n,e,o){const c=e.indexOf(\"=\");if(-1!==c){const a=function(t){return-1!==t.indexOf(\"-\")&&null===t.match(A)&&(t=t.replace(B,function(t,n){return n.toUpperCase()})),t}(e.slice(0,c)).trim(),_=function(t){const n=t[0];return('\"'===n||\"'\"===n)&&t.length>=2&&t[t.length-1]===n?t.slice(1,-1):t}(e.slice(c+1).trim()),u=r[a]||a,i=n[u]=function(t,n){return\"style\"===t?n.split(/;\\s?/).reduce(function(t,n){const e=n.slice(0,n.indexOf(\":\"));return t[e.replace(/(-[a-z])/g,t=>t[1].toUpperCase())]=n.slice(e.length+1).trim(),t},{}):\"href\"===t?Bt(n):(n.match(L)&&(n=n.slice(1,n.length-1)),\"true\"===n||\"false\"!==n&&n)}(a,_);\"string\"==typeof i&&(S.test(i)||E.test(i))&&(n[u]=t.cloneElement(H(i.trim()),{key:o}))}else\"style\"!==e&&(n[r[e]||e]=!0);return n},{}):null}const U=[],nt={},et={blockQuote:{t:Mt(i),i:Gt.HIGH,l:(t,n,e)=>({$:n(t[0].replace(l,\"\"),e)}),h:(t,n,e)=>G(\"blockquote\",{key:e.k},n(t.$,e))},breakLine:{t:It(s),i:Gt.HIGH,l:Nt,h:(t,n,e)=>G(\"br\",{key:e.k})},breakThematic:{t:Mt(f),i:Gt.HIGH,l:Nt,h:(t,n,e)=>G(\"hr\",{key:e.k})},codeBlock:{t:Mt(p),i:Gt.MAX,l:t=>({$:t[0].replace(/^ {4}/gm,\"\").replace(/\\n+$/,\"\"),M:void 0}),h:(t,e,r)=>G(\"pre\",{key:r.k},G(\"code\",n({},t.I,{className:t.M?`lang-${t.M}`:\"\"}),t.$))},codeFenced:{t:Mt(d),i:Gt.MAX,l:t=>({I:q(t[3]||\"\"),$:t[4],M:t[2]||void 0,type:\"codeBlock\"})},codeInline:{t:Lt(m),i:Gt.LOW,l:t=>({$:t[2]}),h:(t,n,e)=>G(\"code\",{key:e.k},t.$)},footnote:{t:Mt(h),i:Gt.MAX,l:t=>(U.push({O:t[2],B:t[1]}),{}),h:Zt},footnoteReference:{t:Et(k),i:Gt.HIGH,l:t=>({$:t[1],R:`#${u.slugify(t[1])}`}),h:(t,n,e)=>G(\"a\",{key:e.k,href:Bt(t.R)},G(\"sup\",{key:e.k},t.$))},gfmTask:{t:Et(b),i:Gt.HIGH,l:t=>({T:\"x\"===t[1].toLowerCase()}),h:(t,n,e)=>G(\"input\",{checked:t.T,key:e.k,readOnly:!0,type:\"checkbox\"})},heading:{t:Mt(v),i:Gt.HIGH,l:(t,n,e)=>({$:Tt(n,t[2],e),j:u.slugify(t[2]),C:t[1].length}),h:(t,n,e)=>G(`h${t.C}`,{id:t.j,key:e.k},n(t.$,e))},headingSetext:{t:Mt($),i:Gt.MAX,l:(t,n,e)=>({$:Tt(n,t[1],e),C:\"=\"===t[2]?1:2,type:\"heading\"})},htmlComment:{t:It(w),i:Gt.HIGH,l:()=>({}),h:Zt},image:{t:Lt(xt),i:Gt.HIGH,l:t=>({D:t[1],R:Rt(t[2]),N:t[3]}),h:(t,n,e)=>G(\"img\",{key:e.k,alt:t.D||void 0,title:t.N||void 0,src:Bt(t.R)})},link:{t:Et(kt),i:Gt.LOW,l:(t,n,e)=>({$:jt(n,t[1],e),R:Rt(t[2]),N:t[3]}),h:(t,n,e)=>G(\"a\",{key:e.k,href:Bt(t.R),title:t.N},n(t.$,e))},linkAngleBraceStyleDetector:{t:Et(O),i:Gt.MAX,l:t=>({$:[{$:t[1],type:\"text\"}],R:t[1],type:\"link\"})},linkBareUrlDetector:{t:(t,n)=>n.Z?null:Et(M)(t,n),i:Gt.MAX,l:t=>({$:[{$:t[1],type:\"text\"}],R:t[1],N:void 0,type:\"link\"})},linkMailtoDetector:{t:Et(I),i:Gt.MAX,l(t){let n=t[1],e=t[1];return _.test(e)||(e=\"mailto:\"+e),{$:[{$:n.replace(\"mailto:\",\"\"),type:\"text\"}],R:e,type:\"link\"}}},orderedList:ht(G,1),unorderedList:ht(G,2),newlineCoalescer:{t:Mt(g),i:Gt.LOW,l:Nt,h:()=>\"\\n\"},paragraph:{t:Ot,i:Gt.LOW,l:Dt,h:(t,n,e)=>G(\"p\",{key:e.k},n(t.$,e))},ref:{t:Et(T),i:Gt.MAX,l:t=>(nt[t[1]]={R:t[2],N:t[4]},{}),h:Zt},refImage:{t:Lt(j),i:Gt.MAX,l:t=>({D:t[1]||void 0,F:t[2]}),h:(t,n,e)=>G(\"img\",{key:e.k,alt:t.D,src:Bt(nt[t.F].R),title:nt[t.F].N})},refLink:{t:Et(C),i:Gt.MAX,l:(t,n,e)=>({$:n(t[1],e),P:n(t[0].replace(D,\"\\\\$1\"),e),F:t[2]}),h:(t,n,e)=>nt[t.F]?G(\"a\",{key:e.k,href:Bt(nt[t.F].R),title:nt[t.F].N},n(t.$,e)):G(\"span\",{key:e.k},n(t.P,e))},table:{t:Mt(R),i:Gt.HIGH,l:wt,h:(t,n,e)=>G(\"table\",{key:e.k},G(\"thead\",null,G(\"tr\",null,t.L.map(function(r,o){return G(\"th\",{key:o,style:At(t,o)},n(r,e))}))),G(\"tbody\",null,t.A.map(function(r,o){return G(\"tr\",{key:o},r.map(function(r,o){return G(\"td\",{key:o,style:At(t,o)},n(r,e))}))})))},tableSeparator:{t:function(t,n){return n.v?F.exec(t):null},i:Gt.HIGH,l:function(){return{type:\"tableSeparator\"}},h:()=>\" | \"},text:{t:It(K),i:Gt.MIN,l:t=>({$:t[0].replace(z,(t,n)=>u.namedCodesToUnicode[n]?u.namedCodesToUnicode[n]:t)}),h:t=>t.$},textBolded:{t:Lt(V),i:Gt.MED,l:(t,n,e)=>({$:n(t[2],e)}),h:(t,n,e)=>G(\"strong\",{key:e.k},n(t.$,e))},textEmphasized:{t:Lt(W),i:Gt.LOW,l:(t,n,e)=>({$:n(t[2],e)}),h:(t,n,e)=>G(\"em\",{key:e.k},n(t.$,e))},textEscaped:{t:Lt(J),i:Gt.HIGH,l:t=>({$:t[1],type:\"text\"})},textMarked:{t:Lt(Q),i:Gt.LOW,l:Dt,h:(t,n,e)=>G(\"mark\",{key:e.k},n(t.$,e))},textStrikethroughed:{t:Lt(X),i:Gt.LOW,l:Dt,h:(t,n,e)=>G(\"del\",{key:e.k},n(t.$,e))}};!0!==u.disableParsingRawHTML&&(et.htmlBlock={t:It(S),i:Gt.HIGH,l(t,n,e){const[,r]=t[3].match(tt),o=new RegExp(`^${r}`,\"gm\"),a=t[3].replace(o,\"\"),_=(u=a,vt.some(t=>t.test(u))?Ct:Tt);var u;const i=t[1].toLowerCase(),l=-1!==c.indexOf(i);e.Z=e.Z||\"a\"===i;const s=l?t[3]:_(n,a,e);return e.Z=!1,{I:q(t[2]),$:s,G:l,H:l?i:t[1]}},h:(t,e,r)=>G(t.H,n({key:r.k},t.I),t.G?t.$:e(t.$,r))},et.htmlSelfClosing={t:It(E),i:Gt.HIGH,l:t=>({I:q(t[2]||\"\"),H:t[1]}),h:(t,e,r)=>G(t.H,n({},t.I,{key:r.k}))});const rt=function(t){let n=Object.keys(t);function e(r,o){let c=[],a=\"\";for(;r;){let _=0;for(;_{let{children:r,options:o}=n,c=function(t,n){if(null==t)return{};var e,r,o={},c=Object.keys(t);for(r=0;r=0||(o[e]=t[e]);return o}(n,e);return t.cloneElement(Ht(r,o),c)};export{Ht as compiler};\n//# sourceMappingURL=index.modern.js.map\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var baseUniq = require('./_baseUniq');\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n}\n\nmodule.exports = uniq;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\n\n// src/dom-event.ts\nvar eventProperties = [\n \"bubbles\",\n \"cancelBubble\",\n \"cancelable\",\n \"composed\",\n \"currentTarget\",\n \"defaultPrevented\",\n \"eventPhase\",\n \"isTrusted\",\n \"returnValue\",\n \"srcElement\",\n \"target\",\n \"timeStamp\",\n \"type\"\n];\nvar customEventSpecificProperties = [\"detail\"];\nfunction extractEventHiddenProperties(event) {\n const rebuildEvent = eventProperties.filter((value) => event[value] !== void 0).reduce((acc, value) => {\n return { ...acc, [value]: event[value] };\n }, {});\n if (event instanceof CustomEvent) {\n customEventSpecificProperties.filter((value) => event[value] !== void 0).forEach((value) => {\n rebuildEvent[value] = event[value];\n });\n }\n return rebuildEvent;\n}\n\nexport {\n __commonJS,\n __toESM,\n extractEventHiddenProperties\n};\n","import {\n __commonJS,\n __toESM,\n extractEventHiddenProperties\n} from \"./chunk-465TF3XA.mjs\";\n\n// node_modules/has-symbols/shams.js\nvar require_shams = __commonJS({\n \"node_modules/has-symbols/shams.js\"(exports, module) {\n \"use strict\";\n module.exports = function hasSymbols() {\n if (typeof Symbol !== \"function\" || typeof Object.getOwnPropertySymbols !== \"function\") {\n return false;\n }\n if (typeof Symbol.iterator === \"symbol\") {\n return true;\n }\n var obj = {};\n var sym = Symbol(\"test\");\n var symObj = Object(sym);\n if (typeof sym === \"string\") {\n return false;\n }\n if (Object.prototype.toString.call(sym) !== \"[object Symbol]\") {\n return false;\n }\n if (Object.prototype.toString.call(symObj) !== \"[object Symbol]\") {\n return false;\n }\n var symVal = 42;\n obj[sym] = symVal;\n for (sym in obj) {\n return false;\n }\n if (typeof Object.keys === \"function\" && Object.keys(obj).length !== 0) {\n return false;\n }\n if (typeof Object.getOwnPropertyNames === \"function\" && Object.getOwnPropertyNames(obj).length !== 0) {\n return false;\n }\n var syms = Object.getOwnPropertySymbols(obj);\n if (syms.length !== 1 || syms[0] !== sym) {\n return false;\n }\n if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {\n return false;\n }\n if (typeof Object.getOwnPropertyDescriptor === \"function\") {\n var descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n if (descriptor.value !== symVal || descriptor.enumerable !== true) {\n return false;\n }\n }\n return true;\n };\n }\n});\n\n// node_modules/has-symbols/index.js\nvar require_has_symbols = __commonJS({\n \"node_modules/has-symbols/index.js\"(exports, module) {\n \"use strict\";\n var origSymbol = typeof Symbol !== \"undefined\" && Symbol;\n var hasSymbolSham = require_shams();\n module.exports = function hasNativeSymbols() {\n if (typeof origSymbol !== \"function\") {\n return false;\n }\n if (typeof Symbol !== \"function\") {\n return false;\n }\n if (typeof origSymbol(\"foo\") !== \"symbol\") {\n return false;\n }\n if (typeof Symbol(\"bar\") !== \"symbol\") {\n return false;\n }\n return hasSymbolSham();\n };\n }\n});\n\n// node_modules/function-bind/implementation.js\nvar require_implementation = __commonJS({\n \"node_modules/function-bind/implementation.js\"(exports, module) {\n \"use strict\";\n var ERROR_MESSAGE = \"Function.prototype.bind called on incompatible \";\n var slice = Array.prototype.slice;\n var toStr = Object.prototype.toString;\n var funcType = \"[object Function]\";\n module.exports = function bind(that) {\n var target = this;\n if (typeof target !== \"function\" || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args2 = slice.call(arguments, 1);\n var bound;\n var binder = function() {\n if (this instanceof bound) {\n var result2 = target.apply(\n this,\n args2.concat(slice.call(arguments))\n );\n if (Object(result2) === result2) {\n return result2;\n }\n return this;\n } else {\n return target.apply(\n that,\n args2.concat(slice.call(arguments))\n );\n }\n };\n var boundLength = Math.max(0, target.length - args2.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push(\"$\" + i);\n }\n bound = Function(\"binder\", \"return function (\" + boundArgs.join(\",\") + \"){ return binder.apply(this,arguments); }\")(binder);\n if (target.prototype) {\n var Empty = function Empty2() {\n };\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n return bound;\n };\n }\n});\n\n// node_modules/function-bind/index.js\nvar require_function_bind = __commonJS({\n \"node_modules/function-bind/index.js\"(exports, module) {\n \"use strict\";\n var implementation = require_implementation();\n module.exports = Function.prototype.bind || implementation;\n }\n});\n\n// node_modules/has/src/index.js\nvar require_src = __commonJS({\n \"node_modules/has/src/index.js\"(exports, module) {\n \"use strict\";\n var bind = require_function_bind();\n module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n }\n});\n\n// node_modules/get-intrinsic/index.js\nvar require_get_intrinsic = __commonJS({\n \"node_modules/get-intrinsic/index.js\"(exports, module) {\n \"use strict\";\n var undefined2;\n var $SyntaxError = SyntaxError;\n var $Function = Function;\n var $TypeError = TypeError;\n var getEvalledConstructor = function(expressionSyntax) {\n try {\n return $Function('\"use strict\"; return (' + expressionSyntax + \").constructor;\")();\n } catch (e) {\n }\n };\n var $gOPD = Object.getOwnPropertyDescriptor;\n if ($gOPD) {\n try {\n $gOPD({}, \"\");\n } catch (e) {\n $gOPD = null;\n }\n }\n var throwTypeError = function() {\n throw new $TypeError();\n };\n var ThrowTypeError = $gOPD ? function() {\n try {\n arguments.callee;\n return throwTypeError;\n } catch (calleeThrows) {\n try {\n return $gOPD(arguments, \"callee\").get;\n } catch (gOPDthrows) {\n return throwTypeError;\n }\n }\n }() : throwTypeError;\n var hasSymbols = require_has_symbols()();\n var getProto = Object.getPrototypeOf || function(x) {\n return x.__proto__;\n };\n var needsEval = {};\n var TypedArray = typeof Uint8Array === \"undefined\" ? undefined2 : getProto(Uint8Array);\n var INTRINSICS = {\n \"%AggregateError%\": typeof AggregateError === \"undefined\" ? undefined2 : AggregateError,\n \"%Array%\": Array,\n \"%ArrayBuffer%\": typeof ArrayBuffer === \"undefined\" ? undefined2 : ArrayBuffer,\n \"%ArrayIteratorPrototype%\": hasSymbols ? getProto([][Symbol.iterator]()) : undefined2,\n \"%AsyncFromSyncIteratorPrototype%\": undefined2,\n \"%AsyncFunction%\": needsEval,\n \"%AsyncGenerator%\": needsEval,\n \"%AsyncGeneratorFunction%\": needsEval,\n \"%AsyncIteratorPrototype%\": needsEval,\n \"%Atomics%\": typeof Atomics === \"undefined\" ? undefined2 : Atomics,\n \"%BigInt%\": typeof BigInt === \"undefined\" ? undefined2 : BigInt,\n \"%Boolean%\": Boolean,\n \"%DataView%\": typeof DataView === \"undefined\" ? undefined2 : DataView,\n \"%Date%\": Date,\n \"%decodeURI%\": decodeURI,\n \"%decodeURIComponent%\": decodeURIComponent,\n \"%encodeURI%\": encodeURI,\n \"%encodeURIComponent%\": encodeURIComponent,\n \"%Error%\": Error,\n \"%eval%\": eval,\n \"%EvalError%\": EvalError,\n \"%Float32Array%\": typeof Float32Array === \"undefined\" ? undefined2 : Float32Array,\n \"%Float64Array%\": typeof Float64Array === \"undefined\" ? undefined2 : Float64Array,\n \"%FinalizationRegistry%\": typeof FinalizationRegistry === \"undefined\" ? undefined2 : FinalizationRegistry,\n \"%Function%\": $Function,\n \"%GeneratorFunction%\": needsEval,\n \"%Int8Array%\": typeof Int8Array === \"undefined\" ? undefined2 : Int8Array,\n \"%Int16Array%\": typeof Int16Array === \"undefined\" ? undefined2 : Int16Array,\n \"%Int32Array%\": typeof Int32Array === \"undefined\" ? undefined2 : Int32Array,\n \"%isFinite%\": isFinite,\n \"%isNaN%\": isNaN,\n \"%IteratorPrototype%\": hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined2,\n \"%JSON%\": typeof JSON === \"object\" ? JSON : undefined2,\n \"%Map%\": typeof Map === \"undefined\" ? undefined2 : Map,\n \"%MapIteratorPrototype%\": typeof Map === \"undefined\" || !hasSymbols ? undefined2 : getProto((/* @__PURE__ */ new Map())[Symbol.iterator]()),\n \"%Math%\": Math,\n \"%Number%\": Number,\n \"%Object%\": Object,\n \"%parseFloat%\": parseFloat,\n \"%parseInt%\": parseInt,\n \"%Promise%\": typeof Promise === \"undefined\" ? undefined2 : Promise,\n \"%Proxy%\": typeof Proxy === \"undefined\" ? undefined2 : Proxy,\n \"%RangeError%\": RangeError,\n \"%ReferenceError%\": ReferenceError,\n \"%Reflect%\": typeof Reflect === \"undefined\" ? undefined2 : Reflect,\n \"%RegExp%\": RegExp,\n \"%Set%\": typeof Set === \"undefined\" ? undefined2 : Set,\n \"%SetIteratorPrototype%\": typeof Set === \"undefined\" || !hasSymbols ? undefined2 : getProto((/* @__PURE__ */ new Set())[Symbol.iterator]()),\n \"%SharedArrayBuffer%\": typeof SharedArrayBuffer === \"undefined\" ? undefined2 : SharedArrayBuffer,\n \"%String%\": String,\n \"%StringIteratorPrototype%\": hasSymbols ? getProto(\"\"[Symbol.iterator]()) : undefined2,\n \"%Symbol%\": hasSymbols ? Symbol : undefined2,\n \"%SyntaxError%\": $SyntaxError,\n \"%ThrowTypeError%\": ThrowTypeError,\n \"%TypedArray%\": TypedArray,\n \"%TypeError%\": $TypeError,\n \"%Uint8Array%\": typeof Uint8Array === \"undefined\" ? undefined2 : Uint8Array,\n \"%Uint8ClampedArray%\": typeof Uint8ClampedArray === \"undefined\" ? undefined2 : Uint8ClampedArray,\n \"%Uint16Array%\": typeof Uint16Array === \"undefined\" ? undefined2 : Uint16Array,\n \"%Uint32Array%\": typeof Uint32Array === \"undefined\" ? undefined2 : Uint32Array,\n \"%URIError%\": URIError,\n \"%WeakMap%\": typeof WeakMap === \"undefined\" ? undefined2 : WeakMap,\n \"%WeakRef%\": typeof WeakRef === \"undefined\" ? undefined2 : WeakRef,\n \"%WeakSet%\": typeof WeakSet === \"undefined\" ? undefined2 : WeakSet\n };\n var doEval = function doEval2(name2) {\n var value2;\n if (name2 === \"%AsyncFunction%\") {\n value2 = getEvalledConstructor(\"async function () {}\");\n } else if (name2 === \"%GeneratorFunction%\") {\n value2 = getEvalledConstructor(\"function* () {}\");\n } else if (name2 === \"%AsyncGeneratorFunction%\") {\n value2 = getEvalledConstructor(\"async function* () {}\");\n } else if (name2 === \"%AsyncGenerator%\") {\n var fn = doEval2(\"%AsyncGeneratorFunction%\");\n if (fn) {\n value2 = fn.prototype;\n }\n } else if (name2 === \"%AsyncIteratorPrototype%\") {\n var gen = doEval2(\"%AsyncGenerator%\");\n if (gen) {\n value2 = getProto(gen.prototype);\n }\n }\n INTRINSICS[name2] = value2;\n return value2;\n };\n var LEGACY_ALIASES = {\n \"%ArrayBufferPrototype%\": [\"ArrayBuffer\", \"prototype\"],\n \"%ArrayPrototype%\": [\"Array\", \"prototype\"],\n \"%ArrayProto_entries%\": [\"Array\", \"prototype\", \"entries\"],\n \"%ArrayProto_forEach%\": [\"Array\", \"prototype\", \"forEach\"],\n \"%ArrayProto_keys%\": [\"Array\", \"prototype\", \"keys\"],\n \"%ArrayProto_values%\": [\"Array\", \"prototype\", \"values\"],\n \"%AsyncFunctionPrototype%\": [\"AsyncFunction\", \"prototype\"],\n \"%AsyncGenerator%\": [\"AsyncGeneratorFunction\", \"prototype\"],\n \"%AsyncGeneratorPrototype%\": [\"AsyncGeneratorFunction\", \"prototype\", \"prototype\"],\n \"%BooleanPrototype%\": [\"Boolean\", \"prototype\"],\n \"%DataViewPrototype%\": [\"DataView\", \"prototype\"],\n \"%DatePrototype%\": [\"Date\", \"prototype\"],\n \"%ErrorPrototype%\": [\"Error\", \"prototype\"],\n \"%EvalErrorPrototype%\": [\"EvalError\", \"prototype\"],\n \"%Float32ArrayPrototype%\": [\"Float32Array\", \"prototype\"],\n \"%Float64ArrayPrototype%\": [\"Float64Array\", \"prototype\"],\n \"%FunctionPrototype%\": [\"Function\", \"prototype\"],\n \"%Generator%\": [\"GeneratorFunction\", \"prototype\"],\n \"%GeneratorPrototype%\": [\"GeneratorFunction\", \"prototype\", \"prototype\"],\n \"%Int8ArrayPrototype%\": [\"Int8Array\", \"prototype\"],\n \"%Int16ArrayPrototype%\": [\"Int16Array\", \"prototype\"],\n \"%Int32ArrayPrototype%\": [\"Int32Array\", \"prototype\"],\n \"%JSONParse%\": [\"JSON\", \"parse\"],\n \"%JSONStringify%\": [\"JSON\", \"stringify\"],\n \"%MapPrototype%\": [\"Map\", \"prototype\"],\n \"%NumberPrototype%\": [\"Number\", \"prototype\"],\n \"%ObjectPrototype%\": [\"Object\", \"prototype\"],\n \"%ObjProto_toString%\": [\"Object\", \"prototype\", \"toString\"],\n \"%ObjProto_valueOf%\": [\"Object\", \"prototype\", \"valueOf\"],\n \"%PromisePrototype%\": [\"Promise\", \"prototype\"],\n \"%PromiseProto_then%\": [\"Promise\", \"prototype\", \"then\"],\n \"%Promise_all%\": [\"Promise\", \"all\"],\n \"%Promise_reject%\": [\"Promise\", \"reject\"],\n \"%Promise_resolve%\": [\"Promise\", \"resolve\"],\n \"%RangeErrorPrototype%\": [\"RangeError\", \"prototype\"],\n \"%ReferenceErrorPrototype%\": [\"ReferenceError\", \"prototype\"],\n \"%RegExpPrototype%\": [\"RegExp\", \"prototype\"],\n \"%SetPrototype%\": [\"Set\", \"prototype\"],\n \"%SharedArrayBufferPrototype%\": [\"SharedArrayBuffer\", \"prototype\"],\n \"%StringPrototype%\": [\"String\", \"prototype\"],\n \"%SymbolPrototype%\": [\"Symbol\", \"prototype\"],\n \"%SyntaxErrorPrototype%\": [\"SyntaxError\", \"prototype\"],\n \"%TypedArrayPrototype%\": [\"TypedArray\", \"prototype\"],\n \"%TypeErrorPrototype%\": [\"TypeError\", \"prototype\"],\n \"%Uint8ArrayPrototype%\": [\"Uint8Array\", \"prototype\"],\n \"%Uint8ClampedArrayPrototype%\": [\"Uint8ClampedArray\", \"prototype\"],\n \"%Uint16ArrayPrototype%\": [\"Uint16Array\", \"prototype\"],\n \"%Uint32ArrayPrototype%\": [\"Uint32Array\", \"prototype\"],\n \"%URIErrorPrototype%\": [\"URIError\", \"prototype\"],\n \"%WeakMapPrototype%\": [\"WeakMap\", \"prototype\"],\n \"%WeakSetPrototype%\": [\"WeakSet\", \"prototype\"]\n };\n var bind = require_function_bind();\n var hasOwn = require_src();\n var $concat = bind.call(Function.call, Array.prototype.concat);\n var $spliceApply = bind.call(Function.apply, Array.prototype.splice);\n var $replace = bind.call(Function.call, String.prototype.replace);\n var $strSlice = bind.call(Function.call, String.prototype.slice);\n var $exec = bind.call(Function.call, RegExp.prototype.exec);\n var rePropName2 = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\n var reEscapeChar2 = /\\\\(\\\\)?/g;\n var stringToPath2 = function stringToPath3(string) {\n var first = $strSlice(string, 0, 1);\n var last = $strSlice(string, -1);\n if (first === \"%\" && last !== \"%\") {\n throw new $SyntaxError(\"invalid intrinsic syntax, expected closing `%`\");\n } else if (last === \"%\" && first !== \"%\") {\n throw new $SyntaxError(\"invalid intrinsic syntax, expected opening `%`\");\n }\n var result2 = [];\n $replace(string, rePropName2, function(match, number, quote, subString) {\n result2[result2.length] = quote ? $replace(subString, reEscapeChar2, \"$1\") : number || match;\n });\n return result2;\n };\n var getBaseIntrinsic = function getBaseIntrinsic2(name2, allowMissing) {\n var intrinsicName = name2;\n var alias;\n if (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n alias = LEGACY_ALIASES[intrinsicName];\n intrinsicName = \"%\" + alias[0] + \"%\";\n }\n if (hasOwn(INTRINSICS, intrinsicName)) {\n var value2 = INTRINSICS[intrinsicName];\n if (value2 === needsEval) {\n value2 = doEval(intrinsicName);\n }\n if (typeof value2 === \"undefined\" && !allowMissing) {\n throw new $TypeError(\"intrinsic \" + name2 + \" exists, but is not available. Please file an issue!\");\n }\n return {\n alias,\n name: intrinsicName,\n value: value2\n };\n }\n throw new $SyntaxError(\"intrinsic \" + name2 + \" does not exist!\");\n };\n module.exports = function GetIntrinsic(name2, allowMissing) {\n if (typeof name2 !== \"string\" || name2.length === 0) {\n throw new $TypeError(\"intrinsic name must be a non-empty string\");\n }\n if (arguments.length > 1 && typeof allowMissing !== \"boolean\") {\n throw new $TypeError('\"allowMissing\" argument must be a boolean');\n }\n if ($exec(/^%?[^%]*%?$/, name2) === null) {\n throw new $SyntaxError(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");\n }\n var parts = stringToPath2(name2);\n var intrinsicBaseName = parts.length > 0 ? parts[0] : \"\";\n var intrinsic = getBaseIntrinsic(\"%\" + intrinsicBaseName + \"%\", allowMissing);\n var intrinsicRealName = intrinsic.name;\n var value2 = intrinsic.value;\n var skipFurtherCaching = false;\n var alias = intrinsic.alias;\n if (alias) {\n intrinsicBaseName = alias[0];\n $spliceApply(parts, $concat([0, 1], alias));\n }\n for (var i = 1, isOwn = true; i < parts.length; i += 1) {\n var part = parts[i];\n var first = $strSlice(part, 0, 1);\n var last = $strSlice(part, -1);\n if ((first === '\"' || first === \"'\" || first === \"`\" || (last === '\"' || last === \"'\" || last === \"`\")) && first !== last) {\n throw new $SyntaxError(\"property names with quotes must have matching quotes\");\n }\n if (part === \"constructor\" || !isOwn) {\n skipFurtherCaching = true;\n }\n intrinsicBaseName += \".\" + part;\n intrinsicRealName = \"%\" + intrinsicBaseName + \"%\";\n if (hasOwn(INTRINSICS, intrinsicRealName)) {\n value2 = INTRINSICS[intrinsicRealName];\n } else if (value2 != null) {\n if (!(part in value2)) {\n if (!allowMissing) {\n throw new $TypeError(\"base intrinsic for \" + name2 + \" exists, but the property is not available.\");\n }\n return void 0;\n }\n if ($gOPD && i + 1 >= parts.length) {\n var desc = $gOPD(value2, part);\n isOwn = !!desc;\n if (isOwn && \"get\" in desc && !(\"originalValue\" in desc.get)) {\n value2 = desc.get;\n } else {\n value2 = value2[part];\n }\n } else {\n isOwn = hasOwn(value2, part);\n value2 = value2[part];\n }\n if (isOwn && !skipFurtherCaching) {\n INTRINSICS[intrinsicRealName] = value2;\n }\n }\n }\n return value2;\n };\n }\n});\n\n// node_modules/call-bind/index.js\nvar require_call_bind = __commonJS({\n \"node_modules/call-bind/index.js\"(exports, module) {\n \"use strict\";\n var bind = require_function_bind();\n var GetIntrinsic = require_get_intrinsic();\n var $apply = GetIntrinsic(\"%Function.prototype.apply%\");\n var $call = GetIntrinsic(\"%Function.prototype.call%\");\n var $reflectApply = GetIntrinsic(\"%Reflect.apply%\", true) || bind.call($call, $apply);\n var $gOPD = GetIntrinsic(\"%Object.getOwnPropertyDescriptor%\", true);\n var $defineProperty = GetIntrinsic(\"%Object.defineProperty%\", true);\n var $max = GetIntrinsic(\"%Math.max%\");\n if ($defineProperty) {\n try {\n $defineProperty({}, \"a\", { value: 1 });\n } catch (e) {\n $defineProperty = null;\n }\n }\n module.exports = function callBind(originalFunction) {\n var func = $reflectApply(bind, $call, arguments);\n if ($gOPD && $defineProperty) {\n var desc = $gOPD(func, \"length\");\n if (desc.configurable) {\n $defineProperty(\n func,\n \"length\",\n { value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n );\n }\n }\n return func;\n };\n var applyBind = function applyBind2() {\n return $reflectApply(bind, $apply, arguments);\n };\n if ($defineProperty) {\n $defineProperty(module.exports, \"apply\", { value: applyBind });\n } else {\n module.exports.apply = applyBind;\n }\n }\n});\n\n// node_modules/call-bind/callBound.js\nvar require_callBound = __commonJS({\n \"node_modules/call-bind/callBound.js\"(exports, module) {\n \"use strict\";\n var GetIntrinsic = require_get_intrinsic();\n var callBind = require_call_bind();\n var $indexOf = callBind(GetIntrinsic(\"String.prototype.indexOf\"));\n module.exports = function callBoundIntrinsic(name2, allowMissing) {\n var intrinsic = GetIntrinsic(name2, !!allowMissing);\n if (typeof intrinsic === \"function\" && $indexOf(name2, \".prototype.\") > -1) {\n return callBind(intrinsic);\n }\n return intrinsic;\n };\n }\n});\n\n// node_modules/has-tostringtag/shams.js\nvar require_shams2 = __commonJS({\n \"node_modules/has-tostringtag/shams.js\"(exports, module) {\n \"use strict\";\n var hasSymbols = require_shams();\n module.exports = function hasToStringTagShams() {\n return hasSymbols() && !!Symbol.toStringTag;\n };\n }\n});\n\n// node_modules/is-regex/index.js\nvar require_is_regex = __commonJS({\n \"node_modules/is-regex/index.js\"(exports, module) {\n \"use strict\";\n var callBound = require_callBound();\n var hasToStringTag = require_shams2()();\n var has;\n var $exec;\n var isRegexMarker;\n var badStringifier;\n if (hasToStringTag) {\n has = callBound(\"Object.prototype.hasOwnProperty\");\n $exec = callBound(\"RegExp.prototype.exec\");\n isRegexMarker = {};\n throwRegexMarker = function() {\n throw isRegexMarker;\n };\n badStringifier = {\n toString: throwRegexMarker,\n valueOf: throwRegexMarker\n };\n if (typeof Symbol.toPrimitive === \"symbol\") {\n badStringifier[Symbol.toPrimitive] = throwRegexMarker;\n }\n }\n var throwRegexMarker;\n var $toString = callBound(\"Object.prototype.toString\");\n var gOPD = Object.getOwnPropertyDescriptor;\n var regexClass = \"[object RegExp]\";\n module.exports = hasToStringTag ? function isRegex(value2) {\n if (!value2 || typeof value2 !== \"object\") {\n return false;\n }\n var descriptor = gOPD(value2, \"lastIndex\");\n var hasLastIndexDataProperty = descriptor && has(descriptor, \"value\");\n if (!hasLastIndexDataProperty) {\n return false;\n }\n try {\n $exec(value2, badStringifier);\n } catch (e) {\n return e === isRegexMarker;\n }\n } : function isRegex(value2) {\n if (!value2 || typeof value2 !== \"object\" && typeof value2 !== \"function\") {\n return false;\n }\n return $toString(value2) === regexClass;\n };\n }\n});\n\n// node_modules/is-function/index.js\nvar require_is_function = __commonJS({\n \"node_modules/is-function/index.js\"(exports, module) {\n module.exports = isFunction3;\n var toString2 = Object.prototype.toString;\n function isFunction3(fn) {\n if (!fn) {\n return false;\n }\n var string = toString2.call(fn);\n return string === \"[object Function]\" || typeof fn === \"function\" && string !== \"[object RegExp]\" || typeof window !== \"undefined\" && (fn === window.setTimeout || fn === window.alert || fn === window.confirm || fn === window.prompt);\n }\n }\n});\n\n// node_modules/is-symbol/index.js\nvar require_is_symbol = __commonJS({\n \"node_modules/is-symbol/index.js\"(exports, module) {\n \"use strict\";\n var toStr = Object.prototype.toString;\n var hasSymbols = require_has_symbols()();\n if (hasSymbols) {\n symToStr = Symbol.prototype.toString;\n symStringRegex = /^Symbol\\(.*\\)$/;\n isSymbolObject = function isRealSymbolObject(value2) {\n if (typeof value2.valueOf() !== \"symbol\") {\n return false;\n }\n return symStringRegex.test(symToStr.call(value2));\n };\n module.exports = function isSymbol3(value2) {\n if (typeof value2 === \"symbol\") {\n return true;\n }\n if (toStr.call(value2) !== \"[object Symbol]\") {\n return false;\n }\n try {\n return isSymbolObject(value2);\n } catch (e) {\n return false;\n }\n };\n } else {\n module.exports = function isSymbol3(value2) {\n return false;\n };\n }\n var symToStr;\n var symStringRegex;\n var isSymbolObject;\n }\n});\n\n// src/index.ts\nvar import_is_regex = __toESM(require_is_regex());\nvar import_is_function = __toESM(require_is_function());\nvar import_is_symbol = __toESM(require_is_symbol());\n\n// node_modules/isobject/index.js\nfunction isObject(val) {\n return val != null && typeof val === \"object\" && Array.isArray(val) === false;\n}\n\n// node_modules/lodash-es/_freeGlobal.js\nvar freeGlobal = typeof global == \"object\" && global && global.Object === Object && global;\nvar freeGlobal_default = freeGlobal;\n\n// node_modules/lodash-es/_root.js\nvar freeSelf = typeof self == \"object\" && self && self.Object === Object && self;\nvar root2 = freeGlobal_default || freeSelf || Function(\"return this\")();\nvar root_default = root2;\n\n// node_modules/lodash-es/_Symbol.js\nvar Symbol2 = root_default.Symbol;\nvar Symbol_default = Symbol2;\n\n// node_modules/lodash-es/_getRawTag.js\nvar objectProto = Object.prototype;\nvar hasOwnProperty = objectProto.hasOwnProperty;\nvar nativeObjectToString = objectProto.toString;\nvar symToStringTag = Symbol_default ? Symbol_default.toStringTag : void 0;\nfunction getRawTag(value2) {\n var isOwn = hasOwnProperty.call(value2, symToStringTag), tag = value2[symToStringTag];\n try {\n value2[symToStringTag] = void 0;\n var unmasked = true;\n } catch (e) {\n }\n var result2 = nativeObjectToString.call(value2);\n if (unmasked) {\n if (isOwn) {\n value2[symToStringTag] = tag;\n } else {\n delete value2[symToStringTag];\n }\n }\n return result2;\n}\nvar getRawTag_default = getRawTag;\n\n// node_modules/lodash-es/_objectToString.js\nvar objectProto2 = Object.prototype;\nvar nativeObjectToString2 = objectProto2.toString;\nfunction objectToString(value2) {\n return nativeObjectToString2.call(value2);\n}\nvar objectToString_default = objectToString;\n\n// node_modules/lodash-es/_baseGetTag.js\nvar nullTag = \"[object Null]\";\nvar undefinedTag = \"[object Undefined]\";\nvar symToStringTag2 = Symbol_default ? Symbol_default.toStringTag : void 0;\nfunction baseGetTag(value2) {\n if (value2 == null) {\n return value2 === void 0 ? undefinedTag : nullTag;\n }\n return symToStringTag2 && symToStringTag2 in Object(value2) ? getRawTag_default(value2) : objectToString_default(value2);\n}\nvar baseGetTag_default = baseGetTag;\n\n// node_modules/lodash-es/isObjectLike.js\nfunction isObjectLike(value2) {\n return value2 != null && typeof value2 == \"object\";\n}\nvar isObjectLike_default = isObjectLike;\n\n// node_modules/lodash-es/isSymbol.js\nvar symbolTag = \"[object Symbol]\";\nfunction isSymbol(value2) {\n return typeof value2 == \"symbol\" || isObjectLike_default(value2) && baseGetTag_default(value2) == symbolTag;\n}\nvar isSymbol_default = isSymbol;\n\n// node_modules/lodash-es/_arrayMap.js\nfunction arrayMap(array, iteratee) {\n var index = -1, length = array == null ? 0 : array.length, result2 = Array(length);\n while (++index < length) {\n result2[index] = iteratee(array[index], index, array);\n }\n return result2;\n}\nvar arrayMap_default = arrayMap;\n\n// node_modules/lodash-es/isArray.js\nvar isArray = Array.isArray;\nvar isArray_default = isArray;\n\n// node_modules/lodash-es/_baseToString.js\nvar INFINITY = 1 / 0;\nvar symbolProto = Symbol_default ? Symbol_default.prototype : void 0;\nvar symbolToString = symbolProto ? symbolProto.toString : void 0;\nfunction baseToString(value2) {\n if (typeof value2 == \"string\") {\n return value2;\n }\n if (isArray_default(value2)) {\n return arrayMap_default(value2, baseToString) + \"\";\n }\n if (isSymbol_default(value2)) {\n return symbolToString ? symbolToString.call(value2) : \"\";\n }\n var result2 = value2 + \"\";\n return result2 == \"0\" && 1 / value2 == -INFINITY ? \"-0\" : result2;\n}\nvar baseToString_default = baseToString;\n\n// node_modules/lodash-es/isObject.js\nfunction isObject2(value2) {\n var type = typeof value2;\n return value2 != null && (type == \"object\" || type == \"function\");\n}\nvar isObject_default = isObject2;\n\n// node_modules/lodash-es/isFunction.js\nvar asyncTag = \"[object AsyncFunction]\";\nvar funcTag = \"[object Function]\";\nvar genTag = \"[object GeneratorFunction]\";\nvar proxyTag = \"[object Proxy]\";\nfunction isFunction(value2) {\n if (!isObject_default(value2)) {\n return false;\n }\n var tag = baseGetTag_default(value2);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\nvar isFunction_default = isFunction;\n\n// node_modules/lodash-es/_coreJsData.js\nvar coreJsData = root_default[\"__core-js_shared__\"];\nvar coreJsData_default = coreJsData;\n\n// node_modules/lodash-es/_isMasked.js\nvar maskSrcKey = function() {\n var uid = /[^.]+$/.exec(coreJsData_default && coreJsData_default.keys && coreJsData_default.keys.IE_PROTO || \"\");\n return uid ? \"Symbol(src)_1.\" + uid : \"\";\n}();\nfunction isMasked(func) {\n return !!maskSrcKey && maskSrcKey in func;\n}\nvar isMasked_default = isMasked;\n\n// node_modules/lodash-es/_toSource.js\nvar funcProto = Function.prototype;\nvar funcToString = funcProto.toString;\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {\n }\n try {\n return func + \"\";\n } catch (e) {\n }\n }\n return \"\";\n}\nvar toSource_default = toSource;\n\n// node_modules/lodash-es/_baseIsNative.js\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\nvar funcProto2 = Function.prototype;\nvar objectProto3 = Object.prototype;\nvar funcToString2 = funcProto2.toString;\nvar hasOwnProperty2 = objectProto3.hasOwnProperty;\nvar reIsNative = RegExp(\n \"^\" + funcToString2.call(hasOwnProperty2).replace(reRegExpChar, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\"\n);\nfunction baseIsNative(value2) {\n if (!isObject_default(value2) || isMasked_default(value2)) {\n return false;\n }\n var pattern = isFunction_default(value2) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource_default(value2));\n}\nvar baseIsNative_default = baseIsNative;\n\n// node_modules/lodash-es/_getValue.js\nfunction getValue(object, key2) {\n return object == null ? void 0 : object[key2];\n}\nvar getValue_default = getValue;\n\n// node_modules/lodash-es/_getNative.js\nfunction getNative(object, key2) {\n var value2 = getValue_default(object, key2);\n return baseIsNative_default(value2) ? value2 : void 0;\n}\nvar getNative_default = getNative;\n\n// node_modules/lodash-es/eq.js\nfunction eq(value2, other) {\n return value2 === other || value2 !== value2 && other !== other;\n}\nvar eq_default = eq;\n\n// node_modules/lodash-es/_isKey.js\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/;\nvar reIsPlainProp = /^\\w*$/;\nfunction isKey(value2, object) {\n if (isArray_default(value2)) {\n return false;\n }\n var type = typeof value2;\n if (type == \"number\" || type == \"symbol\" || type == \"boolean\" || value2 == null || isSymbol_default(value2)) {\n return true;\n }\n return reIsPlainProp.test(value2) || !reIsDeepProp.test(value2) || object != null && value2 in Object(object);\n}\nvar isKey_default = isKey;\n\n// node_modules/lodash-es/_nativeCreate.js\nvar nativeCreate = getNative_default(Object, \"create\");\nvar nativeCreate_default = nativeCreate;\n\n// node_modules/lodash-es/_hashClear.js\nfunction hashClear() {\n this.__data__ = nativeCreate_default ? nativeCreate_default(null) : {};\n this.size = 0;\n}\nvar hashClear_default = hashClear;\n\n// node_modules/lodash-es/_hashDelete.js\nfunction hashDelete(key2) {\n var result2 = this.has(key2) && delete this.__data__[key2];\n this.size -= result2 ? 1 : 0;\n return result2;\n}\nvar hashDelete_default = hashDelete;\n\n// node_modules/lodash-es/_hashGet.js\nvar HASH_UNDEFINED = \"__lodash_hash_undefined__\";\nvar objectProto4 = Object.prototype;\nvar hasOwnProperty3 = objectProto4.hasOwnProperty;\nfunction hashGet(key2) {\n var data = this.__data__;\n if (nativeCreate_default) {\n var result2 = data[key2];\n return result2 === HASH_UNDEFINED ? void 0 : result2;\n }\n return hasOwnProperty3.call(data, key2) ? data[key2] : void 0;\n}\nvar hashGet_default = hashGet;\n\n// node_modules/lodash-es/_hashHas.js\nvar objectProto5 = Object.prototype;\nvar hasOwnProperty4 = objectProto5.hasOwnProperty;\nfunction hashHas(key2) {\n var data = this.__data__;\n return nativeCreate_default ? data[key2] !== void 0 : hasOwnProperty4.call(data, key2);\n}\nvar hashHas_default = hashHas;\n\n// node_modules/lodash-es/_hashSet.js\nvar HASH_UNDEFINED2 = \"__lodash_hash_undefined__\";\nfunction hashSet(key2, value2) {\n var data = this.__data__;\n this.size += this.has(key2) ? 0 : 1;\n data[key2] = nativeCreate_default && value2 === void 0 ? HASH_UNDEFINED2 : value2;\n return this;\n}\nvar hashSet_default = hashSet;\n\n// node_modules/lodash-es/_Hash.js\nfunction Hash(entries) {\n var index = -1, length = entries == null ? 0 : entries.length;\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\nHash.prototype.clear = hashClear_default;\nHash.prototype[\"delete\"] = hashDelete_default;\nHash.prototype.get = hashGet_default;\nHash.prototype.has = hashHas_default;\nHash.prototype.set = hashSet_default;\nvar Hash_default = Hash;\n\n// node_modules/lodash-es/_listCacheClear.js\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\nvar listCacheClear_default = listCacheClear;\n\n// node_modules/lodash-es/_assocIndexOf.js\nfunction assocIndexOf(array, key2) {\n var length = array.length;\n while (length--) {\n if (eq_default(array[length][0], key2)) {\n return length;\n }\n }\n return -1;\n}\nvar assocIndexOf_default = assocIndexOf;\n\n// node_modules/lodash-es/_listCacheDelete.js\nvar arrayProto = Array.prototype;\nvar splice = arrayProto.splice;\nfunction listCacheDelete(key2) {\n var data = this.__data__, index = assocIndexOf_default(data, key2);\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\nvar listCacheDelete_default = listCacheDelete;\n\n// node_modules/lodash-es/_listCacheGet.js\nfunction listCacheGet(key2) {\n var data = this.__data__, index = assocIndexOf_default(data, key2);\n return index < 0 ? void 0 : data[index][1];\n}\nvar listCacheGet_default = listCacheGet;\n\n// node_modules/lodash-es/_listCacheHas.js\nfunction listCacheHas(key2) {\n return assocIndexOf_default(this.__data__, key2) > -1;\n}\nvar listCacheHas_default = listCacheHas;\n\n// node_modules/lodash-es/_listCacheSet.js\nfunction listCacheSet(key2, value2) {\n var data = this.__data__, index = assocIndexOf_default(data, key2);\n if (index < 0) {\n ++this.size;\n data.push([key2, value2]);\n } else {\n data[index][1] = value2;\n }\n return this;\n}\nvar listCacheSet_default = listCacheSet;\n\n// node_modules/lodash-es/_ListCache.js\nfunction ListCache(entries) {\n var index = -1, length = entries == null ? 0 : entries.length;\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\nListCache.prototype.clear = listCacheClear_default;\nListCache.prototype[\"delete\"] = listCacheDelete_default;\nListCache.prototype.get = listCacheGet_default;\nListCache.prototype.has = listCacheHas_default;\nListCache.prototype.set = listCacheSet_default;\nvar ListCache_default = ListCache;\n\n// node_modules/lodash-es/_Map.js\nvar Map2 = getNative_default(root_default, \"Map\");\nvar Map_default = Map2;\n\n// node_modules/lodash-es/_mapCacheClear.js\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n \"hash\": new Hash_default(),\n \"map\": new (Map_default || ListCache_default)(),\n \"string\": new Hash_default()\n };\n}\nvar mapCacheClear_default = mapCacheClear;\n\n// node_modules/lodash-es/_isKeyable.js\nfunction isKeyable(value2) {\n var type = typeof value2;\n return type == \"string\" || type == \"number\" || type == \"symbol\" || type == \"boolean\" ? value2 !== \"__proto__\" : value2 === null;\n}\nvar isKeyable_default = isKeyable;\n\n// node_modules/lodash-es/_getMapData.js\nfunction getMapData(map, key2) {\n var data = map.__data__;\n return isKeyable_default(key2) ? data[typeof key2 == \"string\" ? \"string\" : \"hash\"] : data.map;\n}\nvar getMapData_default = getMapData;\n\n// node_modules/lodash-es/_mapCacheDelete.js\nfunction mapCacheDelete(key2) {\n var result2 = getMapData_default(this, key2)[\"delete\"](key2);\n this.size -= result2 ? 1 : 0;\n return result2;\n}\nvar mapCacheDelete_default = mapCacheDelete;\n\n// node_modules/lodash-es/_mapCacheGet.js\nfunction mapCacheGet(key2) {\n return getMapData_default(this, key2).get(key2);\n}\nvar mapCacheGet_default = mapCacheGet;\n\n// node_modules/lodash-es/_mapCacheHas.js\nfunction mapCacheHas(key2) {\n return getMapData_default(this, key2).has(key2);\n}\nvar mapCacheHas_default = mapCacheHas;\n\n// node_modules/lodash-es/_mapCacheSet.js\nfunction mapCacheSet(key2, value2) {\n var data = getMapData_default(this, key2), size = data.size;\n data.set(key2, value2);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\nvar mapCacheSet_default = mapCacheSet;\n\n// node_modules/lodash-es/_MapCache.js\nfunction MapCache(entries) {\n var index = -1, length = entries == null ? 0 : entries.length;\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\nMapCache.prototype.clear = mapCacheClear_default;\nMapCache.prototype[\"delete\"] = mapCacheDelete_default;\nMapCache.prototype.get = mapCacheGet_default;\nMapCache.prototype.has = mapCacheHas_default;\nMapCache.prototype.set = mapCacheSet_default;\nvar MapCache_default = MapCache;\n\n// node_modules/lodash-es/memoize.js\nvar FUNC_ERROR_TEXT = \"Expected a function\";\nfunction memoize(func, resolver) {\n if (typeof func != \"function\" || resolver != null && typeof resolver != \"function\") {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args2 = arguments, key2 = resolver ? resolver.apply(this, args2) : args2[0], cache = memoized.cache;\n if (cache.has(key2)) {\n return cache.get(key2);\n }\n var result2 = func.apply(this, args2);\n memoized.cache = cache.set(key2, result2) || cache;\n return result2;\n };\n memoized.cache = new (memoize.Cache || MapCache_default)();\n return memoized;\n}\nmemoize.Cache = MapCache_default;\nvar memoize_default = memoize;\n\n// node_modules/lodash-es/_memoizeCapped.js\nvar MAX_MEMOIZE_SIZE = 500;\nfunction memoizeCapped(func) {\n var result2 = memoize_default(func, function(key2) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key2;\n });\n var cache = result2.cache;\n return result2;\n}\nvar memoizeCapped_default = memoizeCapped;\n\n// node_modules/lodash-es/_stringToPath.js\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g;\nvar stringToPath = memoizeCapped_default(function(string) {\n var result2 = [];\n if (string.charCodeAt(0) === 46) {\n result2.push(\"\");\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result2.push(quote ? subString.replace(reEscapeChar, \"$1\") : number || match);\n });\n return result2;\n});\nvar stringToPath_default = stringToPath;\n\n// node_modules/lodash-es/toString.js\nfunction toString(value2) {\n return value2 == null ? \"\" : baseToString_default(value2);\n}\nvar toString_default = toString;\n\n// node_modules/lodash-es/_castPath.js\nfunction castPath(value2, object) {\n if (isArray_default(value2)) {\n return value2;\n }\n return isKey_default(value2, object) ? [value2] : stringToPath_default(toString_default(value2));\n}\nvar castPath_default = castPath;\n\n// node_modules/lodash-es/_toKey.js\nvar INFINITY2 = 1 / 0;\nfunction toKey(value2) {\n if (typeof value2 == \"string\" || isSymbol_default(value2)) {\n return value2;\n }\n var result2 = value2 + \"\";\n return result2 == \"0\" && 1 / value2 == -INFINITY2 ? \"-0\" : result2;\n}\nvar toKey_default = toKey;\n\n// node_modules/lodash-es/_baseGet.js\nfunction baseGet(object, path) {\n path = castPath_default(path, object);\n var index = 0, length = path.length;\n while (object != null && index < length) {\n object = object[toKey_default(path[index++])];\n }\n return index && index == length ? object : void 0;\n}\nvar baseGet_default = baseGet;\n\n// node_modules/lodash-es/get.js\nfunction get(object, path, defaultValue) {\n var result2 = object == null ? void 0 : baseGet_default(object, path);\n return result2 === void 0 ? defaultValue : result2;\n}\nvar get_default = get;\n\n// src/index.ts\nimport memoize2 from \"memoizerific\";\nvar isObject3 = isObject;\nvar removeCodeComments = (code) => {\n let inQuoteChar = null;\n let inBlockComment = false;\n let inLineComment = false;\n let inRegexLiteral = false;\n let newCode = \"\";\n if (code.indexOf(\"//\") >= 0 || code.indexOf(\"/*\") >= 0) {\n for (let i = 0; i < code.length; i += 1) {\n if (!inQuoteChar && !inBlockComment && !inLineComment && !inRegexLiteral) {\n if (code[i] === '\"' || code[i] === \"'\" || code[i] === \"`\") {\n inQuoteChar = code[i];\n } else if (code[i] === \"/\" && code[i + 1] === \"*\") {\n inBlockComment = true;\n } else if (code[i] === \"/\" && code[i + 1] === \"/\") {\n inLineComment = true;\n } else if (code[i] === \"/\" && code[i + 1] !== \"/\") {\n inRegexLiteral = true;\n }\n } else {\n if (inQuoteChar && (code[i] === inQuoteChar && code[i - 1] !== \"\\\\\" || code[i] === \"\\n\" && inQuoteChar !== \"`\")) {\n inQuoteChar = null;\n }\n if (inRegexLiteral && (code[i] === \"/\" && code[i - 1] !== \"\\\\\" || code[i] === \"\\n\")) {\n inRegexLiteral = false;\n }\n if (inBlockComment && code[i - 1] === \"/\" && code[i - 2] === \"*\") {\n inBlockComment = false;\n }\n if (inLineComment && code[i] === \"\\n\") {\n inLineComment = false;\n }\n }\n if (!inBlockComment && !inLineComment) {\n newCode += code[i];\n }\n }\n } else {\n newCode = code;\n }\n return newCode;\n};\nvar cleanCode = memoize2(1e4)(\n (code) => removeCodeComments(code).replace(/\\n\\s*/g, \"\").trim()\n);\nvar convertShorthandMethods = function convertShorthandMethods2(key2, stringified) {\n const fnHead = stringified.slice(0, stringified.indexOf(\"{\"));\n const fnBody = stringified.slice(stringified.indexOf(\"{\"));\n if (fnHead.includes(\"=>\")) {\n return stringified;\n }\n if (fnHead.includes(\"function\")) {\n return stringified;\n }\n let modifiedHead = fnHead;\n modifiedHead = modifiedHead.replace(key2, \"function\");\n return modifiedHead + fnBody;\n};\nvar dateFormat = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$/;\nvar isJSON = (input) => input.match(/^[\\[\\{\\\"\\}].*[\\]\\}\\\"]$/);\nfunction convertUnconventionalData(data) {\n if (!isObject3(data)) {\n return data;\n }\n let result2 = data;\n let wasMutated = false;\n if (typeof Event !== \"undefined\" && data instanceof Event) {\n result2 = extractEventHiddenProperties(result2);\n wasMutated = true;\n }\n result2 = Object.keys(result2).reduce((acc, key2) => {\n try {\n if (result2[key2]) {\n result2[key2].toJSON;\n }\n acc[key2] = result2[key2];\n } catch (err) {\n wasMutated = true;\n }\n return acc;\n }, {});\n return wasMutated ? result2 : data;\n}\nvar replacer = function replacer2(options2) {\n let objects;\n let map;\n let stack;\n let keys;\n return function replace(key2, value2) {\n try {\n if (key2 === \"\") {\n keys = [];\n objects = /* @__PURE__ */ new Map([[value2, \"[]\"]]);\n map = /* @__PURE__ */ new Map();\n stack = [];\n return value2;\n }\n const origin = map.get(this) || this;\n while (stack.length && origin !== stack[0]) {\n stack.shift();\n keys.pop();\n }\n if (typeof value2 === \"boolean\") {\n return value2;\n }\n if (value2 === void 0) {\n if (!options2.allowUndefined) {\n return void 0;\n }\n return \"_undefined_\";\n }\n if (value2 === null) {\n return null;\n }\n if (typeof value2 === \"number\") {\n if (value2 === -Infinity) {\n return \"_-Infinity_\";\n }\n if (value2 === Infinity) {\n return \"_Infinity_\";\n }\n if (Number.isNaN(value2)) {\n return \"_NaN_\";\n }\n return value2;\n }\n if (typeof value2 === \"bigint\") {\n return `_bigint_${value2.toString()}`;\n }\n if (typeof value2 === \"string\") {\n if (dateFormat.test(value2)) {\n if (!options2.allowDate) {\n return void 0;\n }\n return `_date_${value2}`;\n }\n return value2;\n }\n if ((0, import_is_regex.default)(value2)) {\n if (!options2.allowRegExp) {\n return void 0;\n }\n return `_regexp_${value2.flags}|${value2.source}`;\n }\n if ((0, import_is_function.default)(value2)) {\n if (!options2.allowFunction) {\n return void 0;\n }\n const { name: name2 } = value2;\n const stringified = value2.toString();\n if (!stringified.match(\n /(\\[native code\\]|WEBPACK_IMPORTED_MODULE|__webpack_exports__|__webpack_require__)/\n )) {\n return `_function_${name2}|${cleanCode(convertShorthandMethods(key2, stringified))}`;\n }\n return `_function_${name2}|${(() => {\n }).toString()}`;\n }\n if ((0, import_is_symbol.default)(value2)) {\n if (!options2.allowSymbol) {\n return void 0;\n }\n const globalRegistryKey = Symbol.keyFor(value2);\n if (globalRegistryKey !== void 0) {\n return `_gsymbol_${globalRegistryKey}`;\n }\n return `_symbol_${value2.toString().slice(7, -1)}`;\n }\n if (stack.length >= options2.maxDepth) {\n if (Array.isArray(value2)) {\n return `[Array(${value2.length})]`;\n }\n return \"[Object]\";\n }\n if (value2 === this) {\n return `_duplicate_${JSON.stringify(keys)}`;\n }\n if (value2.constructor && value2.constructor.name && value2.constructor.name !== \"Object\" && !Array.isArray(value2) && !options2.allowClass) {\n return void 0;\n }\n const found = objects.get(value2);\n if (!found) {\n const converted = Array.isArray(value2) ? value2 : convertUnconventionalData(value2);\n if (value2.constructor && value2.constructor.name && value2.constructor.name !== \"Object\" && !Array.isArray(value2) && options2.allowClass) {\n try {\n Object.assign(converted, { \"_constructor-name_\": value2.constructor.name });\n } catch (e) {\n }\n }\n keys.push(key2);\n stack.unshift(converted);\n objects.set(value2, JSON.stringify(keys));\n if (value2 !== converted) {\n map.set(value2, converted);\n }\n return converted;\n }\n return `_duplicate_${found}`;\n } catch (e) {\n return void 0;\n }\n };\n};\nvar reviver2 = function reviver(options) {\n const refs = [];\n let root;\n return function revive(key, value) {\n if (key === \"\") {\n root = value;\n refs.forEach(({ target, container, replacement }) => {\n const replacementArr = isJSON(replacement) ? JSON.parse(replacement) : replacement.split(\".\");\n if (replacementArr.length === 0) {\n container[target] = root;\n } else {\n container[target] = get_default(root, replacementArr);\n }\n });\n }\n if (key === \"_constructor-name_\") {\n return value;\n }\n if (isObject3(value) && value[\"_constructor-name_\"] && options.allowFunction) {\n const name2 = value[\"_constructor-name_\"];\n if (name2 !== \"Object\") {\n const Fn = new Function(`return function ${name2.replace(/[^a-zA-Z0-9$_]+/g, \"\")}(){}`)();\n Object.setPrototypeOf(value, new Fn());\n }\n delete value[\"_constructor-name_\"];\n return value;\n }\n if (typeof value === \"string\" && value.startsWith(\"_function_\") && options.allowFunction) {\n const [, name, source] = value.match(/_function_([^|]*)\\|(.*)/) || [];\n const sourceSanitized = source.replace(/[(\\(\\))|\\\\| |\\]|`]*$/, \"\");\n if (!options.lazyEval) {\n return eval(`(${sourceSanitized})`);\n }\n const result = (...args) => {\n const f = eval(`(${sourceSanitized})`);\n return f(...args);\n };\n Object.defineProperty(result, \"toString\", {\n value: () => sourceSanitized\n });\n Object.defineProperty(result, \"name\", {\n value: name\n });\n return result;\n }\n if (typeof value === \"string\" && value.startsWith(\"_regexp_\") && options.allowRegExp) {\n const [, flags, source2] = value.match(/_regexp_([^|]*)\\|(.*)/) || [];\n return new RegExp(source2, flags);\n }\n if (typeof value === \"string\" && value.startsWith(\"_date_\") && options.allowDate) {\n return new Date(value.replace(\"_date_\", \"\"));\n }\n if (typeof value === \"string\" && value.startsWith(\"_duplicate_\")) {\n refs.push({ target: key, container: this, replacement: value.replace(/^_duplicate_/, \"\") });\n return null;\n }\n if (typeof value === \"string\" && value.startsWith(\"_symbol_\") && options.allowSymbol) {\n return Symbol(value.replace(\"_symbol_\", \"\"));\n }\n if (typeof value === \"string\" && value.startsWith(\"_gsymbol_\") && options.allowSymbol) {\n return Symbol.for(value.replace(\"_gsymbol_\", \"\"));\n }\n if (typeof value === \"string\" && value === \"_-Infinity_\") {\n return -Infinity;\n }\n if (typeof value === \"string\" && value === \"_Infinity_\") {\n return Infinity;\n }\n if (typeof value === \"string\" && value === \"_NaN_\") {\n return NaN;\n }\n if (typeof value === \"string\" && value.startsWith(\"_bigint_\") && typeof BigInt === \"function\") {\n return BigInt(value.replace(\"_bigint_\", \"\"));\n }\n return value;\n };\n};\nvar defaultOptions = {\n maxDepth: 10,\n space: void 0,\n allowFunction: true,\n allowRegExp: true,\n allowDate: true,\n allowClass: true,\n allowUndefined: true,\n allowSymbol: true,\n lazyEval: true\n};\nvar stringify = (data, options2 = {}) => {\n const mergedOptions = { ...defaultOptions, ...options2 };\n return JSON.stringify(convertUnconventionalData(data), replacer(mergedOptions), options2.space);\n};\nvar mutator = () => {\n const mutated = /* @__PURE__ */ new Map();\n return function mutateUndefined(value2) {\n if (isObject3(value2)) {\n Object.entries(value2).forEach(([k, v]) => {\n if (v === \"_undefined_\") {\n value2[k] = void 0;\n } else if (!mutated.get(v)) {\n mutated.set(v, true);\n mutateUndefined(v);\n }\n });\n }\n if (Array.isArray(value2)) {\n value2.forEach((v, index) => {\n if (v === \"_undefined_\") {\n mutated.set(v, true);\n value2[index] = void 0;\n } else if (!mutated.get(v)) {\n mutated.set(v, true);\n mutateUndefined(v);\n }\n });\n }\n };\n};\nvar parse = (data, options2 = {}) => {\n const mergedOptions = { ...defaultOptions, ...options2 };\n const result2 = JSON.parse(data, reviver2(mergedOptions));\n mutator()(result2);\n return result2;\n};\nexport {\n isJSON,\n parse,\n replacer,\n reviver2 as reviver,\n stringify\n};\n/*!\n * isobject \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n/**\n * @license\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"es\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n","import { getControlSetterButtonId, getControlId } from './chunk-GWAJ4KRU.mjs';\nimport React17, { createContext, lazy, Fragment, useState, useCallback, useRef, useEffect, Component, cloneElement, useMemo, Suspense, useContext, Children } from 'react';\nimport { styled, ignoreSsrWarning, themes, ThemeProvider, convert, useTheme, ensure } from '@storybook/theming';\nimport { withReset, SyntaxHighlighter, FlexBar, codeCommon, Icons, IconButton, Form, components, IconButtonSkeleton, Zoom as Zoom$1, ActionBar, Link, ResetWrapper, Code, nameSpaceClassNames, H3, H2, Loader, TabsState, ErrorFormatter, getStoryHref, WithTooltipPure } from '@storybook/components';\nimport { transparentize, darken, opacify, lighten, rgba } from 'polished';\nimport { global } from '@storybook/global';\nimport pickBy from 'lodash/pickBy.js';\nimport { includeConditionalArg } from '@storybook/csf';\nimport { deprecate, once, logger } from '@storybook/client-logger';\nimport Markdown from 'markdown-to-jsx';\nimport memoize from 'memoizerific';\nimport uniq from 'lodash/uniq.js';\nimport cloneDeep from 'lodash/cloneDeep.js';\nimport { filterArgTypes, composeConfigs, Preview as Preview$1, DocsContext as DocsContext$1 } from '@storybook/preview-api';\nimport mapValues from 'lodash/mapValues.js';\nimport { STORY_ARGS_UPDATED, UPDATE_STORY_ARGS, RESET_STORY_ARGS, GLOBALS_UPDATED, NAVIGATE_URL } from '@storybook/core-events';\nimport dedent2 from 'ts-dedent';\nimport { SNIPPET_RENDERED, SourceType, str } from '@storybook/docs-tools';\nimport { stringify } from 'telejson';\nimport { Channel } from '@storybook/channels';\n\nvar Wrapper=styled.div(withReset,({theme})=>({backgroundColor:theme.base===\"light\"?\"rgba(0,0,0,.01)\":\"rgba(255,255,255,.01)\",borderRadius:theme.appBorderRadius,border:`1px dashed ${theme.appBorderColor}`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:20,margin:\"25px 0 40px\",color:transparentize(.3,theme.color.defaultText),fontSize:theme.typography.size.s2})),EmptyBlock=props=>React17.createElement(Wrapper,{...props,className:\"docblock-emptyblock sb-unstyled\"});var StyledSyntaxHighlighter=styled(SyntaxHighlighter)(({theme})=>({fontSize:`${theme.typography.size.s2-1}px`,lineHeight:\"19px\",margin:\"25px 0 40px\",borderRadius:theme.appBorderRadius,boxShadow:theme.base===\"light\"?\"rgba(0, 0, 0, 0.10) 0 1px 3px 0\":\"rgba(0, 0, 0, 0.20) 0 2px 5px 0\",\"pre.prismjs\":{padding:20,background:\"inherit\"}}));var SourceSkeletonWrapper=styled.div(({theme})=>({background:theme.background.content,borderRadius:theme.appBorderRadius,border:`1px solid ${theme.appBorderColor}`,boxShadow:theme.base===\"light\"?\"rgba(0, 0, 0, 0.10) 0 1px 3px 0\":\"rgba(0, 0, 0, 0.20) 0 2px 5px 0\",margin:\"25px 0 40px\",padding:\"20px 20px 20px 22px\"})),SourceSkeletonPlaceholder=styled.div(({theme})=>({animation:`${theme.animation.glow} 1.5s ease-in-out infinite`,background:theme.appBorderColor,height:17,marginTop:1,width:\"60%\",[`&:first-child${ignoreSsrWarning}`]:{margin:0}})),SourceSkeleton=()=>React17.createElement(SourceSkeletonWrapper,null,React17.createElement(SourceSkeletonPlaceholder,null),React17.createElement(SourceSkeletonPlaceholder,{style:{width:\"80%\"}}),React17.createElement(SourceSkeletonPlaceholder,{style:{width:\"30%\"}}),React17.createElement(SourceSkeletonPlaceholder,{style:{width:\"80%\"}})),Source=({isLoading,error,language,code,dark,format:format2,...rest})=>{if(isLoading)return React17.createElement(SourceSkeleton,null);if(error)return React17.createElement(EmptyBlock,null,error);let syntaxHighlighter=React17.createElement(StyledSyntaxHighlighter,{bordered:!0,copyable:!0,format:format2,language,className:\"docblock-source sb-unstyled\",...rest},code);if(typeof dark>\"u\")return syntaxHighlighter;let overrideTheme=dark?themes.dark:themes.light;return React17.createElement(ThemeProvider,{theme:convert(overrideTheme)},syntaxHighlighter)};Source.defaultProps={format:!1};var toGlobalSelector=element=>`& :where(${element}:not(.sb-anchor, .sb-unstyled, .sb-unstyled ${element}))`,breakpoint=600,Title=styled.h1(withReset,({theme})=>({color:theme.color.defaultText,fontSize:theme.typography.size.m3,fontWeight:theme.typography.weight.bold,lineHeight:\"32px\",[`@media (min-width: ${breakpoint}px)`]:{fontSize:theme.typography.size.l1,lineHeight:\"36px\",marginBottom:\"16px\"}})),Subtitle=styled.h2(withReset,({theme})=>({fontWeight:theme.typography.weight.regular,fontSize:theme.typography.size.s3,lineHeight:\"20px\",borderBottom:\"none\",marginBottom:15,[`@media (min-width: ${breakpoint}px)`]:{fontSize:theme.typography.size.m1,lineHeight:\"28px\",marginBottom:24},color:transparentize(.25,theme.color.defaultText)})),DocsContent=styled.div(({theme})=>{let reset={fontFamily:theme.typography.fonts.base,fontSize:theme.typography.size.s3,margin:0,WebkitFontSmoothing:\"antialiased\",MozOsxFontSmoothing:\"grayscale\",WebkitTapHighlightColor:\"rgba(0, 0, 0, 0)\",WebkitOverflowScrolling:\"touch\"},headers={margin:\"20px 0 8px\",padding:0,cursor:\"text\",position:\"relative\",color:theme.color.defaultText,\"&:first-of-type\":{marginTop:0,paddingTop:0},\"&:hover a.anchor\":{textDecoration:\"none\"},\"& code\":{fontSize:\"inherit\"}},code={lineHeight:1,margin:\"0 2px\",padding:\"3px 5px\",whiteSpace:\"nowrap\",borderRadius:3,fontSize:theme.typography.size.s2-1,border:theme.base===\"light\"?`1px solid ${theme.color.mediumlight}`:`1px solid ${theme.color.darker}`,color:theme.base===\"light\"?transparentize(.1,theme.color.defaultText):transparentize(.3,theme.color.defaultText),backgroundColor:theme.base===\"light\"?theme.color.lighter:theme.color.border};return {maxWidth:1e3,width:\"100%\",[toGlobalSelector(\"a\")]:{...reset,fontSize:\"inherit\",lineHeight:\"24px\",color:theme.color.secondary,textDecoration:\"none\",\"&.absent\":{color:\"#cc0000\"},\"&.anchor\":{display:\"block\",paddingLeft:30,marginLeft:-30,cursor:\"pointer\",position:\"absolute\",top:0,left:0,bottom:0}},[toGlobalSelector(\"blockquote\")]:{...reset,margin:\"16px 0\",borderLeft:`4px solid ${theme.color.medium}`,padding:\"0 15px\",color:theme.color.dark,\"& > :first-of-type\":{marginTop:0},\"& > :last-child\":{marginBottom:0}},[toGlobalSelector(\"div\")]:reset,[toGlobalSelector(\"dl\")]:{...reset,margin:\"16px 0\",padding:0,\"& dt\":{fontSize:\"14px\",fontWeight:\"bold\",fontStyle:\"italic\",padding:0,margin:\"16px 0 4px\"},\"& dt:first-of-type\":{padding:0},\"& dt > :first-of-type\":{marginTop:0},\"& dt > :last-child\":{marginBottom:0},\"& dd\":{margin:\"0 0 16px\",padding:\"0 15px\"},\"& dd > :first-of-type\":{marginTop:0},\"& dd > :last-child\":{marginBottom:0}},[toGlobalSelector(\"h1\")]:{...reset,...headers,fontSize:`${theme.typography.size.l1}px`,fontWeight:theme.typography.weight.bold},[toGlobalSelector(\"h2\")]:{...reset,...headers,fontSize:`${theme.typography.size.m2}px`,paddingBottom:4,borderBottom:`1px solid ${theme.appBorderColor}`},[toGlobalSelector(\"h3\")]:{...reset,...headers,fontSize:`${theme.typography.size.m1}px`,fontWeight:theme.typography.weight.bold},[toGlobalSelector(\"h4\")]:{...reset,...headers,fontSize:`${theme.typography.size.s3}px`},[toGlobalSelector(\"h5\")]:{...reset,...headers,fontSize:`${theme.typography.size.s2}px`},[toGlobalSelector(\"h6\")]:{...reset,...headers,fontSize:`${theme.typography.size.s2}px`,color:theme.color.dark},[toGlobalSelector(\"hr\")]:{border:\"0 none\",borderTop:`1px solid ${theme.appBorderColor}`,height:4,padding:0},[toGlobalSelector(\"img\")]:{maxWidth:\"100%\"},[toGlobalSelector(\"li\")]:{...reset,fontSize:theme.typography.size.s2,color:theme.color.defaultText,lineHeight:\"24px\",\"& + li\":{marginTop:\".25em\"},\"& ul, & ol\":{marginTop:\".25em\",marginBottom:0},\"& code\":code},[toGlobalSelector(\"ol\")]:{...reset,margin:\"16px 0\",paddingLeft:30,\"& :first-of-type\":{marginTop:0},\"& :last-child\":{marginBottom:0}},[toGlobalSelector(\"p\")]:{...reset,margin:\"16px 0\",fontSize:theme.typography.size.s2,lineHeight:\"24px\",color:theme.color.defaultText,\"& code\":code},[toGlobalSelector(\"pre\")]:{...reset,fontFamily:theme.typography.fonts.mono,WebkitFontSmoothing:\"antialiased\",MozOsxFontSmoothing:\"grayscale\",lineHeight:\"18px\",padding:\"11px 1rem\",whiteSpace:\"pre-wrap\",color:\"inherit\",borderRadius:3,margin:\"1rem 0\",\"&:not(.prismjs)\":{background:\"transparent\",border:\"none\",borderRadius:0,padding:0,margin:0},\"& pre, &.prismjs\":{padding:15,margin:0,whiteSpace:\"pre-wrap\",color:\"inherit\",fontSize:\"13px\",lineHeight:\"19px\",code:{color:\"inherit\",fontSize:\"inherit\"}},\"& code\":{whiteSpace:\"pre\"},\"& code, & tt\":{border:\"none\"}},[toGlobalSelector(\"span\")]:{...reset,\"&.frame\":{display:\"block\",overflow:\"hidden\",\"& > span\":{border:`1px solid ${theme.color.medium}`,display:\"block\",float:\"left\",overflow:\"hidden\",margin:\"13px 0 0\",padding:7,width:\"auto\"},\"& span img\":{display:\"block\",float:\"left\"},\"& span span\":{clear:\"both\",color:theme.color.darkest,display:\"block\",padding:\"5px 0 0\"}},\"&.align-center\":{display:\"block\",overflow:\"hidden\",clear:\"both\",\"& > span\":{display:\"block\",overflow:\"hidden\",margin:\"13px auto 0\",textAlign:\"center\"},\"& span img\":{margin:\"0 auto\",textAlign:\"center\"}},\"&.align-right\":{display:\"block\",overflow:\"hidden\",clear:\"both\",\"& > span\":{display:\"block\",overflow:\"hidden\",margin:\"13px 0 0\",textAlign:\"right\"},\"& span img\":{margin:0,textAlign:\"right\"}},\"&.float-left\":{display:\"block\",marginRight:13,overflow:\"hidden\",float:\"left\",\"& span\":{margin:\"13px 0 0\"}},\"&.float-right\":{display:\"block\",marginLeft:13,overflow:\"hidden\",float:\"right\",\"& > span\":{display:\"block\",overflow:\"hidden\",margin:\"13px auto 0\",textAlign:\"right\"}}},[toGlobalSelector(\"table\")]:{...reset,margin:\"16px 0\",fontSize:theme.typography.size.s2,lineHeight:\"24px\",padding:0,borderCollapse:\"collapse\",\"& tr\":{borderTop:`1px solid ${theme.appBorderColor}`,backgroundColor:theme.appContentBg,margin:0,padding:0},\"& tr:nth-of-type(2n)\":{backgroundColor:theme.base===\"dark\"?theme.color.darker:theme.color.lighter},\"& tr th\":{fontWeight:\"bold\",color:theme.color.defaultText,border:`1px solid ${theme.appBorderColor}`,margin:0,padding:\"6px 13px\"},\"& tr td\":{border:`1px solid ${theme.appBorderColor}`,color:theme.color.defaultText,margin:0,padding:\"6px 13px\"},\"& tr th :first-of-type, & tr td :first-of-type\":{marginTop:0},\"& tr th :last-child, & tr td :last-child\":{marginBottom:0}},[toGlobalSelector(\"ul\")]:{...reset,margin:\"16px 0\",paddingLeft:30,\"& :first-of-type\":{marginTop:0},\"& :last-child\":{marginBottom:0},listStyle:\"disc\"}}}),DocsWrapper=styled.div(({theme})=>({background:theme.background.content,display:\"flex\",justifyContent:\"center\",padding:\"4rem 20px\",minHeight:\"100vh\",boxSizing:\"border-box\",[`@media (min-width: ${breakpoint}px)`]:{}})),DocsPageWrapper=({children})=>React17.createElement(DocsWrapper,{className:\"sbdocs sbdocs-wrapper\"},React17.createElement(DocsContent,{className:\"sbdocs sbdocs-content\"},children));var getBlockBackgroundStyle=theme=>({borderRadius:theme.appBorderRadius,background:theme.background.content,boxShadow:theme.base===\"light\"?\"rgba(0, 0, 0, 0.10) 0 1px 3px 0\":\"rgba(0, 0, 0, 0.20) 0 2px 5px 0\",border:`1px solid ${theme.appBorderColor}`});var Zoom=({zoom,resetZoom})=>React17.createElement(React17.Fragment,null,React17.createElement(IconButton,{key:\"zoomin\",onClick:e=>{e.preventDefault(),zoom(.8);},title:\"Zoom in\"},React17.createElement(Icons,{icon:\"zoom\"})),React17.createElement(IconButton,{key:\"zoomout\",onClick:e=>{e.preventDefault(),zoom(1.25);},title:\"Zoom out\"},React17.createElement(Icons,{icon:\"zoomout\"})),React17.createElement(IconButton,{key:\"zoomreset\",onClick:e=>{e.preventDefault(),resetZoom();},title:\"Reset zoom\"},React17.createElement(Icons,{icon:\"zoomreset\"}))),Bar=styled(FlexBar)({position:\"absolute\",left:0,right:0,top:0,transition:\"transform .2s linear\"}),Toolbar=({isLoading,storyId,baseUrl,zoom,resetZoom,...rest})=>React17.createElement(Bar,{...rest},React17.createElement(Fragment,{key:\"left\"},isLoading?[1,2,3].map(key=>React17.createElement(IconButtonSkeleton,{key})):React17.createElement(Zoom,{zoom,resetZoom})));var ZoomContext=createContext({scale:1});var{window:globalWindow}=global,IFrame=class extends Component{constructor(){super(...arguments);this.iframe=null;}componentDidMount(){let{id}=this.props;this.iframe=globalWindow.document.getElementById(id);}shouldComponentUpdate(nextProps){let{scale}=nextProps;return scale!==this.props.scale&&this.setIframeBodyStyle({width:`${scale*100}%`,height:`${scale*100}%`,transform:`scale(${1/scale})`,transformOrigin:\"top left\"}),!1}setIframeBodyStyle(style){return Object.assign(this.iframe.contentDocument.body.style,style)}render(){let{id,title,src,allowFullScreen,scale,...rest}=this.props;return React17.createElement(\"iframe\",{id,title,src,...allowFullScreen?{allow:\"fullscreen\"}:{},loading:\"lazy\",...rest})}};var{PREVIEW_URL}=global,BASE_URL=PREVIEW_URL||\"iframe.html\",storyBlockIdFromId=({story,primary})=>`story--${story.id}${primary?\"--primary\":\"\"}`,InlineStory=props=>{let storyRef=useRef(),[showLoader,setShowLoader]=useState(!0),[error,setError]=useState(),{story,height,autoplay,forceInitialArgs,renderStoryToElement}=props;useEffect(()=>{if(!(story&&storyRef.current))return ()=>{};let element=storyRef.current,cleanup=renderStoryToElement(story,element,{showMain:()=>{},showError:({title,description})=>setError(new Error(`${title} - ${description}`)),showException:err=>setError(err)},{autoplay,forceInitialArgs});return setShowLoader(!1),()=>{Promise.resolve().then(()=>cleanup());}},[autoplay,renderStoryToElement,story]);let htmlContents=\"\";return error?React17.createElement(\"pre\",null,React17.createElement(ErrorFormatter,{error})):React17.createElement(React17.Fragment,null,height?React17.createElement(\"style\",null,`#${storyBlockIdFromId(props)} { min-height: ${height}; transform: translateZ(0); overflow: auto }`):null,showLoader&&React17.createElement(StorySkeleton,null),React17.createElement(\"div\",{ref:storyRef,id:`${storyBlockIdFromId(props)}-inner`,\"data-name\":story.name,dangerouslySetInnerHTML:{__html:htmlContents}}))},IFrameStory=({story,height=\"500px\"})=>React17.createElement(\"div\",{style:{width:\"100%\",height}},React17.createElement(ZoomContext.Consumer,null,({scale})=>React17.createElement(IFrame,{key:\"iframe\",id:`iframe--${story.id}`,title:story.name,src:getStoryHref(BASE_URL,story.id,{viewMode:\"story\"}),allowFullScreen:!0,scale,style:{width:\"100%\",height:\"100%\",border:\"0 none\"}}))),Story=props=>{let{inline}=props;return React17.createElement(\"div\",{id:storyBlockIdFromId(props),className:\"sb-story sb-unstyled\",\"data-story-block\":\"true\"},inline?React17.createElement(InlineStory,{...props}):React17.createElement(IFrameStory,{...props}))},StorySkeleton=()=>React17.createElement(Loader,null);var ChildrenContainer=styled.div(({isColumn,columns,layout})=>({display:isColumn||!columns?\"block\":\"flex\",position:\"relative\",flexWrap:\"wrap\",overflow:\"auto\",flexDirection:isColumn?\"column\":\"row\",\"& .innerZoomElementWrapper > *\":isColumn?{width:layout!==\"fullscreen\"?\"calc(100% - 20px)\":\"100%\",display:\"block\"}:{maxWidth:layout!==\"fullscreen\"?\"calc(100% - 20px)\":\"100%\",display:\"inline-block\"}}),({layout=\"padded\"})=>layout===\"centered\"||layout===\"padded\"?{padding:\"30px 20px\",margin:-10,\"& .innerZoomElementWrapper > *\":{width:\"auto\",border:\"10px solid transparent!important\"}}:{},({layout=\"padded\"})=>layout===\"centered\"?{display:\"flex\",justifyContent:\"center\",justifyItems:\"center\",alignContent:\"center\",alignItems:\"center\"}:{},({columns})=>columns&&columns>1?{\".innerZoomElementWrapper > *\":{minWidth:`calc(100% / ${columns} - 20px)`}}:{}),StyledSource=styled(Source)(({theme})=>({margin:0,borderTopLeftRadius:0,borderTopRightRadius:0,borderBottomLeftRadius:theme.appBorderRadius,borderBottomRightRadius:theme.appBorderRadius,border:\"none\",background:theme.base===\"light\"?\"rgba(0, 0, 0, 0.85)\":darken(.05,theme.background.content),color:theme.color.lightest,button:{background:theme.base===\"light\"?\"rgba(0, 0, 0, 0.85)\":darken(.05,theme.background.content)}})),PreviewContainer=styled.div(({theme,withSource,isExpanded})=>({position:\"relative\",overflow:\"hidden\",margin:\"25px 0 40px\",...getBlockBackgroundStyle(theme),borderBottomLeftRadius:withSource&&isExpanded&&0,borderBottomRightRadius:withSource&&isExpanded&&0,borderBottomWidth:isExpanded&&0,\"h3 + &\":{marginTop:\"16px\"}}),({withToolbar})=>withToolbar&&{paddingTop:40}),getSource=(withSource,expanded,setExpanded)=>{switch(!0){case!!(withSource&&withSource.error):return {source:null,actionItem:{title:\"No code available\",className:\"docblock-code-toggle docblock-code-toggle--disabled\",disabled:!0,onClick:()=>setExpanded(!1)}};case expanded:return {source:React17.createElement(StyledSource,{...withSource,dark:!0}),actionItem:{title:\"Hide code\",className:\"docblock-code-toggle docblock-code-toggle--expanded\",onClick:()=>setExpanded(!1)}};default:return {source:React17.createElement(StyledSource,{...withSource,dark:!0}),actionItem:{title:\"Show code\",className:\"docblock-code-toggle\",onClick:()=>setExpanded(!0)}}}};function getStoryId(children){if(Children.count(children)===1){let elt=children;if(elt.props)return elt.props.id}return null}var PositionedToolbar=styled(Toolbar)({position:\"absolute\",top:0,left:0,right:0,height:40}),Relative=styled.div({overflow:\"hidden\",position:\"relative\"}),Preview=({isLoading,isColumn,columns,children,withSource,withToolbar=!1,isExpanded=!1,additionalActions,className,layout=\"padded\",...props})=>{let[expanded,setExpanded]=useState(isExpanded),{source,actionItem}=getSource(withSource,expanded,setExpanded),[scale,setScale]=useState(1),previewClasses=[className].concat([\"sbdocs\",\"sbdocs-preview\",\"sb-unstyled\"]),defaultActionItems=withSource?[actionItem]:[],[additionalActionItems,setAdditionalActionItems]=useState(additionalActions?[...additionalActions]:[]),actionItems=[...defaultActionItems,...additionalActionItems],{window:globalWindow4}=global,copyToClipboard=useCallback(async text=>{let{createCopyToClipboardFunction}=await import('@storybook/components');createCopyToClipboardFunction();},[]),onCopyCapture=e=>{let selection=globalWindow4.getSelection();selection&&selection.type===\"Range\"||(e.preventDefault(),additionalActionItems.filter(item=>item.title===\"Copied\").length===0&©ToClipboard(source.props.code).then(()=>{setAdditionalActionItems([...additionalActionItems,{title:\"Copied\",onClick:()=>{}}]),globalWindow4.setTimeout(()=>setAdditionalActionItems(additionalActionItems.filter(item=>item.title!==\"Copied\")),1500);}));};return React17.createElement(PreviewContainer,{withSource,withToolbar,...props,className:previewClasses.join(\" \")},withToolbar&&React17.createElement(PositionedToolbar,{isLoading,border:!0,zoom:z=>setScale(scale*z),resetZoom:()=>setScale(1),storyId:getStoryId(children),baseUrl:\"./iframe.html\"}),React17.createElement(ZoomContext.Provider,{value:{scale}},React17.createElement(Relative,{className:\"docs-story\",onCopyCapture:withSource&&onCopyCapture},React17.createElement(ChildrenContainer,{isColumn:isColumn||!Array.isArray(children),columns,layout},React17.createElement(Zoom$1.Element,{scale},Array.isArray(children)?children.map((child,i)=>React17.createElement(\"div\",{key:i},child)):React17.createElement(\"div\",null,children))),React17.createElement(ActionBar,{actionItems}))),withSource&&expanded&&source)},StyledPreview=styled(Preview)(()=>({\".docs-story\":{paddingTop:32,paddingBottom:40}})),PreviewSkeleton=()=>React17.createElement(StyledPreview,{isLoading:!0,withToolbar:!0},React17.createElement(StorySkeleton,null));var Table=styled.table(({theme})=>({\"&&\":{borderCollapse:\"collapse\",borderSpacing:0,border:\"none\",tr:{border:\"none !important\",background:\"none\"},\"td, th\":{padding:0,border:\"none\",width:\"auto!important\"},marginTop:0,marginBottom:0,\"th:first-of-type, td:first-of-type\":{paddingLeft:0},\"th:last-of-type, td:last-of-type\":{paddingRight:0},td:{paddingTop:0,paddingBottom:4,\"&:not(:first-of-type)\":{paddingLeft:10,paddingRight:0}},tbody:{boxShadow:\"none\",border:\"none\"},code:codeCommon({theme}),div:{span:{fontWeight:\"bold\"}},\"& code\":{margin:0,display:\"inline-block\",fontSize:theme.typography.size.s1}}})),ArgJsDoc=({tags})=>{let params=(tags.params||[]).filter(x=>x.description),hasDisplayableParams=params.length!==0,hasDisplayableDeprecated=tags.deprecated!=null,hasDisplayableReturns=tags.returns!=null&&tags.returns.description!=null;return !hasDisplayableParams&&!hasDisplayableReturns&&!hasDisplayableDeprecated?null:React17.createElement(React17.Fragment,null,React17.createElement(Table,null,React17.createElement(\"tbody\",null,hasDisplayableDeprecated&&React17.createElement(\"tr\",{key:\"deprecated\"},React17.createElement(\"td\",{colSpan:2},React17.createElement(\"strong\",null,\"Deprecated\"),\": \",tags.deprecated)),hasDisplayableParams&¶ms.map(x=>React17.createElement(\"tr\",{key:x.name},React17.createElement(\"td\",null,React17.createElement(\"code\",null,x.name)),React17.createElement(\"td\",null,x.description))),hasDisplayableReturns&&React17.createElement(\"tr\",{key:\"returns\"},React17.createElement(\"td\",null,React17.createElement(\"code\",null,\"Returns\")),React17.createElement(\"td\",null,tags.returns.description)))))};var ITEMS_BEFORE_EXPANSION=8,Summary=styled.div(({isExpanded})=>({display:\"flex\",flexDirection:isExpanded?\"column\":\"row\",flexWrap:\"wrap\",alignItems:\"flex-start\",marginBottom:\"-4px\",minWidth:100})),Text=styled.span(codeCommon,({theme,simple=!1})=>({flex:\"0 0 auto\",fontFamily:theme.typography.fonts.mono,fontSize:theme.typography.size.s1,wordBreak:\"break-word\",whiteSpace:\"normal\",maxWidth:\"100%\",margin:0,marginRight:\"4px\",marginBottom:\"4px\",paddingTop:\"2px\",paddingBottom:\"2px\",lineHeight:\"13px\",...simple&&{background:\"transparent\",border:\"0 none\",paddingLeft:0}})),ExpandButton=styled.button(({theme})=>({fontFamily:theme.typography.fonts.mono,color:theme.color.secondary,marginBottom:\"4px\",background:\"none\",border:\"none\"})),Expandable=styled.div(codeCommon,({theme})=>({fontFamily:theme.typography.fonts.mono,color:theme.color.secondary,fontSize:theme.typography.size.s1,margin:0,whiteSpace:\"nowrap\",display:\"flex\",alignItems:\"center\"})),Detail=styled.div(({theme,width})=>({width,minWidth:200,maxWidth:800,padding:15,fontFamily:theme.typography.fonts.mono,fontSize:theme.typography.size.s1,boxSizing:\"content-box\",\"& code\":{padding:\"0 !important\"}})),ArrowIcon=styled(Icons)({height:10,width:10,minWidth:10,marginLeft:4}),EmptyArg=()=>React17.createElement(\"span\",null,\"-\"),ArgText=({text,simple})=>React17.createElement(Text,{simple},text),calculateDetailWidth=memoize(1e3)(detail=>{let lines=detail.split(/\\r?\\n/);return `${Math.max(...lines.map(x=>x.length))}ch`}),getSummaryItems=summary=>{if(!summary)return [summary];let summaryItems=summary.split(\"|\").map(value2=>value2.trim());return uniq(summaryItems)},renderSummaryItems=(summaryItems,isExpanded=!0)=>{let items=summaryItems;return isExpanded||(items=summaryItems.slice(0,ITEMS_BEFORE_EXPANSION)),items.map(item=>React17.createElement(ArgText,{key:item,text:item===\"\"?'\"\"':item}))},ArgSummary=({value:value2,initialExpandedArgs})=>{let{summary,detail}=value2,[isOpen,setIsOpen]=useState(!1),[isExpanded,setIsExpanded]=useState(initialExpandedArgs||!1);if(summary==null)return null;let summaryAsString=typeof summary.toString==\"function\"?summary.toString():summary;if(detail==null){if(/[(){}[\\]<>]/.test(summaryAsString))return React17.createElement(ArgText,{text:summaryAsString});let summaryItems=getSummaryItems(summaryAsString),itemsCount=summaryItems.length;return itemsCount>ITEMS_BEFORE_EXPANSION?React17.createElement(Summary,{isExpanded},renderSummaryItems(summaryItems,isExpanded),React17.createElement(ExpandButton,{onClick:()=>setIsExpanded(!isExpanded)},isExpanded?\"Show less...\":`Show ${itemsCount-ITEMS_BEFORE_EXPANSION} more...`)):React17.createElement(Summary,null,renderSummaryItems(summaryItems))}return React17.createElement(WithTooltipPure,{closeOnOutsideClick:!0,placement:\"bottom\",visible:isOpen,onVisibleChange:isVisible=>{setIsOpen(isVisible);},tooltip:React17.createElement(Detail,{width:calculateDetailWidth(detail)},React17.createElement(SyntaxHighlighter,{language:\"jsx\",format:!1},detail))},React17.createElement(Expandable,{className:\"sbdocs-expandable\"},React17.createElement(\"span\",null,summaryAsString),React17.createElement(ArrowIcon,{icon:isOpen?\"arrowup\":\"arrowdown\"})))},ArgValue=({value:value2,initialExpandedArgs})=>value2==null?React17.createElement(EmptyArg,null):React17.createElement(ArgSummary,{value:value2,initialExpandedArgs});var Label=styled.label(({theme})=>({lineHeight:\"18px\",alignItems:\"center\",marginBottom:8,display:\"inline-block\",position:\"relative\",whiteSpace:\"nowrap\",background:theme.boolean.background,borderRadius:\"3em\",padding:1,input:{appearance:\"none\",width:\"100%\",height:\"100%\",position:\"absolute\",left:0,top:0,margin:0,padding:0,border:\"none\",background:\"transparent\",cursor:\"pointer\",borderRadius:\"3em\",\"&:focus\":{outline:\"none\",boxShadow:`${theme.color.secondary} 0 0 0 1px inset !important`}},span:{textAlign:\"center\",fontSize:theme.typography.size.s1,fontWeight:theme.typography.weight.bold,lineHeight:\"1\",cursor:\"pointer\",display:\"inline-block\",padding:\"7px 15px\",transition:\"all 100ms ease-out\",userSelect:\"none\",borderRadius:\"3em\",color:transparentize(.5,theme.color.defaultText),background:\"transparent\",\"&:hover\":{boxShadow:`${opacify(.3,theme.appBorderColor)} 0 0 0 1px inset`},\"&:active\":{boxShadow:`${opacify(.05,theme.appBorderColor)} 0 0 0 2px inset`,color:opacify(1,theme.appBorderColor)},\"&:first-of-type\":{paddingRight:8},\"&:last-of-type\":{paddingLeft:8}},\"input:checked ~ span:last-of-type, input:not(:checked) ~ span:first-of-type\":{background:theme.boolean.selectedBackground,boxShadow:theme.base===\"light\"?`${opacify(.1,theme.appBorderColor)} 0 0 2px`:`${theme.appBorderColor} 0 0 0 1px`,color:theme.color.defaultText,padding:\"7px 15px\"}})),parse=value2=>value2===\"true\",BooleanControl=({name,value:value2,onChange,onBlur,onFocus})=>{let onSetFalse=useCallback(()=>onChange(!1),[onChange]);if(value2===void 0)return React17.createElement(Form.Button,{id:getControlSetterButtonId(name),onClick:onSetFalse},\"Set boolean\");let controlId=getControlId(name),parsedValue=typeof value2==\"string\"?parse(value2):value2;return React17.createElement(Label,{htmlFor:controlId,title:parsedValue?\"Change to false\":\"Change to true\"},React17.createElement(\"input\",{id:controlId,type:\"checkbox\",onChange:e=>onChange(e.target.checked),checked:parsedValue,name,onBlur,onFocus}),React17.createElement(\"span\",null,\"False\"),React17.createElement(\"span\",null,\"True\"))};var parseDate=value2=>{let[year,month,day]=value2.split(\"-\"),result=new Date;return result.setFullYear(parseInt(year,10),parseInt(month,10)-1,parseInt(day,10)),result},parseTime=value2=>{let[hours,minutes]=value2.split(\":\"),result=new Date;return result.setHours(parseInt(hours,10)),result.setMinutes(parseInt(minutes,10)),result},formatDate=value2=>{let date=new Date(value2),year=`000${date.getFullYear()}`.slice(-4),month=`0${date.getMonth()+1}`.slice(-2),day=`0${date.getDate()}`.slice(-2);return `${year}-${month}-${day}`},formatTime=value2=>{let date=new Date(value2),hours=`0${date.getHours()}`.slice(-2),minutes=`0${date.getMinutes()}`.slice(-2);return `${hours}:${minutes}`},FlexSpaced=styled.div(({theme})=>({flex:1,display:\"flex\",input:{marginLeft:10,flex:1,height:32,\"&::-webkit-calendar-picker-indicator\":{opacity:.5,height:12,filter:theme.base===\"light\"?void 0:\"invert(1)\"}},\"input:first-of-type\":{marginLeft:0,flexGrow:4},\"input:last-of-type\":{flexGrow:3}})),DateControl=({name,value:value2,onChange,onFocus,onBlur})=>{let[valid,setValid]=useState(!0),dateRef=useRef(),timeRef=useRef();useEffect(()=>{valid!==!1&&(dateRef&&dateRef.current&&(dateRef.current.value=formatDate(value2)),timeRef&&timeRef.current&&(timeRef.current.value=formatTime(value2)));},[value2]);let onDateChange=e=>{let parsed=parseDate(e.target.value),result=new Date(value2);result.setFullYear(parsed.getFullYear(),parsed.getMonth(),parsed.getDate());let time=result.getTime();time&&onChange(time),setValid(!!time);},onTimeChange=e=>{let parsed=parseTime(e.target.value),result=new Date(value2);result.setHours(parsed.getHours()),result.setMinutes(parsed.getMinutes());let time=result.getTime();time&&onChange(time),setValid(!!time);},controlId=getControlId(name);return React17.createElement(FlexSpaced,null,React17.createElement(Form.Input,{type:\"date\",max:\"9999-12-31\",ref:dateRef,id:`${controlId}-date`,name:`${controlId}-date`,onChange:onDateChange,onFocus,onBlur}),React17.createElement(Form.Input,{type:\"time\",id:`${controlId}-time`,name:`${controlId}-time`,ref:timeRef,onChange:onTimeChange,onFocus,onBlur}),valid?null:React17.createElement(\"div\",null,\"invalid\"))};var Wrapper2=styled.label({display:\"flex\"}),parse2=value2=>{let result=parseFloat(value2);return Number.isNaN(result)?void 0:result},format=value2=>value2!=null?String(value2):\"\",NumberControl=({name,value:value2,onChange,min,max,step,onBlur,onFocus})=>{let[inputValue,setInputValue]=useState(typeof value2==\"number\"?value2:\"\"),[forceVisible,setForceVisible]=useState(!1),[parseError,setParseError]=useState(null),handleChange=useCallback(event=>{setInputValue(event.target.value);let result=parseFloat(event.target.value);Number.isNaN(result)?setParseError(new Error(`'${event.target.value}' is not a number`)):(onChange(result),setParseError(null));},[onChange,setParseError]),onForceVisible=useCallback(()=>{setInputValue(\"0\"),onChange(0),setForceVisible(!0);},[setForceVisible]),htmlElRef=useRef(null);return useEffect(()=>{forceVisible&&htmlElRef.current&&htmlElRef.current.select();},[forceVisible]),useEffect(()=>{inputValue!==(typeof value2==\"number\"?value2:\"\")&&setInputValue(value2);},[value2]),!forceVisible&&value2===void 0?React17.createElement(Form.Button,{id:getControlSetterButtonId(name),onClick:onForceVisible},\"Set number\"):React17.createElement(Wrapper2,null,React17.createElement(Form.Input,{ref:htmlElRef,id:getControlId(name),type:\"number\",onChange:handleChange,size:\"flex\",placeholder:\"Edit number...\",value:inputValue,valid:parseError?\"error\":null,autoFocus:forceVisible,name,min,max,step,onFocus,onBlur}))};var selectedKey=(value2,options)=>{let entry=options&&Object.entries(options).find(([_key,val])=>val===value2);return entry?entry[0]:void 0},selectedKeys=(value2,options)=>value2&&options?Object.entries(options).filter(entry=>value2.includes(entry[1])).map(entry=>entry[0]):[],selectedValues=(keys,options)=>keys&&options&&keys.map(key=>options[key]);var Wrapper3=styled.div(({isInline})=>isInline?{display:\"flex\",flexWrap:\"wrap\",alignItems:\"flex-start\",label:{display:\"inline-flex\",marginRight:15}}:{label:{display:\"flex\"}}),Text2=styled.span({}),Label2=styled.label({lineHeight:\"20px\",alignItems:\"center\",marginBottom:8,\"&:last-child\":{marginBottom:0},input:{margin:0,marginRight:6}}),CheckboxControl=({name,options,value:value2,onChange,isInline})=>{if(!options)return logger.warn(`Checkbox with no options: ${name}`),React17.createElement(React17.Fragment,null,\"-\");let initial=selectedKeys(value2,options),[selected,setSelected]=useState(initial),handleChange=e=>{let option=e.target.value,updated=[...selected];updated.includes(option)?updated.splice(updated.indexOf(option),1):updated.push(option),onChange(selectedValues(updated,options)),setSelected(updated);};useEffect(()=>{setSelected(selectedKeys(value2,options));},[value2]);let controlId=getControlId(name);return React17.createElement(Wrapper3,{isInline},Object.keys(options).map((key,index)=>{let id=`${controlId}-${index}`;return React17.createElement(Label2,{key:id,htmlFor:id},React17.createElement(\"input\",{type:\"checkbox\",id,name:id,value:key,onChange:handleChange,checked:selected?.includes(key)}),React17.createElement(Text2,null,key))}))};var Wrapper4=styled.div(({isInline})=>isInline?{display:\"flex\",flexWrap:\"wrap\",alignItems:\"flex-start\",label:{display:\"inline-flex\",marginRight:15}}:{label:{display:\"flex\"}}),Text3=styled.span({}),Label3=styled.label({lineHeight:\"20px\",alignItems:\"center\",marginBottom:8,\"&:last-child\":{marginBottom:0},input:{margin:0,marginRight:6}}),RadioControl=({name,options,value:value2,onChange,isInline})=>{if(!options)return logger.warn(`Radio with no options: ${name}`),React17.createElement(React17.Fragment,null,\"-\");let selection=selectedKey(value2,options),controlId=getControlId(name);return React17.createElement(Wrapper4,{isInline},Object.keys(options).map((key,index)=>{let id=`${controlId}-${index}`;return React17.createElement(Label3,{key:id,htmlFor:id},React17.createElement(\"input\",{type:\"radio\",id,name:id,value:key,onChange:e=>onChange(options[e.currentTarget.value]),checked:key===selection}),React17.createElement(Text3,null,key))}))};var styleResets={appearance:\"none\",border:\"0 none\",boxSizing:\"inherit\",display:\" block\",margin:\" 0\",background:\"transparent\",padding:0,fontSize:\"inherit\",position:\"relative\"},OptionsSelect=styled.select(({theme})=>({...styleResets,boxSizing:\"border-box\",position:\"relative\",padding:\"6px 10px\",width:\"100%\",color:theme.input.color||\"inherit\",background:theme.input.background,borderRadius:theme.input.borderRadius,boxShadow:`${theme.input.border} 0 0 0 1px inset`,fontSize:theme.typography.size.s2-1,lineHeight:\"20px\",\"&:focus\":{boxShadow:`${theme.color.secondary} 0 0 0 1px inset`,outline:\"none\"},\"&[disabled]\":{cursor:\"not-allowed\",opacity:.5},\"::placeholder\":{color:theme.textMutedColor},\"&[multiple]\":{overflow:\"auto\",padding:0,option:{display:\"block\",padding:\"6px 10px\",marginLeft:1,marginRight:1}}})),SelectWrapper=styled.span(({theme})=>({display:\"inline-block\",lineHeight:\"normal\",overflow:\"hidden\",position:\"relative\",verticalAlign:\"top\",width:\"100%\",svg:{position:\"absolute\",zIndex:1,pointerEvents:\"none\",height:\"12px\",marginTop:\"-6px\",right:\"12px\",top:\"50%\",fill:theme.textMutedColor,path:{fill:theme.textMutedColor}}})),NO_SELECTION=\"Choose option...\",SingleSelect=({name,value:value2,options,onChange})=>{let handleChange=e=>{onChange(options[e.currentTarget.value]);},selection=selectedKey(value2,options)||NO_SELECTION,controlId=getControlId(name);return React17.createElement(SelectWrapper,null,React17.createElement(Icons,{icon:\"arrowdown\"}),React17.createElement(OptionsSelect,{id:controlId,value:selection,onChange:handleChange},React17.createElement(\"option\",{key:\"no-selection\",disabled:!0},NO_SELECTION),Object.keys(options).map(key=>React17.createElement(\"option\",{key},key))))},MultiSelect=({name,value:value2,options,onChange})=>{let handleChange=e=>{let selection2=Array.from(e.currentTarget.options).filter(option=>option.selected).map(option=>option.value);onChange(selectedValues(selection2,options));},selection=selectedKeys(value2,options),controlId=getControlId(name);return React17.createElement(SelectWrapper,null,React17.createElement(OptionsSelect,{id:controlId,multiple:!0,value:selection,onChange:handleChange},Object.keys(options).map(key=>React17.createElement(\"option\",{key},key))))},SelectControl=props=>{let{name,options}=props;return options?props.isMulti?React17.createElement(MultiSelect,{...props}):React17.createElement(SingleSelect,{...props}):(logger.warn(`Select with no options: ${name}`),React17.createElement(React17.Fragment,null,\"-\"))};var normalizeOptions=(options,labels)=>Array.isArray(options)?options.reduce((acc,item)=>(acc[labels?.[item]||String(item)]=item,acc),{}):options,Controls={check:CheckboxControl,\"inline-check\":CheckboxControl,radio:RadioControl,\"inline-radio\":RadioControl,select:SelectControl,\"multi-select\":SelectControl},OptionsControl=props=>{let{type=\"select\",labels,argType}=props,normalized={...props,options:argType?normalizeOptions(argType.options,labels):{},isInline:type.includes(\"inline\"),isMulti:type.includes(\"multi\")},Control=Controls[type];if(Control)return React17.createElement(Control,{...normalized});throw new Error(`Unknown options type: ${type}`)};var VALUE=\"value\",KEY=\"key\";var ERROR=\"Error\",OBJECT=\"Object\",ARRAY=\"Array\",STRING=\"String\",NUMBER=\"Number\",BOOLEAN=\"Boolean\",DATE=\"Date\",NULL=\"Null\",UNDEFINED=\"Undefined\",FUNCTION=\"Function\",SYMBOL=\"Symbol\";var ADD_DELTA_TYPE=\"ADD_DELTA_TYPE\",REMOVE_DELTA_TYPE=\"REMOVE_DELTA_TYPE\",UPDATE_DELTA_TYPE=\"UPDATE_DELTA_TYPE\";function getObjectType(obj){return obj!==null&&typeof obj==\"object\"&&!Array.isArray(obj)&&typeof obj[Symbol.iterator]==\"function\"?\"Iterable\":Object.prototype.toString.call(obj).slice(8,-1)}function isComponentWillChange(oldValue,newValue){let oldType=getObjectType(oldValue),newType=getObjectType(newValue);return (oldType===\"Function\"||newType===\"Function\")&&newType!==oldType}var JsonAddValue=class extends Component{constructor(props){super(props),this.state={inputRefKey:null,inputRefValue:null},this.refInputValue=this.refInputValue.bind(this),this.refInputKey=this.refInputKey.bind(this),this.onKeydown=this.onKeydown.bind(this),this.onSubmit=this.onSubmit.bind(this);}componentDidMount(){let{inputRefKey,inputRefValue}=this.state,{onlyValue}=this.props;inputRefKey&&typeof inputRefKey.focus==\"function\"&&inputRefKey.focus(),onlyValue&&inputRefValue&&typeof inputRefValue.focus==\"function\"&&inputRefValue.focus(),document.addEventListener(\"keydown\",this.onKeydown);}componentWillUnmount(){document.removeEventListener(\"keydown\",this.onKeydown);}onKeydown(event){event.altKey||event.ctrlKey||event.metaKey||event.shiftKey||event.repeat||((event.code===\"Enter\"||event.key===\"Enter\")&&(event.preventDefault(),this.onSubmit()),(event.code===\"Escape\"||event.key===\"Escape\")&&(event.preventDefault(),this.props.handleCancel()));}onSubmit(){let{handleAdd,onlyValue,onSubmitValueParser,keyPath,deep}=this.props,{inputRefKey,inputRefValue}=this.state,result={};if(!onlyValue){if(!inputRefKey.value)return;result.key=inputRefKey.value;}result.newValue=onSubmitValueParser(!1,keyPath,deep,result.key,inputRefValue.value),handleAdd(result);}refInputKey(node){this.state.inputRefKey=node;}refInputValue(node){this.state.inputRefValue=node;}render(){let{handleCancel,onlyValue,addButtonElement,cancelButtonElement,inputElementGenerator,keyPath,deep}=this.props,addButtonElementLayout=cloneElement(addButtonElement,{onClick:this.onSubmit}),cancelButtonElementLayout=cloneElement(cancelButtonElement,{onClick:handleCancel}),inputElementValue=inputElementGenerator(VALUE,keyPath,deep),inputElementValueLayout=cloneElement(inputElementValue,{placeholder:\"Value\",ref:this.refInputValue}),inputElementKeyLayout=null;if(!onlyValue){let inputElementKey=inputElementGenerator(KEY,keyPath,deep);inputElementKeyLayout=cloneElement(inputElementKey,{placeholder:\"Key\",ref:this.refInputKey});}return React17.createElement(\"span\",{className:\"rejt-add-value-node\"},inputElementKeyLayout,inputElementValueLayout,cancelButtonElementLayout,addButtonElementLayout)}};JsonAddValue.defaultProps={onlyValue:!1,addButtonElement:React17.createElement(\"button\",null,\"+\"),cancelButtonElement:React17.createElement(\"button\",null,\"c\")};var JsonArray=class extends Component{constructor(props){super(props);let keyPath=[...props.keyPath,props.name];this.state={data:props.data,name:props.name,keyPath,deep:props.deep,nextDeep:props.deep+1,collapsed:props.isCollapsed(keyPath,props.deep,props.data),addFormVisible:!1},this.handleCollapseMode=this.handleCollapseMode.bind(this),this.handleRemoveItem=this.handleRemoveItem.bind(this),this.handleAddMode=this.handleAddMode.bind(this),this.handleAddValueAdd=this.handleAddValueAdd.bind(this),this.handleAddValueCancel=this.handleAddValueCancel.bind(this),this.handleEditValue=this.handleEditValue.bind(this),this.onChildUpdate=this.onChildUpdate.bind(this),this.renderCollapsed=this.renderCollapsed.bind(this),this.renderNotCollapsed=this.renderNotCollapsed.bind(this);}static getDerivedStateFromProps(props,state){return props.data!==state.data?{data:props.data}:null}onChildUpdate(childKey,childData){let{data,keyPath}=this.state;data[childKey]=childData,this.setState({data});let{onUpdate}=this.props,size=keyPath.length;onUpdate(keyPath[size-1],data);}handleAddMode(){this.setState({addFormVisible:!0});}handleCollapseMode(){this.setState(state=>({collapsed:!state.collapsed}));}handleRemoveItem(index){return ()=>{let{beforeRemoveAction,logger:logger4}=this.props,{data,keyPath,nextDeep:deep}=this.state,oldValue=data[index];beforeRemoveAction(index,keyPath,deep,oldValue).then(()=>{let deltaUpdateResult={keyPath,deep,key:index,oldValue,type:REMOVE_DELTA_TYPE};data.splice(index,1),this.setState({data});let{onUpdate,onDeltaUpdate}=this.props;onUpdate(keyPath[keyPath.length-1],data),onDeltaUpdate(deltaUpdateResult);}).catch(logger4.error);}}handleAddValueAdd({newValue}){let{data,keyPath,nextDeep:deep}=this.state,{beforeAddAction,logger:logger4}=this.props;beforeAddAction(data.length,keyPath,deep,newValue).then(()=>{let newData=[...data,newValue];this.setState({data:newData}),this.handleAddValueCancel();let{onUpdate,onDeltaUpdate}=this.props;onUpdate(keyPath[keyPath.length-1],newData),onDeltaUpdate({type:ADD_DELTA_TYPE,keyPath,deep,key:newData.length-1,newValue});}).catch(logger4.error);}handleAddValueCancel(){this.setState({addFormVisible:!1});}handleEditValue({key,value:value2}){return new Promise((resolve,reject)=>{let{beforeUpdateAction}=this.props,{data,keyPath,nextDeep:deep}=this.state,oldValue=data[key];beforeUpdateAction(key,keyPath,deep,oldValue,value2).then(()=>{data[key]=value2,this.setState({data});let{onUpdate,onDeltaUpdate}=this.props;onUpdate(keyPath[keyPath.length-1],data),onDeltaUpdate({type:UPDATE_DELTA_TYPE,keyPath,deep,key,newValue:value2,oldValue}),resolve(void 0);}).catch(reject);})}renderCollapsed(){let{name,data,keyPath,deep}=this.state,{handleRemove,readOnly,getStyle,dataType,minusMenuElement}=this.props,{minus,collapsed}=getStyle(name,data,keyPath,deep,dataType),isReadOnly=readOnly(name,data,keyPath,deep,dataType),removeItemButton=cloneElement(minusMenuElement,{onClick:handleRemove,className:\"rejt-minus-menu\",style:minus});return React17.createElement(\"span\",{className:\"rejt-collapsed\"},React17.createElement(\"span\",{className:\"rejt-collapsed-text\",style:collapsed,onClick:this.handleCollapseMode},\"[...] \",data.length,\" \",data.length===1?\"item\":\"items\"),!isReadOnly&&removeItemButton)}renderNotCollapsed(){let{name,data,keyPath,deep,addFormVisible,nextDeep}=this.state,{isCollapsed,handleRemove,onDeltaUpdate,readOnly,getStyle,dataType,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser}=this.props,{minus,plus,delimiter,ul,addForm}=getStyle(name,data,keyPath,deep,dataType),isReadOnly=readOnly(name,data,keyPath,deep,dataType),addItemButton=cloneElement(plusMenuElement,{onClick:this.handleAddMode,className:\"rejt-plus-menu\",style:plus}),removeItemButton=cloneElement(minusMenuElement,{onClick:handleRemove,className:\"rejt-minus-menu\",style:minus}),onlyValue=!0,startObject=\"[\",endObject=\"]\";return React17.createElement(\"span\",{className:\"rejt-not-collapsed\"},React17.createElement(\"span\",{className:\"rejt-not-collapsed-delimiter\",style:delimiter},startObject),!addFormVisible&&addItemButton,React17.createElement(\"ul\",{className:\"rejt-not-collapsed-list\",style:ul},data.map((item,index)=>React17.createElement(JsonNode,{key:index,name:`${index}`,data:item,keyPath,deep:nextDeep,isCollapsed,handleRemove:this.handleRemoveItem(index),handleUpdateValue:this.handleEditValue,onUpdate:this.onChildUpdate,onDeltaUpdate,readOnly,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser}))),!isReadOnly&&addFormVisible&&React17.createElement(\"div\",{className:\"rejt-add-form\",style:addForm},React17.createElement(JsonAddValue,{handleAdd:this.handleAddValueAdd,handleCancel:this.handleAddValueCancel,onlyValue,addButtonElement,cancelButtonElement,inputElementGenerator,keyPath,deep,onSubmitValueParser})),React17.createElement(\"span\",{className:\"rejt-not-collapsed-delimiter\",style:delimiter},endObject),!isReadOnly&&removeItemButton)}render(){let{name,collapsed,data,keyPath,deep}=this.state,{dataType,getStyle}=this.props,value2=collapsed?this.renderCollapsed():this.renderNotCollapsed(),style=getStyle(name,data,keyPath,deep,dataType);return React17.createElement(\"div\",{className:\"rejt-array-node\"},React17.createElement(\"span\",{onClick:this.handleCollapseMode},React17.createElement(\"span\",{className:\"rejt-name\",style:style.name},name,\" :\",\" \")),value2)}};JsonArray.defaultProps={keyPath:[],deep:0,minusMenuElement:React17.createElement(\"span\",null,\" - \"),plusMenuElement:React17.createElement(\"span\",null,\" + \")};var JsonFunctionValue=class extends Component{constructor(props){super(props);let keyPath=[...props.keyPath,props.name];this.state={value:props.value,name:props.name,keyPath,deep:props.deep,editEnabled:!1,inputRef:null},this.handleEditMode=this.handleEditMode.bind(this),this.refInput=this.refInput.bind(this),this.handleCancelEdit=this.handleCancelEdit.bind(this),this.handleEdit=this.handleEdit.bind(this),this.onKeydown=this.onKeydown.bind(this);}static getDerivedStateFromProps(props,state){return props.value!==state.value?{value:props.value}:null}componentDidUpdate(){let{editEnabled,inputRef,name,value:value2,keyPath,deep}=this.state,{readOnly,dataType}=this.props,readOnlyResult=readOnly(name,value2,keyPath,deep,dataType);editEnabled&&!readOnlyResult&&typeof inputRef.focus==\"function\"&&inputRef.focus();}componentDidMount(){document.addEventListener(\"keydown\",this.onKeydown);}componentWillUnmount(){document.removeEventListener(\"keydown\",this.onKeydown);}onKeydown(event){event.altKey||event.ctrlKey||event.metaKey||event.shiftKey||event.repeat||((event.code===\"Enter\"||event.key===\"Enter\")&&(event.preventDefault(),this.handleEdit()),(event.code===\"Escape\"||event.key===\"Escape\")&&(event.preventDefault(),this.handleCancelEdit()));}handleEdit(){let{handleUpdateValue,originalValue,logger:logger4,onSubmitValueParser,keyPath}=this.props,{inputRef,name,deep}=this.state;if(!inputRef)return;let newValue=onSubmitValueParser(!0,keyPath,deep,name,inputRef.value);handleUpdateValue({value:newValue,key:name}).then(()=>{isComponentWillChange(originalValue,newValue)||this.handleCancelEdit();}).catch(logger4.error);}handleEditMode(){this.setState({editEnabled:!0});}refInput(node){this.state.inputRef=node;}handleCancelEdit(){this.setState({editEnabled:!1});}render(){let{name,value:value2,editEnabled,keyPath,deep}=this.state,{handleRemove,originalValue,readOnly,dataType,getStyle,editButtonElement,cancelButtonElement,textareaElementGenerator,minusMenuElement,keyPath:comeFromKeyPath}=this.props,style=getStyle(name,originalValue,keyPath,deep,dataType),result=null,minusElement=null,resultOnlyResult=readOnly(name,originalValue,keyPath,deep,dataType);if(editEnabled&&!resultOnlyResult){let textareaElement=textareaElementGenerator(VALUE,comeFromKeyPath,deep,name,originalValue,dataType),editButtonElementLayout=cloneElement(editButtonElement,{onClick:this.handleEdit}),cancelButtonElementLayout=cloneElement(cancelButtonElement,{onClick:this.handleCancelEdit}),textareaElementLayout=cloneElement(textareaElement,{ref:this.refInput,defaultValue:originalValue});result=React17.createElement(\"span\",{className:\"rejt-edit-form\",style:style.editForm},textareaElementLayout,\" \",cancelButtonElementLayout,editButtonElementLayout),minusElement=null;}else {result=React17.createElement(\"span\",{className:\"rejt-value\",style:style.value,onClick:resultOnlyResult?null:this.handleEditMode},value2);let minusMenuLayout=cloneElement(minusMenuElement,{onClick:handleRemove,className:\"rejt-minus-menu\",style:style.minus});minusElement=resultOnlyResult?null:minusMenuLayout;}return React17.createElement(\"li\",{className:\"rejt-function-value-node\",style:style.li},React17.createElement(\"span\",{className:\"rejt-name\",style:style.name},name,\" :\",\" \"),result,minusElement)}};JsonFunctionValue.defaultProps={keyPath:[],deep:0,handleUpdateValue:()=>{},editButtonElement:React17.createElement(\"button\",null,\"e\"),cancelButtonElement:React17.createElement(\"button\",null,\"c\"),minusMenuElement:React17.createElement(\"span\",null,\" - \")};var JsonNode=class extends Component{constructor(props){super(props),this.state={data:props.data,name:props.name,keyPath:props.keyPath,deep:props.deep};}static getDerivedStateFromProps(props,state){return props.data!==state.data?{data:props.data}:null}render(){let{data,name,keyPath,deep}=this.state,{isCollapsed,handleRemove,handleUpdateValue,onUpdate,onDeltaUpdate,readOnly,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser}=this.props,readOnlyTrue=()=>!0,dataType=getObjectType(data);switch(dataType){case ERROR:return React17.createElement(JsonObject,{data,name,isCollapsed,keyPath,deep,handleRemove,onUpdate,onDeltaUpdate,readOnly:readOnlyTrue,dataType,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser});case OBJECT:return React17.createElement(JsonObject,{data,name,isCollapsed,keyPath,deep,handleRemove,onUpdate,onDeltaUpdate,readOnly,dataType,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser});case ARRAY:return React17.createElement(JsonArray,{data,name,isCollapsed,keyPath,deep,handleRemove,onUpdate,onDeltaUpdate,readOnly,dataType,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser});case STRING:return React17.createElement(JsonValue,{name,value:`\"${data}\"`,originalValue:data,keyPath,deep,handleRemove,handleUpdateValue,readOnly,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case NUMBER:return React17.createElement(JsonValue,{name,value:data,originalValue:data,keyPath,deep,handleRemove,handleUpdateValue,readOnly,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case BOOLEAN:return React17.createElement(JsonValue,{name,value:data?\"true\":\"false\",originalValue:data,keyPath,deep,handleRemove,handleUpdateValue,readOnly,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case DATE:return React17.createElement(JsonValue,{name,value:data.toISOString(),originalValue:data,keyPath,deep,handleRemove,handleUpdateValue,readOnly:readOnlyTrue,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case NULL:return React17.createElement(JsonValue,{name,value:\"null\",originalValue:\"null\",keyPath,deep,handleRemove,handleUpdateValue,readOnly,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case UNDEFINED:return React17.createElement(JsonValue,{name,value:\"undefined\",originalValue:\"undefined\",keyPath,deep,handleRemove,handleUpdateValue,readOnly,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case FUNCTION:return React17.createElement(JsonFunctionValue,{name,value:data.toString(),originalValue:data,keyPath,deep,handleRemove,handleUpdateValue,readOnly,dataType,getStyle,cancelButtonElement,editButtonElement,textareaElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case SYMBOL:return React17.createElement(JsonValue,{name,value:data.toString(),originalValue:data,keyPath,deep,handleRemove,handleUpdateValue,readOnly:readOnlyTrue,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});default:return null}}};JsonNode.defaultProps={keyPath:[],deep:0};var JsonObject=class extends Component{constructor(props){super(props);let keyPath=props.deep===-1?[]:[...props.keyPath,props.name];this.state={name:props.name,data:props.data,keyPath,deep:props.deep,nextDeep:props.deep+1,collapsed:props.isCollapsed(keyPath,props.deep,props.data),addFormVisible:!1},this.handleCollapseMode=this.handleCollapseMode.bind(this),this.handleRemoveValue=this.handleRemoveValue.bind(this),this.handleAddMode=this.handleAddMode.bind(this),this.handleAddValueAdd=this.handleAddValueAdd.bind(this),this.handleAddValueCancel=this.handleAddValueCancel.bind(this),this.handleEditValue=this.handleEditValue.bind(this),this.onChildUpdate=this.onChildUpdate.bind(this),this.renderCollapsed=this.renderCollapsed.bind(this),this.renderNotCollapsed=this.renderNotCollapsed.bind(this);}static getDerivedStateFromProps(props,state){return props.data!==state.data?{data:props.data}:null}onChildUpdate(childKey,childData){let{data,keyPath}=this.state;data[childKey]=childData,this.setState({data});let{onUpdate}=this.props,size=keyPath.length;onUpdate(keyPath[size-1],data);}handleAddMode(){this.setState({addFormVisible:!0});}handleAddValueCancel(){this.setState({addFormVisible:!1});}handleAddValueAdd({key,newValue}){let{data,keyPath,nextDeep:deep}=this.state,{beforeAddAction,logger:logger4}=this.props;beforeAddAction(key,keyPath,deep,newValue).then(()=>{data[key]=newValue,this.setState({data}),this.handleAddValueCancel();let{onUpdate,onDeltaUpdate}=this.props;onUpdate(keyPath[keyPath.length-1],data),onDeltaUpdate({type:ADD_DELTA_TYPE,keyPath,deep,key,newValue});}).catch(logger4.error);}handleRemoveValue(key){return ()=>{let{beforeRemoveAction,logger:logger4}=this.props,{data,keyPath,nextDeep:deep}=this.state,oldValue=data[key];beforeRemoveAction(key,keyPath,deep,oldValue).then(()=>{let deltaUpdateResult={keyPath,deep,key,oldValue,type:REMOVE_DELTA_TYPE};delete data[key],this.setState({data});let{onUpdate,onDeltaUpdate}=this.props;onUpdate(keyPath[keyPath.length-1],data),onDeltaUpdate(deltaUpdateResult);}).catch(logger4.error);}}handleCollapseMode(){this.setState(state=>({collapsed:!state.collapsed}));}handleEditValue({key,value:value2}){return new Promise((resolve,reject)=>{let{beforeUpdateAction}=this.props,{data,keyPath,nextDeep:deep}=this.state,oldValue=data[key];beforeUpdateAction(key,keyPath,deep,oldValue,value2).then(()=>{data[key]=value2,this.setState({data});let{onUpdate,onDeltaUpdate}=this.props;onUpdate(keyPath[keyPath.length-1],data),onDeltaUpdate({type:UPDATE_DELTA_TYPE,keyPath,deep,key,newValue:value2,oldValue}),resolve();}).catch(reject);})}renderCollapsed(){let{name,keyPath,deep,data}=this.state,{handleRemove,readOnly,dataType,getStyle,minusMenuElement}=this.props,{minus,collapsed}=getStyle(name,data,keyPath,deep,dataType),keyList=Object.getOwnPropertyNames(data),isReadOnly=readOnly(name,data,keyPath,deep,dataType),removeItemButton=cloneElement(minusMenuElement,{onClick:handleRemove,className:\"rejt-minus-menu\",style:minus});return React17.createElement(\"span\",{className:\"rejt-collapsed\"},React17.createElement(\"span\",{className:\"rejt-collapsed-text\",style:collapsed,onClick:this.handleCollapseMode},\"{...}\",\" \",keyList.length,\" \",keyList.length===1?\"key\":\"keys\"),!isReadOnly&&removeItemButton)}renderNotCollapsed(){let{name,data,keyPath,deep,nextDeep,addFormVisible}=this.state,{isCollapsed,handleRemove,onDeltaUpdate,readOnly,getStyle,dataType,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser}=this.props,{minus,plus,addForm,ul,delimiter}=getStyle(name,data,keyPath,deep,dataType),keyList=Object.getOwnPropertyNames(data),isReadOnly=readOnly(name,data,keyPath,deep,dataType),addItemButton=cloneElement(plusMenuElement,{onClick:this.handleAddMode,className:\"rejt-plus-menu\",style:plus}),removeItemButton=cloneElement(minusMenuElement,{onClick:handleRemove,className:\"rejt-minus-menu\",style:minus}),list=keyList.map(key=>React17.createElement(JsonNode,{key,name:key,data:data[key],keyPath,deep:nextDeep,isCollapsed,handleRemove:this.handleRemoveValue(key),handleUpdateValue:this.handleEditValue,onUpdate:this.onChildUpdate,onDeltaUpdate,readOnly,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser})),startObject=\"{\",endObject=\"}\";return React17.createElement(\"span\",{className:\"rejt-not-collapsed\"},React17.createElement(\"span\",{className:\"rejt-not-collapsed-delimiter\",style:delimiter},startObject),!isReadOnly&&addItemButton,React17.createElement(\"ul\",{className:\"rejt-not-collapsed-list\",style:ul},list),!isReadOnly&&addFormVisible&&React17.createElement(\"div\",{className:\"rejt-add-form\",style:addForm},React17.createElement(JsonAddValue,{handleAdd:this.handleAddValueAdd,handleCancel:this.handleAddValueCancel,addButtonElement,cancelButtonElement,inputElementGenerator,keyPath,deep,onSubmitValueParser})),React17.createElement(\"span\",{className:\"rejt-not-collapsed-delimiter\",style:delimiter},endObject),!isReadOnly&&removeItemButton)}render(){let{name,collapsed,data,keyPath,deep}=this.state,{getStyle,dataType}=this.props,value2=collapsed?this.renderCollapsed():this.renderNotCollapsed(),style=getStyle(name,data,keyPath,deep,dataType);return React17.createElement(\"div\",{className:\"rejt-object-node\"},React17.createElement(\"span\",{onClick:this.handleCollapseMode},React17.createElement(\"span\",{className:\"rejt-name\",style:style.name},name,\" :\",\" \")),value2)}};JsonObject.defaultProps={keyPath:[],deep:0,minusMenuElement:React17.createElement(\"span\",null,\" - \"),plusMenuElement:React17.createElement(\"span\",null,\" + \")};var JsonValue=class extends Component{constructor(props){super(props);let keyPath=[...props.keyPath,props.name];this.state={value:props.value,name:props.name,keyPath,deep:props.deep,editEnabled:!1,inputRef:null},this.handleEditMode=this.handleEditMode.bind(this),this.refInput=this.refInput.bind(this),this.handleCancelEdit=this.handleCancelEdit.bind(this),this.handleEdit=this.handleEdit.bind(this),this.onKeydown=this.onKeydown.bind(this);}static getDerivedStateFromProps(props,state){return props.value!==state.value?{value:props.value}:null}componentDidUpdate(){let{editEnabled,inputRef,name,value:value2,keyPath,deep}=this.state,{readOnly,dataType}=this.props,isReadOnly=readOnly(name,value2,keyPath,deep,dataType);editEnabled&&!isReadOnly&&typeof inputRef.focus==\"function\"&&inputRef.focus();}componentDidMount(){document.addEventListener(\"keydown\",this.onKeydown);}componentWillUnmount(){document.removeEventListener(\"keydown\",this.onKeydown);}onKeydown(event){event.altKey||event.ctrlKey||event.metaKey||event.shiftKey||event.repeat||((event.code===\"Enter\"||event.key===\"Enter\")&&(event.preventDefault(),this.handleEdit()),(event.code===\"Escape\"||event.key===\"Escape\")&&(event.preventDefault(),this.handleCancelEdit()));}handleEdit(){let{handleUpdateValue,originalValue,logger:logger4,onSubmitValueParser,keyPath}=this.props,{inputRef,name,deep}=this.state;if(!inputRef)return;let newValue=onSubmitValueParser(!0,keyPath,deep,name,inputRef.value);handleUpdateValue({value:newValue,key:name}).then(()=>{isComponentWillChange(originalValue,newValue)||this.handleCancelEdit();}).catch(logger4.error);}handleEditMode(){this.setState({editEnabled:!0});}refInput(node){this.state.inputRef=node;}handleCancelEdit(){this.setState({editEnabled:!1});}render(){let{name,value:value2,editEnabled,keyPath,deep}=this.state,{handleRemove,originalValue,readOnly,dataType,getStyle,editButtonElement,cancelButtonElement,inputElementGenerator,minusMenuElement,keyPath:comeFromKeyPath}=this.props,style=getStyle(name,originalValue,keyPath,deep,dataType),isReadOnly=readOnly(name,originalValue,keyPath,deep,dataType),isEditing=editEnabled&&!isReadOnly,inputElement=inputElementGenerator(VALUE,comeFromKeyPath,deep,name,originalValue,dataType),editButtonElementLayout=cloneElement(editButtonElement,{onClick:this.handleEdit}),cancelButtonElementLayout=cloneElement(cancelButtonElement,{onClick:this.handleCancelEdit}),inputElementLayout=cloneElement(inputElement,{ref:this.refInput,defaultValue:JSON.stringify(originalValue)}),minusMenuLayout=cloneElement(minusMenuElement,{onClick:handleRemove,className:\"rejt-minus-menu\",style:style.minus});return React17.createElement(\"li\",{className:\"rejt-value-node\",style:style.li},React17.createElement(\"span\",{className:\"rejt-name\",style:style.name},name,\" : \"),isEditing?React17.createElement(\"span\",{className:\"rejt-edit-form\",style:style.editForm},inputElementLayout,\" \",cancelButtonElementLayout,editButtonElementLayout):React17.createElement(\"span\",{className:\"rejt-value\",style:style.value,onClick:isReadOnly?null:this.handleEditMode},String(value2)),!isReadOnly&&!isEditing&&minusMenuLayout)}};JsonValue.defaultProps={keyPath:[],deep:0,handleUpdateValue:()=>Promise.resolve(),editButtonElement:React17.createElement(\"button\",null,\"e\"),cancelButtonElement:React17.createElement(\"button\",null,\"c\"),minusMenuElement:React17.createElement(\"span\",null,\" - \")};var object={minus:{color:\"red\"},plus:{color:\"green\"},collapsed:{color:\"grey\"},delimiter:{},ul:{padding:\"0px\",margin:\"0 0 0 25px\",listStyle:\"none\"},name:{color:\"#2287CD\"},addForm:{}},array={minus:{color:\"red\"},plus:{color:\"green\"},collapsed:{color:\"grey\"},delimiter:{},ul:{padding:\"0px\",margin:\"0 0 0 25px\",listStyle:\"none\"},name:{color:\"#2287CD\"},addForm:{}},value={minus:{color:\"red\"},editForm:{},value:{color:\"#7bba3d\"},li:{minHeight:\"22px\",lineHeight:\"22px\",outline:\"0px\"},name:{color:\"#2287CD\"}};function parse3(string){let result=string;if(result.indexOf(\"function\")===0)return (0, eval)(`(${result})`);try{result=JSON.parse(string);}catch{}return result}var JsonTree=class extends Component{constructor(props){super(props),this.state={data:props.data,rootName:props.rootName},this.onUpdate=this.onUpdate.bind(this),this.removeRoot=this.removeRoot.bind(this);}static getDerivedStateFromProps(props,state){return props.data!==state.data||props.rootName!==state.rootName?{data:props.data,rootName:props.rootName}:null}onUpdate(key,data){this.setState({data}),this.props.onFullyUpdate(data);}removeRoot(){this.onUpdate(null,null);}render(){let{data,rootName}=this.state,{isCollapsed,onDeltaUpdate,readOnly,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElement,textareaElement,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser,fallback=null}=this.props,dataType=getObjectType(data),readOnlyFunction=readOnly;getObjectType(readOnly)===\"Boolean\"&&(readOnlyFunction=()=>readOnly);let inputElementFunction=inputElement;inputElement&&getObjectType(inputElement)!==\"Function\"&&(inputElementFunction=()=>inputElement);let textareaElementFunction=textareaElement;return textareaElement&&getObjectType(textareaElement)!==\"Function\"&&(textareaElementFunction=()=>textareaElement),dataType===\"Object\"||dataType===\"Array\"?React17.createElement(\"div\",{className:\"rejt-tree\"},React17.createElement(JsonNode,{data,name:rootName,deep:-1,isCollapsed,onUpdate:this.onUpdate,onDeltaUpdate,readOnly:readOnlyFunction,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator:inputElementFunction,textareaElementGenerator:textareaElementFunction,minusMenuElement,plusMenuElement,handleRemove:this.removeRoot,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser})):fallback}};JsonTree.defaultProps={rootName:\"root\",isCollapsed:(keyPath,deep)=>deep!==-1,getStyle:(keyName,data,keyPath,deep,dataType)=>{switch(dataType){case\"Object\":case\"Error\":return object;case\"Array\":return array;default:return value}},readOnly:()=>!1,onFullyUpdate:()=>{},onDeltaUpdate:()=>{},beforeRemoveAction:()=>Promise.resolve(),beforeAddAction:()=>Promise.resolve(),beforeUpdateAction:()=>Promise.resolve(),logger:{error:()=>{}},onSubmitValueParser:(isEditMode,keyPath,deep,name,rawValue)=>parse3(rawValue),inputElement:()=>React17.createElement(\"input\",null),textareaElement:()=>React17.createElement(\"textarea\",null),fallback:null};var {window:globalWindow2}=global,Wrapper5=styled.div(({theme})=>({position:\"relative\",display:\"flex\",\".rejt-tree\":{marginLeft:\"1rem\",fontSize:\"13px\"},\".rejt-value-node, .rejt-object-node > .rejt-collapsed, .rejt-array-node > .rejt-collapsed, .rejt-object-node > .rejt-not-collapsed, .rejt-array-node > .rejt-not-collapsed\":{\"& > svg\":{opacity:0,transition:\"opacity 0.2s\"}},\".rejt-value-node:hover, .rejt-object-node:hover > .rejt-collapsed, .rejt-array-node:hover > .rejt-collapsed, .rejt-object-node:hover > .rejt-not-collapsed, .rejt-array-node:hover > .rejt-not-collapsed\":{\"& > svg\":{opacity:1}},\".rejt-edit-form button\":{display:\"none\"},\".rejt-add-form\":{marginLeft:10},\".rejt-add-value-node\":{display:\"inline-flex\",alignItems:\"center\"},\".rejt-name\":{lineHeight:\"22px\"},\".rejt-not-collapsed-delimiter\":{lineHeight:\"22px\"},\".rejt-plus-menu\":{marginLeft:5},\".rejt-object-node > span > *, .rejt-array-node > span > *\":{position:\"relative\",zIndex:2},\".rejt-object-node, .rejt-array-node\":{position:\"relative\"},\".rejt-object-node > span:first-of-type::after, .rejt-array-node > span:first-of-type::after, .rejt-collapsed::before, .rejt-not-collapsed::before\":{content:'\"\"',position:\"absolute\",top:0,display:\"block\",width:\"100%\",marginLeft:\"-1rem\",padding:\"0 4px 0 1rem\",height:22},\".rejt-collapsed::before, .rejt-not-collapsed::before\":{zIndex:1,background:\"transparent\",borderRadius:4,transition:\"background 0.2s\",pointerEvents:\"none\",opacity:.1},\".rejt-object-node:hover, .rejt-array-node:hover\":{\"& > .rejt-collapsed::before, & > .rejt-not-collapsed::before\":{background:theme.color.secondary}},\".rejt-collapsed::after, .rejt-not-collapsed::after\":{content:'\"\"',position:\"absolute\",display:\"inline-block\",pointerEvents:\"none\",width:0,height:0},\".rejt-collapsed::after\":{left:-8,top:8,borderTop:\"3px solid transparent\",borderBottom:\"3px solid transparent\",borderLeft:\"3px solid rgba(153,153,153,0.6)\"},\".rejt-not-collapsed::after\":{left:-10,top:10,borderTop:\"3px solid rgba(153,153,153,0.6)\",borderLeft:\"3px solid transparent\",borderRight:\"3px solid transparent\"},\".rejt-value\":{display:\"inline-block\",border:\"1px solid transparent\",borderRadius:4,margin:\"1px 0\",padding:\"0 4px\",cursor:\"text\",color:theme.color.defaultText},\".rejt-value-node:hover > .rejt-value\":{background:theme.color.lighter,borderColor:theme.appBorderColor}})),Button=styled.button(({theme,primary})=>({border:0,height:20,margin:1,borderRadius:4,background:primary?theme.color.secondary:\"transparent\",color:primary?theme.color.lightest:theme.color.dark,fontWeight:primary?\"bold\":\"normal\",cursor:\"pointer\",order:primary?\"initial\":9})),ActionIcon=styled(Icons)(({theme,icon,disabled})=>({display:\"inline-block\",verticalAlign:\"middle\",width:15,height:15,padding:3,marginLeft:5,cursor:disabled?\"not-allowed\":\"pointer\",color:theme.textMutedColor,\"&:hover\":disabled?{}:{color:icon===\"subtract\"?theme.color.negative:theme.color.ancillary},\"svg + &\":{marginLeft:0}})),Input=styled.input(({theme,placeholder})=>({outline:0,margin:placeholder?1:\"1px 0\",padding:\"3px 4px\",color:theme.color.defaultText,background:theme.background.app,border:`1px solid ${theme.appBorderColor}`,borderRadius:4,lineHeight:\"14px\",width:placeholder===\"Key\"?80:120,\"&:focus\":{border:`1px solid ${theme.color.secondary}`}})),RawButton=styled(IconButton)(({theme})=>({position:\"absolute\",zIndex:2,top:2,right:2,height:21,padding:\"0 3px\",background:theme.background.bar,border:`1px solid ${theme.appBorderColor}`,borderRadius:3,color:theme.textMutedColor,fontSize:\"9px\",fontWeight:\"bold\",textDecoration:\"none\",span:{marginLeft:3,marginTop:1}})),RawInput=styled(Form.Textarea)(({theme})=>({flex:1,padding:\"7px 6px\",fontFamily:theme.typography.fonts.mono,fontSize:\"12px\",lineHeight:\"18px\",\"&::placeholder\":{fontFamily:theme.typography.fonts.base,fontSize:\"13px\"},\"&:placeholder-shown\":{padding:\"7px 10px\"}})),ENTER_EVENT={bubbles:!0,cancelable:!0,key:\"Enter\",code:\"Enter\",keyCode:13},dispatchEnterKey=event=>{event.currentTarget.dispatchEvent(new globalWindow2.KeyboardEvent(\"keydown\",ENTER_EVENT));},selectValue=event=>{event.currentTarget.select();},getCustomStyleFunction=theme=>()=>({name:{color:theme.color.secondary},collapsed:{color:theme.color.dark},ul:{listStyle:\"none\",margin:\"0 0 0 1rem\",padding:0},li:{outline:0}}),ObjectControl=({name,value:value2,onChange})=>{let theme=useTheme(),data=useMemo(()=>value2&&cloneDeep(value2),[value2]),hasData=data!=null,[showRaw,setShowRaw]=useState(!hasData),[parseError,setParseError]=useState(null),updateRaw=useCallback(raw=>{try{raw&&onChange(JSON.parse(raw)),setParseError(void 0);}catch(e){setParseError(e);}},[onChange]),[forceVisible,setForceVisible]=useState(!1),onForceVisible=useCallback(()=>{onChange({}),setForceVisible(!0);},[setForceVisible]),htmlElRef=useRef(null);if(useEffect(()=>{forceVisible&&htmlElRef.current&&htmlElRef.current.select();},[forceVisible]),!hasData)return React17.createElement(Form.Button,{id:getControlSetterButtonId(name),onClick:onForceVisible},\"Set object\");let rawJSONForm=React17.createElement(RawInput,{ref:htmlElRef,id:getControlId(name),name,defaultValue:value2===null?\"\":JSON.stringify(value2,null,2),onBlur:event=>updateRaw(event.target.value),placeholder:\"Edit JSON string...\",autoFocus:forceVisible,valid:parseError?\"error\":null});return React17.createElement(Wrapper5,null,[\"Object\",\"Array\"].includes(getObjectType(data))&&React17.createElement(RawButton,{href:\"#\",onClick:e=>{e.preventDefault(),setShowRaw(v=>!v);}},React17.createElement(Icons,{icon:showRaw?\"eyeclose\":\"eye\"}),React17.createElement(\"span\",null,\"RAW\")),showRaw?rawJSONForm:React17.createElement(JsonTree,{data,rootName:name,onFullyUpdate:onChange,getStyle:getCustomStyleFunction(theme),cancelButtonElement:React17.createElement(Button,{type:\"button\"},\"Cancel\"),editButtonElement:React17.createElement(Button,{type:\"submit\"},\"Save\"),addButtonElement:React17.createElement(Button,{type:\"submit\",primary:!0},\"Save\"),plusMenuElement:React17.createElement(ActionIcon,{icon:\"add\"}),minusMenuElement:React17.createElement(ActionIcon,{icon:\"subtract\"}),inputElement:(_,__,___,key)=>key?React17.createElement(Input,{onFocus:selectValue,onBlur:dispatchEnterKey}):React17.createElement(Input,null),fallback:rawJSONForm}))};var RangeInput=styled.input(({theme,min,max,value:value2})=>({\"&\":{width:\"100%\",backgroundColor:\"transparent\",appearance:\"none\"},\"&::-webkit-slider-runnable-track\":{background:theme.base===\"light\"?`linear-gradient(to right, \n ${theme.color.green} 0%, ${theme.color.green} ${(value2-min)/(max-min)*100}%, \n ${darken(.02,theme.input.background)} ${(value2-min)/(max-min)*100}%, \n ${darken(.02,theme.input.background)} 100%)`:`linear-gradient(to right, \n ${theme.color.green} 0%, ${theme.color.green} ${(value2-min)/(max-min)*100}%, \n ${lighten(.02,theme.input.background)} ${(value2-min)/(max-min)*100}%, \n ${lighten(.02,theme.input.background)} 100%)`,boxShadow:`${theme.appBorderColor} 0 0 0 1px inset`,borderRadius:6,width:\"100%\",height:6,cursor:\"pointer\"},\"&::-webkit-slider-thumb\":{marginTop:\"-6px\",width:16,height:16,border:`1px solid ${rgba(theme.appBorderColor,.2)}`,borderRadius:\"50px\",boxShadow:`0 1px 3px 0px ${rgba(theme.appBorderColor,.2)}`,cursor:\"grab\",appearance:\"none\",background:`${theme.input.background}`,transition:\"all 150ms ease-out\",\"&:hover\":{background:`${darken(.05,theme.input.background)}`,transform:\"scale3d(1.1, 1.1, 1.1) translateY(-1px)\",transition:\"all 50ms ease-out\"},\"&:active\":{background:`${theme.input.background}`,transform:\"scale3d(1, 1, 1) translateY(0px)\",cursor:\"grabbing\"}},\"&:focus\":{outline:\"none\",\"&::-webkit-slider-runnable-track\":{borderColor:rgba(theme.color.secondary,.4)},\"&::-webkit-slider-thumb\":{borderColor:theme.color.secondary,boxShadow:`0 0px 5px 0px ${theme.color.secondary}`}},\"&::-moz-range-track\":{background:theme.base===\"light\"?`linear-gradient(to right, \n ${theme.color.green} 0%, ${theme.color.green} ${(value2-min)/(max-min)*100}%, \n ${darken(.02,theme.input.background)} ${(value2-min)/(max-min)*100}%, \n ${darken(.02,theme.input.background)} 100%)`:`linear-gradient(to right, \n ${theme.color.green} 0%, ${theme.color.green} ${(value2-min)/(max-min)*100}%, \n ${lighten(.02,theme.input.background)} ${(value2-min)/(max-min)*100}%, \n ${lighten(.02,theme.input.background)} 100%)`,boxShadow:`${theme.appBorderColor} 0 0 0 1px inset`,borderRadius:6,width:\"100%\",height:6,cursor:\"pointer\",outline:\"none\"},\"&::-moz-range-thumb\":{width:16,height:16,border:`1px solid ${rgba(theme.appBorderColor,.2)}`,borderRadius:\"50px\",boxShadow:`0 1px 3px 0px ${rgba(theme.appBorderColor,.2)}`,cursor:\"grab\",background:`${theme.input.background}`,transition:\"all 150ms ease-out\",\"&:hover\":{background:`${darken(.05,theme.input.background)}`,transform:\"scale3d(1.1, 1.1, 1.1) translateY(-1px)\",transition:\"all 50ms ease-out\"},\"&:active\":{background:`${theme.input.background}`,transform:\"scale3d(1, 1, 1) translateY(0px)\",cursor:\"grabbing\"}},\"&::-ms-track\":{background:theme.base===\"light\"?`linear-gradient(to right, \n ${theme.color.green} 0%, ${theme.color.green} ${(value2-min)/(max-min)*100}%, \n ${darken(.02,theme.input.background)} ${(value2-min)/(max-min)*100}%, \n ${darken(.02,theme.input.background)} 100%)`:`linear-gradient(to right, \n ${theme.color.green} 0%, ${theme.color.green} ${(value2-min)/(max-min)*100}%, \n ${lighten(.02,theme.input.background)} ${(value2-min)/(max-min)*100}%, \n ${lighten(.02,theme.input.background)} 100%)`,boxShadow:`${theme.appBorderColor} 0 0 0 1px inset`,color:\"transparent\",width:\"100%\",height:\"6px\",cursor:\"pointer\"},\"&::-ms-fill-lower\":{borderRadius:6},\"&::-ms-fill-upper\":{borderRadius:6},\"&::-ms-thumb\":{width:16,height:16,background:`${theme.input.background}`,border:`1px solid ${rgba(theme.appBorderColor,.2)}`,borderRadius:50,cursor:\"grab\",marginTop:0},\"@supports (-ms-ime-align:auto)\":{\"input[type=range]\":{margin:\"0\"}}})),RangeLabel=styled.span({paddingLeft:5,paddingRight:5,fontSize:12,whiteSpace:\"nowrap\",fontFeatureSettings:\"tnum\",fontVariantNumeric:\"tabular-nums\"}),RangeCurrentAndMaxLabel=styled(RangeLabel)(({numberOFDecimalsPlaces,max})=>({width:`${numberOFDecimalsPlaces+max.toString().length*2+3}ch`,textAlign:\"right\",flexShrink:0})),RangeWrapper=styled.div({display:\"flex\",alignItems:\"center\",width:\"100%\"});function getNumberOfDecimalPlaces(number){let match=number.toString().match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);return match?Math.max(0,(match[1]?match[1].length:0)-(match[2]?+match[2]:0)):0}var RangeControl=({name,value:value2,onChange,min=0,max=100,step=1,onBlur,onFocus})=>{let handleChange=event=>{onChange(parse2(event.target.value));},hasValue=value2!==void 0,numberOFDecimalsPlaces=useMemo(()=>getNumberOfDecimalPlaces(step),[step]);return React17.createElement(RangeWrapper,null,React17.createElement(RangeLabel,null,min),React17.createElement(RangeInput,{id:getControlId(name),type:\"range\",onChange:handleChange,name,value:value2,min,max,step,onFocus,onBlur}),React17.createElement(RangeCurrentAndMaxLabel,{numberOFDecimalsPlaces,max},`${hasValue?value2.toFixed(numberOFDecimalsPlaces):\"--\"}`,\" / \",max))};var Wrapper6=styled.label({display:\"flex\"}),MaxLength=styled.div(({isMaxed})=>({marginLeft:\"0.75rem\",paddingTop:\"0.35rem\",color:isMaxed?\"red\":void 0})),TextControl=({name,value:value2,onChange,onFocus,onBlur,maxLength})=>{let handleChange=event=>{onChange(event.target.value);},[forceVisible,setForceVisible]=useState(!1),onForceVisible=useCallback(()=>{onChange(\"\"),setForceVisible(!0);},[setForceVisible]);if(value2===void 0)return React17.createElement(Form.Button,{id:getControlSetterButtonId(name),onClick:onForceVisible},\"Set string\");let isValid=typeof value2==\"string\";return React17.createElement(Wrapper6,null,React17.createElement(Form.Textarea,{id:getControlId(name),maxLength,onChange:handleChange,size:\"flex\",placeholder:\"Edit string...\",autoFocus:forceVisible,valid:isValid?null:\"error\",name,value:isValid?value2:\"\",onFocus,onBlur}),maxLength&&React17.createElement(MaxLength,{isMaxed:value2?.length===maxLength},value2?.length??0,\" / \",maxLength))};var FileInput=styled(Form.Input)({padding:10});function revokeOldUrls(urls){urls.forEach(url=>{url.startsWith(\"blob:\")&&URL.revokeObjectURL(url);});}var FilesControl=({onChange,name,accept=\"image/*\",value:value2})=>{let inputElement=useRef(null);function handleFileChange(e){if(!e.target.files)return;let fileUrls=Array.from(e.target.files).map(file=>URL.createObjectURL(file));onChange(fileUrls),revokeOldUrls(value2);}return useEffect(()=>{value2==null&&inputElement.current&&(inputElement.current.value=null);},[value2,name]),React17.createElement(FileInput,{ref:inputElement,id:getControlId(name),type:\"file\",name,multiple:!0,onChange:handleFileChange,accept,size:\"flex\"})};var LazyColorControl=lazy(()=>import('./Color-3YIJY6X7.mjs')),ColorControl=props=>React17.createElement(Suspense,{fallback:React17.createElement(\"div\",null)},React17.createElement(LazyColorControl,{...props}));var Controls2={array:ObjectControl,object:ObjectControl,boolean:BooleanControl,color:ColorControl,date:DateControl,number:NumberControl,check:OptionsControl,\"inline-check\":OptionsControl,radio:OptionsControl,\"inline-radio\":OptionsControl,select:OptionsControl,\"multi-select\":OptionsControl,range:RangeControl,text:TextControl,file:FilesControl},NoControl=()=>React17.createElement(React17.Fragment,null,\"-\"),ArgControl=({row,arg,updateArgs})=>{let{key,control}=row,[isFocused,setFocused]=useState(!1),[boxedValue,setBoxedValue]=useState({value:arg});useEffect(()=>{isFocused||setBoxedValue({value:arg});},[isFocused,arg]);let onChange=useCallback(argVal=>(setBoxedValue({value:argVal}),updateArgs({[key]:argVal}),argVal),[updateArgs,key]),onBlur=useCallback(()=>setFocused(!1),[]),onFocus=useCallback(()=>setFocused(!0),[]);if(!control||control.disable)return React17.createElement(NoControl,null);let props={name:key,argType:row,value:boxedValue.value,onChange,onBlur,onFocus},Control=Controls2[control.type]||NoControl;return React17.createElement(Control,{...props,...control,controlType:control.type})};var Name=styled.span({fontWeight:\"bold\"}),Required=styled.span(({theme})=>({color:theme.color.negative,fontFamily:theme.typography.fonts.mono,cursor:\"help\"})),Description=styled.div(({theme})=>({\"&&\":{p:{margin:\"0 0 10px 0\"},a:{color:theme.color.secondary}},code:{...codeCommon({theme}),fontSize:12,fontFamily:theme.typography.fonts.mono},\"& code\":{margin:0,display:\"inline-block\"},\"& pre > code\":{whiteSpace:\"pre-wrap\"}})),Type=styled.div(({theme,hasDescription})=>({color:theme.base===\"light\"?transparentize(.1,theme.color.defaultText):transparentize(.2,theme.color.defaultText),marginTop:hasDescription?4:0})),TypeWithJsDoc=styled.div(({theme,hasDescription})=>({color:theme.base===\"light\"?transparentize(.1,theme.color.defaultText):transparentize(.2,theme.color.defaultText),marginTop:hasDescription?12:0,marginBottom:12})),StyledTd=styled.td(({theme,expandable})=>({paddingLeft:expandable?\"40px !important\":\"20px !important\"})),ArgRow=props=>{let{row,updateArgs,compact,expandable,initialExpandedArgs}=props,{name,description}=row,table=row.table||{},type=table.type||row.type,defaultValue=table.defaultValue||row.defaultValue,required=row.type?.required,hasDescription=description!=null&&description!==\"\";return React17.createElement(\"tr\",null,React17.createElement(StyledTd,{expandable},React17.createElement(Name,null,name),required?React17.createElement(Required,{title:\"Required\"},\"*\"):null),compact?null:React17.createElement(\"td\",null,hasDescription&&React17.createElement(Description,null,React17.createElement(Markdown,null,description)),table.jsDocTags!=null?React17.createElement(React17.Fragment,null,React17.createElement(TypeWithJsDoc,{hasDescription},React17.createElement(ArgValue,{value:type,initialExpandedArgs})),React17.createElement(ArgJsDoc,{tags:table.jsDocTags})):React17.createElement(Type,{hasDescription},React17.createElement(ArgValue,{value:type,initialExpandedArgs}))),compact?null:React17.createElement(\"td\",null,React17.createElement(ArgValue,{value:defaultValue,initialExpandedArgs})),updateArgs?React17.createElement(\"td\",null,React17.createElement(ArgControl,{...props})):null)};var ExpanderIcon=styled(Icons)(({theme})=>({marginRight:8,marginLeft:-10,marginTop:-2,height:12,width:12,color:theme.base===\"light\"?transparentize(.25,theme.color.defaultText):transparentize(.3,theme.color.defaultText),border:\"none\",display:\"inline-block\"})),FlexWrapper=styled.span(({theme})=>({display:\"flex\",lineHeight:\"20px\",alignItems:\"center\"})),Section=styled.td(({theme})=>({position:\"relative\",letterSpacing:\"0.35em\",textTransform:\"uppercase\",fontWeight:theme.typography.weight.bold,fontSize:theme.typography.size.s1-1,color:theme.base===\"light\"?transparentize(.4,theme.color.defaultText):transparentize(.6,theme.color.defaultText),background:`${theme.background.app} !important`,\"& ~ td\":{background:`${theme.background.app} !important`}})),Subsection=styled.td(({theme})=>({position:\"relative\",fontWeight:theme.typography.weight.bold,fontSize:theme.typography.size.s2-1,background:theme.background.app})),StyledTd2=styled.td(()=>({position:\"relative\"})),StyledTr=styled.tr(({theme})=>({\"&:hover > td\":{backgroundColor:`${lighten(.005,theme.background.app)} !important`,boxShadow:`${theme.color.mediumlight} 0 - 1px 0 0 inset`,cursor:\"row-resize\"}})),ClickIntercept=styled.button(()=>({background:\"none\",border:\"none\",padding:\"0\",font:\"inherit\",position:\"absolute\",top:0,bottom:0,left:0,right:0,height:\"100%\",width:\"100%\",color:\"transparent\",cursor:\"row-resize !important\"})),SectionRow=({level=\"section\",label,children,initialExpanded=!0,colSpan=3})=>{let[expanded,setExpanded]=useState(initialExpanded),Level=level===\"subsection\"?Subsection:Section,itemCount=children?.length||0,caption=level===\"subsection\"?`${itemCount} item${itemCount!==1?\"s\":\"\"}`:\"\",icon=expanded?\"arrowdown\":\"arrowright\",helperText=`${expanded?\"Hide\":\"Show\"} ${level===\"subsection\"?itemCount:label} item${itemCount!==1?\"s\":\"\"}`;return React17.createElement(React17.Fragment,null,React17.createElement(StyledTr,{title:helperText},React17.createElement(Level,{colSpan:1},React17.createElement(ClickIntercept,{onClick:e=>setExpanded(!expanded),tabIndex:0},helperText),React17.createElement(FlexWrapper,null,React17.createElement(ExpanderIcon,{icon}),label)),React17.createElement(StyledTd2,{colSpan:colSpan-1},React17.createElement(ClickIntercept,{onClick:e=>setExpanded(!expanded),tabIndex:-1,style:{outline:\"none\"}},helperText),expanded?null:caption)),expanded?children:null)};var TableWrapper=styled.table(({theme,compact,inAddonPanel})=>({\"&&\":{borderSpacing:0,color:theme.color.defaultText,\"td, th\":{padding:0,border:\"none\",verticalAlign:\"top\",textOverflow:\"ellipsis\"},fontSize:theme.typography.size.s2-1,lineHeight:\"20px\",textAlign:\"left\",width:\"100%\",marginTop:inAddonPanel?0:25,marginBottom:inAddonPanel?0:40,\"thead th:first-of-type, td:first-of-type\":{width:\"25%\"},\"th:first-of-type, td:first-of-type\":{paddingLeft:20},\"th:nth-of-type(2), td:nth-of-type(2)\":{...compact?null:{width:\"35%\"}},\"td:nth-of-type(3)\":{...compact?null:{width:\"15%\"}},\"th:last-of-type, td:last-of-type\":{paddingRight:20,...compact?null:{width:\"25%\"}},th:{color:theme.base===\"light\"?transparentize(.25,theme.color.defaultText):transparentize(.45,theme.color.defaultText),paddingTop:10,paddingBottom:10,paddingLeft:15,paddingRight:15},td:{paddingTop:\"10px\",paddingBottom:\"10px\",\"&:not(:first-of-type)\":{paddingLeft:15,paddingRight:15},\"&:last-of-type\":{paddingRight:20}},marginLeft:inAddonPanel?0:1,marginRight:inAddonPanel?0:1,tbody:{...inAddonPanel?null:{filter:theme.base===\"light\"?\"drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.10))\":\"drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.20))\"},\"> tr > *\":{background:theme.background.content,borderTop:`1px solid ${theme.appBorderColor}`},...inAddonPanel?null:{\"> tr:first-of-type > *\":{borderBlockStart:`1px solid ${theme.appBorderColor}`},\"> tr:last-of-type > *\":{borderBlockEnd:`1px solid ${theme.appBorderColor}`},\"> tr > *:first-of-type\":{borderInlineStart:`1px solid ${theme.appBorderColor}`},\"> tr > *:last-of-type\":{borderInlineEnd:`1px solid ${theme.appBorderColor}`},\"> tr:first-of-type > td:first-of-type\":{borderTopLeftRadius:theme.appBorderRadius},\"> tr:first-of-type > td:last-of-type\":{borderTopRightRadius:theme.appBorderRadius},\"> tr:last-of-type > td:first-of-type\":{borderBottomLeftRadius:theme.appBorderRadius},\"> tr:last-of-type > td:last-of-type\":{borderBottomRightRadius:theme.appBorderRadius}}}}}),({isLoading,theme})=>isLoading?{\"th span, td span, td button\":{display:\"inline\",backgroundColor:theme.appBorderColor,animation:`${theme.animation.glow} 1.5s ease-in-out infinite`,color:\"transparent\",boxShadow:\"none\",borderRadius:0}}:{}),StyledIconButton=styled(IconButton)(({theme})=>({color:theme.barTextColor,margin:\"-4px -12px -4px 0\"})),ControlHeadingWrapper=styled.span({display:\"flex\",justifyContent:\"space-between\"});var sortFns={alpha:(a,b)=>a.name.localeCompare(b.name),requiredFirst:(a,b)=>Number(!!b.type?.required)-Number(!!a.type?.required)||a.name.localeCompare(b.name),none:void 0},rowLoadingData=key=>({key,name:\"propertyName\",description:\"This is a short description\",control:{type:\"text\"},table:{type:{summary:\"summary\"},defaultValue:{summary:\"defaultValue\"}}}),argsTableLoadingData={rows:{row1:rowLoadingData(\"row1\"),row2:rowLoadingData(\"row2\"),row3:rowLoadingData(\"row3\")}},groupRows=(rows,sort)=>{let sections={ungrouped:[],ungroupedSubsections:{},sections:{}};if(!rows)return sections;Object.entries(rows).forEach(([key,row])=>{let{category,subcategory}=row?.table||{};if(category){let section=sections.sections[category]||{ungrouped:[],subsections:{}};if(!subcategory)section.ungrouped.push({key,...row});else {let subsection=section.subsections[subcategory]||[];subsection.push({key,...row}),section.subsections[subcategory]=subsection;}sections.sections[category]=section;}else if(subcategory){let subsection=sections.ungroupedSubsections[subcategory]||[];subsection.push({key,...row}),sections.ungroupedSubsections[subcategory]=subsection;}else sections.ungrouped.push({key,...row});});let sortFn=sortFns[sort],sortSubsection=record=>sortFn?Object.keys(record).reduce((acc,cur)=>({...acc,[cur]:record[cur].sort(sortFn)}),{}):record;return {ungrouped:sections.ungrouped.sort(sortFn),ungroupedSubsections:sortSubsection(sections.ungroupedSubsections),sections:Object.keys(sections.sections).reduce((acc,cur)=>({...acc,[cur]:{ungrouped:sections.sections[cur].ungrouped.sort(sortFn),subsections:sortSubsection(sections.sections[cur].subsections)}}),{})}},safeIncludeConditionalArg=(row,args,globals)=>{try{return includeConditionalArg(row,args,globals)}catch(err){return once.warn(err.message),!1}},ArgsTable=props=>{if(\"error\"in props)return React17.createElement(EmptyBlock,null,props.error,\"\\xA0\",React17.createElement(Link,{href:\"http://storybook.js.org/docs/\",target:\"_blank\",withArrow:!0},\"Read the docs\"));let{updateArgs,resetArgs,compact,inAddonPanel,initialExpandedArgs,sort=\"none\"}=props,isLoading=\"isLoading\"in props,{rows,args,globals}=\"rows\"in props?props:argsTableLoadingData,groups=groupRows(pickBy(rows,row=>!row?.table?.disable&&safeIncludeConditionalArg(row,args||{},globals||{})),sort);if(groups.ungrouped.length===0&&Object.entries(groups.sections).length===0&&Object.entries(groups.ungroupedSubsections).length===0)return React17.createElement(EmptyBlock,null,\"No inputs found for this component.\\xA0\",React17.createElement(Link,{href:\"http://storybook.js.org/docs/\",target:\"_blank\",withArrow:!0},\"Read the docs\"));let colSpan=1;updateArgs&&(colSpan+=1),compact||(colSpan+=2);let expandable=Object.keys(groups.sections).length>0,common={updateArgs,compact,inAddonPanel,initialExpandedArgs};return React17.createElement(ResetWrapper,null,React17.createElement(TableWrapper,{\"aria-hidden\":isLoading,compact,inAddonPanel,isLoading,className:\"docblock-argstable sb-unstyled\"},React17.createElement(\"thead\",{className:\"docblock-argstable-head\"},React17.createElement(\"tr\",null,React17.createElement(\"th\",null,React17.createElement(\"span\",null,\"Name\")),compact?null:React17.createElement(\"th\",null,React17.createElement(\"span\",null,\"Description\")),compact?null:React17.createElement(\"th\",null,React17.createElement(\"span\",null,\"Default\")),updateArgs?React17.createElement(\"th\",null,React17.createElement(ControlHeadingWrapper,null,\"Control\",\" \",!isLoading&&resetArgs&&React17.createElement(StyledIconButton,{onClick:()=>resetArgs(),title:\"Reset controls\"},React17.createElement(Icons,{icon:\"undo\",\"aria-hidden\":!0})))):null)),React17.createElement(\"tbody\",{className:\"docblock-argstable-body\"},groups.ungrouped.map(row=>React17.createElement(ArgRow,{key:row.key,row,arg:args&&args[row.key],...common})),Object.entries(groups.ungroupedSubsections).map(([subcategory,subsection])=>React17.createElement(SectionRow,{key:subcategory,label:subcategory,level:\"subsection\",colSpan},subsection.map(row=>React17.createElement(ArgRow,{key:row.key,row,arg:args&&args[row.key],expandable,...common})))),Object.entries(groups.sections).map(([category,section])=>React17.createElement(SectionRow,{key:category,label:category,level:\"section\",colSpan},section.ungrouped.map(row=>React17.createElement(ArgRow,{key:row.key,row,arg:args&&args[row.key],...common})),Object.entries(section.subsections).map(([subcategory,subsection])=>React17.createElement(SectionRow,{key:subcategory,label:subcategory,level:\"subsection\",colSpan},subsection.map(row=>React17.createElement(ArgRow,{key:row.key,row,arg:args&&args[row.key],expandable,...common})))))))))};var TabbedArgsTable=({tabs,...props})=>{let entries=Object.entries(tabs);return entries.length===1?React17.createElement(ArgsTable,{...entries[0][1],...props}):React17.createElement(TabsState,null,entries.map(entry=>{let[label,table]=entry,id=`prop_table_div_${label}`;return React17.createElement(\"div\",{key:id,id,title:label},({active})=>active?React17.createElement(ArgsTable,{key:`prop_table_${label}`,...table,...props}):null)}))};var NoControlsWrapper=styled.div(({theme})=>({background:theme.background.warning,color:theme.color.darkest,padding:\"10px 15px\",lineHeight:\"20px\",boxShadow:`${theme.appBorderColor} 0 -1px 0 0 inset`})),NoControlsWarning=()=>React17.createElement(NoControlsWrapper,null,\"This story is not configured to handle controls.\",\" \",React17.createElement(Link,{href:\"https://storybook.js.org/docs/react/essentials/controls\",target:\"_blank\",cancel:!1,withArrow:!0},\"Learn how to add controls\"));var Label4=styled.div(({theme})=>({marginRight:30,fontSize:`${theme.typography.size.s1}px`,color:theme.base===\"light\"?transparentize(.4,theme.color.defaultText):transparentize(.6,theme.color.defaultText)})),Sample=styled.div({overflow:\"hidden\",whiteSpace:\"nowrap\",textOverflow:\"ellipsis\"}),TypeSpecimen=styled.div({display:\"flex\",flexDirection:\"row\",alignItems:\"baseline\",\"&:not(:last-child)\":{marginBottom:\"1rem\"}}),Wrapper7=styled.div(withReset,({theme})=>({...getBlockBackgroundStyle(theme),margin:\"25px 0 40px\",padding:\"30px 20px\"})),Typeset=({fontFamily,fontSizes,fontWeight,sampleText,...props})=>React17.createElement(Wrapper7,{...props,className:\"docblock-typeset sb-unstyled\"},fontSizes.map(size=>React17.createElement(TypeSpecimen,{key:size},React17.createElement(Label4,null,size),React17.createElement(Sample,{style:{fontFamily,fontSize:size,fontWeight,lineHeight:1.2}},sampleText||\"Was he a beast if music could move him so?\"))));var ItemTitle=styled.div(({theme})=>({fontWeight:theme.typography.weight.bold,color:theme.color.defaultText})),ItemSubtitle=styled.div(({theme})=>({color:theme.base===\"light\"?transparentize(.2,theme.color.defaultText):transparentize(.6,theme.color.defaultText)})),ItemDescription=styled.div({flex:\"0 0 30%\",lineHeight:\"20px\",marginTop:5}),SwatchLabel=styled.div(({theme})=>({flex:1,textAlign:\"center\",fontFamily:theme.typography.fonts.mono,fontSize:theme.typography.size.s1,lineHeight:1,overflow:\"hidden\",color:theme.base===\"light\"?transparentize(.4,theme.color.defaultText):transparentize(.6,theme.color.defaultText),\"> div\":{display:\"inline-block\",overflow:\"hidden\",maxWidth:\"100%\",textOverflow:\"ellipsis\"},span:{display:\"block\",marginTop:2}})),SwatchLabels=styled.div({display:\"flex\",flexDirection:\"row\"}),Swatch=styled.div(({background})=>({position:\"relative\",flex:1,\"&::before\":{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",background,content:'\"\"'}})),SwatchColors=styled.div(({theme})=>({...getBlockBackgroundStyle(theme),display:\"flex\",flexDirection:\"row\",height:50,marginBottom:5,overflow:\"hidden\",backgroundColor:\"white\",backgroundImage:\"repeating-linear-gradient(-45deg, #ccc, #ccc 1px, #fff 1px, #fff 16px)\",backgroundClip:\"padding-box\"})),SwatchSpecimen=styled.div({display:\"flex\",flexDirection:\"column\",flex:1,position:\"relative\",marginBottom:30}),Swatches=styled.div({flex:1,display:\"flex\",flexDirection:\"row\"}),Item=styled.div({display:\"flex\",alignItems:\"flex-start\"}),ListName=styled.div({flex:\"0 0 30%\"}),ListSwatches=styled.div({flex:1}),ListHeading=styled.div(({theme})=>({display:\"flex\",flexDirection:\"row\",alignItems:\"center\",paddingBottom:20,fontWeight:theme.typography.weight.bold,color:theme.base===\"light\"?transparentize(.4,theme.color.defaultText):transparentize(.6,theme.color.defaultText)})),List=styled.div(({theme})=>({fontSize:theme.typography.size.s2,lineHeight:\"20px\",display:\"flex\",flexDirection:\"column\"}));function renderSwatch(color,index){return React17.createElement(Swatch,{key:`${color}-${index}`,title:color,background:color})}function renderSwatchLabel(color,index,colorDescription){return React17.createElement(SwatchLabel,{key:`${color}-${index}`,title:color},React17.createElement(\"div\",null,color,colorDescription&&React17.createElement(\"span\",null,colorDescription)))}function renderSwatchSpecimen(colors){return Array.isArray(colors)?React17.createElement(SwatchSpecimen,null,React17.createElement(SwatchColors,null,colors.map((color,index)=>renderSwatch(color,index))),React17.createElement(SwatchLabels,null,colors.map((color,index)=>renderSwatchLabel(color,index)))):React17.createElement(SwatchSpecimen,null,React17.createElement(SwatchColors,null,Object.values(colors).map((color,index)=>renderSwatch(color,index))),React17.createElement(SwatchLabels,null,Object.keys(colors).map((color,index)=>renderSwatchLabel(color,index,colors[color]))))}var ColorItem=({title,subtitle,colors})=>React17.createElement(Item,null,React17.createElement(ItemDescription,null,React17.createElement(ItemTitle,null,title),React17.createElement(ItemSubtitle,null,subtitle)),React17.createElement(Swatches,null,renderSwatchSpecimen(colors))),ColorPalette=({children,...props})=>React17.createElement(ResetWrapper,null,React17.createElement(List,{...props,className:\"docblock-colorpalette sb-unstyled\"},React17.createElement(ListHeading,null,React17.createElement(ListName,null,\"Name\"),React17.createElement(ListSwatches,null,\"Swatches\")),children));var ItemLabel=styled.div(({theme})=>({fontFamily:theme.typography.fonts.base,fontSize:theme.typography.size.s2,color:theme.color.defaultText,marginLeft:10,lineHeight:1.2})),ItemSpecimen=styled.div(({theme})=>({...getBlockBackgroundStyle(theme),overflow:\"hidden\",height:40,width:40,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flex:\"none\",\"> img, > svg\":{width:20,height:20}})),Item2=styled.div({display:\"inline-flex\",flexDirection:\"row\",alignItems:\"center\",flex:\"0 1 calc(20% - 10px)\",minWidth:120,margin:\"0px 10px 30px 0\"}),List2=styled.div({display:\"flex\",flexFlow:\"row wrap\"}),IconItem=({name,children})=>React17.createElement(Item2,null,React17.createElement(ItemSpecimen,null,children),React17.createElement(ItemLabel,null,name)),IconGallery=({children,...props})=>React17.createElement(ResetWrapper,null,React17.createElement(List2,{...props,className:\"docblock-icongallery sb-unstyled\"},children));var anchorBlockIdFromId=storyId=>`anchor--${storyId}`,Anchor=({storyId,children})=>React17.createElement(\"div\",{id:anchorBlockIdFromId(storyId),className:\"sb-anchor\"},children);global&&global.__DOCS_CONTEXT__===void 0&&(global.__DOCS_CONTEXT__=createContext(null),global.__DOCS_CONTEXT__.displayName=\"DocsContext\");var DocsContext=global?global.__DOCS_CONTEXT__:createContext(null);var useOf=(moduleExportOrType,validTypes)=>useContext(DocsContext).resolveOf(moduleExportOrType,validTypes);function extractComponentArgTypes(component,parameters){let{extractArgTypes}=parameters.docs||{};if(!extractArgTypes)throw new Error(\"Args unsupported. See Args documentation for your framework.\");return extractArgTypes(component)}function getArgTypesFromResolved(resolved,props){if(resolved.type===\"component\"){let{component,projectAnnotations:{parameters:parameters2}}=resolved;return {argTypes:extractComponentArgTypes(component,parameters2),parameters:parameters2}}if(resolved.type===\"meta\"){let{preparedMeta:{argTypes:argTypes2,parameters:parameters2}}=resolved;return {argTypes:argTypes2,parameters:parameters2}}let{story:{argTypes,parameters}}=resolved;return {argTypes,parameters}}var ArgTypes=props=>{let{of}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");let resolved=useOf(of||\"meta\"),{argTypes,parameters}=getArgTypesFromResolved(resolved),argTypesParameters=parameters.docs?.argTypes||{},include=props.include??argTypesParameters.include,exclude=props.exclude??argTypesParameters.exclude,sort=props.sort??argTypesParameters.sort,filteredArgTypes=filterArgTypes(argTypes,include,exclude);return React17.createElement(ArgsTable,{rows:filteredArgTypes,sort})};var PRIMARY_STORY=\"^\";var titleCase=str2=>str2.split(\"-\").map(part=>part.charAt(0).toUpperCase()+part.slice(1)).join(\"\"),getComponentName=component=>{if(component)return typeof component==\"string\"?component.includes(\"-\")?titleCase(component):component:component.__docgenInfo&&component.__docgenInfo.displayName?component.__docgenInfo.displayName:component.name};function scrollToElement(element,block=\"start\"){element.scrollIntoView({behavior:\"smooth\",block,inline:\"nearest\"});}function useStory(storyId,context){let stories=useStories([storyId],context);return stories&&stories[0]}function useStories(storyIds,context){let[storiesById,setStories]=useState({});return useEffect(()=>{Promise.all(storyIds.map(async storyId=>{let story=await context.loadStory(storyId);setStories(current=>current[storyId]===story?current:{...current,[storyId]:story});}));}),storyIds.map(storyId=>{if(storiesById[storyId])return storiesById[storyId];try{return context.storyById(storyId)}catch{return null}})}var useArgs=(storyId,context)=>{let storyContext=context.getStoryContext(context.storyById()),[args,setArgs]=useState(storyContext.args);useEffect(()=>{let cb=changed=>{changed.storyId===storyId&&setArgs(changed.args);};return context.channel.on(STORY_ARGS_UPDATED,cb),()=>context.channel.off(STORY_ARGS_UPDATED,cb)},[storyId]);let updateArgs=useCallback(updatedArgs=>context.channel.emit(UPDATE_STORY_ARGS,{storyId,updatedArgs}),[storyId]),resetArgs=useCallback(argNames=>context.channel.emit(RESET_STORY_ARGS,{storyId,argNames}),[storyId]);return [args,updateArgs,resetArgs]},useGlobals=context=>{let storyContext=context.getStoryContext(context.storyById()),[globals,setGlobals]=useState(storyContext.globals);return useEffect(()=>{let cb=changed=>{setGlobals(changed.globals);};return context.channel.on(GLOBALS_UPDATED,cb),()=>context.channel.off(GLOBALS_UPDATED,cb)},[]),[globals]},extractComponentArgTypes2=(component,parameters,include,exclude)=>{let{extractArgTypes}=parameters.docs||{};if(!extractArgTypes)throw new Error(\"Args unsupported. See Args documentation for your framework.\");let argTypes=extractArgTypes(component);return argTypes=filterArgTypes(argTypes,include,exclude),argTypes},isShortcut=value2=>value2&&[PRIMARY_STORY].includes(value2),getComponent=(props={},component)=>{let{of}=props,{story}=props;if(isShortcut(of)||isShortcut(story))return component||null;if(!of)throw new Error(\"No component found.\");return of},addComponentTabs=(tabs,components2,parameters,include,exclude,sort)=>({...tabs,...mapValues(components2,comp=>({rows:extractComponentArgTypes2(comp,parameters,include,exclude),sort}))}),StoryTable=props=>{let context=useContext(DocsContext),{story:storyName,component,subcomponents,showComponent,include,exclude,sort}=props;try{let storyId;switch(storyName){case PRIMARY_STORY:{storyId=context.storyById().id;break}default:storyId=context.storyIdByName(storyName);}let story=useStory(storyId,context),[args,updateArgs,resetArgs]=useArgs(storyId,context),[globals]=useGlobals(context);if(!story)return React17.createElement(ArgsTable,{isLoading:!0,updateArgs,resetArgs});let argTypes=filterArgTypes(story.argTypes,include,exclude),mainLabel=getComponentName(component)||\"Story\",tabs={[mainLabel]:{rows:argTypes,args,globals,updateArgs,resetArgs}},storyHasArgsWithControls=argTypes&&Object.values(argTypes).find(v=>!!v?.control);if(storyHasArgsWithControls||(updateArgs=null,resetArgs=null,tabs={}),component&&(!storyHasArgsWithControls||showComponent)&&(tabs=addComponentTabs(tabs,{[mainLabel]:component},story.parameters,include,exclude)),subcomponents){if(Array.isArray(subcomponents))throw new Error(\"Unexpected subcomponents array. Expected an object whose keys are tab labels and whose values are components.\");tabs=addComponentTabs(tabs,subcomponents,story.parameters,include,exclude);}return React17.createElement(TabbedArgsTable,{tabs,sort})}catch(err){return React17.createElement(ArgsTable,{error:err.message})}},ComponentsTable=props=>{let{components:components2,include,exclude,sort,parameters}=props,tabs=addComponentTabs({},components2,parameters,include,exclude);return React17.createElement(TabbedArgsTable,{tabs,sort})},ArgsTable2=props=>{deprecate(dedent2`The ArgsTable doc block is deprecated. Instead use the ArgTypes doc block for static tables or the Controls doc block for tables with controls.\n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#argstable-block\n `);let context=useContext(DocsContext),parameters,component,subcomponents;try{({parameters,component,subcomponents}=context.storyById());}catch{let{of}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");({projectAnnotations:{parameters}}=context.resolveOf(of,[\"component\"]));}let{include,exclude,components:components2,sort:sortProp}=props,{story:storyName}=props,sort=sortProp||parameters.controls?.sort,main=getComponent(props,component);if(storyName)return React17.createElement(StoryTable,{...props,component:main,subcomponents,sort});if(!components2&&!subcomponents){let mainProps;try{mainProps={rows:extractComponentArgTypes2(main,parameters,include,exclude)};}catch(err){mainProps={error:err.message};}return React17.createElement(ArgsTable,{...mainProps,sort})}if(components2)return React17.createElement(ComponentsTable,{...props,components:components2,sort,parameters});let mainLabel=getComponentName(main);return React17.createElement(ComponentsTable,{...props,components:{[mainLabel]:main,...subcomponents},sort,parameters})};ArgsTable2.defaultProps={of:PRIMARY_STORY};function argsHash(args){return stringify(args)}var SourceContext=createContext({sources:{}}),UNKNOWN_ARGS_HASH=\"--unknown--\",SourceContainer=({children,channel})=>{let[sources,setSources]=useState({});return useEffect(()=>{let handleSnippetRendered=(idOrEvent,inputSource=null,inputFormat=!1)=>{let{id,args=void 0,source,format:format2}=typeof idOrEvent==\"string\"?{id:idOrEvent,source:inputSource,format:inputFormat}:idOrEvent,hash=args?argsHash(args):UNKNOWN_ARGS_HASH;setSources(current=>({...current,[id]:{...current[id],[hash]:{code:source,format:format2}}}));};return channel.on(SNIPPET_RENDERED,handleSnippetRendered),()=>channel.off(SNIPPET_RENDERED,handleSnippetRendered)},[]),React17.createElement(SourceContext.Provider,{value:{sources}},children)};var SourceState=(SourceState2=>(SourceState2.OPEN=\"open\",SourceState2.CLOSED=\"closed\",SourceState2.NONE=\"none\",SourceState2))(SourceState||{}),getSourceState=stories=>{let states=stories.map(story=>story.parameters.docs?.source?.state).filter(Boolean);return states.length===0?\"closed\":states[0]},getStorySource=(storyId,args,sourceContext)=>{let{sources}=sourceContext,sourceMap=sources?.[storyId];return sourceMap?.[argsHash(args)]||sourceMap?.[UNKNOWN_ARGS_HASH]||{code:\"\"}},getSnippet=({snippet,storyContext,typeFromProps,transformFromProps})=>{let{__isArgsStory:isArgsStory}=storyContext.parameters,sourceParameters=storyContext.parameters.docs?.source||{},type=typeFromProps||sourceParameters.type||SourceType.AUTO;if(sourceParameters.code!==void 0)return sourceParameters.code;let code=type===SourceType.DYNAMIC||type===SourceType.AUTO&&snippet&&isArgsStory?snippet:sourceParameters.originalSource||\"\";return sourceParameters.transformSource&&deprecate(dedent2`The \\`transformSource\\` parameter at \\`parameters.docs.source.transformSource\\` is deprecated, please use \\`parameters.docs.source.transform\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block\n `),storyContext.parameters.docs?.transformSource&&deprecate(dedent2`The \\`transformSource\\` parameter at \\`parameters.docs.transformSource\\` is deprecated, please use \\`parameters.docs.source.transform\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block\n `),storyContext.parameters.jsx?.transformSource&&deprecate(dedent2`The \\`transformSource\\` parameter at \\`parameters.jsx.transformSource\\` is deprecated, please use \\`parameters.docs.source.transform\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block\n `),(transformFromProps??sourceParameters.transform??sourceParameters.transformSource??storyContext.parameters.docs?.transformSource??storyContext.parameters.jsx?.transformSource)?.(code,storyContext)||code},useSourceProps=(props,docsContext,sourceContext)=>{let storyIds=props.ids||(props.id?[props.id]:[]),storiesFromIds=useStories(storyIds,docsContext),stories=storiesFromIds,{of}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");if(of)stories=[docsContext.resolveOf(of,[\"story\"]).story];else if(stories.length===0)try{stories=[docsContext.storyById()];}catch{}if(!storiesFromIds.every(Boolean))return {error:\"Oh no! The source is not available.\",state:\"none\"};let sourceParameters=stories[0]?.parameters?.docs?.source||{},{code}=props,format2=props.format??sourceParameters.format,language=props.language??sourceParameters.language??\"jsx\",dark=props.dark??sourceParameters.dark??!1;code||(code=stories.map((story,index)=>{if(!story)return \"\";let storyContext=docsContext.getStoryContext(story),argsForSource=props.__forceInitialArgs?storyContext.initialArgs:storyContext.unmappedArgs,source=getStorySource(story.id,argsForSource,sourceContext);return index===0&&(format2=source.format??story.parameters.docs?.source?.format??!1),getSnippet({snippet:source.code,storyContext:{...storyContext,args:argsForSource},typeFromProps:props.type,transformFromProps:props.transform})}).join(`\n\n`));let state=getSourceState(stories);return code?{code,format:format2,language,dark,state}:{error:\"Oh no! The source is not available.\",state}},Source2=props=>{props.id&&deprecate(dedent2`The \\`id\\` prop on Source is deprecated, please use the \\`of\\` prop instead to reference a story. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block\n `),props.ids&&deprecate(dedent2`The \\`ids\\` prop on Source is deprecated, please use the \\`of\\` prop instead to reference a story. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block\n `);let sourceContext=useContext(SourceContext),docsContext=useContext(DocsContext),{state,...sourceProps}=useSourceProps(props,docsContext,sourceContext);return React17.createElement(Source,{...sourceProps})};var getStoryId2=(props,context)=>{let{id,of,meta,story}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");if(id)return deprecate(dedent2`Referencing stories by \\`id\\` is deprecated, please use \\`of\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#story-block'`),id;let{name}=props;return name?(deprecate(dedent2`Referencing stories by \\`name\\` is deprecated, please use \\`of\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#story-block'`),context.storyIdByName(name)):(story&&deprecate(dedent2`The \\`story\\` prop is deprecated, please export your stories from CSF files and reference them with \\`of={}\\`.\n\n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#story-block'`),meta&&context.referenceMeta(meta,!1),context.resolveOf(of||story||\"story\",[\"story\"]).story.id)},getStoryProps=(props,story,context)=>{let{parameters={}}=story||{},{docs={}}=parameters,storyParameters=docs.story||{};if(docs.disable)return null;let{inlineStories,iframeHeight}=docs;typeof inlineStories<\"u\"&&deprecate(dedent2`The \\`docs.inlineStories\\` parameter is deprecated, use \\`docs.story.inline\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#autodocs-changes'\n `);let inline=props.inline??storyParameters.inline??inlineStories??!1;if(typeof iframeHeight<\"u\"&&deprecate(dedent2`The \\`docs.iframeHeight\\` parameter is deprecated, use \\`docs.story.iframeHeight\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#autodocs-changes'\n `),inline){let height2=props.height??storyParameters.height,autoplay=props.autoplay??storyParameters.autoplay??!1;return {story,inline:!0,height:height2,autoplay,forceInitialArgs:!!props.__forceInitialArgs,primary:!!props.__primary,renderStoryToElement:context.renderStoryToElement}}let height=props.height??storyParameters.height??storyParameters.iframeHeight??iframeHeight??\"100px\";return {story,inline:!1,height,primary:!!props.__primary}},Story2=(props={__forceInitialArgs:!1,__primary:!1})=>{let context=useContext(DocsContext),storyId=getStoryId2(props,context),story=useStory(storyId,context);if(!story)return React17.createElement(StorySkeleton,null);let storyProps=getStoryProps(props,story,context);return storyProps?React17.createElement(Story,{...storyProps}):null};var useDeprecatedPreviewProps=({withSource,mdxSource,children,layout:layoutProp,...props},docsContext,sourceContext)=>{let storyIds=Children.toArray(children).filter(c=>c.props&&(c.props.id||c.props.name||c.props.of)).map(c=>getStoryId2(c.props,docsContext)),stories=useStories(storyIds,docsContext),isLoading=stories.some(s=>!s),sourceProps=useSourceProps({...mdxSource?{code:decodeURI(mdxSource)}:{ids:storyIds},...props.of&&{of:props.of}},docsContext,sourceContext);if(withSource===\"none\")return {isLoading,previewProps:props};let layout=layoutProp;return Children.forEach(children,child=>{layout||(layout=child?.props?.parameters?.layout);}),stories.forEach(story=>{layout||!story||(layout=story?.parameters.layout??story.parameters.docs?.canvas?.layout);}),{isLoading,previewProps:{...props,layout:layout??\"padded\",withSource:sourceProps,isExpanded:(withSource||sourceProps.state)===\"open\"}}},Canvas=props=>{let docsContext=useContext(DocsContext),sourceContext=useContext(SourceContext),{children,of,source}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");let{isLoading,previewProps}=useDeprecatedPreviewProps(props,docsContext,sourceContext),story,sourceProps,hookError;try{({story}=useOf(of||\"story\",[\"story\"]));}catch(error){children||(hookError=error);}try{sourceProps=useSourceProps({...source,...of&&{of}},docsContext,sourceContext);}catch(error){children||(hookError=error);}if(hookError)throw hookError;if(props.withSource&&deprecate(dedent2`Setting source state with \\`withSource\\` is deprecated, please use \\`sourceState\\` with 'hidden', 'shown' or 'none' instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block\n `),props.mdxSource&&deprecate(dedent2`Setting source code with \\`mdxSource\\` is deprecated, please use source={{code: '...'}} instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block\n `),(props.isColumn!==void 0||props.columns!==void 0)&&deprecate(dedent2`\\`isColumn\\` and \\`columns\\` props are deprecated as the Canvas block now only supports showing a single story. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block\n `),children)return deprecate(dedent2`Passing children to Canvas is deprecated, please use the \\`of\\` prop instead to reference a story. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block\n `),isLoading?React17.createElement(PreviewSkeleton,null):React17.createElement(Preview,{...previewProps},children);let layout=props.layout??story.parameters.layout??story.parameters.docs?.canvas?.layout??\"padded\",withToolbar=props.withToolbar??story.parameters.docs?.canvas?.withToolbar??!1,additionalActions=props.additionalActions??story.parameters.docs?.canvas?.additionalActions,sourceState=props.sourceState??story.parameters.docs?.canvas?.sourceState??\"hidden\",className=props.className??story.parameters.docs?.canvas?.className;return React17.createElement(Preview,{withSource:sourceState===\"none\"?void 0:sourceProps,isExpanded:sourceState===\"shown\",withToolbar,additionalActions,className,layout},React17.createElement(Story2,{of:of||story.moduleExport,meta:props.meta,...props.story}))};var useGlobals2=(story,context)=>{let storyContext=context.getStoryContext(story),[globals,setGlobals]=useState(storyContext.globals);return useEffect(()=>{let onGlobalsUpdated=changed=>{setGlobals(changed.globals);};return context.channel.on(GLOBALS_UPDATED,onGlobalsUpdated),()=>context.channel.off(GLOBALS_UPDATED,onGlobalsUpdated)},[context.channel]),[globals]};var useArgs2=(story,context)=>{let result=useArgsIfDefined(story,context);if(!result)throw new Error(\"No result when story was defined\");return result},useArgsIfDefined=(story,context)=>{let storyContext=story?context.getStoryContext(story):{args:{}},{id:storyId}=story||{id:\"none\"},[args,setArgs]=useState(storyContext.args);useEffect(()=>{let onArgsUpdated=changed=>{changed.storyId===storyId&&setArgs(changed.args);};return context.channel.on(STORY_ARGS_UPDATED,onArgsUpdated),()=>context.channel.off(STORY_ARGS_UPDATED,onArgsUpdated)},[storyId,context.channel]);let updateArgs=useCallback(updatedArgs=>context.channel.emit(UPDATE_STORY_ARGS,{storyId,updatedArgs}),[storyId,context.channel]),resetArgs=useCallback(argNames=>context.channel.emit(RESET_STORY_ARGS,{storyId,argNames}),[storyId,context.channel]);return story&&[args,updateArgs,resetArgs]};var Controls3=props=>{let{of}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");let context=useContext(DocsContext),{story}=context.resolveOf(of||\"story\",[\"story\"]),{parameters,argTypes}=story,controlsParameters=parameters.docs?.controls||{},include=props.include??controlsParameters.include,exclude=props.exclude??controlsParameters.exclude,sort=props.sort??controlsParameters.sort,[args,updateArgs,resetArgs]=useArgs2(story,context),[globals]=useGlobals2(story,context),filteredArgTypes=filterArgTypes(argTypes,include,exclude);return React17.createElement(ArgsTable,{rows:filteredArgTypes,args,globals,updateArgs,resetArgs,sort})};var {document:document2}=global,assertIsFn=val=>{if(typeof val!=\"function\")throw new Error(`Expected story function, got: ${val}`);return val},AddContext=props=>{let{children,...rest}=props,parentContext=React17.useContext(DocsContext);return React17.createElement(DocsContext.Provider,{value:{...parentContext,...rest}},children)},CodeOrSourceMdx=({className,children,...rest})=>{if(typeof className!=\"string\"&&(typeof children!=\"string\"||!children.match(/[\\n\\r]/g)))return React17.createElement(Code,null,children);let language=className&&className.split(\"-\");return React17.createElement(Source,{language:language&&language[1]||\"plaintext\",format:!1,code:children,...rest})};function navigate(context,url){context.channel.emit(NAVIGATE_URL,url);}var A=components.a,AnchorInPage=({hash,children})=>{let context=useContext(DocsContext);return React17.createElement(A,{href:hash,target:\"_self\",onClick:event=>{let id=hash.substring(1);document2.getElementById(id)&&navigate(context,hash);}},children)},AnchorMdx=props=>{let{href,target,children,...rest}=props,context=useContext(DocsContext);if(href){if(href.startsWith(\"#\"))return React17.createElement(AnchorInPage,{hash:href},children);if(target!==\"_blank\"&&!href.startsWith(\"https://\"))return React17.createElement(A,{href,onClick:event=>{event.button===0&&!event.altKey&&!event.ctrlKey&&!event.metaKey&&!event.shiftKey&&(event.preventDefault(),navigate(context,event.currentTarget.getAttribute(\"href\")));},target,...rest},children)}return React17.createElement(A,{...props})},SUPPORTED_MDX_HEADERS=[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"],OcticonHeaders=SUPPORTED_MDX_HEADERS.reduce((acc,headerType)=>({...acc,[headerType]:styled(headerType)({\"& svg\":{position:\"relative\",top:\"-0.1em\",visibility:\"hidden\"},\"&:hover svg\":{visibility:\"visible\"}})}),{}),OcticonAnchor=styled.a(()=>({float:\"left\",lineHeight:\"inherit\",paddingRight:\"10px\",marginLeft:\"-24px\",color:\"inherit\"})),HeaderWithOcticonAnchor=({as,id,children,...rest})=>{let context=useContext(DocsContext),OcticonHeader=OcticonHeaders[as],hash=`#${id}`;return React17.createElement(OcticonHeader,{id,...rest},React17.createElement(OcticonAnchor,{\"aria-hidden\":\"true\",href:hash,tabIndex:-1,target:\"_self\",onClick:event=>{document2.getElementById(id)&&navigate(context,hash);}},React17.createElement(Icons,{icon:\"link\"})),children)},HeaderMdx=props=>{let{as,id,children,...rest}=props;if(id)return React17.createElement(HeaderWithOcticonAnchor,{as,id,...rest},children);let Component4=as,{as:omittedAs,...withoutAs}=props;return React17.createElement(Component4,{...nameSpaceClassNames(withoutAs,as)})},HeadersMdx=SUPPORTED_MDX_HEADERS.reduce((acc,headerType)=>({...acc,[headerType]:props=>React17.createElement(HeaderMdx,{as:headerType,...props})}),{});var Markdown2=props=>{if(!props.children)return null;if(typeof props.children!=\"string\")throw new Error(dedent2`The Markdown block only accepts children as a single string, but children were of type: '${typeof props.children}'\n This is often caused by not wrapping the child in a template string.\n \n This is invalid:\n \n # Some heading\n A paragraph\n \n\n Instead do:\n \n {\\`\n # Some heading\n A paragraph\n \\`}\n \n `);return React17.createElement(Markdown,{...props,options:{forceBlock:!0,overrides:{code:CodeOrSourceMdx,a:AnchorMdx,...HeadersMdx,...props?.options?.overrides},...props?.options}})};var DescriptionType=(DescriptionType2=>(DescriptionType2.INFO=\"info\",DescriptionType2.NOTES=\"notes\",DescriptionType2.DOCGEN=\"docgen\",DescriptionType2.AUTO=\"auto\",DescriptionType2))(DescriptionType||{}),DEPRECATION_MIGRATION_LINK=\"https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#description-block-parametersnotes-and-parametersinfo\",getNotes=notes=>notes&&(typeof notes==\"string\"?notes:str(notes.markdown)||str(notes.text)),getInfo=info=>info&&(typeof info==\"string\"?info:str(info.text)),noDescription=component=>null,getDescriptionFromResolvedOf=resolvedOf=>{switch(resolvedOf.type){case\"story\":return resolvedOf.story.parameters.docs?.description?.story||null;case\"meta\":{let{parameters,component}=resolvedOf.preparedMeta,metaDescription=parameters.docs?.description?.component;return metaDescription||parameters.docs?.extractComponentDescription?.(component,{component,parameters})||null}case\"component\":{let{component,projectAnnotations:{parameters}}=resolvedOf;return parameters.docs?.extractComponentDescription?.(component,{component,parameters})||null}default:throw new Error(`Unrecognized module type resolved from 'useOf', got: ${resolvedOf.type}`)}},getDescriptionFromDeprecatedProps=({type,markdown,children},{storyById})=>{let{component,parameters}=storyById();if(children||markdown)return children||markdown;let{notes,info,docs}=parameters;(Boolean(notes)||Boolean(info))&&deprecate(`Using 'parameters.notes' or 'parameters.info' properties to describe stories is deprecated. See ${DEPRECATION_MIGRATION_LINK}`);let{extractComponentDescription=noDescription,description}=docs||{},componentDescriptionParameter=description?.component;if(componentDescriptionParameter)return componentDescriptionParameter;switch(type){case\"info\":return getInfo(info);case\"notes\":return getNotes(notes);case\"docgen\":case\"auto\":default:return extractComponentDescription(component,{component,...parameters})}},DescriptionContainer=props=>{let{of,type,markdown:markdownProp,children}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");let context=useContext(DocsContext),resolvedOf=useOf(of||\"meta\"),markdown;return type||markdownProp||children?markdown=getDescriptionFromDeprecatedProps(props,context):markdown=getDescriptionFromResolvedOf(resolvedOf),type&&deprecate(`Manually specifying description type is deprecated. See ${DEPRECATION_MIGRATION_LINK}`),markdownProp&&deprecate(`The 'markdown' prop on the Description block is deprecated. See ${DEPRECATION_MIGRATION_LINK}`),children&&deprecate(`The 'children' prop on the Description block is deprecated. See ${DEPRECATION_MIGRATION_LINK}`),markdown?React17.createElement(Markdown2,null,markdown):null};var {document:document3,window:globalWindow3}=global,DocsContainer=({context,theme,children})=>(useEffect(()=>{let url;try{if(url=new URL(globalWindow3.parent.location.toString()),url.hash){let element=document3.getElementById(url.hash.substring(1));element&&setTimeout(()=>{scrollToElement(element);},200);}}catch{}}),React17.createElement(DocsContext.Provider,{value:context},React17.createElement(SourceContainer,{channel:context.channel},React17.createElement(ThemeProvider,{theme:ensure(theme)},React17.createElement(DocsPageWrapper,null,children)))));var STORY_KIND_PATH_SEPARATOR=/\\s*\\/\\s*/,extractTitle=title=>{let groups=title.trim().split(STORY_KIND_PATH_SEPARATOR);return groups&&groups[groups.length-1]||title},Title2=({children})=>{let context=useContext(DocsContext),content=children||extractTitle(context.storyById().title);return content?React17.createElement(Title,{className:\"sbdocs-title sb-unstyled\"},content):null};var Subtitle2=({children})=>{let docsContext=useContext(DocsContext),{parameters}=docsContext.storyById(),content=children||parameters?.componentSubtitle;return content?React17.createElement(Subtitle,{className:\"sbdocs-subtitle sb-unstyled\"},content):null};var Subheading=({children,disableAnchor})=>{if(disableAnchor||typeof children!=\"string\")return React17.createElement(H3,null,children);let tagID=children.toLowerCase().replace(/[^a-z0-9]/gi,\"-\");return React17.createElement(HeaderMdx,{as:\"h3\",id:tagID},children)};var DocsStory=({of,expanded=!0,withToolbar:withToolbarProp=!1,__forceInitialArgs=!1,__primary=!1})=>{let{story}=useOf(of||\"story\",[\"story\"]),withToolbar=story.parameters.docs?.canvas?.withToolbar??withToolbarProp;return React17.createElement(Anchor,{storyId:story.id},expanded&&React17.createElement(React17.Fragment,null,React17.createElement(Subheading,null,story.name),React17.createElement(DescriptionContainer,{of})),React17.createElement(Canvas,{of,withToolbar,story:{__forceInitialArgs,__primary},source:{__forceInitialArgs}}))};var Primary=({name})=>{let docsContext=useContext(DocsContext);name&&deprecate(dedent2`\\`name\\` prop is deprecated on the Primary block.\n The Primary block should only be used to render the primary story, which is automatically found.\n `);let storyId=name&&docsContext.storyIdByName(name),story=docsContext.storyById(storyId);return story?React17.createElement(DocsStory,{of:story.moduleExport,expanded:!1,__primary:!0,withToolbar:!0}):null};var Heading=({children,disableAnchor,...props})=>{if(disableAnchor||typeof children!=\"string\")return React17.createElement(H2,null,children);let tagID=children.toLowerCase().replace(/[^a-z0-9]/gi,\"-\");return React17.createElement(HeaderMdx,{as:\"h2\",id:tagID,...props},children)};var StyledHeading=styled(Heading)(({theme})=>({fontSize:`${theme.typography.size.s2-1}px`,fontWeight:theme.typography.weight.bold,lineHeight:\"16px\",letterSpacing:\"0.35em\",textTransform:\"uppercase\",color:theme.textMutedColor,border:0,marginBottom:\"12px\",\"&:first-of-type\":{marginTop:\"56px\"}})),Stories=({title,includePrimary=!0})=>{let{componentStories}=useContext(DocsContext),stories=componentStories().filter(story=>!story.parameters?.docs?.disable);return includePrimary||(stories=stories.slice(1)),!stories||stories.length===0?null:React17.createElement(React17.Fragment,null,React17.createElement(StyledHeading,null,title),stories.map(story=>story&&React17.createElement(DocsStory,{key:story.id,of:story.moduleExport,expanded:!0,__forceInitialArgs:!0})))};Stories.defaultProps={title:\"Stories\"};var DocsPage=()=>{let resolvedOf=useOf(\"meta\",[\"meta\"]),{stories}=resolvedOf.csfFile,isSingleStory=Object.keys(stories).length===1;return React17.createElement(React17.Fragment,null,React17.createElement(Title2,null),React17.createElement(Subtitle2,null),React17.createElement(DescriptionContainer,{of:\"meta\"}),isSingleStory?React17.createElement(DescriptionContainer,{of:\"story\"}):null,React17.createElement(Primary,null),React17.createElement(Controls3,null),isSingleStory?null:React17.createElement(Stories,null))};var Docs=({docsParameter,context})=>{let Container=docsParameter.container||DocsContainer,Page=docsParameter.page||DocsPage;return React17.createElement(Container,{context,theme:docsParameter.theme},React17.createElement(Page,null))};var ExternalDocsContext=class extends DocsContext$1{constructor(channel,store,renderStoryToElement,processMetaExports){super(channel,store,renderStoryToElement,[]);this.channel=channel;this.store=store;this.renderStoryToElement=renderStoryToElement;this.processMetaExports=processMetaExports;this.referenceMeta=(metaExports,attach)=>{let csfFile=this.processMetaExports(metaExports);this.referenceCSFFile(csfFile),super.referenceMeta(metaExports,attach);};}};var ConstantMap=class{constructor(prefix){this.prefix=prefix;this.entries=new Map;}get(key){return this.entries.has(key)||this.entries.set(key,`${this.prefix}${this.entries.size}`),this.entries.get(key)}},ExternalPreview=class extends Preview$1{constructor(projectAnnotations){super(new Channel);this.projectAnnotations=projectAnnotations;this.importPaths=new ConstantMap(\"./importPath/\");this.titles=new ConstantMap(\"title-\");this.storyIndex={v:4,entries:{}};this.moduleExportsByImportPath={};this.processMetaExports=metaExports=>{let importPath=this.importPaths.get(metaExports);this.moduleExportsByImportPath[importPath]=metaExports;let title=metaExports.default.title||this.titles.get(metaExports),csfFile=this.storyStore.processCSFFileWithCache(metaExports,importPath,title);return Object.values(csfFile.stories).forEach(({id,name})=>{this.storyIndex.entries[id]={id,importPath,title,name,type:\"story\"};}),this.onStoriesChanged({storyIndex:this.storyIndex}),csfFile};this.docsContext=()=>new ExternalDocsContext(this.channel,this.storyStore,this.renderStoryToElement.bind(this),this.processMetaExports.bind(this));this.initialize({getStoryIndex:()=>this.storyIndex,importFn:path=>Promise.resolve(this.moduleExportsByImportPath[path]),getProjectAnnotations:()=>composeConfigs([{parameters:{docs:{story:{inline:!0}}}},this.projectAnnotations])});}};function usePreview(projectAnnotations){let previewRef=useRef();return previewRef.current||(previewRef.current=new ExternalPreview(projectAnnotations)),previewRef.current}var ExternalDocs=({projectAnnotationsList,children})=>{let projectAnnotations=composeConfigs(projectAnnotationsList),preview2=usePreview(projectAnnotations),docsParameter={...projectAnnotations.parameters?.docs,page:()=>children};return React17.createElement(Docs,{docsParameter,context:preview2.docsContext()})};var preview,ExternalDocsContainer=({projectAnnotations,children})=>(preview||(preview=new ExternalPreview(projectAnnotations)),React17.createElement(DocsContext.Provider,{value:preview.docsContext()},React17.createElement(ThemeProvider,{theme:ensure(themes.light)},children)));var Meta=({of})=>{let context=useContext(DocsContext);of&&context.referenceMeta(of,!0);try{let primary=context.storyById();return React17.createElement(Anchor,{storyId:primary.id})}catch{return null}};var Unstyled=props=>React17.createElement(\"div\",{...props,className:\"sb-unstyled\"});var Wrapper8=({children})=>React17.createElement(\"div\",{style:{fontFamily:\"sans-serif\"}},children);\n\nexport { AddContext, Anchor, AnchorMdx, ArgTypes, ArgsTable2 as ArgsTable, BooleanControl, Canvas, CodeOrSourceMdx, ColorControl, ColorItem, ColorPalette, ComponentsTable, Controls3 as Controls, DateControl, DescriptionContainer as Description, DescriptionType, Docs, DocsContainer, DocsContext, DocsPage, DocsStory, ExternalDocs, ExternalDocsContainer, FilesControl, HeaderMdx, HeadersMdx, Heading, IconGallery, IconItem, Markdown2 as Markdown, Meta, NoControlsWarning, NumberControl, ObjectControl, OptionsControl, PRIMARY_STORY, Primary, ArgsTable as PureArgsTable, RangeControl, Source2 as Source, SourceContainer, SourceContext, SourceState, Stories, Story2 as Story, StoryTable, Subheading, Subtitle2 as Subtitle, TextControl, Title2 as Title, Typeset, UNKNOWN_ARGS_HASH, Unstyled, Wrapper8 as Wrapper, anchorBlockIdFromId, argsHash, assertIsFn, extractComponentArgTypes2 as extractComponentArgTypes, extractTitle, format, formatDate, formatTime, getComponent, getStoryId2 as getStoryId, getStoryProps, parse2 as parse, parseDate, parseTime, useOf, useSourceProps };\n"],"file":"assets/index-96a2bc4b.js"} \ No newline at end of file diff --git a/assets/index-9c09ad76.js b/assets/index-9c09ad76.js new file mode 100644 index 00000000..dcf954f4 --- /dev/null +++ b/assets/index-9c09ad76.js @@ -0,0 +1,25 @@ +import{r as za,g as Pa}from"./index-ebeaab24.js";var Co={exports:{}},ve={},xo={exports:{}},_o={};/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */(function(e){function n(C,z){var P=C.length;C.push(z);e:for(;0>>1,Y=C[H];if(0>>1;Hl(sl,P))mnl(Xt,sl)?(C[H]=Xt,C[mn]=P,H=mn):(C[H]=sl,C[pn]=P,H=pn);else if(mnl(Xt,P))C[H]=Xt,C[mn]=P,H=mn;else break e}}return z}function l(C,z){var P=C.sortIndex-z.sortIndex;return P!==0?P:C.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var u=Date,o=u.now();e.unstable_now=function(){return u.now()-o}}var s=[],d=[],v=1,m=null,p=3,g=!1,w=!1,k=!1,F=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function f(C){for(var z=t(d);z!==null;){if(z.callback===null)r(d);else if(z.startTime<=C)r(d),z.sortIndex=z.expirationTime,n(s,z);else break;z=t(d)}}function h(C){if(k=!1,f(C),!w)if(t(s)!==null)w=!0,ul(E);else{var z=t(d);z!==null&&ol(h,z.startTime-C)}}function E(C,z){w=!1,k&&(k=!1,c(N),N=-1),g=!0;var P=p;try{for(f(z),m=t(s);m!==null&&(!(m.expirationTime>z)||C&&!Ce());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var Y=H(m.expirationTime<=z);z=e.unstable_now(),typeof Y=="function"?m.callback=Y:m===t(s)&&r(s),f(z)}else r(s);m=t(s)}if(m!==null)var Yt=!0;else{var pn=t(d);pn!==null&&ol(h,pn.startTime-z),Yt=!1}return Yt}finally{m=null,p=P,g=!1}}var x=!1,_=null,N=-1,B=5,T=-1;function Ce(){return!(e.unstable_now()-TC||125H?(C.sortIndex=P,n(d,C),t(s)===null&&C===t(d)&&(k?(c(N),N=-1):k=!0,ol(h,P-H))):(C.sortIndex=Y,n(s,C),w||g||(w=!0,ul(E))),C},e.unstable_shouldYield=Ce,e.unstable_wrapCallback=function(C){var z=p;return function(){var P=p;p=z;try{return C.apply(this,arguments)}finally{p=P}}}})(_o);xo.exports=_o;var Ta=xo.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var No=za,me=Ta;function y(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ol=Object.prototype.hasOwnProperty,La=/^[: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]*$/,yu={},gu={};function Ma(e){return Ol.call(gu,e)?!0:Ol.call(yu,e)?!1:La.test(e)?gu[e]=!0:(yu[e]=!0,!1)}function Da(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Ra(e,n,t,r){if(n===null||typeof n>"u"||Da(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function ie(e,n,t,r,l,i,u){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=i,this.removeEmptyString=u}var q={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){q[e]=new ie(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];q[n]=new ie(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){q[e]=new ie(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){q[e]=new ie(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){q[e]=new ie(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){q[e]=new ie(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){q[e]=new ie(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){q[e]=new ie(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){q[e]=new ie(e,5,!1,e.toLowerCase(),null,!1,!1)});var Ni=/[\-:]([a-z])/g;function zi(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(Ni,zi);q[n]=new ie(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Ni,zi);q[n]=new ie(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Ni,zi);q[n]=new ie(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){q[e]=new ie(e,1,!1,e.toLowerCase(),null,!1,!1)});q.xlinkHref=new ie("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){q[e]=new ie(e,1,!1,e.toLowerCase(),null,!0,!0)});function Pi(e,n,t,r){var l=q.hasOwnProperty(n)?q[n]:null;(l!==null?l.type!==0:r||!(2o||l[u]!==i[o]){var s=` +`+l[u].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=u&&0<=o);break}}}finally{cl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?pt(e):""}function Oa(e){switch(e.tag){case 5:return pt(e.type);case 16:return pt("Lazy");case 13:return pt("Suspense");case 19:return pt("SuspenseList");case 0:case 2:case 15:return e=fl(e.type,!1),e;case 11:return e=fl(e.type.render,!1),e;case 1:return e=fl(e.type,!0),e;default:return""}}function Ul(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Mn:return"Fragment";case Ln:return"Portal";case Fl:return"Profiler";case Ti:return"StrictMode";case Il:return"Suspense";case jl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case To:return(e.displayName||"Context")+".Consumer";case Po:return(e._context.displayName||"Context")+".Provider";case Li:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Mi:return n=e.displayName||null,n!==null?n:Ul(e.type)||"Memo";case Ye:n=e._payload,e=e._init;try{return Ul(e(n))}catch{}}return null}function Fa(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Ul(n);case 8:return n===Ti?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function sn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Mo(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Ia(e){var n=Mo(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,i=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(u){r=""+u,i.call(this,u)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(u){r=""+u},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function Zt(e){e._valueTracker||(e._valueTracker=Ia(e))}function Do(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=Mo(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Sr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Vl(e,n){var t=n.checked;return V({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function ku(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=sn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function Ro(e,n){n=n.checked,n!=null&&Pi(e,"checked",n,!1)}function Al(e,n){Ro(e,n);var t=sn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?Bl(e,n.type,t):n.hasOwnProperty("defaultValue")&&Bl(e,n.type,sn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Su(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function Bl(e,n,t){(n!=="number"||Sr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var mt=Array.isArray;function Hn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=Jt.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function zt(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var yt={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ja=["Webkit","ms","Moz","O"];Object.keys(yt).forEach(function(e){ja.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),yt[n]=yt[e]})});function jo(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||yt.hasOwnProperty(e)&&yt[e]?(""+n).trim():n+"px"}function Uo(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=jo(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Ua=V({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Wl(e,n){if(n){if(Ua[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function $l(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){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 Kl=null;function Di(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Yl=null,Qn=null,Wn=null;function xu(e){if(e=$t(e)){if(typeof Yl!="function")throw Error(y(280));var n=e.stateNode;n&&(n=Gr(n),Yl(e.stateNode,e.type,n))}}function Vo(e){Qn?Wn?Wn.push(e):Wn=[e]:Qn=e}function Ao(){if(Qn){var e=Qn,n=Wn;if(Wn=Qn=null,xu(e),n)for(e=0;e>>=0,e===0?32:31-(Ga(e)/Za|0)|0}var qt=64,bt=4194304;function vt(e){switch(e&-e){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: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&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function _r(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,u=t&268435455;if(u!==0){var o=u&~l;o!==0?r=vt(o):(i&=u,i!==0&&(r=vt(i)))}else u=t&~l,u!==0?r=vt(u):i!==0&&(r=vt(i));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,i=n&-n,l>=i||l===16&&(i&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Qt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Pe(n),e[n]=t}function ec(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=wt),Ru=String.fromCharCode(32),Ou=!1;function us(e,n){switch(e){case"keyup":return Pc.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function os(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Dn=!1;function Lc(e,n){switch(e){case"compositionend":return os(n);case"keypress":return n.which!==32?null:(Ou=!0,Ru);case"textInput":return e=n.data,e===Ru&&Ou?null:e;default:return null}}function Mc(e,n){if(Dn)return e==="compositionend"||!Ai&&us(e,n)?(e=ls(),dr=ji=Je=null,Dn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=Uu(t)}}function fs(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?fs(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function ds(){for(var e=window,n=Sr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Sr(e.document)}return n}function Bi(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Ac(e){var n=ds(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&fs(t.ownerDocument.documentElement,t)){if(r!==null&&Bi(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=Vu(t,i);var u=Vu(t,r);l&&u&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==u.node||e.focusOffset!==u.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(n),e.extend(u.node,u.offset)):(n.setEnd(u.node,u.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Rn=null,bl=null,St=null,ei=!1;function Au(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;ei||Rn==null||Rn!==Sr(r)||(r=Rn,"selectionStart"in r&&Bi(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),St&&Rt(St,r)||(St=r,r=Pr(bl,"onSelect"),0In||(e.current=ui[In],ui[In]=null,In--)}function D(e,n){In++,ui[In]=e.current,e.current=n}var an={},te=fn(an),se=fn(!1),En=an;function Gn(e,n){var t=e.type.contextTypes;if(!t)return an;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in t)l[i]=n[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function ae(e){return e=e.childContextTypes,e!=null}function Lr(){O(se),O(te)}function Yu(e,n,t){if(te.current!==an)throw Error(y(168));D(te,n),D(se,t)}function Ss(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Fa(e)||"Unknown",l));return V({},t,r)}function Mr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||an,En=te.current,D(te,e),D(se,se.current),!0}function Xu(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=Ss(e,n,En),r.__reactInternalMemoizedMergedChildContext=e,O(se),O(te),D(te,e)):O(se),D(se,t)}var je=null,Zr=!1,_l=!1;function Es(e){je===null?je=[e]:je.push(e)}function qc(e){Zr=!0,Es(e)}function dn(){if(!_l&&je!==null){_l=!0;var e=0,n=M;try{var t=je;for(M=1;e>=u,l-=u,Ue=1<<32-Pe(n)+l|t<N?(B=_,_=null):B=_.sibling;var T=p(c,_,f[N],h);if(T===null){_===null&&(_=B);break}e&&_&&T.alternate===null&&n(c,_),a=i(T,a,N),x===null?E=T:x.sibling=T,x=T,_=B}if(N===f.length)return t(c,_),I&&vn(c,N),E;if(_===null){for(;NN?(B=_,_=null):B=_.sibling;var Ce=p(c,_,T.value,h);if(Ce===null){_===null&&(_=B);break}e&&_&&Ce.alternate===null&&n(c,_),a=i(Ce,a,N),x===null?E=Ce:x.sibling=Ce,x=Ce,_=B}if(T.done)return t(c,_),I&&vn(c,N),E;if(_===null){for(;!T.done;N++,T=f.next())T=m(c,T.value,h),T!==null&&(a=i(T,a,N),x===null?E=T:x.sibling=T,x=T);return I&&vn(c,N),E}for(_=r(c,_);!T.done;N++,T=f.next())T=g(_,c,N,T.value,h),T!==null&&(e&&T.alternate!==null&&_.delete(T.key===null?N:T.key),a=i(T,a,N),x===null?E=T:x.sibling=T,x=T);return e&&_.forEach(function(rt){return n(c,rt)}),I&&vn(c,N),E}function F(c,a,f,h){if(typeof f=="object"&&f!==null&&f.type===Mn&&f.key===null&&(f=f.props.children),typeof f=="object"&&f!==null){switch(f.$$typeof){case Gt:e:{for(var E=f.key,x=a;x!==null;){if(x.key===E){if(E=f.type,E===Mn){if(x.tag===7){t(c,x.sibling),a=l(x,f.props.children),a.return=c,c=a;break e}}else if(x.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ye&&no(E)===x.type){t(c,x.sibling),a=l(x,f.props),a.ref=ct(c,x,f),a.return=c,c=a;break e}t(c,x);break}else n(c,x);x=x.sibling}f.type===Mn?(a=Sn(f.props.children,c.mode,h,f.key),a.return=c,c=a):(h=kr(f.type,f.key,f.props,null,c.mode,h),h.ref=ct(c,a,f),h.return=c,c=h)}return u(c);case Ln:e:{for(x=f.key;a!==null;){if(a.key===x)if(a.tag===4&&a.stateNode.containerInfo===f.containerInfo&&a.stateNode.implementation===f.implementation){t(c,a.sibling),a=l(a,f.children||[]),a.return=c,c=a;break e}else{t(c,a);break}else n(c,a);a=a.sibling}a=Rl(f,c.mode,h),a.return=c,c=a}return u(c);case Ye:return x=f._init,F(c,a,x(f._payload),h)}if(mt(f))return w(c,a,f,h);if(it(f))return k(c,a,f,h);ur(c,f)}return typeof f=="string"&&f!==""||typeof f=="number"?(f=""+f,a!==null&&a.tag===6?(t(c,a.sibling),a=l(a,f),a.return=c,c=a):(t(c,a),a=Dl(f,c.mode,h),a.return=c,c=a),u(c)):t(c,a)}return F}var Jn=Ls(!0),Ms=Ls(!1),Kt={},Fe=fn(Kt),jt=fn(Kt),Ut=fn(Kt);function wn(e){if(e===Kt)throw Error(y(174));return e}function Zi(e,n){switch(D(Ut,n),D(jt,e),D(Fe,Kt),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:Ql(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=Ql(n,e)}O(Fe),D(Fe,n)}function qn(){O(Fe),O(jt),O(Ut)}function Ds(e){wn(Ut.current);var n=wn(Fe.current),t=Ql(n,e.type);n!==t&&(D(jt,e),D(Fe,t))}function Ji(e){jt.current===e&&(O(Fe),O(jt))}var j=fn(0);function jr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Nl=[];function qi(){for(var e=0;et?t:4,e(!0);var r=zl.transition;zl.transition={};try{e(!1),n()}finally{M=t,zl.transition=r}}function Xs(){return Ee().memoizedState}function tf(e,n,t){var r=un(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},Gs(e))Zs(n,t);else if(t=Ns(e,n,t,r),t!==null){var l=le();Te(t,e,r,l),Js(t,n,r)}}function rf(e,n,t){var r=un(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(Gs(e))Zs(n,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=n.lastRenderedReducer,i!==null))try{var u=n.lastRenderedState,o=i(u,t);if(l.hasEagerState=!0,l.eagerState=o,Le(o,u)){var s=n.interleaved;s===null?(l.next=l,Xi(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=Ns(e,n,l,r),t!==null&&(l=le(),Te(t,e,r,l),Js(t,n,r))}}function Gs(e){var n=e.alternate;return e===U||n!==null&&n===U}function Zs(e,n){Et=Ur=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Js(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Oi(e,t)}}var Vr={readContext:Se,useCallback:b,useContext:b,useEffect:b,useImperativeHandle:b,useInsertionEffect:b,useLayoutEffect:b,useMemo:b,useReducer:b,useRef:b,useState:b,useDebugValue:b,useDeferredValue:b,useTransition:b,useMutableSource:b,useSyncExternalStore:b,useId:b,unstable_isNewReconciler:!1},lf={readContext:Se,useCallback:function(e,n){return De().memoizedState=[e,n===void 0?null:n],e},useContext:Se,useEffect:ro,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,hr(4194308,4,Qs.bind(null,n,e),t)},useLayoutEffect:function(e,n){return hr(4194308,4,e,n)},useInsertionEffect:function(e,n){return hr(4,2,e,n)},useMemo:function(e,n){var t=De();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=De();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=tf.bind(null,U,e),[r.memoizedState,e]},useRef:function(e){var n=De();return e={current:e},n.memoizedState=e},useState:to,useDebugValue:ru,useDeferredValue:function(e){return De().memoizedState=e},useTransition:function(){var e=to(!1),n=e[0];return e=nf.bind(null,e[1]),De().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=U,l=De();if(I){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),G===null)throw Error(y(349));xn&30||Fs(r,n,t)}l.memoizedState=t;var i={value:t,getSnapshot:n};return l.queue=i,ro(js.bind(null,r,i,e),[e]),r.flags|=2048,Bt(9,Is.bind(null,r,i,t,n),void 0,null),t},useId:function(){var e=De(),n=G.identifierPrefix;if(I){var t=Ve,r=Ue;t=(r&~(1<<32-Pe(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Vt++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=u.createElement(t,{is:r.is}):(e=u.createElement(t),t==="select"&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,t),e[Re]=n,e[It]=r,ua(e,n,!1,!1),n.stateNode=e;e:{switch(u=$l(t,r),t){case"dialog":R("cancel",e),R("close",e),l=r;break;case"iframe":case"object":case"embed":R("load",e),l=r;break;case"video":case"audio":for(l=0;let&&(n.flags|=128,r=!0,ft(i,!1),n.lanes=4194304)}else{if(!r)if(e=jr(u),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),ft(i,!0),i.tail===null&&i.tailMode==="hidden"&&!u.alternate&&!I)return ee(n),null}else 2*Q()-i.renderingStartTime>et&&t!==1073741824&&(n.flags|=128,r=!0,ft(i,!1),n.lanes=4194304);i.isBackwards?(u.sibling=n.child,n.child=u):(t=i.last,t!==null?t.sibling=u:n.child=u,i.last=u)}return i.tail!==null?(n=i.tail,i.rendering=n,i.tail=n.sibling,i.renderingStartTime=Q(),n.sibling=null,t=j.current,D(j,r?t&1|2:t&1),n):(ee(n),null);case 22:case 23:return au(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?fe&1073741824&&(ee(n),n.subtreeFlags&6&&(n.flags|=8192)):ee(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function pf(e,n){switch(Qi(n),n.tag){case 1:return ae(n.type)&&Lr(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return qn(),O(se),O(te),qi(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return Ji(n),null;case 13:if(O(j),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));Zn()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return O(j),null;case 4:return qn(),null;case 10:return Yi(n.type._context),null;case 22:case 23:return au(),null;case 24:return null;default:return null}}var sr=!1,ne=!1,mf=typeof WeakSet=="function"?WeakSet:Set,S=null;function An(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){A(e,n,r)}else t.current=null}function gi(e,n,t){try{t()}catch(r){A(e,n,r)}}var po=!1;function vf(e,n){if(ni=Nr,e=ds(),Bi(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{t.nodeType,i.nodeType}catch{t=null;break e}var u=0,o=-1,s=-1,d=0,v=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(o=u+l),m!==i||r!==0&&m.nodeType!==3||(s=u+r),m.nodeType===3&&(u+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++d===l&&(o=u),p===i&&++v===r&&(s=u),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=o===-1||s===-1?null:{start:o,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(ti={focusedElem:e,selectionRange:t},Nr=!1,S=n;S!==null;)if(n=S,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,S=e;else for(;S!==null;){n=S;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,F=w.memoizedState,c=n.stateNode,a=c.getSnapshotBeforeUpdate(n.elementType===n.type?k:_e(n.type,k),F);c.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var f=n.stateNode.containerInfo;f.nodeType===1?f.textContent="":f.nodeType===9&&f.documentElement&&f.removeChild(f.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){A(n,n.return,h)}if(e=n.sibling,e!==null){e.return=n.return,S=e;break}S=n.return}return w=po,po=!1,w}function Ct(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&gi(n,t,i)}l=l.next}while(l!==r)}}function br(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function wi(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function aa(e){var n=e.alternate;n!==null&&(e.alternate=null,aa(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Re],delete n[It],delete n[ii],delete n[Zc],delete n[Jc])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ca(e){return e.tag===5||e.tag===3||e.tag===4}function mo(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ca(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function ki(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=Tr));else if(r!==4&&(e=e.child,e!==null))for(ki(e,n,t),e=e.sibling;e!==null;)ki(e,n,t),e=e.sibling}function Si(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Si(e,n,t),e=e.sibling;e!==null;)Si(e,n,t),e=e.sibling}var Z=null,Ne=!1;function Ke(e,n,t){for(t=t.child;t!==null;)fa(e,n,t),t=t.sibling}function fa(e,n,t){if(Oe&&typeof Oe.onCommitFiberUnmount=="function")try{Oe.onCommitFiberUnmount($r,t)}catch{}switch(t.tag){case 5:ne||An(t,n);case 6:var r=Z,l=Ne;Z=null,Ke(e,n,t),Z=r,Ne=l,Z!==null&&(Ne?(e=Z,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):Z.removeChild(t.stateNode));break;case 18:Z!==null&&(Ne?(e=Z,t=t.stateNode,e.nodeType===8?xl(e.parentNode,t):e.nodeType===1&&xl(e,t),Mt(e)):xl(Z,t.stateNode));break;case 4:r=Z,l=Ne,Z=t.stateNode.containerInfo,Ne=!0,Ke(e,n,t),Z=r,Ne=l;break;case 0:case 11:case 14:case 15:if(!ne&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,u=i.destroy;i=i.tag,u!==void 0&&(i&2||i&4)&&gi(t,n,u),l=l.next}while(l!==r)}Ke(e,n,t);break;case 1:if(!ne&&(An(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(o){A(t,n,o)}Ke(e,n,t);break;case 21:Ke(e,n,t);break;case 22:t.mode&1?(ne=(r=ne)||t.memoizedState!==null,Ke(e,n,t),ne=r):Ke(e,n,t);break;default:Ke(e,n,t)}}function vo(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new mf),n.forEach(function(r){var l=xf.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function xe(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=u),r&=~i}if(r=l,r=Q()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*yf(r/1960))-r,10e?16:e,qe===null)var r=!1;else{if(e=qe,qe=null,Hr=0,L&6)throw Error(y(331));var l=L;for(L|=4,S=e.current;S!==null;){var i=S,u=i.child;if(S.flags&16){var o=i.deletions;if(o!==null){for(var s=0;sQ()-ou?kn(e,0):uu|=t),ce(e,n)}function wa(e,n){n===0&&(e.mode&1?(n=bt,bt<<=1,!(bt&130023424)&&(bt=4194304)):n=1);var t=le();e=Qe(e,n),e!==null&&(Qt(e,n,t),ce(e,t))}function Cf(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),wa(e,t)}function xf(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),wa(e,t)}var ka;ka=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||se.current)oe=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return oe=!1,ff(e,n,t);oe=!!(e.flags&131072)}else oe=!1,I&&n.flags&1048576&&Cs(n,Rr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;yr(e,n),e=n.pendingProps;var l=Gn(n,te.current);Kn(n,t),l=eu(null,n,r,e,l,t);var i=nu();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,ae(r)?(i=!0,Mr(n)):i=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,Gi(n),l.updater=Jr,n.stateNode=l,l._reactInternals=n,fi(n,r,e,t),n=mi(null,n,r,!0,i,t)):(n.tag=0,I&&i&&Hi(n),re(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(yr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Nf(r),e=_e(r,e),l){case 0:n=pi(null,n,r,e,t);break e;case 1:n=ao(null,n,r,e,t);break e;case 11:n=oo(null,n,r,e,t);break e;case 14:n=so(null,n,r,_e(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:_e(r,l),pi(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:_e(r,l),ao(e,n,r,l,t);case 3:e:{if(ra(n),e===null)throw Error(y(387));r=n.pendingProps,i=n.memoizedState,l=i.element,zs(e,n),Ir(n,r,null,t);var u=n.memoizedState;if(r=u.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},n.updateQueue.baseState=i,n.memoizedState=i,n.flags&256){l=bn(Error(y(423)),n),n=co(e,n,r,t,l);break e}else if(r!==l){l=bn(Error(y(424)),n),n=co(e,n,r,t,l);break e}else for(de=tn(n.stateNode.containerInfo.firstChild),pe=n,I=!0,ze=null,t=Ms(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(Zn(),r===l){n=We(e,n,t);break e}re(e,n,r,t)}n=n.child}return n;case 5:return Ds(n),e===null&&si(n),r=n.type,l=n.pendingProps,i=e!==null?e.memoizedProps:null,u=l.children,ri(r,l)?u=null:i!==null&&ri(r,i)&&(n.flags|=32),ta(e,n),re(e,n,u,t),n.child;case 6:return e===null&&si(n),null;case 13:return la(e,n,t);case 4:return Zi(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=Jn(n,null,r,t):re(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:_e(r,l),oo(e,n,r,l,t);case 7:return re(e,n,n.pendingProps,t),n.child;case 8:return re(e,n,n.pendingProps.children,t),n.child;case 12:return re(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,i=n.memoizedProps,u=l.value,D(Or,r._currentValue),r._currentValue=u,i!==null)if(Le(i.value,u)){if(i.children===l.children&&!se.current){n=We(e,n,t);break e}}else for(i=n.child,i!==null&&(i.return=n);i!==null;){var o=i.dependencies;if(o!==null){u=i.child;for(var s=o.firstContext;s!==null;){if(s.context===r){if(i.tag===1){s=Ae(-1,t&-t),s.tag=2;var d=i.updateQueue;if(d!==null){d=d.shared;var v=d.pending;v===null?s.next=s:(s.next=v.next,v.next=s),d.pending=s}}i.lanes|=t,s=i.alternate,s!==null&&(s.lanes|=t),ai(i.return,t,n),o.lanes|=t;break}s=s.next}}else if(i.tag===10)u=i.type===n.type?null:i.child;else if(i.tag===18){if(u=i.return,u===null)throw Error(y(341));u.lanes|=t,o=u.alternate,o!==null&&(o.lanes|=t),ai(u,t,n),u=i.sibling}else u=i.child;if(u!==null)u.return=i;else for(u=i;u!==null;){if(u===n){u=null;break}if(i=u.sibling,i!==null){i.return=u.return,u=i;break}u=u.return}i=u}re(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Kn(n,t),l=Se(l),r=r(l),n.flags|=1,re(e,n,r,t),n.child;case 14:return r=n.type,l=_e(r,n.pendingProps),l=_e(r.type,l),so(e,n,r,l,t);case 15:return ea(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:_e(r,l),yr(e,n),n.tag=1,ae(r)?(e=!0,Mr(n)):e=!1,Kn(n,t),Ts(n,r,l),fi(n,r,l,t),mi(null,n,r,!0,e,t);case 19:return ia(e,n,t);case 22:return na(e,n,t)}throw Error(y(156,n.tag))};function Sa(e,n){return Yo(e,n)}function _f(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function we(e,n,t,r){return new _f(e,n,t,r)}function fu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nf(e){if(typeof e=="function")return fu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Li)return 11;if(e===Mi)return 14}return 2}function on(e,n){var t=e.alternate;return t===null?(t=we(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function kr(e,n,t,r,l,i){var u=2;if(r=e,typeof e=="function")fu(e)&&(u=1);else if(typeof e=="string")u=5;else e:switch(e){case Mn:return Sn(t.children,l,i,n);case Ti:u=8,l|=8;break;case Fl:return e=we(12,t,n,l|2),e.elementType=Fl,e.lanes=i,e;case Il:return e=we(13,t,n,l),e.elementType=Il,e.lanes=i,e;case jl:return e=we(19,t,n,l),e.elementType=jl,e.lanes=i,e;case Lo:return nl(t,l,i,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Po:u=10;break e;case To:u=9;break e;case Li:u=11;break e;case Mi:u=14;break e;case Ye:u=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=we(u,t,n,l),n.elementType=e,n.type=r,n.lanes=i,n}function Sn(e,n,t,r){return e=we(7,e,r,n),e.lanes=t,e}function nl(e,n,t,r){return e=we(22,e,r,n),e.elementType=Lo,e.lanes=t,e.stateNode={isHidden:!1},e}function Dl(e,n,t){return e=we(6,e,null,n),e.lanes=t,e}function Rl(e,n,t){return n=we(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function zf(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=pl(0),this.expirationTimes=pl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=pl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function du(e,n,t,r,l,i,u,o,s){return e=new zf(e,n,t,o,s),n===1?(n=1,i===!0&&(n|=8)):n=0,i=we(3,null,null,n),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},Gi(i),e}function Pf(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(_a)}catch(e){console.error(e)}}_a(),Co.exports=ve;var Rf=Co.exports;const Ff=Pa(Rf);export{Ff as R,Rf as r}; +//# sourceMappingURL=index-9c09ad76.js.map diff --git a/assets/index-9c09ad76.js.map b/assets/index-9c09ad76.js.map new file mode 100644 index 00000000..9b506c3a --- /dev/null +++ b/assets/index-9c09ad76.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-9c09ad76.js","sources":["../../node_modules/react-dom/node_modules/scheduler/cjs/scheduler.production.min.js","../../node_modules/react-dom/node_modules/scheduler/index.js","../../node_modules/react-dom/cjs/react-dom.production.min.js","../../node_modules/react-dom/index.js"],"sourcesContent":["/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){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 wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){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: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 a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3typeof t=="function"?t(e):{...e,...t},[e,t])}const i={};function f({components:t,children:e,disableParentContext:r}){let n;return r?n=typeof t=="function"?t({}):t||i:n=a(t),o.createElement(u.Provider,{value:n},e)}export{u as M,f as a,a as u,c as w}; +//# sourceMappingURL=index-bda0bad7.js.map diff --git a/assets/index-bda0bad7.js.map b/assets/index-bda0bad7.js.map new file mode 100644 index 00000000..88ff8c12 --- /dev/null +++ b/assets/index-bda0bad7.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-bda0bad7.js","sources":["../../node_modules/@mdx-js/react/lib/index.js"],"sourcesContent":["/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('mdx/types.js').MDXComponents} Components\n *\n * @typedef Props\n * Configuration.\n * @property {Components | MergeComponents | null | undefined} [components]\n * Mapping of names for JSX components to React components.\n * @property {boolean | null | undefined} [disableParentContext=false]\n * Turn off outer component context.\n * @property {ReactNode | null | undefined} [children]\n * Children.\n *\n * @callback MergeComponents\n * Custom merge function.\n * @param {Components} currentComponents\n * Current components from the context.\n * @returns {Components}\n * Merged components.\n */\n\nimport React from 'react'\n\n/**\n * @type {import('react').Context}\n * @deprecated\n * This export is marked as a legacy feature.\n * That means it’s no longer recommended for use as it might be removed\n * in a future major release.\n *\n * Please use `useMDXComponents` to get context based components and\n * `MDXProvider` to set context based components instead.\n */\nexport const MDXContext = React.createContext({})\n\n/**\n * @param {import('react').ComponentType} Component\n * @deprecated\n * This export is marked as a legacy feature.\n * That means it’s no longer recommended for use as it might be removed\n * in a future major release.\n *\n * Please use `useMDXComponents` to get context based components instead.\n */\nexport function withMDXComponents(Component) {\n return boundMDXComponent\n\n /**\n * @param {Record & {components?: Components | null | undefined}} props\n * @returns {JSX.Element}\n */\n function boundMDXComponent(props) {\n const allComponents = useMDXComponents(props.components)\n return React.createElement(Component, {...props, allComponents})\n }\n}\n\n/**\n * Get current components from the MDX Context.\n *\n * @param {Components | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that takes the current\n * components and filters/merges/changes them.\n * @returns {Components}\n * Current components.\n */\nexport function useMDXComponents(components) {\n const contextComponents = React.useContext(MDXContext)\n\n // Memoize to avoid unnecessary top-level context changes\n return React.useMemo(() => {\n // Custom merge via a function prop\n if (typeof components === 'function') {\n return components(contextComponents)\n }\n\n return {...contextComponents, ...components}\n }, [contextComponents, components])\n}\n\n/** @type {Components} */\nconst emptyObject = {}\n\n/**\n * Provider for MDX context\n *\n * @param {Props} props\n * @returns {JSX.Element}\n */\nexport function MDXProvider({components, children, disableParentContext}) {\n /** @type {Components} */\n let allComponents\n\n if (disableParentContext) {\n allComponents =\n typeof components === 'function'\n ? components({})\n : components || emptyObject\n } else {\n allComponents = useMDXComponents(components)\n }\n\n return React.createElement(\n MDXContext.Provider,\n {value: allComponents},\n children\n )\n}\n"],"names":["MDXContext","React","withMDXComponents","Component","boundMDXComponent","props","allComponents","useMDXComponents","components","contextComponents","emptyObject","MDXProvider","children","disableParentContext"],"mappings":"wCAiCY,MAACA,EAAaC,EAAM,cAAc,EAAE,EAWzC,SAASC,EAAkBC,EAAW,CAC3C,OAAOC,EAMP,SAASA,EAAkBC,EAAO,CAChC,MAAMC,EAAgBC,EAAiBF,EAAM,UAAU,EACvD,OAAOJ,EAAM,cAAcE,EAAW,CAAC,GAAGE,EAAO,cAAAC,CAAa,CAAC,CAChE,CACH,CAWO,SAASC,EAAiBC,EAAY,CAC3C,MAAMC,EAAoBR,EAAM,WAAWD,CAAU,EAGrD,OAAOC,EAAM,QAAQ,IAEf,OAAOO,GAAe,WACjBA,EAAWC,CAAiB,EAG9B,CAAC,GAAGA,EAAmB,GAAGD,CAAU,EAC1C,CAACC,EAAmBD,CAAU,CAAC,CACpC,CAGA,MAAME,EAAc,CAAE,EAQf,SAASC,EAAY,CAAC,WAAAH,EAAY,SAAAI,EAAU,qBAAAC,CAAoB,EAAG,CAExE,IAAIP,EAEJ,OAAIO,EACFP,EACE,OAAOE,GAAe,WAClBA,EAAW,CAAA,CAAE,EACbA,GAAcE,EAEpBJ,EAAgBC,EAAiBC,CAAU,EAGtCP,EAAM,cACXD,EAAW,SACX,CAAC,MAAOM,CAAa,EACrBM,CACD,CACH","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/assets/index-d475d2ea.js b/assets/index-d475d2ea.js new file mode 100644 index 00000000..16c06a5a --- /dev/null +++ b/assets/index-d475d2ea.js @@ -0,0 +1,2 @@ +var l=(()=>{let e;return typeof window<"u"?e=window:typeof globalThis<"u"?e=globalThis:typeof global<"u"?e=global:typeof self<"u"?e=self:e={},e})();export{l as s}; +//# sourceMappingURL=index-d475d2ea.js.map diff --git a/assets/index-d475d2ea.js.map b/assets/index-d475d2ea.js.map new file mode 100644 index 00000000..1bdce560 --- /dev/null +++ b/assets/index-d475d2ea.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-d475d2ea.js","sources":["../../node_modules/@storybook/global/dist/index.mjs"],"sourcesContent":["// src/index.ts\nvar scope = (() => {\n let win;\n if (typeof window !== \"undefined\") {\n win = window;\n } else if (typeof globalThis !== \"undefined\") {\n win = globalThis;\n } else if (typeof global !== \"undefined\") {\n win = global;\n } else if (typeof self !== \"undefined\") {\n win = self;\n } else {\n win = {};\n }\n return win;\n})();\nexport {\n scope as global\n};\n"],"names":["scope","win"],"mappings":"AACG,IAACA,GAAS,IAAM,CACjB,IAAIC,EACJ,OAAI,OAAO,OAAW,IACpBA,EAAM,OACG,OAAO,WAAe,IAC/BA,EAAM,WACG,OAAO,OAAW,IAC3BA,EAAM,OACG,OAAO,KAAS,IACzBA,EAAM,KAENA,EAAM,CAAA,EAEDA,CACT,GAAC","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/assets/index-ebeaab24.js b/assets/index-ebeaab24.js new file mode 100644 index 00000000..bbe2b1bf --- /dev/null +++ b/assets/index-ebeaab24.js @@ -0,0 +1,10 @@ +function A(e,t){for(var r=0;ro[n]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var X=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function D(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Z(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function o(){if(this instanceof o){var n=[null];n.push.apply(n,arguments);var i=Function.bind.apply(t,n);return new i}return t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(r,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),r}var O={exports:{}},u={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var y=Symbol.for("react.element"),M=Symbol.for("react.portal"),F=Symbol.for("react.fragment"),V=Symbol.for("react.strict_mode"),N=Symbol.for("react.profiler"),U=Symbol.for("react.provider"),q=Symbol.for("react.context"),L=Symbol.for("react.forward_ref"),z=Symbol.for("react.suspense"),B=Symbol.for("react.memo"),H=Symbol.for("react.lazy"),w=Symbol.iterator;function G(e){return e===null||typeof e!="object"?null:(e=w&&e[w]||e["@@iterator"],typeof e=="function"?e:null)}var R={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,$={};function p(e,t,r){this.props=e,this.context=t,this.refs=$,this.updater=r||R}p.prototype.isReactComponent={};p.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};p.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function C(){}C.prototype=p.prototype;function m(e,t,r){this.props=e,this.context=t,this.refs=$,this.updater=r||R}var b=m.prototype=new C;b.constructor=m;k(b,p.prototype);b.isPureReactComponent=!0;var E=Array.isArray,P=Object.prototype.hasOwnProperty,S={current:null},x={key:!0,ref:!0,__self:!0,__source:!0};function I(e,t,r){var o,n={},i=null,s=null;if(t!=null)for(o in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(i=""+t.key),t)P.call(t,o)&&!x.hasOwnProperty(o)&&(n[o]=t[o]);var f=arguments.length-2;if(f===1)n.children=r;else if(1 diff --git a/assets/logo-7f90d675.svg b/assets/logo-7f90d675.svg new file mode 100644 index 00000000..c4913f83 --- /dev/null +++ b/assets/logo-7f90d675.svg @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/missle-6b823b69.svg b/assets/missle-6b823b69.svg new file mode 100644 index 00000000..12c0b8f4 --- /dev/null +++ b/assets/missle-6b823b69.svg @@ -0,0 +1 @@ + diff --git a/assets/preview-2cd4e1a1.js b/assets/preview-2cd4e1a1.js new file mode 100644 index 00000000..b945406e --- /dev/null +++ b/assets/preview-2cd4e1a1.js @@ -0,0 +1,2 @@ +import{s as u}from"./index-d475d2ea.js";var z="measureEnabled";const{useEffect:W}=__STORYBOOK_MODULE_PREVIEW_API__;function Y(){let e=u.document.documentElement,t=Math.max(e.scrollHeight,e.offsetHeight);return{width:Math.max(e.scrollWidth,e.offsetWidth),height:t}}function j(){let e=u.document.createElement("canvas");e.id="storybook-addon-measure";let t=e.getContext("2d"),{width:o,height:l}=Y();return A(e,t,{width:o,height:l}),e.style.position="absolute",e.style.left="0",e.style.top="0",e.style.zIndex="2147483647",e.style.pointerEvents="none",u.document.body.appendChild(e),{canvas:e,context:t,width:o,height:l}}function A(e,t,{width:o,height:l}){e.style.width=`${o}px`,e.style.height=`${l}px`;let i=u.window.devicePixelRatio;e.width=Math.floor(o*i),e.height=Math.floor(l*i),t.scale(i,i)}var m={};function K(){m.canvas||(m=j())}function X(){m.context&&m.context.clearRect(0,0,m.width,m.height)}function V(e){X(),e(m.context)}function Z(){A(m.canvas,m.context,{width:0,height:0});let{width:e,height:t}=Y();A(m.canvas,m.context,{width:e,height:t}),m.width=e,m.height=t}function U(){m.canvas&&(X(),m.canvas.parentNode.removeChild(m.canvas),m={})}var w={margin:"#f6b26b",border:"#ffe599",padding:"#93c47d",content:"#6fa8dc",text:"#232020"},c=6;function T(e,{x:t,y:o,w:l,h:i,r:n}){t=t-l/2,o=o-i/2,l<2*n&&(n=l/2),i<2*n&&(n=i/2),e.beginPath(),e.moveTo(t+n,o),e.arcTo(t+l,o,t+l,o+i,n),e.arcTo(t+l,o+i,t,o+i,n),e.arcTo(t,o+i,t,o,n),e.arcTo(t,o,t+l,o,n),e.closePath()}function G(e,{padding:t,border:o,width:l,height:i,top:n,left:r}){let f=l-o.left-o.right-t.left-t.right,a=i-t.top-t.bottom-o.top-o.bottom,s=r+o.left+t.left,h=n+o.top+t.top;return e==="top"?s+=f/2:e==="right"?(s+=f,h+=a/2):e==="bottom"?(s+=f/2,h+=a):e==="left"?h+=a/2:e==="center"&&(s+=f/2,h+=a/2),{x:s,y:h}}function J(e,t,{margin:o,border:l,padding:i},n,r){let f=d=>0,a=0,s=0,h=r?1:.5,g=r?n*2:0;return e==="padding"?f=d=>i[d]*h+g:e==="border"?f=d=>i[d]+l[d]*h+g:e==="margin"&&(f=d=>i[d]+l[d]+o[d]*h+g),t==="top"?s=-f("top"):t==="right"?a=f("right"):t==="bottom"?s=f("bottom"):t==="left"&&(a=-f("left")),{offsetX:a,offsetY:s}}function Q(e,t){return Math.abs(e.x-t.x){let f=l&&n.position==="center"?ot(e,t,n):tt(e,t,n,i[r-1],l);i[r]=f})}function it(e,t,o,l){let i=o.reduce((n,r)=>(Object.prototype.hasOwnProperty.call(n,r.position)||(n[r.position]=[]),n[r.position].push(r),n),{});i.top&&E(e,t,i.top,l),i.right&&E(e,t,i.right,l),i.bottom&&E(e,t,i.bottom,l),i.left&&E(e,t,i.left,l),i.center&&E(e,t,i.center,l)}var S={margin:"#f6b26ba8",border:"#ffe599a8",padding:"#93c47d8c",content:"#6fa8dca8"},R=30;function p(e){return parseInt(e.replace("px",""),10)}function b(e){return Number.isInteger(e)?e:e.toFixed(2)}function P(e){return e.filter(t=>t.text!==0&&t.text!=="0")}function lt(e){let t={top:u.window.scrollY,bottom:u.window.scrollY+u.window.innerHeight,left:u.window.scrollX,right:u.window.scrollX+u.window.innerWidth},o={top:Math.abs(t.top-e.top),bottom:Math.abs(t.bottom-e.bottom),left:Math.abs(t.left-e.left),right:Math.abs(t.right-e.right)};return{x:o.left>o.right?"left":"right",y:o.top>o.bottom?"top":"bottom"}}function nt(e){let t=u.getComputedStyle(e),{top:o,left:l,right:i,bottom:n,width:r,height:f}=e.getBoundingClientRect(),{marginTop:a,marginBottom:s,marginLeft:h,marginRight:g,paddingTop:d,paddingBottom:M,paddingLeft:O,paddingRight:k,borderBottomWidth:F,borderTopWidth:I,borderLeftWidth:$,borderRightWidth:D}=t;o=o+u.window.scrollY,l=l+u.window.scrollX,n=n+u.window.scrollY,i=i+u.window.scrollX;let y={top:p(a),bottom:p(s),left:p(h),right:p(g)},N={top:p(d),bottom:p(M),left:p(O),right:p(k)},q={top:p(I),bottom:p(F),left:p($),right:p(D)},L={top:o-y.top,bottom:n+y.bottom,left:l-y.left,right:i+y.right};return{margin:y,padding:N,border:q,top:o,left:l,bottom:n,right:i,width:r,height:f,extremities:L,floatingAlignment:lt(L)}}function ft(e,{margin:t,width:o,height:l,top:i,left:n,bottom:r,right:f}){let a=l+t.bottom+t.top;e.fillStyle=S.margin,e.fillRect(n,i-t.top,o,t.top),e.fillRect(f,i-t.top,t.right,a),e.fillRect(n,r,o,t.bottom),e.fillRect(n-t.left,i-t.top,t.left,a);let s=[{type:"margin",text:b(t.top),position:"top"},{type:"margin",text:b(t.right),position:"right"},{type:"margin",text:b(t.bottom),position:"bottom"},{type:"margin",text:b(t.left),position:"left"}];return P(s)}function rt(e,{padding:t,border:o,width:l,height:i,top:n,left:r,bottom:f,right:a}){let s=l-o.left-o.right,h=i-t.top-t.bottom-o.top-o.bottom;e.fillStyle=S.padding,e.fillRect(r+o.left,n+o.top,s,t.top),e.fillRect(a-t.right-o.right,n+t.top+o.top,t.right,h),e.fillRect(r+o.left,f-t.bottom-o.bottom,s,t.bottom),e.fillRect(r+o.left,n+t.top+o.top,t.left,h);let g=[{type:"padding",text:t.top,position:"top"},{type:"padding",text:t.right,position:"right"},{type:"padding",text:t.bottom,position:"bottom"},{type:"padding",text:t.left,position:"left"}];return P(g)}function at(e,{border:t,width:o,height:l,top:i,left:n,bottom:r,right:f}){let a=l-t.top-t.bottom;e.fillStyle=S.border,e.fillRect(n,i,o,t.top),e.fillRect(n,r-t.bottom,o,t.bottom),e.fillRect(n,i+t.top,t.left,a),e.fillRect(f-t.right,i+t.top,t.right,a);let s=[{type:"border",text:t.top,position:"top"},{type:"border",text:t.right,position:"right"},{type:"border",text:t.bottom,position:"bottom"},{type:"border",text:t.left,position:"left"}];return P(s)}function st(e,{padding:t,border:o,width:l,height:i,top:n,left:r}){let f=l-o.left-o.right-t.left-t.right,a=i-t.top-t.bottom-o.top-o.bottom;return e.fillStyle=S.content,e.fillRect(r+o.left+t.left,n+o.top+t.top,f,a),[{type:"content",position:"center",text:`${b(f)} x ${b(a)}`}]}function ht(e){return t=>{if(e&&t){let o=nt(e),l=ft(t,o),i=rt(t,o),n=at(t,o),r=st(t,o),f=o.width<=R*3||o.height<=R;it(t,o,[...r,...i,...n,...l],f)}}}function mt(e){V(ht(e))}var ut=(e,t)=>{let o=u.document.elementFromPoint(e,t),l=i=>{if(i&&i.shadowRoot){let n=i.shadowRoot.elementFromPoint(e,t);return i.isEqualNode(n)?i:n.shadowRoot?l(n):n}return i};return l(o)||o},B,v={x:0,y:0};function H(e,t){B=ut(e,t),mt(B)}var dt=(e,t)=>{let{measureEnabled:o}=t.globals;return W(()=>{let l=i=>{window.requestAnimationFrame(()=>{i.stopPropagation(),v.x=i.clientX,v.y=i.clientY})};return document.addEventListener("pointermove",l),()=>{document.removeEventListener("pointermove",l)}},[]),W(()=>{let l=n=>{window.requestAnimationFrame(()=>{n.stopPropagation(),H(n.clientX,n.clientY)})},i=()=>{window.requestAnimationFrame(()=>{Z()})};return t.viewMode==="story"&&o&&(document.addEventListener("pointerover",l),K(),window.addEventListener("resize",i),H(v.x,v.y)),()=>{window.removeEventListener("resize",i),U()}},[o,t.viewMode]),e()},pt=[dt],ct={[z]:!1};export{pt as decorators,ct as globals}; +//# sourceMappingURL=preview-2cd4e1a1.js.map diff --git a/assets/preview-2cd4e1a1.js.map b/assets/preview-2cd4e1a1.js.map new file mode 100644 index 00000000..2a46b8d2 --- /dev/null +++ b/assets/preview-2cd4e1a1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"preview-2cd4e1a1.js","sources":["../../node_modules/@storybook/addon-measure/dist/chunk-YIXVQKZ5.mjs","../../node_modules/@storybook/addon-measure/dist/preview.mjs"],"sourcesContent":["var ADDON_ID=\"storybook/measure-addon\",TOOL_ID=`${ADDON_ID}/tool`,PARAM_KEY=\"measureEnabled\";\n\nexport { ADDON_ID, PARAM_KEY, TOOL_ID };\n","import { PARAM_KEY } from './chunk-YIXVQKZ5.mjs';\nimport { useEffect } from '@storybook/preview-api';\nimport { global } from '@storybook/global';\n\nfunction getDocumentWidthAndHeight(){let container=global.document.documentElement,height=Math.max(container.scrollHeight,container.offsetHeight);return {width:Math.max(container.scrollWidth,container.offsetWidth),height}}function createCanvas(){let canvas=global.document.createElement(\"canvas\");canvas.id=\"storybook-addon-measure\";let context=canvas.getContext(\"2d\"),{width,height}=getDocumentWidthAndHeight();return setCanvasWidthAndHeight(canvas,context,{width,height}),canvas.style.position=\"absolute\",canvas.style.left=\"0\",canvas.style.top=\"0\",canvas.style.zIndex=\"2147483647\",canvas.style.pointerEvents=\"none\",global.document.body.appendChild(canvas),{canvas,context,width,height}}function setCanvasWidthAndHeight(canvas,context,{width,height}){canvas.style.width=`${width}px`,canvas.style.height=`${height}px`;let scale=global.window.devicePixelRatio;canvas.width=Math.floor(width*scale),canvas.height=Math.floor(height*scale),context.scale(scale,scale);}var state={};function init(){state.canvas||(state=createCanvas());}function clear(){state.context&&state.context.clearRect(0,0,state.width,state.height);}function draw(callback){clear(),callback(state.context);}function rescale(){setCanvasWidthAndHeight(state.canvas,state.context,{width:0,height:0});let{width,height}=getDocumentWidthAndHeight();setCanvasWidthAndHeight(state.canvas,state.context,{width,height}),state.width=width,state.height=height;}function destroy(){state.canvas&&(clear(),state.canvas.parentNode.removeChild(state.canvas),state={});}var colors={margin:\"#f6b26b\",border:\"#ffe599\",padding:\"#93c47d\",content:\"#6fa8dc\",text:\"#232020\"},labelPadding=6;function roundedRect(context,{x,y,w,h,r}){x=x-w/2,y=y-h/2,w<2*r&&(r=w/2),h<2*r&&(r=h/2),context.beginPath(),context.moveTo(x+r,y),context.arcTo(x+w,y,x+w,y+h,r),context.arcTo(x+w,y+h,x,y+h,r),context.arcTo(x,y+h,x,y,r),context.arcTo(x,y,x+w,y,r),context.closePath();}function positionCoordinate(position,{padding,border,width,height,top,left}){let contentWidth=width-border.left-border.right-padding.left-padding.right,contentHeight=height-padding.top-padding.bottom-border.top-border.bottom,x=left+border.left+padding.left,y=top+border.top+padding.top;return position===\"top\"?x+=contentWidth/2:position===\"right\"?(x+=contentWidth,y+=contentHeight/2):position===\"bottom\"?(x+=contentWidth/2,y+=contentHeight):position===\"left\"?y+=contentHeight/2:position===\"center\"&&(x+=contentWidth/2,y+=contentHeight/2),{x,y}}function offset(type,position,{margin,border,padding},labelPaddingSize,external){let shift=dir=>0,offsetX=0,offsetY=0,locationMultiplier=external?1:.5,labelPaddingShift=external?labelPaddingSize*2:0;return type===\"padding\"?shift=dir=>padding[dir]*locationMultiplier+labelPaddingShift:type===\"border\"?shift=dir=>padding[dir]+border[dir]*locationMultiplier+labelPaddingShift:type===\"margin\"&&(shift=dir=>padding[dir]+border[dir]+margin[dir]*locationMultiplier+labelPaddingShift),position===\"top\"?offsetY=-shift(\"top\"):position===\"right\"?offsetX=shift(\"right\"):position===\"bottom\"?offsetY=shift(\"bottom\"):position===\"left\"&&(offsetX=-shift(\"left\")),{offsetX,offsetY}}function collide(a,b){return Math.abs(a.x-b.x){let rect=external&&l.position===\"center\"?drawFloatingLabel(context,measurements,l):drawLabel(context,measurements,l,rects[idx-1],external);rects[idx]=rect;});}function labelStacks(context,measurements,labels,externalLabels){let stacks=labels.reduce((acc,l)=>(Object.prototype.hasOwnProperty.call(acc,l.position)||(acc[l.position]=[]),acc[l.position].push(l),acc),{});stacks.top&&drawStack(context,measurements,stacks.top,externalLabels),stacks.right&&drawStack(context,measurements,stacks.right,externalLabels),stacks.bottom&&drawStack(context,measurements,stacks.bottom,externalLabels),stacks.left&&drawStack(context,measurements,stacks.left,externalLabels),stacks.center&&drawStack(context,measurements,stacks.center,externalLabels);}var colors2={margin:\"#f6b26ba8\",border:\"#ffe599a8\",padding:\"#93c47d8c\",content:\"#6fa8dca8\"},SMALL_NODE_SIZE=30;function pxToNumber(px){return parseInt(px.replace(\"px\",\"\"),10)}function round(value){return Number.isInteger(value)?value:value.toFixed(2)}function filterZeroValues(labels){return labels.filter(l=>l.text!==0&&l.text!==\"0\")}function floatingAlignment(extremities){let windowExtremities={top:global.window.scrollY,bottom:global.window.scrollY+global.window.innerHeight,left:global.window.scrollX,right:global.window.scrollX+global.window.innerWidth},distances={top:Math.abs(windowExtremities.top-extremities.top),bottom:Math.abs(windowExtremities.bottom-extremities.bottom),left:Math.abs(windowExtremities.left-extremities.left),right:Math.abs(windowExtremities.right-extremities.right)};return {x:distances.left>distances.right?\"left\":\"right\",y:distances.top>distances.bottom?\"top\":\"bottom\"}}function measureElement(element){let style=global.getComputedStyle(element),{top,left,right,bottom,width,height}=element.getBoundingClientRect(),{marginTop,marginBottom,marginLeft,marginRight,paddingTop,paddingBottom,paddingLeft,paddingRight,borderBottomWidth,borderTopWidth,borderLeftWidth,borderRightWidth}=style;top=top+global.window.scrollY,left=left+global.window.scrollX,bottom=bottom+global.window.scrollY,right=right+global.window.scrollX;let margin={top:pxToNumber(marginTop),bottom:pxToNumber(marginBottom),left:pxToNumber(marginLeft),right:pxToNumber(marginRight)},padding={top:pxToNumber(paddingTop),bottom:pxToNumber(paddingBottom),left:pxToNumber(paddingLeft),right:pxToNumber(paddingRight)},border={top:pxToNumber(borderTopWidth),bottom:pxToNumber(borderBottomWidth),left:pxToNumber(borderLeftWidth),right:pxToNumber(borderRightWidth)},extremities={top:top-margin.top,bottom:bottom+margin.bottom,left:left-margin.left,right:right+margin.right};return {margin,padding,border,top,left,bottom,right,width,height,extremities,floatingAlignment:floatingAlignment(extremities)}}function drawMargin(context,{margin,width,height,top,left,bottom,right}){let marginHeight=height+margin.bottom+margin.top;context.fillStyle=colors2.margin,context.fillRect(left,top-margin.top,width,margin.top),context.fillRect(right,top-margin.top,margin.right,marginHeight),context.fillRect(left,bottom,width,margin.bottom),context.fillRect(left-margin.left,top-margin.top,margin.left,marginHeight);let marginLabels=[{type:\"margin\",text:round(margin.top),position:\"top\"},{type:\"margin\",text:round(margin.right),position:\"right\"},{type:\"margin\",text:round(margin.bottom),position:\"bottom\"},{type:\"margin\",text:round(margin.left),position:\"left\"}];return filterZeroValues(marginLabels)}function drawPadding(context,{padding,border,width,height,top,left,bottom,right}){let paddingWidth=width-border.left-border.right,paddingHeight=height-padding.top-padding.bottom-border.top-border.bottom;context.fillStyle=colors2.padding,context.fillRect(left+border.left,top+border.top,paddingWidth,padding.top),context.fillRect(right-padding.right-border.right,top+padding.top+border.top,padding.right,paddingHeight),context.fillRect(left+border.left,bottom-padding.bottom-border.bottom,paddingWidth,padding.bottom),context.fillRect(left+border.left,top+padding.top+border.top,padding.left,paddingHeight);let paddingLabels=[{type:\"padding\",text:padding.top,position:\"top\"},{type:\"padding\",text:padding.right,position:\"right\"},{type:\"padding\",text:padding.bottom,position:\"bottom\"},{type:\"padding\",text:padding.left,position:\"left\"}];return filterZeroValues(paddingLabels)}function drawBorder(context,{border,width,height,top,left,bottom,right}){let borderHeight=height-border.top-border.bottom;context.fillStyle=colors2.border,context.fillRect(left,top,width,border.top),context.fillRect(left,bottom-border.bottom,width,border.bottom),context.fillRect(left,top+border.top,border.left,borderHeight),context.fillRect(right-border.right,top+border.top,border.right,borderHeight);let borderLabels=[{type:\"border\",text:border.top,position:\"top\"},{type:\"border\",text:border.right,position:\"right\"},{type:\"border\",text:border.bottom,position:\"bottom\"},{type:\"border\",text:border.left,position:\"left\"}];return filterZeroValues(borderLabels)}function drawContent(context,{padding,border,width,height,top,left}){let contentWidth=width-border.left-border.right-padding.left-padding.right,contentHeight=height-padding.top-padding.bottom-border.top-border.bottom;return context.fillStyle=colors2.content,context.fillRect(left+border.left+padding.left,top+border.top+padding.top,contentWidth,contentHeight),[{type:\"content\",position:\"center\",text:`${round(contentWidth)} x ${round(contentHeight)}`}]}function drawBoxModel(element){return context=>{if(element&&context){let measurements=measureElement(element),marginLabels=drawMargin(context,measurements),paddingLabels=drawPadding(context,measurements),borderLabels=drawBorder(context,measurements),contentLabels=drawContent(context,measurements),externalLabels=measurements.width<=SMALL_NODE_SIZE*3||measurements.height<=SMALL_NODE_SIZE;labelStacks(context,measurements,[...contentLabels,...paddingLabels,...borderLabels,...marginLabels],externalLabels);}}}function drawSelectedElement(element){draw(drawBoxModel(element));}var deepElementFromPoint=(x,y)=>{let element=global.document.elementFromPoint(x,y),crawlShadows=node=>{if(node&&node.shadowRoot){let nestedElement=node.shadowRoot.elementFromPoint(x,y);return node.isEqualNode(nestedElement)?node:nestedElement.shadowRoot?crawlShadows(nestedElement):nestedElement}return node};return crawlShadows(element)||element};var nodeAtPointerRef,pointer={x:0,y:0};function findAndDrawElement(x,y){nodeAtPointerRef=deepElementFromPoint(x,y),drawSelectedElement(nodeAtPointerRef);}var withMeasure=(StoryFn,context)=>{let{measureEnabled}=context.globals;return useEffect(()=>{let onPointerMove=event=>{window.requestAnimationFrame(()=>{event.stopPropagation(),pointer.x=event.clientX,pointer.y=event.clientY;});};return document.addEventListener(\"pointermove\",onPointerMove),()=>{document.removeEventListener(\"pointermove\",onPointerMove);}},[]),useEffect(()=>{let onPointerOver=event=>{window.requestAnimationFrame(()=>{event.stopPropagation(),findAndDrawElement(event.clientX,event.clientY);});},onResize=()=>{window.requestAnimationFrame(()=>{rescale();});};return context.viewMode===\"story\"&&measureEnabled&&(document.addEventListener(\"pointerover\",onPointerOver),init(),window.addEventListener(\"resize\",onResize),findAndDrawElement(pointer.x,pointer.y)),()=>{window.removeEventListener(\"resize\",onResize),destroy();}},[measureEnabled,context.viewMode]),StoryFn()};var decorators=[withMeasure],globals={[PARAM_KEY]:!1};\n\nexport { decorators, globals };\n"],"names":["PARAM_KEY","useEffect","getDocumentWidthAndHeight","container","global","height","createCanvas","canvas","context","width","setCanvasWidthAndHeight","scale","state","init","clear","draw","callback","rescale","destroy","colors","labelPadding","roundedRect","x","y","w","h","r","positionCoordinate","position","padding","border","top","left","contentWidth","contentHeight","offset","type","margin","labelPaddingSize","external","shift","dir","offsetX","offsetY","locationMultiplier","labelPaddingShift","collide","a","b","overlapAdjustment","currentRect","prevRect","textWithRect","text","configureText","metrics","actualHeight","drawLabel","measurements","adjusted","floatingOffset","alignment","deltaW","deltaH","drawFloatingLabel","floatingAlignment2","extremities","drawStack","stack","rects","l","idx","rect","labelStacks","labels","externalLabels","stacks","acc","colors2","SMALL_NODE_SIZE","pxToNumber","px","round","value","filterZeroValues","floatingAlignment","windowExtremities","distances","measureElement","element","style","right","bottom","marginTop","marginBottom","marginLeft","marginRight","paddingTop","paddingBottom","paddingLeft","paddingRight","borderBottomWidth","borderTopWidth","borderLeftWidth","borderRightWidth","drawMargin","marginHeight","marginLabels","drawPadding","paddingWidth","paddingHeight","paddingLabels","drawBorder","borderHeight","borderLabels","drawContent","drawBoxModel","contentLabels","drawSelectedElement","deepElementFromPoint","crawlShadows","node","nestedElement","nodeAtPointerRef","pointer","findAndDrawElement","withMeasure","StoryFn","measureEnabled","onPointerMove","event","onPointerOver","onResize","decorators","globals"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/assets/preview-770cc08b.js b/assets/preview-770cc08b.js new file mode 100644 index 00000000..d252d60c --- /dev/null +++ b/assets/preview-770cc08b.js @@ -0,0 +1,21 @@ +import{s as E}from"./index-d475d2ea.js";import{d as M}from"./index-356e4a49.js";const{logger:x}=__STORYBOOK_MODULE_CLIENT_LOGGER__;var p="backgrounds",{document:s,window:B}=E,S=()=>B.matchMedia("(prefers-reduced-motion: reduce)").matches,_=(r,e=[],n)=>{if(r==="transparent")return"transparent";if(e.find(a=>a.value===r))return r;let t=e.find(a=>a.name===n);if(t)return t.value;if(n){let a=e.map(i=>i.name).join(", ");x.warn(M` + Backgrounds Addon: could not find the default color "${n}". + These are the available colors for your story based on your configuration: + ${a}. + `)}return"transparent"},v=r=>{(Array.isArray(r)?r:[r]).forEach(w)},w=r=>{let e=s.getElementById(r);e&&e.parentElement.removeChild(e)},A=(r,e)=>{let n=s.getElementById(r);if(n)n.innerHTML!==e&&(n.innerHTML=e);else{let t=s.createElement("style");t.setAttribute("id",r),t.innerHTML=e,s.head.appendChild(t)}},L=(r,e,n)=>{let t=s.getElementById(r);if(t)t.innerHTML!==e&&(t.innerHTML=e);else{let a=s.createElement("style");a.setAttribute("id",r),a.innerHTML=e;let i=`addon-backgrounds-grid${n?`-docs-${n}`:""}`,d=s.getElementById(i);d?d.parentElement.insertBefore(a,d):s.head.appendChild(a)}};const{useMemo:b,useEffect:k}=__STORYBOOK_MODULE_PREVIEW_API__;var O=(r,e)=>{var c;let{globals:n,parameters:t}=e,a=(c=n[p])==null?void 0:c.value,i=t[p],d=b(()=>i.disable?"transparent":_(a,i.values,i.default),[i,a]),o=b(()=>d&&d!=="transparent",[d]),g=e.viewMode==="docs"?`#anchor--${e.id} .docs-story`:".sb-show-main",u=b(()=>{let l="transition: background-color 0.3s;";return` + ${g} { + background: ${d} !important; + ${S()?"":l} + } + `},[d,g]);return k(()=>{let l=e.viewMode==="docs"?`addon-backgrounds-docs-${e.id}`:"addon-backgrounds-color";if(!o){v(l);return}L(l,u,e.viewMode==="docs"?e.id:null)},[o,u,e]),r()},T=(r,e)=>{var y;let{globals:n,parameters:t}=e,a=t[p].grid,i=((y=n[p])==null?void 0:y.grid)===!0&&a.disable!==!0,{cellAmount:d,cellSize:o,opacity:g}=a,u=e.viewMode==="docs",c=t.layout===void 0||t.layout==="padded"?16:0,l=a.offsetX??(u?20:c),m=a.offsetY??(u?20:c),$=b(()=>{let f=e.viewMode==="docs"?`#anchor--${e.id} .docs-story`:".sb-show-main",h=[`${o*d}px ${o*d}px`,`${o*d}px ${o*d}px`,`${o}px ${o}px`,`${o}px ${o}px`].join(", ");return` + ${f} { + background-size: ${h} !important; + background-position: ${l}px ${m}px, ${l}px ${m}px, ${l}px ${m}px, ${l}px ${m}px !important; + background-blend-mode: difference !important; + background-image: linear-gradient(rgba(130, 130, 130, ${g}) 1px, transparent 1px), + linear-gradient(90deg, rgba(130, 130, 130, ${g}) 1px, transparent 1px), + linear-gradient(rgba(130, 130, 130, ${g/2}) 1px, transparent 1px), + linear-gradient(90deg, rgba(130, 130, 130, ${g/2}) 1px, transparent 1px) !important; + } + `},[o]);return k(()=>{let f=e.viewMode==="docs"?`addon-backgrounds-grid-docs-${e.id}`:"addon-backgrounds-grid";if(!i){v(f);return}A(f,$)},[i,$,e]),r()},H=[T,O],R={[p]:{grid:{cellSize:20,opacity:.5,cellAmount:5},values:[{name:"light",value:"#F8F8F8"},{name:"dark",value:"#333333"}]}},G={[p]:null};export{H as decorators,G as globals,R as parameters}; +//# sourceMappingURL=preview-770cc08b.js.map diff --git a/assets/preview-770cc08b.js.map b/assets/preview-770cc08b.js.map new file mode 100644 index 00000000..e516b9ab --- /dev/null +++ b/assets/preview-770cc08b.js.map @@ -0,0 +1 @@ +{"version":3,"file":"preview-770cc08b.js","sources":["../../node_modules/@storybook/addon-backgrounds/dist/chunk-GRJZJKJ4.mjs","../../node_modules/@storybook/addon-backgrounds/dist/preview.mjs"],"sourcesContent":["import { global } from '@storybook/global';\nimport { dedent } from 'ts-dedent';\nimport { logger } from '@storybook/client-logger';\n\nvar ADDON_ID=\"storybook/background\",PARAM_KEY=\"backgrounds\";var {document,window}=global,isReduceMotionEnabled=()=>window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches,getBackgroundColorByName=(currentSelectedValue,backgrounds=[],defaultName)=>{if(currentSelectedValue===\"transparent\")return \"transparent\";if(backgrounds.find(background=>background.value===currentSelectedValue))return currentSelectedValue;let defaultBackground=backgrounds.find(background=>background.name===defaultName);if(defaultBackground)return defaultBackground.value;if(defaultName){let availableColors=backgrounds.map(background=>background.name).join(\", \");logger.warn(dedent`\n Backgrounds Addon: could not find the default color \"${defaultName}\".\n These are the available colors for your story based on your configuration:\n ${availableColors}.\n `);}return \"transparent\"},clearStyles=selector=>{(Array.isArray(selector)?selector:[selector]).forEach(clearStyle);},clearStyle=selector=>{let element=document.getElementById(selector);element&&element.parentElement.removeChild(element);},addGridStyle=(selector,css)=>{let existingStyle=document.getElementById(selector);if(existingStyle)existingStyle.innerHTML!==css&&(existingStyle.innerHTML=css);else {let style=document.createElement(\"style\");style.setAttribute(\"id\",selector),style.innerHTML=css,document.head.appendChild(style);}},addBackgroundStyle=(selector,css,storyId)=>{let existingStyle=document.getElementById(selector);if(existingStyle)existingStyle.innerHTML!==css&&(existingStyle.innerHTML=css);else {let style=document.createElement(\"style\");style.setAttribute(\"id\",selector),style.innerHTML=css;let gridStyleSelector=`addon-backgrounds-grid${storyId?`-docs-${storyId}`:\"\"}`,existingGridStyle=document.getElementById(gridStyleSelector);existingGridStyle?existingGridStyle.parentElement.insertBefore(style,existingGridStyle):document.head.appendChild(style);}};\n\nexport { ADDON_ID, PARAM_KEY, addBackgroundStyle, addGridStyle, clearStyles, getBackgroundColorByName, isReduceMotionEnabled };\n","import { PARAM_KEY, getBackgroundColorByName, isReduceMotionEnabled, clearStyles, addBackgroundStyle, addGridStyle } from './chunk-GRJZJKJ4.mjs';\nimport { useMemo, useEffect } from '@storybook/preview-api';\n\nvar withBackground=(StoryFn,context)=>{let{globals:globals2,parameters:parameters2}=context,globalsBackgroundColor=globals2[PARAM_KEY]?.value,backgroundsConfig=parameters2[PARAM_KEY],selectedBackgroundColor=useMemo(()=>backgroundsConfig.disable?\"transparent\":getBackgroundColorByName(globalsBackgroundColor,backgroundsConfig.values,backgroundsConfig.default),[backgroundsConfig,globalsBackgroundColor]),isActive=useMemo(()=>selectedBackgroundColor&&selectedBackgroundColor!==\"transparent\",[selectedBackgroundColor]),selector=context.viewMode===\"docs\"?`#anchor--${context.id} .docs-story`:\".sb-show-main\",backgroundStyles=useMemo(()=>{let transitionStyle=\"transition: background-color 0.3s;\";return `\n ${selector} {\n background: ${selectedBackgroundColor} !important;\n ${isReduceMotionEnabled()?\"\":transitionStyle}\n }\n `},[selectedBackgroundColor,selector]);return useEffect(()=>{let selectorId=context.viewMode===\"docs\"?`addon-backgrounds-docs-${context.id}`:\"addon-backgrounds-color\";if(!isActive){clearStyles(selectorId);return}addBackgroundStyle(selectorId,backgroundStyles,context.viewMode===\"docs\"?context.id:null);},[isActive,backgroundStyles,context]),StoryFn()};var withGrid=(StoryFn,context)=>{let{globals:globals2,parameters:parameters2}=context,gridParameters=parameters2[PARAM_KEY].grid,isActive=globals2[PARAM_KEY]?.grid===!0&&gridParameters.disable!==!0,{cellAmount,cellSize,opacity}=gridParameters,isInDocs=context.viewMode===\"docs\",defaultOffset=parameters2.layout===void 0||parameters2.layout===\"padded\"?16:0,offsetX=gridParameters.offsetX??(isInDocs?20:defaultOffset),offsetY=gridParameters.offsetY??(isInDocs?20:defaultOffset),gridStyles=useMemo(()=>{let selector=context.viewMode===\"docs\"?`#anchor--${context.id} .docs-story`:\".sb-show-main\",backgroundSize=[`${cellSize*cellAmount}px ${cellSize*cellAmount}px`,`${cellSize*cellAmount}px ${cellSize*cellAmount}px`,`${cellSize}px ${cellSize}px`,`${cellSize}px ${cellSize}px`].join(\", \");return `\n ${selector} {\n background-size: ${backgroundSize} !important;\n background-position: ${offsetX}px ${offsetY}px, ${offsetX}px ${offsetY}px, ${offsetX}px ${offsetY}px, ${offsetX}px ${offsetY}px !important;\n background-blend-mode: difference !important;\n background-image: linear-gradient(rgba(130, 130, 130, ${opacity}) 1px, transparent 1px),\n linear-gradient(90deg, rgba(130, 130, 130, ${opacity}) 1px, transparent 1px),\n linear-gradient(rgba(130, 130, 130, ${opacity/2}) 1px, transparent 1px),\n linear-gradient(90deg, rgba(130, 130, 130, ${opacity/2}) 1px, transparent 1px) !important;\n }\n `},[cellSize]);return useEffect(()=>{let selectorId=context.viewMode===\"docs\"?`addon-backgrounds-grid-docs-${context.id}`:\"addon-backgrounds-grid\";if(!isActive){clearStyles(selectorId);return}addGridStyle(selectorId,gridStyles);},[isActive,gridStyles,context]),StoryFn()};var decorators=[withGrid,withBackground],parameters={[PARAM_KEY]:{grid:{cellSize:20,opacity:.5,cellAmount:5},values:[{name:\"light\",value:\"#F8F8F8\"},{name:\"dark\",value:\"#333333\"}]}},globals={[PARAM_KEY]:null};\n\nexport { decorators, globals, parameters };\n"],"names":["logger","PARAM_KEY","document","window","global","isReduceMotionEnabled","getBackgroundColorByName","currentSelectedValue","backgrounds","defaultName","background","defaultBackground","availableColors","dedent","clearStyles","selector","clearStyle","element","addGridStyle","css","existingStyle","style","addBackgroundStyle","storyId","gridStyleSelector","existingGridStyle","useMemo","useEffect","withBackground","StoryFn","context","globals2","parameters2","globalsBackgroundColor","_a","backgroundsConfig","selectedBackgroundColor","isActive","backgroundStyles","transitionStyle","selectorId","withGrid","gridParameters","cellAmount","cellSize","opacity","isInDocs","defaultOffset","offsetX","offsetY","gridStyles","backgroundSize","decorators","parameters","globals"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/assets/preview-a60aa466.js b/assets/preview-a60aa466.js new file mode 100644 index 00000000..f9a7aefe --- /dev/null +++ b/assets/preview-a60aa466.js @@ -0,0 +1,2 @@ +var h="storybook/actions",D=`${h}/action-event`;let a;const b=new Uint8Array(16);function v(){if(!a&&(a=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!a))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return a(b)}const o=[];for(let t=0;t<256;++t)o.push((t+256).toString(16).slice(1));function x(t,e=0){return(o[t[e+0]]+o[t[e+1]]+o[t[e+2]]+o[t[e+3]]+"-"+o[t[e+4]]+o[t[e+5]]+"-"+o[t[e+6]]+o[t[e+7]]+"-"+o[t[e+8]]+o[t[e+9]]+"-"+o[t[e+10]]+o[t[e+11]]+o[t[e+12]]+o[t[e+13]]+o[t[e+14]]+o[t[e+15]]).toLowerCase()}const A=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),d={randomUUID:A};function R(t,e,r){if(d.randomUUID&&!e&&!t)return d.randomUUID();t=t||{};const n=t.random||(t.rng||v)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){r=r||0;for(let i=0;i<16;++i)e[r+i]=n[i];return e}return x(n)}const{addons:U}=__STORYBOOK_MODULE_PREVIEW_API__;var j={depth:10,clearOnStoryChange:!0,limit:50},l=(t,e)=>{let r=Object.getPrototypeOf(t);return!r||e(r)?r:l(r,e)},E=t=>!!(typeof t=="object"&&t&&l(t,e=>/^Synthetic(?:Base)?Event$/.test(e.constructor.name))&&typeof t.persist=="function"),I=t=>{if(E(t)){let e=Object.create(t.constructor.prototype,Object.getOwnPropertyDescriptors(t));e.persist();let r=Object.getOwnPropertyDescriptor(e,"view"),n=r==null?void 0:r.value;return typeof n=="object"&&(n==null?void 0:n.constructor.name)==="Window"&&Object.defineProperty(e,"view",{...r,value:Object.create(n.constructor.prototype)}),e}return t};function y(t,e={}){let r={...j,...e},n=function(...i){let c=U.getChannel(),p=R(),s=5,u=i.map(I),m=i.length>1?u:u[0],O={id:p,count:0,data:{name:t,args:m},options:{...r,maxDepth:s+(r.depth||3),allowFunction:r.allowFunction||!1}};c.emit(D,O)};return n.isAction=!0,n}var g=(t,e)=>typeof e[t]>"u"&&!(t in e),T=t=>{let{initialArgs:e,argTypes:r,parameters:{actions:n}}=t;if(!n||n.disable||!n.argTypesRegex||!r)return{};let i=new RegExp(n.argTypesRegex);return Object.entries(r).filter(([c])=>!!i.test(c)).reduce((c,[p,s])=>(g(p,e)&&(c[p]=y(p)),c),{})},w=t=>{let{initialArgs:e,argTypes:r,parameters:{actions:n}}=t;return n!=null&&n.disable||!r?{}:Object.entries(r).filter(([i,c])=>!!c.action).reduce((i,[c,p])=>(g(c,e)&&(i[c]=y(typeof p.action=="string"?p.action:c)),i),{})},_=[w,T];export{_ as argsEnhancers}; +//# sourceMappingURL=preview-a60aa466.js.map diff --git a/assets/preview-a60aa466.js.map b/assets/preview-a60aa466.js.map new file mode 100644 index 00000000..69b3a6ee --- /dev/null +++ b/assets/preview-a60aa466.js.map @@ -0,0 +1 @@ +{"version":3,"file":"preview-a60aa466.js","sources":["../../node_modules/@storybook/addon-actions/dist/chunk-VWCVBQ22.mjs","../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/native.js","../../node_modules/uuid/dist/esm-browser/v4.js","../../node_modules/@storybook/addon-actions/dist/chunk-OPEUWD42.mjs","../../node_modules/@storybook/addon-actions/dist/preview.mjs"],"sourcesContent":["var PARAM_KEY=\"actions\",ADDON_ID=\"storybook/actions\",PANEL_ID=`${ADDON_ID}/panel`,EVENT_ID=`${ADDON_ID}/action-event`,CLEAR_ID=`${ADDON_ID}/action-clear`,CYCLIC_KEY=\"$___storybook.isCyclic\";\n\nexport { ADDON_ID, CLEAR_ID, CYCLIC_KEY, EVENT_ID, PANEL_ID, PARAM_KEY };\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import { EVENT_ID } from './chunk-VWCVBQ22.mjs';\nimport { v4 } from 'uuid';\nimport { addons } from '@storybook/preview-api';\n\nvar config={depth:10,clearOnStoryChange:!0,limit:50},configureActions=(options={})=>{Object.assign(config,options);};var findProto=(obj,callback)=>{let proto=Object.getPrototypeOf(obj);return !proto||callback(proto)?proto:findProto(proto,callback)},isReactSyntheticEvent=e=>Boolean(typeof e==\"object\"&&e&&findProto(e,proto=>/^Synthetic(?:Base)?Event$/.test(proto.constructor.name))&&typeof e.persist==\"function\"),serializeArg=a=>{if(isReactSyntheticEvent(a)){let e=Object.create(a.constructor.prototype,Object.getOwnPropertyDescriptors(a));e.persist();let viewDescriptor=Object.getOwnPropertyDescriptor(e,\"view\"),view=viewDescriptor?.value;return typeof view==\"object\"&&view?.constructor.name===\"Window\"&&Object.defineProperty(e,\"view\",{...viewDescriptor,value:Object.create(view.constructor.prototype)}),e}return a};function action(name,options={}){let actionOptions={...config,...options},handler=function(...args){let channel=addons.getChannel(),id=v4(),minDepth=5,serializedArgs=args.map(serializeArg),normalizedArgs=args.length>1?serializedArgs:serializedArgs[0],actionDisplayToEmit={id,count:0,data:{name,args:normalizedArgs},options:{...actionOptions,maxDepth:minDepth+(actionOptions.depth||3),allowFunction:actionOptions.allowFunction||!1}};channel.emit(EVENT_ID,actionDisplayToEmit);};return handler.isAction=!0,handler}\n\nexport { action, config, configureActions };\n","import { action } from './chunk-OPEUWD42.mjs';\nimport './chunk-VWCVBQ22.mjs';\n\nvar isInInitialArgs=(name,initialArgs)=>typeof initialArgs[name]>\"u\"&&!(name in initialArgs),inferActionsFromArgTypesRegex=context=>{let{initialArgs,argTypes,parameters:{actions}}=context;if(!actions||actions.disable||!actions.argTypesRegex||!argTypes)return {};let argTypesRegex=new RegExp(actions.argTypesRegex);return Object.entries(argTypes).filter(([name])=>!!argTypesRegex.test(name)).reduce((acc,[name,argType])=>(isInInitialArgs(name,initialArgs)&&(acc[name]=action(name)),acc),{})},addActionsFromArgTypes=context=>{let{initialArgs,argTypes,parameters:{actions}}=context;return actions?.disable||!argTypes?{}:Object.entries(argTypes).filter(([name,argType])=>!!argType.action).reduce((acc,[name,argType])=>(isInInitialArgs(name,initialArgs)&&(acc[name]=action(typeof argType.action==\"string\"?argType.action:name)),acc),{})};var argsEnhancers=[addActionsFromArgTypes,inferActionsFromArgTypesRegex];\n\nexport { argsEnhancers };\n"],"names":["ADDON_ID","EVENT_ID","getRandomValues","rnds8","rng","byteToHex","i","unsafeStringify","arr","offset","randomUUID","native","v4","options","buf","rnds","addons","config","findProto","obj","callback","proto","isReactSyntheticEvent","e","serializeArg","a","viewDescriptor","view","action","name","actionOptions","handler","args","channel","id","minDepth","serializedArgs","normalizedArgs","actionDisplayToEmit","isInInitialArgs","initialArgs","inferActionsFromArgTypesRegex","context","argTypes","actions","argTypesRegex","acc","argType","addActionsFromArgTypes","argsEnhancers"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file diff --git a/assets/preview-b0f743f9.js b/assets/preview-b0f743f9.js new file mode 100644 index 00000000..026e1e4b --- /dev/null +++ b/assets/preview-b0f743f9.js @@ -0,0 +1,2 @@ +import{j as E}from"./jsx-runtime-5926aa06.js";import{c as A,g as I,r as b}from"./index-ebeaab24.js";import{c as j}from"./chunk-4NMOSTKD-82fbb5f2.js";import{a as C,b as D}from"./index-6279214a.esm-cc44dd6d.js";import"./index-d475d2ea.js";var R={exports:{}};(function(i,f){(function(s,e){i.exports=e()})(A,function(){var s=function(){function e(o){return a.appendChild(o.dom),o}function r(o){for(var l=0;lu+1e3&&(x.update(1e3*t/(o-u),100),u=o,t=0,v)){var l=performance.memory;v.update(l.usedJSHeapSize/1048576,l.jsHeapSizeLimit/1048576)}return o},update:function(){d=this.end()},domElement:a,setMode:r}};return s.Panel=function(e,r,c){var a=1/0,d=0,u=Math.round,t=u(window.devicePixelRatio||1),x=80*t,y=48*t,v=3*t,o=2*t,l=3*t,p=15*t,m=74*t,h=30*t,g=document.createElement("canvas");g.width=x,g.height=y,g.style.cssText="width:80px;height:48px";var n=g.getContext("2d");return n.font="bold "+9*t+"px Helvetica,Arial,sans-serif",n.textBaseline="top",n.fillStyle=c,n.fillRect(0,0,x,y),n.fillStyle=r,n.fillText(e,v,o),n.fillRect(l,p,m,h),n.fillStyle=c,n.globalAlpha=.9,n.fillRect(l,p,m,h),{dom:g,update:function(S,P){a=Math.min(a,S),d=Math.max(d,S),n.fillStyle=c,n.globalAlpha=1,n.fillRect(0,0,x,p),n.fillStyle=r,n.fillText(u(S)+" "+e+" ("+u(a)+"-"+u(d)+")",v,o),n.drawImage(g,l+t,p,m-t,h,l,p,m-t,h),n.fillRect(l+m-t,p,t,h),n.fillStyle=c,n.globalAlpha=.9,n.fillRect(l+m-t,p,t,u((1-S/P)*h))}}},s})})(R);var L=R.exports;const M=I(L);function w(i,f){typeof i=="function"?i(f):i!=null&&(i.current=f)}function T(i,f=[],s){const[e,r]=b.useState();return b.useLayoutEffect(()=>{const c=i();return r(c),w(s,c),()=>w(s,null)},f),e}function k({showPanel:i=0,className:f,parent:s}){const e=T(()=>new M,[]);return b.useEffect(()=>{if(e){const r=s&&s.current||document.body;e.showPanel(i),r==null||r.appendChild(e.dom),f&&e.dom.classList.add(...f.split(" ").filter(d=>d));const c=C(()=>e.begin()),a=D(()=>e.end());return()=>{r==null||r.removeChild(e.dom),c(),a()}}},[s,e,f,i]),null}const z=""+new URL("logo-7f90d675.svg",import.meta.url).href,H=j({base:"dark",brandTitle:"REAGRAPH",brandUrl:"https://github.com/reaviz/reagraph",brandImage:z}),F=(i,f)=>E.jsxs(E.Fragment,{children:[E.jsx(i,{...f}),E.jsx(k,{className:"stats"})]}),J={decorators:[F],parameters:{layout:"centered",controls:{hideNoControlsWarning:!0},actions:{argTypesRegex:"^on.*"},docs:{theme:H},options:{storySort:{order:["Docs",["Intro","Getting Started",["Installing"],"API","Advanced"],"*"]}}}};export{J as default}; +//# sourceMappingURL=preview-b0f743f9.js.map diff --git a/assets/preview-b0f743f9.js.map b/assets/preview-b0f743f9.js.map new file mode 100644 index 00000000..0aba22de --- /dev/null +++ b/assets/preview-b0f743f9.js.map @@ -0,0 +1 @@ +{"version":3,"file":"preview-b0f743f9.js","sources":["../../node_modules/stats.js/build/stats.min.js","../../node_modules/@react-three/drei/helpers/useEffectfulState.js","../../node_modules/@react-three/drei/core/Stats.js","../../docs/assets/logo.svg","../../.storybook/theme.js","../../.storybook/preview.tsx"],"sourcesContent":["// stats.js - http://github.com/mrdoob/stats.js\n(function(f,e){\"object\"===typeof exports&&\"undefined\"!==typeof module?module.exports=e():\"function\"===typeof define&&define.amd?define(e):f.Stats=e()})(this,function(){var f=function(){function e(a){c.appendChild(a.dom);return a}function u(a){for(var d=0;dg+1E3&&(r.update(1E3*a/(c-g),100),g=c,a=0,t)){var d=performance.memory;t.update(d.usedJSHeapSize/\n1048576,d.jsHeapSizeLimit/1048576)}return c},update:function(){k=this.end()},domElement:c,setMode:u}};f.Panel=function(e,f,l){var c=Infinity,k=0,g=Math.round,a=g(window.devicePixelRatio||1),r=80*a,h=48*a,t=3*a,v=2*a,d=3*a,m=15*a,n=74*a,p=30*a,q=document.createElement(\"canvas\");q.width=r;q.height=h;q.style.cssText=\"width:80px;height:48px\";var b=q.getContext(\"2d\");b.font=\"bold \"+9*a+\"px Helvetica,Arial,sans-serif\";b.textBaseline=\"top\";b.fillStyle=l;b.fillRect(0,0,r,h);b.fillStyle=f;b.fillText(e,t,v);\nb.fillRect(d,m,n,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d,m,n,p);return{dom:q,update:function(h,w){c=Math.min(c,h);k=Math.max(k,h);b.fillStyle=l;b.globalAlpha=1;b.fillRect(0,0,r,m);b.fillStyle=f;b.fillText(g(h)+\" \"+e+\" (\"+g(c)+\"-\"+g(k)+\")\",t,v);b.drawImage(q,d+a,m,n-a,p,d,m,n-a,p);b.fillRect(d+n-a,m,a,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d+n-a,m,a,g((1-h/w)*p))}}};return f});\n","import * as React from 'react';\n\nfunction call(ref, value) {\n if (typeof ref === 'function') ref(value);else if (ref != null) ref.current = value;\n}\n\nfunction useEffectfulState(fn, deps = [], cb) {\n const [state, set] = React.useState();\n React.useLayoutEffect(() => {\n const value = fn();\n set(value);\n call(cb, value);\n return () => call(cb, null);\n }, deps);\n return state;\n}\n\nexport { useEffectfulState };\n","import * as React from 'react';\nimport { addEffect, addAfterEffect } from '@react-three/fiber';\nimport StatsImpl from 'stats.js';\nimport { useEffectfulState } from '../helpers/useEffectfulState.js';\n\nfunction Stats({\n showPanel = 0,\n className,\n parent\n}) {\n const stats = useEffectfulState(() => new StatsImpl(), []);\n React.useEffect(() => {\n if (stats) {\n const node = parent && parent.current || document.body;\n stats.showPanel(showPanel);\n node == null ? void 0 : node.appendChild(stats.dom);\n if (className) stats.dom.classList.add(...className.split(' ').filter(cls => cls));\n const begin = addEffect(() => stats.begin());\n const end = addAfterEffect(() => stats.end());\n return () => {\n node == null ? void 0 : node.removeChild(stats.dom);\n begin();\n end();\n };\n }\n }, [parent, stats, className, showPanel]);\n return null;\n}\n\nexport { Stats };\n","export default \"__VITE_ASSET__c2b3a5f0__\"","import { create } from '@storybook/theming/create';\nimport ReagraphLogo from '../docs/assets/logo.svg';\n\nexport default create({\n base: 'dark',\n brandTitle: 'REAGRAPH',\n brandUrl: 'https://github.com/reaviz/reagraph',\n brandImage: ReagraphLogo\n});\n","import { Stats } from '@react-three/drei';\nimport theme from './theme';\nimport { Preview } from '@storybook/react';\n\nconst withProvider = (Story, context) => (\n <>\n \n \n \n);\n\nconst preview: Preview = {\n decorators: [withProvider],\n parameters: {\n layout: 'centered',\n controls: { hideNoControlsWarning: true },\n actions: { argTypesRegex: '^on.*' },\n docs: {\n theme\n },\n options: {\n storySort: {\n order: ['Docs', ['Intro', 'Getting Started', ['Installing'], 'API', 'Advanced'], '*']\n },\n }\n }\n};\n\nexport default preview;\n"],"names":["f","module","this","a","c","u","d","l","k","g","r","h","t","v","m","n","p","q","b","w","call","ref","value","useEffectfulState","fn","deps","cb","state","set","React.useState","React.useLayoutEffect","Stats","showPanel","className","parent","stats","StatsImpl","React.useEffect","node","cls","begin","addEffect","end","addAfterEffect","ReagraphLogo","theme","create","withProvider","Story","context","jsxs","Fragment","jsx","preview"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/assets/preview-b1164a2e.js b/assets/preview-b1164a2e.js new file mode 100644 index 00000000..045cbfcd --- /dev/null +++ b/assets/preview-b1164a2e.js @@ -0,0 +1,8 @@ +import{s as a}from"./index-d475d2ea.js";var n="storybook/highlight",d="storybookHighlight",_=`${n}/add`,g=`${n}/reset`;const{addons:E}=__STORYBOOK_MODULE_PREVIEW_API__,{STORY_CHANGED:H}=__STORYBOOK_MODULE_CORE_EVENTS__;var{document:h}=a,O=(e="#FF4785",t="dashed")=>` + outline: 2px ${t} ${e}; + outline-offset: 2px; + box-shadow: 0 0 0 6px rgba(255,255,255,0.6); +`,I=e=>({outline:`2px dashed ${e}`,outlineOffset:2,boxShadow:"0 0 0 6px rgba(255,255,255,0.6)"}),l=E.getChannel(),p=e=>{let t=d;i();let r=Array.from(new Set(e.elements)),o=h.createElement("style");o.setAttribute("id",t),o.innerHTML=r.map(s=>`${s}{ + ${O(e.color,e.style)} + }`).join(" "),h.head.appendChild(o)},i=()=>{let e=d,t=h.getElementById(e);t&&t.parentNode.removeChild(t)};l.on(H,i);l.on(g,i);l.on(_,p);export{I as highlightObject,O as highlightStyle}; +//# sourceMappingURL=preview-b1164a2e.js.map diff --git a/assets/preview-b1164a2e.js.map b/assets/preview-b1164a2e.js.map new file mode 100644 index 00000000..a080705a --- /dev/null +++ b/assets/preview-b1164a2e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"preview-b1164a2e.js","sources":["../../node_modules/@storybook/addon-highlight/dist/chunk-33ALZPRS.mjs","../../node_modules/@storybook/addon-highlight/dist/preview.mjs"],"sourcesContent":["var ADDON_ID=\"storybook/highlight\",HIGHLIGHT_STYLE_ID=\"storybookHighlight\",HIGHLIGHT=`${ADDON_ID}/add`,RESET_HIGHLIGHT=`${ADDON_ID}/reset`;\n\nexport { HIGHLIGHT, HIGHLIGHT_STYLE_ID, RESET_HIGHLIGHT };\n","import { RESET_HIGHLIGHT, HIGHLIGHT, HIGHLIGHT_STYLE_ID } from './chunk-33ALZPRS.mjs';\nimport { global } from '@storybook/global';\nimport { addons } from '@storybook/preview-api';\nimport { STORY_CHANGED } from '@storybook/core-events';\n\nvar {document}=global,highlightStyle=(color=\"#FF4785\",style=\"dashed\")=>`\n outline: 2px ${style} ${color};\n outline-offset: 2px;\n box-shadow: 0 0 0 6px rgba(255,255,255,0.6);\n`,highlightObject=color=>({outline:`2px dashed ${color}`,outlineOffset:2,boxShadow:\"0 0 0 6px rgba(255,255,255,0.6)\"}),channel=addons.getChannel(),highlight=infos=>{let id=HIGHLIGHT_STYLE_ID;resetHighlight();let elements=Array.from(new Set(infos.elements)),sheet=document.createElement(\"style\");sheet.setAttribute(\"id\",id),sheet.innerHTML=elements.map(target=>`${target}{\n ${highlightStyle(infos.color,infos.style)}\n }`).join(\" \"),document.head.appendChild(sheet);},resetHighlight=()=>{let id=HIGHLIGHT_STYLE_ID,sheetToBeRemoved=document.getElementById(id);sheetToBeRemoved&&sheetToBeRemoved.parentNode.removeChild(sheetToBeRemoved);};channel.on(STORY_CHANGED,resetHighlight);channel.on(RESET_HIGHLIGHT,resetHighlight);channel.on(HIGHLIGHT,highlight);\n\nexport { highlightObject, highlightStyle };\n"],"names":["ADDON_ID","HIGHLIGHT_STYLE_ID","HIGHLIGHT","RESET_HIGHLIGHT","addons","STORY_CHANGED","document","global","highlightStyle","color","style","highlightObject","channel","highlight","infos","id","resetHighlight","elements","sheet","target","sheetToBeRemoved"],"mappings":"wCAAA,IAAIA,EAAS,sBAAsBC,EAAmB,qBAAqBC,EAAU,GAAGF,CAAQ,OAAOG,EAAgB,GAAGH,CAAQ,SCElI,KAAA,CAAA,OAAAI,CAAA,EAAA,iCACA,CAAA,cAAAC,CAAA,EAAA,iCAEG,GAAC,CAAC,SAAAC,CAAQ,EAAEC,EAAOC,EAAe,CAACC,EAAM,UAAUC,EAAM,WAAW;AAAA,iBACtDA,CAAK,IAAID,CAAK;AAAA;AAAA;AAAA,EAG7BE,EAAgBF,IAAQ,CAAC,QAAQ,cAAcA,CAAK,GAAG,cAAc,EAAE,UAAU,iCAAiC,GAAGG,EAAQR,EAAO,WAAU,EAAGS,EAAUC,GAAO,CAAC,IAAIC,EAAGd,EAAmBe,IAAiB,IAAIC,EAAS,MAAM,KAAK,IAAI,IAAIH,EAAM,QAAQ,CAAC,EAAEI,EAAMZ,EAAS,cAAc,OAAO,EAAEY,EAAM,aAAa,KAAKH,CAAE,EAAEG,EAAM,UAAUD,EAAS,IAAIE,GAAQ,GAAGA,CAAM;AAAA,YACrWX,EAAeM,EAAM,MAAMA,EAAM,KAAK,CAAC;AAAA,WACxC,EAAE,KAAK,GAAG,EAAER,EAAS,KAAK,YAAYY,CAAK,CAAE,EAAEF,EAAe,IAAI,CAAC,IAAID,EAAGd,EAAmBmB,EAAiBd,EAAS,eAAeS,CAAE,EAAEK,GAAkBA,EAAiB,WAAW,YAAYA,CAAgB,CAAE,EAAER,EAAQ,GAAGP,EAAcW,CAAc,EAAEJ,EAAQ,GAAGT,EAAgBa,CAAc,EAAEJ,EAAQ,GAAGV,EAAUW,CAAS","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/assets/preview-d8c963a4.js b/assets/preview-d8c963a4.js new file mode 100644 index 00000000..5507b2ca --- /dev/null +++ b/assets/preview-d8c963a4.js @@ -0,0 +1,397 @@ +import{s as p}from"./index-d475d2ea.js";import{d as $}from"./index-356e4a49.js";var m="outline";const{useMemo:x,useEffect:r}=__STORYBOOK_MODULE_PREVIEW_API__;var u=i=>{(Array.isArray(i)?i:[i]).forEach(f)},f=i=>{let t=typeof i=="string"?i:i.join(""),o=p.document.getElementById(t);o&&o.parentElement&&o.parentElement.removeChild(o)},b=(i,t)=>{let o=p.document.getElementById(i);if(o)o.innerHTML!==t&&(o.innerHTML=t);else{let n=p.document.createElement("style");n.setAttribute("id",i),n.innerHTML=t,p.document.head.appendChild(n)}};function s(i){return $` + ${i} body { + outline: 1px solid #2980b9 !important; + } + + ${i} article { + outline: 1px solid #3498db !important; + } + + ${i} nav { + outline: 1px solid #0088c3 !important; + } + + ${i} aside { + outline: 1px solid #33a0ce !important; + } + + ${i} section { + outline: 1px solid #66b8da !important; + } + + ${i} header { + outline: 1px solid #99cfe7 !important; + } + + ${i} footer { + outline: 1px solid #cce7f3 !important; + } + + ${i} h1 { + outline: 1px solid #162544 !important; + } + + ${i} h2 { + outline: 1px solid #314e6e !important; + } + + ${i} h3 { + outline: 1px solid #3e5e85 !important; + } + + ${i} h4 { + outline: 1px solid #449baf !important; + } + + ${i} h5 { + outline: 1px solid #c7d1cb !important; + } + + ${i} h6 { + outline: 1px solid #4371d0 !important; + } + + ${i} main { + outline: 1px solid #2f4f90 !important; + } + + ${i} address { + outline: 1px solid #1a2c51 !important; + } + + ${i} div { + outline: 1px solid #036cdb !important; + } + + ${i} p { + outline: 1px solid #ac050b !important; + } + + ${i} hr { + outline: 1px solid #ff063f !important; + } + + ${i} pre { + outline: 1px solid #850440 !important; + } + + ${i} blockquote { + outline: 1px solid #f1b8e7 !important; + } + + ${i} ol { + outline: 1px solid #ff050c !important; + } + + ${i} ul { + outline: 1px solid #d90416 !important; + } + + ${i} li { + outline: 1px solid #d90416 !important; + } + + ${i} dl { + outline: 1px solid #fd3427 !important; + } + + ${i} dt { + outline: 1px solid #ff0043 !important; + } + + ${i} dd { + outline: 1px solid #e80174 !important; + } + + ${i} figure { + outline: 1px solid #ff00bb !important; + } + + ${i} figcaption { + outline: 1px solid #bf0032 !important; + } + + ${i} table { + outline: 1px solid #00cc99 !important; + } + + ${i} caption { + outline: 1px solid #37ffc4 !important; + } + + ${i} thead { + outline: 1px solid #98daca !important; + } + + ${i} tbody { + outline: 1px solid #64a7a0 !important; + } + + ${i} tfoot { + outline: 1px solid #22746b !important; + } + + ${i} tr { + outline: 1px solid #86c0b2 !important; + } + + ${i} th { + outline: 1px solid #a1e7d6 !important; + } + + ${i} td { + outline: 1px solid #3f5a54 !important; + } + + ${i} col { + outline: 1px solid #6c9a8f !important; + } + + ${i} colgroup { + outline: 1px solid #6c9a9d !important; + } + + ${i} button { + outline: 1px solid #da8301 !important; + } + + ${i} datalist { + outline: 1px solid #c06000 !important; + } + + ${i} fieldset { + outline: 1px solid #d95100 !important; + } + + ${i} form { + outline: 1px solid #d23600 !important; + } + + ${i} input { + outline: 1px solid #fca600 !important; + } + + ${i} keygen { + outline: 1px solid #b31e00 !important; + } + + ${i} label { + outline: 1px solid #ee8900 !important; + } + + ${i} legend { + outline: 1px solid #de6d00 !important; + } + + ${i} meter { + outline: 1px solid #e8630c !important; + } + + ${i} optgroup { + outline: 1px solid #b33600 !important; + } + + ${i} option { + outline: 1px solid #ff8a00 !important; + } + + ${i} output { + outline: 1px solid #ff9619 !important; + } + + ${i} progress { + outline: 1px solid #e57c00 !important; + } + + ${i} select { + outline: 1px solid #e26e0f !important; + } + + ${i} textarea { + outline: 1px solid #cc5400 !important; + } + + ${i} details { + outline: 1px solid #33848f !important; + } + + ${i} summary { + outline: 1px solid #60a1a6 !important; + } + + ${i} command { + outline: 1px solid #438da1 !important; + } + + ${i} menu { + outline: 1px solid #449da6 !important; + } + + ${i} del { + outline: 1px solid #bf0000 !important; + } + + ${i} ins { + outline: 1px solid #400000 !important; + } + + ${i} img { + outline: 1px solid #22746b !important; + } + + ${i} iframe { + outline: 1px solid #64a7a0 !important; + } + + ${i} embed { + outline: 1px solid #98daca !important; + } + + ${i} object { + outline: 1px solid #00cc99 !important; + } + + ${i} param { + outline: 1px solid #37ffc4 !important; + } + + ${i} video { + outline: 1px solid #6ee866 !important; + } + + ${i} audio { + outline: 1px solid #027353 !important; + } + + ${i} source { + outline: 1px solid #012426 !important; + } + + ${i} canvas { + outline: 1px solid #a2f570 !important; + } + + ${i} track { + outline: 1px solid #59a600 !important; + } + + ${i} map { + outline: 1px solid #7be500 !important; + } + + ${i} area { + outline: 1px solid #305900 !important; + } + + ${i} a { + outline: 1px solid #ff62ab !important; + } + + ${i} em { + outline: 1px solid #800b41 !important; + } + + ${i} strong { + outline: 1px solid #ff1583 !important; + } + + ${i} i { + outline: 1px solid #803156 !important; + } + + ${i} b { + outline: 1px solid #cc1169 !important; + } + + ${i} u { + outline: 1px solid #ff0430 !important; + } + + ${i} s { + outline: 1px solid #f805e3 !important; + } + + ${i} small { + outline: 1px solid #d107b2 !important; + } + + ${i} abbr { + outline: 1px solid #4a0263 !important; + } + + ${i} q { + outline: 1px solid #240018 !important; + } + + ${i} cite { + outline: 1px solid #64003c !important; + } + + ${i} dfn { + outline: 1px solid #b4005a !important; + } + + ${i} sub { + outline: 1px solid #dba0c8 !important; + } + + ${i} sup { + outline: 1px solid #cc0256 !important; + } + + ${i} time { + outline: 1px solid #d6606d !important; + } + + ${i} code { + outline: 1px solid #e04251 !important; + } + + ${i} kbd { + outline: 1px solid #5e001f !important; + } + + ${i} samp { + outline: 1px solid #9c0033 !important; + } + + ${i} var { + outline: 1px solid #d90047 !important; + } + + ${i} mark { + outline: 1px solid #ff0053 !important; + } + + ${i} bdi { + outline: 1px solid #bf3668 !important; + } + + ${i} bdo { + outline: 1px solid #6f1400 !important; + } + + ${i} ruby { + outline: 1px solid #ff7b93 !important; + } + + ${i} rt { + outline: 1px solid #ff2f54 !important; + } + + ${i} rp { + outline: 1px solid #803e49 !important; + } + + ${i} span { + outline: 1px solid #cc2643 !important; + } + + ${i} br { + outline: 1px solid #db687d !important; + } + + ${i} wbr { + outline: 1px solid #db175b !important; + }`}var e=(i,t)=>{let{globals:o}=t,n=[!0,"true"].includes(o[m]),d=t.viewMode==="docs",l=x(()=>s(d?'[data-story-block="true"]':".sb-show-main"),[t]);return r(()=>{let a=d?`addon-outline-docs-${t.id}`:"addon-outline";return n?b(a,l):u(a),()=>{u(a)}},[n,l,t]),i()},h=[e],v={[m]:!1};export{h as decorators,v as globals}; +//# sourceMappingURL=preview-d8c963a4.js.map diff --git a/assets/preview-d8c963a4.js.map b/assets/preview-d8c963a4.js.map new file mode 100644 index 00000000..4b3c0da0 --- /dev/null +++ b/assets/preview-d8c963a4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"preview-d8c963a4.js","sources":["../../node_modules/@storybook/addon-outline/dist/chunk-2DMOCDBJ.mjs","../../node_modules/@storybook/addon-outline/dist/preview.mjs"],"sourcesContent":["var ADDON_ID=\"storybook/outline\",PARAM_KEY=\"outline\";\n\nexport { ADDON_ID, PARAM_KEY };\n","import { PARAM_KEY } from './chunk-2DMOCDBJ.mjs';\nimport { useMemo, useEffect } from '@storybook/preview-api';\nimport { global } from '@storybook/global';\nimport { dedent } from 'ts-dedent';\n\nvar clearStyles=selector=>{(Array.isArray(selector)?selector:[selector]).forEach(clearStyle);},clearStyle=input=>{let selector=typeof input==\"string\"?input:input.join(\"\"),element=global.document.getElementById(selector);element&&element.parentElement&&element.parentElement.removeChild(element);},addOutlineStyles=(selector,css)=>{let existingStyle=global.document.getElementById(selector);if(existingStyle)existingStyle.innerHTML!==css&&(existingStyle.innerHTML=css);else {let style=global.document.createElement(\"style\");style.setAttribute(\"id\",selector),style.innerHTML=css,global.document.head.appendChild(style);}};function outlineCSS(selector){return dedent`\n ${selector} body {\n outline: 1px solid #2980b9 !important;\n }\n\n ${selector} article {\n outline: 1px solid #3498db !important;\n }\n\n ${selector} nav {\n outline: 1px solid #0088c3 !important;\n }\n\n ${selector} aside {\n outline: 1px solid #33a0ce !important;\n }\n\n ${selector} section {\n outline: 1px solid #66b8da !important;\n }\n\n ${selector} header {\n outline: 1px solid #99cfe7 !important;\n }\n\n ${selector} footer {\n outline: 1px solid #cce7f3 !important;\n }\n\n ${selector} h1 {\n outline: 1px solid #162544 !important;\n }\n\n ${selector} h2 {\n outline: 1px solid #314e6e !important;\n }\n\n ${selector} h3 {\n outline: 1px solid #3e5e85 !important;\n }\n\n ${selector} h4 {\n outline: 1px solid #449baf !important;\n }\n\n ${selector} h5 {\n outline: 1px solid #c7d1cb !important;\n }\n\n ${selector} h6 {\n outline: 1px solid #4371d0 !important;\n }\n\n ${selector} main {\n outline: 1px solid #2f4f90 !important;\n }\n\n ${selector} address {\n outline: 1px solid #1a2c51 !important;\n }\n\n ${selector} div {\n outline: 1px solid #036cdb !important;\n }\n\n ${selector} p {\n outline: 1px solid #ac050b !important;\n }\n\n ${selector} hr {\n outline: 1px solid #ff063f !important;\n }\n\n ${selector} pre {\n outline: 1px solid #850440 !important;\n }\n\n ${selector} blockquote {\n outline: 1px solid #f1b8e7 !important;\n }\n\n ${selector} ol {\n outline: 1px solid #ff050c !important;\n }\n\n ${selector} ul {\n outline: 1px solid #d90416 !important;\n }\n\n ${selector} li {\n outline: 1px solid #d90416 !important;\n }\n\n ${selector} dl {\n outline: 1px solid #fd3427 !important;\n }\n\n ${selector} dt {\n outline: 1px solid #ff0043 !important;\n }\n\n ${selector} dd {\n outline: 1px solid #e80174 !important;\n }\n\n ${selector} figure {\n outline: 1px solid #ff00bb !important;\n }\n\n ${selector} figcaption {\n outline: 1px solid #bf0032 !important;\n }\n\n ${selector} table {\n outline: 1px solid #00cc99 !important;\n }\n\n ${selector} caption {\n outline: 1px solid #37ffc4 !important;\n }\n\n ${selector} thead {\n outline: 1px solid #98daca !important;\n }\n\n ${selector} tbody {\n outline: 1px solid #64a7a0 !important;\n }\n\n ${selector} tfoot {\n outline: 1px solid #22746b !important;\n }\n\n ${selector} tr {\n outline: 1px solid #86c0b2 !important;\n }\n\n ${selector} th {\n outline: 1px solid #a1e7d6 !important;\n }\n\n ${selector} td {\n outline: 1px solid #3f5a54 !important;\n }\n\n ${selector} col {\n outline: 1px solid #6c9a8f !important;\n }\n\n ${selector} colgroup {\n outline: 1px solid #6c9a9d !important;\n }\n\n ${selector} button {\n outline: 1px solid #da8301 !important;\n }\n\n ${selector} datalist {\n outline: 1px solid #c06000 !important;\n }\n\n ${selector} fieldset {\n outline: 1px solid #d95100 !important;\n }\n\n ${selector} form {\n outline: 1px solid #d23600 !important;\n }\n\n ${selector} input {\n outline: 1px solid #fca600 !important;\n }\n\n ${selector} keygen {\n outline: 1px solid #b31e00 !important;\n }\n\n ${selector} label {\n outline: 1px solid #ee8900 !important;\n }\n\n ${selector} legend {\n outline: 1px solid #de6d00 !important;\n }\n\n ${selector} meter {\n outline: 1px solid #e8630c !important;\n }\n\n ${selector} optgroup {\n outline: 1px solid #b33600 !important;\n }\n\n ${selector} option {\n outline: 1px solid #ff8a00 !important;\n }\n\n ${selector} output {\n outline: 1px solid #ff9619 !important;\n }\n\n ${selector} progress {\n outline: 1px solid #e57c00 !important;\n }\n\n ${selector} select {\n outline: 1px solid #e26e0f !important;\n }\n\n ${selector} textarea {\n outline: 1px solid #cc5400 !important;\n }\n\n ${selector} details {\n outline: 1px solid #33848f !important;\n }\n\n ${selector} summary {\n outline: 1px solid #60a1a6 !important;\n }\n\n ${selector} command {\n outline: 1px solid #438da1 !important;\n }\n\n ${selector} menu {\n outline: 1px solid #449da6 !important;\n }\n\n ${selector} del {\n outline: 1px solid #bf0000 !important;\n }\n\n ${selector} ins {\n outline: 1px solid #400000 !important;\n }\n\n ${selector} img {\n outline: 1px solid #22746b !important;\n }\n\n ${selector} iframe {\n outline: 1px solid #64a7a0 !important;\n }\n\n ${selector} embed {\n outline: 1px solid #98daca !important;\n }\n\n ${selector} object {\n outline: 1px solid #00cc99 !important;\n }\n\n ${selector} param {\n outline: 1px solid #37ffc4 !important;\n }\n\n ${selector} video {\n outline: 1px solid #6ee866 !important;\n }\n\n ${selector} audio {\n outline: 1px solid #027353 !important;\n }\n\n ${selector} source {\n outline: 1px solid #012426 !important;\n }\n\n ${selector} canvas {\n outline: 1px solid #a2f570 !important;\n }\n\n ${selector} track {\n outline: 1px solid #59a600 !important;\n }\n\n ${selector} map {\n outline: 1px solid #7be500 !important;\n }\n\n ${selector} area {\n outline: 1px solid #305900 !important;\n }\n\n ${selector} a {\n outline: 1px solid #ff62ab !important;\n }\n\n ${selector} em {\n outline: 1px solid #800b41 !important;\n }\n\n ${selector} strong {\n outline: 1px solid #ff1583 !important;\n }\n\n ${selector} i {\n outline: 1px solid #803156 !important;\n }\n\n ${selector} b {\n outline: 1px solid #cc1169 !important;\n }\n\n ${selector} u {\n outline: 1px solid #ff0430 !important;\n }\n\n ${selector} s {\n outline: 1px solid #f805e3 !important;\n }\n\n ${selector} small {\n outline: 1px solid #d107b2 !important;\n }\n\n ${selector} abbr {\n outline: 1px solid #4a0263 !important;\n }\n\n ${selector} q {\n outline: 1px solid #240018 !important;\n }\n\n ${selector} cite {\n outline: 1px solid #64003c !important;\n }\n\n ${selector} dfn {\n outline: 1px solid #b4005a !important;\n }\n\n ${selector} sub {\n outline: 1px solid #dba0c8 !important;\n }\n\n ${selector} sup {\n outline: 1px solid #cc0256 !important;\n }\n\n ${selector} time {\n outline: 1px solid #d6606d !important;\n }\n\n ${selector} code {\n outline: 1px solid #e04251 !important;\n }\n\n ${selector} kbd {\n outline: 1px solid #5e001f !important;\n }\n\n ${selector} samp {\n outline: 1px solid #9c0033 !important;\n }\n\n ${selector} var {\n outline: 1px solid #d90047 !important;\n }\n\n ${selector} mark {\n outline: 1px solid #ff0053 !important;\n }\n\n ${selector} bdi {\n outline: 1px solid #bf3668 !important;\n }\n\n ${selector} bdo {\n outline: 1px solid #6f1400 !important;\n }\n\n ${selector} ruby {\n outline: 1px solid #ff7b93 !important;\n }\n\n ${selector} rt {\n outline: 1px solid #ff2f54 !important;\n }\n\n ${selector} rp {\n outline: 1px solid #803e49 !important;\n }\n\n ${selector} span {\n outline: 1px solid #cc2643 !important;\n }\n\n ${selector} br {\n outline: 1px solid #db687d !important;\n }\n\n ${selector} wbr {\n outline: 1px solid #db175b !important;\n }`}var withOutline=(StoryFn,context)=>{let{globals:globals2}=context,isActive=[!0,\"true\"].includes(globals2[PARAM_KEY]),isInDocs=context.viewMode===\"docs\",outlineStyles=useMemo(()=>outlineCSS(isInDocs?'[data-story-block=\"true\"]':\".sb-show-main\"),[context]);return useEffect(()=>{let selectorId=isInDocs?`addon-outline-docs-${context.id}`:\"addon-outline\";return isActive?addOutlineStyles(selectorId,outlineStyles):clearStyles(selectorId),()=>{clearStyles(selectorId);}},[isActive,outlineStyles,context]),StoryFn()};var decorators=[withOutline],globals={[PARAM_KEY]:!1};\n\nexport { decorators, globals };\n"],"names":["PARAM_KEY","useMemo","useEffect","clearStyles","selector","clearStyle","input","element","global","addOutlineStyles","css","existingStyle","style","outlineCSS","dedent","withOutline","StoryFn","context","globals2","isActive","isInDocs","outlineStyles","selectorId","decorators","globals"],"mappings":"gFAAG,IAA8BA,EAAU,UCC3C,KAAA,CAAA,QAAAC,EAAA,UAAAC,CAAA,EAAA,iCAIA,IAAIC,EAAYC,GAAU,EAAE,MAAM,QAAQA,CAAQ,EAAEA,EAAS,CAACA,CAAQ,GAAG,QAAQC,CAAU,CAAE,EAAEA,EAAWC,GAAO,CAAC,IAAIF,EAAS,OAAOE,GAAO,SAASA,EAAMA,EAAM,KAAK,EAAE,EAAEC,EAAQC,EAAO,SAAS,eAAeJ,CAAQ,EAAEG,GAASA,EAAQ,eAAeA,EAAQ,cAAc,YAAYA,CAAO,CAAE,EAAEE,EAAiB,CAACL,EAASM,IAAM,CAAC,IAAIC,EAAcH,EAAO,SAAS,eAAeJ,CAAQ,EAAE,GAAGO,EAAcA,EAAc,YAAYD,IAAMC,EAAc,UAAUD,OAAU,CAAC,IAAIE,EAAMJ,EAAO,SAAS,cAAc,OAAO,EAAEI,EAAM,aAAa,KAAKR,CAAQ,EAAEQ,EAAM,UAAUF,EAAIF,EAAO,SAAS,KAAK,YAAYI,CAAK,CAAE,CAAC,EAAE,SAASC,EAAWT,EAAS,CAAC,OAAOU;AAAA,MAC3oBV,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA;AAAA;AAAA,MAIRA,CAAQ;AAAA;AAAA,MAER,CAAC,IAAIW,EAAY,CAACC,EAAQC,IAAU,CAAC,GAAG,CAAC,QAAQC,CAAQ,EAAED,EAAQE,EAAS,CAAC,GAAG,MAAM,EAAE,SAASD,EAASlB,CAAS,CAAC,EAAEoB,EAASH,EAAQ,WAAW,OAAOI,EAAcpB,EAAQ,IAAIY,EAAWO,EAAS,4BAA4B,eAAe,EAAE,CAACH,CAAO,CAAC,EAAE,OAAOf,EAAU,IAAI,CAAC,IAAIoB,EAAWF,EAAS,sBAAsBH,EAAQ,EAAE,GAAG,gBAAgB,OAAOE,EAASV,EAAiBa,EAAWD,CAAa,EAAElB,EAAYmB,CAAU,EAAE,IAAI,CAACnB,EAAYmB,CAAU,CAAE,CAAC,EAAE,CAACH,EAASE,EAAcJ,CAAO,CAAC,EAAED,EAAO,CAAE,EAAMO,EAAW,CAACR,CAAW,EAAES,EAAQ,CAAC,CAACxB,CAAS,EAAE,EAAE","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/assets/preview-eee9d1e5.js b/assets/preview-eee9d1e5.js new file mode 100644 index 00000000..3f472d06 --- /dev/null +++ b/assets/preview-eee9d1e5.js @@ -0,0 +1,2 @@ +import{_ as e}from"./iframe-608d8974.js";import"../sb-preview/runtime.js";var a={docs:{renderer:async()=>{let{DocsRenderer:r}=await e(()=>import("./DocsRenderer-EYKKDMVH-10cc4b93.js"),["./DocsRenderer-EYKKDMVH-10cc4b93.js","./iframe-608d8974.js","./index-ebeaab24.js","./react-18-c518c876.js","./client-180092d5.js","./index-9c09ad76.js","./index-96a2bc4b.js","./chunk-4NMOSTKD-82fbb5f2.js","./index-d475d2ea.js","./extends-98964cd2.js","./index-84cea9da.js","./index-356e4a49.js"],import.meta.url);return new r}}};export{a as parameters}; +//# sourceMappingURL=preview-eee9d1e5.js.map diff --git a/assets/preview-eee9d1e5.js.map b/assets/preview-eee9d1e5.js.map new file mode 100644 index 00000000..350483f7 --- /dev/null +++ b/assets/preview-eee9d1e5.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"0EAAG,IAACA,EAAW,CAAC,KAAK,CAAC,SAAS,SAAS,CAAC,GAAG,CAAC,aAAAC,CAAY,EAAE,MAAKC,EAAA,IAAC,OAAO,qCAA6B,6TAAE,OAAO,IAAID,CAAY,CAAC,CAAC","names":["parameters","DocsRenderer","__vitePreload"],"sources":["../../node_modules/@storybook/addon-docs/dist/preview.mjs"],"sourcesContent":["var parameters={docs:{renderer:async()=>{let{DocsRenderer}=await import('./DocsRenderer-EYKKDMVH.mjs');return new DocsRenderer}}};\n\nexport { parameters };\n"],"file":"assets/preview-eee9d1e5.js"} \ No newline at end of file diff --git a/assets/product-bb5f9b0b.svg b/assets/product-bb5f9b0b.svg new file mode 100644 index 00000000..2455624a --- /dev/null +++ b/assets/product-bb5f9b0b.svg @@ -0,0 +1 @@ + diff --git a/assets/react-18-c518c876.js b/assets/react-18-c518c876.js new file mode 100644 index 00000000..594237b6 --- /dev/null +++ b/assets/react-18-c518c876.js @@ -0,0 +1,2 @@ +import{R as s,r as n}from"./index-ebeaab24.js";import{c as u}from"./client-180092d5.js";var o=new Map,c=({callback:e,children:t})=>{let r=n.useRef();return n.useLayoutEffect(()=>{r.current!==e&&(r.current=e,e())},[e]),t},R=async(e,t)=>{let r=await m(t);return new Promise(a=>{r.render(s.createElement(c,{callback:()=>a(null)},e))})},p=(e,t)=>{let r=o.get(e);r&&(r.unmount(),o.delete(e))},m=async e=>{let t=o.get(e);return t||(t=u.createRoot(e),o.set(e,t)),t};export{R as r,p as u}; +//# sourceMappingURL=react-18-c518c876.js.map diff --git a/assets/react-18-c518c876.js.map b/assets/react-18-c518c876.js.map new file mode 100644 index 00000000..d17d14c4 --- /dev/null +++ b/assets/react-18-c518c876.js.map @@ -0,0 +1 @@ +{"version":3,"file":"react-18-c518c876.js","sources":["../../node_modules/@storybook/react-dom-shim/dist/react-18.mjs"],"sourcesContent":["import React, { useRef, useLayoutEffect } from 'react';\nimport ReactDOM from 'react-dom/client';\n\nvar nodes=new Map,WithCallback=({callback,children})=>{let once=useRef();return useLayoutEffect(()=>{once.current!==callback&&(once.current=callback,callback());},[callback]),children},renderElement=async(node,el)=>{let root=await getReactRoot(el);return new Promise(resolve=>{root.render(React.createElement(WithCallback,{callback:()=>resolve(null)},node));})},unmountElement=(el,shouldUseNewRootApi)=>{let root=nodes.get(el);root&&(root.unmount(),nodes.delete(el));},getReactRoot=async el=>{let root=nodes.get(el);return root||(root=ReactDOM.createRoot(el),nodes.set(el,root)),root};\n\nexport { renderElement, unmountElement };\n"],"names":["nodes","WithCallback","callback","children","once","useRef","useLayoutEffect","renderElement","node","el","root","getReactRoot","resolve","React","unmountElement","shouldUseNewRootApi","ReactDOM"],"mappings":"wFAGG,IAACA,EAAM,IAAI,IAAIC,EAAa,CAAC,CAAC,SAAAC,EAAS,SAAAC,CAAQ,IAAI,CAAC,IAAIC,EAAKC,EAAM,OAAA,EAAG,OAAOC,kBAAgB,IAAI,CAACF,EAAK,UAAUF,IAAWE,EAAK,QAAQF,EAASA,EAAQ,EAAI,EAAE,CAACA,CAAQ,CAAC,EAAEC,CAAQ,EAAEI,EAAc,MAAMC,EAAKC,IAAK,CAAC,IAAIC,EAAK,MAAMC,EAAaF,CAAE,EAAE,OAAO,IAAI,QAAQG,GAAS,CAACF,EAAK,OAAOG,EAAM,cAAcZ,EAAa,CAAC,SAAS,IAAIW,EAAQ,IAAI,CAAC,EAAEJ,CAAI,CAAC,CAAE,CAAC,CAAC,EAAEM,EAAe,CAACL,EAAGM,IAAsB,CAAC,IAAIL,EAAKV,EAAM,IAAIS,CAAE,EAAEC,IAAOA,EAAK,UAAUV,EAAM,OAAOS,CAAE,EAAG,EAAEE,EAAa,MAAMF,GAAI,CAAC,IAAIC,EAAKV,EAAM,IAAIS,CAAE,EAAE,OAAOC,IAAOA,EAAKM,EAAS,WAAWP,CAAE,EAAET,EAAM,IAAIS,EAAGC,CAAI,GAAGA,CAAI","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/assets/syntaxhighlighter-QTQ2UBB4-5faf1978.js b/assets/syntaxhighlighter-QTQ2UBB4-5faf1978.js new file mode 100644 index 00000000..4197f459 --- /dev/null +++ b/assets/syntaxhighlighter-QTQ2UBB4-5faf1978.js @@ -0,0 +1,2 @@ +import{S as n,c as d,s as f}from"./index-96a2bc4b.js";import"./iframe-608d8974.js";import"../sb-preview/runtime.js";import"./index-ebeaab24.js";import"./chunk-4NMOSTKD-82fbb5f2.js";import"./index-d475d2ea.js";import"./index-9c09ad76.js";import"./extends-98964cd2.js";import"./index-84cea9da.js";import"./index-356e4a49.js";export{n as SyntaxHighlighter,d as createCopyToClipboardFunction,f as default}; +//# sourceMappingURL=syntaxhighlighter-QTQ2UBB4-5faf1978.js.map diff --git a/assets/syntaxhighlighter-QTQ2UBB4-5faf1978.js.map b/assets/syntaxhighlighter-QTQ2UBB4-5faf1978.js.map new file mode 100644 index 00000000..7147f0b2 --- /dev/null +++ b/assets/syntaxhighlighter-QTQ2UBB4-5faf1978.js.map @@ -0,0 +1 @@ +{"version":3,"file":"syntaxhighlighter-QTQ2UBB4-5faf1978.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/trump-48fdb6cf.svg b/assets/trump-48fdb6cf.svg new file mode 100644 index 00000000..06ef8c6e --- /dev/null +++ b/assets/trump-48fdb6cf.svg @@ -0,0 +1 @@ + diff --git a/assets/twitter-5cfb0014.svg b/assets/twitter-5cfb0014.svg new file mode 100644 index 00000000..590402b3 --- /dev/null +++ b/assets/twitter-5cfb0014.svg @@ -0,0 +1 @@ + diff --git a/assets/useSelection-7210d826.js b/assets/useSelection-7210d826.js new file mode 100644 index 00000000..b51a0d11 --- /dev/null +++ b/assets/useSelection-7210d826.js @@ -0,0 +1,2 @@ +import{r}from"./index-ebeaab24.js";import{b as Q,c as G,u as V}from"./RadialMenu-93524eec.js";function W(b,v,N){return Q(b,v,N)}const $=({selections:b=[],nodes:v=[],actives:N=[],focusOnSelect:g=!0,type:h="single",pathHoverType:k="out",pathSelectionType:C="direct",ref:c,hotkeys:y=["selectAll","deselect","delete"],disabled:o,onSelection:a})=>{const[M,K]=r.useState([]),[w,A]=r.useState(N),[n,u]=r.useState(b),[m,L]=r.useState(!1),E=h==="multi"||h==="multiModifier",d=r.useCallback(s=>{if(!o&&s){s=Array.isArray(s)?s:[s];const e=s.filter(t=>!n.includes(t));if(e.length){const t=[...n,...e];a==null||a(t),u(t)}}},[o,n,a]),p=r.useCallback(s=>{if(!o&&s){s=Array.isArray(s)?s:[s];const e=n.filter(t=>!s.includes(t));a==null||a(e),u(e)}},[o,n,a]),l=r.useCallback((s=[])=>{o||(s=Array.isArray(s)?s:[s],A([]),u(s),a==null||a(s))},[o,a]),I=r.useCallback(s=>{n.includes(s)?p(s):E?d(s):l(s)},[d,l,n,E,p]),z=r.useCallback(s=>{var e;if(E?h==="multiModifier"?m?d(s.id):l(s.id):d(s.id):l(s.id),g===!0||g==="singleOnly"&&!m){if(!c.current)throw new Error("No ref found for the graph canvas.");const t=c.current.getGraph(),{nodes:i}=G(t,[s.id],C);(e=c.current)==null||e.centerGraph([s.id,...i])}},[d,l,g,E,m,C,c,h]),R=r.useCallback((s,e)=>{const t=c.current.getGraph();if(!t)throw new Error("Graph is not initialized");const i=W(t,s,e);l([s,e]);const P=[];for(let f=0;ff),...P])},[l,c]),D=r.useCallback(s=>{const e=s.target,t=e.tagName!=="INPUT"&&e.tagName!=="SELECT"&&e.tagName!=="TEXTAREA"&&!e.isContentEditable,i=s.metaKey||s.ctrlKey;t&&i&&(s.preventDefault(),L(!0))},[]);r.useEffect(()=>(window.addEventListener("keydown",D),()=>{window.removeEventListener("keydown",D)}),[D]);const U=r.useCallback(s=>{var e;if(s.button!==2&&(n.length||w.length)&&(l(),L(!1),g&&n.length===1)){if(!c.current)throw new Error("No ref found for the graph canvas.");(e=c.current)==null||e.centerGraph()}},[l,g,w.length,n.length,c]),X=r.useCallback(s=>{A(s)},[]),q=r.useCallback(s=>{l(s)},[l]),x=r.useCallback(s=>{if(k){const e=c.current.getGraph();if(!e)throw new Error("No ref found for the graph canvas.");const{nodes:t,edges:i}=G(e,[s.id],k);K([...t,...i])}},[k,c]),B=r.useCallback(()=>{k&&K([])},[k]);return r.useEffect(()=>{var s;if(C!=="direct"&&n.length>0){const e=(s=c.current)==null?void 0:s.getGraph();if(e){const{nodes:t,edges:i}=G(e,n,C);A([...t,...i])}}},[n,C,c]),V([{name:"Select All",keys:"mod+a",disabled:!y.includes("selectAll"),category:"Canvas",description:"Select all nodes and edges",callback:s=>{if(s.preventDefault(),!o&&h!=="single"){const e=v.map(t=>t.id);a==null||a(e),u(e)}}},{name:"Deselect Selections",category:"Canvas",disabled:!y.includes("deselect"),description:"Deselect selected nodes and edges",keys:"escape",callback:s=>{o||(s.preventDefault(),a==null||a([]),u([]))}}]),{actives:r.useMemo(()=>[...w,...M],[w,M]),onNodeClick:z,onNodePointerOver:x,onNodePointerOut:B,onLasso:X,onLassoEnd:q,selectNodePaths:R,onCanvasClick:U,selections:n,clearSelections:l,addSelection:d,removeSelection:p,toggleSelection:I,setSelections:u}};export{$ as u}; +//# sourceMappingURL=useSelection-7210d826.js.map diff --git a/assets/useSelection-7210d826.js.map b/assets/useSelection-7210d826.js.map new file mode 100644 index 00000000..f37aff55 --- /dev/null +++ b/assets/useSelection-7210d826.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useSelection-7210d826.js","sources":["../../src/utils/paths.ts","../../src/selection/useSelection.ts"],"sourcesContent":["import Graph from 'graphology';\nimport { bidirectional } from 'graphology-shortest-path';\n\nexport function findPath(graph: Graph, source: string, target: string) {\n return bidirectional(graph, source, target);\n}\n","import React, {\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useState\n} from 'react';\nimport { GraphCanvasRef } from '../GraphCanvas';\nimport { useHotkeys } from 'reakeys';\nimport { GraphEdge, GraphNode } from '../types';\nimport { findPath } from '../utils/paths';\nimport { getAdjacents, PathSelectionTypes } from './utils';\n\nexport type HotkeyTypes = 'selectAll' | 'deselect' | 'delete';\n\nexport type SelectionTypes = 'single' | 'multi' | 'multiModifier';\n\nexport interface SelectionProps {\n /**\n * Required ref for the graph.\n */\n ref: RefObject;\n\n /**\n * Current selections.\n *\n * Contains both nodes and edges ids.\n */\n selections?: string[];\n\n /**\n * Default active selections.\n */\n actives?: string[];\n\n /**\n * Node datas.\n */\n nodes?: GraphNode[];\n\n /**\n * Edge datas.\n */\n edges?: GraphEdge[];\n\n /**\n * Disabled or not.\n */\n disabled?: boolean;\n\n /**\n * Hotkey types\n */\n hotkeys?: HotkeyTypes[];\n\n /**\n * Whether to focus on select or not.\n */\n focusOnSelect?: boolean | 'singleOnly';\n\n /**\n * Type of selection.\n */\n type?: SelectionTypes;\n\n /**\n * Type of selection.\n */\n pathSelectionType?: PathSelectionTypes;\n\n /**\n * Whether it should active on hover or not.\n */\n pathHoverType?: PathSelectionTypes;\n\n /**\n * On selection change.\n */\n onSelection?: (selectionIds: string[]) => void;\n}\n\nexport interface SelectionResult {\n /**\n * Selections id array (of nodes and edges).\n */\n selections: string[];\n\n /**\n * The nodes/edges around the selections to highlight.\n */\n actives: string[];\n\n /**\n * Clear selections method.\n */\n clearSelections: (value?: string[]) => void;\n\n /**\n * A selection method.\n */\n addSelection: (value: string) => void;\n\n /**\n * Get the paths between two nodes.\n */\n selectNodePaths: (source: string, target: string) => void;\n\n /**\n * Remove selection method.\n */\n removeSelection: (value: string) => void;\n\n /**\n * Toggle existing selection on/off method.\n */\n toggleSelection: (value: string) => void;\n\n /**\n * Set internal selections.\n */\n setSelections: (value: string[]) => void;\n\n /**\n * On click event pass through.\n */\n onNodeClick?: (data: GraphNode) => void;\n\n /**\n * On canvas click event pass through.\n */\n onCanvasClick?: (event: MouseEvent) => void;\n\n /**\n * When the lasso happened.\n */\n onLasso?: (selections: string[]) => void;\n\n /**\n * When the lasso ended.\n */\n onLassoEnd?: (selections: string[]) => void;\n\n /**\n * When node got a pointer over.\n */\n onNodePointerOver?: (node: GraphNode) => void;\n\n /**\n * When node lost pointer over.\n */\n onNodePointerOut?: (node: GraphNode) => void;\n}\n\nexport const useSelection = ({\n selections = [],\n nodes = [],\n actives = [],\n focusOnSelect = true,\n type = 'single',\n pathHoverType = 'out',\n pathSelectionType = 'direct',\n ref,\n hotkeys = ['selectAll', 'deselect', 'delete'],\n disabled,\n onSelection\n}: SelectionProps): SelectionResult => {\n const [internalHovers, setInternalHovers] = useState([]);\n const [internalActives, setInternalActives] = useState(actives);\n const [internalSelections, setInternalSelections] =\n useState(selections);\n const [metaKeyDown, setMetaKeyDown] = useState(false);\n const isMulti = type === 'multi' || type === 'multiModifier';\n\n const addSelection = useCallback(\n (items: string | string[]) => {\n if (!disabled && items) {\n items = Array.isArray(items) ? items : [items];\n\n const filtered = items.filter(\n item => !internalSelections.includes(item)\n );\n if (filtered.length) {\n const next = [...internalSelections, ...filtered];\n onSelection?.(next);\n setInternalSelections(next);\n }\n }\n },\n [disabled, internalSelections, onSelection]\n );\n\n const removeSelection = useCallback(\n (items: string | string[]) => {\n if (!disabled && items) {\n items = Array.isArray(items) ? items : [items];\n\n const next = internalSelections.filter(i => !items.includes(i));\n onSelection?.(next);\n setInternalSelections(next);\n }\n },\n [disabled, internalSelections, onSelection]\n );\n\n const clearSelections = useCallback(\n (next: string | string[] = []) => {\n if (!disabled) {\n next = Array.isArray(next) ? next : [next];\n setInternalActives([]);\n setInternalSelections(next);\n onSelection?.(next);\n }\n },\n [disabled, onSelection]\n );\n\n const toggleSelection = useCallback(\n (item: string) => {\n const has = internalSelections.includes(item);\n if (has) {\n removeSelection(item);\n } else {\n if (!isMulti) {\n clearSelections(item);\n } else {\n addSelection(item);\n }\n }\n },\n [\n addSelection,\n clearSelections,\n internalSelections,\n isMulti,\n removeSelection\n ]\n );\n\n const onNodeClick = useCallback(\n (data: GraphNode) => {\n if (isMulti) {\n if (type === 'multiModifier') {\n if (metaKeyDown) {\n addSelection(data.id);\n } else {\n clearSelections(data.id);\n }\n } else {\n addSelection(data.id);\n }\n } else {\n clearSelections(data.id);\n }\n\n if (\n focusOnSelect === true ||\n (focusOnSelect === 'singleOnly' && !metaKeyDown)\n ) {\n if (!ref.current) {\n throw new Error('No ref found for the graph canvas.');\n }\n\n const graph = ref.current.getGraph();\n const { nodes: adjacents } = getAdjacents(\n graph,\n [data.id],\n pathSelectionType\n );\n ref.current?.centerGraph([data.id, ...adjacents]);\n }\n },\n [\n addSelection,\n clearSelections,\n focusOnSelect,\n isMulti,\n metaKeyDown,\n pathSelectionType,\n ref,\n type\n ]\n );\n\n const selectNodePaths = useCallback(\n (source: string, target: string) => {\n const graph = ref.current.getGraph();\n if (!graph) {\n throw new Error('Graph is not initialized');\n }\n\n const path = findPath(graph, source, target);\n clearSelections([source, target]);\n\n const result = [];\n for (let i = 0; i < path.length - 1; i++) {\n const from = path[i];\n const to = path[i + 1];\n const edge = graph.getEdgeAttributes(from, to);\n if (edge) {\n result.push(edge.id);\n }\n }\n\n setInternalActives([...path.map(p => p as string), ...result]);\n },\n [clearSelections, ref]\n );\n\n const onKeyDown = useCallback((event: KeyboardEvent) => {\n const element = event.target as any;\n const isSafe =\n element.tagName !== 'INPUT' &&\n element.tagName !== 'SELECT' &&\n element.tagName !== 'TEXTAREA' &&\n !element.isContentEditable;\n\n const isMeta = event.metaKey || event.ctrlKey;\n\n if (isSafe && isMeta) {\n event.preventDefault();\n setMetaKeyDown(true);\n }\n }, []);\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n const onCanvasClick = useCallback(\n (event: MouseEvent) => {\n if (\n event.button !== 2 &&\n (internalSelections.length || internalActives.length)\n ) {\n clearSelections();\n setMetaKeyDown(false);\n\n // Only re-center if we have a single selection\n if (focusOnSelect && internalSelections.length === 1) {\n if (!ref.current) {\n throw new Error('No ref found for the graph canvas.');\n }\n\n ref.current?.centerGraph();\n }\n }\n },\n [\n clearSelections,\n focusOnSelect,\n internalActives.length,\n internalSelections.length,\n ref\n ]\n );\n\n const onLasso = useCallback((selections: string[]) => {\n setInternalActives(selections);\n }, []);\n\n const onLassoEnd = useCallback(\n (selections: string[]) => {\n clearSelections(selections);\n },\n [clearSelections]\n );\n\n const onNodePointerOver = useCallback(\n (data: GraphNode) => {\n if (pathHoverType) {\n const graph = ref.current.getGraph();\n if (!graph) {\n throw new Error('No ref found for the graph canvas.');\n }\n\n const { nodes, edges } = getAdjacents(graph, [data.id], pathHoverType);\n setInternalHovers([...nodes, ...edges]);\n }\n },\n [pathHoverType, ref]\n );\n\n const onNodePointerOut = useCallback(() => {\n if (pathHoverType) {\n setInternalHovers([]);\n }\n }, [pathHoverType]);\n\n useEffect(() => {\n if (pathSelectionType !== 'direct' && internalSelections.length > 0) {\n const graph = ref.current?.getGraph();\n if (graph) {\n const { nodes, edges } = getAdjacents(\n graph,\n internalSelections,\n pathSelectionType\n );\n setInternalActives([...nodes, ...edges]);\n }\n }\n }, [internalSelections, pathSelectionType, ref]);\n\n useHotkeys([\n {\n name: 'Select All',\n keys: 'mod+a',\n disabled: !hotkeys.includes('selectAll'),\n category: 'Canvas',\n description: 'Select all nodes and edges',\n callback: event => {\n event.preventDefault();\n\n if (!disabled && type !== 'single') {\n const next = nodes.map(n => n.id);\n onSelection?.(next);\n setInternalSelections(next);\n }\n }\n },\n {\n name: 'Deselect Selections',\n category: 'Canvas',\n disabled: !hotkeys.includes('deselect'),\n description: 'Deselect selected nodes and edges',\n keys: 'escape',\n callback: event => {\n if (!disabled) {\n event.preventDefault();\n onSelection?.([]);\n setInternalSelections([]);\n }\n }\n }\n ]);\n\n const joinedActives = useMemo(\n () => [...internalActives, ...internalHovers],\n [internalActives, internalHovers]\n );\n\n return {\n actives: joinedActives,\n onNodeClick,\n onNodePointerOver,\n onNodePointerOut,\n onLasso,\n onLassoEnd,\n selectNodePaths,\n onCanvasClick,\n selections: internalSelections,\n clearSelections,\n addSelection,\n removeSelection,\n toggleSelection,\n setSelections: setInternalSelections\n };\n};\n"],"names":["findPath","graph","source","target","bidirectional","useSelection","selections","nodes","actives","focusOnSelect","type","pathHoverType","pathSelectionType","ref","hotkeys","disabled","onSelection","internalHovers","setInternalHovers","useState","internalActives","setInternalActives","internalSelections","setInternalSelections","metaKeyDown","setMetaKeyDown","isMulti","addSelection","useCallback","items","filtered","item","next","removeSelection","i","clearSelections","toggleSelection","onNodeClick","data","adjacents","getAdjacents","_a","selectNodePaths","path","result","from","to","edge","p","onKeyDown","event","element","isSafe","isMeta","useEffect","onCanvasClick","onLasso","onLassoEnd","onNodePointerOver","edges","onNodePointerOut","useHotkeys","n","useMemo"],"mappings":"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"} \ No newline at end of file diff --git a/assets/user-b3b79ba4.svg b/assets/user-b3b79ba4.svg new file mode 100644 index 00000000..b4b28fc7 --- /dev/null +++ b/assets/user-b3b79ba4.svg @@ -0,0 +1 @@ + diff --git a/favicon.svg b/favicon.svg new file mode 100644 index 00000000..684ddb27 --- /dev/null +++ b/favicon.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/iframe.html b/iframe.html new file mode 100644 index 00000000..9aeb2dc0 --- /dev/null +++ b/iframe.html @@ -0,0 +1,488 @@ + + + + + + + Storybook + + + + + + + + + + + + + + +REAGRAPH + + + + + + +
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+

No Preview

+

Sorry, but you either have no stories or none are selected somehow.

+
    +
  • Please check the Storybook config.
  • +
  • Try reloading the page.
  • +
+

+ If the problem persists, check the browser console, or the terminal you've run Storybook from. +

+
+
+ +
+

+  
+
+ +
+
+ + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 00000000..7d1a97d8 --- /dev/null +++ b/index.html @@ -0,0 +1,146 @@ + + + + + + @storybook/cli - Storybook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + REAGRAPH + + + + + + + + + + + + + + + +
+ + + + + + + + + + diff --git a/index.json b/index.json new file mode 100644 index 00000000..83352386 --- /dev/null +++ b/index.json @@ -0,0 +1 @@ +{"v":4,"entries":{"docs-intro--docs":{"id":"docs-intro--docs","title":"Docs/Intro","name":"Docs","importPath":"./docs/Intro.mdx","storiesImports":[],"type":"docs","tags":["unattached-mdx","docs"]},"docs-getting-started-installing--docs":{"id":"docs-getting-started-installing--docs","title":"Docs/Getting Started/Installing","name":"Docs","importPath":"./docs/Installing.mdx","storiesImports":[],"type":"docs","tags":["unattached-mdx","docs"]},"docs-getting-started-basics--docs":{"id":"docs-getting-started-basics--docs","title":"Docs/Getting Started/Basics","name":"Docs","importPath":"./docs/Basics.mdx","storiesImports":[],"type":"docs","tags":["unattached-mdx","docs"]},"docs-getting-started-faq--docs":{"id":"docs-getting-started-faq--docs","title":"Docs/Getting Started/FAQ","name":"Docs","importPath":"./docs/FAQ.mdx","storiesImports":[],"type":"docs","tags":["unattached-mdx","docs"]},"docs-getting-started-layouts--docs":{"id":"docs-getting-started-layouts--docs","title":"Docs/Getting Started/Layouts","name":"Docs","importPath":"./docs/Layouts.mdx","storiesImports":[],"type":"docs","tags":["unattached-mdx","docs"]},"docs-getting-started-theme--docs":{"id":"docs-getting-started-theme--docs","title":"Docs/Getting Started/Theme","name":"Docs","importPath":"./docs/Theme.mdx","storiesImports":[],"type":"docs","tags":["unattached-mdx","docs"]},"docs-api-graphcanvas--docs":{"id":"docs-api-graphcanvas--docs","title":"Docs/API/GraphCanvas","name":"Docs","importPath":"./docs/Api.mdx","storiesImports":[],"type":"docs","tags":["unattached-mdx","docs"]},"docs-api-data-shapes--docs":{"id":"docs-api-data-shapes--docs","title":"Docs/API/Data Shapes","name":"Docs","importPath":"./docs/DataShapes.mdx","storiesImports":[],"type":"docs","tags":["unattached-mdx","docs"]},"docs-advanced-collapse--docs":{"id":"docs-advanced-collapse--docs","title":"Docs/Advanced/Collapse","name":"Docs","importPath":"./docs/Collapse.mdx","storiesImports":[],"type":"docs","tags":["unattached-mdx","docs"]},"docs-advanced-context-menu--docs":{"id":"docs-advanced-context-menu--docs","title":"Docs/Advanced/Context Menu","name":"Docs","importPath":"./docs/ContextMenu.mdx","storiesImports":[],"type":"docs","tags":["unattached-mdx","docs"]},"docs-advanced-custom-nodes--docs":{"id":"docs-advanced-custom-nodes--docs","title":"Docs/Advanced/Custom Nodes","name":"Docs","importPath":"./docs/CustomNodes.mdx","storiesImports":[],"type":"docs","tags":["unattached-mdx","docs"]},"docs-advanced-hotkeys--docs":{"id":"docs-advanced-hotkeys--docs","title":"Docs/Advanced/Hotkeys","name":"Docs","importPath":"./docs/Hotkeys.mdx","storiesImports":[],"type":"docs","tags":["unattached-mdx","docs"]},"docs-advanced-selection--docs":{"id":"docs-advanced-selection--docs","title":"Docs/Advanced/Selection","name":"Docs","importPath":"./docs/Selection.mdx","storiesImports":[],"type":"docs","tags":["unattached-mdx","docs"]},"demos-basic--simple":{"id":"demos-basic--simple","title":"Demos/Basic","name":"Simple","importPath":"./docs/demos/Basic.story.tsx","tags":["story"],"type":"story"},"demos-basic--two-way-link":{"id":"demos-basic--two-way-link","title":"Demos/Basic","name":"Two Way Link","importPath":"./docs/demos/Basic.story.tsx","tags":["story"],"type":"story"},"demos-basic--disabled":{"id":"demos-basic--disabled","title":"Demos/Basic","name":"Disabled","importPath":"./docs/demos/Basic.story.tsx","tags":["story"],"type":"story"},"demos-basic--many":{"id":"demos-basic--many","title":"Demos/Basic","name":"Many","importPath":"./docs/demos/Basic.story.tsx","tags":["story"],"type":"story"},"demos-basic--live-updates":{"id":"demos-basic--live-updates","title":"Demos/Basic","name":"Live Updates","importPath":"./docs/demos/Basic.story.tsx","tags":["story"],"type":"story"},"demos-basic--no-animation":{"id":"demos-basic--no-animation","title":"Demos/Basic","name":"No Animation","importPath":"./docs/demos/Basic.story.tsx","tags":["story"],"type":"story"},"demos-highlight-click--direct":{"id":"demos-highlight-click--direct","title":"Demos/Highlight/Click","name":"Direct","importPath":"./docs/demos/ClickHighlightTypes.story.tsx","tags":["story"],"type":"story"},"demos-highlight-click--no-focus":{"id":"demos-highlight-click--no-focus","title":"Demos/Highlight/Click","name":"No Focus","importPath":"./docs/demos/ClickHighlightTypes.story.tsx","tags":["story"],"type":"story"},"demos-highlight-click--inwards":{"id":"demos-highlight-click--inwards","title":"Demos/Highlight/Click","name":"Inwards","importPath":"./docs/demos/ClickHighlightTypes.story.tsx","tags":["story"],"type":"story"},"demos-highlight-click--outwards":{"id":"demos-highlight-click--outwards","title":"Demos/Highlight/Click","name":"Outwards","importPath":"./docs/demos/ClickHighlightTypes.story.tsx","tags":["story"],"type":"story"},"demos-highlight-click--all":{"id":"demos-highlight-click--all","title":"Demos/Highlight/Click","name":"All","importPath":"./docs/demos/ClickHighlightTypes.story.tsx","tags":["story"],"type":"story"},"demos-cluster--simple":{"id":"demos-cluster--simple","title":"Demos/Cluster","name":"Simple","importPath":"./docs/demos/Cluster.story.tsx","tags":["story"],"type":"story"},"demos-cluster--sizes":{"id":"demos-cluster--sizes","title":"Demos/Cluster","name":"Sizes","importPath":"./docs/demos/Cluster.story.tsx","tags":["story"],"type":"story"},"demos-cluster--edges":{"id":"demos-cluster--edges","title":"Demos/Cluster","name":"Edges","importPath":"./docs/demos/Cluster.story.tsx","tags":["story"],"type":"story"},"demos-cluster--three-dimensions":{"id":"demos-cluster--three-dimensions","title":"Demos/Cluster","name":"Three Dimensions","importPath":"./docs/demos/Cluster.story.tsx","tags":["story"],"type":"story"},"demos-collapsible--basic":{"id":"demos-collapsible--basic","title":"Demos/Collapsible","name":"Basic","importPath":"./docs/demos/Collapsible.story.tsx","tags":["story"],"type":"story"},"demos-collapsible--radial-context-menu":{"id":"demos-collapsible--radial-context-menu","title":"Demos/Collapsible","name":"Radial Context Menu","importPath":"./docs/demos/Collapsible.story.tsx","tags":["story"],"type":"story"},"demos-collapsible--expand-to-hidden-node":{"id":"demos-collapsible--expand-to-hidden-node","title":"Demos/Collapsible","name":"Expand To Hidden Node","importPath":"./docs/demos/Collapsible.story.tsx","tags":["story"],"type":"story"},"demos-context-menu--node":{"id":"demos-context-menu--node","title":"Demos/Context Menu","name":"Node","importPath":"./docs/demos/ContextMenu.story.tsx","tags":["story"],"type":"story"},"demos-context-menu--collapsible":{"id":"demos-context-menu--collapsible","title":"Demos/Context Menu","name":"Collapsible","importPath":"./docs/demos/ContextMenu.story.tsx","tags":["story"],"type":"story"},"demos-context-menu--edge":{"id":"demos-context-menu--edge","title":"Demos/Context Menu","name":"Edge","importPath":"./docs/demos/ContextMenu.story.tsx","tags":["story"],"type":"story"},"demos-controls--all":{"id":"demos-controls--all","title":"Demos/Controls","name":"All","importPath":"./docs/demos/Controls.story.tsx","tags":["story"],"type":"story"},"demos-controls--rotate":{"id":"demos-controls--rotate","title":"Demos/Controls","name":"Rotate","importPath":"./docs/demos/Controls.story.tsx","tags":["story"],"type":"story"},"demos-controls--orbit":{"id":"demos-controls--orbit","title":"Demos/Controls","name":"Orbit","importPath":"./docs/demos/Controls.story.tsx","tags":["story"],"type":"story"},"demos-edges--sizes":{"id":"demos-edges--sizes","title":"Demos/Edges","name":"Sizes","importPath":"./docs/demos/Edges.story.tsx","tags":["story"],"type":"story"},"demos-edges--events":{"id":"demos-edges--events","title":"Demos/Edges","name":"Events","importPath":"./docs/demos/Edges.story.tsx","tags":["story"],"type":"story"},"demos-edges-arrows--end":{"id":"demos-edges-arrows--end","title":"Demos/Edges/Arrows","name":"End","importPath":"./docs/demos/EdgeArrows.story.tsx","tags":["story"],"type":"story"},"demos-edges-arrows--mid":{"id":"demos-edges-arrows--mid","title":"Demos/Edges/Arrows","name":"Mid","importPath":"./docs/demos/EdgeArrows.story.tsx","tags":["story"],"type":"story"},"demos-edges-arrows--none":{"id":"demos-edges-arrows--none","title":"Demos/Edges/Arrows","name":"None","importPath":"./docs/demos/EdgeArrows.story.tsx","tags":["story"],"type":"story"},"demos-edges-curved--curved":{"id":"demos-edges-curved--curved","title":"Demos/Edges/Curved","name":"Curved","importPath":"./docs/demos/EdgeCurved.story.tsx","tags":["story"],"type":"story"},"demos-edges-curved--curved-arrows-end":{"id":"demos-edges-curved--curved-arrows-end","title":"Demos/Edges/Curved","name":"Curved Arrows End","importPath":"./docs/demos/EdgeCurved.story.tsx","tags":["story"],"type":"story"},"demos-edges-curved--curved-arrows-mid":{"id":"demos-edges-curved--curved-arrows-mid","title":"Demos/Edges/Curved","name":"Curved Arrows Mid","importPath":"./docs/demos/EdgeCurved.story.tsx","tags":["story"],"type":"story"},"demos-edges-curved--curved-sizes":{"id":"demos-edges-curved--curved-sizes","title":"Demos/Edges/Curved","name":"Curved Sizes","importPath":"./docs/demos/EdgeCurved.story.tsx","tags":["story"],"type":"story"},"demos-edges-labels--above":{"id":"demos-edges-labels--above","title":"Demos/Edges/Labels","name":"Above","importPath":"./docs/demos/EdgeLabels.story.tsx","tags":["story"],"type":"story"},"demos-edges-labels--below":{"id":"demos-edges-labels--below","title":"Demos/Edges/Labels","name":"Below","importPath":"./docs/demos/EdgeLabels.story.tsx","tags":["story"],"type":"story"},"demos-edges-labels--inline":{"id":"demos-edges-labels--inline","title":"Demos/Edges/Labels","name":"Inline","importPath":"./docs/demos/EdgeLabels.story.tsx","tags":["story"],"type":"story"},"demos-edges-labels--natural":{"id":"demos-edges-labels--natural","title":"Demos/Edges/Labels","name":"Natural","importPath":"./docs/demos/EdgeLabels.story.tsx","tags":["story"],"type":"story"},"demos-highlight-hover--direct":{"id":"demos-highlight-hover--direct","title":"Demos/Highlight/Hover","name":"Direct","importPath":"./docs/demos/HoverHighlightTypes.story.tsx","tags":["story"],"type":"story"},"demos-highlight-hover--inwards":{"id":"demos-highlight-hover--inwards","title":"Demos/Highlight/Hover","name":"Inwards","importPath":"./docs/demos/HoverHighlightTypes.story.tsx","tags":["story"],"type":"story"},"demos-highlight-hover--outwards":{"id":"demos-highlight-hover--outwards","title":"Demos/Highlight/Hover","name":"Outwards","importPath":"./docs/demos/HoverHighlightTypes.story.tsx","tags":["story"],"type":"story"},"demos-highlight-hover--all":{"id":"demos-highlight-hover--all","title":"Demos/Highlight/Hover","name":"All","importPath":"./docs/demos/HoverHighlightTypes.story.tsx","tags":["story"],"type":"story"},"demos-labels--all":{"id":"demos-labels--all","title":"Demos/Labels","name":"All","importPath":"./docs/demos/Labels.story.tsx","tags":["story"],"type":"story"},"demos-labels--long-labels":{"id":"demos-labels--long-labels","title":"Demos/Labels","name":"Long Labels","importPath":"./docs/demos/Labels.story.tsx","tags":["story"],"type":"story"},"demos-labels--nodes-only":{"id":"demos-labels--nodes-only","title":"Demos/Labels","name":"Nodes Only","importPath":"./docs/demos/Labels.story.tsx","tags":["story"],"type":"story"},"demos-labels--edges-only":{"id":"demos-labels--edges-only","title":"Demos/Labels","name":"Edges Only","importPath":"./docs/demos/Labels.story.tsx","tags":["story"],"type":"story"},"demos-labels--automatic":{"id":"demos-labels--automatic","title":"Demos/Labels","name":"Automatic","importPath":"./docs/demos/Labels.story.tsx","tags":["story"],"type":"story"},"demos-selection-lasso--nodes-and-edges":{"id":"demos-selection-lasso--nodes-and-edges","title":"Demos/Selection/Lasso","name":"Nodes And Edges","importPath":"./docs/demos/Lasso.story.tsx","tags":["story"],"type":"story"},"demos-selection-lasso--nodes-only":{"id":"demos-selection-lasso--nodes-only","title":"Demos/Selection/Lasso","name":"Nodes Only","importPath":"./docs/demos/Lasso.story.tsx","tags":["story"],"type":"story"},"demos-selection-lasso--dragging":{"id":"demos-selection-lasso--dragging","title":"Demos/Selection/Lasso","name":"Dragging","importPath":"./docs/demos/Lasso.story.tsx","tags":["story"],"type":"story"},"demos-selection-lasso--edges-only":{"id":"demos-selection-lasso--edges-only","title":"Demos/Selection/Lasso","name":"Edges Only","importPath":"./docs/demos/Lasso.story.tsx","tags":["story"],"type":"story"},"demos-layouts--recommender":{"id":"demos-layouts--recommender","title":"Demos/Layouts","name":"Recommender","importPath":"./docs/demos/Layouts.story.tsx","tags":["story"],"type":"story"},"demos-layouts--overrides":{"id":"demos-layouts--overrides","title":"Demos/Layouts","name":"Overrides","importPath":"./docs/demos/Layouts.story.tsx","tags":["story"],"type":"story"},"demos-selection-multi--defaults":{"id":"demos-selection-multi--defaults","title":"Demos/Selection/Multi","name":"Defaults","importPath":"./docs/demos/MultiSelection.story.tsx","tags":["story"],"type":"story"},"demos-selection-multi--dragging":{"id":"demos-selection-multi--dragging","title":"Demos/Selection/Multi","name":"Dragging","importPath":"./docs/demos/MultiSelection.story.tsx","tags":["story"],"type":"story"},"demos-selection-multi--modifier-key":{"id":"demos-selection-multi--modifier-key","title":"Demos/Selection/Multi","name":"Modifier Key","importPath":"./docs/demos/MultiSelection.story.tsx","tags":["story"],"type":"story"},"demos-selection-multi--path-finding":{"id":"demos-selection-multi--path-finding","title":"Demos/Selection/Multi","name":"Path Finding","importPath":"./docs/demos/MultiSelection.story.tsx","tags":["story"],"type":"story"},"demos-nodes--no-edges":{"id":"demos-nodes--no-edges","title":"Demos/Nodes","name":"No Edges","importPath":"./docs/demos/Nodes.story.tsx","tags":["story"],"type":"story"},"demos-nodes--icons":{"id":"demos-nodes--icons","title":"Demos/Nodes","name":"Icons","importPath":"./docs/demos/Nodes.story.tsx","tags":["story"],"type":"story"},"demos-nodes--custom-3-d-node":{"id":"demos-nodes--custom-3-d-node","title":"Demos/Nodes","name":"Custom 3 D Node","importPath":"./docs/demos/Nodes.story.tsx","tags":["story"],"type":"story"},"demos-nodes--sphere-with-icon-node":{"id":"demos-nodes--sphere-with-icon-node","title":"Demos/Nodes","name":"Sphere With Icon Node","importPath":"./docs/demos/Nodes.story.tsx","tags":["story"],"type":"story"},"demos-nodes--colors":{"id":"demos-nodes--colors","title":"Demos/Nodes","name":"Colors","importPath":"./docs/demos/Nodes.story.tsx","tags":["story"],"type":"story"},"demos-nodes--draggable":{"id":"demos-nodes--draggable","title":"Demos/Nodes","name":"Draggable","importPath":"./docs/demos/Nodes.story.tsx","tags":["story"],"type":"story"},"demos-context-menu-radial--simple":{"id":"demos-context-menu-radial--simple","title":"Demos/Context Menu/Radial","name":"Simple","importPath":"./docs/demos/RadialMenu.story.tsx","tags":["story"],"type":"story"},"demos-context-menu-radial--disabled":{"id":"demos-context-menu-radial--disabled","title":"Demos/Context Menu/Radial","name":"Disabled","importPath":"./docs/demos/RadialMenu.story.tsx","tags":["story"],"type":"story"},"demos-selection-single--defaults":{"id":"demos-selection-single--defaults","title":"Demos/Selection/Single","name":"Defaults","importPath":"./docs/demos/SingleSelection.story.tsx","tags":["story"],"type":"story"},"demos-selection-single--simple":{"id":"demos-selection-single--simple","title":"Demos/Selection/Single","name":"Simple","importPath":"./docs/demos/SingleSelection.story.tsx","tags":["story"],"type":"story"},"demos-selection-single--dragging":{"id":"demos-selection-single--dragging","title":"Demos/Selection/Single","name":"Dragging","importPath":"./docs/demos/SingleSelection.story.tsx","tags":["story"],"type":"story"},"demos-sizing--none":{"id":"demos-sizing--none","title":"Demos/Sizing","name":"None","importPath":"./docs/demos/Sizing.story.tsx","tags":["story"],"type":"story"},"demos-sizing--centrality":{"id":"demos-sizing--centrality","title":"Demos/Sizing","name":"Centrality","importPath":"./docs/demos/Sizing.story.tsx","tags":["story"],"type":"story"},"demos-sizing--min-max-sizes":{"id":"demos-sizing--min-max-sizes","title":"Demos/Sizing","name":"Min Max Sizes","importPath":"./docs/demos/Sizing.story.tsx","tags":["story"],"type":"story"},"demos-sizing--page-rank":{"id":"demos-sizing--page-rank","title":"Demos/Sizing","name":"Page Rank","importPath":"./docs/demos/Sizing.story.tsx","tags":["story"],"type":"story"},"demos-sizing--attribute":{"id":"demos-sizing--attribute","title":"Demos/Sizing","name":"Attribute","importPath":"./docs/demos/Sizing.story.tsx","tags":["story"],"type":"story"},"demos-themes--dark-theme":{"id":"demos-themes--dark-theme","title":"Demos/Themes","name":"Dark Theme","importPath":"./docs/demos/Themes.story.tsx","tags":["story"],"type":"story"},"demos-themes--custom-theme":{"id":"demos-themes--custom-theme","title":"Demos/Themes","name":"Custom Theme","importPath":"./docs/demos/Themes.story.tsx","tags":["story"],"type":"story"},"demos-layouts-3d--force-directed":{"id":"demos-layouts-3d--force-directed","title":"Demos/Layouts/3D","name":"Force Directed","importPath":"./docs/demos/ThreeLayouts.story.tsx","tags":["story"],"type":"story"},"demos-layouts-3d--radial-out":{"id":"demos-layouts-3d--radial-out","title":"Demos/Layouts/3D","name":"Radial Out","importPath":"./docs/demos/ThreeLayouts.story.tsx","tags":["story"],"type":"story"},"demos-layouts-3d--tree-left-right":{"id":"demos-layouts-3d--tree-left-right","title":"Demos/Layouts/3D","name":"Tree Left Right","importPath":"./docs/demos/ThreeLayouts.story.tsx","tags":["story"],"type":"story"},"demos-layouts-3d--tree-top-down":{"id":"demos-layouts-3d--tree-top-down","title":"Demos/Layouts/3D","name":"Tree Top Down","importPath":"./docs/demos/ThreeLayouts.story.tsx","tags":["story"],"type":"story"},"demos-layouts-2d--force-directed":{"id":"demos-layouts-2d--force-directed","title":"Demos/Layouts/2D","name":"Force Directed","importPath":"./docs/demos/TwoLayouts.story.tsx","tags":["story"],"type":"story"},"demos-layouts-2d--hierarchical-top-down":{"id":"demos-layouts-2d--hierarchical-top-down","title":"Demos/Layouts/2D","name":"Hierarchical Top Down","importPath":"./docs/demos/TwoLayouts.story.tsx","tags":["story"],"type":"story"},"demos-layouts-2d--hierarchical-left-right":{"id":"demos-layouts-2d--hierarchical-left-right","title":"Demos/Layouts/2D","name":"Hierarchical Left Right","importPath":"./docs/demos/TwoLayouts.story.tsx","tags":["story"],"type":"story"},"demos-layouts-2d--circular":{"id":"demos-layouts-2d--circular","title":"Demos/Layouts/2D","name":"Circular","importPath":"./docs/demos/TwoLayouts.story.tsx","tags":["story"],"type":"story"},"demos-layouts-2d--no-overlap":{"id":"demos-layouts-2d--no-overlap","title":"Demos/Layouts/2D","name":"No Overlap","importPath":"./docs/demos/TwoLayouts.story.tsx","tags":["story"],"type":"story"},"demos-layouts-2d--force-atlas-2":{"id":"demos-layouts-2d--force-atlas-2","title":"Demos/Layouts/2D","name":"Force Atlas 2","importPath":"./docs/demos/TwoLayouts.story.tsx","tags":["story"],"type":"story"},"demos-layouts-2d--radial-out":{"id":"demos-layouts-2d--radial-out","title":"Demos/Layouts/2D","name":"Radial Out","importPath":"./docs/demos/TwoLayouts.story.tsx","tags":["story"],"type":"story"},"demos-layouts-2d--tree-left-right":{"id":"demos-layouts-2d--tree-left-right","title":"Demos/Layouts/2D","name":"Tree Left Right","importPath":"./docs/demos/TwoLayouts.story.tsx","tags":["story"],"type":"story"},"demos-layouts-2d--tree-top-down":{"id":"demos-layouts-2d--tree-top-down","title":"Demos/Layouts/2D","name":"Tree Top Down","importPath":"./docs/demos/TwoLayouts.story.tsx","tags":["story"],"type":"story"},"demos-use-cases--cyber-security":{"id":"demos-use-cases--cyber-security","title":"Demos/Use Cases","name":"Cyber Security","importPath":"./docs/demos/UseCases.story.tsx","tags":["story"],"type":"story"}}} diff --git a/project.json b/project.json new file mode 100644 index 00000000..f4490cc0 --- /dev/null +++ b/project.json @@ -0,0 +1 @@ +{"generatedAt":1688670313919,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":true,"refCount":0,"packageManager":{"type":"yarn","version":"1.22.19"},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","storybookVersion":"7.0.26","storybookVersionSpecifier":"7.0.26","language":"typescript","storybookPackages":{"@storybook/addon-docs":{"version":"7.0.26"},"@storybook/addon-mdx-gfm":{"version":"7.0.26"},"@storybook/addons":{"version":"7.0.26"},"@storybook/react":{"version":"7.0.26"},"@storybook/react-vite":{"version":"7.0.26"},"@storybook/theming":{"version":"7.0.26"},"eslint-plugin-storybook":{"version":"0.6.12"},"storybook":{"version":"7.0.26"}},"addons":{"@storybook/addon-essentials":{"version":"7.0.26"},"@storybook/addon-storysource":{"version":"7.0.26"},"chromatic":{"version":null,"versionSpecifier":"^6.19.9"}}} diff --git a/sb-addons/essentials-actions-1/manager-bundle.js b/sb-addons/essentials-actions-1/manager-bundle.js new file mode 100644 index 00000000..e9a60680 --- /dev/null +++ b/sb-addons/essentials-actions-1/manager-bundle.js @@ -0,0 +1,4 @@ +try{ +var Ae="actions",z="storybook/actions",Ce=`${z}/panel`,j=`${z}/action-event`,Y=`${z}/action-clear`;var a=__REACT__,{Children:xe,Component:we,Fragment:Ne,Profiler:Wr,PureComponent:Yr,StrictMode:Jr,Suspense:qr,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Xr,cloneElement:Zr,createContext:J,createElement:Kr,createFactory:Qr,createRef:en,forwardRef:tn,isValidElement:rn,lazy:nn,memo:H,useCallback:A,useContext:q,useDebugValue:an,useEffect:on,useImperativeHandle:sn,useLayoutEffect:Le,useMemo:Ie,useReducer:ln,useRef:un,useState:C,version:cn}=__REACT__;var bn=__STORYBOOKAPI__,{ActiveTabs:gn,Consumer:hn,ManagerContext:En,Provider:yn,addons:re,combineParameters:On,controlOrMetaKey:vn,controlOrMetaSymbol:Tn,eventMatchesShortcut:_n,eventToShortcut:Rn,isMacLike:Sn,isShortcutTaken:An,keyToSymbol:Cn,merge:xn,mockChannel:wn,optionOrAltSymbol:Nn,shortcutMatchesShortcut:Ln,shortcutToHumanString:In,types:De,useAddonState:Dn,useArgTypes:Mn,useArgs:Pn,useChannel:Me,useGlobalTypes:Bn,useGlobals:Fn,useParameter:zn,useSharedState:jn,useStoryPrepared:Hn,useStorybookApi:Un,useStorybookState:kn}=__STORYBOOKAPI__;var Yn=__STORYBOOKCOREEVENTS__,{CHANNEL_CREATED:Jn,CONFIG_ERROR:qn,CURRENT_STORY_WAS_SET:Xn,DOCS_PREPARED:Zn,DOCS_RENDERED:Kn,FORCE_REMOUNT:Qn,FORCE_RE_RENDER:ea,GLOBALS_UPDATED:ta,IGNORED_EXCEPTION:ra,NAVIGATE_URL:na,PLAY_FUNCTION_THREW_EXCEPTION:aa,PRELOAD_ENTRIES:oa,PREVIEW_BUILDER_PROGRESS:ia,PREVIEW_KEYDOWN:sa,REGISTER_SUBSCRIPTION:la,RESET_STORY_ARGS:ua,SELECT_STORY:ca,SET_CONFIG:fa,SET_CURRENT_STORY:pa,SET_GLOBALS:da,SET_INDEX:ma,SET_STORIES:ba,SHARED_STATE_CHANGED:ga,SHARED_STATE_SET:ha,STORIES_COLLAPSE_ALL:Ea,STORIES_EXPAND_ALL:ya,STORY_ARGS_UPDATED:Oa,STORY_CHANGED:U,STORY_ERRORED:va,STORY_INDEX_INVALIDATED:Ta,STORY_MISSING:_a,STORY_PREPARED:Ra,STORY_RENDERED:Sa,STORY_RENDER_PHASE_CHANGED:Aa,STORY_SPECIFIED:Ca,STORY_THREW_EXCEPTION:xa,STORY_UNCHANGED:wa,UPDATE_GLOBALS:Na,UPDATE_QUERY_PARAMS:La,UPDATE_STORY_ARGS:Ia}=__STORYBOOKCOREEVENTS__;var Pe=Object.prototype.hasOwnProperty;function Be(e,t,r){for(r of e.keys())if(I(r,t))return r}function I(e,t){var r,n,o;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((n=e.length)===t.length)for(;n--&&I(e[n],t[n]););return n===-1}if(r===Set){if(e.size!==t.size)return!1;for(n of e)if(o=n,o&&typeof o=="object"&&(o=Be(t,o),!o)||!t.has(o))return!1;return!0}if(r===Map){if(e.size!==t.size)return!1;for(n of e)if(o=n[0],o&&typeof o=="object"&&(o=Be(t,o),!o)||!I(n[1],t.get(o)))return!1;return!0}if(r===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(r===DataView){if((n=e.byteLength)===t.byteLength)for(;n--&&e.getInt8(n)===t.getInt8(n););return n===-1}if(ArrayBuffer.isView(e)){if((n=e.byteLength)===t.byteLength)for(;n--&&e[n]===t[n];);return n===-1}if(!r||typeof e=="object"){n=0;for(r in e)if(Pe.call(e,r)&&++n&&!Pe.call(t,r)||!(r in t)||!I(e[r],t[r]))return!1;return Object.keys(t).length===n}}return e!==e&&t!==t}var Ua=__STORYBOOKTHEMING__,{CacheProvider:ka,ClassNames:Ga,Global:Va,ThemeProvider:$a,background:Wa,color:Ya,convert:Ja,create:qa,createCache:Xa,createGlobal:Za,createReset:Ka,css:Qa,darken:eo,ensure:to,ignoreSsrWarning:ro,isPropValid:no,jsx:ao,keyframes:oo,lighten:io,styled:k,themes:so,typography:lo,useTheme:uo,withTheme:Fe}=__STORYBOOKTHEMING__;var st=Object.create,se=Object.defineProperty,lt=Object.getOwnPropertyDescriptor,ke=Object.getOwnPropertyNames,ut=Object.getPrototypeOf,ct=Object.prototype.hasOwnProperty,le=(e,t)=>function(){return t||(0,e[ke(e)[0]])((t={exports:{}}).exports,t),t.exports},ft=(e,t)=>{for(var r in t)se(e,r,{get:t[r],enumerable:!0})},pt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ke(t))!ct.call(e,o)&&o!==r&&se(e,o,{get:()=>t[o],enumerable:!(n=lt(t,o))||n.enumerable});return e},dt=(e,t,r)=>(r=e!=null?st(ut(e)):{},pt(t||!e||!e.__esModule?se(r,"default",{value:e,enumerable:!0}):r,e)),mt=le({"node_modules/is-object/index.js"(e,t){"use strict";t.exports=function(n){return typeof n=="object"&&n!==null}}}),bt=le({"node_modules/is-window/index.js"(e,t){"use strict";t.exports=function(r){if(r==null)return!1;var n=Object(r);return n===n.window}}}),gt=le({"node_modules/is-dom/index.js"(e,t){var r=mt(),n=bt();function o(i){return!r(i)||!n(window)||typeof window.Node!="function"?!1:typeof i.nodeType=="number"&&typeof i.nodeName=="string"}t.exports=o}}),K={};ft(K,{chromeDark:()=>ht,chromeLight:()=>Et});var ht={BASE_FONT_FAMILY:"Menlo, monospace",BASE_FONT_SIZE:"11px",BASE_LINE_HEIGHT:1.2,BASE_BACKGROUND_COLOR:"rgb(36, 36, 36)",BASE_COLOR:"rgb(213, 213, 213)",OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES:10,OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES:5,OBJECT_NAME_COLOR:"rgb(227, 110, 236)",OBJECT_VALUE_NULL_COLOR:"rgb(127, 127, 127)",OBJECT_VALUE_UNDEFINED_COLOR:"rgb(127, 127, 127)",OBJECT_VALUE_REGEXP_COLOR:"rgb(233, 63, 59)",OBJECT_VALUE_STRING_COLOR:"rgb(233, 63, 59)",OBJECT_VALUE_SYMBOL_COLOR:"rgb(233, 63, 59)",OBJECT_VALUE_NUMBER_COLOR:"hsl(252, 100%, 75%)",OBJECT_VALUE_BOOLEAN_COLOR:"hsl(252, 100%, 75%)",OBJECT_VALUE_FUNCTION_PREFIX_COLOR:"rgb(85, 106, 242)",HTML_TAG_COLOR:"rgb(93, 176, 215)",HTML_TAGNAME_COLOR:"rgb(93, 176, 215)",HTML_TAGNAME_TEXT_TRANSFORM:"lowercase",HTML_ATTRIBUTE_NAME_COLOR:"rgb(155, 187, 220)",HTML_ATTRIBUTE_VALUE_COLOR:"rgb(242, 151, 102)",HTML_COMMENT_COLOR:"rgb(137, 137, 137)",HTML_DOCTYPE_COLOR:"rgb(192, 192, 192)",ARROW_COLOR:"rgb(145, 145, 145)",ARROW_MARGIN_RIGHT:3,ARROW_FONT_SIZE:12,ARROW_ANIMATION_DURATION:"0",TREENODE_FONT_FAMILY:"Menlo, monospace",TREENODE_FONT_SIZE:"11px",TREENODE_LINE_HEIGHT:1.2,TREENODE_PADDING_LEFT:12,TABLE_BORDER_COLOR:"rgb(85, 85, 85)",TABLE_TH_BACKGROUND_COLOR:"rgb(44, 44, 44)",TABLE_TH_HOVER_COLOR:"rgb(48, 48, 48)",TABLE_SORT_ICON_COLOR:"black",TABLE_DATA_BACKGROUND_IMAGE:"linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 50%, rgba(51, 139, 255, 0.0980392) 50%, rgba(51, 139, 255, 0.0980392))",TABLE_DATA_BACKGROUND_SIZE:"128px 32px"},Et={BASE_FONT_FAMILY:"Menlo, monospace",BASE_FONT_SIZE:"11px",BASE_LINE_HEIGHT:1.2,BASE_BACKGROUND_COLOR:"white",BASE_COLOR:"black",OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES:10,OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES:5,OBJECT_NAME_COLOR:"rgb(136, 19, 145)",OBJECT_VALUE_NULL_COLOR:"rgb(128, 128, 128)",OBJECT_VALUE_UNDEFINED_COLOR:"rgb(128, 128, 128)",OBJECT_VALUE_REGEXP_COLOR:"rgb(196, 26, 22)",OBJECT_VALUE_STRING_COLOR:"rgb(196, 26, 22)",OBJECT_VALUE_SYMBOL_COLOR:"rgb(196, 26, 22)",OBJECT_VALUE_NUMBER_COLOR:"rgb(28, 0, 207)",OBJECT_VALUE_BOOLEAN_COLOR:"rgb(28, 0, 207)",OBJECT_VALUE_FUNCTION_PREFIX_COLOR:"rgb(13, 34, 170)",HTML_TAG_COLOR:"rgb(168, 148, 166)",HTML_TAGNAME_COLOR:"rgb(136, 18, 128)",HTML_TAGNAME_TEXT_TRANSFORM:"lowercase",HTML_ATTRIBUTE_NAME_COLOR:"rgb(153, 69, 0)",HTML_ATTRIBUTE_VALUE_COLOR:"rgb(26, 26, 166)",HTML_COMMENT_COLOR:"rgb(35, 110, 37)",HTML_DOCTYPE_COLOR:"rgb(192, 192, 192)",ARROW_COLOR:"#6e6e6e",ARROW_MARGIN_RIGHT:3,ARROW_FONT_SIZE:12,ARROW_ANIMATION_DURATION:"0",TREENODE_FONT_FAMILY:"Menlo, monospace",TREENODE_FONT_SIZE:"11px",TREENODE_LINE_HEIGHT:1.2,TREENODE_PADDING_LEFT:12,TABLE_BORDER_COLOR:"#aaa",TABLE_TH_BACKGROUND_COLOR:"#eee",TABLE_TH_HOVER_COLOR:"hsla(0, 0%, 90%, 1)",TABLE_SORT_ICON_COLOR:"#6e6e6e",TABLE_DATA_BACKGROUND_IMAGE:"linear-gradient(to bottom, white, white 50%, rgb(234, 243, 255) 50%, rgb(234, 243, 255))",TABLE_DATA_BACKGROUND_SIZE:"128px 32px"},Ge=J([{},()=>{}]),ne={WebkitTouchCallout:"none",WebkitUserSelect:"none",KhtmlUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",OUserSelect:"none",userSelect:"none"},X=e=>({DOMNodePreview:{htmlOpenTag:{base:{color:e.HTML_TAG_COLOR},tagName:{color:e.HTML_TAGNAME_COLOR,textTransform:e.HTML_TAGNAME_TEXT_TRANSFORM},htmlAttributeName:{color:e.HTML_ATTRIBUTE_NAME_COLOR},htmlAttributeValue:{color:e.HTML_ATTRIBUTE_VALUE_COLOR}},htmlCloseTag:{base:{color:e.HTML_TAG_COLOR},offsetLeft:{marginLeft:-e.TREENODE_PADDING_LEFT},tagName:{color:e.HTML_TAGNAME_COLOR,textTransform:e.HTML_TAGNAME_TEXT_TRANSFORM}},htmlComment:{color:e.HTML_COMMENT_COLOR},htmlDoctype:{color:e.HTML_DOCTYPE_COLOR}},ObjectPreview:{objectDescription:{fontStyle:"italic"},preview:{fontStyle:"italic"},arrayMaxProperties:e.OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES,objectMaxProperties:e.OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES},ObjectName:{base:{color:e.OBJECT_NAME_COLOR},dimmed:{opacity:.6}},ObjectValue:{objectValueNull:{color:e.OBJECT_VALUE_NULL_COLOR},objectValueUndefined:{color:e.OBJECT_VALUE_UNDEFINED_COLOR},objectValueRegExp:{color:e.OBJECT_VALUE_REGEXP_COLOR},objectValueString:{color:e.OBJECT_VALUE_STRING_COLOR},objectValueSymbol:{color:e.OBJECT_VALUE_SYMBOL_COLOR},objectValueNumber:{color:e.OBJECT_VALUE_NUMBER_COLOR},objectValueBoolean:{color:e.OBJECT_VALUE_BOOLEAN_COLOR},objectValueFunctionPrefix:{color:e.OBJECT_VALUE_FUNCTION_PREFIX_COLOR,fontStyle:"italic"},objectValueFunctionName:{fontStyle:"italic"}},TreeView:{treeViewOutline:{padding:0,margin:0,listStyleType:"none"}},TreeNode:{treeNodeBase:{color:e.BASE_COLOR,backgroundColor:e.BASE_BACKGROUND_COLOR,lineHeight:e.TREENODE_LINE_HEIGHT,cursor:"default",boxSizing:"border-box",listStyle:"none",fontFamily:e.TREENODE_FONT_FAMILY,fontSize:e.TREENODE_FONT_SIZE},treeNodePreviewContainer:{},treeNodePlaceholder:{whiteSpace:"pre",fontSize:e.ARROW_FONT_SIZE,marginRight:e.ARROW_MARGIN_RIGHT,...ne},treeNodeArrow:{base:{color:e.ARROW_COLOR,display:"inline-block",fontSize:e.ARROW_FONT_SIZE,marginRight:e.ARROW_MARGIN_RIGHT,...parseFloat(e.ARROW_ANIMATION_DURATION)>0?{transition:`transform ${e.ARROW_ANIMATION_DURATION} ease 0s`}:{},...ne},expanded:{WebkitTransform:"rotateZ(90deg)",MozTransform:"rotateZ(90deg)",transform:"rotateZ(90deg)"},collapsed:{WebkitTransform:"rotateZ(0deg)",MozTransform:"rotateZ(0deg)",transform:"rotateZ(0deg)"}},treeNodeChildNodesContainer:{margin:0,paddingLeft:e.TREENODE_PADDING_LEFT}},TableInspector:{base:{color:e.BASE_COLOR,position:"relative",border:`1px solid ${e.TABLE_BORDER_COLOR}`,fontFamily:e.BASE_FONT_FAMILY,fontSize:e.BASE_FONT_SIZE,lineHeight:"120%",boxSizing:"border-box",cursor:"default"}},TableInspectorHeaderContainer:{base:{top:0,height:"17px",left:0,right:0,overflowX:"hidden"},table:{tableLayout:"fixed",borderSpacing:0,borderCollapse:"separate",height:"100%",width:"100%",margin:0}},TableInspectorDataContainer:{tr:{display:"table-row"},td:{boxSizing:"border-box",border:"none",height:"16px",verticalAlign:"top",padding:"1px 4px",WebkitUserSelect:"text",whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",lineHeight:"14px"},div:{position:"static",top:"17px",bottom:0,overflowY:"overlay",transform:"translateZ(0)",left:0,right:0,overflowX:"hidden"},table:{positon:"static",left:0,top:0,right:0,bottom:0,borderTop:"0 none transparent",margin:0,backgroundImage:e.TABLE_DATA_BACKGROUND_IMAGE,backgroundSize:e.TABLE_DATA_BACKGROUND_SIZE,tableLayout:"fixed",borderSpacing:0,borderCollapse:"separate",width:"100%",fontSize:e.BASE_FONT_SIZE,lineHeight:"120%"}},TableInspectorTH:{base:{position:"relative",height:"auto",textAlign:"left",backgroundColor:e.TABLE_TH_BACKGROUND_COLOR,borderBottom:`1px solid ${e.TABLE_BORDER_COLOR}`,fontWeight:"normal",verticalAlign:"middle",padding:"0 4px",whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",lineHeight:"14px",":hover":{backgroundColor:e.TABLE_TH_HOVER_COLOR}},div:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",fontSize:e.BASE_FONT_SIZE,lineHeight:"120%"}},TableInspectorLeftBorder:{none:{borderLeft:"none"},solid:{borderLeft:`1px solid ${e.TABLE_BORDER_COLOR}`}},TableInspectorSortIcon:{display:"block",marginRight:3,width:8,height:7,marginTop:-7,color:e.TABLE_SORT_ICON_COLOR,fontSize:12,...ne}}),ae="chromeLight",Ve=J(X(K[ae])),_=e=>q(Ve)[e],ue=e=>({theme:r=ae,...n})=>{let o=Ie(()=>{switch(Object.prototype.toString.call(r)){case"[object String]":return X(K[r]);case"[object Object]":return X(r);default:return X(K[ae])}},[r]);return a.createElement(Ve.Provider,{value:o},a.createElement(e,{...n}))},yt=({expanded:e,styles:t})=>a.createElement("span",{style:{...t.base,...e?t.expanded:t.collapsed}},"\u25B6"),Ot=H(e=>{e={expanded:!0,nodeRenderer:({name:f})=>a.createElement("span",null,f),onClick:()=>{},shouldShowArrow:!1,shouldShowPlaceholder:!0,...e};let{expanded:t,onClick:r,children:n,nodeRenderer:o,title:i,shouldShowArrow:u,shouldShowPlaceholder:s}=e,l=_("TreeNode"),c=o;return a.createElement("li",{"aria-expanded":t,role:"treeitem",style:l.treeNodeBase,title:i},a.createElement("div",{style:l.treeNodePreviewContainer,onClick:r},u||xe.count(n)>0?a.createElement(yt,{expanded:t,styles:l.treeNodeArrow}):s&&a.createElement("span",{style:l.treeNodePlaceholder},"\xA0"),a.createElement(c,{...e})),a.createElement("ol",{role:"group",style:l.treeNodeChildNodesContainer},t?n:void 0))}),Q="$",ze="*";function Z(e,t){return!t(e).next().done}var vt=e=>Array.from({length:e},(t,r)=>[Q].concat(Array.from({length:r},()=>"*")).join(".")),Tt=(e,t,r,n,o)=>{let i=[].concat(vt(n)).concat(r).filter(s=>typeof s=="string"),u=[];return i.forEach(s=>{let l=s.split("."),c=(f,d,p)=>{if(p===l.length){u.push(d);return}let E=l[p];if(p===0)Z(f,t)&&(E===Q||E===ze)&&c(f,Q,p+1);else if(E===ze)for(let{name:h,data:y}of t(f))Z(y,t)&&c(y,`${d}.${h}`,p+1);else{let h=f[E];Z(h,t)&&c(h,`${d}.${E}`,p+1)}};c(e,"",0)}),u.reduce((s,l)=>(s[l]=!0,s),{...o})},$e=H(e=>{let{data:t,dataIterator:r,path:n,depth:o,nodeRenderer:i}=e,[u,s]=q(Ge),l=Z(t,r),c=!!u[n],f=A(()=>l&&s(d=>({...d,[n]:!c})),[l,s,n,c]);return a.createElement(Ot,{expanded:c,onClick:f,shouldShowArrow:l,shouldShowPlaceholder:o>0,nodeRenderer:i,...e},c?[...r(t)].map(({name:d,data:p,...E})=>a.createElement($e,{name:d,data:p,depth:o+1,path:`${n}.${d}`,key:d,dataIterator:r,nodeRenderer:i,...E})):null)}),We=H(({name:e,data:t,dataIterator:r,nodeRenderer:n,expandPaths:o,expandLevel:i})=>{let u=_("TreeView"),s=C({}),[,l]=s;return Le(()=>l(c=>Tt(t,r,o,i,c)),[t,r,o,i]),a.createElement(Ge.Provider,{value:s},a.createElement("ol",{role:"tree",style:u.treeViewOutline},a.createElement($e,{name:e,data:t,dataIterator:r,depth:0,path:Q,nodeRenderer:n})))}),ce=({name:e,dimmed:t=!1,styles:r={}})=>{let n=_("ObjectName"),o={...n.base,...t?n.dimmed:{},...r};return a.createElement("span",{style:o},e)},G=({object:e,styles:t})=>{let r=_("ObjectValue"),n=o=>({...r[o],...t});switch(typeof e){case"bigint":return a.createElement("span",{style:n("objectValueNumber")},String(e),"n");case"number":return a.createElement("span",{style:n("objectValueNumber")},String(e));case"string":return a.createElement("span",{style:n("objectValueString")},'"',e,'"');case"boolean":return a.createElement("span",{style:n("objectValueBoolean")},String(e));case"undefined":return a.createElement("span",{style:n("objectValueUndefined")},"undefined");case"object":return e===null?a.createElement("span",{style:n("objectValueNull")},"null"):e instanceof Date?a.createElement("span",null,e.toString()):e instanceof RegExp?a.createElement("span",{style:n("objectValueRegExp")},e.toString()):Array.isArray(e)?a.createElement("span",null,`Array(${e.length})`):e.constructor?typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)?a.createElement("span",null,`Buffer[${e.length}]`):a.createElement("span",null,e.constructor.name):a.createElement("span",null,"Object");case"function":return a.createElement("span",null,a.createElement("span",{style:n("objectValueFunctionPrefix")},"\u0192\xA0"),a.createElement("span",{style:n("objectValueFunctionName")},e.name,"()"));case"symbol":return a.createElement("span",{style:n("objectValueSymbol")},e.toString());default:return a.createElement("span",null)}},Ye=Object.prototype.hasOwnProperty,_t=Object.prototype.propertyIsEnumerable;function oe(e,t){let r=Object.getOwnPropertyDescriptor(e,t);if(r.get)try{return r.get()}catch{return r.get}return e[t]}function je(e,t){return e.length===0?[]:e.slice(1).reduce((r,n)=>r.concat([t,n]),[e[0]])}var ie=({data:e})=>{let t=_("ObjectPreview"),r=e;if(typeof r!="object"||r===null||r instanceof Date||r instanceof RegExp)return a.createElement(G,{object:r});if(Array.isArray(r)){let n=t.arrayMaxProperties,o=r.slice(0,n).map((u,s)=>a.createElement(G,{key:s,object:u}));r.length>n&&o.push(a.createElement("span",{key:"ellipsis"},"\u2026"));let i=r.length;return a.createElement(a.Fragment,null,a.createElement("span",{style:t.objectDescription},i===0?"":`(${i})\xA0`),a.createElement("span",{style:t.preview},"[",je(o,", "),"]"))}else{let n=t.objectMaxProperties,o=[];for(let u in r)if(Ye.call(r,u)){let s;o.length===n-1&&Object.keys(r).length>n&&(s=a.createElement("span",{key:"ellipsis"},"\u2026"));let l=oe(r,u);if(o.push(a.createElement("span",{key:u},a.createElement(ce,{name:u||'""'}),":\xA0",a.createElement(G,{object:l}),s)),s)break}let i=r.constructor?r.constructor.name:"Object";return a.createElement(a.Fragment,null,a.createElement("span",{style:t.objectDescription},i==="Object"?"":`${i} `),a.createElement("span",{style:t.preview},"{",je(o,", "),"}"))}},Rt=({name:e,data:t})=>typeof e=="string"?a.createElement("span",null,a.createElement(ce,{name:e}),a.createElement("span",null,": "),a.createElement(ie,{data:t})):a.createElement(ie,{data:t}),St=({name:e,data:t,isNonenumerable:r=!1})=>{let n=t;return a.createElement("span",null,typeof e=="string"?a.createElement(ce,{name:e,dimmed:r}):a.createElement(ie,{data:e}),a.createElement("span",null,": "),a.createElement(G,{object:n}))},At=(e,t)=>function*(n){if(!(typeof n=="object"&&n!==null||typeof n=="function"))return;let i=Array.isArray(n);if(!i&&n[Symbol.iterator]){let u=0;for(let s of n){if(Array.isArray(s)&&s.length===2){let[l,c]=s;yield{name:l,data:c}}else yield{name:u.toString(),data:s};u++}}else{let u=Object.getOwnPropertyNames(n);t===!0&&!i?u.sort():typeof t=="function"&&u.sort(t);for(let s of u)if(_t.call(n,s)){let l=oe(n,s);yield{name:s||'""',data:l}}else if(e){let l;try{l=oe(n,s)}catch{}l!==void 0&&(yield{name:s,data:l,isNonenumerable:!0})}e&&n!==Object.prototype&&(yield{name:"__proto__",data:Object.getPrototypeOf(n),isNonenumerable:!0})}},Ct=({depth:e,name:t,data:r,isNonenumerable:n})=>e===0?a.createElement(Rt,{name:t,data:r}):a.createElement(St,{name:t,data:r,isNonenumerable:n}),xt=({showNonenumerable:e=!1,sortObjectKeys:t,nodeRenderer:r,...n})=>{let o=At(e,t),i=r||Ct;return a.createElement(We,{nodeRenderer:i,dataIterator:o,...n})},wt=ue(xt);function Nt(e){if(typeof e=="object"){let t=[];if(Array.isArray(e)){let n=e.length;t=[...Array(n).keys()]}else e!==null&&(t=Object.keys(e));let r=t.reduce((n,o)=>{let i=e[o];return typeof i=="object"&&i!==null&&Object.keys(i).reduce((s,l)=>(s.includes(l)||s.push(l),s),n),n},[]);return{rowHeaders:t,colHeaders:r}}}var Lt=({rows:e,columns:t,rowsData:r})=>{let n=_("TableInspectorDataContainer"),o=_("TableInspectorLeftBorder");return a.createElement("div",{style:n.div},a.createElement("table",{style:n.table},a.createElement("colgroup",null),a.createElement("tbody",null,e.map((i,u)=>a.createElement("tr",{key:i,style:n.tr},a.createElement("td",{style:{...n.td,...o.none}},i),t.map(s=>{let l=r[u];return typeof l=="object"&&l!==null&&Ye.call(l,s)?a.createElement("td",{key:s,style:{...n.td,...o.solid}},a.createElement(G,{object:l[s]})):a.createElement("td",{key:s,style:{...n.td,...o.solid}})}))))))},It=e=>a.createElement("div",{style:{position:"absolute",top:1,right:0,bottom:1,display:"flex",alignItems:"center"}},e.children),Dt=({sortAscending:e})=>{let t=_("TableInspectorSortIcon"),r=e?"\u25B2":"\u25BC";return a.createElement("div",{style:t},r)},He=({sortAscending:e=!1,sorted:t=!1,onClick:r=void 0,borderStyle:n={},children:o,...i})=>{let u=_("TableInspectorTH"),[s,l]=C(!1),c=A(()=>l(!0),[]),f=A(()=>l(!1),[]);return a.createElement("th",{...i,style:{...u.base,...n,...s?u.base[":hover"]:{}},onMouseEnter:c,onMouseLeave:f,onClick:r},a.createElement("div",{style:u.div},o),t&&a.createElement(It,null,a.createElement(Dt,{sortAscending:e})))},Mt=({indexColumnText:e="(index)",columns:t=[],sorted:r,sortIndexColumn:n,sortColumn:o,sortAscending:i,onTHClick:u,onIndexTHClick:s})=>{let l=_("TableInspectorHeaderContainer"),c=_("TableInspectorLeftBorder");return a.createElement("div",{style:l.base},a.createElement("table",{style:l.table},a.createElement("tbody",null,a.createElement("tr",null,a.createElement(He,{borderStyle:c.none,sorted:r&&n,sortAscending:i,onClick:s},e),t.map(f=>a.createElement(He,{borderStyle:c.solid,key:f,sorted:r&&o===f,sortAscending:i,onClick:u.bind(null,f)},f))))))},Pt=({data:e,columns:t})=>{let r=_("TableInspector"),[{sorted:n,sortIndexColumn:o,sortColumn:i,sortAscending:u},s]=C({sorted:!1,sortIndexColumn:!1,sortColumn:void 0,sortAscending:!1}),l=A(()=>{s(({sortIndexColumn:h,sortAscending:y})=>({sorted:!0,sortIndexColumn:!0,sortColumn:void 0,sortAscending:h?!y:!0}))},[]),c=A(h=>{s(({sortColumn:y,sortAscending:O})=>({sorted:!0,sortIndexColumn:!1,sortColumn:h,sortAscending:h===y?!O:!0}))},[]);if(typeof e!="object"||e===null)return a.createElement("div",null);let{rowHeaders:f,colHeaders:d}=Nt(e);t!==void 0&&(d=t);let p=f.map(h=>e[h]),E;if(i!==void 0?E=p.map((h,y)=>typeof h=="object"&&h!==null?[h[i],y]:[void 0,y]):o&&(E=f.map((h,y)=>[f[y],y])),E!==void 0){let h=(O,L)=>(ot,it)=>{let Oe=O(ot),ve=O(it),Te=typeof Oe,_e=typeof ve,Re=(F,Se)=>FSe?1:0,B;if(Te===_e)B=Re(Oe,ve);else{let F={string:0,number:1,object:2,symbol:3,boolean:4,undefined:5,function:6};B=Re(F[Te],F[_e])}return L||(B=-B),B},y=E.sort(h(O=>O[0],u)).map(O=>O[1]);f=y.map(O=>f[O]),p=y.map(O=>p[O])}return a.createElement("div",{style:r.base},a.createElement(Mt,{columns:d,sorted:n,sortIndexColumn:o,sortColumn:i,sortAscending:u,onTHClick:c,onIndexTHClick:l}),a.createElement(Lt,{rows:f,columns:d,rowsData:p}))},Bt=ue(Pt),Ft=80,Je=e=>e.childNodes.length===0||e.childNodes.length===1&&e.childNodes[0].nodeType===Node.TEXT_NODE&&e.textContent.lengtha.createElement("span",{style:r.base},"<",a.createElement("span",{style:r.tagName},e),(()=>{if(t){let n=[];for(let o=0;o"),Ue=({tagName:e,isChildNode:t=!1,styles:r})=>a.createElement("span",{style:Object.assign({},r.base,t&&r.offsetLeft)},""),jt={1:"ELEMENT_NODE",3:"TEXT_NODE",7:"PROCESSING_INSTRUCTION_NODE",8:"COMMENT_NODE",9:"DOCUMENT_NODE",10:"DOCUMENT_TYPE_NODE",11:"DOCUMENT_FRAGMENT_NODE"},Ht=({isCloseTag:e,data:t,expanded:r})=>{let n=_("DOMNodePreview");if(e)return a.createElement(Ue,{styles:n.htmlCloseTag,isChildNode:!0,tagName:t.tagName});switch(t.nodeType){case Node.ELEMENT_NODE:return a.createElement("span",null,a.createElement(zt,{tagName:t.tagName,attributes:t.attributes,styles:n.htmlOpenTag}),Je(t)?t.textContent:!r&&"\u2026",!r&&a.createElement(Ue,{tagName:t.tagName,styles:n.htmlCloseTag}));case Node.TEXT_NODE:return a.createElement("span",null,t.textContent);case Node.CDATA_SECTION_NODE:return a.createElement("span",null,"");case Node.COMMENT_NODE:return a.createElement("span",{style:n.htmlComment},"");case Node.PROCESSING_INSTRUCTION_NODE:return a.createElement("span",null,t.nodeName);case Node.DOCUMENT_TYPE_NODE:return a.createElement("span",{style:n.htmlDoctype},"");case Node.DOCUMENT_NODE:return a.createElement("span",null,t.nodeName);case Node.DOCUMENT_FRAGMENT_NODE:return a.createElement("span",null,t.nodeName);default:return a.createElement("span",null,jt[t.nodeType])}},Ut=function*(e){if(e&&e.childNodes){if(Je(e))return;for(let r=0;ra.createElement(We,{nodeRenderer:Ht,dataIterator:Ut,...e}),Gt=ue(kt),Vt=dt(gt()),qe=({table:e=!1,data:t,...r})=>e?a.createElement(Bt,{data:t,...r}):(0,Vt.default)(t)?a.createElement(Gt,{data:t,...r}):a.createElement(wt,{data:t,...r});var Bo=__STORYBOOKCOMPONENTS__,{A:Fo,ActionBar:Xe,AddonPanel:zo,Badge:jo,Bar:Ho,Blockquote:Uo,Button:ko,Code:Go,DL:Vo,Div:$o,DocumentWrapper:Wo,ErrorFormatter:Yo,FlexBar:Jo,Form:qo,H1:Xo,H2:Zo,H3:Ko,H4:Qo,H5:ei,H6:ti,HR:ri,IconButton:ni,IconButtonSkeleton:ai,Icons:oi,Img:ii,LI:si,Link:li,ListItem:ui,Loader:ci,OL:fi,P:pi,Placeholder:di,Pre:mi,ResetWrapper:bi,ScrollArea:Ze,Separator:gi,Spaced:hi,Span:Ei,StorybookIcon:yi,StorybookLogo:Oi,Symbols:vi,SyntaxHighlighter:Ti,TT:_i,TabBar:Ri,TabButton:Si,TabWrapper:Ai,Table:Ci,Tabs:xi,TabsState:wi,TooltipLinkList:Ni,TooltipMessage:Li,TooltipNote:Ii,UL:Di,WithTooltip:Mi,WithTooltipPure:Pi,Zoom:Bi,codeCommon:Fi,components:zi,createCopyToClipboardFunction:ji,getStoryHref:Hi,icons:Ui,interleaveSeparators:ki,nameSpaceClassNames:Gi,resetComponents:Vi,withReset:$i}=__STORYBOOKCOMPONENTS__;function v(){return v=Object.assign?Object.assign.bind():function(e){for(var t=1;t"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 D(e,t,r){return me()?D=Reflect.construct.bind():D=function(o,i,u){var s=[null];s.push.apply(s,i);var l=Function.bind.apply(o,s),c=new l;return u&&S(c,u.prototype),c},D.apply(null,arguments)}function $(e){var t=typeof Map=="function"?new Map:void 0;return $=function(n){if(n===null||!de(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(n))return t.get(n);t.set(n,o)}function o(){return D(n,arguments,V(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),S(o,n)},$(e)}var T=function(e){pe(t,e);function t(r){var n;if(!0)n=e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+r+" for more information.")||this;else for(var o,i,u;u=0&&o<1?(s=i,l=u):o>=1&&o<2?(s=u,l=i):o>=2&&o<3?(l=i,c=u):o>=3&&o<4?(l=u,c=i):o>=4&&o<5?(s=u,c=i):o>=5&&o<6&&(s=i,c=u);var f=r-i/2,d=s+f,p=l+f,E=c+f;return n(d,p,E)}var et={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function Jt(e){if(typeof e!="string")return e;var t=e.toLowerCase();return et[t]?"#"+et[t]:e}var qt=/^#[a-fA-F0-9]{6}$/,Xt=/^#[a-fA-F0-9]{8}$/,Zt=/^#[a-fA-F0-9]{3}$/,Kt=/^#[a-fA-F0-9]{4}$/,ge=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,Qt=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,er=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,tr=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function M(e){if(typeof e!="string")throw new T(3);var t=Jt(e);if(t.match(qt))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(Xt)){var r=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:r}}if(t.match(Zt))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(Kt)){var n=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:n}}var o=ge.exec(t);if(o)return{red:parseInt(""+o[1],10),green:parseInt(""+o[2],10),blue:parseInt(""+o[3],10)};var i=Qt.exec(t.substring(0,50));if(i)return{red:parseInt(""+i[1],10),green:parseInt(""+i[2],10),blue:parseInt(""+i[3],10),alpha:parseFloat(""+i[4])>1?parseFloat(""+i[4])/100:parseFloat(""+i[4])};var u=er.exec(t);if(u){var s=parseInt(""+u[1],10),l=parseInt(""+u[2],10)/100,c=parseInt(""+u[3],10)/100,f="rgb("+W(s,l,c)+")",d=ge.exec(f);if(!d)throw new T(4,t,f);return{red:parseInt(""+d[1],10),green:parseInt(""+d[2],10),blue:parseInt(""+d[3],10)}}var p=tr.exec(t.substring(0,50));if(p){var E=parseInt(""+p[1],10),h=parseInt(""+p[2],10)/100,y=parseInt(""+p[3],10)/100,O="rgb("+W(E,h,y)+")",L=ge.exec(O);if(!L)throw new T(4,t,O);return{red:parseInt(""+L[1],10),green:parseInt(""+L[2],10),blue:parseInt(""+L[3],10),alpha:parseFloat(""+p[4])>1?parseFloat(""+p[4])/100:parseFloat(""+p[4])}}throw new T(5)}function rr(e){var t=e.red/255,r=e.green/255,n=e.blue/255,o=Math.max(t,r,n),i=Math.min(t,r,n),u=(o+i)/2;if(o===i)return e.alpha!==void 0?{hue:0,saturation:0,lightness:u,alpha:e.alpha}:{hue:0,saturation:0,lightness:u};var s,l=o-i,c=u>.5?l/(2-o-i):l/(o+i);switch(o){case t:s=(r-n)/l+(r=1?ee(e,t,r):"rgba("+W(e,t,r)+","+n+")";if(typeof e=="object"&&t===void 0&&r===void 0&&n===void 0)return e.alpha>=1?ee(e.hue,e.saturation,e.lightness):"rgba("+W(e.hue,e.saturation,e.lightness)+","+e.alpha+")";throw new T(2)}function ye(e,t,r){if(typeof e=="number"&&typeof t=="number"&&typeof r=="number")return Ee("#"+N(e)+N(t)+N(r));if(typeof e=="object"&&t===void 0&&r===void 0)return Ee("#"+N(e.red)+N(e.green)+N(e.blue));throw new T(6)}function te(e,t,r,n){if(typeof e=="string"&&typeof t=="number"){var o=M(e);return"rgba("+o.red+","+o.green+","+o.blue+","+t+")"}else{if(typeof e=="number"&&typeof t=="number"&&typeof r=="number"&&typeof n=="number")return n>=1?ye(e,t,r):"rgba("+e+","+t+","+r+","+n+")";if(typeof e=="object"&&t===void 0&&r===void 0&&n===void 0)return e.alpha>=1?ye(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")"}throw new T(7)}var sr=function(t){return typeof t.red=="number"&&typeof t.green=="number"&&typeof t.blue=="number"&&(typeof t.alpha!="number"||typeof t.alpha>"u")},lr=function(t){return typeof t.red=="number"&&typeof t.green=="number"&&typeof t.blue=="number"&&typeof t.alpha=="number"},ur=function(t){return typeof t.hue=="number"&&typeof t.saturation=="number"&&typeof t.lightness=="number"&&(typeof t.alpha!="number"||typeof t.alpha>"u")},cr=function(t){return typeof t.hue=="number"&&typeof t.saturation=="number"&&typeof t.lightness=="number"&&typeof t.alpha=="number"};function w(e){if(typeof e!="object")throw new T(8);if(lr(e))return te(e);if(sr(e))return ye(e);if(cr(e))return ir(e);if(ur(e))return or(e);throw new T(8)}function rt(e,t,r){return function(){var o=r.concat(Array.prototype.slice.call(arguments));return o.length>=t?e.apply(this,o):rt(e,t,o)}}function R(e){return rt(e,e.length,[])}function fr(e,t){if(t==="transparent")return t;var r=x(t);return w(v({},r,{hue:r.hue+parseFloat(e)}))}var Zs=R(fr);function P(e,t,r){return Math.max(e,Math.min(t,r))}function pr(e,t){if(t==="transparent")return t;var r=x(t);return w(v({},r,{lightness:P(0,1,r.lightness-parseFloat(e))}))}var Ks=R(pr);function dr(e,t){if(t==="transparent")return t;var r=x(t);return w(v({},r,{saturation:P(0,1,r.saturation-parseFloat(e))}))}var Qs=R(dr);function mr(e,t){if(t==="transparent")return t;var r=x(t);return w(v({},r,{lightness:P(0,1,r.lightness+parseFloat(e))}))}var el=R(mr);function br(e,t,r){if(t==="transparent")return r;if(r==="transparent")return t;if(e===0)return r;var n=M(t),o=v({},n,{alpha:typeof n.alpha=="number"?n.alpha:1}),i=M(r),u=v({},i,{alpha:typeof i.alpha=="number"?i.alpha:1}),s=o.alpha-u.alpha,l=parseFloat(e)*2-1,c=l*s===-1?l:l+s,f=1+l*s,d=(c/f+1)/2,p=1-d,E={red:Math.floor(o.red*d+u.red*p),green:Math.floor(o.green*d+u.green*p),blue:Math.floor(o.blue*d+u.blue*p),alpha:o.alpha*parseFloat(e)+u.alpha*(1-parseFloat(e))};return te(E)}var gr=R(br),nt=gr;function hr(e,t){if(t==="transparent")return t;var r=M(t),n=typeof r.alpha=="number"?r.alpha:1,o=v({},r,{alpha:P(0,1,(n*100+parseFloat(e)*100)/100)});return te(o)}var Er=R(hr),at=Er;function yr(e,t){if(t==="transparent")return t;var r=x(t);return w(v({},r,{saturation:P(0,1,r.saturation+parseFloat(e))}))}var tl=R(yr);function Or(e,t){return t==="transparent"?t:w(v({},x(t),{hue:parseFloat(e)}))}var rl=R(Or);function vr(e,t){return t==="transparent"?t:w(v({},x(t),{lightness:parseFloat(e)}))}var nl=R(vr);function Tr(e,t){return t==="transparent"?t:w(v({},x(t),{saturation:parseFloat(e)}))}var al=R(Tr);function _r(e,t){return t==="transparent"?t:nt(parseFloat(e),"rgb(0, 0, 0)",t)}var ol=R(_r);function Rr(e,t){return t==="transparent"?t:nt(parseFloat(e),"rgb(255, 255, 255)",t)}var il=R(Rr);function Sr(e,t){if(t==="transparent")return t;var r=M(t),n=typeof r.alpha=="number"?r.alpha:1,o=v({},r,{alpha:P(0,1,+(n*100-parseFloat(e)*100).toFixed(2)/100)});return te(o)}var sl=R(Sr);var Ar=k.div({display:"flex",padding:0,borderLeft:"5px solid transparent",borderBottom:"1px solid transparent",transition:"all 0.1s",alignItems:"flex-start",whiteSpace:"pre"}),Cr=k.div(({theme:e})=>({backgroundColor:at(.5,e.appBorderColor),color:e.color.inverseText,fontSize:e.typography.size.s1,fontWeight:e.typography.weight.bold,lineHeight:1,padding:"1px 5px",borderRadius:20,margin:"2px 0px"})),xr=k.div({flex:1,padding:"0 0 0 5px"}),wr=({children:e,className:t})=>a.createElement(Ze,{horizontal:!0,vertical:!0,className:t},e),Nr=k(wr)({margin:0,padding:"10px 5px 20px"}),Lr=Fe(({theme:e,...t})=>a.createElement(qe,{theme:e.addonActionsTheme||"chromeLight",table:!1,...t})),Ir=({actions:e,onClear:t})=>a.createElement(Ne,null,a.createElement(Nr,null,e.map(r=>a.createElement(Ar,{key:r.id},r.count>1&&a.createElement(Cr,null,r.count),a.createElement(xr,null,a.createElement(Lr,{sortObjectKeys:!0,showNonenumerable:!1,name:r.data.name,data:r.data.args||r.data}))))),a.createElement(Xe,{actionItems:[{title:"Clear",onClick:t}]})),Dr=(e,t)=>{try{return I(e,t)}catch{return!1}},Mr=class extends we{constructor(e){super(e),this.handleStoryChange=()=>{let{actions:t}=this.state;t.length>0&&t[0].options.clearOnStoryChange&&this.clearActions()},this.addAction=t=>{this.setState(r=>{let n=[...r.actions],o=n.length&&n[0];return o&&Dr(o.data,t.data)?o.count++:(t.count=1,n.unshift(t)),{actions:n.slice(0,t.options.limit)}})},this.clearActions=()=>{let{api:t}=this.props;t.emit(Y),this.setState({actions:[]})},this.mounted=!1,this.state={actions:[]}}componentDidMount(){this.mounted=!0;let{api:e}=this.props;e.on(j,this.addAction),e.on(U,this.handleStoryChange)}componentWillUnmount(){this.mounted=!1;let{api:e}=this.props;e.off(U,this.handleStoryChange),e.off(j,this.addAction)}render(){let{actions:e=[]}=this.state,{active:t}=this.props,r={actions:e,onClear:this.clearActions};return t?a.createElement(Ir,{...r}):null}};function Pr({count:e}){let[t,r]=C(!1);Me({[j]:()=>{r(o=>!o)},[U]:()=>{r(o=>!o)},[Y]:()=>{r(o=>!o)}});let n=e.current===0?"":` (${e.current})`;return a.createElement(a.Fragment,null,"Actions",n)}re.register(z,e=>{let t={current:0};e.on(U,r=>{t.current=0}),e.on(j,()=>{t.current+=1}),e.on(Y,()=>{t.current=0}),re.addPanel(Ce,{title:a.createElement(Pr,{count:t}),id:"actions",type:De.PANEL,render:({active:r,key:n})=>a.createElement(Mr,{key:n,api:e,active:!!r}),paramKey:Ae})}); +}catch(e){ console.error("[Storybook] One of your manager-entries failed: " + import.meta.url, e); } +//# sourceMappingURL=manager-bundle.js.map diff --git a/sb-addons/essentials-actions-1/manager-bundle.js.LEGAL.txt b/sb-addons/essentials-actions-1/manager-bundle.js.LEGAL.txt new file mode 100644 index 00000000..e69de29b diff --git a/sb-addons/essentials-actions-1/manager-bundle.js.map b/sb-addons/essentials-actions-1/manager-bundle.js.map new file mode 100644 index 00000000..5c7bd7dc --- /dev/null +++ b/sb-addons/essentials-actions-1/manager-bundle.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../node_modules/@storybook/addon-actions/dist/chunk-VWCVBQ22.mjs", "global-externals:react", "global-externals:@storybook/manager-api", "global-externals:@storybook/core-events", "../../../node_modules/dequal/dist/index.mjs", "global-externals:@storybook/theming", "../../../node_modules/react-inspector/node_modules/is-object/index.js", "../../../node_modules/react-inspector/node_modules/is-window/index.js", "../../../node_modules/react-inspector/node_modules/is-dom/index.js", "../../../node_modules/react-inspector/src/styles/themes/index.tsx", "../../../node_modules/react-inspector/src/styles/themes/chromeDark.tsx", "../../../node_modules/react-inspector/src/styles/themes/chromeLight.tsx", "../../../node_modules/react-inspector/src/object-inspector/ObjectInspector.tsx", "../../../node_modules/react-inspector/src/tree-view/TreeView.tsx", "../../../node_modules/react-inspector/src/tree-view/ExpandedPathsContext.tsx", "../../../node_modules/react-inspector/src/tree-view/TreeNode.tsx", "../../../node_modules/react-inspector/src/styles/styles.tsx", "../../../node_modules/react-inspector/src/styles/unselectable.tsx", "../../../node_modules/react-inspector/src/styles/base.tsx", "../../../node_modules/react-inspector/src/tree-view/pathUtils.ts", "../../../node_modules/react-inspector/src/object-inspector/ObjectRootLabel.tsx", "../../../node_modules/react-inspector/src/object/ObjectName.tsx", "../../../node_modules/react-inspector/src/object-inspector/ObjectPreview.tsx", "../../../node_modules/react-inspector/src/object/ObjectValue.tsx", "../../../node_modules/react-inspector/src/utils/objectPrototype.tsx", "../../../node_modules/react-inspector/src/utils/propertyUtils.tsx", "../../../node_modules/react-inspector/src/object-inspector/ObjectLabel.tsx", "../../../node_modules/react-inspector/src/table-inspector/TableInspector.tsx", "../../../node_modules/react-inspector/src/table-inspector/getHeaders.ts", "../../../node_modules/react-inspector/src/table-inspector/DataContainer.tsx", "../../../node_modules/react-inspector/src/table-inspector/HeaderContainer.tsx", "../../../node_modules/react-inspector/src/table-inspector/TH.tsx", "../../../node_modules/react-inspector/src/dom-inspector/DOMInspector.tsx", "../../../node_modules/react-inspector/src/dom-inspector/DOMNodePreview.tsx", "../../../node_modules/react-inspector/src/dom-inspector/shouldInline.tsx", "../../../node_modules/react-inspector/src/index.tsx", "global-externals:@storybook/components", "../../../node_modules/@babel/runtime/helpers/esm/extends.js", "../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js", "../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js", "../../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js", "../../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js", "../../../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js", "../../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js", "../../../node_modules/@babel/runtime/helpers/esm/construct.js", "../../../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js", "../../../node_modules/polished/dist/polished.esm.js", "../../../node_modules/@storybook/addon-actions/dist/manager.mjs"], + "sourcesContent": ["var PARAM_KEY=\"actions\",ADDON_ID=\"storybook/actions\",PANEL_ID=`${ADDON_ID}/panel`,EVENT_ID=`${ADDON_ID}/action-event`,CLEAR_ID=`${ADDON_ID}/action-clear`,CYCLIC_KEY=\"$___storybook.isCyclic\";\n\nexport { ADDON_ID, CLEAR_ID, CYCLIC_KEY, EVENT_ID, PANEL_ID, PARAM_KEY };\n", "export default __REACT__;\nconst { Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version } = __REACT__;\nexport { Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version };", "export default __STORYBOOKAPI__;\nconst { ActiveTabs, Consumer, ManagerContext, Provider, addons, combineParameters, controlOrMetaKey, controlOrMetaSymbol, eventMatchesShortcut, eventToShortcut, isMacLike, isShortcutTaken, keyToSymbol, merge, mockChannel, optionOrAltSymbol, shortcutMatchesShortcut, shortcutToHumanString, types, useAddonState, useArgTypes, useArgs, useChannel, useGlobalTypes, useGlobals, useParameter, useSharedState, useStoryPrepared, useStorybookApi, useStorybookState } = __STORYBOOKAPI__;\nexport { ActiveTabs, Consumer, ManagerContext, Provider, addons, combineParameters, controlOrMetaKey, controlOrMetaSymbol, eventMatchesShortcut, eventToShortcut, isMacLike, isShortcutTaken, keyToSymbol, merge, mockChannel, optionOrAltSymbol, shortcutMatchesShortcut, shortcutToHumanString, types, useAddonState, useArgTypes, useArgs, useChannel, useGlobalTypes, useGlobals, useParameter, useSharedState, useStoryPrepared, useStorybookApi, useStorybookState };", "export default __STORYBOOKCOREEVENTS__;\nconst { CHANNEL_CREATED, CONFIG_ERROR, CURRENT_STORY_WAS_SET, DOCS_PREPARED, DOCS_RENDERED, FORCE_REMOUNT, FORCE_RE_RENDER, GLOBALS_UPDATED, IGNORED_EXCEPTION, NAVIGATE_URL, PLAY_FUNCTION_THREW_EXCEPTION, PRELOAD_ENTRIES, PREVIEW_BUILDER_PROGRESS, PREVIEW_KEYDOWN, REGISTER_SUBSCRIPTION, RESET_STORY_ARGS, SELECT_STORY, SET_CONFIG, SET_CURRENT_STORY, SET_GLOBALS, SET_INDEX, SET_STORIES, SHARED_STATE_CHANGED, SHARED_STATE_SET, STORIES_COLLAPSE_ALL, STORIES_EXPAND_ALL, STORY_ARGS_UPDATED, STORY_CHANGED, STORY_ERRORED, STORY_INDEX_INVALIDATED, STORY_MISSING, STORY_PREPARED, STORY_RENDERED, STORY_RENDER_PHASE_CHANGED, STORY_SPECIFIED, STORY_THREW_EXCEPTION, STORY_UNCHANGED, UPDATE_GLOBALS, UPDATE_QUERY_PARAMS, UPDATE_STORY_ARGS } = __STORYBOOKCOREEVENTS__;\nexport { CHANNEL_CREATED, CONFIG_ERROR, CURRENT_STORY_WAS_SET, DOCS_PREPARED, DOCS_RENDERED, FORCE_REMOUNT, FORCE_RE_RENDER, GLOBALS_UPDATED, IGNORED_EXCEPTION, NAVIGATE_URL, PLAY_FUNCTION_THREW_EXCEPTION, PRELOAD_ENTRIES, PREVIEW_BUILDER_PROGRESS, PREVIEW_KEYDOWN, REGISTER_SUBSCRIPTION, RESET_STORY_ARGS, SELECT_STORY, SET_CONFIG, SET_CURRENT_STORY, SET_GLOBALS, SET_INDEX, SET_STORIES, SHARED_STATE_CHANGED, SHARED_STATE_SET, STORIES_COLLAPSE_ALL, STORIES_EXPAND_ALL, STORY_ARGS_UPDATED, STORY_CHANGED, STORY_ERRORED, STORY_INDEX_INVALIDATED, STORY_MISSING, STORY_PREPARED, STORY_RENDERED, STORY_RENDER_PHASE_CHANGED, STORY_SPECIFIED, STORY_THREW_EXCEPTION, STORY_UNCHANGED, UPDATE_GLOBALS, UPDATE_QUERY_PARAMS, UPDATE_STORY_ARGS };", "var has = Object.prototype.hasOwnProperty;\n\nfunction find(iter, tar, key) {\n\tfor (key of iter.keys()) {\n\t\tif (dequal(key, tar)) return key;\n\t}\n}\n\nexport function dequal(foo, bar) {\n\tvar ctor, len, tmp;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ctor === Set) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len;\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!bar.has(tmp)) return false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === Map) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len[0];\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!dequal(len[1], bar.get(tmp))) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === ArrayBuffer) {\n\t\t\tfoo = new Uint8Array(foo);\n\t\t\tbar = new Uint8Array(bar);\n\t\t} else if (ctor === DataView) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo.getInt8(len) === bar.getInt8(len));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ArrayBuffer.isView(foo)) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo[len] === bar[len]);\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n", "export default __STORYBOOKTHEMING__;\nconst { CacheProvider, ClassNames, Global, ThemeProvider, background, color, convert, create, createCache, createGlobal, createReset, css, darken, ensure, ignoreSsrWarning, isPropValid, jsx, keyframes, lighten, styled, themes, typography, useTheme, withTheme } = __STORYBOOKTHEMING__;\nexport { CacheProvider, ClassNames, Global, ThemeProvider, background, color, convert, create, createCache, createGlobal, createReset, css, darken, ensure, ignoreSsrWarning, isPropValid, jsx, keyframes, lighten, styled, themes, typography, useTheme, withTheme };", "'use strict';\n\nmodule.exports = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n", "'use strict';\n\nmodule.exports = function (obj) {\n\n if (obj == null) {\n return false;\n }\n\n var o = Object(obj);\n\n return o === o.window;\n};\n", "var isObject = require('is-object')\nvar isWindow = require('is-window')\n\nfunction isNode (val) {\n if (!isObject(val) || !isWindow(window) || typeof window.Node !== 'function') {\n return false\n }\n\n return typeof val.nodeType === 'number' &&\n typeof val.nodeName === 'string'\n}\n\nmodule.exports = isNode\n", "export { theme as chromeDark } from './chromeDark';\nexport { theme as chromeLight } from './chromeLight';\n", "export const theme = {\n BASE_FONT_FAMILY: 'Menlo, monospace',\n BASE_FONT_SIZE: '11px',\n BASE_LINE_HEIGHT: 1.2,\n\n BASE_BACKGROUND_COLOR: 'rgb(36, 36, 36)',\n BASE_COLOR: 'rgb(213, 213, 213)',\n\n OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES: 10,\n OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES: 5,\n OBJECT_NAME_COLOR: 'rgb(227, 110, 236)',\n OBJECT_VALUE_NULL_COLOR: 'rgb(127, 127, 127)',\n OBJECT_VALUE_UNDEFINED_COLOR: 'rgb(127, 127, 127)',\n OBJECT_VALUE_REGEXP_COLOR: 'rgb(233, 63, 59)',\n OBJECT_VALUE_STRING_COLOR: 'rgb(233, 63, 59)',\n OBJECT_VALUE_SYMBOL_COLOR: 'rgb(233, 63, 59)',\n OBJECT_VALUE_NUMBER_COLOR: 'hsl(252, 100%, 75%)',\n OBJECT_VALUE_BOOLEAN_COLOR: 'hsl(252, 100%, 75%)',\n OBJECT_VALUE_FUNCTION_PREFIX_COLOR: 'rgb(85, 106, 242)',\n\n HTML_TAG_COLOR: 'rgb(93, 176, 215)',\n HTML_TAGNAME_COLOR: 'rgb(93, 176, 215)',\n HTML_TAGNAME_TEXT_TRANSFORM: 'lowercase',\n HTML_ATTRIBUTE_NAME_COLOR: 'rgb(155, 187, 220)',\n HTML_ATTRIBUTE_VALUE_COLOR: 'rgb(242, 151, 102)',\n HTML_COMMENT_COLOR: 'rgb(137, 137, 137)',\n HTML_DOCTYPE_COLOR: 'rgb(192, 192, 192)',\n\n ARROW_COLOR: 'rgb(145, 145, 145)',\n ARROW_MARGIN_RIGHT: 3,\n ARROW_FONT_SIZE: 12,\n ARROW_ANIMATION_DURATION: '0',\n\n TREENODE_FONT_FAMILY: 'Menlo, monospace',\n TREENODE_FONT_SIZE: '11px',\n TREENODE_LINE_HEIGHT: 1.2,\n TREENODE_PADDING_LEFT: 12,\n\n TABLE_BORDER_COLOR: 'rgb(85, 85, 85)',\n TABLE_TH_BACKGROUND_COLOR: 'rgb(44, 44, 44)',\n TABLE_TH_HOVER_COLOR: 'rgb(48, 48, 48)',\n TABLE_SORT_ICON_COLOR: 'black', //'rgb(48, 57, 66)',\n TABLE_DATA_BACKGROUND_IMAGE:\n 'linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 50%, rgba(51, 139, 255, 0.0980392) 50%, rgba(51, 139, 255, 0.0980392))',\n TABLE_DATA_BACKGROUND_SIZE: '128px 32px',\n};\n", "export const theme = {\n BASE_FONT_FAMILY: 'Menlo, monospace',\n BASE_FONT_SIZE: '11px',\n BASE_LINE_HEIGHT: 1.2,\n\n BASE_BACKGROUND_COLOR: 'white',\n BASE_COLOR: 'black',\n\n OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES: 10,\n OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES: 5,\n OBJECT_NAME_COLOR: 'rgb(136, 19, 145)',\n OBJECT_VALUE_NULL_COLOR: 'rgb(128, 128, 128)',\n OBJECT_VALUE_UNDEFINED_COLOR: 'rgb(128, 128, 128)',\n OBJECT_VALUE_REGEXP_COLOR: 'rgb(196, 26, 22)',\n OBJECT_VALUE_STRING_COLOR: 'rgb(196, 26, 22)',\n OBJECT_VALUE_SYMBOL_COLOR: 'rgb(196, 26, 22)',\n OBJECT_VALUE_NUMBER_COLOR: 'rgb(28, 0, 207)',\n OBJECT_VALUE_BOOLEAN_COLOR: 'rgb(28, 0, 207)',\n OBJECT_VALUE_FUNCTION_PREFIX_COLOR: 'rgb(13, 34, 170)',\n\n HTML_TAG_COLOR: 'rgb(168, 148, 166)',\n HTML_TAGNAME_COLOR: 'rgb(136, 18, 128)',\n HTML_TAGNAME_TEXT_TRANSFORM: 'lowercase',\n HTML_ATTRIBUTE_NAME_COLOR: 'rgb(153, 69, 0)',\n HTML_ATTRIBUTE_VALUE_COLOR: 'rgb(26, 26, 166)',\n HTML_COMMENT_COLOR: 'rgb(35, 110, 37)',\n HTML_DOCTYPE_COLOR: 'rgb(192, 192, 192)',\n\n ARROW_COLOR: '#6e6e6e',\n ARROW_MARGIN_RIGHT: 3,\n ARROW_FONT_SIZE: 12,\n ARROW_ANIMATION_DURATION: '0',\n\n TREENODE_FONT_FAMILY: 'Menlo, monospace',\n TREENODE_FONT_SIZE: '11px',\n TREENODE_LINE_HEIGHT: 1.2,\n TREENODE_PADDING_LEFT: 12,\n\n TABLE_BORDER_COLOR: '#aaa',\n TABLE_TH_BACKGROUND_COLOR: '#eee',\n TABLE_TH_HOVER_COLOR: 'hsla(0, 0%, 90%, 1)',\n TABLE_SORT_ICON_COLOR: '#6e6e6e',\n TABLE_DATA_BACKGROUND_IMAGE:\n 'linear-gradient(to bottom, white, white 50%, rgb(234, 243, 255) 50%, rgb(234, 243, 255))',\n TABLE_DATA_BACKGROUND_SIZE: '128px 32px',\n};\n", "import React, { FC } from 'react';\nimport { TreeView } from '../tree-view/TreeView';\n\nimport { ObjectRootLabel } from './ObjectRootLabel';\nimport { ObjectLabel } from './ObjectLabel';\n\nimport { propertyIsEnumerable } from '../utils/objectPrototype';\nimport { getPropertyValue } from '../utils/propertyUtils';\n\nimport { themeAcceptor } from '../styles';\n\nconst createIterator = (showNonenumerable: any, sortObjectKeys: any) => {\n const objectIterator = function* (data: any) {\n const shouldIterate = (typeof data === 'object' && data !== null) || typeof data === 'function';\n if (!shouldIterate) return;\n\n const dataIsArray = Array.isArray(data);\n\n // iterable objects (except arrays)\n if (!dataIsArray && data[Symbol.iterator]) {\n let i = 0;\n for (const entry of data) {\n if (Array.isArray(entry) && entry.length === 2) {\n const [k, v] = entry;\n yield {\n name: k,\n data: v,\n };\n } else {\n yield {\n name: i.toString(),\n data: entry,\n };\n }\n i++;\n }\n } else {\n const keys = Object.getOwnPropertyNames(data);\n if (sortObjectKeys === true && !dataIsArray) {\n // Array keys should not be sorted in alphabetical order\n keys.sort();\n } else if (typeof sortObjectKeys === 'function') {\n keys.sort(sortObjectKeys);\n }\n\n for (const propertyName of keys) {\n if (propertyIsEnumerable.call(data, propertyName)) {\n const propertyValue = getPropertyValue(data, propertyName);\n yield {\n name: propertyName || `\"\"`,\n data: propertyValue,\n };\n } else if (showNonenumerable) {\n // To work around the error (happens some time when propertyName === 'caller' || propertyName === 'arguments')\n // 'caller' and 'arguments' are restricted function properties and cannot be accessed in this context\n // http://stackoverflow.com/questions/31921189/caller-and-arguments-are-restricted-function-properties-and-cannot-be-access\n let propertyValue;\n try {\n propertyValue = getPropertyValue(data, propertyName);\n } catch (e) {\n // console.warn(e)\n }\n\n if (propertyValue !== undefined) {\n yield {\n name: propertyName,\n data: propertyValue,\n isNonenumerable: true,\n };\n }\n }\n }\n\n // [[Prototype]] of the object: `Object.getPrototypeOf(data)`\n // the property name is shown as \"__proto__\"\n if (showNonenumerable && data !== Object.prototype /* already added */) {\n yield {\n name: '__proto__',\n data: Object.getPrototypeOf(data),\n isNonenumerable: true,\n };\n }\n }\n };\n\n return objectIterator;\n};\n\nconst defaultNodeRenderer = ({ depth, name, data, isNonenumerable }: any) =>\n depth === 0 ? (\n \n ) : (\n \n );\n\n/**\n * Tree-view for objects\n */\nconst ObjectInspector: FC = ({ showNonenumerable = false, sortObjectKeys, nodeRenderer, ...treeViewProps }) => {\n const dataIterator = createIterator(showNonenumerable, sortObjectKeys);\n const renderer = nodeRenderer ? nodeRenderer : defaultNodeRenderer;\n\n return ;\n};\n\n// ObjectInspector.propTypes = {\n// /** An integer specifying to which level the tree should be initially expanded. */\n// expandLevel: PropTypes.number,\n// /** An array containing all the paths that should be expanded when the component is initialized, or a string of just one path */\n// expandPaths: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n\n// name: PropTypes.string,\n// /** Not required prop because we also allow undefined value */\n// data: PropTypes.any,\n\n// /** Show non-enumerable properties */\n// showNonenumerable: PropTypes.bool,\n// /** Sort object keys with optional compare function. */\n// sortObjectKeys: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n\n// /** Provide a custom nodeRenderer */\n// nodeRenderer: PropTypes.func,\n// };\n\nconst themedObjectInspector = themeAcceptor(ObjectInspector);\n\nexport { themedObjectInspector as ObjectInspector };\n", "import React, { useContext, useCallback, useLayoutEffect, useState, memo } from 'react';\nimport { ExpandedPathsContext } from './ExpandedPathsContext';\nimport { TreeNode } from './TreeNode';\nimport { DEFAULT_ROOT_PATH, hasChildNodes, getExpandedPaths } from './pathUtils';\n\nimport { useStyles } from '../styles';\n\nconst ConnectedTreeNode = memo((props) => {\n const { data, dataIterator, path, depth, nodeRenderer } = props;\n const [expandedPaths, setExpandedPaths] = useContext(ExpandedPathsContext);\n const nodeHasChildNodes = hasChildNodes(data, dataIterator);\n const expanded = !!expandedPaths[path];\n\n const handleClick = useCallback(\n () =>\n nodeHasChildNodes &&\n setExpandedPaths((prevExpandedPaths) => ({\n ...prevExpandedPaths,\n [path]: !expanded,\n })),\n [nodeHasChildNodes, setExpandedPaths, path, expanded]\n );\n\n return (\n 0}\n // Render a node from name and data (or possibly other props like isNonenumerable)\n nodeRenderer={nodeRenderer}\n {...props}>\n {\n // only render if the node is expanded\n expanded\n ? [...dataIterator(data)].map(({ name, data, ...renderNodeProps }) => {\n return (\n \n );\n })\n : null\n }\n \n );\n});\n\n// ConnectedTreeNode.propTypes = {\n// name: PropTypes.string,\n// data: PropTypes.any,\n// dataIterator: PropTypes.func,\n// depth: PropTypes.number,\n// expanded: PropTypes.bool,\n// nodeRenderer: PropTypes.func,\n// };\n\nexport const TreeView = memo(({ name, data, dataIterator, nodeRenderer, expandPaths, expandLevel }) => {\n const styles = useStyles('TreeView');\n const stateAndSetter = useState({});\n const [, setExpandedPaths] = stateAndSetter;\n\n useLayoutEffect(\n () =>\n setExpandedPaths((prevExpandedPaths) =>\n getExpandedPaths(data, dataIterator, expandPaths, expandLevel, prevExpandedPaths)\n ),\n [data, dataIterator, expandPaths, expandLevel]\n );\n\n return (\n \n
    \n \n
\n
\n );\n});\n\n// TreeView.propTypes = {\n// name: PropTypes.string,\n// data: PropTypes.any,\n// dataIterator: PropTypes.func,\n// nodeRenderer: PropTypes.func,\n// expandPaths: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n// expandLevel: PropTypes.number,\n// };\n", "/* eslint-disable @typescript-eslint/no-empty-function */\nimport { createContext } from 'react';\n\nexport const ExpandedPathsContext = createContext<[any, (...args: any[]) => any]>([{}, () => {}]);\n", "/* eslint-disable @typescript-eslint/no-empty-function */\nimport React, { Children, FC, memo } from 'react';\nimport { useStyles } from '../styles';\n\nconst Arrow: FC = ({ expanded, styles }) => (\n \n ▶\n \n);\n\nexport const TreeNode: FC = memo((props) => {\n props = {\n expanded: true,\n nodeRenderer: ({ name }: any) => {name},\n onClick: () => {},\n shouldShowArrow: false,\n shouldShowPlaceholder: true,\n ...props,\n };\n const { expanded, onClick, children, nodeRenderer, title, shouldShowArrow, shouldShowPlaceholder } = props;\n\n const styles = useStyles('TreeNode');\n const NodeRenderer = nodeRenderer;\n\n return (\n
  • \n
    \n {shouldShowArrow || Children.count(children) > 0 ? (\n \n ) : (\n shouldShowPlaceholder &&  \n )}\n \n
    \n\n
      \n {expanded ? children : undefined}\n
    \n
  • \n );\n});\n\n// TreeNode.propTypes = {\n// name: PropTypes.string,\n// data: PropTypes.any,\n// expanded: PropTypes.bool,\n// shouldShowArrow: PropTypes.bool,\n// shouldShowPlaceholder: PropTypes.bool,\n// nodeRenderer: PropTypes.func,\n// onClick: PropTypes.func,\n// };\n", "import React, { createContext, useContext, useMemo } from 'react';\n\nimport * as themes from './themes';\nimport { createTheme } from './base';\n\nconst DEFAULT_THEME_NAME = 'chromeLight';\n\nconst ThemeContext = createContext(createTheme(themes[DEFAULT_THEME_NAME]));\n\n/**\n * Hook to get the component styles for the current theme.\n * @param {string} baseStylesKey - Name of the component to be styled\n */\nexport const useStyles = (baseStylesKey: any) => {\n const themeStyles = useContext(ThemeContext);\n //@ts-ignore\n return themeStyles[baseStylesKey];\n};\n\n/**\n * HOC to create a component that accepts a \"theme\" prop and uses it to set\n * the current theme. This is intended to be used by the top-level inspector\n * components.\n * @param {Object} WrappedComponent - React component to be wrapped\n */\nexport const themeAcceptor = (WrappedComponent: any) => {\n const ThemeAcceptor = ({ theme = DEFAULT_THEME_NAME, ...restProps }) => {\n const themeStyles = useMemo(() => {\n switch (Object.prototype.toString.call(theme)) {\n case '[object String]':\n //@ts-ignore\n return createTheme(themes[theme]);\n case '[object Object]':\n return createTheme(theme);\n default:\n return createTheme(themes[DEFAULT_THEME_NAME]);\n }\n }, [theme]);\n\n return (\n \n \n \n );\n };\n\n // ThemeAcceptor.propTypes = {\n // theme: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n // };\n\n return ThemeAcceptor;\n};\n", "export const unselectable = {\n WebkitTouchCallout: 'none',\n WebkitUserSelect: 'none',\n KhtmlUserSelect: 'none',\n MozUserSelect: 'none',\n msUserSelect: 'none',\n OUserSelect: 'none',\n userSelect: 'none',\n};\n", "import { unselectable } from './unselectable';\n\nexport const createTheme = (theme: any) => ({\n DOMNodePreview: {\n htmlOpenTag: {\n base: {\n color: theme.HTML_TAG_COLOR,\n },\n tagName: {\n color: theme.HTML_TAGNAME_COLOR,\n textTransform: theme.HTML_TAGNAME_TEXT_TRANSFORM,\n },\n htmlAttributeName: {\n color: theme.HTML_ATTRIBUTE_NAME_COLOR,\n },\n htmlAttributeValue: {\n color: theme.HTML_ATTRIBUTE_VALUE_COLOR,\n },\n },\n htmlCloseTag: {\n base: {\n color: theme.HTML_TAG_COLOR,\n },\n offsetLeft: {\n /* hack: offset placeholder */\n marginLeft: -theme.TREENODE_PADDING_LEFT,\n },\n tagName: {\n color: theme.HTML_TAGNAME_COLOR,\n textTransform: theme.HTML_TAGNAME_TEXT_TRANSFORM,\n },\n },\n htmlComment: {\n color: theme.HTML_COMMENT_COLOR,\n },\n htmlDoctype: {\n color: theme.HTML_DOCTYPE_COLOR,\n },\n },\n\n ObjectPreview: {\n objectDescription: {\n fontStyle: 'italic',\n },\n preview: {\n fontStyle: 'italic',\n },\n arrayMaxProperties: theme.OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES,\n objectMaxProperties: theme.OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES,\n },\n\n ObjectName: {\n base: {\n color: theme.OBJECT_NAME_COLOR,\n },\n dimmed: {\n opacity: 0.6,\n },\n },\n\n ObjectValue: {\n objectValueNull: {\n color: theme.OBJECT_VALUE_NULL_COLOR,\n },\n objectValueUndefined: {\n color: theme.OBJECT_VALUE_UNDEFINED_COLOR,\n },\n objectValueRegExp: {\n color: theme.OBJECT_VALUE_REGEXP_COLOR,\n },\n objectValueString: {\n color: theme.OBJECT_VALUE_STRING_COLOR,\n },\n objectValueSymbol: {\n color: theme.OBJECT_VALUE_SYMBOL_COLOR,\n },\n objectValueNumber: {\n color: theme.OBJECT_VALUE_NUMBER_COLOR,\n },\n objectValueBoolean: {\n color: theme.OBJECT_VALUE_BOOLEAN_COLOR,\n },\n objectValueFunctionPrefix: {\n color: theme.OBJECT_VALUE_FUNCTION_PREFIX_COLOR,\n fontStyle: 'italic',\n },\n objectValueFunctionName: {\n fontStyle: 'italic',\n },\n },\n\n TreeView: {\n treeViewOutline: {\n padding: 0,\n margin: 0,\n listStyleType: 'none',\n },\n },\n\n TreeNode: {\n treeNodeBase: {\n color: theme.BASE_COLOR,\n backgroundColor: theme.BASE_BACKGROUND_COLOR,\n\n lineHeight: theme.TREENODE_LINE_HEIGHT,\n cursor: 'default',\n\n boxSizing: 'border-box',\n listStyle: 'none',\n\n fontFamily: theme.TREENODE_FONT_FAMILY,\n fontSize: theme.TREENODE_FONT_SIZE,\n },\n treeNodePreviewContainer: {},\n treeNodePlaceholder: {\n whiteSpace: 'pre',\n\n fontSize: theme.ARROW_FONT_SIZE,\n marginRight: theme.ARROW_MARGIN_RIGHT,\n ...unselectable,\n },\n treeNodeArrow: {\n base: {\n color: theme.ARROW_COLOR,\n display: 'inline-block',\n // lineHeight: '14px',\n fontSize: theme.ARROW_FONT_SIZE,\n marginRight: theme.ARROW_MARGIN_RIGHT,\n ...(parseFloat(theme.ARROW_ANIMATION_DURATION) > 0\n ? {\n transition: `transform ${theme.ARROW_ANIMATION_DURATION} ease 0s`,\n }\n : {}),\n ...unselectable,\n },\n expanded: {\n WebkitTransform: 'rotateZ(90deg)',\n MozTransform: 'rotateZ(90deg)',\n transform: 'rotateZ(90deg)',\n },\n collapsed: {\n WebkitTransform: 'rotateZ(0deg)',\n MozTransform: 'rotateZ(0deg)',\n transform: 'rotateZ(0deg)',\n },\n },\n treeNodeChildNodesContainer: {\n margin: 0, // reset user-agent style\n paddingLeft: theme.TREENODE_PADDING_LEFT,\n },\n },\n\n TableInspector: {\n base: {\n color: theme.BASE_COLOR,\n\n position: 'relative',\n border: `1px solid ${theme.TABLE_BORDER_COLOR}`,\n fontFamily: theme.BASE_FONT_FAMILY,\n fontSize: theme.BASE_FONT_SIZE,\n lineHeight: '120%',\n boxSizing: 'border-box',\n cursor: 'default',\n },\n },\n\n TableInspectorHeaderContainer: {\n base: {\n top: 0,\n height: '17px',\n left: 0,\n right: 0,\n overflowX: 'hidden',\n },\n table: {\n tableLayout: 'fixed',\n borderSpacing: 0,\n borderCollapse: 'separate',\n height: '100%',\n width: '100%',\n margin: 0,\n },\n },\n\n TableInspectorDataContainer: {\n tr: {\n display: 'table-row',\n },\n td: {\n boxSizing: 'border-box',\n border: 'none', // prevent overrides\n height: '16px', // /* 0.5 * table.background-size height */\n verticalAlign: 'top',\n padding: '1px 4px',\n WebkitUserSelect: 'text',\n\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n lineHeight: '14px',\n },\n div: {\n position: 'static',\n top: '17px',\n bottom: 0,\n overflowY: 'overlay',\n transform: 'translateZ(0)',\n\n left: 0,\n right: 0,\n overflowX: 'hidden',\n },\n table: {\n positon: 'static',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n borderTop: '0 none transparent',\n margin: 0, // prevent user agent stylesheet overrides\n\n backgroundImage: theme.TABLE_DATA_BACKGROUND_IMAGE,\n backgroundSize: theme.TABLE_DATA_BACKGROUND_SIZE,\n tableLayout: 'fixed',\n\n // table\n borderSpacing: 0,\n borderCollapse: 'separate',\n // height: '100%',\n width: '100%',\n\n fontSize: theme.BASE_FONT_SIZE,\n lineHeight: '120%',\n },\n },\n\n TableInspectorTH: {\n base: {\n position: 'relative', // anchor for sort icon container\n height: 'auto',\n textAlign: 'left',\n backgroundColor: theme.TABLE_TH_BACKGROUND_COLOR,\n borderBottom: `1px solid ${theme.TABLE_BORDER_COLOR}`,\n fontWeight: 'normal',\n verticalAlign: 'middle',\n padding: '0 4px',\n\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n lineHeight: '14px',\n\n ':hover': {\n backgroundColor: theme.TABLE_TH_HOVER_COLOR,\n },\n },\n div: {\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n\n // prevent user agent stylesheet overrides\n fontSize: theme.BASE_FONT_SIZE,\n lineHeight: '120%',\n },\n },\n\n TableInspectorLeftBorder: {\n none: {\n borderLeft: 'none',\n },\n solid: {\n borderLeft: `1px solid ${theme.TABLE_BORDER_COLOR}`,\n },\n },\n\n TableInspectorSortIcon: {\n display: 'block',\n marginRight: 3, // 4,\n width: 8,\n height: 7,\n\n marginTop: -7,\n color: theme.TABLE_SORT_ICON_COLOR,\n fontSize: 12,\n // lineHeight: 14\n ...unselectable,\n },\n});\n", "export const DEFAULT_ROOT_PATH = '$';\n\nconst WILDCARD = '*';\n\nexport function hasChildNodes(data, dataIterator) {\n return !dataIterator(data).next().done;\n}\n\nexport const wildcardPathsFromLevel = (level) => {\n // i is depth\n return Array.from({ length: level }, (_, i) =>\n [DEFAULT_ROOT_PATH].concat(Array.from({ length: i }, () => '*')).join('.')\n );\n};\n\nexport const getExpandedPaths = (data, dataIterator, expandPaths, expandLevel, prevExpandedPaths) => {\n const wildcardPaths = []\n .concat(wildcardPathsFromLevel(expandLevel))\n .concat(expandPaths)\n .filter((path) => typeof path === 'string'); // could be undefined\n\n const expandedPaths = [];\n wildcardPaths.forEach((wildcardPath) => {\n const keyPaths = wildcardPath.split('.');\n const populatePaths = (curData, curPath, depth) => {\n if (depth === keyPaths.length) {\n expandedPaths.push(curPath);\n return;\n }\n const key = keyPaths[depth];\n if (depth === 0) {\n if (hasChildNodes(curData, dataIterator) && (key === DEFAULT_ROOT_PATH || key === WILDCARD)) {\n populatePaths(curData, DEFAULT_ROOT_PATH, depth + 1);\n }\n } else {\n if (key === WILDCARD) {\n for (const { name, data } of dataIterator(curData)) {\n if (hasChildNodes(data, dataIterator)) {\n populatePaths(data, `${curPath}.${name}`, depth + 1);\n }\n }\n } else {\n const value = curData[key];\n if (hasChildNodes(value, dataIterator)) {\n populatePaths(value, `${curPath}.${key}`, depth + 1);\n }\n }\n }\n };\n\n populatePaths(data, '', 0);\n });\n\n return expandedPaths.reduce(\n (obj, path) => {\n obj[path] = true;\n return obj;\n },\n { ...prevExpandedPaths }\n );\n};\n", "import React, { FC } from 'react';\nimport { ObjectName } from '../object/ObjectName';\nimport { ObjectPreview } from './ObjectPreview';\n\nexport const ObjectRootLabel: FC = ({ name, data }) => {\n if (typeof name === 'string') {\n return (\n \n \n : \n \n \n );\n } else {\n return ;\n }\n};\n", "import React, { FC } from 'react';\nimport { useStyles } from '../styles';\n\n/**\n * A view for object property names.\n *\n * If the property name is enumerable (in Object.keys(object)),\n * the property name will be rendered normally.\n *\n * If the property name is not enumerable (`Object.prototype.propertyIsEnumerable()`),\n * the property name will be dimmed to show the difference.\n */\nexport const ObjectName: FC = ({ name, dimmed = false, styles = {} }) => {\n const themeStyles = useStyles('ObjectName');\n const appliedStyles = {\n ...themeStyles.base,\n ...(dimmed ? themeStyles['dimmed'] : {}),\n ...styles,\n };\n\n return {name};\n};\n\n// ObjectName.propTypes = {\n// /** Property name */\n// name: PropTypes.string,\n// /** Should property name be dimmed */\n// dimmed: PropTypes.bool,\n// };\n", "import React, { FC, ReactChild } from 'react';\n\nimport { ObjectValue } from '../object/ObjectValue';\nimport { ObjectName } from '../object/ObjectName';\n\nimport { useStyles } from '../styles';\n\nimport { hasOwnProperty } from '../utils/objectPrototype';\nimport { getPropertyValue } from '../utils/propertyUtils';\n\n/* intersperse arr with separator */\nfunction intersperse(arr: any[], sep: string) {\n if (arr.length === 0) {\n return [];\n }\n\n return arr.slice(1).reduce((xs, x) => xs.concat([sep, x]), [arr[0]]);\n}\n\n/**\n * A preview of the object\n */\nexport const ObjectPreview: FC = ({ data }) => {\n const styles = useStyles('ObjectPreview');\n const object = data;\n\n if (typeof object !== 'object' || object === null || object instanceof Date || object instanceof RegExp) {\n return ;\n }\n\n if (Array.isArray(object)) {\n const maxProperties = styles.arrayMaxProperties;\n const previewArray = object\n .slice(0, maxProperties)\n .map((element, index) => );\n if (object.length > maxProperties) {\n previewArray.push();\n }\n const arrayLength = object.length;\n return (\n \n {arrayLength === 0 ? `` : `(${arrayLength})\\xa0`}\n [{intersperse(previewArray, ', ')}]\n \n );\n } else {\n const maxProperties = styles.objectMaxProperties;\n const propertyNodes: ReactChild[] = [];\n for (const propertyName in object) {\n if (hasOwnProperty.call(object, propertyName)) {\n let ellipsis;\n if (propertyNodes.length === maxProperties - 1 && Object.keys(object).length > maxProperties) {\n ellipsis = ;\n }\n\n const propertyValue = getPropertyValue(object, propertyName);\n propertyNodes.push(\n \n \n : \n \n {ellipsis}\n \n );\n if (ellipsis) break;\n }\n }\n\n const objectConstructorName = object.constructor ? object.constructor.name : 'Object';\n\n return (\n \n \n {objectConstructorName === 'Object' ? '' : `${objectConstructorName} `}\n \n \n {'{'}\n {intersperse(propertyNodes, ', ')}\n {'}'}\n \n \n );\n }\n};\n", "import React, { FC } from 'react';\n\nimport { useStyles } from '../styles';\n\n/**\n * A short description of the object values.\n * Can be used to render tree node in ObjectInspector\n * or render objects in TableInspector.\n */\nexport const ObjectValue: FC = ({ object, styles }) => {\n const themeStyles = useStyles('ObjectValue');\n\n const mkStyle = (key: any) => ({ ...themeStyles[key], ...styles });\n\n switch (typeof object) {\n case 'bigint':\n return {String(object)}n;\n case 'number':\n return {String(object)};\n case 'string':\n return \"{object}\";\n case 'boolean':\n return {String(object)};\n case 'undefined':\n return undefined;\n case 'object':\n if (object === null) {\n return null;\n }\n if (object instanceof Date) {\n return {object.toString()};\n }\n if (object instanceof RegExp) {\n return {object.toString()};\n }\n if (Array.isArray(object)) {\n return {`Array(${object.length})`};\n }\n if (!object.constructor) {\n return Object;\n }\n if (typeof object.constructor.isBuffer === 'function' && object.constructor.isBuffer(object)) {\n return {`Buffer[${object.length}]`};\n }\n\n return {object.constructor.name};\n case 'function':\n return (\n \n ƒ \n {object.name}()\n \n );\n case 'symbol':\n return {object.toString()};\n default:\n return ;\n }\n};\n\n// ObjectValue.propTypes = {\n// // the object to describe\n// object: PropTypes.any,\n// };\n", "export const hasOwnProperty = Object.prototype.hasOwnProperty;\nexport const propertyIsEnumerable = Object.prototype.propertyIsEnumerable;\n", "export function getPropertyValue(object, propertyName) {\n const propertyDescriptor = Object.getOwnPropertyDescriptor(object, propertyName);\n if (propertyDescriptor.get) {\n try {\n return propertyDescriptor.get();\n } catch {\n return propertyDescriptor.get;\n }\n }\n\n return object[propertyName];\n}\n", "import React, { FC } from 'react';\nimport { ObjectName } from '../object/ObjectName';\nimport { ObjectValue } from '../object/ObjectValue';\nimport { ObjectPreview } from './ObjectPreview';\n\n/**\n * if isNonenumerable is specified, render the name dimmed\n */\nexport const ObjectLabel: FC = ({ name, data, isNonenumerable = false }) => {\n const object = data;\n\n return (\n \n {typeof name === 'string' ? : }\n : \n \n \n );\n};\n\n// ObjectLabel.propTypes = {\n// /** Non enumerable object property will be dimmed */\n// isNonenumerable: PropTypes.bool,\n// };\n", "/**\n * Specs:\n * https://developer.chrome.com/devtools/docs/commandline-api#tabledata-columns\n * https://developer.mozilla.org/en-US/docs/Web/API/Console/table\n */\n\nimport React, { FC, useCallback, useState } from 'react';\n\nimport { getHeaders } from './getHeaders';\nimport { DataContainer } from './DataContainer';\nimport { HeaderContainer } from './HeaderContainer';\n\nimport { themeAcceptor, useStyles } from '../styles';\n\nconst TableInspector: FC = ({\n // The JS object you would like to inspect, either an array or an object\n data,\n // An array of the names of the columns you'd like to display in the table\n columns,\n}) => {\n const styles = useStyles('TableInspector');\n\n const [{ sorted, sortIndexColumn, sortColumn, sortAscending }, setState] = useState({\n // has user ever clicked the tag to sort?\n sorted: false,\n // is index column sorted?\n sortIndexColumn: false,\n // which column is sorted?\n sortColumn: undefined,\n // is sorting ascending or descending?\n sortAscending: false,\n });\n\n const handleIndexTHClick = useCallback(() => {\n setState(({ sortIndexColumn, sortAscending }) => ({\n sorted: true,\n sortIndexColumn: true,\n sortColumn: undefined,\n // when changed to a new column, default to asending\n sortAscending: sortIndexColumn ? !sortAscending : true,\n }));\n }, []);\n\n const handleTHClick = useCallback((col) => {\n setState(({ sortColumn, sortAscending }) => ({\n sorted: true,\n sortIndexColumn: false,\n // update sort column\n sortColumn: col,\n // when changed to a new column, default to asending\n sortAscending: col === sortColumn ? !sortAscending : true,\n }));\n }, []);\n\n if (typeof data !== 'object' || data === null) {\n return
    ;\n }\n\n let { rowHeaders, colHeaders } = getHeaders(data);\n\n // columns to be displayed are specified\n // NOTE: there's some space for optimization here\n if (columns !== undefined) {\n colHeaders = columns;\n }\n\n let rowsData = rowHeaders.map((rowHeader) => data[rowHeader]);\n\n let columnDataWithRowIndexes; /* row indexes are [0..nRows-1] */\n // TODO: refactor\n if (sortColumn !== undefined) {\n // the column to be sorted (rowsData, column) => [[columnData, rowIndex]]\n columnDataWithRowIndexes = rowsData.map((rowData, index: number) => {\n // normalize rowData\n if (typeof rowData === 'object' && rowData !== null /*&& rowData.hasOwnProperty(sortColumn)*/) {\n const columnData = rowData[sortColumn];\n return [columnData, index];\n }\n return [undefined, index];\n });\n } else {\n if (sortIndexColumn) {\n columnDataWithRowIndexes = rowHeaders.map((rowData, index: number) => {\n const columnData = rowHeaders[index];\n return [columnData, index];\n });\n }\n }\n if (columnDataWithRowIndexes !== undefined) {\n // apply a mapper before sorting (because we need to access inside a container)\n const comparator = (mapper, ascending) => {\n return (a, b) => {\n const v1 = mapper(a); // the datum\n const v2 = mapper(b);\n const type1 = typeof v1;\n const type2 = typeof v2;\n // use '<' operator to compare same type of values or compare type precedence order #\n const lt = (v1, v2) => {\n if (v1 < v2) {\n return -1;\n } else if (v1 > v2) {\n return 1;\n } else {\n return 0;\n }\n };\n let result;\n if (type1 === type2) {\n result = lt(v1, v2);\n } else {\n // order of different types\n const order = {\n string: 0,\n number: 1,\n object: 2,\n symbol: 3,\n boolean: 4,\n undefined: 5,\n function: 6,\n };\n result = lt(order[type1], order[type2]);\n }\n // reverse result if descending\n if (!ascending) result = -result;\n return result;\n };\n };\n const sortedRowIndexes = columnDataWithRowIndexes\n .sort(comparator((item) => item[0], sortAscending))\n .map((item) => item[1]); // sorted row indexes\n rowHeaders = sortedRowIndexes.map((i) => rowHeaders[i]);\n rowsData = sortedRowIndexes.map((i) => rowsData[i]);\n }\n\n return (\n
    \n \n \n
    \n );\n};\n\n// TableInspector.propTypes = {\n// /**\n// * the Javascript object you would like to inspect, either an array or an object\n// */\n// data: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n// /**\n// * An array of the names of the columns you'd like to display in the table\n// */\n// columns: PropTypes.array,\n// };\n\nconst themedTableInspector = themeAcceptor(TableInspector);\n\nexport { themedTableInspector as TableInspector };\n", "export function getHeaders(data): any {\n if (typeof data === 'object') {\n let rowHeaders: any[] = [];\n // is an array\n if (Array.isArray(data)) {\n const nRows = data.length;\n rowHeaders = [...Array(nRows).keys()];\n } else if (data !== null) {\n // is an object\n // keys are row indexes\n rowHeaders = Object.keys(data);\n }\n\n // Time: O(nRows * nCols)\n const colHeaders = rowHeaders.reduce((colHeaders, rowHeader) => {\n const row = data[rowHeader];\n if (typeof row === 'object' && row !== null) {\n /* O(nCols) Could optimize `includes` here */\n const cols = Object.keys(row);\n cols.reduce((xs, x) => {\n if (!xs.includes(x)) {\n /* xs is the colHeaders to be filled by searching the row's indexes */\n xs.push(x);\n }\n return xs;\n }, colHeaders);\n }\n return colHeaders;\n }, []);\n return {\n rowHeaders: rowHeaders,\n colHeaders: colHeaders,\n };\n }\n return undefined;\n}\n", "import React from 'react';\nimport { ObjectValue } from '../object/ObjectValue';\n\nimport { hasOwnProperty } from '../utils/objectPrototype';\n\nimport { useStyles } from '../styles';\n\nexport const DataContainer = ({ rows, columns, rowsData }) => {\n const styles = useStyles('TableInspectorDataContainer');\n const borderStyles = useStyles('TableInspectorLeftBorder');\n\n return (\n
    \n \n \n \n {rows.map((row, i) => (\n \n \n\n {columns.map((column) => {\n const rowData = rowsData[i];\n // rowData could be\n // object -> index by key\n // array -> index by array index\n // null -> pass\n // boolean -> pass\n // string -> pass (hasOwnProperty returns true for [0..len-1])\n // number -> pass\n // function -> pass\n // symbol\n // undefined -> pass\n if (typeof rowData === 'object' && rowData !== null && hasOwnProperty.call(rowData, column)) {\n return (\n \n );\n } else {\n return \n ))}\n \n
    {row}\n \n ;\n }\n })}\n
    \n
    \n );\n};\n", "import React from 'react';\nimport { useStyles } from '../styles';\nimport { TH } from './TH';\n\nexport const HeaderContainer = ({\n indexColumnText = '(index)',\n columns = [],\n sorted,\n sortIndexColumn,\n sortColumn,\n sortAscending,\n onTHClick,\n onIndexTHClick,\n}) => {\n const styles = useStyles('TableInspectorHeaderContainer');\n const borderStyles = useStyles('TableInspectorLeftBorder');\n return (\n
    \n \n \n \n \n {indexColumnText}\n \n {columns.map((column) => (\n \n {column}\n \n ))}\n \n \n
    \n
    \n );\n};\n", "import React, { useCallback, useState } from 'react';\n\nimport { useStyles } from '../styles';\n\nconst SortIconContainer = (props) => (\n \n {props.children}\n
    \n);\n\nconst SortIcon = ({ sortAscending }) => {\n const styles = useStyles('TableInspectorSortIcon');\n const glyph = sortAscending ? '▲' : '▼';\n return
    {glyph}
    ;\n};\n\nexport const TH = ({\n sortAscending = false,\n sorted = false,\n onClick = undefined,\n borderStyle = {},\n children,\n ...thProps\n}) => {\n const styles = useStyles('TableInspectorTH');\n const [hovered, setHovered] = useState(false);\n\n const handleMouseEnter = useCallback(() => setHovered(true), []);\n const handleMouseLeave = useCallback(() => setHovered(false), []);\n\n return (\n \n
    {children}
    \n {sorted && (\n \n \n \n )}\n \n );\n};\n", "import React, { FC } from 'react';\n\nimport { DOMNodePreview } from './DOMNodePreview';\nimport { TreeView } from '../tree-view/TreeView';\n\nimport { shouldInline } from './shouldInline';\nimport { themeAcceptor } from '../styles';\n\nconst domIterator = function* (data: any) {\n if (data && data.childNodes) {\n const textInlined = shouldInline(data);\n\n if (textInlined) {\n return;\n }\n\n for (let i = 0; i < data.childNodes.length; i++) {\n const node = data.childNodes[i];\n\n if (node.nodeType === Node.TEXT_NODE && node.textContent.trim().length === 0) continue;\n\n yield {\n name: `${node.tagName}[${i}]`,\n data: node,\n };\n }\n\n // at least 1 child node\n if (data.tagName) {\n yield {\n name: 'CLOSE_TAG',\n data: {\n tagName: data.tagName,\n },\n isCloseTag: true,\n };\n }\n }\n};\n\nconst DOMInspector: FC = (props) => {\n return ;\n};\n\n// DOMInspector.propTypes = {\n// // The DOM Node to inspect\n// data: PropTypes.object.isRequired,\n// };\n\nconst themedDOMInspector = themeAcceptor(DOMInspector);\n\nexport { themedDOMInspector as DOMInspector };\n", "import React, { FC, ReactChild } from 'react';\n\nimport { useStyles } from '../styles';\nimport { shouldInline } from './shouldInline';\n\nconst OpenTag: FC = ({ tagName, attributes, styles }) => {\n return (\n \n {'<'}\n {tagName}\n\n {(() => {\n if (attributes) {\n const attributeNodes: ReactChild[] = [];\n for (let i = 0; i < attributes.length; i++) {\n const attribute = attributes[i];\n attributeNodes.push(\n \n {' '}\n {attribute.name}\n {'=\"'}\n {attribute.value}\n {'\"'}\n \n );\n }\n return attributeNodes;\n }\n })()}\n\n {'>'}\n \n );\n};\n\n// isChildNode style={{ marginLeft: -12 /* hack: offset placeholder */ }}\nconst CloseTag = ({ tagName, isChildNode = false, styles }) => (\n \n {'{tagName}\n {'>'}\n
    \n);\n\nconst nameByNodeType = {\n 1: 'ELEMENT_NODE',\n 3: 'TEXT_NODE',\n 7: 'PROCESSING_INSTRUCTION_NODE',\n 8: 'COMMENT_NODE',\n 9: 'DOCUMENT_NODE',\n 10: 'DOCUMENT_TYPE_NODE', // http://stackoverflow.com/questions/6088972/get-doctype-of-an-html-as-string-with-javascript\n 11: 'DOCUMENT_FRAGMENT_NODE',\n};\n\nexport const DOMNodePreview: FC = ({ isCloseTag, data, expanded }) => {\n const styles = useStyles('DOMNodePreview');\n\n if (isCloseTag) {\n return ;\n }\n\n switch (data.nodeType) {\n case Node.ELEMENT_NODE:\n return (\n \n \n\n {shouldInline(data) ? data.textContent : !expanded && '…'}\n\n {!expanded && }\n \n );\n case Node.TEXT_NODE:\n return {data.textContent};\n case Node.CDATA_SECTION_NODE:\n return {''};\n case Node.COMMENT_NODE:\n return (\n \n {''}\n \n );\n case Node.PROCESSING_INSTRUCTION_NODE:\n return {data.nodeName};\n case Node.DOCUMENT_TYPE_NODE:\n return (\n \n {''}\n \n );\n case Node.DOCUMENT_NODE:\n return {data.nodeName};\n case Node.DOCUMENT_FRAGMENT_NODE:\n return {data.nodeName};\n default:\n return {nameByNodeType[data.nodeType]};\n }\n};\n\n// DOMNodePreview.propTypes = {\n// /** If true, just render a close tag */\n// isCloseTag: PropTypes.bool,\n// /** */\n// name: PropTypes.string,\n// /** The DOM Node */\n// data: PropTypes.object.isRequired,\n// /** Whether the DOM node has been expanded. */\n// expanded: PropTypes.bool.isRequired,\n// };\n", "const TEXT_NODE_MAX_INLINE_CHARS = 80;\n\nexport const shouldInline = (data) =>\n data.childNodes.length === 0 ||\n (data.childNodes.length === 1 &&\n data.childNodes[0].nodeType === Node.TEXT_NODE &&\n data.textContent.length < TEXT_NODE_MAX_INLINE_CHARS);\n", "export { chromeLight, chromeDark } from './styles/themes';\n\nimport { ObjectInspector } from './object-inspector/ObjectInspector';\nimport { TableInspector } from './table-inspector/TableInspector';\nimport { DOMInspector } from './dom-inspector/DOMInspector';\n\nimport { ObjectLabel } from './object-inspector/ObjectLabel';\nimport { ObjectPreview } from './object-inspector/ObjectPreview';\nimport { ObjectRootLabel } from './object-inspector/ObjectRootLabel';\n\nimport { ObjectValue } from './object/ObjectValue';\nimport { ObjectName } from './object/ObjectName';\n\nexport { TableInspector, ObjectInspector, ObjectLabel, ObjectPreview, ObjectRootLabel, ObjectValue, ObjectName };\n\nimport React, { ComponentProps, FC } from 'react';\nimport isDOM from 'is-dom';\n\nexport const Inspector: FC = ({ table = false, data, ...rest }) => {\n if (table) {\n return ;\n }\n\n if (isDOM(data)) return ;\n\n return ;\n};\n\ninterface TableInspectorProps extends ComponentProps {\n table: true;\n}\ninterface ObjectInspectorProps extends ComponentProps {\n table: false;\n}\n", "export default __STORYBOOKCOMPONENTS__;\nconst { A, ActionBar, AddonPanel, Badge, Bar, Blockquote, Button, Code, DL, Div, DocumentWrapper, ErrorFormatter, FlexBar, Form, H1, H2, H3, H4, H5, H6, HR, IconButton, IconButtonSkeleton, Icons, Img, LI, Link, ListItem, Loader, OL, P, Placeholder, Pre, ResetWrapper, ScrollArea, Separator, Spaced, Span, StorybookIcon, StorybookLogo, Symbols, SyntaxHighlighter, TT, TabBar, TabButton, TabWrapper, Table, Tabs, TabsState, TooltipLinkList, TooltipMessage, TooltipNote, UL, WithTooltip, WithTooltipPure, Zoom, codeCommon, components, createCopyToClipboardFunction, getStoryHref, icons, interleaveSeparators, nameSpaceClassNames, resetComponents, withReset } = __STORYBOOKCOMPONENTS__;\nexport { A, ActionBar, AddonPanel, Badge, Bar, Blockquote, Button, Code, DL, Div, DocumentWrapper, ErrorFormatter, FlexBar, Form, H1, H2, H3, H4, H5, H6, HR, IconButton, IconButtonSkeleton, Icons, Img, LI, Link, ListItem, Loader, OL, P, Placeholder, Pre, ResetWrapper, ScrollArea, Separator, Spaced, Span, StorybookIcon, StorybookLogo, Symbols, SyntaxHighlighter, TT, TabBar, TabButton, TabWrapper, Table, Tabs, TabsState, TooltipLinkList, TooltipMessage, TooltipNote, UL, WithTooltip, WithTooltipPure, Zoom, codeCommon, components, createCopyToClipboardFunction, getStoryHref, icons, interleaveSeparators, nameSpaceClassNames, resetComponents, withReset };", "export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}", "export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}", "export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}", "import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}", "export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}", "export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}", "export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}", "import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}", "import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}", "import _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _wrapNativeSuper from '@babel/runtime/helpers/esm/wrapNativeSuper';\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction last() {\n var _ref;\n\n return _ref = arguments.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref];\n}\n\nfunction negation(a) {\n return -a;\n}\n\nfunction addition(a, b) {\n return a + b;\n}\n\nfunction subtraction(a, b) {\n return a - b;\n}\n\nfunction multiplication(a, b) {\n return a * b;\n}\n\nfunction division(a, b) {\n return a / b;\n}\n\nfunction max() {\n return Math.max.apply(Math, arguments);\n}\n\nfunction min() {\n return Math.min.apply(Math, arguments);\n}\n\nfunction comma() {\n return Array.of.apply(Array, arguments);\n}\n\nvar defaultSymbols = {\n symbols: {\n '*': {\n infix: {\n symbol: '*',\n f: multiplication,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '*',\n regSymbol: '\\\\*'\n },\n '/': {\n infix: {\n symbol: '/',\n f: division,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '/',\n regSymbol: '/'\n },\n '+': {\n infix: {\n symbol: '+',\n f: addition,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '+',\n f: last,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '+',\n regSymbol: '\\\\+'\n },\n '-': {\n infix: {\n symbol: '-',\n f: subtraction,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '-',\n f: negation,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '-',\n regSymbol: '-'\n },\n ',': {\n infix: {\n symbol: ',',\n f: comma,\n notation: 'infix',\n precedence: 1,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: ',',\n regSymbol: ','\n },\n '(': {\n prefix: {\n symbol: '(',\n f: last,\n notation: 'prefix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '(',\n regSymbol: '\\\\('\n },\n ')': {\n postfix: {\n symbol: ')',\n f: undefined,\n notation: 'postfix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: ')',\n regSymbol: '\\\\)'\n },\n min: {\n func: {\n symbol: 'min',\n f: min,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'min',\n regSymbol: 'min\\\\b'\n },\n max: {\n func: {\n symbol: 'max',\n f: max,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'max',\n regSymbol: 'max\\\\b'\n }\n }\n};\nvar defaultSymbolMap = defaultSymbols;\n\n// based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\nvar ERRORS = {\n \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"16\": \"You must provide a template to this method.\\n\\n\",\n \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"36\": \"Property must be a string value.\\n\\n\",\n \"37\": \"Syntax Error at %s.\\n\\n\",\n \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"61\": \"Property must be a string value.\\n\\n\",\n \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"67\": \"You must provide a template to this method.\\n\\n\",\n \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n \"74\": \"CSS variable not found and no default was provided.\\n\\n\",\n \"75\": \"important requires a valid style object, got a %s instead.\\n\\n\",\n \"76\": \"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\\n\\n\",\n \"77\": \"remToPx expects a value in \\\"rem\\\" but you provided it in \\\"%s\\\".\\n\\n\",\n \"78\": \"base must be set in \\\"px\\\" or \\\"%\\\" but you set it in \\\"%s\\\".\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var a = args[0];\n var b = [];\n var c;\n\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\n\nvar PolishedError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(PolishedError, _Error);\n\n function PolishedError(code) {\n var _this;\n\n if (process.env.NODE_ENV === 'production') {\n _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n } else {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;\n }\n\n return _assertThisInitialized(_this);\n }\n\n return PolishedError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar unitRegExp = /((?!\\w)a|na|hc|mc|dg|me[r]?|xe|ni(?![a-zA-Z])|mm|cp|tp|xp|q(?!s)|hv|xamv|nimv|wv|sm|s(?!\\D|$)|ged|darg?|nrut)/g; // Merges additional math functionality into the defaults.\n\nfunction mergeSymbolMaps(additionalSymbols) {\n var symbolMap = {};\n symbolMap.symbols = additionalSymbols ? _extends({}, defaultSymbolMap.symbols, additionalSymbols.symbols) : _extends({}, defaultSymbolMap.symbols);\n return symbolMap;\n}\n\nfunction exec(operators, values) {\n var _ref;\n\n var op = operators.pop();\n values.push(op.f.apply(op, (_ref = []).concat.apply(_ref, values.splice(-op.argCount))));\n return op.precedence;\n}\n\nfunction calculate(expression, additionalSymbols) {\n var symbolMap = mergeSymbolMaps(additionalSymbols);\n var match;\n var operators = [symbolMap.symbols['('].prefix];\n var values = [];\n var pattern = new RegExp( // Pattern for numbers\n \"\\\\d+(?:\\\\.\\\\d+)?|\" + // ...and patterns for individual operators/function names\n Object.keys(symbolMap.symbols).map(function (key) {\n return symbolMap.symbols[key];\n }) // longer symbols should be listed first\n // $FlowFixMe\n .sort(function (a, b) {\n return b.symbol.length - a.symbol.length;\n }) // $FlowFixMe\n .map(function (val) {\n return val.regSymbol;\n }).join('|') + \"|(\\\\S)\", 'g');\n pattern.lastIndex = 0; // Reset regular expression object\n\n var afterValue = false;\n\n do {\n match = pattern.exec(expression);\n\n var _ref2 = match || [')', undefined],\n token = _ref2[0],\n bad = _ref2[1];\n\n var notNumber = symbolMap.symbols[token];\n var notNewValue = notNumber && !notNumber.prefix && !notNumber.func;\n var notAfterValue = !notNumber || !notNumber.postfix && !notNumber.infix; // Check for syntax errors:\n\n if (bad || (afterValue ? notAfterValue : notNewValue)) {\n throw new PolishedError(37, match ? match.index : expression.length, expression);\n }\n\n if (afterValue) {\n // We either have an infix or postfix operator (they should be mutually exclusive)\n var curr = notNumber.postfix || notNumber.infix;\n\n do {\n var prev = operators[operators.length - 1];\n if ((curr.precedence - prev.precedence || prev.rightToLeft) > 0) break; // Apply previous operator, since it has precedence over current one\n } while (exec(operators, values)); // Exit loop after executing an opening parenthesis or function\n\n\n afterValue = curr.notation === 'postfix';\n\n if (curr.symbol !== ')') {\n operators.push(curr); // Postfix always has precedence over any operator that follows after it\n\n if (afterValue) exec(operators, values);\n }\n } else if (notNumber) {\n // prefix operator or function\n operators.push(notNumber.prefix || notNumber.func);\n\n if (notNumber.func) {\n // Require an opening parenthesis\n match = pattern.exec(expression);\n\n if (!match || match[0] !== '(') {\n throw new PolishedError(38, match ? match.index : expression.length, expression);\n }\n }\n } else {\n // number\n values.push(+token);\n afterValue = true;\n }\n } while (match && operators.length);\n\n if (operators.length) {\n throw new PolishedError(39, match ? match.index : expression.length, expression);\n } else if (match) {\n throw new PolishedError(40, match ? match.index : expression.length, expression);\n } else {\n return values.pop();\n }\n}\n\nfunction reverseString(str) {\n return str.split('').reverse().join('');\n}\n/**\n * Helper for doing math with CSS Units. Accepts a formula as a string. All values in the formula must have the same unit (or be unitless). Supports complex formulas utliziing addition, subtraction, multiplication, division, square root, powers, factorial, min, max, as well as parentheses for order of operation.\n *\n *In cases where you need to do calculations with mixed units where one unit is a [relative length unit](https://developer.mozilla.org/en-US/docs/Web/CSS/length#Relative_length_units), you will want to use [CSS Calc](https://developer.mozilla.org/en-US/docs/Web/CSS/calc).\n *\n * *warning* While we've done everything possible to ensure math safely evalutes formulas expressed as strings, you should always use extreme caution when passing `math` user provided values.\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: math('12rem + 8rem'),\n * fontSize: math('(12px + 2px) * 3'),\n * fontSize: math('3px^2 + sqrt(4)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${math('12rem + 8rem')};\n * fontSize: ${math('(12px + 2px) * 3')};\n * fontSize: ${math('3px^2 + sqrt(4)')};\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * fontSize: '20rem',\n * fontSize: '42px',\n * fontSize: '11px',\n * }\n */\n\n\nfunction math(formula, additionalSymbols) {\n var reversedFormula = reverseString(formula);\n var formulaMatch = reversedFormula.match(unitRegExp); // Check that all units are the same\n\n if (formulaMatch && !formulaMatch.every(function (unit) {\n return unit === formulaMatch[0];\n })) {\n throw new PolishedError(41);\n }\n\n var cleanFormula = reverseString(reversedFormula.replace(unitRegExp, ''));\n return \"\" + calculate(cleanFormula, additionalSymbols) + (formulaMatch ? reverseString(formulaMatch[0]) : '');\n}\n\nvar cssVariableRegex = /--[\\S]*/g;\n/**\n * Fetches the value of a passed CSS Variable in the :root scope, or otherwise returns a defaultValue if provided.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'background': cssVar('--background-color'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${cssVar('--background-color')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'background': 'red'\n * }\n */\n\nfunction cssVar(cssVariable, defaultValue) {\n if (!cssVariable || !cssVariable.match(cssVariableRegex)) {\n throw new PolishedError(73);\n }\n\n var variableValue;\n /* eslint-disable */\n\n /* istanbul ignore next */\n\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n variableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariable);\n }\n /* eslint-enable */\n\n\n if (variableValue) {\n return variableValue.trim();\n } else if (defaultValue) {\n return defaultValue;\n }\n\n throw new PolishedError(74);\n}\n\n// @private\nfunction capitalizeString(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar positionMap$1 = ['Top', 'Right', 'Bottom', 'Left'];\n\nfunction generateProperty(property, position) {\n if (!property) return position.toLowerCase();\n var splitProperty = property.split('-');\n\n if (splitProperty.length > 1) {\n splitProperty.splice(1, 0, position);\n return splitProperty.reduce(function (acc, val) {\n return \"\" + acc + capitalizeString(val);\n });\n }\n\n var joinedProperty = property.replace(/([a-z])([A-Z])/g, \"$1\" + position + \"$2\");\n return property === joinedProperty ? \"\" + property + position : joinedProperty;\n}\n\nfunction generateStyles(property, valuesWithDefaults) {\n var styles = {};\n\n for (var i = 0; i < valuesWithDefaults.length; i += 1) {\n if (valuesWithDefaults[i] || valuesWithDefaults[i] === 0) {\n styles[generateProperty(property, positionMap$1[i])] = valuesWithDefaults[i];\n }\n }\n\n return styles;\n}\n/**\n * Enables shorthand for direction-based properties. It accepts a property (hyphenated or camelCased) and up to four values that map to top, right, bottom, and left, respectively. You can optionally pass an empty string to get only the directional values as properties. You can also optionally pass a null argument for a directional value to ignore it.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...directionalProperty('padding', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${directionalProperty('padding', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\n\n\nfunction directionalProperty(property) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n // prettier-ignore\n var firstValue = values[0],\n _values$ = values[1],\n secondValue = _values$ === void 0 ? firstValue : _values$,\n _values$2 = values[2],\n thirdValue = _values$2 === void 0 ? firstValue : _values$2,\n _values$3 = values[3],\n fourthValue = _values$3 === void 0 ? secondValue : _values$3;\n var valuesWithDefaults = [firstValue, secondValue, thirdValue, fourthValue];\n return generateStyles(property, valuesWithDefaults);\n}\n\n/**\n * Check if a string ends with something\n * @private\n */\nfunction endsWith(string, suffix) {\n return string.substr(-suffix.length) === suffix;\n}\n\nvar cssRegex$1 = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value minus its unit of measure.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': stripUnit('100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${stripUnit('100px')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100\n * }\n */\n\nfunction stripUnit(value) {\n if (typeof value !== 'string') return value;\n var matchedValue = value.match(cssRegex$1);\n return matchedValue ? parseFloat(value) : value;\n}\n\n/**\n * Factory function that creates pixel-to-x converters\n * @private\n */\n\nvar pxtoFactory = function pxtoFactory(to) {\n return function (pxval, base) {\n if (base === void 0) {\n base = '16px';\n }\n\n var newPxval = pxval;\n var newBase = base;\n\n if (typeof pxval === 'string') {\n if (!endsWith(pxval, 'px')) {\n throw new PolishedError(69, to, pxval);\n }\n\n newPxval = stripUnit(pxval);\n }\n\n if (typeof base === 'string') {\n if (!endsWith(base, 'px')) {\n throw new PolishedError(70, to, base);\n }\n\n newBase = stripUnit(base);\n }\n\n if (typeof newPxval === 'string') {\n throw new PolishedError(71, pxval, to);\n }\n\n if (typeof newBase === 'string') {\n throw new PolishedError(72, base, to);\n }\n\n return \"\" + newPxval / newBase + to;\n };\n};\n\nvar pixelsto = pxtoFactory;\n\n/**\n * Convert pixel value to ems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': em('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${em('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1em'\n * }\n */\n\nvar em = /*#__PURE__*/pixelsto('em');\nvar em$1 = em;\n\nvar cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value and its unit as elements of an array.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': getValueAndUnit('100px')[0],\n * '--unit': getValueAndUnit('100px')[1],\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${getValueAndUnit('100px')[0]};\n * --unit: ${getValueAndUnit('100px')[1]};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100,\n * '--unit': 'px',\n * }\n */\n\nfunction getValueAndUnit(value) {\n if (typeof value !== 'string') return [value, ''];\n var matchedValue = value.match(cssRegex);\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n}\n\n/**\n * Helper for targeting rules in a style block generated by polished modules that need !important-level specificity. Can optionally specify a rule (or rules) to target specific rules.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...important(cover())\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${important(cover())}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute !important',\n * 'top': '0 !important',\n * 'right: '0 !important',\n * 'bottom': '0 !important',\n * 'left: '0 !important'\n * }\n */\n\nfunction important(styleBlock, rules) {\n if (typeof styleBlock !== 'object' || styleBlock === null) {\n throw new PolishedError(75, typeof styleBlock);\n }\n\n var newStyleBlock = {};\n Object.keys(styleBlock).forEach(function (key) {\n if (typeof styleBlock[key] === 'object' && styleBlock[key] !== null) {\n newStyleBlock[key] = important(styleBlock[key], rules);\n } else if (!rules || rules && (rules === key || rules.indexOf(key) >= 0)) {\n newStyleBlock[key] = styleBlock[key] + \" !important\";\n } else {\n newStyleBlock[key] = styleBlock[key];\n }\n });\n return newStyleBlock;\n}\n\nvar ratioNames = {\n minorSecond: 1.067,\n majorSecond: 1.125,\n minorThird: 1.2,\n majorThird: 1.25,\n perfectFourth: 1.333,\n augFourth: 1.414,\n perfectFifth: 1.5,\n minorSixth: 1.6,\n goldenSection: 1.618,\n majorSixth: 1.667,\n minorSeventh: 1.778,\n majorSeventh: 1.875,\n octave: 2,\n majorTenth: 2.5,\n majorEleventh: 2.667,\n majorTwelfth: 3,\n doubleOctave: 4\n};\n\nfunction getRatio(ratioName) {\n return ratioNames[ratioName];\n}\n/**\n * Establish consistent measurements and spacial relationships throughout your projects by incrementing an em or rem value up or down a defined scale. We provide a list of commonly used scales as pre-defined variables.\n * @example\n * // Styles as object usage\n * const styles = {\n * // Increment two steps up the default scale\n * 'fontSize': modularScale(2)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * // Increment two steps up the default scale\n * fontSize: ${modularScale(2)}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'fontSize': '1.77689em'\n * }\n */\n\n\nfunction modularScale(steps, base, ratio) {\n if (base === void 0) {\n base = '1em';\n }\n\n if (ratio === void 0) {\n ratio = 1.333;\n }\n\n if (typeof steps !== 'number') {\n throw new PolishedError(42);\n }\n\n if (typeof ratio === 'string' && !ratioNames[ratio]) {\n throw new PolishedError(43);\n }\n\n var _ref = typeof base === 'string' ? getValueAndUnit(base) : [base, ''],\n realBase = _ref[0],\n unit = _ref[1];\n\n var realRatio = typeof ratio === 'string' ? getRatio(ratio) : ratio;\n\n if (typeof realBase === 'string') {\n throw new PolishedError(44, base);\n }\n\n return \"\" + realBase * Math.pow(realRatio, steps) + (unit || '');\n}\n\n/**\n * Convert pixel value to rems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': rem('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${rem('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1rem'\n * }\n */\n\nvar rem = /*#__PURE__*/pixelsto('rem');\nvar rem$1 = rem;\n\nvar defaultFontSize = 16;\n\nfunction convertBase(base) {\n var deconstructedValue = getValueAndUnit(base);\n\n if (deconstructedValue[1] === 'px') {\n return parseFloat(base);\n }\n\n if (deconstructedValue[1] === '%') {\n return parseFloat(base) / 100 * defaultFontSize;\n }\n\n throw new PolishedError(78, deconstructedValue[1]);\n}\n\nfunction getBaseFromDoc() {\n /* eslint-disable */\n\n /* istanbul ignore next */\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n var rootFontSize = getComputedStyle(document.documentElement).fontSize;\n return rootFontSize ? convertBase(rootFontSize) : defaultFontSize;\n }\n /* eslint-enable */\n\n /* istanbul ignore next */\n\n\n return defaultFontSize;\n}\n/**\n * Convert rem values to px. By default, the base value is pulled from the font-size property on the root element (if it is set in % or px). It defaults to 16px if not found on the root. You can also override the base value by providing your own base in % or px.\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': remToPx('1.6rem')\n * 'height': remToPx('1.6rem', '10px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${remToPx('1.6rem')}\n * height: ${remToPx('1.6rem', '10px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '25.6px',\n * 'height': '16px',\n * }\n */\n\n\nfunction remToPx(value, base) {\n var deconstructedValue = getValueAndUnit(value);\n\n if (deconstructedValue[1] !== 'rem' && deconstructedValue[1] !== '') {\n throw new PolishedError(77, deconstructedValue[1]);\n }\n\n var newBase = base ? convertBase(base) : getBaseFromDoc();\n return deconstructedValue[0] * newBase + \"px\";\n}\n\nvar functionsMap$3 = {\n back: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n circ: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n cubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n expo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n quad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n quart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n quint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n sine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeIn('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeIn('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\nfunction easeIn(functionName) {\n return functionsMap$3[functionName.toLowerCase().trim()];\n}\n\nvar functionsMap$2 = {\n back: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n circ: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n cubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n expo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n quad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n quart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n quint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n sine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeInOut('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeInOut('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n * }\n */\n\nfunction easeInOut(functionName) {\n return functionsMap$2[functionName.toLowerCase().trim()];\n}\n\nvar functionsMap$1 = {\n back: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n cubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n circ: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n expo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n quad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n quart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n quint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n sine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeOut('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeOut('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n * }\n */\n\nfunction easeOut(functionName) {\n return functionsMap$1[functionName.toLowerCase().trim()];\n}\n\n/**\n * Returns a CSS calc formula for linear interpolation of a property between two values. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px').\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: between('20px', '100px', '400px', '1000px'),\n * fontSize: between('20px', '100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${between('20px', '100px', '400px', '1000px')};\n * fontSize: ${between('20px', '100px')}\n * `\n *\n * // CSS as JS Output\n *\n * h1: {\n * 'fontSize': 'calc(-33.33333333333334px + 13.333333333333334vw)',\n * 'fontSize': 'calc(-9.090909090909093px + 9.090909090909092vw)'\n * }\n */\n\nfunction between(fromSize, toSize, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n var _getValueAndUnit = getValueAndUnit(fromSize),\n unitlessFromSize = _getValueAndUnit[0],\n fromSizeUnit = _getValueAndUnit[1];\n\n var _getValueAndUnit2 = getValueAndUnit(toSize),\n unitlessToSize = _getValueAndUnit2[0],\n toSizeUnit = _getValueAndUnit2[1];\n\n var _getValueAndUnit3 = getValueAndUnit(minScreen),\n unitlessMinScreen = _getValueAndUnit3[0],\n minScreenUnit = _getValueAndUnit3[1];\n\n var _getValueAndUnit4 = getValueAndUnit(maxScreen),\n unitlessMaxScreen = _getValueAndUnit4[0],\n maxScreenUnit = _getValueAndUnit4[1];\n\n if (typeof unitlessMinScreen !== 'number' || typeof unitlessMaxScreen !== 'number' || !minScreenUnit || !maxScreenUnit || minScreenUnit !== maxScreenUnit) {\n throw new PolishedError(47);\n }\n\n if (typeof unitlessFromSize !== 'number' || typeof unitlessToSize !== 'number' || fromSizeUnit !== toSizeUnit) {\n throw new PolishedError(48);\n }\n\n if (fromSizeUnit !== minScreenUnit || toSizeUnit !== maxScreenUnit) {\n throw new PolishedError(76);\n }\n\n var slope = (unitlessFromSize - unitlessToSize) / (unitlessMinScreen - unitlessMaxScreen);\n var base = unitlessToSize - slope * unitlessMaxScreen;\n return \"calc(\" + base.toFixed(2) + (fromSizeUnit || '') + \" + \" + (100 * slope).toFixed(2) + \"vw)\";\n}\n\n/**\n * CSS to contain a float (credit to CSSMojo).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...clearFix(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${clearFix()}\n * `\n *\n * // CSS as JS Output\n *\n * '&::after': {\n * 'clear': 'both',\n * 'content': '\"\"',\n * 'display': 'table'\n * }\n */\nfunction clearFix(parent) {\n var _ref;\n\n if (parent === void 0) {\n parent = '&';\n }\n\n var pseudoSelector = parent + \"::after\";\n return _ref = {}, _ref[pseudoSelector] = {\n clear: 'both',\n content: '\"\"',\n display: 'table'\n }, _ref;\n}\n\n/**\n * CSS to fully cover an area. Can optionally be passed an offset to act as a \"padding\".\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...cover()\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${cover()}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute',\n * 'top': '0',\n * 'right: '0',\n * 'bottom': '0',\n * 'left: '0'\n * }\n */\nfunction cover(offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n return {\n position: 'absolute',\n top: offset,\n right: offset,\n bottom: offset,\n left: offset\n };\n}\n\n/**\n * CSS to represent truncated text with an ellipsis. You can optionally pass a max-width and number of lines before truncating.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...ellipsis('250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${ellipsis('250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'display': 'inline-block',\n * 'maxWidth': '250px',\n * 'overflow': 'hidden',\n * 'textOverflow': 'ellipsis',\n * 'whiteSpace': 'nowrap',\n * 'wordWrap': 'normal'\n * }\n */\nfunction ellipsis(width, lines) {\n if (lines === void 0) {\n lines = 1;\n }\n\n var styles = {\n display: 'inline-block',\n maxWidth: width || '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n };\n return lines > 1 ? _extends({}, styles, {\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: lines,\n display: '-webkit-box',\n whiteSpace: 'normal'\n }) : styles;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * Returns a set of media queries that resizes a property (or set of properties) between a provided fromSize and toSize. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px') to constrain the interpolation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * \"@media (min-width: 1000px)\": Object {\n * \"padding\": \"100px\",\n * },\n * \"@media (min-width: 400px)\": Object {\n * \"padding\": \"calc(-33.33333333333334px + 13.333333333333334vw)\",\n * },\n * \"padding\": \"20px\",\n * }\n */\nfunction fluidRange(cssProp, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n if (!Array.isArray(cssProp) && typeof cssProp !== 'object' || cssProp === null) {\n throw new PolishedError(49);\n }\n\n if (Array.isArray(cssProp)) {\n var mediaQueries = {};\n var fallbacks = {};\n\n for (var _iterator = _createForOfIteratorHelperLoose(cssProp), _step; !(_step = _iterator()).done;) {\n var _extends2, _extends3;\n\n var obj = _step.value;\n\n if (!obj.prop || !obj.fromSize || !obj.toSize) {\n throw new PolishedError(50);\n }\n\n fallbacks[obj.prop] = obj.fromSize;\n mediaQueries[\"@media (min-width: \" + minScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + minScreen + \")\"], (_extends2 = {}, _extends2[obj.prop] = between(obj.fromSize, obj.toSize, minScreen, maxScreen), _extends2));\n mediaQueries[\"@media (min-width: \" + maxScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + maxScreen + \")\"], (_extends3 = {}, _extends3[obj.prop] = obj.toSize, _extends3));\n }\n\n return _extends({}, fallbacks, mediaQueries);\n } else {\n var _ref, _ref2, _ref3;\n\n if (!cssProp.prop || !cssProp.fromSize || !cssProp.toSize) {\n throw new PolishedError(51);\n }\n\n return _ref3 = {}, _ref3[cssProp.prop] = cssProp.fromSize, _ref3[\"@media (min-width: \" + minScreen + \")\"] = (_ref = {}, _ref[cssProp.prop] = between(cssProp.fromSize, cssProp.toSize, minScreen, maxScreen), _ref), _ref3[\"@media (min-width: \" + maxScreen + \")\"] = (_ref2 = {}, _ref2[cssProp.prop] = cssProp.toSize, _ref2), _ref3;\n }\n}\n\nvar dataURIRegex = /^\\s*data:([a-z]+\\/[a-z-]+(;[a-z-]+=[a-z-]+)?)?(;charset=[a-z0-9-]+)?(;base64)?,[a-z0-9!$&',()*+,;=\\-._~:@/?%\\s]*\\s*$/i;\nvar formatHintMap = {\n woff: 'woff',\n woff2: 'woff2',\n ttf: 'truetype',\n otf: 'opentype',\n eot: 'embedded-opentype',\n svg: 'svg',\n svgz: 'svg'\n};\n\nfunction generateFormatHint(format, formatHint) {\n if (!formatHint) return '';\n return \" format(\\\"\" + formatHintMap[format] + \"\\\")\";\n}\n\nfunction isDataURI(fontFilePath) {\n return !!fontFilePath.replace(/\\s+/g, ' ').match(dataURIRegex);\n}\n\nfunction generateFileReferences(fontFilePath, fileFormats, formatHint) {\n if (isDataURI(fontFilePath)) {\n return \"url(\\\"\" + fontFilePath + \"\\\")\" + generateFormatHint(fileFormats[0], formatHint);\n }\n\n var fileFontReferences = fileFormats.map(function (format) {\n return \"url(\\\"\" + fontFilePath + \".\" + format + \"\\\")\" + generateFormatHint(format, formatHint);\n });\n return fileFontReferences.join(', ');\n}\n\nfunction generateLocalReferences(localFonts) {\n var localFontReferences = localFonts.map(function (font) {\n return \"local(\\\"\" + font + \"\\\")\";\n });\n return localFontReferences.join(', ');\n}\n\nfunction generateSources(fontFilePath, localFonts, fileFormats, formatHint) {\n var fontReferences = [];\n if (localFonts) fontReferences.push(generateLocalReferences(localFonts));\n\n if (fontFilePath) {\n fontReferences.push(generateFileReferences(fontFilePath, fileFormats, formatHint));\n }\n\n return fontReferences.join(', ');\n}\n/**\n * CSS for a @font-face declaration. Defaults to check for local copies of the font on the user's machine. You can disable this by passing `null` to localFonts.\n *\n * @example\n * // Styles as object basic usage\n * const styles = {\n * ...fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * })\n * }\n *\n * // styled-components basic usage\n * const GlobalStyle = createGlobalStyle`${\n * fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * }\n * )}`\n *\n * // CSS as JS Output\n *\n * '@font-face': {\n * 'fontFamily': 'Sans-Pro',\n * 'src': 'url(\"path/to/file.eot\"), url(\"path/to/file.woff2\"), url(\"path/to/file.woff\"), url(\"path/to/file.ttf\"), url(\"path/to/file.svg\")',\n * }\n */\n\n\nfunction fontFace(_ref) {\n var fontFamily = _ref.fontFamily,\n fontFilePath = _ref.fontFilePath,\n fontStretch = _ref.fontStretch,\n fontStyle = _ref.fontStyle,\n fontVariant = _ref.fontVariant,\n fontWeight = _ref.fontWeight,\n _ref$fileFormats = _ref.fileFormats,\n fileFormats = _ref$fileFormats === void 0 ? ['eot', 'woff2', 'woff', 'ttf', 'svg'] : _ref$fileFormats,\n _ref$formatHint = _ref.formatHint,\n formatHint = _ref$formatHint === void 0 ? false : _ref$formatHint,\n _ref$localFonts = _ref.localFonts,\n localFonts = _ref$localFonts === void 0 ? [fontFamily] : _ref$localFonts,\n unicodeRange = _ref.unicodeRange,\n fontDisplay = _ref.fontDisplay,\n fontVariationSettings = _ref.fontVariationSettings,\n fontFeatureSettings = _ref.fontFeatureSettings;\n // Error Handling\n if (!fontFamily) throw new PolishedError(55);\n\n if (!fontFilePath && !localFonts) {\n throw new PolishedError(52);\n }\n\n if (localFonts && !Array.isArray(localFonts)) {\n throw new PolishedError(53);\n }\n\n if (!Array.isArray(fileFormats)) {\n throw new PolishedError(54);\n }\n\n var fontFaceDeclaration = {\n '@font-face': {\n fontFamily: fontFamily,\n src: generateSources(fontFilePath, localFonts, fileFormats, formatHint),\n unicodeRange: unicodeRange,\n fontStretch: fontStretch,\n fontStyle: fontStyle,\n fontVariant: fontVariant,\n fontWeight: fontWeight,\n fontDisplay: fontDisplay,\n fontVariationSettings: fontVariationSettings,\n fontFeatureSettings: fontFeatureSettings\n }\n }; // Removes undefined fields for cleaner css object.\n\n return JSON.parse(JSON.stringify(fontFaceDeclaration));\n}\n\n/**\n * CSS to hide text to show a background image in a SEO-friendly way.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'backgroundImage': 'url(logo.png)',\n * ...hideText(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * backgroundImage: url(logo.png);\n * ${hideText()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'backgroundImage': 'url(logo.png)',\n * 'textIndent': '101%',\n * 'overflow': 'hidden',\n * 'whiteSpace': 'nowrap',\n * }\n */\nfunction hideText() {\n return {\n textIndent: '101%',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n };\n}\n\n/**\n * CSS to hide content visually but remain accessible to screen readers.\n * from [HTML5 Boilerplate](https://github.com/h5bp/html5-boilerplate/blob/9a176f57af1cfe8ec70300da4621fb9b07e5fa31/src/css/main.css#L121)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...hideVisually(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hideVisually()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'border': '0',\n * 'clip': 'rect(0 0 0 0)',\n * 'height': '1px',\n * 'margin': '-1px',\n * 'overflow': 'hidden',\n * 'padding': '0',\n * 'position': 'absolute',\n * 'whiteSpace': 'nowrap',\n * 'width': '1px',\n * }\n */\nfunction hideVisually() {\n return {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n };\n}\n\n/**\n * Generates a media query to target HiDPI devices.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * [hiDPI(1.5)]: {\n * width: 200px;\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hiDPI(1.5)} {\n * width: 200px;\n * }\n * `\n *\n * // CSS as JS Output\n *\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n * only screen and (min--moz-device-pixel-ratio: 1.5),\n * only screen and (-o-min-device-pixel-ratio: 1.5/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * 'width': '200px',\n * }\n */\nfunction hiDPI(ratio) {\n if (ratio === void 0) {\n ratio = 1.3;\n }\n\n return \"\\n @media only screen and (-webkit-min-device-pixel-ratio: \" + ratio + \"),\\n only screen and (min--moz-device-pixel-ratio: \" + ratio + \"),\\n only screen and (-o-min-device-pixel-ratio: \" + ratio + \"/1),\\n only screen and (min-resolution: \" + Math.round(ratio * 96) + \"dpi),\\n only screen and (min-resolution: \" + ratio + \"dppx)\\n \";\n}\n\nfunction constructGradientValue(literals) {\n var template = '';\n\n for (var _len = arguments.length, substitutions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n substitutions[_key - 1] = arguments[_key];\n }\n\n for (var i = 0; i < literals.length; i += 1) {\n template += literals[i];\n\n if (i === substitutions.length - 1 && substitutions[i]) {\n var definedValues = substitutions.filter(function (substitute) {\n return !!substitute;\n }); // Adds leading coma if properties preceed color-stops\n\n if (definedValues.length > 1) {\n template = template.slice(0, -1);\n template += \", \" + substitutions[i]; // No trailing space if color-stops is the only param provided\n } else if (definedValues.length === 1) {\n template += \"\" + substitutions[i];\n }\n } else if (substitutions[i]) {\n template += substitutions[i] + \" \";\n }\n }\n\n return template.trim();\n}\n\nvar _templateObject$1;\n\n/**\n * CSS for declaring a linear gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#FFF',\n * 'backgroundImage': 'linear-gradient(to top right, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction linearGradient(_ref) {\n var colorStops = _ref.colorStops,\n fallback = _ref.fallback,\n _ref$toDirection = _ref.toDirection,\n toDirection = _ref$toDirection === void 0 ? '' : _ref$toDirection;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(56);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].replace(/,\\s+/g, ',').split(' ')[0].replace(/,(?=\\S)/g, ', '),\n backgroundImage: constructGradientValue(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteralLoose([\"linear-gradient(\", \"\", \")\"])), toDirection, colorStops.join(', ').replace(/,(?=\\S)/g, ', '))\n };\n}\n\n/**\n * CSS to normalize abnormalities across browsers (normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...normalize(),\n * }\n *\n * // styled-components usage\n * const GlobalStyle = createGlobalStyle`${normalize()}`\n *\n * // CSS as JS Output\n *\n * html {\n * lineHeight: 1.15,\n * textSizeAdjust: 100%,\n * } ...\n */\nfunction normalize() {\n var _ref;\n\n return [(_ref = {\n html: {\n lineHeight: '1.15',\n textSizeAdjust: '100%'\n },\n body: {\n margin: '0'\n },\n main: {\n display: 'block'\n },\n h1: {\n fontSize: '2em',\n margin: '0.67em 0'\n },\n hr: {\n boxSizing: 'content-box',\n height: '0',\n overflow: 'visible'\n },\n pre: {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n },\n a: {\n backgroundColor: 'transparent'\n },\n 'abbr[title]': {\n borderBottom: 'none',\n textDecoration: 'underline'\n }\n }, _ref[\"b,\\n strong\"] = {\n fontWeight: 'bolder'\n }, _ref[\"code,\\n kbd,\\n samp\"] = {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n }, _ref.small = {\n fontSize: '80%'\n }, _ref[\"sub,\\n sup\"] = {\n fontSize: '75%',\n lineHeight: '0',\n position: 'relative',\n verticalAlign: 'baseline'\n }, _ref.sub = {\n bottom: '-0.25em'\n }, _ref.sup = {\n top: '-0.5em'\n }, _ref.img = {\n borderStyle: 'none'\n }, _ref[\"button,\\n input,\\n optgroup,\\n select,\\n textarea\"] = {\n fontFamily: 'inherit',\n fontSize: '100%',\n lineHeight: '1.15',\n margin: '0'\n }, _ref[\"button,\\n input\"] = {\n overflow: 'visible'\n }, _ref[\"button,\\n select\"] = {\n textTransform: 'none'\n }, _ref[\"button,\\n html [type=\\\"button\\\"],\\n [type=\\\"reset\\\"],\\n [type=\\\"submit\\\"]\"] = {\n WebkitAppearance: 'button'\n }, _ref[\"button::-moz-focus-inner,\\n [type=\\\"button\\\"]::-moz-focus-inner,\\n [type=\\\"reset\\\"]::-moz-focus-inner,\\n [type=\\\"submit\\\"]::-moz-focus-inner\"] = {\n borderStyle: 'none',\n padding: '0'\n }, _ref[\"button:-moz-focusring,\\n [type=\\\"button\\\"]:-moz-focusring,\\n [type=\\\"reset\\\"]:-moz-focusring,\\n [type=\\\"submit\\\"]:-moz-focusring\"] = {\n outline: '1px dotted ButtonText'\n }, _ref.fieldset = {\n padding: '0.35em 0.625em 0.75em'\n }, _ref.legend = {\n boxSizing: 'border-box',\n color: 'inherit',\n display: 'table',\n maxWidth: '100%',\n padding: '0',\n whiteSpace: 'normal'\n }, _ref.progress = {\n verticalAlign: 'baseline'\n }, _ref.textarea = {\n overflow: 'auto'\n }, _ref[\"[type=\\\"checkbox\\\"],\\n [type=\\\"radio\\\"]\"] = {\n boxSizing: 'border-box',\n padding: '0'\n }, _ref[\"[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n [type=\\\"number\\\"]::-webkit-outer-spin-button\"] = {\n height: 'auto'\n }, _ref['[type=\"search\"]'] = {\n WebkitAppearance: 'textfield',\n outlineOffset: '-2px'\n }, _ref['[type=\"search\"]::-webkit-search-decoration'] = {\n WebkitAppearance: 'none'\n }, _ref['::-webkit-file-upload-button'] = {\n WebkitAppearance: 'button',\n font: 'inherit'\n }, _ref.details = {\n display: 'block'\n }, _ref.summary = {\n display: 'list-item'\n }, _ref.template = {\n display: 'none'\n }, _ref['[hidden]'] = {\n display: 'none'\n }, _ref), {\n 'abbr[title]': {\n textDecoration: 'underline dotted'\n }\n }];\n}\n\nvar _templateObject;\n\n/**\n * CSS for declaring a radial gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#00FFFF',\n * 'backgroundImage': 'radial-gradient(center ellipse farthest-corner at 45px 45px, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction radialGradient(_ref) {\n var colorStops = _ref.colorStops,\n _ref$extent = _ref.extent,\n extent = _ref$extent === void 0 ? '' : _ref$extent,\n fallback = _ref.fallback,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? '' : _ref$position,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? '' : _ref$shape;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(57);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].split(' ')[0],\n backgroundImage: constructGradientValue(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"radial-gradient(\", \"\", \"\", \"\", \")\"])), position, shape, extent, colorStops.join(', '))\n };\n}\n\n/**\n * A helper to generate a retina background image and non-retina\n * background image. The retina background image will output to a HiDPI media query. The mixin uses\n * a _2x.png filename suffix by default.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...retinaImage('my-img')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${retinaImage('my-img')}\n * `\n *\n * // CSS as JS Output\n * div {\n * backgroundImage: 'url(my-img.png)',\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.3),\n * only screen and (min--moz-device-pixel-ratio: 1.3),\n * only screen and (-o-min-device-pixel-ratio: 1.3/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * backgroundImage: 'url(my-img_2x.png)',\n * }\n * }\n */\nfunction retinaImage(filename, backgroundSize, extension, retinaFilename, retinaSuffix) {\n var _ref;\n\n if (extension === void 0) {\n extension = 'png';\n }\n\n if (retinaSuffix === void 0) {\n retinaSuffix = '_2x';\n }\n\n if (!filename) {\n throw new PolishedError(58);\n } // Replace the dot at the beginning of the passed extension if one exists\n\n\n var ext = extension.replace(/^\\./, '');\n var rFilename = retinaFilename ? retinaFilename + \".\" + ext : \"\" + filename + retinaSuffix + \".\" + ext;\n return _ref = {\n backgroundImage: \"url(\" + filename + \".\" + ext + \")\"\n }, _ref[hiDPI()] = _extends({\n backgroundImage: \"url(\" + rFilename + \")\"\n }, backgroundSize ? {\n backgroundSize: backgroundSize\n } : {}), _ref;\n}\n\n/* eslint-disable key-spacing */\nvar functionsMap = {\n easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n easeInCirc: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n easeInCubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n easeInExpo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n easeInQuad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n easeInQuart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n easeInQuint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n easeInSine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)',\n easeOutBack: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n easeOutCubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n easeOutCirc: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n easeOutExpo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n easeOutQuad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n easeOutQuart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n easeOutQuint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n easeInOutBack: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n easeInOutCirc: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n easeInOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n easeInOutExpo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n easeInOutQuad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n easeInOutQuart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n easeInOutQuint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/* eslint-enable key-spacing */\n\nfunction getTimingFunction(functionName) {\n return functionsMap[functionName];\n}\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @deprecated - This will be deprecated in v5 in favor of `easeIn`, `easeOut`, `easeInOut`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': timingFunctions('easeInQuad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${timingFunctions('easeInQuad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\n\nfunction timingFunctions(timingFunction) {\n return getTimingFunction(timingFunction);\n}\n\nvar getBorderWidth = function getBorderWidth(pointingDirection, height, width) {\n var fullWidth = \"\" + width[0] + (width[1] || '');\n var halfWidth = \"\" + width[0] / 2 + (width[1] || '');\n var fullHeight = \"\" + height[0] + (height[1] || '');\n var halfHeight = \"\" + height[0] / 2 + (height[1] || '');\n\n switch (pointingDirection) {\n case 'top':\n return \"0 \" + halfWidth + \" \" + fullHeight + \" \" + halfWidth;\n\n case 'topLeft':\n return fullWidth + \" \" + fullHeight + \" 0 0\";\n\n case 'left':\n return halfHeight + \" \" + fullWidth + \" \" + halfHeight + \" 0\";\n\n case 'bottomLeft':\n return fullWidth + \" 0 0 \" + fullHeight;\n\n case 'bottom':\n return fullHeight + \" \" + halfWidth + \" 0 \" + halfWidth;\n\n case 'bottomRight':\n return \"0 0 \" + fullWidth + \" \" + fullHeight;\n\n case 'right':\n return halfHeight + \" 0 \" + halfHeight + \" \" + fullWidth;\n\n case 'topRight':\n default:\n return \"0 \" + fullWidth + \" \" + fullHeight + \" 0\";\n }\n};\n\nvar getBorderColor = function getBorderColor(pointingDirection, foregroundColor) {\n switch (pointingDirection) {\n case 'top':\n case 'bottomRight':\n return {\n borderBottomColor: foregroundColor\n };\n\n case 'right':\n case 'bottomLeft':\n return {\n borderLeftColor: foregroundColor\n };\n\n case 'bottom':\n case 'topLeft':\n return {\n borderTopColor: foregroundColor\n };\n\n case 'left':\n case 'topRight':\n return {\n borderRightColor: foregroundColor\n };\n\n default:\n throw new PolishedError(59);\n }\n};\n/**\n * CSS to represent triangle with any pointing direction with an optional background color.\n *\n * @example\n * // Styles as object usage\n *\n * const styles = {\n * ...triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })\n * }\n *\n *\n * // styled-components usage\n * const div = styled.div`\n * ${triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })}\n *\n *\n * // CSS as JS Output\n *\n * div: {\n * 'borderColor': 'transparent transparent transparent red',\n * 'borderStyle': 'solid',\n * 'borderWidth': '50px 0 50px 100px',\n * 'height': '0',\n * 'width': '0',\n * }\n */\n\n\nfunction triangle(_ref) {\n var pointingDirection = _ref.pointingDirection,\n height = _ref.height,\n width = _ref.width,\n foregroundColor = _ref.foregroundColor,\n _ref$backgroundColor = _ref.backgroundColor,\n backgroundColor = _ref$backgroundColor === void 0 ? 'transparent' : _ref$backgroundColor;\n var widthAndUnit = getValueAndUnit(width);\n var heightAndUnit = getValueAndUnit(height);\n\n if (isNaN(heightAndUnit[0]) || isNaN(widthAndUnit[0])) {\n throw new PolishedError(60);\n }\n\n return _extends({\n width: '0',\n height: '0',\n borderColor: backgroundColor\n }, getBorderColor(pointingDirection, foregroundColor), {\n borderStyle: 'solid',\n borderWidth: getBorderWidth(pointingDirection, heightAndUnit, widthAndUnit)\n });\n}\n\n/**\n * Provides an easy way to change the `wordWrap` property.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...wordWrap('break-word')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${wordWrap('break-word')}\n * `\n *\n * // CSS as JS Output\n *\n * const styles = {\n * overflowWrap: 'break-word',\n * wordWrap: 'break-word',\n * wordBreak: 'break-all',\n * }\n */\nfunction wordWrap(wrap) {\n if (wrap === void 0) {\n wrap = 'break-word';\n }\n\n var wordBreak = wrap === 'break-word' ? 'break-all' : wrap;\n return {\n overflowWrap: wrap,\n wordWrap: wrap,\n wordBreak: wordBreak\n };\n}\n\nfunction colorToInt(color) {\n return Math.round(color * 255);\n}\n\nfunction convertToInt(red, green, blue) {\n return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\n\nfunction hslToRgb(hue, saturation, lightness, convert) {\n if (convert === void 0) {\n convert = convertToInt;\n }\n\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n\n var huePrime = (hue % 360 + 360) % 360 / 60;\n var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n var red = 0;\n var green = 0;\n var blue = 0;\n\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n\n var lightnessModification = lightness - chroma / 2;\n var finalRed = red + lightnessModification;\n var finalGreen = green + lightnessModification;\n var finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\n\nvar namedColorMap = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\n blanchedalmond: 'ffebcd',\n blue: '0000ff',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '00ffff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgreen: '006400',\n darkgrey: 'a9a9a9',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkslategrey: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dimgrey: '696969',\n dodgerblue: '1e90ff',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'ff00ff',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n grey: '808080',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred: 'cd5c5c',\n indigo: '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgray: 'd3d3d3',\n lightgreen: '90ee90',\n lightgrey: 'd3d3d3',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslategray: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370db',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'db7093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n rebeccapurple: '639',\n red: 'f00',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n slategrey: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n wheat: 'f5deb3',\n white: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n if (typeof color !== 'string') return color;\n var normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\n\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgb(?:a)?\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsl(?:a)?\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n if (typeof color !== 'string') {\n throw new PolishedError(3);\n }\n\n var normalizedColor = nameToHex(color);\n\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n };\n }\n\n if (normalizedColor.match(hexRgbaRegex)) {\n var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n alpha: alpha\n };\n }\n\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n };\n }\n\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n alpha: _alpha\n };\n }\n\n var rgbMatched = rgbRegex.exec(normalizedColor);\n\n if (rgbMatched) {\n return {\n red: parseInt(\"\" + rgbMatched[1], 10),\n green: parseInt(\"\" + rgbMatched[2], 10),\n blue: parseInt(\"\" + rgbMatched[3], 10)\n };\n }\n\n var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));\n\n if (rgbaMatched) {\n return {\n red: parseInt(\"\" + rgbaMatched[1], 10),\n green: parseInt(\"\" + rgbaMatched[2], 10),\n blue: parseInt(\"\" + rgbaMatched[3], 10),\n alpha: parseFloat(\"\" + rgbaMatched[4]) > 1 ? parseFloat(\"\" + rgbaMatched[4]) / 100 : parseFloat(\"\" + rgbaMatched[4])\n };\n }\n\n var hslMatched = hslRegex.exec(normalizedColor);\n\n if (hslMatched) {\n var hue = parseInt(\"\" + hslMatched[1], 10);\n var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n var rgbColorString = \"rgb(\" + hslToRgb(hue, saturation, lightness) + \")\";\n var hslRgbMatched = rgbRegex.exec(rgbColorString);\n\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + hslRgbMatched[1], 10),\n green: parseInt(\"\" + hslRgbMatched[2], 10),\n blue: parseInt(\"\" + hslRgbMatched[3], 10)\n };\n }\n\n var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));\n\n if (hslaMatched) {\n var _hue = parseInt(\"\" + hslaMatched[1], 10);\n\n var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n\n var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n\n var _rgbColorString = \"rgb(\" + hslToRgb(_hue, _saturation, _lightness) + \")\";\n\n var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n\n if (!_hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, _rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + _hslRgbMatched[1], 10),\n green: parseInt(\"\" + _hslRgbMatched[2], 10),\n blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n alpha: parseFloat(\"\" + hslaMatched[4]) > 1 ? parseFloat(\"\" + hslaMatched[4]) / 100 : parseFloat(\"\" + hslaMatched[4])\n };\n }\n\n throw new PolishedError(5);\n}\n\nfunction rgbToHsl(color) {\n // make sure rgb are contained in a set of [0, 255]\n var red = color.red / 255;\n var green = color.green / 255;\n var blue = color.blue / 255;\n var max = Math.max(red, green, blue);\n var min = Math.min(red, green, blue);\n var lightness = (max + min) / 2;\n\n if (max === min) {\n // achromatic\n if (color.alpha !== undefined) {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness,\n alpha: color.alpha\n };\n } else {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness\n };\n }\n }\n\n var hue;\n var delta = max - min;\n var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n switch (max) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n\n case green:\n hue = (blue - red) / delta + 2;\n break;\n\n default:\n // blue case\n hue = (red - green) / delta + 4;\n break;\n }\n\n hue *= 60;\n\n if (color.alpha !== undefined) {\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness,\n alpha: color.alpha\n };\n }\n\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness\n };\n}\n\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\nfunction parseToHsl(color) {\n // Note: At a later stage we can optimize this function as right now a hsl\n // color would be parsed converted to rgb values and converted back to hsl.\n return rgbToHsl(parseToRgb(color));\n}\n\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\nvar reduceHexValue = function reduceHexValue(value) {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return \"#\" + value[1] + value[3] + value[5];\n }\n\n return value;\n};\n\nvar reduceHexValue$1 = reduceHexValue;\n\nfunction numberToHex(value) {\n var hex = value.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n}\n\nfunction colorToHex(color) {\n return numberToHex(Math.round(color * 255));\n}\n\nfunction convertToHex(red, green, blue) {\n return reduceHexValue$1(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\n\nfunction hslToHex(hue, saturation, lightness) {\n return hslToRgb(hue, saturation, lightness, convertToHex);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsl(359, 0.75, 0.4),\n * background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsl(359, 0.75, 0.4)};\n * background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#b3191c\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsl(value, saturation, lightness) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n return hslToHex(value, saturation, lightness);\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {\n return hslToHex(value.hue, value.saturation, value.lightness);\n }\n\n throw new PolishedError(1);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsla(359, 0.75, 0.4, 0.7),\n * background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n * background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsla(359, 0.75, 0.4, 0.7)};\n * background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n * background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsla(value, saturation, lightness, alpha) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n return alpha >= 1 ? hslToHex(value, saturation, lightness) : \"rgba(\" + hslToRgb(value, saturation, lightness) + \",\" + alpha + \")\";\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : \"rgba(\" + hslToRgb(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n }\n\n throw new PolishedError(2);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgb(255, 205, 100),\n * background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgb(255, 205, 100)};\n * background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffcd64\";\n * background: \"#ffcd64\";\n * }\n */\nfunction rgb(value, green, blue) {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return reduceHexValue$1(\"#\" + numberToHex(value) + numberToHex(green) + numberToHex(blue));\n } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n return reduceHexValue$1(\"#\" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));\n }\n\n throw new PolishedError(6);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgba(255, 205, 100, 0.7),\n * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n * background: rgba(255, 205, 100, 1),\n * background: rgba('#ffffff', 0.4),\n * background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgba(255, 205, 100, 0.7)};\n * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n * background: ${rgba(255, 205, 100, 1)};\n * background: ${rgba('#ffffff', 0.4)};\n * background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"#ffcd64\";\n * background: \"rgba(255,255,255,0.4)\";\n * background: \"rgba(0,0,0,0.7)\";\n * }\n */\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n var rgbValue = parseToRgb(firstValue);\n return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n }\n\n throw new PolishedError(7);\n}\n\nvar isRgb = function isRgb(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isRgba = function isRgba(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\n\nvar isHsl = function isHsl(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isHsla = function isHsla(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: toColorString({ red: 255, green: 205, blue: 100 }),\n * background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction toColorString(color) {\n if (typeof color !== 'object') throw new PolishedError(8);\n if (isRgba(color)) return rgba(color);\n if (isRgb(color)) return rgb(color);\n if (isHsla(color)) return hsla(color);\n if (isHsl(color)) return hsl(color);\n throw new PolishedError(8);\n}\n\n// Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\nfunction curried(f, length, acc) {\n return function fn() {\n // eslint-disable-next-line prefer-rest-params\n var combined = acc.concat(Array.prototype.slice.call(arguments));\n return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n };\n} // eslint-disable-next-line no-redeclare\n\n\nfunction curry(f) {\n // eslint-disable-line no-redeclare\n return curried(f, f.length, []);\n}\n\n/**\n * Changes the hue of the color. Hue is a number between 0 to 360. The first\n * argument for adjustHue is the amount of degrees the color is rotated around\n * the color wheel, always producing a positive hue value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: adjustHue(180, '#448'),\n * background: adjustHue('180', 'rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${adjustHue(180, '#448')};\n * background: ${adjustHue('180', 'rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#888844\";\n * background: \"rgba(136,136,68,0.7)\";\n * }\n */\n\nfunction adjustHue(degree, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: hslColor.hue + parseFloat(degree)\n }));\n} // prettier-ignore\n\n\nvar curriedAdjustHue = /*#__PURE__*/curry\n/* :: */\n(adjustHue);\nvar curriedAdjustHue$1 = curriedAdjustHue;\n\n/**\n * Returns the complement of the provided color. This is identical to adjustHue(180, ).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: complement('#448'),\n * background: complement('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${complement('#448')};\n * background: ${complement('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#884\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction complement(color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: (hslColor.hue + 180) % 360\n }));\n}\n\nfunction guard(lowerBoundary, upperBoundary, value) {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n\n/**\n * Returns a string value for the darkened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: darken(0.2, '#FFCD64'),\n * background: darken('0.2', 'rgba(255,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${darken(0.2, '#FFCD64')};\n * background: ${darken('0.2', 'rgba(255,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffbd31\";\n * background: \"rgba(255,189,49,0.7)\";\n * }\n */\n\nfunction darken(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDarken = /*#__PURE__*/curry\n/* :: */\n(darken);\nvar curriedDarken$1 = curriedDarken;\n\n/**\n * Decreases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the desaturate function is the amount by how much the color\n * intensity should be decreased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: desaturate(0.2, '#CCCD64'),\n * background: desaturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${desaturate(0.2, '#CCCD64')};\n * background: ${desaturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#b8b979\";\n * background: \"rgba(184,185,121,0.7)\";\n * }\n */\n\nfunction desaturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDesaturate = /*#__PURE__*/curry\n/* :: */\n(desaturate);\nvar curriedDesaturate$1 = curriedDesaturate;\n\n/**\n * Returns a number (float) representing the luminance of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff',\n * background: getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)',\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff'};\n * background: ${getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)'};\n *\n * // CSS in JS Output\n *\n * div {\n * background: \"#CCCD64\";\n * background: \"rgba(58, 133, 255, 1)\";\n * }\n */\n\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n var rgbColor = parseToRgb(color);\n\n var _Object$keys$map = Object.keys(rgbColor).map(function (key) {\n var channel = rgbColor[key] / 255;\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }),\n r = _Object$keys$map[0],\n g = _Object$keys$map[1],\n b = _Object$keys$map[2];\n\n return parseFloat((0.2126 * r + 0.7152 * g + 0.0722 * b).toFixed(3));\n}\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n *\n * @example\n * const contrastRatio = getContrast('#444', '#fff');\n */\n\nfunction getContrast(color1, color2) {\n var luminance1 = getLuminance(color1);\n var luminance2 = getLuminance(color2);\n return parseFloat((luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05)).toFixed(2));\n}\n\n/**\n * Converts the color to a grayscale, by reducing its saturation to 0.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: grayscale('#CCCD64'),\n * background: grayscale('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${grayscale('#CCCD64')};\n * background: ${grayscale('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#999\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction grayscale(color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: 0\n }));\n}\n\n/**\n * Converts a HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\nfunction hslToColorString(color) {\n if (typeof color === 'object' && typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number') {\n if (color.alpha && typeof color.alpha === 'number') {\n return hsla({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness,\n alpha: color.alpha\n });\n }\n\n return hsl({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness\n });\n }\n\n throw new PolishedError(45);\n}\n\n/**\n * Inverts the red, green and blue values of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: invert('#CCCD64'),\n * background: invert('rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${invert('#CCCD64')};\n * background: ${invert('rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#33329b\";\n * background: \"rgba(154,155,50,0.7)\";\n * }\n */\n\nfunction invert(color) {\n if (color === 'transparent') return color; // parse color string to rgb\n\n var value = parseToRgb(color);\n return toColorString(_extends({}, value, {\n red: 255 - value.red,\n green: 255 - value.green,\n blue: 255 - value.blue\n }));\n}\n\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: lighten(0.2, '#CCCD64'),\n * background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${lighten(0.2, '#FFCD64')};\n * background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e5e6b1\";\n * background: \"rgba(229,230,177,0.7)\";\n * }\n */\n\nfunction lighten(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedLighten = /*#__PURE__*/curry\n/* :: */\n(lighten);\nvar curriedLighten$1 = curriedLighten;\n\n/**\n * Determines which contrast guidelines have been met for two colors.\n * Based on the [contrast calculations recommended by W3](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).\n *\n * @example\n * const scores = meetsContrastGuidelines('#444', '#fff');\n */\nfunction meetsContrastGuidelines(color1, color2) {\n var contrastRatio = getContrast(color1, color2);\n return {\n AA: contrastRatio >= 4.5,\n AALarge: contrastRatio >= 3,\n AAA: contrastRatio >= 7,\n AAALarge: contrastRatio >= 4.5\n };\n}\n\n/**\n * Mixes the two provided colors together by calculating the average of each of the RGB components weighted to the first color by the provided weight.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: mix(0.5, '#f00', '#00f')\n * background: mix(0.25, '#f00', '#00f')\n * background: mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${mix(0.5, '#f00', '#00f')};\n * background: ${mix(0.25, '#f00', '#00f')};\n * background: ${mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#7f007f\";\n * background: \"#3f00bf\";\n * background: \"rgba(63, 0, 191, 0.75)\";\n * }\n */\n\nfunction mix(weight, color, otherColor) {\n if (color === 'transparent') return otherColor;\n if (otherColor === 'transparent') return color;\n if (weight === 0) return otherColor;\n var parsedColor1 = parseToRgb(color);\n\n var color1 = _extends({}, parsedColor1, {\n alpha: typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1\n });\n\n var parsedColor2 = parseToRgb(otherColor);\n\n var color2 = _extends({}, parsedColor2, {\n alpha: typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1\n }); // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n\n\n var alphaDelta = color1.alpha - color2.alpha;\n var x = parseFloat(weight) * 2 - 1;\n var y = x * alphaDelta === -1 ? x : x + alphaDelta;\n var z = 1 + x * alphaDelta;\n var weight1 = (y / z + 1) / 2.0;\n var weight2 = 1 - weight1;\n var mixedColor = {\n red: Math.floor(color1.red * weight1 + color2.red * weight2),\n green: Math.floor(color1.green * weight1 + color2.green * weight2),\n blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),\n alpha: color1.alpha * parseFloat(weight) + color2.alpha * (1 - parseFloat(weight))\n };\n return rgba(mixedColor);\n} // prettier-ignore\n\n\nvar curriedMix = /*#__PURE__*/curry\n/* :: */\n(mix);\nvar mix$1 = curriedMix;\n\n/**\n * Increases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: opacify(0.1, 'rgba(255, 255, 255, 0.9)');\n * background: opacify(0.2, 'hsla(0, 0%, 100%, 0.5)'),\n * background: opacify('0.5', 'rgba(255, 0, 0, 0.2)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${opacify(0.1, 'rgba(255, 255, 255, 0.9)')};\n * background: ${opacify(0.2, 'hsla(0, 0%, 100%, 0.5)')},\n * background: ${opacify('0.5', 'rgba(255, 0, 0, 0.2)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#fff\";\n * background: \"rgba(255,255,255,0.7)\";\n * background: \"rgba(255,0,0,0.7)\";\n * }\n */\n\nfunction opacify(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedOpacify = /*#__PURE__*/curry\n/* :: */\n(opacify);\nvar curriedOpacify$1 = curriedOpacify;\n\nvar defaultReturnIfLightColor = '#000';\nvar defaultReturnIfDarkColor = '#fff';\n/**\n * Returns black or white (or optional passed colors) for best\n * contrast depending on the luminosity of the given color.\n * When passing custom return colors, strict mode ensures that the\n * return color always meets or exceeds WCAG level AA or greater. If this test\n * fails, the default return color (black or white) is returned in place of the\n * custom return color. You can optionally turn off strict mode.\n *\n * Follows [W3C specs for readability](https://www.w3.org/TR/WCAG20-TECHS/G18.html).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * color: readableColor('#000'),\n * color: readableColor('black', '#001', '#ff8'),\n * color: readableColor('white', '#001', '#ff8'),\n * color: readableColor('red', '#333', '#ddd', true)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * color: ${readableColor('#000')};\n * color: ${readableColor('black', '#001', '#ff8')};\n * color: ${readableColor('white', '#001', '#ff8')};\n * color: ${readableColor('red', '#333', '#ddd', true)};\n * `\n *\n * // CSS in JS Output\n * element {\n * color: \"#fff\";\n * color: \"#ff8\";\n * color: \"#001\";\n * color: \"#000\";\n * }\n */\n\nfunction readableColor(color, returnIfLightColor, returnIfDarkColor, strict) {\n if (returnIfLightColor === void 0) {\n returnIfLightColor = defaultReturnIfLightColor;\n }\n\n if (returnIfDarkColor === void 0) {\n returnIfDarkColor = defaultReturnIfDarkColor;\n }\n\n if (strict === void 0) {\n strict = true;\n }\n\n var isColorLight = getLuminance(color) > 0.179;\n var preferredReturnColor = isColorLight ? returnIfLightColor : returnIfDarkColor;\n\n if (!strict || getContrast(color, preferredReturnColor) >= 4.5) {\n return preferredReturnColor;\n }\n\n return isColorLight ? defaultReturnIfLightColor : defaultReturnIfDarkColor;\n}\n\n/**\n * Converts a RgbColor or RgbaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb` or `rgba`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgbToColorString({ red: 255, green: 205, blue: 100 }),\n * background: rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * }\n */\nfunction rgbToColorString(color) {\n if (typeof color === 'object' && typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number') {\n if (typeof color.alpha === 'number') {\n return rgba({\n red: color.red,\n green: color.green,\n blue: color.blue,\n alpha: color.alpha\n });\n }\n\n return rgb({\n red: color.red,\n green: color.green,\n blue: color.blue\n });\n }\n\n throw new PolishedError(46);\n}\n\n/**\n * Increases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the saturate function is the amount by how much the color\n * intensity should be increased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: saturate(0.2, '#CCCD64'),\n * background: saturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${saturate(0.2, '#FFCD64')};\n * background: ${saturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e0e250\";\n * background: \"rgba(224,226,80,0.7)\";\n * }\n */\n\nfunction saturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedSaturate = /*#__PURE__*/curry\n/* :: */\n(saturate);\nvar curriedSaturate$1 = curriedSaturate;\n\n/**\n * Sets the hue of a color to the provided value. The hue range can be\n * from 0 and 359.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setHue(42, '#CCCD64'),\n * background: setHue('244', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setHue(42, '#CCCD64')};\n * background: ${setHue('244', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#cdae64\";\n * background: \"rgba(107,100,205,0.7)\";\n * }\n */\n\nfunction setHue(hue, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n hue: parseFloat(hue)\n }));\n} // prettier-ignore\n\n\nvar curriedSetHue = /*#__PURE__*/curry\n/* :: */\n(setHue);\nvar curriedSetHue$1 = curriedSetHue;\n\n/**\n * Sets the lightness of a color to the provided value. The lightness range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setLightness(0.2, '#CCCD64'),\n * background: setLightness('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setLightness(0.2, '#CCCD64')};\n * background: ${setLightness('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#4d4d19\";\n * background: \"rgba(223,224,159,0.7)\";\n * }\n */\n\nfunction setLightness(lightness, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n lightness: parseFloat(lightness)\n }));\n} // prettier-ignore\n\n\nvar curriedSetLightness = /*#__PURE__*/curry\n/* :: */\n(setLightness);\nvar curriedSetLightness$1 = curriedSetLightness;\n\n/**\n * Sets the saturation of a color to the provided value. The saturation range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setSaturation(0.2, '#CCCD64'),\n * background: setSaturation('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setSaturation(0.2, '#CCCD64')};\n * background: ${setSaturation('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#adad84\";\n * background: \"rgba(228,229,76,0.7)\";\n * }\n */\n\nfunction setSaturation(saturation, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: parseFloat(saturation)\n }));\n} // prettier-ignore\n\n\nvar curriedSetSaturation = /*#__PURE__*/curry\n/* :: */\n(setSaturation);\nvar curriedSetSaturation$1 = curriedSetSaturation;\n\n/**\n * Shades a color by mixing it with black. `shade` can produce\n * hue shifts, where as `darken` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: shade(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${shade(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#00003f\";\n * }\n */\n\nfunction shade(percentage, color) {\n if (color === 'transparent') return color;\n return mix$1(parseFloat(percentage), 'rgb(0, 0, 0)', color);\n} // prettier-ignore\n\n\nvar curriedShade = /*#__PURE__*/curry\n/* :: */\n(shade);\nvar curriedShade$1 = curriedShade;\n\n/**\n * Tints a color by mixing it with white. `tint` can produce\n * hue shifts, where as `lighten` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: tint(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${tint(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#bfbfff\";\n * }\n */\n\nfunction tint(percentage, color) {\n if (color === 'transparent') return color;\n return mix$1(parseFloat(percentage), 'rgb(255, 255, 255)', color);\n} // prettier-ignore\n\n\nvar curriedTint = /*#__PURE__*/curry\n/* :: */\n(tint);\nvar curriedTint$1 = curriedTint;\n\n/**\n * Decreases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: transparentize(0.1, '#fff'),\n * background: transparentize(0.2, 'hsl(0, 0%, 100%)'),\n * background: transparentize('0.5', 'rgba(255, 0, 0, 0.8)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${transparentize(0.1, '#fff')};\n * background: ${transparentize(0.2, 'hsl(0, 0%, 100%)')};\n * background: ${transparentize('0.5', 'rgba(255, 0, 0, 0.8)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,255,255,0.9)\";\n * background: \"rgba(255,255,255,0.8)\";\n * background: \"rgba(255,0,0,0.3)\";\n * }\n */\n\nfunction transparentize(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, +(alpha * 100 - parseFloat(amount) * 100).toFixed(2) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedTransparentize = /*#__PURE__*/curry\n/* :: */\n(transparentize);\nvar curriedTransparentize$1 = curriedTransparentize;\n\n/**\n * Shorthand for easily setting the animation property. Allows either multiple arrays with animations\n * or a single animation spread over the arguments.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out, colorchange 2s'\n * }\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation('rotate', '1s', 'ease-in-out')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation('rotate', '1s', 'ease-in-out')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out'\n * }\n */\nfunction animation() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // Allow single or multiple animations passed\n var multiMode = Array.isArray(args[0]);\n\n if (!multiMode && args.length > 8) {\n throw new PolishedError(64);\n }\n\n var code = args.map(function (arg) {\n if (multiMode && !Array.isArray(arg) || !multiMode && Array.isArray(arg)) {\n throw new PolishedError(65);\n }\n\n if (Array.isArray(arg) && arg.length > 8) {\n throw new PolishedError(66);\n }\n\n return Array.isArray(arg) ? arg.join(' ') : arg;\n }).join(', ');\n return {\n animation: code\n };\n}\n\n/**\n * Shorthand that accepts any number of backgroundImage values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'backgroundImage': 'url(\"/image/background.jpg\"), linear-gradient(red, green)'\n * }\n */\nfunction backgroundImages() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n backgroundImage: properties.join(', ')\n };\n}\n\n/**\n * Shorthand that accepts any number of background values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'background': 'url(\"/image/background.jpg\"), linear-gradient(red, green), center no-repeat'\n * }\n */\nfunction backgrounds() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n background: properties.join(', ')\n };\n}\n\nvar sideMap = ['top', 'right', 'bottom', 'left'];\n/**\n * Shorthand for the border property that splits out individual properties for use with tools like Fela and Styletron. A side keyword can optionally be passed to target only one side's border properties.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...border('1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderColor': 'red',\n * 'borderStyle': 'solid',\n * 'borderWidth': `1px`,\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...border('top', '1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('top', '1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderTopStyle': 'solid',\n * 'borderTopWidth': `1px`,\n * }\n */\n\nfunction border(sideKeyword) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (typeof sideKeyword === 'string' && sideMap.indexOf(sideKeyword) >= 0) {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + capitalizeString(sideKeyword) + \"Width\"] = values[0], _ref[\"border\" + capitalizeString(sideKeyword) + \"Style\"] = values[1], _ref[\"border\" + capitalizeString(sideKeyword) + \"Color\"] = values[2], _ref;\n } else {\n values.unshift(sideKeyword);\n return {\n borderWidth: values[0],\n borderStyle: values[1],\n borderColor: values[2]\n };\n }\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderColor('red', 'green', 'blue', 'yellow')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderColor('red', 'green', 'blue', 'yellow')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderRightColor': 'green',\n * 'borderBottomColor': 'blue',\n * 'borderLeftColor': 'yellow'\n * }\n */\nfunction borderColor() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderColor'].concat(values));\n}\n\n/**\n * Shorthand that accepts a value for side and a value for radius and applies the radius value to both corners of the side.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderRadius('top', '5px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderRadius('top', '5px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopRightRadius': '5px',\n * 'borderTopLeftRadius': '5px',\n * }\n */\nfunction borderRadius(side, radius) {\n var uppercaseSide = capitalizeString(side);\n\n if (!radius && radius !== 0) {\n throw new PolishedError(62);\n }\n\n if (uppercaseSide === 'Top' || uppercaseSide === 'Bottom') {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + uppercaseSide + \"RightRadius\"] = radius, _ref[\"border\" + uppercaseSide + \"LeftRadius\"] = radius, _ref;\n }\n\n if (uppercaseSide === 'Left' || uppercaseSide === 'Right') {\n var _ref2;\n\n return _ref2 = {}, _ref2[\"borderTop\" + uppercaseSide + \"Radius\"] = radius, _ref2[\"borderBottom\" + uppercaseSide + \"Radius\"] = radius, _ref2;\n }\n\n throw new PolishedError(63);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderStyle('solid', 'dashed', 'dotted', 'double')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderStyle('solid', 'dashed', 'dotted', 'double')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopStyle': 'solid',\n * 'borderRightStyle': 'dashed',\n * 'borderBottomStyle': 'dotted',\n * 'borderLeftStyle': 'double'\n * }\n */\nfunction borderStyle() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderStyle'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderWidth('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderWidth('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopWidth': '12px',\n * 'borderRightWidth': '24px',\n * 'borderBottomWidth': '36px',\n * 'borderLeftWidth': '48px'\n * }\n */\nfunction borderWidth() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderWidth'].concat(values));\n}\n\nfunction generateSelectors(template, state) {\n var stateSuffix = state ? \":\" + state : '';\n return template(stateSuffix);\n}\n/**\n * Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.\n * @private\n */\n\n\nfunction statefulSelectors(states, template, stateMap) {\n if (!template) throw new PolishedError(67);\n if (states.length === 0) return generateSelectors(template, null);\n var selectors = [];\n\n for (var i = 0; i < states.length; i += 1) {\n if (stateMap && stateMap.indexOf(states[i]) < 0) {\n throw new PolishedError(68);\n }\n\n selectors.push(generateSelectors(template, states[i]));\n }\n\n selectors = selectors.join(',');\n return selectors;\n}\n\nvar stateMap$1 = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template$1(state) {\n return \"button\" + state + \",\\n input[type=\\\"button\\\"]\" + state + \",\\n input[type=\\\"reset\\\"]\" + state + \",\\n input[type=\\\"submit\\\"]\" + state;\n}\n/**\n * Populates selectors that target all buttons. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [buttons('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${buttons('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'button:active,\n * 'input[type=\"button\"]:active,\n * 'input[type=\\\"reset\\\"]:active,\n * 'input[type=\\\"submit\\\"]:active: {\n * 'border': 'none'\n * }\n */\n\n\nfunction buttons() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template$1, stateMap$1);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...margin('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${margin('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'marginTop': '12px',\n * 'marginRight': '24px',\n * 'marginBottom': '36px',\n * 'marginLeft': '48px'\n * }\n */\nfunction margin() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['margin'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...padding('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${padding('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\nfunction padding() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['padding'].concat(values));\n}\n\nvar positionMap = ['absolute', 'fixed', 'relative', 'static', 'sticky'];\n/**\n * Shorthand accepts up to five values, including null to skip a value, and maps them to their respective directions. The first value can optionally be a position keyword.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...position('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...position('absolute', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('absolute', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'position': 'absolute',\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n */\n\nfunction position(firstValue) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (positionMap.indexOf(firstValue) >= 0 && firstValue) {\n return _extends({}, directionalProperty.apply(void 0, [''].concat(values)), {\n position: firstValue\n });\n } else {\n return directionalProperty.apply(void 0, ['', firstValue].concat(values));\n }\n}\n\n/**\n * Shorthand to set the height and width properties in a single statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...size('300px', '250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${size('300px', '250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'height': '300px',\n * 'width': '250px',\n * }\n */\nfunction size(height, width) {\n if (width === void 0) {\n width = height;\n }\n\n return {\n height: height,\n width: width\n };\n}\n\nvar stateMap = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template(state) {\n return \"input[type=\\\"color\\\"]\" + state + \",\\n input[type=\\\"date\\\"]\" + state + \",\\n input[type=\\\"datetime\\\"]\" + state + \",\\n input[type=\\\"datetime-local\\\"]\" + state + \",\\n input[type=\\\"email\\\"]\" + state + \",\\n input[type=\\\"month\\\"]\" + state + \",\\n input[type=\\\"number\\\"]\" + state + \",\\n input[type=\\\"password\\\"]\" + state + \",\\n input[type=\\\"search\\\"]\" + state + \",\\n input[type=\\\"tel\\\"]\" + state + \",\\n input[type=\\\"text\\\"]\" + state + \",\\n input[type=\\\"time\\\"]\" + state + \",\\n input[type=\\\"url\\\"]\" + state + \",\\n input[type=\\\"week\\\"]\" + state + \",\\n input:not([type])\" + state + \",\\n textarea\" + state;\n}\n/**\n * Populates selectors that target all text inputs. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [textInputs('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${textInputs('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'input[type=\"color\"]:active,\n * input[type=\"date\"]:active,\n * input[type=\"datetime\"]:active,\n * input[type=\"datetime-local\"]:active,\n * input[type=\"email\"]:active,\n * input[type=\"month\"]:active,\n * input[type=\"number\"]:active,\n * input[type=\"password\"]:active,\n * input[type=\"search\"]:active,\n * input[type=\"tel\"]:active,\n * input[type=\"text\"]:active,\n * input[type=\"time\"]:active,\n * input[type=\"url\"]:active,\n * input[type=\"week\"]:active,\n * input:not([type]):active,\n * textarea:active': {\n * 'border': 'none'\n * }\n */\n\n\nfunction textInputs() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template, stateMap);\n}\n\n/**\n * Accepts any number of transition values as parameters for creating a single transition statement. You may also pass an array of properties as the first parameter that you would like to apply the same transition values to (second parameter).\n * @example\n * // Styles as object usage\n * const styles = {\n * ...transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s'),\n * ...transitions(['color', 'background-color'], '2.0s ease-in 2s')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s')};\n * ${transitions(['color', 'background-color'], '2.0s ease-in 2s'),};\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'transition': 'opacity 1.0s ease-in 0s, width 2.0s ease-in 2s'\n * 'transition': 'color 2.0s ease-in 2s, background-color 2.0s ease-in 2s',\n * }\n */\n\nfunction transitions() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n if (Array.isArray(properties[0]) && properties.length === 2) {\n var value = properties[1];\n\n if (typeof value !== 'string') {\n throw new PolishedError(61);\n }\n\n var transitionsString = properties[0].map(function (property) {\n return property + \" \" + value;\n }).join(', ');\n return {\n transition: transitionsString\n };\n } else {\n return {\n transition: properties.join(', ')\n };\n }\n}\n\nexport { curriedAdjustHue$1 as adjustHue, animation, backgroundImages, backgrounds, between, border, borderColor, borderRadius, borderStyle, borderWidth, buttons, clearFix, complement, cover, cssVar, curriedDarken$1 as darken, curriedDesaturate$1 as desaturate, directionalProperty, easeIn, easeInOut, easeOut, ellipsis, em$1 as em, fluidRange, fontFace, getContrast, getLuminance, getValueAndUnit, grayscale, hiDPI, hideText, hideVisually, hsl, hslToColorString, hsla, important, invert, curriedLighten$1 as lighten, linearGradient, margin, math, meetsContrastGuidelines, mix$1 as mix, modularScale, normalize, curriedOpacify$1 as opacify, padding, parseToHsl, parseToRgb, position, radialGradient, readableColor, rem$1 as rem, remToPx, retinaImage, rgb, rgbToColorString, rgba, curriedSaturate$1 as saturate, curriedSetHue$1 as setHue, curriedSetLightness$1 as setLightness, curriedSetSaturation$1 as setSaturation, curriedShade$1 as shade, size, stripUnit, textInputs, timingFunctions, curriedTint$1 as tint, toColorString, transitions, curriedTransparentize$1 as transparentize, triangle, wordWrap };\n", "import { ADDON_ID, EVENT_ID, CLEAR_ID, PANEL_ID, PARAM_KEY } from './chunk-VWCVBQ22.mjs';\nimport React, { Component, useState, Fragment } from 'react';\nimport { addons, types, useChannel } from '@storybook/manager-api';\nimport { STORY_CHANGED } from '@storybook/core-events';\nimport { dequal } from 'dequal';\nimport { styled, withTheme } from '@storybook/theming';\nimport { Inspector } from 'react-inspector';\nimport { ScrollArea, ActionBar } from '@storybook/components';\nimport { opacify } from 'polished';\n\nvar Action=styled.div({display:\"flex\",padding:0,borderLeft:\"5px solid transparent\",borderBottom:\"1px solid transparent\",transition:\"all 0.1s\",alignItems:\"flex-start\",whiteSpace:\"pre\"}),Counter=styled.div(({theme})=>({backgroundColor:opacify(.5,theme.appBorderColor),color:theme.color.inverseText,fontSize:theme.typography.size.s1,fontWeight:theme.typography.weight.bold,lineHeight:1,padding:\"1px 5px\",borderRadius:20,margin:\"2px 0px\"})),InspectorContainer=styled.div({flex:1,padding:\"0 0 0 5px\"});var UnstyledWrapped=({children,className})=>React.createElement(ScrollArea,{horizontal:!0,vertical:!0,className},children),Wrapper=styled(UnstyledWrapped)({margin:0,padding:\"10px 5px 20px\"}),ThemedInspector=withTheme(({theme,...props})=>React.createElement(Inspector,{theme:theme.addonActionsTheme||\"chromeLight\",table:!1,...props})),ActionLogger=({actions,onClear})=>React.createElement(Fragment,null,React.createElement(Wrapper,null,actions.map(action=>React.createElement(Action,{key:action.id},action.count>1&&React.createElement(Counter,null,action.count),React.createElement(InspectorContainer,null,React.createElement(ThemedInspector,{sortObjectKeys:!0,showNonenumerable:!1,name:action.data.name,data:action.data.args||action.data}))))),React.createElement(ActionBar,{actionItems:[{title:\"Clear\",onClick:onClear}]}));var safeDeepEqual=(a,b)=>{try{return dequal(a,b)}catch{return !1}},ActionLogger2=class extends Component{constructor(props){super(props);this.handleStoryChange=()=>{let{actions}=this.state;actions.length>0&&actions[0].options.clearOnStoryChange&&this.clearActions();};this.addAction=action=>{this.setState(prevState=>{let actions=[...prevState.actions],previous=actions.length&&actions[0];return previous&&safeDeepEqual(previous.data,action.data)?previous.count++:(action.count=1,actions.unshift(action)),{actions:actions.slice(0,action.options.limit)}});};this.clearActions=()=>{let{api}=this.props;api.emit(CLEAR_ID),this.setState({actions:[]});};this.mounted=!1,this.state={actions:[]};}componentDidMount(){this.mounted=!0;let{api}=this.props;api.on(EVENT_ID,this.addAction),api.on(STORY_CHANGED,this.handleStoryChange);}componentWillUnmount(){this.mounted=!1;let{api}=this.props;api.off(STORY_CHANGED,this.handleStoryChange),api.off(EVENT_ID,this.addAction);}render(){let{actions=[]}=this.state,{active}=this.props,props={actions,onClear:this.clearActions};return active?React.createElement(ActionLogger,{...props}):null}};function Title({count}){let[_,setRerender]=useState(!1);useChannel({[EVENT_ID]:()=>{setRerender(r=>!r);},[STORY_CHANGED]:()=>{setRerender(r=>!r);},[CLEAR_ID]:()=>{setRerender(r=>!r);}});let suffix=count.current===0?\"\":` (${count.current})`;return React.createElement(React.Fragment,null,\"Actions\",suffix)}addons.register(ADDON_ID,api=>{let countRef={current:0};api.on(STORY_CHANGED,id=>{countRef.current=0;}),api.on(EVENT_ID,()=>{countRef.current+=1;}),api.on(CLEAR_ID,()=>{countRef.current=0;}),addons.addPanel(PANEL_ID,{title:React.createElement(Title,{count:countRef}),id:\"actions\",type:types.PANEL,render:({active,key})=>React.createElement(ActionLogger2,{key,api,active:!!active}),paramKey:PARAM_KEY});});\n"], + "mappings": "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", + "names": ["PARAM_KEY", "ADDON_ID", "PANEL_ID", "EVENT_ID", "CLEAR_ID", "react_default", "Children", "Component", "Fragment", "Profiler", "PureComponent", "StrictMode", "Suspense", "__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED", "cloneElement", "createContext", "createElement", "createFactory", "createRef", "forwardRef", "isValidElement", "lazy", "memo", "useCallback", "useContext", "useDebugValue", "useEffect", "useImperativeHandle", "useLayoutEffect", "useMemo", "useReducer", "useRef", "useState", "version", "manager_api_default", "ActiveTabs", "Consumer", "ManagerContext", "Provider", "addons", "combineParameters", "controlOrMetaKey", "controlOrMetaSymbol", "eventMatchesShortcut", "eventToShortcut", "isMacLike", "isShortcutTaken", "keyToSymbol", "merge", "mockChannel", "optionOrAltSymbol", "shortcutMatchesShortcut", "shortcutToHumanString", "types", "useAddonState", "useArgTypes", "useArgs", "useChannel", "useGlobalTypes", "useGlobals", "useParameter", "useSharedState", "useStoryPrepared", "useStorybookApi", "useStorybookState", "core_events_default", "CHANNEL_CREATED", "CONFIG_ERROR", "CURRENT_STORY_WAS_SET", "DOCS_PREPARED", "DOCS_RENDERED", "FORCE_REMOUNT", "FORCE_RE_RENDER", "GLOBALS_UPDATED", "IGNORED_EXCEPTION", "NAVIGATE_URL", "PLAY_FUNCTION_THREW_EXCEPTION", "PRELOAD_ENTRIES", "PREVIEW_BUILDER_PROGRESS", "PREVIEW_KEYDOWN", "REGISTER_SUBSCRIPTION", "RESET_STORY_ARGS", "SELECT_STORY", "SET_CONFIG", "SET_CURRENT_STORY", "SET_GLOBALS", "SET_INDEX", "SET_STORIES", "SHARED_STATE_CHANGED", "SHARED_STATE_SET", "STORIES_COLLAPSE_ALL", "STORIES_EXPAND_ALL", "STORY_ARGS_UPDATED", "STORY_CHANGED", "STORY_ERRORED", "STORY_INDEX_INVALIDATED", "STORY_MISSING", "STORY_PREPARED", "STORY_RENDERED", "STORY_RENDER_PHASE_CHANGED", "STORY_SPECIFIED", "STORY_THREW_EXCEPTION", "STORY_UNCHANGED", "UPDATE_GLOBALS", "UPDATE_QUERY_PARAMS", "UPDATE_STORY_ARGS", "has", "find", "iter", "tar", "key", "dequal", "foo", "bar", "ctor", "len", "tmp", "theming_default", "CacheProvider", "ClassNames", "Global", "ThemeProvider", "background", "color", "convert", "create", "createCache", "createGlobal", "createReset", "css", "darken", "ensure", "ignoreSsrWarning", "isPropValid", "jsx", "keyframes", "lighten", "styled", "themes", "typography", "useTheme", "withTheme", "require_is_object", "__commonJS", "exports", "module", "x", "require_is_window", "obj", "o", "require_is_dom", "isObject", "isWindow", "isNode", "val", "themes_exports", "__export", "theme", "theme2", "ExpandedPathsContext", "createContext", "unselectable", "createTheme", "theme3", "DEFAULT_THEME_NAME", "ThemeContext", "useStyles", "baseStylesKey", "useContext", "themeAcceptor", "WrappedComponent", "restProps", "themeStyles", "useMemo", "react_default", "Arrow", "expanded", "styles", "TreeNode", "memo", "props", "name", "onClick", "children", "nodeRenderer", "title", "shouldShowArrow", "shouldShowPlaceholder", "NodeRenderer", "Children", "DEFAULT_ROOT_PATH", "WILDCARD", "hasChildNodes", "data", "dataIterator", "wildcardPathsFromLevel", "level", "_", "i", "getExpandedPaths", "expandPaths", "expandLevel", "prevExpandedPaths", "wildcardPaths", "path", "expandedPaths", "wildcardPath", "keyPaths", "populatePaths", "curData", "curPath", "depth", "key", "data2", "value", "ConnectedTreeNode", "setExpandedPaths", "nodeHasChildNodes", "handleClick", "useCallback", "renderNodeProps", "TreeView", "stateAndSetter", "useState", "useLayoutEffect", "ObjectName", "dimmed", "appliedStyles", "ObjectValue", "object", "mkStyle", "hasOwnProperty", "propertyIsEnumerable", "getPropertyValue", "propertyName", "propertyDescriptor", "intersperse", "arr", "sep", "xs", "ObjectPreview", "maxProperties", "previewArray", "element", "index", "arrayLength", "propertyNodes", "ellipsis", "propertyValue", "objectConstructorName", "ObjectRootLabel", "ObjectLabel", "isNonenumerable", "createIterator", "showNonenumerable", "sortObjectKeys", "dataIsArray", "entry", "k", "v", "keys", "defaultNodeRenderer", "ObjectInspector", "treeViewProps", "renderer", "themedObjectInspector", "getHeaders", "rowHeaders", "nRows", "colHeaders", "colHeaders2", "rowHeader", "row", "DataContainer", "rows", "columns", "rowsData", "borderStyles", "column", "rowData", "SortIconContainer", "SortIcon", "sortAscending", "glyph", "TH", "sorted", "borderStyle", "thProps", "hovered", "setHovered", "handleMouseEnter", "handleMouseLeave", "HeaderContainer", "indexColumnText", "sortIndexColumn", "sortColumn", "onTHClick", "onIndexTHClick", "TableInspector", "setState", "handleIndexTHClick", "sortIndexColumn2", "sortAscending2", "handleTHClick", "col", "sortColumn2", "columnDataWithRowIndexes", "comparator", "mapper", "ascending", "a", "b", "v1", "v2", "type1", "type2", "lt", "v12", "v22", "result", "order", "sortedRowIndexes", "item", "themedTableInspector", "TEXT_NODE_MAX_INLINE_CHARS", "shouldInline", "OpenTag", "tagName", "attributes", "attributeNodes", "attribute", "CloseTag", "isChildNode", "nameByNodeType", "DOMNodePreview", "isCloseTag", "domIterator", "node", "DOMInspector", "themedDOMInspector", "import_is_dom", "__toESM", "Inspector", "table", "rest", "components_default", "A", "ActionBar", "AddonPanel", "Badge", "Bar", "Blockquote", "Button", "Code", "DL", "Div", "DocumentWrapper", "ErrorFormatter", "FlexBar", "Form", "H1", "H2", "H3", "H4", "H5", "H6", "HR", "IconButton", "IconButtonSkeleton", "Icons", "Img", "LI", "Link", "ListItem", "Loader", "OL", "P", "Placeholder", "Pre", "ResetWrapper", "ScrollArea", "Separator", "Spaced", "Span", "StorybookIcon", "StorybookLogo", "Symbols", "SyntaxHighlighter", "TT", "TabBar", "TabButton", "TabWrapper", "Table", "Tabs", "TabsState", "TooltipLinkList", "TooltipMessage", "TooltipNote", "UL", "WithTooltip", "WithTooltipPure", "Zoom", "codeCommon", "components", "createCopyToClipboardFunction", "getStoryHref", "icons", "interleaveSeparators", "nameSpaceClassNames", "resetComponents", "withReset", "_extends", "target", "i", "source", "key", "_assertThisInitialized", "self", "_setPrototypeOf", "o", "p", "_inheritsLoose", "subClass", "superClass", "_setPrototypeOf", "_getPrototypeOf", "o", "_isNativeFunction", "fn", "_isNativeReflectConstruct", "_construct", "Parent", "args", "Class", "_isNativeReflectConstruct", "a", "Constructor", "instance", "_setPrototypeOf", "_wrapNativeSuper", "Class", "_cache", "_isNativeFunction", "Wrapper", "_construct", "_getPrototypeOf", "_setPrototypeOf", "PolishedError", "_Error", "_inheritsLoose", "code", "_this", "_len2", "args", "_key2", "_assertThisInitialized", "_wrapNativeSuper", "endsWith", "string", "suffix", "cssRegex$1", "stripUnit", "value", "matchedValue", "pxtoFactory", "to", "pxval", "base", "newPxval", "newBase", "PolishedError", "pixelsto", "em", "rem", "pixelsto", "colorToInt", "color", "convertToInt", "red", "green", "blue", "hslToRgb", "hue", "saturation", "lightness", "convert", "huePrime", "chroma", "secondComponent", "lightnessModification", "finalRed", "finalGreen", "finalBlue", "namedColorMap", "nameToHex", "normalizedColorName", "hexRegex", "hexRgbaRegex", "reducedHexRegex", "reducedRgbaHexRegex", "rgbRegex", "rgbaRegex", "hslRegex", "hslaRegex", "parseToRgb", "PolishedError", "normalizedColor", "alpha", "_alpha", "rgbMatched", "rgbaMatched", "hslMatched", "rgbColorString", "hslRgbMatched", "hslaMatched", "_hue", "_saturation", "_lightness", "_rgbColorString", "_hslRgbMatched", "rgbToHsl", "max", "min", "delta", "parseToHsl", "reduceHexValue", "value", "reduceHexValue$1", "numberToHex", "hex", "colorToHex", "convertToHex", "hslToHex", "hsl", "hsla", "rgb", "rgba", "firstValue", "secondValue", "thirdValue", "fourthValue", "rgbValue", "isRgb", "isRgba", "isHsl", "isHsla", "toColorString", "curried", "f", "length", "acc", "combined", "curry", "adjustHue", "degree", "hslColor", "_extends", "curriedAdjustHue", "guard", "lowerBoundary", "upperBoundary", "value", "darken", "amount", "color", "hslColor", "parseToHsl", "toColorString", "_extends", "curriedDarken", "curry", "desaturate", "amount", "color", "hslColor", "parseToHsl", "toColorString", "_extends", "guard", "curriedDesaturate", "curry", "lighten", "amount", "color", "hslColor", "parseToHsl", "toColorString", "_extends", "guard", "curriedLighten", "curry", "mix", "weight", "color", "otherColor", "parsedColor1", "parseToRgb", "color1", "_extends", "parsedColor2", "color2", "alphaDelta", "x", "y", "z", "weight1", "weight2", "mixedColor", "rgba", "curriedMix", "curry", "mix$1", "opacify", "amount", "parsedColor", "alpha", "colorWithAlpha", "guard", "curriedOpacify", "curriedOpacify$1", "saturate", "amount", "color", "hslColor", "parseToHsl", "toColorString", "_extends", "guard", "curriedSaturate", "curry", "setHue", "hue", "color", "toColorString", "_extends", "parseToHsl", "curriedSetHue", "curry", "setLightness", "lightness", "color", "toColorString", "_extends", "parseToHsl", "curriedSetLightness", "curry", "setSaturation", "saturation", "color", "toColorString", "_extends", "parseToHsl", "curriedSetSaturation", "curry", "shade", "percentage", "color", "mix$1", "curriedShade", "curry", "tint", "percentage", "color", "mix$1", "curriedTint", "curry", "transparentize", "amount", "color", "parsedColor", "parseToRgb", "alpha", "colorWithAlpha", "_extends", "guard", "rgba", "curriedTransparentize", "curry", "Action", "styled", "Counter", "theme", "curriedOpacify$1", "InspectorContainer", "UnstyledWrapped", "children", "className", "react_default", "ScrollArea", "Wrapper", "ThemedInspector", "withTheme", "props", "Inspector", "ActionLogger", "actions", "onClear", "Fragment", "action", "ActionBar", "safeDeepEqual", "a", "b", "dequal", "ActionLogger2", "Component", "prevState", "previous", "api", "CLEAR_ID", "EVENT_ID", "STORY_CHANGED", "active", "Title", "count", "_", "setRerender", "useState", "useChannel", "r", "suffix", "addons", "ADDON_ID", "countRef", "id", "PANEL_ID", "types", "key", "PARAM_KEY"] +} diff --git a/sb-addons/essentials-backgrounds-2/manager-bundle.js b/sb-addons/essentials-backgrounds-2/manager-bundle.js new file mode 100644 index 00000000..50b6381c --- /dev/null +++ b/sb-addons/essentials-backgrounds-2/manager-bundle.js @@ -0,0 +1,13 @@ +try{ +var ne=Object.create;var F=Object.defineProperty;var oe=Object.getOwnPropertyDescriptor;var ie=Object.getOwnPropertyNames;var ae=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty;var C=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,s)=>(typeof require<"u"?require:t)[s]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var L=(e,t)=>()=>(e&&(t=e(e=0)),t);var le=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ue=(e,t,s,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ie(t))!se.call(e,i)&&i!==s&&F(e,i,{get:()=>t[i],enumerable:!(o=oe(t,i))||o.enumerable});return e};var de=(e,t,s)=>(s=e!=null?ne(ae(e)):{},ue(t||!e||!e.__esModule?F(s,"default",{value:e,enumerable:!0}):s,e));var c=L(()=>{});var f=L(()=>{});var m=L(()=>{});var Q=le((J,D)=>{c();f();m();(function(e){if(typeof J=="object"&&typeof D<"u")D.exports=e();else if(typeof define=="function"&&define.amd)define([],e);else{var t;typeof window<"u"||typeof window<"u"?t=window:typeof self<"u"?t=self:t=this,t.memoizerific=e()}})(function(){var e,t,s;return function o(i,g,l){function n(a,h){if(!g[a]){if(!i[a]){var d=typeof C=="function"&&C;if(!h&&d)return d(a,!0);if(r)return r(a,!0);var b=new Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b}var p=g[a]={exports:{}};i[a][0].call(p.exports,function(y){var S=i[a][1][y];return n(S||y)},p,p.exports,o,i,g,l)}return g[a].exports}for(var r=typeof C=="function"&&C,u=0;u=0)return this.lastItem=this.list[r],this.list[r].val},l.prototype.set=function(n,r){var u;return this.lastItem&&this.isEqual(this.lastItem.key,n)?(this.lastItem.val=r,this):(u=this.indexOf(n),u>=0?(this.lastItem=this.list[u],this.list[u].val=r,this):(this.lastItem={key:n,val:r},this.list.push(this.lastItem),this.size++,this))},l.prototype.delete=function(n){var r;if(this.lastItem&&this.isEqual(this.lastItem.key,n)&&(this.lastItem=void 0),r=this.indexOf(n),r>=0)return this.size--,this.list.splice(r,1)[0]},l.prototype.has=function(n){var r;return this.lastItem&&this.isEqual(this.lastItem.key,n)?!0:(r=this.indexOf(n),r>=0?(this.lastItem=this.list[r],!0):!1)},l.prototype.forEach=function(n,r){var u;for(u=0;u0&&(B[O]={cacheItem:y,arg:arguments[O]},x?n(d,B):d.push(B),d.length>a&&r(d.shift())),p.wasMemoized=x,p.numArgs=O+1,A};return p.limit=a,p.wasMemoized=!1,p.cache=h,p.lru=d,p}};function n(a,h){var d=a.length,b=h.length,p,y,S;for(y=0;y=0&&(d=a[p],b=d.cacheItem.get(d.arg),!b||!b.size);p--)d.cacheItem.delete(d.arg)}function u(a,h){return a===h||a!==a&&h!==h}},{"map-or-similar":1}]},{},[3])(3)})});c();f();m();c();f();m();c();f();m();c();f();m();c();f();m();var Y=(()=>{let e;return typeof window<"u"?e=window:typeof globalThis<"u"?e=globalThis:typeof window<"u"?e=window:typeof self<"u"?e=self:e={},e})();c();f();m();function W(e){for(var t=[],s=1;s{if(e==="transparent")return"transparent";if(t.find(i=>i.value===e))return e;let o=t.find(i=>i.name===s);if(o)return o.value;if(s){let i=t.map(g=>g.name).join(", ");M.warn(W` + Backgrounds Addon: could not find the default color "${s}". + These are the available colors for your story based on your configuration: + ${i}. + `)}return"transparent"};c();f();m();var T=__REACT__,{Children:je,Component:Ve,Fragment:w,Profiler:Ze,PureComponent:Je,StrictMode:Qe,Suspense:Xe,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:et,cloneElement:tt,createContext:rt,createElement:nt,createFactory:ot,createRef:it,forwardRef:at,isValidElement:st,lazy:lt,memo:P,useCallback:U,useContext:ut,useDebugValue:dt,useEffect:ct,useImperativeHandle:ft,useLayoutEffect:mt,useMemo:j,useReducer:pt,useRef:ht,useState:V,version:gt}=__REACT__;c();f();m();var _t=__STORYBOOKAPI__,{ActiveTabs:Et,Consumer:vt,ManagerContext:Ot,Provider:kt,addons:N,combineParameters:It,controlOrMetaKey:xt,controlOrMetaSymbol:Ct,eventMatchesShortcut:At,eventToShortcut:Bt,isMacLike:Mt,isShortcutTaken:Lt,keyToSymbol:Rt,merge:wt,mockChannel:Pt,optionOrAltSymbol:Nt,shortcutMatchesShortcut:Gt,shortcutToHumanString:Ht,types:Z,useAddonState:Dt,useArgTypes:zt,useArgs:qt,useChannel:Kt,useGlobalTypes:Ft,useGlobals:G,useParameter:H,useSharedState:Yt,useStoryPrepared:Wt,useStorybookApi:$t,useStorybookState:Ut}=__STORYBOOKAPI__;var K=de(Q(),1);c();f();m();var rr=__STORYBOOKCOMPONENTS__,{A:nr,ActionBar:or,AddonPanel:ir,Badge:ar,Bar:sr,Blockquote:lr,Button:ur,Code:dr,DL:cr,Div:fr,DocumentWrapper:mr,ErrorFormatter:pr,FlexBar:hr,Form:gr,H1:yr,H2:br,H3:Sr,H4:Tr,H5:_r,H6:Er,HR:vr,IconButton:z,IconButtonSkeleton:Or,Icons:q,Img:kr,LI:Ir,Link:xr,ListItem:Cr,Loader:Ar,OL:Br,P:Mr,Placeholder:Lr,Pre:Rr,ResetWrapper:wr,ScrollArea:Pr,Separator:Nr,Spaced:Gr,Span:Hr,StorybookIcon:Dr,StorybookLogo:zr,Symbols:qr,SyntaxHighlighter:Kr,TT:Fr,TabBar:Yr,TabButton:Wr,TabWrapper:$r,Table:Ur,Tabs:jr,TabsState:Vr,TooltipLinkList:X,TooltipMessage:Zr,TooltipNote:Jr,UL:Qr,WithTooltip:ee,WithTooltipPure:Xr,Zoom:en,codeCommon:tn,components:rn,createCopyToClipboardFunction:nn,getStoryHref:on,icons:an,interleaveSeparators:sn,nameSpaceClassNames:ln,resetComponents:un,withReset:dn}=__STORYBOOKCOMPONENTS__;c();f();m();var hn=__STORYBOOKTHEMING__,{CacheProvider:gn,ClassNames:yn,Global:bn,ThemeProvider:Sn,background:Tn,color:_n,convert:En,create:vn,createCache:On,createGlobal:kn,createReset:In,css:xn,darken:Cn,ensure:An,ignoreSsrWarning:Bn,isPropValid:Mn,jsx:Ln,keyframes:Rn,lighten:wn,styled:te,themes:Pn,typography:Nn,useTheme:Gn,withTheme:Hn}=__STORYBOOKTHEMING__;var ce=te.span(({background:e})=>({borderRadius:"1rem",display:"block",height:"1rem",width:"1rem",background:e}),({theme:e})=>({boxShadow:`${e.appBorderColor} 0 0 0 1px inset`})),re=(0,K.default)(1e3)((e,t,s,o,i,g)=>({id:e||t,title:t,onClick:()=>{i({selected:s,name:t})},value:s,right:o?T.createElement(ce,{background:s}):void 0,active:g})),fe=(0,K.default)(10)((e,t,s)=>{let o=e.map(({name:i,value:g})=>re(null,i,g,!0,s,g===t));return t!=="transparent"?[re("reset","Clear background","transparent",null,s,!1),...o]:o}),me={default:null,disable:!0,values:[]},pe=P(function(){let e=H(k,me),[t,s]=V(!1),[o,i]=G(),g=o[k]?.value,l=j(()=>$(g,e.values,e.default),[e,g]);Array.isArray(e)&&M.warn("Addon Backgrounds api has changed in Storybook 6.0. Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md");let n=U(r=>{i({[k]:{...o[k],value:r}})},[e,o,i]);return e.disable?null:T.createElement(w,null,T.createElement(ee,{placement:"top",closeOnOutsideClick:!0,tooltip:({onHide:r})=>T.createElement(X,{links:fe(e.values,l,({selected:u})=>{l!==u&&n(u),r()})}),onVisibleChange:s},T.createElement(z,{key:"background",title:"Change the background of the preview",active:l!=="transparent"||t},T.createElement(q,{icon:"photo"}))))}),he=P(function(){let[e,t]=G(),{grid:s}=H(k,{grid:{disable:!1}});if(s?.disable)return null;let o=e[k]?.grid||!1;return T.createElement(z,{key:"background",active:o,title:"Apply a grid to the preview",onClick:()=>t({[k]:{...e[k],grid:!o}})},T.createElement(q,{icon:"grid"}))});N.register(R,()=>{N.add(R,{title:"Backgrounds",id:"backgrounds",type:Z.TOOL,match:({viewMode:e})=>!!(e&&e.match(/^(story|docs)$/)),render:()=>T.createElement(w,null,T.createElement(pe,null),T.createElement(he,null))})}); +}catch(e){ console.error("[Storybook] One of your manager-entries failed: " + import.meta.url, e); } +//# sourceMappingURL=manager-bundle.js.map diff --git a/sb-addons/essentials-backgrounds-2/manager-bundle.js.LEGAL.txt b/sb-addons/essentials-backgrounds-2/manager-bundle.js.LEGAL.txt new file mode 100644 index 00000000..e69de29b diff --git a/sb-addons/essentials-backgrounds-2/manager-bundle.js.map b/sb-addons/essentials-backgrounds-2/manager-bundle.js.map new file mode 100644 index 00000000..2ed061ee --- /dev/null +++ b/sb-addons/essentials-backgrounds-2/manager-bundle.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["", "", "", "../../../node_modules/memoizerific/memoizerific.js", "../../../node_modules/.cache/sb-manager/essentials-backgrounds-2/manager-bundle.js", "../../../node_modules/@storybook/addon-essentials/dist/backgrounds/manager.mjs", "../../../node_modules/@storybook/addon-backgrounds/dist/manager.mjs", "../../../node_modules/@storybook/addon-backgrounds/dist/chunk-GRJZJKJ4.mjs", "../../../node_modules/@storybook/global/dist/index.mjs", "../../../node_modules/ts-dedent/src/index.ts", "global-externals:@storybook/client-logger", "global-externals:react", "global-externals:@storybook/manager-api", "global-externals:@storybook/components", "global-externals:@storybook/theming"], + "sourcesContent": ["", "", "", "(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.memoizerific = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= 0) {\n\t\tthis.lastItem = this.list[index];\n\t\treturn this.list[index].val;\n\t}\n\n\treturn undefined;\n};\n\nSimilar.prototype.set = function(key, val) {\n\tvar index;\n\n\tif (this.lastItem && this.isEqual(this.lastItem.key, key)) {\n\t\tthis.lastItem.val = val;\n\t\treturn this;\n\t}\n\n\tindex = this.indexOf(key);\n\tif (index >= 0) {\n\t\tthis.lastItem = this.list[index];\n\t\tthis.list[index].val = val;\n\t\treturn this;\n\t}\n\n\tthis.lastItem = { key: key, val: val };\n\tthis.list.push(this.lastItem);\n\tthis.size++;\n\n\treturn this;\n};\n\nSimilar.prototype.delete = function(key) {\n\tvar index;\n\n\tif (this.lastItem && this.isEqual(this.lastItem.key, key)) {\n\t\tthis.lastItem = undefined;\n\t}\n\n\tindex = this.indexOf(key);\n\tif (index >= 0) {\n\t\tthis.size--;\n\t\treturn this.list.splice(index, 1)[0];\n\t}\n\n\treturn undefined;\n};\n\n\n// important that has() doesn't use get() in case an existing key has a falsy value, in which case has() would return false\nSimilar.prototype.has = function(key) {\n\tvar index;\n\n\tif (this.lastItem && this.isEqual(this.lastItem.key, key)) {\n\t\treturn true;\n\t}\n\n\tindex = this.indexOf(key);\n\tif (index >= 0) {\n\t\tthis.lastItem = this.list[index];\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\nSimilar.prototype.forEach = function(callback, thisArg) {\n\tvar i;\n\tfor (i = 0; i < this.size; i++) {\n\t\tcallback.call(thisArg || this, this.list[i].val, this.list[i].key, this);\n\t}\n};\n\nSimilar.prototype.indexOf = function(key) {\n\tvar i;\n\tfor (i = 0; i < this.size; i++) {\n\t\tif (this.isEqual(this.list[i].key, key)) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n// check if the numbers are equal, or whether they are both precisely NaN (isNaN returns true for all non-numbers)\nSimilar.prototype.isEqual = function(val1, val2) {\n\treturn val1 === val2 || (val1 !== val1 && val2 !== val2);\n};\n\nmodule.exports = Similar;\n},{}],3:[function(_dereq_,module,exports){\nvar MapOrSimilar = _dereq_('map-or-similar');\n\nmodule.exports = function (limit) {\n\tvar cache = new MapOrSimilar(undefined === 'true'),\n\t\tlru = [];\n\n\treturn function (fn) {\n\t\tvar memoizerific = function () {\n\t\t\tvar currentCache = cache,\n\t\t\t\tnewMap,\n\t\t\t\tfnResult,\n\t\t\t\targsLengthMinusOne = arguments.length - 1,\n\t\t\t\tlruPath = Array(argsLengthMinusOne + 1),\n\t\t\t\tisMemoized = true,\n\t\t\t\ti;\n\n\t\t\tif ((memoizerific.numArgs || memoizerific.numArgs === 0) && memoizerific.numArgs !== argsLengthMinusOne + 1) {\n\t\t\t\tthrow new Error('Memoizerific functions should always be called with the same number of arguments');\n\t\t\t}\n\n\t\t\t// loop through each argument to traverse the map tree\n\t\t\tfor (i = 0; i < argsLengthMinusOne; i++) {\n\t\t\t\tlruPath[i] = {\n\t\t\t\t\tcacheItem: currentCache,\n\t\t\t\t\targ: arguments[i]\n\t\t\t\t};\n\n\t\t\t\t// climb through the hierarchical map tree until the second-last argument has been found, or an argument is missing.\n\t\t\t\t// if all arguments up to the second-last have been found, this will potentially be a cache hit (determined later)\n\t\t\t\tif (currentCache.has(arguments[i])) {\n\t\t\t\t\tcurrentCache = currentCache.get(arguments[i]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tisMemoized = false;\n\n\t\t\t\t// make maps until last value\n\t\t\t\tnewMap = new MapOrSimilar(undefined === 'true');\n\t\t\t\tcurrentCache.set(arguments[i], newMap);\n\t\t\t\tcurrentCache = newMap;\n\t\t\t}\n\n\t\t\t// we are at the last arg, check if it is really memoized\n\t\t\tif (isMemoized) {\n\t\t\t\tif (currentCache.has(arguments[argsLengthMinusOne])) {\n\t\t\t\t\tfnResult = currentCache.get(arguments[argsLengthMinusOne]);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tisMemoized = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!isMemoized) {\n\t\t\t\tfnResult = fn.apply(null, arguments);\n\t\t\t\tcurrentCache.set(arguments[argsLengthMinusOne], fnResult);\n\t\t\t}\n\n\t\t\tif (limit > 0) {\n\t\t\t\tlruPath[argsLengthMinusOne] = {\n\t\t\t\t\tcacheItem: currentCache,\n\t\t\t\t\targ: arguments[argsLengthMinusOne]\n\t\t\t\t};\n\n\t\t\t\tif (isMemoized) {\n\t\t\t\t\tmoveToMostRecentLru(lru, lruPath);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlru.push(lruPath);\n\t\t\t\t}\n\n\t\t\t\tif (lru.length > limit) {\n\t\t\t\t\tremoveCachedResult(lru.shift());\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tmemoizerific.wasMemoized = isMemoized;\n\t\t\tmemoizerific.numArgs = argsLengthMinusOne + 1;\n\n\t\t\treturn fnResult;\n\t\t};\n\n\t\tmemoizerific.limit = limit;\n\t\tmemoizerific.wasMemoized = false;\n\t\tmemoizerific.cache = cache;\n\t\tmemoizerific.lru = lru;\n\n\t\treturn memoizerific;\n\t};\n};\n\n// move current args to most recent position\nfunction moveToMostRecentLru(lru, lruPath) {\n\tvar lruLen = lru.length,\n\t\tlruPathLen = lruPath.length,\n\t\tisMatch,\n\t\ti, ii;\n\n\tfor (i = 0; i < lruLen; i++) {\n\t\tisMatch = true;\n\t\tfor (ii = 0; ii < lruPathLen; ii++) {\n\t\t\tif (!isEqual(lru[i][ii].arg, lruPath[ii].arg)) {\n\t\t\t\tisMatch = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (isMatch) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tlru.push(lru.splice(i, 1)[0]);\n}\n\n// remove least recently used cache item and all dead branches\nfunction removeCachedResult(removedLru) {\n\tvar removedLruLen = removedLru.length,\n\t\tcurrentLru = removedLru[removedLruLen - 1],\n\t\ttmp,\n\t\ti;\n\n\tcurrentLru.cacheItem.delete(currentLru.arg);\n\n\t// walk down the tree removing dead branches (size 0) along the way\n\tfor (i = removedLruLen - 2; i >= 0; i--) {\n\t\tcurrentLru = removedLru[i];\n\t\ttmp = currentLru.cacheItem.get(currentLru.arg);\n\n\t\tif (!tmp || !tmp.size) {\n\t\t\tcurrentLru.cacheItem.delete(currentLru.arg);\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n// check if the numbers are equal, or whether they are both precisely NaN (isNaN returns true for all non-numbers)\nfunction isEqual(val1, val2) {\n\treturn val1 === val2 || (val1 !== val1 && val2 !== val2);\n}\n},{\"map-or-similar\":1}]},{},[3])(3)\n});", "import '/home/runner/work/reagraph/reagraph/node_modules/@storybook/addon-essentials/dist/backgrounds/manager.mjs';", "export * from '@storybook/addon-backgrounds/manager';\n", "import { PARAM_KEY, getBackgroundColorByName, ADDON_ID } from './chunk-GRJZJKJ4.mjs';\nimport React, { memo, useState, useMemo, useCallback, Fragment } from 'react';\nimport { useParameter, useGlobals, addons, types } from '@storybook/manager-api';\nimport memoize from 'memoizerific';\nimport { logger } from '@storybook/client-logger';\nimport { WithTooltip, TooltipLinkList, IconButton, Icons } from '@storybook/components';\nimport { styled } from '@storybook/theming';\n\nvar ColorIcon=styled.span(({background})=>({borderRadius:\"1rem\",display:\"block\",height:\"1rem\",width:\"1rem\",background}),({theme})=>({boxShadow:`${theme.appBorderColor} 0 0 0 1px inset`}));var createBackgroundSelectorItem=memoize(1e3)((id,name,value,hasSwatch,change,active)=>({id:id||name,title:name,onClick:()=>{change({selected:value,name});},value,right:hasSwatch?React.createElement(ColorIcon,{background:value}):void 0,active})),getDisplayedItems=memoize(10)((backgrounds,selectedBackgroundColor,change)=>{let backgroundSelectorItems=backgrounds.map(({name,value})=>createBackgroundSelectorItem(null,name,value,!0,change,value===selectedBackgroundColor));return selectedBackgroundColor!==\"transparent\"?[createBackgroundSelectorItem(\"reset\",\"Clear background\",\"transparent\",null,change,!1),...backgroundSelectorItems]:backgroundSelectorItems}),DEFAULT_BACKGROUNDS_CONFIG={default:null,disable:!0,values:[]},BackgroundSelector=memo(function(){let backgroundsConfig=useParameter(PARAM_KEY,DEFAULT_BACKGROUNDS_CONFIG),[isTooltipVisible,setIsTooltipVisible]=useState(!1),[globals,updateGlobals]=useGlobals(),globalsBackgroundColor=globals[PARAM_KEY]?.value,selectedBackgroundColor=useMemo(()=>getBackgroundColorByName(globalsBackgroundColor,backgroundsConfig.values,backgroundsConfig.default),[backgroundsConfig,globalsBackgroundColor]);Array.isArray(backgroundsConfig)&&logger.warn(\"Addon Backgrounds api has changed in Storybook 6.0. Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md\");let onBackgroundChange=useCallback(value=>{updateGlobals({[PARAM_KEY]:{...globals[PARAM_KEY],value}});},[backgroundsConfig,globals,updateGlobals]);return backgroundsConfig.disable?null:React.createElement(Fragment,null,React.createElement(WithTooltip,{placement:\"top\",closeOnOutsideClick:!0,tooltip:({onHide})=>React.createElement(TooltipLinkList,{links:getDisplayedItems(backgroundsConfig.values,selectedBackgroundColor,({selected})=>{selectedBackgroundColor!==selected&&onBackgroundChange(selected),onHide();})}),onVisibleChange:setIsTooltipVisible},React.createElement(IconButton,{key:\"background\",title:\"Change the background of the preview\",active:selectedBackgroundColor!==\"transparent\"||isTooltipVisible},React.createElement(Icons,{icon:\"photo\"}))))});var GridSelector=memo(function(){let[globals,updateGlobals]=useGlobals(),{grid}=useParameter(PARAM_KEY,{grid:{disable:!1}});if(grid?.disable)return null;let isActive=globals[PARAM_KEY]?.grid||!1;return React.createElement(IconButton,{key:\"background\",active:isActive,title:\"Apply a grid to the preview\",onClick:()=>updateGlobals({[PARAM_KEY]:{...globals[PARAM_KEY],grid:!isActive}})},React.createElement(Icons,{icon:\"grid\"}))});addons.register(ADDON_ID,()=>{addons.add(ADDON_ID,{title:\"Backgrounds\",id:\"backgrounds\",type:types.TOOL,match:({viewMode})=>!!(viewMode&&viewMode.match(/^(story|docs)$/)),render:()=>React.createElement(Fragment,null,React.createElement(BackgroundSelector,null),React.createElement(GridSelector,null))});});\n", "import { global } from '@storybook/global';\nimport { dedent } from 'ts-dedent';\nimport { logger } from '@storybook/client-logger';\n\nvar ADDON_ID=\"storybook/background\",PARAM_KEY=\"backgrounds\";var {document,window}=global,isReduceMotionEnabled=()=>window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches,getBackgroundColorByName=(currentSelectedValue,backgrounds=[],defaultName)=>{if(currentSelectedValue===\"transparent\")return \"transparent\";if(backgrounds.find(background=>background.value===currentSelectedValue))return currentSelectedValue;let defaultBackground=backgrounds.find(background=>background.name===defaultName);if(defaultBackground)return defaultBackground.value;if(defaultName){let availableColors=backgrounds.map(background=>background.name).join(\", \");logger.warn(dedent`\n Backgrounds Addon: could not find the default color \"${defaultName}\".\n These are the available colors for your story based on your configuration:\n ${availableColors}.\n `);}return \"transparent\"},clearStyles=selector=>{(Array.isArray(selector)?selector:[selector]).forEach(clearStyle);},clearStyle=selector=>{let element=document.getElementById(selector);element&&element.parentElement.removeChild(element);},addGridStyle=(selector,css)=>{let existingStyle=document.getElementById(selector);if(existingStyle)existingStyle.innerHTML!==css&&(existingStyle.innerHTML=css);else {let style=document.createElement(\"style\");style.setAttribute(\"id\",selector),style.innerHTML=css,document.head.appendChild(style);}},addBackgroundStyle=(selector,css,storyId)=>{let existingStyle=document.getElementById(selector);if(existingStyle)existingStyle.innerHTML!==css&&(existingStyle.innerHTML=css);else {let style=document.createElement(\"style\");style.setAttribute(\"id\",selector),style.innerHTML=css;let gridStyleSelector=`addon-backgrounds-grid${storyId?`-docs-${storyId}`:\"\"}`,existingGridStyle=document.getElementById(gridStyleSelector);existingGridStyle?existingGridStyle.parentElement.insertBefore(style,existingGridStyle):document.head.appendChild(style);}};\n\nexport { ADDON_ID, PARAM_KEY, addBackgroundStyle, addGridStyle, clearStyles, getBackgroundColorByName, isReduceMotionEnabled };\n", "// src/index.ts\nvar scope = (() => {\n let win;\n if (typeof window !== \"undefined\") {\n win = window;\n } else if (typeof globalThis !== \"undefined\") {\n win = globalThis;\n } else if (typeof global !== \"undefined\") {\n win = global;\n } else if (typeof self !== \"undefined\") {\n win = self;\n } else {\n win = {};\n }\n return win;\n})();\nexport {\n scope as global\n};\n", "export function dedent(\n templ: TemplateStringsArray | string,\n ...values: unknown[]\n): string {\n let strings = Array.from(typeof templ === 'string' ? [templ] : templ);\n\n // 1. Remove trailing whitespace.\n strings[strings.length - 1] = strings[strings.length - 1].replace(\n /\\r?\\n([\\t ]*)$/,\n '',\n );\n\n // 2. Find all line breaks to determine the highest common indentation level.\n const indentLengths = strings.reduce((arr, str) => {\n const matches = str.match(/\\n([\\t ]+|(?!\\s).)/g);\n if (matches) {\n return arr.concat(\n matches.map((match) => match.match(/[\\t ]/g)?.length ?? 0),\n );\n }\n return arr;\n }, []);\n\n // 3. Remove the common indentation from all strings.\n if (indentLengths.length) {\n const pattern = new RegExp(`\\n[\\t ]{${Math.min(...indentLengths)}}`, 'g');\n\n strings = strings.map((str) => str.replace(pattern, '\\n'));\n }\n\n // 4. Remove leading whitespace.\n strings[0] = strings[0].replace(/^\\r?\\n/, '');\n\n // 5. Perform interpolation.\n let string = strings[0];\n\n values.forEach((value, i) => {\n // 5.1 Read current indentation level\n const endentations = string.match(/(?:^|\\n)( *)$/)\n const endentation = endentations ? endentations[1] : ''\n let indentedValue = value\n // 5.2 Add indentation to values with multiline strings\n if (typeof value === 'string' && value.includes('\\n')) {\n indentedValue = String(value)\n .split('\\n')\n .map((str, i) => {\n return i === 0 ? str : `${endentation}${str}`\n })\n .join('\\n');\n }\n\n string += indentedValue + strings[i + 1];\n });\n\n return string;\n}\n\nexport default dedent;\n", "export default __STORYBOOKCLIENTLOGGER__;\nconst { deprecate, logger, once, pretty } = __STORYBOOKCLIENTLOGGER__;\nexport { deprecate, logger, once, pretty };", "export default __REACT__;\nconst { Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version } = __REACT__;\nexport { Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version };", "export default __STORYBOOKAPI__;\nconst { ActiveTabs, Consumer, ManagerContext, Provider, addons, combineParameters, controlOrMetaKey, controlOrMetaSymbol, eventMatchesShortcut, eventToShortcut, isMacLike, isShortcutTaken, keyToSymbol, merge, mockChannel, optionOrAltSymbol, shortcutMatchesShortcut, shortcutToHumanString, types, useAddonState, useArgTypes, useArgs, useChannel, useGlobalTypes, useGlobals, useParameter, useSharedState, useStoryPrepared, useStorybookApi, useStorybookState } = __STORYBOOKAPI__;\nexport { ActiveTabs, Consumer, ManagerContext, Provider, addons, combineParameters, controlOrMetaKey, controlOrMetaSymbol, eventMatchesShortcut, eventToShortcut, isMacLike, isShortcutTaken, keyToSymbol, merge, mockChannel, optionOrAltSymbol, shortcutMatchesShortcut, shortcutToHumanString, types, useAddonState, useArgTypes, useArgs, useChannel, useGlobalTypes, useGlobals, useParameter, useSharedState, useStoryPrepared, useStorybookApi, useStorybookState };", "export default __STORYBOOKCOMPONENTS__;\nconst { A, ActionBar, AddonPanel, Badge, Bar, Blockquote, Button, Code, DL, Div, DocumentWrapper, ErrorFormatter, FlexBar, Form, H1, H2, H3, H4, H5, H6, HR, IconButton, IconButtonSkeleton, Icons, Img, LI, Link, ListItem, Loader, OL, P, Placeholder, Pre, ResetWrapper, ScrollArea, Separator, Spaced, Span, StorybookIcon, StorybookLogo, Symbols, SyntaxHighlighter, TT, TabBar, TabButton, TabWrapper, Table, Tabs, TabsState, TooltipLinkList, TooltipMessage, TooltipNote, UL, WithTooltip, WithTooltipPure, Zoom, codeCommon, components, createCopyToClipboardFunction, getStoryHref, icons, interleaveSeparators, nameSpaceClassNames, resetComponents, withReset } = __STORYBOOKCOMPONENTS__;\nexport { A, ActionBar, AddonPanel, Badge, Bar, Blockquote, Button, Code, DL, Div, DocumentWrapper, ErrorFormatter, FlexBar, Form, H1, H2, H3, H4, H5, H6, HR, IconButton, IconButtonSkeleton, Icons, Img, LI, Link, ListItem, Loader, OL, P, Placeholder, Pre, ResetWrapper, ScrollArea, Separator, Spaced, Span, StorybookIcon, StorybookLogo, Symbols, SyntaxHighlighter, TT, TabBar, TabButton, TabWrapper, Table, Tabs, TabsState, TooltipLinkList, TooltipMessage, TooltipNote, UL, WithTooltip, WithTooltipPure, Zoom, codeCommon, components, createCopyToClipboardFunction, getStoryHref, icons, interleaveSeparators, nameSpaceClassNames, resetComponents, withReset };", "export default __STORYBOOKTHEMING__;\nconst { CacheProvider, ClassNames, Global, ThemeProvider, background, color, convert, create, createCache, createGlobal, createReset, css, darken, ensure, ignoreSsrWarning, isPropValid, jsx, keyframes, lighten, styled, themes, typography, useTheme, withTheme } = __STORYBOOKTHEMING__;\nexport { CacheProvider, ClassNames, Global, ThemeProvider, background, color, convert, create, createCache, createGlobal, createReset, css, darken, ensure, ignoreSsrWarning, isPropValid, jsx, keyframes, lighten, styled, themes, typography, useTheme, withTheme };"], + "mappings": "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", + "names": ["init_define_module", "__esmMin", "init_define_process_env", "__esmMin", "init_define_process_env_NODE_PATH", "__esmMin", "require_memoizerific", "__commonJSMin", "exports", "module", "init_define_module", "init_define_process_env", "init_define_process_env_NODE_PATH", "f", "g", "define", "e", "t", "n", "r", "s", "o", "u", "a", "__require", "i", "l", "_dereq_", "forceSimilar", "Similar", "key", "index", "val", "callback", "thisArg", "val1", "val2", "MapOrSimilar", "limit", "cache", "lru", "fn", "memoizerific", "currentCache", "newMap", "fnResult", "argsLengthMinusOne", "lruPath", "isMemoized", "moveToMostRecentLru", "removeCachedResult", "lruLen", "lruPathLen", "isMatch", "ii", "isEqual", "removedLru", "removedLruLen", "currentLru", "tmp", "init_define_module", "init_define_process_env", "init_define_process_env_NODE_PATH", "init_define_module", "init_define_process_env", "init_define_process_env_NODE_PATH", "init_define_module", "init_define_process_env", "init_define_process_env_NODE_PATH", "init_define_module", "init_define_process_env", "init_define_process_env_NODE_PATH", "init_define_module", "init_define_process_env", "init_define_process_env_NODE_PATH", "scope", "win", "init_define_module", "init_define_process_env", "init_define_process_env_NODE_PATH", "dedent", "templ", "values", "_i", "strings", "indentLengths", "arr", "str", "matches", "match", "_a", "_b", "pattern_1", "string", "value", "i", "endentations", "endentation", "indentedValue", "init_define_module", "init_define_process_env", "init_define_process_env_NODE_PATH", "client_logger_default", "deprecate", "logger", "once", "pretty", "ADDON_ID", "PARAM_KEY", "document", "window", "scope", "getBackgroundColorByName", "currentSelectedValue", "backgrounds", "defaultName", "background", "defaultBackground", "availableColors", "logger", "dedent", "init_define_module", "init_define_process_env", "init_define_process_env_NODE_PATH", "react_default", "Children", "Component", "Fragment", "Profiler", "PureComponent", "StrictMode", "Suspense", "__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED", "cloneElement", "createContext", "createElement", "createFactory", "createRef", "forwardRef", "isValidElement", "lazy", "memo", "useCallback", "useContext", "useDebugValue", "useEffect", "useImperativeHandle", "useLayoutEffect", "useMemo", "useReducer", "useRef", "useState", "version", "init_define_module", "init_define_process_env", "init_define_process_env_NODE_PATH", "manager_api_default", "ActiveTabs", "Consumer", "ManagerContext", "Provider", "addons", "combineParameters", "controlOrMetaKey", "controlOrMetaSymbol", "eventMatchesShortcut", "eventToShortcut", "isMacLike", "isShortcutTaken", "keyToSymbol", "merge", "mockChannel", "optionOrAltSymbol", "shortcutMatchesShortcut", "shortcutToHumanString", "types", "useAddonState", "useArgTypes", "useArgs", "useChannel", "useGlobalTypes", "useGlobals", "useParameter", "useSharedState", "useStoryPrepared", "useStorybookApi", "useStorybookState", "import_memoizerific", "init_define_module", "init_define_process_env", "init_define_process_env_NODE_PATH", "components_default", "A", "ActionBar", "AddonPanel", "Badge", "Bar", "Blockquote", "Button", "Code", "DL", "Div", "DocumentWrapper", "ErrorFormatter", "FlexBar", "Form", "H1", "H2", "H3", "H4", "H5", "H6", "HR", "IconButton", "IconButtonSkeleton", "Icons", "Img", "LI", "Link", "ListItem", "Loader", "OL", "P", "Placeholder", "Pre", "ResetWrapper", "ScrollArea", "Separator", "Spaced", "Span", "StorybookIcon", "StorybookLogo", "Symbols", "SyntaxHighlighter", "TT", "TabBar", "TabButton", "TabWrapper", "Table", "Tabs", "TabsState", "TooltipLinkList", "TooltipMessage", "TooltipNote", "UL", "WithTooltip", "WithTooltipPure", "Zoom", "codeCommon", "components", "createCopyToClipboardFunction", "getStoryHref", "icons", "interleaveSeparators", "nameSpaceClassNames", "resetComponents", "withReset", "init_define_module", "init_define_process_env", "init_define_process_env_NODE_PATH", "theming_default", "CacheProvider", "ClassNames", "Global", "ThemeProvider", "background", "color", "convert", "create", "createCache", "createGlobal", "createReset", "css", "darken", "ensure", "ignoreSsrWarning", "isPropValid", "jsx", "keyframes", "lighten", "styled", "themes", "typography", "useTheme", "withTheme", "ColorIcon", "styled", "background", "theme", "createBackgroundSelectorItem", "memoize", "id", "name", "value", "hasSwatch", "change", "active", "react_default", "getDisplayedItems", "backgrounds", "selectedBackgroundColor", "backgroundSelectorItems", "DEFAULT_BACKGROUNDS_CONFIG", "BackgroundSelector", "memo", "backgroundsConfig", "useParameter", "PARAM_KEY", "isTooltipVisible", "setIsTooltipVisible", "useState", "globals", "updateGlobals", "useGlobals", "globalsBackgroundColor", "useMemo", "getBackgroundColorByName", "logger", "onBackgroundChange", "useCallback", "Fragment", "WithTooltip", "onHide", "TooltipLinkList", "selected", "IconButton", "Icons", "GridSelector", "grid", "isActive", "addons", "ADDON_ID", "types", "viewMode"] +} diff --git a/sb-addons/essentials-controls-0/manager-bundle.js b/sb-addons/essentials-controls-0/manager-bundle.js new file mode 100644 index 00000000..4966b7f0 --- /dev/null +++ b/sb-addons/essentials-controls-0/manager-bundle.js @@ -0,0 +1,117 @@ +try{ +var vy=Object.create;var ha=Object.defineProperty;var Cy=Object.getOwnPropertyDescriptor;var xy=Object.getOwnPropertyNames;var Fy=Object.getPrototypeOf,Sy=Object.prototype.hasOwnProperty;var ir=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var Xe=(e,t)=>()=>(e&&(t=e(e=0)),t);var F=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),fi=(e,t)=>{for(var r in t)ha(e,r,{get:t[r],enumerable:!0})},wy=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of xy(t))!Sy.call(e,a)&&a!==r&&ha(e,a,{get:()=>t[a],enumerable:!(n=Cy(t,a))||n.enumerable});return e};var fe=(e,t,r)=>(r=e!=null?vy(Fy(e)):{},wy(t||!e||!e.__esModule?ha(r,"default",{value:e,enumerable:!0}):r,e));var l=Xe(()=>{});var c=Xe(()=>{});var p=Xe(()=>{});var m,Kr,Je,hi,XP,JP,QP,gi,ZP,he,sr,ya,eI,tI,rI,nI,mi,aI,ge,Ne,oI,me,uI,yi,rt,iI,Ce,ne,sI,wt=Xe(()=>{l();c();p();m=__REACT__,{Children:Kr,Component:Je,Fragment:hi,Profiler:XP,PureComponent:JP,StrictMode:QP,Suspense:gi,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:ZP,cloneElement:he,createContext:sr,createElement:ya,createFactory:eI,createRef:tI,forwardRef:rI,isValidElement:nI,lazy:mi,memo:aI,useCallback:ge,useContext:Ne,useDebugValue:oI,useEffect:me,useImperativeHandle:uI,useLayoutEffect:yi,useMemo:rt,useReducer:iI,useRef:Ce,useState:ne,version:sI}=__REACT__});var vi={};fi(vi,{A:()=>_y,ActionBar:()=>Da,AddonPanel:()=>va,Badge:()=>Oy,Bar:()=>Ry,Blockquote:()=>Py,Button:()=>Iy,Code:()=>Ca,DL:()=>ky,Div:()=>Ny,DocumentWrapper:()=>jy,ErrorFormatter:()=>xa,FlexBar:()=>Fa,Form:()=>we,H1:()=>My,H2:()=>Sa,H3:()=>wa,H4:()=>qy,H5:()=>Ly,H6:()=>$y,HR:()=>Uy,IconButton:()=>ht,IconButtonSkeleton:()=>Ba,Icons:()=>Be,Img:()=>zy,LI:()=>Hy,Link:()=>lr,ListItem:()=>Gy,Loader:()=>Ta,OL:()=>Wy,P:()=>Vy,Placeholder:()=>Ky,Pre:()=>Yy,ResetWrapper:()=>_a,ScrollArea:()=>Xy,Separator:()=>Jy,Spaced:()=>Qy,Span:()=>Zy,StorybookIcon:()=>e2,StorybookLogo:()=>t2,Symbols:()=>r2,SyntaxHighlighter:()=>Yr,TT:()=>n2,TabBar:()=>a2,TabButton:()=>o2,TabWrapper:()=>u2,Table:()=>i2,Tabs:()=>s2,TabsState:()=>Oa,TooltipLinkList:()=>l2,TooltipMessage:()=>c2,TooltipNote:()=>Ra,UL:()=>p2,WithTooltip:()=>Xr,WithTooltipPure:()=>Pa,Zoom:()=>Ia,codeCommon:()=>Bt,components:()=>ka,createCopyToClipboardFunction:()=>d2,default:()=>Ty,getStoryHref:()=>Na,icons:()=>f2,interleaveSeparators:()=>h2,nameSpaceClassNames:()=>ja,resetComponents:()=>g2,withReset:()=>Tt});var Ty,_y,Da,va,Oy,Ry,Py,Iy,Ca,ky,Ny,jy,xa,Fa,we,My,Sa,wa,qy,Ly,$y,Uy,ht,Ba,Be,zy,Hy,lr,Gy,Ta,Wy,Vy,Ky,Yy,_a,Xy,Jy,Qy,Zy,e2,t2,r2,Yr,n2,a2,o2,u2,i2,s2,Oa,l2,c2,Ra,p2,Xr,Pa,Ia,Bt,ka,d2,Na,f2,h2,ja,g2,Tt,cr=Xe(()=>{l();c();p();Ty=__STORYBOOKCOMPONENTS__,{A:_y,ActionBar:Da,AddonPanel:va,Badge:Oy,Bar:Ry,Blockquote:Py,Button:Iy,Code:Ca,DL:ky,Div:Ny,DocumentWrapper:jy,ErrorFormatter:xa,FlexBar:Fa,Form:we,H1:My,H2:Sa,H3:wa,H4:qy,H5:Ly,H6:$y,HR:Uy,IconButton:ht,IconButtonSkeleton:Ba,Icons:Be,Img:zy,LI:Hy,Link:lr,ListItem:Gy,Loader:Ta,OL:Wy,P:Vy,Placeholder:Ky,Pre:Yy,ResetWrapper:_a,ScrollArea:Xy,Separator:Jy,Spaced:Qy,Span:Zy,StorybookIcon:e2,StorybookLogo:t2,Symbols:r2,SyntaxHighlighter:Yr,TT:n2,TabBar:a2,TabButton:o2,TabWrapper:u2,Table:i2,Tabs:s2,TabsState:Oa,TooltipLinkList:l2,TooltipMessage:c2,TooltipNote:Ra,UL:p2,WithTooltip:Xr,WithTooltipPure:Pa,Zoom:Ia,codeCommon:Bt,components:ka,createCopyToClipboardFunction:d2,getStoryHref:Na,icons:f2,interleaveSeparators:h2,nameSpaceClassNames:ja,resetComponents:g2,withReset:Tt}=__STORYBOOKCOMPONENTS__});var Te,pr,Ma=Xe(()=>{l();c();p();Te=e=>`control-${e.replace(/\s+/g,"-")}`,pr=e=>`set-${e.replace(/\s+/g,"-")}`});var VI,KI,YI,XI,Ci,JI,QI,xi,ZI,e7,t7,r7,n7,a7,m2,Fi,o7,u7,i7,s7,q,qa,l7,Si,c7,La=Xe(()=>{l();c();p();VI=__STORYBOOKTHEMING__,{CacheProvider:KI,ClassNames:YI,Global:XI,ThemeProvider:Ci,background:JI,color:QI,convert:xi,create:ZI,createCache:e7,createGlobal:t7,createReset:r7,css:n7,darken:a7,ensure:m2,ignoreSsrWarning:Fi,isPropValid:o7,jsx:u7,keyframes:i7,lighten:s7,styled:q,themes:qa,typography:l7,useTheme:Si,withTheme:c7}=__STORYBOOKTHEMING__});var Xa=F((Rk,Pi)=>{l();c();p();function t1(e,t){for(var r=-1,n=e==null?0:e.length,a=Array(n);++r{l();c();p();function r1(){this.__data__=[],this.size=0}Ii.exports=r1});var Qr=F((Lk,Ni)=>{l();c();p();function n1(e,t){return e===t||e!==e&&t!==t}Ni.exports=n1});var mr=F((Hk,ji)=>{l();c();p();var a1=Qr();function o1(e,t){for(var r=e.length;r--;)if(a1(e[r][0],t))return r;return-1}ji.exports=o1});var qi=F((Kk,Mi)=>{l();c();p();var u1=mr(),i1=Array.prototype,s1=i1.splice;function l1(e){var t=this.__data__,r=u1(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():s1.call(t,r,1),--this.size,!0}Mi.exports=l1});var $i=F((Qk,Li)=>{l();c();p();var c1=mr();function p1(e){var t=this.__data__,r=c1(t,e);return r<0?void 0:t[r][1]}Li.exports=p1});var zi=F((rN,Ui)=>{l();c();p();var d1=mr();function f1(e){return d1(this.__data__,e)>-1}Ui.exports=f1});var Gi=F((uN,Hi)=>{l();c();p();var h1=mr();function g1(e,t){var r=this.__data__,n=h1(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}Hi.exports=g1});var yr=F((cN,Wi)=>{l();c();p();var m1=ki(),y1=qi(),b1=$i(),A1=zi(),E1=Gi();function Pt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{l();c();p();var D1=yr();function v1(){this.__data__=new D1,this.size=0}Vi.exports=v1});var Xi=F((bN,Yi)=>{l();c();p();function C1(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}Yi.exports=C1});var Qi=F((vN,Ji)=>{l();c();p();function x1(e){return this.__data__.get(e)}Ji.exports=x1});var es=F((SN,Zi)=>{l();c();p();function F1(e){return this.__data__.has(e)}Zi.exports=F1});var Ja=F((_N,ts)=>{l();c();p();var S1=typeof window=="object"&&window&&window.Object===Object&&window;ts.exports=S1});var je=F((IN,rs)=>{l();c();p();var w1=Ja(),B1=typeof self=="object"&&self&&self.Object===Object&&self,T1=w1||B1||Function("return this")();rs.exports=T1});var mt=F((MN,ns)=>{l();c();p();var _1=je(),O1=_1.Symbol;ns.exports=O1});var is=F((UN,us)=>{l();c();p();var as=mt(),os=Object.prototype,R1=os.hasOwnProperty,P1=os.toString,br=as?as.toStringTag:void 0;function I1(e){var t=R1.call(e,br),r=e[br];try{e[br]=void 0;var n=!0}catch{}var a=P1.call(e);return n&&(t?e[br]=r:delete e[br]),a}us.exports=I1});var ls=F((WN,ss)=>{l();c();p();var k1=Object.prototype,N1=k1.toString;function j1(e){return N1.call(e)}ss.exports=j1});var yt=F((XN,ds)=>{l();c();p();var cs=mt(),M1=is(),q1=ls(),L1="[object Null]",$1="[object Undefined]",ps=cs?cs.toStringTag:void 0;function U1(e){return e==null?e===void 0?$1:L1:ps&&ps in Object(e)?M1(e):q1(e)}ds.exports=U1});var Ue=F((ej,fs)=>{l();c();p();function z1(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}fs.exports=z1});var Qa=F((aj,hs)=>{l();c();p();var H1=yt(),G1=Ue(),W1="[object AsyncFunction]",V1="[object Function]",K1="[object GeneratorFunction]",Y1="[object Proxy]";function X1(e){if(!G1(e))return!1;var t=H1(e);return t==V1||t==K1||t==W1||t==Y1}hs.exports=X1});var ms=F((sj,gs)=>{l();c();p();var J1=je(),Q1=J1["__core-js_shared__"];gs.exports=Q1});var As=F((dj,bs)=>{l();c();p();var Za=ms(),ys=function(){var e=/[^.]+$/.exec(Za&&Za.keys&&Za.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Z1(e){return!!ys&&ys in e}bs.exports=Z1});var eo=F((mj,Es)=>{l();c();p();var eb=Function.prototype,tb=eb.toString;function rb(e){if(e!=null){try{return tb.call(e)}catch{}try{return e+""}catch{}}return""}Es.exports=rb});var vs=F((Ej,Ds)=>{l();c();p();var nb=Qa(),ab=As(),ob=Ue(),ub=eo(),ib=/[\\^$.*+?()[\]{}|]/g,sb=/^\[object .+?Constructor\]$/,lb=Function.prototype,cb=Object.prototype,pb=lb.toString,db=cb.hasOwnProperty,fb=RegExp("^"+pb.call(db).replace(ib,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function hb(e){if(!ob(e)||ab(e))return!1;var t=nb(e)?fb:sb;return t.test(ub(e))}Ds.exports=hb});var xs=F((xj,Cs)=>{l();c();p();function gb(e,t){return e?.[t]}Cs.exports=gb});var ut=F((Bj,Fs)=>{l();c();p();var mb=vs(),yb=xs();function bb(e,t){var r=yb(e,t);return mb(r)?r:void 0}Fs.exports=bb});var Zr=F((Rj,Ss)=>{l();c();p();var Ab=ut(),Eb=je(),Db=Ab(Eb,"Map");Ss.exports=Db});var Ar=F((Nj,ws)=>{l();c();p();var vb=ut(),Cb=vb(Object,"create");ws.exports=Cb});var _s=F((Lj,Ts)=>{l();c();p();var Bs=Ar();function xb(){this.__data__=Bs?Bs(null):{},this.size=0}Ts.exports=xb});var Rs=F((Hj,Os)=>{l();c();p();function Fb(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}Os.exports=Fb});var Is=F((Kj,Ps)=>{l();c();p();var Sb=Ar(),wb="__lodash_hash_undefined__",Bb=Object.prototype,Tb=Bb.hasOwnProperty;function _b(e){var t=this.__data__;if(Sb){var r=t[e];return r===wb?void 0:r}return Tb.call(t,e)?t[e]:void 0}Ps.exports=_b});var Ns=F((Qj,ks)=>{l();c();p();var Ob=Ar(),Rb=Object.prototype,Pb=Rb.hasOwnProperty;function Ib(e){var t=this.__data__;return Ob?t[e]!==void 0:Pb.call(t,e)}ks.exports=Ib});var Ms=F((rM,js)=>{l();c();p();var kb=Ar(),Nb="__lodash_hash_undefined__";function jb(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=kb&&t===void 0?Nb:t,this}js.exports=jb});var Ls=F((uM,qs)=>{l();c();p();var Mb=_s(),qb=Rs(),Lb=Is(),$b=Ns(),Ub=Ms();function It(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{l();c();p();var $s=Ls(),zb=yr(),Hb=Zr();function Gb(){this.size=0,this.__data__={hash:new $s,map:new(Hb||zb),string:new $s}}Us.exports=Gb});var Gs=F((hM,Hs)=>{l();c();p();function Wb(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}Hs.exports=Wb});var Er=F((bM,Ws)=>{l();c();p();var Vb=Gs();function Kb(e,t){var r=e.__data__;return Vb(t)?r[typeof t=="string"?"string":"hash"]:r.map}Ws.exports=Kb});var Ks=F((vM,Vs)=>{l();c();p();var Yb=Er();function Xb(e){var t=Yb(this,e).delete(e);return this.size-=t?1:0,t}Vs.exports=Xb});var Xs=F((SM,Ys)=>{l();c();p();var Jb=Er();function Qb(e){return Jb(this,e).get(e)}Ys.exports=Qb});var Qs=F((_M,Js)=>{l();c();p();var Zb=Er();function eA(e){return Zb(this,e).has(e)}Js.exports=eA});var el=F((IM,Zs)=>{l();c();p();var tA=Er();function rA(e,t){var r=tA(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}Zs.exports=rA});var en=F((MM,tl)=>{l();c();p();var nA=zs(),aA=Ks(),oA=Xs(),uA=Qs(),iA=el();function kt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{l();c();p();var sA=yr(),lA=Zr(),cA=en(),pA=200;function dA(e,t){var r=this.__data__;if(r instanceof sA){var n=r.__data__;if(!lA||n.length{l();c();p();var fA=yr(),hA=Ki(),gA=Xi(),mA=Qi(),yA=es(),bA=nl();function Nt(e){var t=this.__data__=new fA(e);this.size=t.size}Nt.prototype.clear=hA;Nt.prototype.delete=gA;Nt.prototype.get=mA;Nt.prototype.has=yA;Nt.prototype.set=bA;al.exports=Nt});var ul=F((XM,ol)=>{l();c();p();var AA="__lodash_hash_undefined__";function EA(e){return this.__data__.set(e,AA),this}ol.exports=EA});var sl=F((eq,il)=>{l();c();p();function DA(e){return this.__data__.has(e)}il.exports=DA});var to=F((aq,ll)=>{l();c();p();var vA=en(),CA=ul(),xA=sl();function rn(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new vA;++t{l();c();p();function FA(e,t){for(var r=-1,n=e==null?0:e.length;++r{l();c();p();function SA(e,t){return e.has(t)}dl.exports=SA});var no=F((mq,fl)=>{l();c();p();var wA=to(),BA=pl(),TA=ro(),_A=1,OA=2;function RA(e,t,r,n,a,o){var u=r&_A,i=e.length,s=t.length;if(i!=s&&!(u&&s>i))return!1;var d=o.get(e),y=o.get(t);if(d&&y)return d==t&&y==e;var A=-1,g=!0,h=r&OA?new wA:void 0;for(o.set(e,t),o.set(t,e);++A{l();c();p();var PA=je(),IA=PA.Uint8Array;hl.exports=IA});var ml=F((xq,gl)=>{l();c();p();function kA(e){var t=-1,r=Array(e.size);return e.forEach(function(n,a){r[++t]=[a,n]}),r}gl.exports=kA});var nn=F((Bq,yl)=>{l();c();p();function NA(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}yl.exports=NA});var vl=F((Rq,Dl)=>{l();c();p();var bl=mt(),Al=ao(),jA=Qr(),MA=no(),qA=ml(),LA=nn(),$A=1,UA=2,zA="[object Boolean]",HA="[object Date]",GA="[object Error]",WA="[object Map]",VA="[object Number]",KA="[object RegExp]",YA="[object Set]",XA="[object String]",JA="[object Symbol]",QA="[object ArrayBuffer]",ZA="[object DataView]",El=bl?bl.prototype:void 0,oo=El?El.valueOf:void 0;function eE(e,t,r,n,a,o,u){switch(r){case ZA:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case QA:return!(e.byteLength!=t.byteLength||!o(new Al(e),new Al(t)));case zA:case HA:case VA:return jA(+e,+t);case GA:return e.name==t.name&&e.message==t.message;case KA:case XA:return e==t+"";case WA:var i=qA;case YA:var s=n&$A;if(i||(i=LA),e.size!=t.size&&!s)return!1;var d=u.get(e);if(d)return d==t;n|=UA,u.set(e,t);var y=MA(i(e),i(t),n,a,o,u);return u.delete(e),y;case JA:if(oo)return oo.call(e)==oo.call(t)}return!1}Dl.exports=eE});var an=F((Nq,Cl)=>{l();c();p();function tE(e,t){for(var r=-1,n=t.length,a=e.length;++r{l();c();p();var rE=Array.isArray;xl.exports=rE});var uo=F((Hq,Fl)=>{l();c();p();var nE=an(),aE=ze();function oE(e,t,r){var n=t(e);return aE(e)?n:nE(n,r(e))}Fl.exports=oE});var wl=F((Kq,Sl)=>{l();c();p();function uE(e,t){for(var r=-1,n=e==null?0:e.length,a=0,o=[];++r{l();c();p();function iE(){return[]}Bl.exports=iE});var on=F((rL,_l)=>{l();c();p();var sE=wl(),lE=io(),cE=Object.prototype,pE=cE.propertyIsEnumerable,Tl=Object.getOwnPropertySymbols,dE=Tl?function(e){return e==null?[]:(e=Object(e),sE(Tl(e),function(t){return pE.call(e,t)}))}:lE;_l.exports=dE});var Rl=F((uL,Ol)=>{l();c();p();function fE(e,t){for(var r=-1,n=Array(e);++r{l();c();p();function hE(e){return e!=null&&typeof e=="object"}Pl.exports=hE});var kl=F((hL,Il)=>{l();c();p();var gE=yt(),mE=Ze(),yE="[object Arguments]";function bE(e){return mE(e)&&gE(e)==yE}Il.exports=bE});var un=F((bL,Ml)=>{l();c();p();var Nl=kl(),AE=Ze(),jl=Object.prototype,EE=jl.hasOwnProperty,DE=jl.propertyIsEnumerable,vE=Nl(function(){return arguments}())?Nl:function(e){return AE(e)&&EE.call(e,"callee")&&!DE.call(e,"callee")};Ml.exports=vE});var Ll=F((vL,ql)=>{l();c();p();function CE(){return!1}ql.exports=CE});var sn=F((Dr,jt)=>{l();c();p();var xE=je(),FE=Ll(),zl=typeof Dr=="object"&&Dr&&!Dr.nodeType&&Dr,$l=zl&&typeof jt=="object"&&jt&&!jt.nodeType&&jt,SE=$l&&$l.exports===zl,Ul=SE?xE.Buffer:void 0,wE=Ul?Ul.isBuffer:void 0,BE=wE||FE;jt.exports=BE});var ln=F((TL,Hl)=>{l();c();p();var TE=9007199254740991,_E=/^(?:0|[1-9]\d*)$/;function OE(e,t){var r=typeof e;return t=t??TE,!!t&&(r=="number"||r!="symbol"&&_E.test(e))&&e>-1&&e%1==0&&e{l();c();p();var RE=9007199254740991;function PE(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=RE}Gl.exports=PE});var Vl=F((jL,Wl)=>{l();c();p();var IE=yt(),kE=cn(),NE=Ze(),jE="[object Arguments]",ME="[object Array]",qE="[object Boolean]",LE="[object Date]",$E="[object Error]",UE="[object Function]",zE="[object Map]",HE="[object Number]",GE="[object Object]",WE="[object RegExp]",VE="[object Set]",KE="[object String]",YE="[object WeakMap]",XE="[object ArrayBuffer]",JE="[object DataView]",QE="[object Float32Array]",ZE="[object Float64Array]",eD="[object Int8Array]",tD="[object Int16Array]",rD="[object Int32Array]",nD="[object Uint8Array]",aD="[object Uint8ClampedArray]",oD="[object Uint16Array]",uD="[object Uint32Array]",ce={};ce[QE]=ce[ZE]=ce[eD]=ce[tD]=ce[rD]=ce[nD]=ce[aD]=ce[oD]=ce[uD]=!0;ce[jE]=ce[ME]=ce[XE]=ce[qE]=ce[JE]=ce[LE]=ce[$E]=ce[UE]=ce[zE]=ce[HE]=ce[GE]=ce[WE]=ce[VE]=ce[KE]=ce[YE]=!1;function iD(e){return NE(e)&&kE(e.length)&&!!ce[IE(e)]}Wl.exports=iD});var pn=F(($L,Kl)=>{l();c();p();function sD(e){return function(t){return e(t)}}Kl.exports=sD});var dn=F((vr,Mt)=>{l();c();p();var lD=Ja(),Yl=typeof vr=="object"&&vr&&!vr.nodeType&&vr,Cr=Yl&&typeof Mt=="object"&&Mt&&!Mt.nodeType&&Mt,cD=Cr&&Cr.exports===Yl,so=cD&&lD.process,pD=function(){try{var e=Cr&&Cr.require&&Cr.require("util").types;return e||so&&so.binding&&so.binding("util")}catch{}}();Mt.exports=pD});var lo=F((KL,Ql)=>{l();c();p();var dD=Vl(),fD=pn(),Xl=dn(),Jl=Xl&&Xl.isTypedArray,hD=Jl?fD(Jl):dD;Ql.exports=hD});var co=F((QL,Zl)=>{l();c();p();var gD=Rl(),mD=un(),yD=ze(),bD=sn(),AD=ln(),ED=lo(),DD=Object.prototype,vD=DD.hasOwnProperty;function CD(e,t){var r=yD(e),n=!r&&mD(e),a=!r&&!n&&bD(e),o=!r&&!n&&!a&&ED(e),u=r||n||a||o,i=u?gD(e.length,String):[],s=i.length;for(var d in e)(t||vD.call(e,d))&&!(u&&(d=="length"||a&&(d=="offset"||d=="parent")||o&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||AD(d,s)))&&i.push(d);return i}Zl.exports=CD});var fn=F((r$,ec)=>{l();c();p();var xD=Object.prototype;function FD(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||xD;return e===r}ec.exports=FD});var po=F((u$,tc)=>{l();c();p();function SD(e,t){return function(r){return e(t(r))}}tc.exports=SD});var nc=F((c$,rc)=>{l();c();p();var wD=po(),BD=wD(Object.keys,Object);rc.exports=BD});var oc=F((h$,ac)=>{l();c();p();var TD=fn(),_D=nc(),OD=Object.prototype,RD=OD.hasOwnProperty;function PD(e){if(!TD(e))return _D(e);var t=[];for(var r in Object(e))RD.call(e,r)&&r!="constructor"&&t.push(r);return t}ac.exports=PD});var fo=F((b$,uc)=>{l();c();p();var ID=Qa(),kD=cn();function ND(e){return e!=null&&kD(e.length)&&!ID(e)}uc.exports=ND});var qt=F((v$,ic)=>{l();c();p();var jD=co(),MD=oc(),qD=fo();function LD(e){return qD(e)?jD(e):MD(e)}ic.exports=LD});var ho=F((S$,sc)=>{l();c();p();var $D=uo(),UD=on(),zD=qt();function HD(e){return $D(e,zD,UD)}sc.exports=HD});var pc=F((_$,cc)=>{l();c();p();var lc=ho(),GD=1,WD=Object.prototype,VD=WD.hasOwnProperty;function KD(e,t,r,n,a,o){var u=r&GD,i=lc(e),s=i.length,d=lc(t),y=d.length;if(s!=y&&!u)return!1;for(var A=s;A--;){var g=i[A];if(!(u?g in t:VD.call(t,g)))return!1}var h=o.get(e),E=o.get(t);if(h&&E)return h==t&&E==e;var b=!0;o.set(e,t),o.set(t,e);for(var x=u;++A{l();c();p();var YD=ut(),XD=je(),JD=YD(XD,"DataView");dc.exports=JD});var gc=F((M$,hc)=>{l();c();p();var QD=ut(),ZD=je(),ev=QD(ZD,"Promise");hc.exports=ev});var go=F((U$,mc)=>{l();c();p();var tv=ut(),rv=je(),nv=tv(rv,"Set");mc.exports=nv});var bc=F((W$,yc)=>{l();c();p();var av=ut(),ov=je(),uv=av(ov,"WeakMap");yc.exports=uv});var xr=F((X$,Fc)=>{l();c();p();var mo=fc(),yo=Zr(),bo=gc(),Ao=go(),Eo=bc(),xc=yt(),Lt=eo(),Ac="[object Map]",iv="[object Object]",Ec="[object Promise]",Dc="[object Set]",vc="[object WeakMap]",Cc="[object DataView]",sv=Lt(mo),lv=Lt(yo),cv=Lt(bo),pv=Lt(Ao),dv=Lt(Eo),bt=xc;(mo&&bt(new mo(new ArrayBuffer(1)))!=Cc||yo&&bt(new yo)!=Ac||bo&&bt(bo.resolve())!=Ec||Ao&&bt(new Ao)!=Dc||Eo&&bt(new Eo)!=vc)&&(bt=function(e){var t=xc(e),r=t==iv?e.constructor:void 0,n=r?Lt(r):"";if(n)switch(n){case sv:return Cc;case lv:return Ac;case cv:return Ec;case pv:return Dc;case dv:return vc}return t});Fc.exports=bt});var Pc=F((eU,Rc)=>{l();c();p();var Do=tn(),fv=no(),hv=vl(),gv=pc(),Sc=xr(),wc=ze(),Bc=sn(),mv=lo(),yv=1,Tc="[object Arguments]",_c="[object Array]",hn="[object Object]",bv=Object.prototype,Oc=bv.hasOwnProperty;function Av(e,t,r,n,a,o){var u=wc(e),i=wc(t),s=u?_c:Sc(e),d=i?_c:Sc(t);s=s==Tc?hn:s,d=d==Tc?hn:d;var y=s==hn,A=d==hn,g=s==d;if(g&&Bc(e)){if(!Bc(t))return!1;u=!0,y=!1}if(g&&!y)return o||(o=new Do),u||mv(e)?fv(e,t,r,n,a,o):hv(e,t,s,r,n,a,o);if(!(r&yv)){var h=y&&Oc.call(e,"__wrapped__"),E=A&&Oc.call(t,"__wrapped__");if(h||E){var b=h?e.value():e,x=E?t.value():t;return o||(o=new Do),a(b,x,r,n,o)}}return g?(o||(o=new Do),gv(e,t,r,n,a,o)):!1}Rc.exports=Av});var vo=F((aU,Nc)=>{l();c();p();var Ev=Pc(),Ic=Ze();function kc(e,t,r,n,a){return e===t?!0:e==null||t==null||!Ic(e)&&!Ic(t)?e!==e&&t!==t:Ev(e,t,r,n,kc,a)}Nc.exports=kc});var Mc=F((sU,jc)=>{l();c();p();var Dv=tn(),vv=vo(),Cv=1,xv=2;function Fv(e,t,r,n){var a=r.length,o=a,u=!n;if(e==null)return!o;for(e=Object(e);a--;){var i=r[a];if(u&&i[2]?i[1]!==e[i[0]]:!(i[0]in e))return!1}for(;++a{l();c();p();var Sv=Ue();function wv(e){return e===e&&!Sv(e)}qc.exports=wv});var $c=F((mU,Lc)=>{l();c();p();var Bv=Co(),Tv=qt();function _v(e){for(var t=Tv(e),r=t.length;r--;){var n=t[r],a=e[n];t[r]=[n,a,Bv(a)]}return t}Lc.exports=_v});var xo=F((EU,Uc)=>{l();c();p();function Ov(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}Uc.exports=Ov});var Hc=F((xU,zc)=>{l();c();p();var Rv=Mc(),Pv=$c(),Iv=xo();function kv(e){var t=Pv(e);return t.length==1&&t[0][2]?Iv(t[0][0],t[0][1]):function(r){return r===e||Rv(r,e,t)}}zc.exports=kv});var Fr=F((BU,Gc)=>{l();c();p();var Nv=yt(),jv=Ze(),Mv="[object Symbol]";function qv(e){return typeof e=="symbol"||jv(e)&&Nv(e)==Mv}Gc.exports=qv});var gn=F((RU,Wc)=>{l();c();p();var Lv=ze(),$v=Fr(),Uv=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,zv=/^\w*$/;function Hv(e,t){if(Lv(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||$v(e)?!0:zv.test(e)||!Uv.test(e)||t!=null&&e in Object(t)}Wc.exports=Hv});var Yc=F((NU,Kc)=>{l();c();p();var Vc=en(),Gv="Expected a function";function Fo(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(Gv);var r=function(){var n=arguments,a=t?t.apply(this,n):n[0],o=r.cache;if(o.has(a))return o.get(a);var u=e.apply(this,n);return r.cache=o.set(a,u)||o,u};return r.cache=new(Fo.Cache||Vc),r}Fo.Cache=Vc;Kc.exports=Fo});var Jc=F((LU,Xc)=>{l();c();p();var Wv=Yc(),Vv=500;function Kv(e){var t=Wv(e,function(n){return r.size===Vv&&r.clear(),n}),r=t.cache;return t}Xc.exports=Kv});var Zc=F((HU,Qc)=>{l();c();p();var Yv=Jc(),Xv=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Jv=/\\(\\)?/g,Qv=Yv(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(Xv,function(r,n,a,o){t.push(a?o.replace(Jv,"$1"):n||r)}),t});Qc.exports=Qv});var op=F((KU,ap)=>{l();c();p();var ep=mt(),Zv=Xa(),eC=ze(),tC=Fr(),rC=1/0,tp=ep?ep.prototype:void 0,rp=tp?tp.toString:void 0;function np(e){if(typeof e=="string")return e;if(eC(e))return Zv(e,np)+"";if(tC(e))return rp?rp.call(e):"";var t=e+"";return t=="0"&&1/e==-rC?"-0":t}ap.exports=np});var ip=F((QU,up)=>{l();c();p();var nC=op();function aC(e){return e==null?"":nC(e)}up.exports=aC});var Sr=F((rz,sp)=>{l();c();p();var oC=ze(),uC=gn(),iC=Zc(),sC=ip();function lC(e,t){return oC(e)?e:uC(e,t)?[e]:iC(sC(e))}sp.exports=lC});var $t=F((uz,lp)=>{l();c();p();var cC=Fr(),pC=1/0;function dC(e){if(typeof e=="string"||cC(e))return e;var t=e+"";return t=="0"&&1/e==-pC?"-0":t}lp.exports=dC});var mn=F((cz,cp)=>{l();c();p();var fC=Sr(),hC=$t();function gC(e,t){t=fC(t,e);for(var r=0,n=t.length;e!=null&&r{l();c();p();var mC=mn();function yC(e,t,r){var n=e==null?void 0:mC(e,t);return n===void 0?r:n}pp.exports=yC});var hp=F((bz,fp)=>{l();c();p();function bC(e,t){return e!=null&&t in Object(e)}fp.exports=bC});var mp=F((vz,gp)=>{l();c();p();var AC=Sr(),EC=un(),DC=ze(),vC=ln(),CC=cn(),xC=$t();function FC(e,t,r){t=AC(t,e);for(var n=-1,a=t.length,o=!1;++n{l();c();p();var SC=hp(),wC=mp();function BC(e,t){return e!=null&&wC(e,t,SC)}yp.exports=BC});var Ap=F((_z,bp)=>{l();c();p();var TC=vo(),_C=dp(),OC=So(),RC=gn(),PC=Co(),IC=xo(),kC=$t(),NC=1,jC=2;function MC(e,t){return RC(e)&&PC(t)?IC(kC(e),t):function(r){var n=_C(r,e);return n===void 0&&n===t?OC(r,e):TC(t,n,NC|jC)}}bp.exports=MC});var wo=F((Iz,Ep)=>{l();c();p();function qC(e){return e}Ep.exports=qC});var vp=F((Mz,Dp)=>{l();c();p();function LC(e){return function(t){return t?.[e]}}Dp.exports=LC});var xp=F((Uz,Cp)=>{l();c();p();var $C=mn();function UC(e){return function(t){return $C(t,e)}}Cp.exports=UC});var Sp=F((Wz,Fp)=>{l();c();p();var zC=vp(),HC=xp(),GC=gn(),WC=$t();function VC(e){return GC(e)?zC(WC(e)):HC(e)}Fp.exports=VC});var Bo=F((Xz,wp)=>{l();c();p();var KC=Hc(),YC=Ap(),XC=wo(),JC=ze(),QC=Sp();function ZC(e){return typeof e=="function"?e:e==null?XC:typeof e=="object"?JC(e)?YC(e[0],e[1]):KC(e):QC(e)}wp.exports=ZC});var To=F((eH,Bp)=>{l();c();p();var ex=ut(),tx=function(){try{var e=ex(Object,"defineProperty");return e({},"",{}),e}catch{}}();Bp.exports=tx});var yn=F((aH,_p)=>{l();c();p();var Tp=To();function rx(e,t,r){t=="__proto__"&&Tp?Tp(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}_p.exports=rx});var bn=F((sH,Op)=>{l();c();p();var nx=yn(),ax=Qr(),ox=Object.prototype,ux=ox.hasOwnProperty;function ix(e,t,r){var n=e[t];(!(ux.call(e,t)&&ax(n,r))||r===void 0&&!(t in e))&&nx(e,t,r)}Op.exports=ix});var Ip=F((dH,Pp)=>{l();c();p();var sx=bn(),lx=Sr(),cx=ln(),Rp=Ue(),px=$t();function dx(e,t,r,n){if(!Rp(e))return e;t=lx(t,e);for(var a=-1,o=t.length,u=o-1,i=e;i!=null&&++a{l();c();p();var fx=mn(),hx=Ip(),gx=Sr();function mx(e,t,r){for(var n=-1,a=t.length,o={};++n{l();c();p();var yx=po(),bx=yx(Object.getPrototypeOf,Object);Np.exports=bx});var Oo=F((xH,jp)=>{l();c();p();var Ax=an(),Ex=An(),Dx=on(),vx=io(),Cx=Object.getOwnPropertySymbols,xx=Cx?function(e){for(var t=[];e;)Ax(t,Dx(e)),e=Ex(e);return t}:vx;jp.exports=xx});var qp=F((BH,Mp)=>{l();c();p();function Fx(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}Mp.exports=Fx});var $p=F((RH,Lp)=>{l();c();p();var Sx=Ue(),wx=fn(),Bx=qp(),Tx=Object.prototype,_x=Tx.hasOwnProperty;function Ox(e){if(!Sx(e))return Bx(e);var t=wx(e),r=[];for(var n in e)n=="constructor"&&(t||!_x.call(e,n))||r.push(n);return r}Lp.exports=Ox});var En=F((NH,Up)=>{l();c();p();var Rx=co(),Px=$p(),Ix=fo();function kx(e){return Ix(e)?Rx(e,!0):Px(e)}Up.exports=kx});var Ro=F((LH,zp)=>{l();c();p();var Nx=uo(),jx=Oo(),Mx=En();function qx(e){return Nx(e,Mx,jx)}zp.exports=qx});var Po=F((HH,Hp)=>{l();c();p();var Lx=Xa(),$x=Bo(),Ux=_o(),zx=Ro();function Hx(e,t){if(e==null)return{};var r=Lx(zx(e),function(n){return[n]});return t=$x(t),Ux(e,r,function(n,a){return t(n,a[0])})}Hp.exports=Hx});var Cn=F((Ad,Ho)=>{l();c();p();(function(e){if(typeof Ad=="object"&&typeof Ho<"u")Ho.exports=e();else if(typeof define=="function"&&define.amd)define([],e);else{var t;typeof window<"u"||typeof window<"u"?t=window:typeof self<"u"?t=self:t=this,t.memoizerific=e()}})(function(){var e,t,r;return function n(a,o,u){function i(y,A){if(!o[y]){if(!a[y]){var g=typeof ir=="function"&&ir;if(!A&&g)return g(y,!0);if(s)return s(y,!0);var h=new Error("Cannot find module '"+y+"'");throw h.code="MODULE_NOT_FOUND",h}var E=o[y]={exports:{}};a[y][0].call(E.exports,function(b){var x=a[y][1][b];return i(x||b)},E,E.exports,n,a,o,u)}return o[y].exports}for(var s=typeof ir=="function"&&ir,d=0;d=0)return this.lastItem=this.list[s],this.list[s].val},u.prototype.set=function(i,s){var d;return this.lastItem&&this.isEqual(this.lastItem.key,i)?(this.lastItem.val=s,this):(d=this.indexOf(i),d>=0?(this.lastItem=this.list[d],this.list[d].val=s,this):(this.lastItem={key:i,val:s},this.list.push(this.lastItem),this.size++,this))},u.prototype.delete=function(i){var s;if(this.lastItem&&this.isEqual(this.lastItem.key,i)&&(this.lastItem=void 0),s=this.indexOf(i),s>=0)return this.size--,this.list.splice(s,1)[0]},u.prototype.has=function(i){var s;return this.lastItem&&this.isEqual(this.lastItem.key,i)?!0:(s=this.indexOf(i),s>=0?(this.lastItem=this.list[s],!0):!1)},u.prototype.forEach=function(i,s){var d;for(d=0;d0&&(N[P]={cacheItem:b,arg:arguments[P]},$?i(g,N):g.push(N),g.length>y&&s(g.shift())),E.wasMemoized=$,E.numArgs=P+1,S};return E.limit=y,E.wasMemoized=!1,E.cache=A,E.lru=g,E}};function i(y,A){var g=y.length,h=A.length,E,b,x;for(b=0;b=0&&(g=y[E],h=g.cacheItem.get(g.arg),!h||!h.size);E--)g.cacheItem.delete(g.arg)}function d(y,A){return y===A||y!==y&&A!==A}},{"map-or-similar":1}]},{},[3])(3)})});var Dd=F((pG,Ed)=>{l();c();p();function oS(e,t,r,n){for(var a=e.length,o=r+(n?1:-1);n?o--:++o{l();c();p();function uS(e){return e!==e}vd.exports=uS});var Fd=F((AG,xd)=>{l();c();p();function iS(e,t,r){for(var n=r-1,a=e.length;++n{l();c();p();var sS=Dd(),lS=Cd(),cS=Fd();function pS(e,t,r){return t===t?cS(e,t,r):sS(e,lS,r)}Sd.exports=pS});var Td=F((wG,Bd)=>{l();c();p();var dS=wd();function fS(e,t){var r=e==null?0:e.length;return!!r&&dS(e,t,0)>-1}Bd.exports=fS});var Od=F((OG,_d)=>{l();c();p();function hS(e,t,r){for(var n=-1,a=e==null?0:e.length;++n{l();c();p();function gS(){}Rd.exports=gS});var kd=F((qG,Id)=>{l();c();p();var Go=go(),mS=Pd(),yS=nn(),bS=1/0,AS=Go&&1/yS(new Go([,-0]))[1]==bS?function(e){return new Go(e)}:mS;Id.exports=AS});var jd=F((zG,Nd)=>{l();c();p();var ES=to(),DS=Td(),vS=Od(),CS=ro(),xS=kd(),FS=nn(),SS=200;function wS(e,t,r){var n=-1,a=DS,o=e.length,u=!0,i=[],s=i;if(r)u=!1,a=vS;else if(o>=SS){var d=t?null:xS(e);if(d)return FS(d);u=!1,a=CS,s=new ES}else s=t?[]:i;e:for(;++n{l();c();p();var BS=jd();function TS(e){return e&&e.length?BS(e):[]}Md.exports=TS});var $d=F((JG,Ld)=>{l();c();p();function _S(e,t){for(var r=-1,n=e==null?0:e.length;++r{l();c();p();var OS=bn(),RS=yn();function PS(e,t,r,n){var a=!r;r||(r={});for(var o=-1,u=t.length;++o{l();c();p();var IS=Br(),kS=qt();function NS(e,t){return e&&IS(t,kS(t),e)}zd.exports=NS});var Wd=F((lW,Gd)=>{l();c();p();var jS=Br(),MS=En();function qS(e,t){return e&&jS(t,MS(t),e)}Gd.exports=qS});var Jd=F((Tr,zt)=>{l();c();p();var LS=je(),Xd=typeof Tr=="object"&&Tr&&!Tr.nodeType&&Tr,Vd=Xd&&typeof zt=="object"&&zt&&!zt.nodeType&&zt,$S=Vd&&Vd.exports===Xd,Kd=$S?LS.Buffer:void 0,Yd=Kd?Kd.allocUnsafe:void 0;function US(e,t){if(t)return e.slice();var r=e.length,n=Yd?Yd(r):new e.constructor(r);return e.copy(n),n}zt.exports=US});var Zd=F((mW,Qd)=>{l();c();p();function zS(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r{l();c();p();var HS=Br(),GS=on();function WS(e,t){return HS(e,GS(e),t)}ef.exports=WS});var nf=F((xW,rf)=>{l();c();p();var VS=Br(),KS=Oo();function YS(e,t){return VS(e,KS(e),t)}rf.exports=YS});var of=F((BW,af)=>{l();c();p();var XS=Object.prototype,JS=XS.hasOwnProperty;function QS(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&JS.call(e,"index")&&(r.index=e.index,r.input=e.input),r}af.exports=QS});var xn=F((RW,sf)=>{l();c();p();var uf=ao();function ZS(e){var t=new e.constructor(e.byteLength);return new uf(t).set(new uf(e)),t}sf.exports=ZS});var cf=F((NW,lf)=>{l();c();p();var ew=xn();function tw(e,t){var r=t?ew(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}lf.exports=tw});var df=F((LW,pf)=>{l();c();p();var rw=/\w*$/;function nw(e){var t=new e.constructor(e.source,rw.exec(e));return t.lastIndex=e.lastIndex,t}pf.exports=nw});var yf=F((HW,mf)=>{l();c();p();var ff=mt(),hf=ff?ff.prototype:void 0,gf=hf?hf.valueOf:void 0;function aw(e){return gf?Object(gf.call(e)):{}}mf.exports=aw});var Af=F((KW,bf)=>{l();c();p();var ow=xn();function uw(e,t){var r=t?ow(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}bf.exports=uw});var Df=F((QW,Ef)=>{l();c();p();var iw=xn(),sw=cf(),lw=df(),cw=yf(),pw=Af(),dw="[object Boolean]",fw="[object Date]",hw="[object Map]",gw="[object Number]",mw="[object RegExp]",yw="[object Set]",bw="[object String]",Aw="[object Symbol]",Ew="[object ArrayBuffer]",Dw="[object DataView]",vw="[object Float32Array]",Cw="[object Float64Array]",xw="[object Int8Array]",Fw="[object Int16Array]",Sw="[object Int32Array]",ww="[object Uint8Array]",Bw="[object Uint8ClampedArray]",Tw="[object Uint16Array]",_w="[object Uint32Array]";function Ow(e,t,r){var n=e.constructor;switch(t){case Ew:return iw(e);case dw:case fw:return new n(+e);case Dw:return sw(e,r);case vw:case Cw:case xw:case Fw:case Sw:case ww:case Bw:case Tw:case _w:return pw(e,r);case hw:return new n;case gw:case bw:return new n(e);case mw:return lw(e);case yw:return new n;case Aw:return cw(e)}}Ef.exports=Ow});var xf=F((rV,Cf)=>{l();c();p();var Rw=Ue(),vf=Object.create,Pw=function(){function e(){}return function(t){if(!Rw(t))return{};if(vf)return vf(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();Cf.exports=Pw});var Sf=F((uV,Ff)=>{l();c();p();var Iw=xf(),kw=An(),Nw=fn();function jw(e){return typeof e.constructor=="function"&&!Nw(e)?Iw(kw(e)):{}}Ff.exports=jw});var Bf=F((cV,wf)=>{l();c();p();var Mw=xr(),qw=Ze(),Lw="[object Map]";function $w(e){return qw(e)&&Mw(e)==Lw}wf.exports=$w});var Rf=F((hV,Of)=>{l();c();p();var Uw=Bf(),zw=pn(),Tf=dn(),_f=Tf&&Tf.isMap,Hw=_f?zw(_f):Uw;Of.exports=Hw});var If=F((bV,Pf)=>{l();c();p();var Gw=xr(),Ww=Ze(),Vw="[object Set]";function Kw(e){return Ww(e)&&Gw(e)==Vw}Pf.exports=Kw});var Mf=F((vV,jf)=>{l();c();p();var Yw=If(),Xw=pn(),kf=dn(),Nf=kf&&kf.isSet,Jw=Nf?Xw(Nf):Yw;jf.exports=Jw});var zf=F((SV,Uf)=>{l();c();p();var Qw=tn(),Zw=$d(),e5=bn(),t5=Hd(),r5=Wd(),n5=Jd(),a5=Zd(),o5=tf(),u5=nf(),i5=ho(),s5=Ro(),l5=xr(),c5=of(),p5=Df(),d5=Sf(),f5=ze(),h5=sn(),g5=Rf(),m5=Ue(),y5=Mf(),b5=qt(),A5=En(),E5=1,D5=2,v5=4,qf="[object Arguments]",C5="[object Array]",x5="[object Boolean]",F5="[object Date]",S5="[object Error]",Lf="[object Function]",w5="[object GeneratorFunction]",B5="[object Map]",T5="[object Number]",$f="[object Object]",_5="[object RegExp]",O5="[object Set]",R5="[object String]",P5="[object Symbol]",I5="[object WeakMap]",k5="[object ArrayBuffer]",N5="[object DataView]",j5="[object Float32Array]",M5="[object Float64Array]",q5="[object Int8Array]",L5="[object Int16Array]",$5="[object Int32Array]",U5="[object Uint8Array]",z5="[object Uint8ClampedArray]",H5="[object Uint16Array]",G5="[object Uint32Array]",le={};le[qf]=le[C5]=le[k5]=le[N5]=le[x5]=le[F5]=le[j5]=le[M5]=le[q5]=le[L5]=le[$5]=le[B5]=le[T5]=le[$f]=le[_5]=le[O5]=le[R5]=le[P5]=le[U5]=le[z5]=le[H5]=le[G5]=!0;le[S5]=le[Lf]=le[I5]=!1;function Fn(e,t,r,n,a,o){var u,i=t&E5,s=t&D5,d=t&v5;if(r&&(u=a?r(e,n,a,o):r(e)),u!==void 0)return u;if(!m5(e))return e;var y=f5(e);if(y){if(u=c5(e),!i)return a5(e,u)}else{var A=l5(e),g=A==Lf||A==w5;if(h5(e))return n5(e,i);if(A==$f||A==qf||g&&!a){if(u=s||g?{}:d5(e),!i)return s?u5(e,r5(u,e)):o5(e,t5(u,e))}else{if(!le[A])return a?e:{};u=p5(e,A,i)}}o||(o=new Qw);var h=o.get(e);if(h)return h;o.set(e,u),y5(e)?e.forEach(function(x){u.add(Fn(x,t,r,x,e,o))}):g5(e)&&e.forEach(function(x,S){u.set(S,Fn(x,t,r,S,e,o))});var E=d?s?s5:i5:s?A5:b5,b=y?void 0:E(e);return Zw(b||e,function(x,S){b&&(S=x,x=e[S]),e5(u,S,Fn(x,t,r,S,e,o))}),u}Uf.exports=Fn});var Gf=F((_V,Hf)=>{l();c();p();var W5=zf(),V5=1,K5=4;function Y5(e){return W5(e,V5|K5)}Hf.exports=Y5});var e0=F((iK,Zf)=>{l();c();p();function w3(e){return function(t,r,n){for(var a=-1,o=Object(t),u=n(t),i=u.length;i--;){var s=u[e?i:++a];if(r(o[s],s,o)===!1)break}return t}}Zf.exports=w3});var r0=F((pK,t0)=>{l();c();p();var B3=e0(),T3=B3();t0.exports=T3});var a0=F((gK,n0)=>{l();c();p();var _3=r0(),O3=qt();function R3(e,t){return e&&_3(e,t,O3)}n0.exports=R3});var Rn=F((AK,o0)=>{l();c();p();var P3=yn(),I3=a0(),k3=Bo();function N3(e,t){var r={};return t=k3(t,3),I3(e,function(n,a,o){P3(r,a,t(n,a,o))}),r}o0.exports=N3});var i0=F((CK,u0)=>{l();c();p();var j3=_o(),M3=So();function q3(e,t){return j3(e,t,function(r,n){return M3(e,n)})}u0.exports=q3});var p0=F((wK,c0)=>{l();c();p();var s0=mt(),L3=un(),$3=ze(),l0=s0?s0.isConcatSpreadable:void 0;function U3(e){return $3(e)||L3(e)||!!(l0&&e&&e[l0])}c0.exports=U3});var h0=F((OK,f0)=>{l();c();p();var z3=an(),H3=p0();function d0(e,t,r,n,a){var o=-1,u=e.length;for(r||(r=H3),a||(a=[]);++o0&&r(i)?t>1?d0(i,t-1,r,n,a):z3(a,i):n||(a[a.length]=i)}return a}f0.exports=d0});var m0=F((kK,g0)=>{l();c();p();var G3=h0();function W3(e){var t=e==null?0:e.length;return t?G3(e,1):[]}g0.exports=W3});var b0=F((qK,y0)=>{l();c();p();function V3(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}y0.exports=V3});var D0=F((zK,E0)=>{l();c();p();var K3=b0(),A0=Math.max;function Y3(e,t,r){return t=A0(t===void 0?e.length-1:t,0),function(){for(var n=arguments,a=-1,o=A0(n.length-t,0),u=Array(o);++a{l();c();p();function X3(e){return function(){return e}}v0.exports=X3});var S0=F((JK,F0)=>{l();c();p();var J3=C0(),x0=To(),Q3=wo(),Z3=x0?function(e,t){return x0(e,"toString",{configurable:!0,enumerable:!1,value:J3(t),writable:!0})}:Q3;F0.exports=Z3});var B0=F((tY,w0)=>{l();c();p();var eB=800,tB=16,rB=Date.now;function nB(e){var t=0,r=0;return function(){var n=rB(),a=tB-(n-r);if(r=n,a>0){if(++t>=eB)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}w0.exports=nB});var _0=F((oY,T0)=>{l();c();p();var aB=S0(),oB=B0(),uB=oB(aB);T0.exports=uB});var R0=F((lY,O0)=>{l();c();p();var iB=m0(),sB=D0(),lB=_0();function cB(e){return lB(sB(e,void 0,iB),e+"")}O0.exports=cB});var I0=F((fY,P0)=>{l();c();p();var pB=i0(),dB=R0(),fB=dB(function(e,t){return e==null?{}:pB(e,t)});P0.exports=fB});var In=F((yY,L0)=>{"use strict";l();c();p();function Pn(e){return Array.prototype.slice.apply(e)}var M0="pending",k0="resolved",N0="rejected";function re(e){this.status=M0,this._continuations=[],this._parent=null,this._paused=!1,e&&e.call(this,this._continueWith.bind(this),this._failWith.bind(this))}function _r(e){return e&&typeof e.then=="function"}function hB(e){return e}re.prototype={then:function(e,t){var r=re.unresolved()._setParent(this);if(this._isRejected()){if(this._paused)return this._continuations.push({promise:r,nextFn:e,catchFn:t}),r;if(t)try{var n=t(this._error);return _r(n)?(this._chainPromiseData(n,r),r):re.resolve(n)._setParent(this)}catch(a){return re.reject(a)._setParent(this)}return re.reject(this._error)._setParent(this)}return this._continuations.push({promise:r,nextFn:e,catchFn:t}),this._runResolutions(),r},catch:function(e){if(this._isResolved())return re.resolve(this._data)._setParent(this);var t=re.unresolved()._setParent(this);return this._continuations.push({promise:t,catchFn:e}),this._runRejections(),t},finally:function(e){var t=!1;function r(n,a){if(!t){t=!0,e||(e=hB);var o=e(n);return _r(o)?o.then(function(){if(a)throw a;return n}):n}}return this.then(function(n){return r(n)}).catch(function(n){return r(null,n)})},pause:function(){return this._paused=!0,this},resume:function(){var e=this._findFirstPaused();return e&&(e._paused=!1,e._runResolutions(),e._runRejections()),this},_findAncestry:function(){return this._continuations.reduce(function(e,t){if(t.promise){var r={promise:t.promise,children:t.promise._findAncestry()};e.push(r)}return e},[])},_setParent:function(e){if(this._parent)throw new Error("parent already set");return this._parent=e,this},_continueWith:function(e){var t=this._findFirstPending();t&&(t._data=e,t._setResolved())},_findFirstPending:function(){return this._findFirstAncestor(function(e){return e._isPending&&e._isPending()})},_findFirstPaused:function(){return this._findFirstAncestor(function(e){return e._paused})},_findFirstAncestor:function(e){for(var t=this,r;t;)e(t)&&(r=t),t=t._parent;return r},_failWith:function(e){var t=this._findFirstPending();t&&(t._error=e,t._setRejected())},_takeContinuations:function(){return this._continuations.splice(0,this._continuations.length)},_runRejections:function(){if(!(this._paused||!this._isRejected())){var e=this._error,t=this._takeContinuations(),r=this;t.forEach(function(n){if(n.catchFn)try{var a=n.catchFn(e);r._handleUserFunctionResult(a,n.promise)}catch(o){n.promise.reject(o)}else n.promise.reject(e)})}},_runResolutions:function(){if(!(this._paused||!this._isResolved()||this._isPending())){var e=this._takeContinuations(),t=this._data,r=this;if(e.forEach(function(n){if(n.nextFn)try{var a=n.nextFn(t);r._handleUserFunctionResult(a,n.promise)}catch(o){r._handleResolutionError(o,n)}else n.promise&&n.promise.resolve(t)}),_r(this._data))return this._handleWhenResolvedDataIsPromise(this._data)}},_handleResolutionError:function(e,t){if(this._setRejected(),t.catchFn)try{t.catchFn(e);return}catch(r){e=r}t.promise&&t.promise.reject(e)},_handleWhenResolvedDataIsPromise:function(e){var t=this;return e.then(function(r){t._data=r,t._runResolutions()}).catch(function(r){t._error=r,t._setRejected(),t._runRejections()})},_handleUserFunctionResult:function(e,t){_r(e)?this._chainPromiseData(e,t):t.resolve(e)},_chainPromiseData:function(e,t){e.then(function(r){t.resolve(r)}).catch(function(r){t.reject(r)})},_setResolved:function(){this.status=k0,this._paused||this._runResolutions()},_setRejected:function(){this.status=N0,this._paused||this._runRejections()},_isPending:function(){return this.status===M0},_isResolved:function(){return this.status===k0},_isRejected:function(){return this.status===N0}};re.resolve=function(e){return new re(function(t,r){_r(e)?e.then(function(n){t(n)}).catch(function(n){r(n)}):t(e)})};re.reject=function(e){return new re(function(t,r){r(e)})};re.unresolved=function(){return new re(function(e,t){this.resolve=e,this.reject=t})};re.all=function(){var e=Pn(arguments);return Array.isArray(e[0])&&(e=e[0]),e.length?new re(function(t,r){var n=[],a=0,o=function(){a===e.length&&t(n)},u=!1,i=function(s){u||(u=!0,r(s))};e.forEach(function(s,d){re.resolve(s).then(function(y){n[d]=y,a+=1,o()}).catch(function(y){i(y)})})}):re.resolve([])};function j0(e){return typeof window<"u"&&"AggregateError"in window?new window.AggregateError(e):{errors:e}}re.any=function(){var e=Pn(arguments);return Array.isArray(e[0])&&(e=e[0]),e.length?new re(function(t,r){var n=[],a=0,o=function(){a===e.length&&r(j0(n))},u=!1,i=function(s){u||(u=!0,t(s))};e.forEach(function(s,d){re.resolve(s).then(function(y){i(y)}).catch(function(y){n[d]=y,a+=1,o()})})}):re.reject(j0([]))};re.allSettled=function(){var e=Pn(arguments);return Array.isArray(e[0])&&(e=e[0]),e.length?new re(function(t){var r=[],n=0,a=function(){n+=1,n===e.length&&t(r)};e.forEach(function(o,u){re.resolve(o).then(function(i){r[u]={status:"fulfilled",value:i},a()}).catch(function(i){r[u]={status:"rejected",reason:i},a()})})}):re.resolve([])};if(Promise===re)throw new Error("Please use SynchronousPromise.installGlobally() to install globally");var q0=Promise;re.installGlobally=function(e){if(Promise===re)return e;var t=gB(e);return Promise=re,t};re.uninstallGlobally=function(){Promise===re&&(Promise=q0)};function gB(e){if(typeof e>"u"||e.__patched)return e;var t=e;return e=function(){var r=q0;t.apply(this,Pn(arguments))},e.__patched=!0,e}L0.exports={SynchronousPromise:re}});var Ko=F((TY,U0)=>{l();c();p();var mB=yt(),yB=An(),bB=Ze(),AB="[object Object]",EB=Function.prototype,DB=Object.prototype,$0=EB.toString,vB=DB.hasOwnProperty,CB=$0.call(Object);function xB(e){if(!bB(e)||mB(e)!=AB)return!1;var t=yB(e);if(t===null)return!0;var r=vB.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&$0.call(r)==CB}U0.exports=xB});var H0=F((PY,z0)=>{l();c();p();z0.exports=FB;function FB(e,t){if(Yo("noDeprecation"))return e;var r=!1;function n(){if(!r){if(Yo("throwDeprecation"))throw new Error(t);Yo("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function Yo(e){try{if(!window.localStorage)return!1}catch{return!1}var t=window.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}});var J0=F((eX,X0)=>{"use strict";l();c();p();X0.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var a=42;t[r]=a;for(r in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var u=Object.getOwnPropertyDescriptor(t,r);if(u.value!==a||u.enumerable!==!0)return!1}return!0}});var eh=F((aX,Z0)=>{"use strict";l();c();p();var Q0=typeof Symbol<"u"&&Symbol,$B=J0();Z0.exports=function(){return typeof Q0!="function"||typeof Symbol!="function"||typeof Q0("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:$B()}});var rh=F((sX,th)=>{"use strict";l();c();p();var UB="Function.prototype.bind called on incompatible ",Zo=Array.prototype.slice,zB=Object.prototype.toString,HB="[object Function]";th.exports=function(t){var r=this;if(typeof r!="function"||zB.call(r)!==HB)throw new TypeError(UB+r);for(var n=Zo.call(arguments,1),a,o=function(){if(this instanceof a){var y=r.apply(this,n.concat(Zo.call(arguments)));return Object(y)===y?y:this}else return r.apply(t,n.concat(Zo.call(arguments)))},u=Math.max(0,r.length-n.length),i=[],s=0;s{"use strict";l();c();p();var GB=rh();nh.exports=Function.prototype.bind||GB});var oh=F((mX,ah)=>{"use strict";l();c();p();var WB=qn();ah.exports=WB.call(Function.call,Object.prototype.hasOwnProperty)});var Un=F((EX,ch)=>{"use strict";l();c();p();var ee,Kt=SyntaxError,lh=Function,Vt=TypeError,eu=function(e){try{return lh('"use strict"; return ('+e+").constructor;")()}catch{}},Dt=Object.getOwnPropertyDescriptor;if(Dt)try{Dt({},"")}catch{Dt=null}var tu=function(){throw new Vt},VB=Dt?function(){try{return arguments.callee,tu}catch{try{return Dt(arguments,"callee").get}catch{return tu}}}():tu,Gt=eh()(),Ge=Object.getPrototypeOf||function(e){return e.__proto__},Wt={},KB=typeof Uint8Array>"u"?ee:Ge(Uint8Array),vt={"%AggregateError%":typeof AggregateError>"u"?ee:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?ee:ArrayBuffer,"%ArrayIteratorPrototype%":Gt?Ge([][Symbol.iterator]()):ee,"%AsyncFromSyncIteratorPrototype%":ee,"%AsyncFunction%":Wt,"%AsyncGenerator%":Wt,"%AsyncGeneratorFunction%":Wt,"%AsyncIteratorPrototype%":Wt,"%Atomics%":typeof Atomics>"u"?ee:Atomics,"%BigInt%":typeof BigInt>"u"?ee:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?ee:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?ee:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?ee:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?ee:Float32Array,"%Float64Array%":typeof Float64Array>"u"?ee:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?ee:FinalizationRegistry,"%Function%":lh,"%GeneratorFunction%":Wt,"%Int8Array%":typeof Int8Array>"u"?ee:Int8Array,"%Int16Array%":typeof Int16Array>"u"?ee:Int16Array,"%Int32Array%":typeof Int32Array>"u"?ee:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Gt?Ge(Ge([][Symbol.iterator]())):ee,"%JSON%":typeof JSON=="object"?JSON:ee,"%Map%":typeof Map>"u"?ee:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Gt?ee:Ge(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?ee:Promise,"%Proxy%":typeof Proxy>"u"?ee:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?ee:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?ee:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Gt?ee:Ge(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?ee:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Gt?Ge(""[Symbol.iterator]()):ee,"%Symbol%":Gt?Symbol:ee,"%SyntaxError%":Kt,"%ThrowTypeError%":VB,"%TypedArray%":KB,"%TypeError%":Vt,"%Uint8Array%":typeof Uint8Array>"u"?ee:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?ee:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?ee:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?ee:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?ee:WeakMap,"%WeakRef%":typeof WeakRef>"u"?ee:WeakRef,"%WeakSet%":typeof WeakSet>"u"?ee:WeakSet};try{null.error}catch(e){uh=Ge(Ge(e)),vt["%Error.prototype%"]=uh}var uh,YB=function e(t){var r;if(t==="%AsyncFunction%")r=eu("async function () {}");else if(t==="%GeneratorFunction%")r=eu("function* () {}");else if(t==="%AsyncGeneratorFunction%")r=eu("async function* () {}");else if(t==="%AsyncGenerator%"){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(t==="%AsyncIteratorPrototype%"){var a=e("%AsyncGenerator%");a&&(r=Ge(a.prototype))}return vt[t]=r,r},ih={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Ir=qn(),Ln=oh(),XB=Ir.call(Function.call,Array.prototype.concat),JB=Ir.call(Function.apply,Array.prototype.splice),sh=Ir.call(Function.call,String.prototype.replace),$n=Ir.call(Function.call,String.prototype.slice),QB=Ir.call(Function.call,RegExp.prototype.exec),ZB=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,eT=/\\(\\)?/g,tT=function(t){var r=$n(t,0,1),n=$n(t,-1);if(r==="%"&&n!=="%")throw new Kt("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new Kt("invalid intrinsic syntax, expected opening `%`");var a=[];return sh(t,ZB,function(o,u,i,s){a[a.length]=i?sh(s,eT,"$1"):u||o}),a},rT=function(t,r){var n=t,a;if(Ln(ih,n)&&(a=ih[n],n="%"+a[0]+"%"),Ln(vt,n)){var o=vt[n];if(o===Wt&&(o=YB(n)),typeof o>"u"&&!r)throw new Vt("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:a,name:n,value:o}}throw new Kt("intrinsic "+t+" does not exist!")};ch.exports=function(t,r){if(typeof t!="string"||t.length===0)throw new Vt("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new Vt('"allowMissing" argument must be a boolean');if(QB(/^%?[^%]*%?$/,t)===null)throw new Kt("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=tT(t),a=n.length>0?n[0]:"",o=rT("%"+a+"%",r),u=o.name,i=o.value,s=!1,d=o.alias;d&&(a=d[0],JB(n,XB([0,1],d)));for(var y=1,A=!0;y=n.length){var b=Dt(i,g);A=!!b,A&&"get"in b&&!("originalValue"in b.get)?i=b.get:i=i[g]}else A=Ln(i,g),i=i[g];A&&!s&&(vt[u]=i)}}return i}});var mh=F((xX,zn)=>{"use strict";l();c();p();var ru=qn(),Yt=Un(),fh=Yt("%Function.prototype.apply%"),hh=Yt("%Function.prototype.call%"),gh=Yt("%Reflect.apply%",!0)||ru.call(hh,fh),ph=Yt("%Object.getOwnPropertyDescriptor%",!0),Ct=Yt("%Object.defineProperty%",!0),nT=Yt("%Math.max%");if(Ct)try{Ct({},"a",{value:1})}catch{Ct=null}zn.exports=function(t){var r=gh(ru,hh,arguments);if(ph&&Ct){var n=ph(r,"length");n.configurable&&Ct(r,"length",{value:1+nT(0,t.length-(arguments.length-1))})}return r};var dh=function(){return gh(ru,fh,arguments)};Ct?Ct(zn.exports,"apply",{value:dh}):zn.exports.apply=dh});var Eh=F((BX,Ah)=>{"use strict";l();c();p();var yh=Un(),bh=mh(),aT=bh(yh("String.prototype.indexOf"));Ah.exports=function(t,r){var n=yh(t,!!r);return typeof n=="function"&&aT(t,".prototype.")>-1?bh(n):n}});var Dh=F(()=>{l();c();p()});var $h=F((jX,Lh)=>{l();c();p();var du=typeof Map=="function"&&Map.prototype,nu=Object.getOwnPropertyDescriptor&&du?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,Gn=du&&nu&&typeof nu.get=="function"?nu.get:null,vh=du&&Map.prototype.forEach,fu=typeof Set=="function"&&Set.prototype,au=Object.getOwnPropertyDescriptor&&fu?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,Wn=fu&&au&&typeof au.get=="function"?au.get:null,Ch=fu&&Set.prototype.forEach,oT=typeof WeakMap=="function"&&WeakMap.prototype,Nr=oT?WeakMap.prototype.has:null,uT=typeof WeakSet=="function"&&WeakSet.prototype,jr=uT?WeakSet.prototype.has:null,iT=typeof WeakRef=="function"&&WeakRef.prototype,xh=iT?WeakRef.prototype.deref:null,sT=Boolean.prototype.valueOf,lT=Object.prototype.toString,cT=Function.prototype.toString,pT=String.prototype.match,hu=String.prototype.slice,ct=String.prototype.replace,dT=String.prototype.toUpperCase,Fh=String.prototype.toLowerCase,Ih=RegExp.prototype.test,Sh=Array.prototype.concat,We=Array.prototype.join,fT=Array.prototype.slice,wh=Math.floor,iu=typeof BigInt=="function"?BigInt.prototype.valueOf:null,ou=Object.getOwnPropertySymbols,su=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,Xt=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Fe=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Xt||"symbol")?Symbol.toStringTag:null,kh=Object.prototype.propertyIsEnumerable,Bh=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function Th(e,t){if(e===1/0||e===-1/0||e!==e||e&&e>-1e3&&e<1e3||Ih.call(/e/,t))return t;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof e=="number"){var n=e<0?-wh(-e):wh(e);if(n!==e){var a=String(n),o=hu.call(t,a.length+1);return ct.call(a,r,"$&_")+"."+ct.call(ct.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return ct.call(t,r,"$&_")}var lu=Dh(),_h=lu.custom,Oh=jh(_h)?_h:null;Lh.exports=function e(t,r,n,a){var o=r||{};if(lt(o,"quoteStyle")&&o.quoteStyle!=="single"&&o.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(lt(o,"maxStringLength")&&(typeof o.maxStringLength=="number"?o.maxStringLength<0&&o.maxStringLength!==1/0:o.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var u=lt(o,"customInspect")?o.customInspect:!0;if(typeof u!="boolean"&&u!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(lt(o,"indent")&&o.indent!==null&&o.indent!==" "&&!(parseInt(o.indent,10)===o.indent&&o.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(lt(o,"numericSeparator")&&typeof o.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var i=o.numericSeparator;if(typeof t>"u")return"undefined";if(t===null)return"null";if(typeof t=="boolean")return t?"true":"false";if(typeof t=="string")return qh(t,o);if(typeof t=="number"){if(t===0)return 1/0/t>0?"0":"-0";var s=String(t);return i?Th(t,s):s}if(typeof t=="bigint"){var d=String(t)+"n";return i?Th(t,d):d}var y=typeof o.depth>"u"?5:o.depth;if(typeof n>"u"&&(n=0),n>=y&&y>0&&typeof t=="object")return cu(t)?"[Array]":"[Object]";var A=OT(o,n);if(typeof a>"u")a=[];else if(Mh(a,t)>=0)return"[Circular]";function g(X,O,T){if(O&&(a=fT.call(a),a.push(O)),T){var M={depth:o.depth};return lt(o,"quoteStyle")&&(M.quoteStyle=o.quoteStyle),e(X,M,n+1,a)}return e(X,o,n+1,a)}if(typeof t=="function"&&!Rh(t)){var h=vT(t),E=Hn(t,g);return"[Function"+(h?": "+h:" (anonymous)")+"]"+(E.length>0?" { "+We.call(E,", ")+" }":"")}if(jh(t)){var b=Xt?ct.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):su.call(t);return typeof t=="object"&&!Xt?kr(b):b}if(BT(t)){for(var x="<"+Fh.call(String(t.nodeName)),S=t.attributes||[],P=0;P",x}if(cu(t)){if(t.length===0)return"[]";var N=Hn(t,g);return A&&!_T(N)?"["+pu(N,A)+"]":"[ "+We.call(N,", ")+" ]"}if(mT(t)){var $=Hn(t,g);return!("cause"in Error.prototype)&&"cause"in t&&!kh.call(t,"cause")?"{ ["+String(t)+"] "+We.call(Sh.call("[cause]: "+g(t.cause),$),", ")+" }":$.length===0?"["+String(t)+"]":"{ ["+String(t)+"] "+We.call($,", ")+" }"}if(typeof t=="object"&&u){if(Oh&&typeof t[Oh]=="function"&&lu)return lu(t,{depth:y-n});if(u!=="symbol"&&typeof t.inspect=="function")return t.inspect()}if(CT(t)){var w=[];return vh&&vh.call(t,function(X,O){w.push(g(O,t,!0)+" => "+g(X,t))}),Ph("Map",Gn.call(t),w,A)}if(ST(t)){var j=[];return Ch&&Ch.call(t,function(X){j.push(g(X,t))}),Ph("Set",Wn.call(t),j,A)}if(xT(t))return uu("WeakMap");if(wT(t))return uu("WeakSet");if(FT(t))return uu("WeakRef");if(bT(t))return kr(g(Number(t)));if(ET(t))return kr(g(iu.call(t)));if(AT(t))return kr(sT.call(t));if(yT(t))return kr(g(String(t)));if(!gT(t)&&!Rh(t)){var I=Hn(t,g),U=Bh?Bh(t)===Object.prototype:t instanceof Object||t.constructor===Object,V=t instanceof Object?"":"null prototype",z=!U&&Fe&&Object(t)===t&&Fe in t?hu.call(pt(t),8,-1):V?"Object":"",ie=U||typeof t.constructor!="function"?"":t.constructor.name?t.constructor.name+" ":"",Z=ie+(z||V?"["+We.call(Sh.call([],z||[],V||[]),": ")+"] ":"");return I.length===0?Z+"{}":A?Z+"{"+pu(I,A)+"}":Z+"{ "+We.call(I,", ")+" }"}return String(t)};function Nh(e,t,r){var n=(r.quoteStyle||t)==="double"?'"':"'";return n+e+n}function hT(e){return ct.call(String(e),/"/g,""")}function cu(e){return pt(e)==="[object Array]"&&(!Fe||!(typeof e=="object"&&Fe in e))}function gT(e){return pt(e)==="[object Date]"&&(!Fe||!(typeof e=="object"&&Fe in e))}function Rh(e){return pt(e)==="[object RegExp]"&&(!Fe||!(typeof e=="object"&&Fe in e))}function mT(e){return pt(e)==="[object Error]"&&(!Fe||!(typeof e=="object"&&Fe in e))}function yT(e){return pt(e)==="[object String]"&&(!Fe||!(typeof e=="object"&&Fe in e))}function bT(e){return pt(e)==="[object Number]"&&(!Fe||!(typeof e=="object"&&Fe in e))}function AT(e){return pt(e)==="[object Boolean]"&&(!Fe||!(typeof e=="object"&&Fe in e))}function jh(e){if(Xt)return e&&typeof e=="object"&&e instanceof Symbol;if(typeof e=="symbol")return!0;if(!e||typeof e!="object"||!su)return!1;try{return su.call(e),!0}catch{}return!1}function ET(e){if(!e||typeof e!="object"||!iu)return!1;try{return iu.call(e),!0}catch{}return!1}var DT=Object.prototype.hasOwnProperty||function(e){return e in this};function lt(e,t){return DT.call(e,t)}function pt(e){return lT.call(e)}function vT(e){if(e.name)return e.name;var t=pT.call(cT.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}function Mh(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0,n=e.length;rt.maxStringLength){var r=e.length-t.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return qh(hu.call(e,0,t.maxStringLength),t)+n}var a=ct.call(ct.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,TT);return Nh(a,"single",t)}function TT(e){var t=e.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return r?"\\"+r:"\\x"+(t<16?"0":"")+dT.call(t.toString(16))}function kr(e){return"Object("+e+")"}function uu(e){return e+" { ? }"}function Ph(e,t,r,n){var a=n?pu(r,n):We.call(r,", ");return e+" ("+t+") {"+a+"}"}function _T(e){for(var t=0;t=0)return!1;return!0}function OT(e,t){var r;if(e.indent===" ")r=" ";else if(typeof e.indent=="number"&&e.indent>0)r=We.call(Array(e.indent+1)," ");else return null;return{base:r,prev:We.call(Array(t+1),r)}}function pu(e,t){if(e.length===0)return"";var r=` +`+t.prev+t.base;return r+We.call(e,","+r)+` +`+t.prev}function Hn(e,t){var r=cu(e),n=[];if(r){n.length=e.length;for(var a=0;a{"use strict";l();c();p();var gu=Un(),Jt=Eh(),RT=$h(),PT=gu("%TypeError%"),Vn=gu("%WeakMap%",!0),Kn=gu("%Map%",!0),IT=Jt("WeakMap.prototype.get",!0),kT=Jt("WeakMap.prototype.set",!0),NT=Jt("WeakMap.prototype.has",!0),jT=Jt("Map.prototype.get",!0),MT=Jt("Map.prototype.set",!0),qT=Jt("Map.prototype.has",!0),mu=function(e,t){for(var r=e,n;(n=r.next)!==null;r=n)if(n.key===t)return r.next=n.next,n.next=e.next,e.next=n,n},LT=function(e,t){var r=mu(e,t);return r&&r.value},$T=function(e,t,r){var n=mu(e,t);n?n.value=r:e.next={key:t,next:e.next,value:r}},UT=function(e,t){return!!mu(e,t)};Uh.exports=function(){var t,r,n,a={assert:function(o){if(!a.has(o))throw new PT("Side channel does not contain "+RT(o))},get:function(o){if(Vn&&o&&(typeof o=="object"||typeof o=="function")){if(t)return IT(t,o)}else if(Kn){if(r)return jT(r,o)}else if(n)return LT(n,o)},has:function(o){if(Vn&&o&&(typeof o=="object"||typeof o=="function")){if(t)return NT(t,o)}else if(Kn){if(r)return qT(r,o)}else if(n)return UT(n,o);return!1},set:function(o,u){Vn&&o&&(typeof o=="object"||typeof o=="function")?(t||(t=new Vn),kT(t,o,u)):Kn?(r||(r=new Kn),MT(r,o,u)):(n||(n={key:{},next:null}),$T(n,o,u))}};return a}});var Yn=F((GX,Hh)=>{"use strict";l();c();p();var zT=String.prototype.replace,HT=/%20/g,yu={RFC1738:"RFC1738",RFC3986:"RFC3986"};Hh.exports={default:yu.RFC3986,formatters:{RFC1738:function(e){return zT.call(e,HT,"+")},RFC3986:function(e){return String(e)}},RFC1738:yu.RFC1738,RFC3986:yu.RFC3986}});var Au=F((YX,Wh)=>{"use strict";l();c();p();var GT=Yn(),bu=Object.prototype.hasOwnProperty,xt=Array.isArray,Ve=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),WT=function(t){for(;t.length>1;){var r=t.pop(),n=r.obj[r.prop];if(xt(n)){for(var a=[],o=0;o=48&&d<=57||d>=65&&d<=90||d>=97&&d<=122||o===GT.RFC1738&&(d===40||d===41)){i+=u.charAt(s);continue}if(d<128){i=i+Ve[d];continue}if(d<2048){i=i+(Ve[192|d>>6]+Ve[128|d&63]);continue}if(d<55296||d>=57344){i=i+(Ve[224|d>>12]+Ve[128|d>>6&63]+Ve[128|d&63]);continue}s+=1,d=65536+((d&1023)<<10|u.charCodeAt(s)&1023),i+=Ve[240|d>>18]+Ve[128|d>>12&63]+Ve[128|d>>6&63]+Ve[128|d&63]}return i},JT=function(t){for(var r=[{obj:{o:t},prop:"o"}],n=[],a=0;a{"use strict";l();c();p();var Yh=zh(),Xn=Au(),Mr=Yn(),r8=Object.prototype.hasOwnProperty,Vh={brackets:function(t){return t+"[]"},comma:"comma",indices:function(t,r){return t+"["+r+"]"},repeat:function(t){return t}},tt=Array.isArray,n8=Array.prototype.push,Xh=function(e,t){n8.apply(e,tt(t)?t:[t])},a8=Date.prototype.toISOString,Kh=Mr.default,Se={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:Xn.encode,encodeValuesOnly:!1,format:Kh,formatter:Mr.formatters[Kh],indices:!1,serializeDate:function(t){return a8.call(t)},skipNulls:!1,strictNullHandling:!1},o8=function(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||typeof t=="symbol"||typeof t=="bigint"},Eu={},u8=function e(t,r,n,a,o,u,i,s,d,y,A,g,h,E,b,x){for(var S=t,P=x,N=0,$=!1;(P=P.get(Eu))!==void 0&&!$;){var w=P.get(t);if(N+=1,typeof w<"u"){if(w===N)throw new RangeError("Cyclic object value");$=!0}typeof P.get(Eu)>"u"&&(N=0)}if(typeof s=="function"?S=s(r,S):S instanceof Date?S=A(S):n==="comma"&&tt(S)&&(S=Xn.maybeMap(S,function(M){return M instanceof Date?A(M):M})),S===null){if(o)return i&&!E?i(r,Se.encoder,b,"key",g):r;S=""}if(o8(S)||Xn.isBuffer(S)){if(i){var j=E?r:i(r,Se.encoder,b,"key",g);return[h(j)+"="+h(i(S,Se.encoder,b,"value",g))]}return[h(r)+"="+h(String(S))]}var I=[];if(typeof S>"u")return I;var U;if(n==="comma"&&tt(S))E&&i&&(S=Xn.maybeMap(S,i)),U=[{value:S.length>0?S.join(",")||null:void 0}];else if(tt(s))U=s;else{var V=Object.keys(S);U=d?V.sort(d):V}for(var z=a&&tt(S)&&S.length===1?r+"[]":r,ie=0;ie"u"?Se.allowDots:!!t.allowDots,charset:r,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:Se.charsetSentinel,delimiter:typeof t.delimiter>"u"?Se.delimiter:t.delimiter,encode:typeof t.encode=="boolean"?t.encode:Se.encode,encoder:typeof t.encoder=="function"?t.encoder:Se.encoder,encodeValuesOnly:typeof t.encodeValuesOnly=="boolean"?t.encodeValuesOnly:Se.encodeValuesOnly,filter:o,format:n,formatter:a,serializeDate:typeof t.serializeDate=="function"?t.serializeDate:Se.serializeDate,skipNulls:typeof t.skipNulls=="boolean"?t.skipNulls:Se.skipNulls,sort:typeof t.sort=="function"?t.sort:null,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:Se.strictNullHandling}};Jh.exports=function(e,t){var r=e,n=i8(t),a,o;typeof n.filter=="function"?(o=n.filter,r=o("",r)):tt(n.filter)&&(o=n.filter,a=o);var u=[];if(typeof r!="object"||r===null)return"";var i;t&&t.arrayFormat in Vh?i=t.arrayFormat:t&&"indices"in t?i=t.indices?"indices":"repeat":i="indices";var s=Vh[i];if(t&&"commaRoundTrip"in t&&typeof t.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var d=s==="comma"&&t&&t.commaRoundTrip;a||(a=Object.keys(r)),n.sort&&a.sort(n.sort);for(var y=Yh(),A=0;A0?E+h:""}});var tg=F((nJ,eg)=>{"use strict";l();c();p();var Qt=Au(),Du=Object.prototype.hasOwnProperty,s8=Array.isArray,Ee={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:Qt.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},l8=function(e){return e.replace(/&#(\d+);/g,function(t,r){return String.fromCharCode(parseInt(r,10))})},Zh=function(e,t){return e&&typeof e=="string"&&t.comma&&e.indexOf(",")>-1?e.split(","):e},c8="utf8=%26%2310003%3B",p8="utf8=%E2%9C%93",d8=function(t,r){var n={},a=r.ignoreQueryPrefix?t.replace(/^\?/,""):t,o=r.parameterLimit===1/0?void 0:r.parameterLimit,u=a.split(r.delimiter,o),i=-1,s,d=r.charset;if(r.charsetSentinel)for(s=0;s-1&&(E=s8(E)?[E]:E),Du.call(n,h)?n[h]=Qt.combine(n[h],E):n[h]=E}return n},f8=function(e,t,r,n){for(var a=n?t:Zh(t,r),o=e.length-1;o>=0;--o){var u,i=e[o];if(i==="[]"&&r.parseArrays)u=[].concat(a);else{u=r.plainObjects?Object.create(null):{};var s=i.charAt(0)==="["&&i.charAt(i.length-1)==="]"?i.slice(1,-1):i,d=parseInt(s,10);!r.parseArrays&&s===""?u={0:a}:!isNaN(d)&&i!==s&&String(d)===s&&d>=0&&r.parseArrays&&d<=r.arrayLimit?(u=[],u[d]=a):s!=="__proto__"&&(u[s]=a)}a=u}return a},h8=function(t,r,n,a){if(t){var o=n.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,u=/(\[[^[\]]*])/,i=/(\[[^[\]]*])/g,s=n.depth>0&&u.exec(o),d=s?o.slice(0,s.index):o,y=[];if(d){if(!n.plainObjects&&Du.call(Object.prototype,d)&&!n.allowPrototypes)return;y.push(d)}for(var A=0;n.depth>0&&(s=i.exec(o))!==null&&A"u"?Ee.charset:t.charset;return{allowDots:typeof t.allowDots>"u"?Ee.allowDots:!!t.allowDots,allowPrototypes:typeof t.allowPrototypes=="boolean"?t.allowPrototypes:Ee.allowPrototypes,allowSparse:typeof t.allowSparse=="boolean"?t.allowSparse:Ee.allowSparse,arrayLimit:typeof t.arrayLimit=="number"?t.arrayLimit:Ee.arrayLimit,charset:r,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:Ee.charsetSentinel,comma:typeof t.comma=="boolean"?t.comma:Ee.comma,decoder:typeof t.decoder=="function"?t.decoder:Ee.decoder,delimiter:typeof t.delimiter=="string"||Qt.isRegExp(t.delimiter)?t.delimiter:Ee.delimiter,depth:typeof t.depth=="number"||t.depth===!1?+t.depth:Ee.depth,ignoreQueryPrefix:t.ignoreQueryPrefix===!0,interpretNumericEntities:typeof t.interpretNumericEntities=="boolean"?t.interpretNumericEntities:Ee.interpretNumericEntities,parameterLimit:typeof t.parameterLimit=="number"?t.parameterLimit:Ee.parameterLimit,parseArrays:t.parseArrays!==!1,plainObjects:typeof t.plainObjects=="boolean"?t.plainObjects:Ee.plainObjects,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:Ee.strictNullHandling}};eg.exports=function(e,t){var r=g8(t);if(e===""||e===null||typeof e>"u")return r.plainObjects?Object.create(null):{};for(var n=typeof e=="string"?d8(e,r):e,a=r.plainObjects?Object.create(null):{},o=Object.keys(n),u=0;u{"use strict";l();c();p();var m8=Qh(),y8=tg(),b8=Yn();rg.exports={formats:b8,parse:y8,stringify:m8}});var Tg=F((dZ,Bg)=>{l();c();p();(function(){"use strict";function e(u){if(u==null)return!1;switch(u.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1}function t(u){if(u==null)return!1;switch(u.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1}function r(u){if(u==null)return!1;switch(u.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function n(u){return r(u)||u!=null&&u.type==="FunctionDeclaration"}function a(u){switch(u.type){case"IfStatement":return u.alternate!=null?u.alternate:u.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return u.body}return null}function o(u){var i;if(u.type!=="IfStatement"||u.alternate==null)return!1;i=u.consequent;do{if(i.type==="IfStatement"&&i.alternate==null)return!0;i=a(i)}while(i);return!1}Bg.exports={isExpression:e,isStatement:r,isIterationStatement:t,isSourceElement:n,isProblematicIfStatement:o,trailingStatement:a}})()});var _u=F((mZ,_g)=>{l();c();p();(function(){"use strict";var e,t,r,n,a,o;t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},e={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};function u(x){return 48<=x&&x<=57}function i(x){return 48<=x&&x<=57||97<=x&&x<=102||65<=x&&x<=70}function s(x){return x>=48&&x<=55}r=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];function d(x){return x===32||x===9||x===11||x===12||x===160||x>=5760&&r.indexOf(x)>=0}function y(x){return x===10||x===13||x===8232||x===8233}function A(x){if(x<=65535)return String.fromCharCode(x);var S=String.fromCharCode(Math.floor((x-65536)/1024)+55296),P=String.fromCharCode((x-65536)%1024+56320);return S+P}for(n=new Array(128),o=0;o<128;++o)n[o]=o>=97&&o<=122||o>=65&&o<=90||o===36||o===95;for(a=new Array(128),o=0;o<128;++o)a[o]=o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||o===36||o===95;function g(x){return x<128?n[x]:t.NonAsciiIdentifierStart.test(A(x))}function h(x){return x<128?a[x]:t.NonAsciiIdentifierPart.test(A(x))}function E(x){return x<128?n[x]:e.NonAsciiIdentifierStart.test(A(x))}function b(x){return x<128?a[x]:e.NonAsciiIdentifierPart.test(A(x))}_g.exports={isDecimalDigit:u,isHexDigit:i,isOctalDigit:s,isWhiteSpace:d,isLineTerminator:y,isIdentifierStartES5:g,isIdentifierPartES5:h,isIdentifierStartES6:E,isIdentifierPartES6:b}})()});var Rg=F((EZ,Og)=>{l();c();p();(function(){"use strict";var e=_u();function t(g){switch(g){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}function r(g,h){return!h&&g==="yield"?!1:n(g,h)}function n(g,h){if(h&&t(g))return!0;switch(g.length){case 2:return g==="if"||g==="in"||g==="do";case 3:return g==="var"||g==="for"||g==="new"||g==="try";case 4:return g==="this"||g==="else"||g==="case"||g==="void"||g==="with"||g==="enum";case 5:return g==="while"||g==="break"||g==="catch"||g==="throw"||g==="const"||g==="yield"||g==="class"||g==="super";case 6:return g==="return"||g==="typeof"||g==="delete"||g==="switch"||g==="export"||g==="import";case 7:return g==="default"||g==="finally"||g==="extends";case 8:return g==="function"||g==="continue"||g==="debugger";case 10:return g==="instanceof";default:return!1}}function a(g,h){return g==="null"||g==="true"||g==="false"||r(g,h)}function o(g,h){return g==="null"||g==="true"||g==="false"||n(g,h)}function u(g){return g==="eval"||g==="arguments"}function i(g){var h,E,b;if(g.length===0||(b=g.charCodeAt(0),!e.isIdentifierStartES5(b)))return!1;for(h=1,E=g.length;h=E||(x=g.charCodeAt(h),!(56320<=x&&x<=57343)))return!1;b=s(b,x)}if(!S(b))return!1;S=e.isIdentifierPartES6}return!0}function y(g,h){return i(g)&&!a(g,h)}function A(g,h){return d(g)&&!o(g,h)}Og.exports={isKeywordES5:r,isKeywordES6:n,isReservedWordES5:a,isReservedWordES6:o,isRestrictedWord:u,isIdentifierNameES5:i,isIdentifierNameES6:d,isIdentifierES5:y,isIdentifierES6:A}})()});var Ou=F(ta=>{l();c();p();(function(){"use strict";ta.ast=Tg(),ta.code=_u(),ta.keyword=Rg()})()});var Pg=F((BZ,SO)=>{SO.exports={name:"doctrine",description:"JSDoc parser",homepage:"https://github.com/eslint/doctrine",main:"lib/doctrine.js",version:"3.0.0",engines:{node:">=6.0.0"},directories:{lib:"./lib"},files:["lib"],maintainers:[{name:"Nicholas C. Zakas",email:"nicholas+npm@nczconsulting.com",web:"https://www.nczonline.net"},{name:"Yusuke Suzuki",email:"utatane.tea@gmail.com",web:"https://github.com/Constellation"}],repository:"eslint/doctrine",devDependencies:{coveralls:"^3.0.1",dateformat:"^1.0.11",eslint:"^1.10.3","eslint-release":"^1.0.0",linefix:"^0.1.1",mocha:"^3.4.2","npm-license":"^0.3.1",nyc:"^10.3.2",semver:"^5.0.3",shelljs:"^0.5.3","shelljs-nodecli":"^0.1.1",should:"^5.0.1"},license:"Apache-2.0",scripts:{pretest:"npm run lint",test:"nyc mocha",coveralls:"nyc report --reporter=text-lcov | coveralls",lint:"eslint lib/","generate-release":"eslint-generate-release","generate-alpharelease":"eslint-generate-prerelease alpha","generate-betarelease":"eslint-generate-prerelease beta","generate-rcrelease":"eslint-generate-prerelease rc","publish-release":"eslint-publish-release"},dependencies:{esutils:"^2.0.2"}}});var kg=F((TZ,Ig)=>{l();c();p();function wO(e,t){if(!e)throw new Error(t||"unknown assertion error")}Ig.exports=wO});var Ru=F($r=>{l();c();p();(function(){"use strict";var e;e=Pg().version,$r.VERSION=e;function t(n){this.name="DoctrineError",this.message=n}t.prototype=function(){var n=function(){};return n.prototype=Error.prototype,new n}(),t.prototype.constructor=t,$r.DoctrineError=t;function r(n){throw new t(n)}$r.throwError=r,$r.assert=kg()})()});var Ng=F(Ur=>{l();c();p();(function(){"use strict";var e,t,r,n,a,o,u,i,s,d,y,A;s=Ou(),d=Ru(),e={NullableLiteral:"NullableLiteral",AllLiteral:"AllLiteral",NullLiteral:"NullLiteral",UndefinedLiteral:"UndefinedLiteral",VoidLiteral:"VoidLiteral",UnionType:"UnionType",ArrayType:"ArrayType",RecordType:"RecordType",FieldType:"FieldType",FunctionType:"FunctionType",ParameterType:"ParameterType",RestType:"RestType",NonNullableType:"NonNullableType",OptionalType:"OptionalType",NullableType:"NullableType",NameExpression:"NameExpression",TypeApplication:"TypeApplication",StringLiteralType:"StringLiteralType",NumericLiteralType:"NumericLiteralType",BooleanLiteralType:"BooleanLiteralType"},t={ILLEGAL:0,DOT_LT:1,REST:2,LT:3,GT:4,LPAREN:5,RPAREN:6,LBRACE:7,RBRACE:8,LBRACK:9,RBRACK:10,COMMA:11,COLON:12,STAR:13,PIPE:14,QUESTION:15,BANG:16,EQUAL:17,NAME:18,STRING:19,NUMBER:20,EOF:21};function g(B){return"><(){}[],:*|?!=".indexOf(String.fromCharCode(B))===-1&&!s.code.isWhiteSpace(B)&&!s.code.isLineTerminator(B)}function h(B,R,k,_){this._previous=B,this._index=R,this._token=k,this._value=_}h.prototype.restore=function(){o=this._previous,a=this._index,u=this._token,i=this._value},h.save=function(){return new h(o,a,u,i)};function E(B,R){return A&&(B.range=[R[0]+y,R[1]+y]),B}function b(){var B=r.charAt(a);return a+=1,B}function x(B){var R,k,_,L=0;for(k=B==="u"?4:2,R=0;R=0&&a=n)return t.ILLEGAL;if(R=r.charCodeAt(a+1),R===60)break}i+=b()}return t.NAME}function $(){var B;for(o=a;a=n)return u=t.EOF,u;switch(B=r.charCodeAt(a),B){case 39:case 34:return u=S(),u;case 58:return b(),u=t.COLON,u;case 44:return b(),u=t.COMMA,u;case 40:return b(),u=t.LPAREN,u;case 41:return b(),u=t.RPAREN,u;case 91:return b(),u=t.LBRACK,u;case 93:return b(),u=t.RBRACK,u;case 123:return b(),u=t.LBRACE,u;case 125:return b(),u=t.RBRACE,u;case 46:if(a+1{l();c();p();(function(){"use strict";var e,t,r,n,a;n=Ou(),e=Ng(),t=Ru();function o(w,j,I){return w.slice(j,I)}a=function(){var w=Object.prototype.hasOwnProperty;return function(I,U){return w.call(I,U)}}();function u(w){var j={},I;for(I in w)w.hasOwnProperty(I)&&(j[I]=w[I]);return j}function i(w){return w>=97&&w<=122||w>=65&&w<=90||w>=48&&w<=57}function s(w){return w==="param"||w==="argument"||w==="arg"}function d(w){return w==="return"||w==="returns"}function y(w){return w==="property"||w==="prop"}function A(w){return s(w)||y(w)||w==="alias"||w==="this"||w==="mixes"||w==="requires"}function g(w){return A(w)||w==="const"||w==="constant"}function h(w){return y(w)||s(w)}function E(w){return y(w)||s(w)}function b(w){return s(w)||d(w)||w==="define"||w==="enum"||w==="implements"||w==="this"||w==="type"||w==="typedef"||y(w)}function x(w){return b(w)||w==="throws"||w==="const"||w==="constant"||w==="namespace"||w==="member"||w==="var"||w==="module"||w==="constructor"||w==="class"||w==="extends"||w==="augments"||w==="public"||w==="private"||w==="protected"}var S="[ \\f\\t\\v\\u00a0\\u1680\\u180e\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]",P="("+S+"*(?:\\*"+S+`?)?)(.+|[\r +\u2028\u2029])`;function N(w){return w.replace(/^\/\*\*?/,"").replace(/\*\/$/,"").replace(new RegExp(P,"g"),"$2").replace(/\s*$/,"")}function $(w,j){for(var I=w.replace(/^\/\*\*?/,""),U=0,V=new RegExp(P,"g"),z;z=V.exec(I);)if(U+=z[1].length,z.index+z[0].length>j+U)return j+U+w.length-I.length;return w.replace(/\*\/$/,"").replace(/\s*$/,"").length}(function(w){var j,I,U,V,z,ie,Z,X,O;function T(){var k=z.charCodeAt(I);return I+=1,n.code.isLineTerminator(k)&&!(k===13&&z.charCodeAt(I)===10)&&(U+=1),String.fromCharCode(k)}function M(){var k="";for(T();I=k)return null;if(z.charCodeAt(I)===91)if(_)de=!0,H=T();else return null;if(H+=K(k),L)for(z.charCodeAt(I)===58&&(H==="module"||H==="external"||H==="event")&&(H+=T(),H+=K(k)),z.charCodeAt(I)===91&&z.charCodeAt(I+1)===93&&(H+=T(),H+=T());z.charCodeAt(I)===46||z.charCodeAt(I)===47||z.charCodeAt(I)===35||z.charCodeAt(I)===45||z.charCodeAt(I)===126;)H+=T(),H+=K(k);if(de){if(Q(k),z.charCodeAt(I)===61){H+=T(),Q(k);for(var ue,Ae=1;I=k||z.charCodeAt(I)!==93)return null;H+=T()}return H}function Oe(){for(;I=V?!1:(t.assert(z.charCodeAt(I)===64),!0)}function Re(k){return z===ie?k:$(ie,k)}function J(k,_){this._options=k,this._title=_.toLowerCase(),this._tag={title:_,description:null},this._options.lineNumbers&&(this._tag.lineNumber=U),this._first=I-_.length-1,this._last=0,this._extra={}}J.prototype.addError=function(_){var L=Array.prototype.slice.call(arguments,1),H=_.replace(/%(\d)/g,function(de,ae){return t.assert(ae1&&(this._tag.default=k.slice(1).join("=")),this._tag.name=k[0],this._tag.type&&this._tag.type.type!=="OptionalType"&&(this._tag.type={type:"OptionalType",expression:this._tag.type}));else{if(!A(this._title))return!0;if(s(this._title)&&this._tag.type&&this._tag.type.name)this._extra.name=this._tag.type,this._tag.name=this._tag.type.name,this._tag.type=null;else if(!this.addError("Missing or invalid tag name"))return!1}return!0},J.prototype.parseDescription=function(){var _=o(z,I,this._last).trim();return _&&(/^-\s+/.test(_)&&(_=_.substring(2)),this._tag.description=_),!0},J.prototype.parseCaption=function(){var _=o(z,I,this._last).trim(),L="",H="",de=_.indexOf(L),ae=_.indexOf(H);return de>=0&&ae>=0?(this._tag.caption=_.substring(de+L.length,ae).trim(),this._tag.description=_.substring(ae+H.length).trim()):this._tag.description=_,!0},J.prototype.parseKind=function(){var _,L;return L={class:!0,constant:!0,event:!0,external:!0,file:!0,function:!0,member:!0,mixin:!0,module:!0,namespace:!0,typedef:!0},_=o(z,I,this._last).trim(),this._tag.kind=_,!(!a(L,_)&&!this.addError("Invalid kind name '%0'",_))},J.prototype.parseAccess=function(){var _;return _=o(z,I,this._last).trim(),this._tag.access=_,!(_!=="private"&&_!=="protected"&&_!=="public"&&!this.addError("Invalid access name '%0'",_))},J.prototype.parseThis=function(){var _=o(z,I,this._last).trim();if(_&&_.charAt(0)==="{"){var L=this.parseType();return L&&this._tag.type.type==="NameExpression"||this._tag.type.type==="UnionType"?(this._tag.name=this._tag.type.name,!0):this.addError("Invalid name for this")}else return this.parseNamePath()},J.prototype.parseVariation=function(){var _,L;return L=o(z,I,this._last).trim(),_=parseFloat(L,10),this._tag.variation=_,!(isNaN(_)&&!this.addError("Invalid variation '%0'",L))},J.prototype.ensureEnd=function(){var k=o(z,I,this._last).trim();return!(k&&!this.addError("Unknown content '%0'",k))},J.prototype.epilogue=function(){var _;return _=this._tag.description,!(E(this._title)&&!this._tag.type&&_&&_.charAt(0)==="["&&(this._tag.type=this._extra.name,this._tag.name||(this._tag.name=void 0),!X&&!this.addError("Missing or invalid tag name")))},j={access:["parseAccess"],alias:["parseNamePath","ensureEnd"],augments:["parseType","parseNamePathOptional","ensureEnd"],constructor:["parseType","parseNamePathOptional","ensureEnd"],class:["parseType","parseNamePathOptional","ensureEnd"],extends:["parseType","parseNamePathOptional","ensureEnd"],example:["parseCaption"],deprecated:["parseDescription"],global:["ensureEnd"],inner:["ensureEnd"],instance:["ensureEnd"],kind:["parseKind"],mixes:["parseNamePath","ensureEnd"],mixin:["parseNamePathOptional","ensureEnd"],member:["parseType","parseNamePathOptional","ensureEnd"],method:["parseNamePathOptional","ensureEnd"],module:["parseType","parseNamePathOptional","ensureEnd"],func:["parseNamePathOptional","ensureEnd"],function:["parseNamePathOptional","ensureEnd"],var:["parseType","parseNamePathOptional","ensureEnd"],name:["parseNamePath","ensureEnd"],namespace:["parseType","parseNamePathOptional","ensureEnd"],private:["parseType","parseDescription"],protected:["parseType","parseDescription"],public:["parseType","parseDescription"],readonly:["ensureEnd"],requires:["parseNamePath","ensureEnd"],since:["parseDescription"],static:["ensureEnd"],summary:["parseDescription"],this:["parseThis","ensureEnd"],todo:["parseDescription"],typedef:["parseType","parseNamePathOptional"],variation:["parseVariation"],version:["parseDescription"]},J.prototype.parse=function(){var _,L,H,de;if(!this._title&&!this.addError("Missing or invalid title"))return null;for(this._last=G(this._title),this._options.range&&(this._tag.range=[this._first,z.slice(0,this._last).replace(/\s*$/,"").length].map(Re)),a(j,this._title)?H=j[this._title]:H=["parseType","parseName","parseDescription","epilogue"],_=0,L=H.length;_=0||(a[r]=e[r]);return a}function Pu(e){var t=Ce(e),r=Ce(function(n){t.current&&t.current(n)});return t.current=e,r.current}function Yg(e,t,r){var n=Pu(r),a=ne(function(){return e.toHsva(t)}),o=a[0],u=a[1],i=Ce({color:t,hsva:o});me(function(){if(!e.equal(t,i.current.color)){var d=e.toHsva(t);i.current={hsva:d,color:t},u(d)}},[t,e]),me(function(){var d;Vg(o,i.current.hsva)||e.equal(d=e.fromHsva(o),i.current.color)||(i.current={hsva:o,color:d},n(d))},[o,e,n]);var s=ge(function(d){u(function(y){return Object.assign({},y,d)})},[]);return[o,s]}var nr,Hr,Iu,qg,Lg,Mu,Gr,qu,De,RO,PO,ku,IO,kO,NO,jO,Ug,Nu,aa,zg,MO,na,qO,Hg,Gg,Wg,Vg,Kg,LO,$O,UO,zO,$g,Xg,HO,GO,Jg,WO,Qg,VO,Zg,KO,em,tm=Xe(()=>{l();c();p();wt();nr=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=1),e>r?r:e0:x.buttons>0)&&a.current?o(qg(a.current,x,i.current)):b(!1)},E=function(){return b(!1)};function b(x){var S=s.current,P=Iu(a.current),N=x?P.addEventListener:P.removeEventListener;N(S?"touchmove":"mousemove",h),N(S?"touchend":"mouseup",E)}return[function(x){var S=x.nativeEvent,P=a.current;if(P&&(Lg(S),!function($,w){return w&&!Hr($)}(S,s.current)&&P)){if(Hr(S)){s.current=!0;var N=S.changedTouches||[];N.length&&(i.current=N[0].identifier)}P.focus(),o(qg(P,S,i.current)),b(!0)}},function(x){var S=x.which||x.keyCode;S<37||S>40||(x.preventDefault(),u({left:S===39?.05:S===37?-.05:0,top:S===40?.05:S===38?-.05:0}))},b]},[u,o]),y=d[0],A=d[1],g=d[2];return me(function(){return g},[g]),m.createElement("div",Ft({},n,{onTouchStart:y,onMouseDown:y,className:"react-colorful__interactive",ref:a,onKeyDown:A,tabIndex:0,role:"slider"}))}),Gr=function(e){return e.filter(Boolean).join(" ")},qu=function(e){var t=e.color,r=e.left,n=e.top,a=n===void 0?.5:n,o=Gr(["react-colorful__pointer",e.className]);return m.createElement("div",{className:o,style:{top:100*a+"%",left:100*r+"%"}},m.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},De=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=Math.pow(10,t)),Math.round(r*e)/r},RO={grad:.9,turn:360,rad:360/(2*Math.PI)},PO=function(e){return Hg(ku(e))},ku=function(e){return e[0]==="#"&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?De(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:e.length===8?De(parseInt(e.substring(6,8),16)/255,2):1}},IO=function(e,t){return t===void 0&&(t="deg"),Number(e)*(RO[t]||1)},kO=function(e){var t=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return t?NO({h:IO(t[1],t[2]),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)}):{h:0,s:0,v:0,a:1}},NO=function(e){var t=e.s,r=e.l;return{h:e.h,s:(t*=(r<50?r:100-r)/100)>0?2*t/(r+t)*100:0,v:r+t,a:e.a}},jO=function(e){return qO(zg(e))},Ug=function(e){var t=e.s,r=e.v,n=e.a,a=(200-t)*r/100;return{h:De(e.h),s:De(a>0&&a<200?t*r/100/(a<=100?a:200-a)*100:0),l:De(a/2),a:De(n,2)}},Nu=function(e){var t=Ug(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},aa=function(e){var t=Ug(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},zg=function(e){var t=e.h,r=e.s,n=e.v,a=e.a;t=t/360*6,r/=100,n/=100;var o=Math.floor(t),u=n*(1-r),i=n*(1-(t-o)*r),s=n*(1-(1-t+o)*r),d=o%6;return{r:De(255*[n,i,u,u,s,n][d]),g:De(255*[s,n,n,i,u,u][d]),b:De(255*[u,u,s,n,n,i][d]),a:De(a,2)}},MO=function(e){var t=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return t?Hg({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):{h:0,s:0,v:0,a:1}},na=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},qO=function(e){var t=e.r,r=e.g,n=e.b,a=e.a,o=a<1?na(De(255*a)):"";return"#"+na(t)+na(r)+na(n)+o},Hg=function(e){var t=e.r,r=e.g,n=e.b,a=e.a,o=Math.max(t,r,n),u=o-Math.min(t,r,n),i=u?o===t?(r-n)/u:o===r?2+(n-t)/u:4+(t-r)/u:0;return{h:De(60*(i<0?i+6:i)),s:De(o?u/o*100:0),v:De(o/255*100),a}},Gg=m.memo(function(e){var t=e.hue,r=e.onChange,n=Gr(["react-colorful__hue",e.className]);return m.createElement("div",{className:n},m.createElement(Mu,{onMove:function(a){r({h:360*a.left})},onKey:function(a){r({h:nr(t+360*a.left,0,360)})},"aria-label":"Hue","aria-valuenow":De(t),"aria-valuemax":"360","aria-valuemin":"0"},m.createElement(qu,{className:"react-colorful__hue-pointer",left:t/360,color:Nu({h:t,s:100,v:100,a:1})})))}),Wg=m.memo(function(e){var t=e.hsva,r=e.onChange,n={backgroundColor:Nu({h:t.h,s:100,v:100,a:1})};return m.createElement("div",{className:"react-colorful__saturation",style:n},m.createElement(Mu,{onMove:function(a){r({s:100*a.left,v:100-100*a.top})},onKey:function(a){r({s:nr(t.s+100*a.left,0,100),v:nr(t.v-100*a.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+De(t.s)+"%, Brightness "+De(t.v)+"%"},m.createElement(qu,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:Nu(t)})))}),Vg=function(e,t){if(e===t)return!0;for(var r in e)if(e[r]!==t[r])return!1;return!0},Kg=function(e,t){return e.replace(/\s/g,"")===t.replace(/\s/g,"")},LO=function(e,t){return e.toLowerCase()===t.toLowerCase()||Vg(ku(e),ku(t))};UO=typeof window<"u"?yi:me,zO=function(){return $O||(typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0)},$g=new Map,Xg=function(e){UO(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!$g.has(t)){var r=t.createElement("style");r.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,$g.set(t,r);var n=zO();n&&r.setAttribute("nonce",n),t.head.appendChild(r)}},[])},HO=function(e){var t=e.className,r=e.colorModel,n=e.color,a=n===void 0?r.defaultColor:n,o=e.onChange,u=ju(e,["className","colorModel","color","onChange"]),i=Ce(null);Xg(i);var s=Yg(r,a,o),d=s[0],y=s[1],A=Gr(["react-colorful",t]);return m.createElement("div",Ft({},u,{ref:i,className:A}),m.createElement(Wg,{hsva:d,onChange:y}),m.createElement(Gg,{hue:d.h,onChange:y,className:"react-colorful__last-control"}))},GO={defaultColor:"000",toHsva:PO,fromHsva:function(e){return jO({h:e.h,s:e.s,v:e.v,a:1})},equal:LO},Jg=function(e){return m.createElement(HO,Ft({},e,{colorModel:GO}))},WO=function(e){var t=e.className,r=e.hsva,n=e.onChange,a={backgroundImage:"linear-gradient(90deg, "+aa(Object.assign({},r,{a:0}))+", "+aa(Object.assign({},r,{a:1}))+")"},o=Gr(["react-colorful__alpha",t]),u=De(100*r.a);return m.createElement("div",{className:o},m.createElement("div",{className:"react-colorful__alpha-gradient",style:a}),m.createElement(Mu,{onMove:function(i){n({a:i.left})},onKey:function(i){n({a:nr(r.a+i.left)})},"aria-label":"Alpha","aria-valuetext":u+"%","aria-valuenow":u,"aria-valuemin":"0","aria-valuemax":"100"},m.createElement(qu,{className:"react-colorful__alpha-pointer",left:r.a,color:aa(r)})))},Qg=function(e){var t=e.className,r=e.colorModel,n=e.color,a=n===void 0?r.defaultColor:n,o=e.onChange,u=ju(e,["className","colorModel","color","onChange"]),i=Ce(null);Xg(i);var s=Yg(r,a,o),d=s[0],y=s[1],A=Gr(["react-colorful",t]);return m.createElement("div",Ft({},u,{ref:i,className:A}),m.createElement(Wg,{hsva:d,onChange:y}),m.createElement(Gg,{hue:d.h,onChange:y}),m.createElement(WO,{hsva:d,onChange:y,className:"react-colorful__last-control"}))},VO={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:kO,fromHsva:aa,equal:Kg},Zg=function(e){return m.createElement(Qg,Ft({},e,{colorModel:VO}))},KO={defaultColor:"rgba(0, 0, 0, 1)",toHsva:MO,fromHsva:function(e){var t=zg(e);return"rgba("+t.r+", "+t.g+", "+t.b+", "+t.a+")"},equal:Kg},em=function(e){return m.createElement(Qg,Ft({},e,{colorModel:KO}))}});var nm=F((ree,rm)=>{"use strict";l();c();p();rm.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Lu=F((uee,om)=>{l();c();p();var Wr=nm(),am={};for(let e of Object.keys(Wr))am[Wr[e]]=e;var W={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};om.exports=W;for(let e of Object.keys(W)){if(!("channels"in W[e]))throw new Error("missing channels property: "+e);if(!("labels"in W[e]))throw new Error("missing channel labels property: "+e);if(W[e].labels.length!==W[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:r}=W[e];delete W[e].channels,delete W[e].labels,Object.defineProperty(W[e],"channels",{value:t}),Object.defineProperty(W[e],"labels",{value:r})}W.rgb.hsl=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,a=Math.min(t,r,n),o=Math.max(t,r,n),u=o-a,i,s;o===a?i=0:t===o?i=(r-n)/u:r===o?i=2+(n-t)/u:n===o&&(i=4+(t-r)/u),i=Math.min(i*60,360),i<0&&(i+=360);let d=(a+o)/2;return o===a?s=0:d<=.5?s=u/(o+a):s=u/(2-o-a),[i,s*100,d*100]};W.rgb.hsv=function(e){let t,r,n,a,o,u=e[0]/255,i=e[1]/255,s=e[2]/255,d=Math.max(u,i,s),y=d-Math.min(u,i,s),A=function(g){return(d-g)/6/y+1/2};return y===0?(a=0,o=0):(o=y/d,t=A(u),r=A(i),n=A(s),u===d?a=n-r:i===d?a=1/3+t-n:s===d&&(a=2/3+r-t),a<0?a+=1:a>1&&(a-=1)),[a*360,o*100,d*100]};W.rgb.hwb=function(e){let t=e[0],r=e[1],n=e[2],a=W.rgb.hsl(e)[0],o=1/255*Math.min(t,Math.min(r,n));return n=1-1/255*Math.max(t,Math.max(r,n)),[a,o*100,n*100]};W.rgb.cmyk=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,a=Math.min(1-t,1-r,1-n),o=(1-t-a)/(1-a)||0,u=(1-r-a)/(1-a)||0,i=(1-n-a)/(1-a)||0;return[o*100,u*100,i*100,a*100]};function YO(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}W.rgb.keyword=function(e){let t=am[e];if(t)return t;let r=1/0,n;for(let a of Object.keys(Wr)){let o=Wr[a],u=YO(e,o);u.04045?((t+.055)/1.055)**2.4:t/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;let a=t*.4124+r*.3576+n*.1805,o=t*.2126+r*.7152+n*.0722,u=t*.0193+r*.1192+n*.9505;return[a*100,o*100,u*100]};W.rgb.lab=function(e){let t=W.rgb.xyz(e),r=t[0],n=t[1],a=t[2];r/=95.047,n/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let o=116*n-16,u=500*(r-n),i=200*(n-a);return[o,u,i]};W.hsl.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100,a,o,u;if(r===0)return u=n*255,[u,u,u];n<.5?a=n*(1+r):a=n+r-n*r;let i=2*n-a,s=[0,0,0];for(let d=0;d<3;d++)o=t+1/3*-(d-1),o<0&&o++,o>1&&o--,6*o<1?u=i+(a-i)*6*o:2*o<1?u=a:3*o<2?u=i+(a-i)*(2/3-o)*6:u=i,s[d]=u*255;return s};W.hsl.hsv=function(e){let t=e[0],r=e[1]/100,n=e[2]/100,a=r,o=Math.max(n,.01);n*=2,r*=n<=1?n:2-n,a*=o<=1?o:2-o;let u=(n+r)/2,i=n===0?2*a/(o+a):2*r/(n+r);return[t,i*100,u*100]};W.hsv.rgb=function(e){let t=e[0]/60,r=e[1]/100,n=e[2]/100,a=Math.floor(t)%6,o=t-Math.floor(t),u=255*n*(1-r),i=255*n*(1-r*o),s=255*n*(1-r*(1-o));switch(n*=255,a){case 0:return[n,s,u];case 1:return[i,n,u];case 2:return[u,n,s];case 3:return[u,i,n];case 4:return[s,u,n];case 5:return[n,u,i]}};W.hsv.hsl=function(e){let t=e[0],r=e[1]/100,n=e[2]/100,a=Math.max(n,.01),o,u;u=(2-r)*n;let i=(2-r)*a;return o=r*a,o/=i<=1?i:2-i,o=o||0,u/=2,[t,o*100,u*100]};W.hwb.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100,a=r+n,o;a>1&&(r/=a,n/=a);let u=Math.floor(6*t),i=1-n;o=6*t-u,u&1&&(o=1-o);let s=r+o*(i-r),d,y,A;switch(u){default:case 6:case 0:d=i,y=s,A=r;break;case 1:d=s,y=i,A=r;break;case 2:d=r,y=i,A=s;break;case 3:d=r,y=s,A=i;break;case 4:d=s,y=r,A=i;break;case 5:d=i,y=r,A=s;break}return[d*255,y*255,A*255]};W.cmyk.rgb=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,a=e[3]/100,o=1-Math.min(1,t*(1-a)+a),u=1-Math.min(1,r*(1-a)+a),i=1-Math.min(1,n*(1-a)+a);return[o*255,u*255,i*255]};W.xyz.rgb=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,a,o,u;return a=t*3.2406+r*-1.5372+n*-.4986,o=t*-.9689+r*1.8758+n*.0415,u=t*.0557+r*-.204+n*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,a=Math.min(Math.max(0,a),1),o=Math.min(Math.max(0,o),1),u=Math.min(Math.max(0,u),1),[a*255,o*255,u*255]};W.xyz.lab=function(e){let t=e[0],r=e[1],n=e[2];t/=95.047,r/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let a=116*r-16,o=500*(t-r),u=200*(r-n);return[a,o,u]};W.lab.xyz=function(e){let t=e[0],r=e[1],n=e[2],a,o,u;o=(t+16)/116,a=r/500+o,u=o-n/200;let i=o**3,s=a**3,d=u**3;return o=i>.008856?i:(o-16/116)/7.787,a=s>.008856?s:(a-16/116)/7.787,u=d>.008856?d:(u-16/116)/7.787,a*=95.047,o*=100,u*=108.883,[a,o,u]};W.lab.lch=function(e){let t=e[0],r=e[1],n=e[2],a;a=Math.atan2(n,r)*360/2/Math.PI,a<0&&(a+=360);let u=Math.sqrt(r*r+n*n);return[t,u,a]};W.lch.lab=function(e){let t=e[0],r=e[1],a=e[2]/360*2*Math.PI,o=r*Math.cos(a),u=r*Math.sin(a);return[t,o,u]};W.rgb.ansi16=function(e,t=null){let[r,n,a]=e,o=t===null?W.rgb.hsv(e)[2]:t;if(o=Math.round(o/50),o===0)return 30;let u=30+(Math.round(a/255)<<2|Math.round(n/255)<<1|Math.round(r/255));return o===2&&(u+=60),u};W.hsv.ansi16=function(e){return W.rgb.ansi16(W.hsv.rgb(e),e[2])};W.rgb.ansi256=function(e){let t=e[0],r=e[1],n=e[2];return t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)};W.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let r=(~~(e>50)+1)*.5,n=(t&1)*r*255,a=(t>>1&1)*r*255,o=(t>>2&1)*r*255;return[n,a,o]};W.ansi256.rgb=function(e){if(e>=232){let o=(e-232)*10+8;return[o,o,o]}e-=16;let t,r=Math.floor(e/36)/5*255,n=Math.floor((t=e%36)/6)/5*255,a=t%6/5*255;return[r,n,a]};W.rgb.hex=function(e){let r=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};W.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=r.split("").map(i=>i+i).join(""));let n=parseInt(r,16),a=n>>16&255,o=n>>8&255,u=n&255;return[a,o,u]};W.rgb.hcg=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,a=Math.max(Math.max(t,r),n),o=Math.min(Math.min(t,r),n),u=a-o,i,s;return u<1?i=o/(1-u):i=0,u<=0?s=0:a===t?s=(r-n)/u%6:a===r?s=2+(n-t)/u:s=4+(t-r)/u,s/=6,s%=1,[s*360,u*100,i*100]};W.hsl.hcg=function(e){let t=e[1]/100,r=e[2]/100,n=r<.5?2*t*r:2*t*(1-r),a=0;return n<1&&(a=(r-.5*n)/(1-n)),[e[0],n*100,a*100]};W.hsv.hcg=function(e){let t=e[1]/100,r=e[2]/100,n=t*r,a=0;return n<1&&(a=(r-n)/(1-n)),[e[0],n*100,a*100]};W.hcg.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100;if(r===0)return[n*255,n*255,n*255];let a=[0,0,0],o=t%1*6,u=o%1,i=1-u,s=0;switch(Math.floor(o)){case 0:a[0]=1,a[1]=u,a[2]=0;break;case 1:a[0]=i,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=u;break;case 3:a[0]=0,a[1]=i,a[2]=1;break;case 4:a[0]=u,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=i}return s=(1-r)*n,[(r*a[0]+s)*255,(r*a[1]+s)*255,(r*a[2]+s)*255]};W.hcg.hsv=function(e){let t=e[1]/100,r=e[2]/100,n=t+r*(1-t),a=0;return n>0&&(a=t/n),[e[0],a*100,n*100]};W.hcg.hsl=function(e){let t=e[1]/100,n=e[2]/100*(1-t)+.5*t,a=0;return n>0&&n<.5?a=t/(2*n):n>=.5&&n<1&&(a=t/(2*(1-n))),[e[0],a*100,n*100]};W.hcg.hwb=function(e){let t=e[1]/100,r=e[2]/100,n=t+r*(1-t);return[e[0],(n-t)*100,(1-n)*100]};W.hwb.hcg=function(e){let t=e[1]/100,n=1-e[2]/100,a=n-t,o=0;return a<1&&(o=(n-a)/(1-a)),[e[0],a*100,o*100]};W.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};W.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};W.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};W.gray.hsl=function(e){return[0,0,e[0]]};W.gray.hsv=W.gray.hsl;W.gray.hwb=function(e){return[0,100,e[0]]};W.gray.cmyk=function(e){return[0,0,0,e[0]]};W.gray.lab=function(e){return[e[0],0,0]};W.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n};W.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});var im=F((cee,um)=>{l();c();p();var oa=Lu();function XO(){let e={},t=Object.keys(oa);for(let r=t.length,n=0;n{l();c();p();var $u=Lu(),e4=im(),ar={},t4=Object.keys($u);function r4(e){let t=function(...r){let n=r[0];return n==null?n:(n.length>1&&(r=n),e(r))};return"conversion"in e&&(t.conversion=e.conversion),t}function n4(e){let t=function(...r){let n=r[0];if(n==null)return n;n.length>1&&(r=n);let a=e(r);if(typeof a=="object")for(let o=a.length,u=0;u{ar[e]={},Object.defineProperty(ar[e],"channels",{value:$u[e].channels}),Object.defineProperty(ar[e],"labels",{value:$u[e].labels});let t=e4(e);Object.keys(t).forEach(n=>{let a=t[n];ar[e][n]=n4(a),ar[e][n].raw=r4(a)})});sm.exports=ar});var pm=F((bee,cm)=>{l();c();p();var a4=je(),o4=function(){return a4.Date.now()};cm.exports=o4});var fm=F((vee,dm)=>{l();c();p();var u4=/\s/;function i4(e){for(var t=e.length;t--&&u4.test(e.charAt(t)););return t}dm.exports=i4});var gm=F((See,hm)=>{l();c();p();var s4=fm(),l4=/^\s+/;function c4(e){return e&&e.slice(0,s4(e)+1).replace(l4,"")}hm.exports=c4});var Am=F((_ee,bm)=>{l();c();p();var p4=gm(),mm=Ue(),d4=Fr(),ym=0/0,f4=/^[-+]0x[0-9a-f]+$/i,h4=/^0b[01]+$/i,g4=/^0o[0-7]+$/i,m4=parseInt;function y4(e){if(typeof e=="number")return e;if(d4(e))return ym;if(mm(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=mm(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=p4(e);var r=h4.test(e);return r||g4.test(e)?m4(e.slice(2),r?2:8):f4.test(e)?ym:+e}bm.exports=y4});var vm=F((Iee,Dm)=>{l();c();p();var b4=Ue(),Uu=pm(),Em=Am(),A4="Expected a function",E4=Math.max,D4=Math.min;function v4(e,t,r){var n,a,o,u,i,s,d=0,y=!1,A=!1,g=!0;if(typeof e!="function")throw new TypeError(A4);t=Em(t)||0,b4(r)&&(y=!!r.leading,A="maxWait"in r,o=A?E4(Em(r.maxWait)||0,t):o,g="trailing"in r?!!r.trailing:g);function h(j){var I=n,U=a;return n=a=void 0,d=j,u=e.apply(U,I),u}function E(j){return d=j,i=setTimeout(S,t),y?h(j):u}function b(j){var I=j-s,U=j-d,V=t-I;return A?D4(V,o-U):V}function x(j){var I=j-s,U=j-d;return s===void 0||I>=t||I<0||A&&U>=o}function S(){var j=Uu();if(x(j))return P(j);i=setTimeout(S,b(j))}function P(j){return i=void 0,g&&n?h(j):(n=a=void 0,u)}function N(){i!==void 0&&clearTimeout(i),d=0,n=s=a=i=void 0}function $(){return i===void 0?u:P(Uu())}function w(){var j=Uu(),I=x(j);if(n=arguments,a=this,s=j,I){if(i===void 0)return E(s);if(A)return clearTimeout(i),i=setTimeout(S,t),h(s)}return i===void 0&&(i=setTimeout(S,t)),u}return w.cancel=N,w.flush=$,w}Dm.exports=v4});var xm=F((Mee,Cm)=>{l();c();p();var C4=vm(),x4=Ue(),F4="Expected a function";function S4(e,t,r){var n=!0,a=!0;if(typeof e!="function")throw new TypeError(F4);return x4(r)&&(n="leading"in r?!!r.leading:n,a="trailing"in r?!!r.trailing:a),C4(e,t,{leading:n,maxWait:t,trailing:a})}Cm.exports=S4});var _m={};fi(_m,{ColorControl:()=>Tm,default:()=>H4});var ke,wm,w4,B4,T4,_4,O4,R4,P4,Fm,I4,k4,Bm,ua,N4,j4,M4,zu,q4,L4,ia,Sm,or,$4,U4,sa,z4,Tm,H4,Om=Xe(()=>{l();c();p();Ma();wt();tm();ke=fe(lm(),1),wm=fe(xm(),1);La();cr();w4=q.div({position:"relative",maxWidth:250}),B4=q(Xr)({position:"absolute",zIndex:1,top:4,left:4}),T4=q.div({width:200,margin:5,".react-colorful__saturation":{borderRadius:"4px 4px 0 0"},".react-colorful__hue":{boxShadow:"inset 0 0 0 1px rgb(0 0 0 / 5%)"},".react-colorful__last-control":{borderRadius:"0 0 4px 4px"}}),_4=q(Ra)(({theme:e})=>({fontFamily:e.typography.fonts.base})),O4=q.div({display:"grid",gridTemplateColumns:"repeat(9, 16px)",gap:6,padding:3,marginTop:5,width:200}),R4=q.div(({theme:e,active:t})=>({width:16,height:16,boxShadow:t?`${e.appBorderColor} 0 0 0 1px inset, ${e.textMutedColor}50 0 0 0 4px`:`${e.appBorderColor} 0 0 0 1px inset`,borderRadius:e.appBorderRadius})),P4=`url('data:image/svg+xml;charset=utf-8,')`,Fm=({value:e,active:t,onClick:r,style:n,...a})=>{let o=`linear-gradient(${e}, ${e}), ${P4}, linear-gradient(#fff, #fff)`;return m.createElement(R4,{...a,active:t,onClick:r,style:{...n,backgroundImage:o}})},I4=q(we.Input)(({theme:e})=>({width:"100%",paddingLeft:30,paddingRight:30,boxSizing:"border-box",fontFamily:e.typography.fonts.base})),k4=q(Be)(({theme:e})=>({position:"absolute",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:"border-box",cursor:"pointer",color:e.input.color})),Bm=(e=>(e.RGB="rgb",e.HSL="hsl",e.HEX="hex",e))(Bm||{}),ua=Object.values(Bm),N4=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,j4=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,M4=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,zu=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,q4=/^\s*#?([0-9a-f]{3})\s*$/i,L4={hex:Jg,rgb:em,hsl:Zg},ia={hex:"transparent",rgb:"rgba(0, 0, 0, 0)",hsl:"hsla(0, 0%, 0%, 0)"},Sm=e=>{let t=e?.match(N4);if(!t)return[0,0,0,1];let[,r,n,a,o=1]=t;return[r,n,a,o].map(Number)},or=e=>{if(!e)return;let t=!0;if(j4.test(e)){let[u,i,s,d]=Sm(e),[y,A,g]=ke.default.rgb.hsl([u,i,s])||[0,0,0];return{valid:t,value:e,keyword:ke.default.rgb.keyword([u,i,s]),colorSpace:"rgb",rgb:e,hsl:`hsla(${y}, ${A}%, ${g}%, ${d})`,hex:`#${ke.default.rgb.hex([u,i,s]).toLowerCase()}`}}if(M4.test(e)){let[u,i,s,d]=Sm(e),[y,A,g]=ke.default.hsl.rgb([u,i,s])||[0,0,0];return{valid:t,value:e,keyword:ke.default.hsl.keyword([u,i,s]),colorSpace:"hsl",rgb:`rgba(${y}, ${A}, ${g}, ${d})`,hsl:e,hex:`#${ke.default.hsl.hex([u,i,s]).toLowerCase()}`}}let r=e.replace("#",""),n=ke.default.keyword.rgb(r)||ke.default.hex.rgb(r),a=ke.default.rgb.hsl(n),o=e;if(/[^#a-f0-9]/i.test(e)?o=r:zu.test(e)&&(o=`#${r}`),o.startsWith("#"))t=zu.test(o);else try{ke.default.keyword.hex(o)}catch{t=!1}return{valid:t,value:o,keyword:ke.default.rgb.keyword(n),colorSpace:"hex",rgb:`rgba(${n[0]}, ${n[1]}, ${n[2]}, 1)`,hsl:`hsla(${a[0]}, ${a[1]}%, ${a[2]}%, 1)`,hex:o}},$4=(e,t,r)=>{if(!e||!t?.valid)return ia[r];if(r!=="hex")return t?.[r]||ia[r];if(!t.hex.startsWith("#"))try{return`#${ke.default.keyword.hex(t.hex)}`}catch{return ia.hex}let n=t.hex.match(q4);if(!n)return zu.test(t.hex)?t.hex:ia.hex;let[a,o,u]=n[1].split("");return`#${a}${a}${o}${o}${u}${u}`},U4=(e,t)=>{let[r,n]=ne(e||""),[a,o]=ne(()=>or(r)),[u,i]=ne(a?.colorSpace||"hex");me(()=>{let A=e||"",g=or(A);n(A),o(g),i(g?.colorSpace||"hex")},[e]);let s=rt(()=>$4(r,a,u).toLowerCase(),[r,a,u]),d=ge(A=>{let g=or(A),h=g?.value||A||"";n(h),h===""&&(o(void 0),t(void 0)),g&&(o(g),i(g.colorSpace),t(g.value))},[t]),y=ge(()=>{let A=ua.indexOf(u)+1;A>=ua.length&&(A=0),i(ua[A]);let g=a?.[ua[A]]||"";n(g),t(g)},[a,u,t]);return{value:r,realValue:s,updateValue:d,color:a,colorSpace:u,cycleColorSpace:y}},sa=e=>e.replace(/\s*/,"").toLowerCase(),z4=(e,t,r)=>{let[n,a]=ne(t?.valid?[t]:[]);me(()=>{t===void 0&&a([])},[t]);let o=rt(()=>(e||[]).map(i=>typeof i=="string"?or(i):i.title?{...or(i.color),keyword:i.title}:or(i.color)).concat(n).filter(Boolean).slice(-27),[e,n]),u=ge(i=>{i?.valid&&(o.some(s=>sa(s[r])===sa(i[r]))||a(s=>s.concat(i)))},[r,o]);return{presets:o,addPreset:u}},Tm=({name:e,value:t,onChange:r,onFocus:n,onBlur:a,presetColors:o,startOpen:u=!1})=>{let i=ge((0,wm.default)(r,200),[r]),{value:s,realValue:d,updateValue:y,color:A,colorSpace:g,cycleColorSpace:h}=U4(t,i),{presets:E,addPreset:b}=z4(o,A,g),x=L4[g];return m.createElement(w4,null,m.createElement(B4,{startOpen:u,closeOnOutsideClick:!0,onVisibleChange:()=>b(A),tooltip:m.createElement(T4,null,m.createElement(x,{color:d==="transparent"?"#000000":d,onChange:y,onFocus:n,onBlur:a}),E.length>0&&m.createElement(O4,null,E.map((S,P)=>m.createElement(Xr,{key:`${S.value}-${P}`,hasChrome:!1,tooltip:m.createElement(_4,{note:S.keyword||S.value})},m.createElement(Fm,{value:S[g],active:A&&sa(S[g])===sa(A[g]),onClick:()=>y(S.value)})))))},m.createElement(Fm,{value:d,style:{margin:4}})),m.createElement(I4,{id:Te(e),value:s,onChange:S=>y(S.target.value),onFocus:S=>S.target.select(),placeholder:"Choose color..."}),s?m.createElement(k4,{icon:"markup",onClick:h}):null)},H4=Tm});l();c();p();l();c();p();l();c();p();l();c();p();var ga="addon-controls",ma="controls";wt();l();c();p();var dI=__STORYBOOKAPI__,{ActiveTabs:fI,Consumer:hI,ManagerContext:gI,Provider:mI,addons:ba,combineParameters:yI,controlOrMetaKey:bI,controlOrMetaSymbol:AI,eventMatchesShortcut:EI,eventToShortcut:DI,isMacLike:vI,isShortcutTaken:CI,keyToSymbol:xI,merge:FI,mockChannel:SI,optionOrAltSymbol:wI,shortcutMatchesShortcut:BI,shortcutToHumanString:TI,types:bi,useAddonState:_I,useArgTypes:Aa,useArgs:Ai,useChannel:OI,useGlobalTypes:RI,useGlobals:Ei,useParameter:Ea,useSharedState:PI,useStoryPrepared:II,useStorybookApi:kI,useStorybookState:Di}=__STORYBOOKAPI__;cr();l();c();p();Ma();wt();La();cr();l();c();p();l();c();p();function xe(){return xe=Object.assign?Object.assign.bind():function(e){for(var t=1;t"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 _t(e,t,r){return Ha()?_t=Reflect.construct.bind():_t=function(a,o,u){var i=[null];i.push.apply(i,o);var s=Function.bind.apply(a,i),d=new s;return u&&Qe(d,u.prototype),d},_t.apply(null,arguments)}function fr(e){var t=typeof Map=="function"?new Map:void 0;return fr=function(n){if(n===null||!za(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(n))return t.get(n);t.set(n,a)}function a(){return _t(n,arguments,dr(this).constructor)}return a.prototype=Object.create(n.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),Qe(a,n)},fr(e)}l();c();p();var _e=function(e){Ua(t,e);function t(r){var n;if(!0)n=e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+r+" for more information.")||this;else for(var a,o,u;u=0&&a<1?(i=o,s=u):a>=1&&a<2?(i=u,s=o):a>=2&&a<3?(s=o,d=u):a>=3&&a<4?(s=u,d=o):a>=4&&a<5?(i=u,d=o):a>=5&&a<6&&(i=o,d=u);var y=r-o/2,A=i+y,g=s+y,h=d+y;return n(A,g,h)}var Ti={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function E2(e){if(typeof e!="string")return e;var t=e.toLowerCase();return Ti[t]?"#"+Ti[t]:e}var D2=/^#[a-fA-F0-9]{6}$/,v2=/^#[a-fA-F0-9]{8}$/,C2=/^#[a-fA-F0-9]{3}$/,x2=/^#[a-fA-F0-9]{4}$/,Wa=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,F2=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,S2=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,w2=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function Ot(e){if(typeof e!="string")throw new _e(3);var t=E2(e);if(t.match(D2))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(v2)){var r=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:r}}if(t.match(C2))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(x2)){var n=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:n}}var a=Wa.exec(t);if(a)return{red:parseInt(""+a[1],10),green:parseInt(""+a[2],10),blue:parseInt(""+a[3],10)};var o=F2.exec(t.substring(0,50));if(o)return{red:parseInt(""+o[1],10),green:parseInt(""+o[2],10),blue:parseInt(""+o[3],10),alpha:parseFloat(""+o[4])>1?parseFloat(""+o[4])/100:parseFloat(""+o[4])};var u=S2.exec(t);if(u){var i=parseInt(""+u[1],10),s=parseInt(""+u[2],10)/100,d=parseInt(""+u[3],10)/100,y="rgb("+hr(i,s,d)+")",A=Wa.exec(y);if(!A)throw new _e(4,t,y);return{red:parseInt(""+A[1],10),green:parseInt(""+A[2],10),blue:parseInt(""+A[3],10)}}var g=w2.exec(t.substring(0,50));if(g){var h=parseInt(""+g[1],10),E=parseInt(""+g[2],10)/100,b=parseInt(""+g[3],10)/100,x="rgb("+hr(h,E,b)+")",S=Wa.exec(x);if(!S)throw new _e(4,t,x);return{red:parseInt(""+S[1],10),green:parseInt(""+S[2],10),blue:parseInt(""+S[3],10),alpha:parseFloat(""+g[4])>1?parseFloat(""+g[4])/100:parseFloat(""+g[4])}}throw new _e(5)}function B2(e){var t=e.red/255,r=e.green/255,n=e.blue/255,a=Math.max(t,r,n),o=Math.min(t,r,n),u=(a+o)/2;if(a===o)return e.alpha!==void 0?{hue:0,saturation:0,lightness:u,alpha:e.alpha}:{hue:0,saturation:0,lightness:u};var i,s=a-o,d=u>.5?s/(2-a-o):s/(a+o);switch(a){case t:i=(r-n)/s+(r=1?Jr(e,t,r):"rgba("+hr(e,t,r)+","+n+")";if(typeof e=="object"&&t===void 0&&r===void 0&&n===void 0)return e.alpha>=1?Jr(e.hue,e.saturation,e.lightness):"rgba("+hr(e.hue,e.saturation,e.lightness)+","+e.alpha+")";throw new _e(2)}function Ya(e,t,r){if(typeof e=="number"&&typeof t=="number"&&typeof r=="number")return Ka("#"+gt(e)+gt(t)+gt(r));if(typeof e=="object"&&t===void 0&&r===void 0)return Ka("#"+gt(e.red)+gt(e.green)+gt(e.blue));throw new _e(6)}function Le(e,t,r,n){if(typeof e=="string"&&typeof t=="number"){var a=Ot(e);return"rgba("+a.red+","+a.green+","+a.blue+","+t+")"}else{if(typeof e=="number"&&typeof t=="number"&&typeof r=="number"&&typeof n=="number")return n>=1?Ya(e,t,r):"rgba("+e+","+t+","+r+","+n+")";if(typeof e=="object"&&t===void 0&&r===void 0&&n===void 0)return e.alpha>=1?Ya(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")"}throw new _e(7)}var P2=function(t){return typeof t.red=="number"&&typeof t.green=="number"&&typeof t.blue=="number"&&(typeof t.alpha!="number"||typeof t.alpha>"u")},I2=function(t){return typeof t.red=="number"&&typeof t.green=="number"&&typeof t.blue=="number"&&typeof t.alpha=="number"},k2=function(t){return typeof t.hue=="number"&&typeof t.saturation=="number"&&typeof t.lightness=="number"&&(typeof t.alpha!="number"||typeof t.alpha>"u")},N2=function(t){return typeof t.hue=="number"&&typeof t.saturation=="number"&&typeof t.lightness=="number"&&typeof t.alpha=="number"};function at(e){if(typeof e!="object")throw new _e(8);if(I2(e))return Le(e);if(P2(e))return Ya(e);if(N2(e))return R2(e);if(k2(e))return O2(e);throw new _e(8)}function Oi(e,t,r){return function(){var a=r.concat(Array.prototype.slice.call(arguments));return a.length>=t?e.apply(this,a):Oi(e,t,a)}}function Pe(e){return Oi(e,e.length,[])}function j2(e,t){if(t==="transparent")return t;var r=nt(t);return at(xe({},r,{hue:r.hue+parseFloat(e)}))}var mk=Pe(j2);function Rt(e,t,r){return Math.max(e,Math.min(t,r))}function M2(e,t){if(t==="transparent")return t;var r=nt(t);return at(xe({},r,{lightness:Rt(0,1,r.lightness-parseFloat(e))}))}var q2=Pe(M2),$e=q2;function L2(e,t){if(t==="transparent")return t;var r=nt(t);return at(xe({},r,{saturation:Rt(0,1,r.saturation-parseFloat(e))}))}var yk=Pe(L2);function $2(e,t){if(t==="transparent")return t;var r=nt(t);return at(xe({},r,{lightness:Rt(0,1,r.lightness+parseFloat(e))}))}var U2=Pe($2),ot=U2;function z2(e,t,r){if(t==="transparent")return r;if(r==="transparent")return t;if(e===0)return r;var n=Ot(t),a=xe({},n,{alpha:typeof n.alpha=="number"?n.alpha:1}),o=Ot(r),u=xe({},o,{alpha:typeof o.alpha=="number"?o.alpha:1}),i=a.alpha-u.alpha,s=parseFloat(e)*2-1,d=s*i===-1?s:s+i,y=1+s*i,A=(d/y+1)/2,g=1-A,h={red:Math.floor(a.red*A+u.red*g),green:Math.floor(a.green*A+u.green*g),blue:Math.floor(a.blue*A+u.blue*g),alpha:a.alpha*parseFloat(e)+u.alpha*(1-parseFloat(e))};return Le(h)}var H2=Pe(z2),Ri=H2;function G2(e,t){if(t==="transparent")return t;var r=Ot(t),n=typeof r.alpha=="number"?r.alpha:1,a=xe({},r,{alpha:Rt(0,1,(n*100+parseFloat(e)*100)/100)});return Le(a)}var W2=Pe(G2),gr=W2;function V2(e,t){if(t==="transparent")return t;var r=nt(t);return at(xe({},r,{saturation:Rt(0,1,r.saturation+parseFloat(e))}))}var bk=Pe(V2);function K2(e,t){return t==="transparent"?t:at(xe({},nt(t),{hue:parseFloat(e)}))}var Ak=Pe(K2);function Y2(e,t){return t==="transparent"?t:at(xe({},nt(t),{lightness:parseFloat(e)}))}var Ek=Pe(Y2);function X2(e,t){return t==="transparent"?t:at(xe({},nt(t),{saturation:parseFloat(e)}))}var Dk=Pe(X2);function J2(e,t){return t==="transparent"?t:Ri(parseFloat(e),"rgb(0, 0, 0)",t)}var vk=Pe(J2);function Q2(e,t){return t==="transparent"?t:Ri(parseFloat(e),"rgb(255, 255, 255)",t)}var Ck=Pe(Q2);function Z2(e,t){if(t==="transparent")return t;var r=Ot(t),n=typeof r.alpha=="number"?r.alpha:1,a=xe({},r,{alpha:Rt(0,1,+(n*100-parseFloat(e)*100).toFixed(2)/100)});return Le(a)}var e1=Pe(Z2),pe=e1;l();c();p();var oe=(()=>{let e;return typeof window<"u"?e=window:typeof globalThis<"u"?e=globalThis:typeof window<"u"?e=window:typeof self<"u"?e=self:e={},e})();var Wm=fe(Po(),1);l();c();p();var Gx=Object.create,Wp=Object.defineProperty,Wx=Object.getOwnPropertyDescriptor,Vx=Object.getOwnPropertyNames,Kx=Object.getPrototypeOf,Yx=Object.prototype.hasOwnProperty,Xx=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Jx=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Vx(t))!Yx.call(e,a)&&a!==r&&Wp(e,a,{get:()=>t[a],enumerable:!(n=Wx(t,a))||n.enumerable});return e},Qx=(e,t,r)=>(r=e!=null?Gx(Kx(e)):{},Jx(t||!e||!e.__esModule?Wp(r,"default",{value:e,enumerable:!0}):r,e)),Zx=Xx(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isEqual=function(){var t=Object.prototype.toString,r=Object.getPrototypeOf,n=Object.getOwnPropertySymbols?function(a){return Object.keys(a).concat(Object.getOwnPropertySymbols(a))}:Object.keys;return function(a,o){return function u(i,s,d){var y,A,g,h=t.call(i),E=t.call(s);if(i===s)return!0;if(i==null||s==null)return!1;if(d.indexOf(i)>-1&&d.indexOf(s)>-1)return!0;if(d.push(i,s),h!=E||(y=n(i),A=n(s),y.length!=A.length||y.some(function(b){return!u(i[b],s[b],d)})))return!1;switch(h.slice(8,-1)){case"Symbol":return i.valueOf()==s.valueOf();case"Date":case"Number":return+i==+s||+i!=+i&&+s!=+s;case"RegExp":case"Function":case"String":case"Boolean":return""+i==""+s;case"Set":case"Map":y=i.entries(),A=s.entries();do if(!u((g=y.next()).value,A.next().value,d))return!1;while(!g.done);return!0;case"ArrayBuffer":i=new Uint8Array(i),s=new Uint8Array(s);case"DataView":i=new Uint8Array(i.buffer),s=new Uint8Array(s.buffer);case"Float32Array":case"Float64Array":case"Int8Array":case"Int16Array":case"Int32Array":case"Uint8Array":case"Uint16Array":case"Uint32Array":case"Uint8ClampedArray":case"Arguments":case"Array":if(i.length!=s.length)return!1;for(g=0;ge.map(t=>typeof t<"u").filter(Boolean).length,eF=(e,t)=>{let{exists:r,eq:n,neq:a,truthy:o}=e;if(Vp([r,n,a,o])>1)throw new Error(`Invalid conditional test ${JSON.stringify({exists:r,eq:n,neq:a})}`);if(typeof n<"u")return(0,Gp.isEqual)(t,n);if(typeof a<"u")return!(0,Gp.isEqual)(t,a);if(typeof r<"u"){let u=typeof t<"u";return r?u:!u}return typeof o>"u"||o?!!t:!t},Io=(e,t,r)=>{if(!e.if)return!0;let{arg:n,global:a}=e.if;if(Vp([n,a])!==1)throw new Error(`Invalid conditional value ${JSON.stringify({arg:n,global:a})}`);let o=n?t[n]:r[a];return eF(e.if,o)};l();c();p();var QH=__STORYBOOKCLIENTLOGGER__,{deprecate:ye,logger:Me,once:Dn,pretty:tF}=__STORYBOOKCLIENTLOGGER__;l();c();p();wt();function At(){return At=Object.assign||function(e){for(var t=1;t(e[t.toLowerCase()]=t,e),{for:"htmlFor"}),Yp={amp:"&",apos:"'",gt:">",lt:"<",nbsp:"\xA0",quot:"\u201C"},nF=["style","script"],aF=/([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi,oF=/mailto:/i,uF=/\n{2,}$/,td=/^( *>[^\n]+(\n[^\n]+)*\n*)+\n{2,}/,iF=/^ *> ?/gm,sF=/^ {2,}\n/,lF=/^(?:( *[-*_])){3,} *(?:\n *)+\n/,rd=/^\s*(`{3,}|~{3,}) *(\S+)?([^\n]*?)?\n([\s\S]+?)\s*\1 *(?:\n *)*\n?/,nd=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/,cF=/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,pF=/^(?:\n *)*\n/,dF=/\r\n?/g,fF=/^\[\^([^\]]+)](:.*)\n/,hF=/^\[\^([^\]]+)]/,gF=/\f/g,mF=/^\s*?\[(x|\s)\]/,ad=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,od=/^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/,qo=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?([^>]*)\/{0}>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1)[\s\S])*?)<\/\1>\n*/i,yF=/&([a-zA-Z]+);/g,ud=/^)/,bF=/^(data|aria|x)-[a-z_][a-z\d_.-]*$/,Lo=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,AF=/^\{.*\}$/,EF=/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,DF=/^<([^ >]+@[^ >]+)>/,vF=/^<([^ >]+:\/[^ >]+)>/,CF=/-([a-z])?/gi,id=/^(.*\|?.*)\n *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*)\n?/,xF=/^\[([^\]]*)\]:\s+]+)>?\s*("([^"]*)")?/,FF=/^!\[([^\]]*)\] ?\[([^\]]*)\]/,SF=/^\[([^\]]*)\] ?\[([^\]]*)\]/,wF=/(\[|\])/g,BF=/(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,TF=/\t/g,_F=/^ *\| */,OF=/(^ *\||\| *$)/g,RF=/ *$/,PF=/^ *:-+: *$/,IF=/^ *:-+ *$/,kF=/^ *-+: *$/,NF=/^([*_])\1((?:\[.*?\][([].*?[)\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\1\1(?!\1)/,jF=/^([*_])((?:\[.*?\][([].*?[)\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\1(?!\1|\w)/,MF=/^==((?:\[.*?\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)==/,qF=/^~~((?:\[.*?\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)~~/,LF=/^\\([^0-9A-Za-z\s])/,$F=/^[\s\S]+?(?=[^0-9A-Z\s\u00c0-\uffff&;.()'"]|\d+\.|\n\n| {2,}\n|\w+:\S|$)/i,UF=/^\n+/,zF=/^([ \t]*)/,HF=/\\([^\\])/g,Xp=/ *\n+$/,GF=/(?:^|\n)( *)$/,$o="(?:\\d+\\.)",Uo="(?:[*+-])";function sd(e){return"( *)("+(e===1?$o:Uo)+") +"}var ld=sd(1),cd=sd(2);function pd(e){return new RegExp("^"+(e===1?ld:cd))}var WF=pd(1),VF=pd(2);function dd(e){return new RegExp("^"+(e===1?ld:cd)+"[^\\n]*(?:\\n(?!\\1"+(e===1?$o:Uo)+" )[^\\n]*)*(\\n|$)","gm")}var fd=dd(1),hd=dd(2);function gd(e){let t=e===1?$o:Uo;return new RegExp("^( *)("+t+") [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1"+t+" (?!"+t+" ))\\n*|\\s*\\n*$)")}var md=gd(1),yd=gd(2);function Jp(e,t){let r=t===1,n=r?md:yd,a=r?fd:hd,o=r?WF:VF;return{t(u,i,s){let d=GF.exec(s);return d&&(i.o||!i._&&!i.u)?n.exec(u=d[1]+u):null},i:te.HIGH,l(u,i,s){let d=r?+u[2]:void 0,y=u[0].replace(uF,` +`).match(a),A=!1;return{p:y.map(function(g,h){let E=o.exec(g)[0].length,b=new RegExp("^ {1,"+E+"}","gm"),x=g.replace(b,"").replace(o,""),S=h===y.length-1,P=x.indexOf(` + +`)!==-1||S&&A;A=P;let N=s._,$=s.o,w;s.o=!0,P?(s._=!1,w=x.replace(Xp,` + +`)):(s._=!0,w=x.replace(Xp,""));let j=i(w,s);return s._=N,s.o=$,j}),m:r,g:d}},h:(u,i,s)=>e(u.m?"ol":"ul",{key:s.k,start:u.g},u.p.map(function(d,y){return e("li",{key:y},i(d,s))}))}}var KF=/^\[([^\]]*)]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/,YF=/^!\[([^\]]*)]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/,bd=[td,rd,nd,ad,od,ud,id,fd,md,hd,yd],XF=[...bd,/^[^\n]+(?: \n|\n{2,})/,qo,Lo];function JF(e){return e.replace(/[ÀÁÂÃÄÅàáâãäåæÆ]/g,"a").replace(/[çÇ]/g,"c").replace(/[ðÐ]/g,"d").replace(/[ÈÉÊËéèêë]/g,"e").replace(/[ÏïÎîÍíÌì]/g,"i").replace(/[Ññ]/g,"n").replace(/[øØœŒÕõÔôÓóÒò]/g,"o").replace(/[ÜüÛûÚúÙù]/g,"u").replace(/[ŸÿÝý]/g,"y").replace(/[^a-z0-9- ]/gi,"").replace(/ /gi,"-").toLowerCase()}function QF(e){return kF.test(e)?"right":PF.test(e)?"center":IF.test(e)?"left":null}function Qp(e,t,r){let n=r.v;r.v=!0;let a=t(e.trim(),r);r.v=n;let o=[[]];return a.forEach(function(u,i){u.type==="tableSeparator"?i!==0&&i!==a.length-1&&o.push([]):(u.type!=="text"||a[i+1]!=null&&a[i+1].type!=="tableSeparator"||(u.$=u.$.replace(RF,"")),o[o.length-1].push(u))}),o}function ZF(e,t,r){r._=!0;let n=Qp(e[1],t,r),a=e[2].replace(OF,"").split("|").map(QF),o=function(u,i,s){return u.trim().split(` +`).map(function(d){return Qp(d,i,s)})}(e[3],t,r);return r._=!1,{S:a,A:o,L:n,type:"table"}}function Zp(e,t){return e.S[t]==null?{}:{textAlign:e.S[t]}}function it(e){return function(t,r){return r._?e.exec(t):null}}function st(e){return function(t,r){return r._||r.u?e.exec(t):null}}function et(e){return function(t,r){return r._||r.u?null:e.exec(t)}}function wr(e){return function(t){return e.exec(t)}}function eS(e,t,r){if(t._||t.u||r&&!r.endsWith(` +`))return null;let n="";e.split(` +`).every(o=>!bd.some(u=>u.test(o))&&(n+=o+` +`,o.trim()));let a=n.trimEnd();return a==""?null:[n,a]}function Ut(e){try{if(decodeURIComponent(e).replace(/[^A-Za-z0-9/:]/g,"").match(/^\s*(javascript|vbscript|data(?!:image)):/i))return null}catch{return null}return e}function ed(e){return e.replace(HF,"$1")}function vn(e,t,r){let n=r._||!1,a=r.u||!1;r._=!0,r.u=!0;let o=e(t,r);return r._=n,r.u=a,o}function tS(e,t,r){let n=r._||!1,a=r.u||!1;r._=!1,r.u=!0;let o=e(t,r);return r._=n,r.u=a,o}function rS(e,t,r){return r._=!1,e(t+` + +`,r)}var ko=(e,t,r)=>({$:vn(t,e[1],r)});function No(){return{}}function jo(){return null}function nS(...e){return e.filter(Boolean).join(" ")}function Mo(e,t,r){let n=e,a=t.split(".");for(;a.length&&(n=n[a[0]],n!==void 0);)a.shift();return n||r}var te;function aS(e,t={}){t.overrides=t.overrides||{},t.slugify=t.slugify||JF,t.namedCodesToUnicode=t.namedCodesToUnicode?At({},Yp,t.namedCodesToUnicode):Yp;let r=t.createElement||ya;function n(h,E,...b){let x=Mo(t.overrides,`${h}.props`,{});return r(function(S,P){let N=Mo(P,S);return N?typeof N=="function"||typeof N=="object"&&"render"in N?N:Mo(P,`${S}.component`,S):S}(h,t.overrides),At({},E,x,{className:nS(E?.className,x.className)||void 0}),...b)}function a(h){let E=!1;t.forceInline?E=!0:t.forceBlock||(E=BF.test(h)===!1);let b=y(d(E?h:`${h.trimEnd().replace(UF,"")} + +`,{_:E}));for(;typeof b[b.length-1]=="string"&&!b[b.length-1].trim();)b.pop();if(t.wrapper===null)return b;let x=t.wrapper||(E?"span":"div"),S;if(b.length>1||t.forceWrapper)S=b;else{if(b.length===1)return S=b[0],typeof S=="string"?n("span",{key:"outer"},S):S;S=null}return ya(x,{key:"outer"},S)}function o(h){let E=h.match(aF);return E?E.reduce(function(b,x,S){let P=x.indexOf("=");if(P!==-1){let N=function(I){return I.indexOf("-")!==-1&&I.match(bF)===null&&(I=I.replace(CF,function(U,V){return V.toUpperCase()})),I}(x.slice(0,P)).trim(),$=function(I){let U=I[0];return(U==='"'||U==="'")&&I.length>=2&&I[I.length-1]===U?I.slice(1,-1):I}(x.slice(P+1).trim()),w=Kp[N]||N,j=b[w]=function(I,U){return I==="style"?U.split(/;\s?/).reduce(function(V,z){let ie=z.slice(0,z.indexOf(":"));return V[ie.replace(/(-[a-z])/g,Z=>Z[1].toUpperCase())]=z.slice(ie.length+1).trim(),V},{}):I==="href"?Ut(U):(U.match(AF)&&(U=U.slice(1,U.length-1)),U==="true"||U!=="false"&&U)}(N,$);typeof j=="string"&&(qo.test(j)||Lo.test(j))&&(b[w]=he(a(j.trim()),{key:S}))}else x!=="style"&&(b[Kp[x]||x]=!0);return b},{}):null}let u=[],i={},s={blockQuote:{t:et(td),i:te.HIGH,l:(h,E,b)=>({$:E(h[0].replace(iF,""),b)}),h:(h,E,b)=>n("blockquote",{key:b.k},E(h.$,b))},breakLine:{t:wr(sF),i:te.HIGH,l:No,h:(h,E,b)=>n("br",{key:b.k})},breakThematic:{t:et(lF),i:te.HIGH,l:No,h:(h,E,b)=>n("hr",{key:b.k})},codeBlock:{t:et(nd),i:te.MAX,l:h=>({$:h[0].replace(/^ {4}/gm,"").replace(/\n+$/,""),M:void 0}),h:(h,E,b)=>n("pre",{key:b.k},n("code",At({},h.I,{className:h.M?`lang-${h.M}`:""}),h.$))},codeFenced:{t:et(rd),i:te.MAX,l:h=>({I:o(h[3]||""),$:h[4],M:h[2]||void 0,type:"codeBlock"})},codeInline:{t:st(cF),i:te.LOW,l:h=>({$:h[2]}),h:(h,E,b)=>n("code",{key:b.k},h.$)},footnote:{t:et(fF),i:te.MAX,l:h=>(u.push({O:h[2],B:h[1]}),{}),h:jo},footnoteReference:{t:it(hF),i:te.HIGH,l:h=>({$:h[1],R:`#${t.slugify(h[1])}`}),h:(h,E,b)=>n("a",{key:b.k,href:Ut(h.R)},n("sup",{key:b.k},h.$))},gfmTask:{t:it(mF),i:te.HIGH,l:h=>({T:h[1].toLowerCase()==="x"}),h:(h,E,b)=>n("input",{checked:h.T,key:b.k,readOnly:!0,type:"checkbox"})},heading:{t:et(ad),i:te.HIGH,l:(h,E,b)=>({$:vn(E,h[2],b),j:t.slugify(h[2]),C:h[1].length}),h:(h,E,b)=>n(`h${h.C}`,{id:h.j,key:b.k},E(h.$,b))},headingSetext:{t:et(od),i:te.MAX,l:(h,E,b)=>({$:vn(E,h[1],b),C:h[2]==="="?1:2,type:"heading"})},htmlComment:{t:wr(ud),i:te.HIGH,l:()=>({}),h:jo},image:{t:st(YF),i:te.HIGH,l:h=>({D:h[1],R:ed(h[2]),N:h[3]}),h:(h,E,b)=>n("img",{key:b.k,alt:h.D||void 0,title:h.N||void 0,src:Ut(h.R)})},link:{t:it(KF),i:te.LOW,l:(h,E,b)=>({$:tS(E,h[1],b),R:ed(h[2]),N:h[3]}),h:(h,E,b)=>n("a",{key:b.k,href:Ut(h.R),title:h.N},E(h.$,b))},linkAngleBraceStyleDetector:{t:it(vF),i:te.MAX,l:h=>({$:[{$:h[1],type:"text"}],R:h[1],type:"link"})},linkBareUrlDetector:{t:(h,E)=>E.Z?null:it(EF)(h,E),i:te.MAX,l:h=>({$:[{$:h[1],type:"text"}],R:h[1],N:void 0,type:"link"})},linkMailtoDetector:{t:it(DF),i:te.MAX,l(h){let E=h[1],b=h[1];return oF.test(b)||(b="mailto:"+b),{$:[{$:E.replace("mailto:",""),type:"text"}],R:b,type:"link"}}},orderedList:Jp(n,1),unorderedList:Jp(n,2),newlineCoalescer:{t:et(pF),i:te.LOW,l:No,h:()=>` +`},paragraph:{t:eS,i:te.LOW,l:ko,h:(h,E,b)=>n("p",{key:b.k},E(h.$,b))},ref:{t:it(xF),i:te.MAX,l:h=>(i[h[1]]={R:h[2],N:h[4]},{}),h:jo},refImage:{t:st(FF),i:te.MAX,l:h=>({D:h[1]||void 0,F:h[2]}),h:(h,E,b)=>n("img",{key:b.k,alt:h.D,src:Ut(i[h.F].R),title:i[h.F].N})},refLink:{t:it(SF),i:te.MAX,l:(h,E,b)=>({$:E(h[1],b),P:E(h[0].replace(wF,"\\$1"),b),F:h[2]}),h:(h,E,b)=>i[h.F]?n("a",{key:b.k,href:Ut(i[h.F].R),title:i[h.F].N},E(h.$,b)):n("span",{key:b.k},E(h.P,b))},table:{t:et(id),i:te.HIGH,l:ZF,h:(h,E,b)=>n("table",{key:b.k},n("thead",null,n("tr",null,h.L.map(function(x,S){return n("th",{key:S,style:Zp(h,S)},E(x,b))}))),n("tbody",null,h.A.map(function(x,S){return n("tr",{key:S},x.map(function(P,N){return n("td",{key:N,style:Zp(h,N)},E(P,b))}))})))},tableSeparator:{t:function(h,E){return E.v?_F.exec(h):null},i:te.HIGH,l:function(){return{type:"tableSeparator"}},h:()=>" | "},text:{t:wr($F),i:te.MIN,l:h=>({$:h[0].replace(yF,(E,b)=>t.namedCodesToUnicode[b]?t.namedCodesToUnicode[b]:E)}),h:h=>h.$},textBolded:{t:st(NF),i:te.MED,l:(h,E,b)=>({$:E(h[2],b)}),h:(h,E,b)=>n("strong",{key:b.k},E(h.$,b))},textEmphasized:{t:st(jF),i:te.LOW,l:(h,E,b)=>({$:E(h[2],b)}),h:(h,E,b)=>n("em",{key:b.k},E(h.$,b))},textEscaped:{t:st(LF),i:te.HIGH,l:h=>({$:h[1],type:"text"})},textMarked:{t:st(MF),i:te.LOW,l:ko,h:(h,E,b)=>n("mark",{key:b.k},E(h.$,b))},textStrikethroughed:{t:st(qF),i:te.LOW,l:ko,h:(h,E,b)=>n("del",{key:b.k},E(h.$,b))}};t.disableParsingRawHTML!==!0&&(s.htmlBlock={t:wr(qo),i:te.HIGH,l(h,E,b){let[,x]=h[3].match(zF),S=new RegExp(`^${x}`,"gm"),P=h[3].replace(S,""),N=($=P,XF.some(U=>U.test($))?rS:vn);var $;let w=h[1].toLowerCase(),j=nF.indexOf(w)!==-1;b.Z=b.Z||w==="a";let I=j?h[3]:N(E,P,b);return b.Z=!1,{I:o(h[2]),$:I,G:j,H:j?w:h[1]}},h:(h,E,b)=>n(h.H,At({key:b.k},h.I),h.G?h.$:E(h.$,b))},s.htmlSelfClosing={t:wr(Lo),i:te.HIGH,l:h=>({I:o(h[2]||""),H:h[1]}),h:(h,E,b)=>n(h.H,At({},h.I,{key:b.k}))});let d=function(h){let E=Object.keys(h);function b(x,S){let P=[],N="";for(;x;){let $=0;for(;${let{children:t,options:r}=e,n=function(a,o){if(a==null)return{};var u,i,s={},d=Object.keys(a);for(i=0;i=0||(s[u]=a[u]);return s}(e,rF);return he(aS(t,r),n)};var Vm=fe(Cn(),1),Km=fe(qd(),1),Ym=fe(Gf(),1);l();c();p();l();c();p();l();c();p();l();c();p();l();c();p();l();c();p();var IV=__STORYBOOKCHANNELS__,{Channel:Sn}=__STORYBOOKCHANNELS__;l();c();p();var qV=__STORYBOOKCOREEVENTS__,{CHANNEL_CREATED:LV,CONFIG_ERROR:X5,CURRENT_STORY_WAS_SET:J5,DOCS_PREPARED:Q5,DOCS_RENDERED:Z5,FORCE_REMOUNT:e3,FORCE_RE_RENDER:Wo,GLOBALS_UPDATED:wn,IGNORED_EXCEPTION:$V,NAVIGATE_URL:Wf,PLAY_FUNCTION_THREW_EXCEPTION:t3,PRELOAD_ENTRIES:r3,PREVIEW_BUILDER_PROGRESS:UV,PREVIEW_KEYDOWN:n3,REGISTER_SUBSCRIPTION:zV,RESET_STORY_ARGS:Bn,SELECT_STORY:HV,SET_CONFIG:GV,SET_CURRENT_STORY:a3,SET_GLOBALS:o3,SET_INDEX:u3,SET_STORIES:WV,SHARED_STATE_CHANGED:i3,SHARED_STATE_SET:s3,STORIES_COLLAPSE_ALL:VV,STORIES_EXPAND_ALL:KV,STORY_ARGS_UPDATED:Tn,STORY_CHANGED:l3,STORY_ERRORED:c3,STORY_INDEX_INVALIDATED:p3,STORY_MISSING:d3,STORY_PREPARED:f3,STORY_RENDERED:Vf,STORY_RENDER_PHASE_CHANGED:h3,STORY_SPECIFIED:g3,STORY_THREW_EXCEPTION:m3,STORY_UNCHANGED:y3,UPDATE_GLOBALS:Kf,UPDATE_QUERY_PARAMS:b3,UPDATE_STORY_ARGS:_n}=__STORYBOOKCOREEVENTS__;var E3=Object.create,Yf=Object.defineProperty,D3=Object.getOwnPropertyDescriptor,Xf=Object.getOwnPropertyNames,v3=Object.getPrototypeOf,C3=Object.prototype.hasOwnProperty,He=(e,t)=>function(){return t||(0,e[Xf(e)[0]])((t={exports:{}}).exports,t),t.exports},x3=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Xf(t))!C3.call(e,a)&&a!==r&&Yf(e,a,{get:()=>t[a],enumerable:!(n=D3(t,a))||n.enumerable});return e},Jf=(e,t,r)=>(r=e!=null?E3(v3(e)):{},x3(t||!e||!e.__esModule?Yf(r,"default",{value:e,enumerable:!0}):r,e));function Qf(){let e={setHandler:()=>{},send:()=>{}};return new Sn({transport:e})}var F3=class{constructor(){this.getChannel=()=>{if(!this.channel){let e=Qf();return this.setChannel(e),e}return this.channel},this.getServerChannel=()=>{if(!this.serverChannel)throw new Error("Accessing non-existent serverChannel");return this.serverChannel},this.ready=()=>this.promise,this.hasChannel=()=>!!this.channel,this.hasServerChannel=()=>!!this.serverChannel,this.setChannel=e=>{this.channel=e,this.resolve()},this.setServerChannel=e=>{this.serverChannel=e},this.promise=new Promise(e=>{this.resolve=()=>e(this.getChannel())})}},Vo="__STORYBOOK_ADDONS_PREVIEW";function S3(){return oe[Vo]||(oe[Vo]=new F3),oe[Vo]}var On=S3();var W0=fe(Cn(),1),Or=fe(Rn(),1),NB=fe(I0(),1),jB=fe(In(),1);l();c();p();function Ht(e){for(var t=[],r=1;rObject.values(e).reduce((t,r)=>(t[r.importPath]=t[r.importPath]||r,t),{}));var WY=Symbol("incompatible");var VY=Symbol("Deeply equal");var MB=Ht` +CSF .story annotations deprecated; annotate story functions directly: +- StoryFn.story.name => StoryFn.storyName +- StoryFn.story.(parameters|decorators) => StoryFn.(parameters|decorators) +See https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#hoisted-csf-annotations for details and codemod. +`,KY=(0,V0.default)(()=>{},MB);var Et=(...e)=>{let t={},r=e.filter(Boolean),n=r.reduce((a,o)=>(Object.entries(o).forEach(([u,i])=>{let s=a[u];Array.isArray(i)||typeof s>"u"?a[u]=i:(0,Mn.default)(i)&&(0,Mn.default)(s)?t[u]=!0:typeof i<"u"&&(a[u]=i)}),a),{});return Object.keys(t).forEach(a=>{let o=r.filter(Boolean).map(u=>u[a]).filter(u=>typeof u<"u");o.every(u=>(0,Mn.default)(u))?n[a]=Et(...o):n[a]=o[o.length-1]}),n};var Xo=(e,t,r)=>{let n=typeof e;switch(n){case"boolean":case"string":case"number":case"function":case"symbol":return{name:n}}return e?r.has(e)?(Me.warn(Ht` + We've detected a cycle in arg '${t}'. Args should be JSON-serializable. + + Consider using the mapping feature or fully custom args: + - Mapping: https://storybook.js.org/docs/react/writing-stories/args#mapping-to-complex-arg-values + - Custom args: https://storybook.js.org/docs/react/essentials/controls#fully-custom-args + `),{name:"other",value:"cyclic object"}):(r.add(e),Array.isArray(e)?{name:"array",value:e.length>0?Xo(e[0],t,new Set(r)):{name:"other",value:"unknown"}}:{name:"object",value:(0,Or.default)(e,a=>Xo(a,t,new Set(r)))}):{name:"object",value:{}}},qB=e=>{let{id:t,argTypes:r={},initialArgs:n={}}=e,a=(0,Or.default)(n,(u,i)=>({name:i,type:Xo(u,`${t}.${i}`,new Set)})),o=(0,Or.default)(r,(u,i)=>({name:i}));return Et(a,o,r)};qB.secondPass=!0;var G0=(e,t)=>Array.isArray(t)?t.includes(e):e.match(t),Pr=(e,t,r)=>!t&&!r?e:e&&(0,K0.default)(e,(n,a)=>{let o=n.name||a;return(!t||G0(o,t))&&(!r||!G0(o,r))}),LB=(e,t,r)=>{let{type:n,options:a}=e;if(n){if(r.color&&r.color.test(t)){let o=n.name;if(o==="string")return{control:{type:"color"}};o!=="enum"&&Me.warn(`Addon controls: Control of type color only supports string, received "${o}" instead`)}if(r.date&&r.date.test(t))return{control:{type:"date"}};switch(n.name){case"array":return{control:{type:"object"}};case"boolean":return{control:{type:"boolean"}};case"string":return{control:{type:"text"}};case"number":return{control:{type:"number"}};case"enum":{let{value:o}=n;return{control:{type:o?.length<=5?"radio":"select"},options:o}}case"function":case"symbol":return null;default:return{control:{type:a?"select":"object"}}}}},Y0=e=>{let{argTypes:t,parameters:{__isArgsStory:r,controls:{include:n=null,exclude:a=null,matchers:o={}}={}}}=e;if(!r)return t;let u=Pr(t,n,a),i=(0,Or.default)(u,(s,d)=>s?.type&&LB(s,d,o));return Et(i,u)};Y0.secondPass=!0;function Jo(e){return async(t,r,n)=>{await e.reduceRight((a,o)=>async()=>o(t,a,n),async()=>r(n))()}}function Rr(e,t){return e.map(r=>r.default?.[t]??r[t]).filter(Boolean)}function kn(e,t,r={}){return Rr(e,t).reduce((n,a)=>r.reverseFileOrder?[...a,...n]:[...n,...a],[])}function Nn(e,t){return Object.assign({},...Rr(e,t))}function jn(e,t){return Rr(e,t).pop()}function Qo(e){let t=kn(e,"argTypesEnhancers"),r=Rr(e,"runStep");return{parameters:Et(...Rr(e,"parameters")),decorators:kn(e,"decorators",{reverseFileOrder:!(oe.FEATURES?.legacyDecoratorFileOrder??!1)}),args:Nn(e,"args"),argsEnhancers:kn(e,"argsEnhancers"),argTypes:Nn(e,"argTypes"),argTypesEnhancers:[...t.filter(n=>!n.secondPass),...t.filter(n=>n.secondPass)],globals:Nn(e,"globals"),globalTypes:Nn(e,"globalTypes"),loaders:kn(e,"loaders"),render:jn(e,"render"),renderToCanvas:jn(e,"renderToCanvas"),renderToDOM:jn(e,"renderToDOM"),applyDecorators:jn(e,"applyDecorators"),runStep:Jo(r)}}var YY=Qo([]);var E8=fe(In(),1),D8=fe(Jn(),1);l();c();p();var C8=fe(In(),1);var x8=fe(Jn(),1),F8=fe(Ko(),1),og=He({"../../node_modules/entities/lib/maps/entities.json"(e,t){t.exports={Aacute:"\xC1",aacute:"\xE1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",Acy:"\u0410",acy:"\u0430",AElig:"\xC6",aelig:"\xE6",af:"\u2061",Afr:"\u{1D504}",afr:"\u{1D51E}",Agrave:"\xC0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03B1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2A3F",amp:"&",AMP:"&",andand:"\u2A55",And:"\u2A53",and:"\u2227",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angmsd:"\u2221",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1D538}",aopf:"\u{1D552}",apacir:"\u2A6F",ap:"\u2248",apE:"\u2A70",ape:"\u224A",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",Aring:"\xC5",aring:"\xE5",Ascr:"\u{1D49C}",ascr:"\u{1D4B6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",Beta:"\u0392",beta:"\u03B2",beth:"\u2136",between:"\u226C",Bfr:"\u{1D505}",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bNot:"\u2AED",bnot:"\u2310",Bopf:"\u{1D539}",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250C",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252C",boxHd:"\u2564",boxhD:"\u2565",boxHD:"\u2566",boxhu:"\u2534",boxHu:"\u2567",boxhU:"\u2568",boxHU:"\u2569",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxul:"\u2518",boxuL:"\u255B",boxUl:"\u255C",boxUL:"\u255D",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255A",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253C",boxvH:"\u256A",boxVh:"\u256B",boxVH:"\u256C",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251C",boxvR:"\u255E",boxVr:"\u255F",boxVR:"\u2560",bprime:"\u2035",breve:"\u02D8",Breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",Bscr:"\u212C",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsolb:"\u29C5",bsol:"\\",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",Bumpeq:"\u224E",bumpeq:"\u224F",Cacute:"\u0106",cacute:"\u0107",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",cap:"\u2229",Cap:"\u22D2",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",Ccaron:"\u010C",ccaron:"\u010D",Ccedil:"\xC7",ccedil:"\xE7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",Cdot:"\u010A",cdot:"\u010B",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",CenterDot:"\xB7",cfr:"\u{1D520}",Cfr:"\u212D",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03A7",chi:"\u03C7",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cir:"\u25CB",cirE:"\u29C3",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",Colone:"\u2A74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",conint:"\u222E",Conint:"\u222F",ContourIntegral:"\u222E",copf:"\u{1D554}",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xA9",COPY:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",cross:"\u2717",Cross:"\u2A2F",Cscr:"\u{1D49E}",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cupbrcap:"\u2A48",cupcap:"\u2A46",CupCap:"\u224D",cup:"\u222A",Cup:"\u22D3",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",Darr:"\u21A1",dArr:"\u21D3",dash:"\u2010",Dashv:"\u2AE4",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",Dcaron:"\u010E",dcaron:"\u010F",Dcy:"\u0414",dcy:"\u0434",ddagger:"\u2021",ddarr:"\u21CA",DD:"\u2145",dd:"\u2146",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",Delta:"\u0394",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",Dfr:"\u{1D507}",dfr:"\u{1D521}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",diamond:"\u22C4",Diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",Dopf:"\u{1D53B}",dopf:"\u{1D555}",Dot:"\xA8",dot:"\u02D9",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrowBar:"\u2913",downarrow:"\u2193",DownArrow:"\u2193",Downarrow:"\u21D3",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVectorBar:"\u2956",DownLeftVector:"\u21BD",DownRightTeeVector:"\u295F",DownRightVectorBar:"\u2957",DownRightVector:"\u21C1",DownTeeArrow:"\u21A7",DownTee:"\u22A4",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",Dscr:"\u{1D49F}",dscr:"\u{1D4B9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29F6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",DZcy:"\u040F",dzcy:"\u045F",dzigrarr:"\u27FF",Eacute:"\xC9",eacute:"\xE9",easter:"\u2A6E",Ecaron:"\u011A",ecaron:"\u011B",Ecirc:"\xCA",ecirc:"\xEA",ecir:"\u2256",ecolon:"\u2255",Ecy:"\u042D",ecy:"\u044D",eDDot:"\u2A77",Edot:"\u0116",edot:"\u0117",eDot:"\u2251",ee:"\u2147",efDot:"\u2252",Efr:"\u{1D508}",efr:"\u{1D522}",eg:"\u2A9A",Egrave:"\xC8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",ENG:"\u014A",eng:"\u014B",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1D53C}",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",Epsilon:"\u0395",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",escr:"\u212F",Escr:"\u2130",esdot:"\u2250",Esim:"\u2A73",esim:"\u2242",Eta:"\u0397",eta:"\u03B7",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",Ffr:"\u{1D509}",ffr:"\u{1D523}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",Fopf:"\u{1D53D}",fopf:"\u{1D557}",forall:"\u2200",ForAll:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",Fscr:"\u2131",gacute:"\u01F5",Gamma:"\u0393",gamma:"\u03B3",Gammad:"\u03DC",gammad:"\u03DD",gap:"\u2A86",Gbreve:"\u011E",gbreve:"\u011F",Gcedil:"\u0122",Gcirc:"\u011C",gcirc:"\u011D",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",ge:"\u2265",gE:"\u2267",gEl:"\u2A8C",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",gescc:"\u2AA9",ges:"\u2A7E",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",Gfr:"\u{1D50A}",gfr:"\u{1D524}",gg:"\u226B",Gg:"\u22D9",ggg:"\u22D9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gla:"\u2AA5",gl:"\u2277",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gnE:"\u2269",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",Gopf:"\u{1D53E}",gopf:"\u{1D558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gtcc:"\u2AA7",gtcir:"\u2A7A",gt:">",GT:">",Gt:"\u226B",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",HARDcy:"\u042A",hardcy:"\u044A",harrcir:"\u2948",harr:"\u2194",hArr:"\u21D4",harrw:"\u21AD",Hat:"^",hbar:"\u210F",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",Hfr:"\u210C",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",Hopf:"\u210D",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\u{1D4BD}",Hscr:"\u210B",hslash:"\u210F",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xCD",iacute:"\xED",ic:"\u2063",Icirc:"\xCE",icirc:"\xEE",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",Ifr:"\u2111",Igrave:"\xCC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012A",imacr:"\u012B",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",incare:"\u2105",in:"\u2208",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",intcal:"\u22BA",int:"\u222B",Int:"\u222C",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012E",iogon:"\u012F",Iopf:"\u{1D540}",iopf:"\u{1D55A}",Iota:"\u0399",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",Iscr:"\u2110",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xCF",iuml:"\xEF",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1D50D}",jfr:"\u{1D527}",jmath:"\u0237",Jopf:"\u{1D541}",jopf:"\u{1D55B}",Jscr:"\u{1D4A5}",jscr:"\u{1D4BF}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039A",kappa:"\u03BA",kappav:"\u03F0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041A",kcy:"\u043A",Kfr:"\u{1D50E}",kfr:"\u{1D528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040C",kjcy:"\u045C",Kopf:"\u{1D542}",kopf:"\u{1D55C}",Kscr:"\u{1D4A6}",kscr:"\u{1D4C0}",lAarr:"\u21DA",Lacute:"\u0139",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",Lambda:"\u039B",lambda:"\u03BB",lang:"\u27E8",Lang:"\u27EA",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",larrb:"\u21E4",larrbfs:"\u291F",larr:"\u2190",Larr:"\u219E",lArr:"\u21D0",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",latail:"\u2919",lAtail:"\u291B",lat:"\u2AAB",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lBarr:"\u290E",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",Lcaron:"\u013D",lcaron:"\u013E",Lcedil:"\u013B",lcedil:"\u013C",lceil:"\u2308",lcub:"{",Lcy:"\u041B",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27E8",LeftArrowBar:"\u21E4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21D0",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21C3",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21D4",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTeeArrow:"\u21A4",LeftTee:"\u22A3",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangleBar:"\u29CF",LeftTriangle:"\u22B2",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21BF",LeftVectorBar:"\u2952",LeftVector:"\u21BC",lEg:"\u2A8B",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",lescc:"\u2AA8",les:"\u2A7D",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",Lfr:"\u{1D50F}",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21C7",ll:"\u226A",Ll:"\u22D8",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",Lmidot:"\u013F",lmidot:"\u0140",lmoustache:"\u23B0",lmoust:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lnE:"\u2268",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",LongLeftArrow:"\u27F5",Longleftarrow:"\u27F8",longleftrightarrow:"\u27F7",LongLeftRightArrow:"\u27F7",Longleftrightarrow:"\u27FA",longmapsto:"\u27FC",longrightarrow:"\u27F6",LongRightArrow:"\u27F6",Longrightarrow:"\u27F9",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",Lopf:"\u{1D543}",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",Lscr:"\u2112",lsh:"\u21B0",Lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2AA6",ltcir:"\u2A79",lt:"<",LT:"<",Lt:"\u226A",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",Mcy:"\u041C",mcy:"\u043C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",midast:"*",midcir:"\u2AF0",mid:"\u2223",middot:"\xB7",minusb:"\u229F",minus:"\u2212",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",Mopf:"\u{1D544}",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",Mscr:"\u2133",mstpos:"\u223E",Mu:"\u039C",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266E",naturals:"\u2115",natur:"\u266E",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",Ncy:"\u041D",ncy:"\u043D",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21D7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` +`,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangle:"\u22EB",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",nprec:"\u2280",npreceq:"\u2AAF\u0338",npre:"\u2AAF\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",Ocirc:"\xD4",ocirc:"\xF4",ocir:"\u229A",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",orarr:"\u21BB",Or:"\u2A54",or:"\u2228",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",otimesas:"\u2A36",Otimes:"\u2A37",otimes:"\u2297",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",para:"\xB6",parallel:"\u2225",par:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plus:"+",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",prap:"\u2AB7",Pr:"\u2ABB",pr:"\u227A",prcue:"\u227C",precapprox:"\u2AB7",prec:"\u227A",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",pre:"\u2AAF",prE:"\u2AB3",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportional:"\u221D",Proportion:"\u2237",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21A0",rArr:"\u21D2",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",Re:"\u211C",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrowBar:"\u21E5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21D2",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVectorBar:"\u2955",RightDownVector:"\u21C2",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTeeArrow:"\u21A6",RightTee:"\u22A2",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangleBar:"\u29D0",RightTriangle:"\u22B3",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVectorBar:"\u2954",RightUpVector:"\u21BE",RightVectorBar:"\u2953",RightVector:"\u21C0",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoustache:"\u23B1",rmoust:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2ABC",sc:"\u227B",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdotb:"\u22A1",sdot:"\u22C5",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",solbar:"\u233F",solb:"\u29C4",sol:"/",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squ:"\u25A1",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succapprox:"\u2AB8",succ:"\u227B",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",Sup:"\u22D1",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2A31",timesb:"\u22A0",times:"\xD7",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",topbot:"\u2336",topcir:"\u2AF1",top:"\u22A4",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",uarr:"\u2191",Uarr:"\u219F",uArr:"\u21D1",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21D1",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21D5",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTeeArrow:"\u21A5",UpTee:"\u22A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",veebar:"\u22BB",vee:"\u2228",Vee:"\u22C1",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xharr:"\u27F7",xhArr:"\u27FA",Xi:"\u039E",xi:"\u03BE",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",yuml:"\xFF",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",zfr:"\u{1D537}",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"}}}),S8=He({"../../node_modules/entities/lib/maps/legacy.json"(e,t){t.exports={Aacute:"\xC1",aacute:"\xE1",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",AElig:"\xC6",aelig:"\xE6",Agrave:"\xC0",agrave:"\xE0",amp:"&",AMP:"&",Aring:"\xC5",aring:"\xE5",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",brvbar:"\xA6",Ccedil:"\xC7",ccedil:"\xE7",cedil:"\xB8",cent:"\xA2",copy:"\xA9",COPY:"\xA9",curren:"\xA4",deg:"\xB0",divide:"\xF7",Eacute:"\xC9",eacute:"\xE9",Ecirc:"\xCA",ecirc:"\xEA",Egrave:"\xC8",egrave:"\xE8",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE",gt:">",GT:">",Iacute:"\xCD",iacute:"\xED",Icirc:"\xCE",icirc:"\xEE",iexcl:"\xA1",Igrave:"\xCC",igrave:"\xEC",iquest:"\xBF",Iuml:"\xCF",iuml:"\xEF",laquo:"\xAB",lt:"<",LT:"<",macr:"\xAF",micro:"\xB5",middot:"\xB7",nbsp:"\xA0",not:"\xAC",Ntilde:"\xD1",ntilde:"\xF1",Oacute:"\xD3",oacute:"\xF3",Ocirc:"\xD4",ocirc:"\xF4",Ograve:"\xD2",ograve:"\xF2",ordf:"\xAA",ordm:"\xBA",Oslash:"\xD8",oslash:"\xF8",Otilde:"\xD5",otilde:"\xF5",Ouml:"\xD6",ouml:"\xF6",para:"\xB6",plusmn:"\xB1",pound:"\xA3",quot:'"',QUOT:'"',raquo:"\xBB",reg:"\xAE",REG:"\xAE",sect:"\xA7",shy:"\xAD",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",szlig:"\xDF",THORN:"\xDE",thorn:"\xFE",times:"\xD7",Uacute:"\xDA",uacute:"\xFA",Ucirc:"\xDB",ucirc:"\xFB",Ugrave:"\xD9",ugrave:"\xF9",uml:"\xA8",Uuml:"\xDC",uuml:"\xFC",Yacute:"\xDD",yacute:"\xFD",yen:"\xA5",yuml:"\xFF"}}}),ug=He({"../../node_modules/entities/lib/maps/xml.json"(e,t){t.exports={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}}}),w8=He({"../../node_modules/entities/lib/maps/decode.json"(e,t){t.exports={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}}}),B8=He({"../../node_modules/entities/lib/decode_codepoint.js"(e){var t=e&&e.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(e,"__esModule",{value:!0});var r=t(w8()),n=String.fromCodePoint||function(o){var u="";return o>65535&&(o-=65536,u+=String.fromCharCode(o>>>10&1023|55296),o=56320|o&1023),u+=String.fromCharCode(o),u};function a(o){return o>=55296&&o<=57343||o>1114111?"\uFFFD":(o in r.default&&(o=r.default[o]),n(o))}e.default=a}}),ng=He({"../../node_modules/entities/lib/decode.js"(e){var t=e&&e.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};Object.defineProperty(e,"__esModule",{value:!0}),e.decodeHTML=e.decodeHTMLStrict=e.decodeXML=void 0;var r=t(og()),n=t(S8()),a=t(ug()),o=t(B8()),u=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;e.decodeXML=i(a.default),e.decodeHTMLStrict=i(r.default);function i(y){var A=d(y);return function(g){return String(g).replace(u,A)}}var s=function(y,A){return y1?A(P):P.charCodeAt(0)).toString(16).toUpperCase()+";"}function h(P,N){return function($){return $.replace(N,function(w){return P[w]}).replace(y,g)}}var E=new RegExp(a.source+"|"+y.source,"g");function b(P){return P.replace(E,g)}e.escape=b;function x(P){return P.replace(a,g)}e.escapeUTF8=x;function S(P){return function(N){return N.replace(E,function($){return P[$]||g($)})}}}}),T8=He({"../../node_modules/entities/lib/index.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.decodeXMLStrict=e.decodeHTML5Strict=e.decodeHTML4Strict=e.decodeHTML5=e.decodeHTML4=e.decodeHTMLStrict=e.decodeHTML=e.decodeXML=e.encodeHTML5=e.encodeHTML4=e.escapeUTF8=e.escape=e.encodeNonAsciiHTML=e.encodeHTML=e.encodeXML=e.encode=e.decodeStrict=e.decode=void 0;var t=ng(),r=ag();function n(s,d){return(!d||d<=0?t.decodeXML:t.decodeHTML)(s)}e.decode=n;function a(s,d){return(!d||d<=0?t.decodeXML:t.decodeHTMLStrict)(s)}e.decodeStrict=a;function o(s,d){return(!d||d<=0?r.encodeXML:r.encodeHTML)(s)}e.encode=o;var u=ag();Object.defineProperty(e,"encodeXML",{enumerable:!0,get:function(){return u.encodeXML}}),Object.defineProperty(e,"encodeHTML",{enumerable:!0,get:function(){return u.encodeHTML}}),Object.defineProperty(e,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return u.encodeNonAsciiHTML}}),Object.defineProperty(e,"escape",{enumerable:!0,get:function(){return u.escape}}),Object.defineProperty(e,"escapeUTF8",{enumerable:!0,get:function(){return u.escapeUTF8}}),Object.defineProperty(e,"encodeHTML4",{enumerable:!0,get:function(){return u.encodeHTML}}),Object.defineProperty(e,"encodeHTML5",{enumerable:!0,get:function(){return u.encodeHTML}});var i=ng();Object.defineProperty(e,"decodeXML",{enumerable:!0,get:function(){return i.decodeXML}}),Object.defineProperty(e,"decodeHTML",{enumerable:!0,get:function(){return i.decodeHTML}}),Object.defineProperty(e,"decodeHTMLStrict",{enumerable:!0,get:function(){return i.decodeHTMLStrict}}),Object.defineProperty(e,"decodeHTML4",{enumerable:!0,get:function(){return i.decodeHTML}}),Object.defineProperty(e,"decodeHTML5",{enumerable:!0,get:function(){return i.decodeHTML}}),Object.defineProperty(e,"decodeHTML4Strict",{enumerable:!0,get:function(){return i.decodeHTMLStrict}}),Object.defineProperty(e,"decodeHTML5Strict",{enumerable:!0,get:function(){return i.decodeHTMLStrict}}),Object.defineProperty(e,"decodeXMLStrict",{enumerable:!0,get:function(){return i.decodeXML}})}}),_8=He({"../../node_modules/ansi-to-html/lib/ansi_to_html.js"(e,t){function r(O,T){if(!(O instanceof T))throw new TypeError("Cannot call a class as a function")}function n(O,T){for(var M=0;M"u"||O[Symbol.iterator]==null){if(Array.isArray(O)||(O=u(O))){var T=0,M=function(){};return{s:M,n:function(){return T>=O.length?{done:!0}:{done:!1,value:O[T++]}},e:function(se){throw se},f:M}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var G,Y=!0,K=!1,Q;return{s:function(){G=O[Symbol.iterator]()},n:function(){var se=G.next();return Y=se.done,se},e:function(se){K=!0,Q=se},f:function(){try{!Y&&G.return!=null&&G.return()}finally{if(K)throw Q}}}}function u(O,T){if(O){if(typeof O=="string")return i(O,T);var M=Object.prototype.toString.call(O).slice(8,-1);if(M==="Object"&&O.constructor&&(M=O.constructor.name),M==="Map"||M==="Set")return Array.from(M);if(M==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(M))return i(O,T)}}function i(O,T){(T==null||T>O.length)&&(T=O.length);for(var M=0,G=new Array(T);M0?O*40+55:0,Q=T>0?T*40+55:0,se=M>0?M*40+55:0;G[Y]=h([K,Q,se])}function g(O){for(var T=O.toString(16);T.length<2;)T="0"+T;return T}function h(O){var T=[],M=o(O),G;try{for(M.s();!(G=M.n()).done;){var Y=G.value;T.push(g(Y))}}catch(K){M.e(K)}finally{M.f()}return"#"+T.join("")}function E(O,T,M,G){var Y;return T==="text"?Y=w(M,G):T==="display"?Y=x(O,M,G):T==="xterm256"?Y=U(O,G.colors[M]):T==="rgb"&&(Y=b(O,M)),Y}function b(O,T){T=T.substring(2).slice(0,-1);var M=+T.substr(0,2),G=T.substring(5).split(";"),Y=G.map(function(K){return("0"+Number(K).toString(16)).substr(-2)}).join("");return I(O,(M===38?"color:#":"background-color:#")+Y)}function x(O,T,M){T=parseInt(T,10);var G={"-1":function(){return"
    "},0:function(){return O.length&&S(O)},1:function(){return j(O,"b")},3:function(){return j(O,"i")},4:function(){return j(O,"u")},8:function(){return I(O,"display:none")},9:function(){return j(O,"strike")},22:function(){return I(O,"font-weight:normal;text-decoration:none;font-style:normal")},23:function(){return z(O,"i")},24:function(){return z(O,"u")},39:function(){return U(O,M.fg)},49:function(){return V(O,M.bg)},53:function(){return I(O,"text-decoration:overline")}},Y;return G[T]?Y=G[T]():4"}).join("")}function P(O,T){for(var M=[],G=O;G<=T;G++)M.push(G);return M}function N(O){return function(T){return(O===null||T.category!==O)&&O!=="all"}}function $(O){O=parseInt(O,10);var T=null;return O===0?T="all":O===1?T="bold":2")}function I(O,T){return j(O,"span",T)}function U(O,T){return j(O,"span","color:"+T)}function V(O,T){return j(O,"span","background-color:"+T)}function z(O,T){var M;if(O.slice(-1)[0]===T&&(M=O.pop()),M)return""}function ie(O,T,M){var G=!1,Y=3;function K(){return""}function Q(ue,Ae){return M("xterm256",Ae),""}function se(ue){return T.newline?M("display",-1):M("text",ue),""}function Oe(ue,Ae){G=!0,Ae.trim().length===0&&(Ae="0"),Ae=Ae.trimRight(";").split(";");var Vr=o(Ae),di;try{for(Vr.s();!(di=Vr.n()).done;){var Ey=di.value;M("display",Ey)}}catch(Dy){Vr.e(Dy)}finally{Vr.f()}return""}function Re(ue){return M("text",ue),""}function J(ue){return M("rgb",ue),""}var qe=[{pattern:/^\x08+/,sub:K},{pattern:/^\x1b\[[012]?K/,sub:K},{pattern:/^\x1b\[\(B/,sub:K},{pattern:/^\x1b\[[34]8;2;\d+;\d+;\d+m/,sub:J},{pattern:/^\x1b\[38;5;(\d+)m/,sub:Q},{pattern:/^\n/,sub:se},{pattern:/^\r+\n/,sub:se},{pattern:/^\x1b\[((?:\d{1,3};?)+|)m/,sub:Oe},{pattern:/^\x1b\[\d?J/,sub:K},{pattern:/^\x1b\[\d{0,3};\d{0,3}f/,sub:K},{pattern:/^\x1b\[?[\d;]{0,3}/,sub:K},{pattern:/^(([^\x1b\x08\r\n])+)/,sub:Re}];function B(ue,Ae){Ae>Y&&G||(G=!1,O=O.replace(ue.pattern,ue.sub))}var R=[],k=O,_=k.length;e:for(;_>0;){for(var L=0,H=0,de=qe.length;H(e.MAIN="MAIN",e.NOPREVIEW="NOPREVIEW",e.PREPARING_STORY="PREPARING_STORY",e.PREPARING_DOCS="PREPARING_DOCS",e.ERROR="ERROR",e))(R8||{});var IJ=new O8.default({escapeXML:!0});var{document:kJ}=oe;l();c();p();l();c();p();l();c();p();var P8=Object.create,ig=Object.defineProperty,I8=Object.getOwnPropertyDescriptor,sg=Object.getOwnPropertyNames,k8=Object.getPrototypeOf,N8=Object.prototype.hasOwnProperty,Ie=(e,t)=>function(){return t||(0,e[sg(e)[0]])((t={exports:{}}).exports,t),t.exports},j8=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of sg(t))!N8.call(e,a)&&a!==r&&ig(e,a,{get:()=>t[a],enumerable:!(n=I8(t,a))||n.enumerable});return e},Qn=(e,t,r)=>(r=e!=null?P8(k8(e)):{},j8(t||!e||!e.__esModule?ig(r,"default",{value:e,enumerable:!0}):r,e)),M8=["bubbles","cancelBubble","cancelable","composed","currentTarget","defaultPrevented","eventPhase","isTrusted","returnValue","srcElement","target","timeStamp","type"],q8=["detail"];function lg(e){let t=M8.filter(r=>e[r]!==void 0).reduce((r,n)=>({...r,[n]:e[n]}),{});return e instanceof CustomEvent&&q8.filter(r=>e[r]!==void 0).forEach(r=>{t[r]=e[r]}),t}var xg=fe(Cn(),1),gg=Ie({"node_modules/has-symbols/shams.js"(e,t){"use strict";t.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var n={},a=Symbol("test"),o=Object(a);if(typeof a=="string"||Object.prototype.toString.call(a)!=="[object Symbol]"||Object.prototype.toString.call(o)!=="[object Symbol]")return!1;var u=42;n[a]=u;for(a in n)return!1;if(typeof Object.keys=="function"&&Object.keys(n).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(n).length!==0)return!1;var i=Object.getOwnPropertySymbols(n);if(i.length!==1||i[0]!==a||!Object.prototype.propertyIsEnumerable.call(n,a))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(n,a);if(s.value!==u||s.enumerable!==!0)return!1}return!0}}}),mg=Ie({"node_modules/has-symbols/index.js"(e,t){"use strict";var r=typeof Symbol<"u"&&Symbol,n=gg();t.exports=function(){return typeof r!="function"||typeof Symbol!="function"||typeof r("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:n()}}}),L8=Ie({"node_modules/function-bind/implementation.js"(e,t){"use strict";var r="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,a=Object.prototype.toString,o="[object Function]";t.exports=function(i){var s=this;if(typeof s!="function"||a.call(s)!==o)throw new TypeError(r+s);for(var d=n.call(arguments,1),y,A=function(){if(this instanceof y){var x=s.apply(this,d.concat(n.call(arguments)));return Object(x)===x?x:this}else return s.apply(i,d.concat(n.call(arguments)))},g=Math.max(0,s.length-d.length),h=[],E=0;E"u"?r:A(Uint8Array),E={"%AggregateError%":typeof AggregateError>"u"?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?r:ArrayBuffer,"%ArrayIteratorPrototype%":y?A([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":g,"%AsyncGenerator%":g,"%AsyncGeneratorFunction%":g,"%AsyncIteratorPrototype%":g,"%Atomics%":typeof Atomics>"u"?r:Atomics,"%BigInt%":typeof BigInt>"u"?r:BigInt,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?r:Float32Array,"%Float64Array%":typeof Float64Array>"u"?r:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?r:FinalizationRegistry,"%Function%":a,"%GeneratorFunction%":g,"%Int8Array%":typeof Int8Array>"u"?r:Int8Array,"%Int16Array%":typeof Int16Array>"u"?r:Int16Array,"%Int32Array%":typeof Int32Array>"u"?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":y?A(A([][Symbol.iterator]())):r,"%JSON%":typeof JSON=="object"?JSON:r,"%Map%":typeof Map>"u"?r:Map,"%MapIteratorPrototype%":typeof Map>"u"||!y?r:A(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?r:Promise,"%Proxy%":typeof Proxy>"u"?r:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?r:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?r:Set,"%SetIteratorPrototype%":typeof Set>"u"||!y?r:A(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":y?A(""[Symbol.iterator]()):r,"%Symbol%":y?Symbol:r,"%SyntaxError%":n,"%ThrowTypeError%":d,"%TypedArray%":h,"%TypeError%":o,"%Uint8Array%":typeof Uint8Array>"u"?r:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?r:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?r:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?r:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?r:WeakMap,"%WeakRef%":typeof WeakRef>"u"?r:WeakRef,"%WeakSet%":typeof WeakSet>"u"?r:WeakSet},b=function Z(X){var O;if(X==="%AsyncFunction%")O=u("async function () {}");else if(X==="%GeneratorFunction%")O=u("function* () {}");else if(X==="%AsyncGeneratorFunction%")O=u("async function* () {}");else if(X==="%AsyncGenerator%"){var T=Z("%AsyncGeneratorFunction%");T&&(O=T.prototype)}else if(X==="%AsyncIteratorPrototype%"){var M=Z("%AsyncGenerator%");M&&(O=A(M.prototype))}return E[X]=O,O},x={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},S=Cu(),P=$8(),N=S.call(Function.call,Array.prototype.concat),$=S.call(Function.apply,Array.prototype.splice),w=S.call(Function.call,String.prototype.replace),j=S.call(Function.call,String.prototype.slice),I=S.call(Function.call,RegExp.prototype.exec),U=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,V=/\\(\\)?/g,z=function(X){var O=j(X,0,1),T=j(X,-1);if(O==="%"&&T!=="%")throw new n("invalid intrinsic syntax, expected closing `%`");if(T==="%"&&O!=="%")throw new n("invalid intrinsic syntax, expected opening `%`");var M=[];return w(X,U,function(G,Y,K,Q){M[M.length]=K?w(Q,V,"$1"):Y||G}),M},ie=function(X,O){var T=X,M;if(P(x,T)&&(M=x[T],T="%"+M[0]+"%"),P(E,T)){var G=E[T];if(G===g&&(G=b(T)),typeof G>"u"&&!O)throw new o("intrinsic "+X+" exists, but is not available. Please file an issue!");return{alias:M,name:T,value:G}}throw new n("intrinsic "+X+" does not exist!")};t.exports=function(X,O){if(typeof X!="string"||X.length===0)throw new o("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof O!="boolean")throw new o('"allowMissing" argument must be a boolean');if(I(/^%?[^%]*%?$/,X)===null)throw new n("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var T=z(X),M=T.length>0?T[0]:"",G=ie("%"+M+"%",O),Y=G.name,K=G.value,Q=!1,se=G.alias;se&&(M=se[0],$(T,N([0,1],se)));for(var Oe=1,Re=!0;Oe=T.length){var R=i(K,J);Re=!!R,Re&&"get"in R&&!("originalValue"in R.get)?K=R.get:K=K[J]}else Re=P(K,J),K=K[J];Re&&!Q&&(E[Y]=K)}}return K}}}),U8=Ie({"node_modules/call-bind/index.js"(e,t){"use strict";var r=Cu(),n=yg(),a=n("%Function.prototype.apply%"),o=n("%Function.prototype.call%"),u=n("%Reflect.apply%",!0)||r.call(o,a),i=n("%Object.getOwnPropertyDescriptor%",!0),s=n("%Object.defineProperty%",!0),d=n("%Math.max%");if(s)try{s({},"a",{value:1})}catch{s=null}t.exports=function(g){var h=u(r,o,arguments);if(i&&s){var E=i(h,"length");E.configurable&&s(h,"length",{value:1+d(0,g.length-(arguments.length-1))})}return h};var y=function(){return u(r,a,arguments)};s?s(t.exports,"apply",{value:y}):t.exports.apply=y}}),z8=Ie({"node_modules/call-bind/callBound.js"(e,t){"use strict";var r=yg(),n=U8(),a=n(r("String.prototype.indexOf"));t.exports=function(u,i){var s=r(u,!!i);return typeof s=="function"&&a(u,".prototype.")>-1?n(s):s}}}),H8=Ie({"node_modules/has-tostringtag/shams.js"(e,t){"use strict";var r=gg();t.exports=function(){return r()&&!!Symbol.toStringTag}}}),G8=Ie({"node_modules/is-regex/index.js"(e,t){"use strict";var r=z8(),n=H8()(),a,o,u,i;n&&(a=r("Object.prototype.hasOwnProperty"),o=r("RegExp.prototype.exec"),u={},s=function(){throw u},i={toString:s,valueOf:s},typeof Symbol.toPrimitive=="symbol"&&(i[Symbol.toPrimitive]=s));var s,d=r("Object.prototype.toString"),y=Object.getOwnPropertyDescriptor,A="[object RegExp]";t.exports=n?function(h){if(!h||typeof h!="object")return!1;var E=y(h,"lastIndex"),b=E&&a(E,"value");if(!b)return!1;try{o(h,i)}catch(x){return x===u}}:function(h){return!h||typeof h!="object"&&typeof h!="function"?!1:d(h)===A}}}),W8=Ie({"node_modules/is-function/index.js"(e,t){t.exports=n;var r=Object.prototype.toString;function n(a){if(!a)return!1;var o=r.call(a);return o==="[object Function]"||typeof a=="function"&&o!=="[object RegExp]"||typeof window<"u"&&(a===window.setTimeout||a===window.alert||a===window.confirm||a===window.prompt)}}}),V8=Ie({"node_modules/is-symbol/index.js"(e,t){"use strict";var r=Object.prototype.toString,n=mg()();n?(a=Symbol.prototype.toString,o=/^Symbol\(.*\)$/,u=function(s){return typeof s.valueOf()!="symbol"?!1:o.test(a.call(s))},t.exports=function(s){if(typeof s=="symbol")return!0;if(r.call(s)!=="[object Symbol]")return!1;try{return u(s)}catch{return!1}}):t.exports=function(s){return!1};var a,o,u}}),K8=Qn(G8()),Y8=Qn(W8()),X8=Qn(V8());function J8(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1}var Q8=typeof window=="object"&&window&&window.Object===Object&&window,Z8=Q8,e_=typeof self=="object"&&self&&self.Object===Object&&self,t_=Z8||e_||Function("return this")(),xu=t_,r_=xu.Symbol,Zt=r_,bg=Object.prototype,n_=bg.hasOwnProperty,a_=bg.toString,qr=Zt?Zt.toStringTag:void 0;function o_(e){var t=n_.call(e,qr),r=e[qr];try{e[qr]=void 0;var n=!0}catch{}var a=a_.call(e);return n&&(t?e[qr]=r:delete e[qr]),a}var u_=o_,i_=Object.prototype,s_=i_.toString;function l_(e){return s_.call(e)}var c_=l_,p_="[object Null]",d_="[object Undefined]",cg=Zt?Zt.toStringTag:void 0;function f_(e){return e==null?e===void 0?d_:p_:cg&&cg in Object(e)?u_(e):c_(e)}var Ag=f_;function h_(e){return e!=null&&typeof e=="object"}var g_=h_,m_="[object Symbol]";function y_(e){return typeof e=="symbol"||g_(e)&&Ag(e)==m_}var Fu=y_;function b_(e,t){for(var r=-1,n=e==null?0:e.length,a=Array(n);++r-1}var B6=w6;function T6(e,t){var r=this.__data__,n=Zn(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var _6=T6;function tr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{let t=null,r=!1,n=!1,a=!1,o="";if(e.indexOf("//")>=0||e.indexOf("/*")>=0)for(let u=0;ufO(e).replace(/\n\s*/g,"").trim()),gO=function(t,r){let n=r.slice(0,r.indexOf("{")),a=r.slice(r.indexOf("{"));if(n.includes("=>")||n.includes("function"))return r;let o=n;return o=o.replace(t,"function"),o+a},mO=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z$/,Fg=e=>e.match(/^[\[\{\"\}].*[\]\}\"]$/);function Sg(e){if(!Bu(e))return e;let t=e,r=!1;return typeof Event<"u"&&e instanceof Event&&(t=lg(t),r=!0),t=Object.keys(t).reduce((n,a)=>{try{t[a]&&t[a].toJSON,n[a]=t[a]}catch{r=!0}return n},{}),r?t:e}var yO=function(t){let r,n,a,o;return function(i,s){try{if(i==="")return o=[],r=new Map([[s,"[]"]]),n=new Map,a=[],s;let d=n.get(this)||this;for(;a.length&&d!==a[0];)a.shift(),o.pop();if(typeof s=="boolean")return s;if(s===void 0)return t.allowUndefined?"_undefined_":void 0;if(s===null)return null;if(typeof s=="number")return s===-1/0?"_-Infinity_":s===1/0?"_Infinity_":Number.isNaN(s)?"_NaN_":s;if(typeof s=="bigint")return`_bigint_${s.toString()}`;if(typeof s=="string")return mO.test(s)?t.allowDate?`_date_${s}`:void 0:s;if((0,K8.default)(s))return t.allowRegExp?`_regexp_${s.flags}|${s.source}`:void 0;if((0,Y8.default)(s)){if(!t.allowFunction)return;let{name:A}=s,g=s.toString();return g.match(/(\[native code\]|WEBPACK_IMPORTED_MODULE|__webpack_exports__|__webpack_require__)/)?`_function_${A}|${(()=>{}).toString()}`:`_function_${A}|${hO(gO(i,g))}`}if((0,X8.default)(s)){if(!t.allowSymbol)return;let A=Symbol.keyFor(s);return A!==void 0?`_gsymbol_${A}`:`_symbol_${s.toString().slice(7,-1)}`}if(a.length>=t.maxDepth)return Array.isArray(s)?`[Array(${s.length})]`:"[Object]";if(s===this)return`_duplicate_${JSON.stringify(o)}`;if(s.constructor&&s.constructor.name&&s.constructor.name!=="Object"&&!Array.isArray(s)&&!t.allowClass)return;let y=r.get(s);if(!y){let A=Array.isArray(s)?s:Sg(s);if(s.constructor&&s.constructor.name&&s.constructor.name!=="Object"&&!Array.isArray(s)&&t.allowClass)try{Object.assign(A,{"_constructor-name_":s.constructor.name})}catch{}return o.push(i),a.unshift(A),r.set(s,JSON.stringify(o)),s!==A&&n.set(s,A),A}return`_duplicate_${y}`}catch{return}}},bO=function reviver(options){let refs=[],root;return function revive(key,value){if(key===""&&(root=value,refs.forEach(({target:e,container:t,replacement:r})=>{let n=Fg(r)?JSON.parse(r):r.split(".");n.length===0?t[e]=root:t[e]=dO(root,n)})),key==="_constructor-name_")return value;if(Bu(value)&&value["_constructor-name_"]&&options.allowFunction){let e=value["_constructor-name_"];if(e!=="Object"){let t=new Function(`return function ${e.replace(/[^a-zA-Z0-9$_]+/g,"")}(){}`)();Object.setPrototypeOf(value,new t)}return delete value["_constructor-name_"],value}if(typeof value=="string"&&value.startsWith("_function_")&&options.allowFunction){let[,name,source]=value.match(/_function_([^|]*)\|(.*)/)||[],sourceSanitized=source.replace(/[(\(\))|\\| |\]|`]*$/,"");if(!options.lazyEval)return eval(`(${sourceSanitized})`);let result=(...args)=>{let f=eval(`(${sourceSanitized})`);return f(...args)};return Object.defineProperty(result,"toString",{value:()=>sourceSanitized}),Object.defineProperty(result,"name",{value:name}),result}if(typeof value=="string"&&value.startsWith("_regexp_")&&options.allowRegExp){let[,e,t]=value.match(/_regexp_([^|]*)\|(.*)/)||[];return new RegExp(t,e)}return typeof value=="string"&&value.startsWith("_date_")&&options.allowDate?new Date(value.replace("_date_","")):typeof value=="string"&&value.startsWith("_duplicate_")?(refs.push({target:key,container:this,replacement:value.replace(/^_duplicate_/,"")}),null):typeof value=="string"&&value.startsWith("_symbol_")&&options.allowSymbol?Symbol(value.replace("_symbol_","")):typeof value=="string"&&value.startsWith("_gsymbol_")&&options.allowSymbol?Symbol.for(value.replace("_gsymbol_","")):typeof value=="string"&&value==="_-Infinity_"?-1/0:typeof value=="string"&&value==="_Infinity_"?1/0:typeof value=="string"&&value==="_NaN_"?NaN:typeof value=="string"&&value.startsWith("_bigint_")&&typeof BigInt=="function"?BigInt(value.replace("_bigint_","")):value}},wg={maxDepth:10,space:void 0,allowFunction:!0,allowRegExp:!0,allowDate:!0,allowClass:!0,allowUndefined:!0,allowSymbol:!0,lazyEval:!0},Tu=(e,t={})=>{let r={...wg,...t};return JSON.stringify(Sg(e),yO(r),t.space)},AO=()=>{let e=new Map;return function t(r){Bu(r)&&Object.entries(r).forEach(([n,a])=>{a==="_undefined_"?r[n]=void 0:e.get(a)||(e.set(a,!0),t(a))}),Array.isArray(r)&&r.forEach((n,a)=>{n==="_undefined_"?(e.set(n,!0),r[a]=void 0):e.get(n)||(e.set(n,!0),t(n))})}},EO=(e,t={})=>{let r={...wg,...t},n=JSON.parse(e,bO(r));return AO()(n),n};var DO=fe(Jn(),1),{document:ZJ,location:eQ}=oe;var{FEATURES:fQ}=oe;l();c();p();var Xm=fe(Rn(),1);l();c();p();var BO=fe(Rn(),1),TO=fe(jg(),1);var _O=(e=>(e.JAVASCRIPT="JavaScript",e.FLOW="Flow",e.TYPESCRIPT="TypeScript",e.UNKNOWN="Unknown",e))(_O||{});var ra=e=>{if(!e)return"";if(typeof e=="string")return e;throw new Error(`Description: expected string, got: ${JSON.stringify(e)}`)};var Mg="storybook/docs",WZ=`${Mg}/panel`;var OO=`${Mg}/snippet-rendered`,zr=(e=>(e.AUTO="auto",e.CODE="code",e.DYNAMIC="dynamic",e))(zr||{});var G4=q.div(Tt,({theme:e})=>({backgroundColor:e.base==="light"?"rgba(0,0,0,.01)":"rgba(255,255,255,.01)",borderRadius:e.appBorderRadius,border:`1px dashed ${e.appBorderColor}`,display:"flex",alignItems:"center",justifyContent:"center",padding:20,margin:"25px 0 40px",color:pe(.3,e.color.defaultText),fontSize:e.typography.size.s2})),Ku=e=>m.createElement(G4,{...e,className:"docblock-emptyblock sb-unstyled"}),W4=q(Yr)(({theme:e})=>({fontSize:`${e.typography.size.s2-1}px`,lineHeight:"19px",margin:"25px 0 40px",borderRadius:e.appBorderRadius,boxShadow:e.base==="light"?"rgba(0, 0, 0, 0.10) 0 1px 3px 0":"rgba(0, 0, 0, 0.20) 0 2px 5px 0","pre.prismjs":{padding:20,background:"inherit"}})),V4=q.div(({theme:e})=>({background:e.background.content,borderRadius:e.appBorderRadius,border:`1px solid ${e.appBorderColor}`,boxShadow:e.base==="light"?"rgba(0, 0, 0, 0.10) 0 1px 3px 0":"rgba(0, 0, 0, 0.20) 0 2px 5px 0",margin:"25px 0 40px",padding:"20px 20px 20px 22px"})),la=q.div(({theme:e})=>({animation:`${e.animation.glow} 1.5s ease-in-out infinite`,background:e.appBorderColor,height:17,marginTop:1,width:"60%",[`&:first-child${Fi}`]:{margin:0}})),K4=()=>m.createElement(V4,null,m.createElement(la,null),m.createElement(la,{style:{width:"80%"}}),m.createElement(la,{style:{width:"30%"}}),m.createElement(la,{style:{width:"80%"}})),ri=({isLoading:e,error:t,language:r,code:n,dark:a,format:o,...u})=>{if(e)return m.createElement(K4,null);if(t)return m.createElement(Ku,null,t);let i=m.createElement(W4,{bordered:!0,copyable:!0,format:o,language:r,className:"docblock-source sb-unstyled",...u},n);if(typeof a>"u")return i;let s=a?qa.dark:qa.light;return m.createElement(Ci,{theme:xi(s)},i)};ri.defaultProps={format:!1};var be=e=>`& :where(${e}:not(.sb-anchor, .sb-unstyled, .sb-unstyled ${e}))`,ni=600,pte=q.h1(Tt,({theme:e})=>({color:e.color.defaultText,fontSize:e.typography.size.m3,fontWeight:e.typography.weight.bold,lineHeight:"32px",[`@media (min-width: ${ni}px)`]:{fontSize:e.typography.size.l1,lineHeight:"36px",marginBottom:"16px"}})),dte=q.h2(Tt,({theme:e})=>({fontWeight:e.typography.weight.regular,fontSize:e.typography.size.s3,lineHeight:"20px",borderBottom:"none",marginBottom:15,[`@media (min-width: ${ni}px)`]:{fontSize:e.typography.size.m1,lineHeight:"28px",marginBottom:24},color:pe(.25,e.color.defaultText)})),fte=q.div(({theme:e})=>{let t={fontFamily:e.typography.fonts.base,fontSize:e.typography.size.s3,margin:0,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",WebkitOverflowScrolling:"touch"},r={margin:"20px 0 8px",padding:0,cursor:"text",position:"relative",color:e.color.defaultText,"&:first-of-type":{marginTop:0,paddingTop:0},"&:hover a.anchor":{textDecoration:"none"},"& code":{fontSize:"inherit"}},n={lineHeight:1,margin:"0 2px",padding:"3px 5px",whiteSpace:"nowrap",borderRadius:3,fontSize:e.typography.size.s2-1,border:e.base==="light"?`1px solid ${e.color.mediumlight}`:`1px solid ${e.color.darker}`,color:e.base==="light"?pe(.1,e.color.defaultText):pe(.3,e.color.defaultText),backgroundColor:e.base==="light"?e.color.lighter:e.color.border};return{maxWidth:1e3,width:"100%",[be("a")]:{...t,fontSize:"inherit",lineHeight:"24px",color:e.color.secondary,textDecoration:"none","&.absent":{color:"#cc0000"},"&.anchor":{display:"block",paddingLeft:30,marginLeft:-30,cursor:"pointer",position:"absolute",top:0,left:0,bottom:0}},[be("blockquote")]:{...t,margin:"16px 0",borderLeft:`4px solid ${e.color.medium}`,padding:"0 15px",color:e.color.dark,"& > :first-of-type":{marginTop:0},"& > :last-child":{marginBottom:0}},[be("div")]:t,[be("dl")]:{...t,margin:"16px 0",padding:0,"& dt":{fontSize:"14px",fontWeight:"bold",fontStyle:"italic",padding:0,margin:"16px 0 4px"},"& dt:first-of-type":{padding:0},"& dt > :first-of-type":{marginTop:0},"& dt > :last-child":{marginBottom:0},"& dd":{margin:"0 0 16px",padding:"0 15px"},"& dd > :first-of-type":{marginTop:0},"& dd > :last-child":{marginBottom:0}},[be("h1")]:{...t,...r,fontSize:`${e.typography.size.l1}px`,fontWeight:e.typography.weight.bold},[be("h2")]:{...t,...r,fontSize:`${e.typography.size.m2}px`,paddingBottom:4,borderBottom:`1px solid ${e.appBorderColor}`},[be("h3")]:{...t,...r,fontSize:`${e.typography.size.m1}px`,fontWeight:e.typography.weight.bold},[be("h4")]:{...t,...r,fontSize:`${e.typography.size.s3}px`},[be("h5")]:{...t,...r,fontSize:`${e.typography.size.s2}px`},[be("h6")]:{...t,...r,fontSize:`${e.typography.size.s2}px`,color:e.color.dark},[be("hr")]:{border:"0 none",borderTop:`1px solid ${e.appBorderColor}`,height:4,padding:0},[be("img")]:{maxWidth:"100%"},[be("li")]:{...t,fontSize:e.typography.size.s2,color:e.color.defaultText,lineHeight:"24px","& + li":{marginTop:".25em"},"& ul, & ol":{marginTop:".25em",marginBottom:0},"& code":n},[be("ol")]:{...t,margin:"16px 0",paddingLeft:30,"& :first-of-type":{marginTop:0},"& :last-child":{marginBottom:0}},[be("p")]:{...t,margin:"16px 0",fontSize:e.typography.size.s2,lineHeight:"24px",color:e.color.defaultText,"& code":n},[be("pre")]:{...t,fontFamily:e.typography.fonts.mono,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",lineHeight:"18px",padding:"11px 1rem",whiteSpace:"pre-wrap",color:"inherit",borderRadius:3,margin:"1rem 0","&:not(.prismjs)":{background:"transparent",border:"none",borderRadius:0,padding:0,margin:0},"& pre, &.prismjs":{padding:15,margin:0,whiteSpace:"pre-wrap",color:"inherit",fontSize:"13px",lineHeight:"19px",code:{color:"inherit",fontSize:"inherit"}},"& code":{whiteSpace:"pre"},"& code, & tt":{border:"none"}},[be("span")]:{...t,"&.frame":{display:"block",overflow:"hidden","& > span":{border:`1px solid ${e.color.medium}`,display:"block",float:"left",overflow:"hidden",margin:"13px 0 0",padding:7,width:"auto"},"& span img":{display:"block",float:"left"},"& span span":{clear:"both",color:e.color.darkest,display:"block",padding:"5px 0 0"}},"&.align-center":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"center"},"& span img":{margin:"0 auto",textAlign:"center"}},"&.align-right":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px 0 0",textAlign:"right"},"& span img":{margin:0,textAlign:"right"}},"&.float-left":{display:"block",marginRight:13,overflow:"hidden",float:"left","& span":{margin:"13px 0 0"}},"&.float-right":{display:"block",marginLeft:13,overflow:"hidden",float:"right","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"right"}}},[be("table")]:{...t,margin:"16px 0",fontSize:e.typography.size.s2,lineHeight:"24px",padding:0,borderCollapse:"collapse","& tr":{borderTop:`1px solid ${e.appBorderColor}`,backgroundColor:e.appContentBg,margin:0,padding:0},"& tr:nth-of-type(2n)":{backgroundColor:e.base==="dark"?e.color.darker:e.color.lighter},"& tr th":{fontWeight:"bold",color:e.color.defaultText,border:`1px solid ${e.appBorderColor}`,margin:0,padding:"6px 13px"},"& tr td":{border:`1px solid ${e.appBorderColor}`,color:e.color.defaultText,margin:0,padding:"6px 13px"},"& tr th :first-of-type, & tr td :first-of-type":{marginTop:0},"& tr th :last-child, & tr td :last-child":{marginBottom:0}},[be("ul")]:{...t,margin:"16px 0",paddingLeft:30,"& :first-of-type":{marginTop:0},"& :last-child":{marginBottom:0},listStyle:"disc"}}}),hte=q.div(({theme:e})=>({background:e.background.content,display:"flex",justifyContent:"center",padding:"4rem 20px",minHeight:"100vh",boxSizing:"border-box",[`@media (min-width: ${ni}px)`]:{}}));var da=e=>({borderRadius:e.appBorderRadius,background:e.background.content,boxShadow:e.base==="light"?"rgba(0, 0, 0, 0.10) 0 1px 3px 0":"rgba(0, 0, 0, 0.20) 0 2px 5px 0",border:`1px solid ${e.appBorderColor}`}),Y4=({zoom:e,resetZoom:t})=>m.createElement(m.Fragment,null,m.createElement(ht,{key:"zoomin",onClick:r=>{r.preventDefault(),e(.8)},title:"Zoom in"},m.createElement(Be,{icon:"zoom"})),m.createElement(ht,{key:"zoomout",onClick:r=>{r.preventDefault(),e(1.25)},title:"Zoom out"},m.createElement(Be,{icon:"zoomout"})),m.createElement(ht,{key:"zoomreset",onClick:r=>{r.preventDefault(),t()},title:"Reset zoom"},m.createElement(Be,{icon:"zoomreset"}))),X4=q(Fa)({position:"absolute",left:0,right:0,top:0,transition:"transform .2s linear"}),J4=({isLoading:e,storyId:t,baseUrl:r,zoom:n,resetZoom:a,...o})=>m.createElement(X4,{...o},m.createElement(hi,{key:"left"},e?[1,2,3].map(u=>m.createElement(Ba,{key:u})):m.createElement(Y4,{zoom:n,resetZoom:a}))),Jm=sr({scale:1}),{window:Q4}=oe,Z4=class extends Je{constructor(){super(...arguments),this.iframe=null}componentDidMount(){let{id:e}=this.props;this.iframe=Q4.document.getElementById(e)}shouldComponentUpdate(e){let{scale:t}=e;return t!==this.props.scale&&this.setIframeBodyStyle({width:`${t*100}%`,height:`${t*100}%`,transform:`scale(${1/t})`,transformOrigin:"top left"}),!1}setIframeBodyStyle(e){return Object.assign(this.iframe.contentDocument.body.style,e)}render(){let{id:e,title:t,src:r,allowFullScreen:n,scale:a,...o}=this.props;return m.createElement("iframe",{id:e,title:t,src:r,...n?{allow:"fullscreen"}:{},loading:"lazy",...o})}},{PREVIEW_URL:e9}=oe,t9=e9||"iframe.html",Yu=({story:e,primary:t})=>`story--${e.id}${t?"--primary":""}`,r9=e=>{let t=Ce(),[r,n]=ne(!0),[a,o]=ne(),{story:u,height:i,autoplay:s,forceInitialArgs:d,renderStoryToElement:y}=e;me(()=>{if(!(u&&t.current))return()=>{};let g=t.current,h=y(u,g,{showMain:()=>{},showError:({title:E,description:b})=>o(new Error(`${E} - ${b}`)),showException:E=>o(E)},{autoplay:s,forceInitialArgs:d});return n(!1),()=>{Promise.resolve().then(()=>h())}},[s,y,u]);let A="";return a?m.createElement("pre",null,m.createElement(xa,{error:a})):m.createElement(m.Fragment,null,i?m.createElement("style",null,`#${Yu(e)} { min-height: ${i}; transform: translateZ(0); overflow: auto }`):null,r&&m.createElement(ai,null),m.createElement("div",{ref:t,id:`${Yu(e)}-inner`,"data-name":u.name,dangerouslySetInnerHTML:{__html:A}}))},n9=({story:e,height:t="500px"})=>m.createElement("div",{style:{width:"100%",height:t}},m.createElement(Jm.Consumer,null,({scale:r})=>m.createElement(Z4,{key:"iframe",id:`iframe--${e.id}`,title:e.name,src:Na(t9,e.id,{viewMode:"story"}),allowFullScreen:!0,scale:r,style:{width:"100%",height:"100%",border:"0 none"}}))),a9=e=>{let{inline:t}=e;return m.createElement("div",{id:Yu(e),className:"sb-story sb-unstyled","data-story-block":"true"},t?m.createElement(r9,{...e}):m.createElement(n9,{...e}))},ai=()=>m.createElement(Ta,null),o9=q.div(({isColumn:e,columns:t,layout:r})=>({display:e||!t?"block":"flex",position:"relative",flexWrap:"wrap",overflow:"auto",flexDirection:e?"column":"row","& .innerZoomElementWrapper > *":e?{width:r!=="fullscreen"?"calc(100% - 20px)":"100%",display:"block"}:{maxWidth:r!=="fullscreen"?"calc(100% - 20px)":"100%",display:"inline-block"}}),({layout:e="padded"})=>e==="centered"||e==="padded"?{padding:"30px 20px",margin:-10,"& .innerZoomElementWrapper > *":{width:"auto",border:"10px solid transparent!important"}}:{},({layout:e="padded"})=>e==="centered"?{display:"flex",justifyContent:"center",justifyItems:"center",alignContent:"center",alignItems:"center"}:{},({columns:e})=>e&&e>1?{".innerZoomElementWrapper > *":{minWidth:`calc(100% / ${e} - 20px)`}}:{}),Rm=q(ri)(({theme:e})=>({margin:0,borderTopLeftRadius:0,borderTopRightRadius:0,borderBottomLeftRadius:e.appBorderRadius,borderBottomRightRadius:e.appBorderRadius,border:"none",background:e.base==="light"?"rgba(0, 0, 0, 0.85)":$e(.05,e.background.content),color:e.color.lightest,button:{background:e.base==="light"?"rgba(0, 0, 0, 0.85)":$e(.05,e.background.content)}})),u9=q.div(({theme:e,withSource:t,isExpanded:r})=>({position:"relative",overflow:"hidden",margin:"25px 0 40px",...da(e),borderBottomLeftRadius:t&&r&&0,borderBottomRightRadius:t&&r&&0,borderBottomWidth:r&&0,"h3 + &":{marginTop:"16px"}}),({withToolbar:e})=>e&&{paddingTop:40}),i9=(e,t,r)=>{switch(!0){case!!(e&&e.error):return{source:null,actionItem:{title:"No code available",className:"docblock-code-toggle docblock-code-toggle--disabled",disabled:!0,onClick:()=>r(!1)}};case t:return{source:m.createElement(Rm,{...e,dark:!0}),actionItem:{title:"Hide code",className:"docblock-code-toggle docblock-code-toggle--expanded",onClick:()=>r(!1)}};default:return{source:m.createElement(Rm,{...e,dark:!0}),actionItem:{title:"Show code",className:"docblock-code-toggle",onClick:()=>r(!0)}}}};function s9(e){if(Kr.count(e)===1){let t=e;if(t.props)return t.props.id}return null}var l9=q(J4)({position:"absolute",top:0,left:0,right:0,height:40}),c9=q.div({overflow:"hidden",position:"relative"}),Xu=({isLoading:e,isColumn:t,columns:r,children:n,withSource:a,withToolbar:o=!1,isExpanded:u=!1,additionalActions:i,className:s,layout:d="padded",...y})=>{let[A,g]=ne(u),{source:h,actionItem:E}=i9(a,A,g),[b,x]=ne(1),S=[s].concat(["sbdocs","sbdocs-preview","sb-unstyled"]),P=a?[E]:[],[N,$]=ne(i?[...i]:[]),w=[...P,...N],{window:j}=oe,I=ge(async V=>{let{createCopyToClipboardFunction:z}=await Promise.resolve().then(()=>(cr(),vi));z()},[]),U=V=>{let z=j.getSelection();z&&z.type==="Range"||(V.preventDefault(),N.filter(ie=>ie.title==="Copied").length===0&&I(h.props.code).then(()=>{$([...N,{title:"Copied",onClick:()=>{}}]),j.setTimeout(()=>$(N.filter(ie=>ie.title!=="Copied")),1500)}))};return m.createElement(u9,{withSource:a,withToolbar:o,...y,className:S.join(" ")},o&&m.createElement(l9,{isLoading:e,border:!0,zoom:V=>x(b*V),resetZoom:()=>x(1),storyId:s9(n),baseUrl:"./iframe.html"}),m.createElement(Jm.Provider,{value:{scale:b}},m.createElement(c9,{className:"docs-story",onCopyCapture:a&&U},m.createElement(o9,{isColumn:t||!Array.isArray(n),columns:r,layout:d},m.createElement(Ia.Element,{scale:b},Array.isArray(n)?n.map((V,z)=>m.createElement("div",{key:z},V)):m.createElement("div",null,n))),m.createElement(Da,{actionItems:w}))),a&&A&&h)},p9=q(Xu)(()=>({".docs-story":{paddingTop:32,paddingBottom:40}})),d9=()=>m.createElement(p9,{isLoading:!0,withToolbar:!0},m.createElement(ai,null)),f9=q.table(({theme:e})=>({"&&":{borderCollapse:"collapse",borderSpacing:0,border:"none",tr:{border:"none !important",background:"none"},"td, th":{padding:0,border:"none",width:"auto!important"},marginTop:0,marginBottom:0,"th:first-of-type, td:first-of-type":{paddingLeft:0},"th:last-of-type, td:last-of-type":{paddingRight:0},td:{paddingTop:0,paddingBottom:4,"&:not(:first-of-type)":{paddingLeft:10,paddingRight:0}},tbody:{boxShadow:"none",border:"none"},code:Bt({theme:e}),div:{span:{fontWeight:"bold"}},"& code":{margin:0,display:"inline-block",fontSize:e.typography.size.s1}}})),h9=({tags:e})=>{let t=(e.params||[]).filter(o=>o.description),r=t.length!==0,n=e.deprecated!=null,a=e.returns!=null&&e.returns.description!=null;return!r&&!a&&!n?null:m.createElement(m.Fragment,null,m.createElement(f9,null,m.createElement("tbody",null,n&&m.createElement("tr",{key:"deprecated"},m.createElement("td",{colSpan:2},m.createElement("strong",null,"Deprecated"),": ",e.deprecated)),r&&t.map(o=>m.createElement("tr",{key:o.name},m.createElement("td",null,m.createElement("code",null,o.name)),m.createElement("td",null,o.description))),a&&m.createElement("tr",{key:"returns"},m.createElement("td",null,m.createElement("code",null,"Returns")),m.createElement("td",null,e.returns.description)))))},Ju=8,Pm=q.div(({isExpanded:e})=>({display:"flex",flexDirection:e?"column":"row",flexWrap:"wrap",alignItems:"flex-start",marginBottom:"-4px",minWidth:100})),g9=q.span(Bt,({theme:e,simple:t=!1})=>({flex:"0 0 auto",fontFamily:e.typography.fonts.mono,fontSize:e.typography.size.s1,wordBreak:"break-word",whiteSpace:"normal",maxWidth:"100%",margin:0,marginRight:"4px",marginBottom:"4px",paddingTop:"2px",paddingBottom:"2px",lineHeight:"13px",...t&&{background:"transparent",border:"0 none",paddingLeft:0}})),m9=q.button(({theme:e})=>({fontFamily:e.typography.fonts.mono,color:e.color.secondary,marginBottom:"4px",background:"none",border:"none"})),y9=q.div(Bt,({theme:e})=>({fontFamily:e.typography.fonts.mono,color:e.color.secondary,fontSize:e.typography.size.s1,margin:0,whiteSpace:"nowrap",display:"flex",alignItems:"center"})),b9=q.div(({theme:e,width:t})=>({width:t,minWidth:200,maxWidth:800,padding:15,fontFamily:e.typography.fonts.mono,fontSize:e.typography.size.s1,boxSizing:"content-box","& code":{padding:"0 !important"}})),A9=q(Be)({height:10,width:10,minWidth:10,marginLeft:4}),E9=()=>m.createElement("span",null,"-"),Qm=({text:e,simple:t})=>m.createElement(g9,{simple:t},e),D9=(0,Vm.default)(1e3)(e=>{let t=e.split(/\r?\n/);return`${Math.max(...t.map(r=>r.length))}ch`}),v9=e=>{if(!e)return[e];let t=e.split("|").map(r=>r.trim());return(0,Km.default)(t)},Im=(e,t=!0)=>{let r=e;return t||(r=e.slice(0,Ju)),r.map(n=>m.createElement(Qm,{key:n,text:n===""?'""':n}))},C9=({value:e,initialExpandedArgs:t})=>{let{summary:r,detail:n}=e,[a,o]=ne(!1),[u,i]=ne(t||!1);if(r==null)return null;let s=typeof r.toString=="function"?r.toString():r;if(n==null){if(/[(){}[\]<>]/.test(s))return m.createElement(Qm,{text:s});let d=v9(s),y=d.length;return y>Ju?m.createElement(Pm,{isExpanded:u},Im(d,u),m.createElement(m9,{onClick:()=>i(!u)},u?"Show less...":`Show ${y-Ju} more...`)):m.createElement(Pm,null,Im(d))}return m.createElement(Pa,{closeOnOutsideClick:!0,placement:"bottom",visible:a,onVisibleChange:d=>{o(d)},tooltip:m.createElement(b9,{width:D9(n)},m.createElement(Yr,{language:"jsx",format:!1},n))},m.createElement(y9,{className:"sbdocs-expandable"},m.createElement("span",null,s),m.createElement(A9,{icon:a?"arrowup":"arrowdown"})))},Hu=({value:e,initialExpandedArgs:t})=>e==null?m.createElement(E9,null):m.createElement(C9,{value:e,initialExpandedArgs:t}),x9=q.label(({theme:e})=>({lineHeight:"18px",alignItems:"center",marginBottom:8,display:"inline-block",position:"relative",whiteSpace:"nowrap",background:e.boolean.background,borderRadius:"3em",padding:1,input:{appearance:"none",width:"100%",height:"100%",position:"absolute",left:0,top:0,margin:0,padding:0,border:"none",background:"transparent",cursor:"pointer",borderRadius:"3em","&:focus":{outline:"none",boxShadow:`${e.color.secondary} 0 0 0 1px inset !important`}},span:{textAlign:"center",fontSize:e.typography.size.s1,fontWeight:e.typography.weight.bold,lineHeight:"1",cursor:"pointer",display:"inline-block",padding:"7px 15px",transition:"all 100ms ease-out",userSelect:"none",borderRadius:"3em",color:pe(.5,e.color.defaultText),background:"transparent","&:hover":{boxShadow:`${gr(.3,e.appBorderColor)} 0 0 0 1px inset`},"&:active":{boxShadow:`${gr(.05,e.appBorderColor)} 0 0 0 2px inset`,color:gr(1,e.appBorderColor)},"&:first-of-type":{paddingRight:8},"&:last-of-type":{paddingLeft:8}},"input:checked ~ span:last-of-type, input:not(:checked) ~ span:first-of-type":{background:e.boolean.selectedBackground,boxShadow:e.base==="light"?`${gr(.1,e.appBorderColor)} 0 0 2px`:`${e.appBorderColor} 0 0 0 1px`,color:e.color.defaultText,padding:"7px 15px"}})),F9=e=>e==="true",S9=({name:e,value:t,onChange:r,onBlur:n,onFocus:a})=>{let o=ge(()=>r(!1),[r]);if(t===void 0)return m.createElement(we.Button,{id:pr(e),onClick:o},"Set boolean");let u=Te(e),i=typeof t=="string"?F9(t):t;return m.createElement(x9,{htmlFor:u,title:i?"Change to false":"Change to true"},m.createElement("input",{id:u,type:"checkbox",onChange:s=>r(s.target.checked),checked:i,name:e,onBlur:n,onFocus:a}),m.createElement("span",null,"False"),m.createElement("span",null,"True"))},w9=e=>{let[t,r,n]=e.split("-"),a=new Date;return a.setFullYear(parseInt(t,10),parseInt(r,10)-1,parseInt(n,10)),a},B9=e=>{let[t,r]=e.split(":"),n=new Date;return n.setHours(parseInt(t,10)),n.setMinutes(parseInt(r,10)),n},T9=e=>{let t=new Date(e),r=`000${t.getFullYear()}`.slice(-4),n=`0${t.getMonth()+1}`.slice(-2),a=`0${t.getDate()}`.slice(-2);return`${r}-${n}-${a}`},_9=e=>{let t=new Date(e),r=`0${t.getHours()}`.slice(-2),n=`0${t.getMinutes()}`.slice(-2);return`${r}:${n}`},O9=q.div(({theme:e})=>({flex:1,display:"flex",input:{marginLeft:10,flex:1,height:32,"&::-webkit-calendar-picker-indicator":{opacity:.5,height:12,filter:e.base==="light"?void 0:"invert(1)"}},"input:first-of-type":{marginLeft:0,flexGrow:4},"input:last-of-type":{flexGrow:3}})),R9=({name:e,value:t,onChange:r,onFocus:n,onBlur:a})=>{let[o,u]=ne(!0),i=Ce(),s=Ce();me(()=>{o!==!1&&(i&&i.current&&(i.current.value=T9(t)),s&&s.current&&(s.current.value=_9(t)))},[t]);let d=g=>{let h=w9(g.target.value),E=new Date(t);E.setFullYear(h.getFullYear(),h.getMonth(),h.getDate());let b=E.getTime();b&&r(b),u(!!b)},y=g=>{let h=B9(g.target.value),E=new Date(t);E.setHours(h.getHours()),E.setMinutes(h.getMinutes());let b=E.getTime();b&&r(b),u(!!b)},A=Te(e);return m.createElement(O9,null,m.createElement(we.Input,{type:"date",max:"9999-12-31",ref:i,id:`${A}-date`,name:`${A}-date`,onChange:d,onFocus:n,onBlur:a}),m.createElement(we.Input,{type:"time",id:`${A}-time`,name:`${A}-time`,ref:s,onChange:y,onFocus:n,onBlur:a}),o?null:m.createElement("div",null,"invalid"))},P9=q.label({display:"flex"}),I9=e=>{let t=parseFloat(e);return Number.isNaN(t)?void 0:t};var k9=({name:e,value:t,onChange:r,min:n,max:a,step:o,onBlur:u,onFocus:i})=>{let[s,d]=ne(typeof t=="number"?t:""),[y,A]=ne(!1),[g,h]=ne(null),E=ge(S=>{d(S.target.value);let P=parseFloat(S.target.value);Number.isNaN(P)?h(new Error(`'${S.target.value}' is not a number`)):(r(P),h(null))},[r,h]),b=ge(()=>{d("0"),r(0),A(!0)},[A]),x=Ce(null);return me(()=>{y&&x.current&&x.current.select()},[y]),me(()=>{s!==(typeof t=="number"?t:"")&&d(t)},[t]),!y&&t===void 0?m.createElement(we.Button,{id:pr(e),onClick:b},"Set number"):m.createElement(P9,null,m.createElement(we.Input,{ref:x,id:Te(e),type:"number",onChange:E,size:"flex",placeholder:"Edit number...",value:s,valid:g?"error":null,autoFocus:y,name:e,min:n,max:a,step:o,onFocus:i,onBlur:u}))},Zm=(e,t)=>{let r=t&&Object.entries(t).find(([n,a])=>a===e);return r?r[0]:void 0},Qu=(e,t)=>e&&t?Object.entries(t).filter(r=>e.includes(r[1])).map(r=>r[0]):[],ey=(e,t)=>e&&t&&e.map(r=>t[r]),N9=q.div(({isInline:e})=>e?{display:"flex",flexWrap:"wrap",alignItems:"flex-start",label:{display:"inline-flex",marginRight:15}}:{label:{display:"flex"}}),j9=q.span({}),M9=q.label({lineHeight:"20px",alignItems:"center",marginBottom:8,"&:last-child":{marginBottom:0},input:{margin:0,marginRight:6}}),km=({name:e,options:t,value:r,onChange:n,isInline:a})=>{if(!t)return Me.warn(`Checkbox with no options: ${e}`),m.createElement(m.Fragment,null,"-");let o=Qu(r,t),[u,i]=ne(o),s=y=>{let A=y.target.value,g=[...u];g.includes(A)?g.splice(g.indexOf(A),1):g.push(A),n(ey(g,t)),i(g)};me(()=>{i(Qu(r,t))},[r]);let d=Te(e);return m.createElement(N9,{isInline:a},Object.keys(t).map((y,A)=>{let g=`${d}-${A}`;return m.createElement(M9,{key:g,htmlFor:g},m.createElement("input",{type:"checkbox",id:g,name:g,value:y,onChange:s,checked:u?.includes(y)}),m.createElement(j9,null,y))}))},q9=q.div(({isInline:e})=>e?{display:"flex",flexWrap:"wrap",alignItems:"flex-start",label:{display:"inline-flex",marginRight:15}}:{label:{display:"flex"}}),L9=q.span({}),$9=q.label({lineHeight:"20px",alignItems:"center",marginBottom:8,"&:last-child":{marginBottom:0},input:{margin:0,marginRight:6}}),Nm=({name:e,options:t,value:r,onChange:n,isInline:a})=>{if(!t)return Me.warn(`Radio with no options: ${e}`),m.createElement(m.Fragment,null,"-");let o=Zm(r,t),u=Te(e);return m.createElement(q9,{isInline:a},Object.keys(t).map((i,s)=>{let d=`${u}-${s}`;return m.createElement($9,{key:d,htmlFor:d},m.createElement("input",{type:"radio",id:d,name:d,value:i,onChange:y=>n(t[y.currentTarget.value]),checked:i===o}),m.createElement(L9,null,i))}))},U9={appearance:"none",border:"0 none",boxSizing:"inherit",display:" block",margin:" 0",background:"transparent",padding:0,fontSize:"inherit",position:"relative"},ty=q.select(({theme:e})=>({...U9,boxSizing:"border-box",position:"relative",padding:"6px 10px",width:"100%",color:e.input.color||"inherit",background:e.input.background,borderRadius:e.input.borderRadius,boxShadow:`${e.input.border} 0 0 0 1px inset`,fontSize:e.typography.size.s2-1,lineHeight:"20px","&:focus":{boxShadow:`${e.color.secondary} 0 0 0 1px inset`,outline:"none"},"&[disabled]":{cursor:"not-allowed",opacity:.5},"::placeholder":{color:e.textMutedColor},"&[multiple]":{overflow:"auto",padding:0,option:{display:"block",padding:"6px 10px",marginLeft:1,marginRight:1}}})),ry=q.span(({theme:e})=>({display:"inline-block",lineHeight:"normal",overflow:"hidden",position:"relative",verticalAlign:"top",width:"100%",svg:{position:"absolute",zIndex:1,pointerEvents:"none",height:"12px",marginTop:"-6px",right:"12px",top:"50%",fill:e.textMutedColor,path:{fill:e.textMutedColor}}})),jm="Choose option...",z9=({name:e,value:t,options:r,onChange:n})=>{let a=i=>{n(r[i.currentTarget.value])},o=Zm(t,r)||jm,u=Te(e);return m.createElement(ry,null,m.createElement(Be,{icon:"arrowdown"}),m.createElement(ty,{id:u,value:o,onChange:a},m.createElement("option",{key:"no-selection",disabled:!0},jm),Object.keys(r).map(i=>m.createElement("option",{key:i},i))))},H9=({name:e,value:t,options:r,onChange:n})=>{let a=i=>{let s=Array.from(i.currentTarget.options).filter(d=>d.selected).map(d=>d.value);n(ey(s,r))},o=Qu(t,r),u=Te(e);return m.createElement(ry,null,m.createElement(ty,{id:u,multiple:!0,value:o,onChange:a},Object.keys(r).map(i=>m.createElement("option",{key:i},i))))},Mm=e=>{let{name:t,options:r}=e;return r?e.isMulti?m.createElement(H9,{...e}):m.createElement(z9,{...e}):(Me.warn(`Select with no options: ${t}`),m.createElement(m.Fragment,null,"-"))},G9=(e,t)=>Array.isArray(e)?e.reduce((r,n)=>(r[t?.[n]||String(n)]=n,r),{}):e,W9={check:km,"inline-check":km,radio:Nm,"inline-radio":Nm,select:Mm,"multi-select":Mm},ur=e=>{let{type:t="select",labels:r,argType:n}=e,a={...e,options:n?G9(n.options,r):{},isInline:t.includes("inline"),isMulti:t.includes("multi")},o=W9[t];if(o)return m.createElement(o,{...a});throw new Error(`Unknown options type: ${t}`)},oi="value",V9="key",K9="Error",Y9="Object",X9="Array",J9="String",Q9="Number",Z9="Boolean",eR="Date",tR="Null",rR="Undefined",nR="Function",aR="Symbol",ny="ADD_DELTA_TYPE",ay="REMOVE_DELTA_TYPE",oy="UPDATE_DELTA_TYPE";function ft(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&typeof e[Symbol.iterator]=="function"?"Iterable":Object.prototype.toString.call(e).slice(8,-1)}function uy(e,t){let r=ft(e),n=ft(t);return(r==="Function"||n==="Function")&&n!==r}var ui=class extends Je{constructor(e){super(e),this.state={inputRefKey:null,inputRefValue:null},this.refInputValue=this.refInputValue.bind(this),this.refInputKey=this.refInputKey.bind(this),this.onKeydown=this.onKeydown.bind(this),this.onSubmit=this.onSubmit.bind(this)}componentDidMount(){let{inputRefKey:e,inputRefValue:t}=this.state,{onlyValue:r}=this.props;e&&typeof e.focus=="function"&&e.focus(),r&&t&&typeof t.focus=="function"&&t.focus(),document.addEventListener("keydown",this.onKeydown)}componentWillUnmount(){document.removeEventListener("keydown",this.onKeydown)}onKeydown(e){e.altKey||e.ctrlKey||e.metaKey||e.shiftKey||e.repeat||((e.code==="Enter"||e.key==="Enter")&&(e.preventDefault(),this.onSubmit()),(e.code==="Escape"||e.key==="Escape")&&(e.preventDefault(),this.props.handleCancel()))}onSubmit(){let{handleAdd:e,onlyValue:t,onSubmitValueParser:r,keyPath:n,deep:a}=this.props,{inputRefKey:o,inputRefValue:u}=this.state,i={};if(!t){if(!o.value)return;i.key=o.value}i.newValue=r(!1,n,a,i.key,u.value),e(i)}refInputKey(e){this.state.inputRefKey=e}refInputValue(e){this.state.inputRefValue=e}render(){let{handleCancel:e,onlyValue:t,addButtonElement:r,cancelButtonElement:n,inputElementGenerator:a,keyPath:o,deep:u}=this.props,i=he(r,{onClick:this.onSubmit}),s=he(n,{onClick:e}),d=a(oi,o,u),y=he(d,{placeholder:"Value",ref:this.refInputValue}),A=null;if(!t){let g=a(V9,o,u);A=he(g,{placeholder:"Key",ref:this.refInputKey})}return m.createElement("span",{className:"rejt-add-value-node"},A,y,s,i)}};ui.defaultProps={onlyValue:!1,addButtonElement:m.createElement("button",null,"+"),cancelButtonElement:m.createElement("button",null,"c")};var iy=class extends Je{constructor(e){super(e);let t=[...e.keyPath,e.name];this.state={data:e.data,name:e.name,keyPath:t,deep:e.deep,nextDeep:e.deep+1,collapsed:e.isCollapsed(t,e.deep,e.data),addFormVisible:!1},this.handleCollapseMode=this.handleCollapseMode.bind(this),this.handleRemoveItem=this.handleRemoveItem.bind(this),this.handleAddMode=this.handleAddMode.bind(this),this.handleAddValueAdd=this.handleAddValueAdd.bind(this),this.handleAddValueCancel=this.handleAddValueCancel.bind(this),this.handleEditValue=this.handleEditValue.bind(this),this.onChildUpdate=this.onChildUpdate.bind(this),this.renderCollapsed=this.renderCollapsed.bind(this),this.renderNotCollapsed=this.renderNotCollapsed.bind(this)}static getDerivedStateFromProps(e,t){return e.data!==t.data?{data:e.data}:null}onChildUpdate(e,t){let{data:r,keyPath:n}=this.state;r[e]=t,this.setState({data:r});let{onUpdate:a}=this.props,o=n.length;a(n[o-1],r)}handleAddMode(){this.setState({addFormVisible:!0})}handleCollapseMode(){this.setState(e=>({collapsed:!e.collapsed}))}handleRemoveItem(e){return()=>{let{beforeRemoveAction:t,logger:r}=this.props,{data:n,keyPath:a,nextDeep:o}=this.state,u=n[e];t(e,a,o,u).then(()=>{let i={keyPath:a,deep:o,key:e,oldValue:u,type:ay};n.splice(e,1),this.setState({data:n});let{onUpdate:s,onDeltaUpdate:d}=this.props;s(a[a.length-1],n),d(i)}).catch(r.error)}}handleAddValueAdd({newValue:e}){let{data:t,keyPath:r,nextDeep:n}=this.state,{beforeAddAction:a,logger:o}=this.props;a(t.length,r,n,e).then(()=>{let u=[...t,e];this.setState({data:u}),this.handleAddValueCancel();let{onUpdate:i,onDeltaUpdate:s}=this.props;i(r[r.length-1],u),s({type:ny,keyPath:r,deep:n,key:u.length-1,newValue:e})}).catch(o.error)}handleAddValueCancel(){this.setState({addFormVisible:!1})}handleEditValue({key:e,value:t}){return new Promise((r,n)=>{let{beforeUpdateAction:a}=this.props,{data:o,keyPath:u,nextDeep:i}=this.state,s=o[e];a(e,u,i,s,t).then(()=>{o[e]=t,this.setState({data:o});let{onUpdate:d,onDeltaUpdate:y}=this.props;d(u[u.length-1],o),y({type:oy,keyPath:u,deep:i,key:e,newValue:t,oldValue:s}),r(void 0)}).catch(n)})}renderCollapsed(){let{name:e,data:t,keyPath:r,deep:n}=this.state,{handleRemove:a,readOnly:o,getStyle:u,dataType:i,minusMenuElement:s}=this.props,{minus:d,collapsed:y}=u(e,t,r,n,i),A=o(e,t,r,n,i),g=he(s,{onClick:a,className:"rejt-minus-menu",style:d});return m.createElement("span",{className:"rejt-collapsed"},m.createElement("span",{className:"rejt-collapsed-text",style:y,onClick:this.handleCollapseMode},"[...] ",t.length," ",t.length===1?"item":"items"),!A&&g)}renderNotCollapsed(){let{name:e,data:t,keyPath:r,deep:n,addFormVisible:a,nextDeep:o}=this.state,{isCollapsed:u,handleRemove:i,onDeltaUpdate:s,readOnly:d,getStyle:y,dataType:A,addButtonElement:g,cancelButtonElement:h,editButtonElement:E,inputElementGenerator:b,textareaElementGenerator:x,minusMenuElement:S,plusMenuElement:P,beforeRemoveAction:N,beforeAddAction:$,beforeUpdateAction:w,logger:j,onSubmitValueParser:I}=this.props,{minus:U,plus:V,delimiter:z,ul:ie,addForm:Z}=y(e,t,r,n,A),X=d(e,t,r,n,A),O=he(P,{onClick:this.handleAddMode,className:"rejt-plus-menu",style:V}),T=he(S,{onClick:i,className:"rejt-minus-menu",style:U}),M=!0,G="[",Y="]";return m.createElement("span",{className:"rejt-not-collapsed"},m.createElement("span",{className:"rejt-not-collapsed-delimiter",style:z},G),!a&&O,m.createElement("ul",{className:"rejt-not-collapsed-list",style:ie},t.map((K,Q)=>m.createElement(fa,{key:Q,name:`${Q}`,data:K,keyPath:r,deep:o,isCollapsed:u,handleRemove:this.handleRemoveItem(Q),handleUpdateValue:this.handleEditValue,onUpdate:this.onChildUpdate,onDeltaUpdate:s,readOnly:d,getStyle:y,addButtonElement:g,cancelButtonElement:h,editButtonElement:E,inputElementGenerator:b,textareaElementGenerator:x,minusMenuElement:S,plusMenuElement:P,beforeRemoveAction:N,beforeAddAction:$,beforeUpdateAction:w,logger:j,onSubmitValueParser:I}))),!X&&a&&m.createElement("div",{className:"rejt-add-form",style:Z},m.createElement(ui,{handleAdd:this.handleAddValueAdd,handleCancel:this.handleAddValueCancel,onlyValue:M,addButtonElement:g,cancelButtonElement:h,inputElementGenerator:b,keyPath:r,deep:n,onSubmitValueParser:I})),m.createElement("span",{className:"rejt-not-collapsed-delimiter",style:z},Y),!X&&T)}render(){let{name:e,collapsed:t,data:r,keyPath:n,deep:a}=this.state,{dataType:o,getStyle:u}=this.props,i=t?this.renderCollapsed():this.renderNotCollapsed(),s=u(e,r,n,a,o);return m.createElement("div",{className:"rejt-array-node"},m.createElement("span",{onClick:this.handleCollapseMode},m.createElement("span",{className:"rejt-name",style:s.name},e," :"," ")),i)}};iy.defaultProps={keyPath:[],deep:0,minusMenuElement:m.createElement("span",null," - "),plusMenuElement:m.createElement("span",null," + ")};var sy=class extends Je{constructor(e){super(e);let t=[...e.keyPath,e.name];this.state={value:e.value,name:e.name,keyPath:t,deep:e.deep,editEnabled:!1,inputRef:null},this.handleEditMode=this.handleEditMode.bind(this),this.refInput=this.refInput.bind(this),this.handleCancelEdit=this.handleCancelEdit.bind(this),this.handleEdit=this.handleEdit.bind(this),this.onKeydown=this.onKeydown.bind(this)}static getDerivedStateFromProps(e,t){return e.value!==t.value?{value:e.value}:null}componentDidUpdate(){let{editEnabled:e,inputRef:t,name:r,value:n,keyPath:a,deep:o}=this.state,{readOnly:u,dataType:i}=this.props,s=u(r,n,a,o,i);e&&!s&&typeof t.focus=="function"&&t.focus()}componentDidMount(){document.addEventListener("keydown",this.onKeydown)}componentWillUnmount(){document.removeEventListener("keydown",this.onKeydown)}onKeydown(e){e.altKey||e.ctrlKey||e.metaKey||e.shiftKey||e.repeat||((e.code==="Enter"||e.key==="Enter")&&(e.preventDefault(),this.handleEdit()),(e.code==="Escape"||e.key==="Escape")&&(e.preventDefault(),this.handleCancelEdit()))}handleEdit(){let{handleUpdateValue:e,originalValue:t,logger:r,onSubmitValueParser:n,keyPath:a}=this.props,{inputRef:o,name:u,deep:i}=this.state;if(!o)return;let s=n(!0,a,i,u,o.value);e({value:s,key:u}).then(()=>{uy(t,s)||this.handleCancelEdit()}).catch(r.error)}handleEditMode(){this.setState({editEnabled:!0})}refInput(e){this.state.inputRef=e}handleCancelEdit(){this.setState({editEnabled:!1})}render(){let{name:e,value:t,editEnabled:r,keyPath:n,deep:a}=this.state,{handleRemove:o,originalValue:u,readOnly:i,dataType:s,getStyle:d,editButtonElement:y,cancelButtonElement:A,textareaElementGenerator:g,minusMenuElement:h,keyPath:E}=this.props,b=d(e,u,n,a,s),x=null,S=null,P=i(e,u,n,a,s);if(r&&!P){let N=g(oi,E,a,e,u,s),$=he(y,{onClick:this.handleEdit}),w=he(A,{onClick:this.handleCancelEdit}),j=he(N,{ref:this.refInput,defaultValue:u});x=m.createElement("span",{className:"rejt-edit-form",style:b.editForm},j," ",w,$),S=null}else{x=m.createElement("span",{className:"rejt-value",style:b.value,onClick:P?null:this.handleEditMode},t);let N=he(h,{onClick:o,className:"rejt-minus-menu",style:b.minus});S=P?null:N}return m.createElement("li",{className:"rejt-function-value-node",style:b.li},m.createElement("span",{className:"rejt-name",style:b.name},e," :"," "),x,S)}};sy.defaultProps={keyPath:[],deep:0,handleUpdateValue:()=>{},editButtonElement:m.createElement("button",null,"e"),cancelButtonElement:m.createElement("button",null,"c"),minusMenuElement:m.createElement("span",null," - ")};var fa=class extends Je{constructor(e){super(e),this.state={data:e.data,name:e.name,keyPath:e.keyPath,deep:e.deep}}static getDerivedStateFromProps(e,t){return e.data!==t.data?{data:e.data}:null}render(){let{data:e,name:t,keyPath:r,deep:n}=this.state,{isCollapsed:a,handleRemove:o,handleUpdateValue:u,onUpdate:i,onDeltaUpdate:s,readOnly:d,getStyle:y,addButtonElement:A,cancelButtonElement:g,editButtonElement:h,inputElementGenerator:E,textareaElementGenerator:b,minusMenuElement:x,plusMenuElement:S,beforeRemoveAction:P,beforeAddAction:N,beforeUpdateAction:$,logger:w,onSubmitValueParser:j}=this.props,I=()=>!0,U=ft(e);switch(U){case K9:return m.createElement(Zu,{data:e,name:t,isCollapsed:a,keyPath:r,deep:n,handleRemove:o,onUpdate:i,onDeltaUpdate:s,readOnly:I,dataType:U,getStyle:y,addButtonElement:A,cancelButtonElement:g,editButtonElement:h,inputElementGenerator:E,textareaElementGenerator:b,minusMenuElement:x,plusMenuElement:S,beforeRemoveAction:P,beforeAddAction:N,beforeUpdateAction:$,logger:w,onSubmitValueParser:j});case Y9:return m.createElement(Zu,{data:e,name:t,isCollapsed:a,keyPath:r,deep:n,handleRemove:o,onUpdate:i,onDeltaUpdate:s,readOnly:d,dataType:U,getStyle:y,addButtonElement:A,cancelButtonElement:g,editButtonElement:h,inputElementGenerator:E,textareaElementGenerator:b,minusMenuElement:x,plusMenuElement:S,beforeRemoveAction:P,beforeAddAction:N,beforeUpdateAction:$,logger:w,onSubmitValueParser:j});case X9:return m.createElement(iy,{data:e,name:t,isCollapsed:a,keyPath:r,deep:n,handleRemove:o,onUpdate:i,onDeltaUpdate:s,readOnly:d,dataType:U,getStyle:y,addButtonElement:A,cancelButtonElement:g,editButtonElement:h,inputElementGenerator:E,textareaElementGenerator:b,minusMenuElement:x,plusMenuElement:S,beforeRemoveAction:P,beforeAddAction:N,beforeUpdateAction:$,logger:w,onSubmitValueParser:j});case J9:return m.createElement(dt,{name:t,value:`"${e}"`,originalValue:e,keyPath:r,deep:n,handleRemove:o,handleUpdateValue:u,readOnly:d,dataType:U,getStyle:y,cancelButtonElement:g,editButtonElement:h,inputElementGenerator:E,minusMenuElement:x,logger:w,onSubmitValueParser:j});case Q9:return m.createElement(dt,{name:t,value:e,originalValue:e,keyPath:r,deep:n,handleRemove:o,handleUpdateValue:u,readOnly:d,dataType:U,getStyle:y,cancelButtonElement:g,editButtonElement:h,inputElementGenerator:E,minusMenuElement:x,logger:w,onSubmitValueParser:j});case Z9:return m.createElement(dt,{name:t,value:e?"true":"false",originalValue:e,keyPath:r,deep:n,handleRemove:o,handleUpdateValue:u,readOnly:d,dataType:U,getStyle:y,cancelButtonElement:g,editButtonElement:h,inputElementGenerator:E,minusMenuElement:x,logger:w,onSubmitValueParser:j});case eR:return m.createElement(dt,{name:t,value:e.toISOString(),originalValue:e,keyPath:r,deep:n,handleRemove:o,handleUpdateValue:u,readOnly:I,dataType:U,getStyle:y,cancelButtonElement:g,editButtonElement:h,inputElementGenerator:E,minusMenuElement:x,logger:w,onSubmitValueParser:j});case tR:return m.createElement(dt,{name:t,value:"null",originalValue:"null",keyPath:r,deep:n,handleRemove:o,handleUpdateValue:u,readOnly:d,dataType:U,getStyle:y,cancelButtonElement:g,editButtonElement:h,inputElementGenerator:E,minusMenuElement:x,logger:w,onSubmitValueParser:j});case rR:return m.createElement(dt,{name:t,value:"undefined",originalValue:"undefined",keyPath:r,deep:n,handleRemove:o,handleUpdateValue:u,readOnly:d,dataType:U,getStyle:y,cancelButtonElement:g,editButtonElement:h,inputElementGenerator:E,minusMenuElement:x,logger:w,onSubmitValueParser:j});case nR:return m.createElement(sy,{name:t,value:e.toString(),originalValue:e,keyPath:r,deep:n,handleRemove:o,handleUpdateValue:u,readOnly:d,dataType:U,getStyle:y,cancelButtonElement:g,editButtonElement:h,textareaElementGenerator:b,minusMenuElement:x,logger:w,onSubmitValueParser:j});case aR:return m.createElement(dt,{name:t,value:e.toString(),originalValue:e,keyPath:r,deep:n,handleRemove:o,handleUpdateValue:u,readOnly:I,dataType:U,getStyle:y,cancelButtonElement:g,editButtonElement:h,inputElementGenerator:E,minusMenuElement:x,logger:w,onSubmitValueParser:j});default:return null}}};fa.defaultProps={keyPath:[],deep:0};var Zu=class extends Je{constructor(e){super(e);let t=e.deep===-1?[]:[...e.keyPath,e.name];this.state={name:e.name,data:e.data,keyPath:t,deep:e.deep,nextDeep:e.deep+1,collapsed:e.isCollapsed(t,e.deep,e.data),addFormVisible:!1},this.handleCollapseMode=this.handleCollapseMode.bind(this),this.handleRemoveValue=this.handleRemoveValue.bind(this),this.handleAddMode=this.handleAddMode.bind(this),this.handleAddValueAdd=this.handleAddValueAdd.bind(this),this.handleAddValueCancel=this.handleAddValueCancel.bind(this),this.handleEditValue=this.handleEditValue.bind(this),this.onChildUpdate=this.onChildUpdate.bind(this),this.renderCollapsed=this.renderCollapsed.bind(this),this.renderNotCollapsed=this.renderNotCollapsed.bind(this)}static getDerivedStateFromProps(e,t){return e.data!==t.data?{data:e.data}:null}onChildUpdate(e,t){let{data:r,keyPath:n}=this.state;r[e]=t,this.setState({data:r});let{onUpdate:a}=this.props,o=n.length;a(n[o-1],r)}handleAddMode(){this.setState({addFormVisible:!0})}handleAddValueCancel(){this.setState({addFormVisible:!1})}handleAddValueAdd({key:e,newValue:t}){let{data:r,keyPath:n,nextDeep:a}=this.state,{beforeAddAction:o,logger:u}=this.props;o(e,n,a,t).then(()=>{r[e]=t,this.setState({data:r}),this.handleAddValueCancel();let{onUpdate:i,onDeltaUpdate:s}=this.props;i(n[n.length-1],r),s({type:ny,keyPath:n,deep:a,key:e,newValue:t})}).catch(u.error)}handleRemoveValue(e){return()=>{let{beforeRemoveAction:t,logger:r}=this.props,{data:n,keyPath:a,nextDeep:o}=this.state,u=n[e];t(e,a,o,u).then(()=>{let i={keyPath:a,deep:o,key:e,oldValue:u,type:ay};delete n[e],this.setState({data:n});let{onUpdate:s,onDeltaUpdate:d}=this.props;s(a[a.length-1],n),d(i)}).catch(r.error)}}handleCollapseMode(){this.setState(e=>({collapsed:!e.collapsed}))}handleEditValue({key:e,value:t}){return new Promise((r,n)=>{let{beforeUpdateAction:a}=this.props,{data:o,keyPath:u,nextDeep:i}=this.state,s=o[e];a(e,u,i,s,t).then(()=>{o[e]=t,this.setState({data:o});let{onUpdate:d,onDeltaUpdate:y}=this.props;d(u[u.length-1],o),y({type:oy,keyPath:u,deep:i,key:e,newValue:t,oldValue:s}),r()}).catch(n)})}renderCollapsed(){let{name:e,keyPath:t,deep:r,data:n}=this.state,{handleRemove:a,readOnly:o,dataType:u,getStyle:i,minusMenuElement:s}=this.props,{minus:d,collapsed:y}=i(e,n,t,r,u),A=Object.getOwnPropertyNames(n),g=o(e,n,t,r,u),h=he(s,{onClick:a,className:"rejt-minus-menu",style:d});return m.createElement("span",{className:"rejt-collapsed"},m.createElement("span",{className:"rejt-collapsed-text",style:y,onClick:this.handleCollapseMode},"{...}"," ",A.length," ",A.length===1?"key":"keys"),!g&&h)}renderNotCollapsed(){let{name:e,data:t,keyPath:r,deep:n,nextDeep:a,addFormVisible:o}=this.state,{isCollapsed:u,handleRemove:i,onDeltaUpdate:s,readOnly:d,getStyle:y,dataType:A,addButtonElement:g,cancelButtonElement:h,editButtonElement:E,inputElementGenerator:b,textareaElementGenerator:x,minusMenuElement:S,plusMenuElement:P,beforeRemoveAction:N,beforeAddAction:$,beforeUpdateAction:w,logger:j,onSubmitValueParser:I}=this.props,{minus:U,plus:V,addForm:z,ul:ie,delimiter:Z}=y(e,t,r,n,A),X=Object.getOwnPropertyNames(t),O=d(e,t,r,n,A),T=he(P,{onClick:this.handleAddMode,className:"rejt-plus-menu",style:V}),M=he(S,{onClick:i,className:"rejt-minus-menu",style:U}),G=X.map(Q=>m.createElement(fa,{key:Q,name:Q,data:t[Q],keyPath:r,deep:a,isCollapsed:u,handleRemove:this.handleRemoveValue(Q),handleUpdateValue:this.handleEditValue,onUpdate:this.onChildUpdate,onDeltaUpdate:s,readOnly:d,getStyle:y,addButtonElement:g,cancelButtonElement:h,editButtonElement:E,inputElementGenerator:b,textareaElementGenerator:x,minusMenuElement:S,plusMenuElement:P,beforeRemoveAction:N,beforeAddAction:$,beforeUpdateAction:w,logger:j,onSubmitValueParser:I})),Y="{",K="}";return m.createElement("span",{className:"rejt-not-collapsed"},m.createElement("span",{className:"rejt-not-collapsed-delimiter",style:Z},Y),!O&&T,m.createElement("ul",{className:"rejt-not-collapsed-list",style:ie},G),!O&&o&&m.createElement("div",{className:"rejt-add-form",style:z},m.createElement(ui,{handleAdd:this.handleAddValueAdd,handleCancel:this.handleAddValueCancel,addButtonElement:g,cancelButtonElement:h,inputElementGenerator:b,keyPath:r,deep:n,onSubmitValueParser:I})),m.createElement("span",{className:"rejt-not-collapsed-delimiter",style:Z},K),!O&&M)}render(){let{name:e,collapsed:t,data:r,keyPath:n,deep:a}=this.state,{getStyle:o,dataType:u}=this.props,i=t?this.renderCollapsed():this.renderNotCollapsed(),s=o(e,r,n,a,u);return m.createElement("div",{className:"rejt-object-node"},m.createElement("span",{onClick:this.handleCollapseMode},m.createElement("span",{className:"rejt-name",style:s.name},e," :"," ")),i)}};Zu.defaultProps={keyPath:[],deep:0,minusMenuElement:m.createElement("span",null," - "),plusMenuElement:m.createElement("span",null," + ")};var dt=class extends Je{constructor(e){super(e);let t=[...e.keyPath,e.name];this.state={value:e.value,name:e.name,keyPath:t,deep:e.deep,editEnabled:!1,inputRef:null},this.handleEditMode=this.handleEditMode.bind(this),this.refInput=this.refInput.bind(this),this.handleCancelEdit=this.handleCancelEdit.bind(this),this.handleEdit=this.handleEdit.bind(this),this.onKeydown=this.onKeydown.bind(this)}static getDerivedStateFromProps(e,t){return e.value!==t.value?{value:e.value}:null}componentDidUpdate(){let{editEnabled:e,inputRef:t,name:r,value:n,keyPath:a,deep:o}=this.state,{readOnly:u,dataType:i}=this.props,s=u(r,n,a,o,i);e&&!s&&typeof t.focus=="function"&&t.focus()}componentDidMount(){document.addEventListener("keydown",this.onKeydown)}componentWillUnmount(){document.removeEventListener("keydown",this.onKeydown)}onKeydown(e){e.altKey||e.ctrlKey||e.metaKey||e.shiftKey||e.repeat||((e.code==="Enter"||e.key==="Enter")&&(e.preventDefault(),this.handleEdit()),(e.code==="Escape"||e.key==="Escape")&&(e.preventDefault(),this.handleCancelEdit()))}handleEdit(){let{handleUpdateValue:e,originalValue:t,logger:r,onSubmitValueParser:n,keyPath:a}=this.props,{inputRef:o,name:u,deep:i}=this.state;if(!o)return;let s=n(!0,a,i,u,o.value);e({value:s,key:u}).then(()=>{uy(t,s)||this.handleCancelEdit()}).catch(r.error)}handleEditMode(){this.setState({editEnabled:!0})}refInput(e){this.state.inputRef=e}handleCancelEdit(){this.setState({editEnabled:!1})}render(){let{name:e,value:t,editEnabled:r,keyPath:n,deep:a}=this.state,{handleRemove:o,originalValue:u,readOnly:i,dataType:s,getStyle:d,editButtonElement:y,cancelButtonElement:A,inputElementGenerator:g,minusMenuElement:h,keyPath:E}=this.props,b=d(e,u,n,a,s),x=i(e,u,n,a,s),S=r&&!x,P=g(oi,E,a,e,u,s),N=he(y,{onClick:this.handleEdit}),$=he(A,{onClick:this.handleCancelEdit}),w=he(P,{ref:this.refInput,defaultValue:JSON.stringify(u)}),j=he(h,{onClick:o,className:"rejt-minus-menu",style:b.minus});return m.createElement("li",{className:"rejt-value-node",style:b.li},m.createElement("span",{className:"rejt-name",style:b.name},e," : "),S?m.createElement("span",{className:"rejt-edit-form",style:b.editForm},w," ",$,N):m.createElement("span",{className:"rejt-value",style:b.value,onClick:x?null:this.handleEditMode},String(t)),!x&&!S&&j)}};dt.defaultProps={keyPath:[],deep:0,handleUpdateValue:()=>Promise.resolve(),editButtonElement:m.createElement("button",null,"e"),cancelButtonElement:m.createElement("button",null,"c"),minusMenuElement:m.createElement("span",null," - ")};var oR={minus:{color:"red"},plus:{color:"green"},collapsed:{color:"grey"},delimiter:{},ul:{padding:"0px",margin:"0 0 0 25px",listStyle:"none"},name:{color:"#2287CD"},addForm:{}},uR={minus:{color:"red"},plus:{color:"green"},collapsed:{color:"grey"},delimiter:{},ul:{padding:"0px",margin:"0 0 0 25px",listStyle:"none"},name:{color:"#2287CD"},addForm:{}},iR={minus:{color:"red"},editForm:{},value:{color:"#7bba3d"},li:{minHeight:"22px",lineHeight:"22px",outline:"0px"},name:{color:"#2287CD"}};function sR(e){let t=e;if(t.indexOf("function")===0)return(0,eval)(`(${t})`);try{t=JSON.parse(e)}catch{}return t}var ly=class extends Je{constructor(e){super(e),this.state={data:e.data,rootName:e.rootName},this.onUpdate=this.onUpdate.bind(this),this.removeRoot=this.removeRoot.bind(this)}static getDerivedStateFromProps(e,t){return e.data!==t.data||e.rootName!==t.rootName?{data:e.data,rootName:e.rootName}:null}onUpdate(e,t){this.setState({data:t}),this.props.onFullyUpdate(t)}removeRoot(){this.onUpdate(null,null)}render(){let{data:e,rootName:t}=this.state,{isCollapsed:r,onDeltaUpdate:n,readOnly:a,getStyle:o,addButtonElement:u,cancelButtonElement:i,editButtonElement:s,inputElement:d,textareaElement:y,minusMenuElement:A,plusMenuElement:g,beforeRemoveAction:h,beforeAddAction:E,beforeUpdateAction:b,logger:x,onSubmitValueParser:S,fallback:P=null}=this.props,N=ft(e),$=a;ft(a)==="Boolean"&&($=()=>a);let w=d;d&&ft(d)!=="Function"&&(w=()=>d);let j=y;return y&&ft(y)!=="Function"&&(j=()=>y),N==="Object"||N==="Array"?m.createElement("div",{className:"rejt-tree"},m.createElement(fa,{data:e,name:t,deep:-1,isCollapsed:r,onUpdate:this.onUpdate,onDeltaUpdate:n,readOnly:$,getStyle:o,addButtonElement:u,cancelButtonElement:i,editButtonElement:s,inputElementGenerator:w,textareaElementGenerator:j,minusMenuElement:A,plusMenuElement:g,handleRemove:this.removeRoot,beforeRemoveAction:h,beforeAddAction:E,beforeUpdateAction:b,logger:x,onSubmitValueParser:S})):P}};ly.defaultProps={rootName:"root",isCollapsed:(e,t)=>t!==-1,getStyle:(e,t,r,n,a)=>{switch(a){case"Object":case"Error":return oR;case"Array":return uR;default:return iR}},readOnly:()=>!1,onFullyUpdate:()=>{},onDeltaUpdate:()=>{},beforeRemoveAction:()=>Promise.resolve(),beforeAddAction:()=>Promise.resolve(),beforeUpdateAction:()=>Promise.resolve(),logger:{error:()=>{}},onSubmitValueParser:(e,t,r,n,a)=>sR(a),inputElement:()=>m.createElement("input",null),textareaElement:()=>m.createElement("textarea",null),fallback:null};var{window:lR}=oe,cR=q.div(({theme:e})=>({position:"relative",display:"flex",".rejt-tree":{marginLeft:"1rem",fontSize:"13px"},".rejt-value-node, .rejt-object-node > .rejt-collapsed, .rejt-array-node > .rejt-collapsed, .rejt-object-node > .rejt-not-collapsed, .rejt-array-node > .rejt-not-collapsed":{"& > svg":{opacity:0,transition:"opacity 0.2s"}},".rejt-value-node:hover, .rejt-object-node:hover > .rejt-collapsed, .rejt-array-node:hover > .rejt-collapsed, .rejt-object-node:hover > .rejt-not-collapsed, .rejt-array-node:hover > .rejt-not-collapsed":{"& > svg":{opacity:1}},".rejt-edit-form button":{display:"none"},".rejt-add-form":{marginLeft:10},".rejt-add-value-node":{display:"inline-flex",alignItems:"center"},".rejt-name":{lineHeight:"22px"},".rejt-not-collapsed-delimiter":{lineHeight:"22px"},".rejt-plus-menu":{marginLeft:5},".rejt-object-node > span > *, .rejt-array-node > span > *":{position:"relative",zIndex:2},".rejt-object-node, .rejt-array-node":{position:"relative"},".rejt-object-node > span:first-of-type::after, .rejt-array-node > span:first-of-type::after, .rejt-collapsed::before, .rejt-not-collapsed::before":{content:'""',position:"absolute",top:0,display:"block",width:"100%",marginLeft:"-1rem",padding:"0 4px 0 1rem",height:22},".rejt-collapsed::before, .rejt-not-collapsed::before":{zIndex:1,background:"transparent",borderRadius:4,transition:"background 0.2s",pointerEvents:"none",opacity:.1},".rejt-object-node:hover, .rejt-array-node:hover":{"& > .rejt-collapsed::before, & > .rejt-not-collapsed::before":{background:e.color.secondary}},".rejt-collapsed::after, .rejt-not-collapsed::after":{content:'""',position:"absolute",display:"inline-block",pointerEvents:"none",width:0,height:0},".rejt-collapsed::after":{left:-8,top:8,borderTop:"3px solid transparent",borderBottom:"3px solid transparent",borderLeft:"3px solid rgba(153,153,153,0.6)"},".rejt-not-collapsed::after":{left:-10,top:10,borderTop:"3px solid rgba(153,153,153,0.6)",borderLeft:"3px solid transparent",borderRight:"3px solid transparent"},".rejt-value":{display:"inline-block",border:"1px solid transparent",borderRadius:4,margin:"1px 0",padding:"0 4px",cursor:"text",color:e.color.defaultText},".rejt-value-node:hover > .rejt-value":{background:e.color.lighter,borderColor:e.appBorderColor}})),Gu=q.button(({theme:e,primary:t})=>({border:0,height:20,margin:1,borderRadius:4,background:t?e.color.secondary:"transparent",color:t?e.color.lightest:e.color.dark,fontWeight:t?"bold":"normal",cursor:"pointer",order:t?"initial":9})),qm=q(Be)(({theme:e,icon:t,disabled:r})=>({display:"inline-block",verticalAlign:"middle",width:15,height:15,padding:3,marginLeft:5,cursor:r?"not-allowed":"pointer",color:e.textMutedColor,"&:hover":r?{}:{color:t==="subtract"?e.color.negative:e.color.ancillary},"svg + &":{marginLeft:0}})),Lm=q.input(({theme:e,placeholder:t})=>({outline:0,margin:t?1:"1px 0",padding:"3px 4px",color:e.color.defaultText,background:e.background.app,border:`1px solid ${e.appBorderColor}`,borderRadius:4,lineHeight:"14px",width:t==="Key"?80:120,"&:focus":{border:`1px solid ${e.color.secondary}`}})),pR=q(ht)(({theme:e})=>({position:"absolute",zIndex:2,top:2,right:2,height:21,padding:"0 3px",background:e.background.bar,border:`1px solid ${e.appBorderColor}`,borderRadius:3,color:e.textMutedColor,fontSize:"9px",fontWeight:"bold",textDecoration:"none",span:{marginLeft:3,marginTop:1}})),dR=q(we.Textarea)(({theme:e})=>({flex:1,padding:"7px 6px",fontFamily:e.typography.fonts.mono,fontSize:"12px",lineHeight:"18px","&::placeholder":{fontFamily:e.typography.fonts.base,fontSize:"13px"},"&:placeholder-shown":{padding:"7px 10px"}})),fR={bubbles:!0,cancelable:!0,key:"Enter",code:"Enter",keyCode:13},hR=e=>{e.currentTarget.dispatchEvent(new lR.KeyboardEvent("keydown",fR))},gR=e=>{e.currentTarget.select()},mR=e=>()=>({name:{color:e.color.secondary},collapsed:{color:e.color.dark},ul:{listStyle:"none",margin:"0 0 0 1rem",padding:0},li:{outline:0}}),$m=({name:e,value:t,onChange:r})=>{let n=Si(),a=rt(()=>t&&(0,Ym.default)(t),[t]),o=a!=null,[u,i]=ne(!o),[s,d]=ne(null),y=ge(x=>{try{x&&r(JSON.parse(x)),d(void 0)}catch(S){d(S)}},[r]),[A,g]=ne(!1),h=ge(()=>{r({}),g(!0)},[g]),E=Ce(null);if(me(()=>{A&&E.current&&E.current.select()},[A]),!o)return m.createElement(we.Button,{id:pr(e),onClick:h},"Set object");let b=m.createElement(dR,{ref:E,id:Te(e),name:e,defaultValue:t===null?"":JSON.stringify(t,null,2),onBlur:x=>y(x.target.value),placeholder:"Edit JSON string...",autoFocus:A,valid:s?"error":null});return m.createElement(cR,null,["Object","Array"].includes(ft(a))&&m.createElement(pR,{href:"#",onClick:x=>{x.preventDefault(),i(S=>!S)}},m.createElement(Be,{icon:u?"eyeclose":"eye"}),m.createElement("span",null,"RAW")),u?b:m.createElement(ly,{data:a,rootName:e,onFullyUpdate:r,getStyle:mR(n),cancelButtonElement:m.createElement(Gu,{type:"button"},"Cancel"),editButtonElement:m.createElement(Gu,{type:"submit"},"Save"),addButtonElement:m.createElement(Gu,{type:"submit",primary:!0},"Save"),plusMenuElement:m.createElement(qm,{icon:"add"}),minusMenuElement:m.createElement(qm,{icon:"subtract"}),inputElement:(x,S,P,N)=>N?m.createElement(Lm,{onFocus:gR,onBlur:hR}):m.createElement(Lm,null),fallback:b}))},yR=q.input(({theme:e,min:t,max:r,value:n})=>({"&":{width:"100%",backgroundColor:"transparent",appearance:"none"},"&::-webkit-slider-runnable-track":{background:e.base==="light"?`linear-gradient(to right, + ${e.color.green} 0%, ${e.color.green} ${(n-t)/(r-t)*100}%, + ${$e(.02,e.input.background)} ${(n-t)/(r-t)*100}%, + ${$e(.02,e.input.background)} 100%)`:`linear-gradient(to right, + ${e.color.green} 0%, ${e.color.green} ${(n-t)/(r-t)*100}%, + ${ot(.02,e.input.background)} ${(n-t)/(r-t)*100}%, + ${ot(.02,e.input.background)} 100%)`,boxShadow:`${e.appBorderColor} 0 0 0 1px inset`,borderRadius:6,width:"100%",height:6,cursor:"pointer"},"&::-webkit-slider-thumb":{marginTop:"-6px",width:16,height:16,border:`1px solid ${Le(e.appBorderColor,.2)}`,borderRadius:"50px",boxShadow:`0 1px 3px 0px ${Le(e.appBorderColor,.2)}`,cursor:"grab",appearance:"none",background:`${e.input.background}`,transition:"all 150ms ease-out","&:hover":{background:`${$e(.05,e.input.background)}`,transform:"scale3d(1.1, 1.1, 1.1) translateY(-1px)",transition:"all 50ms ease-out"},"&:active":{background:`${e.input.background}`,transform:"scale3d(1, 1, 1) translateY(0px)",cursor:"grabbing"}},"&:focus":{outline:"none","&::-webkit-slider-runnable-track":{borderColor:Le(e.color.secondary,.4)},"&::-webkit-slider-thumb":{borderColor:e.color.secondary,boxShadow:`0 0px 5px 0px ${e.color.secondary}`}},"&::-moz-range-track":{background:e.base==="light"?`linear-gradient(to right, + ${e.color.green} 0%, ${e.color.green} ${(n-t)/(r-t)*100}%, + ${$e(.02,e.input.background)} ${(n-t)/(r-t)*100}%, + ${$e(.02,e.input.background)} 100%)`:`linear-gradient(to right, + ${e.color.green} 0%, ${e.color.green} ${(n-t)/(r-t)*100}%, + ${ot(.02,e.input.background)} ${(n-t)/(r-t)*100}%, + ${ot(.02,e.input.background)} 100%)`,boxShadow:`${e.appBorderColor} 0 0 0 1px inset`,borderRadius:6,width:"100%",height:6,cursor:"pointer",outline:"none"},"&::-moz-range-thumb":{width:16,height:16,border:`1px solid ${Le(e.appBorderColor,.2)}`,borderRadius:"50px",boxShadow:`0 1px 3px 0px ${Le(e.appBorderColor,.2)}`,cursor:"grab",background:`${e.input.background}`,transition:"all 150ms ease-out","&:hover":{background:`${$e(.05,e.input.background)}`,transform:"scale3d(1.1, 1.1, 1.1) translateY(-1px)",transition:"all 50ms ease-out"},"&:active":{background:`${e.input.background}`,transform:"scale3d(1, 1, 1) translateY(0px)",cursor:"grabbing"}},"&::-ms-track":{background:e.base==="light"?`linear-gradient(to right, + ${e.color.green} 0%, ${e.color.green} ${(n-t)/(r-t)*100}%, + ${$e(.02,e.input.background)} ${(n-t)/(r-t)*100}%, + ${$e(.02,e.input.background)} 100%)`:`linear-gradient(to right, + ${e.color.green} 0%, ${e.color.green} ${(n-t)/(r-t)*100}%, + ${ot(.02,e.input.background)} ${(n-t)/(r-t)*100}%, + ${ot(.02,e.input.background)} 100%)`,boxShadow:`${e.appBorderColor} 0 0 0 1px inset`,color:"transparent",width:"100%",height:"6px",cursor:"pointer"},"&::-ms-fill-lower":{borderRadius:6},"&::-ms-fill-upper":{borderRadius:6},"&::-ms-thumb":{width:16,height:16,background:`${e.input.background}`,border:`1px solid ${Le(e.appBorderColor,.2)}`,borderRadius:50,cursor:"grab",marginTop:0},"@supports (-ms-ime-align:auto)":{"input[type=range]":{margin:"0"}}})),cy=q.span({paddingLeft:5,paddingRight:5,fontSize:12,whiteSpace:"nowrap",fontFeatureSettings:"tnum",fontVariantNumeric:"tabular-nums"}),bR=q(cy)(({numberOFDecimalsPlaces:e,max:t})=>({width:`${e+t.toString().length*2+3}ch`,textAlign:"right",flexShrink:0})),AR=q.div({display:"flex",alignItems:"center",width:"100%"});function ER(e){let t=e.toString().match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return t?Math.max(0,(t[1]?t[1].length:0)-(t[2]?+t[2]:0)):0}var DR=({name:e,value:t,onChange:r,min:n=0,max:a=100,step:o=1,onBlur:u,onFocus:i})=>{let s=A=>{r(I9(A.target.value))},d=t!==void 0,y=rt(()=>ER(o),[o]);return m.createElement(AR,null,m.createElement(cy,null,n),m.createElement(yR,{id:Te(e),type:"range",onChange:s,name:e,value:t,min:n,max:a,step:o,onFocus:i,onBlur:u}),m.createElement(bR,{numberOFDecimalsPlaces:y,max:a},`${d?t.toFixed(y):"--"}`," / ",a))},vR=q.label({display:"flex"}),CR=q.div(({isMaxed:e})=>({marginLeft:"0.75rem",paddingTop:"0.35rem",color:e?"red":void 0})),xR=({name:e,value:t,onChange:r,onFocus:n,onBlur:a,maxLength:o})=>{let u=A=>{r(A.target.value)},[i,s]=ne(!1),d=ge(()=>{r(""),s(!0)},[s]);if(t===void 0)return m.createElement(we.Button,{id:pr(e),onClick:d},"Set string");let y=typeof t=="string";return m.createElement(vR,null,m.createElement(we.Textarea,{id:Te(e),maxLength:o,onChange:u,size:"flex",placeholder:"Edit string...",autoFocus:i,valid:y?null:"error",name:e,value:y?t:"",onFocus:n,onBlur:a}),o&&m.createElement(CR,{isMaxed:t?.length===o},t?.length??0," / ",o))},FR=q(we.Input)({padding:10});function SR(e){e.forEach(t=>{t.startsWith("blob:")&&URL.revokeObjectURL(t)})}var wR=({onChange:e,name:t,accept:r="image/*",value:n})=>{let a=Ce(null);function o(u){if(!u.target.files)return;let i=Array.from(u.target.files).map(s=>URL.createObjectURL(s));e(i),SR(n)}return me(()=>{n==null&&a.current&&(a.current.value=null)},[n,t]),m.createElement(FR,{ref:a,id:Te(t),type:"file",name:t,multiple:!0,onChange:o,accept:r,size:"flex"})},BR=mi(()=>Promise.resolve().then(()=>(Om(),_m))),TR=e=>m.createElement(gi,{fallback:m.createElement("div",null)},m.createElement(BR,{...e})),_R={array:$m,object:$m,boolean:S9,color:TR,date:R9,number:k9,check:ur,"inline-check":ur,radio:ur,"inline-radio":ur,select:ur,"multi-select":ur,range:DR,text:xR,file:wR},Um=()=>m.createElement(m.Fragment,null,"-"),OR=({row:e,arg:t,updateArgs:r})=>{let{key:n,control:a}=e,[o,u]=ne(!1),[i,s]=ne({value:t});me(()=>{o||s({value:t})},[o,t]);let d=ge(E=>(s({value:E}),r({[n]:E}),E),[r,n]),y=ge(()=>u(!1),[]),A=ge(()=>u(!0),[]);if(!a||a.disable)return m.createElement(Um,null);let g={name:n,argType:e,value:i.value,onChange:d,onBlur:y,onFocus:A},h=_R[a.type]||Um;return m.createElement(h,{...g,...a,controlType:a.type})},RR=q.span({fontWeight:"bold"}),PR=q.span(({theme:e})=>({color:e.color.negative,fontFamily:e.typography.fonts.mono,cursor:"help"})),IR=q.div(({theme:e})=>({"&&":{p:{margin:"0 0 10px 0"},a:{color:e.color.secondary}},code:{...Bt({theme:e}),fontSize:12,fontFamily:e.typography.fonts.mono},"& code":{margin:0,display:"inline-block"},"& pre > code":{whiteSpace:"pre-wrap"}})),kR=q.div(({theme:e,hasDescription:t})=>({color:e.base==="light"?pe(.1,e.color.defaultText):pe(.2,e.color.defaultText),marginTop:t?4:0})),NR=q.div(({theme:e,hasDescription:t})=>({color:e.base==="light"?pe(.1,e.color.defaultText):pe(.2,e.color.defaultText),marginTop:t?12:0,marginBottom:12})),jR=q.td(({theme:e,expandable:t})=>({paddingLeft:t?"40px !important":"20px !important"})),ca=e=>{let{row:t,updateArgs:r,compact:n,expandable:a,initialExpandedArgs:o}=e,{name:u,description:i}=t,s=t.table||{},d=s.type||t.type,y=s.defaultValue||t.defaultValue,A=t.type?.required,g=i!=null&&i!=="";return m.createElement("tr",null,m.createElement(jR,{expandable:a},m.createElement(RR,null,u),A?m.createElement(PR,{title:"Required"},"*"):null),n?null:m.createElement("td",null,g&&m.createElement(IR,null,m.createElement(zo,null,i)),s.jsDocTags!=null?m.createElement(m.Fragment,null,m.createElement(NR,{hasDescription:g},m.createElement(Hu,{value:d,initialExpandedArgs:o})),m.createElement(h9,{tags:s.jsDocTags})):m.createElement(kR,{hasDescription:g},m.createElement(Hu,{value:d,initialExpandedArgs:o}))),n?null:m.createElement("td",null,m.createElement(Hu,{value:y,initialExpandedArgs:o})),r?m.createElement("td",null,m.createElement(OR,{...e})):null)},MR=q(Be)(({theme:e})=>({marginRight:8,marginLeft:-10,marginTop:-2,height:12,width:12,color:e.base==="light"?pe(.25,e.color.defaultText):pe(.3,e.color.defaultText),border:"none",display:"inline-block"})),qR=q.span(({theme:e})=>({display:"flex",lineHeight:"20px",alignItems:"center"})),LR=q.td(({theme:e})=>({position:"relative",letterSpacing:"0.35em",textTransform:"uppercase",fontWeight:e.typography.weight.bold,fontSize:e.typography.size.s1-1,color:e.base==="light"?pe(.4,e.color.defaultText):pe(.6,e.color.defaultText),background:`${e.background.app} !important`,"& ~ td":{background:`${e.background.app} !important`}})),$R=q.td(({theme:e})=>({position:"relative",fontWeight:e.typography.weight.bold,fontSize:e.typography.size.s2-1,background:e.background.app})),UR=q.td(()=>({position:"relative"})),zR=q.tr(({theme:e})=>({"&:hover > td":{backgroundColor:`${ot(.005,e.background.app)} !important`,boxShadow:`${e.color.mediumlight} 0 - 1px 0 0 inset`,cursor:"row-resize"}})),zm=q.button(()=>({background:"none",border:"none",padding:"0",font:"inherit",position:"absolute",top:0,bottom:0,left:0,right:0,height:"100%",width:"100%",color:"transparent",cursor:"row-resize !important"})),Wu=({level:e="section",label:t,children:r,initialExpanded:n=!0,colSpan:a=3})=>{let[o,u]=ne(n),i=e==="subsection"?$R:LR,s=r?.length||0,d=e==="subsection"?`${s} item${s!==1?"s":""}`:"",y=o?"arrowdown":"arrowright",A=`${o?"Hide":"Show"} ${e==="subsection"?s:t} item${s!==1?"s":""}`;return m.createElement(m.Fragment,null,m.createElement(zR,{title:A},m.createElement(i,{colSpan:1},m.createElement(zm,{onClick:g=>u(!o),tabIndex:0},A),m.createElement(qR,null,m.createElement(MR,{icon:y}),t)),m.createElement(UR,{colSpan:a-1},m.createElement(zm,{onClick:g=>u(!o),tabIndex:-1,style:{outline:"none"}},A),o?null:d)),o?r:null)},HR=q.table(({theme:e,compact:t,inAddonPanel:r})=>({"&&":{borderSpacing:0,color:e.color.defaultText,"td, th":{padding:0,border:"none",verticalAlign:"top",textOverflow:"ellipsis"},fontSize:e.typography.size.s2-1,lineHeight:"20px",textAlign:"left",width:"100%",marginTop:r?0:25,marginBottom:r?0:40,"thead th:first-of-type, td:first-of-type":{width:"25%"},"th:first-of-type, td:first-of-type":{paddingLeft:20},"th:nth-of-type(2), td:nth-of-type(2)":{...t?null:{width:"35%"}},"td:nth-of-type(3)":{...t?null:{width:"15%"}},"th:last-of-type, td:last-of-type":{paddingRight:20,...t?null:{width:"25%"}},th:{color:e.base==="light"?pe(.25,e.color.defaultText):pe(.45,e.color.defaultText),paddingTop:10,paddingBottom:10,paddingLeft:15,paddingRight:15},td:{paddingTop:"10px",paddingBottom:"10px","&:not(:first-of-type)":{paddingLeft:15,paddingRight:15},"&:last-of-type":{paddingRight:20}},marginLeft:r?0:1,marginRight:r?0:1,tbody:{...r?null:{filter:e.base==="light"?"drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.10))":"drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.20))"},"> tr > *":{background:e.background.content,borderTop:`1px solid ${e.appBorderColor}`},...r?null:{"> tr:first-of-type > *":{borderBlockStart:`1px solid ${e.appBorderColor}`},"> tr:last-of-type > *":{borderBlockEnd:`1px solid ${e.appBorderColor}`},"> tr > *:first-of-type":{borderInlineStart:`1px solid ${e.appBorderColor}`},"> tr > *:last-of-type":{borderInlineEnd:`1px solid ${e.appBorderColor}`},"> tr:first-of-type > td:first-of-type":{borderTopLeftRadius:e.appBorderRadius},"> tr:first-of-type > td:last-of-type":{borderTopRightRadius:e.appBorderRadius},"> tr:last-of-type > td:first-of-type":{borderBottomLeftRadius:e.appBorderRadius},"> tr:last-of-type > td:last-of-type":{borderBottomRightRadius:e.appBorderRadius}}}}}),({isLoading:e,theme:t})=>e?{"th span, td span, td button":{display:"inline",backgroundColor:t.appBorderColor,animation:`${t.animation.glow} 1.5s ease-in-out infinite`,color:"transparent",boxShadow:"none",borderRadius:0}}:{}),GR=q(ht)(({theme:e})=>({color:e.barTextColor,margin:"-4px -12px -4px 0"})),WR=q.span({display:"flex",justifyContent:"space-between"}),VR={alpha:(e,t)=>e.name.localeCompare(t.name),requiredFirst:(e,t)=>+!!t.type?.required-+!!e.type?.required||e.name.localeCompare(t.name),none:void 0},Vu=e=>({key:e,name:"propertyName",description:"This is a short description",control:{type:"text"},table:{type:{summary:"summary"},defaultValue:{summary:"defaultValue"}}}),KR={rows:{row1:Vu("row1"),row2:Vu("row2"),row3:Vu("row3")}},YR=(e,t)=>{let r={ungrouped:[],ungroupedSubsections:{},sections:{}};if(!e)return r;Object.entries(e).forEach(([o,u])=>{let{category:i,subcategory:s}=u?.table||{};if(i){let d=r.sections[i]||{ungrouped:[],subsections:{}};if(!s)d.ungrouped.push({key:o,...u});else{let y=d.subsections[s]||[];y.push({key:o,...u}),d.subsections[s]=y}r.sections[i]=d}else if(s){let d=r.ungroupedSubsections[s]||[];d.push({key:o,...u}),r.ungroupedSubsections[s]=d}else r.ungrouped.push({key:o,...u})});let n=VR[t],a=o=>n?Object.keys(o).reduce((u,i)=>({...u,[i]:o[i].sort(n)}),{}):o;return{ungrouped:r.ungrouped.sort(n),ungroupedSubsections:a(r.ungroupedSubsections),sections:Object.keys(r.sections).reduce((o,u)=>({...o,[u]:{ungrouped:r.sections[u].ungrouped.sort(n),subsections:a(r.sections[u].subsections)}}),{})}},XR=(e,t,r)=>{try{return Io(e,t,r)}catch(n){return Dn.warn(n.message),!1}},St=e=>{if("error"in e)return m.createElement(Ku,null,e.error,"\xA0",m.createElement(lr,{href:"http://storybook.js.org/docs/",target:"_blank",withArrow:!0},"Read the docs"));let{updateArgs:t,resetArgs:r,compact:n,inAddonPanel:a,initialExpandedArgs:o,sort:u="none"}=e,i="isLoading"in e,{rows:s,args:d,globals:y}="rows"in e?e:KR,A=YR((0,Wm.default)(s,b=>!b?.table?.disable&&XR(b,d||{},y||{})),u);if(A.ungrouped.length===0&&Object.entries(A.sections).length===0&&Object.entries(A.ungroupedSubsections).length===0)return m.createElement(Ku,null,"No inputs found for this component.\xA0",m.createElement(lr,{href:"http://storybook.js.org/docs/",target:"_blank",withArrow:!0},"Read the docs"));let g=1;t&&(g+=1),n||(g+=2);let h=Object.keys(A.sections).length>0,E={updateArgs:t,compact:n,inAddonPanel:a,initialExpandedArgs:o};return m.createElement(_a,null,m.createElement(HR,{"aria-hidden":i,compact:n,inAddonPanel:a,isLoading:i,className:"docblock-argstable sb-unstyled"},m.createElement("thead",{className:"docblock-argstable-head"},m.createElement("tr",null,m.createElement("th",null,m.createElement("span",null,"Name")),n?null:m.createElement("th",null,m.createElement("span",null,"Description")),n?null:m.createElement("th",null,m.createElement("span",null,"Default")),t?m.createElement("th",null,m.createElement(WR,null,"Control"," ",!i&&r&&m.createElement(GR,{onClick:()=>r(),title:"Reset controls"},m.createElement(Be,{icon:"undo","aria-hidden":!0})))):null)),m.createElement("tbody",{className:"docblock-argstable-body"},A.ungrouped.map(b=>m.createElement(ca,{key:b.key,row:b,arg:d&&d[b.key],...E})),Object.entries(A.ungroupedSubsections).map(([b,x])=>m.createElement(Wu,{key:b,label:b,level:"subsection",colSpan:g},x.map(S=>m.createElement(ca,{key:S.key,row:S,arg:d&&d[S.key],expandable:h,...E})))),Object.entries(A.sections).map(([b,x])=>m.createElement(Wu,{key:b,label:b,level:"section",colSpan:g},x.ungrouped.map(S=>m.createElement(ca,{key:S.key,row:S,arg:d&&d[S.key],...E})),Object.entries(x.subsections).map(([S,P])=>m.createElement(Wu,{key:S,label:S,level:"subsection",colSpan:g},P.map(N=>m.createElement(ca,{key:N.key,row:N,arg:d&&d[N.key],expandable:h,...E})))))))))},py=({tabs:e,...t})=>{let r=Object.entries(e);return r.length===1?m.createElement(St,{...r[0][1],...t}):m.createElement(Oa,null,r.map(n=>{let[a,o]=n,u=`prop_table_div_${a}`;return m.createElement("div",{key:u,id:u,title:a},({active:i})=>i?m.createElement(St,{key:`prop_table_${a}`,...o,...t}):null)}))},JR=q.div(({theme:e})=>({background:e.background.warning,color:e.color.darkest,padding:"10px 15px",lineHeight:"20px",boxShadow:`${e.appBorderColor} 0 -1px 0 0 inset`})),dy=()=>m.createElement(JR,null,"This story is not configured to handle controls."," ",m.createElement(lr,{href:"https://storybook.js.org/docs/react/essentials/controls",target:"_blank",cancel:!1,withArrow:!0},"Learn how to add controls")),gte=q.div(({theme:e})=>({marginRight:30,fontSize:`${e.typography.size.s1}px`,color:e.base==="light"?pe(.4,e.color.defaultText):pe(.6,e.color.defaultText)})),mte=q.div({overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),yte=q.div({display:"flex",flexDirection:"row",alignItems:"baseline","&:not(:last-child)":{marginBottom:"1rem"}}),bte=q.div(Tt,({theme:e})=>({...da(e),margin:"25px 0 40px",padding:"30px 20px"}));var Ate=q.div(({theme:e})=>({fontWeight:e.typography.weight.bold,color:e.color.defaultText})),Ete=q.div(({theme:e})=>({color:e.base==="light"?pe(.2,e.color.defaultText):pe(.6,e.color.defaultText)})),Dte=q.div({flex:"0 0 30%",lineHeight:"20px",marginTop:5}),vte=q.div(({theme:e})=>({flex:1,textAlign:"center",fontFamily:e.typography.fonts.mono,fontSize:e.typography.size.s1,lineHeight:1,overflow:"hidden",color:e.base==="light"?pe(.4,e.color.defaultText):pe(.6,e.color.defaultText),"> div":{display:"inline-block",overflow:"hidden",maxWidth:"100%",textOverflow:"ellipsis"},span:{display:"block",marginTop:2}})),Cte=q.div({display:"flex",flexDirection:"row"}),xte=q.div(({background:e})=>({position:"relative",flex:1,"&::before":{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:e,content:'""'}})),Fte=q.div(({theme:e})=>({...da(e),display:"flex",flexDirection:"row",height:50,marginBottom:5,overflow:"hidden",backgroundColor:"white",backgroundImage:"repeating-linear-gradient(-45deg, #ccc, #ccc 1px, #fff 1px, #fff 16px)",backgroundClip:"padding-box"})),Ste=q.div({display:"flex",flexDirection:"column",flex:1,position:"relative",marginBottom:30}),wte=q.div({flex:1,display:"flex",flexDirection:"row"}),Bte=q.div({display:"flex",alignItems:"flex-start"}),Tte=q.div({flex:"0 0 30%"}),_te=q.div({flex:1}),Ote=q.div(({theme:e})=>({display:"flex",flexDirection:"row",alignItems:"center",paddingBottom:20,fontWeight:e.typography.weight.bold,color:e.base==="light"?pe(.4,e.color.defaultText):pe(.6,e.color.defaultText)})),Rte=q.div(({theme:e})=>({fontSize:e.typography.size.s2,lineHeight:"20px",display:"flex",flexDirection:"column"}));var Pte=q.div(({theme:e})=>({fontFamily:e.typography.fonts.base,fontSize:e.typography.size.s2,color:e.color.defaultText,marginLeft:10,lineHeight:1.2})),Ite=q.div(({theme:e})=>({...da(e),overflow:"hidden",height:40,width:40,display:"flex",alignItems:"center",justifyContent:"center",flex:"none","> img, > svg":{width:20,height:20}})),kte=q.div({display:"inline-flex",flexDirection:"row",alignItems:"center",flex:"0 1 calc(20% - 10px)",minWidth:120,margin:"0px 10px 30px 0"}),Nte=q.div({display:"flex",flexFlow:"row wrap"});var QR=e=>`anchor--${e}`,ZR=({storyId:e,children:t})=>m.createElement("div",{id:QR(e),className:"sb-anchor"},t);oe&&oe.__DOCS_CONTEXT__===void 0&&(oe.__DOCS_CONTEXT__=sr(null),oe.__DOCS_CONTEXT__.displayName="DocsContext");var Ye=oe?oe.__DOCS_CONTEXT__:sr(null),ii=(e,t)=>Ne(Ye).resolveOf(e,t);var si="^",eP=e=>e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(""),fy=e=>{if(e)return typeof e=="string"?e.includes("-")?eP(e):e:e.__docgenInfo&&e.__docgenInfo.displayName?e.__docgenInfo.displayName:e.name};function hy(e,t){let r=li([e],t);return r&&r[0]}function li(e,t){let[r,n]=ne({});return me(()=>{Promise.all(e.map(async a=>{let o=await t.loadStory(a);n(u=>u[a]===o?u:{...u,[a]:o})}))}),e.map(a=>{if(r[a])return r[a];try{return t.storyById(a)}catch{return null}})}var tP=(e,t)=>{let r=t.getStoryContext(t.storyById()),[n,a]=ne(r.args);me(()=>{let i=s=>{s.storyId===e&&a(s.args)};return t.channel.on(Tn,i),()=>t.channel.off(Tn,i)},[e]);let o=ge(i=>t.channel.emit(_n,{storyId:e,updatedArgs:i}),[e]),u=ge(i=>t.channel.emit(Bn,{storyId:e,argNames:i}),[e]);return[n,o,u]},rP=e=>{let t=e.getStoryContext(e.storyById()),[r,n]=ne(t.globals);return me(()=>{let a=o=>{n(o.globals)};return e.channel.on(wn,a),()=>e.channel.off(wn,a)},[]),[r]},gy=(e,t,r,n)=>{let{extractArgTypes:a}=t.docs||{};if(!a)throw new Error("Args unsupported. See Args documentation for your framework.");let o=a(e);return o=Pr(o,r,n),o},Hm=e=>e&&[si].includes(e),nP=(e={},t)=>{let{of:r}=e,{story:n}=e;if(Hm(r)||Hm(n))return t||null;if(!r)throw new Error("No component found.");return r},ei=(e,t,r,n,a,o)=>({...e,...(0,Xm.default)(t,u=>({rows:gy(u,r,n,a),sort:o}))}),aP=e=>{let t=Ne(Ye),{story:r,component:n,subcomponents:a,showComponent:o,include:u,exclude:i,sort:s}=e;try{let d;switch(r){case si:{d=t.storyById().id;break}default:d=t.storyIdByName(r)}let y=hy(d,t),[A,g,h]=tP(d,t),[E]=rP(t);if(!y)return m.createElement(St,{isLoading:!0,updateArgs:g,resetArgs:h});let b=Pr(y.argTypes,u,i),x=fy(n)||"Story",S={[x]:{rows:b,args:A,globals:E,updateArgs:g,resetArgs:h}},P=b&&Object.values(b).find(N=>!!N?.control);if(P||(g=null,h=null,S={}),n&&(!P||o)&&(S=ei(S,{[x]:n},y.parameters,u,i)),a){if(Array.isArray(a))throw new Error("Unexpected subcomponents array. Expected an object whose keys are tab labels and whose values are components.");S=ei(S,a,y.parameters,u,i)}return m.createElement(py,{tabs:S,sort:s})}catch(d){return m.createElement(St,{error:d.message})}},Gm=e=>{let{components:t,include:r,exclude:n,sort:a,parameters:o}=e,u=ei({},t,o,r,n);return m.createElement(py,{tabs:u,sort:a})},oP=e=>{ye(ve`The ArgsTable doc block is deprecated. Instead use the ArgTypes doc block for static tables or the Controls doc block for tables with controls. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#argstable-block + `);let t=Ne(Ye),r,n,a;try{({parameters:r,component:n,subcomponents:a}=t.storyById())}catch{let{of:h}=e;if("of"in e&&h===void 0)throw new Error("Unexpected `of={undefined}`, did you mistype a CSF file reference?");({projectAnnotations:{parameters:r}}=t.resolveOf(h,["component"]))}let{include:o,exclude:u,components:i,sort:s}=e,{story:d}=e,y=s||r.controls?.sort,A=nP(e,n);if(d)return m.createElement(aP,{...e,component:A,subcomponents:a,sort:y});if(!i&&!a){let h;try{h={rows:gy(A,r,o,u)}}catch(E){h={error:E.message}}return m.createElement(St,{...h,sort:y})}if(i)return m.createElement(Gm,{...e,components:i,sort:y,parameters:r});let g=fy(A);return m.createElement(Gm,{...e,components:{[g]:A,...a},sort:y,parameters:r})};oP.defaultProps={of:si};function uP(e){return Tu(e)}var iP=sr({sources:{}}),sP="--unknown--";var lP=(e=>(e.OPEN="open",e.CLOSED="closed",e.NONE="none",e))(lP||{}),cP=e=>{let t=e.map(r=>r.parameters.docs?.source?.state).filter(Boolean);return t.length===0?"closed":t[0]},pP=(e,t,r)=>{let{sources:n}=r,a=n?.[e];return a?.[uP(t)]||a?.[sP]||{code:""}},dP=({snippet:e,storyContext:t,typeFromProps:r,transformFromProps:n})=>{let{__isArgsStory:a}=t.parameters,o=t.parameters.docs?.source||{},u=r||o.type||zr.AUTO;if(o.code!==void 0)return o.code;let i=u===zr.DYNAMIC||u===zr.AUTO&&e&&a?e:o.originalSource||"";return o.transformSource&&ye(ve`The \`transformSource\` parameter at \`parameters.docs.source.transformSource\` is deprecated, please use \`parameters.docs.source.transform\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block + `),t.parameters.docs?.transformSource&&ye(ve`The \`transformSource\` parameter at \`parameters.docs.transformSource\` is deprecated, please use \`parameters.docs.source.transform\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block + `),t.parameters.jsx?.transformSource&&ye(ve`The \`transformSource\` parameter at \`parameters.jsx.transformSource\` is deprecated, please use \`parameters.docs.source.transform\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block + `),(n??o.transform??o.transformSource??t.parameters.docs?.transformSource??t.parameters.jsx?.transformSource)?.(i,t)||i},my=(e,t,r)=>{let n=e.ids||(e.id?[e.id]:[]),a=li(n,t),o=a,{of:u}=e;if("of"in e&&u===void 0)throw new Error("Unexpected `of={undefined}`, did you mistype a CSF file reference?");if(u)o=[t.resolveOf(u,["story"]).story];else if(o.length===0)try{o=[t.storyById()]}catch{}if(!a.every(Boolean))return{error:"Oh no! The source is not available.",state:"none"};let i=o[0]?.parameters?.docs?.source||{},{code:s}=e,d=e.format??i.format,y=e.language??i.language??"jsx",A=e.dark??i.dark??!1;s||(s=o.map((h,E)=>{if(!h)return"";let b=t.getStoryContext(h),x=e.__forceInitialArgs?b.initialArgs:b.unmappedArgs,S=pP(h.id,x,r);return E===0&&(d=S.format??h.parameters.docs?.source?.format??!1),dP({snippet:S.code,storyContext:{...b,args:x},typeFromProps:e.type,transformFromProps:e.transform})}).join(` + +`));let g=cP(o);return s?{code:s,format:d,language:y,dark:A,state:g}:{error:"Oh no! The source is not available.",state:g}};var yy=(e,t)=>{let{id:r,of:n,meta:a,story:o}=e;if("of"in e&&n===void 0)throw new Error("Unexpected `of={undefined}`, did you mistype a CSF file reference?");if(r)return ye(ve`Referencing stories by \`id\` is deprecated, please use \`of\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#story-block'`),r;let{name:u}=e;return u?(ye(ve`Referencing stories by \`name\` is deprecated, please use \`of\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#story-block'`),t.storyIdByName(u)):(o&&ye(ve`The \`story\` prop is deprecated, please export your stories from CSF files and reference them with \`of={}\`. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#story-block'`),a&&t.referenceMeta(a,!1),t.resolveOf(n||o||"story",["story"]).story.id)},fP=(e,t,r)=>{let{parameters:n={}}=t||{},{docs:a={}}=n,o=a.story||{};if(a.disable)return null;let{inlineStories:u,iframeHeight:i}=a;typeof u<"u"&&ye(ve`The \`docs.inlineStories\` parameter is deprecated, use \`docs.story.inline\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#autodocs-changes' + `);let s=e.inline??o.inline??u??!1;if(typeof i<"u"&&ye(ve`The \`docs.iframeHeight\` parameter is deprecated, use \`docs.story.iframeHeight\` instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#autodocs-changes' + `),s){let y=e.height??o.height,A=e.autoplay??o.autoplay??!1;return{story:t,inline:!0,height:y,autoplay:A,forceInitialArgs:!!e.__forceInitialArgs,primary:!!e.__primary,renderStoryToElement:r.renderStoryToElement}}let d=e.height??o.height??o.iframeHeight??i??"100px";return{story:t,inline:!1,height:d,primary:!!e.__primary}},hP=(e={__forceInitialArgs:!1,__primary:!1})=>{let t=Ne(Ye),r=yy(e,t),n=hy(r,t);if(!n)return m.createElement(ai,null);let a=fP(e,n,t);return a?m.createElement(a9,{...a}):null},gP=({withSource:e,mdxSource:t,children:r,layout:n,...a},o,u)=>{let i=Kr.toArray(r).filter(g=>g.props&&(g.props.id||g.props.name||g.props.of)).map(g=>yy(g.props,o)),s=li(i,o),d=s.some(g=>!g),y=my({...t?{code:decodeURI(t)}:{ids:i},...a.of&&{of:a.of}},o,u);if(e==="none")return{isLoading:d,previewProps:a};let A=n;return Kr.forEach(r,g=>{A||(A=g?.props?.parameters?.layout)}),s.forEach(g=>{A||!g||(A=g?.parameters.layout??g.parameters.docs?.canvas?.layout)}),{isLoading:d,previewProps:{...a,layout:A??"padded",withSource:y,isExpanded:(e||y.state)==="open"}}},mP=e=>{let t=Ne(Ye),r=Ne(iP),{children:n,of:a,source:o}=e;if("of"in e&&a===void 0)throw new Error("Unexpected `of={undefined}`, did you mistype a CSF file reference?");let{isLoading:u,previewProps:i}=gP(e,t,r),s,d,y;try{({story:s}=ii(a||"story",["story"]))}catch(x){n||(y=x)}try{d=my({...o,...a&&{of:a}},t,r)}catch(x){n||(y=x)}if(y)throw y;if(e.withSource&&ye(ve`Setting source state with \`withSource\` is deprecated, please use \`sourceState\` with 'hidden', 'shown' or 'none' instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block + `),e.mdxSource&&ye(ve`Setting source code with \`mdxSource\` is deprecated, please use source={{code: '...'}} instead. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block + `),(e.isColumn!==void 0||e.columns!==void 0)&&ye(ve`\`isColumn\` and \`columns\` props are deprecated as the Canvas block now only supports showing a single story. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block + `),n)return ye(ve`Passing children to Canvas is deprecated, please use the \`of\` prop instead to reference a story. + + Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block + `),u?m.createElement(d9,null):m.createElement(Xu,{...i},n);let A=e.layout??s.parameters.layout??s.parameters.docs?.canvas?.layout??"padded",g=e.withToolbar??s.parameters.docs?.canvas?.withToolbar??!1,h=e.additionalActions??s.parameters.docs?.canvas?.additionalActions,E=e.sourceState??s.parameters.docs?.canvas?.sourceState??"hidden",b=e.className??s.parameters.docs?.canvas?.className;return m.createElement(Xu,{withSource:E==="none"?void 0:d,isExpanded:E==="shown",withToolbar:g,additionalActions:h,className:b,layout:A},m.createElement(hP,{of:a||s.moduleExport,meta:e.meta,...e.story}))};var{document:by}=oe;var yP=({className:e,children:t,...r})=>{if(typeof e!="string"&&(typeof t!="string"||!t.match(/[\n\r]/g)))return m.createElement(Ca,null,t);let n=e&&e.split("-");return m.createElement(ri,{language:n&&n[1]||"plaintext",format:!1,code:t,...r})};function ci(e,t){e.channel.emit(Wf,t)}var ti=ka.a,bP=({hash:e,children:t})=>{let r=Ne(Ye);return m.createElement(ti,{href:e,target:"_self",onClick:n=>{let a=e.substring(1);by.getElementById(a)&&ci(r,e)}},t)},AP=e=>{let{href:t,target:r,children:n,...a}=e,o=Ne(Ye);if(t){if(t.startsWith("#"))return m.createElement(bP,{hash:t},n);if(r!=="_blank"&&!t.startsWith("https://"))return m.createElement(ti,{href:t,onClick:u=>{u.button===0&&!u.altKey&&!u.ctrlKey&&!u.metaKey&&!u.shiftKey&&(u.preventDefault(),ci(o,u.currentTarget.getAttribute("href")))},target:r,...a},n)}return m.createElement(ti,{...e})},Ay=["h1","h2","h3","h4","h5","h6"],EP=Ay.reduce((e,t)=>({...e,[t]:q(t)({"& svg":{position:"relative",top:"-0.1em",visibility:"hidden"},"&:hover svg":{visibility:"visible"}})}),{}),DP=q.a(()=>({float:"left",lineHeight:"inherit",paddingRight:"10px",marginLeft:"-24px",color:"inherit"})),vP=({as:e,id:t,children:r,...n})=>{let a=Ne(Ye),o=EP[e],u=`#${t}`;return m.createElement(o,{id:t,...n},m.createElement(DP,{"aria-hidden":"true",href:u,tabIndex:-1,target:"_self",onClick:i=>{by.getElementById(t)&&ci(a,u)}},m.createElement(Be,{icon:"link"})),r)},pi=e=>{let{as:t,id:r,children:n,...a}=e;if(r)return m.createElement(vP,{as:t,id:r,...a},n);let o=t,{as:u,...i}=e;return m.createElement(o,{...ja(i,t)})},CP=Ay.reduce((e,t)=>({...e,[t]:r=>m.createElement(pi,{as:t,...r})}),{}),xP=e=>{if(!e.children)return null;if(typeof e.children!="string")throw new Error(ve`The Markdown block only accepts children as a single string, but children were of type: '${typeof e.children}' + This is often caused by not wrapping the child in a template string. + + This is invalid: + + # Some heading + A paragraph + + + Instead do: + + {\` + # Some heading + A paragraph + \`} + + `);return m.createElement(zo,{...e,options:{forceBlock:!0,overrides:{code:yP,a:AP,...CP,...e?.options?.overrides},...e?.options}})},FP=(e=>(e.INFO="info",e.NOTES="notes",e.DOCGEN="docgen",e.AUTO="auto",e))(FP||{}),pa="https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#description-block-parametersnotes-and-parametersinfo",SP=e=>e&&(typeof e=="string"?e:ra(e.markdown)||ra(e.text)),wP=e=>e&&(typeof e=="string"?e:ra(e.text)),BP=e=>null,TP=e=>{switch(e.type){case"story":return e.story.parameters.docs?.description?.story||null;case"meta":{let{parameters:t,component:r}=e.preparedMeta;return t.docs?.description?.component||t.docs?.extractComponentDescription?.(r,{component:r,parameters:t})||null}case"component":{let{component:t,projectAnnotations:{parameters:r}}=e;return r.docs?.extractComponentDescription?.(t,{component:t,parameters:r})||null}default:throw new Error(`Unrecognized module type resolved from 'useOf', got: ${e.type}`)}},_P=({type:e,markdown:t,children:r},{storyById:n})=>{let{component:a,parameters:o}=n();if(r||t)return r||t;let{notes:u,info:i,docs:s}=o;(u||i)&&ye(`Using 'parameters.notes' or 'parameters.info' properties to describe stories is deprecated. See ${pa}`);let{extractComponentDescription:d=BP,description:y}=s||{},A=y?.component;if(A)return A;switch(e){case"info":return wP(i);case"notes":return SP(u);case"docgen":case"auto":default:return d(a,{component:a,...o})}},OP=e=>{let{of:t,type:r,markdown:n,children:a}=e;if("of"in e&&t===void 0)throw new Error("Unexpected `of={undefined}`, did you mistype a CSF file reference?");let o=Ne(Ye),u=ii(t||"meta"),i;return r||n||a?i=_P(e,o):i=TP(u),r&&ye(`Manually specifying description type is deprecated. See ${pa}`),n&&ye(`The 'markdown' prop on the Description block is deprecated. See ${pa}`),a&&ye(`The 'children' prop on the Description block is deprecated. See ${pa}`),i?m.createElement(xP,null,i):null},{document:jte,window:Mte}=oe;var RP=({children:e,disableAnchor:t})=>{if(t||typeof e!="string")return m.createElement(wa,null,e);let r=e.toLowerCase().replace(/[^a-z0-9]/gi,"-");return m.createElement(pi,{as:"h3",id:r},e)},PP=({of:e,expanded:t=!0,withToolbar:r=!1,__forceInitialArgs:n=!1,__primary:a=!1})=>{let{story:o}=ii(e||"story",["story"]),u=o.parameters.docs?.canvas?.withToolbar??r;return m.createElement(ZR,{storyId:o.id},t&&m.createElement(m.Fragment,null,m.createElement(RP,null,o.name),m.createElement(OP,{of:e})),m.createElement(mP,{of:e,withToolbar:u,story:{__forceInitialArgs:n,__primary:a},source:{__forceInitialArgs:n}}))};var IP=({children:e,disableAnchor:t,...r})=>{if(t||typeof e!="string")return m.createElement(Sa,null,e);let n=e.toLowerCase().replace(/[^a-z0-9]/gi,"-");return m.createElement(pi,{as:"h2",id:n,...r},e)},kP=q(IP)(({theme:e})=>({fontSize:`${e.typography.size.s2-1}px`,fontWeight:e.typography.weight.bold,lineHeight:"16px",letterSpacing:"0.35em",textTransform:"uppercase",color:e.textMutedColor,border:0,marginBottom:"12px","&:first-of-type":{marginTop:"56px"}})),NP=({title:e,includePrimary:t=!0})=>{let{componentStories:r}=Ne(Ye),n=r().filter(a=>!a.parameters?.docs?.disable);return t||(n=n.slice(1)),!n||n.length===0?null:m.createElement(m.Fragment,null,m.createElement(kP,null,e),n.map(a=>a&&m.createElement(PP,{key:a.id,of:a.moduleExport,expanded:!0,__forceInitialArgs:!0})))};NP.defaultProps={title:"Stories"};var jP=()=>{let[e,t,r]=Ai(),[n]=Ei(),a=Aa(),o=Ea("__isArgsStory",!1),{expanded:u,sort:i,presetColors:s,hideNoControlsWarning:d=!1}=Ea(ma,{}),{path:y}=Di(),A=Object.values(a).some(E=>E?.control),g=!(A&&o)&&!d,h=Object.entries(a).reduce((E,[b,x])=>(x?.control?.type!=="color"||x?.control?.presetColors?E[b]=x:E[b]={...x,control:{...x.control,presetColors:s}},E),{});return m.createElement(m.Fragment,null,g&&m.createElement(dy,null),m.createElement(St,{key:y,compact:!u&&A,rows:h,args:e,globals:n,updateArgs:t,resetArgs:r,inAddonPanel:!0,sort:i}))};function MP(){let e=Aa(),t=Object.values(e).filter(n=>n?.control&&!n?.table?.disable).length,r=t===0?"":` (${t})`;return m.createElement(m.Fragment,null,"Controls",r)}ba.register(ga,e=>{ba.addPanel(ga,{title:m.createElement(MP,null),id:"controls",type:bi.PANEL,paramKey:ma,render:({key:t,active:r})=>!r||!e.getCurrentStoryData()?null:m.createElement(va,{key:t,active:r},m.createElement(jP,null))})}); +}catch(e){ console.error("[Storybook] One of your manager-entries failed: " + import.meta.url, e); } +//# sourceMappingURL=manager-bundle.js.map diff --git a/sb-addons/essentials-controls-0/manager-bundle.js.LEGAL.txt b/sb-addons/essentials-controls-0/manager-bundle.js.LEGAL.txt new file mode 100644 index 00000000..cfea3e72 --- /dev/null +++ b/sb-addons/essentials-controls-0/manager-bundle.js.LEGAL.txt @@ -0,0 +1,18 @@ +Bundled license information: + +telejson/dist/index.mjs: + /*! + * isobject + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + /** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ diff --git a/sb-addons/essentials-controls-0/manager-bundle.js.map b/sb-addons/essentials-controls-0/manager-bundle.js.map new file mode 100644 index 00000000..8e49c299 --- /dev/null +++ b/sb-addons/essentials-controls-0/manager-bundle.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["", "", "", "global-externals:react", "global-externals:@storybook/components", "../../../node_modules/@storybook/blocks/dist/chunk-GWAJ4KRU.mjs", "global-externals:@storybook/theming", "../../../node_modules/lodash/_arrayMap.js", "../../../node_modules/lodash/_listCacheClear.js", "../../../node_modules/lodash/eq.js", "../../../node_modules/lodash/_assocIndexOf.js", "../../../node_modules/lodash/_listCacheDelete.js", "../../../node_modules/lodash/_listCacheGet.js", "../../../node_modules/lodash/_listCacheHas.js", "../../../node_modules/lodash/_listCacheSet.js", "../../../node_modules/lodash/_ListCache.js", "../../../node_modules/lodash/_stackClear.js", "../../../node_modules/lodash/_stackDelete.js", "../../../node_modules/lodash/_stackGet.js", "../../../node_modules/lodash/_stackHas.js", "../../../node_modules/lodash/_freeGlobal.js", "../../../node_modules/lodash/_root.js", "../../../node_modules/lodash/_Symbol.js", "../../../node_modules/lodash/_getRawTag.js", "../../../node_modules/lodash/_objectToString.js", "../../../node_modules/lodash/_baseGetTag.js", "../../../node_modules/lodash/isObject.js", "../../../node_modules/lodash/isFunction.js", "../../../node_modules/lodash/_coreJsData.js", "../../../node_modules/lodash/_isMasked.js", "../../../node_modules/lodash/_toSource.js", "../../../node_modules/lodash/_baseIsNative.js", "../../../node_modules/lodash/_getValue.js", "../../../node_modules/lodash/_getNative.js", "../../../node_modules/lodash/_Map.js", "../../../node_modules/lodash/_nativeCreate.js", "../../../node_modules/lodash/_hashClear.js", "../../../node_modules/lodash/_hashDelete.js", "../../../node_modules/lodash/_hashGet.js", "../../../node_modules/lodash/_hashHas.js", "../../../node_modules/lodash/_hashSet.js", "../../../node_modules/lodash/_Hash.js", "../../../node_modules/lodash/_mapCacheClear.js", "../../../node_modules/lodash/_isKeyable.js", "../../../node_modules/lodash/_getMapData.js", "../../../node_modules/lodash/_mapCacheDelete.js", "../../../node_modules/lodash/_mapCacheGet.js", "../../../node_modules/lodash/_mapCacheHas.js", "../../../node_modules/lodash/_mapCacheSet.js", "../../../node_modules/lodash/_MapCache.js", "../../../node_modules/lodash/_stackSet.js", "../../../node_modules/lodash/_Stack.js", "../../../node_modules/lodash/_setCacheAdd.js", "../../../node_modules/lodash/_setCacheHas.js", "../../../node_modules/lodash/_SetCache.js", "../../../node_modules/lodash/_arraySome.js", "../../../node_modules/lodash/_cacheHas.js", "../../../node_modules/lodash/_equalArrays.js", "../../../node_modules/lodash/_Uint8Array.js", "../../../node_modules/lodash/_mapToArray.js", "../../../node_modules/lodash/_setToArray.js", "../../../node_modules/lodash/_equalByTag.js", "../../../node_modules/lodash/_arrayPush.js", "../../../node_modules/lodash/isArray.js", "../../../node_modules/lodash/_baseGetAllKeys.js", "../../../node_modules/lodash/_arrayFilter.js", "../../../node_modules/lodash/stubArray.js", "../../../node_modules/lodash/_getSymbols.js", "../../../node_modules/lodash/_baseTimes.js", "../../../node_modules/lodash/isObjectLike.js", "../../../node_modules/lodash/_baseIsArguments.js", "../../../node_modules/lodash/isArguments.js", "../../../node_modules/lodash/stubFalse.js", "../../../node_modules/lodash/isBuffer.js", "../../../node_modules/lodash/_isIndex.js", "../../../node_modules/lodash/isLength.js", "../../../node_modules/lodash/_baseIsTypedArray.js", "../../../node_modules/lodash/_baseUnary.js", "../../../node_modules/lodash/_nodeUtil.js", "../../../node_modules/lodash/isTypedArray.js", "../../../node_modules/lodash/_arrayLikeKeys.js", "../../../node_modules/lodash/_isPrototype.js", "../../../node_modules/lodash/_overArg.js", "../../../node_modules/lodash/_nativeKeys.js", "../../../node_modules/lodash/_baseKeys.js", "../../../node_modules/lodash/isArrayLike.js", "../../../node_modules/lodash/keys.js", "../../../node_modules/lodash/_getAllKeys.js", "../../../node_modules/lodash/_equalObjects.js", "../../../node_modules/lodash/_DataView.js", "../../../node_modules/lodash/_Promise.js", "../../../node_modules/lodash/_Set.js", "../../../node_modules/lodash/_WeakMap.js", "../../../node_modules/lodash/_getTag.js", "../../../node_modules/lodash/_baseIsEqualDeep.js", "../../../node_modules/lodash/_baseIsEqual.js", "../../../node_modules/lodash/_baseIsMatch.js", "../../../node_modules/lodash/_isStrictComparable.js", "../../../node_modules/lodash/_getMatchData.js", "../../../node_modules/lodash/_matchesStrictComparable.js", "../../../node_modules/lodash/_baseMatches.js", "../../../node_modules/lodash/isSymbol.js", "../../../node_modules/lodash/_isKey.js", "../../../node_modules/lodash/memoize.js", "../../../node_modules/lodash/_memoizeCapped.js", "../../../node_modules/lodash/_stringToPath.js", "../../../node_modules/lodash/_baseToString.js", "../../../node_modules/lodash/toString.js", "../../../node_modules/lodash/_castPath.js", "../../../node_modules/lodash/_toKey.js", "../../../node_modules/lodash/_baseGet.js", "../../../node_modules/lodash/get.js", "../../../node_modules/lodash/_baseHasIn.js", "../../../node_modules/lodash/_hasPath.js", "../../../node_modules/lodash/hasIn.js", "../../../node_modules/lodash/_baseMatchesProperty.js", "../../../node_modules/lodash/identity.js", "../../../node_modules/lodash/_baseProperty.js", "../../../node_modules/lodash/_basePropertyDeep.js", "../../../node_modules/lodash/property.js", "../../../node_modules/lodash/_baseIteratee.js", "../../../node_modules/lodash/_defineProperty.js", "../../../node_modules/lodash/_baseAssignValue.js", "../../../node_modules/lodash/_assignValue.js", "../../../node_modules/lodash/_baseSet.js", "../../../node_modules/lodash/_basePickBy.js", "../../../node_modules/lodash/_getPrototype.js", "../../../node_modules/lodash/_getSymbolsIn.js", "../../../node_modules/lodash/_nativeKeysIn.js", "../../../node_modules/lodash/_baseKeysIn.js", "../../../node_modules/lodash/keysIn.js", "../../../node_modules/lodash/_getAllKeysIn.js", "../../../node_modules/lodash/pickBy.js", "../../../node_modules/memoizerific/memoizerific.js", "../../../node_modules/lodash/_baseFindIndex.js", "../../../node_modules/lodash/_baseIsNaN.js", "../../../node_modules/lodash/_strictIndexOf.js", "../../../node_modules/lodash/_baseIndexOf.js", "../../../node_modules/lodash/_arrayIncludes.js", "../../../node_modules/lodash/_arrayIncludesWith.js", "../../../node_modules/lodash/noop.js", "../../../node_modules/lodash/_createSet.js", "../../../node_modules/lodash/_baseUniq.js", "../../../node_modules/lodash/uniq.js", "../../../node_modules/lodash/_arrayEach.js", "../../../node_modules/lodash/_copyObject.js", "../../../node_modules/lodash/_baseAssign.js", "../../../node_modules/lodash/_baseAssignIn.js", "../../../node_modules/lodash/_cloneBuffer.js", "../../../node_modules/lodash/_copyArray.js", "../../../node_modules/lodash/_copySymbols.js", "../../../node_modules/lodash/_copySymbolsIn.js", "../../../node_modules/lodash/_initCloneArray.js", "../../../node_modules/lodash/_cloneArrayBuffer.js", "../../../node_modules/lodash/_cloneDataView.js", "../../../node_modules/lodash/_cloneRegExp.js", "../../../node_modules/lodash/_cloneSymbol.js", "../../../node_modules/lodash/_cloneTypedArray.js", "../../../node_modules/lodash/_initCloneByTag.js", "../../../node_modules/lodash/_baseCreate.js", "../../../node_modules/lodash/_initCloneObject.js", "../../../node_modules/lodash/_baseIsMap.js", "../../../node_modules/lodash/isMap.js", "../../../node_modules/lodash/_baseIsSet.js", "../../../node_modules/lodash/isSet.js", "../../../node_modules/lodash/_baseClone.js", "../../../node_modules/lodash/cloneDeep.js", "../../../node_modules/lodash/_createBaseFor.js", "../../../node_modules/lodash/_baseFor.js", "../../../node_modules/lodash/_baseForOwn.js", "../../../node_modules/lodash/mapValues.js", "../../../node_modules/lodash/_basePick.js", "../../../node_modules/lodash/_isFlattenable.js", "../../../node_modules/lodash/_baseFlatten.js", "../../../node_modules/lodash/flatten.js", "../../../node_modules/lodash/_apply.js", "../../../node_modules/lodash/_overRest.js", "../../../node_modules/lodash/constant.js", "../../../node_modules/lodash/_baseSetToString.js", "../../../node_modules/lodash/_shortOut.js", "../../../node_modules/lodash/_setToString.js", "../../../node_modules/lodash/_flatRest.js", "../../../node_modules/lodash/pick.js", "../../../node_modules/synchronous-promise/index.js", "../../../node_modules/lodash/isPlainObject.js", "../../../node_modules/util-deprecate/browser.js", "../../../node_modules/has-symbols/shams.js", "../../../node_modules/has-symbols/index.js", "../../../node_modules/function-bind/implementation.js", "../../../node_modules/function-bind/index.js", "../../../node_modules/has/src/index.js", "../../../node_modules/get-intrinsic/index.js", "../../../node_modules/call-bind/index.js", "../../../node_modules/call-bind/callBound.js", "../../../node_modules/object-inspect/index.js", "../../../node_modules/side-channel/index.js", "../../../node_modules/qs/lib/formats.js", "../../../node_modules/qs/lib/utils.js", "../../../node_modules/qs/lib/stringify.js", "../../../node_modules/qs/lib/parse.js", "../../../node_modules/qs/lib/index.js", "../../../node_modules/esutils/lib/ast.js", "../../../node_modules/esutils/lib/code.js", "../../../node_modules/esutils/lib/keyword.js", "../../../node_modules/esutils/lib/utils.js", "../../../node_modules/doctrine/package.json", "../../../node_modules/browser-assert/lib/assert.js", "../../../node_modules/doctrine/lib/utility.js", "../../../node_modules/doctrine/lib/typed.js", "../../../node_modules/doctrine/lib/doctrine.js", "../../../node_modules/react-colorful/src/hooks/useEventCallback.ts", "../../../node_modules/react-colorful/src/utils/clamp.ts", "../../../node_modules/react-colorful/src/components/common/Interactive.tsx", "../../../node_modules/react-colorful/src/utils/format.ts", "../../../node_modules/react-colorful/src/components/common/Pointer.tsx", "../../../node_modules/react-colorful/src/utils/round.ts", "../../../node_modules/react-colorful/src/utils/convert.ts", "../../../node_modules/react-colorful/src/components/common/Hue.tsx", "../../../node_modules/react-colorful/src/components/common/Saturation.tsx", "../../../node_modules/react-colorful/src/utils/compare.ts", "../../../node_modules/react-colorful/src/hooks/useColorManipulation.ts", "../../../node_modules/react-colorful/src/utils/nonce.ts", "../../../node_modules/react-colorful/src/hooks/useIsomorphicLayoutEffect.ts", "../../../node_modules/react-colorful/src/hooks/useStyleSheet.ts", "../../../node_modules/react-colorful/src/components/common/ColorPicker.tsx", "../../../node_modules/react-colorful/src/components/HexColorPicker.tsx", "../../../node_modules/react-colorful/src/components/common/Alpha.tsx", "../../../node_modules/react-colorful/src/components/common/AlphaColorPicker.tsx", "../../../node_modules/react-colorful/src/components/HexAlphaColorPicker.tsx", "../../../node_modules/react-colorful/src/components/HslaColorPicker.tsx", "../../../node_modules/react-colorful/src/components/HslaStringColorPicker.tsx", "../../../node_modules/react-colorful/src/components/HslColorPicker.tsx", "../../../node_modules/react-colorful/src/components/HslStringColorPicker.tsx", "../../../node_modules/react-colorful/src/components/HsvaColorPicker.tsx", "../../../node_modules/react-colorful/src/components/HsvaStringColorPicker.tsx", "../../../node_modules/react-colorful/src/components/HsvColorPicker.tsx", "../../../node_modules/react-colorful/src/components/HsvStringColorPicker.tsx", "../../../node_modules/react-colorful/src/components/RgbaColorPicker.tsx", "../../../node_modules/react-colorful/src/components/RgbaStringColorPicker.tsx", "../../../node_modules/react-colorful/src/components/RgbColorPicker.tsx", "../../../node_modules/react-colorful/src/components/RgbStringColorPicker.tsx", "../../../node_modules/react-colorful/src/utils/validate.ts", "../../../node_modules/react-colorful/src/components/common/ColorInput.tsx", "../../../node_modules/react-colorful/src/components/HexColorInput.tsx", "../../../node_modules/color-name/index.js", "../../../node_modules/color-convert/conversions.js", "../../../node_modules/color-convert/route.js", "../../../node_modules/color-convert/index.js", "../../../node_modules/lodash/now.js", "../../../node_modules/lodash/_trimmedEndIndex.js", "../../../node_modules/lodash/_baseTrim.js", "../../../node_modules/lodash/toNumber.js", "../../../node_modules/lodash/debounce.js", "../../../node_modules/lodash/throttle.js", "../../../node_modules/@storybook/blocks/dist/Color-3YIJY6X7.mjs", "../../../node_modules/.cache/sb-manager/essentials-controls-0/manager-bundle.js", "../../../node_modules/@storybook/addon-essentials/dist/controls/manager.mjs", "../../../node_modules/@storybook/addon-controls/dist/manager.mjs", "../../../node_modules/@storybook/addon-controls/dist/chunk-I36WBKUI.mjs", "global-externals:@storybook/manager-api", "../../../node_modules/@storybook/blocks/dist/index.mjs", "../../../node_modules/polished/dist/polished.esm.js", "../../../node_modules/@babel/runtime/helpers/esm/extends.js", "../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js", "../../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js", "../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js", "../../../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js", "../../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js", "../../../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js", "../../../node_modules/@babel/runtime/helpers/esm/construct.js", "../../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js", "../../../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js", "../../../node_modules/@storybook/global/dist/index.mjs", "../../../node_modules/@storybook/csf/dist/index.mjs", "global-externals:@storybook/client-logger", "../../../node_modules/markdown-to-jsx/index.tsx", "../../../node_modules/@storybook/preview-api/dist/index.mjs", "../../../node_modules/@storybook/preview-api/dist/chunk-QJXKYECF.mjs", "../../../node_modules/@storybook/preview-api/dist/chunk-PT3VMDW2.mjs", "../../../node_modules/@storybook/preview-api/dist/chunk-67NOWFMX.mjs", "../../../node_modules/@storybook/preview-api/dist/chunk-SPTC5DZG.mjs", "global-externals:@storybook/channels", "global-externals:@storybook/core-events", "../../../node_modules/ts-dedent/src/index.ts", "../../../node_modules/dequal/dist/index.mjs", "../../../node_modules/@storybook/preview-api/dist/chunk-N4YZP2TW.mjs", "../../../node_modules/@storybook/channel-postmessage/dist/index.mjs", "../../../node_modules/telejson/dist/index.mjs", "../../../node_modules/telejson/dist/chunk-465TF3XA.mjs", "../../../node_modules/@storybook/preview-api/dist/chunk-GRRYLBAT.mjs", "../../../node_modules/@storybook/docs-tools/dist/index.mjs"], + "sourcesContent": ["", "", "", "export default __REACT__;\nconst { Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version } = __REACT__;\nexport { Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version };", "export default __STORYBOOKCOMPONENTS__;\nconst { A, ActionBar, AddonPanel, Badge, Bar, Blockquote, Button, Code, DL, Div, DocumentWrapper, ErrorFormatter, FlexBar, Form, H1, H2, H3, H4, H5, H6, HR, IconButton, IconButtonSkeleton, Icons, Img, LI, Link, ListItem, Loader, OL, P, Placeholder, Pre, ResetWrapper, ScrollArea, Separator, Spaced, Span, StorybookIcon, StorybookLogo, Symbols, SyntaxHighlighter, TT, TabBar, TabButton, TabWrapper, Table, Tabs, TabsState, TooltipLinkList, TooltipMessage, TooltipNote, UL, WithTooltip, WithTooltipPure, Zoom, codeCommon, components, createCopyToClipboardFunction, getStoryHref, icons, interleaveSeparators, nameSpaceClassNames, resetComponents, withReset } = __STORYBOOKCOMPONENTS__;\nexport { A, ActionBar, AddonPanel, Badge, Bar, Blockquote, Button, Code, DL, Div, DocumentWrapper, ErrorFormatter, FlexBar, Form, H1, H2, H3, H4, H5, H6, HR, IconButton, IconButtonSkeleton, Icons, Img, LI, Link, ListItem, Loader, OL, P, Placeholder, Pre, ResetWrapper, ScrollArea, Separator, Spaced, Span, StorybookIcon, StorybookLogo, Symbols, SyntaxHighlighter, TT, TabBar, TabButton, TabWrapper, Table, Tabs, TabsState, TooltipLinkList, TooltipMessage, TooltipNote, UL, WithTooltip, WithTooltipPure, Zoom, codeCommon, components, createCopyToClipboardFunction, getStoryHref, icons, interleaveSeparators, nameSpaceClassNames, resetComponents, withReset };", "var getControlId=value=>`control-${value.replace(/\\s+/g,\"-\")}`,getControlSetterButtonId=value=>`set-${value.replace(/\\s+/g,\"-\")}`;\n\nexport { getControlId, getControlSetterButtonId };\n", "export default __STORYBOOKTHEMING__;\nconst { CacheProvider, ClassNames, Global, ThemeProvider, background, color, convert, create, createCache, createGlobal, createReset, css, darken, ensure, ignoreSsrWarning, isPropValid, jsx, keyframes, lighten, styled, themes, typography, useTheme, withTheme } = __STORYBOOKTHEMING__;\nexport { CacheProvider, ClassNames, Global, ThemeProvider, background, color, convert, create, createCache, createGlobal, createReset, css, darken, ensure, ignoreSsrWarning, isPropValid, jsx, keyframes, lighten, styled, themes, typography, useTheme, withTheme };", "/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n", "/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n", "/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n", "var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n", "var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n", "var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n", "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n", "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n", "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n", "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n", "var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n", "var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n", "var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n", "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n", "var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n", "/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n", "var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n", "var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n", "var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n", "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n", "var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n", "/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n", "var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n", "var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n", "var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n", "/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n", "var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n", "var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n", "/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n", "var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n", "var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n", "var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n", "var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n", "var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n", "var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n", "var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n", "var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n", "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n", "/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n", "var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n", "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n", "/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n", "var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n", "var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n", "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n", "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n", "var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n", "/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n", "/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n", "var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n", "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n", "/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n", "var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n", "/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n", "/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n", "var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n", "/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n", "var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n", "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n", "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n", "var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n", "/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n", "var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n", "var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n", "var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n", "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n", "/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n", "var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n", "var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n", "var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n", "var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n", "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n", "var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n", "var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n", "var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n", "var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n", "var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n", "var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n", "var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n", "/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n", "var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n", "var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n", "var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n", "var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n", "var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n", "var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n", "var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n", "var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n", "var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n", "var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n", "var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n", "/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n", "var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n", "var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n", "var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n", "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n", "/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n", "var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n", "var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n", "var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n", "var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n", "var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n", "var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n", "var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n", "var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n", "var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n", "var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n", "/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n", "var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n", "var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n", "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n", "var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n basePickBy = require('./_basePickBy'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nmodule.exports = pickBy;\n", "(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.memoizerific = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= 0) {\n\t\tthis.lastItem = this.list[index];\n\t\treturn this.list[index].val;\n\t}\n\n\treturn undefined;\n};\n\nSimilar.prototype.set = function(key, val) {\n\tvar index;\n\n\tif (this.lastItem && this.isEqual(this.lastItem.key, key)) {\n\t\tthis.lastItem.val = val;\n\t\treturn this;\n\t}\n\n\tindex = this.indexOf(key);\n\tif (index >= 0) {\n\t\tthis.lastItem = this.list[index];\n\t\tthis.list[index].val = val;\n\t\treturn this;\n\t}\n\n\tthis.lastItem = { key: key, val: val };\n\tthis.list.push(this.lastItem);\n\tthis.size++;\n\n\treturn this;\n};\n\nSimilar.prototype.delete = function(key) {\n\tvar index;\n\n\tif (this.lastItem && this.isEqual(this.lastItem.key, key)) {\n\t\tthis.lastItem = undefined;\n\t}\n\n\tindex = this.indexOf(key);\n\tif (index >= 0) {\n\t\tthis.size--;\n\t\treturn this.list.splice(index, 1)[0];\n\t}\n\n\treturn undefined;\n};\n\n\n// important that has() doesn't use get() in case an existing key has a falsy value, in which case has() would return false\nSimilar.prototype.has = function(key) {\n\tvar index;\n\n\tif (this.lastItem && this.isEqual(this.lastItem.key, key)) {\n\t\treturn true;\n\t}\n\n\tindex = this.indexOf(key);\n\tif (index >= 0) {\n\t\tthis.lastItem = this.list[index];\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\nSimilar.prototype.forEach = function(callback, thisArg) {\n\tvar i;\n\tfor (i = 0; i < this.size; i++) {\n\t\tcallback.call(thisArg || this, this.list[i].val, this.list[i].key, this);\n\t}\n};\n\nSimilar.prototype.indexOf = function(key) {\n\tvar i;\n\tfor (i = 0; i < this.size; i++) {\n\t\tif (this.isEqual(this.list[i].key, key)) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n// check if the numbers are equal, or whether they are both precisely NaN (isNaN returns true for all non-numbers)\nSimilar.prototype.isEqual = function(val1, val2) {\n\treturn val1 === val2 || (val1 !== val1 && val2 !== val2);\n};\n\nmodule.exports = Similar;\n},{}],3:[function(_dereq_,module,exports){\nvar MapOrSimilar = _dereq_('map-or-similar');\n\nmodule.exports = function (limit) {\n\tvar cache = new MapOrSimilar(undefined === 'true'),\n\t\tlru = [];\n\n\treturn function (fn) {\n\t\tvar memoizerific = function () {\n\t\t\tvar currentCache = cache,\n\t\t\t\tnewMap,\n\t\t\t\tfnResult,\n\t\t\t\targsLengthMinusOne = arguments.length - 1,\n\t\t\t\tlruPath = Array(argsLengthMinusOne + 1),\n\t\t\t\tisMemoized = true,\n\t\t\t\ti;\n\n\t\t\tif ((memoizerific.numArgs || memoizerific.numArgs === 0) && memoizerific.numArgs !== argsLengthMinusOne + 1) {\n\t\t\t\tthrow new Error('Memoizerific functions should always be called with the same number of arguments');\n\t\t\t}\n\n\t\t\t// loop through each argument to traverse the map tree\n\t\t\tfor (i = 0; i < argsLengthMinusOne; i++) {\n\t\t\t\tlruPath[i] = {\n\t\t\t\t\tcacheItem: currentCache,\n\t\t\t\t\targ: arguments[i]\n\t\t\t\t};\n\n\t\t\t\t// climb through the hierarchical map tree until the second-last argument has been found, or an argument is missing.\n\t\t\t\t// if all arguments up to the second-last have been found, this will potentially be a cache hit (determined later)\n\t\t\t\tif (currentCache.has(arguments[i])) {\n\t\t\t\t\tcurrentCache = currentCache.get(arguments[i]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tisMemoized = false;\n\n\t\t\t\t// make maps until last value\n\t\t\t\tnewMap = new MapOrSimilar(undefined === 'true');\n\t\t\t\tcurrentCache.set(arguments[i], newMap);\n\t\t\t\tcurrentCache = newMap;\n\t\t\t}\n\n\t\t\t// we are at the last arg, check if it is really memoized\n\t\t\tif (isMemoized) {\n\t\t\t\tif (currentCache.has(arguments[argsLengthMinusOne])) {\n\t\t\t\t\tfnResult = currentCache.get(arguments[argsLengthMinusOne]);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tisMemoized = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!isMemoized) {\n\t\t\t\tfnResult = fn.apply(null, arguments);\n\t\t\t\tcurrentCache.set(arguments[argsLengthMinusOne], fnResult);\n\t\t\t}\n\n\t\t\tif (limit > 0) {\n\t\t\t\tlruPath[argsLengthMinusOne] = {\n\t\t\t\t\tcacheItem: currentCache,\n\t\t\t\t\targ: arguments[argsLengthMinusOne]\n\t\t\t\t};\n\n\t\t\t\tif (isMemoized) {\n\t\t\t\t\tmoveToMostRecentLru(lru, lruPath);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlru.push(lruPath);\n\t\t\t\t}\n\n\t\t\t\tif (lru.length > limit) {\n\t\t\t\t\tremoveCachedResult(lru.shift());\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tmemoizerific.wasMemoized = isMemoized;\n\t\t\tmemoizerific.numArgs = argsLengthMinusOne + 1;\n\n\t\t\treturn fnResult;\n\t\t};\n\n\t\tmemoizerific.limit = limit;\n\t\tmemoizerific.wasMemoized = false;\n\t\tmemoizerific.cache = cache;\n\t\tmemoizerific.lru = lru;\n\n\t\treturn memoizerific;\n\t};\n};\n\n// move current args to most recent position\nfunction moveToMostRecentLru(lru, lruPath) {\n\tvar lruLen = lru.length,\n\t\tlruPathLen = lruPath.length,\n\t\tisMatch,\n\t\ti, ii;\n\n\tfor (i = 0; i < lruLen; i++) {\n\t\tisMatch = true;\n\t\tfor (ii = 0; ii < lruPathLen; ii++) {\n\t\t\tif (!isEqual(lru[i][ii].arg, lruPath[ii].arg)) {\n\t\t\t\tisMatch = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (isMatch) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tlru.push(lru.splice(i, 1)[0]);\n}\n\n// remove least recently used cache item and all dead branches\nfunction removeCachedResult(removedLru) {\n\tvar removedLruLen = removedLru.length,\n\t\tcurrentLru = removedLru[removedLruLen - 1],\n\t\ttmp,\n\t\ti;\n\n\tcurrentLru.cacheItem.delete(currentLru.arg);\n\n\t// walk down the tree removing dead branches (size 0) along the way\n\tfor (i = removedLruLen - 2; i >= 0; i--) {\n\t\tcurrentLru = removedLru[i];\n\t\ttmp = currentLru.cacheItem.get(currentLru.arg);\n\n\t\tif (!tmp || !tmp.size) {\n\t\t\tcurrentLru.cacheItem.delete(currentLru.arg);\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n// check if the numbers are equal, or whether they are both precisely NaN (isNaN returns true for all non-numbers)\nfunction isEqual(val1, val2) {\n\treturn val1 === val2 || (val1 !== val1 && val2 !== val2);\n}\n},{\"map-or-similar\":1}]},{},[3])(3)\n});", "/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n", "/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n", "/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n", "var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n", "var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n", "/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n", "/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n", "var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n", "var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n", "var baseUniq = require('./_baseUniq');\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n}\n\nmodule.exports = uniq;\n", "/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n", "var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n", "var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n", "var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n", "var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n", "/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n", "var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n", "var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n", "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n", "var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n", "var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n", "/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n", "var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n", "var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n", "var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n", "var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n", "var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n", "var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n", "var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n", "var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n", "var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n", "var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n", "var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n", "/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n", "var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n", "var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n", "var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nmodule.exports = mapValues;\n", "var basePickBy = require('./_basePickBy'),\n hasIn = require('./hasIn');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n}\n\nmodule.exports = basePick;\n", "var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n", "var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n", "var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n", "/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n", "var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n", "/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n", "var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n", "/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n", "var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n", "var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n", "var basePick = require('./_basePick'),\n flatRest = require('./_flatRest');\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n});\n\nmodule.exports = pick;\n", "/* jshint node: true */\r\n\"use strict\";\r\n\r\nfunction makeArrayFrom(obj) {\r\n return Array.prototype.slice.apply(obj);\r\n}\r\n\r\nvar\r\n PENDING = \"pending\",\r\n RESOLVED = \"resolved\",\r\n REJECTED = \"rejected\";\r\n\r\nfunction SynchronousPromise(handler) {\r\n this.status = PENDING;\r\n this._continuations = [];\r\n this._parent = null;\r\n this._paused = false;\r\n if (handler) {\r\n handler.call(\r\n this,\r\n this._continueWith.bind(this),\r\n this._failWith.bind(this)\r\n );\r\n }\r\n}\r\n\r\nfunction looksLikeAPromise(obj) {\r\n return obj && typeof (obj.then) === \"function\";\r\n}\r\n\r\nfunction passThrough(value) {\r\n return value;\r\n}\r\n\r\nSynchronousPromise.prototype = {\r\n then: function (nextFn, catchFn) {\r\n var next = SynchronousPromise.unresolved()._setParent(this);\r\n if (this._isRejected()) {\r\n if (this._paused) {\r\n this._continuations.push({\r\n promise: next,\r\n nextFn: nextFn,\r\n catchFn: catchFn\r\n });\r\n return next;\r\n }\r\n if (catchFn) {\r\n try {\r\n var catchResult = catchFn(this._error);\r\n if (looksLikeAPromise(catchResult)) {\r\n this._chainPromiseData(catchResult, next);\r\n return next;\r\n } else {\r\n return SynchronousPromise.resolve(catchResult)._setParent(this);\r\n }\r\n } catch (e) {\r\n return SynchronousPromise.reject(e)._setParent(this);\r\n }\r\n }\r\n return SynchronousPromise.reject(this._error)._setParent(this);\r\n }\r\n this._continuations.push({\r\n promise: next,\r\n nextFn: nextFn,\r\n catchFn: catchFn\r\n });\r\n this._runResolutions();\r\n return next;\r\n },\r\n catch: function (handler) {\r\n if (this._isResolved()) {\r\n return SynchronousPromise.resolve(this._data)._setParent(this);\r\n }\r\n var next = SynchronousPromise.unresolved()._setParent(this);\r\n this._continuations.push({\r\n promise: next,\r\n catchFn: handler\r\n });\r\n this._runRejections();\r\n return next;\r\n },\r\n finally: function (callback) {\r\n var ran = false;\r\n\r\n function runFinally(result, err) {\r\n if (!ran) {\r\n ran = true;\r\n if (!callback) {\r\n callback = passThrough;\r\n }\r\n var callbackResult = callback(result);\r\n if (looksLikeAPromise(callbackResult)) {\r\n return callbackResult.then(function () {\r\n if (err) {\r\n throw err;\r\n }\r\n return result;\r\n });\r\n } else {\r\n return result;\r\n }\r\n }\r\n }\r\n\r\n return this\r\n .then(function (result) {\r\n return runFinally(result);\r\n })\r\n .catch(function (err) {\r\n return runFinally(null, err);\r\n });\r\n },\r\n pause: function () {\r\n this._paused = true;\r\n return this;\r\n },\r\n resume: function () {\r\n var firstPaused = this._findFirstPaused();\r\n if (firstPaused) {\r\n firstPaused._paused = false;\r\n firstPaused._runResolutions();\r\n firstPaused._runRejections();\r\n }\r\n return this;\r\n },\r\n _findAncestry: function () {\r\n return this._continuations.reduce(function (acc, cur) {\r\n if (cur.promise) {\r\n var node = {\r\n promise: cur.promise,\r\n children: cur.promise._findAncestry()\r\n };\r\n acc.push(node);\r\n }\r\n return acc;\r\n }, []);\r\n },\r\n _setParent: function (parent) {\r\n if (this._parent) {\r\n throw new Error(\"parent already set\");\r\n }\r\n this._parent = parent;\r\n return this;\r\n },\r\n _continueWith: function (data) {\r\n var firstPending = this._findFirstPending();\r\n if (firstPending) {\r\n firstPending._data = data;\r\n firstPending._setResolved();\r\n }\r\n },\r\n _findFirstPending: function () {\r\n return this._findFirstAncestor(function (test) {\r\n return test._isPending && test._isPending();\r\n });\r\n },\r\n _findFirstPaused: function () {\r\n return this._findFirstAncestor(function (test) {\r\n return test._paused;\r\n });\r\n },\r\n _findFirstAncestor: function (matching) {\r\n var test = this;\r\n var result;\r\n while (test) {\r\n if (matching(test)) {\r\n result = test;\r\n }\r\n test = test._parent;\r\n }\r\n return result;\r\n },\r\n _failWith: function (error) {\r\n var firstRejected = this._findFirstPending();\r\n if (firstRejected) {\r\n firstRejected._error = error;\r\n firstRejected._setRejected();\r\n }\r\n },\r\n _takeContinuations: function () {\r\n return this._continuations.splice(0, this._continuations.length);\r\n },\r\n _runRejections: function () {\r\n if (this._paused || !this._isRejected()) {\r\n return;\r\n }\r\n var\r\n error = this._error,\r\n continuations = this._takeContinuations(),\r\n self = this;\r\n continuations.forEach(function (cont) {\r\n if (cont.catchFn) {\r\n try {\r\n var catchResult = cont.catchFn(error);\r\n self._handleUserFunctionResult(catchResult, cont.promise);\r\n } catch (e) {\r\n cont.promise.reject(e);\r\n }\r\n } else {\r\n cont.promise.reject(error);\r\n }\r\n });\r\n },\r\n _runResolutions: function () {\r\n if (this._paused || !this._isResolved() || this._isPending()) {\r\n return;\r\n }\r\n var continuations = this._takeContinuations();\r\n var data = this._data;\r\n var self = this;\r\n continuations.forEach(function (cont) {\r\n if (cont.nextFn) {\r\n try {\r\n var result = cont.nextFn(data);\r\n self._handleUserFunctionResult(result, cont.promise);\r\n } catch (e) {\r\n self._handleResolutionError(e, cont);\r\n }\r\n } else if (cont.promise) {\r\n cont.promise.resolve(data);\r\n }\r\n });\r\n if (looksLikeAPromise(this._data)) {\r\n return this._handleWhenResolvedDataIsPromise(this._data);\r\n }\r\n },\r\n _handleResolutionError: function (e, continuation) {\r\n this._setRejected();\r\n if (continuation.catchFn) {\r\n try {\r\n continuation.catchFn(e);\r\n return;\r\n } catch (e2) {\r\n e = e2;\r\n }\r\n }\r\n if (continuation.promise) {\r\n continuation.promise.reject(e);\r\n }\r\n },\r\n _handleWhenResolvedDataIsPromise: function (data) {\r\n var self = this;\r\n return data.then(function (result) {\r\n self._data = result;\r\n self._runResolutions();\r\n }).catch(function (error) {\r\n self._error = error;\r\n self._setRejected();\r\n self._runRejections();\r\n });\r\n },\r\n _handleUserFunctionResult: function (data, nextSynchronousPromise) {\r\n if (looksLikeAPromise(data)) {\r\n this._chainPromiseData(data, nextSynchronousPromise);\r\n } else {\r\n nextSynchronousPromise.resolve(data);\r\n }\r\n },\r\n _chainPromiseData: function (promiseData, nextSynchronousPromise) {\r\n promiseData.then(function (newData) {\r\n nextSynchronousPromise.resolve(newData);\r\n }).catch(function (newError) {\r\n nextSynchronousPromise.reject(newError);\r\n });\r\n },\r\n _setResolved: function () {\r\n this.status = RESOLVED;\r\n if (!this._paused) {\r\n this._runResolutions();\r\n }\r\n },\r\n _setRejected: function () {\r\n this.status = REJECTED;\r\n if (!this._paused) {\r\n this._runRejections();\r\n }\r\n },\r\n _isPending: function () {\r\n return this.status === PENDING;\r\n },\r\n _isResolved: function () {\r\n return this.status === RESOLVED;\r\n },\r\n _isRejected: function () {\r\n return this.status === REJECTED;\r\n }\r\n};\r\n\r\nSynchronousPromise.resolve = function (result) {\r\n return new SynchronousPromise(function (resolve, reject) {\r\n if (looksLikeAPromise(result)) {\r\n result.then(function (newResult) {\r\n resolve(newResult);\r\n }).catch(function (error) {\r\n reject(error);\r\n });\r\n } else {\r\n resolve(result);\r\n }\r\n });\r\n};\r\n\r\nSynchronousPromise.reject = function (result) {\r\n return new SynchronousPromise(function (resolve, reject) {\r\n reject(result);\r\n });\r\n};\r\n\r\nSynchronousPromise.unresolved = function () {\r\n return new SynchronousPromise(function (resolve, reject) {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n};\r\n\r\nSynchronousPromise.all = function () {\r\n var args = makeArrayFrom(arguments);\r\n if (Array.isArray(args[0])) {\r\n args = args[0];\r\n }\r\n if (!args.length) {\r\n return SynchronousPromise.resolve([]);\r\n }\r\n return new SynchronousPromise(function (resolve, reject) {\r\n var\r\n allData = [],\r\n numResolved = 0,\r\n doResolve = function () {\r\n if (numResolved === args.length) {\r\n resolve(allData);\r\n }\r\n },\r\n rejected = false,\r\n doReject = function (err) {\r\n if (rejected) {\r\n return;\r\n }\r\n rejected = true;\r\n reject(err);\r\n };\r\n args.forEach(function (arg, idx) {\r\n SynchronousPromise.resolve(arg).then(function (thisResult) {\r\n allData[idx] = thisResult;\r\n numResolved += 1;\r\n doResolve();\r\n }).catch(function (err) {\r\n doReject(err);\r\n });\r\n });\r\n });\r\n};\r\n\r\nfunction createAggregateErrorFrom(errors) {\r\n /* jshint ignore:start */\r\n if (typeof window !== \"undefined\" && \"AggregateError\" in window) {\r\n return new window.AggregateError(errors);\r\n }\r\n /* jshint ignore:end */\r\n\r\n return { errors: errors };\r\n}\r\n\r\nSynchronousPromise.any = function () {\r\n var args = makeArrayFrom(arguments);\r\n if (Array.isArray(args[0])) {\r\n args = args[0];\r\n }\r\n if (!args.length) {\r\n return SynchronousPromise.reject(createAggregateErrorFrom([]));\r\n }\r\n return new SynchronousPromise(function (resolve, reject) {\r\n var\r\n allErrors = [],\r\n numRejected = 0,\r\n doReject = function () {\r\n if (numRejected === args.length) {\r\n reject(createAggregateErrorFrom(allErrors));\r\n }\r\n },\r\n resolved = false,\r\n doResolve = function (result) {\r\n if (resolved) {\r\n return;\r\n }\r\n resolved = true;\r\n resolve(result);\r\n };\r\n args.forEach(function (arg, idx) {\r\n SynchronousPromise.resolve(arg).then(function (thisResult) {\r\n doResolve(thisResult);\r\n }).catch(function (err) {\r\n allErrors[idx] = err;\r\n numRejected += 1;\r\n doReject();\r\n });\r\n });\r\n });\r\n};\r\n\r\nSynchronousPromise.allSettled = function () {\r\n var args = makeArrayFrom(arguments);\r\n if (Array.isArray(args[0])) {\r\n args = args[0];\r\n }\r\n if (!args.length) {\r\n return SynchronousPromise.resolve([]);\r\n }\r\n return new SynchronousPromise(function (resolve) {\r\n var\r\n allData = [],\r\n numSettled = 0,\r\n doSettled = function () {\r\n numSettled += 1;\r\n if (numSettled === args.length) {\r\n resolve(allData);\r\n }\r\n };\r\n args.forEach(function (arg, idx) {\r\n SynchronousPromise.resolve(arg).then(function (thisResult) {\r\n allData[idx] = {\r\n status: \"fulfilled\",\r\n value: thisResult\r\n };\r\n doSettled();\r\n }).catch(function (err) {\r\n allData[idx] = {\r\n status: \"rejected\",\r\n reason: err\r\n };\r\n doSettled();\r\n });\r\n });\r\n });\r\n};\r\n\r\n/* jshint ignore:start */\r\nif (Promise === SynchronousPromise) {\r\n throw new Error(\"Please use SynchronousPromise.installGlobally() to install globally\");\r\n}\r\nvar RealPromise = Promise;\r\nSynchronousPromise.installGlobally = function (__awaiter) {\r\n if (Promise === SynchronousPromise) {\r\n return __awaiter;\r\n }\r\n var result = patchAwaiterIfRequired(__awaiter);\r\n Promise = SynchronousPromise;\r\n return result;\r\n};\r\n\r\nSynchronousPromise.uninstallGlobally = function () {\r\n if (Promise === SynchronousPromise) {\r\n Promise = RealPromise;\r\n }\r\n};\r\n\r\nfunction patchAwaiterIfRequired(__awaiter) {\r\n if (typeof (__awaiter) === \"undefined\" || __awaiter.__patched) {\r\n return __awaiter;\r\n }\r\n var originalAwaiter = __awaiter;\r\n __awaiter = function () {\r\n var Promise = RealPromise;\r\n originalAwaiter.apply(this, makeArrayFrom(arguments));\r\n };\r\n __awaiter.__patched = true;\r\n return __awaiter;\r\n}\r\n\r\n/* jshint ignore:end */\r\n\r\nmodule.exports = {\r\n SynchronousPromise: SynchronousPromise\r\n};\r\n", "var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n", "\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n", "'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n", "'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n", "'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n", "'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n", "'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n", "'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\ntry {\n\tnull.error; // eslint-disable-line no-unused-expressions\n} catch (e) {\n\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\tvar errorProto = getProto(getProto(e));\n\tINTRINSICS['%Error.prototype%'] = errorProto;\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n", "'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n", "'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n", "var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n", "'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n", "'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n", "'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n", "'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('\u2713')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n", "'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the \u2713 character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the \u2713 character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('\u2713')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n", "'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n", "/*\n Copyright (C) 2013 Yusuke Suzuki \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n(function () {\n 'use strict';\n\n function isExpression(node) {\n if (node == null) { return false; }\n switch (node.type) {\n case 'ArrayExpression':\n case 'AssignmentExpression':\n case 'BinaryExpression':\n case 'CallExpression':\n case 'ConditionalExpression':\n case 'FunctionExpression':\n case 'Identifier':\n case 'Literal':\n case 'LogicalExpression':\n case 'MemberExpression':\n case 'NewExpression':\n case 'ObjectExpression':\n case 'SequenceExpression':\n case 'ThisExpression':\n case 'UnaryExpression':\n case 'UpdateExpression':\n return true;\n }\n return false;\n }\n\n function isIterationStatement(node) {\n if (node == null) { return false; }\n switch (node.type) {\n case 'DoWhileStatement':\n case 'ForInStatement':\n case 'ForStatement':\n case 'WhileStatement':\n return true;\n }\n return false;\n }\n\n function isStatement(node) {\n if (node == null) { return false; }\n switch (node.type) {\n case 'BlockStatement':\n case 'BreakStatement':\n case 'ContinueStatement':\n case 'DebuggerStatement':\n case 'DoWhileStatement':\n case 'EmptyStatement':\n case 'ExpressionStatement':\n case 'ForInStatement':\n case 'ForStatement':\n case 'IfStatement':\n case 'LabeledStatement':\n case 'ReturnStatement':\n case 'SwitchStatement':\n case 'ThrowStatement':\n case 'TryStatement':\n case 'VariableDeclaration':\n case 'WhileStatement':\n case 'WithStatement':\n return true;\n }\n return false;\n }\n\n function isSourceElement(node) {\n return isStatement(node) || node != null && node.type === 'FunctionDeclaration';\n }\n\n function trailingStatement(node) {\n switch (node.type) {\n case 'IfStatement':\n if (node.alternate != null) {\n return node.alternate;\n }\n return node.consequent;\n\n case 'LabeledStatement':\n case 'ForStatement':\n case 'ForInStatement':\n case 'WhileStatement':\n case 'WithStatement':\n return node.body;\n }\n return null;\n }\n\n function isProblematicIfStatement(node) {\n var current;\n\n if (node.type !== 'IfStatement') {\n return false;\n }\n if (node.alternate == null) {\n return false;\n }\n current = node.consequent;\n do {\n if (current.type === 'IfStatement') {\n if (current.alternate == null) {\n return true;\n }\n }\n current = trailingStatement(current);\n } while (current);\n\n return false;\n }\n\n module.exports = {\n isExpression: isExpression,\n isStatement: isStatement,\n isIterationStatement: isIterationStatement,\n isSourceElement: isSourceElement,\n isProblematicIfStatement: isProblematicIfStatement,\n\n trailingStatement: trailingStatement\n };\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n", "/*\n Copyright (C) 2013-2014 Yusuke Suzuki \n Copyright (C) 2014 Ivan Nikulin \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n(function () {\n 'use strict';\n\n var ES6Regex, ES5Regex, NON_ASCII_WHITESPACES, IDENTIFIER_START, IDENTIFIER_PART, ch;\n\n // See `tools/generate-identifier-regex.js`.\n ES5Regex = {\n // ECMAScript 5.1/Unicode v9.0.0 NonAsciiIdentifierStart:\n NonAsciiIdentifierStart: /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,\n // ECMAScript 5.1/Unicode v9.0.0 NonAsciiIdentifierPart:\n NonAsciiIdentifierPart: /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/\n };\n\n ES6Regex = {\n // ECMAScript 6/Unicode v9.0.0 NonAsciiIdentifierStart:\n NonAsciiIdentifierStart: /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,\n // ECMAScript 6/Unicode v9.0.0 NonAsciiIdentifierPart:\n NonAsciiIdentifierPart: /[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/\n };\n\n function isDecimalDigit(ch) {\n return 0x30 <= ch && ch <= 0x39; // 0..9\n }\n\n function isHexDigit(ch) {\n return 0x30 <= ch && ch <= 0x39 || // 0..9\n 0x61 <= ch && ch <= 0x66 || // a..f\n 0x41 <= ch && ch <= 0x46; // A..F\n }\n\n function isOctalDigit(ch) {\n return ch >= 0x30 && ch <= 0x37; // 0..7\n }\n\n // 7.2 White Space\n\n NON_ASCII_WHITESPACES = [\n 0x1680,\n 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A,\n 0x202F, 0x205F,\n 0x3000,\n 0xFEFF\n ];\n\n function isWhiteSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0B || ch === 0x0C || ch === 0xA0 ||\n ch >= 0x1680 && NON_ASCII_WHITESPACES.indexOf(ch) >= 0;\n }\n\n // 7.3 Line Terminators\n\n function isLineTerminator(ch) {\n return ch === 0x0A || ch === 0x0D || ch === 0x2028 || ch === 0x2029;\n }\n\n // 7.6 Identifier Names and Identifiers\n\n function fromCodePoint(cp) {\n if (cp <= 0xFFFF) { return String.fromCharCode(cp); }\n var cu1 = String.fromCharCode(Math.floor((cp - 0x10000) / 0x400) + 0xD800);\n var cu2 = String.fromCharCode(((cp - 0x10000) % 0x400) + 0xDC00);\n return cu1 + cu2;\n }\n\n IDENTIFIER_START = new Array(0x80);\n for(ch = 0; ch < 0x80; ++ch) {\n IDENTIFIER_START[ch] =\n ch >= 0x61 && ch <= 0x7A || // a..z\n ch >= 0x41 && ch <= 0x5A || // A..Z\n ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore)\n }\n\n IDENTIFIER_PART = new Array(0x80);\n for(ch = 0; ch < 0x80; ++ch) {\n IDENTIFIER_PART[ch] =\n ch >= 0x61 && ch <= 0x7A || // a..z\n ch >= 0x41 && ch <= 0x5A || // A..Z\n ch >= 0x30 && ch <= 0x39 || // 0..9\n ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore)\n }\n\n function isIdentifierStartES5(ch) {\n return ch < 0x80 ? IDENTIFIER_START[ch] : ES5Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch));\n }\n\n function isIdentifierPartES5(ch) {\n return ch < 0x80 ? IDENTIFIER_PART[ch] : ES5Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch));\n }\n\n function isIdentifierStartES6(ch) {\n return ch < 0x80 ? IDENTIFIER_START[ch] : ES6Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch));\n }\n\n function isIdentifierPartES6(ch) {\n return ch < 0x80 ? IDENTIFIER_PART[ch] : ES6Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch));\n }\n\n module.exports = {\n isDecimalDigit: isDecimalDigit,\n isHexDigit: isHexDigit,\n isOctalDigit: isOctalDigit,\n isWhiteSpace: isWhiteSpace,\n isLineTerminator: isLineTerminator,\n isIdentifierStartES5: isIdentifierStartES5,\n isIdentifierPartES5: isIdentifierPartES5,\n isIdentifierStartES6: isIdentifierStartES6,\n isIdentifierPartES6: isIdentifierPartES6\n };\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n", "/*\n Copyright (C) 2013 Yusuke Suzuki \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n(function () {\n 'use strict';\n\n var code = require('./code');\n\n function isStrictModeReservedWordES6(id) {\n switch (id) {\n case 'implements':\n case 'interface':\n case 'package':\n case 'private':\n case 'protected':\n case 'public':\n case 'static':\n case 'let':\n return true;\n default:\n return false;\n }\n }\n\n function isKeywordES5(id, strict) {\n // yield should not be treated as keyword under non-strict mode.\n if (!strict && id === 'yield') {\n return false;\n }\n return isKeywordES6(id, strict);\n }\n\n function isKeywordES6(id, strict) {\n if (strict && isStrictModeReservedWordES6(id)) {\n return true;\n }\n\n switch (id.length) {\n case 2:\n return (id === 'if') || (id === 'in') || (id === 'do');\n case 3:\n return (id === 'var') || (id === 'for') || (id === 'new') || (id === 'try');\n case 4:\n return (id === 'this') || (id === 'else') || (id === 'case') ||\n (id === 'void') || (id === 'with') || (id === 'enum');\n case 5:\n return (id === 'while') || (id === 'break') || (id === 'catch') ||\n (id === 'throw') || (id === 'const') || (id === 'yield') ||\n (id === 'class') || (id === 'super');\n case 6:\n return (id === 'return') || (id === 'typeof') || (id === 'delete') ||\n (id === 'switch') || (id === 'export') || (id === 'import');\n case 7:\n return (id === 'default') || (id === 'finally') || (id === 'extends');\n case 8:\n return (id === 'function') || (id === 'continue') || (id === 'debugger');\n case 10:\n return (id === 'instanceof');\n default:\n return false;\n }\n }\n\n function isReservedWordES5(id, strict) {\n return id === 'null' || id === 'true' || id === 'false' || isKeywordES5(id, strict);\n }\n\n function isReservedWordES6(id, strict) {\n return id === 'null' || id === 'true' || id === 'false' || isKeywordES6(id, strict);\n }\n\n function isRestrictedWord(id) {\n return id === 'eval' || id === 'arguments';\n }\n\n function isIdentifierNameES5(id) {\n var i, iz, ch;\n\n if (id.length === 0) { return false; }\n\n ch = id.charCodeAt(0);\n if (!code.isIdentifierStartES5(ch)) {\n return false;\n }\n\n for (i = 1, iz = id.length; i < iz; ++i) {\n ch = id.charCodeAt(i);\n if (!code.isIdentifierPartES5(ch)) {\n return false;\n }\n }\n return true;\n }\n\n function decodeUtf16(lead, trail) {\n return (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000;\n }\n\n function isIdentifierNameES6(id) {\n var i, iz, ch, lowCh, check;\n\n if (id.length === 0) { return false; }\n\n check = code.isIdentifierStartES6;\n for (i = 0, iz = id.length; i < iz; ++i) {\n ch = id.charCodeAt(i);\n if (0xD800 <= ch && ch <= 0xDBFF) {\n ++i;\n if (i >= iz) { return false; }\n lowCh = id.charCodeAt(i);\n if (!(0xDC00 <= lowCh && lowCh <= 0xDFFF)) {\n return false;\n }\n ch = decodeUtf16(ch, lowCh);\n }\n if (!check(ch)) {\n return false;\n }\n check = code.isIdentifierPartES6;\n }\n return true;\n }\n\n function isIdentifierES5(id, strict) {\n return isIdentifierNameES5(id) && !isReservedWordES5(id, strict);\n }\n\n function isIdentifierES6(id, strict) {\n return isIdentifierNameES6(id) && !isReservedWordES6(id, strict);\n }\n\n module.exports = {\n isKeywordES5: isKeywordES5,\n isKeywordES6: isKeywordES6,\n isReservedWordES5: isReservedWordES5,\n isReservedWordES6: isReservedWordES6,\n isRestrictedWord: isRestrictedWord,\n isIdentifierNameES5: isIdentifierNameES5,\n isIdentifierNameES6: isIdentifierNameES6,\n isIdentifierES5: isIdentifierES5,\n isIdentifierES6: isIdentifierES6\n };\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n", "/*\n Copyright (C) 2013 Yusuke Suzuki \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n\n(function () {\n 'use strict';\n\n exports.ast = require('./ast');\n exports.code = require('./code');\n exports.keyword = require('./keyword');\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n", "{\n \"name\": \"doctrine\",\n \"description\": \"JSDoc parser\",\n \"homepage\": \"https://github.com/eslint/doctrine\",\n \"main\": \"lib/doctrine.js\",\n \"version\": \"3.0.0\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n },\n \"directories\": {\n \"lib\": \"./lib\"\n },\n \"files\": [\n \"lib\"\n ],\n \"maintainers\": [\n {\n \"name\": \"Nicholas C. Zakas\",\n \"email\": \"nicholas+npm@nczconsulting.com\",\n \"web\": \"https://www.nczonline.net\"\n },\n {\n \"name\": \"Yusuke Suzuki\",\n \"email\": \"utatane.tea@gmail.com\",\n \"web\": \"https://github.com/Constellation\"\n }\n ],\n \"repository\": \"eslint/doctrine\",\n \"devDependencies\": {\n \"coveralls\": \"^3.0.1\",\n \"dateformat\": \"^1.0.11\",\n \"eslint\": \"^1.10.3\",\n \"eslint-release\": \"^1.0.0\",\n \"linefix\": \"^0.1.1\",\n \"mocha\": \"^3.4.2\",\n \"npm-license\": \"^0.3.1\",\n \"nyc\": \"^10.3.2\",\n \"semver\": \"^5.0.3\",\n \"shelljs\": \"^0.5.3\",\n \"shelljs-nodecli\": \"^0.1.1\",\n \"should\": \"^5.0.1\"\n },\n \"license\": \"Apache-2.0\",\n \"scripts\": {\n \"pretest\": \"npm run lint\",\n \"test\": \"nyc mocha\",\n \"coveralls\": \"nyc report --reporter=text-lcov | coveralls\",\n \"lint\": \"eslint lib/\",\n \"generate-release\": \"eslint-generate-release\",\n \"generate-alpharelease\": \"eslint-generate-prerelease alpha\",\n \"generate-betarelease\": \"eslint-generate-prerelease beta\",\n \"generate-rcrelease\": \"eslint-generate-prerelease rc\",\n \"publish-release\": \"eslint-publish-release\"\n },\n \"dependencies\": {\n \"esutils\": \"^2.0.2\"\n }\n}\n", "function assert(expr, message) {\n if(!Boolean(expr)) {\n throw new Error(message || 'unknown assertion error');\n }\n}\n\nmodule.exports = assert;\n", "/*\n * @fileoverview Utilities for Doctrine\n * @author Yusuke Suzuki \n */\n\n\n(function () {\n 'use strict';\n\n var VERSION;\n\n VERSION = require('../package.json').version;\n exports.VERSION = VERSION;\n\n function DoctrineError(message) {\n this.name = 'DoctrineError';\n this.message = message;\n }\n DoctrineError.prototype = (function () {\n var Middle = function () { };\n Middle.prototype = Error.prototype;\n return new Middle();\n }());\n DoctrineError.prototype.constructor = DoctrineError;\n exports.DoctrineError = DoctrineError;\n\n function throwError(message) {\n throw new DoctrineError(message);\n }\n exports.throwError = throwError;\n\n exports.assert = require('assert');\n}());\n\n/* vim: set sw=4 ts=4 et tw=80 : */\n", "/*\n * @fileoverview Type expression parser.\n * @author Yusuke Suzuki \n * @author Dan Tao \n * @author Andrew Eisenberg \n */\n\n// \"typed\", the Type Expression Parser for doctrine.\n\n(function () {\n 'use strict';\n\n var Syntax,\n Token,\n source,\n length,\n index,\n previous,\n token,\n value,\n esutils,\n utility,\n rangeOffset,\n addRange;\n\n esutils = require('esutils');\n utility = require('./utility');\n\n Syntax = {\n NullableLiteral: 'NullableLiteral',\n AllLiteral: 'AllLiteral',\n NullLiteral: 'NullLiteral',\n UndefinedLiteral: 'UndefinedLiteral',\n VoidLiteral: 'VoidLiteral',\n UnionType: 'UnionType',\n ArrayType: 'ArrayType',\n RecordType: 'RecordType',\n FieldType: 'FieldType',\n FunctionType: 'FunctionType',\n ParameterType: 'ParameterType',\n RestType: 'RestType',\n NonNullableType: 'NonNullableType',\n OptionalType: 'OptionalType',\n NullableType: 'NullableType',\n NameExpression: 'NameExpression',\n TypeApplication: 'TypeApplication',\n StringLiteralType: 'StringLiteralType',\n NumericLiteralType: 'NumericLiteralType',\n BooleanLiteralType: 'BooleanLiteralType'\n };\n\n Token = {\n ILLEGAL: 0, // ILLEGAL\n DOT_LT: 1, // .<\n REST: 2, // ...\n LT: 3, // <\n GT: 4, // >\n LPAREN: 5, // (\n RPAREN: 6, // )\n LBRACE: 7, // {\n RBRACE: 8, // }\n LBRACK: 9, // [\n RBRACK: 10, // ]\n COMMA: 11, // ,\n COLON: 12, // :\n STAR: 13, // *\n PIPE: 14, // |\n QUESTION: 15, // ?\n BANG: 16, // !\n EQUAL: 17, // =\n NAME: 18, // name token\n STRING: 19, // string\n NUMBER: 20, // number\n EOF: 21\n };\n\n function isTypeName(ch) {\n return '><(){}[],:*|?!='.indexOf(String.fromCharCode(ch)) === -1 && !esutils.code.isWhiteSpace(ch) && !esutils.code.isLineTerminator(ch);\n }\n\n function Context(previous, index, token, value) {\n this._previous = previous;\n this._index = index;\n this._token = token;\n this._value = value;\n }\n\n Context.prototype.restore = function () {\n previous = this._previous;\n index = this._index;\n token = this._token;\n value = this._value;\n };\n\n Context.save = function () {\n return new Context(previous, index, token, value);\n };\n\n function maybeAddRange(node, range) {\n if (addRange) {\n node.range = [range[0] + rangeOffset, range[1] + rangeOffset];\n }\n return node;\n }\n\n function advance() {\n var ch = source.charAt(index);\n index += 1;\n return ch;\n }\n\n function scanHexEscape(prefix) {\n var i, len, ch, code = 0;\n\n len = (prefix === 'u') ? 4 : 2;\n for (i = 0; i < len; ++i) {\n if (index < length && esutils.code.isHexDigit(source.charCodeAt(index))) {\n ch = advance();\n code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase());\n } else {\n return '';\n }\n }\n return String.fromCharCode(code);\n }\n\n function scanString() {\n var str = '', quote, ch, code, unescaped, restore; //TODO review removal octal = false\n quote = source.charAt(index);\n ++index;\n\n while (index < length) {\n ch = advance();\n\n if (ch === quote) {\n quote = '';\n break;\n } else if (ch === '\\\\') {\n ch = advance();\n if (!esutils.code.isLineTerminator(ch.charCodeAt(0))) {\n switch (ch) {\n case 'n':\n str += '\\n';\n break;\n case 'r':\n str += '\\r';\n break;\n case 't':\n str += '\\t';\n break;\n case 'u':\n case 'x':\n restore = index;\n unescaped = scanHexEscape(ch);\n if (unescaped) {\n str += unescaped;\n } else {\n index = restore;\n str += ch;\n }\n break;\n case 'b':\n str += '\\b';\n break;\n case 'f':\n str += '\\f';\n break;\n case 'v':\n str += '\\v';\n break;\n\n default:\n if (esutils.code.isOctalDigit(ch.charCodeAt(0))) {\n code = '01234567'.indexOf(ch);\n\n // \\0 is not octal escape sequence\n // Deprecating unused code. TODO review removal\n //if (code !== 0) {\n // octal = true;\n //}\n\n if (index < length && esutils.code.isOctalDigit(source.charCodeAt(index))) {\n //TODO Review Removal octal = true;\n code = code * 8 + '01234567'.indexOf(advance());\n\n // 3 digits are only allowed when string starts\n // with 0, 1, 2, 3\n if ('0123'.indexOf(ch) >= 0 &&\n index < length &&\n esutils.code.isOctalDigit(source.charCodeAt(index))) {\n code = code * 8 + '01234567'.indexOf(advance());\n }\n }\n str += String.fromCharCode(code);\n } else {\n str += ch;\n }\n break;\n }\n } else {\n if (ch === '\\r' && source.charCodeAt(index) === 0x0A /* '\\n' */) {\n ++index;\n }\n }\n } else if (esutils.code.isLineTerminator(ch.charCodeAt(0))) {\n break;\n } else {\n str += ch;\n }\n }\n\n if (quote !== '') {\n utility.throwError('unexpected quote');\n }\n\n value = str;\n return Token.STRING;\n }\n\n function scanNumber() {\n var number, ch;\n\n number = '';\n ch = source.charCodeAt(index);\n\n if (ch !== 0x2E /* '.' */) {\n number = advance();\n ch = source.charCodeAt(index);\n\n if (number === '0') {\n if (ch === 0x78 /* 'x' */ || ch === 0x58 /* 'X' */) {\n number += advance();\n while (index < length) {\n ch = source.charCodeAt(index);\n if (!esutils.code.isHexDigit(ch)) {\n break;\n }\n number += advance();\n }\n\n if (number.length <= 2) {\n // only 0x\n utility.throwError('unexpected token');\n }\n\n if (index < length) {\n ch = source.charCodeAt(index);\n if (esutils.code.isIdentifierStartES5(ch)) {\n utility.throwError('unexpected token');\n }\n }\n value = parseInt(number, 16);\n return Token.NUMBER;\n }\n\n if (esutils.code.isOctalDigit(ch)) {\n number += advance();\n while (index < length) {\n ch = source.charCodeAt(index);\n if (!esutils.code.isOctalDigit(ch)) {\n break;\n }\n number += advance();\n }\n\n if (index < length) {\n ch = source.charCodeAt(index);\n if (esutils.code.isIdentifierStartES5(ch) || esutils.code.isDecimalDigit(ch)) {\n utility.throwError('unexpected token');\n }\n }\n value = parseInt(number, 8);\n return Token.NUMBER;\n }\n\n if (esutils.code.isDecimalDigit(ch)) {\n utility.throwError('unexpected token');\n }\n }\n\n while (index < length) {\n ch = source.charCodeAt(index);\n if (!esutils.code.isDecimalDigit(ch)) {\n break;\n }\n number += advance();\n }\n }\n\n if (ch === 0x2E /* '.' */) {\n number += advance();\n while (index < length) {\n ch = source.charCodeAt(index);\n if (!esutils.code.isDecimalDigit(ch)) {\n break;\n }\n number += advance();\n }\n }\n\n if (ch === 0x65 /* 'e' */ || ch === 0x45 /* 'E' */) {\n number += advance();\n\n ch = source.charCodeAt(index);\n if (ch === 0x2B /* '+' */ || ch === 0x2D /* '-' */) {\n number += advance();\n }\n\n ch = source.charCodeAt(index);\n if (esutils.code.isDecimalDigit(ch)) {\n number += advance();\n while (index < length) {\n ch = source.charCodeAt(index);\n if (!esutils.code.isDecimalDigit(ch)) {\n break;\n }\n number += advance();\n }\n } else {\n utility.throwError('unexpected token');\n }\n }\n\n if (index < length) {\n ch = source.charCodeAt(index);\n if (esutils.code.isIdentifierStartES5(ch)) {\n utility.throwError('unexpected token');\n }\n }\n\n value = parseFloat(number);\n return Token.NUMBER;\n }\n\n\n function scanTypeName() {\n var ch, ch2;\n\n value = advance();\n while (index < length && isTypeName(source.charCodeAt(index))) {\n ch = source.charCodeAt(index);\n if (ch === 0x2E /* '.' */) {\n if ((index + 1) >= length) {\n return Token.ILLEGAL;\n }\n ch2 = source.charCodeAt(index + 1);\n if (ch2 === 0x3C /* '<' */) {\n break;\n }\n }\n value += advance();\n }\n return Token.NAME;\n }\n\n function next() {\n var ch;\n\n previous = index;\n\n while (index < length && esutils.code.isWhiteSpace(source.charCodeAt(index))) {\n advance();\n }\n if (index >= length) {\n token = Token.EOF;\n return token;\n }\n\n ch = source.charCodeAt(index);\n switch (ch) {\n case 0x27: /* ''' */\n case 0x22: /* '\"' */\n token = scanString();\n return token;\n\n case 0x3A: /* ':' */\n advance();\n token = Token.COLON;\n return token;\n\n case 0x2C: /* ',' */\n advance();\n token = Token.COMMA;\n return token;\n\n case 0x28: /* '(' */\n advance();\n token = Token.LPAREN;\n return token;\n\n case 0x29: /* ')' */\n advance();\n token = Token.RPAREN;\n return token;\n\n case 0x5B: /* '[' */\n advance();\n token = Token.LBRACK;\n return token;\n\n case 0x5D: /* ']' */\n advance();\n token = Token.RBRACK;\n return token;\n\n case 0x7B: /* '{' */\n advance();\n token = Token.LBRACE;\n return token;\n\n case 0x7D: /* '}' */\n advance();\n token = Token.RBRACE;\n return token;\n\n case 0x2E: /* '.' */\n if (index + 1 < length) {\n ch = source.charCodeAt(index + 1);\n if (ch === 0x3C /* '<' */) {\n advance(); // '.'\n advance(); // '<'\n token = Token.DOT_LT;\n return token;\n }\n\n if (ch === 0x2E /* '.' */ && index + 2 < length && source.charCodeAt(index + 2) === 0x2E /* '.' */) {\n advance(); // '.'\n advance(); // '.'\n advance(); // '.'\n token = Token.REST;\n return token;\n }\n\n if (esutils.code.isDecimalDigit(ch)) {\n token = scanNumber();\n return token;\n }\n }\n token = Token.ILLEGAL;\n return token;\n\n case 0x3C: /* '<' */\n advance();\n token = Token.LT;\n return token;\n\n case 0x3E: /* '>' */\n advance();\n token = Token.GT;\n return token;\n\n case 0x2A: /* '*' */\n advance();\n token = Token.STAR;\n return token;\n\n case 0x7C: /* '|' */\n advance();\n token = Token.PIPE;\n return token;\n\n case 0x3F: /* '?' */\n advance();\n token = Token.QUESTION;\n return token;\n\n case 0x21: /* '!' */\n advance();\n token = Token.BANG;\n return token;\n\n case 0x3D: /* '=' */\n advance();\n token = Token.EQUAL;\n return token;\n\n case 0x2D: /* '-' */\n token = scanNumber();\n return token;\n\n default:\n if (esutils.code.isDecimalDigit(ch)) {\n token = scanNumber();\n return token;\n }\n\n // type string permits following case,\n //\n // namespace.module.MyClass\n //\n // this reduced 1 token TK_NAME\n utility.assert(isTypeName(ch));\n token = scanTypeName();\n return token;\n }\n }\n\n function consume(target, text) {\n utility.assert(token === target, text || 'consumed token not matched');\n next();\n }\n\n function expect(target, message) {\n if (token !== target) {\n utility.throwError(message || 'unexpected token');\n }\n next();\n }\n\n // UnionType := '(' TypeUnionList ')'\n //\n // TypeUnionList :=\n // <>\n // | NonemptyTypeUnionList\n //\n // NonemptyTypeUnionList :=\n // TypeExpression\n // | TypeExpression '|' NonemptyTypeUnionList\n function parseUnionType() {\n var elements, startIndex = index - 1;\n consume(Token.LPAREN, 'UnionType should start with (');\n elements = [];\n if (token !== Token.RPAREN) {\n while (true) {\n elements.push(parseTypeExpression());\n if (token === Token.RPAREN) {\n break;\n }\n expect(Token.PIPE);\n }\n }\n consume(Token.RPAREN, 'UnionType should end with )');\n return maybeAddRange({\n type: Syntax.UnionType,\n elements: elements\n }, [startIndex, previous]);\n }\n\n // ArrayType := '[' ElementTypeList ']'\n //\n // ElementTypeList :=\n // <>\n // | TypeExpression\n // | '...' TypeExpression\n // | TypeExpression ',' ElementTypeList\n function parseArrayType() {\n var elements, startIndex = index - 1, restStartIndex;\n consume(Token.LBRACK, 'ArrayType should start with [');\n elements = [];\n while (token !== Token.RBRACK) {\n if (token === Token.REST) {\n restStartIndex = index - 3;\n consume(Token.REST);\n elements.push(maybeAddRange({\n type: Syntax.RestType,\n expression: parseTypeExpression()\n }, [restStartIndex, previous]));\n break;\n } else {\n elements.push(parseTypeExpression());\n }\n if (token !== Token.RBRACK) {\n expect(Token.COMMA);\n }\n }\n expect(Token.RBRACK);\n return maybeAddRange({\n type: Syntax.ArrayType,\n elements: elements\n }, [startIndex, previous]);\n }\n\n function parseFieldName() {\n var v = value;\n if (token === Token.NAME || token === Token.STRING) {\n next();\n return v;\n }\n\n if (token === Token.NUMBER) {\n consume(Token.NUMBER);\n return String(v);\n }\n\n utility.throwError('unexpected token');\n }\n\n // FieldType :=\n // FieldName\n // | FieldName ':' TypeExpression\n //\n // FieldName :=\n // NameExpression\n // | StringLiteral\n // | NumberLiteral\n // | ReservedIdentifier\n function parseFieldType() {\n var key, rangeStart = previous;\n\n key = parseFieldName();\n if (token === Token.COLON) {\n consume(Token.COLON);\n return maybeAddRange({\n type: Syntax.FieldType,\n key: key,\n value: parseTypeExpression()\n }, [rangeStart, previous]);\n }\n return maybeAddRange({\n type: Syntax.FieldType,\n key: key,\n value: null\n }, [rangeStart, previous]);\n }\n\n // RecordType := '{' FieldTypeList '}'\n //\n // FieldTypeList :=\n // <>\n // | FieldType\n // | FieldType ',' FieldTypeList\n function parseRecordType() {\n var fields, rangeStart = index - 1, rangeEnd;\n\n consume(Token.LBRACE, 'RecordType should start with {');\n fields = [];\n if (token === Token.COMMA) {\n consume(Token.COMMA);\n } else {\n while (token !== Token.RBRACE) {\n fields.push(parseFieldType());\n if (token !== Token.RBRACE) {\n expect(Token.COMMA);\n }\n }\n }\n rangeEnd = index;\n expect(Token.RBRACE);\n return maybeAddRange({\n type: Syntax.RecordType,\n fields: fields\n }, [rangeStart, rangeEnd]);\n }\n\n // NameExpression :=\n // Identifier\n // | TagIdentifier ':' Identifier\n //\n // Tag identifier is one of \"module\", \"external\" or \"event\"\n // Identifier is the same as Token.NAME, including any dots, something like\n // namespace.module.MyClass\n function parseNameExpression() {\n var name = value, rangeStart = index - name.length;\n expect(Token.NAME);\n\n if (token === Token.COLON && (\n name === 'module' ||\n name === 'external' ||\n name === 'event')) {\n consume(Token.COLON);\n name += ':' + value;\n expect(Token.NAME);\n }\n\n return maybeAddRange({\n type: Syntax.NameExpression,\n name: name\n }, [rangeStart, previous]);\n }\n\n // TypeExpressionList :=\n // TopLevelTypeExpression\n // | TopLevelTypeExpression ',' TypeExpressionList\n function parseTypeExpressionList() {\n var elements = [];\n\n elements.push(parseTop());\n while (token === Token.COMMA) {\n consume(Token.COMMA);\n elements.push(parseTop());\n }\n return elements;\n }\n\n // TypeName :=\n // NameExpression\n // | NameExpression TypeApplication\n //\n // TypeApplication :=\n // '.<' TypeExpressionList '>'\n // | '<' TypeExpressionList '>' // this is extension of doctrine\n function parseTypeName() {\n var expr, applications, startIndex = index - value.length;\n\n expr = parseNameExpression();\n if (token === Token.DOT_LT || token === Token.LT) {\n next();\n applications = parseTypeExpressionList();\n expect(Token.GT);\n return maybeAddRange({\n type: Syntax.TypeApplication,\n expression: expr,\n applications: applications\n }, [startIndex, previous]);\n }\n return expr;\n }\n\n // ResultType :=\n // <>\n // | ':' void\n // | ':' TypeExpression\n //\n // BNF is above\n // but, we remove <> pattern, so token is always TypeToken::COLON\n function parseResultType() {\n consume(Token.COLON, 'ResultType should start with :');\n if (token === Token.NAME && value === 'void') {\n consume(Token.NAME);\n return {\n type: Syntax.VoidLiteral\n };\n }\n return parseTypeExpression();\n }\n\n // ParametersType :=\n // RestParameterType\n // | NonRestParametersType\n // | NonRestParametersType ',' RestParameterType\n //\n // RestParameterType :=\n // '...'\n // '...' Identifier\n //\n // NonRestParametersType :=\n // ParameterType ',' NonRestParametersType\n // | ParameterType\n // | OptionalParametersType\n //\n // OptionalParametersType :=\n // OptionalParameterType\n // | OptionalParameterType, OptionalParametersType\n //\n // OptionalParameterType := ParameterType=\n //\n // ParameterType := TypeExpression | Identifier ':' TypeExpression\n //\n // Identifier is \"new\" or \"this\"\n function parseParametersType() {\n var params = [], optionalSequence = false, expr, rest = false, startIndex, restStartIndex = index - 3, nameStartIndex;\n\n while (token !== Token.RPAREN) {\n if (token === Token.REST) {\n // RestParameterType\n consume(Token.REST);\n rest = true;\n }\n\n startIndex = previous;\n\n expr = parseTypeExpression();\n if (expr.type === Syntax.NameExpression && token === Token.COLON) {\n nameStartIndex = previous - expr.name.length;\n // Identifier ':' TypeExpression\n consume(Token.COLON);\n expr = maybeAddRange({\n type: Syntax.ParameterType,\n name: expr.name,\n expression: parseTypeExpression()\n }, [nameStartIndex, previous]);\n }\n if (token === Token.EQUAL) {\n consume(Token.EQUAL);\n expr = maybeAddRange({\n type: Syntax.OptionalType,\n expression: expr\n }, [startIndex, previous]);\n optionalSequence = true;\n } else {\n if (optionalSequence) {\n utility.throwError('unexpected token');\n }\n }\n if (rest) {\n expr = maybeAddRange({\n type: Syntax.RestType,\n expression: expr\n }, [restStartIndex, previous]);\n }\n params.push(expr);\n if (token !== Token.RPAREN) {\n expect(Token.COMMA);\n }\n }\n return params;\n }\n\n // FunctionType := 'function' FunctionSignatureType\n //\n // FunctionSignatureType :=\n // | TypeParameters '(' ')' ResultType\n // | TypeParameters '(' ParametersType ')' ResultType\n // | TypeParameters '(' 'this' ':' TypeName ')' ResultType\n // | TypeParameters '(' 'this' ':' TypeName ',' ParametersType ')' ResultType\n function parseFunctionType() {\n var isNew, thisBinding, params, result, fnType, startIndex = index - value.length;\n utility.assert(token === Token.NAME && value === 'function', 'FunctionType should start with \\'function\\'');\n consume(Token.NAME);\n\n // Google Closure Compiler is not implementing TypeParameters.\n // So we do not. if we don't get '(', we see it as error.\n expect(Token.LPAREN);\n\n isNew = false;\n params = [];\n thisBinding = null;\n if (token !== Token.RPAREN) {\n // ParametersType or 'this'\n if (token === Token.NAME &&\n (value === 'this' || value === 'new')) {\n // 'this' or 'new'\n // 'new' is Closure Compiler extension\n isNew = value === 'new';\n consume(Token.NAME);\n expect(Token.COLON);\n thisBinding = parseTypeName();\n if (token === Token.COMMA) {\n consume(Token.COMMA);\n params = parseParametersType();\n }\n } else {\n params = parseParametersType();\n }\n }\n\n expect(Token.RPAREN);\n\n result = null;\n if (token === Token.COLON) {\n result = parseResultType();\n }\n\n fnType = maybeAddRange({\n type: Syntax.FunctionType,\n params: params,\n result: result\n }, [startIndex, previous]);\n if (thisBinding) {\n // avoid adding null 'new' and 'this' properties\n fnType['this'] = thisBinding;\n if (isNew) {\n fnType['new'] = true;\n }\n }\n return fnType;\n }\n\n // BasicTypeExpression :=\n // '*'\n // | 'null'\n // | 'undefined'\n // | TypeName\n // | FunctionType\n // | UnionType\n // | RecordType\n // | ArrayType\n function parseBasicTypeExpression() {\n var context, startIndex;\n switch (token) {\n case Token.STAR:\n consume(Token.STAR);\n return maybeAddRange({\n type: Syntax.AllLiteral\n }, [previous - 1, previous]);\n\n case Token.LPAREN:\n return parseUnionType();\n\n case Token.LBRACK:\n return parseArrayType();\n\n case Token.LBRACE:\n return parseRecordType();\n\n case Token.NAME:\n startIndex = index - value.length;\n\n if (value === 'null') {\n consume(Token.NAME);\n return maybeAddRange({\n type: Syntax.NullLiteral\n }, [startIndex, previous]);\n }\n\n if (value === 'undefined') {\n consume(Token.NAME);\n return maybeAddRange({\n type: Syntax.UndefinedLiteral\n }, [startIndex, previous]);\n }\n\n if (value === 'true' || value === 'false') {\n consume(Token.NAME);\n return maybeAddRange({\n type: Syntax.BooleanLiteralType,\n value: value === 'true'\n }, [startIndex, previous]);\n }\n\n context = Context.save();\n if (value === 'function') {\n try {\n return parseFunctionType();\n } catch (e) {\n context.restore();\n }\n }\n\n return parseTypeName();\n\n case Token.STRING:\n next();\n return maybeAddRange({\n type: Syntax.StringLiteralType,\n value: value\n }, [previous - value.length - 2, previous]);\n\n case Token.NUMBER:\n next();\n return maybeAddRange({\n type: Syntax.NumericLiteralType,\n value: value\n }, [previous - String(value).length, previous]);\n\n default:\n utility.throwError('unexpected token');\n }\n }\n\n // TypeExpression :=\n // BasicTypeExpression\n // | '?' BasicTypeExpression\n // | '!' BasicTypeExpression\n // | BasicTypeExpression '?'\n // | BasicTypeExpression '!'\n // | '?'\n // | BasicTypeExpression '[]'\n function parseTypeExpression() {\n var expr, rangeStart;\n\n if (token === Token.QUESTION) {\n rangeStart = index - 1;\n consume(Token.QUESTION);\n if (token === Token.COMMA || token === Token.EQUAL || token === Token.RBRACE ||\n token === Token.RPAREN || token === Token.PIPE || token === Token.EOF ||\n token === Token.RBRACK || token === Token.GT) {\n return maybeAddRange({\n type: Syntax.NullableLiteral\n }, [rangeStart, previous]);\n }\n return maybeAddRange({\n type: Syntax.NullableType,\n expression: parseBasicTypeExpression(),\n prefix: true\n }, [rangeStart, previous]);\n } else if (token === Token.BANG) {\n rangeStart = index - 1;\n consume(Token.BANG);\n return maybeAddRange({\n type: Syntax.NonNullableType,\n expression: parseBasicTypeExpression(),\n prefix: true\n }, [rangeStart, previous]);\n } else {\n rangeStart = previous;\n }\n\n expr = parseBasicTypeExpression();\n if (token === Token.BANG) {\n consume(Token.BANG);\n return maybeAddRange({\n type: Syntax.NonNullableType,\n expression: expr,\n prefix: false\n }, [rangeStart, previous]);\n }\n\n if (token === Token.QUESTION) {\n consume(Token.QUESTION);\n return maybeAddRange({\n type: Syntax.NullableType,\n expression: expr,\n prefix: false\n }, [rangeStart, previous]);\n }\n\n if (token === Token.LBRACK) {\n consume(Token.LBRACK);\n expect(Token.RBRACK, 'expected an array-style type declaration (' + value + '[])');\n return maybeAddRange({\n type: Syntax.TypeApplication,\n expression: maybeAddRange({\n type: Syntax.NameExpression,\n name: 'Array'\n }, [rangeStart, previous]),\n applications: [expr]\n }, [rangeStart, previous]);\n }\n\n return expr;\n }\n\n // TopLevelTypeExpression :=\n // TypeExpression\n // | TypeUnionList\n //\n // This rule is Google Closure Compiler extension, not ES4\n // like,\n // { number | string }\n // If strict to ES4, we should write it as\n // { (number|string) }\n function parseTop() {\n var expr, elements;\n\n expr = parseTypeExpression();\n if (token !== Token.PIPE) {\n return expr;\n }\n\n elements = [expr];\n consume(Token.PIPE);\n while (true) {\n elements.push(parseTypeExpression());\n if (token !== Token.PIPE) {\n break;\n }\n consume(Token.PIPE);\n }\n\n return maybeAddRange({\n type: Syntax.UnionType,\n elements: elements\n }, [0, index]);\n }\n\n function parseTopParamType() {\n var expr;\n\n if (token === Token.REST) {\n consume(Token.REST);\n return maybeAddRange({\n type: Syntax.RestType,\n expression: parseTop()\n }, [0, index]);\n }\n\n expr = parseTop();\n if (token === Token.EQUAL) {\n consume(Token.EQUAL);\n return maybeAddRange({\n type: Syntax.OptionalType,\n expression: expr\n }, [0, index]);\n }\n\n return expr;\n }\n\n function parseType(src, opt) {\n var expr;\n\n source = src;\n length = source.length;\n index = 0;\n previous = 0;\n addRange = opt && opt.range;\n rangeOffset = opt && opt.startIndex || 0;\n\n next();\n expr = parseTop();\n\n if (opt && opt.midstream) {\n return {\n expression: expr,\n index: previous\n };\n }\n\n if (token !== Token.EOF) {\n utility.throwError('not reach to EOF');\n }\n\n return expr;\n }\n\n function parseParamType(src, opt) {\n var expr;\n\n source = src;\n length = source.length;\n index = 0;\n previous = 0;\n addRange = opt && opt.range;\n rangeOffset = opt && opt.startIndex || 0;\n\n next();\n expr = parseTopParamType();\n\n if (opt && opt.midstream) {\n return {\n expression: expr,\n index: previous\n };\n }\n\n if (token !== Token.EOF) {\n utility.throwError('not reach to EOF');\n }\n\n return expr;\n }\n\n function stringifyImpl(node, compact, topLevel) {\n var result, i, iz;\n\n switch (node.type) {\n case Syntax.NullableLiteral:\n result = '?';\n break;\n\n case Syntax.AllLiteral:\n result = '*';\n break;\n\n case Syntax.NullLiteral:\n result = 'null';\n break;\n\n case Syntax.UndefinedLiteral:\n result = 'undefined';\n break;\n\n case Syntax.VoidLiteral:\n result = 'void';\n break;\n\n case Syntax.UnionType:\n if (!topLevel) {\n result = '(';\n } else {\n result = '';\n }\n\n for (i = 0, iz = node.elements.length; i < iz; ++i) {\n result += stringifyImpl(node.elements[i], compact);\n if ((i + 1) !== iz) {\n result += compact ? '|' : ' | ';\n }\n }\n\n if (!topLevel) {\n result += ')';\n }\n break;\n\n case Syntax.ArrayType:\n result = '[';\n for (i = 0, iz = node.elements.length; i < iz; ++i) {\n result += stringifyImpl(node.elements[i], compact);\n if ((i + 1) !== iz) {\n result += compact ? ',' : ', ';\n }\n }\n result += ']';\n break;\n\n case Syntax.RecordType:\n result = '{';\n for (i = 0, iz = node.fields.length; i < iz; ++i) {\n result += stringifyImpl(node.fields[i], compact);\n if ((i + 1) !== iz) {\n result += compact ? ',' : ', ';\n }\n }\n result += '}';\n break;\n\n case Syntax.FieldType:\n if (node.value) {\n result = node.key + (compact ? ':' : ': ') + stringifyImpl(node.value, compact);\n } else {\n result = node.key;\n }\n break;\n\n case Syntax.FunctionType:\n result = compact ? 'function(' : 'function (';\n\n if (node['this']) {\n if (node['new']) {\n result += (compact ? 'new:' : 'new: ');\n } else {\n result += (compact ? 'this:' : 'this: ');\n }\n\n result += stringifyImpl(node['this'], compact);\n\n if (node.params.length !== 0) {\n result += compact ? ',' : ', ';\n }\n }\n\n for (i = 0, iz = node.params.length; i < iz; ++i) {\n result += stringifyImpl(node.params[i], compact);\n if ((i + 1) !== iz) {\n result += compact ? ',' : ', ';\n }\n }\n\n result += ')';\n\n if (node.result) {\n result += (compact ? ':' : ': ') + stringifyImpl(node.result, compact);\n }\n break;\n\n case Syntax.ParameterType:\n result = node.name + (compact ? ':' : ': ') + stringifyImpl(node.expression, compact);\n break;\n\n case Syntax.RestType:\n result = '...';\n if (node.expression) {\n result += stringifyImpl(node.expression, compact);\n }\n break;\n\n case Syntax.NonNullableType:\n if (node.prefix) {\n result = '!' + stringifyImpl(node.expression, compact);\n } else {\n result = stringifyImpl(node.expression, compact) + '!';\n }\n break;\n\n case Syntax.OptionalType:\n result = stringifyImpl(node.expression, compact) + '=';\n break;\n\n case Syntax.NullableType:\n if (node.prefix) {\n result = '?' + stringifyImpl(node.expression, compact);\n } else {\n result = stringifyImpl(node.expression, compact) + '?';\n }\n break;\n\n case Syntax.NameExpression:\n result = node.name;\n break;\n\n case Syntax.TypeApplication:\n result = stringifyImpl(node.expression, compact) + '.<';\n for (i = 0, iz = node.applications.length; i < iz; ++i) {\n result += stringifyImpl(node.applications[i], compact);\n if ((i + 1) !== iz) {\n result += compact ? ',' : ', ';\n }\n }\n result += '>';\n break;\n\n case Syntax.StringLiteralType:\n result = '\"' + node.value + '\"';\n break;\n\n case Syntax.NumericLiteralType:\n result = String(node.value);\n break;\n\n case Syntax.BooleanLiteralType:\n result = String(node.value);\n break;\n\n default:\n utility.throwError('Unknown type ' + node.type);\n }\n\n return result;\n }\n\n function stringify(node, options) {\n if (options == null) {\n options = {};\n }\n return stringifyImpl(node, options.compact, options.topLevel);\n }\n\n exports.parseType = parseType;\n exports.parseParamType = parseParamType;\n exports.stringify = stringify;\n exports.Syntax = Syntax;\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n", "/*\n * @fileoverview Main Doctrine object\n * @author Yusuke Suzuki \n * @author Dan Tao \n * @author Andrew Eisenberg \n */\n\n(function () {\n 'use strict';\n\n var typed,\n utility,\n jsdoc,\n esutils,\n hasOwnProperty;\n\n esutils = require('esutils');\n typed = require('./typed');\n utility = require('./utility');\n\n function sliceSource(source, index, last) {\n return source.slice(index, last);\n }\n\n hasOwnProperty = (function () {\n var func = Object.prototype.hasOwnProperty;\n return function hasOwnProperty(obj, name) {\n return func.call(obj, name);\n };\n }());\n function shallowCopy(obj) {\n var ret = {}, key;\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n ret[key] = obj[key];\n }\n }\n return ret;\n }\n\n function isASCIIAlphanumeric(ch) {\n return (ch >= 0x61 /* 'a' */ && ch <= 0x7A /* 'z' */) ||\n (ch >= 0x41 /* 'A' */ && ch <= 0x5A /* 'Z' */) ||\n (ch >= 0x30 /* '0' */ && ch <= 0x39 /* '9' */);\n }\n\n function isParamTitle(title) {\n return title === 'param' || title === 'argument' || title === 'arg';\n }\n\n function isReturnTitle(title) {\n return title === 'return' || title === 'returns';\n }\n\n function isProperty(title) {\n return title === 'property' || title === 'prop';\n }\n\n function isNameParameterRequired(title) {\n return isParamTitle(title) || isProperty(title) ||\n title === 'alias' || title === 'this' || title === 'mixes' || title === 'requires';\n }\n\n function isAllowedName(title) {\n return isNameParameterRequired(title) || title === 'const' || title === 'constant';\n }\n\n function isAllowedNested(title) {\n return isProperty(title) || isParamTitle(title);\n }\n\n function isAllowedOptional(title) {\n return isProperty(title) || isParamTitle(title);\n }\n\n function isTypeParameterRequired(title) {\n return isParamTitle(title) || isReturnTitle(title) ||\n title === 'define' || title === 'enum' ||\n title === 'implements' || title === 'this' ||\n title === 'type' || title === 'typedef' || isProperty(title);\n }\n\n // Consider deprecation instead using 'isTypeParameterRequired' and 'Rules' declaration to pick when a type is optional/required\n // This would require changes to 'parseType'\n function isAllowedType(title) {\n return isTypeParameterRequired(title) || title === 'throws' || title === 'const' || title === 'constant' ||\n title === 'namespace' || title === 'member' || title === 'var' || title === 'module' ||\n title === 'constructor' || title === 'class' || title === 'extends' || title === 'augments' ||\n title === 'public' || title === 'private' || title === 'protected';\n }\n\n // A regex character class that contains all whitespace except linebreak characters (\\r, \\n, \\u2028, \\u2029)\n var WHITESPACE = '[ \\\\f\\\\t\\\\v\\\\u00a0\\\\u1680\\\\u180e\\\\u2000-\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\ufeff]';\n\n var STAR_MATCHER = '(' + WHITESPACE + '*(?:\\\\*' + WHITESPACE + '?)?)(.+|[\\r\\n\\u2028\\u2029])';\n\n function unwrapComment(doc) {\n // JSDoc comment is following form\n // /**\n // * .......\n // */\n\n return doc.\n // remove /**\n replace(/^\\/\\*\\*?/, '').\n // remove */\n replace(/\\*\\/$/, '').\n // remove ' * ' at the beginning of a line\n replace(new RegExp(STAR_MATCHER, 'g'), '$2').\n // remove trailing whitespace\n replace(/\\s*$/, '');\n }\n\n /**\n * Converts an index in an \"unwrapped\" JSDoc comment to the corresponding index in the original \"wrapped\" version\n * @param {string} originalSource The original wrapped comment\n * @param {number} unwrappedIndex The index of a character in the unwrapped string\n * @returns {number} The index of the corresponding character in the original wrapped string\n */\n function convertUnwrappedCommentIndex(originalSource, unwrappedIndex) {\n var replacedSource = originalSource.replace(/^\\/\\*\\*?/, '');\n var numSkippedChars = 0;\n var matcher = new RegExp(STAR_MATCHER, 'g');\n var match;\n\n while ((match = matcher.exec(replacedSource))) {\n numSkippedChars += match[1].length;\n\n if (match.index + match[0].length > unwrappedIndex + numSkippedChars) {\n return unwrappedIndex + numSkippedChars + originalSource.length - replacedSource.length;\n }\n }\n\n return originalSource.replace(/\\*\\/$/, '').replace(/\\s*$/, '').length;\n }\n\n // JSDoc Tag Parser\n\n (function (exports) {\n var Rules,\n index,\n lineNumber,\n length,\n source,\n originalSource,\n recoverable,\n sloppy,\n strict;\n\n function advance() {\n var ch = source.charCodeAt(index);\n index += 1;\n if (esutils.code.isLineTerminator(ch) && !(ch === 0x0D /* '\\r' */ && source.charCodeAt(index) === 0x0A /* '\\n' */)) {\n lineNumber += 1;\n }\n return String.fromCharCode(ch);\n }\n\n function scanTitle() {\n var title = '';\n // waste '@'\n advance();\n\n while (index < length && isASCIIAlphanumeric(source.charCodeAt(index))) {\n title += advance();\n }\n\n return title;\n }\n\n function seekContent() {\n var ch, waiting, last = index;\n\n waiting = false;\n while (last < length) {\n ch = source.charCodeAt(last);\n if (esutils.code.isLineTerminator(ch) && !(ch === 0x0D /* '\\r' */ && source.charCodeAt(last + 1) === 0x0A /* '\\n' */)) {\n waiting = true;\n } else if (waiting) {\n if (ch === 0x40 /* '@' */) {\n break;\n }\n if (!esutils.code.isWhiteSpace(ch)) {\n waiting = false;\n }\n }\n last += 1;\n }\n return last;\n }\n\n // type expression may have nest brace, such as,\n // { { ok: string } }\n //\n // therefore, scanning type expression with balancing braces.\n function parseType(title, last, addRange) {\n var ch, brace, type, startIndex, direct = false;\n\n\n // search '{'\n while (index < last) {\n ch = source.charCodeAt(index);\n if (esutils.code.isWhiteSpace(ch)) {\n advance();\n } else if (ch === 0x7B /* '{' */) {\n advance();\n break;\n } else {\n // this is direct pattern\n direct = true;\n break;\n }\n }\n\n\n if (direct) {\n return null;\n }\n\n // type expression { is found\n brace = 1;\n type = '';\n while (index < last) {\n ch = source.charCodeAt(index);\n if (esutils.code.isLineTerminator(ch)) {\n advance();\n } else {\n if (ch === 0x7D /* '}' */) {\n brace -= 1;\n if (brace === 0) {\n advance();\n break;\n }\n } else if (ch === 0x7B /* '{' */) {\n brace += 1;\n }\n if (type === '') {\n startIndex = index;\n }\n type += advance();\n }\n }\n\n if (brace !== 0) {\n // braces is not balanced\n return utility.throwError('Braces are not balanced');\n }\n\n if (isAllowedOptional(title)) {\n return typed.parseParamType(type, {startIndex: convertIndex(startIndex), range: addRange});\n }\n\n return typed.parseType(type, {startIndex: convertIndex(startIndex), range: addRange});\n }\n\n function scanIdentifier(last) {\n var identifier;\n if (!esutils.code.isIdentifierStartES5(source.charCodeAt(index)) && !source[index].match(/[0-9]/)) {\n return null;\n }\n identifier = advance();\n while (index < last && esutils.code.isIdentifierPartES5(source.charCodeAt(index))) {\n identifier += advance();\n }\n return identifier;\n }\n\n function skipWhiteSpace(last) {\n while (index < last && (esutils.code.isWhiteSpace(source.charCodeAt(index)) || esutils.code.isLineTerminator(source.charCodeAt(index)))) {\n advance();\n }\n }\n\n function parseName(last, allowBrackets, allowNestedParams) {\n var name = '',\n useBrackets,\n insideString;\n\n\n skipWhiteSpace(last);\n\n if (index >= last) {\n return null;\n }\n\n if (source.charCodeAt(index) === 0x5B /* '[' */) {\n if (allowBrackets) {\n useBrackets = true;\n name = advance();\n } else {\n return null;\n }\n }\n\n name += scanIdentifier(last);\n\n if (allowNestedParams) {\n if (source.charCodeAt(index) === 0x3A /* ':' */ && (\n name === 'module' ||\n name === 'external' ||\n name === 'event')) {\n name += advance();\n name += scanIdentifier(last);\n\n }\n if(source.charCodeAt(index) === 0x5B /* '[' */ && source.charCodeAt(index + 1) === 0x5D /* ']' */){\n name += advance();\n name += advance();\n }\n while (source.charCodeAt(index) === 0x2E /* '.' */ ||\n source.charCodeAt(index) === 0x2F /* '/' */ ||\n source.charCodeAt(index) === 0x23 /* '#' */ ||\n source.charCodeAt(index) === 0x2D /* '-' */ ||\n source.charCodeAt(index) === 0x7E /* '~' */) {\n name += advance();\n name += scanIdentifier(last);\n }\n }\n\n if (useBrackets) {\n skipWhiteSpace(last);\n // do we have a default value for this?\n if (source.charCodeAt(index) === 0x3D /* '=' */) {\n // consume the '='' symbol\n name += advance();\n skipWhiteSpace(last);\n\n var ch;\n var bracketDepth = 1;\n\n // scan in the default value\n while (index < last) {\n ch = source.charCodeAt(index);\n\n if (esutils.code.isWhiteSpace(ch)) {\n if (!insideString) {\n skipWhiteSpace(last);\n ch = source.charCodeAt(index);\n }\n }\n\n if (ch === 0x27 /* ''' */) {\n if (!insideString) {\n insideString = '\\'';\n } else {\n if (insideString === '\\'') {\n insideString = '';\n }\n }\n }\n\n if (ch === 0x22 /* '\"' */) {\n if (!insideString) {\n insideString = '\"';\n } else {\n if (insideString === '\"') {\n insideString = '';\n }\n }\n }\n\n if (ch === 0x5B /* '[' */) {\n bracketDepth++;\n } else if (ch === 0x5D /* ']' */ &&\n --bracketDepth === 0) {\n break;\n }\n\n name += advance();\n }\n }\n\n skipWhiteSpace(last);\n\n if (index >= last || source.charCodeAt(index) !== 0x5D /* ']' */) {\n // we never found a closing ']'\n return null;\n }\n\n // collect the last ']'\n name += advance();\n }\n\n return name;\n }\n\n function skipToTag() {\n while (index < length && source.charCodeAt(index) !== 0x40 /* '@' */) {\n advance();\n }\n if (index >= length) {\n return false;\n }\n utility.assert(source.charCodeAt(index) === 0x40 /* '@' */);\n return true;\n }\n\n function convertIndex(rangeIndex) {\n if (source === originalSource) {\n return rangeIndex;\n }\n return convertUnwrappedCommentIndex(originalSource, rangeIndex);\n }\n\n function TagParser(options, title) {\n this._options = options;\n this._title = title.toLowerCase();\n this._tag = {\n title: title,\n description: null\n };\n if (this._options.lineNumbers) {\n this._tag.lineNumber = lineNumber;\n }\n this._first = index - title.length - 1;\n this._last = 0;\n // space to save special information for title parsers.\n this._extra = { };\n }\n\n // addError(err, ...)\n TagParser.prototype.addError = function addError(errorText) {\n var args = Array.prototype.slice.call(arguments, 1),\n msg = errorText.replace(\n /%(\\d)/g,\n function (whole, index) {\n utility.assert(index < args.length, 'Message reference must be in range');\n return args[index];\n }\n );\n\n if (!this._tag.errors) {\n this._tag.errors = [];\n }\n if (strict) {\n utility.throwError(msg);\n }\n this._tag.errors.push(msg);\n return recoverable;\n };\n\n TagParser.prototype.parseType = function () {\n // type required titles\n if (isTypeParameterRequired(this._title)) {\n try {\n this._tag.type = parseType(this._title, this._last, this._options.range);\n if (!this._tag.type) {\n if (!isParamTitle(this._title) && !isReturnTitle(this._title)) {\n if (!this.addError('Missing or invalid tag type')) {\n return false;\n }\n }\n }\n } catch (error) {\n this._tag.type = null;\n if (!this.addError(error.message)) {\n return false;\n }\n }\n } else if (isAllowedType(this._title)) {\n // optional types\n try {\n this._tag.type = parseType(this._title, this._last, this._options.range);\n } catch (e) {\n //For optional types, lets drop the thrown error when we hit the end of the file\n }\n }\n return true;\n };\n\n TagParser.prototype._parseNamePath = function (optional) {\n var name;\n name = parseName(this._last, sloppy && isAllowedOptional(this._title), true);\n if (!name) {\n if (!optional) {\n if (!this.addError('Missing or invalid tag name')) {\n return false;\n }\n }\n }\n this._tag.name = name;\n return true;\n };\n\n TagParser.prototype.parseNamePath = function () {\n return this._parseNamePath(false);\n };\n\n TagParser.prototype.parseNamePathOptional = function () {\n return this._parseNamePath(true);\n };\n\n\n TagParser.prototype.parseName = function () {\n var assign, name;\n\n // param, property requires name\n if (isAllowedName(this._title)) {\n this._tag.name = parseName(this._last, sloppy && isAllowedOptional(this._title), isAllowedNested(this._title));\n if (!this._tag.name) {\n if (!isNameParameterRequired(this._title)) {\n return true;\n }\n\n // it's possible the name has already been parsed but interpreted as a type\n // it's also possible this is a sloppy declaration, in which case it will be\n // fixed at the end\n if (isParamTitle(this._title) && this._tag.type && this._tag.type.name) {\n this._extra.name = this._tag.type;\n this._tag.name = this._tag.type.name;\n this._tag.type = null;\n } else {\n if (!this.addError('Missing or invalid tag name')) {\n return false;\n }\n }\n } else {\n name = this._tag.name;\n if (name.charAt(0) === '[' && name.charAt(name.length - 1) === ']') {\n // extract the default value if there is one\n // example: @param {string} [somebody=John Doe] description\n assign = name.substring(1, name.length - 1).split('=');\n if (assign.length > 1) {\n this._tag['default'] = assign.slice(1).join('=');\n }\n this._tag.name = assign[0];\n\n // convert to an optional type\n if (this._tag.type && this._tag.type.type !== 'OptionalType') {\n this._tag.type = {\n type: 'OptionalType',\n expression: this._tag.type\n };\n }\n }\n }\n }\n\n\n return true;\n };\n\n TagParser.prototype.parseDescription = function parseDescription() {\n var description = sliceSource(source, index, this._last).trim();\n if (description) {\n if ((/^-\\s+/).test(description)) {\n description = description.substring(2);\n }\n this._tag.description = description;\n }\n return true;\n };\n\n TagParser.prototype.parseCaption = function parseDescription() {\n var description = sliceSource(source, index, this._last).trim();\n var captionStartTag = '';\n var captionEndTag = '';\n var captionStart = description.indexOf(captionStartTag);\n var captionEnd = description.indexOf(captionEndTag);\n if (captionStart >= 0 && captionEnd >= 0) {\n this._tag.caption = description.substring(\n captionStart + captionStartTag.length, captionEnd).trim();\n this._tag.description = description.substring(captionEnd + captionEndTag.length).trim();\n } else {\n this._tag.description = description;\n }\n return true;\n };\n\n TagParser.prototype.parseKind = function parseKind() {\n var kind, kinds;\n kinds = {\n 'class': true,\n 'constant': true,\n 'event': true,\n 'external': true,\n 'file': true,\n 'function': true,\n 'member': true,\n 'mixin': true,\n 'module': true,\n 'namespace': true,\n 'typedef': true\n };\n kind = sliceSource(source, index, this._last).trim();\n this._tag.kind = kind;\n if (!hasOwnProperty(kinds, kind)) {\n if (!this.addError('Invalid kind name \\'%0\\'', kind)) {\n return false;\n }\n }\n return true;\n };\n\n TagParser.prototype.parseAccess = function parseAccess() {\n var access;\n access = sliceSource(source, index, this._last).trim();\n this._tag.access = access;\n if (access !== 'private' && access !== 'protected' && access !== 'public') {\n if (!this.addError('Invalid access name \\'%0\\'', access)) {\n return false;\n }\n }\n return true;\n };\n\n TagParser.prototype.parseThis = function parseThis() {\n // this name may be a name expression (e.g. {foo.bar}),\n // an union (e.g. {foo.bar|foo.baz}) or a name path (e.g. foo.bar)\n var value = sliceSource(source, index, this._last).trim();\n if (value && value.charAt(0) === '{') {\n var gotType = this.parseType();\n if (gotType && this._tag.type.type === 'NameExpression' || this._tag.type.type === 'UnionType') {\n this._tag.name = this._tag.type.name;\n return true;\n } else {\n return this.addError('Invalid name for this');\n }\n } else {\n return this.parseNamePath();\n }\n };\n\n TagParser.prototype.parseVariation = function parseVariation() {\n var variation, text;\n text = sliceSource(source, index, this._last).trim();\n variation = parseFloat(text, 10);\n this._tag.variation = variation;\n if (isNaN(variation)) {\n if (!this.addError('Invalid variation \\'%0\\'', text)) {\n return false;\n }\n }\n return true;\n };\n\n TagParser.prototype.ensureEnd = function () {\n var shouldBeEmpty = sliceSource(source, index, this._last).trim();\n if (shouldBeEmpty) {\n if (!this.addError('Unknown content \\'%0\\'', shouldBeEmpty)) {\n return false;\n }\n }\n return true;\n };\n\n TagParser.prototype.epilogue = function epilogue() {\n var description;\n\n description = this._tag.description;\n // un-fix potentially sloppy declaration\n if (isAllowedOptional(this._title) && !this._tag.type && description && description.charAt(0) === '[') {\n this._tag.type = this._extra.name;\n if (!this._tag.name) {\n this._tag.name = undefined;\n }\n\n if (!sloppy) {\n if (!this.addError('Missing or invalid tag name')) {\n return false;\n }\n }\n }\n\n return true;\n };\n\n Rules = {\n // http://usejsdoc.org/tags-access.html\n 'access': ['parseAccess'],\n // http://usejsdoc.org/tags-alias.html\n 'alias': ['parseNamePath', 'ensureEnd'],\n // http://usejsdoc.org/tags-augments.html\n 'augments': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-constructor.html\n 'constructor': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // Synonym: http://usejsdoc.org/tags-constructor.html\n 'class': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // Synonym: http://usejsdoc.org/tags-extends.html\n 'extends': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-example.html\n 'example': ['parseCaption'],\n // http://usejsdoc.org/tags-deprecated.html\n 'deprecated': ['parseDescription'],\n // http://usejsdoc.org/tags-global.html\n 'global': ['ensureEnd'],\n // http://usejsdoc.org/tags-inner.html\n 'inner': ['ensureEnd'],\n // http://usejsdoc.org/tags-instance.html\n 'instance': ['ensureEnd'],\n // http://usejsdoc.org/tags-kind.html\n 'kind': ['parseKind'],\n // http://usejsdoc.org/tags-mixes.html\n 'mixes': ['parseNamePath', 'ensureEnd'],\n // http://usejsdoc.org/tags-mixin.html\n 'mixin': ['parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-member.html\n 'member': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-method.html\n 'method': ['parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-module.html\n 'module': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // Synonym: http://usejsdoc.org/tags-method.html\n 'func': ['parseNamePathOptional', 'ensureEnd'],\n // Synonym: http://usejsdoc.org/tags-method.html\n 'function': ['parseNamePathOptional', 'ensureEnd'],\n // Synonym: http://usejsdoc.org/tags-member.html\n 'var': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-name.html\n 'name': ['parseNamePath', 'ensureEnd'],\n // http://usejsdoc.org/tags-namespace.html\n 'namespace': ['parseType', 'parseNamePathOptional', 'ensureEnd'],\n // http://usejsdoc.org/tags-private.html\n 'private': ['parseType', 'parseDescription'],\n // http://usejsdoc.org/tags-protected.html\n 'protected': ['parseType', 'parseDescription'],\n // http://usejsdoc.org/tags-public.html\n 'public': ['parseType', 'parseDescription'],\n // http://usejsdoc.org/tags-readonly.html\n 'readonly': ['ensureEnd'],\n // http://usejsdoc.org/tags-requires.html\n 'requires': ['parseNamePath', 'ensureEnd'],\n // http://usejsdoc.org/tags-since.html\n 'since': ['parseDescription'],\n // http://usejsdoc.org/tags-static.html\n 'static': ['ensureEnd'],\n // http://usejsdoc.org/tags-summary.html\n 'summary': ['parseDescription'],\n // http://usejsdoc.org/tags-this.html\n 'this': ['parseThis', 'ensureEnd'],\n // http://usejsdoc.org/tags-todo.html\n 'todo': ['parseDescription'],\n // http://usejsdoc.org/tags-typedef.html\n 'typedef': ['parseType', 'parseNamePathOptional'],\n // http://usejsdoc.org/tags-variation.html\n 'variation': ['parseVariation'],\n // http://usejsdoc.org/tags-version.html\n 'version': ['parseDescription']\n };\n\n TagParser.prototype.parse = function parse() {\n var i, iz, sequences, method;\n\n\n // empty title\n if (!this._title) {\n if (!this.addError('Missing or invalid title')) {\n return null;\n }\n }\n\n // Seek to content last index.\n this._last = seekContent(this._title);\n\n if (this._options.range) {\n this._tag.range = [this._first, source.slice(0, this._last).replace(/\\s*$/, '').length].map(convertIndex);\n }\n\n if (hasOwnProperty(Rules, this._title)) {\n sequences = Rules[this._title];\n } else {\n // default sequences\n sequences = ['parseType', 'parseName', 'parseDescription', 'epilogue'];\n }\n\n for (i = 0, iz = sequences.length; i < iz; ++i) {\n method = sequences[i];\n if (!this[method]()) {\n return null;\n }\n }\n\n return this._tag;\n };\n\n function parseTag(options) {\n var title, parser, tag;\n\n // skip to tag\n if (!skipToTag()) {\n return null;\n }\n\n // scan title\n title = scanTitle();\n\n // construct tag parser\n parser = new TagParser(options, title);\n tag = parser.parse();\n\n // Seek global index to end of this tag.\n while (index < parser._last) {\n advance();\n }\n\n return tag;\n }\n\n //\n // Parse JSDoc\n //\n\n function scanJSDocDescription(preserveWhitespace) {\n var description = '', ch, atAllowed;\n\n atAllowed = true;\n while (index < length) {\n ch = source.charCodeAt(index);\n\n if (atAllowed && ch === 0x40 /* '@' */) {\n break;\n }\n\n if (esutils.code.isLineTerminator(ch)) {\n atAllowed = true;\n } else if (atAllowed && !esutils.code.isWhiteSpace(ch)) {\n atAllowed = false;\n }\n\n description += advance();\n }\n\n return preserveWhitespace ? description : description.trim();\n }\n\n function parse(comment, options) {\n var tags = [], tag, description, interestingTags, i, iz;\n\n if (options === undefined) {\n options = {};\n }\n\n if (typeof options.unwrap === 'boolean' && options.unwrap) {\n source = unwrapComment(comment);\n } else {\n source = comment;\n }\n\n originalSource = comment;\n\n // array of relevant tags\n if (options.tags) {\n if (Array.isArray(options.tags)) {\n interestingTags = { };\n for (i = 0, iz = options.tags.length; i < iz; i++) {\n if (typeof options.tags[i] === 'string') {\n interestingTags[options.tags[i]] = true;\n } else {\n utility.throwError('Invalid \"tags\" parameter: ' + options.tags);\n }\n }\n } else {\n utility.throwError('Invalid \"tags\" parameter: ' + options.tags);\n }\n }\n\n length = source.length;\n index = 0;\n lineNumber = 0;\n recoverable = options.recoverable;\n sloppy = options.sloppy;\n strict = options.strict;\n\n description = scanJSDocDescription(options.preserveWhitespace);\n\n while (true) {\n tag = parseTag(options);\n if (!tag) {\n break;\n }\n if (!interestingTags || interestingTags.hasOwnProperty(tag.title)) {\n tags.push(tag);\n }\n }\n\n return {\n description: description,\n tags: tags\n };\n }\n exports.parse = parse;\n }(jsdoc = {}));\n\n exports.version = utility.VERSION;\n exports.parse = jsdoc.parse;\n exports.parseType = typed.parseType;\n exports.parseParamType = typed.parseParamType;\n exports.unwrapComment = unwrapComment;\n exports.Syntax = shallowCopy(typed.Syntax);\n exports.Error = utility.DoctrineError;\n exports.type = {\n Syntax: exports.Syntax,\n parseType: typed.parseType,\n parseParamType: typed.parseParamType,\n stringify: typed.stringify\n };\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n", "import { useRef } from \"react\";\n\n// Saves incoming handler to the ref in order to avoid \"useCallback hell\"\nexport function useEventCallback(handler?: (value: T) => void): (value: T) => void {\n const callbackRef = useRef(handler);\n const fn = useRef((value: T) => {\n callbackRef.current && callbackRef.current(value);\n });\n callbackRef.current = handler;\n\n return fn.current;\n}\n", "// Clamps a value between an upper and lower bound.\n// We use ternary operators because it makes the minified code\n// 2 times shorter then `Math.min(Math.max(a,b),c)`\nexport const clamp = (number: number, min = 0, max = 1): number => {\n return number > max ? max : number < min ? min : number;\n};\n", "import React, { useRef, useMemo, useEffect } from \"react\";\n\nimport { useEventCallback } from \"../../hooks/useEventCallback\";\nimport { clamp } from \"../../utils/clamp\";\n\nexport interface Interaction {\n left: number;\n top: number;\n}\n\n// Check if an event was triggered by touch\nconst isTouch = (event: MouseEvent | TouchEvent): event is TouchEvent => \"touches\" in event;\n\n// Finds a proper touch point by its identifier\nconst getTouchPoint = (touches: TouchList, touchId: null | number): Touch => {\n for (let i = 0; i < touches.length; i++) {\n if (touches[i].identifier === touchId) return touches[i];\n }\n return touches[0];\n};\n\n// Finds the proper window object to fix iframe embedding issues\nconst getParentWindow = (node?: HTMLDivElement | null): Window => {\n return (node && node.ownerDocument.defaultView) || self;\n};\n\n// Returns a relative position of the pointer inside the node's bounding box\nconst getRelativePosition = (\n node: HTMLDivElement,\n event: MouseEvent | TouchEvent,\n touchId: null | number\n): Interaction => {\n const rect = node.getBoundingClientRect();\n\n // Get user's pointer position from `touches` array if it's a `TouchEvent`\n const pointer = isTouch(event) ? getTouchPoint(event.touches, touchId) : (event as MouseEvent);\n\n return {\n left: clamp((pointer.pageX - (rect.left + getParentWindow(node).pageXOffset)) / rect.width),\n top: clamp((pointer.pageY - (rect.top + getParentWindow(node).pageYOffset)) / rect.height),\n };\n};\n\n// Browsers introduced an intervention, making touch events passive by default.\n// This workaround removes `preventDefault` call from the touch handlers.\n// https://github.com/facebook/react/issues/19651\nconst preventDefaultMove = (event: MouseEvent | TouchEvent): void => {\n !isTouch(event) && event.preventDefault();\n};\n\n// Prevent mobile browsers from handling mouse events (conflicting with touch ones).\n// If we detected a touch interaction before, we prefer reacting to touch events only.\nconst isInvalid = (event: MouseEvent | TouchEvent, hasTouch: boolean): boolean => {\n return hasTouch && !isTouch(event);\n};\n\ninterface Props {\n onMove: (interaction: Interaction) => void;\n onKey: (offset: Interaction) => void;\n children: React.ReactNode;\n}\n\nconst InteractiveBase = ({ onMove, onKey, ...rest }: Props) => {\n const container = useRef(null);\n const onMoveCallback = useEventCallback(onMove);\n const onKeyCallback = useEventCallback(onKey);\n const touchId = useRef(null);\n const hasTouch = useRef(false);\n\n const [handleMoveStart, handleKeyDown, toggleDocumentEvents] = useMemo(() => {\n const handleMoveStart = ({ nativeEvent }: React.MouseEvent | React.TouchEvent) => {\n const el = container.current;\n if (!el) return;\n\n // Prevent text selection\n preventDefaultMove(nativeEvent);\n\n if (isInvalid(nativeEvent, hasTouch.current) || !el) return;\n\n if (isTouch(nativeEvent)) {\n hasTouch.current = true;\n const changedTouches = nativeEvent.changedTouches || [];\n if (changedTouches.length) touchId.current = changedTouches[0].identifier;\n }\n\n el.focus();\n onMoveCallback(getRelativePosition(el, nativeEvent, touchId.current));\n toggleDocumentEvents(true);\n };\n\n const handleMove = (event: MouseEvent | TouchEvent) => {\n // Prevent text selection\n preventDefaultMove(event);\n\n // If user moves the pointer outside of the window or iframe bounds and release it there,\n // `mouseup`/`touchend` won't be fired. In order to stop the picker from following the cursor\n // after the user has moved the mouse/finger back to the document, we check `event.buttons`\n // and `event.touches`. It allows us to detect that the user is just moving his pointer\n // without pressing it down\n const isDown = isTouch(event) ? event.touches.length > 0 : event.buttons > 0;\n\n if (isDown && container.current) {\n onMoveCallback(getRelativePosition(container.current, event, touchId.current));\n } else {\n toggleDocumentEvents(false);\n }\n };\n\n const handleMoveEnd = () => toggleDocumentEvents(false);\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n const keyCode = event.which || event.keyCode;\n\n // Ignore all keys except arrow ones\n if (keyCode < 37 || keyCode > 40) return;\n // Do not scroll page by arrow keys when document is focused on the element\n event.preventDefault();\n // Send relative offset to the parent component.\n // We use codes (37←, 38↑, 39→, 40↓) instead of keys ('ArrowRight', 'ArrowDown', etc)\n // to reduce the size of the library\n onKeyCallback({\n left: keyCode === 39 ? 0.05 : keyCode === 37 ? -0.05 : 0,\n top: keyCode === 40 ? 0.05 : keyCode === 38 ? -0.05 : 0,\n });\n };\n\n function toggleDocumentEvents(state?: boolean) {\n const touch = hasTouch.current;\n const el = container.current;\n const parentWindow = getParentWindow(el);\n\n // Add or remove additional pointer event listeners\n const toggleEvent = state ? parentWindow.addEventListener : parentWindow.removeEventListener;\n toggleEvent(touch ? \"touchmove\" : \"mousemove\", handleMove);\n toggleEvent(touch ? \"touchend\" : \"mouseup\", handleMoveEnd);\n }\n\n return [handleMoveStart, handleKeyDown, toggleDocumentEvents];\n }, [onKeyCallback, onMoveCallback]);\n\n // Remove window event listeners before unmounting\n useEffect(() => toggleDocumentEvents, [toggleDocumentEvents]);\n\n return (\n \n );\n};\n\nexport const Interactive = React.memo(InteractiveBase);\n", "export const formatClassName = (names: unknown[]): string => names.filter(Boolean).join(\" \");\n", "import React from \"react\";\nimport { formatClassName } from \"../../utils/format\";\n\ninterface Props {\n className?: string;\n top?: number;\n left: number;\n color: string;\n}\n\nexport const Pointer = ({ className, color, left, top = 0.5 }: Props): JSX.Element => {\n const nodeClassName = formatClassName([\"react-colorful__pointer\", className]);\n\n const style = {\n top: `${top * 100}%`,\n left: `${left * 100}%`,\n };\n\n return (\n
    \n
    \n
    \n );\n};\n", "export const round = (number: number, digits = 0, base = Math.pow(10, digits)): number => {\n return Math.round(base * number) / base;\n};\n", "import { round } from \"./round\";\nimport { RgbaColor, RgbColor, HslaColor, HslColor, HsvaColor, HsvColor } from \"../types\";\n\n/**\n * Valid CSS units.\n * https://developer.mozilla.org/en-US/docs/Web/CSS/angle\n */\nconst angleUnits: Record = {\n grad: 360 / 400,\n turn: 360,\n rad: 360 / (Math.PI * 2),\n};\n\nexport const hexToHsva = (hex: string): HsvaColor => rgbaToHsva(hexToRgba(hex));\n\nexport const hexToRgba = (hex: string): RgbaColor => {\n if (hex[0] === \"#\") hex = hex.substring(1);\n\n if (hex.length < 6) {\n return {\n r: parseInt(hex[0] + hex[0], 16),\n g: parseInt(hex[1] + hex[1], 16),\n b: parseInt(hex[2] + hex[2], 16),\n a: hex.length === 4 ? round(parseInt(hex[3] + hex[3], 16) / 255, 2) : 1,\n };\n }\n\n return {\n r: parseInt(hex.substring(0, 2), 16),\n g: parseInt(hex.substring(2, 4), 16),\n b: parseInt(hex.substring(4, 6), 16),\n a: hex.length === 8 ? round(parseInt(hex.substring(6, 8), 16) / 255, 2) : 1,\n };\n};\n\nexport const parseHue = (value: string, unit = \"deg\"): number => {\n return Number(value) * (angleUnits[unit] || 1);\n};\n\nexport const hslaStringToHsva = (hslString: string): HsvaColor => {\n const matcher = /hsla?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n const match = matcher.exec(hslString);\n\n if (!match) return { h: 0, s: 0, v: 0, a: 1 };\n\n return hslaToHsva({\n h: parseHue(match[1], match[2]),\n s: Number(match[3]),\n l: Number(match[4]),\n a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1),\n });\n};\n\nexport const hslStringToHsva = hslaStringToHsva;\n\nexport const hslaToHsva = ({ h, s, l, a }: HslaColor): HsvaColor => {\n s *= (l < 50 ? l : 100 - l) / 100;\n\n return {\n h: h,\n s: s > 0 ? ((2 * s) / (l + s)) * 100 : 0,\n v: l + s,\n a,\n };\n};\n\nexport const hsvaToHex = (hsva: HsvaColor): string => rgbaToHex(hsvaToRgba(hsva));\n\nexport const hsvaToHsla = ({ h, s, v, a }: HsvaColor): HslaColor => {\n const hh = ((200 - s) * v) / 100;\n\n return {\n h: round(h),\n s: round(hh > 0 && hh < 200 ? ((s * v) / 100 / (hh <= 100 ? hh : 200 - hh)) * 100 : 0),\n l: round(hh / 2),\n a: round(a, 2),\n };\n};\n\nexport const hsvaToHslString = (hsva: HsvaColor): string => {\n const { h, s, l } = hsvaToHsla(hsva);\n return `hsl(${h}, ${s}%, ${l}%)`;\n};\n\nexport const hsvaToHsvString = (hsva: HsvaColor): string => {\n const { h, s, v } = roundHsva(hsva);\n return `hsv(${h}, ${s}%, ${v}%)`;\n};\n\nexport const hsvaToHsvaString = (hsva: HsvaColor): string => {\n const { h, s, v, a } = roundHsva(hsva);\n return `hsva(${h}, ${s}%, ${v}%, ${a})`;\n};\n\nexport const hsvaToHslaString = (hsva: HsvaColor): string => {\n const { h, s, l, a } = hsvaToHsla(hsva);\n return `hsla(${h}, ${s}%, ${l}%, ${a})`;\n};\n\nexport const hsvaToRgba = ({ h, s, v, a }: HsvaColor): RgbaColor => {\n h = (h / 360) * 6;\n s = s / 100;\n v = v / 100;\n\n const hh = Math.floor(h),\n b = v * (1 - s),\n c = v * (1 - (h - hh) * s),\n d = v * (1 - (1 - h + hh) * s),\n module = hh % 6;\n\n return {\n r: round([v, c, b, b, d, v][module] * 255),\n g: round([d, v, v, c, b, b][module] * 255),\n b: round([b, b, d, v, v, c][module] * 255),\n a: round(a, 2),\n };\n};\n\nexport const hsvaToRgbString = (hsva: HsvaColor): string => {\n const { r, g, b } = hsvaToRgba(hsva);\n return `rgb(${r}, ${g}, ${b})`;\n};\n\nexport const hsvaToRgbaString = (hsva: HsvaColor): string => {\n const { r, g, b, a } = hsvaToRgba(hsva);\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n};\n\nexport const hsvaStringToHsva = (hsvString: string): HsvaColor => {\n const matcher = /hsva?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n const match = matcher.exec(hsvString);\n\n if (!match) return { h: 0, s: 0, v: 0, a: 1 };\n\n return roundHsva({\n h: parseHue(match[1], match[2]),\n s: Number(match[3]),\n v: Number(match[4]),\n a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1),\n });\n};\n\nexport const hsvStringToHsva = hsvaStringToHsva;\n\nexport const rgbaStringToHsva = (rgbaString: string): HsvaColor => {\n const matcher = /rgba?\\(?\\s*(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n const match = matcher.exec(rgbaString);\n\n if (!match) return { h: 0, s: 0, v: 0, a: 1 };\n\n return rgbaToHsva({\n r: Number(match[1]) / (match[2] ? 100 / 255 : 1),\n g: Number(match[3]) / (match[4] ? 100 / 255 : 1),\n b: Number(match[5]) / (match[6] ? 100 / 255 : 1),\n a: match[7] === undefined ? 1 : Number(match[7]) / (match[8] ? 100 : 1),\n });\n};\n\nexport const rgbStringToHsva = rgbaStringToHsva;\n\nconst format = (number: number) => {\n const hex = number.toString(16);\n return hex.length < 2 ? \"0\" + hex : hex;\n};\n\nexport const rgbaToHex = ({ r, g, b, a }: RgbaColor): string => {\n const alphaHex = a < 1 ? format(round(a * 255)) : \"\";\n return \"#\" + format(r) + format(g) + format(b) + alphaHex;\n};\n\nexport const rgbaToHsva = ({ r, g, b, a }: RgbaColor): HsvaColor => {\n const max = Math.max(r, g, b);\n const delta = max - Math.min(r, g, b);\n\n // prettier-ignore\n const hh = delta\n ? max === r\n ? (g - b) / delta\n : max === g\n ? 2 + (b - r) / delta\n : 4 + (r - g) / delta\n : 0;\n\n return {\n h: round(60 * (hh < 0 ? hh + 6 : hh)),\n s: round(max ? (delta / max) * 100 : 0),\n v: round((max / 255) * 100),\n a,\n };\n};\n\nexport const roundHsva = (hsva: HsvaColor): HsvaColor => ({\n h: round(hsva.h),\n s: round(hsva.s),\n v: round(hsva.v),\n a: round(hsva.a, 2),\n});\n\nexport const rgbaToRgb = ({ r, g, b }: RgbaColor): RgbColor => ({ r, g, b });\n\nexport const hslaToHsl = ({ h, s, l }: HslaColor): HslColor => ({ h, s, l });\n\nexport const hsvaToHsv = (hsva: HsvaColor): HsvColor => {\n const { h, s, v } = roundHsva(hsva);\n return { h, s, v };\n};\n", "import React from \"react\";\n\nimport { Interactive, Interaction } from \"./Interactive\";\nimport { Pointer } from \"./Pointer\";\n\nimport { hsvaToHslString } from \"../../utils/convert\";\nimport { formatClassName } from \"../../utils/format\";\nimport { clamp } from \"../../utils/clamp\";\nimport { round } from \"../../utils/round\";\n\ninterface Props {\n className?: string;\n hue: number;\n onChange: (newHue: { h: number }) => void;\n}\n\nconst HueBase = ({ className, hue, onChange }: Props) => {\n const handleMove = (interaction: Interaction) => {\n onChange({ h: 360 * interaction.left });\n };\n\n const handleKey = (offset: Interaction) => {\n // Hue measured in degrees of the color circle ranging from 0 to 360\n onChange({\n h: clamp(hue + offset.left * 360, 0, 360),\n });\n };\n\n const nodeClassName = formatClassName([\"react-colorful__hue\", className]);\n\n return (\n
    \n \n \n \n
    \n );\n};\n\nexport const Hue = React.memo(HueBase);\n", "import React from \"react\";\nimport { Interactive, Interaction } from \"./Interactive\";\nimport { Pointer } from \"./Pointer\";\nimport { HsvaColor } from \"../../types\";\nimport { hsvaToHslString } from \"../../utils/convert\";\nimport { clamp } from \"../../utils/clamp\";\nimport { round } from \"../../utils/round\";\n\ninterface Props {\n hsva: HsvaColor;\n onChange: (newColor: { s: number; v: number }) => void;\n}\n\nconst SaturationBase = ({ hsva, onChange }: Props) => {\n const handleMove = (interaction: Interaction) => {\n onChange({\n s: interaction.left * 100,\n v: 100 - interaction.top * 100,\n });\n };\n\n const handleKey = (offset: Interaction) => {\n // Saturation and brightness always fit into [0, 100] range\n onChange({\n s: clamp(hsva.s + offset.left * 100, 0, 100),\n v: clamp(hsva.v - offset.top * 100, 0, 100),\n });\n };\n\n const containerStyle = {\n backgroundColor: hsvaToHslString({ h: hsva.h, s: 100, v: 100, a: 1 }),\n };\n\n return (\n
    \n \n \n \n
    \n );\n};\n\nexport const Saturation = React.memo(SaturationBase);\n", "import { hexToRgba } from \"./convert\";\nimport { ObjectColor } from \"../types\";\n\nexport const equalColorObjects = (first: ObjectColor, second: ObjectColor): boolean => {\n if (first === second) return true;\n\n for (const prop in first) {\n // The following allows for a type-safe calling of this function (first & second have to be HSL, HSV, or RGB)\n // with type-unsafe iterating over object keys. TS does not allow this without an index (`[key: string]: number`)\n // on an object to define how iteration is normally done. To ensure extra keys are not allowed on our types,\n // we must cast our object to unknown (as RGB demands `r` be a key, while `Record` does not care if\n // there is or not), and then as a type TS can iterate over.\n if (\n ((first as unknown) as Record)[prop] !==\n ((second as unknown) as Record)[prop]\n )\n return false;\n }\n\n return true;\n};\n\nexport const equalColorString = (first: string, second: string): boolean => {\n return first.replace(/\\s/g, \"\") === second.replace(/\\s/g, \"\");\n};\n\nexport const equalHex = (first: string, second: string): boolean => {\n if (first.toLowerCase() === second.toLowerCase()) return true;\n\n // To compare colors like `#FFF` and `ffffff` we convert them into RGB objects\n return equalColorObjects(hexToRgba(first), hexToRgba(second));\n};\n", "import { useState, useEffect, useCallback, useRef } from \"react\";\nimport { ColorModel, AnyColor, HsvaColor } from \"../types\";\nimport { equalColorObjects } from \"../utils/compare\";\nimport { useEventCallback } from \"./useEventCallback\";\n\nexport function useColorManipulation(\n colorModel: ColorModel,\n color: T,\n onChange?: (color: T) => void\n): [HsvaColor, (color: Partial) => void] {\n // Save onChange callback in the ref for avoiding \"useCallback hell\"\n const onChangeCallback = useEventCallback(onChange);\n\n // No matter which color model is used (HEX, RGB(A) or HSL(A)),\n // all internal calculations are based on HSVA model\n const [hsva, updateHsva] = useState(() => colorModel.toHsva(color));\n\n // By using this ref we're able to prevent extra updates\n // and the effects recursion during the color conversion\n const cache = useRef({ color, hsva });\n\n // Update local HSVA-value if `color` property value is changed,\n // but only if that's not the same color that we just sent to the parent\n useEffect(() => {\n if (!colorModel.equal(color, cache.current.color)) {\n const newHsva = colorModel.toHsva(color);\n cache.current = { hsva: newHsva, color };\n updateHsva(newHsva);\n }\n }, [color, colorModel]);\n\n // Trigger `onChange` callback only if an updated color is different from cached one;\n // save the new color to the ref to prevent unnecessary updates\n useEffect(() => {\n let newColor;\n if (\n !equalColorObjects(hsva, cache.current.hsva) &&\n !colorModel.equal((newColor = colorModel.fromHsva(hsva)), cache.current.color)\n ) {\n cache.current = { hsva, color: newColor };\n onChangeCallback(newColor);\n }\n }, [hsva, colorModel, onChangeCallback]);\n\n // Merge the current HSVA color object with updated params.\n // For example, when a child component sends `h` or `s` only\n const handleChange = useCallback((params: Partial) => {\n updateHsva((current) => Object.assign({}, current, params));\n }, []);\n\n return [hsva, handleChange];\n}\n", "declare const __webpack_nonce__: string | undefined;\nlet nonce: string | undefined;\n\n/**\n * Returns a nonce hash included by Webpack or the one defined manually by developer.\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce\n * https://webpack.js.org/guides/csp/\n */\nexport const getNonce = (): string | undefined => {\n if (nonce) return nonce;\n if (typeof __webpack_nonce__ !== \"undefined\") return __webpack_nonce__;\n return undefined;\n};\n\n/**\n * Signs the style tag with a base64-encoded string (nonce) to conforms to Content Security Policies.\n * This function has to be invoked before any picker is rendered if you aren't using Webpack for CSP.\n */\nexport const setNonce = (hash: string): void => {\n nonce = hash;\n};\n", "import { useLayoutEffect, useEffect } from \"react\";\n\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\nexport const useIsomorphicLayoutEffect =\n typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n", "import { RefObject } from \"react\";\n\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect\";\nimport { getNonce } from \"../utils/nonce\";\n\n// Bundler is configured to load this as a processed minified CSS-string\nimport styles from \"../css/styles.css\";\n\nconst styleElementMap: Map = new Map();\n\n/**\n * Injects CSS code into the document's \n */\nexport const useStyleSheet = (nodeRef: RefObject): void => {\n useIsomorphicLayoutEffect(() => {\n const parentDocument = nodeRef.current ? nodeRef.current.ownerDocument : document;\n\n if (typeof parentDocument !== \"undefined\" && !styleElementMap.has(parentDocument)) {\n const styleElement = parentDocument.createElement(\"style\");\n styleElement.innerHTML = styles;\n styleElementMap.set(parentDocument, styleElement);\n\n // Conform to CSP rules by setting `nonce` attribute to the inline styles\n const nonce = getNonce();\n if (nonce) styleElement.setAttribute(\"nonce\", nonce);\n\n parentDocument.head.appendChild(styleElement);\n }\n }, []);\n};\n", "import React, { useRef } from \"react\";\n\nimport { Hue } from \"./Hue\";\nimport { Saturation } from \"./Saturation\";\n\nimport { ColorModel, ColorPickerBaseProps, AnyColor } from \"../../types\";\nimport { useColorManipulation } from \"../../hooks/useColorManipulation\";\nimport { useStyleSheet } from \"../../hooks/useStyleSheet\";\nimport { formatClassName } from \"../../utils/format\";\n\ninterface Props extends Partial> {\n colorModel: ColorModel;\n}\n\nexport const ColorPicker = ({\n className,\n colorModel,\n color = colorModel.defaultColor,\n onChange,\n ...rest\n}: Props): JSX.Element => {\n const nodeRef = useRef(null);\n useStyleSheet(nodeRef);\n\n const [hsva, updateHsva] = useColorManipulation(colorModel, color, onChange);\n\n const nodeClassName = formatClassName([\"react-colorful\", className]);\n\n return (\n
    \n \n \n
    \n );\n};\n", "import React from \"react\";\n\nimport { ColorPicker } from \"./common/ColorPicker\";\nimport { ColorModel, ColorPickerBaseProps } from \"../types\";\nimport { equalHex } from \"../utils/compare\";\nimport { hexToHsva, hsvaToHex } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: \"000\",\n toHsva: hexToHsva,\n fromHsva: ({ h, s, v }) => hsvaToHex({ h, s, v, a: 1 }),\n equal: equalHex,\n};\n\nexport const HexColorPicker = (props: Partial>): JSX.Element => (\n \n);\n", "import React from \"react\";\n\nimport { Interactive, Interaction } from \"./Interactive\";\nimport { Pointer } from \"./Pointer\";\n\nimport { hsvaToHslaString } from \"../../utils/convert\";\nimport { formatClassName } from \"../../utils/format\";\nimport { clamp } from \"../../utils/clamp\";\nimport { round } from \"../../utils/round\";\nimport { HsvaColor } from \"../../types\";\n\ninterface Props {\n className?: string;\n hsva: HsvaColor;\n onChange: (newAlpha: { a: number }) => void;\n}\n\nexport const Alpha = ({ className, hsva, onChange }: Props): JSX.Element => {\n const handleMove = (interaction: Interaction) => {\n onChange({ a: interaction.left });\n };\n\n const handleKey = (offset: Interaction) => {\n // Alpha always fit into [0, 1] range\n onChange({ a: clamp(hsva.a + offset.left) });\n };\n\n // We use `Object.assign` instead of the spread operator\n // to prevent adding the polyfill (about 150 bytes gzipped)\n const colorFrom = hsvaToHslaString(Object.assign({}, hsva, { a: 0 }));\n const colorTo = hsvaToHslaString(Object.assign({}, hsva, { a: 1 }));\n\n const gradientStyle = {\n backgroundImage: `linear-gradient(90deg, ${colorFrom}, ${colorTo})`,\n };\n\n const nodeClassName = formatClassName([\"react-colorful__alpha\", className]);\n const ariaValue = round(hsva.a * 100);\n\n return (\n
    \n
    \n \n \n \n
    \n );\n};\n", "import React, { useRef } from \"react\";\n\nimport { Hue } from \"./Hue\";\nimport { Saturation } from \"./Saturation\";\nimport { Alpha } from \"./Alpha\";\n\nimport { ColorModel, ColorPickerBaseProps, AnyColor } from \"../../types\";\nimport { useColorManipulation } from \"../../hooks/useColorManipulation\";\nimport { useStyleSheet } from \"../../hooks/useStyleSheet\";\nimport { formatClassName } from \"../../utils/format\";\n\ninterface Props extends Partial> {\n colorModel: ColorModel;\n}\n\nexport const AlphaColorPicker = ({\n className,\n colorModel,\n color = colorModel.defaultColor,\n onChange,\n ...rest\n}: Props): JSX.Element => {\n const nodeRef = useRef(null);\n useStyleSheet(nodeRef);\n\n const [hsva, updateHsva] = useColorManipulation(colorModel, color, onChange);\n\n const nodeClassName = formatClassName([\"react-colorful\", className]);\n\n return (\n
    \n \n \n \n
    \n );\n};\n", "import React from \"react\";\n\nimport { AlphaColorPicker } from \"./common/AlphaColorPicker\";\nimport { ColorModel, ColorPickerBaseProps } from \"../types\";\nimport { equalHex } from \"../utils/compare\";\nimport { hexToHsva, hsvaToHex } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: \"0001\",\n toHsva: hexToHsva,\n fromHsva: hsvaToHex,\n equal: equalHex,\n};\n\nexport const HexAlphaColorPicker = (props: Partial>): JSX.Element => (\n \n);\n", "import React from \"react\";\n\nimport { AlphaColorPicker } from \"./common/AlphaColorPicker\";\nimport { ColorModel, ColorPickerBaseProps, HslaColor } from \"../types\";\nimport { equalColorObjects } from \"../utils/compare\";\nimport { hslaToHsva, hsvaToHsla } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: { h: 0, s: 0, l: 0, a: 1 },\n toHsva: hslaToHsva,\n fromHsva: hsvaToHsla,\n equal: equalColorObjects,\n};\n\nexport const HslaColorPicker = (props: Partial>): JSX.Element => (\n \n);\n", "import React from \"react\";\n\nimport { AlphaColorPicker } from \"./common/AlphaColorPicker\";\nimport { ColorModel, ColorPickerBaseProps } from \"../types\";\nimport { equalColorString } from \"../utils/compare\";\nimport { hslaStringToHsva, hsvaToHslaString } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: \"hsla(0, 0%, 0%, 1)\",\n toHsva: hslaStringToHsva,\n fromHsva: hsvaToHslaString,\n equal: equalColorString,\n};\n\nexport const HslaStringColorPicker = (\n props: Partial>\n): JSX.Element => ;\n", "import React from \"react\";\n\nimport { ColorPicker } from \"./common/ColorPicker\";\nimport { ColorModel, ColorPickerBaseProps, HslColor } from \"../types\";\nimport { equalColorObjects } from \"../utils/compare\";\nimport { hslaToHsva, hsvaToHsla, hslaToHsl } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: { h: 0, s: 0, l: 0 },\n toHsva: ({ h, s, l }) => hslaToHsva({ h, s, l, a: 1 }),\n fromHsva: (hsva) => hslaToHsl(hsvaToHsla(hsva)),\n equal: equalColorObjects,\n};\n\nexport const HslColorPicker = (props: Partial>): JSX.Element => (\n \n);\n", "import React from \"react\";\n\nimport { ColorPicker } from \"./common/ColorPicker\";\nimport { ColorModel, ColorPickerBaseProps } from \"../types\";\nimport { equalColorString } from \"../utils/compare\";\nimport { hslStringToHsva, hsvaToHslString } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: \"hsl(0, 0%, 0%)\",\n toHsva: hslStringToHsva,\n fromHsva: hsvaToHslString,\n equal: equalColorString,\n};\n\nexport const HslStringColorPicker = (props: Partial>): JSX.Element => (\n \n);\n", "import React from \"react\";\n\nimport { AlphaColorPicker } from \"./common/AlphaColorPicker\";\nimport { ColorModel, ColorPickerBaseProps, HsvaColor } from \"../types\";\nimport { equalColorObjects } from \"../utils/compare\";\nimport { roundHsva } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: { h: 0, s: 0, v: 0, a: 1 },\n toHsva: (hsva) => hsva,\n fromHsva: roundHsva,\n equal: equalColorObjects,\n};\n\nexport const HsvaColorPicker = (props: Partial>): JSX.Element => (\n \n);\n", "import React from \"react\";\n\nimport { AlphaColorPicker } from \"./common/AlphaColorPicker\";\nimport { ColorModel, ColorPickerBaseProps } from \"../types\";\nimport { equalColorString } from \"../utils/compare\";\nimport { hsvaStringToHsva, hsvaToHsvaString } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: \"hsva(0, 0%, 0%, 1)\",\n toHsva: hsvaStringToHsva,\n fromHsva: hsvaToHsvaString,\n equal: equalColorString,\n};\n\nexport const HsvaStringColorPicker = (\n props: Partial>\n): JSX.Element => ;\n", "import React from \"react\";\n\nimport { ColorPicker } from \"./common/ColorPicker\";\nimport { ColorModel, ColorPickerBaseProps, HsvColor } from \"../types\";\nimport { equalColorObjects } from \"../utils/compare\";\nimport { hsvaToHsv } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: { h: 0, s: 0, v: 0 },\n toHsva: ({ h, s, v }) => ({ h, s, v, a: 1 }),\n fromHsva: hsvaToHsv,\n equal: equalColorObjects,\n};\n\nexport const HsvColorPicker = (props: Partial>): JSX.Element => (\n \n);\n", "import React from \"react\";\n\nimport { ColorPicker } from \"./common/ColorPicker\";\nimport { ColorModel, ColorPickerBaseProps } from \"../types\";\nimport { equalColorString } from \"../utils/compare\";\nimport { hsvStringToHsva, hsvaToHsvString } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: \"hsv(0, 0%, 0%)\",\n toHsva: hsvStringToHsva,\n fromHsva: hsvaToHsvString,\n equal: equalColorString,\n};\n\nexport const HsvStringColorPicker = (props: Partial>): JSX.Element => (\n \n);\n", "import React from \"react\";\n\nimport { AlphaColorPicker } from \"./common/AlphaColorPicker\";\nimport { ColorModel, ColorPickerBaseProps, RgbaColor } from \"../types\";\nimport { equalColorObjects } from \"../utils/compare\";\nimport { rgbaToHsva, hsvaToRgba } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: { r: 0, g: 0, b: 0, a: 1 },\n toHsva: rgbaToHsva,\n fromHsva: hsvaToRgba,\n equal: equalColorObjects,\n};\n\nexport const RgbaColorPicker = (props: Partial>): JSX.Element => (\n \n);\n", "import React from \"react\";\n\nimport { AlphaColorPicker } from \"./common/AlphaColorPicker\";\nimport { ColorModel, ColorPickerBaseProps } from \"../types\";\nimport { equalColorString } from \"../utils/compare\";\nimport { rgbaStringToHsva, hsvaToRgbaString } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: \"rgba(0, 0, 0, 1)\",\n toHsva: rgbaStringToHsva,\n fromHsva: hsvaToRgbaString,\n equal: equalColorString,\n};\n\nexport const RgbaStringColorPicker = (\n props: Partial>\n): JSX.Element => ;\n", "import React from \"react\";\n\nimport { ColorPicker } from \"./common/ColorPicker\";\nimport { ColorModel, ColorPickerBaseProps, RgbColor } from \"../types\";\nimport { equalColorObjects } from \"../utils/compare\";\nimport { rgbaToHsva, hsvaToRgba, rgbaToRgb } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: { r: 0, g: 0, b: 0 },\n toHsva: ({ r, g, b }) => rgbaToHsva({ r, g, b, a: 1 }),\n fromHsva: (hsva) => rgbaToRgb(hsvaToRgba(hsva)),\n equal: equalColorObjects,\n};\n\nexport const RgbColorPicker = (props: Partial>): JSX.Element => (\n \n);\n", "import React from \"react\";\n\nimport { ColorPicker } from \"./common/ColorPicker\";\nimport { ColorModel, ColorPickerBaseProps } from \"../types\";\nimport { equalColorString } from \"../utils/compare\";\nimport { rgbStringToHsva, hsvaToRgbString } from \"../utils/convert\";\n\nconst colorModel: ColorModel = {\n defaultColor: \"rgb(0, 0, 0)\",\n toHsva: rgbStringToHsva,\n fromHsva: hsvaToRgbString,\n equal: equalColorString,\n};\n\nexport const RgbStringColorPicker = (props: Partial>): JSX.Element => (\n \n);\n", "const matcher = /^#?([0-9A-F]{3,8})$/i;\n\nexport const validHex = (value: string, alpha?: boolean): boolean => {\n const match = matcher.exec(value);\n const length = match ? match[1].length : 0;\n\n return (\n length === 3 || // '#rgb' format\n length === 6 || // '#rrggbb' format\n (!!alpha && length === 4) || // '#rgba' format\n (!!alpha && length === 8) // '#rrggbbaa' format\n );\n};\n", "import React, { useState, useEffect, useCallback } from \"react\";\n\nimport { useEventCallback } from \"../../hooks/useEventCallback\";\nimport { ColorInputBaseProps } from \"../../types\";\n\ninterface Props extends ColorInputBaseProps {\n /** Blocks typing invalid characters and limits string length */\n escape: (value: string) => string;\n /** Checks that value is valid color string */\n validate: (value: string) => boolean;\n /** Processes value before displaying it in the input */\n format?: (value: string) => string;\n /** Processes value before sending it in `onChange` */\n process?: (value: string) => string;\n}\n\nexport const ColorInput = (props: Props): JSX.Element => {\n const { color = \"\", onChange, onBlur, escape, validate, format, process, ...rest } = props;\n const [value, setValue] = useState(() => escape(color));\n const onChangeCallback = useEventCallback(onChange);\n const onBlurCallback = useEventCallback>(onBlur);\n\n // Trigger `onChange` handler only if the input value is a valid color\n const handleChange = useCallback(\n (e: React.ChangeEvent) => {\n const inputValue = escape(e.target.value);\n setValue(inputValue);\n if (validate(inputValue)) onChangeCallback(process ? process(inputValue) : inputValue);\n },\n [escape, process, validate, onChangeCallback]\n );\n\n // Take the color from props if the last typed color (in local state) is not valid\n const handleBlur = useCallback(\n (e: React.FocusEvent) => {\n if (!validate(e.target.value)) setValue(escape(color));\n onBlurCallback(e);\n },\n [color, escape, validate, onBlurCallback]\n );\n\n // Update the local state when `color` property value is changed\n useEffect(() => {\n setValue(escape(color));\n }, [color, escape]);\n\n return (\n \n );\n};\n", "import React, { useCallback } from \"react\";\nimport { ColorInputBaseProps } from \"../types\";\n\nimport { validHex } from \"../utils/validate\";\nimport { ColorInput } from \"./common/ColorInput\";\n\ninterface HexColorInputProps extends ColorInputBaseProps {\n /** Enables `#` prefix displaying */\n prefixed?: boolean;\n /** Allows `#rgba` and `#rrggbbaa` color formats */\n alpha?: boolean;\n}\n\n/** Adds \"#\" symbol to the beginning of the string */\nconst prefix = (value: string) => \"#\" + value;\n\nexport const HexColorInput = (props: HexColorInputProps): JSX.Element => {\n const { prefixed, alpha, ...rest } = props;\n\n /** Escapes all non-hexadecimal characters including \"#\" */\n const escape = useCallback(\n (value: string) => value.replace(/([^0-9A-F]+)/gi, \"\").substring(0, alpha ? 8 : 6),\n [alpha]\n );\n\n /** Validates hexadecimal strings */\n const validate = useCallback((value: string) => validHex(value, alpha), [alpha]);\n\n return (\n \n );\n};\n", "'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n", "/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n", "const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n", "const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n", "var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n", "/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n", "var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n", "var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n", "var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n", "var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n", "import { getControlId } from './chunk-GWAJ4KRU.mjs';\nimport React, { useCallback, useState, useEffect, useMemo } from 'react';\nimport { HexColorPicker, RgbaStringColorPicker, HslaStringColorPicker } from 'react-colorful';\nimport convert from 'color-convert';\nimport throttle from 'lodash/throttle.js';\nimport { styled } from '@storybook/theming';\nimport { WithTooltip, TooltipNote, Form, Icons } from '@storybook/components';\n\nvar Wrapper=styled.div({position:\"relative\",maxWidth:250}),PickerTooltip=styled(WithTooltip)({position:\"absolute\",zIndex:1,top:4,left:4}),TooltipContent=styled.div({width:200,margin:5,\".react-colorful__saturation\":{borderRadius:\"4px 4px 0 0\"},\".react-colorful__hue\":{boxShadow:\"inset 0 0 0 1px rgb(0 0 0 / 5%)\"},\".react-colorful__last-control\":{borderRadius:\"0 0 4px 4px\"}}),Note=styled(TooltipNote)(({theme})=>({fontFamily:theme.typography.fonts.base})),Swatches=styled.div({display:\"grid\",gridTemplateColumns:\"repeat(9, 16px)\",gap:6,padding:3,marginTop:5,width:200}),SwatchColor=styled.div(({theme,active})=>({width:16,height:16,boxShadow:active?`${theme.appBorderColor} 0 0 0 1px inset, ${theme.textMutedColor}50 0 0 0 4px`:`${theme.appBorderColor} 0 0 0 1px inset`,borderRadius:theme.appBorderRadius})),swatchBackground=`url('data:image/svg+xml;charset=utf-8,')`,Swatch=({value,active,onClick,style,...props})=>{let backgroundImage=`linear-gradient(${value}, ${value}), ${swatchBackground}, linear-gradient(#fff, #fff)`;return React.createElement(SwatchColor,{...props,active,onClick,style:{...style,backgroundImage}})},Input=styled(Form.Input)(({theme})=>({width:\"100%\",paddingLeft:30,paddingRight:30,boxSizing:\"border-box\",fontFamily:theme.typography.fonts.base})),ToggleIcon=styled(Icons)(({theme})=>({position:\"absolute\",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:\"border-box\",cursor:\"pointer\",color:theme.input.color})),ColorSpace=(ColorSpace2=>(ColorSpace2.RGB=\"rgb\",ColorSpace2.HSL=\"hsl\",ColorSpace2.HEX=\"hex\",ColorSpace2))(ColorSpace||{}),COLOR_SPACES=Object.values(ColorSpace),COLOR_REGEXP=/\\(([0-9]+),\\s*([0-9]+)%?,\\s*([0-9]+)%?,?\\s*([0-9.]+)?\\)/,RGB_REGEXP=/^\\s*rgba?\\(([0-9]+),\\s*([0-9]+),\\s*([0-9]+),?\\s*([0-9.]+)?\\)\\s*$/i,HSL_REGEXP=/^\\s*hsla?\\(([0-9]+),\\s*([0-9]+)%,\\s*([0-9]+)%,?\\s*([0-9.]+)?\\)\\s*$/i,HEX_REGEXP=/^\\s*#?([0-9a-f]{3}|[0-9a-f]{6})\\s*$/i,SHORTHEX_REGEXP=/^\\s*#?([0-9a-f]{3})\\s*$/i,ColorPicker={[\"hex\"]:HexColorPicker,[\"rgb\"]:RgbaStringColorPicker,[\"hsl\"]:HslaStringColorPicker},fallbackColor={[\"hex\"]:\"transparent\",[\"rgb\"]:\"rgba(0, 0, 0, 0)\",[\"hsl\"]:\"hsla(0, 0%, 0%, 0)\"},stringToArgs=value=>{let match=value?.match(COLOR_REGEXP);if(!match)return [0,0,0,1];let[,x,y,z,a=1]=match;return [x,y,z,a].map(Number)},parseValue=value=>{if(!value)return;let valid=!0;if(RGB_REGEXP.test(value)){let[r,g,b,a]=stringToArgs(value),[h,s,l]=convert.rgb.hsl([r,g,b])||[0,0,0];return {valid,value,keyword:convert.rgb.keyword([r,g,b]),colorSpace:\"rgb\",[\"rgb\"]:value,[\"hsl\"]:`hsla(${h}, ${s}%, ${l}%, ${a})`,[\"hex\"]:`#${convert.rgb.hex([r,g,b]).toLowerCase()}`}}if(HSL_REGEXP.test(value)){let[h,s,l,a]=stringToArgs(value),[r,g,b]=convert.hsl.rgb([h,s,l])||[0,0,0];return {valid,value,keyword:convert.hsl.keyword([h,s,l]),colorSpace:\"hsl\",[\"rgb\"]:`rgba(${r}, ${g}, ${b}, ${a})`,[\"hsl\"]:value,[\"hex\"]:`#${convert.hsl.hex([h,s,l]).toLowerCase()}`}}let plain=value.replace(\"#\",\"\"),rgb=convert.keyword.rgb(plain)||convert.hex.rgb(plain),hsl=convert.rgb.hsl(rgb),mapped=value;if(/[^#a-f0-9]/i.test(value)?mapped=plain:HEX_REGEXP.test(value)&&(mapped=`#${plain}`),mapped.startsWith(\"#\"))valid=HEX_REGEXP.test(mapped);else try{convert.keyword.hex(mapped);}catch{valid=!1;}return {valid,value:mapped,keyword:convert.rgb.keyword(rgb),colorSpace:\"hex\",[\"rgb\"]:`rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, 1)`,[\"hsl\"]:`hsla(${hsl[0]}, ${hsl[1]}%, ${hsl[2]}%, 1)`,[\"hex\"]:mapped}},getRealValue=(value,color,colorSpace)=>{if(!value||!color?.valid)return fallbackColor[colorSpace];if(colorSpace!==\"hex\")return color?.[colorSpace]||fallbackColor[colorSpace];if(!color.hex.startsWith(\"#\"))try{return `#${convert.keyword.hex(color.hex)}`}catch{return fallbackColor.hex}let short=color.hex.match(SHORTHEX_REGEXP);if(!short)return HEX_REGEXP.test(color.hex)?color.hex:fallbackColor.hex;let[r,g,b]=short[1].split(\"\");return `#${r}${r}${g}${g}${b}${b}`},useColorInput=(initialValue,onChange)=>{let[value,setValue]=useState(initialValue||\"\"),[color,setColor]=useState(()=>parseValue(value)),[colorSpace,setColorSpace]=useState(color?.colorSpace||\"hex\");useEffect(()=>{let nextValue=initialValue||\"\",nextColor=parseValue(nextValue);setValue(nextValue),setColor(nextColor),setColorSpace(nextColor?.colorSpace||\"hex\");},[initialValue]);let realValue=useMemo(()=>getRealValue(value,color,colorSpace).toLowerCase(),[value,color,colorSpace]),updateValue=useCallback(update=>{let parsed=parseValue(update),v=parsed?.value||update||\"\";setValue(v),v===\"\"&&(setColor(void 0),onChange(void 0)),parsed&&(setColor(parsed),setColorSpace(parsed.colorSpace),onChange(parsed.value));},[onChange]),cycleColorSpace=useCallback(()=>{let next=COLOR_SPACES.indexOf(colorSpace)+1;next>=COLOR_SPACES.length&&(next=0),setColorSpace(COLOR_SPACES[next]);let update=color?.[COLOR_SPACES[next]]||\"\";setValue(update),onChange(update);},[color,colorSpace,onChange]);return {value,realValue,updateValue,color,colorSpace,cycleColorSpace}},id=value=>value.replace(/\\s*/,\"\").toLowerCase(),usePresets=(presetColors,currentColor,colorSpace)=>{let[selectedColors,setSelectedColors]=useState(currentColor?.valid?[currentColor]:[]);useEffect(()=>{currentColor===void 0&&setSelectedColors([]);},[currentColor]);let presets=useMemo(()=>(presetColors||[]).map(preset=>typeof preset==\"string\"?parseValue(preset):preset.title?{...parseValue(preset.color),keyword:preset.title}:parseValue(preset.color)).concat(selectedColors).filter(Boolean).slice(-27),[presetColors,selectedColors]),addPreset=useCallback(color=>{color?.valid&&(presets.some(preset=>id(preset[colorSpace])===id(color[colorSpace]))||setSelectedColors(arr=>arr.concat(color)));},[colorSpace,presets]);return {presets,addPreset}},ColorControl=({name,value:initialValue,onChange,onFocus,onBlur,presetColors,startOpen=!1})=>{let throttledOnChange=useCallback(throttle(onChange,200),[onChange]),{value,realValue,updateValue,color,colorSpace,cycleColorSpace}=useColorInput(initialValue,throttledOnChange),{presets,addPreset}=usePresets(presetColors,color,colorSpace),Picker=ColorPicker[colorSpace];return React.createElement(Wrapper,null,React.createElement(PickerTooltip,{startOpen,closeOnOutsideClick:!0,onVisibleChange:()=>addPreset(color),tooltip:React.createElement(TooltipContent,null,React.createElement(Picker,{color:realValue===\"transparent\"?\"#000000\":realValue,onChange:updateValue,onFocus,onBlur}),presets.length>0&&React.createElement(Swatches,null,presets.map((preset,index)=>React.createElement(WithTooltip,{key:`${preset.value}-${index}`,hasChrome:!1,tooltip:React.createElement(Note,{note:preset.keyword||preset.value})},React.createElement(Swatch,{value:preset[colorSpace],active:color&&id(preset[colorSpace])===id(color[colorSpace]),onClick:()=>updateValue(preset.value)})))))},React.createElement(Swatch,{value:realValue,style:{margin:4}})),React.createElement(Input,{id:getControlId(name),value,onChange:e=>updateValue(e.target.value),onFocus:e=>e.target.select(),placeholder:\"Choose color...\"}),value?React.createElement(ToggleIcon,{icon:\"markup\",onClick:cycleColorSpace}):null)},Color_default=ColorControl;\n\nexport { ColorControl, Color_default as default };\n", "import '/home/runner/work/reagraph/reagraph/node_modules/@storybook/addon-essentials/dist/controls/manager.mjs';", "export * from '@storybook/addon-controls/manager';\n", "import { ADDON_ID, PARAM_KEY } from './chunk-I36WBKUI.mjs';\nimport React2 from 'react';\nimport { addons, types, useArgs, useGlobals, useArgTypes, useParameter, useStorybookState } from '@storybook/manager-api';\nimport { AddonPanel } from '@storybook/components';\nimport { NoControlsWarning, PureArgsTable } from '@storybook/blocks';\n\nvar ControlsPanel=()=>{let[args,updateArgs,resetArgs]=useArgs(),[globals]=useGlobals(),rows=useArgTypes(),isArgsStory=useParameter(\"__isArgsStory\",!1),{expanded,sort,presetColors,hideNoControlsWarning=!1}=useParameter(PARAM_KEY,{}),{path}=useStorybookState(),hasControls=Object.values(rows).some(arg=>arg?.control),showWarning=!(hasControls&&isArgsStory)&&!hideNoControlsWarning,withPresetColors=Object.entries(rows).reduce((acc,[key,arg])=>(arg?.control?.type!==\"color\"||arg?.control?.presetColors?acc[key]=arg:acc[key]={...arg,control:{...arg.control,presetColors}},acc),{});return React2.createElement(React2.Fragment,null,showWarning&&React2.createElement(NoControlsWarning,null),React2.createElement(PureArgsTable,{key:path,compact:!expanded&&hasControls,rows:withPresetColors,args,globals,updateArgs,resetArgs,inAddonPanel:!0,sort}))};function Title(){let rows=useArgTypes(),controlsCount=Object.values(rows).filter(argType=>argType?.control&&!argType?.table?.disable).length,suffix=controlsCount===0?\"\":` (${controlsCount})`;return React2.createElement(React2.Fragment,null,\"Controls\",suffix)}addons.register(ADDON_ID,api=>{addons.addPanel(ADDON_ID,{title:React2.createElement(Title,null),id:\"controls\",type:types.PANEL,paramKey:PARAM_KEY,render:({key,active})=>!active||!api.getCurrentStoryData()?null:React2.createElement(AddonPanel,{key,active},React2.createElement(ControlsPanel,null))});});\n", "var ADDON_ID=\"addon-controls\",PARAM_KEY=\"controls\";\n\nexport { ADDON_ID, PARAM_KEY };\n", "export default __STORYBOOKAPI__;\nconst { ActiveTabs, Consumer, ManagerContext, Provider, addons, combineParameters, controlOrMetaKey, controlOrMetaSymbol, eventMatchesShortcut, eventToShortcut, isMacLike, isShortcutTaken, keyToSymbol, merge, mockChannel, optionOrAltSymbol, shortcutMatchesShortcut, shortcutToHumanString, types, useAddonState, useArgTypes, useArgs, useChannel, useGlobalTypes, useGlobals, useParameter, useSharedState, useStoryPrepared, useStorybookApi, useStorybookState } = __STORYBOOKAPI__;\nexport { ActiveTabs, Consumer, ManagerContext, Provider, addons, combineParameters, controlOrMetaKey, controlOrMetaSymbol, eventMatchesShortcut, eventToShortcut, isMacLike, isShortcutTaken, keyToSymbol, merge, mockChannel, optionOrAltSymbol, shortcutMatchesShortcut, shortcutToHumanString, types, useAddonState, useArgTypes, useArgs, useChannel, useGlobalTypes, useGlobals, useParameter, useSharedState, useStoryPrepared, useStorybookApi, useStorybookState };", "import { getControlSetterButtonId, getControlId } from './chunk-GWAJ4KRU.mjs';\nimport React17, { createContext, lazy, Fragment, useState, useCallback, useRef, useEffect, Component, cloneElement, useMemo, Suspense, useContext, Children } from 'react';\nimport { styled, ignoreSsrWarning, themes, ThemeProvider, convert, useTheme, ensure } from '@storybook/theming';\nimport { withReset, SyntaxHighlighter, FlexBar, codeCommon, Icons, IconButton, Form, components, IconButtonSkeleton, Zoom as Zoom$1, ActionBar, Link, ResetWrapper, Code, nameSpaceClassNames, H3, H2, Loader, TabsState, ErrorFormatter, getStoryHref, WithTooltipPure } from '@storybook/components';\nimport { transparentize, darken, opacify, lighten, rgba } from 'polished';\nimport { global } from '@storybook/global';\nimport pickBy from 'lodash/pickBy.js';\nimport { includeConditionalArg } from '@storybook/csf';\nimport { deprecate, once, logger } from '@storybook/client-logger';\nimport Markdown from 'markdown-to-jsx';\nimport memoize from 'memoizerific';\nimport uniq from 'lodash/uniq.js';\nimport cloneDeep from 'lodash/cloneDeep.js';\nimport { filterArgTypes, composeConfigs, Preview as Preview$1, DocsContext as DocsContext$1 } from '@storybook/preview-api';\nimport mapValues from 'lodash/mapValues.js';\nimport { STORY_ARGS_UPDATED, UPDATE_STORY_ARGS, RESET_STORY_ARGS, GLOBALS_UPDATED, NAVIGATE_URL } from '@storybook/core-events';\nimport dedent2 from 'ts-dedent';\nimport { SNIPPET_RENDERED, SourceType, str } from '@storybook/docs-tools';\nimport { stringify } from 'telejson';\nimport { Channel } from '@storybook/channels';\n\nvar Wrapper=styled.div(withReset,({theme})=>({backgroundColor:theme.base===\"light\"?\"rgba(0,0,0,.01)\":\"rgba(255,255,255,.01)\",borderRadius:theme.appBorderRadius,border:`1px dashed ${theme.appBorderColor}`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:20,margin:\"25px 0 40px\",color:transparentize(.3,theme.color.defaultText),fontSize:theme.typography.size.s2})),EmptyBlock=props=>React17.createElement(Wrapper,{...props,className:\"docblock-emptyblock sb-unstyled\"});var StyledSyntaxHighlighter=styled(SyntaxHighlighter)(({theme})=>({fontSize:`${theme.typography.size.s2-1}px`,lineHeight:\"19px\",margin:\"25px 0 40px\",borderRadius:theme.appBorderRadius,boxShadow:theme.base===\"light\"?\"rgba(0, 0, 0, 0.10) 0 1px 3px 0\":\"rgba(0, 0, 0, 0.20) 0 2px 5px 0\",\"pre.prismjs\":{padding:20,background:\"inherit\"}}));var SourceSkeletonWrapper=styled.div(({theme})=>({background:theme.background.content,borderRadius:theme.appBorderRadius,border:`1px solid ${theme.appBorderColor}`,boxShadow:theme.base===\"light\"?\"rgba(0, 0, 0, 0.10) 0 1px 3px 0\":\"rgba(0, 0, 0, 0.20) 0 2px 5px 0\",margin:\"25px 0 40px\",padding:\"20px 20px 20px 22px\"})),SourceSkeletonPlaceholder=styled.div(({theme})=>({animation:`${theme.animation.glow} 1.5s ease-in-out infinite`,background:theme.appBorderColor,height:17,marginTop:1,width:\"60%\",[`&:first-child${ignoreSsrWarning}`]:{margin:0}})),SourceSkeleton=()=>React17.createElement(SourceSkeletonWrapper,null,React17.createElement(SourceSkeletonPlaceholder,null),React17.createElement(SourceSkeletonPlaceholder,{style:{width:\"80%\"}}),React17.createElement(SourceSkeletonPlaceholder,{style:{width:\"30%\"}}),React17.createElement(SourceSkeletonPlaceholder,{style:{width:\"80%\"}})),Source=({isLoading,error,language,code,dark,format:format2,...rest})=>{if(isLoading)return React17.createElement(SourceSkeleton,null);if(error)return React17.createElement(EmptyBlock,null,error);let syntaxHighlighter=React17.createElement(StyledSyntaxHighlighter,{bordered:!0,copyable:!0,format:format2,language,className:\"docblock-source sb-unstyled\",...rest},code);if(typeof dark>\"u\")return syntaxHighlighter;let overrideTheme=dark?themes.dark:themes.light;return React17.createElement(ThemeProvider,{theme:convert(overrideTheme)},syntaxHighlighter)};Source.defaultProps={format:!1};var toGlobalSelector=element=>`& :where(${element}:not(.sb-anchor, .sb-unstyled, .sb-unstyled ${element}))`,breakpoint=600,Title=styled.h1(withReset,({theme})=>({color:theme.color.defaultText,fontSize:theme.typography.size.m3,fontWeight:theme.typography.weight.bold,lineHeight:\"32px\",[`@media (min-width: ${breakpoint}px)`]:{fontSize:theme.typography.size.l1,lineHeight:\"36px\",marginBottom:\"16px\"}})),Subtitle=styled.h2(withReset,({theme})=>({fontWeight:theme.typography.weight.regular,fontSize:theme.typography.size.s3,lineHeight:\"20px\",borderBottom:\"none\",marginBottom:15,[`@media (min-width: ${breakpoint}px)`]:{fontSize:theme.typography.size.m1,lineHeight:\"28px\",marginBottom:24},color:transparentize(.25,theme.color.defaultText)})),DocsContent=styled.div(({theme})=>{let reset={fontFamily:theme.typography.fonts.base,fontSize:theme.typography.size.s3,margin:0,WebkitFontSmoothing:\"antialiased\",MozOsxFontSmoothing:\"grayscale\",WebkitTapHighlightColor:\"rgba(0, 0, 0, 0)\",WebkitOverflowScrolling:\"touch\"},headers={margin:\"20px 0 8px\",padding:0,cursor:\"text\",position:\"relative\",color:theme.color.defaultText,\"&:first-of-type\":{marginTop:0,paddingTop:0},\"&:hover a.anchor\":{textDecoration:\"none\"},\"& code\":{fontSize:\"inherit\"}},code={lineHeight:1,margin:\"0 2px\",padding:\"3px 5px\",whiteSpace:\"nowrap\",borderRadius:3,fontSize:theme.typography.size.s2-1,border:theme.base===\"light\"?`1px solid ${theme.color.mediumlight}`:`1px solid ${theme.color.darker}`,color:theme.base===\"light\"?transparentize(.1,theme.color.defaultText):transparentize(.3,theme.color.defaultText),backgroundColor:theme.base===\"light\"?theme.color.lighter:theme.color.border};return {maxWidth:1e3,width:\"100%\",[toGlobalSelector(\"a\")]:{...reset,fontSize:\"inherit\",lineHeight:\"24px\",color:theme.color.secondary,textDecoration:\"none\",\"&.absent\":{color:\"#cc0000\"},\"&.anchor\":{display:\"block\",paddingLeft:30,marginLeft:-30,cursor:\"pointer\",position:\"absolute\",top:0,left:0,bottom:0}},[toGlobalSelector(\"blockquote\")]:{...reset,margin:\"16px 0\",borderLeft:`4px solid ${theme.color.medium}`,padding:\"0 15px\",color:theme.color.dark,\"& > :first-of-type\":{marginTop:0},\"& > :last-child\":{marginBottom:0}},[toGlobalSelector(\"div\")]:reset,[toGlobalSelector(\"dl\")]:{...reset,margin:\"16px 0\",padding:0,\"& dt\":{fontSize:\"14px\",fontWeight:\"bold\",fontStyle:\"italic\",padding:0,margin:\"16px 0 4px\"},\"& dt:first-of-type\":{padding:0},\"& dt > :first-of-type\":{marginTop:0},\"& dt > :last-child\":{marginBottom:0},\"& dd\":{margin:\"0 0 16px\",padding:\"0 15px\"},\"& dd > :first-of-type\":{marginTop:0},\"& dd > :last-child\":{marginBottom:0}},[toGlobalSelector(\"h1\")]:{...reset,...headers,fontSize:`${theme.typography.size.l1}px`,fontWeight:theme.typography.weight.bold},[toGlobalSelector(\"h2\")]:{...reset,...headers,fontSize:`${theme.typography.size.m2}px`,paddingBottom:4,borderBottom:`1px solid ${theme.appBorderColor}`},[toGlobalSelector(\"h3\")]:{...reset,...headers,fontSize:`${theme.typography.size.m1}px`,fontWeight:theme.typography.weight.bold},[toGlobalSelector(\"h4\")]:{...reset,...headers,fontSize:`${theme.typography.size.s3}px`},[toGlobalSelector(\"h5\")]:{...reset,...headers,fontSize:`${theme.typography.size.s2}px`},[toGlobalSelector(\"h6\")]:{...reset,...headers,fontSize:`${theme.typography.size.s2}px`,color:theme.color.dark},[toGlobalSelector(\"hr\")]:{border:\"0 none\",borderTop:`1px solid ${theme.appBorderColor}`,height:4,padding:0},[toGlobalSelector(\"img\")]:{maxWidth:\"100%\"},[toGlobalSelector(\"li\")]:{...reset,fontSize:theme.typography.size.s2,color:theme.color.defaultText,lineHeight:\"24px\",\"& + li\":{marginTop:\".25em\"},\"& ul, & ol\":{marginTop:\".25em\",marginBottom:0},\"& code\":code},[toGlobalSelector(\"ol\")]:{...reset,margin:\"16px 0\",paddingLeft:30,\"& :first-of-type\":{marginTop:0},\"& :last-child\":{marginBottom:0}},[toGlobalSelector(\"p\")]:{...reset,margin:\"16px 0\",fontSize:theme.typography.size.s2,lineHeight:\"24px\",color:theme.color.defaultText,\"& code\":code},[toGlobalSelector(\"pre\")]:{...reset,fontFamily:theme.typography.fonts.mono,WebkitFontSmoothing:\"antialiased\",MozOsxFontSmoothing:\"grayscale\",lineHeight:\"18px\",padding:\"11px 1rem\",whiteSpace:\"pre-wrap\",color:\"inherit\",borderRadius:3,margin:\"1rem 0\",\"&:not(.prismjs)\":{background:\"transparent\",border:\"none\",borderRadius:0,padding:0,margin:0},\"& pre, &.prismjs\":{padding:15,margin:0,whiteSpace:\"pre-wrap\",color:\"inherit\",fontSize:\"13px\",lineHeight:\"19px\",code:{color:\"inherit\",fontSize:\"inherit\"}},\"& code\":{whiteSpace:\"pre\"},\"& code, & tt\":{border:\"none\"}},[toGlobalSelector(\"span\")]:{...reset,\"&.frame\":{display:\"block\",overflow:\"hidden\",\"& > span\":{border:`1px solid ${theme.color.medium}`,display:\"block\",float:\"left\",overflow:\"hidden\",margin:\"13px 0 0\",padding:7,width:\"auto\"},\"& span img\":{display:\"block\",float:\"left\"},\"& span span\":{clear:\"both\",color:theme.color.darkest,display:\"block\",padding:\"5px 0 0\"}},\"&.align-center\":{display:\"block\",overflow:\"hidden\",clear:\"both\",\"& > span\":{display:\"block\",overflow:\"hidden\",margin:\"13px auto 0\",textAlign:\"center\"},\"& span img\":{margin:\"0 auto\",textAlign:\"center\"}},\"&.align-right\":{display:\"block\",overflow:\"hidden\",clear:\"both\",\"& > span\":{display:\"block\",overflow:\"hidden\",margin:\"13px 0 0\",textAlign:\"right\"},\"& span img\":{margin:0,textAlign:\"right\"}},\"&.float-left\":{display:\"block\",marginRight:13,overflow:\"hidden\",float:\"left\",\"& span\":{margin:\"13px 0 0\"}},\"&.float-right\":{display:\"block\",marginLeft:13,overflow:\"hidden\",float:\"right\",\"& > span\":{display:\"block\",overflow:\"hidden\",margin:\"13px auto 0\",textAlign:\"right\"}}},[toGlobalSelector(\"table\")]:{...reset,margin:\"16px 0\",fontSize:theme.typography.size.s2,lineHeight:\"24px\",padding:0,borderCollapse:\"collapse\",\"& tr\":{borderTop:`1px solid ${theme.appBorderColor}`,backgroundColor:theme.appContentBg,margin:0,padding:0},\"& tr:nth-of-type(2n)\":{backgroundColor:theme.base===\"dark\"?theme.color.darker:theme.color.lighter},\"& tr th\":{fontWeight:\"bold\",color:theme.color.defaultText,border:`1px solid ${theme.appBorderColor}`,margin:0,padding:\"6px 13px\"},\"& tr td\":{border:`1px solid ${theme.appBorderColor}`,color:theme.color.defaultText,margin:0,padding:\"6px 13px\"},\"& tr th :first-of-type, & tr td :first-of-type\":{marginTop:0},\"& tr th :last-child, & tr td :last-child\":{marginBottom:0}},[toGlobalSelector(\"ul\")]:{...reset,margin:\"16px 0\",paddingLeft:30,\"& :first-of-type\":{marginTop:0},\"& :last-child\":{marginBottom:0},listStyle:\"disc\"}}}),DocsWrapper=styled.div(({theme})=>({background:theme.background.content,display:\"flex\",justifyContent:\"center\",padding:\"4rem 20px\",minHeight:\"100vh\",boxSizing:\"border-box\",[`@media (min-width: ${breakpoint}px)`]:{}})),DocsPageWrapper=({children})=>React17.createElement(DocsWrapper,{className:\"sbdocs sbdocs-wrapper\"},React17.createElement(DocsContent,{className:\"sbdocs sbdocs-content\"},children));var getBlockBackgroundStyle=theme=>({borderRadius:theme.appBorderRadius,background:theme.background.content,boxShadow:theme.base===\"light\"?\"rgba(0, 0, 0, 0.10) 0 1px 3px 0\":\"rgba(0, 0, 0, 0.20) 0 2px 5px 0\",border:`1px solid ${theme.appBorderColor}`});var Zoom=({zoom,resetZoom})=>React17.createElement(React17.Fragment,null,React17.createElement(IconButton,{key:\"zoomin\",onClick:e=>{e.preventDefault(),zoom(.8);},title:\"Zoom in\"},React17.createElement(Icons,{icon:\"zoom\"})),React17.createElement(IconButton,{key:\"zoomout\",onClick:e=>{e.preventDefault(),zoom(1.25);},title:\"Zoom out\"},React17.createElement(Icons,{icon:\"zoomout\"})),React17.createElement(IconButton,{key:\"zoomreset\",onClick:e=>{e.preventDefault(),resetZoom();},title:\"Reset zoom\"},React17.createElement(Icons,{icon:\"zoomreset\"}))),Bar=styled(FlexBar)({position:\"absolute\",left:0,right:0,top:0,transition:\"transform .2s linear\"}),Toolbar=({isLoading,storyId,baseUrl,zoom,resetZoom,...rest})=>React17.createElement(Bar,{...rest},React17.createElement(Fragment,{key:\"left\"},isLoading?[1,2,3].map(key=>React17.createElement(IconButtonSkeleton,{key})):React17.createElement(Zoom,{zoom,resetZoom})));var ZoomContext=createContext({scale:1});var{window:globalWindow}=global,IFrame=class extends Component{constructor(){super(...arguments);this.iframe=null;}componentDidMount(){let{id}=this.props;this.iframe=globalWindow.document.getElementById(id);}shouldComponentUpdate(nextProps){let{scale}=nextProps;return scale!==this.props.scale&&this.setIframeBodyStyle({width:`${scale*100}%`,height:`${scale*100}%`,transform:`scale(${1/scale})`,transformOrigin:\"top left\"}),!1}setIframeBodyStyle(style){return Object.assign(this.iframe.contentDocument.body.style,style)}render(){let{id,title,src,allowFullScreen,scale,...rest}=this.props;return React17.createElement(\"iframe\",{id,title,src,...allowFullScreen?{allow:\"fullscreen\"}:{},loading:\"lazy\",...rest})}};var{PREVIEW_URL}=global,BASE_URL=PREVIEW_URL||\"iframe.html\",storyBlockIdFromId=({story,primary})=>`story--${story.id}${primary?\"--primary\":\"\"}`,InlineStory=props=>{let storyRef=useRef(),[showLoader,setShowLoader]=useState(!0),[error,setError]=useState(),{story,height,autoplay,forceInitialArgs,renderStoryToElement}=props;useEffect(()=>{if(!(story&&storyRef.current))return ()=>{};let element=storyRef.current,cleanup=renderStoryToElement(story,element,{showMain:()=>{},showError:({title,description})=>setError(new Error(`${title} - ${description}`)),showException:err=>setError(err)},{autoplay,forceInitialArgs});return setShowLoader(!1),()=>{Promise.resolve().then(()=>cleanup());}},[autoplay,renderStoryToElement,story]);let htmlContents=\"\";return error?React17.createElement(\"pre\",null,React17.createElement(ErrorFormatter,{error})):React17.createElement(React17.Fragment,null,height?React17.createElement(\"style\",null,`#${storyBlockIdFromId(props)} { min-height: ${height}; transform: translateZ(0); overflow: auto }`):null,showLoader&&React17.createElement(StorySkeleton,null),React17.createElement(\"div\",{ref:storyRef,id:`${storyBlockIdFromId(props)}-inner`,\"data-name\":story.name,dangerouslySetInnerHTML:{__html:htmlContents}}))},IFrameStory=({story,height=\"500px\"})=>React17.createElement(\"div\",{style:{width:\"100%\",height}},React17.createElement(ZoomContext.Consumer,null,({scale})=>React17.createElement(IFrame,{key:\"iframe\",id:`iframe--${story.id}`,title:story.name,src:getStoryHref(BASE_URL,story.id,{viewMode:\"story\"}),allowFullScreen:!0,scale,style:{width:\"100%\",height:\"100%\",border:\"0 none\"}}))),Story=props=>{let{inline}=props;return React17.createElement(\"div\",{id:storyBlockIdFromId(props),className:\"sb-story sb-unstyled\",\"data-story-block\":\"true\"},inline?React17.createElement(InlineStory,{...props}):React17.createElement(IFrameStory,{...props}))},StorySkeleton=()=>React17.createElement(Loader,null);var ChildrenContainer=styled.div(({isColumn,columns,layout})=>({display:isColumn||!columns?\"block\":\"flex\",position:\"relative\",flexWrap:\"wrap\",overflow:\"auto\",flexDirection:isColumn?\"column\":\"row\",\"& .innerZoomElementWrapper > *\":isColumn?{width:layout!==\"fullscreen\"?\"calc(100% - 20px)\":\"100%\",display:\"block\"}:{maxWidth:layout!==\"fullscreen\"?\"calc(100% - 20px)\":\"100%\",display:\"inline-block\"}}),({layout=\"padded\"})=>layout===\"centered\"||layout===\"padded\"?{padding:\"30px 20px\",margin:-10,\"& .innerZoomElementWrapper > *\":{width:\"auto\",border:\"10px solid transparent!important\"}}:{},({layout=\"padded\"})=>layout===\"centered\"?{display:\"flex\",justifyContent:\"center\",justifyItems:\"center\",alignContent:\"center\",alignItems:\"center\"}:{},({columns})=>columns&&columns>1?{\".innerZoomElementWrapper > *\":{minWidth:`calc(100% / ${columns} - 20px)`}}:{}),StyledSource=styled(Source)(({theme})=>({margin:0,borderTopLeftRadius:0,borderTopRightRadius:0,borderBottomLeftRadius:theme.appBorderRadius,borderBottomRightRadius:theme.appBorderRadius,border:\"none\",background:theme.base===\"light\"?\"rgba(0, 0, 0, 0.85)\":darken(.05,theme.background.content),color:theme.color.lightest,button:{background:theme.base===\"light\"?\"rgba(0, 0, 0, 0.85)\":darken(.05,theme.background.content)}})),PreviewContainer=styled.div(({theme,withSource,isExpanded})=>({position:\"relative\",overflow:\"hidden\",margin:\"25px 0 40px\",...getBlockBackgroundStyle(theme),borderBottomLeftRadius:withSource&&isExpanded&&0,borderBottomRightRadius:withSource&&isExpanded&&0,borderBottomWidth:isExpanded&&0,\"h3 + &\":{marginTop:\"16px\"}}),({withToolbar})=>withToolbar&&{paddingTop:40}),getSource=(withSource,expanded,setExpanded)=>{switch(!0){case!!(withSource&&withSource.error):return {source:null,actionItem:{title:\"No code available\",className:\"docblock-code-toggle docblock-code-toggle--disabled\",disabled:!0,onClick:()=>setExpanded(!1)}};case expanded:return {source:React17.createElement(StyledSource,{...withSource,dark:!0}),actionItem:{title:\"Hide code\",className:\"docblock-code-toggle docblock-code-toggle--expanded\",onClick:()=>setExpanded(!1)}};default:return {source:React17.createElement(StyledSource,{...withSource,dark:!0}),actionItem:{title:\"Show code\",className:\"docblock-code-toggle\",onClick:()=>setExpanded(!0)}}}};function getStoryId(children){if(Children.count(children)===1){let elt=children;if(elt.props)return elt.props.id}return null}var PositionedToolbar=styled(Toolbar)({position:\"absolute\",top:0,left:0,right:0,height:40}),Relative=styled.div({overflow:\"hidden\",position:\"relative\"}),Preview=({isLoading,isColumn,columns,children,withSource,withToolbar=!1,isExpanded=!1,additionalActions,className,layout=\"padded\",...props})=>{let[expanded,setExpanded]=useState(isExpanded),{source,actionItem}=getSource(withSource,expanded,setExpanded),[scale,setScale]=useState(1),previewClasses=[className].concat([\"sbdocs\",\"sbdocs-preview\",\"sb-unstyled\"]),defaultActionItems=withSource?[actionItem]:[],[additionalActionItems,setAdditionalActionItems]=useState(additionalActions?[...additionalActions]:[]),actionItems=[...defaultActionItems,...additionalActionItems],{window:globalWindow4}=global,copyToClipboard=useCallback(async text=>{let{createCopyToClipboardFunction}=await import('@storybook/components');createCopyToClipboardFunction();},[]),onCopyCapture=e=>{let selection=globalWindow4.getSelection();selection&&selection.type===\"Range\"||(e.preventDefault(),additionalActionItems.filter(item=>item.title===\"Copied\").length===0&©ToClipboard(source.props.code).then(()=>{setAdditionalActionItems([...additionalActionItems,{title:\"Copied\",onClick:()=>{}}]),globalWindow4.setTimeout(()=>setAdditionalActionItems(additionalActionItems.filter(item=>item.title!==\"Copied\")),1500);}));};return React17.createElement(PreviewContainer,{withSource,withToolbar,...props,className:previewClasses.join(\" \")},withToolbar&&React17.createElement(PositionedToolbar,{isLoading,border:!0,zoom:z=>setScale(scale*z),resetZoom:()=>setScale(1),storyId:getStoryId(children),baseUrl:\"./iframe.html\"}),React17.createElement(ZoomContext.Provider,{value:{scale}},React17.createElement(Relative,{className:\"docs-story\",onCopyCapture:withSource&&onCopyCapture},React17.createElement(ChildrenContainer,{isColumn:isColumn||!Array.isArray(children),columns,layout},React17.createElement(Zoom$1.Element,{scale},Array.isArray(children)?children.map((child,i)=>React17.createElement(\"div\",{key:i},child)):React17.createElement(\"div\",null,children))),React17.createElement(ActionBar,{actionItems}))),withSource&&expanded&&source)},StyledPreview=styled(Preview)(()=>({\".docs-story\":{paddingTop:32,paddingBottom:40}})),PreviewSkeleton=()=>React17.createElement(StyledPreview,{isLoading:!0,withToolbar:!0},React17.createElement(StorySkeleton,null));var Table=styled.table(({theme})=>({\"&&\":{borderCollapse:\"collapse\",borderSpacing:0,border:\"none\",tr:{border:\"none !important\",background:\"none\"},\"td, th\":{padding:0,border:\"none\",width:\"auto!important\"},marginTop:0,marginBottom:0,\"th:first-of-type, td:first-of-type\":{paddingLeft:0},\"th:last-of-type, td:last-of-type\":{paddingRight:0},td:{paddingTop:0,paddingBottom:4,\"&:not(:first-of-type)\":{paddingLeft:10,paddingRight:0}},tbody:{boxShadow:\"none\",border:\"none\"},code:codeCommon({theme}),div:{span:{fontWeight:\"bold\"}},\"& code\":{margin:0,display:\"inline-block\",fontSize:theme.typography.size.s1}}})),ArgJsDoc=({tags})=>{let params=(tags.params||[]).filter(x=>x.description),hasDisplayableParams=params.length!==0,hasDisplayableDeprecated=tags.deprecated!=null,hasDisplayableReturns=tags.returns!=null&&tags.returns.description!=null;return !hasDisplayableParams&&!hasDisplayableReturns&&!hasDisplayableDeprecated?null:React17.createElement(React17.Fragment,null,React17.createElement(Table,null,React17.createElement(\"tbody\",null,hasDisplayableDeprecated&&React17.createElement(\"tr\",{key:\"deprecated\"},React17.createElement(\"td\",{colSpan:2},React17.createElement(\"strong\",null,\"Deprecated\"),\": \",tags.deprecated)),hasDisplayableParams&¶ms.map(x=>React17.createElement(\"tr\",{key:x.name},React17.createElement(\"td\",null,React17.createElement(\"code\",null,x.name)),React17.createElement(\"td\",null,x.description))),hasDisplayableReturns&&React17.createElement(\"tr\",{key:\"returns\"},React17.createElement(\"td\",null,React17.createElement(\"code\",null,\"Returns\")),React17.createElement(\"td\",null,tags.returns.description)))))};var ITEMS_BEFORE_EXPANSION=8,Summary=styled.div(({isExpanded})=>({display:\"flex\",flexDirection:isExpanded?\"column\":\"row\",flexWrap:\"wrap\",alignItems:\"flex-start\",marginBottom:\"-4px\",minWidth:100})),Text=styled.span(codeCommon,({theme,simple=!1})=>({flex:\"0 0 auto\",fontFamily:theme.typography.fonts.mono,fontSize:theme.typography.size.s1,wordBreak:\"break-word\",whiteSpace:\"normal\",maxWidth:\"100%\",margin:0,marginRight:\"4px\",marginBottom:\"4px\",paddingTop:\"2px\",paddingBottom:\"2px\",lineHeight:\"13px\",...simple&&{background:\"transparent\",border:\"0 none\",paddingLeft:0}})),ExpandButton=styled.button(({theme})=>({fontFamily:theme.typography.fonts.mono,color:theme.color.secondary,marginBottom:\"4px\",background:\"none\",border:\"none\"})),Expandable=styled.div(codeCommon,({theme})=>({fontFamily:theme.typography.fonts.mono,color:theme.color.secondary,fontSize:theme.typography.size.s1,margin:0,whiteSpace:\"nowrap\",display:\"flex\",alignItems:\"center\"})),Detail=styled.div(({theme,width})=>({width,minWidth:200,maxWidth:800,padding:15,fontFamily:theme.typography.fonts.mono,fontSize:theme.typography.size.s1,boxSizing:\"content-box\",\"& code\":{padding:\"0 !important\"}})),ArrowIcon=styled(Icons)({height:10,width:10,minWidth:10,marginLeft:4}),EmptyArg=()=>React17.createElement(\"span\",null,\"-\"),ArgText=({text,simple})=>React17.createElement(Text,{simple},text),calculateDetailWidth=memoize(1e3)(detail=>{let lines=detail.split(/\\r?\\n/);return `${Math.max(...lines.map(x=>x.length))}ch`}),getSummaryItems=summary=>{if(!summary)return [summary];let summaryItems=summary.split(\"|\").map(value2=>value2.trim());return uniq(summaryItems)},renderSummaryItems=(summaryItems,isExpanded=!0)=>{let items=summaryItems;return isExpanded||(items=summaryItems.slice(0,ITEMS_BEFORE_EXPANSION)),items.map(item=>React17.createElement(ArgText,{key:item,text:item===\"\"?'\"\"':item}))},ArgSummary=({value:value2,initialExpandedArgs})=>{let{summary,detail}=value2,[isOpen,setIsOpen]=useState(!1),[isExpanded,setIsExpanded]=useState(initialExpandedArgs||!1);if(summary==null)return null;let summaryAsString=typeof summary.toString==\"function\"?summary.toString():summary;if(detail==null){if(/[(){}[\\]<>]/.test(summaryAsString))return React17.createElement(ArgText,{text:summaryAsString});let summaryItems=getSummaryItems(summaryAsString),itemsCount=summaryItems.length;return itemsCount>ITEMS_BEFORE_EXPANSION?React17.createElement(Summary,{isExpanded},renderSummaryItems(summaryItems,isExpanded),React17.createElement(ExpandButton,{onClick:()=>setIsExpanded(!isExpanded)},isExpanded?\"Show less...\":`Show ${itemsCount-ITEMS_BEFORE_EXPANSION} more...`)):React17.createElement(Summary,null,renderSummaryItems(summaryItems))}return React17.createElement(WithTooltipPure,{closeOnOutsideClick:!0,placement:\"bottom\",visible:isOpen,onVisibleChange:isVisible=>{setIsOpen(isVisible);},tooltip:React17.createElement(Detail,{width:calculateDetailWidth(detail)},React17.createElement(SyntaxHighlighter,{language:\"jsx\",format:!1},detail))},React17.createElement(Expandable,{className:\"sbdocs-expandable\"},React17.createElement(\"span\",null,summaryAsString),React17.createElement(ArrowIcon,{icon:isOpen?\"arrowup\":\"arrowdown\"})))},ArgValue=({value:value2,initialExpandedArgs})=>value2==null?React17.createElement(EmptyArg,null):React17.createElement(ArgSummary,{value:value2,initialExpandedArgs});var Label=styled.label(({theme})=>({lineHeight:\"18px\",alignItems:\"center\",marginBottom:8,display:\"inline-block\",position:\"relative\",whiteSpace:\"nowrap\",background:theme.boolean.background,borderRadius:\"3em\",padding:1,input:{appearance:\"none\",width:\"100%\",height:\"100%\",position:\"absolute\",left:0,top:0,margin:0,padding:0,border:\"none\",background:\"transparent\",cursor:\"pointer\",borderRadius:\"3em\",\"&:focus\":{outline:\"none\",boxShadow:`${theme.color.secondary} 0 0 0 1px inset !important`}},span:{textAlign:\"center\",fontSize:theme.typography.size.s1,fontWeight:theme.typography.weight.bold,lineHeight:\"1\",cursor:\"pointer\",display:\"inline-block\",padding:\"7px 15px\",transition:\"all 100ms ease-out\",userSelect:\"none\",borderRadius:\"3em\",color:transparentize(.5,theme.color.defaultText),background:\"transparent\",\"&:hover\":{boxShadow:`${opacify(.3,theme.appBorderColor)} 0 0 0 1px inset`},\"&:active\":{boxShadow:`${opacify(.05,theme.appBorderColor)} 0 0 0 2px inset`,color:opacify(1,theme.appBorderColor)},\"&:first-of-type\":{paddingRight:8},\"&:last-of-type\":{paddingLeft:8}},\"input:checked ~ span:last-of-type, input:not(:checked) ~ span:first-of-type\":{background:theme.boolean.selectedBackground,boxShadow:theme.base===\"light\"?`${opacify(.1,theme.appBorderColor)} 0 0 2px`:`${theme.appBorderColor} 0 0 0 1px`,color:theme.color.defaultText,padding:\"7px 15px\"}})),parse=value2=>value2===\"true\",BooleanControl=({name,value:value2,onChange,onBlur,onFocus})=>{let onSetFalse=useCallback(()=>onChange(!1),[onChange]);if(value2===void 0)return React17.createElement(Form.Button,{id:getControlSetterButtonId(name),onClick:onSetFalse},\"Set boolean\");let controlId=getControlId(name),parsedValue=typeof value2==\"string\"?parse(value2):value2;return React17.createElement(Label,{htmlFor:controlId,title:parsedValue?\"Change to false\":\"Change to true\"},React17.createElement(\"input\",{id:controlId,type:\"checkbox\",onChange:e=>onChange(e.target.checked),checked:parsedValue,name,onBlur,onFocus}),React17.createElement(\"span\",null,\"False\"),React17.createElement(\"span\",null,\"True\"))};var parseDate=value2=>{let[year,month,day]=value2.split(\"-\"),result=new Date;return result.setFullYear(parseInt(year,10),parseInt(month,10)-1,parseInt(day,10)),result},parseTime=value2=>{let[hours,minutes]=value2.split(\":\"),result=new Date;return result.setHours(parseInt(hours,10)),result.setMinutes(parseInt(minutes,10)),result},formatDate=value2=>{let date=new Date(value2),year=`000${date.getFullYear()}`.slice(-4),month=`0${date.getMonth()+1}`.slice(-2),day=`0${date.getDate()}`.slice(-2);return `${year}-${month}-${day}`},formatTime=value2=>{let date=new Date(value2),hours=`0${date.getHours()}`.slice(-2),minutes=`0${date.getMinutes()}`.slice(-2);return `${hours}:${minutes}`},FlexSpaced=styled.div(({theme})=>({flex:1,display:\"flex\",input:{marginLeft:10,flex:1,height:32,\"&::-webkit-calendar-picker-indicator\":{opacity:.5,height:12,filter:theme.base===\"light\"?void 0:\"invert(1)\"}},\"input:first-of-type\":{marginLeft:0,flexGrow:4},\"input:last-of-type\":{flexGrow:3}})),DateControl=({name,value:value2,onChange,onFocus,onBlur})=>{let[valid,setValid]=useState(!0),dateRef=useRef(),timeRef=useRef();useEffect(()=>{valid!==!1&&(dateRef&&dateRef.current&&(dateRef.current.value=formatDate(value2)),timeRef&&timeRef.current&&(timeRef.current.value=formatTime(value2)));},[value2]);let onDateChange=e=>{let parsed=parseDate(e.target.value),result=new Date(value2);result.setFullYear(parsed.getFullYear(),parsed.getMonth(),parsed.getDate());let time=result.getTime();time&&onChange(time),setValid(!!time);},onTimeChange=e=>{let parsed=parseTime(e.target.value),result=new Date(value2);result.setHours(parsed.getHours()),result.setMinutes(parsed.getMinutes());let time=result.getTime();time&&onChange(time),setValid(!!time);},controlId=getControlId(name);return React17.createElement(FlexSpaced,null,React17.createElement(Form.Input,{type:\"date\",max:\"9999-12-31\",ref:dateRef,id:`${controlId}-date`,name:`${controlId}-date`,onChange:onDateChange,onFocus,onBlur}),React17.createElement(Form.Input,{type:\"time\",id:`${controlId}-time`,name:`${controlId}-time`,ref:timeRef,onChange:onTimeChange,onFocus,onBlur}),valid?null:React17.createElement(\"div\",null,\"invalid\"))};var Wrapper2=styled.label({display:\"flex\"}),parse2=value2=>{let result=parseFloat(value2);return Number.isNaN(result)?void 0:result},format=value2=>value2!=null?String(value2):\"\",NumberControl=({name,value:value2,onChange,min,max,step,onBlur,onFocus})=>{let[inputValue,setInputValue]=useState(typeof value2==\"number\"?value2:\"\"),[forceVisible,setForceVisible]=useState(!1),[parseError,setParseError]=useState(null),handleChange=useCallback(event=>{setInputValue(event.target.value);let result=parseFloat(event.target.value);Number.isNaN(result)?setParseError(new Error(`'${event.target.value}' is not a number`)):(onChange(result),setParseError(null));},[onChange,setParseError]),onForceVisible=useCallback(()=>{setInputValue(\"0\"),onChange(0),setForceVisible(!0);},[setForceVisible]),htmlElRef=useRef(null);return useEffect(()=>{forceVisible&&htmlElRef.current&&htmlElRef.current.select();},[forceVisible]),useEffect(()=>{inputValue!==(typeof value2==\"number\"?value2:\"\")&&setInputValue(value2);},[value2]),!forceVisible&&value2===void 0?React17.createElement(Form.Button,{id:getControlSetterButtonId(name),onClick:onForceVisible},\"Set number\"):React17.createElement(Wrapper2,null,React17.createElement(Form.Input,{ref:htmlElRef,id:getControlId(name),type:\"number\",onChange:handleChange,size:\"flex\",placeholder:\"Edit number...\",value:inputValue,valid:parseError?\"error\":null,autoFocus:forceVisible,name,min,max,step,onFocus,onBlur}))};var selectedKey=(value2,options)=>{let entry=options&&Object.entries(options).find(([_key,val])=>val===value2);return entry?entry[0]:void 0},selectedKeys=(value2,options)=>value2&&options?Object.entries(options).filter(entry=>value2.includes(entry[1])).map(entry=>entry[0]):[],selectedValues=(keys,options)=>keys&&options&&keys.map(key=>options[key]);var Wrapper3=styled.div(({isInline})=>isInline?{display:\"flex\",flexWrap:\"wrap\",alignItems:\"flex-start\",label:{display:\"inline-flex\",marginRight:15}}:{label:{display:\"flex\"}}),Text2=styled.span({}),Label2=styled.label({lineHeight:\"20px\",alignItems:\"center\",marginBottom:8,\"&:last-child\":{marginBottom:0},input:{margin:0,marginRight:6}}),CheckboxControl=({name,options,value:value2,onChange,isInline})=>{if(!options)return logger.warn(`Checkbox with no options: ${name}`),React17.createElement(React17.Fragment,null,\"-\");let initial=selectedKeys(value2,options),[selected,setSelected]=useState(initial),handleChange=e=>{let option=e.target.value,updated=[...selected];updated.includes(option)?updated.splice(updated.indexOf(option),1):updated.push(option),onChange(selectedValues(updated,options)),setSelected(updated);};useEffect(()=>{setSelected(selectedKeys(value2,options));},[value2]);let controlId=getControlId(name);return React17.createElement(Wrapper3,{isInline},Object.keys(options).map((key,index)=>{let id=`${controlId}-${index}`;return React17.createElement(Label2,{key:id,htmlFor:id},React17.createElement(\"input\",{type:\"checkbox\",id,name:id,value:key,onChange:handleChange,checked:selected?.includes(key)}),React17.createElement(Text2,null,key))}))};var Wrapper4=styled.div(({isInline})=>isInline?{display:\"flex\",flexWrap:\"wrap\",alignItems:\"flex-start\",label:{display:\"inline-flex\",marginRight:15}}:{label:{display:\"flex\"}}),Text3=styled.span({}),Label3=styled.label({lineHeight:\"20px\",alignItems:\"center\",marginBottom:8,\"&:last-child\":{marginBottom:0},input:{margin:0,marginRight:6}}),RadioControl=({name,options,value:value2,onChange,isInline})=>{if(!options)return logger.warn(`Radio with no options: ${name}`),React17.createElement(React17.Fragment,null,\"-\");let selection=selectedKey(value2,options),controlId=getControlId(name);return React17.createElement(Wrapper4,{isInline},Object.keys(options).map((key,index)=>{let id=`${controlId}-${index}`;return React17.createElement(Label3,{key:id,htmlFor:id},React17.createElement(\"input\",{type:\"radio\",id,name:id,value:key,onChange:e=>onChange(options[e.currentTarget.value]),checked:key===selection}),React17.createElement(Text3,null,key))}))};var styleResets={appearance:\"none\",border:\"0 none\",boxSizing:\"inherit\",display:\" block\",margin:\" 0\",background:\"transparent\",padding:0,fontSize:\"inherit\",position:\"relative\"},OptionsSelect=styled.select(({theme})=>({...styleResets,boxSizing:\"border-box\",position:\"relative\",padding:\"6px 10px\",width:\"100%\",color:theme.input.color||\"inherit\",background:theme.input.background,borderRadius:theme.input.borderRadius,boxShadow:`${theme.input.border} 0 0 0 1px inset`,fontSize:theme.typography.size.s2-1,lineHeight:\"20px\",\"&:focus\":{boxShadow:`${theme.color.secondary} 0 0 0 1px inset`,outline:\"none\"},\"&[disabled]\":{cursor:\"not-allowed\",opacity:.5},\"::placeholder\":{color:theme.textMutedColor},\"&[multiple]\":{overflow:\"auto\",padding:0,option:{display:\"block\",padding:\"6px 10px\",marginLeft:1,marginRight:1}}})),SelectWrapper=styled.span(({theme})=>({display:\"inline-block\",lineHeight:\"normal\",overflow:\"hidden\",position:\"relative\",verticalAlign:\"top\",width:\"100%\",svg:{position:\"absolute\",zIndex:1,pointerEvents:\"none\",height:\"12px\",marginTop:\"-6px\",right:\"12px\",top:\"50%\",fill:theme.textMutedColor,path:{fill:theme.textMutedColor}}})),NO_SELECTION=\"Choose option...\",SingleSelect=({name,value:value2,options,onChange})=>{let handleChange=e=>{onChange(options[e.currentTarget.value]);},selection=selectedKey(value2,options)||NO_SELECTION,controlId=getControlId(name);return React17.createElement(SelectWrapper,null,React17.createElement(Icons,{icon:\"arrowdown\"}),React17.createElement(OptionsSelect,{id:controlId,value:selection,onChange:handleChange},React17.createElement(\"option\",{key:\"no-selection\",disabled:!0},NO_SELECTION),Object.keys(options).map(key=>React17.createElement(\"option\",{key},key))))},MultiSelect=({name,value:value2,options,onChange})=>{let handleChange=e=>{let selection2=Array.from(e.currentTarget.options).filter(option=>option.selected).map(option=>option.value);onChange(selectedValues(selection2,options));},selection=selectedKeys(value2,options),controlId=getControlId(name);return React17.createElement(SelectWrapper,null,React17.createElement(OptionsSelect,{id:controlId,multiple:!0,value:selection,onChange:handleChange},Object.keys(options).map(key=>React17.createElement(\"option\",{key},key))))},SelectControl=props=>{let{name,options}=props;return options?props.isMulti?React17.createElement(MultiSelect,{...props}):React17.createElement(SingleSelect,{...props}):(logger.warn(`Select with no options: ${name}`),React17.createElement(React17.Fragment,null,\"-\"))};var normalizeOptions=(options,labels)=>Array.isArray(options)?options.reduce((acc,item)=>(acc[labels?.[item]||String(item)]=item,acc),{}):options,Controls={check:CheckboxControl,\"inline-check\":CheckboxControl,radio:RadioControl,\"inline-radio\":RadioControl,select:SelectControl,\"multi-select\":SelectControl},OptionsControl=props=>{let{type=\"select\",labels,argType}=props,normalized={...props,options:argType?normalizeOptions(argType.options,labels):{},isInline:type.includes(\"inline\"),isMulti:type.includes(\"multi\")},Control=Controls[type];if(Control)return React17.createElement(Control,{...normalized});throw new Error(`Unknown options type: ${type}`)};var VALUE=\"value\",KEY=\"key\";var ERROR=\"Error\",OBJECT=\"Object\",ARRAY=\"Array\",STRING=\"String\",NUMBER=\"Number\",BOOLEAN=\"Boolean\",DATE=\"Date\",NULL=\"Null\",UNDEFINED=\"Undefined\",FUNCTION=\"Function\",SYMBOL=\"Symbol\";var ADD_DELTA_TYPE=\"ADD_DELTA_TYPE\",REMOVE_DELTA_TYPE=\"REMOVE_DELTA_TYPE\",UPDATE_DELTA_TYPE=\"UPDATE_DELTA_TYPE\";function getObjectType(obj){return obj!==null&&typeof obj==\"object\"&&!Array.isArray(obj)&&typeof obj[Symbol.iterator]==\"function\"?\"Iterable\":Object.prototype.toString.call(obj).slice(8,-1)}function isComponentWillChange(oldValue,newValue){let oldType=getObjectType(oldValue),newType=getObjectType(newValue);return (oldType===\"Function\"||newType===\"Function\")&&newType!==oldType}var JsonAddValue=class extends Component{constructor(props){super(props),this.state={inputRefKey:null,inputRefValue:null},this.refInputValue=this.refInputValue.bind(this),this.refInputKey=this.refInputKey.bind(this),this.onKeydown=this.onKeydown.bind(this),this.onSubmit=this.onSubmit.bind(this);}componentDidMount(){let{inputRefKey,inputRefValue}=this.state,{onlyValue}=this.props;inputRefKey&&typeof inputRefKey.focus==\"function\"&&inputRefKey.focus(),onlyValue&&inputRefValue&&typeof inputRefValue.focus==\"function\"&&inputRefValue.focus(),document.addEventListener(\"keydown\",this.onKeydown);}componentWillUnmount(){document.removeEventListener(\"keydown\",this.onKeydown);}onKeydown(event){event.altKey||event.ctrlKey||event.metaKey||event.shiftKey||event.repeat||((event.code===\"Enter\"||event.key===\"Enter\")&&(event.preventDefault(),this.onSubmit()),(event.code===\"Escape\"||event.key===\"Escape\")&&(event.preventDefault(),this.props.handleCancel()));}onSubmit(){let{handleAdd,onlyValue,onSubmitValueParser,keyPath,deep}=this.props,{inputRefKey,inputRefValue}=this.state,result={};if(!onlyValue){if(!inputRefKey.value)return;result.key=inputRefKey.value;}result.newValue=onSubmitValueParser(!1,keyPath,deep,result.key,inputRefValue.value),handleAdd(result);}refInputKey(node){this.state.inputRefKey=node;}refInputValue(node){this.state.inputRefValue=node;}render(){let{handleCancel,onlyValue,addButtonElement,cancelButtonElement,inputElementGenerator,keyPath,deep}=this.props,addButtonElementLayout=cloneElement(addButtonElement,{onClick:this.onSubmit}),cancelButtonElementLayout=cloneElement(cancelButtonElement,{onClick:handleCancel}),inputElementValue=inputElementGenerator(VALUE,keyPath,deep),inputElementValueLayout=cloneElement(inputElementValue,{placeholder:\"Value\",ref:this.refInputValue}),inputElementKeyLayout=null;if(!onlyValue){let inputElementKey=inputElementGenerator(KEY,keyPath,deep);inputElementKeyLayout=cloneElement(inputElementKey,{placeholder:\"Key\",ref:this.refInputKey});}return React17.createElement(\"span\",{className:\"rejt-add-value-node\"},inputElementKeyLayout,inputElementValueLayout,cancelButtonElementLayout,addButtonElementLayout)}};JsonAddValue.defaultProps={onlyValue:!1,addButtonElement:React17.createElement(\"button\",null,\"+\"),cancelButtonElement:React17.createElement(\"button\",null,\"c\")};var JsonArray=class extends Component{constructor(props){super(props);let keyPath=[...props.keyPath,props.name];this.state={data:props.data,name:props.name,keyPath,deep:props.deep,nextDeep:props.deep+1,collapsed:props.isCollapsed(keyPath,props.deep,props.data),addFormVisible:!1},this.handleCollapseMode=this.handleCollapseMode.bind(this),this.handleRemoveItem=this.handleRemoveItem.bind(this),this.handleAddMode=this.handleAddMode.bind(this),this.handleAddValueAdd=this.handleAddValueAdd.bind(this),this.handleAddValueCancel=this.handleAddValueCancel.bind(this),this.handleEditValue=this.handleEditValue.bind(this),this.onChildUpdate=this.onChildUpdate.bind(this),this.renderCollapsed=this.renderCollapsed.bind(this),this.renderNotCollapsed=this.renderNotCollapsed.bind(this);}static getDerivedStateFromProps(props,state){return props.data!==state.data?{data:props.data}:null}onChildUpdate(childKey,childData){let{data,keyPath}=this.state;data[childKey]=childData,this.setState({data});let{onUpdate}=this.props,size=keyPath.length;onUpdate(keyPath[size-1],data);}handleAddMode(){this.setState({addFormVisible:!0});}handleCollapseMode(){this.setState(state=>({collapsed:!state.collapsed}));}handleRemoveItem(index){return ()=>{let{beforeRemoveAction,logger:logger4}=this.props,{data,keyPath,nextDeep:deep}=this.state,oldValue=data[index];beforeRemoveAction(index,keyPath,deep,oldValue).then(()=>{let deltaUpdateResult={keyPath,deep,key:index,oldValue,type:REMOVE_DELTA_TYPE};data.splice(index,1),this.setState({data});let{onUpdate,onDeltaUpdate}=this.props;onUpdate(keyPath[keyPath.length-1],data),onDeltaUpdate(deltaUpdateResult);}).catch(logger4.error);}}handleAddValueAdd({newValue}){let{data,keyPath,nextDeep:deep}=this.state,{beforeAddAction,logger:logger4}=this.props;beforeAddAction(data.length,keyPath,deep,newValue).then(()=>{let newData=[...data,newValue];this.setState({data:newData}),this.handleAddValueCancel();let{onUpdate,onDeltaUpdate}=this.props;onUpdate(keyPath[keyPath.length-1],newData),onDeltaUpdate({type:ADD_DELTA_TYPE,keyPath,deep,key:newData.length-1,newValue});}).catch(logger4.error);}handleAddValueCancel(){this.setState({addFormVisible:!1});}handleEditValue({key,value:value2}){return new Promise((resolve,reject)=>{let{beforeUpdateAction}=this.props,{data,keyPath,nextDeep:deep}=this.state,oldValue=data[key];beforeUpdateAction(key,keyPath,deep,oldValue,value2).then(()=>{data[key]=value2,this.setState({data});let{onUpdate,onDeltaUpdate}=this.props;onUpdate(keyPath[keyPath.length-1],data),onDeltaUpdate({type:UPDATE_DELTA_TYPE,keyPath,deep,key,newValue:value2,oldValue}),resolve(void 0);}).catch(reject);})}renderCollapsed(){let{name,data,keyPath,deep}=this.state,{handleRemove,readOnly,getStyle,dataType,minusMenuElement}=this.props,{minus,collapsed}=getStyle(name,data,keyPath,deep,dataType),isReadOnly=readOnly(name,data,keyPath,deep,dataType),removeItemButton=cloneElement(minusMenuElement,{onClick:handleRemove,className:\"rejt-minus-menu\",style:minus});return React17.createElement(\"span\",{className:\"rejt-collapsed\"},React17.createElement(\"span\",{className:\"rejt-collapsed-text\",style:collapsed,onClick:this.handleCollapseMode},\"[...] \",data.length,\" \",data.length===1?\"item\":\"items\"),!isReadOnly&&removeItemButton)}renderNotCollapsed(){let{name,data,keyPath,deep,addFormVisible,nextDeep}=this.state,{isCollapsed,handleRemove,onDeltaUpdate,readOnly,getStyle,dataType,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser}=this.props,{minus,plus,delimiter,ul,addForm}=getStyle(name,data,keyPath,deep,dataType),isReadOnly=readOnly(name,data,keyPath,deep,dataType),addItemButton=cloneElement(plusMenuElement,{onClick:this.handleAddMode,className:\"rejt-plus-menu\",style:plus}),removeItemButton=cloneElement(minusMenuElement,{onClick:handleRemove,className:\"rejt-minus-menu\",style:minus}),onlyValue=!0,startObject=\"[\",endObject=\"]\";return React17.createElement(\"span\",{className:\"rejt-not-collapsed\"},React17.createElement(\"span\",{className:\"rejt-not-collapsed-delimiter\",style:delimiter},startObject),!addFormVisible&&addItemButton,React17.createElement(\"ul\",{className:\"rejt-not-collapsed-list\",style:ul},data.map((item,index)=>React17.createElement(JsonNode,{key:index,name:`${index}`,data:item,keyPath,deep:nextDeep,isCollapsed,handleRemove:this.handleRemoveItem(index),handleUpdateValue:this.handleEditValue,onUpdate:this.onChildUpdate,onDeltaUpdate,readOnly,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser}))),!isReadOnly&&addFormVisible&&React17.createElement(\"div\",{className:\"rejt-add-form\",style:addForm},React17.createElement(JsonAddValue,{handleAdd:this.handleAddValueAdd,handleCancel:this.handleAddValueCancel,onlyValue,addButtonElement,cancelButtonElement,inputElementGenerator,keyPath,deep,onSubmitValueParser})),React17.createElement(\"span\",{className:\"rejt-not-collapsed-delimiter\",style:delimiter},endObject),!isReadOnly&&removeItemButton)}render(){let{name,collapsed,data,keyPath,deep}=this.state,{dataType,getStyle}=this.props,value2=collapsed?this.renderCollapsed():this.renderNotCollapsed(),style=getStyle(name,data,keyPath,deep,dataType);return React17.createElement(\"div\",{className:\"rejt-array-node\"},React17.createElement(\"span\",{onClick:this.handleCollapseMode},React17.createElement(\"span\",{className:\"rejt-name\",style:style.name},name,\" :\",\" \")),value2)}};JsonArray.defaultProps={keyPath:[],deep:0,minusMenuElement:React17.createElement(\"span\",null,\" - \"),plusMenuElement:React17.createElement(\"span\",null,\" + \")};var JsonFunctionValue=class extends Component{constructor(props){super(props);let keyPath=[...props.keyPath,props.name];this.state={value:props.value,name:props.name,keyPath,deep:props.deep,editEnabled:!1,inputRef:null},this.handleEditMode=this.handleEditMode.bind(this),this.refInput=this.refInput.bind(this),this.handleCancelEdit=this.handleCancelEdit.bind(this),this.handleEdit=this.handleEdit.bind(this),this.onKeydown=this.onKeydown.bind(this);}static getDerivedStateFromProps(props,state){return props.value!==state.value?{value:props.value}:null}componentDidUpdate(){let{editEnabled,inputRef,name,value:value2,keyPath,deep}=this.state,{readOnly,dataType}=this.props,readOnlyResult=readOnly(name,value2,keyPath,deep,dataType);editEnabled&&!readOnlyResult&&typeof inputRef.focus==\"function\"&&inputRef.focus();}componentDidMount(){document.addEventListener(\"keydown\",this.onKeydown);}componentWillUnmount(){document.removeEventListener(\"keydown\",this.onKeydown);}onKeydown(event){event.altKey||event.ctrlKey||event.metaKey||event.shiftKey||event.repeat||((event.code===\"Enter\"||event.key===\"Enter\")&&(event.preventDefault(),this.handleEdit()),(event.code===\"Escape\"||event.key===\"Escape\")&&(event.preventDefault(),this.handleCancelEdit()));}handleEdit(){let{handleUpdateValue,originalValue,logger:logger4,onSubmitValueParser,keyPath}=this.props,{inputRef,name,deep}=this.state;if(!inputRef)return;let newValue=onSubmitValueParser(!0,keyPath,deep,name,inputRef.value);handleUpdateValue({value:newValue,key:name}).then(()=>{isComponentWillChange(originalValue,newValue)||this.handleCancelEdit();}).catch(logger4.error);}handleEditMode(){this.setState({editEnabled:!0});}refInput(node){this.state.inputRef=node;}handleCancelEdit(){this.setState({editEnabled:!1});}render(){let{name,value:value2,editEnabled,keyPath,deep}=this.state,{handleRemove,originalValue,readOnly,dataType,getStyle,editButtonElement,cancelButtonElement,textareaElementGenerator,minusMenuElement,keyPath:comeFromKeyPath}=this.props,style=getStyle(name,originalValue,keyPath,deep,dataType),result=null,minusElement=null,resultOnlyResult=readOnly(name,originalValue,keyPath,deep,dataType);if(editEnabled&&!resultOnlyResult){let textareaElement=textareaElementGenerator(VALUE,comeFromKeyPath,deep,name,originalValue,dataType),editButtonElementLayout=cloneElement(editButtonElement,{onClick:this.handleEdit}),cancelButtonElementLayout=cloneElement(cancelButtonElement,{onClick:this.handleCancelEdit}),textareaElementLayout=cloneElement(textareaElement,{ref:this.refInput,defaultValue:originalValue});result=React17.createElement(\"span\",{className:\"rejt-edit-form\",style:style.editForm},textareaElementLayout,\" \",cancelButtonElementLayout,editButtonElementLayout),minusElement=null;}else {result=React17.createElement(\"span\",{className:\"rejt-value\",style:style.value,onClick:resultOnlyResult?null:this.handleEditMode},value2);let minusMenuLayout=cloneElement(minusMenuElement,{onClick:handleRemove,className:\"rejt-minus-menu\",style:style.minus});minusElement=resultOnlyResult?null:minusMenuLayout;}return React17.createElement(\"li\",{className:\"rejt-function-value-node\",style:style.li},React17.createElement(\"span\",{className:\"rejt-name\",style:style.name},name,\" :\",\" \"),result,minusElement)}};JsonFunctionValue.defaultProps={keyPath:[],deep:0,handleUpdateValue:()=>{},editButtonElement:React17.createElement(\"button\",null,\"e\"),cancelButtonElement:React17.createElement(\"button\",null,\"c\"),minusMenuElement:React17.createElement(\"span\",null,\" - \")};var JsonNode=class extends Component{constructor(props){super(props),this.state={data:props.data,name:props.name,keyPath:props.keyPath,deep:props.deep};}static getDerivedStateFromProps(props,state){return props.data!==state.data?{data:props.data}:null}render(){let{data,name,keyPath,deep}=this.state,{isCollapsed,handleRemove,handleUpdateValue,onUpdate,onDeltaUpdate,readOnly,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser}=this.props,readOnlyTrue=()=>!0,dataType=getObjectType(data);switch(dataType){case ERROR:return React17.createElement(JsonObject,{data,name,isCollapsed,keyPath,deep,handleRemove,onUpdate,onDeltaUpdate,readOnly:readOnlyTrue,dataType,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser});case OBJECT:return React17.createElement(JsonObject,{data,name,isCollapsed,keyPath,deep,handleRemove,onUpdate,onDeltaUpdate,readOnly,dataType,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser});case ARRAY:return React17.createElement(JsonArray,{data,name,isCollapsed,keyPath,deep,handleRemove,onUpdate,onDeltaUpdate,readOnly,dataType,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser});case STRING:return React17.createElement(JsonValue,{name,value:`\"${data}\"`,originalValue:data,keyPath,deep,handleRemove,handleUpdateValue,readOnly,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case NUMBER:return React17.createElement(JsonValue,{name,value:data,originalValue:data,keyPath,deep,handleRemove,handleUpdateValue,readOnly,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case BOOLEAN:return React17.createElement(JsonValue,{name,value:data?\"true\":\"false\",originalValue:data,keyPath,deep,handleRemove,handleUpdateValue,readOnly,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case DATE:return React17.createElement(JsonValue,{name,value:data.toISOString(),originalValue:data,keyPath,deep,handleRemove,handleUpdateValue,readOnly:readOnlyTrue,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case NULL:return React17.createElement(JsonValue,{name,value:\"null\",originalValue:\"null\",keyPath,deep,handleRemove,handleUpdateValue,readOnly,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case UNDEFINED:return React17.createElement(JsonValue,{name,value:\"undefined\",originalValue:\"undefined\",keyPath,deep,handleRemove,handleUpdateValue,readOnly,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case FUNCTION:return React17.createElement(JsonFunctionValue,{name,value:data.toString(),originalValue:data,keyPath,deep,handleRemove,handleUpdateValue,readOnly,dataType,getStyle,cancelButtonElement,editButtonElement,textareaElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});case SYMBOL:return React17.createElement(JsonValue,{name,value:data.toString(),originalValue:data,keyPath,deep,handleRemove,handleUpdateValue,readOnly:readOnlyTrue,dataType,getStyle,cancelButtonElement,editButtonElement,inputElementGenerator,minusMenuElement,logger:logger4,onSubmitValueParser});default:return null}}};JsonNode.defaultProps={keyPath:[],deep:0};var JsonObject=class extends Component{constructor(props){super(props);let keyPath=props.deep===-1?[]:[...props.keyPath,props.name];this.state={name:props.name,data:props.data,keyPath,deep:props.deep,nextDeep:props.deep+1,collapsed:props.isCollapsed(keyPath,props.deep,props.data),addFormVisible:!1},this.handleCollapseMode=this.handleCollapseMode.bind(this),this.handleRemoveValue=this.handleRemoveValue.bind(this),this.handleAddMode=this.handleAddMode.bind(this),this.handleAddValueAdd=this.handleAddValueAdd.bind(this),this.handleAddValueCancel=this.handleAddValueCancel.bind(this),this.handleEditValue=this.handleEditValue.bind(this),this.onChildUpdate=this.onChildUpdate.bind(this),this.renderCollapsed=this.renderCollapsed.bind(this),this.renderNotCollapsed=this.renderNotCollapsed.bind(this);}static getDerivedStateFromProps(props,state){return props.data!==state.data?{data:props.data}:null}onChildUpdate(childKey,childData){let{data,keyPath}=this.state;data[childKey]=childData,this.setState({data});let{onUpdate}=this.props,size=keyPath.length;onUpdate(keyPath[size-1],data);}handleAddMode(){this.setState({addFormVisible:!0});}handleAddValueCancel(){this.setState({addFormVisible:!1});}handleAddValueAdd({key,newValue}){let{data,keyPath,nextDeep:deep}=this.state,{beforeAddAction,logger:logger4}=this.props;beforeAddAction(key,keyPath,deep,newValue).then(()=>{data[key]=newValue,this.setState({data}),this.handleAddValueCancel();let{onUpdate,onDeltaUpdate}=this.props;onUpdate(keyPath[keyPath.length-1],data),onDeltaUpdate({type:ADD_DELTA_TYPE,keyPath,deep,key,newValue});}).catch(logger4.error);}handleRemoveValue(key){return ()=>{let{beforeRemoveAction,logger:logger4}=this.props,{data,keyPath,nextDeep:deep}=this.state,oldValue=data[key];beforeRemoveAction(key,keyPath,deep,oldValue).then(()=>{let deltaUpdateResult={keyPath,deep,key,oldValue,type:REMOVE_DELTA_TYPE};delete data[key],this.setState({data});let{onUpdate,onDeltaUpdate}=this.props;onUpdate(keyPath[keyPath.length-1],data),onDeltaUpdate(deltaUpdateResult);}).catch(logger4.error);}}handleCollapseMode(){this.setState(state=>({collapsed:!state.collapsed}));}handleEditValue({key,value:value2}){return new Promise((resolve,reject)=>{let{beforeUpdateAction}=this.props,{data,keyPath,nextDeep:deep}=this.state,oldValue=data[key];beforeUpdateAction(key,keyPath,deep,oldValue,value2).then(()=>{data[key]=value2,this.setState({data});let{onUpdate,onDeltaUpdate}=this.props;onUpdate(keyPath[keyPath.length-1],data),onDeltaUpdate({type:UPDATE_DELTA_TYPE,keyPath,deep,key,newValue:value2,oldValue}),resolve();}).catch(reject);})}renderCollapsed(){let{name,keyPath,deep,data}=this.state,{handleRemove,readOnly,dataType,getStyle,minusMenuElement}=this.props,{minus,collapsed}=getStyle(name,data,keyPath,deep,dataType),keyList=Object.getOwnPropertyNames(data),isReadOnly=readOnly(name,data,keyPath,deep,dataType),removeItemButton=cloneElement(minusMenuElement,{onClick:handleRemove,className:\"rejt-minus-menu\",style:minus});return React17.createElement(\"span\",{className:\"rejt-collapsed\"},React17.createElement(\"span\",{className:\"rejt-collapsed-text\",style:collapsed,onClick:this.handleCollapseMode},\"{...}\",\" \",keyList.length,\" \",keyList.length===1?\"key\":\"keys\"),!isReadOnly&&removeItemButton)}renderNotCollapsed(){let{name,data,keyPath,deep,nextDeep,addFormVisible}=this.state,{isCollapsed,handleRemove,onDeltaUpdate,readOnly,getStyle,dataType,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser}=this.props,{minus,plus,addForm,ul,delimiter}=getStyle(name,data,keyPath,deep,dataType),keyList=Object.getOwnPropertyNames(data),isReadOnly=readOnly(name,data,keyPath,deep,dataType),addItemButton=cloneElement(plusMenuElement,{onClick:this.handleAddMode,className:\"rejt-plus-menu\",style:plus}),removeItemButton=cloneElement(minusMenuElement,{onClick:handleRemove,className:\"rejt-minus-menu\",style:minus}),list=keyList.map(key=>React17.createElement(JsonNode,{key,name:key,data:data[key],keyPath,deep:nextDeep,isCollapsed,handleRemove:this.handleRemoveValue(key),handleUpdateValue:this.handleEditValue,onUpdate:this.onChildUpdate,onDeltaUpdate,readOnly,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator,textareaElementGenerator,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser})),startObject=\"{\",endObject=\"}\";return React17.createElement(\"span\",{className:\"rejt-not-collapsed\"},React17.createElement(\"span\",{className:\"rejt-not-collapsed-delimiter\",style:delimiter},startObject),!isReadOnly&&addItemButton,React17.createElement(\"ul\",{className:\"rejt-not-collapsed-list\",style:ul},list),!isReadOnly&&addFormVisible&&React17.createElement(\"div\",{className:\"rejt-add-form\",style:addForm},React17.createElement(JsonAddValue,{handleAdd:this.handleAddValueAdd,handleCancel:this.handleAddValueCancel,addButtonElement,cancelButtonElement,inputElementGenerator,keyPath,deep,onSubmitValueParser})),React17.createElement(\"span\",{className:\"rejt-not-collapsed-delimiter\",style:delimiter},endObject),!isReadOnly&&removeItemButton)}render(){let{name,collapsed,data,keyPath,deep}=this.state,{getStyle,dataType}=this.props,value2=collapsed?this.renderCollapsed():this.renderNotCollapsed(),style=getStyle(name,data,keyPath,deep,dataType);return React17.createElement(\"div\",{className:\"rejt-object-node\"},React17.createElement(\"span\",{onClick:this.handleCollapseMode},React17.createElement(\"span\",{className:\"rejt-name\",style:style.name},name,\" :\",\" \")),value2)}};JsonObject.defaultProps={keyPath:[],deep:0,minusMenuElement:React17.createElement(\"span\",null,\" - \"),plusMenuElement:React17.createElement(\"span\",null,\" + \")};var JsonValue=class extends Component{constructor(props){super(props);let keyPath=[...props.keyPath,props.name];this.state={value:props.value,name:props.name,keyPath,deep:props.deep,editEnabled:!1,inputRef:null},this.handleEditMode=this.handleEditMode.bind(this),this.refInput=this.refInput.bind(this),this.handleCancelEdit=this.handleCancelEdit.bind(this),this.handleEdit=this.handleEdit.bind(this),this.onKeydown=this.onKeydown.bind(this);}static getDerivedStateFromProps(props,state){return props.value!==state.value?{value:props.value}:null}componentDidUpdate(){let{editEnabled,inputRef,name,value:value2,keyPath,deep}=this.state,{readOnly,dataType}=this.props,isReadOnly=readOnly(name,value2,keyPath,deep,dataType);editEnabled&&!isReadOnly&&typeof inputRef.focus==\"function\"&&inputRef.focus();}componentDidMount(){document.addEventListener(\"keydown\",this.onKeydown);}componentWillUnmount(){document.removeEventListener(\"keydown\",this.onKeydown);}onKeydown(event){event.altKey||event.ctrlKey||event.metaKey||event.shiftKey||event.repeat||((event.code===\"Enter\"||event.key===\"Enter\")&&(event.preventDefault(),this.handleEdit()),(event.code===\"Escape\"||event.key===\"Escape\")&&(event.preventDefault(),this.handleCancelEdit()));}handleEdit(){let{handleUpdateValue,originalValue,logger:logger4,onSubmitValueParser,keyPath}=this.props,{inputRef,name,deep}=this.state;if(!inputRef)return;let newValue=onSubmitValueParser(!0,keyPath,deep,name,inputRef.value);handleUpdateValue({value:newValue,key:name}).then(()=>{isComponentWillChange(originalValue,newValue)||this.handleCancelEdit();}).catch(logger4.error);}handleEditMode(){this.setState({editEnabled:!0});}refInput(node){this.state.inputRef=node;}handleCancelEdit(){this.setState({editEnabled:!1});}render(){let{name,value:value2,editEnabled,keyPath,deep}=this.state,{handleRemove,originalValue,readOnly,dataType,getStyle,editButtonElement,cancelButtonElement,inputElementGenerator,minusMenuElement,keyPath:comeFromKeyPath}=this.props,style=getStyle(name,originalValue,keyPath,deep,dataType),isReadOnly=readOnly(name,originalValue,keyPath,deep,dataType),isEditing=editEnabled&&!isReadOnly,inputElement=inputElementGenerator(VALUE,comeFromKeyPath,deep,name,originalValue,dataType),editButtonElementLayout=cloneElement(editButtonElement,{onClick:this.handleEdit}),cancelButtonElementLayout=cloneElement(cancelButtonElement,{onClick:this.handleCancelEdit}),inputElementLayout=cloneElement(inputElement,{ref:this.refInput,defaultValue:JSON.stringify(originalValue)}),minusMenuLayout=cloneElement(minusMenuElement,{onClick:handleRemove,className:\"rejt-minus-menu\",style:style.minus});return React17.createElement(\"li\",{className:\"rejt-value-node\",style:style.li},React17.createElement(\"span\",{className:\"rejt-name\",style:style.name},name,\" : \"),isEditing?React17.createElement(\"span\",{className:\"rejt-edit-form\",style:style.editForm},inputElementLayout,\" \",cancelButtonElementLayout,editButtonElementLayout):React17.createElement(\"span\",{className:\"rejt-value\",style:style.value,onClick:isReadOnly?null:this.handleEditMode},String(value2)),!isReadOnly&&!isEditing&&minusMenuLayout)}};JsonValue.defaultProps={keyPath:[],deep:0,handleUpdateValue:()=>Promise.resolve(),editButtonElement:React17.createElement(\"button\",null,\"e\"),cancelButtonElement:React17.createElement(\"button\",null,\"c\"),minusMenuElement:React17.createElement(\"span\",null,\" - \")};var object={minus:{color:\"red\"},plus:{color:\"green\"},collapsed:{color:\"grey\"},delimiter:{},ul:{padding:\"0px\",margin:\"0 0 0 25px\",listStyle:\"none\"},name:{color:\"#2287CD\"},addForm:{}},array={minus:{color:\"red\"},plus:{color:\"green\"},collapsed:{color:\"grey\"},delimiter:{},ul:{padding:\"0px\",margin:\"0 0 0 25px\",listStyle:\"none\"},name:{color:\"#2287CD\"},addForm:{}},value={minus:{color:\"red\"},editForm:{},value:{color:\"#7bba3d\"},li:{minHeight:\"22px\",lineHeight:\"22px\",outline:\"0px\"},name:{color:\"#2287CD\"}};function parse3(string){let result=string;if(result.indexOf(\"function\")===0)return (0, eval)(`(${result})`);try{result=JSON.parse(string);}catch{}return result}var JsonTree=class extends Component{constructor(props){super(props),this.state={data:props.data,rootName:props.rootName},this.onUpdate=this.onUpdate.bind(this),this.removeRoot=this.removeRoot.bind(this);}static getDerivedStateFromProps(props,state){return props.data!==state.data||props.rootName!==state.rootName?{data:props.data,rootName:props.rootName}:null}onUpdate(key,data){this.setState({data}),this.props.onFullyUpdate(data);}removeRoot(){this.onUpdate(null,null);}render(){let{data,rootName}=this.state,{isCollapsed,onDeltaUpdate,readOnly,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElement,textareaElement,minusMenuElement,plusMenuElement,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser,fallback=null}=this.props,dataType=getObjectType(data),readOnlyFunction=readOnly;getObjectType(readOnly)===\"Boolean\"&&(readOnlyFunction=()=>readOnly);let inputElementFunction=inputElement;inputElement&&getObjectType(inputElement)!==\"Function\"&&(inputElementFunction=()=>inputElement);let textareaElementFunction=textareaElement;return textareaElement&&getObjectType(textareaElement)!==\"Function\"&&(textareaElementFunction=()=>textareaElement),dataType===\"Object\"||dataType===\"Array\"?React17.createElement(\"div\",{className:\"rejt-tree\"},React17.createElement(JsonNode,{data,name:rootName,deep:-1,isCollapsed,onUpdate:this.onUpdate,onDeltaUpdate,readOnly:readOnlyFunction,getStyle,addButtonElement,cancelButtonElement,editButtonElement,inputElementGenerator:inputElementFunction,textareaElementGenerator:textareaElementFunction,minusMenuElement,plusMenuElement,handleRemove:this.removeRoot,beforeRemoveAction,beforeAddAction,beforeUpdateAction,logger:logger4,onSubmitValueParser})):fallback}};JsonTree.defaultProps={rootName:\"root\",isCollapsed:(keyPath,deep)=>deep!==-1,getStyle:(keyName,data,keyPath,deep,dataType)=>{switch(dataType){case\"Object\":case\"Error\":return object;case\"Array\":return array;default:return value}},readOnly:()=>!1,onFullyUpdate:()=>{},onDeltaUpdate:()=>{},beforeRemoveAction:()=>Promise.resolve(),beforeAddAction:()=>Promise.resolve(),beforeUpdateAction:()=>Promise.resolve(),logger:{error:()=>{}},onSubmitValueParser:(isEditMode,keyPath,deep,name,rawValue)=>parse3(rawValue),inputElement:()=>React17.createElement(\"input\",null),textareaElement:()=>React17.createElement(\"textarea\",null),fallback:null};var {window:globalWindow2}=global,Wrapper5=styled.div(({theme})=>({position:\"relative\",display:\"flex\",\".rejt-tree\":{marginLeft:\"1rem\",fontSize:\"13px\"},\".rejt-value-node, .rejt-object-node > .rejt-collapsed, .rejt-array-node > .rejt-collapsed, .rejt-object-node > .rejt-not-collapsed, .rejt-array-node > .rejt-not-collapsed\":{\"& > svg\":{opacity:0,transition:\"opacity 0.2s\"}},\".rejt-value-node:hover, .rejt-object-node:hover > .rejt-collapsed, .rejt-array-node:hover > .rejt-collapsed, .rejt-object-node:hover > .rejt-not-collapsed, .rejt-array-node:hover > .rejt-not-collapsed\":{\"& > svg\":{opacity:1}},\".rejt-edit-form button\":{display:\"none\"},\".rejt-add-form\":{marginLeft:10},\".rejt-add-value-node\":{display:\"inline-flex\",alignItems:\"center\"},\".rejt-name\":{lineHeight:\"22px\"},\".rejt-not-collapsed-delimiter\":{lineHeight:\"22px\"},\".rejt-plus-menu\":{marginLeft:5},\".rejt-object-node > span > *, .rejt-array-node > span > *\":{position:\"relative\",zIndex:2},\".rejt-object-node, .rejt-array-node\":{position:\"relative\"},\".rejt-object-node > span:first-of-type::after, .rejt-array-node > span:first-of-type::after, .rejt-collapsed::before, .rejt-not-collapsed::before\":{content:'\"\"',position:\"absolute\",top:0,display:\"block\",width:\"100%\",marginLeft:\"-1rem\",padding:\"0 4px 0 1rem\",height:22},\".rejt-collapsed::before, .rejt-not-collapsed::before\":{zIndex:1,background:\"transparent\",borderRadius:4,transition:\"background 0.2s\",pointerEvents:\"none\",opacity:.1},\".rejt-object-node:hover, .rejt-array-node:hover\":{\"& > .rejt-collapsed::before, & > .rejt-not-collapsed::before\":{background:theme.color.secondary}},\".rejt-collapsed::after, .rejt-not-collapsed::after\":{content:'\"\"',position:\"absolute\",display:\"inline-block\",pointerEvents:\"none\",width:0,height:0},\".rejt-collapsed::after\":{left:-8,top:8,borderTop:\"3px solid transparent\",borderBottom:\"3px solid transparent\",borderLeft:\"3px solid rgba(153,153,153,0.6)\"},\".rejt-not-collapsed::after\":{left:-10,top:10,borderTop:\"3px solid rgba(153,153,153,0.6)\",borderLeft:\"3px solid transparent\",borderRight:\"3px solid transparent\"},\".rejt-value\":{display:\"inline-block\",border:\"1px solid transparent\",borderRadius:4,margin:\"1px 0\",padding:\"0 4px\",cursor:\"text\",color:theme.color.defaultText},\".rejt-value-node:hover > .rejt-value\":{background:theme.color.lighter,borderColor:theme.appBorderColor}})),Button=styled.button(({theme,primary})=>({border:0,height:20,margin:1,borderRadius:4,background:primary?theme.color.secondary:\"transparent\",color:primary?theme.color.lightest:theme.color.dark,fontWeight:primary?\"bold\":\"normal\",cursor:\"pointer\",order:primary?\"initial\":9})),ActionIcon=styled(Icons)(({theme,icon,disabled})=>({display:\"inline-block\",verticalAlign:\"middle\",width:15,height:15,padding:3,marginLeft:5,cursor:disabled?\"not-allowed\":\"pointer\",color:theme.textMutedColor,\"&:hover\":disabled?{}:{color:icon===\"subtract\"?theme.color.negative:theme.color.ancillary},\"svg + &\":{marginLeft:0}})),Input=styled.input(({theme,placeholder})=>({outline:0,margin:placeholder?1:\"1px 0\",padding:\"3px 4px\",color:theme.color.defaultText,background:theme.background.app,border:`1px solid ${theme.appBorderColor}`,borderRadius:4,lineHeight:\"14px\",width:placeholder===\"Key\"?80:120,\"&:focus\":{border:`1px solid ${theme.color.secondary}`}})),RawButton=styled(IconButton)(({theme})=>({position:\"absolute\",zIndex:2,top:2,right:2,height:21,padding:\"0 3px\",background:theme.background.bar,border:`1px solid ${theme.appBorderColor}`,borderRadius:3,color:theme.textMutedColor,fontSize:\"9px\",fontWeight:\"bold\",textDecoration:\"none\",span:{marginLeft:3,marginTop:1}})),RawInput=styled(Form.Textarea)(({theme})=>({flex:1,padding:\"7px 6px\",fontFamily:theme.typography.fonts.mono,fontSize:\"12px\",lineHeight:\"18px\",\"&::placeholder\":{fontFamily:theme.typography.fonts.base,fontSize:\"13px\"},\"&:placeholder-shown\":{padding:\"7px 10px\"}})),ENTER_EVENT={bubbles:!0,cancelable:!0,key:\"Enter\",code:\"Enter\",keyCode:13},dispatchEnterKey=event=>{event.currentTarget.dispatchEvent(new globalWindow2.KeyboardEvent(\"keydown\",ENTER_EVENT));},selectValue=event=>{event.currentTarget.select();},getCustomStyleFunction=theme=>()=>({name:{color:theme.color.secondary},collapsed:{color:theme.color.dark},ul:{listStyle:\"none\",margin:\"0 0 0 1rem\",padding:0},li:{outline:0}}),ObjectControl=({name,value:value2,onChange})=>{let theme=useTheme(),data=useMemo(()=>value2&&cloneDeep(value2),[value2]),hasData=data!=null,[showRaw,setShowRaw]=useState(!hasData),[parseError,setParseError]=useState(null),updateRaw=useCallback(raw=>{try{raw&&onChange(JSON.parse(raw)),setParseError(void 0);}catch(e){setParseError(e);}},[onChange]),[forceVisible,setForceVisible]=useState(!1),onForceVisible=useCallback(()=>{onChange({}),setForceVisible(!0);},[setForceVisible]),htmlElRef=useRef(null);if(useEffect(()=>{forceVisible&&htmlElRef.current&&htmlElRef.current.select();},[forceVisible]),!hasData)return React17.createElement(Form.Button,{id:getControlSetterButtonId(name),onClick:onForceVisible},\"Set object\");let rawJSONForm=React17.createElement(RawInput,{ref:htmlElRef,id:getControlId(name),name,defaultValue:value2===null?\"\":JSON.stringify(value2,null,2),onBlur:event=>updateRaw(event.target.value),placeholder:\"Edit JSON string...\",autoFocus:forceVisible,valid:parseError?\"error\":null});return React17.createElement(Wrapper5,null,[\"Object\",\"Array\"].includes(getObjectType(data))&&React17.createElement(RawButton,{href:\"#\",onClick:e=>{e.preventDefault(),setShowRaw(v=>!v);}},React17.createElement(Icons,{icon:showRaw?\"eyeclose\":\"eye\"}),React17.createElement(\"span\",null,\"RAW\")),showRaw?rawJSONForm:React17.createElement(JsonTree,{data,rootName:name,onFullyUpdate:onChange,getStyle:getCustomStyleFunction(theme),cancelButtonElement:React17.createElement(Button,{type:\"button\"},\"Cancel\"),editButtonElement:React17.createElement(Button,{type:\"submit\"},\"Save\"),addButtonElement:React17.createElement(Button,{type:\"submit\",primary:!0},\"Save\"),plusMenuElement:React17.createElement(ActionIcon,{icon:\"add\"}),minusMenuElement:React17.createElement(ActionIcon,{icon:\"subtract\"}),inputElement:(_,__,___,key)=>key?React17.createElement(Input,{onFocus:selectValue,onBlur:dispatchEnterKey}):React17.createElement(Input,null),fallback:rawJSONForm}))};var RangeInput=styled.input(({theme,min,max,value:value2})=>({\"&\":{width:\"100%\",backgroundColor:\"transparent\",appearance:\"none\"},\"&::-webkit-slider-runnable-track\":{background:theme.base===\"light\"?`linear-gradient(to right, \n ${theme.color.green} 0%, ${theme.color.green} ${(value2-min)/(max-min)*100}%, \n ${darken(.02,theme.input.background)} ${(value2-min)/(max-min)*100}%, \n ${darken(.02,theme.input.background)} 100%)`:`linear-gradient(to right, \n ${theme.color.green} 0%, ${theme.color.green} ${(value2-min)/(max-min)*100}%, \n ${lighten(.02,theme.input.background)} ${(value2-min)/(max-min)*100}%, \n ${lighten(.02,theme.input.background)} 100%)`,boxShadow:`${theme.appBorderColor} 0 0 0 1px inset`,borderRadius:6,width:\"100%\",height:6,cursor:\"pointer\"},\"&::-webkit-slider-thumb\":{marginTop:\"-6px\",width:16,height:16,border:`1px solid ${rgba(theme.appBorderColor,.2)}`,borderRadius:\"50px\",boxShadow:`0 1px 3px 0px ${rgba(theme.appBorderColor,.2)}`,cursor:\"grab\",appearance:\"none\",background:`${theme.input.background}`,transition:\"all 150ms ease-out\",\"&:hover\":{background:`${darken(.05,theme.input.background)}`,transform:\"scale3d(1.1, 1.1, 1.1) translateY(-1px)\",transition:\"all 50ms ease-out\"},\"&:active\":{background:`${theme.input.background}`,transform:\"scale3d(1, 1, 1) translateY(0px)\",cursor:\"grabbing\"}},\"&:focus\":{outline:\"none\",\"&::-webkit-slider-runnable-track\":{borderColor:rgba(theme.color.secondary,.4)},\"&::-webkit-slider-thumb\":{borderColor:theme.color.secondary,boxShadow:`0 0px 5px 0px ${theme.color.secondary}`}},\"&::-moz-range-track\":{background:theme.base===\"light\"?`linear-gradient(to right, \n ${theme.color.green} 0%, ${theme.color.green} ${(value2-min)/(max-min)*100}%, \n ${darken(.02,theme.input.background)} ${(value2-min)/(max-min)*100}%, \n ${darken(.02,theme.input.background)} 100%)`:`linear-gradient(to right, \n ${theme.color.green} 0%, ${theme.color.green} ${(value2-min)/(max-min)*100}%, \n ${lighten(.02,theme.input.background)} ${(value2-min)/(max-min)*100}%, \n ${lighten(.02,theme.input.background)} 100%)`,boxShadow:`${theme.appBorderColor} 0 0 0 1px inset`,borderRadius:6,width:\"100%\",height:6,cursor:\"pointer\",outline:\"none\"},\"&::-moz-range-thumb\":{width:16,height:16,border:`1px solid ${rgba(theme.appBorderColor,.2)}`,borderRadius:\"50px\",boxShadow:`0 1px 3px 0px ${rgba(theme.appBorderColor,.2)}`,cursor:\"grab\",background:`${theme.input.background}`,transition:\"all 150ms ease-out\",\"&:hover\":{background:`${darken(.05,theme.input.background)}`,transform:\"scale3d(1.1, 1.1, 1.1) translateY(-1px)\",transition:\"all 50ms ease-out\"},\"&:active\":{background:`${theme.input.background}`,transform:\"scale3d(1, 1, 1) translateY(0px)\",cursor:\"grabbing\"}},\"&::-ms-track\":{background:theme.base===\"light\"?`linear-gradient(to right, \n ${theme.color.green} 0%, ${theme.color.green} ${(value2-min)/(max-min)*100}%, \n ${darken(.02,theme.input.background)} ${(value2-min)/(max-min)*100}%, \n ${darken(.02,theme.input.background)} 100%)`:`linear-gradient(to right, \n ${theme.color.green} 0%, ${theme.color.green} ${(value2-min)/(max-min)*100}%, \n ${lighten(.02,theme.input.background)} ${(value2-min)/(max-min)*100}%, \n ${lighten(.02,theme.input.background)} 100%)`,boxShadow:`${theme.appBorderColor} 0 0 0 1px inset`,color:\"transparent\",width:\"100%\",height:\"6px\",cursor:\"pointer\"},\"&::-ms-fill-lower\":{borderRadius:6},\"&::-ms-fill-upper\":{borderRadius:6},\"&::-ms-thumb\":{width:16,height:16,background:`${theme.input.background}`,border:`1px solid ${rgba(theme.appBorderColor,.2)}`,borderRadius:50,cursor:\"grab\",marginTop:0},\"@supports (-ms-ime-align:auto)\":{\"input[type=range]\":{margin:\"0\"}}})),RangeLabel=styled.span({paddingLeft:5,paddingRight:5,fontSize:12,whiteSpace:\"nowrap\",fontFeatureSettings:\"tnum\",fontVariantNumeric:\"tabular-nums\"}),RangeCurrentAndMaxLabel=styled(RangeLabel)(({numberOFDecimalsPlaces,max})=>({width:`${numberOFDecimalsPlaces+max.toString().length*2+3}ch`,textAlign:\"right\",flexShrink:0})),RangeWrapper=styled.div({display:\"flex\",alignItems:\"center\",width:\"100%\"});function getNumberOfDecimalPlaces(number){let match=number.toString().match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);return match?Math.max(0,(match[1]?match[1].length:0)-(match[2]?+match[2]:0)):0}var RangeControl=({name,value:value2,onChange,min=0,max=100,step=1,onBlur,onFocus})=>{let handleChange=event=>{onChange(parse2(event.target.value));},hasValue=value2!==void 0,numberOFDecimalsPlaces=useMemo(()=>getNumberOfDecimalPlaces(step),[step]);return React17.createElement(RangeWrapper,null,React17.createElement(RangeLabel,null,min),React17.createElement(RangeInput,{id:getControlId(name),type:\"range\",onChange:handleChange,name,value:value2,min,max,step,onFocus,onBlur}),React17.createElement(RangeCurrentAndMaxLabel,{numberOFDecimalsPlaces,max},`${hasValue?value2.toFixed(numberOFDecimalsPlaces):\"--\"}`,\" / \",max))};var Wrapper6=styled.label({display:\"flex\"}),MaxLength=styled.div(({isMaxed})=>({marginLeft:\"0.75rem\",paddingTop:\"0.35rem\",color:isMaxed?\"red\":void 0})),TextControl=({name,value:value2,onChange,onFocus,onBlur,maxLength})=>{let handleChange=event=>{onChange(event.target.value);},[forceVisible,setForceVisible]=useState(!1),onForceVisible=useCallback(()=>{onChange(\"\"),setForceVisible(!0);},[setForceVisible]);if(value2===void 0)return React17.createElement(Form.Button,{id:getControlSetterButtonId(name),onClick:onForceVisible},\"Set string\");let isValid=typeof value2==\"string\";return React17.createElement(Wrapper6,null,React17.createElement(Form.Textarea,{id:getControlId(name),maxLength,onChange:handleChange,size:\"flex\",placeholder:\"Edit string...\",autoFocus:forceVisible,valid:isValid?null:\"error\",name,value:isValid?value2:\"\",onFocus,onBlur}),maxLength&&React17.createElement(MaxLength,{isMaxed:value2?.length===maxLength},value2?.length??0,\" / \",maxLength))};var FileInput=styled(Form.Input)({padding:10});function revokeOldUrls(urls){urls.forEach(url=>{url.startsWith(\"blob:\")&&URL.revokeObjectURL(url);});}var FilesControl=({onChange,name,accept=\"image/*\",value:value2})=>{let inputElement=useRef(null);function handleFileChange(e){if(!e.target.files)return;let fileUrls=Array.from(e.target.files).map(file=>URL.createObjectURL(file));onChange(fileUrls),revokeOldUrls(value2);}return useEffect(()=>{value2==null&&inputElement.current&&(inputElement.current.value=null);},[value2,name]),React17.createElement(FileInput,{ref:inputElement,id:getControlId(name),type:\"file\",name,multiple:!0,onChange:handleFileChange,accept,size:\"flex\"})};var LazyColorControl=lazy(()=>import('./Color-3YIJY6X7.mjs')),ColorControl=props=>React17.createElement(Suspense,{fallback:React17.createElement(\"div\",null)},React17.createElement(LazyColorControl,{...props}));var Controls2={array:ObjectControl,object:ObjectControl,boolean:BooleanControl,color:ColorControl,date:DateControl,number:NumberControl,check:OptionsControl,\"inline-check\":OptionsControl,radio:OptionsControl,\"inline-radio\":OptionsControl,select:OptionsControl,\"multi-select\":OptionsControl,range:RangeControl,text:TextControl,file:FilesControl},NoControl=()=>React17.createElement(React17.Fragment,null,\"-\"),ArgControl=({row,arg,updateArgs})=>{let{key,control}=row,[isFocused,setFocused]=useState(!1),[boxedValue,setBoxedValue]=useState({value:arg});useEffect(()=>{isFocused||setBoxedValue({value:arg});},[isFocused,arg]);let onChange=useCallback(argVal=>(setBoxedValue({value:argVal}),updateArgs({[key]:argVal}),argVal),[updateArgs,key]),onBlur=useCallback(()=>setFocused(!1),[]),onFocus=useCallback(()=>setFocused(!0),[]);if(!control||control.disable)return React17.createElement(NoControl,null);let props={name:key,argType:row,value:boxedValue.value,onChange,onBlur,onFocus},Control=Controls2[control.type]||NoControl;return React17.createElement(Control,{...props,...control,controlType:control.type})};var Name=styled.span({fontWeight:\"bold\"}),Required=styled.span(({theme})=>({color:theme.color.negative,fontFamily:theme.typography.fonts.mono,cursor:\"help\"})),Description=styled.div(({theme})=>({\"&&\":{p:{margin:\"0 0 10px 0\"},a:{color:theme.color.secondary}},code:{...codeCommon({theme}),fontSize:12,fontFamily:theme.typography.fonts.mono},\"& code\":{margin:0,display:\"inline-block\"},\"& pre > code\":{whiteSpace:\"pre-wrap\"}})),Type=styled.div(({theme,hasDescription})=>({color:theme.base===\"light\"?transparentize(.1,theme.color.defaultText):transparentize(.2,theme.color.defaultText),marginTop:hasDescription?4:0})),TypeWithJsDoc=styled.div(({theme,hasDescription})=>({color:theme.base===\"light\"?transparentize(.1,theme.color.defaultText):transparentize(.2,theme.color.defaultText),marginTop:hasDescription?12:0,marginBottom:12})),StyledTd=styled.td(({theme,expandable})=>({paddingLeft:expandable?\"40px !important\":\"20px !important\"})),ArgRow=props=>{let{row,updateArgs,compact,expandable,initialExpandedArgs}=props,{name,description}=row,table=row.table||{},type=table.type||row.type,defaultValue=table.defaultValue||row.defaultValue,required=row.type?.required,hasDescription=description!=null&&description!==\"\";return React17.createElement(\"tr\",null,React17.createElement(StyledTd,{expandable},React17.createElement(Name,null,name),required?React17.createElement(Required,{title:\"Required\"},\"*\"):null),compact?null:React17.createElement(\"td\",null,hasDescription&&React17.createElement(Description,null,React17.createElement(Markdown,null,description)),table.jsDocTags!=null?React17.createElement(React17.Fragment,null,React17.createElement(TypeWithJsDoc,{hasDescription},React17.createElement(ArgValue,{value:type,initialExpandedArgs})),React17.createElement(ArgJsDoc,{tags:table.jsDocTags})):React17.createElement(Type,{hasDescription},React17.createElement(ArgValue,{value:type,initialExpandedArgs}))),compact?null:React17.createElement(\"td\",null,React17.createElement(ArgValue,{value:defaultValue,initialExpandedArgs})),updateArgs?React17.createElement(\"td\",null,React17.createElement(ArgControl,{...props})):null)};var ExpanderIcon=styled(Icons)(({theme})=>({marginRight:8,marginLeft:-10,marginTop:-2,height:12,width:12,color:theme.base===\"light\"?transparentize(.25,theme.color.defaultText):transparentize(.3,theme.color.defaultText),border:\"none\",display:\"inline-block\"})),FlexWrapper=styled.span(({theme})=>({display:\"flex\",lineHeight:\"20px\",alignItems:\"center\"})),Section=styled.td(({theme})=>({position:\"relative\",letterSpacing:\"0.35em\",textTransform:\"uppercase\",fontWeight:theme.typography.weight.bold,fontSize:theme.typography.size.s1-1,color:theme.base===\"light\"?transparentize(.4,theme.color.defaultText):transparentize(.6,theme.color.defaultText),background:`${theme.background.app} !important`,\"& ~ td\":{background:`${theme.background.app} !important`}})),Subsection=styled.td(({theme})=>({position:\"relative\",fontWeight:theme.typography.weight.bold,fontSize:theme.typography.size.s2-1,background:theme.background.app})),StyledTd2=styled.td(()=>({position:\"relative\"})),StyledTr=styled.tr(({theme})=>({\"&:hover > td\":{backgroundColor:`${lighten(.005,theme.background.app)} !important`,boxShadow:`${theme.color.mediumlight} 0 - 1px 0 0 inset`,cursor:\"row-resize\"}})),ClickIntercept=styled.button(()=>({background:\"none\",border:\"none\",padding:\"0\",font:\"inherit\",position:\"absolute\",top:0,bottom:0,left:0,right:0,height:\"100%\",width:\"100%\",color:\"transparent\",cursor:\"row-resize !important\"})),SectionRow=({level=\"section\",label,children,initialExpanded=!0,colSpan=3})=>{let[expanded,setExpanded]=useState(initialExpanded),Level=level===\"subsection\"?Subsection:Section,itemCount=children?.length||0,caption=level===\"subsection\"?`${itemCount} item${itemCount!==1?\"s\":\"\"}`:\"\",icon=expanded?\"arrowdown\":\"arrowright\",helperText=`${expanded?\"Hide\":\"Show\"} ${level===\"subsection\"?itemCount:label} item${itemCount!==1?\"s\":\"\"}`;return React17.createElement(React17.Fragment,null,React17.createElement(StyledTr,{title:helperText},React17.createElement(Level,{colSpan:1},React17.createElement(ClickIntercept,{onClick:e=>setExpanded(!expanded),tabIndex:0},helperText),React17.createElement(FlexWrapper,null,React17.createElement(ExpanderIcon,{icon}),label)),React17.createElement(StyledTd2,{colSpan:colSpan-1},React17.createElement(ClickIntercept,{onClick:e=>setExpanded(!expanded),tabIndex:-1,style:{outline:\"none\"}},helperText),expanded?null:caption)),expanded?children:null)};var TableWrapper=styled.table(({theme,compact,inAddonPanel})=>({\"&&\":{borderSpacing:0,color:theme.color.defaultText,\"td, th\":{padding:0,border:\"none\",verticalAlign:\"top\",textOverflow:\"ellipsis\"},fontSize:theme.typography.size.s2-1,lineHeight:\"20px\",textAlign:\"left\",width:\"100%\",marginTop:inAddonPanel?0:25,marginBottom:inAddonPanel?0:40,\"thead th:first-of-type, td:first-of-type\":{width:\"25%\"},\"th:first-of-type, td:first-of-type\":{paddingLeft:20},\"th:nth-of-type(2), td:nth-of-type(2)\":{...compact?null:{width:\"35%\"}},\"td:nth-of-type(3)\":{...compact?null:{width:\"15%\"}},\"th:last-of-type, td:last-of-type\":{paddingRight:20,...compact?null:{width:\"25%\"}},th:{color:theme.base===\"light\"?transparentize(.25,theme.color.defaultText):transparentize(.45,theme.color.defaultText),paddingTop:10,paddingBottom:10,paddingLeft:15,paddingRight:15},td:{paddingTop:\"10px\",paddingBottom:\"10px\",\"&:not(:first-of-type)\":{paddingLeft:15,paddingRight:15},\"&:last-of-type\":{paddingRight:20}},marginLeft:inAddonPanel?0:1,marginRight:inAddonPanel?0:1,tbody:{...inAddonPanel?null:{filter:theme.base===\"light\"?\"drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.10))\":\"drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.20))\"},\"> tr > *\":{background:theme.background.content,borderTop:`1px solid ${theme.appBorderColor}`},...inAddonPanel?null:{\"> tr:first-of-type > *\":{borderBlockStart:`1px solid ${theme.appBorderColor}`},\"> tr:last-of-type > *\":{borderBlockEnd:`1px solid ${theme.appBorderColor}`},\"> tr > *:first-of-type\":{borderInlineStart:`1px solid ${theme.appBorderColor}`},\"> tr > *:last-of-type\":{borderInlineEnd:`1px solid ${theme.appBorderColor}`},\"> tr:first-of-type > td:first-of-type\":{borderTopLeftRadius:theme.appBorderRadius},\"> tr:first-of-type > td:last-of-type\":{borderTopRightRadius:theme.appBorderRadius},\"> tr:last-of-type > td:first-of-type\":{borderBottomLeftRadius:theme.appBorderRadius},\"> tr:last-of-type > td:last-of-type\":{borderBottomRightRadius:theme.appBorderRadius}}}}}),({isLoading,theme})=>isLoading?{\"th span, td span, td button\":{display:\"inline\",backgroundColor:theme.appBorderColor,animation:`${theme.animation.glow} 1.5s ease-in-out infinite`,color:\"transparent\",boxShadow:\"none\",borderRadius:0}}:{}),StyledIconButton=styled(IconButton)(({theme})=>({color:theme.barTextColor,margin:\"-4px -12px -4px 0\"})),ControlHeadingWrapper=styled.span({display:\"flex\",justifyContent:\"space-between\"});var sortFns={alpha:(a,b)=>a.name.localeCompare(b.name),requiredFirst:(a,b)=>Number(!!b.type?.required)-Number(!!a.type?.required)||a.name.localeCompare(b.name),none:void 0},rowLoadingData=key=>({key,name:\"propertyName\",description:\"This is a short description\",control:{type:\"text\"},table:{type:{summary:\"summary\"},defaultValue:{summary:\"defaultValue\"}}}),argsTableLoadingData={rows:{row1:rowLoadingData(\"row1\"),row2:rowLoadingData(\"row2\"),row3:rowLoadingData(\"row3\")}},groupRows=(rows,sort)=>{let sections={ungrouped:[],ungroupedSubsections:{},sections:{}};if(!rows)return sections;Object.entries(rows).forEach(([key,row])=>{let{category,subcategory}=row?.table||{};if(category){let section=sections.sections[category]||{ungrouped:[],subsections:{}};if(!subcategory)section.ungrouped.push({key,...row});else {let subsection=section.subsections[subcategory]||[];subsection.push({key,...row}),section.subsections[subcategory]=subsection;}sections.sections[category]=section;}else if(subcategory){let subsection=sections.ungroupedSubsections[subcategory]||[];subsection.push({key,...row}),sections.ungroupedSubsections[subcategory]=subsection;}else sections.ungrouped.push({key,...row});});let sortFn=sortFns[sort],sortSubsection=record=>sortFn?Object.keys(record).reduce((acc,cur)=>({...acc,[cur]:record[cur].sort(sortFn)}),{}):record;return {ungrouped:sections.ungrouped.sort(sortFn),ungroupedSubsections:sortSubsection(sections.ungroupedSubsections),sections:Object.keys(sections.sections).reduce((acc,cur)=>({...acc,[cur]:{ungrouped:sections.sections[cur].ungrouped.sort(sortFn),subsections:sortSubsection(sections.sections[cur].subsections)}}),{})}},safeIncludeConditionalArg=(row,args,globals)=>{try{return includeConditionalArg(row,args,globals)}catch(err){return once.warn(err.message),!1}},ArgsTable=props=>{if(\"error\"in props)return React17.createElement(EmptyBlock,null,props.error,\"\\xA0\",React17.createElement(Link,{href:\"http://storybook.js.org/docs/\",target:\"_blank\",withArrow:!0},\"Read the docs\"));let{updateArgs,resetArgs,compact,inAddonPanel,initialExpandedArgs,sort=\"none\"}=props,isLoading=\"isLoading\"in props,{rows,args,globals}=\"rows\"in props?props:argsTableLoadingData,groups=groupRows(pickBy(rows,row=>!row?.table?.disable&&safeIncludeConditionalArg(row,args||{},globals||{})),sort);if(groups.ungrouped.length===0&&Object.entries(groups.sections).length===0&&Object.entries(groups.ungroupedSubsections).length===0)return React17.createElement(EmptyBlock,null,\"No inputs found for this component.\\xA0\",React17.createElement(Link,{href:\"http://storybook.js.org/docs/\",target:\"_blank\",withArrow:!0},\"Read the docs\"));let colSpan=1;updateArgs&&(colSpan+=1),compact||(colSpan+=2);let expandable=Object.keys(groups.sections).length>0,common={updateArgs,compact,inAddonPanel,initialExpandedArgs};return React17.createElement(ResetWrapper,null,React17.createElement(TableWrapper,{\"aria-hidden\":isLoading,compact,inAddonPanel,isLoading,className:\"docblock-argstable sb-unstyled\"},React17.createElement(\"thead\",{className:\"docblock-argstable-head\"},React17.createElement(\"tr\",null,React17.createElement(\"th\",null,React17.createElement(\"span\",null,\"Name\")),compact?null:React17.createElement(\"th\",null,React17.createElement(\"span\",null,\"Description\")),compact?null:React17.createElement(\"th\",null,React17.createElement(\"span\",null,\"Default\")),updateArgs?React17.createElement(\"th\",null,React17.createElement(ControlHeadingWrapper,null,\"Control\",\" \",!isLoading&&resetArgs&&React17.createElement(StyledIconButton,{onClick:()=>resetArgs(),title:\"Reset controls\"},React17.createElement(Icons,{icon:\"undo\",\"aria-hidden\":!0})))):null)),React17.createElement(\"tbody\",{className:\"docblock-argstable-body\"},groups.ungrouped.map(row=>React17.createElement(ArgRow,{key:row.key,row,arg:args&&args[row.key],...common})),Object.entries(groups.ungroupedSubsections).map(([subcategory,subsection])=>React17.createElement(SectionRow,{key:subcategory,label:subcategory,level:\"subsection\",colSpan},subsection.map(row=>React17.createElement(ArgRow,{key:row.key,row,arg:args&&args[row.key],expandable,...common})))),Object.entries(groups.sections).map(([category,section])=>React17.createElement(SectionRow,{key:category,label:category,level:\"section\",colSpan},section.ungrouped.map(row=>React17.createElement(ArgRow,{key:row.key,row,arg:args&&args[row.key],...common})),Object.entries(section.subsections).map(([subcategory,subsection])=>React17.createElement(SectionRow,{key:subcategory,label:subcategory,level:\"subsection\",colSpan},subsection.map(row=>React17.createElement(ArgRow,{key:row.key,row,arg:args&&args[row.key],expandable,...common})))))))))};var TabbedArgsTable=({tabs,...props})=>{let entries=Object.entries(tabs);return entries.length===1?React17.createElement(ArgsTable,{...entries[0][1],...props}):React17.createElement(TabsState,null,entries.map(entry=>{let[label,table]=entry,id=`prop_table_div_${label}`;return React17.createElement(\"div\",{key:id,id,title:label},({active})=>active?React17.createElement(ArgsTable,{key:`prop_table_${label}`,...table,...props}):null)}))};var NoControlsWrapper=styled.div(({theme})=>({background:theme.background.warning,color:theme.color.darkest,padding:\"10px 15px\",lineHeight:\"20px\",boxShadow:`${theme.appBorderColor} 0 -1px 0 0 inset`})),NoControlsWarning=()=>React17.createElement(NoControlsWrapper,null,\"This story is not configured to handle controls.\",\" \",React17.createElement(Link,{href:\"https://storybook.js.org/docs/react/essentials/controls\",target:\"_blank\",cancel:!1,withArrow:!0},\"Learn how to add controls\"));var Label4=styled.div(({theme})=>({marginRight:30,fontSize:`${theme.typography.size.s1}px`,color:theme.base===\"light\"?transparentize(.4,theme.color.defaultText):transparentize(.6,theme.color.defaultText)})),Sample=styled.div({overflow:\"hidden\",whiteSpace:\"nowrap\",textOverflow:\"ellipsis\"}),TypeSpecimen=styled.div({display:\"flex\",flexDirection:\"row\",alignItems:\"baseline\",\"&:not(:last-child)\":{marginBottom:\"1rem\"}}),Wrapper7=styled.div(withReset,({theme})=>({...getBlockBackgroundStyle(theme),margin:\"25px 0 40px\",padding:\"30px 20px\"})),Typeset=({fontFamily,fontSizes,fontWeight,sampleText,...props})=>React17.createElement(Wrapper7,{...props,className:\"docblock-typeset sb-unstyled\"},fontSizes.map(size=>React17.createElement(TypeSpecimen,{key:size},React17.createElement(Label4,null,size),React17.createElement(Sample,{style:{fontFamily,fontSize:size,fontWeight,lineHeight:1.2}},sampleText||\"Was he a beast if music could move him so?\"))));var ItemTitle=styled.div(({theme})=>({fontWeight:theme.typography.weight.bold,color:theme.color.defaultText})),ItemSubtitle=styled.div(({theme})=>({color:theme.base===\"light\"?transparentize(.2,theme.color.defaultText):transparentize(.6,theme.color.defaultText)})),ItemDescription=styled.div({flex:\"0 0 30%\",lineHeight:\"20px\",marginTop:5}),SwatchLabel=styled.div(({theme})=>({flex:1,textAlign:\"center\",fontFamily:theme.typography.fonts.mono,fontSize:theme.typography.size.s1,lineHeight:1,overflow:\"hidden\",color:theme.base===\"light\"?transparentize(.4,theme.color.defaultText):transparentize(.6,theme.color.defaultText),\"> div\":{display:\"inline-block\",overflow:\"hidden\",maxWidth:\"100%\",textOverflow:\"ellipsis\"},span:{display:\"block\",marginTop:2}})),SwatchLabels=styled.div({display:\"flex\",flexDirection:\"row\"}),Swatch=styled.div(({background})=>({position:\"relative\",flex:1,\"&::before\":{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",background,content:'\"\"'}})),SwatchColors=styled.div(({theme})=>({...getBlockBackgroundStyle(theme),display:\"flex\",flexDirection:\"row\",height:50,marginBottom:5,overflow:\"hidden\",backgroundColor:\"white\",backgroundImage:\"repeating-linear-gradient(-45deg, #ccc, #ccc 1px, #fff 1px, #fff 16px)\",backgroundClip:\"padding-box\"})),SwatchSpecimen=styled.div({display:\"flex\",flexDirection:\"column\",flex:1,position:\"relative\",marginBottom:30}),Swatches=styled.div({flex:1,display:\"flex\",flexDirection:\"row\"}),Item=styled.div({display:\"flex\",alignItems:\"flex-start\"}),ListName=styled.div({flex:\"0 0 30%\"}),ListSwatches=styled.div({flex:1}),ListHeading=styled.div(({theme})=>({display:\"flex\",flexDirection:\"row\",alignItems:\"center\",paddingBottom:20,fontWeight:theme.typography.weight.bold,color:theme.base===\"light\"?transparentize(.4,theme.color.defaultText):transparentize(.6,theme.color.defaultText)})),List=styled.div(({theme})=>({fontSize:theme.typography.size.s2,lineHeight:\"20px\",display:\"flex\",flexDirection:\"column\"}));function renderSwatch(color,index){return React17.createElement(Swatch,{key:`${color}-${index}`,title:color,background:color})}function renderSwatchLabel(color,index,colorDescription){return React17.createElement(SwatchLabel,{key:`${color}-${index}`,title:color},React17.createElement(\"div\",null,color,colorDescription&&React17.createElement(\"span\",null,colorDescription)))}function renderSwatchSpecimen(colors){return Array.isArray(colors)?React17.createElement(SwatchSpecimen,null,React17.createElement(SwatchColors,null,colors.map((color,index)=>renderSwatch(color,index))),React17.createElement(SwatchLabels,null,colors.map((color,index)=>renderSwatchLabel(color,index)))):React17.createElement(SwatchSpecimen,null,React17.createElement(SwatchColors,null,Object.values(colors).map((color,index)=>renderSwatch(color,index))),React17.createElement(SwatchLabels,null,Object.keys(colors).map((color,index)=>renderSwatchLabel(color,index,colors[color]))))}var ColorItem=({title,subtitle,colors})=>React17.createElement(Item,null,React17.createElement(ItemDescription,null,React17.createElement(ItemTitle,null,title),React17.createElement(ItemSubtitle,null,subtitle)),React17.createElement(Swatches,null,renderSwatchSpecimen(colors))),ColorPalette=({children,...props})=>React17.createElement(ResetWrapper,null,React17.createElement(List,{...props,className:\"docblock-colorpalette sb-unstyled\"},React17.createElement(ListHeading,null,React17.createElement(ListName,null,\"Name\"),React17.createElement(ListSwatches,null,\"Swatches\")),children));var ItemLabel=styled.div(({theme})=>({fontFamily:theme.typography.fonts.base,fontSize:theme.typography.size.s2,color:theme.color.defaultText,marginLeft:10,lineHeight:1.2})),ItemSpecimen=styled.div(({theme})=>({...getBlockBackgroundStyle(theme),overflow:\"hidden\",height:40,width:40,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flex:\"none\",\"> img, > svg\":{width:20,height:20}})),Item2=styled.div({display:\"inline-flex\",flexDirection:\"row\",alignItems:\"center\",flex:\"0 1 calc(20% - 10px)\",minWidth:120,margin:\"0px 10px 30px 0\"}),List2=styled.div({display:\"flex\",flexFlow:\"row wrap\"}),IconItem=({name,children})=>React17.createElement(Item2,null,React17.createElement(ItemSpecimen,null,children),React17.createElement(ItemLabel,null,name)),IconGallery=({children,...props})=>React17.createElement(ResetWrapper,null,React17.createElement(List2,{...props,className:\"docblock-icongallery sb-unstyled\"},children));var anchorBlockIdFromId=storyId=>`anchor--${storyId}`,Anchor=({storyId,children})=>React17.createElement(\"div\",{id:anchorBlockIdFromId(storyId),className:\"sb-anchor\"},children);global&&global.__DOCS_CONTEXT__===void 0&&(global.__DOCS_CONTEXT__=createContext(null),global.__DOCS_CONTEXT__.displayName=\"DocsContext\");var DocsContext=global?global.__DOCS_CONTEXT__:createContext(null);var useOf=(moduleExportOrType,validTypes)=>useContext(DocsContext).resolveOf(moduleExportOrType,validTypes);function extractComponentArgTypes(component,parameters){let{extractArgTypes}=parameters.docs||{};if(!extractArgTypes)throw new Error(\"Args unsupported. See Args documentation for your framework.\");return extractArgTypes(component)}function getArgTypesFromResolved(resolved,props){if(resolved.type===\"component\"){let{component,projectAnnotations:{parameters:parameters2}}=resolved;return {argTypes:extractComponentArgTypes(component,parameters2),parameters:parameters2}}if(resolved.type===\"meta\"){let{preparedMeta:{argTypes:argTypes2,parameters:parameters2}}=resolved;return {argTypes:argTypes2,parameters:parameters2}}let{story:{argTypes,parameters}}=resolved;return {argTypes,parameters}}var ArgTypes=props=>{let{of}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");let resolved=useOf(of||\"meta\"),{argTypes,parameters}=getArgTypesFromResolved(resolved),argTypesParameters=parameters.docs?.argTypes||{},include=props.include??argTypesParameters.include,exclude=props.exclude??argTypesParameters.exclude,sort=props.sort??argTypesParameters.sort,filteredArgTypes=filterArgTypes(argTypes,include,exclude);return React17.createElement(ArgsTable,{rows:filteredArgTypes,sort})};var PRIMARY_STORY=\"^\";var titleCase=str2=>str2.split(\"-\").map(part=>part.charAt(0).toUpperCase()+part.slice(1)).join(\"\"),getComponentName=component=>{if(component)return typeof component==\"string\"?component.includes(\"-\")?titleCase(component):component:component.__docgenInfo&&component.__docgenInfo.displayName?component.__docgenInfo.displayName:component.name};function scrollToElement(element,block=\"start\"){element.scrollIntoView({behavior:\"smooth\",block,inline:\"nearest\"});}function useStory(storyId,context){let stories=useStories([storyId],context);return stories&&stories[0]}function useStories(storyIds,context){let[storiesById,setStories]=useState({});return useEffect(()=>{Promise.all(storyIds.map(async storyId=>{let story=await context.loadStory(storyId);setStories(current=>current[storyId]===story?current:{...current,[storyId]:story});}));}),storyIds.map(storyId=>{if(storiesById[storyId])return storiesById[storyId];try{return context.storyById(storyId)}catch{return null}})}var useArgs=(storyId,context)=>{let storyContext=context.getStoryContext(context.storyById()),[args,setArgs]=useState(storyContext.args);useEffect(()=>{let cb=changed=>{changed.storyId===storyId&&setArgs(changed.args);};return context.channel.on(STORY_ARGS_UPDATED,cb),()=>context.channel.off(STORY_ARGS_UPDATED,cb)},[storyId]);let updateArgs=useCallback(updatedArgs=>context.channel.emit(UPDATE_STORY_ARGS,{storyId,updatedArgs}),[storyId]),resetArgs=useCallback(argNames=>context.channel.emit(RESET_STORY_ARGS,{storyId,argNames}),[storyId]);return [args,updateArgs,resetArgs]},useGlobals=context=>{let storyContext=context.getStoryContext(context.storyById()),[globals,setGlobals]=useState(storyContext.globals);return useEffect(()=>{let cb=changed=>{setGlobals(changed.globals);};return context.channel.on(GLOBALS_UPDATED,cb),()=>context.channel.off(GLOBALS_UPDATED,cb)},[]),[globals]},extractComponentArgTypes2=(component,parameters,include,exclude)=>{let{extractArgTypes}=parameters.docs||{};if(!extractArgTypes)throw new Error(\"Args unsupported. See Args documentation for your framework.\");let argTypes=extractArgTypes(component);return argTypes=filterArgTypes(argTypes,include,exclude),argTypes},isShortcut=value2=>value2&&[PRIMARY_STORY].includes(value2),getComponent=(props={},component)=>{let{of}=props,{story}=props;if(isShortcut(of)||isShortcut(story))return component||null;if(!of)throw new Error(\"No component found.\");return of},addComponentTabs=(tabs,components2,parameters,include,exclude,sort)=>({...tabs,...mapValues(components2,comp=>({rows:extractComponentArgTypes2(comp,parameters,include,exclude),sort}))}),StoryTable=props=>{let context=useContext(DocsContext),{story:storyName,component,subcomponents,showComponent,include,exclude,sort}=props;try{let storyId;switch(storyName){case PRIMARY_STORY:{storyId=context.storyById().id;break}default:storyId=context.storyIdByName(storyName);}let story=useStory(storyId,context),[args,updateArgs,resetArgs]=useArgs(storyId,context),[globals]=useGlobals(context);if(!story)return React17.createElement(ArgsTable,{isLoading:!0,updateArgs,resetArgs});let argTypes=filterArgTypes(story.argTypes,include,exclude),mainLabel=getComponentName(component)||\"Story\",tabs={[mainLabel]:{rows:argTypes,args,globals,updateArgs,resetArgs}},storyHasArgsWithControls=argTypes&&Object.values(argTypes).find(v=>!!v?.control);if(storyHasArgsWithControls||(updateArgs=null,resetArgs=null,tabs={}),component&&(!storyHasArgsWithControls||showComponent)&&(tabs=addComponentTabs(tabs,{[mainLabel]:component},story.parameters,include,exclude)),subcomponents){if(Array.isArray(subcomponents))throw new Error(\"Unexpected subcomponents array. Expected an object whose keys are tab labels and whose values are components.\");tabs=addComponentTabs(tabs,subcomponents,story.parameters,include,exclude);}return React17.createElement(TabbedArgsTable,{tabs,sort})}catch(err){return React17.createElement(ArgsTable,{error:err.message})}},ComponentsTable=props=>{let{components:components2,include,exclude,sort,parameters}=props,tabs=addComponentTabs({},components2,parameters,include,exclude);return React17.createElement(TabbedArgsTable,{tabs,sort})},ArgsTable2=props=>{deprecate(dedent2`The ArgsTable doc block is deprecated. Instead use the ArgTypes doc block for static tables or the Controls doc block for tables with controls.\n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#argstable-block\n `);let context=useContext(DocsContext),parameters,component,subcomponents;try{({parameters,component,subcomponents}=context.storyById());}catch{let{of}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");({projectAnnotations:{parameters}}=context.resolveOf(of,[\"component\"]));}let{include,exclude,components:components2,sort:sortProp}=props,{story:storyName}=props,sort=sortProp||parameters.controls?.sort,main=getComponent(props,component);if(storyName)return React17.createElement(StoryTable,{...props,component:main,subcomponents,sort});if(!components2&&!subcomponents){let mainProps;try{mainProps={rows:extractComponentArgTypes2(main,parameters,include,exclude)};}catch(err){mainProps={error:err.message};}return React17.createElement(ArgsTable,{...mainProps,sort})}if(components2)return React17.createElement(ComponentsTable,{...props,components:components2,sort,parameters});let mainLabel=getComponentName(main);return React17.createElement(ComponentsTable,{...props,components:{[mainLabel]:main,...subcomponents},sort,parameters})};ArgsTable2.defaultProps={of:PRIMARY_STORY};function argsHash(args){return stringify(args)}var SourceContext=createContext({sources:{}}),UNKNOWN_ARGS_HASH=\"--unknown--\",SourceContainer=({children,channel})=>{let[sources,setSources]=useState({});return useEffect(()=>{let handleSnippetRendered=(idOrEvent,inputSource=null,inputFormat=!1)=>{let{id,args=void 0,source,format:format2}=typeof idOrEvent==\"string\"?{id:idOrEvent,source:inputSource,format:inputFormat}:idOrEvent,hash=args?argsHash(args):UNKNOWN_ARGS_HASH;setSources(current=>({...current,[id]:{...current[id],[hash]:{code:source,format:format2}}}));};return channel.on(SNIPPET_RENDERED,handleSnippetRendered),()=>channel.off(SNIPPET_RENDERED,handleSnippetRendered)},[]),React17.createElement(SourceContext.Provider,{value:{sources}},children)};var SourceState=(SourceState2=>(SourceState2.OPEN=\"open\",SourceState2.CLOSED=\"closed\",SourceState2.NONE=\"none\",SourceState2))(SourceState||{}),getSourceState=stories=>{let states=stories.map(story=>story.parameters.docs?.source?.state).filter(Boolean);return states.length===0?\"closed\":states[0]},getStorySource=(storyId,args,sourceContext)=>{let{sources}=sourceContext,sourceMap=sources?.[storyId];return sourceMap?.[argsHash(args)]||sourceMap?.[UNKNOWN_ARGS_HASH]||{code:\"\"}},getSnippet=({snippet,storyContext,typeFromProps,transformFromProps})=>{let{__isArgsStory:isArgsStory}=storyContext.parameters,sourceParameters=storyContext.parameters.docs?.source||{},type=typeFromProps||sourceParameters.type||SourceType.AUTO;if(sourceParameters.code!==void 0)return sourceParameters.code;let code=type===SourceType.DYNAMIC||type===SourceType.AUTO&&snippet&&isArgsStory?snippet:sourceParameters.originalSource||\"\";return sourceParameters.transformSource&&deprecate(dedent2`The \\`transformSource\\` parameter at \\`parameters.docs.source.transformSource\\` is deprecated, please use \\`parameters.docs.source.transform\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block\n `),storyContext.parameters.docs?.transformSource&&deprecate(dedent2`The \\`transformSource\\` parameter at \\`parameters.docs.transformSource\\` is deprecated, please use \\`parameters.docs.source.transform\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block\n `),storyContext.parameters.jsx?.transformSource&&deprecate(dedent2`The \\`transformSource\\` parameter at \\`parameters.jsx.transformSource\\` is deprecated, please use \\`parameters.docs.source.transform\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block\n `),(transformFromProps??sourceParameters.transform??sourceParameters.transformSource??storyContext.parameters.docs?.transformSource??storyContext.parameters.jsx?.transformSource)?.(code,storyContext)||code},useSourceProps=(props,docsContext,sourceContext)=>{let storyIds=props.ids||(props.id?[props.id]:[]),storiesFromIds=useStories(storyIds,docsContext),stories=storiesFromIds,{of}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");if(of)stories=[docsContext.resolveOf(of,[\"story\"]).story];else if(stories.length===0)try{stories=[docsContext.storyById()];}catch{}if(!storiesFromIds.every(Boolean))return {error:\"Oh no! The source is not available.\",state:\"none\"};let sourceParameters=stories[0]?.parameters?.docs?.source||{},{code}=props,format2=props.format??sourceParameters.format,language=props.language??sourceParameters.language??\"jsx\",dark=props.dark??sourceParameters.dark??!1;code||(code=stories.map((story,index)=>{if(!story)return \"\";let storyContext=docsContext.getStoryContext(story),argsForSource=props.__forceInitialArgs?storyContext.initialArgs:storyContext.unmappedArgs,source=getStorySource(story.id,argsForSource,sourceContext);return index===0&&(format2=source.format??story.parameters.docs?.source?.format??!1),getSnippet({snippet:source.code,storyContext:{...storyContext,args:argsForSource},typeFromProps:props.type,transformFromProps:props.transform})}).join(`\n\n`));let state=getSourceState(stories);return code?{code,format:format2,language,dark,state}:{error:\"Oh no! The source is not available.\",state}},Source2=props=>{props.id&&deprecate(dedent2`The \\`id\\` prop on Source is deprecated, please use the \\`of\\` prop instead to reference a story. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block\n `),props.ids&&deprecate(dedent2`The \\`ids\\` prop on Source is deprecated, please use the \\`of\\` prop instead to reference a story. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#source-block\n `);let sourceContext=useContext(SourceContext),docsContext=useContext(DocsContext),{state,...sourceProps}=useSourceProps(props,docsContext,sourceContext);return React17.createElement(Source,{...sourceProps})};var getStoryId2=(props,context)=>{let{id,of,meta,story}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");if(id)return deprecate(dedent2`Referencing stories by \\`id\\` is deprecated, please use \\`of\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#story-block'`),id;let{name}=props;return name?(deprecate(dedent2`Referencing stories by \\`name\\` is deprecated, please use \\`of\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#story-block'`),context.storyIdByName(name)):(story&&deprecate(dedent2`The \\`story\\` prop is deprecated, please export your stories from CSF files and reference them with \\`of={}\\`.\n\n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#story-block'`),meta&&context.referenceMeta(meta,!1),context.resolveOf(of||story||\"story\",[\"story\"]).story.id)},getStoryProps=(props,story,context)=>{let{parameters={}}=story||{},{docs={}}=parameters,storyParameters=docs.story||{};if(docs.disable)return null;let{inlineStories,iframeHeight}=docs;typeof inlineStories<\"u\"&&deprecate(dedent2`The \\`docs.inlineStories\\` parameter is deprecated, use \\`docs.story.inline\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#autodocs-changes'\n `);let inline=props.inline??storyParameters.inline??inlineStories??!1;if(typeof iframeHeight<\"u\"&&deprecate(dedent2`The \\`docs.iframeHeight\\` parameter is deprecated, use \\`docs.story.iframeHeight\\` instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#autodocs-changes'\n `),inline){let height2=props.height??storyParameters.height,autoplay=props.autoplay??storyParameters.autoplay??!1;return {story,inline:!0,height:height2,autoplay,forceInitialArgs:!!props.__forceInitialArgs,primary:!!props.__primary,renderStoryToElement:context.renderStoryToElement}}let height=props.height??storyParameters.height??storyParameters.iframeHeight??iframeHeight??\"100px\";return {story,inline:!1,height,primary:!!props.__primary}},Story2=(props={__forceInitialArgs:!1,__primary:!1})=>{let context=useContext(DocsContext),storyId=getStoryId2(props,context),story=useStory(storyId,context);if(!story)return React17.createElement(StorySkeleton,null);let storyProps=getStoryProps(props,story,context);return storyProps?React17.createElement(Story,{...storyProps}):null};var useDeprecatedPreviewProps=({withSource,mdxSource,children,layout:layoutProp,...props},docsContext,sourceContext)=>{let storyIds=Children.toArray(children).filter(c=>c.props&&(c.props.id||c.props.name||c.props.of)).map(c=>getStoryId2(c.props,docsContext)),stories=useStories(storyIds,docsContext),isLoading=stories.some(s=>!s),sourceProps=useSourceProps({...mdxSource?{code:decodeURI(mdxSource)}:{ids:storyIds},...props.of&&{of:props.of}},docsContext,sourceContext);if(withSource===\"none\")return {isLoading,previewProps:props};let layout=layoutProp;return Children.forEach(children,child=>{layout||(layout=child?.props?.parameters?.layout);}),stories.forEach(story=>{layout||!story||(layout=story?.parameters.layout??story.parameters.docs?.canvas?.layout);}),{isLoading,previewProps:{...props,layout:layout??\"padded\",withSource:sourceProps,isExpanded:(withSource||sourceProps.state)===\"open\"}}},Canvas=props=>{let docsContext=useContext(DocsContext),sourceContext=useContext(SourceContext),{children,of,source}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");let{isLoading,previewProps}=useDeprecatedPreviewProps(props,docsContext,sourceContext),story,sourceProps,hookError;try{({story}=useOf(of||\"story\",[\"story\"]));}catch(error){children||(hookError=error);}try{sourceProps=useSourceProps({...source,...of&&{of}},docsContext,sourceContext);}catch(error){children||(hookError=error);}if(hookError)throw hookError;if(props.withSource&&deprecate(dedent2`Setting source state with \\`withSource\\` is deprecated, please use \\`sourceState\\` with 'hidden', 'shown' or 'none' instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block\n `),props.mdxSource&&deprecate(dedent2`Setting source code with \\`mdxSource\\` is deprecated, please use source={{code: '...'}} instead. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block\n `),(props.isColumn!==void 0||props.columns!==void 0)&&deprecate(dedent2`\\`isColumn\\` and \\`columns\\` props are deprecated as the Canvas block now only supports showing a single story. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block\n `),children)return deprecate(dedent2`Passing children to Canvas is deprecated, please use the \\`of\\` prop instead to reference a story. \n \n Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#canvas-block\n `),isLoading?React17.createElement(PreviewSkeleton,null):React17.createElement(Preview,{...previewProps},children);let layout=props.layout??story.parameters.layout??story.parameters.docs?.canvas?.layout??\"padded\",withToolbar=props.withToolbar??story.parameters.docs?.canvas?.withToolbar??!1,additionalActions=props.additionalActions??story.parameters.docs?.canvas?.additionalActions,sourceState=props.sourceState??story.parameters.docs?.canvas?.sourceState??\"hidden\",className=props.className??story.parameters.docs?.canvas?.className;return React17.createElement(Preview,{withSource:sourceState===\"none\"?void 0:sourceProps,isExpanded:sourceState===\"shown\",withToolbar,additionalActions,className,layout},React17.createElement(Story2,{of:of||story.moduleExport,meta:props.meta,...props.story}))};var useGlobals2=(story,context)=>{let storyContext=context.getStoryContext(story),[globals,setGlobals]=useState(storyContext.globals);return useEffect(()=>{let onGlobalsUpdated=changed=>{setGlobals(changed.globals);};return context.channel.on(GLOBALS_UPDATED,onGlobalsUpdated),()=>context.channel.off(GLOBALS_UPDATED,onGlobalsUpdated)},[context.channel]),[globals]};var useArgs2=(story,context)=>{let result=useArgsIfDefined(story,context);if(!result)throw new Error(\"No result when story was defined\");return result},useArgsIfDefined=(story,context)=>{let storyContext=story?context.getStoryContext(story):{args:{}},{id:storyId}=story||{id:\"none\"},[args,setArgs]=useState(storyContext.args);useEffect(()=>{let onArgsUpdated=changed=>{changed.storyId===storyId&&setArgs(changed.args);};return context.channel.on(STORY_ARGS_UPDATED,onArgsUpdated),()=>context.channel.off(STORY_ARGS_UPDATED,onArgsUpdated)},[storyId,context.channel]);let updateArgs=useCallback(updatedArgs=>context.channel.emit(UPDATE_STORY_ARGS,{storyId,updatedArgs}),[storyId,context.channel]),resetArgs=useCallback(argNames=>context.channel.emit(RESET_STORY_ARGS,{storyId,argNames}),[storyId,context.channel]);return story&&[args,updateArgs,resetArgs]};var Controls3=props=>{let{of}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");let context=useContext(DocsContext),{story}=context.resolveOf(of||\"story\",[\"story\"]),{parameters,argTypes}=story,controlsParameters=parameters.docs?.controls||{},include=props.include??controlsParameters.include,exclude=props.exclude??controlsParameters.exclude,sort=props.sort??controlsParameters.sort,[args,updateArgs,resetArgs]=useArgs2(story,context),[globals]=useGlobals2(story,context),filteredArgTypes=filterArgTypes(argTypes,include,exclude);return React17.createElement(ArgsTable,{rows:filteredArgTypes,args,globals,updateArgs,resetArgs,sort})};var {document:document2}=global,assertIsFn=val=>{if(typeof val!=\"function\")throw new Error(`Expected story function, got: ${val}`);return val},AddContext=props=>{let{children,...rest}=props,parentContext=React17.useContext(DocsContext);return React17.createElement(DocsContext.Provider,{value:{...parentContext,...rest}},children)},CodeOrSourceMdx=({className,children,...rest})=>{if(typeof className!=\"string\"&&(typeof children!=\"string\"||!children.match(/[\\n\\r]/g)))return React17.createElement(Code,null,children);let language=className&&className.split(\"-\");return React17.createElement(Source,{language:language&&language[1]||\"plaintext\",format:!1,code:children,...rest})};function navigate(context,url){context.channel.emit(NAVIGATE_URL,url);}var A=components.a,AnchorInPage=({hash,children})=>{let context=useContext(DocsContext);return React17.createElement(A,{href:hash,target:\"_self\",onClick:event=>{let id=hash.substring(1);document2.getElementById(id)&&navigate(context,hash);}},children)},AnchorMdx=props=>{let{href,target,children,...rest}=props,context=useContext(DocsContext);if(href){if(href.startsWith(\"#\"))return React17.createElement(AnchorInPage,{hash:href},children);if(target!==\"_blank\"&&!href.startsWith(\"https://\"))return React17.createElement(A,{href,onClick:event=>{event.button===0&&!event.altKey&&!event.ctrlKey&&!event.metaKey&&!event.shiftKey&&(event.preventDefault(),navigate(context,event.currentTarget.getAttribute(\"href\")));},target,...rest},children)}return React17.createElement(A,{...props})},SUPPORTED_MDX_HEADERS=[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"],OcticonHeaders=SUPPORTED_MDX_HEADERS.reduce((acc,headerType)=>({...acc,[headerType]:styled(headerType)({\"& svg\":{position:\"relative\",top:\"-0.1em\",visibility:\"hidden\"},\"&:hover svg\":{visibility:\"visible\"}})}),{}),OcticonAnchor=styled.a(()=>({float:\"left\",lineHeight:\"inherit\",paddingRight:\"10px\",marginLeft:\"-24px\",color:\"inherit\"})),HeaderWithOcticonAnchor=({as,id,children,...rest})=>{let context=useContext(DocsContext),OcticonHeader=OcticonHeaders[as],hash=`#${id}`;return React17.createElement(OcticonHeader,{id,...rest},React17.createElement(OcticonAnchor,{\"aria-hidden\":\"true\",href:hash,tabIndex:-1,target:\"_self\",onClick:event=>{document2.getElementById(id)&&navigate(context,hash);}},React17.createElement(Icons,{icon:\"link\"})),children)},HeaderMdx=props=>{let{as,id,children,...rest}=props;if(id)return React17.createElement(HeaderWithOcticonAnchor,{as,id,...rest},children);let Component4=as,{as:omittedAs,...withoutAs}=props;return React17.createElement(Component4,{...nameSpaceClassNames(withoutAs,as)})},HeadersMdx=SUPPORTED_MDX_HEADERS.reduce((acc,headerType)=>({...acc,[headerType]:props=>React17.createElement(HeaderMdx,{as:headerType,...props})}),{});var Markdown2=props=>{if(!props.children)return null;if(typeof props.children!=\"string\")throw new Error(dedent2`The Markdown block only accepts children as a single string, but children were of type: '${typeof props.children}'\n This is often caused by not wrapping the child in a template string.\n \n This is invalid:\n \n # Some heading\n A paragraph\n \n\n Instead do:\n \n {\\`\n # Some heading\n A paragraph\n \\`}\n \n `);return React17.createElement(Markdown,{...props,options:{forceBlock:!0,overrides:{code:CodeOrSourceMdx,a:AnchorMdx,...HeadersMdx,...props?.options?.overrides},...props?.options}})};var DescriptionType=(DescriptionType2=>(DescriptionType2.INFO=\"info\",DescriptionType2.NOTES=\"notes\",DescriptionType2.DOCGEN=\"docgen\",DescriptionType2.AUTO=\"auto\",DescriptionType2))(DescriptionType||{}),DEPRECATION_MIGRATION_LINK=\"https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#description-block-parametersnotes-and-parametersinfo\",getNotes=notes=>notes&&(typeof notes==\"string\"?notes:str(notes.markdown)||str(notes.text)),getInfo=info=>info&&(typeof info==\"string\"?info:str(info.text)),noDescription=component=>null,getDescriptionFromResolvedOf=resolvedOf=>{switch(resolvedOf.type){case\"story\":return resolvedOf.story.parameters.docs?.description?.story||null;case\"meta\":{let{parameters,component}=resolvedOf.preparedMeta,metaDescription=parameters.docs?.description?.component;return metaDescription||parameters.docs?.extractComponentDescription?.(component,{component,parameters})||null}case\"component\":{let{component,projectAnnotations:{parameters}}=resolvedOf;return parameters.docs?.extractComponentDescription?.(component,{component,parameters})||null}default:throw new Error(`Unrecognized module type resolved from 'useOf', got: ${resolvedOf.type}`)}},getDescriptionFromDeprecatedProps=({type,markdown,children},{storyById})=>{let{component,parameters}=storyById();if(children||markdown)return children||markdown;let{notes,info,docs}=parameters;(Boolean(notes)||Boolean(info))&&deprecate(`Using 'parameters.notes' or 'parameters.info' properties to describe stories is deprecated. See ${DEPRECATION_MIGRATION_LINK}`);let{extractComponentDescription=noDescription,description}=docs||{},componentDescriptionParameter=description?.component;if(componentDescriptionParameter)return componentDescriptionParameter;switch(type){case\"info\":return getInfo(info);case\"notes\":return getNotes(notes);case\"docgen\":case\"auto\":default:return extractComponentDescription(component,{component,...parameters})}},DescriptionContainer=props=>{let{of,type,markdown:markdownProp,children}=props;if(\"of\"in props&&of===void 0)throw new Error(\"Unexpected `of={undefined}`, did you mistype a CSF file reference?\");let context=useContext(DocsContext),resolvedOf=useOf(of||\"meta\"),markdown;return type||markdownProp||children?markdown=getDescriptionFromDeprecatedProps(props,context):markdown=getDescriptionFromResolvedOf(resolvedOf),type&&deprecate(`Manually specifying description type is deprecated. See ${DEPRECATION_MIGRATION_LINK}`),markdownProp&&deprecate(`The 'markdown' prop on the Description block is deprecated. See ${DEPRECATION_MIGRATION_LINK}`),children&&deprecate(`The 'children' prop on the Description block is deprecated. See ${DEPRECATION_MIGRATION_LINK}`),markdown?React17.createElement(Markdown2,null,markdown):null};var {document:document3,window:globalWindow3}=global,DocsContainer=({context,theme,children})=>(useEffect(()=>{let url;try{if(url=new URL(globalWindow3.parent.location.toString()),url.hash){let element=document3.getElementById(url.hash.substring(1));element&&setTimeout(()=>{scrollToElement(element);},200);}}catch{}}),React17.createElement(DocsContext.Provider,{value:context},React17.createElement(SourceContainer,{channel:context.channel},React17.createElement(ThemeProvider,{theme:ensure(theme)},React17.createElement(DocsPageWrapper,null,children)))));var STORY_KIND_PATH_SEPARATOR=/\\s*\\/\\s*/,extractTitle=title=>{let groups=title.trim().split(STORY_KIND_PATH_SEPARATOR);return groups&&groups[groups.length-1]||title},Title2=({children})=>{let context=useContext(DocsContext),content=children||extractTitle(context.storyById().title);return content?React17.createElement(Title,{className:\"sbdocs-title sb-unstyled\"},content):null};var Subtitle2=({children})=>{let docsContext=useContext(DocsContext),{parameters}=docsContext.storyById(),content=children||parameters?.componentSubtitle;return content?React17.createElement(Subtitle,{className:\"sbdocs-subtitle sb-unstyled\"},content):null};var Subheading=({children,disableAnchor})=>{if(disableAnchor||typeof children!=\"string\")return React17.createElement(H3,null,children);let tagID=children.toLowerCase().replace(/[^a-z0-9]/gi,\"-\");return React17.createElement(HeaderMdx,{as:\"h3\",id:tagID},children)};var DocsStory=({of,expanded=!0,withToolbar:withToolbarProp=!1,__forceInitialArgs=!1,__primary=!1})=>{let{story}=useOf(of||\"story\",[\"story\"]),withToolbar=story.parameters.docs?.canvas?.withToolbar??withToolbarProp;return React17.createElement(Anchor,{storyId:story.id},expanded&&React17.createElement(React17.Fragment,null,React17.createElement(Subheading,null,story.name),React17.createElement(DescriptionContainer,{of})),React17.createElement(Canvas,{of,withToolbar,story:{__forceInitialArgs,__primary},source:{__forceInitialArgs}}))};var Primary=({name})=>{let docsContext=useContext(DocsContext);name&&deprecate(dedent2`\\`name\\` prop is deprecated on the Primary block.\n The Primary block should only be used to render the primary story, which is automatically found.\n `);let storyId=name&&docsContext.storyIdByName(name),story=docsContext.storyById(storyId);return story?React17.createElement(DocsStory,{of:story.moduleExport,expanded:!1,__primary:!0,withToolbar:!0}):null};var Heading=({children,disableAnchor,...props})=>{if(disableAnchor||typeof children!=\"string\")return React17.createElement(H2,null,children);let tagID=children.toLowerCase().replace(/[^a-z0-9]/gi,\"-\");return React17.createElement(HeaderMdx,{as:\"h2\",id:tagID,...props},children)};var StyledHeading=styled(Heading)(({theme})=>({fontSize:`${theme.typography.size.s2-1}px`,fontWeight:theme.typography.weight.bold,lineHeight:\"16px\",letterSpacing:\"0.35em\",textTransform:\"uppercase\",color:theme.textMutedColor,border:0,marginBottom:\"12px\",\"&:first-of-type\":{marginTop:\"56px\"}})),Stories=({title,includePrimary=!0})=>{let{componentStories}=useContext(DocsContext),stories=componentStories().filter(story=>!story.parameters?.docs?.disable);return includePrimary||(stories=stories.slice(1)),!stories||stories.length===0?null:React17.createElement(React17.Fragment,null,React17.createElement(StyledHeading,null,title),stories.map(story=>story&&React17.createElement(DocsStory,{key:story.id,of:story.moduleExport,expanded:!0,__forceInitialArgs:!0})))};Stories.defaultProps={title:\"Stories\"};var DocsPage=()=>{let resolvedOf=useOf(\"meta\",[\"meta\"]),{stories}=resolvedOf.csfFile,isSingleStory=Object.keys(stories).length===1;return React17.createElement(React17.Fragment,null,React17.createElement(Title2,null),React17.createElement(Subtitle2,null),React17.createElement(DescriptionContainer,{of:\"meta\"}),isSingleStory?React17.createElement(DescriptionContainer,{of:\"story\"}):null,React17.createElement(Primary,null),React17.createElement(Controls3,null),isSingleStory?null:React17.createElement(Stories,null))};var Docs=({docsParameter,context})=>{let Container=docsParameter.container||DocsContainer,Page=docsParameter.page||DocsPage;return React17.createElement(Container,{context,theme:docsParameter.theme},React17.createElement(Page,null))};var ExternalDocsContext=class extends DocsContext$1{constructor(channel,store,renderStoryToElement,processMetaExports){super(channel,store,renderStoryToElement,[]);this.channel=channel;this.store=store;this.renderStoryToElement=renderStoryToElement;this.processMetaExports=processMetaExports;this.referenceMeta=(metaExports,attach)=>{let csfFile=this.processMetaExports(metaExports);this.referenceCSFFile(csfFile),super.referenceMeta(metaExports,attach);};}};var ConstantMap=class{constructor(prefix){this.prefix=prefix;this.entries=new Map;}get(key){return this.entries.has(key)||this.entries.set(key,`${this.prefix}${this.entries.size}`),this.entries.get(key)}},ExternalPreview=class extends Preview$1{constructor(projectAnnotations){super(new Channel);this.projectAnnotations=projectAnnotations;this.importPaths=new ConstantMap(\"./importPath/\");this.titles=new ConstantMap(\"title-\");this.storyIndex={v:4,entries:{}};this.moduleExportsByImportPath={};this.processMetaExports=metaExports=>{let importPath=this.importPaths.get(metaExports);this.moduleExportsByImportPath[importPath]=metaExports;let title=metaExports.default.title||this.titles.get(metaExports),csfFile=this.storyStore.processCSFFileWithCache(metaExports,importPath,title);return Object.values(csfFile.stories).forEach(({id,name})=>{this.storyIndex.entries[id]={id,importPath,title,name,type:\"story\"};}),this.onStoriesChanged({storyIndex:this.storyIndex}),csfFile};this.docsContext=()=>new ExternalDocsContext(this.channel,this.storyStore,this.renderStoryToElement.bind(this),this.processMetaExports.bind(this));this.initialize({getStoryIndex:()=>this.storyIndex,importFn:path=>Promise.resolve(this.moduleExportsByImportPath[path]),getProjectAnnotations:()=>composeConfigs([{parameters:{docs:{story:{inline:!0}}}},this.projectAnnotations])});}};function usePreview(projectAnnotations){let previewRef=useRef();return previewRef.current||(previewRef.current=new ExternalPreview(projectAnnotations)),previewRef.current}var ExternalDocs=({projectAnnotationsList,children})=>{let projectAnnotations=composeConfigs(projectAnnotationsList),preview2=usePreview(projectAnnotations),docsParameter={...projectAnnotations.parameters?.docs,page:()=>children};return React17.createElement(Docs,{docsParameter,context:preview2.docsContext()})};var preview,ExternalDocsContainer=({projectAnnotations,children})=>(preview||(preview=new ExternalPreview(projectAnnotations)),React17.createElement(DocsContext.Provider,{value:preview.docsContext()},React17.createElement(ThemeProvider,{theme:ensure(themes.light)},children)));var Meta=({of})=>{let context=useContext(DocsContext);of&&context.referenceMeta(of,!0);try{let primary=context.storyById();return React17.createElement(Anchor,{storyId:primary.id})}catch{return null}};var Unstyled=props=>React17.createElement(\"div\",{...props,className:\"sb-unstyled\"});var Wrapper8=({children})=>React17.createElement(\"div\",{style:{fontFamily:\"sans-serif\"}},children);\n\nexport { AddContext, Anchor, AnchorMdx, ArgTypes, ArgsTable2 as ArgsTable, BooleanControl, Canvas, CodeOrSourceMdx, ColorControl, ColorItem, ColorPalette, ComponentsTable, Controls3 as Controls, DateControl, DescriptionContainer as Description, DescriptionType, Docs, DocsContainer, DocsContext, DocsPage, DocsStory, ExternalDocs, ExternalDocsContainer, FilesControl, HeaderMdx, HeadersMdx, Heading, IconGallery, IconItem, Markdown2 as Markdown, Meta, NoControlsWarning, NumberControl, ObjectControl, OptionsControl, PRIMARY_STORY, Primary, ArgsTable as PureArgsTable, RangeControl, Source2 as Source, SourceContainer, SourceContext, SourceState, Stories, Story2 as Story, StoryTable, Subheading, Subtitle2 as Subtitle, TextControl, Title2 as Title, Typeset, UNKNOWN_ARGS_HASH, Unstyled, Wrapper8 as Wrapper, anchorBlockIdFromId, argsHash, assertIsFn, extractComponentArgTypes2 as extractComponentArgTypes, extractTitle, format, formatDate, formatTime, getComponent, getStoryId2 as getStoryId, getStoryProps, parse2 as parse, parseDate, parseTime, useOf, useSourceProps };\n", "import _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _wrapNativeSuper from '@babel/runtime/helpers/esm/wrapNativeSuper';\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction last() {\n var _ref;\n\n return _ref = arguments.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref];\n}\n\nfunction negation(a) {\n return -a;\n}\n\nfunction addition(a, b) {\n return a + b;\n}\n\nfunction subtraction(a, b) {\n return a - b;\n}\n\nfunction multiplication(a, b) {\n return a * b;\n}\n\nfunction division(a, b) {\n return a / b;\n}\n\nfunction max() {\n return Math.max.apply(Math, arguments);\n}\n\nfunction min() {\n return Math.min.apply(Math, arguments);\n}\n\nfunction comma() {\n return Array.of.apply(Array, arguments);\n}\n\nvar defaultSymbols = {\n symbols: {\n '*': {\n infix: {\n symbol: '*',\n f: multiplication,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '*',\n regSymbol: '\\\\*'\n },\n '/': {\n infix: {\n symbol: '/',\n f: division,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '/',\n regSymbol: '/'\n },\n '+': {\n infix: {\n symbol: '+',\n f: addition,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '+',\n f: last,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '+',\n regSymbol: '\\\\+'\n },\n '-': {\n infix: {\n symbol: '-',\n f: subtraction,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '-',\n f: negation,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '-',\n regSymbol: '-'\n },\n ',': {\n infix: {\n symbol: ',',\n f: comma,\n notation: 'infix',\n precedence: 1,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: ',',\n regSymbol: ','\n },\n '(': {\n prefix: {\n symbol: '(',\n f: last,\n notation: 'prefix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '(',\n regSymbol: '\\\\('\n },\n ')': {\n postfix: {\n symbol: ')',\n f: undefined,\n notation: 'postfix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: ')',\n regSymbol: '\\\\)'\n },\n min: {\n func: {\n symbol: 'min',\n f: min,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'min',\n regSymbol: 'min\\\\b'\n },\n max: {\n func: {\n symbol: 'max',\n f: max,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'max',\n regSymbol: 'max\\\\b'\n }\n }\n};\nvar defaultSymbolMap = defaultSymbols;\n\n// based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\nvar ERRORS = {\n \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"16\": \"You must provide a template to this method.\\n\\n\",\n \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"36\": \"Property must be a string value.\\n\\n\",\n \"37\": \"Syntax Error at %s.\\n\\n\",\n \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"61\": \"Property must be a string value.\\n\\n\",\n \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"67\": \"You must provide a template to this method.\\n\\n\",\n \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n \"74\": \"CSS variable not found and no default was provided.\\n\\n\",\n \"75\": \"important requires a valid style object, got a %s instead.\\n\\n\",\n \"76\": \"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\\n\\n\",\n \"77\": \"remToPx expects a value in \\\"rem\\\" but you provided it in \\\"%s\\\".\\n\\n\",\n \"78\": \"base must be set in \\\"px\\\" or \\\"%\\\" but you set it in \\\"%s\\\".\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var a = args[0];\n var b = [];\n var c;\n\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\n\nvar PolishedError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(PolishedError, _Error);\n\n function PolishedError(code) {\n var _this;\n\n if (process.env.NODE_ENV === 'production') {\n _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n } else {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;\n }\n\n return _assertThisInitialized(_this);\n }\n\n return PolishedError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar unitRegExp = /((?!\\w)a|na|hc|mc|dg|me[r]?|xe|ni(?![a-zA-Z])|mm|cp|tp|xp|q(?!s)|hv|xamv|nimv|wv|sm|s(?!\\D|$)|ged|darg?|nrut)/g; // Merges additional math functionality into the defaults.\n\nfunction mergeSymbolMaps(additionalSymbols) {\n var symbolMap = {};\n symbolMap.symbols = additionalSymbols ? _extends({}, defaultSymbolMap.symbols, additionalSymbols.symbols) : _extends({}, defaultSymbolMap.symbols);\n return symbolMap;\n}\n\nfunction exec(operators, values) {\n var _ref;\n\n var op = operators.pop();\n values.push(op.f.apply(op, (_ref = []).concat.apply(_ref, values.splice(-op.argCount))));\n return op.precedence;\n}\n\nfunction calculate(expression, additionalSymbols) {\n var symbolMap = mergeSymbolMaps(additionalSymbols);\n var match;\n var operators = [symbolMap.symbols['('].prefix];\n var values = [];\n var pattern = new RegExp( // Pattern for numbers\n \"\\\\d+(?:\\\\.\\\\d+)?|\" + // ...and patterns for individual operators/function names\n Object.keys(symbolMap.symbols).map(function (key) {\n return symbolMap.symbols[key];\n }) // longer symbols should be listed first\n // $FlowFixMe\n .sort(function (a, b) {\n return b.symbol.length - a.symbol.length;\n }) // $FlowFixMe\n .map(function (val) {\n return val.regSymbol;\n }).join('|') + \"|(\\\\S)\", 'g');\n pattern.lastIndex = 0; // Reset regular expression object\n\n var afterValue = false;\n\n do {\n match = pattern.exec(expression);\n\n var _ref2 = match || [')', undefined],\n token = _ref2[0],\n bad = _ref2[1];\n\n var notNumber = symbolMap.symbols[token];\n var notNewValue = notNumber && !notNumber.prefix && !notNumber.func;\n var notAfterValue = !notNumber || !notNumber.postfix && !notNumber.infix; // Check for syntax errors:\n\n if (bad || (afterValue ? notAfterValue : notNewValue)) {\n throw new PolishedError(37, match ? match.index : expression.length, expression);\n }\n\n if (afterValue) {\n // We either have an infix or postfix operator (they should be mutually exclusive)\n var curr = notNumber.postfix || notNumber.infix;\n\n do {\n var prev = operators[operators.length - 1];\n if ((curr.precedence - prev.precedence || prev.rightToLeft) > 0) break; // Apply previous operator, since it has precedence over current one\n } while (exec(operators, values)); // Exit loop after executing an opening parenthesis or function\n\n\n afterValue = curr.notation === 'postfix';\n\n if (curr.symbol !== ')') {\n operators.push(curr); // Postfix always has precedence over any operator that follows after it\n\n if (afterValue) exec(operators, values);\n }\n } else if (notNumber) {\n // prefix operator or function\n operators.push(notNumber.prefix || notNumber.func);\n\n if (notNumber.func) {\n // Require an opening parenthesis\n match = pattern.exec(expression);\n\n if (!match || match[0] !== '(') {\n throw new PolishedError(38, match ? match.index : expression.length, expression);\n }\n }\n } else {\n // number\n values.push(+token);\n afterValue = true;\n }\n } while (match && operators.length);\n\n if (operators.length) {\n throw new PolishedError(39, match ? match.index : expression.length, expression);\n } else if (match) {\n throw new PolishedError(40, match ? match.index : expression.length, expression);\n } else {\n return values.pop();\n }\n}\n\nfunction reverseString(str) {\n return str.split('').reverse().join('');\n}\n/**\n * Helper for doing math with CSS Units. Accepts a formula as a string. All values in the formula must have the same unit (or be unitless). Supports complex formulas utliziing addition, subtraction, multiplication, division, square root, powers, factorial, min, max, as well as parentheses for order of operation.\n *\n *In cases where you need to do calculations with mixed units where one unit is a [relative length unit](https://developer.mozilla.org/en-US/docs/Web/CSS/length#Relative_length_units), you will want to use [CSS Calc](https://developer.mozilla.org/en-US/docs/Web/CSS/calc).\n *\n * *warning* While we've done everything possible to ensure math safely evalutes formulas expressed as strings, you should always use extreme caution when passing `math` user provided values.\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: math('12rem + 8rem'),\n * fontSize: math('(12px + 2px) * 3'),\n * fontSize: math('3px^2 + sqrt(4)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${math('12rem + 8rem')};\n * fontSize: ${math('(12px + 2px) * 3')};\n * fontSize: ${math('3px^2 + sqrt(4)')};\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * fontSize: '20rem',\n * fontSize: '42px',\n * fontSize: '11px',\n * }\n */\n\n\nfunction math(formula, additionalSymbols) {\n var reversedFormula = reverseString(formula);\n var formulaMatch = reversedFormula.match(unitRegExp); // Check that all units are the same\n\n if (formulaMatch && !formulaMatch.every(function (unit) {\n return unit === formulaMatch[0];\n })) {\n throw new PolishedError(41);\n }\n\n var cleanFormula = reverseString(reversedFormula.replace(unitRegExp, ''));\n return \"\" + calculate(cleanFormula, additionalSymbols) + (formulaMatch ? reverseString(formulaMatch[0]) : '');\n}\n\nvar cssVariableRegex = /--[\\S]*/g;\n/**\n * Fetches the value of a passed CSS Variable in the :root scope, or otherwise returns a defaultValue if provided.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'background': cssVar('--background-color'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${cssVar('--background-color')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'background': 'red'\n * }\n */\n\nfunction cssVar(cssVariable, defaultValue) {\n if (!cssVariable || !cssVariable.match(cssVariableRegex)) {\n throw new PolishedError(73);\n }\n\n var variableValue;\n /* eslint-disable */\n\n /* istanbul ignore next */\n\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n variableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariable);\n }\n /* eslint-enable */\n\n\n if (variableValue) {\n return variableValue.trim();\n } else if (defaultValue) {\n return defaultValue;\n }\n\n throw new PolishedError(74);\n}\n\n// @private\nfunction capitalizeString(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar positionMap$1 = ['Top', 'Right', 'Bottom', 'Left'];\n\nfunction generateProperty(property, position) {\n if (!property) return position.toLowerCase();\n var splitProperty = property.split('-');\n\n if (splitProperty.length > 1) {\n splitProperty.splice(1, 0, position);\n return splitProperty.reduce(function (acc, val) {\n return \"\" + acc + capitalizeString(val);\n });\n }\n\n var joinedProperty = property.replace(/([a-z])([A-Z])/g, \"$1\" + position + \"$2\");\n return property === joinedProperty ? \"\" + property + position : joinedProperty;\n}\n\nfunction generateStyles(property, valuesWithDefaults) {\n var styles = {};\n\n for (var i = 0; i < valuesWithDefaults.length; i += 1) {\n if (valuesWithDefaults[i] || valuesWithDefaults[i] === 0) {\n styles[generateProperty(property, positionMap$1[i])] = valuesWithDefaults[i];\n }\n }\n\n return styles;\n}\n/**\n * Enables shorthand for direction-based properties. It accepts a property (hyphenated or camelCased) and up to four values that map to top, right, bottom, and left, respectively. You can optionally pass an empty string to get only the directional values as properties. You can also optionally pass a null argument for a directional value to ignore it.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...directionalProperty('padding', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${directionalProperty('padding', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\n\n\nfunction directionalProperty(property) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n // prettier-ignore\n var firstValue = values[0],\n _values$ = values[1],\n secondValue = _values$ === void 0 ? firstValue : _values$,\n _values$2 = values[2],\n thirdValue = _values$2 === void 0 ? firstValue : _values$2,\n _values$3 = values[3],\n fourthValue = _values$3 === void 0 ? secondValue : _values$3;\n var valuesWithDefaults = [firstValue, secondValue, thirdValue, fourthValue];\n return generateStyles(property, valuesWithDefaults);\n}\n\n/**\n * Check if a string ends with something\n * @private\n */\nfunction endsWith(string, suffix) {\n return string.substr(-suffix.length) === suffix;\n}\n\nvar cssRegex$1 = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value minus its unit of measure.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': stripUnit('100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${stripUnit('100px')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100\n * }\n */\n\nfunction stripUnit(value) {\n if (typeof value !== 'string') return value;\n var matchedValue = value.match(cssRegex$1);\n return matchedValue ? parseFloat(value) : value;\n}\n\n/**\n * Factory function that creates pixel-to-x converters\n * @private\n */\n\nvar pxtoFactory = function pxtoFactory(to) {\n return function (pxval, base) {\n if (base === void 0) {\n base = '16px';\n }\n\n var newPxval = pxval;\n var newBase = base;\n\n if (typeof pxval === 'string') {\n if (!endsWith(pxval, 'px')) {\n throw new PolishedError(69, to, pxval);\n }\n\n newPxval = stripUnit(pxval);\n }\n\n if (typeof base === 'string') {\n if (!endsWith(base, 'px')) {\n throw new PolishedError(70, to, base);\n }\n\n newBase = stripUnit(base);\n }\n\n if (typeof newPxval === 'string') {\n throw new PolishedError(71, pxval, to);\n }\n\n if (typeof newBase === 'string') {\n throw new PolishedError(72, base, to);\n }\n\n return \"\" + newPxval / newBase + to;\n };\n};\n\nvar pixelsto = pxtoFactory;\n\n/**\n * Convert pixel value to ems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': em('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${em('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1em'\n * }\n */\n\nvar em = /*#__PURE__*/pixelsto('em');\nvar em$1 = em;\n\nvar cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value and its unit as elements of an array.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': getValueAndUnit('100px')[0],\n * '--unit': getValueAndUnit('100px')[1],\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${getValueAndUnit('100px')[0]};\n * --unit: ${getValueAndUnit('100px')[1]};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100,\n * '--unit': 'px',\n * }\n */\n\nfunction getValueAndUnit(value) {\n if (typeof value !== 'string') return [value, ''];\n var matchedValue = value.match(cssRegex);\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n}\n\n/**\n * Helper for targeting rules in a style block generated by polished modules that need !important-level specificity. Can optionally specify a rule (or rules) to target specific rules.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...important(cover())\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${important(cover())}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute !important',\n * 'top': '0 !important',\n * 'right: '0 !important',\n * 'bottom': '0 !important',\n * 'left: '0 !important'\n * }\n */\n\nfunction important(styleBlock, rules) {\n if (typeof styleBlock !== 'object' || styleBlock === null) {\n throw new PolishedError(75, typeof styleBlock);\n }\n\n var newStyleBlock = {};\n Object.keys(styleBlock).forEach(function (key) {\n if (typeof styleBlock[key] === 'object' && styleBlock[key] !== null) {\n newStyleBlock[key] = important(styleBlock[key], rules);\n } else if (!rules || rules && (rules === key || rules.indexOf(key) >= 0)) {\n newStyleBlock[key] = styleBlock[key] + \" !important\";\n } else {\n newStyleBlock[key] = styleBlock[key];\n }\n });\n return newStyleBlock;\n}\n\nvar ratioNames = {\n minorSecond: 1.067,\n majorSecond: 1.125,\n minorThird: 1.2,\n majorThird: 1.25,\n perfectFourth: 1.333,\n augFourth: 1.414,\n perfectFifth: 1.5,\n minorSixth: 1.6,\n goldenSection: 1.618,\n majorSixth: 1.667,\n minorSeventh: 1.778,\n majorSeventh: 1.875,\n octave: 2,\n majorTenth: 2.5,\n majorEleventh: 2.667,\n majorTwelfth: 3,\n doubleOctave: 4\n};\n\nfunction getRatio(ratioName) {\n return ratioNames[ratioName];\n}\n/**\n * Establish consistent measurements and spacial relationships throughout your projects by incrementing an em or rem value up or down a defined scale. We provide a list of commonly used scales as pre-defined variables.\n * @example\n * // Styles as object usage\n * const styles = {\n * // Increment two steps up the default scale\n * 'fontSize': modularScale(2)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * // Increment two steps up the default scale\n * fontSize: ${modularScale(2)}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'fontSize': '1.77689em'\n * }\n */\n\n\nfunction modularScale(steps, base, ratio) {\n if (base === void 0) {\n base = '1em';\n }\n\n if (ratio === void 0) {\n ratio = 1.333;\n }\n\n if (typeof steps !== 'number') {\n throw new PolishedError(42);\n }\n\n if (typeof ratio === 'string' && !ratioNames[ratio]) {\n throw new PolishedError(43);\n }\n\n var _ref = typeof base === 'string' ? getValueAndUnit(base) : [base, ''],\n realBase = _ref[0],\n unit = _ref[1];\n\n var realRatio = typeof ratio === 'string' ? getRatio(ratio) : ratio;\n\n if (typeof realBase === 'string') {\n throw new PolishedError(44, base);\n }\n\n return \"\" + realBase * Math.pow(realRatio, steps) + (unit || '');\n}\n\n/**\n * Convert pixel value to rems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': rem('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${rem('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1rem'\n * }\n */\n\nvar rem = /*#__PURE__*/pixelsto('rem');\nvar rem$1 = rem;\n\nvar defaultFontSize = 16;\n\nfunction convertBase(base) {\n var deconstructedValue = getValueAndUnit(base);\n\n if (deconstructedValue[1] === 'px') {\n return parseFloat(base);\n }\n\n if (deconstructedValue[1] === '%') {\n return parseFloat(base) / 100 * defaultFontSize;\n }\n\n throw new PolishedError(78, deconstructedValue[1]);\n}\n\nfunction getBaseFromDoc() {\n /* eslint-disable */\n\n /* istanbul ignore next */\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n var rootFontSize = getComputedStyle(document.documentElement).fontSize;\n return rootFontSize ? convertBase(rootFontSize) : defaultFontSize;\n }\n /* eslint-enable */\n\n /* istanbul ignore next */\n\n\n return defaultFontSize;\n}\n/**\n * Convert rem values to px. By default, the base value is pulled from the font-size property on the root element (if it is set in % or px). It defaults to 16px if not found on the root. You can also override the base value by providing your own base in % or px.\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': remToPx('1.6rem')\n * 'height': remToPx('1.6rem', '10px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${remToPx('1.6rem')}\n * height: ${remToPx('1.6rem', '10px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '25.6px',\n * 'height': '16px',\n * }\n */\n\n\nfunction remToPx(value, base) {\n var deconstructedValue = getValueAndUnit(value);\n\n if (deconstructedValue[1] !== 'rem' && deconstructedValue[1] !== '') {\n throw new PolishedError(77, deconstructedValue[1]);\n }\n\n var newBase = base ? convertBase(base) : getBaseFromDoc();\n return deconstructedValue[0] * newBase + \"px\";\n}\n\nvar functionsMap$3 = {\n back: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n circ: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n cubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n expo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n quad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n quart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n quint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n sine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeIn('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeIn('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\nfunction easeIn(functionName) {\n return functionsMap$3[functionName.toLowerCase().trim()];\n}\n\nvar functionsMap$2 = {\n back: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n circ: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n cubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n expo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n quad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n quart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n quint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n sine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeInOut('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeInOut('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n * }\n */\n\nfunction easeInOut(functionName) {\n return functionsMap$2[functionName.toLowerCase().trim()];\n}\n\nvar functionsMap$1 = {\n back: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n cubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n circ: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n expo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n quad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n quart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n quint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n sine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeOut('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeOut('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n * }\n */\n\nfunction easeOut(functionName) {\n return functionsMap$1[functionName.toLowerCase().trim()];\n}\n\n/**\n * Returns a CSS calc formula for linear interpolation of a property between two values. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px').\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: between('20px', '100px', '400px', '1000px'),\n * fontSize: between('20px', '100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${between('20px', '100px', '400px', '1000px')};\n * fontSize: ${between('20px', '100px')}\n * `\n *\n * // CSS as JS Output\n *\n * h1: {\n * 'fontSize': 'calc(-33.33333333333334px + 13.333333333333334vw)',\n * 'fontSize': 'calc(-9.090909090909093px + 9.090909090909092vw)'\n * }\n */\n\nfunction between(fromSize, toSize, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n var _getValueAndUnit = getValueAndUnit(fromSize),\n unitlessFromSize = _getValueAndUnit[0],\n fromSizeUnit = _getValueAndUnit[1];\n\n var _getValueAndUnit2 = getValueAndUnit(toSize),\n unitlessToSize = _getValueAndUnit2[0],\n toSizeUnit = _getValueAndUnit2[1];\n\n var _getValueAndUnit3 = getValueAndUnit(minScreen),\n unitlessMinScreen = _getValueAndUnit3[0],\n minScreenUnit = _getValueAndUnit3[1];\n\n var _getValueAndUnit4 = getValueAndUnit(maxScreen),\n unitlessMaxScreen = _getValueAndUnit4[0],\n maxScreenUnit = _getValueAndUnit4[1];\n\n if (typeof unitlessMinScreen !== 'number' || typeof unitlessMaxScreen !== 'number' || !minScreenUnit || !maxScreenUnit || minScreenUnit !== maxScreenUnit) {\n throw new PolishedError(47);\n }\n\n if (typeof unitlessFromSize !== 'number' || typeof unitlessToSize !== 'number' || fromSizeUnit !== toSizeUnit) {\n throw new PolishedError(48);\n }\n\n if (fromSizeUnit !== minScreenUnit || toSizeUnit !== maxScreenUnit) {\n throw new PolishedError(76);\n }\n\n var slope = (unitlessFromSize - unitlessToSize) / (unitlessMinScreen - unitlessMaxScreen);\n var base = unitlessToSize - slope * unitlessMaxScreen;\n return \"calc(\" + base.toFixed(2) + (fromSizeUnit || '') + \" + \" + (100 * slope).toFixed(2) + \"vw)\";\n}\n\n/**\n * CSS to contain a float (credit to CSSMojo).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...clearFix(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${clearFix()}\n * `\n *\n * // CSS as JS Output\n *\n * '&::after': {\n * 'clear': 'both',\n * 'content': '\"\"',\n * 'display': 'table'\n * }\n */\nfunction clearFix(parent) {\n var _ref;\n\n if (parent === void 0) {\n parent = '&';\n }\n\n var pseudoSelector = parent + \"::after\";\n return _ref = {}, _ref[pseudoSelector] = {\n clear: 'both',\n content: '\"\"',\n display: 'table'\n }, _ref;\n}\n\n/**\n * CSS to fully cover an area. Can optionally be passed an offset to act as a \"padding\".\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...cover()\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${cover()}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute',\n * 'top': '0',\n * 'right: '0',\n * 'bottom': '0',\n * 'left: '0'\n * }\n */\nfunction cover(offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n return {\n position: 'absolute',\n top: offset,\n right: offset,\n bottom: offset,\n left: offset\n };\n}\n\n/**\n * CSS to represent truncated text with an ellipsis. You can optionally pass a max-width and number of lines before truncating.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...ellipsis('250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${ellipsis('250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'display': 'inline-block',\n * 'maxWidth': '250px',\n * 'overflow': 'hidden',\n * 'textOverflow': 'ellipsis',\n * 'whiteSpace': 'nowrap',\n * 'wordWrap': 'normal'\n * }\n */\nfunction ellipsis(width, lines) {\n if (lines === void 0) {\n lines = 1;\n }\n\n var styles = {\n display: 'inline-block',\n maxWidth: width || '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n };\n return lines > 1 ? _extends({}, styles, {\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: lines,\n display: '-webkit-box',\n whiteSpace: 'normal'\n }) : styles;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * Returns a set of media queries that resizes a property (or set of properties) between a provided fromSize and toSize. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px') to constrain the interpolation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * \"@media (min-width: 1000px)\": Object {\n * \"padding\": \"100px\",\n * },\n * \"@media (min-width: 400px)\": Object {\n * \"padding\": \"calc(-33.33333333333334px + 13.333333333333334vw)\",\n * },\n * \"padding\": \"20px\",\n * }\n */\nfunction fluidRange(cssProp, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n if (!Array.isArray(cssProp) && typeof cssProp !== 'object' || cssProp === null) {\n throw new PolishedError(49);\n }\n\n if (Array.isArray(cssProp)) {\n var mediaQueries = {};\n var fallbacks = {};\n\n for (var _iterator = _createForOfIteratorHelperLoose(cssProp), _step; !(_step = _iterator()).done;) {\n var _extends2, _extends3;\n\n var obj = _step.value;\n\n if (!obj.prop || !obj.fromSize || !obj.toSize) {\n throw new PolishedError(50);\n }\n\n fallbacks[obj.prop] = obj.fromSize;\n mediaQueries[\"@media (min-width: \" + minScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + minScreen + \")\"], (_extends2 = {}, _extends2[obj.prop] = between(obj.fromSize, obj.toSize, minScreen, maxScreen), _extends2));\n mediaQueries[\"@media (min-width: \" + maxScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + maxScreen + \")\"], (_extends3 = {}, _extends3[obj.prop] = obj.toSize, _extends3));\n }\n\n return _extends({}, fallbacks, mediaQueries);\n } else {\n var _ref, _ref2, _ref3;\n\n if (!cssProp.prop || !cssProp.fromSize || !cssProp.toSize) {\n throw new PolishedError(51);\n }\n\n return _ref3 = {}, _ref3[cssProp.prop] = cssProp.fromSize, _ref3[\"@media (min-width: \" + minScreen + \")\"] = (_ref = {}, _ref[cssProp.prop] = between(cssProp.fromSize, cssProp.toSize, minScreen, maxScreen), _ref), _ref3[\"@media (min-width: \" + maxScreen + \")\"] = (_ref2 = {}, _ref2[cssProp.prop] = cssProp.toSize, _ref2), _ref3;\n }\n}\n\nvar dataURIRegex = /^\\s*data:([a-z]+\\/[a-z-]+(;[a-z-]+=[a-z-]+)?)?(;charset=[a-z0-9-]+)?(;base64)?,[a-z0-9!$&',()*+,;=\\-._~:@/?%\\s]*\\s*$/i;\nvar formatHintMap = {\n woff: 'woff',\n woff2: 'woff2',\n ttf: 'truetype',\n otf: 'opentype',\n eot: 'embedded-opentype',\n svg: 'svg',\n svgz: 'svg'\n};\n\nfunction generateFormatHint(format, formatHint) {\n if (!formatHint) return '';\n return \" format(\\\"\" + formatHintMap[format] + \"\\\")\";\n}\n\nfunction isDataURI(fontFilePath) {\n return !!fontFilePath.replace(/\\s+/g, ' ').match(dataURIRegex);\n}\n\nfunction generateFileReferences(fontFilePath, fileFormats, formatHint) {\n if (isDataURI(fontFilePath)) {\n return \"url(\\\"\" + fontFilePath + \"\\\")\" + generateFormatHint(fileFormats[0], formatHint);\n }\n\n var fileFontReferences = fileFormats.map(function (format) {\n return \"url(\\\"\" + fontFilePath + \".\" + format + \"\\\")\" + generateFormatHint(format, formatHint);\n });\n return fileFontReferences.join(', ');\n}\n\nfunction generateLocalReferences(localFonts) {\n var localFontReferences = localFonts.map(function (font) {\n return \"local(\\\"\" + font + \"\\\")\";\n });\n return localFontReferences.join(', ');\n}\n\nfunction generateSources(fontFilePath, localFonts, fileFormats, formatHint) {\n var fontReferences = [];\n if (localFonts) fontReferences.push(generateLocalReferences(localFonts));\n\n if (fontFilePath) {\n fontReferences.push(generateFileReferences(fontFilePath, fileFormats, formatHint));\n }\n\n return fontReferences.join(', ');\n}\n/**\n * CSS for a @font-face declaration. Defaults to check for local copies of the font on the user's machine. You can disable this by passing `null` to localFonts.\n *\n * @example\n * // Styles as object basic usage\n * const styles = {\n * ...fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * })\n * }\n *\n * // styled-components basic usage\n * const GlobalStyle = createGlobalStyle`${\n * fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * }\n * )}`\n *\n * // CSS as JS Output\n *\n * '@font-face': {\n * 'fontFamily': 'Sans-Pro',\n * 'src': 'url(\"path/to/file.eot\"), url(\"path/to/file.woff2\"), url(\"path/to/file.woff\"), url(\"path/to/file.ttf\"), url(\"path/to/file.svg\")',\n * }\n */\n\n\nfunction fontFace(_ref) {\n var fontFamily = _ref.fontFamily,\n fontFilePath = _ref.fontFilePath,\n fontStretch = _ref.fontStretch,\n fontStyle = _ref.fontStyle,\n fontVariant = _ref.fontVariant,\n fontWeight = _ref.fontWeight,\n _ref$fileFormats = _ref.fileFormats,\n fileFormats = _ref$fileFormats === void 0 ? ['eot', 'woff2', 'woff', 'ttf', 'svg'] : _ref$fileFormats,\n _ref$formatHint = _ref.formatHint,\n formatHint = _ref$formatHint === void 0 ? false : _ref$formatHint,\n _ref$localFonts = _ref.localFonts,\n localFonts = _ref$localFonts === void 0 ? [fontFamily] : _ref$localFonts,\n unicodeRange = _ref.unicodeRange,\n fontDisplay = _ref.fontDisplay,\n fontVariationSettings = _ref.fontVariationSettings,\n fontFeatureSettings = _ref.fontFeatureSettings;\n // Error Handling\n if (!fontFamily) throw new PolishedError(55);\n\n if (!fontFilePath && !localFonts) {\n throw new PolishedError(52);\n }\n\n if (localFonts && !Array.isArray(localFonts)) {\n throw new PolishedError(53);\n }\n\n if (!Array.isArray(fileFormats)) {\n throw new PolishedError(54);\n }\n\n var fontFaceDeclaration = {\n '@font-face': {\n fontFamily: fontFamily,\n src: generateSources(fontFilePath, localFonts, fileFormats, formatHint),\n unicodeRange: unicodeRange,\n fontStretch: fontStretch,\n fontStyle: fontStyle,\n fontVariant: fontVariant,\n fontWeight: fontWeight,\n fontDisplay: fontDisplay,\n fontVariationSettings: fontVariationSettings,\n fontFeatureSettings: fontFeatureSettings\n }\n }; // Removes undefined fields for cleaner css object.\n\n return JSON.parse(JSON.stringify(fontFaceDeclaration));\n}\n\n/**\n * CSS to hide text to show a background image in a SEO-friendly way.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'backgroundImage': 'url(logo.png)',\n * ...hideText(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * backgroundImage: url(logo.png);\n * ${hideText()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'backgroundImage': 'url(logo.png)',\n * 'textIndent': '101%',\n * 'overflow': 'hidden',\n * 'whiteSpace': 'nowrap',\n * }\n */\nfunction hideText() {\n return {\n textIndent: '101%',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n };\n}\n\n/**\n * CSS to hide content visually but remain accessible to screen readers.\n * from [HTML5 Boilerplate](https://github.com/h5bp/html5-boilerplate/blob/9a176f57af1cfe8ec70300da4621fb9b07e5fa31/src/css/main.css#L121)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...hideVisually(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hideVisually()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'border': '0',\n * 'clip': 'rect(0 0 0 0)',\n * 'height': '1px',\n * 'margin': '-1px',\n * 'overflow': 'hidden',\n * 'padding': '0',\n * 'position': 'absolute',\n * 'whiteSpace': 'nowrap',\n * 'width': '1px',\n * }\n */\nfunction hideVisually() {\n return {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n };\n}\n\n/**\n * Generates a media query to target HiDPI devices.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * [hiDPI(1.5)]: {\n * width: 200px;\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hiDPI(1.5)} {\n * width: 200px;\n * }\n * `\n *\n * // CSS as JS Output\n *\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n * only screen and (min--moz-device-pixel-ratio: 1.5),\n * only screen and (-o-min-device-pixel-ratio: 1.5/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * 'width': '200px',\n * }\n */\nfunction hiDPI(ratio) {\n if (ratio === void 0) {\n ratio = 1.3;\n }\n\n return \"\\n @media only screen and (-webkit-min-device-pixel-ratio: \" + ratio + \"),\\n only screen and (min--moz-device-pixel-ratio: \" + ratio + \"),\\n only screen and (-o-min-device-pixel-ratio: \" + ratio + \"/1),\\n only screen and (min-resolution: \" + Math.round(ratio * 96) + \"dpi),\\n only screen and (min-resolution: \" + ratio + \"dppx)\\n \";\n}\n\nfunction constructGradientValue(literals) {\n var template = '';\n\n for (var _len = arguments.length, substitutions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n substitutions[_key - 1] = arguments[_key];\n }\n\n for (var i = 0; i < literals.length; i += 1) {\n template += literals[i];\n\n if (i === substitutions.length - 1 && substitutions[i]) {\n var definedValues = substitutions.filter(function (substitute) {\n return !!substitute;\n }); // Adds leading coma if properties preceed color-stops\n\n if (definedValues.length > 1) {\n template = template.slice(0, -1);\n template += \", \" + substitutions[i]; // No trailing space if color-stops is the only param provided\n } else if (definedValues.length === 1) {\n template += \"\" + substitutions[i];\n }\n } else if (substitutions[i]) {\n template += substitutions[i] + \" \";\n }\n }\n\n return template.trim();\n}\n\nvar _templateObject$1;\n\n/**\n * CSS for declaring a linear gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#FFF',\n * 'backgroundImage': 'linear-gradient(to top right, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction linearGradient(_ref) {\n var colorStops = _ref.colorStops,\n fallback = _ref.fallback,\n _ref$toDirection = _ref.toDirection,\n toDirection = _ref$toDirection === void 0 ? '' : _ref$toDirection;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(56);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].replace(/,\\s+/g, ',').split(' ')[0].replace(/,(?=\\S)/g, ', '),\n backgroundImage: constructGradientValue(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteralLoose([\"linear-gradient(\", \"\", \")\"])), toDirection, colorStops.join(', ').replace(/,(?=\\S)/g, ', '))\n };\n}\n\n/**\n * CSS to normalize abnormalities across browsers (normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...normalize(),\n * }\n *\n * // styled-components usage\n * const GlobalStyle = createGlobalStyle`${normalize()}`\n *\n * // CSS as JS Output\n *\n * html {\n * lineHeight: 1.15,\n * textSizeAdjust: 100%,\n * } ...\n */\nfunction normalize() {\n var _ref;\n\n return [(_ref = {\n html: {\n lineHeight: '1.15',\n textSizeAdjust: '100%'\n },\n body: {\n margin: '0'\n },\n main: {\n display: 'block'\n },\n h1: {\n fontSize: '2em',\n margin: '0.67em 0'\n },\n hr: {\n boxSizing: 'content-box',\n height: '0',\n overflow: 'visible'\n },\n pre: {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n },\n a: {\n backgroundColor: 'transparent'\n },\n 'abbr[title]': {\n borderBottom: 'none',\n textDecoration: 'underline'\n }\n }, _ref[\"b,\\n strong\"] = {\n fontWeight: 'bolder'\n }, _ref[\"code,\\n kbd,\\n samp\"] = {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n }, _ref.small = {\n fontSize: '80%'\n }, _ref[\"sub,\\n sup\"] = {\n fontSize: '75%',\n lineHeight: '0',\n position: 'relative',\n verticalAlign: 'baseline'\n }, _ref.sub = {\n bottom: '-0.25em'\n }, _ref.sup = {\n top: '-0.5em'\n }, _ref.img = {\n borderStyle: 'none'\n }, _ref[\"button,\\n input,\\n optgroup,\\n select,\\n textarea\"] = {\n fontFamily: 'inherit',\n fontSize: '100%',\n lineHeight: '1.15',\n margin: '0'\n }, _ref[\"button,\\n input\"] = {\n overflow: 'visible'\n }, _ref[\"button,\\n select\"] = {\n textTransform: 'none'\n }, _ref[\"button,\\n html [type=\\\"button\\\"],\\n [type=\\\"reset\\\"],\\n [type=\\\"submit\\\"]\"] = {\n WebkitAppearance: 'button'\n }, _ref[\"button::-moz-focus-inner,\\n [type=\\\"button\\\"]::-moz-focus-inner,\\n [type=\\\"reset\\\"]::-moz-focus-inner,\\n [type=\\\"submit\\\"]::-moz-focus-inner\"] = {\n borderStyle: 'none',\n padding: '0'\n }, _ref[\"button:-moz-focusring,\\n [type=\\\"button\\\"]:-moz-focusring,\\n [type=\\\"reset\\\"]:-moz-focusring,\\n [type=\\\"submit\\\"]:-moz-focusring\"] = {\n outline: '1px dotted ButtonText'\n }, _ref.fieldset = {\n padding: '0.35em 0.625em 0.75em'\n }, _ref.legend = {\n boxSizing: 'border-box',\n color: 'inherit',\n display: 'table',\n maxWidth: '100%',\n padding: '0',\n whiteSpace: 'normal'\n }, _ref.progress = {\n verticalAlign: 'baseline'\n }, _ref.textarea = {\n overflow: 'auto'\n }, _ref[\"[type=\\\"checkbox\\\"],\\n [type=\\\"radio\\\"]\"] = {\n boxSizing: 'border-box',\n padding: '0'\n }, _ref[\"[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n [type=\\\"number\\\"]::-webkit-outer-spin-button\"] = {\n height: 'auto'\n }, _ref['[type=\"search\"]'] = {\n WebkitAppearance: 'textfield',\n outlineOffset: '-2px'\n }, _ref['[type=\"search\"]::-webkit-search-decoration'] = {\n WebkitAppearance: 'none'\n }, _ref['::-webkit-file-upload-button'] = {\n WebkitAppearance: 'button',\n font: 'inherit'\n }, _ref.details = {\n display: 'block'\n }, _ref.summary = {\n display: 'list-item'\n }, _ref.template = {\n display: 'none'\n }, _ref['[hidden]'] = {\n display: 'none'\n }, _ref), {\n 'abbr[title]': {\n textDecoration: 'underline dotted'\n }\n }];\n}\n\nvar _templateObject;\n\n/**\n * CSS for declaring a radial gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#00FFFF',\n * 'backgroundImage': 'radial-gradient(center ellipse farthest-corner at 45px 45px, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction radialGradient(_ref) {\n var colorStops = _ref.colorStops,\n _ref$extent = _ref.extent,\n extent = _ref$extent === void 0 ? '' : _ref$extent,\n fallback = _ref.fallback,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? '' : _ref$position,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? '' : _ref$shape;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(57);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].split(' ')[0],\n backgroundImage: constructGradientValue(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"radial-gradient(\", \"\", \"\", \"\", \")\"])), position, shape, extent, colorStops.join(', '))\n };\n}\n\n/**\n * A helper to generate a retina background image and non-retina\n * background image. The retina background image will output to a HiDPI media query. The mixin uses\n * a _2x.png filename suffix by default.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...retinaImage('my-img')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${retinaImage('my-img')}\n * `\n *\n * // CSS as JS Output\n * div {\n * backgroundImage: 'url(my-img.png)',\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.3),\n * only screen and (min--moz-device-pixel-ratio: 1.3),\n * only screen and (-o-min-device-pixel-ratio: 1.3/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * backgroundImage: 'url(my-img_2x.png)',\n * }\n * }\n */\nfunction retinaImage(filename, backgroundSize, extension, retinaFilename, retinaSuffix) {\n var _ref;\n\n if (extension === void 0) {\n extension = 'png';\n }\n\n if (retinaSuffix === void 0) {\n retinaSuffix = '_2x';\n }\n\n if (!filename) {\n throw new PolishedError(58);\n } // Replace the dot at the beginning of the passed extension if one exists\n\n\n var ext = extension.replace(/^\\./, '');\n var rFilename = retinaFilename ? retinaFilename + \".\" + ext : \"\" + filename + retinaSuffix + \".\" + ext;\n return _ref = {\n backgroundImage: \"url(\" + filename + \".\" + ext + \")\"\n }, _ref[hiDPI()] = _extends({\n backgroundImage: \"url(\" + rFilename + \")\"\n }, backgroundSize ? {\n backgroundSize: backgroundSize\n } : {}), _ref;\n}\n\n/* eslint-disable key-spacing */\nvar functionsMap = {\n easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n easeInCirc: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n easeInCubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n easeInExpo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n easeInQuad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n easeInQuart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n easeInQuint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n easeInSine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)',\n easeOutBack: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n easeOutCubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n easeOutCirc: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n easeOutExpo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n easeOutQuad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n easeOutQuart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n easeOutQuint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n easeInOutBack: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n easeInOutCirc: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n easeInOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n easeInOutExpo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n easeInOutQuad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n easeInOutQuart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n easeInOutQuint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/* eslint-enable key-spacing */\n\nfunction getTimingFunction(functionName) {\n return functionsMap[functionName];\n}\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @deprecated - This will be deprecated in v5 in favor of `easeIn`, `easeOut`, `easeInOut`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': timingFunctions('easeInQuad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${timingFunctions('easeInQuad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\n\nfunction timingFunctions(timingFunction) {\n return getTimingFunction(timingFunction);\n}\n\nvar getBorderWidth = function getBorderWidth(pointingDirection, height, width) {\n var fullWidth = \"\" + width[0] + (width[1] || '');\n var halfWidth = \"\" + width[0] / 2 + (width[1] || '');\n var fullHeight = \"\" + height[0] + (height[1] || '');\n var halfHeight = \"\" + height[0] / 2 + (height[1] || '');\n\n switch (pointingDirection) {\n case 'top':\n return \"0 \" + halfWidth + \" \" + fullHeight + \" \" + halfWidth;\n\n case 'topLeft':\n return fullWidth + \" \" + fullHeight + \" 0 0\";\n\n case 'left':\n return halfHeight + \" \" + fullWidth + \" \" + halfHeight + \" 0\";\n\n case 'bottomLeft':\n return fullWidth + \" 0 0 \" + fullHeight;\n\n case 'bottom':\n return fullHeight + \" \" + halfWidth + \" 0 \" + halfWidth;\n\n case 'bottomRight':\n return \"0 0 \" + fullWidth + \" \" + fullHeight;\n\n case 'right':\n return halfHeight + \" 0 \" + halfHeight + \" \" + fullWidth;\n\n case 'topRight':\n default:\n return \"0 \" + fullWidth + \" \" + fullHeight + \" 0\";\n }\n};\n\nvar getBorderColor = function getBorderColor(pointingDirection, foregroundColor) {\n switch (pointingDirection) {\n case 'top':\n case 'bottomRight':\n return {\n borderBottomColor: foregroundColor\n };\n\n case 'right':\n case 'bottomLeft':\n return {\n borderLeftColor: foregroundColor\n };\n\n case 'bottom':\n case 'topLeft':\n return {\n borderTopColor: foregroundColor\n };\n\n case 'left':\n case 'topRight':\n return {\n borderRightColor: foregroundColor\n };\n\n default:\n throw new PolishedError(59);\n }\n};\n/**\n * CSS to represent triangle with any pointing direction with an optional background color.\n *\n * @example\n * // Styles as object usage\n *\n * const styles = {\n * ...triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })\n * }\n *\n *\n * // styled-components usage\n * const div = styled.div`\n * ${triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })}\n *\n *\n * // CSS as JS Output\n *\n * div: {\n * 'borderColor': 'transparent transparent transparent red',\n * 'borderStyle': 'solid',\n * 'borderWidth': '50px 0 50px 100px',\n * 'height': '0',\n * 'width': '0',\n * }\n */\n\n\nfunction triangle(_ref) {\n var pointingDirection = _ref.pointingDirection,\n height = _ref.height,\n width = _ref.width,\n foregroundColor = _ref.foregroundColor,\n _ref$backgroundColor = _ref.backgroundColor,\n backgroundColor = _ref$backgroundColor === void 0 ? 'transparent' : _ref$backgroundColor;\n var widthAndUnit = getValueAndUnit(width);\n var heightAndUnit = getValueAndUnit(height);\n\n if (isNaN(heightAndUnit[0]) || isNaN(widthAndUnit[0])) {\n throw new PolishedError(60);\n }\n\n return _extends({\n width: '0',\n height: '0',\n borderColor: backgroundColor\n }, getBorderColor(pointingDirection, foregroundColor), {\n borderStyle: 'solid',\n borderWidth: getBorderWidth(pointingDirection, heightAndUnit, widthAndUnit)\n });\n}\n\n/**\n * Provides an easy way to change the `wordWrap` property.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...wordWrap('break-word')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${wordWrap('break-word')}\n * `\n *\n * // CSS as JS Output\n *\n * const styles = {\n * overflowWrap: 'break-word',\n * wordWrap: 'break-word',\n * wordBreak: 'break-all',\n * }\n */\nfunction wordWrap(wrap) {\n if (wrap === void 0) {\n wrap = 'break-word';\n }\n\n var wordBreak = wrap === 'break-word' ? 'break-all' : wrap;\n return {\n overflowWrap: wrap,\n wordWrap: wrap,\n wordBreak: wordBreak\n };\n}\n\nfunction colorToInt(color) {\n return Math.round(color * 255);\n}\n\nfunction convertToInt(red, green, blue) {\n return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\n\nfunction hslToRgb(hue, saturation, lightness, convert) {\n if (convert === void 0) {\n convert = convertToInt;\n }\n\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n\n var huePrime = (hue % 360 + 360) % 360 / 60;\n var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n var red = 0;\n var green = 0;\n var blue = 0;\n\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n\n var lightnessModification = lightness - chroma / 2;\n var finalRed = red + lightnessModification;\n var finalGreen = green + lightnessModification;\n var finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\n\nvar namedColorMap = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\n blanchedalmond: 'ffebcd',\n blue: '0000ff',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '00ffff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgreen: '006400',\n darkgrey: 'a9a9a9',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkslategrey: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dimgrey: '696969',\n dodgerblue: '1e90ff',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'ff00ff',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n grey: '808080',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred: 'cd5c5c',\n indigo: '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgray: 'd3d3d3',\n lightgreen: '90ee90',\n lightgrey: 'd3d3d3',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslategray: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370db',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'db7093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n rebeccapurple: '639',\n red: 'f00',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n slategrey: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n wheat: 'f5deb3',\n white: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n if (typeof color !== 'string') return color;\n var normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\n\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgb(?:a)?\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsl(?:a)?\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n if (typeof color !== 'string') {\n throw new PolishedError(3);\n }\n\n var normalizedColor = nameToHex(color);\n\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n };\n }\n\n if (normalizedColor.match(hexRgbaRegex)) {\n var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n alpha: alpha\n };\n }\n\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n };\n }\n\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n alpha: _alpha\n };\n }\n\n var rgbMatched = rgbRegex.exec(normalizedColor);\n\n if (rgbMatched) {\n return {\n red: parseInt(\"\" + rgbMatched[1], 10),\n green: parseInt(\"\" + rgbMatched[2], 10),\n blue: parseInt(\"\" + rgbMatched[3], 10)\n };\n }\n\n var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));\n\n if (rgbaMatched) {\n return {\n red: parseInt(\"\" + rgbaMatched[1], 10),\n green: parseInt(\"\" + rgbaMatched[2], 10),\n blue: parseInt(\"\" + rgbaMatched[3], 10),\n alpha: parseFloat(\"\" + rgbaMatched[4]) > 1 ? parseFloat(\"\" + rgbaMatched[4]) / 100 : parseFloat(\"\" + rgbaMatched[4])\n };\n }\n\n var hslMatched = hslRegex.exec(normalizedColor);\n\n if (hslMatched) {\n var hue = parseInt(\"\" + hslMatched[1], 10);\n var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n var rgbColorString = \"rgb(\" + hslToRgb(hue, saturation, lightness) + \")\";\n var hslRgbMatched = rgbRegex.exec(rgbColorString);\n\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + hslRgbMatched[1], 10),\n green: parseInt(\"\" + hslRgbMatched[2], 10),\n blue: parseInt(\"\" + hslRgbMatched[3], 10)\n };\n }\n\n var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));\n\n if (hslaMatched) {\n var _hue = parseInt(\"\" + hslaMatched[1], 10);\n\n var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n\n var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n\n var _rgbColorString = \"rgb(\" + hslToRgb(_hue, _saturation, _lightness) + \")\";\n\n var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n\n if (!_hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, _rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + _hslRgbMatched[1], 10),\n green: parseInt(\"\" + _hslRgbMatched[2], 10),\n blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n alpha: parseFloat(\"\" + hslaMatched[4]) > 1 ? parseFloat(\"\" + hslaMatched[4]) / 100 : parseFloat(\"\" + hslaMatched[4])\n };\n }\n\n throw new PolishedError(5);\n}\n\nfunction rgbToHsl(color) {\n // make sure rgb are contained in a set of [0, 255]\n var red = color.red / 255;\n var green = color.green / 255;\n var blue = color.blue / 255;\n var max = Math.max(red, green, blue);\n var min = Math.min(red, green, blue);\n var lightness = (max + min) / 2;\n\n if (max === min) {\n // achromatic\n if (color.alpha !== undefined) {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness,\n alpha: color.alpha\n };\n } else {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness\n };\n }\n }\n\n var hue;\n var delta = max - min;\n var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n switch (max) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n\n case green:\n hue = (blue - red) / delta + 2;\n break;\n\n default:\n // blue case\n hue = (red - green) / delta + 4;\n break;\n }\n\n hue *= 60;\n\n if (color.alpha !== undefined) {\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness,\n alpha: color.alpha\n };\n }\n\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness\n };\n}\n\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\nfunction parseToHsl(color) {\n // Note: At a later stage we can optimize this function as right now a hsl\n // color would be parsed converted to rgb values and converted back to hsl.\n return rgbToHsl(parseToRgb(color));\n}\n\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\nvar reduceHexValue = function reduceHexValue(value) {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return \"#\" + value[1] + value[3] + value[5];\n }\n\n return value;\n};\n\nvar reduceHexValue$1 = reduceHexValue;\n\nfunction numberToHex(value) {\n var hex = value.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n}\n\nfunction colorToHex(color) {\n return numberToHex(Math.round(color * 255));\n}\n\nfunction convertToHex(red, green, blue) {\n return reduceHexValue$1(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\n\nfunction hslToHex(hue, saturation, lightness) {\n return hslToRgb(hue, saturation, lightness, convertToHex);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsl(359, 0.75, 0.4),\n * background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsl(359, 0.75, 0.4)};\n * background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#b3191c\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsl(value, saturation, lightness) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n return hslToHex(value, saturation, lightness);\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {\n return hslToHex(value.hue, value.saturation, value.lightness);\n }\n\n throw new PolishedError(1);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsla(359, 0.75, 0.4, 0.7),\n * background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n * background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsla(359, 0.75, 0.4, 0.7)};\n * background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n * background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsla(value, saturation, lightness, alpha) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n return alpha >= 1 ? hslToHex(value, saturation, lightness) : \"rgba(\" + hslToRgb(value, saturation, lightness) + \",\" + alpha + \")\";\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : \"rgba(\" + hslToRgb(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n }\n\n throw new PolishedError(2);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgb(255, 205, 100),\n * background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgb(255, 205, 100)};\n * background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffcd64\";\n * background: \"#ffcd64\";\n * }\n */\nfunction rgb(value, green, blue) {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return reduceHexValue$1(\"#\" + numberToHex(value) + numberToHex(green) + numberToHex(blue));\n } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n return reduceHexValue$1(\"#\" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));\n }\n\n throw new PolishedError(6);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgba(255, 205, 100, 0.7),\n * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n * background: rgba(255, 205, 100, 1),\n * background: rgba('#ffffff', 0.4),\n * background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgba(255, 205, 100, 0.7)};\n * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n * background: ${rgba(255, 205, 100, 1)};\n * background: ${rgba('#ffffff', 0.4)};\n * background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"#ffcd64\";\n * background: \"rgba(255,255,255,0.4)\";\n * background: \"rgba(0,0,0,0.7)\";\n * }\n */\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n var rgbValue = parseToRgb(firstValue);\n return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n }\n\n throw new PolishedError(7);\n}\n\nvar isRgb = function isRgb(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isRgba = function isRgba(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\n\nvar isHsl = function isHsl(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isHsla = function isHsla(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: toColorString({ red: 255, green: 205, blue: 100 }),\n * background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction toColorString(color) {\n if (typeof color !== 'object') throw new PolishedError(8);\n if (isRgba(color)) return rgba(color);\n if (isRgb(color)) return rgb(color);\n if (isHsla(color)) return hsla(color);\n if (isHsl(color)) return hsl(color);\n throw new PolishedError(8);\n}\n\n// Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\nfunction curried(f, length, acc) {\n return function fn() {\n // eslint-disable-next-line prefer-rest-params\n var combined = acc.concat(Array.prototype.slice.call(arguments));\n return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n };\n} // eslint-disable-next-line no-redeclare\n\n\nfunction curry(f) {\n // eslint-disable-line no-redeclare\n return curried(f, f.length, []);\n}\n\n/**\n * Changes the hue of the color. Hue is a number between 0 to 360. The first\n * argument for adjustHue is the amount of degrees the color is rotated around\n * the color wheel, always producing a positive hue value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: adjustHue(180, '#448'),\n * background: adjustHue('180', 'rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${adjustHue(180, '#448')};\n * background: ${adjustHue('180', 'rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#888844\";\n * background: \"rgba(136,136,68,0.7)\";\n * }\n */\n\nfunction adjustHue(degree, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: hslColor.hue + parseFloat(degree)\n }));\n} // prettier-ignore\n\n\nvar curriedAdjustHue = /*#__PURE__*/curry\n/* :: */\n(adjustHue);\nvar curriedAdjustHue$1 = curriedAdjustHue;\n\n/**\n * Returns the complement of the provided color. This is identical to adjustHue(180, ).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: complement('#448'),\n * background: complement('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${complement('#448')};\n * background: ${complement('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#884\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction complement(color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: (hslColor.hue + 180) % 360\n }));\n}\n\nfunction guard(lowerBoundary, upperBoundary, value) {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n\n/**\n * Returns a string value for the darkened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: darken(0.2, '#FFCD64'),\n * background: darken('0.2', 'rgba(255,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${darken(0.2, '#FFCD64')};\n * background: ${darken('0.2', 'rgba(255,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffbd31\";\n * background: \"rgba(255,189,49,0.7)\";\n * }\n */\n\nfunction darken(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDarken = /*#__PURE__*/curry\n/* :: */\n(darken);\nvar curriedDarken$1 = curriedDarken;\n\n/**\n * Decreases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the desaturate function is the amount by how much the color\n * intensity should be decreased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: desaturate(0.2, '#CCCD64'),\n * background: desaturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${desaturate(0.2, '#CCCD64')};\n * background: ${desaturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#b8b979\";\n * background: \"rgba(184,185,121,0.7)\";\n * }\n */\n\nfunction desaturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDesaturate = /*#__PURE__*/curry\n/* :: */\n(desaturate);\nvar curriedDesaturate$1 = curriedDesaturate;\n\n/**\n * Returns a number (float) representing the luminance of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff',\n * background: getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)',\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff'};\n * background: ${getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)'};\n *\n * // CSS in JS Output\n *\n * div {\n * background: \"#CCCD64\";\n * background: \"rgba(58, 133, 255, 1)\";\n * }\n */\n\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n var rgbColor = parseToRgb(color);\n\n var _Object$keys$map = Object.keys(rgbColor).map(function (key) {\n var channel = rgbColor[key] / 255;\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }),\n r = _Object$keys$map[0],\n g = _Object$keys$map[1],\n b = _Object$keys$map[2];\n\n return parseFloat((0.2126 * r + 0.7152 * g + 0.0722 * b).toFixed(3));\n}\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n *\n * @example\n * const contrastRatio = getContrast('#444', '#fff');\n */\n\nfunction getContrast(color1, color2) {\n var luminance1 = getLuminance(color1);\n var luminance2 = getLuminance(color2);\n return parseFloat((luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05)).toFixed(2));\n}\n\n/**\n * Converts the color to a grayscale, by reducing its saturation to 0.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: grayscale('#CCCD64'),\n * background: grayscale('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${grayscale('#CCCD64')};\n * background: ${grayscale('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#999\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction grayscale(color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: 0\n }));\n}\n\n/**\n * Converts a HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\nfunction hslToColorString(color) {\n if (typeof color === 'object' && typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number') {\n if (color.alpha && typeof color.alpha === 'number') {\n return hsla({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness,\n alpha: color.alpha\n });\n }\n\n return hsl({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness\n });\n }\n\n throw new PolishedError(45);\n}\n\n/**\n * Inverts the red, green and blue values of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: invert('#CCCD64'),\n * background: invert('rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${invert('#CCCD64')};\n * background: ${invert('rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#33329b\";\n * background: \"rgba(154,155,50,0.7)\";\n * }\n */\n\nfunction invert(color) {\n if (color === 'transparent') return color; // parse color string to rgb\n\n var value = parseToRgb(color);\n return toColorString(_extends({}, value, {\n red: 255 - value.red,\n green: 255 - value.green,\n blue: 255 - value.blue\n }));\n}\n\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: lighten(0.2, '#CCCD64'),\n * background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${lighten(0.2, '#FFCD64')};\n * background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e5e6b1\";\n * background: \"rgba(229,230,177,0.7)\";\n * }\n */\n\nfunction lighten(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedLighten = /*#__PURE__*/curry\n/* :: */\n(lighten);\nvar curriedLighten$1 = curriedLighten;\n\n/**\n * Determines which contrast guidelines have been met for two colors.\n * Based on the [contrast calculations recommended by W3](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).\n *\n * @example\n * const scores = meetsContrastGuidelines('#444', '#fff');\n */\nfunction meetsContrastGuidelines(color1, color2) {\n var contrastRatio = getContrast(color1, color2);\n return {\n AA: contrastRatio >= 4.5,\n AALarge: contrastRatio >= 3,\n AAA: contrastRatio >= 7,\n AAALarge: contrastRatio >= 4.5\n };\n}\n\n/**\n * Mixes the two provided colors together by calculating the average of each of the RGB components weighted to the first color by the provided weight.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: mix(0.5, '#f00', '#00f')\n * background: mix(0.25, '#f00', '#00f')\n * background: mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${mix(0.5, '#f00', '#00f')};\n * background: ${mix(0.25, '#f00', '#00f')};\n * background: ${mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#7f007f\";\n * background: \"#3f00bf\";\n * background: \"rgba(63, 0, 191, 0.75)\";\n * }\n */\n\nfunction mix(weight, color, otherColor) {\n if (color === 'transparent') return otherColor;\n if (otherColor === 'transparent') return color;\n if (weight === 0) return otherColor;\n var parsedColor1 = parseToRgb(color);\n\n var color1 = _extends({}, parsedColor1, {\n alpha: typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1\n });\n\n var parsedColor2 = parseToRgb(otherColor);\n\n var color2 = _extends({}, parsedColor2, {\n alpha: typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1\n }); // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n\n\n var alphaDelta = color1.alpha - color2.alpha;\n var x = parseFloat(weight) * 2 - 1;\n var y = x * alphaDelta === -1 ? x : x + alphaDelta;\n var z = 1 + x * alphaDelta;\n var weight1 = (y / z + 1) / 2.0;\n var weight2 = 1 - weight1;\n var mixedColor = {\n red: Math.floor(color1.red * weight1 + color2.red * weight2),\n green: Math.floor(color1.green * weight1 + color2.green * weight2),\n blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),\n alpha: color1.alpha * parseFloat(weight) + color2.alpha * (1 - parseFloat(weight))\n };\n return rgba(mixedColor);\n} // prettier-ignore\n\n\nvar curriedMix = /*#__PURE__*/curry\n/* :: */\n(mix);\nvar mix$1 = curriedMix;\n\n/**\n * Increases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: opacify(0.1, 'rgba(255, 255, 255, 0.9)');\n * background: opacify(0.2, 'hsla(0, 0%, 100%, 0.5)'),\n * background: opacify('0.5', 'rgba(255, 0, 0, 0.2)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${opacify(0.1, 'rgba(255, 255, 255, 0.9)')};\n * background: ${opacify(0.2, 'hsla(0, 0%, 100%, 0.5)')},\n * background: ${opacify('0.5', 'rgba(255, 0, 0, 0.2)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#fff\";\n * background: \"rgba(255,255,255,0.7)\";\n * background: \"rgba(255,0,0,0.7)\";\n * }\n */\n\nfunction opacify(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedOpacify = /*#__PURE__*/curry\n/* :: */\n(opacify);\nvar curriedOpacify$1 = curriedOpacify;\n\nvar defaultReturnIfLightColor = '#000';\nvar defaultReturnIfDarkColor = '#fff';\n/**\n * Returns black or white (or optional passed colors) for best\n * contrast depending on the luminosity of the given color.\n * When passing custom return colors, strict mode ensures that the\n * return color always meets or exceeds WCAG level AA or greater. If this test\n * fails, the default return color (black or white) is returned in place of the\n * custom return color. You can optionally turn off strict mode.\n *\n * Follows [W3C specs for readability](https://www.w3.org/TR/WCAG20-TECHS/G18.html).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * color: readableColor('#000'),\n * color: readableColor('black', '#001', '#ff8'),\n * color: readableColor('white', '#001', '#ff8'),\n * color: readableColor('red', '#333', '#ddd', true)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * color: ${readableColor('#000')};\n * color: ${readableColor('black', '#001', '#ff8')};\n * color: ${readableColor('white', '#001', '#ff8')};\n * color: ${readableColor('red', '#333', '#ddd', true)};\n * `\n *\n * // CSS in JS Output\n * element {\n * color: \"#fff\";\n * color: \"#ff8\";\n * color: \"#001\";\n * color: \"#000\";\n * }\n */\n\nfunction readableColor(color, returnIfLightColor, returnIfDarkColor, strict) {\n if (returnIfLightColor === void 0) {\n returnIfLightColor = defaultReturnIfLightColor;\n }\n\n if (returnIfDarkColor === void 0) {\n returnIfDarkColor = defaultReturnIfDarkColor;\n }\n\n if (strict === void 0) {\n strict = true;\n }\n\n var isColorLight = getLuminance(color) > 0.179;\n var preferredReturnColor = isColorLight ? returnIfLightColor : returnIfDarkColor;\n\n if (!strict || getContrast(color, preferredReturnColor) >= 4.5) {\n return preferredReturnColor;\n }\n\n return isColorLight ? defaultReturnIfLightColor : defaultReturnIfDarkColor;\n}\n\n/**\n * Converts a RgbColor or RgbaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb` or `rgba`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgbToColorString({ red: 255, green: 205, blue: 100 }),\n * background: rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * }\n */\nfunction rgbToColorString(color) {\n if (typeof color === 'object' && typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number') {\n if (typeof color.alpha === 'number') {\n return rgba({\n red: color.red,\n green: color.green,\n blue: color.blue,\n alpha: color.alpha\n });\n }\n\n return rgb({\n red: color.red,\n green: color.green,\n blue: color.blue\n });\n }\n\n throw new PolishedError(46);\n}\n\n/**\n * Increases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the saturate function is the amount by how much the color\n * intensity should be increased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: saturate(0.2, '#CCCD64'),\n * background: saturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${saturate(0.2, '#FFCD64')};\n * background: ${saturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e0e250\";\n * background: \"rgba(224,226,80,0.7)\";\n * }\n */\n\nfunction saturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedSaturate = /*#__PURE__*/curry\n/* :: */\n(saturate);\nvar curriedSaturate$1 = curriedSaturate;\n\n/**\n * Sets the hue of a color to the provided value. The hue range can be\n * from 0 and 359.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setHue(42, '#CCCD64'),\n * background: setHue('244', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setHue(42, '#CCCD64')};\n * background: ${setHue('244', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#cdae64\";\n * background: \"rgba(107,100,205,0.7)\";\n * }\n */\n\nfunction setHue(hue, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n hue: parseFloat(hue)\n }));\n} // prettier-ignore\n\n\nvar curriedSetHue = /*#__PURE__*/curry\n/* :: */\n(setHue);\nvar curriedSetHue$1 = curriedSetHue;\n\n/**\n * Sets the lightness of a color to the provided value. The lightness range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setLightness(0.2, '#CCCD64'),\n * background: setLightness('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setLightness(0.2, '#CCCD64')};\n * background: ${setLightness('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#4d4d19\";\n * background: \"rgba(223,224,159,0.7)\";\n * }\n */\n\nfunction setLightness(lightness, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n lightness: parseFloat(lightness)\n }));\n} // prettier-ignore\n\n\nvar curriedSetLightness = /*#__PURE__*/curry\n/* :: */\n(setLightness);\nvar curriedSetLightness$1 = curriedSetLightness;\n\n/**\n * Sets the saturation of a color to the provided value. The saturation range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setSaturation(0.2, '#CCCD64'),\n * background: setSaturation('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setSaturation(0.2, '#CCCD64')};\n * background: ${setSaturation('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#adad84\";\n * background: \"rgba(228,229,76,0.7)\";\n * }\n */\n\nfunction setSaturation(saturation, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: parseFloat(saturation)\n }));\n} // prettier-ignore\n\n\nvar curriedSetSaturation = /*#__PURE__*/curry\n/* :: */\n(setSaturation);\nvar curriedSetSaturation$1 = curriedSetSaturation;\n\n/**\n * Shades a color by mixing it with black. `shade` can produce\n * hue shifts, where as `darken` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: shade(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${shade(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#00003f\";\n * }\n */\n\nfunction shade(percentage, color) {\n if (color === 'transparent') return color;\n return mix$1(parseFloat(percentage), 'rgb(0, 0, 0)', color);\n} // prettier-ignore\n\n\nvar curriedShade = /*#__PURE__*/curry\n/* :: */\n(shade);\nvar curriedShade$1 = curriedShade;\n\n/**\n * Tints a color by mixing it with white. `tint` can produce\n * hue shifts, where as `lighten` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: tint(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${tint(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#bfbfff\";\n * }\n */\n\nfunction tint(percentage, color) {\n if (color === 'transparent') return color;\n return mix$1(parseFloat(percentage), 'rgb(255, 255, 255)', color);\n} // prettier-ignore\n\n\nvar curriedTint = /*#__PURE__*/curry\n/* :: */\n(tint);\nvar curriedTint$1 = curriedTint;\n\n/**\n * Decreases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: transparentize(0.1, '#fff'),\n * background: transparentize(0.2, 'hsl(0, 0%, 100%)'),\n * background: transparentize('0.5', 'rgba(255, 0, 0, 0.8)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${transparentize(0.1, '#fff')};\n * background: ${transparentize(0.2, 'hsl(0, 0%, 100%)')};\n * background: ${transparentize('0.5', 'rgba(255, 0, 0, 0.8)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,255,255,0.9)\";\n * background: \"rgba(255,255,255,0.8)\";\n * background: \"rgba(255,0,0,0.3)\";\n * }\n */\n\nfunction transparentize(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, +(alpha * 100 - parseFloat(amount) * 100).toFixed(2) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedTransparentize = /*#__PURE__*/curry\n/* :: */\n(transparentize);\nvar curriedTransparentize$1 = curriedTransparentize;\n\n/**\n * Shorthand for easily setting the animation property. Allows either multiple arrays with animations\n * or a single animation spread over the arguments.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out, colorchange 2s'\n * }\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation('rotate', '1s', 'ease-in-out')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation('rotate', '1s', 'ease-in-out')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out'\n * }\n */\nfunction animation() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // Allow single or multiple animations passed\n var multiMode = Array.isArray(args[0]);\n\n if (!multiMode && args.length > 8) {\n throw new PolishedError(64);\n }\n\n var code = args.map(function (arg) {\n if (multiMode && !Array.isArray(arg) || !multiMode && Array.isArray(arg)) {\n throw new PolishedError(65);\n }\n\n if (Array.isArray(arg) && arg.length > 8) {\n throw new PolishedError(66);\n }\n\n return Array.isArray(arg) ? arg.join(' ') : arg;\n }).join(', ');\n return {\n animation: code\n };\n}\n\n/**\n * Shorthand that accepts any number of backgroundImage values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'backgroundImage': 'url(\"/image/background.jpg\"), linear-gradient(red, green)'\n * }\n */\nfunction backgroundImages() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n backgroundImage: properties.join(', ')\n };\n}\n\n/**\n * Shorthand that accepts any number of background values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'background': 'url(\"/image/background.jpg\"), linear-gradient(red, green), center no-repeat'\n * }\n */\nfunction backgrounds() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n background: properties.join(', ')\n };\n}\n\nvar sideMap = ['top', 'right', 'bottom', 'left'];\n/**\n * Shorthand for the border property that splits out individual properties for use with tools like Fela and Styletron. A side keyword can optionally be passed to target only one side's border properties.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...border('1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderColor': 'red',\n * 'borderStyle': 'solid',\n * 'borderWidth': `1px`,\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...border('top', '1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('top', '1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderTopStyle': 'solid',\n * 'borderTopWidth': `1px`,\n * }\n */\n\nfunction border(sideKeyword) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (typeof sideKeyword === 'string' && sideMap.indexOf(sideKeyword) >= 0) {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + capitalizeString(sideKeyword) + \"Width\"] = values[0], _ref[\"border\" + capitalizeString(sideKeyword) + \"Style\"] = values[1], _ref[\"border\" + capitalizeString(sideKeyword) + \"Color\"] = values[2], _ref;\n } else {\n values.unshift(sideKeyword);\n return {\n borderWidth: values[0],\n borderStyle: values[1],\n borderColor: values[2]\n };\n }\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderColor('red', 'green', 'blue', 'yellow')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderColor('red', 'green', 'blue', 'yellow')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderRightColor': 'green',\n * 'borderBottomColor': 'blue',\n * 'borderLeftColor': 'yellow'\n * }\n */\nfunction borderColor() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderColor'].concat(values));\n}\n\n/**\n * Shorthand that accepts a value for side and a value for radius and applies the radius value to both corners of the side.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderRadius('top', '5px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderRadius('top', '5px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopRightRadius': '5px',\n * 'borderTopLeftRadius': '5px',\n * }\n */\nfunction borderRadius(side, radius) {\n var uppercaseSide = capitalizeString(side);\n\n if (!radius && radius !== 0) {\n throw new PolishedError(62);\n }\n\n if (uppercaseSide === 'Top' || uppercaseSide === 'Bottom') {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + uppercaseSide + \"RightRadius\"] = radius, _ref[\"border\" + uppercaseSide + \"LeftRadius\"] = radius, _ref;\n }\n\n if (uppercaseSide === 'Left' || uppercaseSide === 'Right') {\n var _ref2;\n\n return _ref2 = {}, _ref2[\"borderTop\" + uppercaseSide + \"Radius\"] = radius, _ref2[\"borderBottom\" + uppercaseSide + \"Radius\"] = radius, _ref2;\n }\n\n throw new PolishedError(63);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderStyle('solid', 'dashed', 'dotted', 'double')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderStyle('solid', 'dashed', 'dotted', 'double')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopStyle': 'solid',\n * 'borderRightStyle': 'dashed',\n * 'borderBottomStyle': 'dotted',\n * 'borderLeftStyle': 'double'\n * }\n */\nfunction borderStyle() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderStyle'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderWidth('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderWidth('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopWidth': '12px',\n * 'borderRightWidth': '24px',\n * 'borderBottomWidth': '36px',\n * 'borderLeftWidth': '48px'\n * }\n */\nfunction borderWidth() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderWidth'].concat(values));\n}\n\nfunction generateSelectors(template, state) {\n var stateSuffix = state ? \":\" + state : '';\n return template(stateSuffix);\n}\n/**\n * Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.\n * @private\n */\n\n\nfunction statefulSelectors(states, template, stateMap) {\n if (!template) throw new PolishedError(67);\n if (states.length === 0) return generateSelectors(template, null);\n var selectors = [];\n\n for (var i = 0; i < states.length; i += 1) {\n if (stateMap && stateMap.indexOf(states[i]) < 0) {\n throw new PolishedError(68);\n }\n\n selectors.push(generateSelectors(template, states[i]));\n }\n\n selectors = selectors.join(',');\n return selectors;\n}\n\nvar stateMap$1 = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template$1(state) {\n return \"button\" + state + \",\\n input[type=\\\"button\\\"]\" + state + \",\\n input[type=\\\"reset\\\"]\" + state + \",\\n input[type=\\\"submit\\\"]\" + state;\n}\n/**\n * Populates selectors that target all buttons. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [buttons('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${buttons('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'button:active,\n * 'input[type=\"button\"]:active,\n * 'input[type=\\\"reset\\\"]:active,\n * 'input[type=\\\"submit\\\"]:active: {\n * 'border': 'none'\n * }\n */\n\n\nfunction buttons() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template$1, stateMap$1);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...margin('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${margin('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'marginTop': '12px',\n * 'marginRight': '24px',\n * 'marginBottom': '36px',\n * 'marginLeft': '48px'\n * }\n */\nfunction margin() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['margin'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...padding('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${padding('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\nfunction padding() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['padding'].concat(values));\n}\n\nvar positionMap = ['absolute', 'fixed', 'relative', 'static', 'sticky'];\n/**\n * Shorthand accepts up to five values, including null to skip a value, and maps them to their respective directions. The first value can optionally be a position keyword.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...position('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...position('absolute', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('absolute', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'position': 'absolute',\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n */\n\nfunction position(firstValue) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (positionMap.indexOf(firstValue) >= 0 && firstValue) {\n return _extends({}, directionalProperty.apply(void 0, [''].concat(values)), {\n position: firstValue\n });\n } else {\n return directionalProperty.apply(void 0, ['', firstValue].concat(values));\n }\n}\n\n/**\n * Shorthand to set the height and width properties in a single statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...size('300px', '250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${size('300px', '250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'height': '300px',\n * 'width': '250px',\n * }\n */\nfunction size(height, width) {\n if (width === void 0) {\n width = height;\n }\n\n return {\n height: height,\n width: width\n };\n}\n\nvar stateMap = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template(state) {\n return \"input[type=\\\"color\\\"]\" + state + \",\\n input[type=\\\"date\\\"]\" + state + \",\\n input[type=\\\"datetime\\\"]\" + state + \",\\n input[type=\\\"datetime-local\\\"]\" + state + \",\\n input[type=\\\"email\\\"]\" + state + \",\\n input[type=\\\"month\\\"]\" + state + \",\\n input[type=\\\"number\\\"]\" + state + \",\\n input[type=\\\"password\\\"]\" + state + \",\\n input[type=\\\"search\\\"]\" + state + \",\\n input[type=\\\"tel\\\"]\" + state + \",\\n input[type=\\\"text\\\"]\" + state + \",\\n input[type=\\\"time\\\"]\" + state + \",\\n input[type=\\\"url\\\"]\" + state + \",\\n input[type=\\\"week\\\"]\" + state + \",\\n input:not([type])\" + state + \",\\n textarea\" + state;\n}\n/**\n * Populates selectors that target all text inputs. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [textInputs('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${textInputs('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'input[type=\"color\"]:active,\n * input[type=\"date\"]:active,\n * input[type=\"datetime\"]:active,\n * input[type=\"datetime-local\"]:active,\n * input[type=\"email\"]:active,\n * input[type=\"month\"]:active,\n * input[type=\"number\"]:active,\n * input[type=\"password\"]:active,\n * input[type=\"search\"]:active,\n * input[type=\"tel\"]:active,\n * input[type=\"text\"]:active,\n * input[type=\"time\"]:active,\n * input[type=\"url\"]:active,\n * input[type=\"week\"]:active,\n * input:not([type]):active,\n * textarea:active': {\n * 'border': 'none'\n * }\n */\n\n\nfunction textInputs() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template, stateMap);\n}\n\n/**\n * Accepts any number of transition values as parameters for creating a single transition statement. You may also pass an array of properties as the first parameter that you would like to apply the same transition values to (second parameter).\n * @example\n * // Styles as object usage\n * const styles = {\n * ...transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s'),\n * ...transitions(['color', 'background-color'], '2.0s ease-in 2s')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s')};\n * ${transitions(['color', 'background-color'], '2.0s ease-in 2s'),};\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'transition': 'opacity 1.0s ease-in 0s, width 2.0s ease-in 2s'\n * 'transition': 'color 2.0s ease-in 2s, background-color 2.0s ease-in 2s',\n * }\n */\n\nfunction transitions() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n if (Array.isArray(properties[0]) && properties.length === 2) {\n var value = properties[1];\n\n if (typeof value !== 'string') {\n throw new PolishedError(61);\n }\n\n var transitionsString = properties[0].map(function (property) {\n return property + \" \" + value;\n }).join(', ');\n return {\n transition: transitionsString\n };\n } else {\n return {\n transition: properties.join(', ')\n };\n }\n}\n\nexport { curriedAdjustHue$1 as adjustHue, animation, backgroundImages, backgrounds, between, border, borderColor, borderRadius, borderStyle, borderWidth, buttons, clearFix, complement, cover, cssVar, curriedDarken$1 as darken, curriedDesaturate$1 as desaturate, directionalProperty, easeIn, easeInOut, easeOut, ellipsis, em$1 as em, fluidRange, fontFace, getContrast, getLuminance, getValueAndUnit, grayscale, hiDPI, hideText, hideVisually, hsl, hslToColorString, hsla, important, invert, curriedLighten$1 as lighten, linearGradient, margin, math, meetsContrastGuidelines, mix$1 as mix, modularScale, normalize, curriedOpacify$1 as opacify, padding, parseToHsl, parseToRgb, position, radialGradient, readableColor, rem$1 as rem, remToPx, retinaImage, rgb, rgbToColorString, rgba, curriedSaturate$1 as saturate, curriedSetHue$1 as setHue, curriedSetLightness$1 as setLightness, curriedSetSaturation$1 as setSaturation, curriedShade$1 as shade, size, stripUnit, textInputs, timingFunctions, curriedTint$1 as tint, toColorString, transitions, curriedTransparentize$1 as transparentize, triangle, wordWrap };\n", "export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}", "export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}", "import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}", "export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}", "import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}", "export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}", "export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}", "import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}", "export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}", "export default function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n strings.raw = raw;\n return strings;\n}", "// src/index.ts\nvar scope = (() => {\n let win;\n if (typeof window !== \"undefined\") {\n win = window;\n } else if (typeof globalThis !== \"undefined\") {\n win = globalThis;\n } else if (typeof global !== \"undefined\") {\n win = global;\n } else if (typeof self !== \"undefined\") {\n win = self;\n } else {\n win = {};\n }\n return win;\n})();\nexport {\n scope as global\n};\n", "var B=Object.create;var R=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var I=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var E=(r,e,t,n)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of C(e))!w.call(r,a)&&a!==t&&R(r,a,{get:()=>e[a],enumerable:!(n=b(e,a))||n.enumerable});return r};var P=(r,e,t)=>(t=r!=null?B(h(r)):{},E(e||!r||!r.__esModule?R(t,\"default\",{value:r,enumerable:!0}):t,r));var x=I(T=>{Object.defineProperty(T,\"__esModule\",{value:!0}),T.isEqual=function(){var r=Object.prototype.toString,e=Object.getPrototypeOf,t=Object.getOwnPropertySymbols?function(n){return Object.keys(n).concat(Object.getOwnPropertySymbols(n))}:Object.keys;return function(n,a){return function i(o,s,d){var y,g,p,A=r.call(o),F=r.call(s);if(o===s)return !0;if(o==null||s==null)return !1;if(d.indexOf(o)>-1&&d.indexOf(s)>-1)return !0;if(d.push(o,s),A!=F||(y=t(o),g=t(s),y.length!=g.length||y.some(function(l){return !i(o[l],s[l],d)})))return !1;switch(A.slice(8,-1)){case\"Symbol\":return o.valueOf()==s.valueOf();case\"Date\":case\"Number\":return +o==+s||+o!=+o&&+s!=+s;case\"RegExp\":case\"Function\":case\"String\":case\"Boolean\":return \"\"+o==\"\"+s;case\"Set\":case\"Map\":y=o.entries(),g=s.entries();do if(!i((p=y.next()).value,g.next().value,d))return !1;while(!p.done);return !0;case\"ArrayBuffer\":o=new Uint8Array(o),s=new Uint8Array(s);case\"DataView\":o=new Uint8Array(o.buffer),s=new Uint8Array(s.buffer);case\"Float32Array\":case\"Float64Array\":case\"Int8Array\":case\"Int16Array\":case\"Int32Array\":case\"Uint8Array\":case\"Uint16Array\":case\"Uint32Array\":case\"Uint8ClampedArray\":case\"Arguments\":case\"Array\":if(o.length!=s.length)return !1;for(p=0;p`${t} ${n}${a}`).replace(/([a-z])([A-Z])/g,(e,t,n)=>`${t} ${n}`).replace(/([a-z])([0-9])/gi,(e,t,n)=>`${t} ${n}`).replace(/([0-9])([a-z])/gi,(e,t,n)=>`${t} ${n}`).replace(/(\\s|^)(\\w)/g,(e,t,n)=>`${t}${n.toUpperCase()}`).replace(/ +/g,\" \").trim()}var c=P(x()),S=r=>r.map(e=>typeof e<\"u\").filter(Boolean).length,O=(r,e)=>{let{exists:t,eq:n,neq:a,truthy:i}=r;if(S([t,n,a,i])>1)throw new Error(`Invalid conditional test ${JSON.stringify({exists:t,eq:n,neq:a})}`);if(typeof n<\"u\")return (0, c.isEqual)(e,n);if(typeof a<\"u\")return !(0, c.isEqual)(e,a);if(typeof t<\"u\"){let s=typeof e<\"u\";return t?s:!s}return (typeof i>\"u\"?!0:i)?!!e:!e},v=(r,e,t)=>{if(!r.if)return !0;let{arg:n,global:a}=r.if;if(S([n,a])!==1)throw new Error(`Invalid conditional value ${JSON.stringify({arg:n,global:a})}`);let i=n?e[n]:t[a];return O(r.if,i)};var L=r=>r.toLowerCase().replace(/[ \u2019\u2013\u2014\u2015\u2032\u00BF'`~!@#$%^&*()_|+\\-=?;:'\",.<>\\{\\}\\[\\]\\\\\\/]/gi,\"-\").replace(/-+/g,\"-\").replace(/^-+/,\"\").replace(/-+$/,\"\"),m=(r,e)=>{let t=L(r);if(t===\"\")throw new Error(`Invalid ${e} '${r}', must include alphanumeric characters`);return t},N=(r,e)=>`${m(r,\"kind\")}${e?`--${m(e,\"name\")}`:\"\"}`,M=r=>u(r);function f(r,e){return Array.isArray(e)?e.includes(r):r.match(e)}function G(r,{includeStories:e,excludeStories:t}){return r!==\"__esModule\"&&(!e||f(r,e))&&(!t||!f(r,t))}var z=(r,{rootSeparator:e,groupSeparator:t})=>{let[n,a]=r.split(e,2),i=(a||r).split(t).filter(o=>!!o);return {root:a?n:null,groups:i}};\n\nexport { v as includeConditionalArg, G as isExportStory, z as parseKind, L as sanitize, M as storyNameFromExport, N as toId };\n", "export default __STORYBOOKCLIENTLOGGER__;\nconst { deprecate, logger, once, pretty } = __STORYBOOKCLIENTLOGGER__;\nexport { deprecate, logger, once, pretty };", "/* @jsx h */\n/**\n * markdown-to-jsx is a fork of [simple-markdown v0.2.2](https://github.com/Khan/simple-markdown)\n * from Khan Academy. Thank you Khan devs for making such an awesome and extensible\n * parsing infra... without it, half of the optimizations here wouldn't be feasible. 🙏🏼\n */\nimport * as React from 'react'\n\nexport namespace MarkdownToJSX {\n /**\n * RequireAtLeastOne<{ ... }> <- only requires at least one key\n */\n type RequireAtLeastOne = Pick<\n T,\n Exclude\n > &\n {\n [K in Keys]-?: Required> & Partial>>\n }[Keys]\n\n export type CreateElement = typeof React.createElement\n\n export type HTMLTags = keyof JSX.IntrinsicElements\n\n export type State = {\n _inAnchor?: boolean\n _inline?: boolean\n _inTable?: boolean\n _key?: React.Key\n _list?: boolean\n _simple?: boolean\n }\n\n export type ParserResult = {\n [key: string]: any\n type?: string\n }\n\n export type NestedParser = (\n input: string,\n state?: MarkdownToJSX.State\n ) => MarkdownToJSX.ParserResult\n\n export type Parser = (\n capture: RegExpMatchArray,\n nestedParse: NestedParser,\n state?: MarkdownToJSX.State\n ) => ParserOutput\n\n export type RuleOutput = (\n ast: MarkdownToJSX.ParserResult,\n state: MarkdownToJSX.State\n ) => JSX.Element\n\n export type Rule = {\n _match: (\n source: string,\n state: MarkdownToJSX.State,\n prevCapturedString?: string\n ) => RegExpMatchArray\n _order: Priority\n _parse: MarkdownToJSX.Parser\n _react?: (\n node: ParserOutput,\n output: RuleOutput,\n state?: MarkdownToJSX.State\n ) => React.ReactChild\n }\n\n export type Rules = {\n [key: string]: Rule\n }\n\n export type Override =\n | RequireAtLeastOne<{\n component: React.ElementType\n props: Object\n }>\n | React.ElementType\n\n export type Overrides = {\n [tag in HTMLTags]?: Override\n } & {\n [customComponent: string]: Override\n }\n\n export type Options = Partial<{\n /**\n * Ultimate control over the output of all rendered JSX.\n */\n createElement: (\n tag: Parameters[0],\n props: JSX.IntrinsicAttributes,\n ...children: React.ReactChild[]\n ) => JSX.Element\n\n /**\n * Disable the compiler's best-effort transcription of provided raw HTML\n * into JSX-equivalent. This is the functionality that prevents the need to\n * use `dangerouslySetInnerHTML` in React.\n */\n disableParsingRawHTML: boolean\n\n /**\n * Forces the compiler to always output content with a block-level wrapper\n * (`

    ` or any block-level syntax your markdown already contains.)\n */\n forceBlock: boolean\n\n /**\n * Forces the compiler to always output content with an inline wrapper (``)\n */\n forceInline: boolean\n\n /**\n * Supply additional HTML entity: unicode replacement mappings.\n *\n * Pass only the inner part of the entity as the key,\n * e.g. `≤` -> `{ \"le\": \"\\u2264\" }`\n *\n * By default\n * the following entities are replaced with their unicode equivalents:\n *\n * ```\n * &\n * '\n * >\n * <\n *  \n * "\n * ```\n */\n namedCodesToUnicode: {\n [key: string]: string\n }\n\n /**\n * Selectively control the output of particular HTML tags as they would be\n * emitted by the compiler.\n */\n overrides: Overrides\n\n /**\n * Declare the type of the wrapper to be used when there are multiple\n * children to render. Set to `null` to get an array of children back\n * without any wrapper, or use `React.Fragment` to get a React element\n * that won't show up in the DOM.\n */\n wrapper: React.ElementType | null\n\n /**\n * Forces the compiler to wrap results, even if there is only a single\n * child or no children.\n */\n forceWrapper: boolean\n\n /**\n * Override normalization of non-URI-safe characters for use in generating\n * HTML IDs for anchor linking purposes.\n */\n slugify: (source: string) => string\n }>\n}\n\n/** TODO: Drop for React 16? */\nconst ATTRIBUTE_TO_JSX_PROP_MAP = [\n 'allowFullScreen',\n 'allowTransparency',\n 'autoComplete',\n 'autoFocus',\n 'autoPlay',\n 'cellPadding',\n 'cellSpacing',\n 'charSet',\n 'className',\n 'classId',\n 'colSpan',\n 'contentEditable',\n 'contextMenu',\n 'crossOrigin',\n 'encType',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'frameBorder',\n 'hrefLang',\n 'inputMode',\n 'keyParams',\n 'keyType',\n 'marginHeight',\n 'marginWidth',\n 'maxLength',\n 'mediaGroup',\n 'minLength',\n 'noValidate',\n 'radioGroup',\n 'readOnly',\n 'rowSpan',\n 'spellCheck',\n 'srcDoc',\n 'srcLang',\n 'srcSet',\n 'tabIndex',\n 'useMap',\n].reduce(\n (obj, x) => {\n obj[x.toLowerCase()] = x\n return obj\n },\n { for: 'htmlFor' }\n)\n\nconst namedCodesToUnicode = {\n amp: '\\u0026',\n apos: '\\u0027',\n gt: '\\u003e',\n lt: '\\u003c',\n nbsp: '\\u00a0',\n quot: '\\u201c',\n} as const\n\nconst DO_NOT_PROCESS_HTML_ELEMENTS = ['style', 'script']\n\n/**\n * the attribute extractor regex looks for a valid attribute name,\n * followed by an equal sign (whitespace around the equal sign is allowed), followed\n * by one of the following:\n *\n * 1. a single quote-bounded string, e.g. 'foo'\n * 2. a double quote-bounded string, e.g. \"bar\"\n * 3. an interpolation, e.g. {something}\n *\n * JSX can be be interpolated into itself and is passed through the compiler using\n * the same options and setup as the current run.\n *\n * } />\n * ==================\n * ↳ children: []\n *\n * Otherwise, interpolations are handled as strings or simple booleans\n * unless HTML syntax is detected.\n *\n * \n * ===== ====\n * ↓ ↳ disabled: true\n * ↳ color: \"green\"\n *\n * Numbers are not parsed at this time due to complexities around int, float,\n * and the upcoming bigint functionality that would make handling it unwieldy.\n * Parse the string in your component as desired.\n *\n * \n * ==================\n * ↳ someBigNumber: \"123456789123456789\"\n */\nconst ATTR_EXTRACTOR_R =\n /([-A-Z0-9_:]+)(?:\\s*=\\s*(?:(?:\"((?:\\\\.|[^\"])*)\")|(?:'((?:\\\\.|[^'])*)')|(?:\\{((?:\\\\.|{[^}]*?}|[^}])*)\\})))?/gi\n\n/** TODO: Write explainers for each of these */\n\nconst AUTOLINK_MAILTO_CHECK_R = /mailto:/i\nconst BLOCK_END_R = /\\n{2,}$/\nconst BLOCKQUOTE_R = /^( *>[^\\n]+(\\n[^\\n]+)*\\n*)+\\n{2,}/\nconst BLOCKQUOTE_TRIM_LEFT_MULTILINE_R = /^ *> ?/gm\nconst BREAK_LINE_R = /^ {2,}\\n/\nconst BREAK_THEMATIC_R = /^(?:( *[-*_])){3,} *(?:\\n *)+\\n/\nconst CODE_BLOCK_FENCED_R =\n /^\\s*(`{3,}|~{3,}) *(\\S+)?([^\\n]*?)?\\n([\\s\\S]+?)\\s*\\1 *(?:\\n *)*\\n?/\nconst CODE_BLOCK_R = /^(?: {4}[^\\n]+\\n*)+(?:\\n *)+\\n?/\nconst CODE_INLINE_R = /^(`+)\\s*([\\s\\S]*?[^`])\\s*\\1(?!`)/\nconst CONSECUTIVE_NEWLINE_R = /^(?:\\n *)*\\n/\nconst CR_NEWLINE_R = /\\r\\n?/g\nconst FOOTNOTE_R = /^\\[\\^([^\\]]+)](:.*)\\n/\nconst FOOTNOTE_REFERENCE_R = /^\\[\\^([^\\]]+)]/\nconst FORMFEED_R = /\\f/g\nconst GFM_TASK_R = /^\\s*?\\[(x|\\s)\\]/\nconst HEADING_R = /^ *(#{1,6}) *([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/\nconst HEADING_SETEXT_R = /^([^\\n]+)\\n *(=|-){3,} *(?:\\n *)+\\n/\n\n/**\n * Explanation:\n *\n * 1. Look for a starting tag, preceded by any amount of spaces\n * ^ *<\n *\n * 2. Capture the tag name (capture 1)\n * ([^ >/]+)\n *\n * 3. Ignore a space after the starting tag and capture the attribute portion of the tag (capture 2)\n * ?([^>]*)\\/{0}>\n *\n * 4. Ensure a matching closing tag is present in the rest of the input string\n * (?=[\\s\\S]*<\\/\\1>)\n *\n * 5. Capture everything until the matching closing tag -- this might include additional pairs\n * of the same tag type found in step 2 (capture 3)\n * ((?:[\\s\\S]*?(?:<\\1[^>]*>[\\s\\S]*?<\\/\\1>)*[\\s\\S]*?)*?)<\\/\\1>\n *\n * 6. Capture excess newlines afterward\n * \\n*\n */\nconst HTML_BLOCK_ELEMENT_R =\n /^ *(?!<[a-z][^ >/]* ?\\/>)<([a-z][^ >/]*) ?([^>]*)\\/{0}>\\n?(\\s*(?:<\\1[^>]*?>[\\s\\S]*?<\\/\\1>|(?!<\\1)[\\s\\S])*?)<\\/\\1>\\n*/i\n\nconst HTML_CHAR_CODE_R = /&([a-zA-Z]+);/g\n\nconst HTML_COMMENT_R = /^)/\n\n/**\n * borrowed from React 15(https://github.com/facebook/react/blob/894d20744cba99383ffd847dbd5b6e0800355a5c/src/renderers/dom/shared/HTMLDOMPropertyConfig.js)\n */\nconst HTML_CUSTOM_ATTR_R = /^(data|aria|x)-[a-z_][a-z\\d_.-]*$/\n\nconst HTML_SELF_CLOSING_ELEMENT_R =\n /^ *<([a-z][a-z0-9:]*)(?:\\s+((?:<.*?>|[^>])*))?\\/?>(?!<\\/\\1>)(\\s*\\n)?/i\nconst INTERPOLATION_R = /^\\{.*\\}$/\nconst LINK_AUTOLINK_BARE_URL_R = /^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/\nconst LINK_AUTOLINK_MAILTO_R = /^<([^ >]+@[^ >]+)>/\nconst LINK_AUTOLINK_R = /^<([^ >]+:\\/[^ >]+)>/\nconst CAPTURE_LETTER_AFTER_HYPHEN = /-([a-z])?/gi\nconst NP_TABLE_R = /^(.*\\|?.*)\\n *(\\|? *[-:]+ *\\|[-| :]*)\\n((?:.*\\|.*\\n)*)\\n?/\nconst PARAGRAPH_R = /^[^\\n]+(?: \\n|\\n{2,})/\nconst REFERENCE_IMAGE_OR_LINK = /^\\[([^\\]]*)\\]:\\s+]+)>?\\s*(\"([^\"]*)\")?/\nconst REFERENCE_IMAGE_R = /^!\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/\nconst REFERENCE_LINK_R = /^\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/\nconst SQUARE_BRACKETS_R = /(\\[|\\])/g\nconst SHOULD_RENDER_AS_BLOCK_R = /(\\n|^[-*]\\s|^#|^ {2,}|^-{2,}|^>\\s)/\nconst TAB_R = /\\t/g\nconst TABLE_SEPARATOR_R = /^ *\\| */\nconst TABLE_TRIM_PIPES = /(^ *\\||\\| *$)/g\nconst TABLE_CELL_END_TRIM = / *$/\nconst TABLE_CENTER_ALIGN = /^ *:-+: *$/\nconst TABLE_LEFT_ALIGN = /^ *:-+ *$/\nconst TABLE_RIGHT_ALIGN = /^ *-+: *$/\n\nconst TEXT_BOLD_R =\n /^([*_])\\1((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\\1\\1(?!\\1)/\nconst TEXT_EMPHASIZED_R =\n /^([*_])((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\\1(?!\\1|\\w)/\nconst TEXT_MARKED_R = /^==((?:\\[.*?\\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)==/\nconst TEXT_STRIKETHROUGHED_R = /^~~((?:\\[.*?\\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)~~/\n\nconst TEXT_ESCAPED_R = /^\\\\([^0-9A-Za-z\\s])/\nconst TEXT_PLAIN_R =\n /^[\\s\\S]+?(?=[^0-9A-Z\\s\\u00c0-\\uffff&;.()'\"]|\\d+\\.|\\n\\n| {2,}\\n|\\w+:\\S|$)/i\n\nconst TRIM_STARTING_NEWLINES = /^\\n+/\n\nconst HTML_LEFT_TRIM_AMOUNT_R = /^([ \\t]*)/\n\nconst UNESCAPE_URL_R = /\\\\([^\\\\])/g\n\ntype LIST_TYPE = 1 | 2\nconst ORDERED: LIST_TYPE = 1\nconst UNORDERED: LIST_TYPE = 2\n\nconst LIST_ITEM_END_R = / *\\n+$/\nconst LIST_LOOKBEHIND_R = /(?:^|\\n)( *)$/\n\n// recognize a `*` `-`, `+`, `1.`, `2.`... list bullet\nconst ORDERED_LIST_BULLET = '(?:\\\\d+\\\\.)'\nconst UNORDERED_LIST_BULLET = '(?:[*+-])'\n\nfunction generateListItemPrefix(type: LIST_TYPE) {\n return (\n '( *)(' +\n (type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET) +\n ') +'\n )\n}\n\n// recognize the start of a list item:\n// leading space plus a bullet plus a space (` * `)\nconst ORDERED_LIST_ITEM_PREFIX = generateListItemPrefix(ORDERED)\nconst UNORDERED_LIST_ITEM_PREFIX = generateListItemPrefix(UNORDERED)\n\nfunction generateListItemPrefixRegex(type: LIST_TYPE) {\n return new RegExp(\n '^' +\n (type === ORDERED ? ORDERED_LIST_ITEM_PREFIX : UNORDERED_LIST_ITEM_PREFIX)\n )\n}\n\nconst ORDERED_LIST_ITEM_PREFIX_R = generateListItemPrefixRegex(ORDERED)\nconst UNORDERED_LIST_ITEM_PREFIX_R = generateListItemPrefixRegex(UNORDERED)\n\nfunction generateListItemRegex(type: LIST_TYPE) {\n // recognize an individual list item:\n // * hi\n // this is part of the same item\n //\n // as is this, which is a new paragraph in the same item\n //\n // * but this is not part of the same item\n return new RegExp(\n '^' +\n (type === ORDERED\n ? ORDERED_LIST_ITEM_PREFIX\n : UNORDERED_LIST_ITEM_PREFIX) +\n '[^\\\\n]*(?:\\\\n' +\n '(?!\\\\1' +\n (type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET) +\n ' )[^\\\\n]*)*(\\\\n|$)',\n 'gm'\n )\n}\n\nconst ORDERED_LIST_ITEM_R = generateListItemRegex(ORDERED)\nconst UNORDERED_LIST_ITEM_R = generateListItemRegex(UNORDERED)\n\n// check whether a list item has paragraphs: if it does,\n// we leave the newlines at the end\nfunction generateListRegex(type: LIST_TYPE) {\n const bullet = type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET\n\n return new RegExp(\n '^( *)(' +\n bullet +\n ') ' +\n '[\\\\s\\\\S]+?(?:\\\\n{2,}(?! )' +\n '(?!\\\\1' +\n bullet +\n ' (?!' +\n bullet +\n ' ))\\\\n*' +\n // the \\\\s*$ here is so that we can parse the inside of nested\n // lists, where our content might end before we receive two `\\n`s\n '|\\\\s*\\\\n*$)'\n )\n}\n\nconst ORDERED_LIST_R = generateListRegex(ORDERED)\nconst UNORDERED_LIST_R = generateListRegex(UNORDERED)\n\nfunction generateListRule(h: any, type: LIST_TYPE) {\n const ordered = type === ORDERED\n const LIST_R = ordered ? ORDERED_LIST_R : UNORDERED_LIST_R\n const LIST_ITEM_R = ordered ? ORDERED_LIST_ITEM_R : UNORDERED_LIST_ITEM_R\n const LIST_ITEM_PREFIX_R = ordered\n ? ORDERED_LIST_ITEM_PREFIX_R\n : UNORDERED_LIST_ITEM_PREFIX_R\n\n return {\n _match(source, state, prevCapture) {\n // We only want to break into a list if we are at the start of a\n // line. This is to avoid parsing \"hi * there\" with \"* there\"\n // becoming a part of a list.\n // You might wonder, \"but that's inline, so of course it wouldn't\n // start a list?\". You would be correct! Except that some of our\n // lists can be inline, because they might be inside another list,\n // in which case we can parse with inline scope, but need to allow\n // nested lists inside this inline scope.\n const isStartOfLine = LIST_LOOKBEHIND_R.exec(prevCapture)\n const isListBlock = state._list || (!state._inline && !state._simple)\n\n if (isStartOfLine && isListBlock) {\n source = isStartOfLine[1] + source\n\n return LIST_R.exec(source)\n } else {\n return null\n }\n },\n _order: Priority.HIGH,\n _parse(capture, parse, state) {\n const bullet = capture[2]\n const start = ordered ? +bullet : undefined\n const items = capture[0]\n // recognize the end of a paragraph block inside a list item:\n // two or more newlines at end end of the item\n .replace(BLOCK_END_R, '\\n')\n .match(LIST_ITEM_R)\n\n let lastItemWasAParagraph = false\n const itemContent = items.map(function (item, i) {\n // We need to see how far indented the item is:\n const space = LIST_ITEM_PREFIX_R.exec(item)[0].length\n\n // And then we construct a regex to \"unindent\" the subsequent\n // lines of the items by that amount:\n const spaceRegex = new RegExp('^ {1,' + space + '}', 'gm')\n\n // Before processing the item, we need a couple things\n const content = item\n // remove indents on trailing lines:\n .replace(spaceRegex, '')\n // remove the bullet:\n .replace(LIST_ITEM_PREFIX_R, '')\n\n // Handling \"loose\" lists, like:\n //\n // * this is wrapped in a paragraph\n //\n // * as is this\n //\n // * as is this\n const isLastItem = i === items.length - 1\n const containsBlocks = content.indexOf('\\n\\n') !== -1\n\n // Any element in a list is a block if it contains multiple\n // newlines. The last element in the list can also be a block\n // if the previous item in the list was a block (this is\n // because non-last items in the list can end with \\n\\n, but\n // the last item can't, so we just \"inherit\" this property\n // from our previous element).\n const thisItemIsAParagraph =\n containsBlocks || (isLastItem && lastItemWasAParagraph)\n lastItemWasAParagraph = thisItemIsAParagraph\n\n // backup our state for restoration afterwards. We're going to\n // want to set state._list to true, and state._inline depending\n // on our list's looseness.\n const oldStateInline = state._inline\n const oldStateList = state._list\n state._list = true\n\n // Parse inline if we're in a tight list, or block if we're in\n // a loose list.\n let adjustedContent\n if (thisItemIsAParagraph) {\n state._inline = false\n adjustedContent = content.replace(LIST_ITEM_END_R, '\\n\\n')\n } else {\n state._inline = true\n adjustedContent = content.replace(LIST_ITEM_END_R, '')\n }\n\n const result = parse(adjustedContent, state)\n\n // Restore our state before returning\n state._inline = oldStateInline\n state._list = oldStateList\n\n return result\n })\n\n return {\n _items: itemContent,\n _ordered: ordered,\n _start: start,\n }\n },\n _react(node, output, state) {\n const Tag = node._ordered ? 'ol' : 'ul'\n\n return (\n \n {node._items.map(function generateListItem(item, i) {\n return

  • {output(item, state)}
  • \n })}\n \n )\n },\n } as MarkdownToJSX.Rule<{\n _items: MarkdownToJSX.ParserResult[]\n _ordered: boolean\n _start?: number\n }>\n}\n\nconst LINK_R = /^\\[([^\\]]*)]\\( *((?:\\([^)]*\\)|[^() ])*) *\"?([^)\"]*)?\"?\\)/\nconst IMAGE_R = /^!\\[([^\\]]*)]\\( *((?:\\([^)]*\\)|[^() ])*) *\"?([^)\"]*)?\"?\\)/\n\nconst NON_PARAGRAPH_BLOCK_SYNTAXES = [\n BLOCKQUOTE_R,\n CODE_BLOCK_FENCED_R,\n CODE_BLOCK_R,\n HEADING_R,\n HEADING_SETEXT_R,\n HTML_COMMENT_R,\n NP_TABLE_R,\n ORDERED_LIST_ITEM_R,\n ORDERED_LIST_R,\n UNORDERED_LIST_ITEM_R,\n UNORDERED_LIST_R,\n]\n\nconst BLOCK_SYNTAXES = [\n ...NON_PARAGRAPH_BLOCK_SYNTAXES,\n PARAGRAPH_R,\n HTML_BLOCK_ELEMENT_R,\n HTML_SELF_CLOSING_ELEMENT_R,\n]\n\nfunction containsBlockSyntax(input: string) {\n return BLOCK_SYNTAXES.some(r => r.test(input))\n}\n\n/** Remove symmetrical leading and trailing quotes */\nfunction unquote(str: string) {\n const first = str[0]\n if (\n (first === '\"' || first === \"'\") &&\n str.length >= 2 &&\n str[str.length - 1] === first\n ) {\n return str.slice(1, -1)\n }\n return str\n}\n\n// based on https://stackoverflow.com/a/18123682/1141611\n// not complete, but probably good enough\nfunction slugify(str: string) {\n return str\n .replace(/[ÀÁÂÃÄÅàáâãäåæÆ]/g, 'a')\n .replace(/[çÇ]/g, 'c')\n .replace(/[ðÐ]/g, 'd')\n .replace(/[ÈÉÊËéèêë]/g, 'e')\n .replace(/[ÏïÎîÍíÌì]/g, 'i')\n .replace(/[Ññ]/g, 'n')\n .replace(/[øØœŒÕõÔôÓóÒò]/g, 'o')\n .replace(/[ÜüÛûÚúÙù]/g, 'u')\n .replace(/[ŸÿÝý]/g, 'y')\n .replace(/[^a-z0-9- ]/gi, '')\n .replace(/ /gi, '-')\n .toLowerCase()\n}\n\nfunction parseTableAlignCapture(alignCapture: string) {\n if (TABLE_RIGHT_ALIGN.test(alignCapture)) {\n return 'right'\n } else if (TABLE_CENTER_ALIGN.test(alignCapture)) {\n return 'center'\n } else if (TABLE_LEFT_ALIGN.test(alignCapture)) {\n return 'left'\n }\n\n return null\n}\n\nfunction parseTableRow(\n source: string,\n parse: MarkdownToJSX.NestedParser,\n state: MarkdownToJSX.State\n) {\n const prevInTable = state._inTable\n state._inTable = true\n const tableRow = parse(source.trim(), state)\n state._inTable = prevInTable\n\n let cells = [[]]\n tableRow.forEach(function (node, i) {\n if (node.type === 'tableSeparator') {\n // Filter out empty table separators at the start/end:\n if (i !== 0 && i !== tableRow.length - 1) {\n // Split the current row:\n cells.push([])\n }\n } else {\n if (\n node.type === 'text' &&\n (tableRow[i + 1] == null || tableRow[i + 1].type === 'tableSeparator')\n ) {\n node._content = node._content.replace(TABLE_CELL_END_TRIM, '')\n }\n cells[cells.length - 1].push(node)\n }\n })\n return cells\n}\n\nfunction parseTableAlign(source: string /*, parse, state*/) {\n const alignText = source.replace(TABLE_TRIM_PIPES, '').split('|')\n\n return alignText.map(parseTableAlignCapture)\n}\n\nfunction parseTableCells(\n source: string,\n parse: MarkdownToJSX.NestedParser,\n state: MarkdownToJSX.State\n) {\n const rowsText = source.trim().split('\\n')\n\n return rowsText.map(function (rowText) {\n return parseTableRow(rowText, parse, state)\n })\n}\n\nfunction parseTable(\n capture: RegExpMatchArray,\n parse: MarkdownToJSX.NestedParser,\n state: MarkdownToJSX.State\n) {\n state._inline = true\n const header = parseTableRow(capture[1], parse, state)\n const align = parseTableAlign(capture[2])\n const cells = parseTableCells(capture[3], parse, state)\n state._inline = false\n\n return {\n _align: align,\n _cells: cells,\n _header: header,\n type: 'table',\n }\n}\n\nfunction getTableStyle(node, colIndex) {\n return node._align[colIndex] == null\n ? {}\n : {\n textAlign: node._align[colIndex],\n }\n}\n\n/** TODO: remove for react 16 */\nfunction normalizeAttributeKey(key) {\n const hyphenIndex = key.indexOf('-')\n\n if (hyphenIndex !== -1 && key.match(HTML_CUSTOM_ATTR_R) === null) {\n key = key.replace(CAPTURE_LETTER_AFTER_HYPHEN, function (_, letter) {\n return letter.toUpperCase()\n })\n }\n\n return key\n}\n\nfunction attributeValueToJSXPropValue(\n key: keyof React.AllHTMLAttributes,\n value: string\n): any {\n if (key === 'style') {\n return value.split(/;\\s?/).reduce(function (styles, kvPair) {\n const key = kvPair.slice(0, kvPair.indexOf(':'))\n\n // snake-case to camelCase\n // also handles PascalCasing vendor prefixes\n const camelCasedKey = key.replace(/(-[a-z])/g, substr =>\n substr[1].toUpperCase()\n )\n\n // key.length + 1 to skip over the colon\n styles[camelCasedKey] = kvPair.slice(key.length + 1).trim()\n\n return styles\n }, {})\n } else if (key === 'href') {\n return sanitizeUrl(value)\n } else if (value.match(INTERPOLATION_R)) {\n // return as a string and let the consumer decide what to do with it\n value = value.slice(1, value.length - 1)\n }\n\n if (value === 'true') {\n return true\n } else if (value === 'false') {\n return false\n }\n\n return value\n}\n\nfunction normalizeWhitespace(source: string): string {\n return source\n .replace(CR_NEWLINE_R, '\\n')\n .replace(FORMFEED_R, '')\n .replace(TAB_R, ' ')\n}\n\n/**\n * Creates a parser for a given set of rules, with the precedence\n * specified as a list of rules.\n *\n * @rules: an object containing\n * rule type -> {match, order, parse} objects\n * (lower order is higher precedence)\n * (Note: `order` is added to defaultRules after creation so that\n * the `order` of defaultRules in the source matches the `order`\n * of defaultRules in terms of `order` fields.)\n *\n * @returns The resulting parse function, with the following parameters:\n * @source: the input source string to be parsed\n * @state: an optional object to be threaded through parse\n * calls. Allows clients to add stateful operations to\n * parsing, such as keeping track of how many levels deep\n * some nesting is. For an example use-case, see passage-ref\n * parsing in src/widgets/passage/passage-markdown.jsx\n */\nfunction parserFor(\n rules: MarkdownToJSX.Rules\n): (\n source: string,\n state: MarkdownToJSX.State\n) => ReturnType {\n // Sorts rules in order of increasing order, then\n // ascending rule name in case of ties.\n let ruleList = Object.keys(rules)\n\n /* istanbul ignore next */\n if (process.env.NODE_ENV !== 'production') {\n ruleList.forEach(function (type) {\n let order = rules[type]._order\n if (\n process.env.NODE_ENV !== 'production' &&\n (typeof order !== 'number' || !isFinite(order))\n ) {\n console.warn(\n 'markdown-to-jsx: Invalid order for rule `' + type + '`: ' + order\n )\n }\n })\n }\n\n ruleList.sort(function (typeA, typeB) {\n let orderA = rules[typeA]._order\n let orderB = rules[typeB]._order\n\n // First sort based on increasing order\n if (orderA !== orderB) {\n return orderA - orderB\n\n // Then based on increasing unicode lexicographic ordering\n } else if (typeA < typeB) {\n return -1\n }\n\n return 1\n })\n\n function nestedParse(\n source: string,\n state: MarkdownToJSX.State\n ): MarkdownToJSX.ParserResult[] {\n let result = []\n\n // We store the previous capture so that match functions can\n // use some limited amount of lookbehind. Lists use this to\n // ensure they don't match arbitrary '- ' or '* ' in inline\n // text (see the list rule for more information).\n let prevCapture = ''\n while (source) {\n let i = 0\n while (i < ruleList.length) {\n const ruleType = ruleList[i]\n const rule = rules[ruleType]\n const capture = rule._match(source, state, prevCapture)\n\n if (capture) {\n const currCaptureString = capture[0]\n source = source.substring(currCaptureString.length)\n const parsed = rule._parse(capture, nestedParse, state)\n\n // We also let rules override the default type of\n // their parsed node if they would like to, so that\n // there can be a single output function for all links,\n // even if there are several rules to parse them.\n if (parsed.type == null) {\n parsed.type = ruleType\n }\n\n result.push(parsed)\n\n prevCapture = currCaptureString\n break\n }\n\n i++\n }\n }\n\n return result\n }\n\n return function outerParse(source, state) {\n return nestedParse(normalizeWhitespace(source), state)\n }\n}\n\n// Creates a match function for an inline scoped or simple element from a regex\nfunction inlineRegex(regex: RegExp) {\n return function match(source, state: MarkdownToJSX.State) {\n if (state._inline) {\n return regex.exec(source)\n } else {\n return null\n }\n }\n}\n\n// basically any inline element except links\nfunction simpleInlineRegex(regex: RegExp) {\n return function match(source: string, state: MarkdownToJSX.State) {\n if (state._inline || state._simple) {\n return regex.exec(source)\n } else {\n return null\n }\n }\n}\n\n// Creates a match function for a block scoped element from a regex\nfunction blockRegex(regex: RegExp) {\n return function match(source: string, state: MarkdownToJSX.State) {\n if (state._inline || state._simple) {\n return null\n } else {\n return regex.exec(source)\n }\n }\n}\n\n// Creates a match function from a regex, ignoring block/inline scope\nfunction anyScopeRegex(regex: RegExp) {\n return function match(source: string /*, state*/) {\n return regex.exec(source)\n }\n}\n\nfunction matchParagraph(\n source: string,\n state: MarkdownToJSX.State,\n prevCapturedString?: string\n) {\n if (state._inline || state._simple) {\n return null\n }\n\n if (prevCapturedString && !prevCapturedString.endsWith('\\n')) {\n // don't match continuation of a line\n return null\n }\n\n let match = ''\n\n source.split('\\n').every(line => {\n // bail out on first sign of non-paragraph block\n if (NON_PARAGRAPH_BLOCK_SYNTAXES.some(regex => regex.test(line))) {\n return false\n }\n match += line + '\\n'\n return line.trim()\n })\n\n const captured = match.trimEnd()\n if (captured == '') {\n return null\n }\n\n return [match, captured]\n}\n\nfunction reactFor(outputFunc) {\n return function nestedReactOutput(\n ast: MarkdownToJSX.ParserResult | MarkdownToJSX.ParserResult[],\n state: MarkdownToJSX.State = {}\n ): React.ReactChild[] {\n if (Array.isArray(ast)) {\n const oldKey = state._key\n const result = []\n\n // map nestedOutput over the ast, except group any text\n // nodes together into a single string output.\n let lastWasString = false\n\n for (let i = 0; i < ast.length; i++) {\n state._key = i\n\n const nodeOut = nestedReactOutput(ast[i], state)\n const isString = typeof nodeOut === 'string'\n\n if (isString && lastWasString) {\n result[result.length - 1] += nodeOut\n } else if (nodeOut !== null) {\n result.push(nodeOut)\n }\n\n lastWasString = isString\n }\n\n state._key = oldKey\n\n return result\n }\n\n return outputFunc(ast, nestedReactOutput, state)\n }\n}\n\nfunction sanitizeUrl(url: string): string | null {\n try {\n const decoded = decodeURIComponent(url).replace(/[^A-Za-z0-9/:]/g, '')\n\n if (decoded.match(/^\\s*(javascript|vbscript|data(?!:image)):/i)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n 'Anchor URL contains an unsafe JavaScript/VBScript/data expression, it will not be rendered.',\n decoded\n )\n }\n\n return null\n }\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n 'Anchor URL could not be decoded due to malformed syntax or characters, it will not be rendered.',\n url\n )\n }\n\n // decodeURIComponent sometimes throws a URIError\n // See `decodeURIComponent('a%AFc');`\n // http://stackoverflow.com/questions/9064536/javascript-decodeuricomponent-malformed-uri-exception\n return null\n }\n\n return url\n}\n\nfunction unescapeUrl(rawUrlString: string): string {\n return rawUrlString.replace(UNESCAPE_URL_R, '$1')\n}\n\n/**\n * Everything inline, including links.\n */\nfunction parseInline(\n parse: MarkdownToJSX.NestedParser,\n content: string,\n state: MarkdownToJSX.State\n): MarkdownToJSX.ParserResult {\n const isCurrentlyInline = state._inline || false\n const isCurrentlySimple = state._simple || false\n state._inline = true\n state._simple = true\n const result = parse(content, state)\n state._inline = isCurrentlyInline\n state._simple = isCurrentlySimple\n return result\n}\n\n/**\n * Anything inline that isn't a link.\n */\nfunction parseSimpleInline(\n parse: MarkdownToJSX.NestedParser,\n content: string,\n state: MarkdownToJSX.State\n): MarkdownToJSX.ParserResult {\n const isCurrentlyInline = state._inline || false\n const isCurrentlySimple = state._simple || false\n state._inline = false\n state._simple = true\n const result = parse(content, state)\n state._inline = isCurrentlyInline\n state._simple = isCurrentlySimple\n return result\n}\n\nfunction parseBlock(\n parse,\n content,\n state: MarkdownToJSX.State\n): MarkdownToJSX.ParserResult {\n state._inline = false\n return parse(content + '\\n\\n', state)\n}\n\nconst parseCaptureInline: MarkdownToJSX.Parser<\n ReturnType\n> = (capture, parse, state: MarkdownToJSX.State) => {\n return {\n _content: parseInline(parse, capture[1], state),\n }\n}\n\nfunction captureNothing() {\n return {}\n}\n\nfunction renderNothing() {\n return null\n}\n\nfunction ruleOutput(rules: MarkdownToJSX.Rules) {\n return function nestedRuleOutput(\n ast: MarkdownToJSX.ParserResult,\n outputFunc: MarkdownToJSX.RuleOutput,\n state: MarkdownToJSX.State\n ): React.ReactChild {\n return rules[ast.type]._react(ast, outputFunc, state)\n }\n}\n\nfunction cx(...args) {\n return args.filter(Boolean).join(' ')\n}\n\nfunction get(src: Object, path: string, fb?: any) {\n let ptr = src\n const frags = path.split('.')\n\n while (frags.length) {\n ptr = ptr[frags[0]]\n\n if (ptr === undefined) break\n else frags.shift()\n }\n\n return ptr || fb\n}\n\nfunction getTag(tag: string, overrides: MarkdownToJSX.Overrides) {\n const override = get(overrides, tag)\n\n if (!override) return tag\n\n return typeof override === 'function' ||\n (typeof override === 'object' && 'render' in override)\n ? override\n : get(overrides, `${tag}.component`, tag)\n}\n\nenum Priority {\n /**\n * anything that must scan the tree before everything else\n */\n MAX,\n /**\n * scans for block-level constructs\n */\n HIGH,\n /**\n * inline w/ more priority than other inline\n */\n MED,\n /**\n * inline elements\n */\n LOW,\n /**\n * bare text and stuff that is considered leftovers\n */\n MIN,\n}\n\nexport function compiler(\n markdown: string,\n options: MarkdownToJSX.Options = {}\n) {\n options.overrides = options.overrides || {}\n options.slugify = options.slugify || slugify\n options.namedCodesToUnicode = options.namedCodesToUnicode\n ? { ...namedCodesToUnicode, ...options.namedCodesToUnicode }\n : namedCodesToUnicode\n\n const createElementFn = options.createElement || React.createElement\n\n // JSX custom pragma\n // eslint-disable-next-line no-unused-vars\n function h(\n // locally we always will render a known string tag\n tag: MarkdownToJSX.HTMLTags,\n props: Parameters[1] & {\n className?: string\n id?: string\n },\n ...children\n ) {\n const overrideProps = get(options.overrides, `${tag}.props`, {})\n\n return createElementFn(\n getTag(tag, options.overrides),\n {\n ...props,\n ...overrideProps,\n className: cx(props?.className, overrideProps.className) || undefined,\n },\n ...children\n )\n }\n\n function compile(input: string): JSX.Element {\n let _inline = false\n\n if (options.forceInline) {\n _inline = true\n } else if (!options.forceBlock) {\n /**\n * should not contain any block-level markdown like newlines, lists, headings,\n * thematic breaks, blockquotes, tables, etc\n */\n _inline = SHOULD_RENDER_AS_BLOCK_R.test(input) === false\n }\n\n const arr = emitter(\n parser(\n _inline\n ? input\n : `${input.trimEnd().replace(TRIM_STARTING_NEWLINES, '')}\\n\\n`,\n {\n _inline,\n }\n )\n )\n\n while (\n typeof arr[arr.length - 1] === 'string' &&\n !arr[arr.length - 1].trim()\n ) {\n arr.pop()\n }\n\n if (options.wrapper === null) {\n return arr\n }\n\n const wrapper = options.wrapper || (_inline ? 'span' : 'div')\n let jsx\n\n if (arr.length > 1 || options.forceWrapper) {\n jsx = arr\n } else if (arr.length === 1) {\n jsx = arr[0]\n\n // TODO: remove this for React 16\n if (typeof jsx === 'string') {\n return {jsx}\n } else {\n return jsx\n }\n } else {\n // TODO: return null for React 16\n jsx = null\n }\n\n return React.createElement(wrapper, { key: 'outer' }, jsx)\n }\n\n function attrStringToMap(str: string): JSX.IntrinsicAttributes {\n const attributes = str.match(ATTR_EXTRACTOR_R)\n if (!attributes) {\n return null\n }\n\n return attributes.reduce(function (map, raw, index) {\n const delimiterIdx = raw.indexOf('=')\n\n if (delimiterIdx !== -1) {\n const key = normalizeAttributeKey(raw.slice(0, delimiterIdx)).trim()\n const value = unquote(raw.slice(delimiterIdx + 1).trim())\n\n const mappedKey = ATTRIBUTE_TO_JSX_PROP_MAP[key] || key\n const normalizedValue = (map[mappedKey] = attributeValueToJSXPropValue(\n key,\n value\n ))\n\n if (\n typeof normalizedValue === 'string' &&\n (HTML_BLOCK_ELEMENT_R.test(normalizedValue) ||\n HTML_SELF_CLOSING_ELEMENT_R.test(normalizedValue))\n ) {\n map[mappedKey] = React.cloneElement(compile(normalizedValue.trim()), {\n key: index,\n })\n }\n } else if (raw !== 'style') {\n map[ATTRIBUTE_TO_JSX_PROP_MAP[raw] || raw] = true\n }\n\n return map\n }, {})\n }\n\n /* istanbul ignore next */\n if (process.env.NODE_ENV !== 'production') {\n if (typeof markdown !== 'string') {\n throw new Error(`markdown-to-jsx: the first argument must be\n a string`)\n }\n\n if (\n Object.prototype.toString.call(options.overrides) !== '[object Object]'\n ) {\n throw new Error(`markdown-to-jsx: options.overrides (second argument property) must be\n undefined or an object literal with shape:\n {\n htmltagname: {\n component: string|ReactComponent(optional),\n props: object(optional)\n }\n }`)\n }\n }\n\n const footnotes: { _footnote: string; _identifier: string }[] = []\n const refs: { [key: string]: { _target: string; _title: string } } = {}\n\n /**\n * each rule's react() output function goes through our custom h() JSX pragma;\n * this allows the override functionality to be automatically applied\n */\n const rules: MarkdownToJSX.Rules = {\n blockQuote: {\n _match: blockRegex(BLOCKQUOTE_R),\n _order: Priority.HIGH,\n _parse(capture, parse, state) {\n return {\n _content: parse(\n capture[0].replace(BLOCKQUOTE_TRIM_LEFT_MULTILINE_R, ''),\n state\n ),\n }\n },\n _react(node, output, state) {\n return (\n
    \n {output(node._content, state)}\n
    \n )\n },\n } as MarkdownToJSX.Rule<{ _content: MarkdownToJSX.ParserResult }>,\n\n breakLine: {\n _match: anyScopeRegex(BREAK_LINE_R),\n _order: Priority.HIGH,\n _parse: captureNothing,\n _react(_, __, state) {\n return
    \n },\n },\n\n breakThematic: {\n _match: blockRegex(BREAK_THEMATIC_R),\n _order: Priority.HIGH,\n _parse: captureNothing,\n _react(_, __, state) {\n return
    \n },\n },\n\n codeBlock: {\n _match: blockRegex(CODE_BLOCK_R),\n _order: Priority.MAX,\n _parse(capture /*, parse, state*/) {\n return {\n _content: capture[0].replace(/^ {4}/gm, '').replace(/\\n+$/, ''),\n _lang: undefined,\n }\n },\n\n _react(node, output, state) {\n return (\n
    \n            \n              {node._content}\n            \n          
    \n )\n },\n } as MarkdownToJSX.Rule<{\n _attrs?: ReturnType\n _content: string\n _lang?: string\n }>,\n\n codeFenced: {\n _match: blockRegex(CODE_BLOCK_FENCED_R),\n _order: Priority.MAX,\n _parse(capture /*, parse, state*/) {\n return {\n // if capture[3] it's additional metadata\n _attrs: attrStringToMap(capture[3] || ''),\n _content: capture[4],\n _lang: capture[2] || undefined,\n type: 'codeBlock',\n }\n },\n },\n\n codeInline: {\n _match: simpleInlineRegex(CODE_INLINE_R),\n _order: Priority.LOW,\n _parse(capture /*, parse, state*/) {\n return {\n _content: capture[2],\n }\n },\n _react(node, output, state) {\n return {node._content}\n },\n } as MarkdownToJSX.Rule<{ _content: string }>,\n\n /**\n * footnotes are emitted at the end of compilation in a special